trunk/src/mess/drivers/hh_hmcs40.c
| r245679 | r245680 | |
| 16 | 16 | |
| 17 | 17 | *04 HD38800A 1980, Gakken Heiankyo Alien |
| 18 | 18 | @25 HD38800A 1981, Coleco Alien Attack |
| 19 | | @27 HD38800A 1981, Bandai Packri Monster (DM-21Z) |
| 19 | @27 HD38800A 1981, Bandai Packri Monster |
| 20 | *41 HD38800A 1982, Gakken Puck Monster |
| 20 | 21 | *51 HD38800A 1981, Actronics(Hanzawa) Twinvader |
| 21 | 22 | @70 HD38800A 1982, Coleco Galaxian |
| 22 | | @73 HD38800A 1982, Mattel Star Hawk |
| 23 | @73 HD38800A 1982, Bandai(Mattel) Star Hawk |
| 24 | @77 HD38800A 1982, Bandai Frisky Tom |
| 23 | 25 | |
| 24 | 26 | @23 HD38800B 1982, Tomy Kingman (THF-01II) |
| 25 | 27 | *24 HD38800B 1982, Actronics(Hanzawa) Wanted G-Man |
| r245679 | r245680 | |
| 33 | 35 | @29 HD38820A 1981, Coleco Pac-Man (ver 2) |
| 34 | 36 | *32 HD38820A 198?, Gakken Super Cobra |
| 35 | 37 | *38 HD38820A 1982, Entex Crazy Climber |
| 38 | *42 HD38820A 1982, Entex Stargate (have dump, +COP411 for audio) |
| 36 | 39 | *43 HD38820A 1982, Entex Turtles (have dump, +COP411 for audio) |
| 37 | 40 | @45 HD38820A 1982, Coleco Donkey Kong |
| 38 | 41 | @49 HD38820A 1983, Bandai Zackman |
| r245679 | r245680 | |
| 44 | 47 | |
| 45 | 48 | ***************************************************************************/ |
| 46 | 49 | |
| 47 | | |
| 48 | | |
| 49 | | |
| 50 | | |
| 51 | | /*************************************************************************** |
| 52 | | |
| 53 | | Mattel Star Hawk (manufactured in Japan) |
| 54 | | * PCBs are labeled Kaken, PT-317B |
| 55 | | * Hitachi HD38800A73 MCU |
| 56 | | * cyan/red VFD display Futaba DM-41ZK, with partial color overlay |
| 57 | | |
| 58 | | NOTE!: MESS external artwork is recommended |
| 59 | | |
| 60 | | ***************************************************************************/ |
| 61 | | |
| 62 | | |
| 63 | | |
| 64 | | |
| 65 | | |
| 66 | | |
| 67 | 50 | #include "emu.h" |
| 68 | 51 | #include "cpu/hmcs40/hmcs40.h" |
| 69 | 52 | #include "sound/speaker.h" |
| r245679 | r245680 | |
| 419 | 402 | |
| 420 | 403 | /*************************************************************************** |
| 421 | 404 | |
| 405 | Bandai Frisky Tom (manufactured in Japan) |
| 406 | * PCBs are labeled Kaken Corp., PT-327A |
| 407 | * Hitachi HD38800A77 MCU |
| 408 | * cyan/red/green VFD display Futaba DM-43ZK 2E |
| 409 | |
| 410 | NOTE!: MESS external artwork is recommended |
| 411 | |
| 412 | ***************************************************************************/ |
| 413 | |
| 414 | class bfriskyt_state : public hh_hmcs40_state |
| 415 | { |
| 416 | public: |
| 417 | bfriskyt_state(const machine_config &mconfig, device_type type, const char *tag) |
| 418 | : hh_hmcs40_state(mconfig, type, tag) |
| 419 | { } |
| 420 | |
| 421 | void prepare_display(); |
| 422 | DECLARE_WRITE8_MEMBER(plate_w); |
| 423 | DECLARE_WRITE16_MEMBER(grid_w); |
| 424 | |
| 425 | void update_int1(); |
| 426 | DECLARE_INPUT_CHANGED_MEMBER(input_changed); |
| 427 | }; |
| 428 | |
| 429 | // handlers |
| 430 | |
| 431 | void bfriskyt_state::prepare_display() |
| 432 | { |
| 433 | UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,10,9,8,0,1,2,3,4,5,6,7); |
| 434 | UINT32 plate = BITSWAP24(m_plate,23,22,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21); |
| 435 | display_matrix(22, 8, plate, grid); |
| 436 | } |
| 437 | |
| 438 | WRITE8_MEMBER(bfriskyt_state::plate_w) |
| 439 | { |
| 440 | // R0x-R3x: vfd matrix plate |
| 441 | int shift = offset * 4; |
| 442 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 443 | prepare_display(); |
| 444 | } |
| 445 | |
| 446 | WRITE16_MEMBER(bfriskyt_state::grid_w) |
| 447 | { |
| 448 | // D6: speaker out |
| 449 | m_speaker->level_w(data >> 6 & 1); |
| 450 | |
| 451 | // D11-D15: input mux |
| 452 | UINT8 inp_mux = data >> 11 & 0x1f; |
| 453 | if (inp_mux != m_inp_mux) |
| 454 | { |
| 455 | m_inp_mux = inp_mux; |
| 456 | update_int1(); |
| 457 | } |
| 458 | |
| 459 | // D8-D15: vfd matrix grid |
| 460 | m_grid = data >> 8 & 0xff; |
| 461 | |
| 462 | // D0-D5: more plates |
| 463 | m_plate = (m_plate & 0x00ffff) | (data << 16 & 0x3f0000); |
| 464 | prepare_display(); |
| 465 | } |
| 466 | |
| 467 | void bfriskyt_state::update_int1() |
| 468 | { |
| 469 | // INT1 on multiplexed inputs |
| 470 | set_interrupt(1, read_inputs(5)); |
| 471 | } |
| 472 | |
| 473 | |
| 474 | // config |
| 475 | |
| 476 | static INPUT_PORTS_START( bfriskyt ) |
| 477 | PORT_START("IN.0") // D11 INT1 |
| 478 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, bfriskyt_state, input_changed, NULL) |
| 479 | |
| 480 | PORT_START("IN.1") // D12 INT1 |
| 481 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, bfriskyt_state, input_changed, NULL) |
| 482 | |
| 483 | PORT_START("IN.2") // D13 INT1 |
| 484 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, bfriskyt_state, input_changed, NULL) |
| 485 | |
| 486 | PORT_START("IN.3") // D14 INT1 |
| 487 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, bfriskyt_state, input_changed, NULL) |
| 488 | |
| 489 | PORT_START("IN.4") // D15 INT1 |
| 490 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, bfriskyt_state, input_changed, NULL) |
| 491 | |
| 492 | PORT_START("IN.5") // INT0 |
| 493 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, (void *)0) |
| 494 | INPUT_PORTS_END |
| 495 | |
| 496 | INPUT_CHANGED_MEMBER(bfriskyt_state::input_changed) |
| 497 | { |
| 498 | update_int1(); |
| 499 | } |
| 500 | |
| 501 | |
| 502 | static MACHINE_CONFIG_START( bfriskyt, bfriskyt_state ) |
| 503 | |
| 504 | /* basic machine hardware */ |
| 505 | MCFG_CPU_ADD("maincpu", HD38800, 400000) // approximation - RC osc. |
| 506 | MCFG_HMCS40_WRITE_R_CB(0, WRITE8(bfriskyt_state, plate_w)) |
| 507 | MCFG_HMCS40_WRITE_R_CB(1, WRITE8(bfriskyt_state, plate_w)) |
| 508 | MCFG_HMCS40_WRITE_R_CB(2, WRITE8(bfriskyt_state, plate_w)) |
| 509 | MCFG_HMCS40_WRITE_R_CB(3, WRITE8(bfriskyt_state, plate_w)) |
| 510 | MCFG_HMCS40_WRITE_D_CB(WRITE16(bfriskyt_state, grid_w)) |
| 511 | |
| 512 | MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 513 | MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test) |
| 514 | |
| 515 | /* no video! */ |
| 516 | |
| 517 | /* sound hardware */ |
| 518 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 519 | MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) |
| 520 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 521 | MACHINE_CONFIG_END |
| 522 | |
| 523 | |
| 524 | |
| 525 | |
| 526 | |
| 527 | /*************************************************************************** |
| 528 | |
| 422 | 529 | Bandai Packri Monster (manufactured in Japan) |
| 423 | 530 | * PCB label DM-21ZA2 |
| 424 | 531 | * Hitachi HD38800A27 MCU |
| 425 | 532 | * cyan/red/green VFD display Futaba DM-21ZK 2B, with bezel overlay |
| 426 | 533 | |
| 534 | known releases: |
| 535 | - Japan: FL Packri Monster |
| 536 | - USA(World?): Packri Monster |
| 537 | - USA/Canada: Hungry Monster, published by Tandy |
| 538 | - other: Gobble Man/Ogre Monster, published by Tandy |
| 539 | |
| 427 | 540 | NOTE!: MESS external artwork is recommended |
| 428 | 541 | |
| 429 | 542 | ***************************************************************************/ |
| r245679 | r245680 | |
| 523 | 636 | |
| 524 | 637 | /*************************************************************************** |
| 525 | 638 | |
| 526 | | Bandai Zackman |
| 639 | Bandai(Mattel) Star Hawk (manufactured in Japan) |
| 640 | * PCBs are labeled Kaken, PT-317B |
| 641 | * Hitachi HD38800A73 MCU |
| 642 | * cyan/red VFD display Futaba DM-41ZK, with partial color overlay |
| 643 | |
| 644 | Kaken was a subsidiary of Bandai. The original Japanese release is unknown, |
| 645 | was it canceled and only released in the USA? |
| 646 | |
| 647 | known releases: |
| 648 | - Japan: ? |
| 649 | - USA: Star Hawk, published by Mattel |
| 650 | |
| 651 | NOTE!: MESS external artwork is recommended |
| 652 | |
| 653 | ***************************************************************************/ |
| 654 | |
| 655 | class msthawk_state : public hh_hmcs40_state |
| 656 | { |
| 657 | public: |
| 658 | msthawk_state(const machine_config &mconfig, device_type type, const char *tag) |
| 659 | : hh_hmcs40_state(mconfig, type, tag) |
| 660 | { } |
| 661 | |
| 662 | void prepare_display(); |
| 663 | DECLARE_WRITE8_MEMBER(plate_w); |
| 664 | DECLARE_WRITE16_MEMBER(grid_w); |
| 665 | |
| 666 | void update_int0(); |
| 667 | DECLARE_INPUT_CHANGED_MEMBER(input_changed); |
| 668 | }; |
| 669 | |
| 670 | // handlers |
| 671 | |
| 672 | void msthawk_state::prepare_display() |
| 673 | { |
| 674 | UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,10,0,1,2,3,4,5,6,7,8,9); |
| 675 | UINT32 plate = BITSWAP24(m_plate,23,22,21,19,20,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0); |
| 676 | display_matrix(21, 10, plate, grid); |
| 677 | } |
| 678 | |
| 679 | WRITE8_MEMBER(msthawk_state::plate_w) |
| 680 | { |
| 681 | // R0x-R3x: vfd matrix plate |
| 682 | int shift = offset * 4; |
| 683 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 684 | prepare_display(); |
| 685 | } |
| 686 | |
| 687 | WRITE16_MEMBER(msthawk_state::grid_w) |
| 688 | { |
| 689 | // D5: speaker out |
| 690 | m_speaker->level_w(data >> 5 & 1); |
| 691 | |
| 692 | // D10-D15: input mux |
| 693 | UINT8 inp_mux = data >> 10 & 0x3f; |
| 694 | if (inp_mux != m_inp_mux) |
| 695 | { |
| 696 | m_inp_mux = inp_mux; |
| 697 | update_int0(); |
| 698 | } |
| 699 | |
| 700 | // D6-D15: vfd matrix grid |
| 701 | m_grid = data >> 6 & 0x3ff; |
| 702 | |
| 703 | // D0-D4: more plates |
| 704 | m_plate = (m_plate & 0x00ffff) | (data << 16 & 0x1f0000); |
| 705 | prepare_display(); |
| 706 | } |
| 707 | |
| 708 | void msthawk_state::update_int0() |
| 709 | { |
| 710 | // INT0 on multiplexed inputs |
| 711 | set_interrupt(0, read_inputs(6)); |
| 712 | } |
| 713 | |
| 714 | |
| 715 | // config |
| 716 | |
| 717 | static INPUT_PORTS_START( msthawk ) |
| 718 | PORT_START("IN.0") // D10 INT0 |
| 719 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) PORT_CHANGED_MEMBER(DEVICE_SELF, msthawk_state, input_changed, NULL) PORT_NAME("Score") |
| 720 | |
| 721 | PORT_START("IN.1") // D11 INT0 |
| 722 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CHANGED_MEMBER(DEVICE_SELF, msthawk_state, input_changed, NULL) PORT_NAME("Land") |
| 723 | |
| 724 | PORT_START("IN.2") // D12 INT0 |
| 725 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_CHANGED_MEMBER(DEVICE_SELF, msthawk_state, input_changed, NULL) |
| 726 | |
| 727 | PORT_START("IN.3") // D13 INT0 |
| 728 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_CHANGED_MEMBER(DEVICE_SELF, msthawk_state, input_changed, NULL) |
| 729 | |
| 730 | PORT_START("IN.4") // D14 INT0 |
| 731 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_CHANGED_MEMBER(DEVICE_SELF, msthawk_state, input_changed, NULL) |
| 732 | |
| 733 | PORT_START("IN.5") // D15 INT0 |
| 734 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_CHANGED_MEMBER(DEVICE_SELF, msthawk_state, input_changed, NULL) |
| 735 | |
| 736 | PORT_START("IN.6") // INT1 |
| 737 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, (void *)1) PORT_NAME("Fire") |
| 738 | INPUT_PORTS_END |
| 739 | |
| 740 | INPUT_CHANGED_MEMBER(msthawk_state::input_changed) |
| 741 | { |
| 742 | update_int0(); |
| 743 | } |
| 744 | |
| 745 | |
| 746 | static MACHINE_CONFIG_START( msthawk, msthawk_state ) |
| 747 | |
| 748 | /* basic machine hardware */ |
| 749 | MCFG_CPU_ADD("maincpu", HD38800, 400000) // approximation - RC osc. |
| 750 | MCFG_HMCS40_WRITE_R_CB(0, WRITE8(msthawk_state, plate_w)) |
| 751 | MCFG_HMCS40_WRITE_R_CB(1, WRITE8(msthawk_state, plate_w)) |
| 752 | MCFG_HMCS40_WRITE_R_CB(2, WRITE8(msthawk_state, plate_w)) |
| 753 | MCFG_HMCS40_WRITE_R_CB(3, WRITE8(msthawk_state, plate_w)) |
| 754 | MCFG_HMCS40_WRITE_D_CB(WRITE16(msthawk_state, grid_w)) |
| 755 | |
| 756 | MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 757 | MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test) |
| 758 | |
| 759 | /* no video! */ |
| 760 | |
| 761 | /* sound hardware */ |
| 762 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 763 | MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) |
| 764 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 765 | MACHINE_CONFIG_END |
| 766 | |
| 767 | |
| 768 | |
| 769 | |
| 770 | |
| 771 | /*************************************************************************** |
| 772 | |
| 773 | Bandai Zackman "The Pit, FL Exploration of Space" (manufactured in Japan) |
| 527 | 774 | * Hitachi HD38820A49 MCU |
| 528 | 775 | * cyan/red/yellow VFD display Futaba DM-53Z 3E, with color overlay |
| 529 | 776 | |
| r245679 | r245680 | |
| 644 | 891 | Coleco Alien Attack (manufactured in Taiwan) |
| 645 | 892 | * Hitachi HD38800A25 MCU |
| 646 | 893 | * cyan/red VFD display Futaba DM-19Z 1J |
| 894 | |
| 895 | It looks like Coleco took Gakken's Heiankyo Alien and turned it into a more |
| 896 | action-oriented game. |
| 647 | 897 | |
| 648 | 898 | NOTE!: MESS external artwork is recommended |
| 649 | 899 | |
| r245679 | r245680 | |
| 1002 | 1252 | * cyan/red VFD display Futaba DM-34Z 2A, with color overlay |
| 1003 | 1253 | |
| 1004 | 1254 | known releases: |
| 1005 | | - Japan: Super Pack Monster, by Gakken |
| 1006 | | - USA: Pac-Man, published by Coleco (name-license from Midway) |
| 1255 | - USA: Pac-Man, by Coleco (name-license from Midway) |
| 1256 | - Japan: Super Puck Monster, published by Gakken |
| 1007 | 1257 | |
| 1008 | 1258 | Select game mode on start: |
| 1009 | 1259 | - P1 Right: Pac-Man (default game) |
| r245679 | r245680 | |
| 1774 | 2024 | ROM_END |
| 1775 | 2025 | |
| 1776 | 2026 | |
| 2027 | ROM_START( bfriskyt ) |
| 2028 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 2029 | ROM_LOAD( "hd38800a77", 0x0000, 0x1000, CRC(a2445c4f) SHA1(0aaccfec90b66d27dae194d4462d88e654c41578) ) |
| 2030 | ROM_CONTINUE( 0x1e80, 0x0100 ) |
| 2031 | ROM_END |
| 2032 | |
| 2033 | |
| 1777 | 2034 | ROM_START( packmon ) |
| 1778 | 2035 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 1779 | 2036 | ROM_LOAD( "hd38800a27", 0x0000, 0x1000, CRC(86e09e84) SHA1(ac7d3c43667d5720ca513f8ff51d146d9f2af124) ) |
| r245679 | r245680 | |
| 1843 | 2100 | ROM_END |
| 1844 | 2101 | |
| 1845 | 2102 | |
| 2103 | ROM_START( msthawk ) |
| 2104 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 2105 | ROM_LOAD( "hd38800a73", 0x0000, 0x1000, CRC(a4f9a523) SHA1(465f06b02e2e7d2277218fd447830725790a816c) ) |
| 2106 | ROM_CONTINUE( 0x1e80, 0x0100 ) |
| 2107 | ROM_END |
| 2108 | |
| 2109 | |
| 1846 | 2110 | ROM_START( pbqbert ) |
| 1847 | 2111 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 1848 | 2112 | ROM_LOAD( "hd38820a70", 0x0000, 0x1000, CRC(be7c80b4) SHA1(0617a80ef7fe188ea221de32e760d45fd4318c67) ) |
| r245679 | r245680 | |
| 1868 | 2132 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */ |
| 1869 | 2133 | CONS( 1979, bambball, 0, 0, bambball, bambball, driver_device, 0, "Bambino", "Basketball - Dribble Away", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1870 | 2134 | |
| 2135 | CONS( 1982, bfriskyt, 0, 0, bfriskyt, bfriskyt, driver_device, 0, "Bandai", "Frisky Tom (Bandai)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1871 | 2136 | CONS( 1981, packmon, 0, 0, packmon, packmon, driver_device, 0, "Bandai", "Packri Monster", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 2137 | CONS( 1982, msthawk, 0, 0, msthawk, msthawk, driver_device, 0, "Bandai (Mattel license)", "Star Hawk (Mattel)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1872 | 2138 | CONS( 1983, zackman, 0, 0, zackman, zackman, driver_device, 0, "Bandai", "Zackman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1873 | 2139 | |
| 1874 | 2140 | CONS( 1981, alnattck, 0, 0, alnattck, alnattck, driver_device, 0, "Coleco", "Alien Attack", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1875 | 2141 | CONS( 1982, cdkong, 0, 0, cdkong, cdkong, driver_device, 0, "Coleco", "Donkey Kong (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_IMPERFECT_SOUND ) |
| 1876 | 2142 | CONS( 1982, cgalaxn, 0, 0, cgalaxn, cgalaxn, driver_device, 0, "Coleco", "Galaxian (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 1877 | | CONS( 1981, cpacman, 0, 0, cpacman, cpacman, driver_device, 0, "Gakken (Coleco license)", "Pac-Man (Coleco, Rev. 29)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) // original version is Super Puck Monster, by Gakken |
| 1878 | | CONS( 1981, cpacmanr1, cpacman, 0, cpacman, cpacman, driver_device, 0, "Gakken (Coleco license)", "Pac-Man (Coleco, Rev. 28)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) // " |
| 1879 | | CONS( 1983, cmspacmn, 0, 0, cmspacmn, cmspacmn, driver_device, 0, "Coleco", "Ms. Pac-Man (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 2143 | CONS( 1981, cpacman, 0, 0, cpacman, cpacman, driver_device, 0, "Coleco", "Pac-Man (Coleco, Rev. 29)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 2144 | CONS( 1981, cpacmanr1, cpacman, 0, cpacman, cpacman, driver_device, 0, "Coleco", "Pac-Man (Coleco, Rev. 28)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 2145 | CONS( 1983, cmspacmn, 0, 0, cmspacmn, cmspacmn, driver_device, 0, "Coleco", "Ms. Pac-Man (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1880 | 2146 | |
| 1881 | 2147 | CONS( 1981, egalaxn2, 0, 0, egalaxn2, egalaxn2, driver_device, 0, "Entex", "Galaxian 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1882 | 2148 | CONS( 1981, epacman2, 0, 0, epacman2, epacman2, driver_device, 0, "Entex", "Pac Man 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1883 | 2149 | |
| 2150 | |
| 1884 | 2151 | CONS( 1983, pbqbert, 0, 0, pbqbert, pbqbert, driver_device, 0, "Parker Brothers", "Q*Bert (Parker Brothers)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 1885 | 2152 | |
| 1886 | 2153 | CONS( 1982, kingman, 0, 0, kingman, kingman, driver_device, 0, "Tomy", "Kingman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |