diff options
Diffstat (limited to 'src/mame/drivers/fitfight.cpp')
-rw-r--r-- | src/mame/drivers/fitfight.cpp | 103 |
1 files changed, 53 insertions, 50 deletions
diff --git a/src/mame/drivers/fitfight.cpp b/src/mame/drivers/fitfight.cpp index 0d629572446..1020192cb6a 100644 --- a/src/mame/drivers/fitfight.cpp +++ b/src/mame/drivers/fitfight.cpp @@ -130,18 +130,19 @@ WRITE16_MEMBER(fitfight_state::fitfight_700000_w) m_fof_700000_data = data; } -ADDRESS_MAP_START(fitfight_state::fitfight_main_map) - AM_RANGE(0x000000, 0x0fffff) AM_ROM +void fitfight_state::fitfight_main_map(address_map &map) +{ + map(0x000000, 0x0fffff).rom(); - AM_RANGE(0x100000, 0x100001) AM_WRITEONLY AM_SHARE("fof_100000") + map(0x100000, 0x100001).writeonly().share("fof_100000"); //written at scanline 5, allways 1. Used by histryma/fitfight @0x0000ec2c/@0x0000f076 - AM_RANGE(0x200000, 0x200001) AM_READ_PORT("P1_P2") - AM_RANGE(0x300000, 0x300001) AM_READ_PORT("EXTRA") // for 'histryma' only - AM_RANGE(0x400000, 0x400001) AM_READ_PORT("SYSTEM_DSW2") - AM_RANGE(0x500000, 0x500001) AM_READ_PORT("DSW3_DSW1") + map(0x200000, 0x200001).portr("P1_P2"); + map(0x300000, 0x300001).portr("EXTRA"); // for 'histryma' only + map(0x400000, 0x400001).portr("SYSTEM_DSW2"); + map(0x500000, 0x500001).portr("DSW3_DSW1"); - AM_RANGE(0x600000, 0x600001) AM_WRITEONLY AM_SHARE("fof_600000") + map(0x600000, 0x600001).writeonly().share("fof_600000"); // Is 0x600000 controlling the slave audio CPU? data is 0x1111000zzzzzzzzz (9 sign. bits) // Used by histryma/fitfight: // @0x000031ae/0x00002b3a: 0xF000, once, during POST @@ -152,76 +153,78 @@ ADDRESS_MAP_START(fitfight_state::fitfight_main_map) // @0x000037a6/0x000030e6: 0x??dd byte from 0xe08c05, 0xF101 then 0xF001/0xF157 then 0xF057 // AM_RANGE(0x700000, 0x700001) AM_READ(xxxx) /* see init */ - AM_RANGE(0x700000, 0x700001) AM_WRITE(fitfight_700000_w) AM_SHARE("fof_700000") + map(0x700000, 0x700001).w(this, FUNC(fitfight_state::fitfight_700000_w)).share("fof_700000"); // kept at 0xe07900/0xe04c56 - AM_RANGE(0x800000, 0x800001) AM_RAM AM_SHARE("fof_800000") + map(0x800000, 0x800001).ram().share("fof_800000"); //written at scanline 1, allways 0. Used by histryma/fitfight @0x00001d76/@0x00000f6a - AM_RANGE(0x900000, 0x900001) AM_RAM AM_SHARE("fof_900000") //mid tilemap scroll + map(0x900000, 0x900001).ram().share("fof_900000"); //mid tilemap scroll // fitfigth: @0x00002b42,@0x00000f76 // histryma: @0x000031b6,@0x00001d82 - AM_RANGE(0xa00000, 0xa00001) AM_RAM AM_SHARE("fof_a00000") //bak tilemap scroll + map(0xa00000, 0xa00001).ram().share("fof_a00000"); //bak tilemap scroll // fitfight: @0x00002b4a,@0x00000f82 // histryma: @0x000031be,@0x00001d8e - AM_RANGE(0xb00000, 0xb03fff) AM_RAM /* unused layer? */ - AM_RANGE(0xb04000, 0xb07fff) AM_RAM_WRITE(fof_bak_tileram_w) AM_SHARE("fof_bak_tileram") - AM_RANGE(0xb08000, 0xb0bfff) AM_RAM_WRITE(fof_mid_tileram_w) AM_SHARE("fof_mid_tileram") - AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM_WRITE(fof_txt_tileram_w) AM_SHARE("fof_txt_tileram") + map(0xb00000, 0xb03fff).ram(); /* unused layer? */ + map(0xb04000, 0xb07fff).ram().w(this, FUNC(fitfight_state::fof_bak_tileram_w)).share("fof_bak_tileram"); + map(0xb08000, 0xb0bfff).ram().w(this, FUNC(fitfight_state::fof_mid_tileram_w)).share("fof_mid_tileram"); + map(0xb0c000, 0xb0ffff).ram().w(this, FUNC(fitfight_state::fof_txt_tileram_w)).share("fof_txt_tileram"); - AM_RANGE(0xb10000, 0xb13fff) AM_RAM //used by histryma @0x0000b25a - AM_RANGE(0xb14000, 0xb17fff) AM_RAM //used by histryma @0x0000b25a,b270 - AM_RANGE(0xb18000, 0xb1bfff) AM_RAM //used by histryma @0x0000b25a,b270,b286 + map(0xb10000, 0xb13fff).ram(); //used by histryma @0x0000b25a + map(0xb14000, 0xb17fff).ram(); //used by histryma @0x0000b25a,b270 + map(0xb18000, 0xb1bfff).ram(); //used by histryma @0x0000b25a,b270,b286 - AM_RANGE(0xc00000, 0xc00fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") + map(0xc00000, 0xc00fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("spriteram") + map(0xd00000, 0xd007ff).ram().share("spriteram"); - AM_RANGE(0xe00000, 0xe0ffff) AM_RAM - AM_RANGE(0xff0000, 0xffffff) AM_RAM // hot mind uses RAM here (mirror?) -ADDRESS_MAP_END + map(0xe00000, 0xe0ffff).ram(); + map(0xff0000, 0xffffff).ram(); // hot mind uses RAM here (mirror?) +} -ADDRESS_MAP_START(fitfight_state::bbprot_main_map) - AM_RANGE(0x000000, 0x0fffff) AM_ROM +void fitfight_state::bbprot_main_map(address_map &map) +{ + map(0x000000, 0x0fffff).rom(); - AM_RANGE(0x100000, 0x100001) AM_WRITEONLY AM_SHARE("fof_100000") + map(0x100000, 0x100001).writeonly().share("fof_100000"); - AM_RANGE(0x300000, 0x300001) AM_READ_PORT("P1_P2") - AM_RANGE(0x380000, 0x380001) AM_READ_PORT("EXTRA") - AM_RANGE(0x400000, 0x400001) AM_READ_PORT("SYSTEM_DSW2") - AM_RANGE(0x480000, 0x480001) AM_READ_PORT("DSW3_DSW1") + map(0x300000, 0x300001).portr("P1_P2"); + map(0x380000, 0x380001).portr("EXTRA"); + map(0x400000, 0x400001).portr("SYSTEM_DSW2"); + map(0x480000, 0x480001).portr("DSW3_DSW1"); - AM_RANGE(0x600000, 0x600001) AM_WRITEONLY AM_SHARE("fof_600000") + map(0x600000, 0x600001).writeonly().share("fof_600000"); - AM_RANGE(0x700000, 0x700001) AM_READWRITE(bbprot_700000_r, fitfight_700000_w) AM_SHARE("fof_700000") + map(0x700000, 0x700001).rw(this, FUNC(fitfight_state::bbprot_700000_r), FUNC(fitfight_state::fitfight_700000_w)).share("fof_700000"); - AM_RANGE(0x800000, 0x800001) AM_WRITEONLY AM_SHARE("fof_800000") - AM_RANGE(0x900000, 0x900001) AM_WRITEONLY AM_SHARE("fof_900000") - AM_RANGE(0xa00000, 0xa00001) AM_WRITEONLY AM_SHARE("fof_a00000") + map(0x800000, 0x800001).writeonly().share("fof_800000"); + map(0x900000, 0x900001).writeonly().share("fof_900000"); + map(0xa00000, 0xa00001).writeonly().share("fof_a00000"); - AM_RANGE(0xb00000, 0xb03fff) AM_WRITENOP /* unused layer? */ - AM_RANGE(0xb04000, 0xb07fff) AM_RAM_WRITE(fof_bak_tileram_w) AM_SHARE("fof_bak_tileram") - AM_RANGE(0xb08000, 0xb0bfff) AM_RAM_WRITE(fof_mid_tileram_w) AM_SHARE("fof_mid_tileram") - AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM_WRITE(fof_txt_tileram_w) AM_SHARE("fof_txt_tileram") + map(0xb00000, 0xb03fff).nopw(); /* unused layer? */ + map(0xb04000, 0xb07fff).ram().w(this, FUNC(fitfight_state::fof_bak_tileram_w)).share("fof_bak_tileram"); + map(0xb08000, 0xb0bfff).ram().w(this, FUNC(fitfight_state::fof_mid_tileram_w)).share("fof_mid_tileram"); + map(0xb0c000, 0xb0ffff).ram().w(this, FUNC(fitfight_state::fof_txt_tileram_w)).share("fof_txt_tileram"); - AM_RANGE(0xc00000, 0xc00fff) AM_READONLY - AM_RANGE(0xc00000, 0xc03fff) AM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") + map(0xc00000, 0xc00fff).readonly(); + map(0xc00000, 0xc03fff).w(m_palette, FUNC(palette_device::write16)).share("palette"); - AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("spriteram") + map(0xd00000, 0xd007ff).ram().share("spriteram"); - AM_RANGE(0xe00000, 0xe0ffff) AM_RAM -ADDRESS_MAP_END + map(0xe00000, 0xe0ffff).ram(); +} /* 7810 (?) sound cpu */ -ADDRESS_MAP_START(fitfight_state::snd_mem) - AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") /* ??? External ROM */ - AM_RANGE(0x8000, 0x87ff) AM_RAM -ADDRESS_MAP_END +void fitfight_state::snd_mem(address_map &map) +{ + map(0x0000, 0x3fff).rom(); + map(0x4000, 0x7fff).bankr("bank1"); /* ??? External ROM */ + map(0x8000, 0x87ff).ram(); +} READ8_MEMBER(fitfight_state::snd_porta_r) { |