| 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 |
| r245327 | r245328 | |
|---|---|---|
| 473 | 473 | |
| 474 | 474 | // D0-D3: plate 9-12 (update display there) |
| 475 | 475 | 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 | ||
| 481 | 476 | } |
| 482 | 477 | |
| 483 | 478 | READ16_MEMBER(hh_hmcs40_state::packmon_input_r) |
| r245327 | r245328 | |
| 547 | 542 | int shift = offset * 4; |
| 548 | 543 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 549 | 544 | |
| 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 | ||
| 554 | 545 | // update display |
| 555 | 546 | UINT8 grid = BITSWAP8(m_grid,0,1,2,3,4,5,6,7); |
| 556 | 547 | 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); |
| r245327 | r245328 | |
| 945 | 936 | * cyan/red VFD display Futaba DM-34Z 2A, with color overlay |
| 946 | 937 | |
| 947 | 938 | 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 | |
| 948 | 945 | |
| 949 | 946 | ***************************************************************************/ |
| 950 | 947 | |
| r245327 | r245328 | |
| 955 | 952 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 956 | 953 | |
| 957 | 954 | // 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 | ||
| 963 | 955 | UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,0,1,2,3,4,5,6,7,8,9,10); |
| 964 | 956 | 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); |
| 965 | 957 | |
| r245327 | r245328 | |
| 1254 | 1246 | ***************************************************************************/ |
| 1255 | 1247 | |
| 1256 | 1248 | // 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) | |
| 1258 | 1249 | |
| 1259 | 1250 | static INPUT_PORTS_START( epacman2 ) |
| 1260 | 1251 | PORT_START("IN.0") // D1 port R0x |
| r245327 | r245328 | |
| 1331 | 1322 | int shift = offset * 4; |
| 1332 | 1323 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 1333 | 1324 | |
| 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 | ||
| 1338 | 1325 | // update display |
| 1339 | 1326 | 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); |
| 1340 | 1327 | |
| r245327 | r245328 | |
| 1529 | 1516 | int shift = offset * 4; |
| 1530 | 1517 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 1531 | 1518 | |
| 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 | ||
| 1540 | 1519 | tmtron_display(); |
| 1541 | 1520 | } |
| 1542 | 1521 | |
| r245327 | r245328 | |
| 1556 | 1535 | // D6-D15: vfd matrix grid |
| 1557 | 1536 | m_grid = data >> 6 & 0x3ff; |
| 1558 | 1537 | |
| 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 | ||
| 1563 | 1538 | // D0-D3,D5: more plates |
| 1564 | 1539 | m_plate = (m_plate & 0x00ffff) | (data << 16 & 0x2f0000); |
| 1565 | 1540 | tmtron_display(); |
| 1566 | 1541 | } |
| 1567 | 1542 | |
| 1543 | ||
| 1568 | 1544 | void hh_hmcs40_state::tmtron_update_int1() |
| 1569 | 1545 | { |
| 1570 | 1546 | // INT1 on multiplexed inputs |
| 1571 | 1547 | set_interrupt(1, read_inputs(4)); |
| 1572 | 1548 | } |
| 1573 | 1549 | |
| 1574 | ||
| 1575 | 1550 | INPUT_CHANGED_MEMBER(hh_hmcs40_state::tmtron_input_changed) |
| 1576 | 1551 | { |
| 1577 | 1552 | tmtron_update_int1(); |
| r245327 | r245328 | |
| 1579 | 1554 | |
| 1580 | 1555 | static INPUT_PORTS_START( tmtron ) |
| 1581 | 1556 | 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 | |
| 1583 | 1558 | |
| 1584 | 1559 | 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 // " | |
| 1586 | 1561 | |
| 1587 | 1562 | 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 // " | |
| 1589 | 1564 | |
| 1590 | 1565 | 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 // " | |
| 1592 | 1567 | |
| 1593 | 1568 | PORT_START("IN.4") // INT0 |
| 1594 | 1569 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, (void *)0) |
| 1595 | ||
| 1596 | ||
| 1597 | 1570 | INPUT_PORTS_END |
| 1598 | 1571 | |
| 1599 | 1572 | |
| r245327 | r245328 | |
| 1729 | 1702 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */ |
| 1730 | 1703 | CONS( 1979, bambball, 0, 0, bambball, bambball, driver_device, 0, "Bambino", "Basketball - Dribble Away", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1731 | 1704 | |
| 1732 | CONS( 1981, packmon, 0, 0, packmon, packmon, driver_device, 0, "Bandai", "Packri Monster", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) | |
| 1733 | CONS( 1983, zackman, 0, 0, zackman, zackman, driver_device, 0, "Bandai", "Zackman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) | |
| 1705 | CONS( 1981, packmon, 0, 0, packmon, packmon, driver_device, 0, "Bandai", "Packri Monster", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) | |
| 1706 | CONS( 1983, zackman, 0, 0, zackman, zackman, driver_device, 0, "Bandai", "Zackman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) | |
| 1734 | 1707 | |
| 1735 | 1708 | CONS( 1981, alnattck, 0, 0, alnattck, alnattck, driver_device, 0, "Coleco", "Alien Attack", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1736 | 1709 | CONS( 1982, cdkong, 0, 0, cdkong, cdkong, driver_device, 0, "Coleco", "Donkey Kong (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| r245327 | r245328 | |
| 1742 | 1715 | CONS( 1981, egalaxn2, 0, 0, egalaxn2, egalaxn2, driver_device, 0, "Entex", "Galaxian 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1743 | 1716 | CONS( 1981, epacman2, 0, 0, epacman2, epacman2, driver_device, 0, "Entex", "Pac Man 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1744 | 1717 | |
| 1745 | CONS( 1983, pbqbert, 0, 0, pbqbert, pbqbert, driver_device, 0, "Parker Brothers", "Q*Bert (Parker Brothers)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | |
| 1718 | CONS( 1983, pbqbert, 0, 0, pbqbert, pbqbert, driver_device, 0, "Parker Brothers", "Q*Bert (Parker Brothers)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) | |
| 1746 | 1719 | |
| 1747 | CONS( 1982, kingman, 0, 0, kingman, kingman, driver_device, 0, "Tomy", "Kingman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) | |
| 1748 | CONS( 1984, tmtron, 0, 0, tmtron, tmtron, driver_device, 0, "Tomy", "Tron (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) | |
| 1720 | CONS( 1982, kingman, 0, 0, kingman, kingman, driver_device, 0, "Tomy", "Kingman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) | |
| 1721 | CONS( 1984, tmtron, 0, 0, tmtron, tmtron, driver_device, 0, "Tomy", "Tron (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| https://github.com/mamedev/mame/commit/23a2142b7c67c6c181fded6c93ac1c640c277812 |
| Previous | 199869 Revisions | Next |