diff options
Diffstat (limited to 'src/mame/skeleton/fs3216.cpp')
-rw-r--r-- | src/mame/skeleton/fs3216.cpp | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/mame/skeleton/fs3216.cpp b/src/mame/skeleton/fs3216.cpp index 11afcfc89fd..7d6cb59c4e2 100644 --- a/src/mame/skeleton/fs3216.cpp +++ b/src/mame/skeleton/fs3216.cpp @@ -23,6 +23,8 @@ #include "screen.h" +namespace { + class fs3216_state : public driver_device { public: @@ -52,7 +54,7 @@ private: void mmu_reg_w(offs_t offset, u16 data); u16 mmu_read(offs_t offset, u16 mem_mask); void mmu_write(offs_t offset, u16 data, u16 mem_mask); - DECLARE_WRITE_LINE_MEMBER(mmu_reset_w); + void mmu_reset_w(int state); void mmu_init_w(u16 data); u16 irq_r(); @@ -63,10 +65,10 @@ private: u16 earom_recall_r(); u16 earom_store_r(); - DECLARE_WRITE_LINE_MEMBER(fdc_int_w); - DECLARE_WRITE_LINE_MEMBER(fdc_drq_w); - DECLARE_WRITE_LINE_MEMBER(fdc_hdl_w); - DECLARE_WRITE_LINE_MEMBER(floppy_idx_w); + void fdc_int_w(int state); + void fdc_drq_w(int state); + void fdc_hdl_w(int state); + void floppy_idx_w(int state); void fdc_us_w(u8 data); u16 floppy_select_r(offs_t offset); void floppy_select_w(offs_t offset, u16 data); @@ -201,7 +203,7 @@ void fs3216_state::mmu_write(offs_t offset, u16 data, u16 mem_mask) m_clb->write16(clbaddr, data, mem_mask); } -WRITE_LINE_MEMBER(fs3216_state::mmu_reset_w) +void fs3216_state::mmu_reset_w(int state) { if (state) m_from_reset = true; @@ -254,7 +256,7 @@ u16 fs3216_state::earom_store_r() return 0xffff; } -WRITE_LINE_MEMBER(fs3216_state::fdc_int_w) +void fs3216_state::fdc_int_w(int state) { if (state) m_floppy_status |= 0x02; @@ -262,7 +264,7 @@ WRITE_LINE_MEMBER(fs3216_state::fdc_int_w) m_floppy_status &= 0xfd; } -WRITE_LINE_MEMBER(fs3216_state::fdc_drq_w) +void fs3216_state::fdc_drq_w(int state) { if (state) { @@ -280,7 +282,7 @@ WRITE_LINE_MEMBER(fs3216_state::fdc_drq_w) } } -WRITE_LINE_MEMBER(fs3216_state::fdc_hdl_w) +void fs3216_state::fdc_hdl_w(int state) { if (state) m_floppy_status |= 0x40; @@ -288,7 +290,7 @@ WRITE_LINE_MEMBER(fs3216_state::fdc_hdl_w) m_floppy_status &= 0xbf; } -WRITE_LINE_MEMBER(fs3216_state::floppy_idx_w) +void fs3216_state::floppy_idx_w(int state) { if (state) m_floppy_status |= 0x20; @@ -467,7 +469,7 @@ void fs3216_state::fs3216(machine_config &config) M68000(config, m_maincpu, 44.2368_MHz_XTAL / 8); // 5.5 MHz m_maincpu->set_addrmap(AS_PROGRAM, &fs3216_state::main_map); m_maincpu->set_addrmap(m68000_device::AS_CPU_SPACE, &fs3216_state::fc7_map); - m_maincpu->set_reset_callback(FUNC(fs3216_state::mmu_reset_w)); + m_maincpu->reset_cb().set(FUNC(fs3216_state::mmu_reset_w)); ADDRESS_MAP_BANK(config, m_clb); m_clb->set_addrmap(0, &fs3216_state::clb_map); @@ -561,4 +563,7 @@ ROM_START(fs3216) ROM_LOAD("u26_ap2002r4f_b3ae6f8966230689d34c82b3c9d817ac.bin", 0x000, 0x400, CRC(fcd31bff) SHA1(ae34c6eb6659dc992896b388be1badfab0fd7971)) ROM_END +} // anonymous namespace + + COMP(1982, fs3216, 0, 0, fs3216, fs3216, fs3216_state, empty_init, "Fortune Systems", "Fortune 32:16", MACHINE_IS_SKELETON) |