summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/wozfdc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/wozfdc.cpp')
-rw-r--r--src/devices/machine/wozfdc.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/devices/machine/wozfdc.cpp b/src/devices/machine/wozfdc.cpp
index 0c316a4c108..bee2f043e7e 100644
--- a/src/devices/machine/wozfdc.cpp
+++ b/src/devices/machine/wozfdc.cpp
@@ -13,6 +13,7 @@
#include "imagedev/floppy.h"
#include "formats/ap2_dsk.h"
+#include "formats/as_dsk.h"
/***************************************************************************
PARAMETERS
@@ -79,8 +80,8 @@ void wozfdc_device::device_start()
{
m_rom_p6 = machine().root_device().memregion(this->subtag(DISKII_P6_REGION).c_str())->base();
- timer = timer_alloc(0);
- delay_timer = timer_alloc(1);
+ timer = timer_alloc(FUNC(wozfdc_device::generic_tick), this);
+ delay_timer = timer_alloc(FUNC(wozfdc_device::delayed_tick), this);
save_item(NAME(last_6502_write));
save_item(NAME(mode_write));
@@ -178,12 +179,18 @@ void appleiii_fdc_device::device_reset()
enable1 = 1;
}
-void wozfdc_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
+TIMER_CALLBACK_MEMBER(wozfdc_device::generic_tick)
+{
+ if(active)
+ lss_sync();
+}
+
+TIMER_CALLBACK_MEMBER(wozfdc_device::delayed_tick)
{
if(active)
lss_sync();
- if(id == 1 && active == MODE_DELAY) {
+ if(active == MODE_DELAY) {
if(floppy)
floppy->mon_w(true);
active = MODE_IDLE;