trunk/src/mess/drivers/hh_hmcs40.c
| r244924 | r244925 | |
| 15 | 15 | *62 HD38750A 1982, Actronics(Hanzawa) Pack'n Maze |
| 16 | 16 | |
| 17 | 17 | *04 HD38800A 1980, Gakken Heiankyo Alien |
| 18 | | *23 HD38800A 198?, Tomy Kingman |
| 18 | @23 HD38800B 1982, Tomy Kingman (THF-01II) |
| 19 | 19 | *24 HD38800B 1982, Actronics(Hanzawa) Wanted G-Man |
| 20 | 20 | @25 HD38800A 1981, Coleco Alien Attack |
| 21 | 21 | @27 HD38800A 1981, Bandai Packri Monster (DM-21Z) |
| r244924 | r244925 | |
| 336 | 336 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 337 | 337 | |
| 338 | 338 | // update display |
| 339 | | UINT32 plate = BITSWAP16((UINT16)m_plate,11,9,8,10,7,2,0,1,3,4,5,6,12,13,14,15) | (m_plate & 0xf0000); |
| 339 | UINT32 plate = BITSWAP16(m_plate,11,9,8,10,7,2,0,1,3,4,5,6,12,13,14,15) | (m_plate & 0xf0000); |
| 340 | 340 | |
| 341 | 341 | display_matrix(20, 10, plate, m_grid); |
| 342 | 342 | } |
| r244924 | r244925 | |
| 624 | 624 | |
| 625 | 625 | /*************************************************************************** |
| 626 | 626 | |
| 627 | Tomy Kingman (manufactured in Japan) |
| 628 | * boards are labeled THF-01II 2E138E01/2E128E02 |
| 629 | * Hitachi HD38800B23 MCU |
| 630 | * cyan/red/blue VFD display Futaba DM-65ZK 3A |
| 631 | |
| 632 | NOTE!: MESS external artwork is recommended |
| 633 | |
| 634 | ***************************************************************************/ |
| 635 | |
| 636 | static INPUT_PORTS_START( kingman ) |
| 637 | INPUT_PORTS_END |
| 638 | |
| 639 | |
| 640 | static MACHINE_CONFIG_START( kingman, hh_hmcs40_state ) |
| 641 | |
| 642 | /* basic machine hardware */ |
| 643 | MCFG_CPU_ADD("maincpu", HD38800, 400000) // approximation - RC osc. |
| 644 | |
| 645 | // MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 646 | MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test) |
| 647 | |
| 648 | /* no video! */ |
| 649 | |
| 650 | /* sound hardware */ |
| 651 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 652 | MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) |
| 653 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 654 | MACHINE_CONFIG_END |
| 655 | |
| 656 | |
| 657 | |
| 658 | |
| 659 | |
| 660 | /*************************************************************************** |
| 661 | |
| 627 | 662 | Tomy(tronic) Tron (manufactured in Japan) |
| 628 | 663 | * boards are labeled THN-02 2E114E07 |
| 629 | 664 | * Hitachi HD38800A88 MCU |
| r244924 | r244925 | |
| 739 | 774 | ROM_END |
| 740 | 775 | |
| 741 | 776 | |
| 777 | ROM_START( kingman ) |
| 778 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 779 | ROM_LOAD( "hd38800b23", 0x0000, 0x1000, CRC(f8dfe14f) SHA1(660610d92ae7e5f92bddf5a3bcc2296b2ec3946b) ) |
| 780 | ROM_CONTINUE( 0x1e80, 0x0100 ) |
| 781 | ROM_END |
| 782 | |
| 783 | |
| 742 | 784 | ROM_START( tmtron ) |
| 743 | 785 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 744 | 786 | ROM_LOAD( "hd38800a88", 0x0000, 0x1000, CRC(33db9670) SHA1(d6f747a59356526698784047bcfdbb59e79b9a23) ) |
| r244924 | r244925 | |
| 763 | 805 | CONS( 1981, epacman2, 0, 0, epacman2, epacman2, driver_device, 0, "Entex", "Pac Man 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 764 | 806 | CONS( 1983, pbqbert, 0, 0, pbqbert, pbqbert, driver_device, 0, "Parker Brothers", "Q*Bert (Parker Brothers)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 765 | 807 | |
| 766 | | CONS( 1982, tmtron, 0, 0, tmtron, tmtron, driver_device, 0, "Tomy", "Tron (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 808 | CONS( 1982, kingman, 0, 0, kingman, kingman, driver_device, 0, "Tomy", "Kingman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 809 | CONS( 1984, tmtron, 0, 0, tmtron, tmtron, driver_device, 0, "Tomy", "Tron (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
trunk/src/mess/drivers/hh_ucom4.c
| r244924 | r244925 | |
| 19 | 19 | *128 uPD650C 1982, Roland TR-606 |
| 20 | 20 | 133 uPD650C 1982, Roland TB-303 |
| 21 | 21 | @160 uPD553C 1982, Tomy Pac Man (TN-08) |
| 22 | | *202 uPD553C 1982, Epoch Astro Command |
| 22 | @202 uPD553C 1982, Epoch Astro Command |
| 23 | 23 | @206 uPD553C 1982, Epoch Dracula |
| 24 | 24 | @258 uPD553C 1984, Tomy Alien Chase (TN-16) |
| 25 | 25 | |
| r244924 | r244925 | |
| 88 | 88 | DECLARE_WRITE8_MEMBER(splasfgt_grid_w); |
| 89 | 89 | DECLARE_WRITE8_MEMBER(splasfgt_plate_w); |
| 90 | 90 | |
| 91 | void astrocmd_display(); |
| 92 | DECLARE_WRITE8_MEMBER(astrocmd_grid_w); |
| 93 | DECLARE_WRITE8_MEMBER(astrocmd_plate_w); |
| 94 | |
| 91 | 95 | DECLARE_WRITE8_MEMBER(edracula_grid_w); |
| 92 | 96 | DECLARE_WRITE8_MEMBER(edracula_plate_w); |
| 93 | 97 | |
| r244924 | r244925 | |
| 476 | 480 | |
| 477 | 481 | /*************************************************************************** |
| 478 | 482 | |
| 483 | Epoch Astro Command (manufactured in Japan) |
| 484 | * PCB label 96111 |
| 485 | * NEC uCOM-43 MCU, labeled D553C 202 |
| 486 | * cyan/red VFD display NEC FIP9AM20T NO.42, with color overlay |
| 487 | |
| 488 | known releases: |
| 489 | - Japan: Astro Command |
| 490 | - USA: Astro Command, published by Tandy |
| 491 | - UK: Scramble, published by Grandstand |
| 492 | |
| 493 | NOTE!: MESS external artwork is recommended |
| 494 | |
| 495 | ***************************************************************************/ |
| 496 | |
| 497 | void hh_ucom4_state::astrocmd_display() |
| 498 | { |
| 499 | UINT32 grid = BITSWAP16(m_grid,15,14,13,12,11,10,9,8,4,5,6,7,0,1,2,3); |
| 500 | UINT32 plate = BITSWAP24(m_plate,23,22,21,20,19,3,2,12,13,14,15,16,17,18,0,1,4,8,5,9,7,11,6,10); |
| 501 | |
| 502 | display_matrix(17, 9, plate, grid); |
| 503 | } |
| 504 | |
| 505 | WRITE8_MEMBER(hh_ucom4_state::astrocmd_grid_w) |
| 506 | { |
| 507 | // C,D(,E3): vfd matrix grid |
| 508 | int shift = (offset - NEC_UCOM4_PORTC) * 4; |
| 509 | m_grid = (m_grid & ~(0xf << shift)) | (data << shift); |
| 510 | |
| 511 | astrocmd_display(); |
| 512 | } |
| 513 | |
| 514 | WRITE8_MEMBER(hh_ucom4_state::astrocmd_plate_w) |
| 515 | { |
| 516 | // E01,F,G,H,I: vfd matrix plate |
| 517 | int shift = (offset - NEC_UCOM4_PORTE) * 4; |
| 518 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 519 | |
| 520 | if (offset == NEC_UCOM4_PORTE) |
| 521 | { |
| 522 | // E2: speaker out |
| 523 | m_speaker->level_w(data >> 2 & 1); |
| 524 | |
| 525 | // E3: vfd matrix grid 8 |
| 526 | astrocmd_grid_w(space, offset, data >> 3 & 1); |
| 527 | } |
| 528 | else |
| 529 | astrocmd_display(); |
| 530 | } |
| 531 | |
| 532 | |
| 533 | static INPUT_PORTS_START( astrocmd ) |
| 534 | PORT_START("IN.0") // port A |
| 535 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SELECT ) |
| 536 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START ) |
| 537 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 538 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) |
| 539 | |
| 540 | PORT_START("IN.1") // port B |
| 541 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) |
| 542 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) |
| 543 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) |
| 544 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) |
| 545 | INPUT_PORTS_END |
| 546 | |
| 547 | |
| 548 | static MACHINE_CONFIG_START( astrocmd, hh_ucom4_state ) |
| 549 | |
| 550 | /* basic machine hardware */ |
| 551 | MCFG_CPU_ADD("maincpu", NEC_D553, XTAL_400kHz) |
| 552 | MCFG_UCOM4_READ_A_CB(IOPORT("IN.0")) |
| 553 | MCFG_UCOM4_READ_B_CB(IOPORT("IN.1")) |
| 554 | MCFG_UCOM4_WRITE_C_CB(WRITE8(hh_ucom4_state, astrocmd_grid_w)) |
| 555 | MCFG_UCOM4_WRITE_D_CB(WRITE8(hh_ucom4_state, astrocmd_grid_w)) |
| 556 | MCFG_UCOM4_WRITE_E_CB(WRITE8(hh_ucom4_state, astrocmd_plate_w)) |
| 557 | MCFG_UCOM4_WRITE_F_CB(WRITE8(hh_ucom4_state, astrocmd_plate_w)) |
| 558 | MCFG_UCOM4_WRITE_G_CB(WRITE8(hh_ucom4_state, astrocmd_plate_w)) |
| 559 | MCFG_UCOM4_WRITE_H_CB(WRITE8(hh_ucom4_state, astrocmd_plate_w)) |
| 560 | MCFG_UCOM4_WRITE_I_CB(WRITE8(hh_ucom4_state, astrocmd_plate_w)) |
| 561 | |
| 562 | MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1)) |
| 563 | MCFG_DEFAULT_LAYOUT(layout_hh_ucom4_test) |
| 564 | |
| 565 | /* no video! */ |
| 566 | |
| 567 | /* sound hardware */ |
| 568 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 569 | MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) |
| 570 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 571 | MACHINE_CONFIG_END |
| 572 | |
| 573 | |
| 574 | |
| 575 | |
| 576 | |
| 577 | /*************************************************************************** |
| 578 | |
| 479 | 579 | Epoch Dracula (manufactured in Japan) |
| 480 | 580 | * PCB label 96121 |
| 481 | 581 | * NEC uCOM-43 MCU, labeled D553C 206 |
| r244924 | r244925 | |
| 719 | 819 | |
| 720 | 820 | void hh_ucom4_state::tmpacman_display() |
| 721 | 821 | { |
| 722 | | UINT8 grid = BITSWAP8((UINT8)m_grid,0,1,2,3,4,5,6,7); |
| 822 | UINT32 grid = BITSWAP8(m_grid,0,1,2,3,4,5,6,7); |
| 723 | 823 | 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); |
| 724 | 824 | |
| 725 | 825 | display_matrix(19, 8, plate | 0x100, grid); // plate 8 (maze) is always on |
| r244924 | r244925 | |
| 929 | 1029 | ROM_END |
| 930 | 1030 | |
| 931 | 1031 | |
| 1032 | ROM_START( astrocmd ) |
| 1033 | ROM_REGION( 0x0800, "maincpu", 0 ) |
| 1034 | ROM_LOAD( "d553c-202.s01", 0x0000, 0x0800, CRC(b4b34883) SHA1(6246d561c2df1f2124575d2ca671ef85b1819edd) ) |
| 1035 | ROM_END |
| 1036 | |
| 1037 | |
| 932 | 1038 | ROM_START( edracula ) |
| 933 | 1039 | ROM_REGION( 0x0800, "maincpu", 0 ) |
| 934 | | ROM_LOAD( "d553c-206", 0x0000, 0x0800, CRC(b524857b) SHA1(c1c89ed5dd4bb1e6e98462dc8fa5af2aa48d8ede) ) |
| 1040 | ROM_LOAD( "d553c-206.s01", 0x0000, 0x0800, CRC(b524857b) SHA1(c1c89ed5dd4bb1e6e98462dc8fa5af2aa48d8ede) ) |
| 935 | 1041 | ROM_END |
| 936 | 1042 | |
| 937 | 1043 | |
| r244924 | r244925 | |
| 958 | 1064 | CONS( 1979, ssfball, 0, 0, ssfball, ssfball, driver_device, 0, "Bambino", "Superstar Football", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 959 | 1065 | CONS( 1980, splasfgt, 0, 0, splasfgt, splasfgt, driver_device, 0, "Bambino", "Space Laser Fight", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 960 | 1066 | |
| 1067 | CONS( 1982, astrocmd, 0, 0, astrocmd, astrocmd, driver_device, 0, "Epoch", "Astro Command", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING ) |
| 961 | 1068 | CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |
| 962 | 1069 | |
| 963 | 1070 | CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) |