summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/royalmah.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/royalmah.cpp')
-rw-r--r--src/mame/drivers/royalmah.cpp99
1 files changed, 66 insertions, 33 deletions
diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp
index 0a6842e082e..185ac69cb9e 100644
--- a/src/mame/drivers/royalmah.cpp
+++ b/src/mame/drivers/royalmah.cpp
@@ -244,6 +244,39 @@ public:
void mjclub(machine_config &config);
void makaijan(machine_config &config);
void janyoup2(machine_config &config);
+ void cafetime_map(address_map &map);
+ void daisyari_iomap(address_map &map);
+ void dondenmj_iomap(address_map &map);
+ void ippatsu_iomap(address_map &map);
+ void janoh_map(address_map &map);
+ void janoh_sub_iomap(address_map &map);
+ void janoh_sub_map(address_map &map);
+ void janptr96_iomap(address_map &map);
+ void janptr96_map(address_map &map);
+ void jansou_map(address_map &map);
+ void jansou_sub_iomap(address_map &map);
+ void jansou_sub_map(address_map &map);
+ void janyoup2_iomap(address_map &map);
+ void majs101b_iomap(address_map &map);
+ void makaijan_iomap(address_map &map);
+ void mjapinky_iomap(address_map &map);
+ void mjapinky_map(address_map &map);
+ void mjclub_iomap(address_map &map);
+ void mjdejavu_map(address_map &map);
+ void mjderngr_iomap(address_map &map);
+ void mjdiplob_iomap(address_map &map);
+ void mjifb_map(address_map &map);
+ void mjtensin_map(address_map &map);
+ void mjvegasa_map(address_map &map);
+ void mjyarou_iomap(address_map &map);
+ void royalmah_iomap(address_map &map);
+ void royalmah_map(address_map &map);
+ void seljan_iomap(address_map &map);
+ void seljan_map(address_map &map);
+ void suzume_iomap(address_map &map);
+ void tahjong_iomap(address_map &map);
+ void tahjong_map(address_map &map);
+ void tontonb_iomap(address_map &map);
protected:
virtual void machine_start() override;
@@ -573,14 +606,14 @@ WRITE8_MEMBER(royalmah_state::mjclub_bank_w)
}
-static ADDRESS_MAP_START( royalmah_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::royalmah_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "mainbank" ) // banked ROMs not present in royalmah
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjapinky_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjapinky_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x7800, 0x7fff ) AM_RAM
@@ -589,7 +622,7 @@ static ADDRESS_MAP_START( mjapinky_map, AS_PROGRAM, 8, royalmah_state )
AM_RANGE( 0x8000, 0x8000 ) AM_READ(mjapinky_dsw_r )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tahjong_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::tahjong_map)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x4000, 0x6fff ) AM_ROMBANK("mainbank")
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
@@ -599,7 +632,7 @@ ADDRESS_MAP_END
-static ADDRESS_MAP_START( royalmah_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::royalmah_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -607,7 +640,7 @@ static ADDRESS_MAP_START( royalmah_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE(input_port_select_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( ippatsu_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::ippatsu_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -617,18 +650,18 @@ static ADDRESS_MAP_START( ippatsu_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x13, 0x13 ) AM_READ_PORT("DSW3")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( janyoup2_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janyoup2_iomap)
AM_IMPORT_FROM( ippatsu_iomap )
AM_RANGE(0x20, 0x20) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x21, 0x21) AM_DEVWRITE("crtc", mc6845_device, register_w)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( seljan_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::seljan_map)
AM_RANGE( 0x0000, 0x8fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0xe000, 0xefff ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( seljan_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::seljan_iomap)
AM_RANGE( 0x0001, 0x0001 ) AM_MIRROR(0x7f00) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x0002, 0x0003 ) AM_MIRROR(0x7f00) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
AM_RANGE( 0x0010, 0x0010 ) AM_MIRROR(0x7f00) AM_READ_PORT("DSW1") AM_WRITE(royalmah_palbank_w )
@@ -640,7 +673,7 @@ static ADDRESS_MAP_START( seljan_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x7e00, 0xffff ) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tahjong_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::tahjong_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -650,7 +683,7 @@ static ADDRESS_MAP_START( tahjong_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x13, 0x13 ) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( suzume_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::suzume_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -660,7 +693,7 @@ static ADDRESS_MAP_START( suzume_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x81, 0x81 ) AM_WRITE(suzume_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjyarou_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjyarou_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -669,7 +702,7 @@ static ADDRESS_MAP_START( mjyarou_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x12, 0x12 ) AM_READ_PORT("DSW2")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( dondenmj_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::dondenmj_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -680,7 +713,7 @@ static ADDRESS_MAP_START( dondenmj_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x87, 0x87 ) AM_WRITE(dynax_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( makaijan_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::makaijan_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -691,7 +724,7 @@ static ADDRESS_MAP_START( makaijan_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x86, 0x86 ) AM_WRITE(dynax_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( daisyari_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::daisyari_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -700,7 +733,7 @@ static ADDRESS_MAP_START( daisyari_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0xc0, 0xc0 ) AM_READWRITE(daisyari_dsw_r, daisyari_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjclub_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjclub_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_READWRITE(mjclub_dsw_r, mjclub_bank_w )
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -709,7 +742,7 @@ static ADDRESS_MAP_START( mjclub_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE(input_port_select_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjdiplob_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjdiplob_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -720,7 +753,7 @@ static ADDRESS_MAP_START( mjdiplob_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x63, 0x63 ) AM_READ_PORT("DSW3") // DSW3
ADDRESS_MAP_END
-static ADDRESS_MAP_START( tontonb_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::tontonb_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -731,7 +764,7 @@ static ADDRESS_MAP_START( tontonb_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x47, 0x47 ) AM_READ_PORT("DSW3") // DSW3
ADDRESS_MAP_END
-static ADDRESS_MAP_START( majs101b_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::majs101b_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -740,7 +773,7 @@ static ADDRESS_MAP_START( majs101b_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x00, 0x00 ) AM_READWRITE(majs101b_dsw_r, dynax_bank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjderngr_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjderngr_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, data_address_w)
@@ -753,7 +786,7 @@ static ADDRESS_MAP_START( mjderngr_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x60, 0x60 ) AM_WRITE(mjderngr_palbank_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( mjapinky_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjapinky_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x00, 0x00 ) AM_WRITE(mjapinky_bank_w )
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -763,7 +796,7 @@ static ADDRESS_MAP_START( mjapinky_iomap, AS_IO, 8, royalmah_state )
AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE(input_port_select_w )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( janoh_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janoh_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_SHARE("videoram")
@@ -773,7 +806,7 @@ ADDRESS_MAP_END
/* this CPU makes little sense - what is it for? why so many addresses accessed?
-- it puts a value in shared ram to allow the main CPU to boot, then.. ?
*/
-static ADDRESS_MAP_START( janoh_sub_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janoh_sub_map)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM
AM_RANGE( 0x4100, 0x413f ) AM_RAM
AM_RANGE( 0x6000, 0x607f ) AM_RAM
@@ -782,7 +815,7 @@ static ADDRESS_MAP_START( janoh_sub_map, AS_PROGRAM, 8, royalmah_state )
AM_RANGE( 0xf000, 0xffff ) AM_RAM AM_SHARE("nvram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( janoh_sub_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janoh_sub_iomap)
ADDRESS_MAP_END
/****************************************************************************
@@ -867,7 +900,7 @@ WRITE8_MEMBER(royalmah_state::jansou_sound_w)
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
-static ADDRESS_MAP_START( jansou_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::jansou_map)
AM_RANGE( 0x0000, 0x3fff ) AM_ROM AM_WRITENOP
AM_RANGE( 0x6000, 0x600f ) AM_WRITE(jansou_colortable_w)
@@ -885,12 +918,12 @@ static ADDRESS_MAP_START( jansou_map, AS_PROGRAM, 8, royalmah_state )
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_SHARE("videoram")
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jansou_sub_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::jansou_sub_map)
AM_RANGE( 0x0000, 0xffff ) AM_ROM AM_WRITENOP // tries to write to the stack at irq generation
ADDRESS_MAP_END
-static ADDRESS_MAP_START( jansou_sub_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::jansou_sub_iomap)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVREAD("soundlatch", generic_latch_8_device, read) AM_DEVWRITE("dac", dac_byte_interface, write)
ADDRESS_MAP_END
@@ -900,7 +933,7 @@ ADDRESS_MAP_END
Janputer '96
****************************************************************************/
-static ADDRESS_MAP_START( janptr96_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janptr96_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fff ) AM_RAMBANK("bank3") AM_SHARE("nvram") // nvram
AM_RANGE( 0x7000, 0x7fff ) AM_RAMBANK("rambank") // banked nvram
@@ -948,7 +981,7 @@ WRITE8_MEMBER(royalmah_state::janptr96_coin_counter_w)
machine().bookkeeping().coin_counter_w(1,data & 1); // out
}
-static ADDRESS_MAP_START( janptr96_iomap, AS_IO, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::janptr96_iomap)
AM_RANGE( 0x00, 0x00 ) AM_MIRROR(0xff00) AM_WRITE(janptr96_rombank_w ) // BANK ROM Select
AM_RANGE( 0x20, 0x20 ) AM_MIRROR(0xff00) AM_READWRITE(janptr96_unknown_r, janptr96_rambank_w )
AM_RANGE( 0x50, 0x50 ) AM_MIRROR(0xff00) AM_WRITE(mjderngr_palbank_w )
@@ -1023,7 +1056,7 @@ WRITE8_MEMBER(royalmah_state::mjifb_videoram_w)
m_videoram[offset + 0x4000] = data;
}
-static ADDRESS_MAP_START( mjifb_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjifb_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_SHARE("videoram")
@@ -1113,7 +1146,7 @@ WRITE8_MEMBER(royalmah_state::mjdejavu_rom_io_w)
logerror("%04X: unmapped input write at %04X = %02X\n", m_maincpu->pc(), offset,data);
}
-static ADDRESS_MAP_START( mjdejavu_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjdejavu_map)
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_SHARE("videoram")
@@ -1145,7 +1178,7 @@ WRITE8_MEMBER(royalmah_state::mjtensin_6ff3_w)
mjtensin_update_rombank();
}
-static ADDRESS_MAP_START( mjtensin_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjtensin_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x6fbf ) AM_RAM
AM_RANGE( 0x6fc1, 0x6fc1 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -1208,7 +1241,7 @@ WRITE8_MEMBER(royalmah_state::cafetime_7fe3_w)
// popmessage("%02x",data);
}
-static ADDRESS_MAP_START( cafetime_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::cafetime_map)
AM_RANGE( 0x0000, 0x5fff ) AM_ROM
AM_RANGE( 0x6000, 0x7eff ) AM_RAM AM_SHARE("nvram")
AM_RANGE( 0x7fc1, 0x7fc1 ) AM_DEVREAD("aysnd", ay8910_device, data_r)
@@ -1298,7 +1331,7 @@ READ8_MEMBER(royalmah_state::mjvegasa_12500_r)
return 0xff;
}
-static ADDRESS_MAP_START( mjvegasa_map, AS_PROGRAM, 8, royalmah_state )
+ADDRESS_MAP_START(royalmah_state::mjvegasa_map)
AM_RANGE( 0x00000, 0x05fff ) AM_ROM
AM_RANGE( 0x06000, 0x07fff ) AM_RAM AM_SHARE("nvram")