diff options
author | MooglyGuy <therealmogminer@gmail.com> | 2016-12-26 20:33:54 +0100 |
---|---|---|
committer | MooglyGuy <therealmogminer@gmail.com> | 2016-12-26 20:34:03 +0100 |
commit | 4f3b59ef3148117d151d0231b1691beb0d6f3365 (patch) | |
tree | 1c4883c948bcd7de11b913426e624551a0809bf9 | |
parent | fc85f2b3c458673813ac0e138631e61cc153a827 (diff) |
Well, it sorta looks like Stunt Cycle, at least. (nw)
-rw-r--r-- | src/devices/machine/netlist.cpp | 37 | ||||
-rw-r--r-- | src/devices/machine/netlist.h | 87 | ||||
-rw-r--r-- | src/lib/netlist/nl_setup.cpp | 1 | ||||
-rw-r--r-- | src/mame/drivers/atarittl.cpp | 98 | ||||
-rw-r--r-- | src/mame/machine/nl_stuntcyc.cpp | 26 |
5 files changed, 187 insertions, 62 deletions
diff --git a/src/devices/machine/netlist.cpp b/src/devices/machine/netlist.cpp index 9f321b52751..8b0897d7eea 100644 --- a/src/devices/machine/netlist.cpp +++ b/src/devices/machine/netlist.cpp @@ -33,6 +33,7 @@ const device_type NETLIST_RAM_POINTER = &device_creator<netlist_ram_pointer_t>; const device_type NETLIST_LOGIC_INPUT = &device_creator<netlist_mame_logic_input_t>; const device_type NETLIST_STREAM_INPUT = &device_creator<netlist_mame_stream_input_t>; +const device_type NETLIST_LOGIC_OUTPUT = &device_creator<netlist_mame_logic_output_t>; const device_type NETLIST_ANALOG_OUTPUT = &device_creator<netlist_mame_analog_output_t>; const device_type NETLIST_STREAM_OUTPUT = &device_creator<netlist_mame_stream_output_t>; @@ -80,6 +81,7 @@ void netlist_mame_analog_input_t::device_start() } + // ---------------------------------------------------------------------------------------- // netlist_mame_analog_output_t // ---------------------------------------------------------------------------------------- @@ -116,6 +118,41 @@ void netlist_mame_analog_output_t::device_start() // ---------------------------------------------------------------------------------------- +// netlist_mame_logic_output_t +// ---------------------------------------------------------------------------------------- + +netlist_mame_logic_output_t::netlist_mame_logic_output_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : device_t(mconfig, NETLIST_LOGIC_OUTPUT, "Netlist Logic Output", tag, owner, clock, "netlist_logic_output", __FILE__), + netlist_mame_sub_interface(*owner), + m_in("") +{ +} + +void netlist_mame_logic_output_t::static_set_params(device_t &device, const char *in_name, netlist_logic_output_delegate adelegate) +{ + netlist_mame_logic_output_t &mame_output = downcast<netlist_mame_logic_output_t &>(device); + mame_output.m_in = in_name; + mame_output.m_delegate = adelegate; +} + +void netlist_mame_logic_output_t::custom_netlist_additions(netlist::setup_t &setup) +{ + pstring dname = "OUT_" + m_in; + m_delegate.bind_relative_to(owner()->machine().root_device()); + + plib::owned_ptr<netlist::device_t> dev = plib::owned_ptr<netlist::device_t>::Create<NETLIB_NAME(logic_callback)>(setup.netlist(), setup.build_fqn(dname)); + static_cast<NETLIB_NAME(logic_callback) *>(dev.get())->register_callback(m_delegate); + setup.netlist().register_dev(std::move(dev)); + setup.register_link(dname + ".IN", m_in); +} + +void netlist_mame_logic_output_t::device_start() +{ + LOG_DEV_CALLS(("start %s\n", tag())); +} + + +// ---------------------------------------------------------------------------------------- // netlist_mame_int_input_t // ---------------------------------------------------------------------------------------- diff --git a/src/devices/machine/netlist.h b/src/devices/machine/netlist.h index e4cee9a87fd..97132dc793a 100644 --- a/src/devices/machine/netlist.h +++ b/src/devices/machine/netlist.h @@ -35,6 +35,12 @@ netlist_analog_output_delegate(& _class :: _member, \ # _class "::" # _member, _class_tag, (_class *)nullptr) ); +#define MCFG_NETLIST_LOGIC_OUTPUT(_basetag, _tag, _IN, _class, _member, _class_tag) \ + MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_LOGIC_OUTPUT, 0) \ + netlist_mame_logic_output_t::static_set_params(*device, _IN, \ + netlist_logic_output_delegate(& _class :: _member, \ + # _class "::" # _member, _class_tag, (_class *)nullptr) ); + #define MCFG_NETLIST_LOGIC_INPUT(_basetag, _tag, _name, _shift) \ MCFG_DEVICE_ADD(_basetag ":" _tag, NETLIST_LOGIC_INPUT, 0) \ netlist_mame_logic_input_t::static_set_params(*device, _name, _shift); @@ -75,6 +81,8 @@ #define NETDEV_ANALOG_CALLBACK_MEMBER(_name) \ void _name(const double data, const attotime &time) +#define NETDEV_LOGIC_CALLBACK_MEMBER(_name) \ + void _name(const int data, const attotime &time) // ---------------------------------------------------------------------------------------- @@ -418,6 +426,33 @@ private: }; // ---------------------------------------------------------------------------------------- +// netlist_mame_logic_output_t +// ---------------------------------------------------------------------------------------- + +typedef device_delegate<void(const int, const attotime &)> netlist_logic_output_delegate; + +class netlist_mame_logic_output_t : public device_t, + public netlist_mame_sub_interface +{ +public: + + // construction/destruction + netlist_mame_logic_output_t(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + virtual ~netlist_mame_logic_output_t() { } + + static void static_set_params(device_t &device, const char *in_name, netlist_logic_output_delegate adelegate); + +protected: + // device-level overrides + virtual void device_start() override; + virtual void custom_netlist_additions(netlist::setup_t &setup) override; + +private: + pstring m_in; + netlist_logic_output_delegate m_delegate; +}; + +// ---------------------------------------------------------------------------------------- // netlist_mame_int_input_t // ---------------------------------------------------------------------------------------- @@ -617,8 +652,9 @@ private: uint32_t m_channel; pstring m_out_name; }; + // ---------------------------------------------------------------------------------------- -// netdev_callback +// analog_callback // ---------------------------------------------------------------------------------------- class NETLIB_NAME(analog_callback) : public netlist::device_t @@ -666,6 +702,54 @@ private: }; // ---------------------------------------------------------------------------------------- +// logic_callback +// ---------------------------------------------------------------------------------------- + +class NETLIB_NAME(logic_callback) : public netlist::device_t +{ +public: + NETLIB_NAME(logic_callback)(netlist::netlist_t &anetlist, const pstring &name) + : device_t(anetlist, name) + , m_in(*this, "IN") + , m_cpu_device(nullptr) + , m_last(*this, "m_last", 0) + { + m_cpu_device = downcast<netlist_mame_cpu_device_t *>(&downcast<netlist_mame_t &>(netlist()).parent()); + } + + ATTR_COLD void reset() override + { + m_last = 0; + } + + ATTR_COLD void register_callback(netlist_logic_output_delegate callback) + { + m_callback = callback; + } + + NETLIB_UPDATEI() + { + netlist_sig_t cur = m_in(); + + // FIXME: make this a parameter + // avoid calls due to noise + if (cur != m_last) + { + m_cpu_device->update_time_x(); + m_callback(cur, m_cpu_device->local_time()); + m_cpu_device->check_mame_abort_slice(); + m_last = cur; + } + } + +private: + netlist::logic_input_t m_in; + netlist_logic_output_delegate m_callback; + netlist_mame_cpu_device_t *m_cpu_device; + netlist::state_var<netlist_sig_t> m_last; +}; + +// ---------------------------------------------------------------------------------------- // sound_out // ---------------------------------------------------------------------------------------- @@ -832,6 +916,7 @@ extern const device_type NETLIST_INT_INPUT; extern const device_type NETLIST_ROM_REGION; extern const device_type NETLIST_RAM_POINTER; +extern const device_type NETLIST_LOGIC_OUTPUT; extern const device_type NETLIST_ANALOG_OUTPUT; extern const device_type NETLIST_STREAM_INPUT; extern const device_type NETLIST_STREAM_OUTPUT; diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index b55f662cd79..f6a34729c22 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -520,6 +520,7 @@ void setup_t::connect_terminal_input(terminal_t &term, detail::core_terminal_t & } else if (inp.is_logic()) { + netlist().log().verbose("connect terminal {1} (in, {2}) to {3}\n", inp.name(), pstring(inp.is_analog() ? "analog" : inp.is_logic() ? "logic" : "?"), term.name()); logic_input_t &incast = dynamic_cast<logic_input_t &>(inp); log().debug("connect_terminal_input: connecting proxy\n"); pstring x = plib::pfmt("proxy_ad_{1}_{2}")(inp.name())(m_proxy_cnt); diff --git a/src/mame/drivers/atarittl.cpp b/src/mame/drivers/atarittl.cpp index d7036c20bc9..ddd3d54061a 100644 --- a/src/mame/drivers/atarittl.cpp +++ b/src/mame/drivers/atarittl.cpp @@ -94,6 +94,7 @@ #define HRES_MULT (1) // end +#define SC_VIDCLOCK (14318181/2) #define SC_HTOTAL (0x1C8+1) // 456 #define SC_VTOTAL (0x103+1) // 259 #define SC_HBSTART (SC_HTOTAL) @@ -133,7 +134,8 @@ public: stuntcyc_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") - , m_screen(*this, "screen") + //, m_video(*this, "fixfreq") + , m_probe_screen(*this, "screen") , m_hf1(*this, "maincpu:hf1") , m_d7(*this, "maincpu:d7") , m_probe_bit0(0.0) @@ -151,14 +153,14 @@ public: { } - NETDEV_ANALOG_CALLBACK_MEMBER(probe_bit0_cb); - NETDEV_ANALOG_CALLBACK_MEMBER(probe_bit1_cb); - NETDEV_ANALOG_CALLBACK_MEMBER(probe_bit2_cb); - NETDEV_ANALOG_CALLBACK_MEMBER(probe_bit3_cb); - NETDEV_ANALOG_CALLBACK_MEMBER(probe_bit4_cb); - NETDEV_ANALOG_CALLBACK_MEMBER(probe_bit5_cb); - NETDEV_ANALOG_CALLBACK_MEMBER(probe_bit6_cb); - NETDEV_ANALOG_CALLBACK_MEMBER(probe_clock_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_bit0_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_bit1_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_bit2_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_bit3_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_bit4_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_bit5_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_bit6_cb); + NETDEV_LOGIC_CALLBACK_MEMBER(probe_clock_cb); uint32_t screen_update_stuntcyc(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); @@ -170,21 +172,22 @@ protected: private: required_device<netlist_mame_device_t> m_maincpu; - required_device<screen_device> m_screen; + //required_device<fixedfreq_device> m_video; + required_device<screen_device> m_probe_screen; required_device<netlist_mame_rom_t> m_hf1; required_device<netlist_mame_rom_t> m_d7; - double m_probe_bit0; - double m_probe_bit1; - double m_probe_bit2; - double m_probe_bit3; - double m_probe_bit4; - double m_probe_bit5; - double m_probe_bit6; + int m_probe_bit0; + int m_probe_bit1; + int m_probe_bit2; + int m_probe_bit3; + int m_probe_bit4; + int m_probe_bit5; + int m_probe_bit6; - std::unique_ptr<float[]> m_probe_data; + std::unique_ptr<int[]> m_probe_data; - double m_last_beam; + int m_last_beam; int m_last_hpos; int m_last_vpos; double m_last_fraction; @@ -237,7 +240,7 @@ void stuntcyc_state::machine_start() m_probe_bit5 = 0; m_probe_bit6 = 0; - m_probe_data = std::make_unique<float[]>(SC_HTOTAL * SC_VTOTAL); + m_probe_data = std::make_unique<int[]>(SC_HTOTAL * SC_VTOTAL); } void stuntcyc_state::machine_reset() @@ -251,14 +254,14 @@ void stuntcyc_state::machine_reset() m_probe_bit6 = 0; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_bit0_cb) { m_probe_bit0 = data; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_bit1_cb) { m_probe_bit1 = data; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_bit2_cb) { m_probe_bit2 = data; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_bit3_cb) { m_probe_bit3 = data; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_bit4_cb) { m_probe_bit4 = data; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_bit5_cb) { m_probe_bit5 = data; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_bit6_cb) { m_probe_bit6 = data; } -NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_clock_cb) +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_bit0_cb) { m_probe_bit0 = data; } +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_bit1_cb) { m_probe_bit1 = data; } +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_bit2_cb) { m_probe_bit2 = data; } +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_bit3_cb) { m_probe_bit3 = data; } +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_bit4_cb) { m_probe_bit4 = data; } +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_bit5_cb) { m_probe_bit5 = data; } +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_bit6_cb) { m_probe_bit6 = data; } +NETDEV_LOGIC_CALLBACK_MEMBER(stuntcyc_state::probe_clock_cb) { synchronize(); attotime second_fraction(0, time.attoseconds()); @@ -274,15 +277,15 @@ NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_clock_cb) int last_index = m_last_vpos * SC_HTOTAL + m_last_hpos; if (last_index != curr_index) { - m_probe_data[last_index] *= m_last_fraction; - m_probe_data[last_index] += float(m_last_beam * (1.0 - m_last_fraction)); + m_probe_data[last_index] = int(double(m_probe_data[last_index]) * m_last_fraction); + m_probe_data[last_index] += int(double(m_last_beam) * (1.0 - m_last_fraction)); last_index++; while (last_index <= curr_index) - m_probe_data[last_index++] = float(m_last_beam); + m_probe_data[last_index++] = m_last_beam; } //m_last_beam = float(data); - m_last_beam = float(m_probe_bit0 + m_probe_bit1 * 2.0 + m_probe_bit2 * 4.0 + m_probe_bit3 * 8.0 + m_probe_bit4 * 16.0 + m_probe_bit5 * 32.0 + m_probe_bit6 * 64.0); + m_last_beam = m_probe_bit0 + m_probe_bit1 * 2 + m_probe_bit2 * 4 + m_probe_bit3 * 8 + m_probe_bit4 * 16 + m_probe_bit5 * 32 + m_probe_bit6 * 64; m_last_hpos = hpos; m_last_vpos = vpos; m_last_fraction = pixel_fraction; @@ -290,11 +293,6 @@ NETDEV_ANALOG_CALLBACK_MEMBER(stuntcyc_state::probe_clock_cb) uint32_t stuntcyc_state::screen_update_stuntcyc(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - int last_index = m_last_vpos * SC_HTOTAL + m_last_hpos; - while (last_index < SC_HTOTAL * SC_VTOTAL) - { - m_probe_data[last_index++] = m_last_beam; - } m_last_hpos = 0; m_last_vpos = 0; @@ -304,7 +302,7 @@ uint32_t stuntcyc_state::screen_update_stuntcyc(screen_device &screen, bitmap_rg uint32_t *scanline = &bitmap.pix32(y); pixindex = y * SC_HTOTAL; for (int x = 0; x < SC_HTOTAL; x++) - *scanline++ = 0xff000000 | (uint8_t(m_probe_data[pixindex++] * 0.5) * 0x010101); + *scanline++ = 0xff000000 | (m_probe_data[pixindex++] * 0x010101); //*scanline++ = 0xff000000 | (uint8_t(m_screen_buf[pixindex++] * 63.0) * 0x010101); } @@ -325,31 +323,33 @@ static MACHINE_CONFIG_START( atarikee, atarikee_state ) MCFG_FIXFREQ_SYNC_THRESHOLD(0.30) MACHINE_CONFIG_END +//#define STUNTCYC_NL_CLOCK (14318181*69) +#define STUNTCYC_NL_CLOCK (SC_HTOTAL*SC_VTOTAL*60*140) static MACHINE_CONFIG_START( stuntcyc, stuntcyc_state ) /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK) + MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, STUNTCYC_NL_CLOCK) MCFG_NETLIST_SETUP(stuntcyc) MCFG_NETLIST_ROM_REGION("maincpu", "hf1", "hf1", "hf1") MCFG_NETLIST_ROM_REGION("maincpu", "d7", "d7", "d7") //MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "vid0", "VIDEO_OUT", fixedfreq_device, update_vid, "fixfreq") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_bit0", "probe_bit0", stuntcyc_state, probe_bit0_cb, "") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_bit1", "probe_bit1", stuntcyc_state, probe_bit1_cb, "") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_bit2", "probe_bit2", stuntcyc_state, probe_bit2_cb, "") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_bit3", "probe_bit3", stuntcyc_state, probe_bit3_cb, "") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_bit4", "probe_bit4", stuntcyc_state, probe_bit4_cb, "") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_bit5", "probe_bit5", stuntcyc_state, probe_bit5_cb, "") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_bit6", "probe_bit6", stuntcyc_state, probe_bit6_cb, "") - MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "probe_clock", "probe_clock", stuntcyc_state, probe_clock_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_bit0", "probe_bit0", stuntcyc_state, probe_bit0_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_bit1", "probe_bit1", stuntcyc_state, probe_bit1_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_bit2", "probe_bit2", stuntcyc_state, probe_bit2_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_bit3", "probe_bit3", stuntcyc_state, probe_bit3_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_bit4", "probe_bit4", stuntcyc_state, probe_bit4_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_bit5", "probe_bit5", stuntcyc_state, probe_bit5_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_bit6", "probe_bit6", stuntcyc_state, probe_bit6_cb, "") + MCFG_NETLIST_LOGIC_OUTPUT("maincpu", "probe_clock", "probe_clock", stuntcyc_state, probe_clock_cb, "") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_UPDATE_DRIVER(stuntcyc_state, screen_update_stuntcyc) - MCFG_SCREEN_RAW_PARAMS(14318181/2, SC_HTOTAL, 0, SC_HTOTAL, SC_VTOTAL, 0, SC_VTOTAL) + MCFG_SCREEN_RAW_PARAMS(SC_HTOTAL*SC_VTOTAL*60, SC_HTOTAL, 0, SC_HTOTAL, SC_VTOTAL, 0, SC_VTOTAL) //MCFG_FIXFREQ_ADD("fixfreq", "screen") - //MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK) + //MCFG_FIXFREQ_MONITOR_CLOCK(SC_VIDCLOCK) //MCFG_FIXFREQ_HORZ_PARAMS(SC_HTOTAL-67,SC_HTOTAL-40,SC_HTOTAL-8, SC_HTOTAL) //MCFG_FIXFREQ_VERT_PARAMS(SC_VTOTAL-22,SC_VTOTAL-19,SC_VTOTAL-12,SC_VTOTAL) //MCFG_FIXFREQ_FIELDCOUNT(1) diff --git a/src/mame/machine/nl_stuntcyc.cpp b/src/mame/machine/nl_stuntcyc.cpp index 8501ed49ee1..f4a48347650 100644 --- a/src/mame/machine/nl_stuntcyc.cpp +++ b/src/mame/machine/nl_stuntcyc.cpp @@ -21,7 +21,8 @@ NETLIST_START(stuntcyc) TTL_INPUT(high, 1) TTL_INPUT(low, 0) - MAINCLOCK(main_clk, 14318181.8) + MAINCLOCK(main_clk, 14258400) + //MAINCLOCK(main_clk, 14318181) ALIAS(Y1, main_clk) #if 1 @@ -46,15 +47,6 @@ NETLIST_START(stuntcyc) ALIAS( 64H, L4.QC) ALIAS(128H, L4.QD) - ALIAS(probe_bit0, M4.QA) - ALIAS(probe_bit1, M4.QB) - ALIAS(probe_bit2, high) - ALIAS(probe_bit3, high) - ALIAS(probe_bit4, high) - ALIAS(probe_bit5, high) - ALIAS(probe_bit6, high) - ALIAS(probe_clock, CLOCK) - TTL_74107(K4_1, 128H, P, P, P) ALIAS(256H, K4_1.Q) ALIAS(256H_Q, K4_1.QQ) @@ -126,7 +118,17 @@ NETLIST_START(stuntcyc) TTL_7400_NAND(H2_2, HSYNC_Q, H5) TTL_9322(J1, HSYNC, V4, P, V3, 4V, V1, 1V, V2, 2V, GROUND) - PROM_82S115(hf1, P, GROUND, J1.Y3, J1.Y4, J1.Y2, J1.Y1, H2_2.Q, H2_1.Q, R2, R3, R4, P) + PROM_82S115(hf1, GROUND, P, J1.Y3, J1.Y4, J1.Y2, J1.Y1, H2_2.Q, H2_1.Q, R2, R3, R4, P) + + CLOCK(PROBECLK, 7129200) + ALIAS(probe_bit0, WHITE_VIDEO) + ALIAS(probe_bit1, WHITE_VIDEO) + ALIAS(probe_bit2, WHITE_VIDEO) + ALIAS(probe_bit3, WHITE_VIDEO) + ALIAS(probe_bit4, BLACK_VIDEO) + ALIAS(probe_bit5, BLACK_VIDEO) + ALIAS(probe_bit6, BLACK_VIDEO) + ALIAS(probe_clock, PROBECLK) TTL_7404_INVERT(D3_5, H1) TTL_74194(E1, D3_5.Q, MS_1, MS_2, GROUND, hf1.O1, hf1.O2, hf1.O3, hf1.O4, E2.QA, CYCLE_RESET_A_Q) @@ -327,7 +329,7 @@ NETLIST_START(stuntcyc) NET_C(D17.A, R13.2, R14.2, R15.2) //NET_C(R107.2, GND) - //ALIAS(VIDEO_OUT, R107.2) + ALIAS(VIDEO_OUT, R13.2) /* Horizontal movement */ |