From 8cb7da34430eaf5c00006ca53f8adea0fb578858 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Fri, 21 Jun 2019 22:25:56 +1000 Subject: (nw) microtan : fixed cassette load --- src/mame/drivers/microtan.cpp | 15 +++++++++++++++ src/mame/includes/microtan.h | 4 ++-- src/mame/machine/microtan.cpp | 6 +----- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/mame/drivers/microtan.cpp b/src/mame/drivers/microtan.cpp index 763e01f1c52..76f11b2246e 100644 --- a/src/mame/drivers/microtan.cpp +++ b/src/mame/drivers/microtan.cpp @@ -35,6 +35,20 @@ * f000-f7ff XBUG XBUG ROM * f800-ffff TANBUG TANBUG ROM * + * Tanbug commands: + * B Set breakpoint + * C copy (move) memory block + * G Go + * L Hex dump + * M Modify memory + * N Exit single-step mode + * O Hex calculator + * P Step once + * R Register examine/modify + * S Enter single-step mode + * BAS Start BASIC (You need to choose maximum memory via dipswitches) + * WAR Re-enter BASIC (warm start) + * *****************************************************************************/ /* Core includes */ @@ -246,6 +260,7 @@ void microtan_state::microtan(machine_config &config) /* cassette */ CASSETTE(config, m_cassette); + TIMER(config, "read_cassette").configure_periodic(FUNC(microtan_state::read_cassette), attotime::from_hz(20000)); // cass read /* acia */ mos6551_device &acia(MOS6551(config, "acia", 0)); diff --git a/src/mame/includes/microtan.h b/src/mame/includes/microtan.h index d729c9b0c21..9292355f168 100644 --- a/src/mame/includes/microtan.h +++ b/src/mame/includes/microtan.h @@ -21,6 +21,7 @@ #include "imagedev/snapquik.h" #include "machine/6522via.h" +#include "machine/timer.h" #include "machine/input_merger.h" #include "sound/ay8910.h" #include "imagedev/cassette.h" @@ -48,7 +49,6 @@ public: protected: enum { - TIMER_READ_CASSETTE, TIMER_PULSE_NMI }; @@ -92,7 +92,7 @@ private: TILE_GET_INFO_MEMBER(get_bg_tile_info); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(interrupt); - TIMER_CALLBACK_MEMBER(read_cassette); + TIMER_DEVICE_CALLBACK_MEMBER(read_cassette); TIMER_CALLBACK_MEMBER(pulse_nmi); DECLARE_READ8_MEMBER(via_0_in_a); DECLARE_WRITE8_MEMBER(via_0_out_a); diff --git a/src/mame/machine/microtan.cpp b/src/mame/machine/microtan.cpp index 84e1f7b6f3b..f09bab1299a 100644 --- a/src/mame/machine/microtan.cpp +++ b/src/mame/machine/microtan.cpp @@ -180,9 +180,6 @@ void microtan_state::device_timer(emu_timer &timer, device_timer_id id, int para { switch (id) { - case TIMER_READ_CASSETTE: - read_cassette(ptr, param); - break; case TIMER_PULSE_NMI: pulse_nmi(ptr, param); break; @@ -192,7 +189,7 @@ void microtan_state::device_timer(emu_timer &timer, device_timer_id id, int para } -TIMER_CALLBACK_MEMBER(microtan_state::read_cassette) +TIMER_DEVICE_CALLBACK_MEMBER(microtan_state::read_cassette) { double level = m_cassette->input(); @@ -404,7 +401,6 @@ void microtan_state::init_microtan() } - m_read_cassette_timer = timer_alloc(TIMER_READ_CASSETTE); m_pulse_nmi_timer = timer_alloc(TIMER_PULSE_NMI); m_via6522[0]->write_ca1(1); -- cgit v1.2.3