diff --git a/.gitattributes b/.gitattributes index 430665d61d8..4e5227fc476 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3561,6 +3561,7 @@ src/mame/drivers/atarigx2.c svneol=native#text/plain src/mame/drivers/atarisy1.c svneol=native#text/plain src/mame/drivers/atarisy2.c svneol=native#text/plain src/mame/drivers/atarisy4.c svneol=native#text/plain +src/mame/drivers/atarittl.c svneol=native#text/plain src/mame/drivers/ataxx.c svneol=native#text/plain src/mame/drivers/atetris.c svneol=native#text/plain src/mame/drivers/atlantis.c svneol=native#text/plain @@ -3826,6 +3827,7 @@ src/mame/drivers/exedexes.c svneol=native#text/plain src/mame/drivers/exerion.c svneol=native#text/plain src/mame/drivers/exidy.c svneol=native#text/plain src/mame/drivers/exidy440.c svneol=native#text/plain +src/mame/drivers/exidyttl.c svneol=native#text/plain src/mame/drivers/expro02.c svneol=native#text/plain src/mame/drivers/exprraid.c svneol=native#text/plain src/mame/drivers/exterm.c svneol=native#text/plain diff --git a/src/mame/drivers/atarittl.c b/src/mame/drivers/atarittl.c new file mode 100644 index 00000000000..c0bf55153a7 --- /dev/null +++ b/src/mame/drivers/atarittl.c @@ -0,0 +1,425 @@ +/*************************************************************************** + + Atari / Kee Games Driver - Discrete Games made in the 1970's + + + Atari / Kee Games List and Data based, in part from: + + - Andy's collection of Bronzeage Atari Video Arcade PCB's" + 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-058 Breakout/Breakout Cocktail (1976) A004533 NO + TM-048 Crash 'N Score/Stock Car (1975) A004256 YES 003186(x2), 003187(x2), 004248, 004247 + TM-003,005,011,020 Gran Trak 10/Trak 10/Formula K/Race Circuit (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-006,035 Goal 4/World Cup/Coupe De Monde (1975) A000823 NO + TM-016 Gotcha/Gotcha Color? (1973) A000816 NO + TM-028 Highway/Hi-Way (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 Jet Fighter/Jet Fighter Cocktail (1975) A004254,A004255 YES 004250-004252, 004253-01 to 03 (3) + TM-077 LeMans (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-013 Pong/Super Pong (1972) A001433,A000423 NO + TM-015 Pong Cocktail (1974) NO + TM-014 Pong Doubles/Coupe Davis (1974) A000785 NO + TM-018 Pursuit (1975) K8P-B 90128 NO + TM-012,022,034 Quadrapong/Elimination (1974) A000845 NO + TM-009 Qwak!/Quack (1974) A000937,A000953 YES 72074/37-2530N (K9) + TM-001,032 Rebound/Volleyball (1974) A000517,A000846 NO + TM-047 Shark Jaws (1975) A003806 YES 004182, 004183 + TM-008 Space Race (1974) A000803 NO + TM-023 Spike (1974) SPIKE-(A or B) 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,049 Tank/Tank Cocktail/Tank II (1974/1975) A003111 (K5T-F 90124) YES 90-2006 + TM-002 Touch Me (1974) NO + + - Not Known to be released or produced, but at least announced. + + TM-030 Crossfire (Not Produced/Released) + TM-024 Qwakers (Not Produced/Released) + TM-017 World Cup Football (Not Produced/Released) + + +***************************************************************************/ + + +#include "emu.h" + +#include "machine/rescap.h" +#include "machine/netlist.h" +#include "netlist/devices/net_lib.h" +#include "video/fixfreq.h" +#include "astring.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 (80) +#define VBSTART (V_TOTAL) +#define VBEND (16) + +#define HRES_MULT (1) + +fixedfreq_interface fixedfreq_mode_atarikee = { + MASTER_CLOCK, + H_TOTAL-67,H_TOTAL-40,H_TOTAL-8,H_TOTAL, + V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL, + 1, /* non-interlaced */ + 0.30 +}; +// end + + + +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; + +protected: + + // driver_device overrides + virtual void machine_start(); + virtual void machine_reset(); + + virtual void video_start(); + +private: + +}; + + + +static NETLIST_START(atarikee) + SOLVER(Solver) + 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() +{ +} + + + +static MACHINE_CONFIG_START( atarikee, atarikee_state ) + + /* basic machine hardware */ + MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK) + MCFG_NETLIST_SETUP(atarikee) + + /* video hardware */ + MCFG_FIXFREQ_ADD("fixfreq", "screen", fixedfreq_mode_atarikee) +MACHINE_CONFIG_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( crshnscr ) + 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( 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( 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( stntcycl ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 ) // Region Size unknown, dump size unknown + ROM_LOAD( "004275.f1", 0x0000, 0x0200, CRC(4ed5a99d) SHA1(1e5f439bce72e78dfff76fd8f61187c6ef484a64) ) // Motorcycle & Bus + + ROM_REGION( 0x0020, "score", 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 ) // 2049 Byte Size? + ROM_LOAD( "90-2006.k10" ,0x0000, 0x0801, CRC(c25f6014) SHA1(7bd3fca5f64c928a645ca27c643b736667cef216) ) +ROM_END + + +/* // NO DUMPED ROMS + +// Astroturf +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 + +// Steeplechase +ROM_START( steeplec ) + 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-01.d4", 0x0100, 0x0100, NO_DUMP ) // Graphics (Steeplechase - Rev.B) +ROM_END + +// Gran Trak 10 +ROM_START( gtrak10 ) // Unknown size, assumed 2K Bytes + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x0800, "racetrack", ROMREGION_ERASE00 ) + ROM_LOAD( "74168.k5", 0x0000, 0x0800, NO_DUMP) // Racetrack +ROM_END + +// Gran Trak 20 +ROM_START( gtrak20 ) // Unknown size, assumed 2K Bytes + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x0800, "racetrack", ROMREGION_ERASE00 ) + ROM_LOAD( "74168.k5", 0x0000, 0x0800, NO_DUMP) // Racetrack +ROM_END + +// LeMans +ROM_START( lemans ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x0400, "gfx", ROMREGION_ERASE00 ) // Region Size unknown, dump size unknown + ROM_LOAD( "005837-01.n5", 0x0000, 0x0100, NO_DUMP ) // Rom 1 + ROM_LOAD( "005838-01.n4", 0x0100, 0x0100, NO_DUMP ) // Rom 2 + ROM_LOAD( "005839-01.n6", 0x0200, 0x0100, NO_DUMP ) // Rom 3 +ROM_END + +// Qwak! +ROM_START( qwak ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x0200, "gfx", ROMREGION_ERASE00 ) // Region Size unknown, dump size unknown + ROM_LOAD( "37-2530n.k9", 0x0000, 0x0200, NO_DUMP ) // Custom Rom (2530 N) +ROM_END + +*/ + + +/* // 100% TTL - NO ROMS + +ROM_START( breakout ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( goal4 ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( gotcha ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( gotchac ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) +ROM_END + +ROM_START( highway ) + 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( rebound ) + 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 + +*/ + + + +GAME(1975, antiairc, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Anti-Aircraft [TTL]", GAME_IS_SKELETON) +GAME(1975, crshnscr, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Crash 'n Score [TTL]", GAME_IS_SKELETON) +GAME(1976, indy4, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Indy 4 [TTL]", GAME_IS_SKELETON) +GAME(1975, indy800, 0, atarikee, 0, driver_device, 0, ROT90, "Atari/Kee", "Indy 800 [TTL]", GAME_IS_SKELETON) +GAME(1975, jetfight, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Jet Fighter [TTL]", GAME_IS_SKELETON) +GAME(1976, outlaw, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Outlaw [TTL]", GAME_IS_SKELETON) +GAME(1975, sharkjaw, 0, atarikee, 0, driver_device, 0, ROT0, "Atari/Horror Games", "Shark JAWS [TTL]",GAME_IS_SKELETON) +GAME(1976, stntcycl, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Stunt Cycle [TTL]", GAME_IS_SKELETON) +GAME(1974, tank, 0, atarikee, 0, driver_device, 0, ROT0, "Atari/Kee", "Tank/Tank II [TTL]", GAME_IS_SKELETON) + +// MISSING ROM DUMPS +//GAME(1975, astrotrf, steeplec, atarikee, 0, driver_device, 0, ROT0, "Atari", "Astroturf [TTL]",GAME_IS_SKELETON) +//GAME(1976, lemans, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "LeMans [TTL]", GAME_IS_SKELETON) +//GAME(1974, gtrak10, 0, atarikee, 0, driver_device, 0, ROT0, "Atari/Kee", "Gran Trak 10/Trak 10/Formula K/Race Circuit [TTL]",GAME_IS_SKELETON) //? +//GAME(1974, gtrak20, 0, atarikee, 0, driver_device, 0, ROT0, "Atari/Kee", "Gran Trak 20/Trak 20/Twin Racer [TTL]",GAME_IS_SKELETON) //? +//GAME(1974, qwak, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Qwak!/Quack [TTL]", GAME_IS_SKELETON) +//GAME(1975, steeplec, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Steeplechase/Astroturf [TTL]",GAME_IS_SKELETON) + +// 100% TLL +//GAME(1976, breakout, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Breakout [TTL]",GAME_IS_SKELETON) +//GAME(1975, goal4, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Goal 4/World Cup/Coupe De Monde [TTL]",GAME_IS_TTL) +//GAME(1973, gotcha, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Gotcha [TTL]",GAME_IS_SKELETON) //? +//GAME(1973, gotchac, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Gotcha Color [TTL]",GAME_IS_SKELETON) //? +//GAME(1975, highway, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Highway/Hiway [TTL]",GAME_IS_SKELETON) +//GAME(1974, pinpong, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Pin Pong [TTL]",GAME_IS_SKELETON) +//GAME(1974, pongdbl, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Pong Doubles/Coupe De Monde [TTL]",GAME_IS_SKELETON) +//GAME(1975, pursuit, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Pursuit [TTL]",GAME_IS_SKELETON) +//GAME(1973, quadpong, 0, atarikee, 0, driver_device, 0, ROT0, "Atari/Kee", "Quadrapong/Elimination [TTL]",GAME_IS_SKELETON) +//GAME(1974, rebound, 0, atarikee, 0, driver_device, 0, ROT0, "Atari/Kee", "Rebound/Spike/Volleyball [TTL]",GAME_IS_SKELETON) +//GAME(1974, spacrace, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Space Race [TTL]",GAME_IS_SKELETON) +//GAME(1974, touchme, 0, atarikee, 0, driver_device, 0, ROT0, "Atari", "Touch Me [TTL]",GAME_IS_SKELETON) //? diff --git a/src/mame/drivers/exidyttl.c b/src/mame/drivers/exidyttl.c new file mode 100644 index 00000000000..7f7f46dde20 --- /dev/null +++ b/src/mame/drivers/exidyttl.c @@ -0,0 +1,136 @@ +/*************************************************************************** + +Exidy discrete hardware games + + Alley Rally (1975) + Attack (1977) + Death Race (1976) + Destruction Derby (1975) + Football (1978) + Old Time Basketball (1976) + Spiders From Space (1976) + Score (1977) + Super Death Chase (1977) + Table Football (1975) + Tv Pinball (1974) + +***************************************************************************/ + + +#include "emu.h" + +#include "machine/rescap.h" +#include "machine/netlist.h" +#include "netlist/devices/net_lib.h" +#include "video/fixfreq.h" +#include "astring.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 (80) +#define VBSTART (V_TOTAL) +#define VBEND (16) + +#define HRES_MULT (1) + +fixedfreq_interface fixedfreq_mode_attack = { + MASTER_CLOCK, + H_TOTAL-67,H_TOTAL-40,H_TOTAL-8,H_TOTAL, + V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL, + 1, /* non-interlaced */ + 0.30 +}; +// end + + +class exidyttl_state : public driver_device +{ +public: + exidyttl_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; + +protected: + + // driver_device overrides + virtual void machine_start(); + virtual void machine_reset(); + + virtual void video_start(); + +private: + +}; + + +static NETLIST_START(attack) + SOLVER(Solver) + PARAM(Solver.FREQ, 48000) + PARAM(Solver.ACCURACY, 1e-4) // works and is sufficient + + // schematics + //... + +// NETDEV_ANALOG_CALLBACK(sound_cb, sound, exidyttl_state, sound_cb, "") +// NETDEV_ANALOG_CALLBACK(video_cb, videomix, fixedfreq_device, update_vid, "fixfreq") +NETLIST_END() + + + +void exidyttl_state::machine_start() +{ +} + +void exidyttl_state::machine_reset() +{ +} + + +void exidyttl_state::video_start() +{ +} + +static MACHINE_CONFIG_START( attack, exidyttl_state ) + + /* basic machine hardware */ + MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK) + MCFG_NETLIST_SETUP(attack) + + /* video hardware */ + MCFG_FIXFREQ_ADD("fixfreq", "screen", fixedfreq_mode_attack) +MACHINE_CONFIG_END + + +/*************************************************************************** + + Game driver(s) + +***************************************************************************/ + + +ROM_START( attckexd ) + ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 ) + + ROM_REGION( 0x0400, "roms", ROMREGION_ERASE00 ) + ROM_LOAD( "attack.a1", 0x0000, 0x0200, CRC(5afd5aff) SHA1(051915c43b33f476597b2adddda7ae2f5d4fe214) ) + ROM_LOAD( "attack.b1", 0x0000, 0x0200, CRC(92d0fbf4) SHA1(31f7e04c4cd1fb36404b22a26d7e62939b43d941) ) + ROM_LOAD( "attack.c1", 0x0000, 0x0200, CRC(25625d6e) SHA1(d61ff867a226a01781e689c124b93159a92dc057) ) + ROM_LOAD( "attack.d1", 0x0000, 0x0200, CRC(2ff8dd6b) SHA1(21921faa26f95414070df12d30a9bcdc0b674c00) ) + ROM_LOAD( "attack.j6", 0x0000, 0x0200, CRC(21f87c1a) SHA1(1881142ecceee1175f1837e63b7258a08ed293d6) ) + ROM_LOAD( "attack.k6", 0x0000, 0x0200, CRC(ba5115b3) SHA1(1679b07e8a9376789c9cf15fe16e97003e9267be) ) +ROM_END + + +GAME( 1977, attckexd, 0, attack, 0, driver_device, 0, ROT0, "Exidy", "Attack [TTL]", GAME_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 09bc2662ff4..d8baeabbb89 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -7265,6 +7265,7 @@ dmndrbya // G4001 'DD' (c) 1986 // the four digits number is the game ID stored at address 0x0108 of the program ROM // info on prototypes taken from http://www.members.tripod.com/fresa/proto/puzzle.htm neogeo +mvs nam1975 // 0001 (c) 1990 SNK bstars // 0002 (c) 1990 SNK bstarsh // 0002 (c) 1990 SNK @@ -12331,7 +12332,16 @@ manohman // 199?, Merkur. // TTL logic games pong // (c) 1972 Atari pongf // (c) 1972 Atari - no subcycles - +antiairc // (c) 1975 Atari +crshnscr // (c) 1975 Atari +indy4 // (c) 1976 Atari +indy800 // (c) 1975 Atari / Kee +jetfight // (c) 1975 Atari +outlaw // (c) 1976 Atari +sharkjaw // (c) 1975 Atari +stntcycl // (c) 1976 Atari +tank // (c) 1974 Atari +attckexd // (c) 1977 Exidy // JPM System 5 + Video Expansion 2 monopoly // Monopoly (JPM) diff --git a/src/mame/mame.mak b/src/mame/mame.mak index b76e26763d3..84a58e07094 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -672,6 +672,7 @@ $(MAMEOBJ)/atari.a: \ $(DRIVERS)/atarisy1.o $(VIDEO)/atarisy1.o \ $(DRIVERS)/atarisy2.o $(VIDEO)/atarisy2.o \ $(DRIVERS)/atarisy4.o \ + $(DRIVERS)/atarittl.o \ $(DRIVERS)/atetris.o $(VIDEO)/atetris.o \ $(DRIVERS)/avalnche.o $(AUDIO)/avalnche.o \ $(DRIVERS)/badlands.o $(VIDEO)/badlands.o \ @@ -971,6 +972,7 @@ $(MAMEOBJ)/exidy.a: \ $(DRIVERS)/circus.o $(AUDIO)/circus.o $(VIDEO)/circus.o \ $(DRIVERS)/exidy.o $(AUDIO)/exidy.o $(VIDEO)/exidy.o \ $(DRIVERS)/exidy440.o $(AUDIO)/exidy440.o $(VIDEO)/exidy440.o \ + $(DRIVERS)/exidyttl.o \ $(DRIVERS)/maxaflex.o $(MACHINE)/atari.o $(VIDEO)/atari.o $(VIDEO)/antic.o $(VIDEO)/gtia.o \ $(DRIVERS)/starfire.o $(VIDEO)/starfire.o \ $(DRIVERS)/vertigo.o $(MACHINE)/vertigo.o $(VIDEO)/vertigo.o \