summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/skeleton/fs3216.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/skeleton/fs3216.cpp')
-rw-r--r--src/mame/skeleton/fs3216.cpp27
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)