summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hp700.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hp700.cpp')
-rw-r--r--src/mame/drivers/hp700.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/mame/drivers/hp700.cpp b/src/mame/drivers/hp700.cpp
index 1b93c53f8af..53a6bdb3e17 100644
--- a/src/mame/drivers/hp700.cpp
+++ b/src/mame/drivers/hp700.cpp
@@ -17,23 +17,27 @@ public:
hp700_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
+ , m_duart(*this, "duart")
{ }
void hp700_92(machine_config &config);
+ void io_map(address_map &map);
+ void mem_map(address_map &map);
private:
required_device<cpu_device> m_maincpu;
+ required_device<scn2681_device> m_duart;
};
-static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, hp700_state )
+ADDRESS_MAP_START(hp700_state::mem_map)
AM_RANGE(0x00000, 0x1ffff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0x20000, 0x2ffff) AM_RAM
AM_RANGE(0x30000, 0x31fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x34000, 0x34000) AM_READNOP
- AM_RANGE(0x38000, 0x38fff) AM_DEVREADWRITE_MOD("duart", scn2681_device, read, write, rshift<8>)
+ ;map(0x38000, 0x38fff).lrw8("duart_rw", [this](address_space &space, offs_t offset, u8 mem_mask){ return m_duart->read(space, offset >> 8, mem_mask); }, [this](address_space &space, offs_t offset, u8 data, u8 mem_mask){ m_duart->write(space, offset >> 8, data, mem_mask); });
AM_RANGE(0xffff0, 0xfffff) AM_ROM AM_REGION("maincpu", 0x1fff0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( io_map, AS_IO, 8, hp700_state )
+ADDRESS_MAP_START(hp700_state::io_map)
AM_RANGE(0x00f2, 0x00f2) AM_WRITENOP
ADDRESS_MAP_END