summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/devices/machine/6840ptm.cpp6
-rw-r--r--src/devices/machine/6840ptm.h1
-rw-r--r--src/mame/drivers/cmi.cpp14
3 files changed, 14 insertions, 7 deletions
diff --git a/src/devices/machine/6840ptm.cpp b/src/devices/machine/6840ptm.cpp
index 3e460f4c3f1..21d8c0d80e9 100644
--- a/src/devices/machine/6840ptm.cpp
+++ b/src/devices/machine/6840ptm.cpp
@@ -153,10 +153,14 @@ void ptm6840_device::device_reset()
m_fired[i] = 0;
m_enabled[i] = 0;
m_mode[i] = 0;
- m_gate[i] = 0;
}
}
+void ptm6840_device::device_resolve_objects()
+{
+ for (int i = 0; i < 3; i++)
+ m_gate[i] = 0;
+}
//-------------------------------------------------
// device_timer - handle timer callbacks
diff --git a/src/devices/machine/6840ptm.h b/src/devices/machine/6840ptm.h
index 537fd4e7c19..6836aa5d317 100644
--- a/src/devices/machine/6840ptm.h
+++ b/src/devices/machine/6840ptm.h
@@ -58,6 +58,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void device_resolve_objects() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
private:
diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp
index dc0d8a940a4..2f83ed95871 100644
--- a/src/mame/drivers/cmi.cpp
+++ b/src/mame/drivers/cmi.cpp
@@ -2048,6 +2048,14 @@ void cmi_state::machine_reset()
m_m6809_bs_hack_cnt[0] = 0;
m_m6809_bs_hack_cnt[1] = 0;
+ //m_midi_ptm[0]->set_g1(1); // /G1 has unknown source, "TIMER 1A /GATE" per schematic
+ m_midi_ptm[0]->set_g2(0); // /G2 and /G3 wired to ground per schematic
+ m_midi_ptm[0]->set_g3(0);
+
+ m_midi_ptm[1]->set_g1(0); // /G1, /G2, and /G3 wired to ground per schematic
+ m_midi_ptm[1]->set_g2(0);
+ m_midi_ptm[1]->set_g3(0);
+
memset(m_map_sel, 0, 16);
for (int i = 0; i < 4; i++)
@@ -2229,17 +2237,11 @@ void cmi_state::cmi2x(machine_config &config)
PTM6840(config, m_midi_ptm[0], 0);
m_midi_ptm[0]->set_external_clocks(0, 384000, 0); // C1 is 0, C2 is 384kHz per schematic block diagram, C3 is CLICK SYNC IN
- //m_midi_ptm[0]->set_g1(1); // /G1 has unknown source, "TIMER 1A /GATE" per schematic
- m_midi_ptm[0]->set_g2(0); // /G2 and /G3 wired to ground per schematic
- m_midi_ptm[0]->set_g3(0);
//m_midi_ptm[0]->o1_callback().set(FUNC(cmi_state::midi_ptm0_c1_w)); // TIMER 1A O/P per schematic
//m_midi_ptm[0]->o2_callback().set(FUNC(cmi_state::midi_ptm0_c2_w)); // CLK 2 per schematic
m_midi_ptm[0]->o3_callback().set(FUNC(cmi_state::midi_ptm0_c3_w));
PTM6840(config, m_midi_ptm[1], 0); // entirely clocked by PTM 0
- m_midi_ptm[1]->set_g1(0); // /G1, /G2, and /G3 wired to ground per schematic
- m_midi_ptm[1]->set_g2(0);
- m_midi_ptm[1]->set_g3(0);
//m_midi_ptm[1]->o1_callback().set(FUNC(cmi_state::midi_sync_out_1_w)); // SYNC OUT 1 per schematic
//m_midi_ptm[1]->o2_callback().set(FUNC(cmi_state::midi_sync_out_2_w)); // SYNC OUT 2 per schematic
//m_midi_ptm[1]->o3_callback().set(FUNC(cmi_state::midi_sync_out_3_w)); // SYNC OUT 3 per schematic
ref='#n153'>153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193