summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/tdv2324.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/tdv2324.cpp')
-rw-r--r--src/mame/drivers/tdv2324.cpp49
1 files changed, 27 insertions, 22 deletions
diff --git a/src/mame/drivers/tdv2324.cpp b/src/mame/drivers/tdv2324.cpp
index 7a4311fdae2..fd66194ebce 100644
--- a/src/mame/drivers/tdv2324.cpp
+++ b/src/mame/drivers/tdv2324.cpp
@@ -132,67 +132,72 @@ WRITE8_MEMBER( tdv2324_state::tdv2324_main_io_e2 )
// ADDRESS_MAP( tdv2324_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(tdv2324_state::tdv2324_mem)
- AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x0800) AM_ROM AM_REGION(P8085AH_0_TAG, 0)
+void tdv2324_state::tdv2324_mem(address_map &map)
+{
+ map(0x0000, 0x07ff).mirror(0x0800).rom().region(P8085AH_0_TAG, 0);
/* when copying code to 4000 area it runs right off the end of rom;
* I'm not sure if its supposed to mirror or read as open bus */
// AM_RANGE(0x4000, 0x5fff) AM_RAM // 0x4000 has the boot code copied to it, 5fff and down are the stack
// AM_RANGE(0x6000, 0x6fff) AM_RAM // used by the relocated boot code; shared?
- AM_RANGE(0x0800, 0xffff) AM_RAM
-ADDRESS_MAP_END
+ map(0x0800, 0xffff).ram();
+}
//-------------------------------------------------
// ADDRESS_MAP( tdv2324_io )
//-------------------------------------------------
-ADDRESS_MAP_START(tdv2324_state::tdv2324_io)
+void tdv2324_state::tdv2324_io(address_map &map)
+{
//ADDRESS_MAP_GLOBAL_MASK(0xff)
/* 0x30 is read by main code and if high bit isn't set at some point it will never get anywhere */
/* e0, e2, e8, ea are written to */
/* 30, e6 and e2 are readable */
- AM_RANGE(0x30, 0x30) AM_READ(tdv2324_main_io_30)
+ map(0x30, 0x30).r(this, FUNC(tdv2324_state::tdv2324_main_io_30));
// AM_RANGE(0xe2, 0xe2) AM_WRITE(tdv2324_main_io_e2) console output
- AM_RANGE(0xe6, 0xe6) AM_READ(tdv2324_main_io_e6)
+ map(0xe6, 0xe6).r(this, FUNC(tdv2324_state::tdv2324_main_io_e6));
// AM_RANGE(0x, 0x) AM_DEVREADWRITE(P8253_5_0_TAG, pit8253_device, read, write)
// AM_RANGE(0x, 0x) AM_DEVREADWRITE(MK3887N4_TAG, z80dart_device, ba_cd_r, ba_cd_w)
// AM_RANGE(0x, 0x) AM_DEVREADWRITE(P8259A_TAG, pic8259_device, read, write)
-ADDRESS_MAP_END
+}
//-------------------------------------------------
// ADDRESS_MAP( tdv2324_sub_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(tdv2324_state::tdv2324_sub_mem)
- AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION(P8085AH_1_TAG, 0)
- AM_RANGE(0x4000, 0x47ff) AM_RAM
- AM_RANGE(0x5000, 0x53ff) AM_RAM // EAROM
- AM_RANGE(0x6000, 0x7fff) AM_RAM AM_SHARE("video_ram")
-ADDRESS_MAP_END
+void tdv2324_state::tdv2324_sub_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).rom().region(P8085AH_1_TAG, 0);
+ map(0x4000, 0x47ff).ram();
+ map(0x5000, 0x53ff).ram(); // EAROM
+ map(0x6000, 0x7fff).ram().share("video_ram");
+}
//-------------------------------------------------
// ADDRESS_MAP( tdv2324_sub_io )
//-------------------------------------------------
-ADDRESS_MAP_START(tdv2324_state::tdv2324_sub_io)
+void tdv2324_state::tdv2324_sub_io(address_map &map)
+{
//ADDRESS_MAP_GLOBAL_MASK(0xff)
/* 20, 23, 30-36, 38, 3a, 3c, 3e, 60, 70 are written to */
- AM_RANGE(0x20, 0x23) AM_DEVREADWRITE(P8253_5_1_TAG, pit8253_device, read, write)
- AM_RANGE(0x30, 0x3f) AM_DEVREADWRITE(TMS9937NL_TAG, tms9927_device, read, write) // TODO: this is supposed to be a 9937, which is not quite the same as 9927
-ADDRESS_MAP_END
+ map(0x20, 0x23).rw(m_pit1, FUNC(pit8253_device::read), FUNC(pit8253_device::write));
+ map(0x30, 0x3f).rw(m_tms, FUNC(tms9927_device::read), FUNC(tms9927_device::write)); // TODO: this is supposed to be a 9937, which is not quite the same as 9927
+}
//-------------------------------------------------
// ADDRESS_MAP( tdv2324_fdc_mem )
//-------------------------------------------------
-ADDRESS_MAP_START(tdv2324_state::tdv2324_fdc_mem)
+void tdv2324_state::tdv2324_fdc_mem(address_map &map)
+{
// the following two are probably enabled/disabled via the JP2 jumper block next to the fdc cpu
//AM_RANGE(0x0000, 0x001f) AM_RAM // on-6802-die ram (optionally battery backed)
//AM_RANGE(0x0020, 0x007f) AM_RAM // on-6802-die ram
- AM_RANGE(0x0000, 0x07ff) AM_RAM // TMM2016AP-12 @ U14, tested with A5,5A pattern
+ map(0x0000, 0x07ff).ram(); // TMM2016AP-12 @ U14, tested with A5,5A pattern
//AM_RANGE(0x1000, 0x17ff) AM_RAM // TMM2016AP-12 @ U80, address is wrong
// the 3xxx area appears to be closely involved in fdc or other i/o
// in particular, reads from 30xx, 38xx, 3Cxx may be actually writes to certain fdc registers with data xx?
@@ -201,8 +206,8 @@ ADDRESS_MAP_START(tdv2324_state::tdv2324_fdc_mem)
// 0x8000 can also be written to
// 0x6000 can also be read from and written to
// Somewhere in here, the FDC chip and the hard disk interface live
- AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION(MC68B02P_TAG, 0) // rom "962014 // -4-" @U15
-ADDRESS_MAP_END
+ map(0xe000, 0xffff).rom().region(MC68B02P_TAG, 0); // rom "962014 // -4-" @U15
+}