From 1db527eed87acf0e563a3dee80c87de9f8667fce Mon Sep 17 00:00:00 2001 From: mooglyguy Date: Sat, 22 Feb 2020 16:29:38 +0100 Subject: [PATCH] -stuntcyc: Assorted fixes to nl_stuntcyc. [Ryan Holtz] --- src/mame/drivers/atarittl.cpp | 44 ++++++++++++++++++++------------ src/mame/machine/nl_stuntcyc.cpp | 34 ++++++++++++------------ 2 files changed, 45 insertions(+), 33 deletions(-) diff --git a/src/mame/drivers/atarittl.cpp b/src/mame/drivers/atarittl.cpp index 23258bcec78..5bce4127708 100644 --- a/src/mame/drivers/atarittl.cpp +++ b/src/mame/drivers/atarittl.cpp @@ -225,6 +225,9 @@ 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); @@ -282,6 +285,13 @@ 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) @@ -571,23 +581,23 @@ 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, 0, 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) +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) diff --git a/src/mame/machine/nl_stuntcyc.cpp b/src/mame/machine/nl_stuntcyc.cpp index 536119cb253..8738117e6d1 100644 --- a/src/mame/machine/nl_stuntcyc.cpp +++ b/src/mame/machine/nl_stuntcyc.cpp @@ -22,7 +22,6 @@ NETLIST_START(stuntcyc) TTL_INPUT(high, 1) TTL_INPUT(low, 0) - //MAINCLOCK(main_clk, 14258400) MAINCLOCK(main_clk, 14318000) ALIAS(Y1, main_clk) @@ -113,8 +112,8 @@ NETLIST_START(stuntcyc) ALIAS(V4, K1.QD) ALIAS(V_WINDOW, K2.RC) - TTL_7402_NOR(D4_3, DIRECTION_Q, H6) // Schematic says DIRECTION - TTL_7408_AND(B5_1, DIRECTION_Q, H5_AND_H6) // Schematic says DIRECTION + TTL_7402_NOR(D4_3, DIRECTION, H6) // Schematic says DIRECTION, maybe DIRECTION_Q? + TTL_7408_AND(B5_1, DIRECTION, H5_AND_H6) // Schematic says DIRECTION, maybe DIRECTION_Q? TTL_7402_NOR(D4_4, D4_3.Q, B5_1.Q) TTL_7400_NAND(H2_1, HSYNC_Q, D4_4.Q) TTL_7400_NAND(H2_2, HSYNC_Q, H5) @@ -155,7 +154,7 @@ NETLIST_START(stuntcyc) DIODE(D22, "1N914") SWITCH2(coinsw) - NET_C(K8_6.Q, coinsw.1) + NET_C(K8_5.Q, coinsw.1) NET_C(D21.K, coinsw.2) NET_C(coinsw.Q, GND) @@ -188,11 +187,13 @@ NETLIST_START(stuntcyc) TTL_INPUT(ANTENNA, 0) + DIODE(D3, "1N914") + NET_C(D3.A, GND) QBJT_SW(Q9, "2N3643") RES(R9, 330) RES(R10, 100) CAP(CX3, CAP_U(0.1)) - NET_C(ANTENNA, Q9.B) + NET_C(ANTENNA, Q9.B, D3.K) NET_C(Q9.E, GND) NET_C(R10.1, CX3.1, Q9.C, R9.1) @@ -207,9 +208,9 @@ NETLIST_START(stuntcyc) RES(R8, 330) CAP(C2, CAP_U(0.1)) QBJT_SW(Q11, "2N3644") - + NET_C(D2.A, R8.1, Q10.C) - ALIAS(COIN_Q, D2.K) + NET_C(COIN_Q, D2.K) NET_C(R8.2, R7.2, C2.2, Q11.B) NET_C(R7.1, C2.1, Q11.E, V5) @@ -235,6 +236,7 @@ NETLIST_START(stuntcyc) TTL_7400_NAND(J8_2, FREE_COIN_Q, H8_2.QQ) TTL_74107(J9_2, 64V, J8_2.Q, J9_1.QQ, J8_2.Q) + ALIAS(COIN_Q, J9_2.QQ) TTL_7450_ANDORINVERT(K9_2, creditsw.Q, K8_5.Q, FREE_COIN, 2_PLAYER_MODE_Q) TTL_7400_NAND(J8_1, K9_2.Q, J9_2.QQ) TTL_74107(J9_1, 64V, J8_1.Q, GROUND, J8_2.Q) @@ -428,20 +430,20 @@ NETLIST_START(stuntcyc) ALIAS(PLAYER_CONTROL, H6_4.Q) TTL_7404_INVERT(D3_2, 128V) - TTL_7450_ANDORINVERT(D1_1, D3_2.Q, 256H_Q, D5_4.Q, 128V) + TTL_7450_ANDORINVERT(D1_1, D3_2.Q, 256H_Q, D5_4.Q, V_SCORE_Q) - TTL_9322(B7, D1_1.Q, A, G, B, H, D, K, C, J, GROUND) - TTL_9322(A7, D1_1.Q, E, L, M, F, GROUND, GROUND, GROUND, GROUND, GROUND) + TTL_9322(B7, D1_1.Q, A, G, B, H, C, J, D, K, GROUND) + TTL_9322(A7, D1_1.Q, E, L, F, M, GROUND, GROUND, GROUND, GROUND, GROUND) ALIAS(S1, B7.Y1) ALIAS(S2, B7.Y2) - ALIAS(S3, B7.Y4) - ALIAS(S4, B7.Y3) + ALIAS(S3, B7.Y3) + ALIAS(S4, B7.Y4) ALIAS(S5, A7.Y1) ALIAS(S6, A7.Y2) - TTL_9322(C7, 16H, S5, S1, S6, S2, GROUND, S4, GROUND, S3, GROUND) - TTL_7448(C6, C7.Y1, C7.Y2, C7.Y4, C7.Y3, P, SCORE_WINDOW, 16H) - DM9312(B6, 2H, 4H, 8H, 8H, C6.f, GROUND, GROUND, C6.b, C6.e, GROUND, GROUND, C6.c) + TTL_9322(C7, 16H, S5, S1, S6, S2, GROUND, S3, GROUND, S4, GROUND) + TTL_7448(C6, C7.Y1, C7.Y2, C7.Y3, C7.Y4, P, SCORE_WINDOW, 16H) + DM9312(B6, 2H, 4H, 8V, 8H, C6.f, GROUND, GROUND, C6.b, C6.e, GROUND, GROUND, C6.c) DM9312(A6, 2V, 4V, 8V, 8H, C6.a, GROUND, GROUND, C6.g, GROUND, GROUND, GROUND, C6.d) TTL_7408_AND(B5_4, A6.YQ, B6.YQ) TTL_7474(A5_1, CLOCK, B5_4.Q, P, P) @@ -585,7 +587,7 @@ NETLIST_START(stuntcyc) ALIAS(R2, M8.QB) ALIAS(R3, M8.QC) - TTL_74193(L8, FIXED_RAMP_ZONE_Q, FIXED_RAMP_ZONE, GROUND, GROUND, JUMP_Q, LOAD_Q, P, GRAVITY) // Schematics say C and D should be to VCC? + TTL_74193(L8, FIXED_RAMP_ZONE_Q, FIXED_RAMP_ZONE, P, P, JUMP_Q, LOAD_Q, P, GRAVITY) // Schematics say C and D should be to VCC - maybe ground instead? ALIAS(Av, L8.QA) ALIAS(Bv, L8.QB) ALIAS(Cv, L8.QC)