summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/vt50/vt50.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/vt50/vt50.cpp')
-rw-r--r--src/devices/cpu/vt50/vt50.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/devices/cpu/vt50/vt50.cpp b/src/devices/cpu/vt50/vt50.cpp
index a58c97fd8d6..c4d237b0f2f 100644
--- a/src/devices/cpu/vt50/vt50.cpp
+++ b/src/devices/cpu/vt50/vt50.cpp
@@ -30,6 +30,8 @@ vt5x_cpu_device::vt5x_cpu_device(const machine_config &mconfig, device_type type
, m_frq_callback(*this)
, m_bell_callback(*this)
, m_cen_callback(*this)
+ , m_csf_callback(*this)
+ , m_ccf_callback(*this)
, m_bbits(bbits)
, m_ybits(ybits)
, m_pc(0)
@@ -102,6 +104,8 @@ void vt5x_cpu_device::device_resolve_objects()
m_frq_callback.resolve_safe(1);
m_bell_callback.resolve_safe();
m_cen_callback.resolve_safe();
+ m_csf_callback.resolve_safe(1);
+ m_ccf_callback.resolve_safe(1);
}
void vt52_cpu_device::device_resolve_objects()
@@ -460,12 +464,12 @@ void vt5x_cpu_device::execute_th(u8 inst)
switch (inst & 0160)
{
case 0000:
- // M0: PSCJ (TODO: printer flag)
+ // M0: PSCJ
// M1: URJ
if (m_mode_ff)
m_load_pc = m_ur_flag_callback();
else
- m_load_pc = true;
+ m_load_pc = m_csf_callback();
break;
case 0020:
@@ -496,12 +500,12 @@ void vt5x_cpu_device::execute_th(u8 inst)
break;
case 0100:
- // M0: PRQJ (TODO: printer flag)
+ // M0: PRQJ
// M1: AEM2J
if (m_mode_ff)
m_load_pc = m_ac == m_ram_do;
else
- m_load_pc = true;
+ m_load_pc = m_ccf_callback();
break;
case 0120: