Previous 199869 Revisions Next

r36816 Tuesday 31st March, 2015 at 00:20:53 UTC by hap
(MESS)New games added or promoted to working
-----------------
Bandai Packri Monster [hap, Kevin Horton, Olivier Galibert]
Bandai Zackman [hap, Kevin Horton, Olivier Galibert]
Parker Brothers Q*Bert [hap, Kevin Horton, Olivier Galibert]
Tomy Kingman [hap, Kevin Horton, Olivier Galibert]
Tomy Tron [hap, Kevin Horton, Olivier Galibert]
[src/mess/drivers]hh_hmcs40.c

trunk/src/mess/drivers/hh_hmcs40.c
r245327r245328
473473
474474   // D0-D3: plate 9-12 (update display there)
475475   packmon_plate_w(space, 4, data & 0xf);
476   
477   //             12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,13,14,15,16,17,18,19
478   // 23,22,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
479   // 23,22,21,20, 0, 1, 2, 3, 4, 5, 6,19,18,17,16,15,14,13,12,11,10, 9, 8, 7
480   
481476}
482477
483478READ16_MEMBER(hh_hmcs40_state::packmon_input_r)
r245327r245328
547542   int shift = offset * 4;
548543   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
549544   
550   //       13,12,nc,14,15,16,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,17,18,19,20,21,22,23,24,25,26,27,28
551   // 31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
552   // 31,30,27, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,24,25,26,29,28,23,22,21,20,19,18,17,16,15,14,13,12
553   
554545   // update display
555546   UINT8 grid = BITSWAP8(m_grid,0,1,2,3,4,5,6,7);
556547   UINT32 plate = BITSWAP32(m_plate,31,30,27,0,1,2,3,4,5,6,7,8,9,10,11,24,25,26,29,28,23,22,21,20,19,18,17,16,15,14,13,12);
r245327r245328
945936  * cyan/red VFD display Futaba DM-34Z 2A, with color overlay
946937
947938  NOTE!: MESS external artwork is recommended
939 
940  The game is started by pushing a P1 joystick direction, selecting a game mode:
941  - Right: Pac-Man (default game)
942  - Left:  Head-to-Head Pac-Man (2-player mode)
943  - Up:    Eat & Run
944  - Down:  Demo
948945
949946***************************************************************************/
950947
r245327r245328
955952   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
956953
957954   // update display
958   
959   // 31,30,29,28,27,13,14, 8,12,11,10, 9,15,16,17,18, 7, 6, 5, 4,19,20,21,22, 0, 1, 2, 3,23,24,25,26
960   // 31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
961   // 31,30,29,28,27, 0, 1, 2, 3, 8, 9,10,11,16,17,18,19,25,26,23,22,21,20,24,15,14,13,12, 4, 5, 6, 7
962   
963955   UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,0,1,2,3,4,5,6,7,8,9,10);
964956   UINT32 plate = BITSWAP32(m_plate,31,30,29,28,27,0,1,2,3,8,9,10,11,16,17,18,19,25,26,23,22,21,20,24,15,14,13,12,4,5,6,7);
965957
r245327r245328
12541246***************************************************************************/
12551247
12561248// i/o hookup is identical to Galaxian 2, so we can use those handlers
1257// note: plate numbers are 0-23, not 1-24(with 24 always-on)
12581249
12591250static INPUT_PORTS_START( epacman2 )
12601251   PORT_START("IN.0") // D1 port R0x
r245327r245328
13311322   int shift = offset * 4;
13321323   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
13331324   
1334   // 31,30,29,25,26,27,28,29, 0, 1, 2, 3, 4, 5, 6, 7,24,23,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8
1335   // 31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
1336   // 31,30,24,25,26,27,28,15,14,29,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,16,17,18,19,20,21,22,23
1337
13381325   // update display
13391326   UINT32 plate = BITSWAP32(m_plate,31,30,24,25,26,27,28,15,14,29,13,12,11,10,9,8,7,6,5,4,3,2,1,0,16,17,18,19,20,21,22,23);
13401327   
r245327r245328
15291516   int shift = offset * 4;
15301517   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
15311518   
1532   
1533   //       20                                                     7
1534   //       13,sp,11, 6, 5, 4, 0, 1, 2, 3,14,15,16, 8,17,18,22, 9,10,21,19,12
1535   // 23,22,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
1536   // 23, 5, 2,21, 1, 6, 7, 9,10,11,21, 0,19, 3, 4, 8, 3,18,17,16,12,13,14,15
1537   
1538
1539   
15401519   tmtron_display();
15411520}
15421521
r245327r245328
15561535   // D6-D15: vfd matrix grid
15571536   m_grid = data >> 6 & 0x3ff;
15581537   
1559   //                   1,2,3,4,5,6,7,8,9,0
1560   //                   9,8,7,6,5,4,3,2,1,0
1561   // 15,14,13,12,11,10,1,2,3,4,5,6,7,8,9,0
1562
15631538   // D0-D3,D5: more plates
15641539   m_plate = (m_plate & 0x00ffff) | (data << 16 & 0x2f0000);
15651540   tmtron_display();
15661541}
15671542
1543
15681544void hh_hmcs40_state::tmtron_update_int1()
15691545{
15701546   // INT1 on multiplexed inputs
15711547   set_interrupt(1, read_inputs(4));
15721548}
15731549
1574
15751550INPUT_CHANGED_MEMBER(hh_hmcs40_state::tmtron_input_changed)
15761551{
15771552   tmtron_update_int1();
r245327r245328
15791554
15801555static INPUT_PORTS_START( tmtron )
15811556   PORT_START("IN.0") // D12 INT1
1582   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL)
1557   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL) PORT_16WAY // separate directional buttons, hence 16way
15831558
15841559   PORT_START("IN.1") // D13 INT1
1585   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL)
1560   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL) PORT_16WAY // "
15861561
15871562   PORT_START("IN.2") // D14 INT1
1588   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL)
1563   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL) PORT_16WAY // "
15891564
15901565   PORT_START("IN.3") // D15 INT1
1591   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL)
1566   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, tmtron_input_changed, NULL) PORT_16WAY // "
15921567
15931568   PORT_START("IN.4") // INT0
15941569   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, (void *)0)
1595
1596
15971570INPUT_PORTS_END
15981571
15991572
r245327r245328
17291702/*    YEAR  NAME       PARENT COMPAT MACHINE  INPUT     INIT              COMPANY, FULLNAME, FLAGS */
17301703CONS( 1979, bambball,  0,        0, bambball, bambball, driver_device, 0, "Bambino", "Basketball - Dribble Away", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
17311704
1732CONS( 1981, packmon,   0,        0, packmon,  packmon,  driver_device, 0, "Bandai", "Packri Monster", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
1733CONS( 1983, zackman,   0,        0, zackman,  zackman,  driver_device, 0, "Bandai", "Zackman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
1705CONS( 1981, packmon,   0,        0, packmon,  packmon,  driver_device, 0, "Bandai", "Packri Monster", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
1706CONS( 1983, zackman,   0,        0, zackman,  zackman,  driver_device, 0, "Bandai", "Zackman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
17341707
17351708CONS( 1981, alnattck,  0,        0, alnattck, alnattck, driver_device, 0, "Coleco", "Alien Attack", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
17361709CONS( 1982, cdkong,    0,        0, cdkong,   cdkong,   driver_device, 0, "Coleco", "Donkey Kong (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
r245327r245328
17421715CONS( 1981, egalaxn2,  0,        0, egalaxn2, egalaxn2, driver_device, 0, "Entex", "Galaxian 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
17431716CONS( 1981, epacman2,  0,        0, epacman2, epacman2, driver_device, 0, "Entex", "Pac Man 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
17441717
1745CONS( 1983, pbqbert,   0,        0, pbqbert,  pbqbert,  driver_device, 0, "Parker Brothers", "Q*Bert (Parker Brothers)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
1718CONS( 1983, pbqbert,   0,        0, pbqbert,  pbqbert,  driver_device, 0, "Parker Brothers", "Q*Bert (Parker Brothers)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
17461719
1747CONS( 1982, kingman,   0,        0, kingman,  kingman,  driver_device, 0, "Tomy", "Kingman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
1748CONS( 1984, tmtron,    0,        0, tmtron,   tmtron,   driver_device, 0, "Tomy", "Tron (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
1720CONS( 1982, kingman,   0,        0, kingman,  kingman,  driver_device, 0, "Tomy", "Kingman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
1721CONS( 1984, tmtron,    0,        0, tmtron,   tmtron,   driver_device, 0, "Tomy", "Tron (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )


Previous 199869 Revisions Next


© 1997-2024 The MAME Team