diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/fidel_eag68k.cpp | 3 | ||||
-rw-r--r-- | src/mame/drivers/fidel_phantom.cpp | 1 | ||||
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 209 | ||||
-rw-r--r-- | src/mame/layout/tc7atc.lay | 383 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 |
5 files changed, 559 insertions, 38 deletions
diff --git a/src/mame/drivers/fidel_eag68k.cpp b/src/mame/drivers/fidel_eag68k.cpp index 877039bae78..2726ca94d92 100644 --- a/src/mame/drivers/fidel_eag68k.cpp +++ b/src/mame/drivers/fidel_eag68k.cpp @@ -16,6 +16,9 @@ TODO: - V11 CPU should be M68EC060, not yet emulated. Now using M68EC040 in its place - V11 beeper is too high pitched, related to wrong CPU type too? maybe waitstates or clock divider on I/O access. +- Do the opening book modules work? It detects the rom, but then does nothing + with it. Maybe support is limited since the basic CB9/CB16 modules have no use + on newer chesscomputers with a large internal opening library. Currently(May 2020) when compared to the real chesscomputers, to get closer to the actual speed, overclock V10 and V11 to 230%. This can be done by starting MAME diff --git a/src/mame/drivers/fidel_phantom.cpp b/src/mame/drivers/fidel_phantom.cpp index cd1f192df5c..dba7549e32a 100644 --- a/src/mame/drivers/fidel_phantom.cpp +++ b/src/mame/drivers/fidel_phantom.cpp @@ -21,7 +21,6 @@ Hardware notes: Chesster Phantom is on the same base hardware, and adds the Chesster voice to it, using the same ROM as the original Chesster. Model 6124 extra hardware is on a daughterboard, the housing is the same as model 6100, except for button labels. - Model 6126 has a dedicated PCB, this version also has a motion sensor at the front and 2 leds to mimick eyes, and the housing color theme is green instead of beige. diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index d0adf27c0c0..59e26917d1e 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -14,6 +14,49 @@ part of a series is (or will be) in its own driver, see: - tispellb: TI Spelling B series gen. 1 - tispeak: TI Speak & Spell series gen. 1 +About the approximated MCU frequency everywhere: The RC osc. is not that +stable on most of these handhelds. When comparing multiple video recordings +of the same game, it shows(and sounds) that the frequency range can differ +up to 50kHz. This is probably exaggerated due to components getting worn out +after many decades. 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. + +ROM source notes when dumped from another publisher, but confident it's the same: +- 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 +- palmf31: Toshiba BC-8018B +- ti1250: Texas Instruments TI-1200 +- ti25503: Texas Instruments TI-1265 +- ti5100: loose 1979 TMS1073NL chip + +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, especially if no YouTube videos are found +- 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). +- t7in1ss: 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? +- is starwbcp the same as MP3438? (starwbc is MP3438A) + +============================================================================ + 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 @@ -59,7 +102,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm @MP1221 TMS1100 1980, Entex Raise The Devil (6011) @MP1231 TMS1100 1984, Tandy 3 in 1 Sports Arena (model 60-2178) @MP1296 TMS1100 1982, Entex Black Knight Pinball (6081) - *MP1311 TMS1100 1981, Bandai TC7: Air Traffic Control + @MP1311 TMS1100 1981, Bandai TC7: Air Traffic Control @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 @@ -145,42 +188,6 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm (* means undumped unless noted, @ denotes it's in this driver) -============================================================================ - -ROM source notes when dumped from another publisher, but confident it's the same: -- 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 -- palmf31: Toshiba BC-8018B -- ti1250: Texas Instruments TI-1200 -- ti25503: Texas Instruments TI-1265 -- ti5100: loose 1979 TMS1073NL chip - -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) -- t7in1ss: 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? -- is starwbcp the same as MP3438? (starwbc is MP3438A) - ***************************************************************************/ #include "emu.h" @@ -279,6 +286,7 @@ TODO: #include "tandy12.lh" // clickable #include "tbreakup.lh" #include "tc4.lh" +#include "tc7atc.lh" #include "tcfball.lh" #include "tcfballa.lh" #include "ti1250.lh" @@ -974,6 +982,132 @@ ROM_END /*************************************************************************** + Bandai TC7: Air Traffic Control + * TMS1100 MCU, label MP1311 (die label 1100E, MP1311) + * 4-digit 7seg LED display, 40 other LEDs, 1-bit sound + + It is a very complicated game, refer to the manual on how to play. + +***************************************************************************/ + +class tc7atc_state : public hh_tms1k_state +{ +public: + tc7atc_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_tms1k_state(mconfig, type, tag) + { } + + void tc7atc(machine_config &config); + +private: + void update_display(); + void write_r(u16 data); + void write_o(u16 data); + u8 read_k(); +}; + +// handlers + +void tc7atc_state::update_display() +{ + m_display->matrix(m_r, m_o); +} + +void tc7atc_state::write_r(u16 data) +{ + // R5: speaker out + m_speaker->level_w(BIT(data, 5)); + + // R0-R4: input mux, led select + // R6-R9: digit select + m_inp_mux = m_r = data; + update_display(); +} + +void tc7atc_state::write_o(u16 data) +{ + // O0-O7: led data + m_o = data; + update_display(); +} + +u8 tc7atc_state::read_k() +{ + // K: multiplexed inputs + return read_inputs(5); +} + +// config + +static INPUT_PORTS_START( tc7atc ) + PORT_START("IN.0") // R0 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_S) PORT_NAME("High Score") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_H) PORT_NAME("Hazard") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("Clear") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("Enter") + + PORT_START("IN.1") // R1 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_W) PORT_NAME("West") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_E) PORT_NAME("East") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("Arrive") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_T) PORT_NAME("Depart") + + PORT_START("IN.2") // R2 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_A) PORT_NAME("Flight Path A / Level 1") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_B) PORT_NAME("Flight Path B / Level 2") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_C) PORT_NAME("Flight Path C / Level 3") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_D) PORT_NAME("Flight Path D / Level 4") + + PORT_START("IN.3") // R3 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_9) PORT_NAME("Altitude Descend") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_0) PORT_NAME("Altitude Ascend") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("Air Speed Decrease") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("Air Speed Increase") + + PORT_START("IN.4") // R4 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_1) PORT_NAME("10%") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_2) PORT_NAME("20%") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_3) PORT_NAME("40%") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_4) PORT_NAME("80%") +INPUT_PORTS_END + +void tc7atc_state::tc7atc(machine_config &config) +{ + // basic machine hardware + TMS1100(config, m_maincpu, 350000); // approximation - RC osc. R=68K, C=47pF + m_maincpu->k().set(FUNC(tc7atc_state::read_k)); + m_maincpu->r().set(FUNC(tc7atc_state::write_r)); + m_maincpu->o().set(FUNC(tc7atc_state::write_o)); + + // video hardware + PWM_DISPLAY(config, m_display).set_size(10, 8); + m_display->set_segmask(0x3c0, 0x7f); + config.set_default_layout(layout_tc7atc); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( tc7atc ) + ROM_REGION( 0x0800, "maincpu", 0 ) + ROM_LOAD( "mp1311", 0x0000, 0x0800, CRC(704f5e1b) SHA1(765dce31798640480eab7576550c5378d6351b65) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) ) + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1100_tc7atc_output.pla", 0, 365, CRC(0e6e3096) SHA1(375beb43657af0cc3070e581b42e501878c0eaaa) ) +ROM_END + + + + + +/*************************************************************************** + Canon Palmtronic F-31, Canon Canola L813, Toshiba BC-8111B, Toshiba BC-8018B, Triumph-Adler 81 SN, Silver-Reed 8J, more * TMS1040 MCU label TMS1045NL (die label 1040A, 1045) @@ -14044,6 +14178,7 @@ CONS( 1980, arrball, 0, 0, arrball, arrball, arrball_state, emp COMP( 1980, mathmagi, 0, 0, mathmagi, mathmagi, mathmagi_state, empty_init, "APF Electronics Inc.", "Mathemagician", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) CONS( 1979, bcheetah, 0, 0, bcheetah, bcheetah, bcheetah_state, empty_init, "Bandai", "System Control Car: Cheetah", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW | MACHINE_MECHANICAL ) // *** +CONS( 1981, tc7atc, 0, 0, tc7atc, tc7atc, tc7atc_state, empty_init, "Bandai", "TC7: Air Traffic Control", MACHINE_SUPPORTS_SAVE ) COMP( 1977, palmf31, 0, 0, palmf31, palmf31, palmf31_state, empty_init, "Canon", "Palmtronic F-31", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) COMP( 1977, palmmd8, 0, 0, palmmd8, palmmd8, palmmd8_state, empty_init, "Canon", "Palmtronic MD-8 (Multi 8)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW ) diff --git a/src/mame/layout/tc7atc.lay b/src/mame/layout/tc7atc.lay new file mode 100644 index 00000000000..23cfaf81ce2 --- /dev/null +++ b/src/mame/layout/tc7atc.lay @@ -0,0 +1,383 @@ +<?xml version="1.0"?> +<!-- +license:CC0 +--> +<mamelayout version="2"> + +<!-- define elements --> + + <element name="white"><rect><color red="1" green="1" blue="1" /></rect></element> + <element name="black"><rect><color red="0" green="0" blue="0" /></rect></element> + <element name="whitem"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element> + <element name="whited"><disk><color red="1" green="1" blue="1" /></disk></element> + <element name="blackd"><disk><color red="0" green="0" blue="0" /></disk></element> + + <element name="blacks"><rect><color red="0" green="0" blue="0" /></rect></element> + <element name="whiteds"><disk><color red="1" green="1" blue="1" /></disk></element> + <element name="blackds"><disk><color red="0" green="0" blue="0" /></disk></element> + + <element name="text_1"><text string="1"></text></element> + <element name="text_2"><text string="2"></text></element> + <element name="text_3"><text string="3"></text></element> + <element name="text_4"><text string="4"></text></element> + <element name="text_5"><text string="5"></text></element> + <element name="text_6"><text string="6"></text></element> + <element name="text_a"><text string="A"></text></element> + <element name="text_b"><text string="B"></text></element> + <element name="text_c"><text string="C"></text></element> + <element name="text_d"><text string="D"></text></element> + + <element name="text_west"><text string="WEST"></text></element> + <element name="text_east"><text string="EAST"></text></element> + + <element name="text_u1"><text string="3000 FT."></text></element> + <element name="text_u2"><text string="300 FT."></text></element> + <element name="text_u3"><text string="LAND:"></text></element> + <element name="text_u4"><text string="0-100'"></text></element> + + <element name="text_d1"><text string="AIR SPEED" align="2"></text></element> + <element name="text_d2"><text string="ALTITUDE" align="1"></text></element> + <element name="text_d3"><text string="H1:ALT.OVER 3000'" align="1"></text></element> + <element name="text_d4"><text string="H2:ALT.UNDER 300'" align="1"></text></element> + <element name="text_d5"><text string="H3:SPEED UNDER 140mph" align="1"></text></element> + <element name="text_d6"><text string="MAX SPEED:450" align="1"></text></element> + <element name="text_d7"><text string="MIN SPEED:100" align="1"></text></element> + + <element name="rled" defstate="0"> + <disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk> + <disk state="0"><color red="0.13" green="0.013" blue="0.02" /></disk> + </element> + + <element name="digit" defstate="0"> + <led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg> + </element> + + <!-- 6 rings --> + <element name="disks1"> + <disk><bounds x="0" y="0" width="144" height="144" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="0.75" y="0.75" width="142.5" height="142.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="12" y="12" width="120" height="120" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="12.75" y="12.75" width="118.5" height="118.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="24" y="24" width="96" height="96" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="24.75" y="24.75" width="94.5" height="94.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="36" y="36" width="72" height="72" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="36.75" y="36.75" width="70.5" height="70.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="48" y="48" width="48" height="48" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="48.75" y="48.75" width="46.5" height="46.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="60" y="60" width="24" height="24" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="60.75" y="60.75" width="22.5" height="22.5" /><color red="0" green="0" blue="0" /></disk> + </element> + + <!-- 4 intersecting rings --> + <element name="disks2"> + <rect><bounds x="-8" y="-110" width="160" height="364" /><color red="0" green="0" blue="0" /></rect> + + <disk><bounds x="-8" y="-22" width="160" height="96" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="-7.25" y="-21.25" width="158.5" height="94.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="15" y="-110" width="114" height="190" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="15.75" y="-109.25" width="112.5" height="188.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="-8" y="70" width="160" height="96" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="-7.25" y="70.75" width="158.5" height="94.5" /><color red="0" green="0" blue="0" /></disk> + + <disk><bounds x="15" y="64" width="114" height="190" /><color red="1" green="1" blue="1" /></disk> + <disk><bounds x="15.75" y="64.75" width="112.5" height="188.5" /><color red="0" green="0" blue="0" /></disk> + </element> + + <!-- star shape leds --> + <element name="slmask"> + <rect><bounds x="0" y="0" width="3.3" height="3.3" /><color alpha="0" /></rect> + <disk><bounds x="0.8" y="0.8" width="1.7" height="1.7" /><color red="0" green="0" blue="0" /></disk> + </element> + + <element name="sled0" defstate="0"> + <rect><bounds x="0" y="0" width="3.3" height="3.3" /><color alpha="0" /></rect> + <disk state="1"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="1.0" green="0.1" blue="0.15" /> + </disk> + <disk state="0"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="0.13" green="0.013" blue="0.02" /> + </disk> + <disk><bounds x="1.707106" y="0.292893" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="1.707106" y="1.707106" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="0.292893" y="1.707106" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="0.292893" y="0.292893" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + </element> + + <element name="sled15" defstate="0"> + <rect><bounds x="0" y="0" width="3.3" height="3.3" /><color alpha="0" /></rect> + <disk state="1"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="1.0" green="0.1" blue="0.15" /> + </disk> + <disk state="0"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="0.13" green="0.013" blue="0.02" /> + </disk> + <disk><bounds x="1.866025" y="0.500000" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="1.500000" y="1.866025" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="0.133974" y="1.500000" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="0.500000" y="0.133974" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + </element> + + <element name="sled30" defstate="0"> + <rect><bounds x="0" y="0" width="3.3" height="3.3" /><color alpha="0" /></rect> + <disk state="1"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="1.0" green="0.1" blue="0.15" /> + </disk> + <disk state="0"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="0.13" green="0.013" blue="0.02" /> + </disk> + <disk><bounds x="1.965925" y="0.741180" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="1.258819" y="1.965925" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="0.034074" y="1.258819" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="0.741180" y="0.034074" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + </element> + + <element name="sled45" defstate="0"> + <rect><bounds x="0" y="0" width="3.3" height="3.3" /><color alpha="0" /></rect> + <disk state="1"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="1.0" green="0.1" blue="0.15" /> + </disk> + <disk state="0"> + <bounds x="1" y="1" width="1.3" height="1.3" /> + <color red="0.13" green="0.013" blue="0.02" /> + </disk> + <disk><bounds x="1" y="0" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="2" y="1" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="1" y="2" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + <disk><bounds x="0" y="1" width="1.3" height="1.3" /><color red="0" green="0" blue="0" /></disk> + </element> + + +<!-- 7seg display --> + + <group name="digits"> + <element name="digit9" ref="digit"><bounds x="0" y="0" width="1" height="1" /></element> + <element name="digit8" ref="digit"><bounds x="1" y="0" width="1" height="1" /></element> + <element name="digit7" ref="digit"><bounds x="2" y="0" width="1" height="1" /></element> + <element name="digit6" ref="digit"><bounds x="3" y="0" width="1" height="1" /></element> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="-5" right="149" top="-5" bottom="144" /> + + <!-- bezel base --> + <element ref="whited"><bounds x="1" y="1" width="142" height="142" /></element> + + <repeat count="19"> + <param name="p1" start="2" increment="2.5" /> + <param name="p2" start="2.75" increment="2.5" /> + <param name="d1" start="140" increment="-5" /> + <param name="d2" start="138.5" increment="-5" /> + + <element ref="blackds"><bounds x="~p1~" y="~p1~" width="~d1~" height="~d1~" /></element> + <element ref="whiteds"><bounds x="~p2~" y="~p2~" width="~d2~" height="~d2~" /></element> + </repeat> + + <element ref="blackd"><bounds x="48" y="48" width="48" height="48" /></element> + + <element ref="disks2" blend="multiply"><bounds x="-8" y="-110" width="160" height="364" /></element> + + <element ref="white"><bounds x="48" y="71.625" width="48" height="0.75" /></element> + + <repeat count="18"> + <param name="p" start="50.325" increment="2.5" /> + <element ref="blacks"><bounds x="~p~" y="70" width="0.75" height="4" /></element> + </repeat> + + <element ref="white"><bounds x="60" y="71.625" width="24" height="0.75" /></element> + + <element ref="white"><bounds x="64.5" y="67" width="15" height="10" /></element> + <element ref="black"><bounds x="65.25" y="67.75" width="13.5" height="8.5" /></element> + + + <element ref="disks1" blend="add"><bounds x="0" y="0" width="144" height="144" /></element> + + <!-- bezel text --> + <element ref="text_west"><bounds x="4" y="11" width="20" height="5.5" /></element> + <element ref="text_east"><bounds x="120" y="11" width="20" height="5.5" /></element> + + <element ref="text_a"><bounds x="9" y="18.5" width="10" height="5.5" /></element> + <element ref="text_a"><bounds x="125" y="18.5" width="10" height="5.5" /></element> + + <element ref="text_b"><bounds x="-4" y="42.5" width="10" height="5.5" /></element> + <element ref="text_b"><bounds x="138" y="42.5" width="10" height="5.5" /></element> + + <element ref="text_c"><bounds x="-4" y="95.75" width="10" height="5.5" /></element> + <element ref="text_c"><bounds x="138" y="95.75" width="10" height="5.5" /></element> + + <element ref="text_d"><bounds x="9" y="119.5" width="10" height="5.5" /></element> + <element ref="text_d"><bounds x="125" y="119.5" width="10" height="5.5" /></element> + + <element ref="black"><bounds x="68" y="-1" width="8" height="65" /></element> + + <element ref="text_6"><bounds x="62" y="-5.5" width="20" height="11" /></element> + <element ref="text_5"><bounds x="62" y="6.5" width="20" height="11" /></element> + <element ref="text_4"><bounds x="62" y="18.5" width="20" height="11" /></element> + <element ref="text_3"><bounds x="62" y="30.5" width="20" height="11" /></element> + <element ref="text_2"><bounds x="62" y="42.5" width="20" height="11" /></element> + <element ref="text_1"><bounds x="62" y="54.5" width="20" height="11" /></element> + + <element ref="text_u1"><bounds x="62" y="4.75" width="20" height="3" /></element> + <element ref="text_u2"><bounds x="62" y="52.75" width="20" height="3" /></element> + <element ref="text_u3"><bounds x="62" y="63.75" width="20" height="3" /></element> + <element ref="text_u4"><bounds x="62" y="77.25" width="20" height="3" /></element> + + <element ref="black"><bounds x="54" y="110" width="36" height="50" /></element> + <element ref="black"><bounds x="26" y="112" width="92" height="5.5" /></element> + + <element ref="text_d1"><bounds x="14" y="112" width="40" height="5.5" /></element> + <element ref="text_d2"><bounds x="91" y="112" width="40" height="5.5" /></element> + + <element ref="text_d3"><bounds x="55" y="125" width="40" height="3" /></element> + <element ref="text_d4"><bounds x="55" y="128" width="40" height="3" /></element> + <element ref="text_d5"><bounds x="55" y="131" width="40" height="3" /></element> + + <element ref="text_d6"><bounds x="-0.5" y="131" width="40" height="3" /></element> + <element ref="text_d7"><bounds x="-0.5" y="134" width="40" height="3" /></element> + + <element ref="whitem" blend="multiply"><bounds x="-10" y="-10" width="164" height="164" /></element> + + <!-- leds bottom --> + <group ref="digits"><bounds x="54.5" y="112" width="35" height="12" /></group> + + <element name="4.7" ref="rled"><bounds x="46.5" y="120" width="4" height="4" /></element> + <element name="4.3" ref="rled"><bounds x="93.5" y="120" width="4" height="4" /></element> + + <!-- leds middle --> + <element ref="slmask"><bounds x="43" y="66.5" width="11" height="11" /></element> + <element name="4.2" ref="sled0" blend="add"><bounds x="43" y="66.5" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="55" y="66.5" width="11" height="11" /></element> + <element name="4.1" ref="sled0" blend="add"><bounds x="55" y="66.5" width="11" height="11" /></element> + + <element name="4.0" ref="sled0" blend="add"><bounds x="63.333" y="66.5" width="11" height="11" /></element> + <element name="4.4" ref="sled0" blend="add"><bounds x="69.666" y="66.5" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="78" y="66.5" width="11" height="11" /></element> + <element name="4.5" ref="sled0" blend="add"><bounds x="78" y="66.5" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="90" y="66.5" width="11" height="11" /></element> + <element name="4.6" ref="sled0" blend="add"><bounds x="90" y="66.5" width="11" height="11" /></element> + + <!-- leds west a --> + <element ref="slmask"><bounds x="14.75" y="17" width="11" height="11" /></element> + <element name="0.3" ref="sled0" blend="add"><bounds x="14.75" y="17" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="19" y="30.75" width="11" height="11" /></element> + <element name="0.2" ref="sled15" blend="add"><bounds x="19" y="30.75" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="25" y="43.5" width="11" height="11" /></element> + <element name="0.1" ref="sled30" blend="add"><bounds x="25" y="43.5" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="32.75" y="55.5" width="11" height="11" /></element> + <element name="0.0" ref="sled45" blend="add"><bounds x="32.75" y="55.5" width="11" height="11" /></element> + + <!-- leds west b --> + <element ref="slmask"><bounds x="-1.75" y="45.25" width="11" height="11" /></element> + <element name="1.3" ref="sled45" blend="add"><bounds x="-1.75" y="45.25" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="8.5" y="53" width="11" height="11" /></element> + <element name="1.2" ref="sled30" blend="add"><bounds x="8.5" y="53" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="19.5" y="59" width="11" height="11" /></element> + <element name="1.1" ref="sled15" blend="add"><bounds x="19.5" y="59" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="31" y="63" width="11" height="11" /></element> + <element name="1.0" ref="sled15" blend="add"><bounds x="31" y="63" width="11" height="11" /></element> + + <!-- leds west c --> + <element ref="slmask"><bounds x="-1.75" y="87.75" width="11" height="11" /></element> + <element name="2.3" ref="sled45" blend="add"><bounds x="-1.75" y="87.75" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="8.5" y="80" width="11" height="11" /></element> + <element name="2.2" ref="sled30" blend="add"><bounds x="8.5" y="80" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="19.5" y="74" width="11" height="11" /></element> + <element name="2.1" ref="sled15" blend="add"><bounds x="19.5" y="74" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="31" y="70" width="11" height="11" /></element> + <element name="2.0" ref="sled15" blend="add"><bounds x="31" y="70" width="11" height="11" /><orientation flipx="yes" /></element> + + <!-- leds west d --> + <element ref="slmask"><bounds x="14.75" y="116" width="11" height="11" /></element> + <element name="3.3" ref="sled0" blend="add"><bounds x="14.75" y="116" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="19" y="102.25" width="11" height="11" /></element> + <element name="3.2" ref="sled15" blend="add"><bounds x="19" y="102.25" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="25" y="89.5" width="11" height="11" /></element> + <element name="3.1" ref="sled30" blend="add"><bounds x="25" y="89.5" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="32.75" y="77.5" width="11" height="11" /></element> + <element name="3.0" ref="sled45" blend="add"><bounds x="32.75" y="77.5" width="11" height="11" /></element> + + <!-- leds east a --> + <element ref="slmask"><bounds x="118.25" y="17" width="11" height="11" /></element> + <element name="0.7" ref="sled0" blend="add"><bounds x="118.25" y="17" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="114" y="30.75" width="11" height="11" /></element> + <element name="0.6" ref="sled15" blend="add"><bounds x="114" y="30.75" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="108" y="43.5" width="11" height="11" /></element> + <element name="0.5" ref="sled30" blend="add"><bounds x="108" y="43.5" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="100.25" y="55.5" width="11" height="11" /></element> + <element name="0.4" ref="sled45" blend="add"><bounds x="100.25" y="55.5" width="11" height="11" /></element> + + <!-- leds east b --> + <element ref="slmask"><bounds x="134.75" y="45.25" width="11" height="11" /></element> + <element name="1.7" ref="sled45" blend="add"><bounds x="134.75" y="45.25" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="124.5" y="53" width="11" height="11" /></element> + <element name="1.6" ref="sled30" blend="add"><bounds x="124.5" y="53" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="113.5" y="59" width="11" height="11" /></element> + <element name="1.5" ref="sled15" blend="add"><bounds x="113.5" y="59" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="102" y="63" width="11" height="11" /></element> + <element name="1.4" ref="sled15" blend="add"><bounds x="102" y="63" width="11" height="11" /><orientation flipx="yes" /></element> + + <!-- leds east c --> + <element ref="slmask"><bounds x="134.75" y="87.75" width="11" height="11" /></element> + <element name="2.7" ref="sled45" blend="add"><bounds x="134.75" y="87.75" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="124.5" y="80" width="11" height="11" /></element> + <element name="2.6" ref="sled30" blend="add"><bounds x="124.5" y="80" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="113.5" y="74" width="11" height="11" /></element> + <element name="2.5" ref="sled15" blend="add"><bounds x="113.5" y="74" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="102" y="70" width="11" height="11" /></element> + <element name="2.4" ref="sled15" blend="add"><bounds x="102" y="70" width="11" height="11" /></element> + + <!-- leds east d --> + <element ref="slmask"><bounds x="118.25" y="116" width="11" height="11" /></element> + <element name="3.7" ref="sled0" blend="add"><bounds x="118.25" y="116" width="11" height="11" /></element> + + <element ref="slmask"><bounds x="114" y="102.25" width="11" height="11" /></element> + <element name="3.6" ref="sled15" blend="add"><bounds x="114" y="102.25" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="108" y="89.5" width="11" height="11" /></element> + <element name="3.5" ref="sled30" blend="add"><bounds x="108" y="89.5" width="11" height="11" /><orientation flipx="yes" /></element> + + <element ref="slmask"><bounds x="100.25" y="77.5" width="11" height="11" /></element> + <element name="3.4" ref="sled45" blend="add"><bounds x="100.25" y="77.5" width="11" height="11" /></element> + + </view> +</mamelayout> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 967f4363c77..e2218bc6fc3 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -16763,6 +16763,7 @@ t7in1ss // Tiger Electronics tandy12 // Tandy Corporation tbreakup // Tomy tc4 // Coleco +tc7atc // Bandai tcfball // Tandy Corporation tcfballa // Tandy Corporation ti1000 // Texas Instruments |