summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2019-06-21 22:25:56 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2019-06-21 22:25:56 +1000
commit8cb7da34430eaf5c00006ca53f8adea0fb578858 (patch)
tree1a2ef09623f70f1ff7109848bebb04a1eae76563
parent0b4a3b8d5f3c63555b6a6868c7617f2223589630 (diff)
(nw) microtan : fixed cassette load
-rw-r--r--src/mame/drivers/microtan.cpp15
-rw-r--r--src/mame/includes/microtan.h4
-rw-r--r--src/mame/machine/microtan.cpp6
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);