summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author MooglyGuy <therealmogminer@gmail.com>2016-12-26 20:33:54 +0100
committer MooglyGuy <therealmogminer@gmail.com>2016-12-26 20:34:03 +0100
commit4f3b59ef3148117d151d0231b1691beb0d6f3365 (patch)
tree1c4883c948bcd7de11b913426e624551a0809bf9
parentfc85f2b3c458673813ac0e138631e61cc153a827 (diff)
Well, it sorta looks like Stunt Cycle, at least. (nw)
-rw-r--r--src/devices/machine/netlist.cpp37
-rw-r--r--src/devices/machine/netlist.h87
-rw-r--r--src/lib/netlist/nl_setup.cpp1
-rw-r--r--src/mame/drivers/atarittl.cpp98
-rw-r--r--src/mame/machine/nl_stuntcyc.cpp26
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 */