summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/seibucats.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/seibucats.cpp')
-rw-r--r--src/mame/drivers/seibucats.cpp45
1 files changed, 23 insertions, 22 deletions
diff --git a/src/mame/drivers/seibucats.cpp b/src/mame/drivers/seibucats.cpp
index 315b9dcfd90..a72692216ca 100644
--- a/src/mame/drivers/seibucats.cpp
+++ b/src/mame/drivers/seibucats.cpp
@@ -163,33 +163,34 @@ WRITE16_MEMBER(seibucats_state::aux_rtc_w)
{
}
-ADDRESS_MAP_START(seibucats_state::seibucats_map)
+void seibucats_state::seibucats_map(address_map &map)
+{
// TODO: map devices
- AM_RANGE(0x00000000, 0x0003ffff) AM_RAM AM_SHARE("mainram")
+ map(0x00000000, 0x0003ffff).ram().share("mainram");
- AM_RANGE(0x00000010, 0x00000013) AM_READ8(spi_status_r, 0x000000ff)
- AM_RANGE(0x00000400, 0x00000403) AM_WRITE16(input_select_w, 0x0000ffff)
- AM_RANGE(0x00000404, 0x00000407) AM_WRITE16(output_latch_w, 0x0000ffff)
- AM_RANGE(0x00000484, 0x00000487) AM_WRITE(palette_dma_start_w)
- AM_RANGE(0x00000490, 0x00000493) AM_WRITE(video_dma_length_w)
- AM_RANGE(0x00000494, 0x00000497) AM_WRITE(video_dma_address_w)
- AM_RANGE(0x00000560, 0x00000563) AM_WRITE16(sprite_dma_start_w, 0xffff0000)
+ map(0x00000010, 0x00000010).r(this, FUNC(seibucats_state::spi_status_r));
+ map(0x00000400, 0x00000401).w(this, FUNC(seibucats_state::input_select_w));
+ map(0x00000404, 0x00000405).w(this, FUNC(seibucats_state::output_latch_w));
+ map(0x00000484, 0x00000487).w(this, FUNC(seibucats_state::palette_dma_start_w));
+ map(0x00000490, 0x00000493).w(this, FUNC(seibucats_state::video_dma_length_w));
+ map(0x00000494, 0x00000497).w(this, FUNC(seibucats_state::video_dma_address_w));
+ map(0x00000562, 0x00000563).w(this, FUNC(seibucats_state::sprite_dma_start_w));
- AM_RANGE(0x00000600, 0x00000607) AM_READ16(input_mux_r, 0x0000ffff)
+ map(0x00000600, 0x00000607).r(this, FUNC(seibucats_state::input_mux_r)).umask32(0x0000ffff);
- AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_REGION("ipl", 0) AM_WRITENOP // emjjoshi attempts to write there?
+ map(0x00200000, 0x003fffff).rom().region("ipl", 0).nopw(); // emjjoshi attempts to write there?
// following are likely to be Seibu CATS specific
- AM_RANGE(0x01200000, 0x01200007) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0x000000ff)
- AM_RANGE(0x01200100, 0x01200107) AM_WRITENOP // YMF721-S MIDI data
- AM_RANGE(0x01200104, 0x01200107) AM_READNOP // YMF721-S MIDI status
- AM_RANGE(0x01200200, 0x01200203) AM_DEVREADWRITE8("usart1", i8251_device, data_r, data_w, 0x000000ff)
- AM_RANGE(0x01200204, 0x01200207) AM_DEVREADWRITE8("usart1", i8251_device, status_r, control_w, 0x000000ff)
- AM_RANGE(0x01200300, 0x01200303) AM_DEVREADWRITE8("usart2", i8251_device, data_r, data_w, 0x000000ff)
- AM_RANGE(0x01200304, 0x01200307) AM_DEVREADWRITE8("usart2", i8251_device, status_r, control_w, 0x000000ff)
- AM_RANGE(0xa0000000, 0xa1ffffff) AM_NOP // NVRAM on ROM board
- AM_RANGE(0xa2000000, 0xa2000003) AM_WRITE16(aux_rtc_w, 0x0000ffff)
- AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("ipl", 0)
-ADDRESS_MAP_END
+ map(0x01200000, 0x01200007).rw("ymz", FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask32(0x000000ff);
+ map(0x01200100, 0x01200107).nopw(); // YMF721-S MIDI data
+ map(0x01200104, 0x01200107).nopr(); // YMF721-S MIDI status
+ map(0x01200200, 0x01200200).rw("usart1", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
+ map(0x01200204, 0x01200204).rw("usart1", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
+ map(0x01200300, 0x01200300).rw("usart2", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
+ map(0x01200304, 0x01200304).rw("usart2", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
+ map(0xa0000000, 0xa1ffffff).noprw(); // NVRAM on ROM board
+ map(0xa2000000, 0xa2000001).w(this, FUNC(seibucats_state::aux_rtc_w));
+ map(0xffe00000, 0xffffffff).rom().region("ipl", 0);
+}
static INPUT_PORTS_START( spi_mahjong_keyboard )
PORT_START("KEY.0")