diff options
Diffstat (limited to 'src/mame/drivers/royalmah.cpp')
-rw-r--r-- | src/mame/drivers/royalmah.cpp | 99 |
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") |