mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
New working machines
-------------------- Sub Wars (LED version) [hap, Sean Riddle, Rik]
This commit is contained in:
parent
f0443b5e50
commit
b5d04b866c
@ -6956,7 +6956,7 @@ ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger Home Alone (model 78-???)
|
||||
Tiger Home Alone (model 78-502)
|
||||
* Sharp SM510 under epoxy (die label MC7)
|
||||
* lcd screen with custom segments, 1-bit sound
|
||||
|
||||
|
@ -79,7 +79,7 @@
|
||||
@MP3301A TMS1000 1979, Milton Bradley Big Trak
|
||||
@MP3320A TMS1000 1979, Coleco Head to Head: Electronic Basketball
|
||||
@MP3321A TMS1000 1979, Coleco Head to Head: Electronic Hockey
|
||||
*MP3352 TMS1200 1979, Tiger Sub Wars (model 7-490)
|
||||
@MP3352 TMS1200 1979, Tiger Sub Wars (model 7-490)
|
||||
@M32001 TMS1000 1981, Coleco Quiz Wiz Challenger (note: MP3398, MP3399, M3200x?)
|
||||
*M32018 TMS1000 1990, unknown device (have decap/dump)
|
||||
M32045B TMS1000 1983, Chrysler Electronic Voice Alert (11-function) -> eva.cpp
|
||||
@ -240,6 +240,7 @@
|
||||
#include "ssports4.lh"
|
||||
#include "starwbc.lh" // clickable
|
||||
#include "stopthief.lh" // clickable
|
||||
#include "subwars.lh"
|
||||
#include "tandy12.lh" // clickable
|
||||
#include "tbreakup.lh"
|
||||
#include "tc4.lh"
|
||||
@ -11504,6 +11505,100 @@ ROM_END
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger Sub Wars (model 7-490)
|
||||
* PCB label CSG201A(main), CSG201B(leds)
|
||||
* TMS1200N2LL MP3352 (die label 1000C, MP3352)
|
||||
* 4-digit 7seg LED display + 55 other LEDs, 1-bit sound
|
||||
|
||||
Tiger/Yeno also published an LCD handheld called Sub Wars, it's not related.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
class subwars_state : public hh_tms1k_state
|
||||
{
|
||||
public:
|
||||
subwars_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
hh_tms1k_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void update_display();
|
||||
void write_r(u16 data);
|
||||
void write_o(u16 data);
|
||||
void subwars(machine_config &config);
|
||||
};
|
||||
|
||||
// handlers
|
||||
|
||||
void subwars_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_r, m_o);
|
||||
}
|
||||
|
||||
void subwars_state::write_r(u16 data)
|
||||
{
|
||||
// R0-R3: digit select
|
||||
// R4-R12: led select
|
||||
m_r = data;
|
||||
update_display();
|
||||
}
|
||||
|
||||
void subwars_state::write_o(u16 data)
|
||||
{
|
||||
// O0-O6: led data
|
||||
m_o = data;
|
||||
update_display();
|
||||
|
||||
// O7: speaker out
|
||||
m_speaker->level_w(BIT(data, 7));
|
||||
}
|
||||
|
||||
// config
|
||||
|
||||
static INPUT_PORTS_START( subwars )
|
||||
PORT_START("IN.0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY
|
||||
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
void subwars_state::subwars(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
TMS1200(config, m_maincpu, 550000); // approximation - RC osc. R=24K, C=47pF
|
||||
m_maincpu->k().set_ioport("IN.0");
|
||||
m_maincpu->r().set(FUNC(subwars_state::write_r));
|
||||
m_maincpu->o().set(FUNC(subwars_state::write_o));
|
||||
|
||||
/* video hardware */
|
||||
PWM_DISPLAY(config, m_display).set_size(13, 7);
|
||||
m_display->set_segmask(0xf, 0x7f);
|
||||
config.set_default_layout(layout_subwars);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
SPEAKER_SOUND(config, m_speaker);
|
||||
m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
}
|
||||
|
||||
// roms
|
||||
|
||||
ROM_START( subwars )
|
||||
ROM_REGION( 0x0400, "maincpu", 0 )
|
||||
ROM_LOAD( "mp3352", 0x0000, 0x0400, CRC(5dece1e4) SHA1(65ef77b063c94ff4b6c83dace54ea2f75bd3d6a9) )
|
||||
|
||||
ROM_REGION( 867, "maincpu:mpla", 0 )
|
||||
ROM_LOAD( "tms1000_common1_micro.pla", 0, 867, CRC(4becec19) SHA1(3c8a9be0f00c88c81f378b76886c39b10304f330) )
|
||||
ROM_REGION( 365, "maincpu:opla", 0 )
|
||||
ROM_LOAD( "tms1000_subwars_output.pla", 0, 365, CRC(372b9bbc) SHA1(06a875e114b7757c6f4f1727416d1739ebe60931) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger Electronics Copy Cat (model 7-520)
|
||||
@ -11799,7 +11894,7 @@ ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Tiger 7 in 1 Sports Stadium
|
||||
Tiger 7 in 1 Sports Stadium (model 7-555)
|
||||
* TMS1400 MP7304 (die label TMS1400 MP7304A)
|
||||
* 2x2-digit 7seg LED display + 39 other LEDs, 1-bit sound
|
||||
|
||||
@ -12697,6 +12792,7 @@ COMP( 1980, mathmarv, 0, 0, mathmarv, mathmarv, mathmarv_state, emp
|
||||
CONS( 1979, timaze, 0, 0, timaze, timaze, timaze_state, empty_init, "Texas Instruments", "unknown electronic maze game (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
|
||||
CONS( 1979, tithermos, 0, 0, tithermos, tithermos, tithermos_state, empty_init, "Texas Instruments", "Electronic Digital Thermostat", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 1979, subwars, 0, 0, subwars, subwars, subwars_state, empty_init, "Tiger Electronics", "Sub Wars (LED version)", MACHINE_SUPPORTS_SAVE )
|
||||
CONS( 1979, copycat, 0, 0, copycat, copycat, copycat_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-520)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1989, copycatm2, copycat, 0, copycatm2, copycatm2, copycatm2_state, empty_init, "Tiger Electronics", "Copy Cat (model 7-522)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1981, ditto, 0, 0, ditto, ditto, ditto_state, empty_init, "Tiger Electronics", "Ditto", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
182
src/mame/layout/subwars.lay
Normal file
182
src/mame/layout/subwars.lay
Normal file
@ -0,0 +1,182 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="gray"><rect><color red="0.3" green="0.3" blue="0.31" /></rect></element>
|
||||
<element name="white"><rect><color red="0.78" green="0.78" blue="0.8" /></rect></element>
|
||||
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
|
||||
<element name="blackd"><disk><color red="0" green="0" blue="0" /></disk></element>
|
||||
|
||||
<element name="text_l1">
|
||||
<rect><color red="0.3" green="0.3" blue="0.31" /></rect>
|
||||
<text string="RELOAD"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_l2">
|
||||
<rect><color red="0.3" green="0.3" blue="0.31" /></rect>
|
||||
<text string="TIME"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_l3">
|
||||
<rect><color red="0.3" green="0.3" blue="0.31" /></rect>
|
||||
<text string="SCORE"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_w0"><text string="3000"><color red="0.78" green="0.78" blue="0.8" /></text></element>
|
||||
<element name="text_w1"><text string="2000"><color red="0.78" green="0.78" blue="0.8" /></text></element>
|
||||
<element name="text_w2"><text string="1000"><color red="0.78" green="0.78" blue="0.8" /></text></element>
|
||||
|
||||
<element name="ledd" 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="ledr" defstate="0">
|
||||
<rect state="0"><color red="0.1" green="0.01" blue="0.015" /></rect>
|
||||
<rect state="1"><color red="1.0" green="0.1" blue="0.15" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="23.5" right="139.9" top="18.5" bottom="133.3" />
|
||||
|
||||
<!-- bezel -->
|
||||
|
||||
<element ref="gray"><bounds x="23.4" y="46.4" width="116.6" height="0.6" /></element>
|
||||
<element ref="gray"><bounds x="23.4" y="62.4" width="116.6" height="0.6" /></element>
|
||||
<element ref="gray"><bounds x="23.4" y="78.4" width="116.6" height="0.6" /></element>
|
||||
<element ref="gray"><bounds x="23.4" y="94.4" width="116.6" height="0.6" /></element>
|
||||
<element ref="gray"><bounds x="23.4" y="105.4" width="116.6" height="0.6" /></element>
|
||||
<element ref="gray"><bounds x="23.4" y="116.4" width="116.6" height="0.6" /></element>
|
||||
|
||||
<repeat count="7">
|
||||
<param name="x" start="27.4" increment="18" />
|
||||
<element ref="gray"><bounds x="~x~" y="30" width="0.6" height="100" /></element>
|
||||
</repeat>
|
||||
|
||||
<repeat count="10">
|
||||
<param name="x" start="27.4" increment="12" />
|
||||
<element ref="white"><bounds x="~x~" y="76.7" width="0.6" height="4" /></element>
|
||||
</repeat>
|
||||
<repeat count="4">
|
||||
<param name="x" start="33.4" increment="12" />
|
||||
<element ref="white"><bounds x="~x~" y="77.7" width="0.6" height="2" /></element>
|
||||
</repeat>
|
||||
<repeat count="4">
|
||||
<param name="x" start="93.4" increment="12" />
|
||||
<element ref="white"><bounds x="~x~" y="77.7" width="0.6" height="2" /></element>
|
||||
</repeat>
|
||||
|
||||
<repeat count="8">
|
||||
<param name="y" start="36.4" increment="12" />
|
||||
<element ref="white"><bounds x="79.7" y="~y~" width="4" height="0.6" /></element>
|
||||
</repeat>
|
||||
<repeat count="3">
|
||||
<param name="y" start="42.4" increment="12" />
|
||||
<element ref="white"><bounds x="80.7" y="~y~" width="2" height="0.6" /></element>
|
||||
</repeat>
|
||||
<repeat count="3">
|
||||
<param name="y" start="90.4" increment="12" />
|
||||
<element ref="white"><bounds x="80.7" y="~y~" width="2" height="0.6" /></element>
|
||||
</repeat>
|
||||
<repeat count="3">
|
||||
<param name="y" start="44" increment="12" />
|
||||
<param name="t" start="0" increment="1" />
|
||||
<element ref="text_w~t~"><bounds x="75.7" y="~y~" width="12" height="3.4" /></element>
|
||||
</repeat>
|
||||
|
||||
<element ref="gray"><bounds x="23.4" y="120" width="116.6" height="13.4" /></element>
|
||||
|
||||
<repeat count="6">
|
||||
<param name="x" start="32.2" increment="18" />
|
||||
<element ref="blackd"><bounds x="~x~" y="122.2" width="9" height="9" /></element>
|
||||
</repeat>
|
||||
|
||||
<element ref="gray"><bounds x="23.4" y="18.4" width="116.6" height="25" /></element>
|
||||
<element ref="text_l1"><bounds x="35.4" y="37.8" width="20" height="5" /></element>
|
||||
<element ref="text_l2"><bounds x="57" y="37.8" width="17" height="5" /></element>
|
||||
<element ref="text_l3"><bounds x="90" y="37.8" width="20" height="5" /></element>
|
||||
<element ref="blackd"><bounds x="37.2" y="25.2" width="9" height="9" /></element>
|
||||
<element ref="black"><bounds x="50" y="22.7" width="70" height="14" /></element>
|
||||
|
||||
<!-- leds -->
|
||||
|
||||
<element name="digit3" ref="digit"><bounds x="62" y="25.7" width="6" height="8" /></element>
|
||||
<element name="digit2" ref="digit"><bounds x="80" y="25.7" width="6" height="8" /></element>
|
||||
<element name="digit1" ref="digit"><bounds x="90" y="25.7" width="6" height="8" /></element>
|
||||
<element name="digit0" ref="digit"><bounds x="100" y="25.7" width="6" height="8" /></element>
|
||||
|
||||
<element name="4.6" ref="ledd"><bounds x="41" y="29" width="1.4" height="1.4" /></element>
|
||||
|
||||
<element name="10.0" ref="ledr"><bounds x="35.3" y="48.2" width="2.8" height="1" /></element>
|
||||
<element name="10.1" ref="ledr"><bounds x="53.3" y="48.2" width="2.8" height="1" /></element>
|
||||
<element name="10.2" ref="ledr"><bounds x="71.3" y="48.2" width="2.8" height="1" /></element>
|
||||
<element name="10.3" ref="ledr"><bounds x="89.3" y="48.2" width="2.8" height="1" /></element>
|
||||
<element name="10.4" ref="ledr"><bounds x="107.3" y="48.2" width="2.8" height="1" /></element>
|
||||
<element name="10.5" ref="ledr"><bounds x="125.3" y="48.2" width="2.8" height="1" /></element>
|
||||
|
||||
<element name="9.0" ref="ledd"><bounds x="36" y="56" width="1.4" height="1.4" /></element>
|
||||
<element name="9.1" ref="ledd"><bounds x="54" y="56" width="1.4" height="1.4" /></element>
|
||||
<element name="9.2" ref="ledd"><bounds x="72" y="56" width="1.4" height="1.4" /></element>
|
||||
<element name="9.3" ref="ledd"><bounds x="90" y="56" width="1.4" height="1.4" /></element>
|
||||
<element name="9.4" ref="ledd"><bounds x="108" y="56" width="1.4" height="1.4" /></element>
|
||||
<element name="9.5" ref="ledd"><bounds x="126" y="56" width="1.4" height="1.4" /></element>
|
||||
|
||||
<element name="11.0" ref="ledr"><bounds x="35.3" y="64.2" width="2.8" height="1" /></element>
|
||||
<element name="11.1" ref="ledr"><bounds x="53.3" y="64.2" width="2.8" height="1" /></element>
|
||||
<element name="11.2" ref="ledr"><bounds x="71.3" y="64.2" width="2.8" height="1" /></element>
|
||||
<element name="11.3" ref="ledr"><bounds x="89.3" y="64.2" width="2.8" height="1" /></element>
|
||||
<element name="11.4" ref="ledr"><bounds x="107.3" y="64.2" width="2.8" height="1" /></element>
|
||||
<element name="11.5" ref="ledr"><bounds x="125.3" y="64.2" width="2.8" height="1" /></element>
|
||||
|
||||
<element name="8.0" ref="ledd"><bounds x="36" y="72" width="1.4" height="1.4" /></element>
|
||||
<element name="8.1" ref="ledd"><bounds x="54" y="72" width="1.4" height="1.4" /></element>
|
||||
<element name="8.2" ref="ledd"><bounds x="72" y="72" width="1.4" height="1.4" /></element>
|
||||
<element name="8.3" ref="ledd"><bounds x="90" y="72" width="1.4" height="1.4" /></element>
|
||||
<element name="8.4" ref="ledd"><bounds x="108" y="72" width="1.4" height="1.4" /></element>
|
||||
<element name="8.5" ref="ledd"><bounds x="126" y="72" width="1.4" height="1.4" /></element>
|
||||
|
||||
<element name="12.0" ref="ledr"><bounds x="35.3" y="80.2" width="2.8" height="1" /></element>
|
||||
<element name="12.1" ref="ledr"><bounds x="53.3" y="80.2" width="2.8" height="1" /></element>
|
||||
<element name="12.2" ref="ledr"><bounds x="71.3" y="80.2" width="2.8" height="1" /></element>
|
||||
<element name="12.3" ref="ledr"><bounds x="89.3" y="80.2" width="2.8" height="1" /></element>
|
||||
<element name="12.4" ref="ledr"><bounds x="107.3" y="80.2" width="2.8" height="1" /></element>
|
||||
<element name="12.5" ref="ledr"><bounds x="125.3" y="80.2" width="2.8" height="1" /></element>
|
||||
|
||||
<element name="7.0" ref="ledd"><bounds x="36" y="88" width="1.4" height="1.4" /></element>
|
||||
<element name="7.1" ref="ledd"><bounds x="54" y="88" width="1.4" height="1.4" /></element>
|
||||
<element name="7.2" ref="ledd"><bounds x="72" y="88" width="1.4" height="1.4" /></element>
|
||||
<element name="7.3" ref="ledd"><bounds x="90" y="88" width="1.4" height="1.4" /></element>
|
||||
<element name="7.4" ref="ledd"><bounds x="108" y="88" width="1.4" height="1.4" /></element>
|
||||
<element name="7.5" ref="ledd"><bounds x="126" y="88" width="1.4" height="1.4" /></element>
|
||||
|
||||
<element name="6.0" ref="ledd"><bounds x="36" y="99" width="1.4" height="1.4" /></element>
|
||||
<element name="6.1" ref="ledd"><bounds x="54" y="99" width="1.4" height="1.4" /></element>
|
||||
<element name="6.2" ref="ledd"><bounds x="72" y="99" width="1.4" height="1.4" /></element>
|
||||
<element name="6.3" ref="ledd"><bounds x="90" y="99" width="1.4" height="1.4" /></element>
|
||||
<element name="6.4" ref="ledd"><bounds x="108" y="99" width="1.4" height="1.4" /></element>
|
||||
<element name="6.5" ref="ledd"><bounds x="126" y="99" width="1.4" height="1.4" /></element>
|
||||
|
||||
<element name="5.0" ref="ledd"><bounds x="36" y="110" width="1.4" height="1.4" /></element>
|
||||
<element name="5.1" ref="ledd"><bounds x="54" y="110" width="1.4" height="1.4" /></element>
|
||||
<element name="5.2" ref="ledd"><bounds x="72" y="110" width="1.4" height="1.4" /></element>
|
||||
<element name="5.3" ref="ledd"><bounds x="90" y="110" width="1.4" height="1.4" /></element>
|
||||
<element name="5.4" ref="ledd"><bounds x="108" y="110" width="1.4" height="1.4" /></element>
|
||||
<element name="5.5" ref="ledd"><bounds x="126" y="110" width="1.4" height="1.4" /></element>
|
||||
|
||||
<element name="4.0" ref="ledd"><bounds x="36" y="126" width="1.4" height="1.4" /></element>
|
||||
<element name="4.1" ref="ledd"><bounds x="54" y="126" width="1.4" height="1.4" /></element>
|
||||
<element name="4.2" ref="ledd"><bounds x="72" y="126" width="1.4" height="1.4" /></element>
|
||||
<element name="4.3" ref="ledd"><bounds x="90" y="126" width="1.4" height="1.4" /></element>
|
||||
<element name="4.4" ref="ledd"><bounds x="108" y="126" width="1.4" height="1.4" /></element>
|
||||
<element name="4.5" ref="ledd"><bounds x="126" y="126" width="1.4" height="1.4" /></element>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -16376,6 +16376,7 @@ starwbc // Kenner
|
||||
starwbcp // Kenner (patent)
|
||||
stopthief // Parker Bros
|
||||
stopthiefp // Parker Bros (patent)
|
||||
subwars // Tiger Electronics
|
||||
tandy12 // Tandy Corporation
|
||||
tbreakup // Tomy
|
||||
tc4 // Coleco
|
||||
|
Loading…
Reference in New Issue
Block a user