diff options
author | hap <happppp@users.noreply.github.com> | 2021-03-16 21:54:29 +0100 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2021-03-16 21:55:04 +0100 |
commit | 6dc9c022ea017932131f539aaaed83ead9150245 (patch) | |
tree | bf363adfd4907f12c6d13c52d09548def8a92461 | |
parent | 6ea142efb8e3ab1bc854dc45e66010a9ba8e774b (diff) |
New working machines
--------------------
Dunk 'n Sunk [hap, Sean Riddle]
-rw-r--r-- | src/mame/drivers/hh_amis2k.cpp | 10 | ||||
-rw-r--r-- | src/mame/drivers/hh_cop400.cpp | 26 | ||||
-rw-r--r-- | src/mame/drivers/hh_cops1.cpp | 9 | ||||
-rw-r--r-- | src/mame/drivers/hh_hmcs40.cpp | 67 | ||||
-rw-r--r-- | src/mame/drivers/hh_melps4.cpp | 5 | ||||
-rw-r--r-- | src/mame/drivers/hh_pic16.cpp | 288 | ||||
-rw-r--r-- | src/mame/drivers/hh_pps41.cpp | 138 | ||||
-rw-r--r-- | src/mame/drivers/hh_sm510.cpp | 14 | ||||
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 148 | ||||
-rw-r--r-- | src/mame/drivers/hh_ucom4.cpp | 76 | ||||
-rw-r--r-- | src/mame/layout/drdunk.lay (renamed from src/mame/layout/tbaskb.lay) | 25 | ||||
-rw-r--r-- | src/mame/layout/dunksunk.lay | 128 | ||||
-rw-r--r-- | src/mame/layout/hccbaskb.lay | 27 | ||||
-rw-r--r-- | src/mame/mame.lst | 3 |
14 files changed, 652 insertions, 312 deletions
diff --git a/src/mame/drivers/hh_amis2k.cpp b/src/mame/drivers/hh_amis2k.cpp index 5f5ec64bf5e..a3886c0a330 100644 --- a/src/mame/drivers/hh_amis2k.cpp +++ b/src/mame/drivers/hh_amis2k.cpp @@ -3,12 +3,12 @@ // thanks-to:Sean Riddle /*************************************************************************** - AMI S2000 series handhelds or other simple devices. +AMI S2000 series handhelds or other simple devices. - TODO: - - were any other handhelds with this MCU released? - - wildfire sound can be improved, volume decay should be more steep at the start, - and the pitch sounds wrong too (latter is an MCU emulation problem) +TODO: +- were any other handhelds with this MCU released? +- wildfire sound can be improved, volume decay should be more steep at the start, + and the pitch sounds wrong too (latter is an MCU emulation problem) ***************************************************************************/ diff --git a/src/mame/drivers/hh_cop400.cpp b/src/mame/drivers/hh_cop400.cpp index 1c69e036bd7..d98ac882fbc 100644 --- a/src/mame/drivers/hh_cop400.cpp +++ b/src/mame/drivers/hh_cop400.cpp @@ -3,25 +3,27 @@ // thanks-to:Sean Riddle /*************************************************************************** - National Semiconductor COPS(COP400 MCU series) handhelds or other simple - devices, mostly LED electronic games/toys. +National Semiconductor COPS(COP400 MCU series) handhelds or other simple +devices, mostly LED electronic games/toys. - TODO: - - why does h2hbaskbc(and clones) need a workaround on writing L pins? - - plus1: which sensor position is which colour? - - vidchal: Add screen and gun cursor with brightness detection callback, - and softwarelist for the video tapes. We'd also need a VHS player device. - The emulated lightgun itself appears to be working fine(eg. add a 30hz - timer to IN.3 to score +100) +TODO: +- why does h2hbaskbc(and clones) need a workaround on writing L pins? +- plus1: which sensor position is which colour? +- vidchal: Add screen and gun cursor with brightness detection callback, + and softwarelist for the video tapes. We'd also need a VHS player device. + The emulated lightgun itself appears to be working fine(eg. add a 30hz + timer to IN.3 to score +100) ***************************************************************************/ #include "emu.h" + #include "cpu/cop400/cop400.h" #include "video/pwm.h" #include "machine/timer.h" #include "sound/spkrdev.h" #include "sound/dac.h" + #include "screen.h" #include "speaker.h" @@ -657,7 +659,7 @@ ROM_END This toy includes 4 games: Tic Tac Toe, Chicken Sez, and Total Recall I/II. known releases: - - USA: I Took a Lickin' From a Chicken + - USA: I Took a Lickin' From a Chicken, published by LJN - Japan: Professor Chicken's Genius Classroom 「にわとり博士の天才教室」, published by Bandai (not sure if it's the same ROM, or just licensed the outer shell) @@ -941,8 +943,8 @@ ROM_END * 14 LEDs, 1-bit sound known releases: - - USA: Funtronics: Red Light Green Light - - USA(rerelease): Funtronics: Hot Wheels Drag Race + - USA: Funtronics: Red Light Green Light, published by Mattel + - USA(rerelease): Funtronics: Hot Wheels Drag Race, published by Mattel ***************************************************************************/ diff --git a/src/mame/drivers/hh_cops1.cpp b/src/mame/drivers/hh_cops1.cpp index 22e13770bc5..1d11b928655 100644 --- a/src/mame/drivers/hh_cops1.cpp +++ b/src/mame/drivers/hh_cops1.cpp @@ -3,12 +3,12 @@ // thanks-to:Sean Riddle /*************************************************************************** - National Semiconductor COPS(MM57 MCU series) handhelds +National Semiconductor COPS(MM57 MCU series) handhelds - MCU die label for MM5799 games says MM4799, but they are in fact MM5799. +MCU die label for MM5799 games says MM4799, but they are in fact MM5799. - TODO: - - qkracerm link cable +TODO: +- qkracerm link cable ***************************************************************************/ @@ -18,6 +18,7 @@ #include "machine/ds8874.h" #include "video/pwm.h" #include "sound/spkrdev.h" + #include "speaker.h" // internal artwork diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp index 2a6068add74..432e5fe53b6 100644 --- a/src/mame/drivers/hh_hmcs40.cpp +++ b/src/mame/drivers/hh_hmcs40.cpp @@ -3,10 +3,10 @@ // thanks-to:Kevin Horton /*************************************************************************** - Hitachi HMCS40 MCU tabletops/handhelds or other simple devices, - most of them are VFD electronic games/toys. +Hitachi HMCS40 MCU tabletops/handhelds or other simple devices, +most of them are VFD electronic games/toys. - known chips: +known chips: serial device etc. ---------------------------------------------------------------- @@ -90,32 +90,39 @@ (* means undumped unless noted, @ denotes it's in this driver) - - TODO: - - cgalaxn discrete sound (alien attacking sound effect) - - gckong glitchy jump on 1st level (rarely happens), caused by MCU stack overflow. - It can be tested by jumping up repeatedly at the start position under the ladder, - if the glitch happens there, you can jump onto the 2nd floor. - - epacman2 booting the game in demo mode, pacman should take the shortest route to - the upper-left power pill: mcu cycle/interrupt timing related - - kevtris's HMCS40 ROM dumps are incomplete, missing MCU factory test code from - the 2nd half of the ROM, none of the games access it though and it's impossible - to execute unless the chip is in testmode. - - Though very uncommon when compared to games with LED/lamp display, some - games may manipulate VFD plate brightness by strobing it longer/shorter, - eg. cgalaxn when a ship explodes. - - bzaxxon 3D effect is difficult to simulate - - improve/redo SVGs of: bzaxxon, bpengo, bbtime +ROM source notes when dumped from another publisher, but confident it's the same game: +- gckong: CGL Super Kong +- ghalien: CGL Earth Invaders +- kingman: Tandy Kingman +- zackman: Tandy Zackman + +TODO: +- cgalaxn discrete sound (alien attacking sound effect) +- gckong glitchy jump on 1st level (rarely happens), caused by MCU stack overflow. + It can be tested by jumping up repeatedly at the start position under the ladder, + if the glitch happens there, you can jump onto the 2nd floor. +- epacman2 booting the game in demo mode, pacman should take the shortest route to + the upper-left power pill: mcu cycle/interrupt timing related +- kevtris's HMCS40 ROM dumps are incomplete, missing MCU factory test code from + the 2nd half of the ROM, none of the games access it though and it's impossible + to execute unless the chip is in testmode. +- Though very uncommon when compared to games with LED/lamp display, some + games may manipulate VFD plate brightness by strobing it longer/shorter, + eg. cgalaxn when a ship explodes. +- bzaxxon 3D effect is difficult to simulate +- improve/redo SVGs of: bzaxxon, bpengo, bbtime ***************************************************************************/ #include "emu.h" + #include "cpu/hmcs40/hmcs40.h" #include "cpu/cop400/cop400.h" #include "video/pwm.h" #include "machine/gen_latch.h" #include "machine/timer.h" #include "sound/spkrdev.h" + #include "screen.h" #include "speaker.h" @@ -662,8 +669,8 @@ ROM_END * cyan/red/green VFD display Futaba DM-21ZK 2B, with bezel overlay known releases: - - Japan: FL Packri Monster - - USA(World?): Packri Monster + - Japan: FL Packri Monster, published by Bandai + - USA(World?): Packri Monster, published by Bandai - USA/Canada: Hungry Monster, published by Tandy - other: Gobble Man/Ogre Monster, published by Tandy @@ -909,6 +916,10 @@ ROM_END * Hitachi QFP HD38820A49 MCU * cyan/red/yellow VFD display Futaba DM-53Z 3E, with color overlay + known releases: + - World: Zackman, published by Bandai + - USA: Zackman, published by Tandy + ***************************************************************************/ class zackman_state : public hh_hmcs40_state @@ -2464,8 +2475,8 @@ ROM_END * cyan/red/green VFD display Futaba DM-20 known releases: - - USA: Galaxian 2 - - UK: Astro Invader (Hales/Entex) + - USA: Galaxian 2, published by Entex + - UK: Astro Invader, published by Hales/Entex ***************************************************************************/ @@ -3138,7 +3149,7 @@ ROM_END * cyan/red VFD display Futaba DM-11Z 1H known releases: - - Japan: Heiankyo Alien + - Japan: Heiankyo Alien, published by Gakken - USA: Earth Invaders, published by CGL ***************************************************************************/ @@ -3265,7 +3276,7 @@ ROM_END * cyan/red/blue VFD display Futaba DM-54Z 2H, with bezel overlay known releases: - - Japan: Crazy Kong + - Japan: Crazy Kong, published by Gakken - USA: Super Kong, published by CGL ***************************************************************************/ @@ -4059,6 +4070,10 @@ ROM_END * Hitachi HD38800B23 MCU * cyan/red/blue VFD display Futaba DM-65ZK 3A + known releases: + - World: Kingman, published by Tomy + - USA: Kingman, published by Tandy + ***************************************************************************/ class kingman_state : public hh_hmcs40_state @@ -4185,7 +4200,7 @@ ROM_END * cyan/red VFD display Futaba DM-26Z 1G, with bezel known releases: - - USA: Invaders/Sonic Invader + - USA: Invaders/Sonic Invader, published by VTech - UK: Cosmic Invader, published by Grandstand - UK: Galactic Invaders, published by Prinztronic diff --git a/src/mame/drivers/hh_melps4.cpp b/src/mame/drivers/hh_melps4.cpp index c9ef6ceca32..c0b522c620e 100644 --- a/src/mame/drivers/hh_melps4.cpp +++ b/src/mame/drivers/hh_melps4.cpp @@ -3,12 +3,13 @@ // thanks-to:Kevin Horton /*************************************************************************** - Mitsubishi MELPS 4 MCU tabletops/handhelds or other simple devices, - most of them are VFD electronic games/toys. +Mitsubishi MELPS 4 MCU tabletops/handhelds or other simple devices, +most of them are VFD electronic games/toys. ***************************************************************************/ #include "emu.h" + #include "cpu/melps4/m58846.h" #include "video/pwm.h" #include "sound/spkrdev.h" diff --git a/src/mame/drivers/hh_pic16.cpp b/src/mame/drivers/hh_pic16.cpp index c5ee7247cf9..c15623a3a55 100644 --- a/src/mame/drivers/hh_pic16.cpp +++ b/src/mame/drivers/hh_pic16.cpp @@ -3,9 +3,9 @@ // thanks-to:Sean Riddle, Kevin Horton /*************************************************************************** - GI PIC 16xx-driven dedicated handhelds or other simple devices. +GI PIC 16xx-driven dedicated handhelds or other simple devices. - known chips: +known chips: serial device etc. ----------------------------------------------------------- @@ -16,7 +16,7 @@ @036 1655A 1979, Ideal Maniac @043 1655A 1979, Caprice Pro-Action Baseball @049 1655A 1980, Kingsford Match Me(?)/Mini Match Me - @051 1655A 1979, Tandy Electronic Basketball + @051 1655A 1979, Kmart Dr. Dunk/Tandy Electronic Basketball @053 1655A 1979, Atari Touch Me @0?? 1655A 1979, Tiger Half Court Computer Basketball/Sears Electronic Basketball (custom label) @061 1655A 1980, Lakeside Le Boom @@ -38,25 +38,35 @@ (* means undumped unless noted, @ denotes it's in this driver) - - TODO: - - tweak MCU frequency for games when video/audio recording surfaces(YouTube etc.) - - us2pfball player led is brighter, but I can't get a stable picture - - ttfball: discrete sound part, for volume gating? - - what's the relation between hccbaskb and tbaskb? Is one the bootleg of the - other? Or are they both made by the same subcontractor? I presume Toytronic. - - uspbball and pabball internal artwork +ROM source notes when dumped from another publisher, but confident it's the same game: +- drdunk: Tandy Electronic Basketball +- flash: Radio Shack Sound Effects Chassis +- hccbaskb: Sears Electronic Basketball +- us2pfball: Tandy 2-Player Football +- uspbball: Tandy 2-Player Baseball + +TODO: +- tweak MCU frequency for games when video/audio recording surfaces(YouTube etc.) +- us2pfball player led is brighter, but I can't get a stable picture +- ttfball: discrete sound part, for volume gating? +- what's the relation between drdunk and hccbaskb? Probably made by the same + Hong Kong subcontractor? I presume Toytronic. +- uspbball and pabball internal artwork ***************************************************************************/ #include "emu.h" + #include "cpu/pic16c5x/pic16c5x.h" #include "video/pwm.h" #include "machine/clock.h" #include "machine/timer.h" #include "sound/spkrdev.h" + #include "speaker.h" +// internal artwork +#include "drdunk.lh" #include "flash.lh" // clickable #include "hccbaskb.lh" #include "leboom.lh" // clickable @@ -64,7 +74,6 @@ #include "melodym.lh" // clickable #include "matchme.lh" // clickable #include "rockpin.lh" -#include "tbaskb.lh" #include "touchme.lh" // clickable #include "ttfball.lh" #include "us2pfball.lh" @@ -804,10 +813,11 @@ ROM_END * 8 lamps, 1-bit sound Known releases: - - USA(1): Match Me/Mini Match Me(latter is the handheld version, same game) + - USA(1): Match Me/Mini Match Me, published by Kingsford - USA(2): Me Too, published by Talbot - Hong Kong: Gotcha!/Encore/Follow Me, published by Toytronic + Match Me is the tabletop version, Mini Match Me is the handheld. The original is probably by Toytronic, Kingsford's version being licensed from them. Known revisions: @@ -953,6 +963,128 @@ ROM_END /*************************************************************************** + Kmart Dr. Dunk (manufactured in Hong Kong) + * PIC 1655A-51 + * 2 7seg LEDs + 21 other LEDs, 1-bit sound + + It is a clone of Mattel Basketball, but at lower speed. + The ROM is nearly identical to hccbaskb, the housing/overlay is similar to + U.S. Games/Tandy Trick Shot Basketball. + + known releases: + - USA(1): Dr. Dunk, published by Kmart + - USA(2): Electronic Basketball (model 60-2146), published by Tandy + +***************************************************************************/ + +class drdunk_state : public hh_pic16_state +{ +public: + drdunk_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_pic16_state(mconfig, type, tag) + { } + + void update_display(); + u8 read_a(); + void write_b(u8 data); + void write_c(u8 data); + void drdunk(machine_config &config); +}; + +// handlers + +void drdunk_state::update_display() +{ + m_display->matrix(m_b, m_c); +} + +u8 drdunk_state::read_a() +{ + // A2: skill switch, A3: multiplexed inputs + return m_inputs[5]->read() | read_inputs(5, 8) | 3; +} + +void drdunk_state::write_b(u8 data) +{ + // B0: RTCC pin + m_maincpu->set_input_line(PIC16C5x_RTCC, data & 1); + + // B0-B4: input mux + m_inp_mux = ~data & 0x1f; + + // B0-B3: led select + // B4,B5: digit select + m_b = data; + update_display(); +} + +void drdunk_state::write_c(u8 data) +{ + // C7: speaker out + m_speaker->level_w(data >> 7 & 1); + + // C0-C6: led data + m_c = ~data; + update_display(); +} + +// config + +static INPUT_PORTS_START( drdunk ) + PORT_START("IN.0") // B0 port A3 + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_16WAY + + PORT_START("IN.1") // B1 port A3 + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_16WAY + + PORT_START("IN.2") // B2 port A3 + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_16WAY + + PORT_START("IN.3") // B3 port A3 + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_16WAY + + PORT_START("IN.4") // B4 port A3 + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) + + PORT_START("IN.5") // port A2 + PORT_CONFNAME( 0x04, 0x04, DEF_STR( Difficulty ) ) + PORT_CONFSETTING( 0x04, "1" ) + PORT_CONFSETTING( 0x00, "2" ) +INPUT_PORTS_END + +void drdunk_state::drdunk(machine_config &config) +{ + /* basic machine hardware */ + PIC1655(config, m_maincpu, 800000); // approximation - RC osc. R=18K, C=47pF + m_maincpu->read_a().set(FUNC(drdunk_state::read_a)); + m_maincpu->write_b().set(FUNC(drdunk_state::write_b)); + m_maincpu->read_c().set_constant(0xff); + m_maincpu->write_c().set(FUNC(drdunk_state::write_c)); + + /* video hardware */ + PWM_DISPLAY(config, m_display).set_size(6, 7); + m_display->set_segmask(0x30, 0x7f); + m_display->set_bri_levels(0.01, 0.2); // player led is brighter + config.set_default_layout(layout_drdunk); + + /* sound hardware */ + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( drdunk ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "pic_1655a-051", 0x0000, 0x0400, CRC(92534b40) SHA1(7055e32846c913e68f7d35f279cd537f6325f4f2) ) +ROM_END + + + + + +/*************************************************************************** + Lakeside Le Boom * PIC 1655A-061 * 1 led, 1-bit sound with RC circuit for volume decay @@ -1117,130 +1249,12 @@ ROM_END /*************************************************************************** - Tandy Electronic Basketball (model 60-2146) - * PIC 1655A-51 - * 2 7seg LEDs + 21 other LEDs, 1-bit sound - - It is a clone of Mattel Basketball, but at lower speed. - The ROM is nearly identical to hccbaskb, the housing/overlay is the same as - U.S. Games/Tandy Trick Shot Basketball. - -***************************************************************************/ - -class tbaskb_state : public hh_pic16_state -{ -public: - tbaskb_state(const machine_config &mconfig, device_type type, const char *tag) : - hh_pic16_state(mconfig, type, tag) - { } - - void update_display(); - u8 read_a(); - void write_b(u8 data); - void write_c(u8 data); - void tbaskb(machine_config &config); -}; - -// handlers - -void tbaskb_state::update_display() -{ - m_display->matrix(m_b, m_c); -} - -u8 tbaskb_state::read_a() -{ - // A2: skill switch, A3: multiplexed inputs - return m_inputs[5]->read() | read_inputs(5, 8) | 3; -} - -void tbaskb_state::write_b(u8 data) -{ - // B0: RTCC pin - m_maincpu->set_input_line(PIC16C5x_RTCC, data & 1); - - // B0-B4: input mux - m_inp_mux = ~data & 0x1f; - - // B0-B3: led select - // B4,B5: digit select - m_b = data; - update_display(); -} - -void tbaskb_state::write_c(u8 data) -{ - // C7: speaker out - m_speaker->level_w(data >> 7 & 1); - - // C0-C6: led data - m_c = ~data; - update_display(); -} - -// config - -static INPUT_PORTS_START( tbaskb ) - PORT_START("IN.0") // B0 port A3 - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_16WAY - - PORT_START("IN.1") // B1 port A3 - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_16WAY - - PORT_START("IN.2") // B2 port A3 - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_16WAY - - PORT_START("IN.3") // B3 port A3 - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_16WAY - - PORT_START("IN.4") // B4 port A3 - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) - - PORT_START("IN.5") // port A2 - PORT_CONFNAME( 0x04, 0x04, DEF_STR( Difficulty ) ) - PORT_CONFSETTING( 0x04, "1" ) - PORT_CONFSETTING( 0x00, "2" ) -INPUT_PORTS_END - -void tbaskb_state::tbaskb(machine_config &config) -{ - /* basic machine hardware */ - PIC1655(config, m_maincpu, 800000); // approximation - RC osc. R=18K, C=47pF - m_maincpu->read_a().set(FUNC(tbaskb_state::read_a)); - m_maincpu->write_b().set(FUNC(tbaskb_state::write_b)); - m_maincpu->read_c().set_constant(0xff); - m_maincpu->write_c().set(FUNC(tbaskb_state::write_c)); - - /* video hardware */ - PWM_DISPLAY(config, m_display).set_size(6, 7); - m_display->set_segmask(0x30, 0x7f); - m_display->set_bri_levels(0.01, 0.2); // player led is brighter - config.set_default_layout(layout_tbaskb); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25); -} - -// roms - -ROM_START( tbaskb ) - ROM_REGION( 0x0400, "maincpu", 0 ) - ROM_LOAD( "pic_1655a-051", 0x0000, 0x0400, CRC(92534b40) SHA1(7055e32846c913e68f7d35f279cd537f6325f4f2) ) -ROM_END - - - - - -/*************************************************************************** - Tiger Electronics Rocket Pinball (model 7-460) * PIC 1650A-110, 69-11397 * 3 7seg LEDs + 44 other LEDs, 1-bit sound known releases: - - Hong Kong(1): Rocket Pinball + - Hong Kong(1): Rocket Pinball, published by Tiger - Hong Kong(2): Spaceship Pinball, published by Toytronic - USA(1): Rocket Pinball (model 60-2140), published by Tandy - USA(2): Cosmic Pinball (model 49-65456), published by Sears @@ -1361,7 +1375,7 @@ ROM_END * 2 7seg LEDs + 26 other LEDs, 1-bit sound known releases: - - Hong Kong: Half Court Computer Basketball + - Hong Kong: Half Court Computer Basketball, published by Tiger - USA: Electronic Basketball (model 49-65453), published by Sears ***************************************************************************/ @@ -1646,7 +1660,7 @@ ROM_END * 3 7seg LEDs + 36 other LEDs, 1-bit sound known releases: - - USA(1): Programmable Baseball + - USA(1): Programmable Baseball, published by U.S. Games - USA(2): Electronic 2-Player Baseball (model 60-2157), published by Tandy ***************************************************************************/ @@ -1764,7 +1778,7 @@ ROM_END * 8 7seg LEDs + 2 other LEDs, 1-bit sound known releases: - - USA(1): Electronic 2-Player Football + - USA(1): Electronic 2-Player Football, published by U.S. Games - USA(2): Electronic 2-Player Football (model 60-2156), published by Tandy ***************************************************************************/ @@ -1917,9 +1931,9 @@ CONS( 1980, flash, 0, 0, flash, flash, flash_state, empty_ CONS( 1980, matchme, 0, 0, matchme, matchme, matchme_state, empty_init, "Kingsford", "Match Me", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1980, leboom, 0, 0, leboom, leboom, leboom_state, empty_init, "Lakeside", "Le Boom", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1979, drdunk, 0, 0, drdunk, drdunk, drdunk_state, empty_init, "Kmart", "Dr. Dunk", MACHINE_SUPPORTS_SAVE ) -CONS( 1979, tbaskb, 0, 0, tbaskb, tbaskb, tbaskb_state, empty_init, "Tandy Corporation", "Electronic Basketball (Tandy)", MACHINE_SUPPORTS_SAVE ) +CONS( 1980, leboom, 0, 0, leboom, leboom, leboom_state, empty_init, "Lakeside", "Le Boom", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1979, rockpin, 0, 0, rockpin, rockpin, rockpin_state, empty_init, "Tiger Electronics", "Rocket Pinball", MACHINE_SUPPORTS_SAVE ) CONS( 1979, hccbaskb, 0, 0, hccbaskb, hccbaskb, hccbaskb_state, empty_init, "Tiger Electronics", "Half Court Computer Basketball", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/hh_pps41.cpp b/src/mame/drivers/hh_pps41.cpp index 34d425796aa..0134f12a861 100644 --- a/src/mame/drivers/hh_pps41.cpp +++ b/src/mame/drivers/hh_pps41.cpp @@ -3,7 +3,10 @@ // thanks-to:Sean Riddle, Kevin Horton /*************************************************************************** - Rockwell PPS-4/1 MCU series handhelds +Rockwell PPS-4/1 MCU series handhelds + +ROM source notes when dumped from another publisher, but confident it's the same game: +- memoquiz: Mattel Mind Boggler ***************************************************************************/ @@ -20,6 +23,7 @@ #include "speaker.h" // internal artwork +#include "dunksunk.lh" #include "ftri1.lh" #include "mastmind.lh" #include "memoquiz.lh" @@ -370,6 +374,130 @@ ROM_END /*************************************************************************** + Kmart Dunk 'n Sunk (manufactured in Hong Kong) + * MM76EL MCU (label GE-E 1V2280, die label B8617) + * 4 7seg leds, 31 other leds, 1-bit sound + + It's by the same Hong Kong company that did Kmart Dr. Dunk/Tandy Electronic + Basketball (PIC16 MCU), Grandstand Pocket Match of the Day (MOS MPS765x MCU) + among others. + + known releases: + - USA(1): Dunk 'n Sunk, published by Kmart + - USA(2): Electronic Basketball / Submarine Warfare, published by U.S. Games + +***************************************************************************/ + +class dunksunk_state : public hh_pps41_state +{ +public: + dunksunk_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_pps41_state(mconfig, type, tag) + { } + + DECLARE_INPUT_CHANGED_MEMBER(difficulty_switch) { update_int(); } + DECLARE_INPUT_CHANGED_MEMBER(game_switch) { update_int(); } + virtual void update_int() override; + + void update_display(); + void write_d(u16 data); + void write_r(u8 data); + void dunksunk(machine_config &config); +}; + +// handlers + +void dunksunk_state::update_int() +{ + // 2 of the switches are tied to MCU interrupt pins + m_maincpu->set_input_line(0, (m_inputs[1]->read() & 1) ? ASSERT_LINE : CLEAR_LINE); + m_maincpu->set_input_line(1, (m_inputs[2]->read() & 1) ? ASSERT_LINE : CLEAR_LINE); +} + +void dunksunk_state::update_display() +{ + m_display->matrix(m_d >> 1, ~m_r); +} + +void dunksunk_state::write_d(u16 data) +{ + // DIO0: speaker out + m_speaker->level_w(data & 1); + + // DIO1-DIO5: led select + // DIO6-DIO9: digit select + m_d = data; + update_display(); +} + +void dunksunk_state::write_r(u8 data) +{ + // RIO1-RIO7: led data + m_r = data; + update_display(); +} + +// config + +static INPUT_PORTS_START( dunksunk ) + PORT_START("IN.0") // P + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CONDITION("IN.1", 0x03, EQUALS, 0x01) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) + + PORT_START("IN.1") + PORT_CONFNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) PORT_CHANGED_MEMBER(DEVICE_SELF, dunksunk_state, difficulty_switch, 0) + PORT_CONFSETTING( 0x00, "1" ) // INT0 + PORT_CONFSETTING( 0x01, "2" ) // PI4 + PORT_CONFSETTING( 0x03, "3" ) + + PORT_START("IN.2") // INT1 + PORT_CONFNAME( 0x01, 0x01, "Game Select" ) PORT_CHANGED_MEMBER(DEVICE_SELF, dunksunk_state, game_switch, 0) + PORT_CONFSETTING( 0x01, "Basketball" ) + PORT_CONFSETTING( 0x00, "Submarine Chase" ) +INPUT_PORTS_END + +void dunksunk_state::dunksunk(machine_config &config) +{ + /* basic machine hardware */ + MM76EL(config, m_maincpu, 390000); // approximation - VC osc. R=56K + m_maincpu->write_d().set(FUNC(dunksunk_state::write_d)); + m_maincpu->write_r().set(FUNC(dunksunk_state::write_r)); + m_maincpu->read_p().set_ioport("IN.0"); + + /* video hardware */ + PWM_DISPLAY(config, m_display).set_size(9, 7); + m_display->set_segmask(0x1e0, 0x7f); + m_display->set_bri_levels(0.015, 0.2); // player led is brighter + config.set_default_layout(layout_dunksunk); + + /* sound hardware */ + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( dunksunk ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "ge-e_1v2280", 0x0000, 0x0400, CRC(90f17191) SHA1(80c3708af99c9db7afe17254fa4df2080aa9f145) ) + + ROM_REGION( 314, "maincpu:opla", 0 ) + ROM_LOAD( "mm76_dunksunk_output.pla", 0, 314, CRC(410fa6d7) SHA1(d46aaf1ec2c942083cba7dbd59d4261dc238d4c8) ) +ROM_END + + + + + +/*************************************************************************** + M.E.M. Belgium Memoquiz * PCB label: MEMOQUIZ MO3 * MM75 MCU (label M7505 A7505-12, die label A7505) @@ -380,7 +508,7 @@ ROM_END confirming with the "=" button. CD reveals the answer, PE is for player entry. known releases: - - Europe: Memoquiz + - Europe: Memoquiz, published by M.E.M. Belgium - UK: Memoquiz, published by Polymark - USA: Mind Boggler (model 2626), published by Mattel @@ -1004,9 +1132,11 @@ CONS( 1979, ftri1, 0, 0, ftri1, ftri1, ftri1_state, empty_in CONS( 1979, mastmind, 0, 0, mastmind, mastmind, mastmind_state, empty_init, "Invicta", "Electronic Master Mind (Invicta)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) CONS( 1979, smastmind, 0, 0, smastmind, mastmind, mastmind_state, empty_init, "Invicta", "Super-Sonic Electronic Master Mind", MACHINE_SUPPORTS_SAVE ) +CONS( 1980, dunksunk, 0, 0, dunksunk, dunksunk, dunksunk_state, empty_init, "Kmart", "Dunk 'n Sunk", MACHINE_SUPPORTS_SAVE ) + CONS( 1978, memoquiz, 0, 0, memoquiz, memoquiz, memoquiz_state, empty_init, "M.E.M. Belgium", "Memoquiz", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) -CONS( 1980, mwcfootb, 0, 0, mwcfootb, mwcfootb, mwcfootb_state, empty_init, "Mattel", "World Championship Football", MACHINE_SUPPORTS_SAVE ) +CONS( 1981, mwcfootb, 0, 0, mwcfootb, mwcfootb, mwcfootb_state, empty_init, "Mattel", "World Championship Football", MACHINE_SUPPORTS_SAVE ) -CONS( 1978, scrabsen, 0, 0, scrabsen, scrabsen, scrabsen_state, empty_init, "Selchow & Righter", "Scrabble Sensor - Electronic Word Game", MACHINE_SUPPORTS_SAVE ) +CONS( 1979, scrabsen, 0, 0, scrabsen, scrabsen, scrabsen_state, empty_init, "Selchow & Righter", "Scrabble Sensor - Electronic Word Game", MACHINE_SUPPORTS_SAVE ) CONS( 1980, rdqa, 0, 0, rdqa, rdqa, rdqa_state, empty_init, "Selchow & Righter", "Reader's Digest Q&A - Computer Question & Answer Game", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp index 5da1627bb0f..8af7d653f19 100644 --- a/src/mame/drivers/hh_sm510.cpp +++ b/src/mame/drivers/hh_sm510.cpp @@ -5093,9 +5093,9 @@ ROM_END * lcd screen with custom segments, 1-bit sound known releases (Gauntlet): - - World: Gauntlet - - Japan: Gauntlet (published by Sega) - - UK: Gauntlet (published by Grandstand) + - World: Gauntlet, published by Tiger + - Japan: Gauntlet, published by Sega + - UK: Gauntlet, published by Grandstand Robin Hood is the same MCU/ROM, different LCD. @@ -5619,8 +5619,8 @@ ROM_END * lcd screen with custom segments, 1-bit sound known releases: - - World: Space Harrier II - - Japan: Space Harrier (published by Sega) + - World: Space Harrier II, published by Tiger + - Japan: Space Harrier, published by Sega ***************************************************************************/ @@ -5972,8 +5972,8 @@ ROM_END * lcd screen with custom segments, 1-bit sound known releases: - - World: Altered Beast - - Japan: Juuouki (published by Sega) + - World: Altered Beast, published by Tiger + - Japan: Juuouki, published by Sega ***************************************************************************/ diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 58934f44cce..bf5423e4469 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -3,21 +3,21 @@ // thanks-to:Sean Riddle, Kevin Horton /*************************************************************************** - This driver is a collection of simple dedicated handheld and tabletop - toys based around the TMS1000 MCU series. Anything more complex or clearly - part of a series is (or will be) in its own driver, see: - - eva: Chrysler EVA-11 (and EVA-24) - - microvsn: Milton Bradley MicroVision - - sag: Entex Select-A-Game Machine - - (contd.) hh_tms1k child drivers: - - tispellb: TI Spelling B series gen. 1 - - tispeak: TI Speak & Spell series gen. 1 - - Let's use this driver for a list of known devices and their serials, - excluding most of TI's own products(they normally didn't use "MP" codes). - For TI's calculators, a comprehensive list of MCU serials is available - on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm +This driver is a collection of simple dedicated handheld and tabletop +toys based around the TMS1000 MCU series. Anything more complex or clearly +part of a series is (or will be) in its own driver, see: +- eva: Chrysler EVA-11 (and EVA-24) +- microvsn: Milton Bradley MicroVision +- sag: Entex Select-A-Game Machine + +(contd.) hh_tms1k child drivers: +- tispellb: TI Spelling B series gen. 1 +- tispeak: TI Speak & Spell series gen. 1 + +Let's use this driver for a list of known devices and their serials, +excluding most of TI's own products(they normally didn't use "MP" codes). +For TI's calculators, a comprehensive list of MCU serials is available +on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm serial device etc. -------------------------------------------------------------------- @@ -137,21 +137,35 @@ (* means undumped unless noted, @ denotes it's in this driver) - - TODO: - - verify output PLA and microinstructions PLA for MCUs that have been dumped - electronically (mpla is usually the default, opla is often custom) - - unknown MCU clocks for some: TMS1000 RC curve is documented in the data manual, - but not for newer ones (rev. E or TMS1400 MCUs). TMS0970/0980 osc. is on-die. - - fake-press ON button when emulation starts for machines that have it on the button matrix - (doesn't look like any relies on it though) - - 7in1ss: in 2-player mode, game select and skill select can be configured after selecting a game? - Possibly BTANB, players are expected to quickly press the "First Up" button after the alarm sound. - - bship discrete sound, netlist is documented - - finish bshipb SN76477 sound - - improve elecbowl driver - - tithermos temperature sensor comparator (right now just the digital clock works) - - is alphie(patent) the same as the final version? +ROM source notes when dumped from another publisher, but confident it's the same game: +- arrball: Tandy Zingo +- bcheetah: Fundimensions Incredible Brain Buggy +- cmsport: Conic Basketball +- cnbaskb: Cardinal Electronic Basketball +- cnfball: Elecsonic Football +- copycat: Sears Follow Me +- ditto: Tandy Electronic Pocket Repeat +- fxmcr165: Tandy Science Fair Microcomputer Trainer +- ginv1000: Tandy Cosmic 1000 Fire Away +- gjackpot: Entex Electronic Jackpot: Gin Rummy & Black Jack +- gpoker: Entex Electronic Poker +- matchnum: LJN Electronic Concentration +- ti1250: Texas Instruments TI-1200 + +TODO: +- verify output PLA and microinstructions PLA for MCUs that have been dumped + electronically (mpla is usually the default, opla is often custom) +- unknown MCU clocks for some: TMS1000 RC curve is documented in the data manual, + but not for newer ones (rev. E or TMS1400 MCUs). TMS0970/0980 osc. is on-die. +- fake-press ON button when emulation starts for machines that have it on the button matrix + (doesn't look like any relies on it though) +- 7in1ss: in 2-player mode, game select and skill select can be configured after selecting a game? + Possibly BTANB, players are expected to quickly press the "First Up" button after the alarm sound. +- bship discrete sound, netlist is documented +- finish bshipb SN76477 sound +- improve elecbowl driver +- tithermos temperature sensor comparator (right now just the digital clock works) +- is alphie(patent) the same as the final version? ***************************************************************************/ @@ -387,7 +401,7 @@ namespace { used on the boxes for "A-One LSI" is same as "Bandai Electronics" from early-80s. known releases: - - Japan: Match Number (white case, Queen playing card bezel) + - Japan: Match Number, published by A-One (white case, Queen playing card bezel) - USA: Electronic Concentration, published by LJN (black case, rainbow pattern bezel) - UK: Electronic Concentration, published by Peter Pan Playthings (same as USA version) @@ -527,7 +541,7 @@ ROM_END * 2-digit 7seg LED display + 22 LEDs, 1-bit sound known releases: - - Japan/World: Arrange Ball (black case) + - Japan/World: Arrange Ball, published by A-One (black case) - USA(1): Zingo (model 60-2123), published by Tandy (red case) - USA(2): Computer Impulse, published by LJN (white case) - Germany: Fixball, unknown publisher, same as LJN version @@ -805,7 +819,7 @@ ROM_END and press the go-key. known releases: - - Japan: System Control Car: Cheetah + - Japan: System Control Car: Cheetah, published by Bandai - USA: The Incredible Brain Buggy, published by Fundimensions - UK: The Incredible Brain Buggy, published by Palitoy (same as USA version) @@ -1402,7 +1416,7 @@ ROM_END * 9-digit LED grid, 1-bit sound known releases: - - USA(1): Electronic Quarterback + - USA(1): Electronic Quarterback, published by Coleco - USA(2): Electronic Touchdown, published by Sears ***************************************************************************/ @@ -1534,7 +1548,7 @@ ROM_END offense blips appear brighter. The hardware is similar to cqback. known releases: - - USA(1): Head to Head: Electronic Football + - USA(1): Head to Head: Electronic Football, published by Coleco - USA(2): Team Play Football, published by Sears ***************************************************************************/ @@ -1868,7 +1882,7 @@ ROM_END * 9-digit cyan VFD display, and other LEDs behind bezel, 1-bit sound known releases: - - USA: Head to Head: Electronic Baseball + - USA: Head to Head: Electronic Baseball, published by Coleco - Japan: Computer Baseball, published by Tsukuda ***************************************************************************/ @@ -2520,7 +2534,7 @@ ROM_END MP0907(101-006) are nearly identical. MP0168 is found in Conic Multisport. known releases: - - Hong Kong: Electronic Basketball + - Hong Kong: Electronic Basketball, published by Conic - USA: Electronic Basketball, published by Cardinal ***************************************************************************/ @@ -2643,8 +2657,8 @@ ROM_END MAME external artwork is needed for the switchable overlays. known releases: - - Hong Kong: Electronic Multisport - - Hong Kong: Basketball/Ice Hockey/Soccer (3 separate handhelds) + - Hong Kong: Electronic Multisport, published by Conic + - Hong Kong: Basketball/Ice Hockey/Soccer, published by Conic (3 separate handhelds) - USA(1): Electronic Multisport, published by Innocron - USA(2): Sports Arena, published by Tandy (model 60-2158) @@ -2770,9 +2784,9 @@ ROM_END by distributing the game under subsidiary brands - see list below. known releases: - - Hong Kong: Electronic Football, Conic - - USA(1): Football, E.R.S.(Electronic Readout Systems) - - USA(2): Football, ELECsonic + - Hong Kong: Electronic Football, published by Conic + - USA(1): Football, published by E.R.S.(Electronic Readout Systems) + - USA(2): Football, published by ELECsonic - USA(3): Football, no brand! Another hardware revision of this game uses a PIC16 MCU. @@ -2915,8 +2929,8 @@ ROM_END the offense(player) leds brighter. known releases: - - Hong Kong: Electronic Football II, Conic - - USA: Electronic Football II, Tandy + - Hong Kong: Electronic Football II, published by Conic + - USA: Electronic Football II, published by Tandy ***************************************************************************/ @@ -3047,7 +3061,7 @@ ROM_END This is a peg solitaire game, with random start position. known releases: - - Hong Kong: Electronic I.Q. + - Hong Kong: Electronic I.Q., published by Conic - UK: Solitaire, published by Grandstand ***************************************************************************/ @@ -4583,7 +4597,7 @@ ROM_END * 4 7seg LEDs, 37 other LEDs, 1-bit sound known releases: - - World: 2 Player Baseball + - World: 2 Player Baseball, published by Fonas - USA: 2 Player Baseball, published by Sears - Canada: 2 Player Baseball, published by Talbot Electronics @@ -4866,7 +4880,7 @@ ROM_END * 11-digit cyan VFD display Itron FG1114B, oscillator sound known releases: - - Japan: Poker + - Japan: Poker, published by Gakken - USA: Electronic Poker, published by Entex ***************************************************************************/ @@ -5028,7 +5042,7 @@ ROM_END * 11-digit cyan VFD display Itron FG1114B, oscillator sound known releases: - - Japan: Jackpot(?) + - Japan: Jackpot(?), published by Gakken - USA: Electronic Jackpot: Gin Rummy & Black Jack, published by Entex ***************************************************************************/ @@ -5149,7 +5163,7 @@ ROM_END * cyan VFD display Itron? CP5008A, 1-bit sound known releases: - - World: Invader + - World: Invader, published by Gakken - USA(1): Galaxy Invader, published by CGL - USA(2): Fire Away, published by Tandy - USA(3): Electron Blaster, published by Vanity Fair @@ -5276,8 +5290,8 @@ ROM_END * cyan/red VFD display Futaba DM-25Z 2D, 1-bit sound known releases: - - World: Galaxy Invader 1000 - - Japan: Invader 1000 + - World: Galaxy Invader 1000, published by Gakken + - Japan: Invader 1000, published by Gakken - USA(1): Galaxy Invader 1000, published by CGL - USA(2): Cosmic 1000 Fire Away, published by Tandy @@ -5402,7 +5416,7 @@ ROM_END * cyan/red/green VFD display, 1-bit sound known releases: - - World: Invader 2000 + - World: Invader 2000, published by Gakken - USA(1): Galaxy Invader 10000, published by CGL - USA(2): Cosmic 3000 Fire Away, published by Tandy @@ -5548,7 +5562,7 @@ ROM_END the R-165 as GMC-4, obviously on modern hardware, but fully compatible. known releases: - - Japan: FX-Micom R-165 + - Japan: FX-Micom R-165, published by Gakken - USA: Science Fair Microcomputer Trainer, published by Tandy. Of note is the complete redesign of the case, adding more adjustable wiring @@ -6654,9 +6668,9 @@ ROM_END Refer to the official manual for more information. known releases: - - USA: Comp IV (two versions, different case) - - Europe: Logic 5 - - Japan: Pythaligoras + - USA: Comp IV (two versions, different case), published by MB + - Europe: Logic 5, published by MB + - Japan: Pythaligoras, published by Takara ***************************************************************************/ @@ -9260,7 +9274,7 @@ ROM_END * 12 lamps behind buttons, 1-bit sound known releases: - - World: Tandy-12: Computerized Arcade + - World: Tandy-12: Computerized Arcade, published by Tandy - Mexico: Fabuloso Fred, published by Ensueño Toys (also released as 9-button version, a clone of Mego Fabulous Fred) @@ -9441,7 +9455,7 @@ ROM_END tell you if it was right(green) or wrong(red). For example 1+2=3? known releases: - - USA(1): Monkey See + - USA(1): Monkey See, published by Tandy - USA(2): Heathcliff, published by McNaught Syndicate in 1983 ***************************************************************************/ @@ -11608,7 +11622,7 @@ ROM_END * 4 LEDs, 1-bit sound known releases: - - World: Copy Cat + - World: Copy Cat, published by Tiger - USA(1): Follow Me, published by Sears - USA(2): Electronic Repeat, published by Tandy @@ -11815,7 +11829,7 @@ ROM_END * 4 LEDs, 1-bit sound known releases: - - World: Ditto + - World: Ditto, published by Tiger - USA: Electronic Pocket Repeat (model 60-2152/60-2468A), published by Tandy note: 1996 model 60-2482 MCU is a Z8, and is assumed to be a clone of Tiger Copycat Jr. @@ -11904,7 +11918,7 @@ ROM_END MAME external artwork is needed for the switchable overlays. known releases: - - World: 7 in 1 Sports Stadium + - World: 7 in 1 Sports Stadium, published by Tiger - USA: 7 in 1 Sports, published by Sears ***************************************************************************/ @@ -12031,9 +12045,9 @@ ROM_END * 2-digit 7seg display, 46 other leds, 1-bit sound known releases: - - USA: Break Up - - Japan: Block Attack - - UK: Break-In + - USA: Break Up, published by Tomy + - Japan: Block Attack, published by Tomy + - UK: Break-In, published by Tomy led translation table: led zz from game PCB = MAME y.x: @@ -12234,9 +12248,9 @@ ROM_END * 3 7seg LEDs, and other LEDs behind bezel, 1-bit sound known releases: - - USA: Power House Pinball - - Japan: Pinball - - Europe: Flipper + - USA: Power House Pinball, published by Tomy + - Japan: Pinball, published by Tomy + - Europe: Flipper, published by Tomy led translation table: led zz from game PCB = MAME y.x: diff --git a/src/mame/drivers/hh_ucom4.cpp b/src/mame/drivers/hh_ucom4.cpp index 074bf619f55..6f156c0d973 100644 --- a/src/mame/drivers/hh_ucom4.cpp +++ b/src/mame/drivers/hh_ucom4.cpp @@ -3,22 +3,10 @@ // thanks-to:Kevin Horton, Sean Riddle /*************************************************************************** - NEC uCOM4 MCU tabletops/handhelds or other simple devices, - most of them (emulated ones) are VFD electronic games/toys. +NEC uCOM4 MCU tabletops/handhelds or other simple devices, +most of them (emulated ones) are VFD electronic games/toys. - Commonly used VFD(vacuum fluorescent display) are by NEC or Futaba. - - NEC FIP9AM20T (example, Epoch Astro Command) - grcss - - FIP = fluorescent indicator panel - g = number of grids - r = revision of the VFD - c = custom display - s = unique display part number - - - known chips: +known chips: serial device etc. ---------------------------------------------------------------- @@ -62,13 +50,33 @@ (* means undumped unless noted, @ denotes it's in this driver) + +Commonly used VFD(vacuum fluorescent display) are by NEC or Futaba. + +NEC FIP9AM20T (example, Epoch Astro Command) + grcss + +FIP = fluorescent indicator panel +g = number of grids +r = revision of the VFD +c = custom display +s = unique display part number + + +ROM source notes when dumped from another publisher, but confident it's the same game: +- astrocmd: Tandy Astro Command +- caveman: Tandy Caveman +- grobot9: Mego Fabulous Fred + ***************************************************************************/ #include "emu.h" + #include "cpu/ucom4/ucom4.h" #include "video/pwm.h" #include "video/hlcd0515.h" #include "sound/spkrdev.h" + #include "screen.h" #include "speaker.h" @@ -232,7 +240,7 @@ namespace { known releases: - Japan: "Missile Guerilla Warfare Maneuvers", published by Tomy - - World: UFO Master-Blaster Station + - World: UFO Master-Blaster Station, published by Bambino ***************************************************************************/ @@ -929,8 +937,8 @@ ROM_END * cyan/red/green VFD display NEC FIP6AM2-T no. 1-8 2, with partial color overlay and bezel known releases: - - Japan: FL Crazy Climbing - - USA: Crazy Climber + - Japan: FL Crazy Climbing, published by Bandai + - USA: Crazy Climber, published by Bandai ***************************************************************************/ @@ -1306,7 +1314,7 @@ ROM_END * cyan VFD display NEC FIP9AM18T tube no. 0D, with color overlay known releases: - - USA: Invader From Space + - USA: Invader From Space, published by Epoch - UK: Invader From Space, published by Grandstand ***************************************************************************/ @@ -1418,8 +1426,8 @@ ROM_END * cyan VFD display NEC FIP10AM15T tube no. 0F, with bezel overlay known releases: - - USA: Electronic Football (aka Pro-Bowl Football) - - Japan: American Football + - USA: Electronic Football (aka Pro-Bowl Football), published by Epoch + - Japan: American Football, published by Epoch ***************************************************************************/ @@ -1538,8 +1546,8 @@ ROM_END revisions exist, with different graphics: rev B no. 1-8, rev. D no. 2-21. known releases: - - USA: Galaxy II - - Japan: Astro Wars + - USA: Galaxy II, published by Epoch + - Japan: Astro Wars, published by Epoch - UK: Astro Wars, published by Grandstand ***************************************************************************/ @@ -1670,7 +1678,7 @@ ROM_END * cyan/red VFD display NEC FIP9AM20T no. 42-42, with color overlay + bezel known releases: - - Japan: Astro Command + - Japan: Astro Command, published by Epoch - USA: Astro Command, published by Tandy - UK: Scramble, published by Grandstand @@ -1790,8 +1798,8 @@ ROM_END * cyan/red/green VFD display NEC FIP8BM20T no. 2-42 known releases: - - Japan: Dracula House, yellow case - - USA: Dracula, red case + - Japan: Dracula House, yellow case, published by Epoch + - USA: Dracula, red case, published by Epoch - Other: Dracula, yellow case, published by Hales ***************************************************************************/ @@ -2099,7 +2107,7 @@ ROM_END * 9 lamps behind buttons known releases: - - Japan: Game Robot 9 + - Japan: Game Robot 9, published by Takatoku Toys - USA: Fabulous Fred - The Ultimate Electronic Game, published by Mego - Mexico: Fabuloso Fred, published by Ensueño Toys (also released as 12-button version, a clone of Tandy-12) @@ -2222,8 +2230,8 @@ ROM_END * cyan VFD display NEC FIP32AM18Y tube no. 0E, with color overlay known releases: - - USA: Cosmic Combat - - Japan: Space Attack + - USA: Cosmic Combat, published by Tomy + - Japan: Space Attack, published by Tomy ***************************************************************************/ @@ -2501,8 +2509,8 @@ ROM_END * bright yellow round casing known releases: - - Japan: Puck Man - - USA: Pac Man + - Japan: Puck Man, published by Tomy + - USA: Pac Man, published by Tomy - UK: Puckman (Tomy), and also published by Grandstand as Munchman - Australia: Pac Man-1, published by Futuretronics @@ -2619,10 +2627,10 @@ ROM_END * cyan/red/green VFD display NEC FIP10CM20T no. 2-41 known releases: - - World: Scramble + - World: Scramble, published by Tomy - USA: Scramble, published by Tandy - UK: Astro Blaster, published by Hales (Epoch Astro Command was named Scramble) - - Germany: Rambler + - Germany: Rambler, published by Tomy ***************************************************************************/ @@ -2732,7 +2740,7 @@ ROM_END * cyan/red/green VFD display NEC FIP8AM20T no. 2-42 known releases: - - World: Caveman + - World: Caveman, published by Tomy - USA: Caveman, published by Tandy - UK: Cave Man - Jr. Caveman vs Dinosaur, published by Grandstand diff --git a/src/mame/layout/tbaskb.lay b/src/mame/layout/drdunk.lay index a5148fcbdcb..772d391e4cb 100644 --- a/src/mame/layout/tbaskb.lay +++ b/src/mame/layout/drdunk.lay @@ -11,13 +11,26 @@ license:CC0 <element name="static_white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element> <element name="disk_white"><disk><color red="0.8" green="0.8" blue="0.8" /></disk></element> - <element name="text_l1"><text string="HOME" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element> - <element name="text_l2"><text string="VISITOR" align="2"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="text_l1"><text string="HOME" align="1"><color red="0.85" green="0.85" blue="0.85" /></text></element> + <element name="text_l2"><text string="VISITOR" align="2"><color red="0.85" green="0.85" blue="0.85" /></text></element> <element name="led" defstate="0"> - <disk state="0"><color red="0.14" green="0.02" blue="0.03" /></disk> - <disk state="1"><color red="0.5" green="0.1" blue="0.11" /></disk> - <disk state="2"><color red="1.0" green="0.20" blue="0.23" /></disk> + <text string=" "> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.0" green="0.0" blue="0.0" /> + </text> + <disk state="0"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="0.14" green="0.02" blue="0.03" /> + </disk> + <disk state="1"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="0.5" green="0.1" blue="0.11" /> + </disk> + <disk state="2"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="1.0" green="0.20" blue="0.23" /> + </disk> </element> <element name="digit" defstate="0"> @@ -51,7 +64,7 @@ license:CC0 <element ref="disk_white"><bounds x="10" y="19.25" width="5" height="5" /></element> <element ref="disk_black"><bounds x="10.25" y="19.5" width="4.5" height="4.5" /></element> <element ref="static_white"><bounds x="3.3" y="21.65" width="18.4" height="5" /></element> - <element ref="static_black"><bounds x="0" y="21.9" width="25" height="5" /></element> + <element ref="static_black"><bounds x="0" y="21.9" width="25" height="6" /></element> <element ref="static_black"><bounds x="0" y="0" width="25" height="5.25" /></element> <element ref="static_white"><bounds x="9" y="1" width="7" height="0.25" /></element> diff --git a/src/mame/layout/dunksunk.lay b/src/mame/layout/dunksunk.lay new file mode 100644 index 00000000000..ba41d3911ed --- /dev/null +++ b/src/mame/layout/dunksunk.lay @@ -0,0 +1,128 @@ +<?xml version="1.0"?> +<!-- +license:CC0 +--> +<mamelayout version="2"> + +<!-- define elements --> + + <element name="static_black"><rect><color red="0" green="0" blue="0" /></rect></element> + <element name="disk_black"><disk><color red="0" green="0" blue="0" /></disk></element> + <element name="static_white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element> + <element name="disk_white"><disk><color red="0.8" green="0.8" blue="0.8" /></disk></element> + + <element name="text_l1"><text string="Period"><color red="0.8" green="0.8" blue="0.8" /></text></element> + <element name="text_l2"><text string="Game Time"><color red="0.8" green="0.8" blue="0.8" /></text></element> + <element name="text_l3"><text string="Home/Submarine Score"><color red="0.8" green="0.8" blue="0.8" /></text></element> + <element name="text_l4"><text string="Visitor/Destroyer Score"><color red="0.8" green="0.8" blue="0.8" /></text></element> + + <element name="led" defstate="0"> + <text string=" "> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.0" green="0.0" blue="0.0" /> + </text> + <disk state="0"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="0.14" green="0.02" blue="0.03" /> + </disk> + <disk state="1"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="0.5" green="0.1" blue="0.11" /> + </disk> + <disk state="2"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="1.0" green="0.20" blue="0.23" /> + </disk> + </element> + + <element name="digit" defstate="0"> + <led7seg><color red="1.0" green="0.2" blue="0.23" /></led7seg> + </element> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="3.26" right="21.74" top="-4.25" bottom="27.7" /> + + <!-- bezel --> + + <element ref="static_white"><bounds x="3.25" y="5" width="18.5" height="25" /></element> + <element ref="static_black"><bounds x="3.5" y="5.5" width="18" height="25" /></element> + + <element ref="static_white"><bounds x="10" y="5.25" width="5" height="8.25" /></element> + <element ref="static_white"><bounds x="9" y="7.5" width="7" height="0.25" /></element> + <element ref="static_white"><bounds x="9" y="9.25" width="7" height="0.25" /></element> + <element ref="static_white"><bounds x="9" y="11" width="7" height="0.25" /></element> + <element ref="static_black"><bounds x="10.25" y="5.5" width="4.5" height="8.25" /></element> + + <element ref="disk_white"><bounds x="10" y="11" width="5" height="5" /></element> + <element ref="disk_black"><bounds x="10.25" y="11.25" width="4.5" height="4.5" /></element> + <element ref="static_black"><bounds x="10.85" y="10.5" width="0.35" height="3" /></element> + <element ref="static_black"><bounds x="12.25" y="10.5" width="0.5" height="3" /></element> + <element ref="static_black"><bounds x="13.8" y="10.5" width="0.35" height="3" /></element> + <element ref="static_white"><bounds x="10.1" y="13.25" width="4.8" height="0.25" /></element> + + <element ref="disk_white"><bounds x="10" y="25.25" width="5" height="5" /></element> + <element ref="disk_black"><bounds x="10.25" y="25.5" width="4.5" height="4.5" /></element> + <element ref="static_white"><bounds x="3.3" y="27.45" width="18.4" height="5" /></element> + <element ref="static_black"><bounds x="0" y="27.7" width="25" height="6" /></element> + <element ref="static_black"><bounds x="0" y="0" width="25" height="5.25" /></element> + + <element ref="static_white"><bounds x="12.375" y="-4" width="0.25" height="4.25" /></element> + <element ref="static_white"><bounds x="3.25" y="0.5" width="18.5" height="0.25" /></element> + <element ref="disk_white"><bounds x="10.75" y="2" width="3.5" height="2" /></element> + <element ref="disk_black"><bounds x="11" y="2.25" width="3" height="1.5" /></element> + + <element ref="text_l1"><bounds x="3.25" y="-4.1" width="9.25" height="0.9" /></element> + <element ref="text_l2"><bounds x="12.5" y="-4.1" width="9.25" height="0.9" /></element> + <element ref="text_l3"><bounds x="3.25" y="-0.7" width="9.25" height="0.9" /></element> + <element ref="text_l4"><bounds x="12.5" y="-0.7" width="9.25" height="0.9" /></element> + + <!-- leds --> + + <element name="digit5" ref="digit"><bounds x="6.375" y="-3" width="1.5" height="2.25" /></element> + <element name="digit6" ref="digit"><bounds x="7.875" y="-3" width="1.5" height="2.25" /></element> + <element name="digit7" ref="digit"><bounds x="15.625" y="-3" width="1.5" height="2.25" /></element> + <element name="digit8" ref="digit"><bounds x="17.125" y="-3" width="1.5" height="2.25" /></element> + + <element name="2.3" ref="led"><bounds x="12" y="2.5" width="1" height="1" /></element> + + <element name="0.6" ref="led"><bounds x="4" y="6" width="1" height="1" /></element> + <element name="1.6" ref="led"><bounds x="8" y="6" width="1" height="1" /></element> + <element name="2.6" ref="led"><bounds x="12" y="6" width="1" height="1" /></element> + <element name="3.6" ref="led"><bounds x="16" y="6" width="1" height="1" /></element> + <element name="4.6" ref="led"><bounds x="20" y="6" width="1" height="1" /></element> + + <element name="0.2" ref="led"><bounds x="4" y="10" width="1" height="1" /></element> + <element name="1.2" ref="led"><bounds x="8" y="10" width="1" height="1" /></element> + <element name="2.2" ref="led"><bounds x="12" y="10" width="1" height="1" /></element> + <element name="3.2" ref="led"><bounds x="16" y="10" width="1" height="1" /></element> + <element name="4.2" ref="led"><bounds x="20" y="10" width="1" height="1" /></element> + + <element name="0.5" ref="led"><bounds x="4" y="14" width="1" height="1" /></element> + <element name="1.5" ref="led"><bounds x="8" y="14" width="1" height="1" /></element> + <element name="2.5" ref="led"><bounds x="12" y="14" width="1" height="1" /></element> + <element name="3.5" ref="led"><bounds x="16" y="14" width="1" height="1" /></element> + <element name="4.5" ref="led"><bounds x="20" y="14" width="1" height="1" /></element> + + <element name="0.1" ref="led"><bounds x="4" y="18" width="1" height="1" /></element> + <element name="1.1" ref="led"><bounds x="8" y="18" width="1" height="1" /></element> + <element name="2.1" ref="led"><bounds x="12" y="18" width="1" height="1" /></element> + <element name="3.1" ref="led"><bounds x="16" y="18" width="1" height="1" /></element> + <element name="4.1" ref="led"><bounds x="20" y="18" width="1" height="1" /></element> + + <element name="0.4" ref="led"><bounds x="4" y="22" width="1" height="1" /></element> + <element name="1.4" ref="led"><bounds x="8" y="22" width="1" height="1" /></element> + <element name="2.4" ref="led"><bounds x="12" y="22" width="1" height="1" /></element> + <element name="3.4" ref="led"><bounds x="16" y="22" width="1" height="1" /></element> + <element name="4.4" ref="led"><bounds x="20" y="22" width="1" height="1" /></element> + + <element name="0.0" ref="led"><bounds x="4" y="26" width="1" height="1" /></element> + <element name="1.0" ref="led"><bounds x="8" y="26" width="1" height="1" /></element> + <element name="2.0" ref="led"><bounds x="12" y="26" width="1" height="1" /></element> + <element name="3.0" ref="led"><bounds x="16" y="26" width="1" height="1" /></element> + <element name="4.0" ref="led"><bounds x="20" y="26" width="1" height="1" /></element> + + </view> +</mamelayout> diff --git a/src/mame/layout/hccbaskb.lay b/src/mame/layout/hccbaskb.lay index f30dc7fd309..6fde4d92a1a 100644 --- a/src/mame/layout/hccbaskb.lay +++ b/src/mame/layout/hccbaskb.lay @@ -11,14 +11,27 @@ license:CC0 <element name="static_white"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element> <element name="disk_white"><disk><color red="0.8" green="0.8" blue="0.8" /></disk></element> - <element name="text_l1"><text string="VISITOR" align="1"><color red="0.9" green="0.9" blue="0.9" /></text></element> - <element name="text_l2"><text string="SCORE"><color red="0.9" green="0.9" blue="0.9" /></text></element> - <element name="text_l3"><text string="HOME" align="2"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="text_l1"><text string="VISITOR" align="1"><color red="0.85" green="0.85" blue="0.85" /></text></element> + <element name="text_l2"><text string="SCORE"><color red="0.85" green="0.85" blue="0.85" /></text></element> + <element name="text_l3"><text string="HOME" align="2"><color red="0.85" green="0.85" blue="0.85" /></text></element> <element name="led" defstate="0"> - <disk state="0"><color red="0.14" green="0.02" blue="0.03" /></disk> - <disk state="1"><color red="0.5" green="0.1" blue="0.11" /></disk> - <disk state="2"><color red="1.0" green="0.20" blue="0.23" /></disk> + <text string=" "> + <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> + <color red="0.0" green="0.0" blue="0.0" /> + </text> + <disk state="0"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="0.14" green="0.02" blue="0.03" /> + </disk> + <disk state="1"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="0.5" green="0.1" blue="0.11" /> + </disk> + <disk state="2"> + <bounds x="0.25" y="0.25" width="0.5" height="0.5" /> + <color red="1.0" green="0.20" blue="0.23" /> + </disk> </element> <element name="digit" defstate="0"> @@ -56,7 +69,7 @@ license:CC0 <element ref="disk_white"><bounds x="10" y="23" width="5" height="5" /></element> <element ref="disk_black"><bounds x="10.25" y="23.25" width="4.5" height="4.5" /></element> <element ref="static_white"><bounds x="3.3" y="25.5" width="18.4" height="5" /></element> - <element ref="static_black"><bounds x="0" y="25.75" width="25" height="5" /></element> + <element ref="static_black"><bounds x="0" y="25.75" width="25" height="6" /></element> <element ref="static_black"><bounds x="0" y="0" width="25" height="5.25" /></element> <element ref="text_l1"><bounds x="4" y="3.75" width="10" height="1" /></element> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 911561e3935..9d7cb74684a 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -16160,6 +16160,7 @@ cfrogger // Coleco gjungler // Gakken @source:hh_pic16.cpp +drdunk // Kmart flash // Ideal hccbaskb // Tiger Electronics leboom // Lakeside @@ -16168,7 +16169,6 @@ melodym // GAF matchme // Kingsford pabball // Caprice rockpin // Tiger Electronics -tbaskb // Tandy Corporation touchme // Atari ttfball // Toytronic ttfballa // Toytronic @@ -16176,6 +16176,7 @@ us2pfball // US Games uspbball // US Games @source:hh_pps41.cpp +dunksunk // Kmart ftri1 // Fonas mastmind // Invicta memoquiz // MEM |