New working machines

--------------------
[hap, Kevin Horton]
This commit is contained in:
hap 2020-04-16 11:44:28 +02:00
parent 4d679b4b58
commit 64e10c17a7
5 changed files with 235 additions and 16 deletions

View File

@ -60,16 +60,26 @@
@A88 HD38820 1984, Bandai Pair Match (PT-460) (1/2)
@A89 HD38820 1984, Bandai Pair Match (PT-460) (2/2)
*A34 HD44801 1981, Scisys Graduate Chess / Chesspartner 3000/4000
*A50 HD44801 1981, CXG Sensor Computachess
A75 HD44801 1982, Alpha 8201 protection MCU -> machine/alpha8201.*
*A85 HD44801 1982, Scisys Travel Sensor / Travel Mate / Chesspartner 5000/6000
B35 HD44801 1983, Alpha 8302 protection MCU (see 8201)
B42 HD44801 1983, Alpha 8303 protection MCU (see 8201)
*B43 HD44801 1983, Alpha 8304 protection MCU (see 8201)
C57 HD44801 1985, Alpha 8505 protection MCU (see 8201)
*C89 HD44801 1985, CXG Portachess II / Computachess IV
*A86 HD44820 1983, Chess King Pocket Micro
*A13 HD44840 1982, CXG Computachess II
*A14 HD44840 1982, CXG Advanced Portachess
*A04 HD44868 1984, SciSys Rapier
*A07 HD44868 1984, Chess King Pocket Micro Deluxe
*A12 HD44868 1985, SciSys MK 10 / Pocket Chess
*A14 HD44868 1985, SciSys Kasparov Plus
(* means undumped unless noted, @ denotes it's in this driver)

View File

@ -20,6 +20,7 @@
@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
@078 1655A 1980, Radio Shack Sound Effects Chassis
*081 1655A 1981, Ramtex Space Invaders/Block Buster
@094 1655A 1980, GAF Melody Madness
@110 1650A 1979, Tiger/Tandy Rocket Pinball
@ -43,6 +44,7 @@
- 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.
- is sfxchas an import of an existing toy meant for US-market? if so, which?
- uspbball and pabball internal artwork
***************************************************************************/
@ -61,6 +63,7 @@
#include "melodym.lh" // clickable
#include "matchme.lh" // clickable
#include "rockpin.lh"
#include "sfxchas.lh" // clickable
#include "tbaskb.lh"
#include "touchme.lh" // clickable
#include "ttfball.lh"
@ -1075,6 +1078,160 @@ ROM_END
/***************************************************************************
Tandy(Radio Shack division) Sound Effects Chassis
* PCB label 25-600321, REV C, TCI-A3H / 94HB
* PIC 1655A-078
* 2 7seg LEDs + 8 other LEDs, 1-bit sound with volume decay
This could be purchased as a bare PCB from Radio Shack under the Archer
brand, catalog number 277-1013. It was named "Sound Effects Chassis" but
clearly it's nothing like that. More likely, it's a canceled tabletop game,
either custom made for Tandy, or an (as of yet) unknown import.
The bottom-left button selects game type and the bottom-right button selects
number of players. Press the bottom button(IPT_BUTTON5) to start. In games
4 and 5 it's easy to lock up the program by pressing the buttons repeatedly
and causing a score overflow.
The instruction leaflet says to attach a speaker and a 9V power source.
It actually takes 5V, 9V would break it. The only thing it has to say about
the game itself is "Your module will produce blinking lights and several
different sounds."
***************************************************************************/
class sfxchas_state : public hh_pic16_state
{
public:
sfxchas_state(const machine_config &mconfig, device_type type, const char *tag) :
hh_pic16_state(mconfig, type, tag)
{ }
void update_display();
DECLARE_WRITE8_MEMBER(write_b);
DECLARE_READ8_MEMBER(read_c);
DECLARE_WRITE8_MEMBER(write_c);
void speaker_decay_reset();
TIMER_DEVICE_CALLBACK_MEMBER(speaker_decay_sim);
double m_speaker_volume;
void sfxchas(machine_config &config);
protected:
virtual void machine_start() override;
};
void sfxchas_state::machine_start()
{
hh_pic16_state::machine_start();
// zerofill/init
m_speaker_volume = 0;
save_item(NAME(m_speaker_volume));
}
// handlers
void sfxchas_state::speaker_decay_reset()
{
if (~m_b & 0x40)
m_speaker_volume = 20.0;
// it takes a bit before it actually starts fading
double vol = (m_speaker_volume > 1.0) ? 1.0 : m_speaker_volume;
m_speaker->set_output_gain(0, vol);
}
TIMER_DEVICE_CALLBACK_MEMBER(sfxchas_state::speaker_decay_sim)
{
// volume decays when speaker is off (divisor and timer period determine duration)
speaker_decay_reset();
m_speaker_volume /= 1.15;
}
void sfxchas_state::update_display()
{
m_display->matrix(~m_b >> 4 & 3, (~m_c >> 1 & 0x7f) | (~m_b << 7 & 0x780));
}
WRITE8_MEMBER(sfxchas_state::write_b)
{
// B0-B3: led data
// B4,B5: led select
m_b = data;
update_display();
// B6: speaker on
// B7: speaker out
speaker_decay_reset();
m_speaker->level_w(data >> 7 & 1);
}
READ8_MEMBER(sfxchas_state::read_c)
{
// C1-C7: buttons
return (m_c & 1) ? 0xff : m_inputs[1]->read();
}
WRITE8_MEMBER(sfxchas_state::write_c)
{
// C0: enable buttons
// C1-C7: digit segments
m_c = data;
update_display();
}
// config
static INPUT_PORTS_START( sfxchas )
PORT_START("IN.0") // port A
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // top button, increment clockwise
PORT_BIT( 0x0e, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START("IN.1") // port C
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 )
INPUT_PORTS_END
void sfxchas_state::sfxchas(machine_config &config)
{
/* basic machine hardware */
PIC1655(config, m_maincpu, 1050000); // approximation
m_maincpu->read_a().set_ioport("IN.0");
m_maincpu->write_b().set(FUNC(sfxchas_state::write_b));
m_maincpu->read_c().set(FUNC(sfxchas_state::read_c));
m_maincpu->write_c().set(FUNC(sfxchas_state::write_c));
/* video hardware */
PWM_DISPLAY(config, m_display).set_size(2, 7+4);
m_display->set_segmask(3, 0x7f);
config.set_default_layout(layout_sfxchas);
/* sound hardware */
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
TIMER(config, "speaker_decay").configure_periodic(FUNC(sfxchas_state::speaker_decay_sim), attotime::from_msec(25));
}
// roms
ROM_START( sfxchas )
ROM_REGION( 0x0400, "maincpu", 0 )
ROM_LOAD( "pic_1655a-078", 0x0000, 0x0400, CRC(bf780733) SHA1(57ac4620d87492280ab8cf69c148f98e38ecedc4) )
ROM_END
/***************************************************************************
Tiger Electronics Rocket Pinball (model 7-460)
@ -1760,7 +1917,8 @@ CONS( 1980, matchme, 0, 0, matchme, matchme, matchme_state, empty_
CONS( 1980, leboom, 0, 0, leboom, leboom, leboom_state, empty_init, "Lakeside", "Le Boom", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1979, tbaskb, 0, 0, tbaskb, tbaskb, tbaskb_state, empty_init, "Tandy Radio Shack", "Electronic Basketball (Tandy)", MACHINE_SUPPORTS_SAVE )
CONS( 1979, tbaskb, 0, 0, tbaskb, tbaskb, tbaskb_state, empty_init, "Tandy Corporation", "Electronic Basketball (Tandy)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, sfxchas, 0, 0, sfxchas, sfxchas, sfxchas_state, empty_init, "Tandy Corporation", "Sound Effects Chassis", 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 )

View File

@ -31,7 +31,7 @@
@MP0168 TMS1000 1979, Conic Multisport/Tandy Sports Arena (model 60-2158)
@MP0170 TMS1000 1979, Conic Football
*MP0230 TMS1000 1980, Entex Blast It (6015)
@MP0271 TMS1000 1982, Tandy Radio Shack Monkey See
@MP0271 TMS1000 1982, Radio Shack Monkey See
@MP0907 TMS1000 1979, Conic Basketball (101-006)
@MP0908 TMS1000 1979, Conic Electronic I.Q.
*MP0910 TMS1000 1979, Conic Basketball (101-003)
@ -57,7 +57,7 @@
@MP1221 TMS1100 1980, Entex Raise The Devil (6011)
*MP1231 TMS1100 1983, Tandy 3-in-1 Sports Arena (model 60-2178)
*MP1296 TMS1100? 1982, Entex Black Knight
@MP1312 TMS1100 1983, Gakken FX-Micom R-165/Tandy Radio Shack Science Fair Microcomputer Trainer
@MP1312 TMS1100 1983, Gakken FX-Micom R-165/Radio Shack Science Fair Microcomputer Trainer
*MP1359 TMS1100? 1985, Capsela CRC2000
@MP1525 TMS1170 1980, Coleco Head to Head: Electronic Baseball
@MP1604 TMS1370 1982, Gakken Invader 2000/Tandy Cosmic Fire Away 3000
@ -131,7 +131,7 @@
inconsistent:
@TMS1007 TMS1000 1976, TSI Speech+ (S14002-A)
@CD7282SL TMS1100 1981, Tandy Radio Shack Tandy-12 (serial is similar to TI Speak & Spell series?)
@CD7282SL TMS1100 1981, Tandy-12 (serial is similar to TI Speak & Spell series?)
(* means undumped unless noted, @ denotes it's in this driver)
@ -2882,7 +2882,7 @@ ROM_END
known releases:
- Hong Kong: Electronic Football II, Conic
- USA: Electronic Football II, Tandy Radio Shack
- USA: Electronic Football II, Tandy
***************************************************************************/
@ -5497,14 +5497,14 @@ ROM_END
* 1 7seg led, 6 other leds, 1-bit sound
This is a simple educational home computer. Refer to the extensive manual
for more information. It was published later in the USA by Tandy Radio Shack,
for more information. It was published later in the USA by Tandy(Radio Shack),
under their Science Fair series. Another 25 years later, Gakken re-released
the R-165 as GMC-4, obviously on modern hardware, but fully compatible.
known releases:
- Japan: FX-Micom R-165
- USA: Science Fair Microcomputer Trainer, published by Tandy Radio Shack.
Of note is the complete redesign of the case, adding more adjustable wiring
- USA: Science Fair Microcomputer Trainer, published by Tandy. Of note is
the complete redesign of the case, adding more adjustable wiring
***************************************************************************/
@ -8875,7 +8875,7 @@ ROM_END
/***************************************************************************
Tandy Radio Shack Championship Football (model 60-2150)
Tandy Championship Football (model 60-2150)
* PCB label CYG-316
* TMS1100NLL MP1193 (die label 1100B, MP1193)
* 7-digit 7seg LED display + LED grid, 1-bit sound
@ -8998,7 +8998,7 @@ ROM_END
/***************************************************************************
Tandy Radio Shack Championship Football (model 60-2151)
Tandy Championship Football (model 60-2151)
* TMS1100NLL MP1183 (no decap)
* 7-digit 7seg LED display + LED grid, 1-bit sound
@ -9064,7 +9064,7 @@ ROM_END
/***************************************************************************
Tandy Radio Shack Computerized Arcade (1981, 1982, 1995)
Tandy Computerized Arcade (1981, 1982, 1995)
* TMS1100 MCU, label CD7282SL
* 12 lamps behind buttons, 1-bit sound
@ -9241,7 +9241,7 @@ ROM_END
/***************************************************************************
(Tandy) Radio Shack Monkey See (1982 version)
Tandy(Radio Shack division) Monkey See (1982 version)
* TMS1000 MP0271 (die label 1000E, MP0271), only half of ROM space used
* 2 LEDs(one red, one green), 1-bit sound
@ -12479,10 +12479,10 @@ CONS( 1982, lostreas, 0, 0, lostreas, lostreas, lostreas_state, emp
CONS( 1978, alphie, 0, 0, alphie, alphie, alphie_state, empty_init, "Playskool", "Alphie - The Electronic Robot (patent)", MACHINE_SUPPORTS_SAVE ) // ***
CONS( 1980, tcfball, 0, 0, tcfball, tcfball, tcfball_state, empty_init, "Tandy Radio Shack", "Championship Football (model 60-2150)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, tcfballa, tcfball, 0, tcfballa, tcfballa, tcfballa_state, empty_init, "Tandy Radio Shack", "Championship Football (model 60-2151)", MACHINE_SUPPORTS_SAVE )
CONS( 1981, tandy12, 0, 0, tandy12, tandy12, tandy12_state, empty_init, "Tandy Radio Shack", "Tandy-12: Computerized Arcade", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the minigames: ***
CONS( 1982, monkeysee, 0, 0, monkeysee, monkeysee, monkeysee_state, empty_init, "Tandy Radio Shack", "Monkey See (1982 version)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, tcfball, 0, 0, tcfball, tcfball, tcfball_state, empty_init, "Tandy Corporation", "Championship Football (model 60-2150)", MACHINE_SUPPORTS_SAVE )
CONS( 1980, tcfballa, tcfball, 0, tcfballa, tcfballa, tcfballa_state, empty_init, "Tandy Corporation", "Championship Football (model 60-2151)", MACHINE_SUPPORTS_SAVE )
CONS( 1981, tandy12, 0, 0, tandy12, tandy12, tandy12_state, empty_init, "Tandy Corporation", "Tandy-12: Computerized Arcade", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // some of the minigames: ***
CONS( 1982, monkeysee, 0, 0, monkeysee, monkeysee, monkeysee_state, empty_init, "Tandy Corporation", "Monkey See (1982 version)", MACHINE_SUPPORTS_SAVE )
COMP( 1976, speechp, 0, 0, speechp, speechp, speechp_state, empty_init, "Telesensory Systems, Inc.", "Speech+", MACHINE_SUPPORTS_SAVE )

View File

@ -0,0 +1,50 @@
<?xml version="1.0"?>
<!--
license:CC0
-->
<mamelayout version="2">
<!-- define elements -->
<element name="digit" defstate="0">
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
</element>
<element name="led" defstate="0">
<disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
</element>
<element name="but" defstate="0">
<disk state="0"><color red="0.09" green="0.09" blue="0.1" /></disk>
<disk state="1"><color red="0.18" green="0.18" blue="0.2" /></disk>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="28" right="84" top="26.5" bottom="82.5" />
<element name="digit1" ref="digit"><bounds x="50" y="50" width="6" height="9" /></element>
<element name="digit0" ref="digit"><bounds x="56" y="50" width="6" height="9" /></element>
<element name="0.7" ref="led"><bounds x="55" y="31.5" width="2" height="2" /></element>
<element name="0.8" ref="led"><bounds x="71" y="37.5" width="2" height="2" /></element>
<element name="0.9" ref="led"><bounds x="77" y="53.5" width="2" height="2" /></element>
<element name="0.10" ref="led"><bounds x="71" y="69.5" width="2" height="2" /></element>
<element name="1.7" ref="led"><bounds x="55" y="75.5" width="2" height="2" /></element>
<element name="1.8" ref="led"><bounds x="39" y="69.5" width="2" height="2" /></element>
<element name="1.9" ref="led"><bounds x="33" y="53.5" width="2" height="2" /></element>
<element name="1.10" ref="led"><bounds x="39" y="37.5" width="2" height="2" /></element>
<element ref="but" blend="add" inputtag="IN.0" inputmask="0x01"><bounds x="52" y="28.5" width="8" height="8" /></element>
<element ref="but" blend="add" inputtag="IN.1" inputmask="0x02"><bounds x="68" y="34.5" width="8" height="8" /></element>
<element ref="but" blend="add" inputtag="IN.1" inputmask="0x04"><bounds x="74" y="50.5" width="8" height="8" /></element>
<element ref="but" blend="add" inputtag="IN.1" inputmask="0x08"><bounds x="68" y="66.5" width="8" height="8" /></element>
<element ref="but" blend="add" inputtag="IN.1" inputmask="0x10"><bounds x="52" y="72.5" width="8" height="8" /></element>
<element ref="but" blend="add" inputtag="IN.1" inputmask="0x20"><bounds x="36" y="66.5" width="8" height="8" /></element>
<element ref="but" blend="add" inputtag="IN.1" inputmask="0x40"><bounds x="30" y="50.5" width="8" height="8" /></element>
<element ref="but" blend="add" inputtag="IN.1" inputmask="0x80"><bounds x="36" y="34.5" width="8" height="8" /></element>
</view>
</mamelayout>

View File

@ -15759,6 +15759,7 @@ melodym // GAF
matchme // Kingsford
pabball // Caprice
rockpin // Tiger Electronics
sfxchas // Tandy Radio Shack
tbaskb // Tandy Radio Shack
touchme // Atari
ttfball // Toytronic