// license:BSD-3-Clause // copyright-holders:Fabio Priuli, Scott Stone, Couriersud, Felipe Sanches /*************************************************************************** Atari / Kee Games Driver - Discrete Games made in the 1970's Atari / Kee Games List (except for most Pong games) - Data based, in part from: - "Andy's collection of Bronzeage Atari Video Arcade PCBs" http://www.andysarcade.net/personal/bronzeage/index.htm - "Atari's Technical Manual Log" http://www.atarigames.com/manuals.txt Suspected "same games" are grouped together. These are usually the exact same game but different cabinet/name. Technical Manual #s Game Name(s) Atari Part #'s Data PROM/ROM Chip Numbers -----------------------+---------------------------------------------------------------+----------------------------------+---------+--------------------------------------- TM-025 Anti-Aircraft (1975) A000951 YES 003127 TM-048 Crash 'N Score/Stock Car (1975) A004256 YES 003186(x2), 003187(x2), 004248, 004247 TM-030 Crossfire (1975) A003022 NO? TM-022 Elimination! (1973) A000845 NO TM-035 Goal IV (1975) A000823 NO TM-016,029 Gotcha/Color Gotcha (1973) A000816 NO TM-003,005,011,020,029 Gran Trak 10/Trak 10/Formula K (1974) A000872,A000872 K3RT YES 74186 Racetrack Prom (K5) TM-004,021 Gran Trak 20/Trak 20/Twin Racer (1974) A001791(RT20),A001793(A20-K4DRTA) YES 74186 Racetrack prom (K5) TM-028 Hi-Way/Highway (1975) A003211 NO TM-055 Indy 4 (1976) A003000,A006268,A006270 YES 003186, 003187, 005502-01, 05503-01 TM-026 Indy 800 (1975) A003000,A003170,A003182 YES 003186-003189 (4) A003184,A003191,A003198,A003199 TM-027,052 Jet Fighter/Jet Fighter Cocktail/Launch Aircraft (1975) A004254,A004255 YES 004250-004252, 004253-01 to 03 (3) TM-077 Le Mans (1976) A005844,A005845 YES 005837-01, 005838-01, 005839-01 TM-040 Outlaw (1976) A003213 YES 003323 - ROM (8205 @ J4) TM-007 Pin Pong (1974) A001660 NO TM-019 Pursuit (1975) K8P-B 90128 NO TM-012,029,034 Quadrapong (1974) A000845 NO TM-009 Qwak!/Quack (1974) A000937,A000953 YES 72074/37-2530N (K9) TM-047 Shark JAWS (1975) A003806 YES 004182, 004183 TM-008,029 Space Race (1973) A000803 NO TM-046 Steeplechase/Astroturf (1975) A003750 YES 003774 ROM Bugle (C8), 003773-01 "A" Horse (C4), 003773-02 "B" Horse (D4) TM-057 Stunt Cycle (1976) A004128 YES 004275 ROM Motorcycle/Bus (1F), 004811 ROM Score Translator (D7) TM-010,036 Tank/Tank Cocktail (1974) A003111 (K5T-F 90124) YES 90-2006 004800SD Tank Rom (K10) TM-049 Tank II (1975) K5T-F 90124 YES 90-2006 TM-002 Touch-Me (1974) ??????? NO TM-006,017,029 World Cup/World Cup Football/Coupe du Monde/Coup Franc (1974) A000823 NO - Not Known to be released or produced, but at least announced. TM-0?? Arcade Driver/Driver 1st Person (Not Produced/Released) (1974-75?) TM-018 Dodgeball/Dodgem (Not Produced/Released) (1975) TM-024 Qwakers (Not Produced/Released) (1974?) (Kee Games clone of Qwak!?) - Information (current as of 27 Mar. 2019) on what logic chips (and some analog parts) are still needed to be emulated in the netlist system per-game: TM-057 (Stunt Cycle) 566 Voltage-Controlled Oscillator 1N751A Zener Diode 1N752A Zener Diode TM-055 (Indy 4) 7406 Hex Inverter Buffers/Drivers with O.C. H.V. Outputs (note: Might not be needed, could just clone from 7404) 7417 Hex Buffers/Drivers 9301 1-of-10 Decoder LM339 Quad Comparator ***************************************************************************/ #include "emu.h" #include "machine/netlist.h" #include "machine/nl_stuntcyc.h" #include "machine/nl_gtrak10.h" #include "netlist/devices/net_lib.h" #include "video/fixfreq.h" #include "screen.h" // copied by Pong, not accurate for this driver! // start #define MASTER_CLOCK 7159000 #define V_TOTAL (0x105+1) // 262 #define H_TOTAL (0x1C6+1) // 454 #define HBSTART (H_TOTAL) #define HBEND (32) #define VBSTART (V_TOTAL) #define VBEND (16) #define HRES_MULT (1) // end #define SC_VIDCLOCK (14318000/2) #define SC_HTOTAL (0x1C8+0) // 456 #define SC_VTOTAL (0x103+1) // 259 #define SC_HBSTART (SC_HTOTAL) #define SC_HBEND (32) #define SC_VBSTART (SC_VTOTAL) #define SC_VBEND (8) #define GTRAK10_VIDCLOCK 14318181 #define GTRAK10_HTOTAL 451 #define GTRAK10_VTOTAL 521 class atarikee_state : public driver_device { public: atarikee_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_video(*this, "fixfreq") { } // devices required_device m_maincpu; required_device m_video; void atarikee(machine_config &config); protected: // driver_device overrides virtual void machine_start() override; virtual void machine_reset() override; virtual void video_start() override; private: }; class stuntcyc_state : public driver_device { public: stuntcyc_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_video(*this, "fixfreq") { } void stuntcyc(machine_config &config); protected: // driver_device overrides virtual void machine_start() override; virtual void machine_reset() override; private: required_device m_maincpu; required_device m_video; }; class gtrak10_state : public driver_device { public: gtrak10_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_video(*this, "fixfreq") { } void gtrak10(machine_config &config); private: required_device m_video; }; static NETLIST_START(atarikee) SOLVER(Solver, 48000) // PARAM(Solver.FREQ, 48000) PARAM(Solver.ACCURACY, 1e-4) // works and is sufficient // schematics //... // NETDEV_ANALOG_CALLBACK(sound_cb, sound, atarikee_state, sound_cb, "") // NETDEV_ANALOG_CALLBACK(video_cb, videomix, fixedfreq_device, update_vid, "fixfreq") NETLIST_END() void atarikee_state::machine_start() { } void atarikee_state::machine_reset() { } void atarikee_state::video_start() { } void stuntcyc_state::machine_start() { } void stuntcyc_state::machine_reset() { } void atarikee_state::atarikee(machine_config &config) { /* basic machine hardware */ NETLIST_CPU(config, m_maincpu, NETLIST_CLOCK).set_source(netlist_atarikee); /* video hardware */ SCREEN(config, "screen", SCREEN_TYPE_RASTER); FIXFREQ(config, m_video).set_screen("screen"); m_video->set_monitor_clock(MASTER_CLOCK); m_video->set_horz_params(H_TOTAL-67,H_TOTAL-40,H_TOTAL-8,H_TOTAL); m_video->set_vert_params(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL); m_video->set_fieldcount(1); m_video->set_threshold(0.30); } //#define STUNTCYC_NL_CLOCK (14318181*69) #define STUNTCYC_NL_CLOCK (SC_HTOTAL*SC_VTOTAL*60*140) void stuntcyc_state::stuntcyc(machine_config &config) { /* basic machine hardware */ NETLIST_CPU(config, m_maincpu, STUNTCYC_NL_CLOCK).set_source(netlist_stuntcyc); NETLIST_ANALOG_OUTPUT(config, "maincpu:vid0", 0).set_params("VIDEO_OUT", "fixfreq", FUNC(fixedfreq_device::update_composite_monochrome)); NETLIST_LOGIC_INPUT(config, "maincpu:coinsw", "coinsw.POS", 0); NETLIST_LOGIC_INPUT(config, "maincpu:startsw1", "START1.POS", 0); NETLIST_LOGIC_INPUT(config, "maincpu:startsw2", "START2.POS", 0); /* video hardware */ SCREEN(config, "screen", SCREEN_TYPE_RASTER); FIXFREQ(config, m_video).set_screen("screen"); m_video->set_monitor_clock(SC_VIDCLOCK); m_video->set_horz_params(SC_HTOTAL-84,SC_HTOTAL-64,SC_HTOTAL-16, SC_HTOTAL); m_video->set_vert_params(SC_VTOTAL-21,SC_VTOTAL-17,SC_VTOTAL-12, SC_VTOTAL); m_video->set_fieldcount(1); m_video->set_threshold(0.89); m_video->set_gain(0.2); m_video->set_horz_scale(4); } void gtrak10_state::gtrak10(machine_config &config) { /* basic machine hardware */ NETLIST_CPU(config, "maincpu", NETLIST_CLOCK).set_source(netlist_gtrak10); NETLIST_ANALOG_OUTPUT(config, "maincpu:vid0", 0).set_params("VIDEO_OUT", "fixfreq", FUNC(fixedfreq_device::update_composite_monochrome)); /* video hardware */ /* Service Manual describes it as "true interlaced raster scan" "composed of 260.5 horizontal lines stacked on top of one another" == PARAMETERS == Pixel Clock = 14.318MHz Horiz Total = 451 Horiz Front Porch = 0 Horiz Sync = 1 Horiz Back Porch = 31 Vert Total = 521 Vert Front Porch = 0 Vert Sync = 8 Vert Back Porch = 0 */ SCREEN(config, "screen", SCREEN_TYPE_RASTER); FIXFREQ(config, m_video).set_screen("screen"); m_video->set_monitor_clock(GTRAK10_VIDCLOCK); // Length of active video, end of front-porch, end of sync signal, end of line/frame m_video->set_horz_params(GTRAK10_HTOTAL*1 - 32, GTRAK10_HTOTAL*1 - 32, GTRAK10_HTOTAL*1 - 31, GTRAK10_HTOTAL*1); //m_video->set_horz_params(GTRAK10_HTOTAL - 32, GTRAK10_HTOTAL - 32, GTRAK10_HTOTAL - 31, GTRAK10_HTOTAL); m_video->set_vert_params( GTRAK10_VTOTAL - 8, GTRAK10_VTOTAL - 8, GTRAK10_VTOTAL, GTRAK10_VTOTAL); m_video->set_fieldcount(2); m_video->set_threshold(1.0); //m_video->set_gain(1.50); } static INPUT_PORTS_START( gtrak10 ) // TODO INPUT_PORTS_END static INPUT_PORTS_START( stuntcyc ) PORT_START("IN0") /* fake */ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_COIN1) NETLIST_LOGIC_PORT_CHANGED("maincpu", "coinsw") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_START1) NETLIST_LOGIC_PORT_CHANGED("maincpu", "startsw1") PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_START2) NETLIST_LOGIC_PORT_CHANGED("maincpu", "startsw2") INPUT_PORTS_END /*************************************************************************** Game driver(s) ***************************************************************************/ ROM_START( antiairc ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x20, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "003127.k1", 0x0000, 0x0020, CRC(9de772d5) SHA1(2855ba908d8e14a5aca43d4e0594d19f23fe9aae) ) // Anti-Aircraft Target ROM_END ROM_START( crashnsc ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0400, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "003186.f6", 0x0000, 0x0200, CRC(b3443354) SHA1(f43b82fd5d02dad2f597f890f5845701e73476a5) ) // Car Video #1 ROM_LOAD( "003186.p6", 0x0200, 0x0200, CRC(b3443354) SHA1(f43b82fd5d02dad2f597f890f5845701e73476a5) ) // Car Video #2 ROM_REGION( 0x0040, "motion", ROMREGION_ERASE00 ) ROM_LOAD( "003187.f7", 0x0000, 0x0020, CRC(01dca5b9) SHA1(0e3fbefc5df993b5a6a724aee258653897954255) ) // Car Motion #1 ROM_LOAD( "003187.p7", 0x0020, 0x0020, CRC(01dca5b9) SHA1(0e3fbefc5df993b5a6a724aee258653897954255) ) // Car Motion #2 ROM_REGION( 0x0200, "location", ROMREGION_ERASE00 ) ROM_LOAD( "004248.d2", 0x0000, 0x0200, CRC(683b203b) SHA1(97202da5dd4a6cb66714d8e58ecee5c6efa65c1c) ) // Car Location Code ROM_REGION( 0x0200, "shape", ROMREGION_ERASE00 ) ROM_LOAD( "004247.e2", 0x0000, 0x0200, CRC(478afac2) SHA1(fb15af0d2fc9d9ed0e92a3e7610c22dadf91d012) ) // Car Shape Code ROM_END ROM_START( gtrak10 ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0800, "maincpu:gamedata", ROMREGION_ERASE00 ) ROM_LOAD( "074186.j5", 0x0000, 0x0800, CRC(3bad3280) SHA1(b83fe1a1dc6bf20717dadf576f1d817496340f8c) ) // not actually a SN74186 but an Electronic Arrays, Inc. EA4800 16K (2048 x 8) ROM. TI TMS4800 clone (EA4800). Intentionally mislabeled by Atari. ROM_END ROM_START( gtrak10a ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0800, "maincpu:gamedata", ROMREGION_ERASE00 ) ROM_LOAD( "074181.j5", 0x0000, 0x0800, CRC(f564c58a) SHA1(8097419e22bd8b5fd2a9fe4ea89302046c42e583) ) // not actually a SN74181 but an Electronic Arrays, Inc. EA4800 16K (2048 x 8) ROM. TI TMS4800 clone (EA4800). Intentionally mislabeled by Atari. ROM_END ROM_START( gtrak20 ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x2000, "maincpu:gamedata", ROMREGION_ERASE00 ) ROM_LOAD( "074187.b3", 0x0000, 0x0800, CRC(d38709ca) SHA1(1ea5d174dbd0faa0c8aba6b8c845c62b18d9e60b) ) ROM_LOAD( "074187a.d3", 0x0800, 0x0800, CRC(3d30654f) SHA1(119bac8ba8c300c026decf3f59a7da4e5d746648) ) ROM_LOAD( "074187b.f3", 0x1000, 0x0800, CRC(a811cc11) SHA1(a0eb3f732268e796068d1a6c96cdddd1fd7fba21) ) ROM_END ROM_START( indy4 ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "003186.p6", 0x0000, 0x0200, CRC(b3443354) SHA1(f43b82fd5d02dad2f597f890f5845701e73476a5) ) // Car Video ROM_REGION( 0x0020, "motion", ROMREGION_ERASE00 ) ROM_LOAD( "003187.f7", 0x0000, 0x0020, CRC(01dca5b9) SHA1(0e3fbefc5df993b5a6a724aee258653897954255) ) // Car Motion ROM_REGION( 0x0020, "checkpoint", ROMREGION_ERASE00 ) ROM_LOAD( "005502.e5", 0x0000, 0x0020, CRC(e30ea877) SHA1(86f1f2c2e6e8472f7019f17bac723cb36faf098a) ) // Check Points ROM_REGION( 0x0200, "racetrack", ROMREGION_ERASE00 ) ROM_LOAD( "005503.f4", 0x0000, 0x0200, CRC(1aafbe72) SHA1(c59829eccfe5a6014acad9682c401ca3f32fdfc9) ) // Race Track ROM_END ROM_START( indy800 ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "003186.p6", 0x0000, 0x0200, CRC(b3443354) SHA1(f43b82fd5d02dad2f597f890f5845701e73476a5) ) // Car Video ROM_REGION( 0x0020, "motion", ROMREGION_ERASE00 ) ROM_LOAD( "003187.f7", 0x0000, 0x0020, CRC(01dca5b9) SHA1(0e3fbefc5df993b5a6a724aee258653897954255) ) // Car Motion ROM_REGION( 0x0020, "checkpoint", ROMREGION_ERASE00 ) ROM_LOAD( "003188.e5", 0x0000, 0x0020, NO_DUMP ) // Check Points - Might be same as indy4? ROM_REGION( 0x0200, "racetrack", ROMREGION_ERASE00 ) ROM_LOAD( "003189.f4", 0x0000, 0x0200, NO_DUMP ) // Race Track - Might be same as indy4? ROM_END ROM_START( jetfight ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0040, "shell", ROMREGION_ERASE00 ) ROM_LOAD( "004250.m1", 0x0000, 0x0020, CRC(bee62d20) SHA1(2ea5fd7b087004c37901d2a56da2d6f6dcce9e29) ) // Shell Rom ROM_LOAD( "004250.j1", 0x0020, 0x0020, CRC(bee62d20) SHA1(2ea5fd7b087004c37901d2a56da2d6f6dcce9e29) ) // Shell Rom ROM_REGION( 0x0020, "singleplayer", ROMREGION_ERASE00 ) ROM_LOAD( "004251.r5", 0x0000, 0x0020, CRC(bd95f87e) SHA1(4bd863104f1a7260b95f3fb2c13f40b7337d3dd9) ) // Single Player Rom ROM_REGION( 0x0100, "score", ROMREGION_ERASE00 ) ROM_LOAD( "004252.a4", 0x0000, 0x0100, CRC(08a0b011) SHA1(71998728604a152006550869afe60d405643ccf1) ) // Score Rom ROM_REGION( 0x0400, "gfx", ROMREGION_ERASE00 ) /* Note: Use 004253-01 and 004253-02 or use 004253-03 ONLY, not both together. Presumably, -03 = data from -02 and -01 */ ROM_LOAD( "004253-02.j5", 0x0000, 0x0200, CRC(c58ee65d) SHA1(785f842897a2ce92ce2f009e9b6d8e96950deb1f) ) // Picture & S.C. Rom A ROM_LOAD( "004253-01.k5", 0x0200, 0x0200, CRC(0d5648a9) SHA1(7a79ca587376678d9735f025d59088e6686fd783) ) // Picture & S.C. Rom B // ROM_LOAD( "004253-03.f5", 0x0000, 0x0400, NO_DUMP ) // Picture & S.C. Rom C ROM_END ROM_START( jetfighta ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0040, "shell", ROMREGION_ERASE00 ) ROM_LOAD( "004250.m1", 0x0000, 0x0020, CRC(bee62d20) SHA1(2ea5fd7b087004c37901d2a56da2d6f6dcce9e29) ) // Shell Rom ROM_LOAD( "004250.j1", 0x0020, 0x0020, CRC(bee62d20) SHA1(2ea5fd7b087004c37901d2a56da2d6f6dcce9e29) ) // Shell Rom ROM_REGION( 0x0020, "singleplayer", ROMREGION_ERASE00 ) ROM_LOAD( "004251.r5", 0x0000, 0x0020, CRC(bd95f87e) SHA1(4bd863104f1a7260b95f3fb2c13f40b7337d3dd9) ) // Single Player Rom ROM_REGION( 0x0200, "score", ROMREGION_ERASE00 ) ROM_LOAD( "jet.a4", 0x0000, 0x0200, CRC(9e267e44) SHA1(b1c74ab275e30ed41c60e8490eaaf5211ec14ec5) ) // Score Rom ROM_REGION( 0x0800, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "jet.j5", 0x0000, 0x0400, CRC(853d61b3) SHA1(c5e1b09153b813b7b4042246e5634cc83de9654c) ) // Picture & S.C. Rom A ROM_LOAD( "jet.k5", 0x0400, 0x0400, CRC(a3fada62) SHA1(2efed600683e35ffa10acc5a301e736989c9f236) ) // Picture & S.C. Rom B ROM_END ROM_START( lemans ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x2000, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "005837.n5", 0x0000, 0x0800, CRC(21a0c26a) SHA1(2bfe5ff415e4f252caf123ec80a32e6b8220c73a) ) ROM_LOAD( "005838.n4", 0x0800, 0x0800, CRC(9b8fc4fd) SHA1(faf043922f0536e5a93fe6ed99d712503a8c4eb1) ) ROM_LOAD( "005839.n6", 0x1000, 0x0800, CRC(4b1139bb) SHA1(c6418466f251054cbfe889895ec9bb55272f7575) ) ROM_END ROM_START( qwakttl ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "90-2002.9k", 0x0000, 0x0200, CRC(6d3b6270) SHA1(08e295efebc56ed87f56b93b74f87fc7f1df5213) ) // 37-2530n in manual ROM_END ROM_START( outlaw ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "0003323.j4", 0x0000, 0x0200, CRC(3166dad9) SHA1(4fca88b4256d8fb3e0deca54a15ffaafb830831e) ) // Rom (8205) ROM_END ROM_START( sharkjaw ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "004182.da1", 0x0000, 0x0100, CRC(05242912) SHA1(d3925cde795f04ac04151165bbbff74b15dce5ca) ) // Shark & Fish P-Rom ROM_LOAD( "004183.db1", 0x0100, 0x0100, CRC(b161b889) SHA1(009c6fc93174df15fb6a7993a73cfda56c8edfa2) )// Diver P-Rom ROM_END ROM_START( steeplec ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0220, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "003773-a.4c", 0x0000, 0x0100, CRC(5ddc49b6) SHA1(58eba996703cbb7b3f66ff97357e191c9a3ab340) ) // Horse Graphics ROM_LOAD( "003773-b.4d", 0x0100, 0x0100, CRC(e6994cde) SHA1(504f92dba0c8640d55c7412697868582043f3817) ) // Horse Graphics ROM_LOAD( "003774.8c", 0x0200, 0x0020, CRC(f3785f4a) SHA1(98f4015049279de5ba109e6dd87bb94071df5860) ) // Bugle ROM_END ROM_START( stuntcyc ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0200, "maincpu:004275.f1", ROMREGION_ERASE00 ) ROM_LOAD( "004275.f1", 0x0000, 0x0200, CRC(4ed5a99d) SHA1(1e5f439bce72e78dfff76fd8f61187c6ef484a64) ) // Motorcycle & Bus ROM_REGION( 0x0020, "maincpu:004811.d7", ROMREGION_ERASE00 ) ROM_LOAD( "004811.d7", 0x0000, 0x0020, CRC(31a09efb) SHA1(fd5d538c9ec1234acf7c74ca0704113d220abbf6) ) // Score Translator ROM_END ROM_START( tank ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) /* The "custom" 24-pin ROM used in Atari/Kee Games "Tank" is known as a MOSTEK MK28000P. */ ROM_REGION( 0x0801, "gfx", ROMREGION_ERASE00 ) ROM_LOAD( "90-2006.k10", 0x0000, 0x0800, CRC(87f5c365) SHA1(bc518a5795ef3ed8a7c0463653d70f60780ddda1) ) ROM_END ROM_START( tankii ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) /* The "custom" 24-pin ROM used in Atari/Kee Games "Tank" is known as a MOSTEK MK28000P. */ ROM_REGION( 0x0801, "gfx", ROMREGION_ERASE00 ) // 2049 Byte Size? ROM_LOAD( "90-2006.k10" ,0x0000, 0x0801, CRC(c25f6014) SHA1(7bd3fca5f64c928a645ca27c643b736667cef216) ) ROM_END /* // NO DUMPED ROMS ROM_START( astrotrf ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x0400, "gfx", ROMREGION_ERASE00 ) // Region Size unknown, dump size unknown ROM_LOAD( "003774.c8", 0x0000, 0x0100, NO_DUMP ) // Bugle ROM_LOAD( "003773-02.c4", 0x0100, 0x0100, NO_DUMP ) // Graphics (Astroturf - Rev.A) ROM_END */ /* // 100% TTL - NO ROMS // Crossfire (1975) // Unclear if this is 100% TTL or if it uses a ROM: // IC description in manual says a rom is used (74186 ROM) // but the parts list in the same manual mentions no IC 74186! // Simulated in DICE without ROMs from schematics, so unlikely // it uses any, and is in fact 100% TTL.. ROM_START ( crossfir ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( eliminat ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( goaliv ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( gotchaat ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( gotchaatc ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( hiway ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( pinpong ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( pongdbl ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( pursuit ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( quadpong ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( spacrace ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( touchme ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( worldcup ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( coupdmnd ) // dummy to satisfy game entry ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END ROM_START( coupfran ) // dummy to satisfy game entry ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) ROM_END */ GAME(1975, antiairc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Anti-Aircraft [TTL]", MACHINE_IS_SKELETON) GAME(1975, crashnsc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Crash 'n Score/Stock Car [TTL]", MACHINE_IS_SKELETON) GAME(1974, gtrak10, 0, gtrak10, gtrak10, gtrak10_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 10/Trak 10/Formula K [TTL]", MACHINE_NOT_WORKING | MACHINE_NO_SOUND) GAME(1974, gtrak10a, gtrak10, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 10/Trak 10/Formula K (older) [TTL]", MACHINE_IS_SKELETON) GAME(1974, gtrak20, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Gran Trak 20/Trak 20/Twin Racer [TTL]", MACHINE_IS_SKELETON) GAME(1976, indy4, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Indy 4 [TTL]", MACHINE_IS_SKELETON) GAME(1975, indy800, 0, atarikee, 0, atarikee_state, empty_init, ROT90, "Atari/Kee", "Indy 800 [TTL]", MACHINE_IS_SKELETON) GAME(1975, jetfight, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Jet Fighter/Jet Fighter Cocktail/Launch Aircraft (set 1) [TTL]", MACHINE_IS_SKELETON) GAME(1975, jetfighta, jetfight, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Jet Fighter/Jet Fighter Cocktail/Launch Aircraft (set 2) [TTL]", MACHINE_IS_SKELETON) GAME(1976, lemans, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Le Mans [TTL]", MACHINE_IS_SKELETON) GAME(1976, outlaw, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Outlaw [TTL]", MACHINE_IS_SKELETON) GAME(1974, qwakttl, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Qwak!/Quack [TTL]", MACHINE_IS_SKELETON) GAME(1975, sharkjaw, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Horror Games", "Shark JAWS [TTL]", MACHINE_IS_SKELETON) GAME(1975, steeplec, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Steeplechase [TTL]", MACHINE_IS_SKELETON) GAME(1976, stuntcyc, 0, stuntcyc, stuntcyc, stuntcyc_state, empty_init, ROT0, "Atari", "Stunt Cycle [TTL]", MACHINE_IS_SKELETON) GAME(1974, tank, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Tank/Tank Cocktail [TTL]", MACHINE_IS_SKELETON) GAME(1975, tankii, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Tank II [TTL]", MACHINE_IS_SKELETON) // MISSING ROM DUMPS //GAME(1975, astrotrf, steeplec, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Astroturf [TTL]", MACHINE_IS_SKELETON) // 100% TTL //GAME(1974, coupfran, worldcup, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari Europe", "Coup Franc [TTL]", MACHINE_IS_SKELETON) //GAME(1974, coupdmnd, worldcup, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari France", "Coup du Monde [TTL]", MACHINE_IS_SKELETON) //GAME(1975, crossfir, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Crossfire [TTL]", MACHINE_IS_SKELETON) //GAME(1973, eliminat, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari/Kee", "Elimination! [TTL]", MACHINE_IS_SKELETON) //GAME(1975, goaliv, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Goal IV [TTL]", MACHINE_IS_SKELETON) //GAME(1973, gotchaat, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Gotcha [TTL]", MACHINE_IS_SKELETON) //? //GAME(1973, gotchaatc, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Gotcha Color [TTL]", MACHINE_IS_SKELETON) //? //GAME(1975, hiway, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Hi-Way/Highway [TTL]", MACHINE_IS_SKELETON) //GAME(1974, pinpong, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Pin Pong [TTL]", MACHINE_IS_SKELETON) //GAME(1975, pursuit, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Pursuit [TTL]", MACHINE_IS_SKELETON) //GAME(1974, quadpong, eliminat, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Quadrapong [TTL]", MACHINE_IS_SKELETON) //GAME(1973, spacrace, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Space Race [TTL]", MACHINE_IS_SKELETON) //GAME(1974, touchme, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "Touch-Me [TTL]", MACHINE_IS_SKELETON) //? //GAME(1974, worldcup, 0, atarikee, 0, atarikee_state, empty_init, ROT0, "Atari", "World Cup/World Cup Football [TTL]", MACHINE_IS_SKELETON)