diff options
Diffstat (limited to 'src/devices/bus/thomson/cd90_351.cpp')
-rw-r--r-- | src/devices/bus/thomson/cd90_351.cpp | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/src/devices/bus/thomson/cd90_351.cpp b/src/devices/bus/thomson/cd90_351.cpp index ca543d2b596..d4a610c1f3f 100644 --- a/src/devices/bus/thomson/cd90_351.cpp +++ b/src/devices/bus/thomson/cd90_351.cpp @@ -12,7 +12,7 @@ #include "cd90_351.h" #include "formats/thom_dsk.h" -DEFINE_DEVICE_TYPE(CD90_351, cd90_351_device, "cd90_351", "Thomson CD90-351 floppy drive controller") +DEFINE_DEVICE_TYPE(CD90_351, cd90_351_device, "cd90_351", "Thomson CD 90-351 Diskette Controller") cd90_351_device::cd90_351_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, CD90_351, tag, owner, 16000000), @@ -41,15 +41,15 @@ void cd90_351_device::rom_map(address_map &map) void cd90_351_device::io_map(address_map &map) { - map(0, 0).rw(FUNC(cd90_351_device::stat0_r), FUNC(cd90_351_device::cmd0_w)); - map(1, 1).rw(FUNC(cd90_351_device::stat1_r), FUNC(cd90_351_device::cmd1_w)); - map(2, 2).w(FUNC(cd90_351_device::cmd2_w)); - map(3, 3).rw(FUNC(cd90_351_device::rdata_r), FUNC(cd90_351_device::wdata_w)); - map(4, 4).w(FUNC(cd90_351_device::wclk_w)); - map(5, 5).w(FUNC(cd90_351_device::wsect_w)); - map(6, 6).w(FUNC(cd90_351_device::wtrck_w)); - map(7, 7).w(FUNC(cd90_351_device::wcell_w)); - map(8, 8).w(FUNC(cd90_351_device::bank_w)); + map(0x10, 0x10).rw(FUNC(cd90_351_device::stat0_r), FUNC(cd90_351_device::cmd0_w)); + map(0x11, 0x11).rw(FUNC(cd90_351_device::stat1_r), FUNC(cd90_351_device::cmd1_w)); + map(0x12, 0x12).w(FUNC(cd90_351_device::cmd2_w)); + map(0x13, 0x13).rw(FUNC(cd90_351_device::rdata_r), FUNC(cd90_351_device::wdata_w)); + map(0x14, 0x14).w(FUNC(cd90_351_device::wclk_w)); + map(0x15, 0x15).w(FUNC(cd90_351_device::wsect_w)); + map(0x16, 0x16).w(FUNC(cd90_351_device::wtrck_w)); + map(0x17, 0x17).w(FUNC(cd90_351_device::wcell_w)); + map(0x18, 0x18).w(FUNC(cd90_351_device::bank_w)); } const tiny_rom_entry *cd90_351_device::device_rom_region() const @@ -78,7 +78,7 @@ void cd90_351_device::device_add_mconfig(machine_config &config) void cd90_351_device::device_start() { m_rom_bank->configure_entries(0, 4, m_rom->base(), 0x800); - m_timer_motoroff = timer_alloc(ID_MOTOROFF); + m_timer_motoroff = timer_alloc(FUNC(cd90_351_device::motor_off), this); save_item(NAME(m_cmd0)); save_item(NAME(m_cmd1)); @@ -122,15 +122,11 @@ void cd90_351_device::device_reset() m_cur_floppy = nullptr; } -void cd90_351_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) +TIMER_CALLBACK_MEMBER(cd90_351_device::motor_off) { - switch(id) { - case ID_MOTOROFF: - logerror("motor off\n"); - if(m_cur_floppy) - m_cur_floppy->mon_w(1); - break; - } + logerror("motor off\n"); + if(m_cur_floppy) + m_cur_floppy->mon_w(1); } void cd90_351_device::device_post_load() |