Previous 199869 Revisions Next

r37168 Monday 13th April, 2015 at 20:05:05 UTC by hap
(MESS)New working games added
-----------------
Bandai Frisky Tom [hap, Kevin Horton]
Mattel Star Hawk [hap, Kevin Horton]
[src/mess]mess.lst
[src/mess/drivers]hh_hmcs40.c

trunk/src/mess/drivers/hh_hmcs40.c
r245679r245680
1616
1717 *04      HD38800A  1980, Gakken Heiankyo Alien
1818 @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
2021 *51      HD38800A  1981, Actronics(Hanzawa) Twinvader
2122 @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
2325 
2426 @23      HD38800B  1982, Tomy Kingman (THF-01II)
2527 *24      HD38800B  1982, Actronics(Hanzawa) Wanted G-Man
r245679r245680
3335 @29      HD38820A  1981, Coleco Pac-Man (ver 2)
3436 *32      HD38820A  198?, Gakken Super Cobra
3537 *38      HD38820A  1982, Entex Crazy Climber
38 *42      HD38820A  1982, Entex Stargate (have dump, +COP411 for audio)
3639 *43      HD38820A  1982, Entex Turtles (have dump, +COP411 for audio)
3740 @45      HD38820A  1982, Coleco Donkey Kong
3841 @49      HD38820A  1983, Bandai Zackman
r245679r245680
4447
4548***************************************************************************/
4649
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
6750#include "emu.h"
6851#include "cpu/hmcs40/hmcs40.h"
6952#include "sound/speaker.h"
r245679r245680
419402
420403/***************************************************************************
421404
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
414class bfriskyt_state : public hh_hmcs40_state
415{
416public:
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
431void 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
438WRITE8_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
446WRITE16_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
467void bfriskyt_state::update_int1()
468{
469   // INT1 on multiplexed inputs
470   set_interrupt(1, read_inputs(5));
471}
472
473
474// config
475
476static 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)
494INPUT_PORTS_END
495
496INPUT_CHANGED_MEMBER(bfriskyt_state::input_changed)
497{
498   update_int1();
499}
500
501
502static 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)
521MACHINE_CONFIG_END
522
523
524
525
526
527/***************************************************************************
528
422529  Bandai Packri Monster (manufactured in Japan)
423530  * PCB label DM-21ZA2
424531  * Hitachi HD38800A27 MCU
425532  * cyan/red/green VFD display Futaba DM-21ZK 2B, with bezel overlay
426533
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
427540  NOTE!: MESS external artwork is recommended
428541
429542***************************************************************************/
r245679r245680
523636
524637/***************************************************************************
525638
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
655class msthawk_state : public hh_hmcs40_state
656{
657public:
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
672void 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
679WRITE8_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
687WRITE16_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
708void msthawk_state::update_int0()
709{
710   // INT0 on multiplexed inputs
711   set_interrupt(0, read_inputs(6));
712}
713
714
715// config
716
717static 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")
738INPUT_PORTS_END
739
740INPUT_CHANGED_MEMBER(msthawk_state::input_changed)
741{
742   update_int0();
743}
744
745
746static 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)
765MACHINE_CONFIG_END
766
767
768
769
770
771/***************************************************************************
772
773  Bandai Zackman "The Pit, FL Exploration of Space" (manufactured in Japan)
527774  * Hitachi HD38820A49 MCU
528775  * cyan/red/yellow VFD display Futaba DM-53Z 3E, with color overlay
529776
r245679r245680
644891  Coleco Alien Attack (manufactured in Taiwan)
645892  * Hitachi HD38800A25 MCU
646893  * 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.
647897
648898  NOTE!: MESS external artwork is recommended
649899
r245679r245680
10021252  * cyan/red VFD display Futaba DM-34Z 2A, with color overlay
10031253
10041254  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
10071257
10081258  Select game mode on start:
10091259  - P1 Right: Pac-Man (default game)
r245679r245680
17742024ROM_END
17752025
17762026
2027ROM_START( bfriskyt )
2028   ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 )
2029   ROM_LOAD( "hd38800a77", 0x0000, 0x1000, CRC(a2445c4f) SHA1(0aaccfec90b66d27dae194d4462d88e654c41578) )
2030   ROM_CONTINUE(           0x1e80, 0x0100 )
2031ROM_END
2032
2033
17772034ROM_START( packmon )
17782035   ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 )
17792036   ROM_LOAD( "hd38800a27", 0x0000, 0x1000, CRC(86e09e84) SHA1(ac7d3c43667d5720ca513f8ff51d146d9f2af124) )
r245679r245680
18432100ROM_END
18442101
18452102
2103ROM_START( msthawk )
2104   ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 )
2105   ROM_LOAD( "hd38800a73", 0x0000, 0x1000, CRC(a4f9a523) SHA1(465f06b02e2e7d2277218fd447830725790a816c) )
2106   ROM_CONTINUE(           0x1e80, 0x0100 )
2107ROM_END
2108
2109
18462110ROM_START( pbqbert )
18472111   ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 )
18482112   ROM_LOAD( "hd38820a70", 0x0000, 0x1000, CRC(be7c80b4) SHA1(0617a80ef7fe188ea221de32e760d45fd4318c67) )
r245679r245680
18682132/*    YEAR  NAME       PARENT COMPAT MACHINE  INPUT     INIT              COMPANY, FULLNAME, FLAGS */
18692133CONS( 1979, bambball,  0,        0, bambball, bambball, driver_device, 0, "Bambino", "Basketball - Dribble Away", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18702134
2135CONS( 1982, bfriskyt,  0,        0, bfriskyt, bfriskyt, driver_device, 0, "Bandai", "Frisky Tom (Bandai)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18712136CONS( 1981, packmon,   0,        0, packmon,  packmon,  driver_device, 0, "Bandai", "Packri Monster", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
2137CONS( 1982, msthawk,   0,        0, msthawk,  msthawk,  driver_device, 0, "Bandai (Mattel license)", "Star Hawk (Mattel)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18722138CONS( 1983, zackman,   0,        0, zackman,  zackman,  driver_device, 0, "Bandai", "Zackman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18732139
18742140CONS( 1981, alnattck,  0,        0, alnattck, alnattck, driver_device, 0, "Coleco", "Alien Attack", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18752141CONS( 1982, cdkong,    0,        0, cdkong,   cdkong,   driver_device, 0, "Coleco", "Donkey Kong (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_IMPERFECT_SOUND )
18762142CONS( 1982, cgalaxn,   0,        0, cgalaxn,  cgalaxn,  driver_device, 0, "Coleco", "Galaxian (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
1877CONS( 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
1878CONS( 1981, cpacmanr1, cpacman,  0, cpacman,  cpacman,  driver_device, 0, "Gakken (Coleco license)", "Pac-Man (Coleco, Rev. 28)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK ) // "
1879CONS( 1983, cmspacmn,  0,        0, cmspacmn, cmspacmn, driver_device, 0, "Coleco", "Ms. Pac-Man (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK | GAME_NOT_WORKING )
2143CONS( 1981, cpacman,   0,        0, cpacman,  cpacman,  driver_device, 0, "Coleco", "Pac-Man (Coleco, Rev. 29)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
2144CONS( 1981, cpacmanr1, cpacman,  0, cpacman,  cpacman,  driver_device, 0, "Coleco", "Pac-Man (Coleco, Rev. 28)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
2145CONS( 1983, cmspacmn,  0,        0, cmspacmn, cmspacmn, driver_device, 0, "Coleco", "Ms. Pac-Man (Coleco)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18802146
18812147CONS( 1981, egalaxn2,  0,        0, egalaxn2, egalaxn2, driver_device, 0, "Entex", "Galaxian 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18822148CONS( 1981, epacman2,  0,        0, epacman2, epacman2, driver_device, 0, "Entex", "Pac Man 2 (Entex)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18832149
2150
18842151CONS( 1983, pbqbert,   0,        0, pbqbert,  pbqbert,  driver_device, 0, "Parker Brothers", "Q*Bert (Parker Brothers)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
18852152
18862153CONS( 1982, kingman,   0,        0, kingman,  kingman,  driver_device, 0, "Tomy", "Kingman", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
trunk/src/mess/mess.lst
r245679r245680
21832183
21842184// Dedicated handhelds/tabletops
21852185bambball    // Bambino
2186bfriskyt    // Bandai
21862187packmon     // Bandai
2188msthawk     // Bandai(Mattel)
21872189zackman     // Bandai
21882190alnattck    // Coleco
21892191cdkong      // Coleco


Previous 199869 Revisions Next


© 1997-2024 The MAME Team