From 00d5699d73f21840da631b4715bc4c4aa5a20fa4 Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 2 Aug 2022 14:34:02 +0200 Subject: New machines marked as NOT_WORKING ---------------------------------- The Dracula (Tsukuda) [hap, Sean Riddle, Parotaku] --- hash/entex_sag.xml | 2 +- src/devices/cpu/tms1000/tms1100.cpp | 11 ++- src/mame/handheld/hh_tms1k.cpp | 165 +++++++++++++++++++++++++++++++----- src/mame/handheld/tispeak.cpp | 2 +- src/mame/mame.lst | 1 + 5 files changed, 155 insertions(+), 26 deletions(-) diff --git a/hash/entex_sag.xml b/hash/entex_sag.xml index 4efd54ef32f..02b47bfd070 100644 --- a/hash/entex_sag.xml +++ b/hash/entex_sag.xml @@ -52,7 +52,7 @@ Battleship and Turtles were announced but unreleased. 1981 Entex - + diff --git a/src/devices/cpu/tms1000/tms1100.cpp b/src/devices/cpu/tms1000/tms1100.cpp index 47a4b3c2177..710f0d52e88 100644 --- a/src/devices/cpu/tms1000/tms1100.cpp +++ b/src/devices/cpu/tms1000/tms1100.cpp @@ -78,14 +78,17 @@ void tms1100_cpu_device::device_reset() // opcode deviations void tms1100_cpu_device::op_setr() { - // SETR: supports 5-bit index with X register MSB - m_r = m_r | (1 << (BIT(m_x, m_x_bits - 1) << 4 | m_y)); + // SETR: supports 5-bit index with X MSB (used when it has more than 16 R pins) + // TMS1100 manual simply says that X must be less than 4 + u8 index = BIT(m_x, m_x_bits - 1) << 4 | m_y; + m_r = m_r | (1 << index); m_write_r(m_r & m_r_mask); } void tms1100_cpu_device::op_rstr() { - // RSTR: supports 5-bit index with X register MSB - m_r = m_r & ~(1 << (BIT(m_x, m_x_bits - 1) << 4 | m_y)); + // RSTR: see SETR + u8 index = BIT(m_x, m_x_bits - 1) << 4 | m_y; + m_r = m_r & ~(1 << index); m_write_r(m_r & m_r_mask); } diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp index e820ba44849..ded0787167c 100644 --- a/src/mame/handheld/hh_tms1k.cpp +++ b/src/mame/handheld/hh_tms1k.cpp @@ -55,6 +55,7 @@ TODO: - 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) +- add SVG for tdracula ============================================================================ @@ -170,7 +171,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm *MP6061 TMS0970 1979, Texas Instruments Electronic Digital Thermostat (from patent, the one in MAME didn't have a label) @MP6100A TMS0980 1979, Ideal Electronic Detective @MP6101B TMS0980 1979, Parker Brothers Stop Thief - *MP6354 TMS1475 1982, Tsukuda The Dracula + @MP6354 TMS1475 1982, Tsukuda The Dracula *MP6361 TMS1475? 1983, Defender Strikes @MP7302 TMS1400 1980, Tiger Deluxe Football with Instant Replay @MP7304 TMS1400 1982, Tiger 7 in 1 Sports Stadium (model 7-555) @@ -310,7 +311,7 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm #include "xl25.lh" // clickable #include "zodiac.lh" // clickable -//#include "hh_tms1k_test.lh" // common test-layout - use external artwork +#include "hh_tms1k_test.lh" // common test-layout - use external artwork // machine_start/reset @@ -2684,7 +2685,7 @@ ROM_END /*************************************************************************** Coleco Total Control 4 - * TMS1400NLL MP7334-N2 (die label: TMS1400, MP7334) + * TMS1400NLL MP7334-N2 (die label: TMS1400, MP7334, 28L 01D D000 R000) * 2x2-digit 7seg LED display + 4 LEDs, LED grid display, 1-bit sound This is a head to head electronic tabletop LED-display sports console. @@ -3013,7 +3014,7 @@ ROM_END Conic Electronic Basketball * PCB label: CONIC 101-006 - * TMS1000NLL MP0907 (die label: 1000B MP0907) + * TMS1000NLL MP0907 (die label: 1000B, MP0907) * DS8871N, 2 7seg LEDs, 30 other LEDs, 1-bit sound There are 3 known versions of Conic Basketball: MP0910(101-003) and @@ -4759,7 +4760,7 @@ ROM_END /*************************************************************************** Entex Color Football 4 - * TMS1670 6009 MP7551 (die label: TMS1400, MP7551) + * TMS1670 6009 MP7551 (die label: TMS1400, MP7551, 40H 01D D000 R000) * 9-digit cyan VFD display, 60 red and green LEDs behind mask, 1-bit sound Another version exist, one with a LED(red) 7seg display. @@ -5824,7 +5825,7 @@ ROM_END Gakken Jackpot: Gin Rummy & Black Jack * PCB label: gakken - * TMS1670 MPF553 (die label: TMS1400, MPF553) + * TMS1670 MPF553 (die label: TMS1400, MPF553, 40H 01D D000 R000) * 11-digit cyan VFD display Itron FG1114B, oscillator sound known releases: @@ -6076,7 +6077,7 @@ ROM_END /*************************************************************************** Gakken Invader 1000 - * TMS1370 MP2139 (die label: 1170 MP2139) + * TMS1370 MP2139 (die label: 1170, MP2139) * cyan/red VFD display Futaba DM-25Z 2D, 1-bit sound known releases: @@ -6945,7 +6946,7 @@ ROM_END /*************************************************************************** Kosmos Astro - * TMS1470NLHL MP1133 (die label: TMS1400 MP1133) + * TMS1470NLHL MP1133 (die label: TMS1400, MP1133, 28H 01D D000 R000) * 9-digit 7seg VFD display + 8 LEDs(4 green, 4 yellow), no sound This is an astrological calculator, and also supports 4-function @@ -7253,7 +7254,7 @@ ROM_END Mattel Thoroughbred Horse Race Analyzer * PCB label: 1670-4619D - * TMS1100NLL MP3491-N2 (die label: 1100E MP3491) + * TMS1100NLL MP3491-N2 (die label: 1100E, MP3491) * HLCD0569, 67-segment LCD panel, no sound This handheld is not a toy, read the manual for more information. In short, @@ -8322,7 +8323,7 @@ ROM_END /*************************************************************************** Milton Bradley Big Trak - * TMS1000NLL MP3301A or MP3301ANLL E (rev. E!) (die label: 1000E MP3301) + * TMS1000NLL MP3301A or MP3301ANLL E (rev. E!) (die label: 1000E, MP3301) * SN75494N Hex digit LED driver, 1 lamp, 3-level sound * gearbox with magnetic clutch, 1 IR led+sensor, 2 motors(middle wheels) * 24-button keypad, ext in/out ports @@ -8545,7 +8546,7 @@ ROM_END Milton Bradley Dark Tower * TMS1400NLL MP7332-N1.U1(Rev. B) or MP7332-N2LL(Rev. C) (die label: - TMS1400, MP7332) (assume same ROM contents between revisions) + TMS1400, MP7332, 28L 01D D100 R100) (assume same ROM between revisions) * SN75494N MOS-to-LED digit driver * motorized rotating reel + lightsensor, 1bit-sound @@ -9181,7 +9182,7 @@ ROM_END /*************************************************************************** Parker Brothers Master Merlin - * TMS1400 MP7351-N2LL (die label: 1400CR MP7351) + * TMS1400 MP7351-N2LL (die label: 1400CR, MP7351) * 11 LEDs behind buttons, 3-level sound The TMS1400CR MCU has the same pinout as a standard TMS1100. The hardware @@ -9517,7 +9518,7 @@ ROM_END /*************************************************************************** Parker Brothers Bank Shot (known as Cue Ball in the UK), by Garry Kitchen - * TMS1400NLL MP7313-N2 (die label: TMS1400, MP7313) + * TMS1400NLL MP7313-N2 (die label: TMS1400, MP7313, 28L 01D D000 R000) * LED grid display, 1-bit sound Bank Shot is an electronic pool game. To select a game, repeatedly press @@ -9648,7 +9649,7 @@ ROM_END /*************************************************************************** Parker Brothers Split Second - * TMS1400NLL MP7314-N2 (die label: TMS1400, MP7314) + * TMS1400NLL MP7314-N2 (die label: TMS1400, MP7314, 28L 01D D000 R000) * LED grid display(default round LEDs, and rectangular shape ones), 1-bit sound This is an electronic handheld reflex gaming device, it's straightforward @@ -10551,7 +10552,7 @@ ROM_END Tandy 3 in 1 Sports Arena (model 60-2178) * PCB label: HP-804 - * TMS1100 (just a datestamp label (8331), die label: 1100B MP1231) + * TMS1100 (just a datestamp label (8331), die label: 1100B, MP1231) * 2x2-digit 7seg LED display + 47 other LEDs, 1-bit sound For Tandy Sports Arena (model 60-2158), see cmsport, this is a different game. @@ -13077,7 +13078,7 @@ ROM_END /*************************************************************************** Tiger Playmaker: Hockey, Soccer, Basketball (model 7-540 or 7-540A) - * TMS1100 MP1215 (die label: 1100B MP1215) + * TMS1100 MP1215 (die label: 1100B, MP1215) * 2-digit 7seg LED display + 40 other LEDs, 1-bit sound The games are on playcards(Tiger calls them that), the hardware detects which @@ -13241,7 +13242,7 @@ ROM_END /*************************************************************************** Tiger Deluxe Football with Instant Replay (model 7-550) - * TMS1400NLL MP7302 (die label: TMS1400 MP7302) + * TMS1400NLL MP7302 (die label: TMS1400, MP7302, 28L 01D D000 R000) * 4-digit 7seg LED display, 80 red/green LEDs, 1-bit sound According to the manual, player 1 is green, player 2 is red. But when @@ -13494,7 +13495,7 @@ ROM_END Tiger Electronics Copy Cat (model 7-522) * PCB label: WS 8107-1 - * TMS1730 MCU, label MP3005N (die label: 1700 MP3005) + * TMS1730 MCU, label MP3005N (die label: 1700, MP3005) * 4 LEDs, 1-bit sound This is a simplified rerelease of Copy Cat, 10(!) years later. The gameplay @@ -13585,7 +13586,7 @@ ROM_END /*************************************************************************** Tiger Ditto (model 7-530) - * TMS1700 MCU, label MP1801-N2LL (die label: 1700 MP1801) + * TMS1700 MCU, label MP1801-N2LL (die label: 1700, MP1801) * 4 LEDs, 1-bit sound known releases: @@ -13672,7 +13673,7 @@ ROM_END /*************************************************************************** Tiger 7 in 1 Sports Stadium (model 7-555) - * TMS1400 MP7304 (die label: TMS1400 MP7304A) + * TMS1400 MP7304 (die label: TMS1400, MP7304A, 28L 01D D000 R300) * 2x2-digit 7seg LED display + 39 other LEDs, 1-bit sound This handheld includes 7 games: 1: Basketball, 2: Hockey, 3: Soccer, @@ -14134,6 +14135,128 @@ ROM_END +/*************************************************************************** + + Tsukuda The Dracula + * PCB label: TOFL-001A / B + * TMS1475 MP6354 (die label: TMS1175 /TMS1475, MP6354, 40H-PASS-0900-R300-0) + note: no TMS1xxx label on MCU, PCB says "TMS1375L" but that can't be right + * cyan/red/green VFD display NEC FIP11AM32T no. 2-8, 1-bit sound + + known releases: + - Japan: The Dracula, published by Tsukuda + - France: Dracula/The Dracula, published by Euro Toy + +***************************************************************************/ + +class tdracula_state : public hh_tms1k_state +{ +public: + tdracula_state(const machine_config &mconfig, device_type type, const char *tag) : + hh_tms1k_state(mconfig, type, tag) + { } + + void tdracula(machine_config &config); + +private: + void update_display(); + void write_r(u32 data); + void write_o(u16 data); + u8 read_k(); +}; + +// handlers + +void tdracula_state::update_display() +{ + m_display->matrix(m_grid, m_plate); +} + +void tdracula_state::write_r(u32 data) +{ + // R15: speaker out + m_speaker->level_w(BIT(data, 15)); + + // R20,R21: input mux + m_inp_mux = data >> 20 & 3; + + // R0-R10: VFD grid + // R11-R14, R16-R20: VFD plate + m_grid = data & 0x7ff; + m_plate = (m_plate & 0xff) | (data >> 3 & 0xf00) | (data >> 4 & 0x1f000); + update_display(); +} + +void tdracula_state::write_o(u16 data) +{ + // O0-O7: VFD plate + m_plate = (m_plate & ~0xff) | bitswap<8>(data,0,1,2,3,4,5,6,7); + update_display(); +} + +u8 tdracula_state::read_k() +{ + // K: multiplexed inputs + return read_inputs(2); +} + +// config + +static INPUT_PORTS_START( tdracula ) + PORT_START("IN.0") // R20 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) + PORT_CONFNAME( 0x02, 0x00, "Factory Test" ) + PORT_CONFSETTING( 0x00, DEF_STR( Off ) ) + PORT_CONFSETTING( 0x02, DEF_STR( On ) ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_CONFNAME( 0x08, 0x00, DEF_STR( Difficulty ) ) + PORT_CONFSETTING( 0x00, "1" ) + PORT_CONFSETTING( 0x08, "2" ) + + PORT_START("IN.1") // R21 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) +INPUT_PORTS_END + +void tdracula_state::tdracula(machine_config &config) +{ + // basic machine hardware + TMS1475(config, m_maincpu, 500000); // approximation - RC osc. R=43K, C=47pF + m_maincpu->k().set(FUNC(tdracula_state::read_k)); + m_maincpu->r().set(FUNC(tdracula_state::write_r)); + m_maincpu->o().set(FUNC(tdracula_state::write_o)); + + // video hardware + PWM_DISPLAY(config, m_display).set_size(11, 17); + config.set_default_layout(layout_hh_tms1k_test); + + // sound hardware + SPEAKER(config, "mono").front_center(); + SPEAKER_SOUND(config, m_speaker); + m_speaker->add_route(ALL_OUTPUTS, "mono", 0.25); +} + +// roms + +ROM_START( tdracula ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD( "mp6354", 0x0000, 0x1000, CRC(e69299e0) SHA1(e73e674a5e659b4c3df390d271847761fffb5874) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1100_common2_micro.pla", 0, 867, CRC(7cc90264) SHA1(c6e1cf1ffb178061da9e31858514f7cd94e86990) ) + ROM_REGION( 557, "maincpu:opla", 0 ) + ROM_LOAD( "tms1400_tdracula_output.pla", 0, 557, CRC(52e2258e) SHA1(3dcbef72d2309aeb2375041522acd1a879b9e881) ) + + ROM_REGION( 100000, "screen", 0) + ROM_LOAD( "tdracula.svg", 0, 100000, NO_DUMP ) +ROM_END + + + + + /*************************************************************************** U.S. Games Super Sports-4 @@ -14597,6 +14720,8 @@ CONS( 1982, t7in1ss, 0, 0, t7in1ss, t7in1ss, t7in1ss_state, emp CONS( 1979, tbreakup, 0, 0, tbreakup, tbreakup, tbreakup_state, empty_init, "Tomy", "Break Up (Tomy)", MACHINE_SUPPORTS_SAVE ) CONS( 1980, phpball, 0, 0, phpball, phpball, phpball_state, empty_init, "Tomy", "Power House Pinball", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +CONS( 1982, tdracula, 0, 0, tdracula, tdracula, tdracula_state, empty_init, "Tsukuda", "The Dracula (Tsukuda)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) + CONS( 1980, ssports4, 0, 0, ssports4, ssports4, ssports4_state, empty_init, "U.S. Games", "Super Sports-4", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) CONS( 1983, xl25, 0, 0, xl25, xl25, xl25_state, empty_init, "Vulcan Electronics", "XL 25", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/handheld/tispeak.cpp b/src/mame/handheld/tispeak.cpp index 39a1d22b178..77679bd5122 100644 --- a/src/mame/handheld/tispeak.cpp +++ b/src/mame/handheld/tispeak.cpp @@ -392,7 +392,7 @@ Tiger Electronics K28 (model 7-232) Sold in Hong Kong, distributed in US as: keyboard, VFD display, and use the SC-01 speech chip. --> driver tiger/k28.cpp K28 model 7-232 (HK), 1985 - - MCU: TMS1400 MP7324 + - MCU: TMS1400 MP7324 (die label: TMS1400, MP7324, 28L 01D D000 R100) - TMS51xx: TMS5110A - VSM: 16KB CM62084 - LCD: SMOS SMC1112 MCU to 8*14-seg display diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 1afe429eb08..c4808bd5da4 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -16857,6 +16857,7 @@ tc4 // Coleco tc7atc // Bandai tcfball // Tandy Corporation tcfballa // Tandy Corporation +tdracula // Tsukuda ti1000 // Texas Instruments ti1250 // Texas Instruments ti125076 // Texas Instruments -- cgit v1.2.3