Previous 199869 Revisions Next

r36165 Sunday 1st March, 2015 at 14:55:09 UTC by hap
(MESS)New working game added
------------------
Tomy Pac Man [hap, Kevin Horton]
[src/mess/drivers]hh_ucom4.c

trunk/src/mess/drivers/hh_ucom4.c
r244676r244677
8787   DECLARE_INPUT_CHANGED_MEMBER(tmtennis_difficulty_switch);
8888   DECLARE_MACHINE_RESET(tmtennis);
8989
90   void tmpacman_display();
9091   DECLARE_WRITE8_MEMBER(tmpacman_grid_w);
9192   DECLARE_WRITE8_MEMBER(tmpacman_plate_w);
9293   DECLARE_WRITE8_MEMBER(tmpacman_port_e_w);
r244676r244677
236237
237238WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w)
238239{
239   // ports C,D: vfd matrix grid
240   // C,D: vfd matrix grid
240241   int shift = (offset - NEC_UCOM4_PORTC) * 4;
241242   m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
242243
r244676r244677
245246
246247WRITE8_MEMBER(hh_ucom4_state::edracula_plate_w)
247248{
248   // ports E-H,I01: vfd matrix plate
249   // E-H,I01: vfd matrix plate
249250   int shift = (offset - NEC_UCOM4_PORTE) * 4;
250251   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
251252
r244676r244677
325326
326327READ8_MEMBER(hh_ucom4_state::tmtennis_input_r)
327328{
328   // ports A,B: buttons
329   // A,B: buttons
329330   return ~read_inputs(2) >> (offset*4);
330331}
331332
332333WRITE8_MEMBER(hh_ucom4_state::tmtennis_grid_w)
333334{
334   // ports G-I: vfd matrix grid
335   // G-I: vfd matrix grid
335336   int shift = (offset - NEC_UCOM4_PORTG) * 4;
336337   m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
337338
r244676r244677
340341
341342WRITE8_MEMBER(hh_ucom4_state::tmtennis_plate_w)
342343{
343   // ports C-F: vfd matrix plate
344   // C-F: vfd matrix plate
344345   if (offset == NEC_UCOM4_PORTF) offset--;
345346   int shift = (offset - NEC_UCOM4_PORTC) * 4;
346347   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
r244676r244677
452453  known releases:
453454  - Japan: Puck Man
454455  - USA: Pac Man
455  - UK: Puckman (Tomy), and also as Munchman, published by Grandstand
456  - UK: Puckman (Tomy), and also published by Grandstand as Munchman
456457  - Australia: Pac Man-1, published by Futuretronics
457458
458459  NOTE!: MESS external artwork is recommended
459460
460461***************************************************************************/
461462
463void hh_ucom4_state::tmpacman_display()
464{
465   UINT8 grid = BITSWAP8((UINT8)m_grid,0,1,2,3,4,5,6,7);
466   UINT32 plate = BITSWAP24(m_plate,23,22,21,20,19,16,17,18,11,10,9,8,0,2,3,1,4,5,6,7,12,13,14,15);
467   
468   display_matrix(19, 8, plate | 0x100, grid);
469}
470
462471WRITE8_MEMBER(hh_ucom4_state::tmpacman_grid_w)
463472{
464   // ports C,D: vfd matrix grid
473   // C,D: vfd matrix grid
465474   int shift = (offset - NEC_UCOM4_PORTC) * 4;
466475   m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
467476
468   display_matrix(19, 8, m_plate, m_grid);
477   tmpacman_display();
469478}
470479
471480WRITE8_MEMBER(hh_ucom4_state::tmpacman_plate_w)
472481{
473   // ports E-I: vfd matrix plate
482   // E023,F-I: vfd matrix plate
474483   int shift = (offset - NEC_UCOM4_PORTE) * 4;
475484   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
476485
477   display_matrix(19, 8, m_plate, m_grid);
486   tmpacman_display();
478487}
479488
480489WRITE8_MEMBER(hh_ucom4_state::tmpacman_port_e_w)
r244676r244677
494503   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY
495504
496505   PORT_START("IN.1") // port B
497   PORT_CONFNAME( 0x00, 0x00, DEF_STR( Difficulty ) )
506   PORT_CONFNAME( 0x01, 0x00, DEF_STR( Difficulty ) )
498507   PORT_CONFSETTING(    0x00, "Amateur" )
499508   PORT_CONFSETTING(    0x01, "Professional" )
500509   PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
r244676r244677
548557
549558READ8_MEMBER(hh_ucom4_state::alnchase_input_r)
550559{
551   // port A: buttons
560   // A: buttons
552561   return read_inputs(2);
553562}
554563
r244676r244677
556565{
557566   if (offset <= NEC_UCOM4_PORTE)
558567   {
559      // ports C,D,E0: vfd matrix grid
568      // C,D,E0: vfd matrix grid
560569      int shift = (offset - NEC_UCOM4_PORTC) * 4;
561570      m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
562571
r244676r244677
567576
568577   if (offset >= NEC_UCOM4_PORTE)
569578   {
570      // ports F-I,E23: vfd matrix plate
579      // E23,F-I: vfd matrix plate
571580      int shift = (offset - NEC_UCOM4_PORTE) * 4;
572581      m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2;
573582   }
r244676r244677
684693CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
685694
686695CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
687CONS( 1982, tmpacman, 0, 0, tmpacman, tmpacman, driver_device, 0, "Tomy", "Pac Man (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
696CONS( 1982, tmpacman, 0, 0, tmpacman, tmpacman, driver_device, 0, "Tomy", "Pac Man (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
688697CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )


Previous 199869 Revisions Next


© 1997-2024 The MAME Team