all: ram auto-sharing is going away, so fix drivers relying on it [O. Galibert]

This commit is contained in:
Olivier Galibert 2019-05-06 09:38:16 +02:00
parent d3132cc13b
commit d5dd5c1ce9
82 changed files with 325 additions and 314 deletions

View File

@ -588,7 +588,6 @@ void atari_cage_device::cage_map(address_map &map)
map(0x200000, 0x200000).nopw();
map(0x400000, 0x47ffff).bankr("bootbank");
map(0x808000, 0x8080ff).rw(FUNC(atari_cage_device::tms32031_io_r), FUNC(atari_cage_device::tms32031_io_w));
map(0x809800, 0x809fff).ram();
map(0xa00000, 0xa00000).rw(FUNC(atari_cage_device::cage_from_main_r), FUNC(atari_cage_device::cage_to_main_w));
map(0xc00000, 0xffffff).bankr("mainbank");
}
@ -600,7 +599,6 @@ void atari_cage_seattle_device::cage_map_seattle(address_map &map)
map(0x200000, 0x200000).nopw();
map(0x400000, 0x47ffff).bankr("bootbank");
map(0x808000, 0x8080ff).rw(FUNC(atari_cage_seattle_device::tms32031_io_r), FUNC(atari_cage_seattle_device::tms32031_io_w));
map(0x809800, 0x809fff).ram();
map(0xa00000, 0xa00000).rw(FUNC(atari_cage_seattle_device::cage_from_main_r), FUNC(atari_cage_seattle_device::cage_from_main_ack_w));
map(0xa00001, 0xa00001).w(FUNC(atari_cage_seattle_device::cage_to_main_w));
map(0xa00003, 0xa00003).r(FUNC(atari_cage_seattle_device::cage_io_status_r));

View File

@ -154,11 +154,12 @@ void ambush_state::bootleg_map(address_map &map)
{
map(0x0000, 0x5fff).rom();
map(0x6000, 0x6fff).ram();
map(0x7000, 0x77ff).ram();
map(0x7000, 0x71ff).share("sprite_ram");
map(0x7200, 0x72ff).share("attribute_ram");
map(0x7380, 0x739f).share("scroll_ram"); // not used on bootlegs?
map(0x7400, 0x77ff).share("video_ram");
map(0x7000, 0x71ff).ram().share("sprite_ram");
map(0x7200, 0x72ff).ram().share("attribute_ram");
map(0x7300, 0x737f).ram();
map(0x7380, 0x739f).ram().share("scroll_ram"); // not used on bootlegs?
map(0x73a0, 0x73ff).ram();
map(0x7400, 0x77ff).ram().share("video_ram");
map(0x8000, 0x9fff).rom();
map(0xa000, 0xa000).r("watchdog", FUNC(watchdog_timer_device::reset_r));
map(0xa100, 0xa100).portr("sw1");

View File

@ -1430,8 +1430,7 @@ void a4000_state::a400030_mem(address_map &map)
{
map.unmap_value_high();
a4000_mem(map);
map(0x07000000, 0x07dfffff).noprw(); // motherboard ram
map(0x07e00000, 0x07ffffff).ram(); // motherboard ram (up to 16mb), grows downward
map(0x07000000, 0x07dfffff).noprw(); // Drop the first 2Mb
}
// 2MB chip RAM and CD-ROM

View File

@ -221,13 +221,14 @@ void appoooh_state::main_map(address_map &map)
map(0xe000, 0xe7ff).ram();
map(0xe800, 0xefff).ram(); /* RAM ? */
map(0xf000, 0xffff).ram();
map(0xf000, 0xf01f).share("spriteram");
map(0xf020, 0xf3ff).w(FUNC(appoooh_state::fg_videoram_w)).share("fg_videoram");
map(0xf420, 0xf7ff).w(FUNC(appoooh_state::fg_colorram_w)).share("fg_colorram");
map(0xf800, 0xf81f).share("spriteram_2");
map(0xf820, 0xfbff).w(FUNC(appoooh_state::bg_videoram_w)).share("bg_videoram");
map(0xfc20, 0xffff).w(FUNC(appoooh_state::bg_colorram_w)).share("bg_colorram");
map(0xf000, 0xf01f).ram().share("spriteram");
map(0xf020, 0xf3ff).ram().w(FUNC(appoooh_state::fg_videoram_w)).share("fg_videoram");
map(0xf400, 0xf41f).ram();
map(0xf420, 0xf7ff).ram().w(FUNC(appoooh_state::fg_colorram_w)).share("fg_colorram");
map(0xf800, 0xf81f).ram().share("spriteram_2");
map(0xf820, 0xfbff).ram().w(FUNC(appoooh_state::bg_videoram_w)).share("bg_videoram");
map(0xfc00, 0xfc1f).ram();
map(0xfc20, 0xffff).ram().w(FUNC(appoooh_state::bg_colorram_w)).share("bg_colorram");
}
void appoooh_state::decrypted_opcodes_map(address_map &map)

View File

@ -418,11 +418,9 @@ WRITE16_MEMBER(armedf_state::irq_lv2_ack_w)
*
*************************************/
void armedf_state::terraf_map(address_map &map)
void armedf_state::common_map(address_map &map)
{
map(0x000000, 0x05ffff).rom();
map(0x060000, 0x0603ff).ram().share("spriteram");
map(0x060400, 0x063fff).ram();
map(0x064000, 0x064fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x068000, 0x069fff).rw(FUNC(armedf_state::nb1414m4_text_videoram_r), FUNC(armedf_state::nb1414m4_text_videoram_w)).umask16(0x00ff);
map(0x06a000, 0x06a9ff).ram();
@ -441,9 +439,16 @@ void armedf_state::terraf_map(address_map &map)
map(0x07c00e, 0x07c00f).w(FUNC(armedf_state::irq_lv1_ack_w));
}
void armedf_state::terraf_map(address_map &map)
{
common_map(map);
map(0x060000, 0x0603ff).ram().share("spriteram");
map(0x060400, 0x063fff).ram();
}
void armedf_state::kozure_map(address_map &map)
{
terraf_map(map);
common_map(map);
map(0x060000, 0x060fff).ram().share("spriteram");
map(0x061000, 0x063fff).ram();
// AM_RANGE(0x07c000, 0x07c001) AM_WRITE(kozure_io_w)

View File

@ -136,6 +136,9 @@
*
* Protected RAM
*
* If not specified in the memory map,
* then it's at the start of the nvram
*
*************************************/
WRITE8_MEMBER(astrocde_state::protected_ram_enable_w)
@ -147,14 +150,14 @@ WRITE8_MEMBER(astrocde_state::protected_ram_enable_w)
READ8_MEMBER(astrocde_state::protected_ram_r)
{
m_ram_write_enable = false;
return m_protected_ram[offset];
return m_protected_ram ? m_protected_ram[offset] : m_nvram[offset];
}
WRITE8_MEMBER(astrocde_state::protected_ram_w)
{
if (m_ram_write_enable)
m_protected_ram[offset] = data;
(m_protected_ram ? m_protected_ram : m_nvram)[offset] = data;
m_ram_write_enable = false;
}
@ -458,7 +461,7 @@ void astrocde_state::robby_map(address_map &map)
map(0x4000, 0x7fff).ram().share("videoram");
map(0x8000, 0xdfff).rom();
map(0xe000, 0xe7ff).ram().share("nvram");
map(0xe000, 0xe1ff).rw(FUNC(astrocde_state::protected_ram_r), FUNC(astrocde_state::protected_ram_w)).share("protected_ram");
map(0xe000, 0xe1ff).rw(FUNC(astrocde_state::protected_ram_r), FUNC(astrocde_state::protected_ram_w));
map(0xe800, 0xffff).ram();
}
@ -478,7 +481,7 @@ void astrocde_state::demndrgn_map(address_map &map)
void astrocde_state::profpac_map(address_map &map)
{
demndrgn_map(map);
map(0xe000, 0xe1ff).rw(FUNC(astrocde_state::protected_ram_r), FUNC(astrocde_state::protected_ram_w)).share("protected_ram");
map(0xe000, 0xe1ff).rw(FUNC(astrocde_state::protected_ram_r), FUNC(astrocde_state::protected_ram_w));
}

View File

@ -193,11 +193,13 @@ void atarig1_state::main_map(address_map &map)
map(0xfd8000, 0xfdffff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
/* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/
map(0xfe8000, 0xfe89ff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0xff0000, 0xffffff).ram();
map(0xff0000, 0xff0fff).ram().share("rle");
map(0xff2000, 0xff2001).w(FUNC(atarig1_state::mo_command_w)).share("mo_command");
map(0xff4000, 0xff5fff).w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0xff6000, 0xff6fff).w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
map(0xff1000, 0xff1fff).ram();
map(0xff2000, 0xff2001).ram().w(FUNC(atarig1_state::mo_command_w)).share("mo_command");
map(0xff2002, 0xff3fff).ram();
map(0xff4000, 0xff5fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0xff6000, 0xff6fff).ram().w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
map(0xff7000, 0xffffff).ram();
}

View File

@ -336,11 +336,12 @@ void atarig42_state::main_map(address_map &map)
map(0xf80000, 0xf80003).w(m_asic65, FUNC(asic65_device::data_w));
map(0xfa0000, 0xfa0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0xfc0000, 0xfc0fff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0xff0000, 0xffffff).ram();
map(0xff0000, 0xff0fff).ram().share("rle");
map(0xff2000, 0xff5fff).w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0xff6000, 0xff6fff).w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
map(0xff7000, 0xff7001).w(FUNC(atarig42_state::mo_command_w)).share("mo_command");
map(0xff1000, 0xff1fff).ram();
map(0xff2000, 0xff5fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0xff6000, 0xff6fff).ram().w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
map(0xff7000, 0xff7001).ram().w(FUNC(atarig42_state::mo_command_w)).share("mo_command");
map(0xff7002, 0xffffff).ram();
}

View File

@ -616,11 +616,14 @@ void atarigt_state::main_map(address_map &map)
map(0xd00010, 0xd0001f).r(FUNC(atarigt_state::analog_port_r)).umask32(0xff00ff00);
map(0xd20000, 0xd20fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask32(0xff00ff00);
map(0xd40000, 0xd4ffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write32));
map(0xd70000, 0xd7ffff).ram();
map(0xd72000, 0xd75fff).w(m_playfield_tilemap, FUNC(tilemap_device::write32)).share("playfield");
map(0xd76000, 0xd76fff).w(m_alpha_tilemap, FUNC(tilemap_device::write32)).share("alpha");
map(0xd70000, 0xd71fff).ram();
map(0xd72000, 0xd75fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write32)).share("playfield");
map(0xd76000, 0xd76fff).ram().w(m_alpha_tilemap, FUNC(tilemap_device::write32)).share("alpha");
map(0xd77000, 0xd77fff).ram();
map(0xd78000, 0xd78fff).ram().share("rle");
map(0xd7a200, 0xd7a203).w(FUNC(atarigt_state::mo_command_w)).share("mo_command");
map(0xd79000, 0xd7a1ff).ram();
map(0xd7a200, 0xd7a203).ram().w(FUNC(atarigt_state::mo_command_w)).share("mo_command");
map(0xd7a204, 0xd7ffff).ram();
map(0xd80000, 0xdfffff).rw(FUNC(atarigt_state::colorram_protection_r), FUNC(atarigt_state::colorram_protection_w)).share("colorram");
map(0xe04000, 0xe04003).w(FUNC(atarigt_state::led_w));
map(0xe08000, 0xe08003).w(FUNC(atarigt_state::latch_w));

View File

@ -1194,11 +1194,14 @@ void atarigx2_state::main_map(address_map &map)
map(0xd00000, 0xd0000f).r(FUNC(atarigx2_state::a2d_data_r)).umask32(0xff00ff00);
map(0xd20000, 0xd20fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask32(0xff00ff00);
map(0xd40000, 0xd40fff).ram().w("palette", FUNC(palette_device::write32)).share("palette");
map(0xd70000, 0xd7ffff).ram();
map(0xd72000, 0xd75fff).w(m_playfield_tilemap, FUNC(tilemap_device::write32)).share("playfield");
map(0xd76000, 0xd76fff).w(m_alpha_tilemap, FUNC(tilemap_device::write32)).share("alpha");
map(0xd70000, 0xd71fff).ram();
map(0xd72000, 0xd75fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write32)).share("playfield");
map(0xd76000, 0xd76fff).ram().w(m_alpha_tilemap, FUNC(tilemap_device::write32)).share("alpha");
map(0xd77000, 0xd77fff).ram();
map(0xd78000, 0xd78fff).ram().share("rle");
map(0xd7a200, 0xd7a203).w(FUNC(atarigx2_state::mo_command_w)).share("mo_command");
map(0xd79000, 0xd7a1ff).ram();
map(0xd7a200, 0xd7a203).ram().w(FUNC(atarigx2_state::mo_command_w)).share("mo_command");
map(0xd7a204, 0xd7ffff).ram();
map(0xd80000, 0xd9ffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write32));
map(0xe06000, 0xe06000).w(m_jsa, FUNC(atari_jsa_iiis_device::main_command_w));
map(0xe08000, 0xe08003).w(FUNC(atarigx2_state::latch_w));

View File

@ -133,14 +133,11 @@ void bagman_state::main_map(address_map &map)
map(0x0000, 0x5fff).rom();
map(0x6000, 0x67ff).ram();
map(0x9000, 0x93ff).ram().w(FUNC(bagman_state::videoram_w)).share("videoram");
map(0x9800, 0x9bff).ram().w(FUNC(bagman_state::colorram_w)).share("colorram");
map(0x9800, 0x9bff).ram().w(FUNC(bagman_state::colorram_w)).share("colorram"); // Includes spriteram
map(0x9c00, 0x9fff).nopw(); /* written to, but unused */
map(0xa000, 0xa000).r(FUNC(bagman_state::pal16r6_r));
map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
map(0xc000, 0xffff).rom(); /* Super Bagman only */
map(0x9800, 0x981f).writeonly().share("spriteram"); /* hidden portion of color RAM */
/* here only to initialize the pointer, */
/* writes are handled by colorram_w */
map(0xa800, 0xa807).w(FUNC(bagman_state::ls259_w)); /* TMS5110 driving state machine */
map(0xb000, 0xb000).portr("DSW");
map(0xb800, 0xb800).nopr(); /* looks like watchdog from schematics */
@ -158,10 +155,7 @@ void bagman_state::pickin_map(address_map &map)
map(0x0000, 0x5fff).rom();
map(0x7000, 0x77ff).ram();
map(0x8800, 0x8bff).ram().w(FUNC(bagman_state::videoram_w)).share("videoram");
map(0x9800, 0x9bff).ram().w(FUNC(bagman_state::colorram_w)).share("colorram");
map(0x9800, 0x981f).writeonly().share("spriteram"); /* hidden portion of color RAM */
/* here only to initialize the pointer, */
/* writes are handled by colorram_w */
map(0x9800, 0x9bff).ram().w(FUNC(bagman_state::colorram_w)).share("colorram"); // Includes spriteram
map(0x9c00, 0x9fff).nopw(); /* written to, but unused */
map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
map(0xa800, 0xa800).portr("DSW");

View File

@ -61,7 +61,6 @@ void banctec_state::banctec_mem(address_map &map)
void banctec_state::banctec_mcu_mem(address_map &map)
{
map(0x0000, 0x00ff).ram(); /* Probably wrong. Must be verified on pcb! */
map(0x2000, 0x2000).rw("crtc", FUNC(mc6845_device::status_r), FUNC(mc6845_device::address_w));
map(0x2001, 0x2001).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
map(0x2003, 0x2003).w(FUNC(banctec_state::videoram_w));

View File

@ -97,14 +97,14 @@ void batman_state::main_map(address_map &map)
map(0x2a0000, 0x2a0001).mirror(0x11fffe).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
map(0x2e0000, 0x2e0fff).mirror(0x100000).ram().w("palette", FUNC(palette_device::write16)).share("palette");
map(0x2effc0, 0x2effff).mirror(0x100000).rw(m_vad, FUNC(atari_vad_device::control_read), FUNC(atari_vad_device::control_write));
map(0x2f0000, 0x2fffff).mirror(0x100000).ram();
map(0x2f0000, 0x2f1fff).mirror(0x100000).w(m_vad, FUNC(atari_vad_device::playfield2_latched_msb_w)).share("vad:playfield2");
map(0x2f2000, 0x2f3fff).mirror(0x100000).w(m_vad, FUNC(atari_vad_device::playfield_latched_lsb_w)).share("vad:playfield");
map(0x2f4000, 0x2f5fff).mirror(0x100000).w(m_vad, FUNC(atari_vad_device::playfield_upper_w)).share("vad:playfield_ext");
map(0x2f0000, 0x2f1fff).mirror(0x100000).ram().w(m_vad, FUNC(atari_vad_device::playfield2_latched_msb_w)).share("vad:playfield2");
map(0x2f2000, 0x2f3fff).mirror(0x100000).ram().w(m_vad, FUNC(atari_vad_device::playfield_latched_lsb_w)).share("vad:playfield");
map(0x2f4000, 0x2f5fff).mirror(0x100000).ram().w(m_vad, FUNC(atari_vad_device::playfield_upper_w)).share("vad:playfield_ext");
map(0x2f6000, 0x2f7fff).mirror(0x100000).ram().share("vad:mob");
map(0x2f8000, 0x2f8eff).mirror(0x100000).w(m_vad, FUNC(atari_vad_device::alpha_w)).share("vad:alpha");
map(0x2f8f00, 0x2f8f7f).mirror(0x100000).share("vad:eof");
map(0x2f8000, 0x2f8eff).mirror(0x100000).ram().w(m_vad, FUNC(atari_vad_device::alpha_w)).share("vad:alpha");
map(0x2f8f00, 0x2f8f7f).mirror(0x100000).ram().share("vad:eof");
map(0x2f8f80, 0x2f8fff).mirror(0x100000).ram().share("vad:mob:slip");
map(0x2f9000, 0x2fffff).mirror(0x100000).ram();
}

View File

@ -608,7 +608,7 @@ void bingor_state::bingor_map(address_map &map)
map(0x00000, 0x0ffff).ram();
map(0x90000, 0x9ffff).rom().region("gfx", 0);
map(0xa0000, 0xaffff).ram().share("blit_ram");
map(0xa0300, 0xa031f).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); //wrong
map(0xa0300, 0xa031f).w(m_palette, FUNC(palette_device::write16)); //wrong
map(0xf0000, 0xfffff).rom().region("boot_prg", 0);
}
@ -729,7 +729,7 @@ void bingor_state::vip2000_map(address_map &map)
{
map(0x00000, 0x0ffff).ram();
map(0x40000, 0x4ffff).ram().share("blit_ram");
map(0x40300, 0x4031f).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); //wrong
map(0x40300, 0x4031f).w(m_palette, FUNC(palette_device::write16)); //wrong
//AM_RANGE(0x50000, 0x5ffff) AM_ROM AM_REGION("gfx", 0)
map(0x60000, 0x60003).w("ymz", FUNC(ymz284_device::address_data_w)).umask16(0x00ff);
map(0x80000, 0xeffff).rw("flash", FUNC(intelfsh16_device::read), FUNC(intelfsh16_device::write));

View File

@ -29,7 +29,6 @@ public:
void by68701_state::by68701_map(address_map &map)
{
map(0x0000, 0xffff).noprw();
map(0x0000, 0x00ff).ram();
map(0x0400, 0x04ff).ram();
map(0x0500, 0x07ff).ram();
map(0x7000, 0xffff).rom();

View File

@ -169,7 +169,6 @@ void cball_state::cpu_map(address_map &map)
map.global_mask(0x7fff);
map(0x0000, 0x03ff).r(FUNC(cball_state::wram_r)).mask(0x7f);
map(0x0400, 0x07ff).readonly();
map(0x1001, 0x1001).portr("1001");
map(0x1003, 0x1003).portr("1003");
map(0x1020, 0x1020).portr("1020");
@ -179,7 +178,7 @@ void cball_state::cpu_map(address_map &map)
map(0x2800, 0x2800).portr("2800");
map(0x0000, 0x03ff).w(FUNC(cball_state::wram_w)).mask(0x7f);
map(0x0400, 0x07ff).w(FUNC(cball_state::vram_w)).share("video_ram");
map(0x0400, 0x07ff).ram().w(FUNC(cball_state::vram_w)).share("video_ram");
map(0x1800, 0x1800).noprw(); /* watchdog? */
map(0x1810, 0x1811).noprw();
map(0x1820, 0x1821).noprw();

View File

@ -306,8 +306,8 @@ void ccastles_state::main_map(address_map &map)
map(0x0000, 0x7fff).ram().w(FUNC(ccastles_state::ccastles_videoram_w)).share("videoram");
map(0x0000, 0x0001).w(FUNC(ccastles_state::ccastles_bitmode_addr_w));
map(0x0002, 0x0002).rw(FUNC(ccastles_state::ccastles_bitmode_r), FUNC(ccastles_state::ccastles_bitmode_w));
map(0x8000, 0x8fff).ram();
map(0x8e00, 0x8fff).share("spriteram");
map(0x8000, 0x8dff).ram();
map(0x8e00, 0x8fff).ram().share("spriteram");
map(0x9000, 0x90ff).mirror(0x0300).rw(FUNC(ccastles_state::nvram_r), FUNC(ccastles_state::nvram_w));
map(0x9400, 0x9403).mirror(0x01fc).r(FUNC(ccastles_state::leta_r));
map(0x9600, 0x97ff).portr("IN0");

View File

@ -327,10 +327,12 @@ void cclimber_state::cclimber_map(address_map &map)
map(0x9000, 0x93ff).mirror(0x0400).ram().share("videoram");
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
map(0x9800, 0x9bff).ram(); /* not used, but initialized */
map(0x9800, 0x981f).ram().share("column_scroll");
map(0x9820, 0x987f).ram(); /* not used, but initialized */
map(0x9880, 0x989f).ram().share("spriteram");
map(0x98a0, 0x98db).ram(); /* not used, but initialized */
map(0x98dc, 0x98df).ram().share("bigspritectrl");
map(0x98e0, 0x9bff).ram(); /* not used, but initialized */
map(0x9c00, 0x9fff).ram().w(FUNC(cclimber_state::cclimber_colorram_w)).share("colorram");
map(0xa000, 0xa007).w(m_mainlatch, FUNC(ls259_device::write_d0));
map(0xa000, 0xa000).portr("P1");
@ -355,10 +357,12 @@ void cclimber_state::cannonb_map(address_map &map)
map(0x9000, 0x93ff).mirror(0x0400).ram().share("videoram");
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
map(0x9800, 0x9bff).ram(); /* not used, but initialized */
map(0x9800, 0x981f).ram().share("column_scroll");
map(0x9820, 0x987f).ram(); /* not used, but initialized */
map(0x9880, 0x989f).ram().share("spriteram");
map(0x98a0, 0x98db).ram(); /* not used, but initialized */
map(0x98dc, 0x98df).ram().share("bigspritectrl");
map(0x98e0, 0x9bff).ram(); /* not used, but initialized */
map(0x9c00, 0x9fff).ram().w(FUNC(cclimber_state::cclimber_colorram_w)).share("colorram");
map(0xa000, 0xa007).w(m_mainlatch, FUNC(ls259_device::write_d0));
map(0xa000, 0xa000).portr("P1");
@ -402,10 +406,12 @@ void cclimber_state::yamato_map(address_map &map)
map(0x9000, 0x93ff).mirror(0x0400).ram().share("videoram");
/* 9800-9bff and 9c00-9fff share the same RAM, interleaved */
/* (9800-981f for scroll, 9c20-9c3f for color RAM, and so on) */
map(0x9800, 0x9bff).ram(); /* not used, but initialized */
map(0x9800, 0x981f).ram().share("column_scroll");
map(0x9820, 0x987f).ram(); /* not used, but initialized */
map(0x9880, 0x989f).ram().share("spriteram");
map(0x98a0, 0x98db).ram(); /* not used, but initialized */
map(0x98dc, 0x98df).ram().share("bigspritectrl");
map(0x98e0, 0x9bff).ram(); /* not used, but initialized */
map(0x9c00, 0x9fff).ram().w(FUNC(cclimber_state::cclimber_colorram_w)).share("colorram");
map(0xa000, 0xa007).w(m_mainlatch, FUNC(ls259_device::write_d0));
map(0xa000, 0xa000).portr("P1");

View File

@ -81,14 +81,13 @@ void contra_state::contra_map(address_map &map)
map(0x1000, 0x1fff).ram();
map(0x2000, 0x5fff).readonly();
map(0x2000, 0x23ff).w(FUNC(contra_state::contra_fg_cram_w)).share("fg_cram");
map(0x2400, 0x27ff).w(FUNC(contra_state::contra_fg_vram_w)).share("fg_vram");
map(0x2800, 0x2bff).w(FUNC(contra_state::contra_text_cram_w)).share("tx_cram");
map(0x2c00, 0x2fff).w(FUNC(contra_state::contra_text_vram_w)).share("tx_vram");
map(0x2000, 0x23ff).ram().w(FUNC(contra_state::contra_fg_cram_w)).share("fg_cram");
map(0x2400, 0x27ff).ram().w(FUNC(contra_state::contra_fg_vram_w)).share("fg_vram");
map(0x2800, 0x2bff).ram().w(FUNC(contra_state::contra_text_cram_w)).share("tx_cram");
map(0x2c00, 0x2fff).ram().w(FUNC(contra_state::contra_text_vram_w)).share("tx_vram");
map(0x3000, 0x3fff).ram().share("spriteram");
map(0x4000, 0x43ff).w(FUNC(contra_state::contra_bg_cram_w)).share("bg_cram");
map(0x4400, 0x47ff).w(FUNC(contra_state::contra_bg_vram_w)).share("bg_vram");
map(0x4000, 0x43ff).ram().w(FUNC(contra_state::contra_bg_cram_w)).share("bg_cram");
map(0x4400, 0x47ff).ram().w(FUNC(contra_state::contra_bg_vram_w)).share("bg_vram");
map(0x4800, 0x4fff).ram();
map(0x5000, 0x5fff).ram().share("spriteram_2");

View File

@ -509,10 +509,12 @@ public:
objcachemanager m_decode[2];
void aquastge(machine_config &config);
void coolridr(machine_config &config);
void coolridr_h1_map(address_map &map);
void aquastge_h1_map(address_map &map);
void aquastge_submap(address_map &map);
void coolridr_submap(address_map &map);
void system_h1_map(address_map &map);
void system_h1_submap(address_map &map);
void system_h1_sound_map(address_map &map);
template<int Chip> void scsp_map(address_map &map);
};
@ -2786,9 +2788,6 @@ void coolridr_state::system_h1_map(address_map &map)
map(0x00000000, 0x001fffff).rom().share("share1").nopw();
map(0x01000000, 0x01ffffff).rom().region("gfx_data", 0x0000000);
map(0x03c00000, 0x03c1ffff).mirror(0x00200000).ram().w(FUNC(coolridr_state::dma_w)).share("fb_vram"); /* mostly mapped at 0x03e00000 */
map(0x03f00000, 0x03f0ffff).ram().share("share3"); /*Communication area RAM*/
map(0x03f40000, 0x03f4ffff).ram().share("txt_vram");//text tilemap + "lineram"
map(0x04000000, 0x0400000f).rw(FUNC(coolridr_state::unk_blit_r), FUNC(coolridr_state::unk_blit_w)).share("txt_blit");
map(0x04000010, 0x04000013).w(FUNC(coolridr_state::blit_mode_w));
@ -2802,6 +2801,14 @@ void coolridr_state::system_h1_map(address_map &map)
map(0x60000000, 0x600003ff).nopw();
}
void coolridr_state::coolridr_h1_map(address_map &map)
{
system_h1_map(map);
map(0x03c00000, 0x03c1ffff).mirror(0x00200000).ram().w(FUNC(coolridr_state::dma_w)).share("fb_vram"); /* mostly mapped at 0x03e00000 */
map(0x03f00000, 0x03f0ffff).ram().share("share3"); /*Communication area RAM*/
}
void coolridr_state::aquastge_h1_map(address_map &map)
{
system_h1_map(map);
@ -2916,7 +2923,7 @@ WRITE32_MEMBER(coolridr_state::sound_dma_w)
void coolridr_state::coolridr_submap(address_map &map)
void coolridr_state::system_h1_submap(address_map &map)
{
map(0x00000000, 0x0001ffff).rom(); // note: SH7032 only supports 64KB
@ -2931,8 +2938,6 @@ void coolridr_state::coolridr_submap(address_map &map)
// map(0x04200000, 0x0420003f).ram(); /* unknown */
map(0x05000000, 0x05000fff).ram();
map(0x05200000, 0x052001ff).ram();
map(0x05300000, 0x0530ffff).ram().share("share3"); /*Communication area RAM*/
// map(0x05fffe00, 0x05ffffff).rw(FUNC(coolridr_state::sh7032_r), FUNC(coolridr_state::sh7032_w)); // SH-7032H internal i/o
map(0x06000000, 0x060001ff).ram().share("nvram"); // backup RAM
map(0x06100000, 0x0610001f).rw("io", FUNC(sega_315_5649_device::read), FUNC(sega_315_5649_device::write)).umask32(0x00ff00ff);
@ -2940,11 +2945,19 @@ void coolridr_state::coolridr_submap(address_map &map)
map(0x07ffe000, 0x07ffffff).ram(); // On-Chip RAM (actually mapped at 0x0fffe000-0x0fffffff)
}
void coolridr_state::coolridr_submap(address_map &map)
{
system_h1_submap(map);
map(0x05200000, 0x052001ff).ram();
map(0x05300000, 0x0530ffff).ram().share("share3"); /*Communication area RAM*/
}
void coolridr_state::aquastge_submap(address_map &map)
{
coolridr_submap(map);
map(0x05200000, 0x0537ffff).ram();
system_h1_submap(map);
map(0x05200000, 0x0520ffff).ram();
map(0x05210000, 0x0521ffff).ram().share("share3"); /*Communication area RAM*/
map(0x05220000, 0x0537ffff).ram();
map(0x06000200, 0x06000207).nopw(); // program bug?
}
@ -3222,7 +3235,7 @@ WRITE_LINE_MEMBER(coolridr_state::scsp2_to_sh1_irq)
void coolridr_state::coolridr(machine_config &config)
{
SH2(config, m_maincpu, MAIN_CLOCK); // 28 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &coolridr_state::system_h1_map);
m_maincpu->set_addrmap(AS_PROGRAM, &coolridr_state::coolridr_h1_map);
TIMER(config, "scantimer").configure_scanline(FUNC(coolridr_state::interrupt_main), "screen", 0, 1);
M68000(config, m_soundcpu, 22579000/2); // 22.579 MHz XTAL / 2 = 11.2895 MHz

View File

@ -923,9 +923,9 @@ void cps2_state::cps2_map(address_map &map)
map(0x400000, 0x40000b).ram().share("output"); /* CPS2 object output */
map(0x618000, 0x619fff).rw(FUNC(cps2_state::qsound_sharedram1_r), FUNC(cps2_state::qsound_sharedram1_w)); /* Q RAM */
map(0x660000, 0x663fff).ram(); /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
map(0x662000, 0x662001).ram(); /* Network adapter related, accessed in SSF2TB */
map(0x662008, 0x662009).ram(); /* Network adapter related, accessed in SSF2TB */
map(0x662020, 0x662021).ram(); /* Network adapter related, accessed in SSF2TB */
// map(0x662000, 0x662001).ram(); /* Network adapter related, accessed in SSF2TB */
// map(0x662008, 0x662009).ram(); /* Network adapter related, accessed in SSF2TB */
// map(0x662020, 0x662021).ram(); /* Network adapter related, accessed in SSF2TB */
map(0x664000, 0x664001).ram(); /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
map(0x700000, 0x701fff).w(FUNC(cps2_state::cps2_objram1_w)).share("objram1"); /* Object RAM, no game seems to use it directly */
map(0x708000, 0x709fff).mirror(0x006000).rw(FUNC(cps2_state::cps2_objram2_r), FUNC(cps2_state::cps2_objram2_w)).share("objram2"); /* Object RAM */
@ -956,9 +956,9 @@ void cps2_state::dead_cps2_map(address_map &map)
map(0x400000, 0x40000b).ram().share("output"); /* CPS2 object output */
map(0x618000, 0x619fff).rw(FUNC(cps2_state::qsound_sharedram1_r), FUNC(cps2_state::qsound_sharedram1_w)); /* Q RAM */
map(0x660000, 0x663fff).ram(); /* When bit 14 of 0x804030 equals 0 this space is available. Many games store highscores and other info here if available. */
map(0x662000, 0x662001).ram(); /* Network adapter related, accessed in SSF2TB */
map(0x662008, 0x662009).ram(); /* Network adapter related, accessed in SSF2TB */
map(0x662020, 0x662021).ram(); /* Network adapter related, accessed in SSF2TB */
// map(0x662000, 0x662001).ram(); /* Network adapter related, accessed in SSF2TB */
// map(0x662008, 0x662009).ram(); /* Network adapter related, accessed in SSF2TB */
// map(0x662020, 0x662021).ram(); /* Network adapter related, accessed in SSF2TB */
map(0x664000, 0x664001).ram(); /* Unknown - Only used if 0x660000-0x663fff available (could be RAM enable?) */
map(0x700000, 0x701fff).w(FUNC(cps2_state::cps2_objram1_w)).share("objram1"); /* Object RAM, no game seems to use it directly */
map(0x708000, 0x709fff).mirror(0x006000).rw(FUNC(cps2_state::cps2_objram2_r), FUNC(cps2_state::cps2_objram2_w)).share("objram2"); /* Object RAM */

View File

@ -247,7 +247,6 @@ public:
crystal_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_sysregs(*this, "sysregs"),
m_crtcregs(*this, "crtcregs"),
m_workram(*this, "workram"),
m_vidregs(*this, "vidregs"),
m_textureram(*this, "textureram"),
@ -277,7 +276,7 @@ public:
private:
/* memory pointers */
required_shared_ptr<uint32_t> m_sysregs;
required_shared_ptr<uint32_t> m_crtcregs;
uint32_t *m_crtcregs;
required_shared_ptr<uint32_t> m_workram;
required_shared_ptr<uint32_t> m_vidregs;
required_shared_ptr<uint32_t> m_textureram;
@ -676,7 +675,7 @@ void crystal_state::internal_map(address_map &map)
// map(0x01802400, 0x018027ff) // Peripheral Chip Select
// map(0x01802800, 0x01802bff) // SIO
// map(0x01803400, 0x018037ff) // CRT Controller
map(0x01803400, 0x018037ff).rw(FUNC(crystal_state::crtc_r), FUNC(crystal_state::crtc_w)).share("crtcregs");
map(0x01803400, 0x018037ff).rw(FUNC(crystal_state::crtc_r), FUNC(crystal_state::crtc_w));
// map(0x01804000, 0x018043ff) // RAMDAC & PLL
// map(0x02000000, 0x02ffffff).ram().share("workram"); // Local RAM/DRAM (Max.16MB)
@ -1008,7 +1007,7 @@ void crystal_state::machine_reset()
{
std::fill_n(&m_sysregs[0], m_sysregs.bytes() / 4, 0);
std::fill_n(&m_vidregs[0], m_vidregs.bytes() / 4, 0);
std::fill_n(&m_crtcregs[0], m_crtcregs.bytes() / 4, 0);
m_crtcregs = &m_sysregs[0x3400/4];
m_crtcregs[1] = 0x00000022;
m_FlipCount = 0;

View File

@ -561,7 +561,7 @@ void ddragon_state::sub_map(address_map &map)
void ddragon_state::ddragonba_sub_map(address_map &map)
{
map(0x0000, 0x0fff).ram();
map(0x0100, 0x0fff).ram();
map(0x8000, 0x81ff).ram().share("comram");
map(0xc000, 0xffff).rom();
}

View File

@ -88,12 +88,21 @@ void deadang_state::main_map(address_map &map)
void popnrun_state::popnrun_main_map(address_map &map)
{
main_map(map);
map(0x00000, 0x03bff).ram();
map(0x03c00, 0x03dff).ram().share("spriteram");
map(0x03e00, 0x03fff).ram();
map(0x04000, 0x04fff).ram().share("share1");
map(0x05000, 0x05fff).writeonly();
map(0x06000, 0x0600f).rw(m_seibu_sound, FUNC(seibu_sound_device::main_r), FUNC(seibu_sound_device::main_w)).umask16(0x00ff);
map(0x06010, 0x07fff).writeonly();
map(0x08000, 0x08fff).ram().w(FUNC(popnrun_state::popnrun_text_w)).share("videoram");
map(0x0a000, 0x0a001).portr("P1_P2");
map(0x0a002, 0x0a003).portr("DSW");
map(0x0c000, 0x0cfff).w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x0d000, 0x0dfff).writeonly();
map(0x0e000, 0x0e0ff).ram().share("scroll_ram");
map(0x0e100, 0x0ffff).writeonly();
map(0xc0000, 0xfffff).rom();
}
void deadang_state::sub_map(address_map &map)

View File

@ -52,14 +52,13 @@ void eprom_state::update_interrupts()
void eprom_state::machine_start()
{
atarigen_state::machine_start();
save_item(NAME(m_sync_data));
}
void eprom_state::machine_reset()
{
atarigen_state::machine_reset();
scanline_timer_reset(*m_screen, 8);
m_sync_data = 0;
m_share1[0xcc00/2] = 0;
}
@ -123,18 +122,13 @@ WRITE16_MEMBER(eprom_state::eprom_latch_w)
*
*************************************/
READ16_MEMBER(eprom_state::sync_r)
{
return m_sync_data;
}
template<bool maincpu> WRITE16_MEMBER(eprom_state::sync_w)
{
int oldword = m_sync_data;
COMBINE_DATA(&m_sync_data);
u16 oldword = m_share1[0xcc00/2];
COMBINE_DATA(&m_share1[0xcc00/2]);
u16 newword = m_share1[0xcc00/2];
if ((oldword & 0xff00) != (m_sync_data & 0xff00))
if ((oldword & 0xff00) != (newword & 0xff00))
(maincpu ? m_maincpu->yield() : m_extra->yield());
}
@ -150,7 +144,7 @@ void eprom_state::main_map(address_map &map)
map(0x000000, 0x09ffff).rom();
map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0x160000, 0x16ffff).ram().share("share1");
map(0x16cc00, 0x16cc01).rw(FUNC(eprom_state::sync_r), FUNC(eprom_state::sync_w<true>));
map(0x16cc00, 0x16cc01).w(FUNC(eprom_state::sync_w<true>));
map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
map(0x260000, 0x26000f).portr("260000");
map(0x260010, 0x26001f).r(FUNC(eprom_state::special_port1_r));
@ -162,12 +156,12 @@ void eprom_state::main_map(address_map &map)
map(0x360020, 0x360021).w(m_jsa, FUNC(atari_jsa_base_device::sound_reset_w));
map(0x360031, 0x360031).w(m_jsa, FUNC(atari_jsa_base_device::main_command_w));
map(0x3e0000, 0x3e0fff).ram().share("paletteram");
map(0x3f0000, 0x3f9fff).ram();
map(0x3f0000, 0x3f1fff).w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0x3f0000, 0x3f1fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
map(0x3f2000, 0x3f3fff).ram().share("mob");
map(0x3f4000, 0x3f4f7f).w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
map(0x3f4000, 0x3f4f7f).ram().w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
map(0x3f4f80, 0x3f4fff).ram().share("mob:slip");
map(0x3f8000, 0x3f9fff).w(m_playfield_tilemap, FUNC(tilemap_device::write16_ext)).share("playfield_ext");
map(0x3f5000, 0x3f7fff).ram();
map(0x3f8000, 0x3f9fff).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16_ext)).share("playfield_ext");
}
@ -176,7 +170,7 @@ void eprom_state::guts_map(address_map &map)
map(0x000000, 0x09ffff).rom();
map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
map(0x160000, 0x16ffff).ram().share("share1");
map(0x16cc00, 0x16cc01).rw(FUNC(eprom_state::sync_r), FUNC(eprom_state::sync_w<true>));
map(0x16cc00, 0x16cc01).w(FUNC(eprom_state::sync_w<true>));
map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
map(0x260000, 0x26000f).portr("260000");
map(0x260010, 0x26001f).r(FUNC(eprom_state::special_port1_r));
@ -208,7 +202,7 @@ void eprom_state::extra_map(address_map &map)
{
map(0x000000, 0x07ffff).rom();
map(0x160000, 0x16ffff).ram().share("share1");
map(0x16cc00, 0x16cc01).rw(FUNC(eprom_state::sync_r), FUNC(eprom_state::sync_w<false>)).share("sync_data");
map(0x16cc00, 0x16cc01).w(FUNC(eprom_state::sync_w<false>));
map(0x260000, 0x26000f).portr("260000");
map(0x260010, 0x26001f).r(FUNC(eprom_state::special_port1_r));
map(0x260020, 0x260027).mirror(0x8).r(FUNC(eprom_state::adc_r)).umask16(0x00ff);

View File

@ -638,11 +638,10 @@ WRITE_LINE_MEMBER(equites_state::mcu_switch_w)
/******************************************************************************/
// CPU Memory Maps
void equites_state::equites_map(address_map &map)
void equites_state::equites_common_map(address_map &map)
{
map.unmap_value_high();
map(0x000000, 0x00ffff).rom(); // ROM area is written several times (dev system?)
map(0x040000, 0x040fff).ram();
map(0x080000, 0x080fff).rw(FUNC(equites_state::equites_fg_videoram_r), FUNC(equites_state::equites_fg_videoram_w)).umask16(0x00ff);
map(0x0c0000, 0x0c01ff).ram().w(FUNC(equites_state::equites_bg_videoram_w)).share("bg_videoram");
map(0x0c0200, 0x0c0fff).ram();
@ -657,9 +656,15 @@ void equites_state::equites_map(address_map &map)
map(0x780000, 0x780001).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
}
void equites_state::equites_map(address_map &map)
{
equites_common_map(map);
map(0x040000, 0x040fff).ram();
}
void gekisou_state::gekisou_map(address_map &map)
{
equites_map(map);
equites_common_map(map);
map(0x040000, 0x040fff).ram().share("nvram"); // mainram is battery-backed
map(0x580000, 0x580001).select(0x020000).w(FUNC(gekisou_state::gekisou_unknown_bit_w));
}

View File

@ -816,7 +816,6 @@ void expro02_state::supmodel_map(address_map &map)
{
expro02_video_base_map_noview2(map);
map(0x000000, 0x4fffff).rom();
map(0x500000, 0x51ffff).ram().share("fgvideoram");
map(0x800000, 0x800001).portr("DSW1");
map(0x800002, 0x800003).portr("DSW2");
map(0x800004, 0x800005).portr("SYSTEM");
@ -835,7 +834,6 @@ void expro02_state::smissw_map(address_map &map)
{
expro02_video_base_map_noview2(map);
map(0x000000, 0x4fffff).rom();
map(0x500000, 0x51ffff).ram().share("fgvideoram");
map(0x800000, 0x800001).portr("DSW1");
map(0x800002, 0x800003).portr("DSW2");
map(0x800004, 0x800005).portr("SYSTEM");

View File

@ -201,7 +201,7 @@ void feversoc_state::feversoc_map(address_map &map)
{
map(0x00000000, 0x0003ffff).rom();
map(0x02000000, 0x0202ffff).ram().share("workram1"); //work ram
map(0x02030000, 0x0203ffff).ram().share("nvram");
map(0x02030000, 0x02033fff).ram().share("nvram");
map(0x02034000, 0x0203dfff).ram().share("workram2"); //work ram
map(0x0203e000, 0x0203ffff).ram().share("spriteram");
map(0x06000000, 0x06000001).w(FUNC(feversoc_state::output_w));

View File

@ -208,8 +208,7 @@ void fitfight_state::bbprot_main_map(address_map &map)
map(0xb08000, 0xb0bfff).ram().w(FUNC(fitfight_state::fof_mid_tileram_w)).share("fof_mid_tileram");
map(0xb0c000, 0xb0ffff).ram().w(FUNC(fitfight_state::fof_txt_tileram_w)).share("fof_txt_tileram");
map(0xc00000, 0xc00fff).readonly();
map(0xc00000, 0xc03fff).w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xc00000, 0xc03fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0xd00000, 0xd007ff).ram().share("spriteram");

View File

@ -760,9 +760,8 @@ void bang_state::bang_map(address_map &map)
map(0x200000, 0x20ffff).ram().w(FUNC(bang_state::vram_w)).share("spriteram"); /* Video RAM */
map(0x202890, 0x2028ff).rw("gaelco", FUNC(gaelco_cg1v_device::gaelcosnd_r), FUNC(gaelco_cg1v_device::gaelcosnd_w)); /* Sound Registers */
map(0x210000, 0x211fff).ram().w(FUNC(bang_state::palette_w)).share("paletteram"); /* Palette */
map(0x218004, 0x218009).readonly(); /* Video Registers */
map(0x218004, 0x218007).w(FUNC(bang_state::vregs_w)).share("vregs"); /* Video Registers */
map(0x218008, 0x218009).nopw(); /* CLR INT Video */
map(0x218004, 0x218007).ram().w(FUNC(bang_state::vregs_w)).share("vregs"); /* Video Registers */
map(0x218008, 0x218009).noprw(); /* CLR INT Video */
map(0x300000, 0x300001).portr("P1");
map(0x300002, 0x300003).nopr(); /* Random number generator? */
map(0x300000, 0x30000f).w(m_mainlatch, FUNC(ls259_device::write_d0)).umask16(0x00ff); /* Coin Counters & serial EEPROM */

View File

@ -429,16 +429,6 @@ WRITE_LINE_MEMBER(gaelco3d_state::tms_control3_w)
logerror("%06X:tms_control3_w = %d\n", m_maincpu->pc(), state);
}
WRITE16_MEMBER(gaelco3d_state::tms_comm_w)
{
COMBINE_DATA(&m_tms_comm_base[offset ^ m_tms_offset_xor]);
if (LOG)
logerror("%s:tms_comm_w(%02X) = %08X & %08X\n", machine().describe_context(), offset*2, data, mem_mask);
}
/*************************************
*
* ADSP control registers
@ -683,7 +673,6 @@ void gaelco3d_state::main_map(address_map &map)
map(0x510105, 0x510105).w(m_serial, FUNC(gaelco_serial_device::data_w));
map(0x510107, 0x510107).select(0x000070).lw8("outlatch_w", [this](offs_t offset, u8 data) { m_outlatch->write_d0(offset >> 4, data); });
map(0xfe0000, 0xfeffff).ram().share("m68k_ram_base");
map(0xfe7f80, 0xfe7fff).w(FUNC(gaelco3d_state::tms_comm_w)).share("tms_comm_base");
}
@ -703,7 +692,6 @@ void gaelco3d_state::main020_map(address_map &map)
map(0x510105, 0x510105).w(m_serial, FUNC(gaelco_serial_device::data_w));
map(0x510107, 0x510107).select(0x000070).lw8("outlatch_w", [this](offs_t offset, u8 data) { m_outlatch->write_d0(offset >> 4, data); });
map(0xfe0000, 0xfeffff).ram().share("m68k_ram_base");
map(0xfe7f80, 0xfe7fff).w(FUNC(gaelco3d_state::tms_comm_w)).share("tms_comm_base");
}
void gaelco3d_state::tms_map(address_map &map)

View File

@ -1592,13 +1592,13 @@ void galaxian_state::galaxian_map(address_map &map)
void galaxian_state::frogg_map(address_map &map)
{
galaxian_map(map);
map(0x4000, 0x47ff).ram(); // needs a full 2k of RAM
map(0x4400, 0x47ff).ram(); // needs a full 2k of RAM
}
void galaxian_state::mandingarf_map(address_map &map)
{
galaxian_map(map);
map(0x4000, 0x47ff).ram(); // needs a full 2k of RAM
map(0x4400, 0x47ff).ram(); // needs a full 2k of RAM
map(0xc000, 0xc7ff).rom().region("maincpu", 0xc000); // extend ROM
}
@ -1654,7 +1654,7 @@ void galaxian_state::mooncrst_map(address_map &map)
void galaxian_state::froggermc_map(address_map &map)
{
mooncrst_map_base(map); // no discrete sound
map(0x8000, 0x87ff).ram(); // actually needs 2k of RAM
map(0x8400, 0x87ff).ram(); // actually needs 2k of RAM
map(0xa800, 0xa800).mirror(0x7ff).w(m_soundlatch, FUNC(generic_latch_8_device::write));
map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::froggermc_sound_control_w));
}
@ -1672,7 +1672,7 @@ void galaxian_state::skybase_map(address_map &map)
{
mooncrst_map(map);
map(0x0000, 0x5fff).rom().region("maincpu", 0); // extend ROM
map(0x8000, 0x87ff).ram(); // needs a full 2k of RAM
map(0x8400, 0x87ff).ram(); // needs a full 2k of RAM
map(0xa002, 0xa002).mirror(0x7f8).w(FUNC(galaxian_state::galaxian_gfxbank_w)); // coin lockout replaced by graphics bank
}
@ -1680,7 +1680,7 @@ void galaxian_state::kong_map(address_map &map)
{
mooncrst_map(map);
map(0x0000, 0x7fff).rom().region("maincpu", 0); // extend ROM
map(0x8000, 0x87ff).ram(); // needs a full 2k of RAM
map(0x8400, 0x87ff).ram(); // needs a full 2k of RAM
}
void galaxian_state::scorpnmc_map(address_map &map)
@ -1688,7 +1688,7 @@ void galaxian_state::scorpnmc_map(address_map &map)
mooncrst_map(map);
map(0x4000, 0x47ff).ram();
map(0x5000, 0x67ff).rom().region("maincpu", 0x5000); // extra ROM
map(0x8000, 0x87ff).unmaprw(); // doesn't appear to use original RAM
map(0x8400, 0x87ff).unmaprw(); // doesn't appear to use original RAM
map(0xb000, 0xb000).mirror(0x7f8).nopw(); // interrupt enable moved
map(0xb001, 0xb001).mirror(0x7f8).w(FUNC(galaxian_state::irq_enable_w));
}

View File

@ -565,7 +565,6 @@ void galaxold_state::dkongjrmc_map(address_map &map)
{
map(0x0000, 0x5fff).rom();
map(0x6000, 0x6fff).ram();
map(0x7000, 0x73ff).ram().w(FUNC(galaxold_state::galaxold_videoram_w));
map(0x7000, 0x70ff).ram().w(FUNC(galaxold_state::galaxold_attributesram_w)).share("attributesram");
map(0x7100, 0x71ff).ram().share("spriteram");
map(0x7400, 0x77ff).ram().w(FUNC(galaxold_state::galaxold_videoram_w)).share("videoram");

View File

@ -21,7 +21,6 @@ void gamepock_state::gamepock_mem(address_map &map)
map(0x1000, 0x3fff).noprw();
//AM_RANGE(0x4000,0xbfff) AM_ROM // mapped by the cartslot
map(0xc000, 0xc7ff).mirror(0x0800).ram();
map(0xff80, 0xffff).ram(); // 128 bytes microcontroller RAM
}

View File

@ -89,9 +89,9 @@ void goindol_state::goindol_map(address_map &map)
map(0xc800, 0xc800).nopr().w("soundlatch", FUNC(generic_latch_8_device::write)); // watchdog?
map(0xc810, 0xc810).w(FUNC(goindol_state::goindol_bankswitch_w));
map(0xc820, 0xc820).portr("DIAL");
map(0xc820, 0xd820).writeonly().share("fg_scrolly");
map(0xc820, 0xc820).writeonly().share("fg_scrolly");
map(0xc830, 0xc830).portr("P1");
map(0xc830, 0xd830).writeonly().share("fg_scrollx");
map(0xc830, 0xc830).writeonly().share("fg_scrollx");
map(0xc834, 0xc834).portr("P2");
map(0xd000, 0xd03f).ram().share("spriteram");
map(0xd040, 0xd7ff).ram();

View File

@ -415,9 +415,10 @@ void hvyunit_state::slave_memory(address_map &map)
map(0x8000, 0xbfff).bankr("slave_bank");
map(0xc000, 0xc3ff).ram().w(FUNC(hvyunit_state::videoram_w)).share("videoram");
map(0xc400, 0xc7ff).ram().w(FUNC(hvyunit_state::colorram_w)).share("colorram");
map(0xd000, 0xdfff).ram();
map(0xd000, 0xd1ff).ram().w(m_palette, FUNC(palette_device::write8_ext)).share("palette_ext");
map(0xd200, 0xd7ff).ram();
map(0xd800, 0xd9ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
map(0xda00, 0xdfff).ram();
map(0xe000, 0xffff).ram().share("share1");
}

View File

@ -124,15 +124,14 @@ void ironhors_state::farwest_master_map(address_map &map)
map(0x1a00, 0x1a00).ram().share("int_enable");
map(0x1a01, 0x1a01).ram().w(FUNC(ironhors_state::charbank_w));
map(0x1a02, 0x1a02).w(FUNC(ironhors_state::palettebank_w));
// map(0x1c00, 0x1fff).ram();
map(0x1e00, 0x1eff).ram().share("spriteram");
map(0x2000, 0x23ff).ram().w(FUNC(ironhors_state::colorram_w)).share("colorram");
map(0x2400, 0x27ff).ram().w(FUNC(ironhors_state::videoram_w)).share("videoram");
map(0x2800, 0x2fff).ram();
map(0x1c00, 0x1dff).ram().share("spriteram2");
map(0x3000, 0x38ff).ram();
map(0x3000, 0x31da).ram();
map(0x31db, 0x31fa).ram().share("scroll");
map(0x1e00, 0x1eff).ram().share("spriteram");
map(0x3900, 0x3fff).ram();
map(0x31fb, 0x3fff).ram();
map(0x4000, 0xffff).rom();
}

View File

@ -250,7 +250,6 @@ void legionna_state::godzilla_map(address_map &map)
map(0x101800, 0x101fff).ram(); // .w(FUNC(legionna_state::legionna_foreground_w).share("fore_data");
map(0x102000, 0x1027ff).ram(); // .w(FUNC(legionna_state::legionna_midground_w).share("mid_data");
map(0x102800, 0x103fff).ram(); // .w(FUNC(legionna_state::legionna_text_w).share("textram");
map(0x103800, 0x103fff).ram(); // check?
map(0x104000, 0x104fff).ram(); // .w("palette", FUNC(palette_device::write)).share("palette");
map(0x105000, 0x105fff).ram().share("spriteram");
map(0x106000, 0x1067ff).ram();

View File

@ -242,8 +242,9 @@ WRITE8_MEMBER(liberate_state::prosport_charram_w)
void liberate_state::prosport_map(address_map &map)
{
map(0x0000, 0x03ff).mirror(0x2000).ram();
map(0x0200, 0x021f).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
map(0x0000, 0x01ff).mirror(0x2000).ram();
map(0x0200, 0x021f).mirror(0x2000).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
map(0x0220, 0x03ff).mirror(0x2000).ram();
map(0x0400, 0x07ff).ram().w(FUNC(liberate_state::prosport_bg_vram_w)).share("bg_vram");
map(0x0800, 0x1fff).rw(FUNC(liberate_state::prosport_charram_r), FUNC(liberate_state::prosport_charram_w)); //0x1e00-0x1fff isn't charram!
map(0x2400, 0x2fff).ram();

View File

@ -275,10 +275,10 @@ WRITE8_MEMBER( liberatr_state::earom_control_w )
void liberatr_state::liberatr_map(address_map &map)
{
map(0x0000, 0x3fff).ram().w(FUNC(liberatr_state::bitmap_w)).share("bitmapram"); /* overlapping for my convenience */
map(0x0000, 0x0000).ram().share("xcoord");
map(0x0001, 0x0001).ram().share("ycoord");
map(0x0002, 0x0002).rw(FUNC(liberatr_state::bitmap_xy_r), FUNC(liberatr_state::bitmap_xy_w));
map(0x0003, 0x3fff).ram().w(FUNC(liberatr_state::bitmap_w)).share("bitmapram");
map(0x4000, 0x403f).r(FUNC(liberatr_state::earom_r));
map(0x5000, 0x5000).r(FUNC(liberatr_state::port0_r));
map(0x5001, 0x5001).portr("IN1");
@ -306,10 +306,10 @@ void liberatr_state::liberatr_map(address_map &map)
void liberatr_state::liberat2_map(address_map &map)
{
map(0x0000, 0x3fff).ram().w(FUNC(liberatr_state::bitmap_w)).share("bitmapram"); /* overlapping for my convenience */
map(0x0000, 0x0000).ram().share("xcoord");
map(0x0001, 0x0001).ram().share("ycoord");
map(0x0002, 0x0002).rw(FUNC(liberatr_state::bitmap_xy_r), FUNC(liberatr_state::bitmap_xy_w));
map(0x0003, 0x3fff).ram().w(FUNC(liberatr_state::bitmap_w)).share("bitmapram");
map(0x4000, 0x4000).r(FUNC(liberatr_state::port0_r));
map(0x4001, 0x4001).portr("IN1");
map(0x4002, 0x400f).nopr();

View File

@ -108,8 +108,6 @@ void ltd_state::ltd3_map(address_map &map)
void ltd_state::ltd4_map(address_map &map)
{
map(0x0000, 0x001f).ram(); // internal to the cpu
map(0x0080, 0x00ff).ram();
map(0x0100, 0x01ff).ram().share("nvram");
map(0x0800, 0x0800).w(FUNC(ltd_state::count_reset_w));
map(0x0c00, 0x0c00).w("aysnd_1", FUNC(ay8910_device::reset_w));

View File

@ -255,8 +255,8 @@ void m62_state::ldrun3_map(address_map &map)
map(0xcc00, 0xcc00).r(FUNC(m62_state::ldrun3_prot_7_r));
map(0xcfff, 0xcfff).r(FUNC(m62_state::ldrun3_prot_7_r));
map(0xc000, 0xc0ff).writeonly().share("spriteram");
map(0xd000, 0xefff).ram();
map(0xd000, 0xdfff).ram().w(FUNC(m62_state::m62_tileram_w)).share("m62_tileram");
map(0xe000, 0xefff).ram();
}
void m62_state::ldrun3_io_map(address_map &map)

View File

@ -62,7 +62,7 @@ void maygayep_state::maygayep_map(address_map &map)
{
map.global_mask(0xffffff);
map(0x000000, 0x07ffff).rom().region("maincpu", 0);
map(0xfe0000, 0xffffff).ram(); // merln at least?
map(0xfe0000, 0xfffd0f).ram(); // merln at least?
}
static INPUT_PORTS_START( maygayep )

View File

@ -667,7 +667,6 @@ void maygayv1_state::sound_prg(address_map &map)
void maygayv1_state::sound_data(address_map &map)
{
map(0x0000, 0x1ff).ram(); // nothing?
}
void maygayv1_state::sound_io(address_map &map)

View File

@ -234,28 +234,22 @@ void mgolf_state::cpu_map(address_map &map)
{
map.global_mask(0x3fff);
map(0x0040, 0x0040).portr("40");
map(0x0041, 0x0041).r(FUNC(mgolf_state::dial_r));
map(0x0060, 0x0060).portr("60");
map(0x0061, 0x0061).r(FUNC(mgolf_state::misc_r));
map(0x0080, 0x00ff).r(FUNC(mgolf_state::wram_r));
map(0x0180, 0x01ff).r(FUNC(mgolf_state::wram_r));
map(0x0800, 0x0bff).readonly();
map(0x0000, 0x0009).nopw();
map(0x0024, 0x0024).nopw();
map(0x0028, 0x0028).nopw();
map(0x0040, 0x0040).portr("40");
map(0x0041, 0x0041).r(FUNC(mgolf_state::dial_r));
map(0x0042, 0x0042).nopw();
map(0x0044, 0x0044).nopw(); /* watchdog? */
map(0x0046, 0x0046).nopw();
map(0x0060, 0x0060).nopw();
map(0x0061, 0x0061).nopw();
map(0x0060, 0x0060).portr("60").nopw();
map(0x0061, 0x0061).r(FUNC(mgolf_state::misc_r)).nopw();
map(0x006a, 0x006a).nopw();
map(0x006c, 0x006c).nopw();
map(0x006d, 0x006d).nopw();
map(0x0080, 0x00ff).w(FUNC(mgolf_state::wram_w));
map(0x0180, 0x01ff).w(FUNC(mgolf_state::wram_w));
map(0x0800, 0x0bff).w(FUNC(mgolf_state::vram_w)).share("video_ram");
map(0x0080, 0x00ff).rw(FUNC(mgolf_state::wram_r), FUNC(mgolf_state::wram_w)).mirror(0x100);
map(0x0800, 0x0bff).ram().w(FUNC(mgolf_state::vram_w)).share("video_ram");
map(0x2000, 0x3fff).rom();
}

View File

@ -590,7 +590,6 @@ void midvunit_state::midvunit_map(address_map &map)
map(0x400000, 0x41ffff).ram();
map(0x600000, 0x600000).w(FUNC(midvunit_state::midvunit_dma_queue_w));
map(0x808000, 0x80807f).rw(FUNC(midvunit_state::tms32031_control_r), FUNC(midvunit_state::tms32031_control_w)).share("32031_control");
map(0x809800, 0x809fff).ram();
map(0x900000, 0x97ffff).rw(FUNC(midvunit_state::midvunit_videoram_r), FUNC(midvunit_state::midvunit_videoram_w)).share("videoram");
map(0x980000, 0x980000).r(FUNC(midvunit_state::midvunit_dma_queue_entries_r));
map(0x980020, 0x980020).r(FUNC(midvunit_state::midvunit_scanline_r));
@ -622,7 +621,6 @@ void midvunit_state::midvplus_map(address_map &map)
map(0x400000, 0x41ffff).ram().share("fastram_base");
map(0x600000, 0x600000).w(FUNC(midvunit_state::midvunit_dma_queue_w));
map(0x808000, 0x80807f).rw(FUNC(midvunit_state::tms32031_control_r), FUNC(midvunit_state::tms32031_control_w)).share("32031_control");
map(0x809800, 0x809fff).ram();
map(0x900000, 0x97ffff).rw(FUNC(midvunit_state::midvunit_videoram_r), FUNC(midvunit_state::midvunit_videoram_w)).share("videoram");
map(0x980000, 0x980000).r(FUNC(midvunit_state::midvunit_dma_queue_entries_r));
map(0x980020, 0x980020).r(FUNC(midvunit_state::midvunit_scanline_r));

View File

@ -128,7 +128,6 @@ void mps1230_state::mps1230_map(address_map &map)
{
map(0x0000, 0x7fff).rom().region("maincpu", 0);
map(0xc000, 0xdfff).ram(); // as per the service manual
map(0xff80, 0xffff).ram(); // internal in cpu
}
/***************************************************************************

View File

@ -1815,7 +1815,7 @@ void namcos12_boothack_state::golgo13(machine_config &config)
void namcos12_state::jvsmap(address_map &map)
{
map(0x0000, 0x1fff).rom().region("iocpu", 0);
map(0xc000, 0xffff).ram();
map(0xc000, 0xfb7f).ram();
}
void namcos12_state::jvsiomap(address_map &map)
@ -1866,7 +1866,7 @@ void namcos12_state::tdjvsmap(address_map &map)
map(0x0000, 0x3fff).rom().region("iocpu", 0);
map(0x6000, 0x6001).portr("IN01");
map(0x6002, 0x6003).portr("IN23");
map(0xc000, 0xffff).ram();
map(0xc000, 0xfb7f).ram();
}
void namcos12_state::tdjvsiomap(address_map &map)
@ -1883,7 +1883,7 @@ void namcos12_state::plarailjvsmap(address_map &map)
map(0x0000, 0x3fff).rom().region("iocpu", 0);
map(0x6000, 0x6001).portr("IN01");
map(0x6002, 0x6003).portr("IN23");
map(0xc000, 0xffff).ram();
map(0xc000, 0xfb7f).ram();
}
void namcos12_state::plarailjvsiomap(address_map &map)

View File

@ -3203,7 +3203,7 @@ void namcos23_state::s23iobrdmap(address_map &map)
map(0x6002, 0x6003).portr("IN23");
map(0x6004, 0x6005).nopw();
map(0x6006, 0x6007).noprw();
map(0xc000, 0xffff).ram();
map(0xc000, 0xfb7f).ram();
}
void namcos23_state::s23iobrdiomap(address_map &map)

View File

@ -309,11 +309,12 @@ void nemesis_state::nemesis_map(address_map &map)
{
map(0x000000, 0x03ffff).rom();
map(0x040000, 0x04ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x050000, 0x051fff).ram();
map(0x050000, 0x0503ff).share("xscroll1");
map(0x050400, 0x0507ff).share("xscroll2");
map(0x050f00, 0x050f7f).share("yscroll2");
map(0x050f80, 0x050fff).share("yscroll1");
map(0x050000, 0x0503ff).ram().share("xscroll1");
map(0x050400, 0x0507ff).ram().share("xscroll2");
map(0x050800, 0x050eff).ram();
map(0x050f00, 0x050f7f).ram().share("yscroll2");
map(0x050f80, 0x050fff).ram().share("yscroll1");
map(0x051000, 0x051fff).ram();
map(0x052000, 0x052fff).ram().w(FUNC(nemesis_state::nemesis_videoram1_word_w)).share("videoram1"); /* VRAM */
map(0x053000, 0x053fff).ram().w(FUNC(nemesis_state::nemesis_videoram2_word_w)).share("videoram2");
map(0x054000, 0x054fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
@ -339,11 +340,12 @@ void nemesis_state::gx400_map(address_map &map)
map(0x010000, 0x01ffff).ram();
map(0x020000, 0x027fff).rw(FUNC(nemesis_state::gx400_sharedram_word_r), FUNC(nemesis_state::gx400_sharedram_word_w));
map(0x030000, 0x03ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x050000, 0x051fff).ram();
map(0x050000, 0x0503ff).share("xscroll1");
map(0x050400, 0x0507ff).share("xscroll2");
map(0x050f00, 0x050f7f).share("yscroll2");
map(0x050f80, 0x050fff).share("yscroll1");
map(0x050000, 0x0503ff).ram().share("xscroll1");
map(0x050400, 0x0507ff).ram().share("xscroll2");
map(0x050800, 0x050eff).ram();
map(0x050f00, 0x050f7f).ram().share("yscroll2");
map(0x050f80, 0x050fff).ram().share("yscroll1");
map(0x051000, 0x051fff).ram();
map(0x052000, 0x052fff).ram().w(FUNC(nemesis_state::nemesis_videoram1_word_w)).share("videoram1"); /* VRAM */
map(0x053000, 0x053fff).ram().w(FUNC(nemesis_state::nemesis_videoram2_word_w)).share("videoram2");
map(0x054000, 0x054fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
@ -372,11 +374,12 @@ void nemesis_state::bubsys_map(address_map &map)
map(0x020000, 0x027fff).rw(FUNC(nemesis_state::gx400_sharedram_word_r), FUNC(nemesis_state::gx400_sharedram_word_w));
map(0x030000, 0x03ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x040000, 0x040007).ram().w(FUNC(nemesis_state::bubsys_mcu_w)).share("bubsys_control"); // Shared with MCU
map(0x050000, 0x051fff).ram();
map(0x050000, 0x0503ff).share("xscroll1");
map(0x050400, 0x0507ff).share("xscroll2");
map(0x050f00, 0x050f7f).share("yscroll2");
map(0x050f80, 0x050fff).share("yscroll1");
map(0x050000, 0x0503ff).ram().share("xscroll1");
map(0x050400, 0x0507ff).ram().share("xscroll2");
map(0x050800, 0x050eff).ram();
map(0x050f00, 0x050f7f).ram().share("yscroll2");
map(0x050f80, 0x050fff).ram().share("yscroll1");
map(0x051000, 0x051fff).ram();
map(0x052000, 0x052fff).ram().w(FUNC(nemesis_state::nemesis_videoram1_word_w)).share("videoram1"); /* VRAM */
map(0x053000, 0x053fff).ram().w(FUNC(nemesis_state::nemesis_videoram2_word_w)).share("videoram2");
map(0x054000, 0x054fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
@ -401,11 +404,12 @@ void nemesis_state::konamigt_map(address_map &map)
{
map(0x000000, 0x03ffff).rom();
map(0x040000, 0x04ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x050000, 0x051fff).ram();
map(0x050000, 0x0503ff).share("xscroll1");
map(0x050400, 0x0507ff).share("xscroll2");
map(0x050f00, 0x050f7f).share("yscroll2");
map(0x050f80, 0x050fff).share("yscroll1");
map(0x050000, 0x0503ff).ram().share("xscroll1");
map(0x050400, 0x0507ff).ram().share("xscroll2");
map(0x050800, 0x050eff).ram();
map(0x050f00, 0x050f7f).ram().share("yscroll2");
map(0x050f80, 0x050fff).ram().share("yscroll1");
map(0x051000, 0x051fff).ram();
map(0x052000, 0x052fff).ram().w(FUNC(nemesis_state::nemesis_videoram1_word_w)).share("videoram1"); /* VRAM */
map(0x053000, 0x053fff).ram().w(FUNC(nemesis_state::nemesis_videoram2_word_w)).share("videoram2");
map(0x054000, 0x054fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
@ -432,11 +436,12 @@ void nemesis_state::rf2_gx400_map(address_map &map)
map(0x010000, 0x01ffff).ram();
map(0x020000, 0x027fff).rw(FUNC(nemesis_state::gx400_sharedram_word_r), FUNC(nemesis_state::gx400_sharedram_word_w));
map(0x030000, 0x03ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x050000, 0x051fff).ram();
map(0x050000, 0x0503ff).share("xscroll1");
map(0x050400, 0x0507ff).share("xscroll2");
map(0x050f00, 0x050f7f).share("yscroll2");
map(0x050f80, 0x050fff).share("yscroll1");
map(0x050000, 0x0503ff).ram().share("xscroll1");
map(0x050400, 0x0507ff).ram().share("xscroll2");
map(0x050800, 0x050eff).ram();
map(0x050f00, 0x050f7f).ram().share("yscroll2");
map(0x050f80, 0x050fff).ram().share("yscroll1");
map(0x051000, 0x051fff).ram();
map(0x052000, 0x052fff).ram().w(FUNC(nemesis_state::nemesis_videoram1_word_w)).share("videoram1"); /* VRAM */
map(0x053000, 0x053fff).ram().w(FUNC(nemesis_state::nemesis_videoram2_word_w)).share("videoram2");
map(0x054000, 0x054fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
@ -526,11 +531,12 @@ void nemesis_state::salamand_map(address_map &map)
map(0x103000, 0x103fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
map(0x120000, 0x12ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x180000, 0x180fff).ram().share("spriteram"); /* more sprite ram ??? */
map(0x190000, 0x191fff).ram();
map(0x190000, 0x1903ff).share("xscroll2");
map(0x190400, 0x1907ff).share("xscroll1");
map(0x190f00, 0x190f7f).share("yscroll1");
map(0x190f80, 0x190fff).share("yscroll2");
map(0x190000, 0x1903ff).ram().share("xscroll2");
map(0x190400, 0x1907ff).ram().share("xscroll1");
map(0x190800, 0x190eff).ram();
map(0x190f00, 0x190f7f).ram().share("yscroll1");
map(0x190f80, 0x190fff).ram().share("yscroll2");
map(0x191000, 0x191fff).ram();
}
void nemesis_state::blkpnthr_map(address_map &map)
@ -551,11 +557,12 @@ void nemesis_state::blkpnthr_map(address_map &map)
map(0x102000, 0x102fff).ram().w(FUNC(nemesis_state::nemesis_videoram1_word_w)).share("videoram1");
map(0x103000, 0x103fff).ram().w(FUNC(nemesis_state::nemesis_videoram2_word_w)).share("videoram2");
map(0x120000, 0x12ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x180000, 0x181fff).ram();
map(0x180000, 0x1803ff).share("xscroll1");
map(0x180400, 0x1807ff).share("xscroll2");
map(0x180f00, 0x180f7f).share("yscroll2");
map(0x180f80, 0x180fff).share("yscroll1");
map(0x180000, 0x1803ff).ram().share("xscroll1");
map(0x180400, 0x1807ff).ram().share("xscroll2");
map(0x180800, 0x180eff).ram();
map(0x180f00, 0x180f7f).ram().share("yscroll2");
map(0x180f80, 0x180fff).ram().share("yscroll1");
map(0x181000, 0x181fff).ram();
map(0x190000, 0x190fff).ram().share("spriteram"); /* more sprite ram ??? */
}
@ -579,11 +586,12 @@ void nemesis_state::citybomb_map(address_map &map)
map(0x211000, 0x211fff).ram().w(FUNC(nemesis_state::nemesis_videoram2_word_w)).share("videoram2");
map(0x212000, 0x212fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
map(0x213000, 0x213fff).ram().w(FUNC(nemesis_state::nemesis_colorram2_word_w)).share("colorram2");
map(0x300000, 0x301fff).ram();
map(0x300000, 0x3003ff).share("xscroll1");
map(0x300400, 0x3007ff).share("xscroll2");
map(0x300f00, 0x300f7f).share("yscroll2");
map(0x300f80, 0x300fff).share("yscroll1");
map(0x300000, 0x3003ff).ram().share("xscroll1");
map(0x300400, 0x3007ff).ram().share("xscroll2");
map(0x300800, 0x300eff).ram();
map(0x300f00, 0x300f7f).ram().share("yscroll2");
map(0x300f80, 0x300fff).ram().share("yscroll1");
map(0x301000, 0x301fff).ram();
map(0x310000, 0x310fff).ram().share("spriteram"); /* more sprite ram ??? */
}
@ -607,11 +615,12 @@ void nemesis_state::nyanpani_map(address_map &map)
map(0x203000, 0x203fff).ram().w(FUNC(nemesis_state::nemesis_colorram2_word_w)).share("colorram2");
map(0x210000, 0x21ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x300000, 0x300fff).ram().share("spriteram"); /* more sprite ram ??? */
map(0x310000, 0x311fff).ram();
map(0x310000, 0x3103ff).share("xscroll1");
map(0x310400, 0x3107ff).share("xscroll2");
map(0x310f00, 0x310f7f).share("yscroll2");
map(0x310f80, 0x310fff).share("yscroll1");
map(0x310000, 0x3103ff).ram().share("xscroll1");
map(0x310400, 0x3107ff).ram().share("xscroll2");
map(0x310800, 0x310eff).ram();
map(0x310f00, 0x310f7f).ram().share("yscroll2");
map(0x310f80, 0x310fff).ram().share("yscroll1");
map(0x311000, 0x311fff).ram();
}
READ8_MEMBER(nemesis_state::wd_r)
@ -684,11 +693,12 @@ void nemesis_state::hcrash_map(address_map &map)
map(0x103000, 0x103fff).ram().w(FUNC(nemesis_state::nemesis_colorram1_word_w)).share("colorram1");
map(0x120000, 0x12ffff).ram().w(FUNC(nemesis_state::nemesis_charram_word_w)).share("charram");
map(0x180000, 0x180fff).ram().share("spriteram");
map(0x190000, 0x191fff).ram();
map(0x190000, 0x1903ff).share("xscroll2");
map(0x190400, 0x1907ff).share("xscroll1");
map(0x190f00, 0x190f7f).share("yscroll1");
map(0x190f80, 0x190fff).share("yscroll2");
map(0x190000, 0x1903ff).ram().share("xscroll2");
map(0x190400, 0x1907ff).ram().share("xscroll1");
map(0x190800, 0x190eff).ram();
map(0x190f00, 0x190f7f).ram().share("yscroll1");
map(0x190f80, 0x190fff).ram().share("yscroll2");
map(0x191000, 0x191fff).ram();
}
/******************************************************************************/

View File

@ -5254,13 +5254,6 @@ WRITE16_MEMBER(nmk16_state::afega_scroll_w)
COMBINE_DATA(&m_afega_scroll[Scroll][offset]);
}
/*
Lines starting with an empty comment in the following MemoryReadAddress
arrays are there for debug (e.g. the game does not read from those ranges
AFAIK)
*/
void nmk16_state::afega_map(address_map &map)
{
map.global_mask(0xfffff);
@ -5269,16 +5262,12 @@ void nmk16_state::afega_map(address_map &map)
map(0x080002, 0x080003).portr("IN1"); // P1 + P2
map(0x080004, 0x080005).portr("DSW1"); // 2 x DSW
map(0x080012, 0x080013).r(FUNC(nmk16_state::afega_unknown_r));
map(0x080000, 0x08001d).writeonly(); //
map(0x08001f, 0x08001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); // To Sound CPU
map(0x080020, 0x087fff).writeonly(); //
map(0x084000, 0x084003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)); // Scroll on redhawkb (mirror or changed?..)
map(0x084004, 0x084007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)); // Scroll on redhawkb (mirror or changed?..)
map(0x088000, 0x0885ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
map(0x088600, 0x08bfff).writeonly(); //
map(0x08c000, 0x08c003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)).share("afega_scroll_0"); // Scroll
map(0x08c004, 0x08c007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)).share("afega_scroll_1"); //
map(0x08c008, 0x08ffff).writeonly(); //
map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); // Layer 0 // ?
map(0x09c000, 0x09c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); // Layer 1
@ -5295,16 +5284,12 @@ void nmk16_state::firehawk_map(address_map &map)
map(0x280002, 0x280003).portr("IN1"); // P1 + P2
map(0x280004, 0x280005).portr("DSW1"); // 2 x DSW
map(0x280012, 0x280013).r(FUNC(nmk16_state::afega_unknown_r));
map(0x280000, 0x28001d).writeonly(); //
map(0x28001f, 0x28001f).w(m_soundlatch, FUNC(generic_latch_8_device::write)); // To Sound CPU
map(0x280020, 0x287fff).writeonly(); //
map(0x284000, 0x284003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)); // Scroll on redhawkb (mirror or changed?..)
map(0x284004, 0x284007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)); // Scroll on redhawkb (mirror or changed?..)
map(0x288000, 0x2885ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
map(0x288600, 0x28bfff).writeonly(); //
map(0x28c000, 0x28c003).ram().w(FUNC(nmk16_state::afega_scroll_w<0>)).share("afega_scroll_0"); // Scroll
map(0x28c004, 0x28c007).ram().w(FUNC(nmk16_state::afega_scroll_w<1>)).share("afega_scroll_1"); //
map(0x28c008, 0x28ffff).writeonly(); //
map(0x290000, 0x293fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0"); // Layer 0 // ?
map(0x29c000, 0x29c7ff).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram"); // Layer 1

View File

@ -44,7 +44,6 @@ protected:
void o2_state::mem_map(address_map &map)
{
map(0x00000000, 0x01ffffff).ram().share("bank1");
map(0x00000000, 0x00000fff).ram();
map(0x14000000, 0x15ffffff).m(m_crime, FUNC(crime_device::map));
map(0x1f000000, 0x1f3fffff).m(m_mace, FUNC(mace_device::map));
map(0x1fc00000, 0x1fc7ffff).rom().region("user1", 0);

View File

@ -282,9 +282,11 @@ void olibochu_state::olibochu_map(address_map &map)
map(0xa005, 0xa005).portr("DSW2");
map(0xa800, 0xa801).w(FUNC(olibochu_state::sound_command_w));
map(0xa802, 0xa802).w(FUNC(olibochu_state::olibochu_flipscreen_w)); /* bit 6 = enable sound? */
map(0xf000, 0xffff).ram();
map(0xf000, 0xf3ff).ram();
map(0xf400, 0xf41f).ram().share("spriteram");
map(0xf420, 0xf43f).ram();
map(0xf440, 0xf47f).ram().share("spriteram2");
map(0xf480, 0xffff).ram();
}
void olibochu_state::olibochu_sound_map(address_map &map)

View File

@ -146,10 +146,11 @@ void punchout_state::punchout_map(address_map &map)
map(0x0000, 0xbfff).rom();
map(0xc000, 0xc3ff).ram().share("nvram");
map(0xd000, 0xd7ff).ram();
map(0xd800, 0xdfff).ram().w(FUNC(punchout_state::punchout_bg_top_videoram_w)).share("bg_top_videoram");
map(0xdff0, 0xdff7).share("spr1_ctrlram");
map(0xdff8, 0xdffc).share("spr2_ctrlram");
map(0xdffd, 0xdffd).share("palettebank");
map(0xd800, 0xdfef).ram().w(FUNC(punchout_state::punchout_bg_top_videoram_w)).share("bg_top_videoram");
map(0xdff0, 0xdff7).ram().share("spr1_ctrlram");
map(0xdff8, 0xdffc).ram().share("spr2_ctrlram");
map(0xdffd, 0xdffd).ram().share("palettebank");
map(0xdffe, 0xdfff).ram();
map(0xe000, 0xe7ff).ram().w(FUNC(punchout_state::punchout_spr1_videoram_w)).share("spr1_videoram");
map(0xe800, 0xefff).ram().w(FUNC(punchout_state::punchout_spr2_videoram_w)).share("spr2_videoram");
map(0xf000, 0xffff).ram().w(FUNC(punchout_state::punchout_bg_bot_videoram_w)).share("bg_bot_videoram"); // also contains scroll RAM
@ -161,10 +162,11 @@ void punchout_state::armwrest_map(address_map &map)
map(0x0000, 0xbfff).rom();
map(0xc000, 0xc3ff).ram().share("nvram");
map(0xd000, 0xd7ff).ram();
map(0xd800, 0xdfff).ram().w(FUNC(punchout_state::armwrest_fg_videoram_w)).share("armwrest_fgram");
map(0xdff0, 0xdff7).share("spr1_ctrlram");
map(0xdff8, 0xdffc).share("spr2_ctrlram");
map(0xdffd, 0xdffd).share("palettebank");
map(0xd800, 0xdfef).ram().w(FUNC(punchout_state::armwrest_fg_videoram_w)).share("armwrest_fgram");
map(0xdff0, 0xdff7).ram().share("spr1_ctrlram");
map(0xdff8, 0xdffc).ram().share("spr2_ctrlram");
map(0xdffd, 0xdffd).ram().share("palettebank");
map(0xdffe, 0xdfff).ram();
map(0xe000, 0xe7ff).ram().w(FUNC(punchout_state::punchout_spr1_videoram_w)).share("spr1_videoram");
map(0xe800, 0xefff).ram().w(FUNC(punchout_state::punchout_spr2_videoram_w)).share("spr2_videoram");
map(0xf000, 0xf7ff).ram().w(FUNC(punchout_state::punchout_bg_bot_videoram_w)).share("bg_bot_videoram");

View File

@ -170,8 +170,9 @@ void realbrk_state::base_mem(address_map &map)
map(0x600000, 0x601fff).ram().w(FUNC(realbrk_state::vram_w<0>)).share("vram_0"); // Background (0)
map(0x602000, 0x603fff).ram().w(FUNC(realbrk_state::vram_w<1>)).share("vram_1"); // Background (1)
map(0x604000, 0x604fff).ram().w(FUNC(realbrk_state::vram_2_w)).share("vram_2"); // Text (2)
map(0x605000, 0x61ffff).ram(); //
map(0x605000, 0x605fff).ram(); //
map(0x606000, 0x60600f).ram().w(FUNC(realbrk_state::vregs_w)).share("vregs"); // Scroll + Video Regs
map(0x606010, 0x61ffff).ram(); //
map(0x800000, 0x800003).rw("ymz", FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0xff00); // YMZ280
map(0xfe0000, 0xfeffff).ram(); // RAM
}

View File

@ -68,9 +68,10 @@ void rocnrope_state::rocnrope_map(address_map &map)
map(0x3083, 0x3083).portr("DSW1");
map(0x3000, 0x3000).portr("DSW2");
map(0x3100, 0x3100).portr("DSW3");
map(0x4000, 0x47ff).ram();
map(0x4000, 0x402f).ram().share("spriteram2");
map(0x4030, 0x43ff).ram();
map(0x4400, 0x442f).ram().share("spriteram");
map(0x4430, 0x47ff).ram();
map(0x4800, 0x4bff).ram().w(FUNC(rocnrope_state::rocnrope_colorram_w)).share("colorram");
map(0x4c00, 0x4fff).ram().w(FUNC(rocnrope_state::rocnrope_videoram_w)).share("videoram");
map(0x5000, 0x5fff).ram();

View File

@ -221,8 +221,9 @@ void rohga_state::wizdfire_map(address_map &map)
map(0x380000, 0x381fff).ram().w(m_decocomn, FUNC(decocomn_device::buffered_palette_w)).share("paletteram");
map(0x390008, 0x390009).w(m_decocomn, FUNC(decocomn_device::palette_dma_w));
map(0xfdc000, 0xffffff).ram();
map(0xfdc000, 0xfe3fff).ram();
map(0xfe4000, 0xfe7fff).rw(FUNC(rohga_state::ioprot_r), FUNC(rohga_state::ioprot_w)).share("prot16ram"); /* Protection device */
map(0xfe8000, 0xffffff).ram();
}

View File

@ -85,7 +85,6 @@ void scv_state::scv_mem(address_map &map)
map(0x3600, 0x3600).w(m_upd1771c, FUNC(upd1771c_device::write));
map(0x8000, 0xff7f).rw(m_cart, FUNC(scv_cart_slot_device::read_cart), FUNC(scv_cart_slot_device::write_cart)); // cartridge
map(0xff80, 0xffff).ram(); // upd7801 internal RAM
}

View File

@ -131,20 +131,25 @@ void senjyo_state::senjyo_map(address_map &map)
map(0x9400, 0x97ff).ram().w(FUNC(senjyo_state::fgcolorram_w)).share("fgcolorram");
map(0x9800, 0x987f).ram().share("spriteram");
map(0x9c00, 0x9dff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
map(0x9e00, 0x9e3f).ram();
map(0x9e00, 0x9e1f).ram().share("fgscroll");
map(0x9e20, 0x9e21).ram().share("scrolly3");
/* AM_RANGE(0x9e22, 0x9e23) height of the layer (Senjyo only, fixed at 0x380) */
map(0x9e22, 0x9e24).ram();
map(0x9e25, 0x9e25).ram().share("scrollx3");
map(0x9e26, 0x9e26).ram();
map(0x9e27, 0x9e27).ram().share("bgstripesram"); /* controls width of background stripes */
map(0x9e28, 0x9e29).ram().share("scrolly2");
/* AM_RANGE(0x9e2a, 0x9e2b) height of the layer (Senjyo only, fixed at 0x200) */
map(0x9e2a, 0x9e2c).ram();
map(0x9e2d, 0x9e2d).ram().share("scrollx2");
map(0x9e2e, 0x9e2f).ram();
map(0x9e30, 0x9e31).ram().share("scrolly1");
/* AM_RANGE(0x9e32, 0x9e33) height of the layer (Senjyo only, fixed at 0x100) */
map(0x9e32, 0x9e34).ram();
map(0x9e35, 0x9e35).ram().share("scrollx1");
/* AM_RANGE(0x9e38, 0x9e38) probably radar y position (Senjyo only, fixed at 0x61) */
/* AM_RANGE(0x9e3d, 0x9e3d) probably radar x position (Senjyo only, 0x00/0xc0 depending on screen flip) */
map(0x9e36, 0x9e3f).ram();
map(0xa000, 0xa7ff).ram().w(FUNC(senjyo_state::bg3videoram_w)).share("bg3videoram");
map(0xa800, 0xafff).ram().w(FUNC(senjyo_state::bg2videoram_w)).share("bg2videoram");
map(0xb000, 0xb7ff).ram().w(FUNC(senjyo_state::bg1videoram_w)).share("bg1videoram");

View File

@ -2049,7 +2049,7 @@ void seta_state::wrofaero_map(address_map &map)
map(0x000000, 0x1fffff).rom(); // ROM (up to 2MB)
map(0x200000, 0x20ffff).ram(); // RAM
map(0x210000, 0x21ffff).ram(); // RAM (gundhara)
map(0x300000, 0x30ffff).ram(); // RAM (wrofaero only?)
map(0x300000, 0x30ffff).ram().share("nvram"); // actually 8K x8 SRAM in zombraid
map(0x400000, 0x400001).portr("P1"); // P1
map(0x400002, 0x400003).portr("P2"); // P2
map(0x400004, 0x400005).portr("COINS"); // Coins
@ -2086,7 +2086,6 @@ void seta_state::wrofaero_map(address_map &map)
void zombraid_state::zombraid_map(address_map &map)
{
wrofaero_map(map);
map(0x300000, 0x30ffff).ram().share("nvram"); // actually 8K x8 SRAM
map(0xf00000, 0xf00001).w(FUNC(zombraid_state::gun_w));
map(0xf00002, 0xf00003).r(FUNC(zombraid_state::gun_r));
}

View File

@ -27,7 +27,7 @@
The sub CPU bit-bangs 30864 bits worth of data to 0x40000003 twice.
- There seems to be a bug in the game code drawing routines, causing objects to have some pixels
chopped off. This is most noticeable for distant thin objects (falgs, poles of the start banner).
chopped off. This is most noticeable for distant thin objects (flags, poles of the start banner).
See maincpu routine at 387B8, specifically the jump at 3880E throws 4 horizontal pixels away.
- The player often disappears (when she's too slow?). Is this normal ?
@ -378,7 +378,7 @@ void skimaxx_state::m68030_2_map(address_map &map)
map(0xfffc0000, 0xfffcffff).ram().share("share1");
// AM_RANGE(0xfffe0000, 0xffffffff) AM_RAM // I think this is banked with the shared RAM? (see CPU sync routines)
map(0xfffe0000, 0xfffeffff).ram().share("share1"); // HACK
map(0xfffe0010, 0xfffeffff).ram(); // HACK
// map(0xfffe0010, 0xfffeffff).ram(); // HACK
map(0xffff0000, 0xffffffff).ram();
}

View File

@ -408,9 +408,8 @@ void ssv_state::ssv_map(address_map &map, u32 rom)
map(0x100000, 0x13ffff).ram().share("spriteram"); /* Sprites */
map(0x140000, 0x15ffff).ram().w("palette", FUNC(palette_device::write16)).share("palette"); /* Palette */
map(0x160000, 0x17ffff).ram(); /* */
map(0x1c0000, 0x1c007f).ram().w(FUNC(ssv_state::scroll_w)).share("scroll"); /* Scroll */
map(0x1c0000, 0x1c0001).r(FUNC(ssv_state::vblank_r)); /* Vblank? */
/**/map(0x1c0002, 0x1c007f).readonly(); /* Scroll */
map(0x1c0000, 0x1c007f).w(FUNC(ssv_state::scroll_w)).share("scroll"); /* Scroll */
map(0x210002, 0x210003).portr("DSW1");
map(0x210004, 0x210005).portr("DSW2");
map(0x210008, 0x210009).portr("P1");

View File

@ -315,7 +315,7 @@ void stfight_state::cshooter_cpu1_map(address_map &map)
map(0xc801, 0xc801).w(FUNC(stfight_state::stfight_bank_w));
map(0xd000, 0xd7ff).ram().w("airraid_vid", FUNC(airraid_video_device::txram_w)).share("txram");
map(0xd800, 0xd80f).ram().w("airraid_vid", FUNC(airraid_video_device::vregs_w)).share("vregs"); // wrong?
map(0xe000, 0xfdff).ram();
map(0xf000, 0xfdff).ram();
map(0xfe00, 0xffff).ram().share("sprite_ram");
}

View File

@ -54,7 +54,7 @@ void subs_state::subs_palette(palette_device &palette) const
void subs_state::main_map(address_map &map)
{
map.global_mask(0x3fff);
map(0x0000, 0x01ff).ram();
map(0x0000, 0x008f).ram();
map(0x0000, 0x0000).w(FUNC(subs_state::noise_reset_w));
map(0x0000, 0x0007).r(FUNC(subs_state::control_r));
map(0x0020, 0x0020).w(FUNC(subs_state::steer_reset_w));
@ -62,7 +62,8 @@ void subs_state::main_map(address_map &map)
// AM_RANGE(0x0040, 0x0040) AM_WRITE(timer_reset_w)
map(0x0060, 0x0063).r(FUNC(subs_state::options_r));
map(0x0060, 0x006f).w("latch", FUNC(ls259_device::write_a0));
map(0x0090, 0x009f).share("spriteram");
map(0x0090, 0x009f).ram().share("spriteram");
map(0x00a0, 0x01ff).ram();
map(0x0800, 0x0bff).ram().share("videoram");
map(0x2000, 0x3fff).rom();
}

View File

@ -197,6 +197,7 @@ private:
void ramdac_map(address_map &map);
void saklove_io(address_map &map);
void saklove_map(address_map &map);
void xplan_common_io(address_map &map);
void xplan_io(address_map &map);
void xplan_map(address_map &map);
void xtrain_io(address_map &map);
@ -1452,7 +1453,7 @@ void subsino2_state::xplan_map(address_map &map)
map(0xc0000, 0xfffff).rom().region("maincpu", 0);
}
void subsino2_state::xplan_io(address_map &map)
void subsino2_state::xplan_common_io(address_map &map)
{
map(0x0000, 0x0000).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
@ -1479,6 +1480,11 @@ void subsino2_state::xplan_io(address_map &map)
map(0x0304, 0x0304).portr("IN B");
map(0x0305, 0x0305).portr("IN A");
map(0x0306, 0x0306).portr("IN D"); // 0x40 serial out, 0x80 serial in
}
void subsino2_state::xplan_io(address_map &map)
{
xplan_common_io(map);
// 306 = d, 307 = c, 308 = b, 309 = a
map(0x0306, 0x0309).w(FUNC(subsino2_state::xplan_outputs_w)).share("outputs");
@ -1524,7 +1530,7 @@ WRITE8_MEMBER(subsino2_state::xtrain_outputs_w)
void subsino2_state::expcard_io(address_map &map)
{
xplan_io(map);
xplan_common_io(map);
// 306 = d, 307 = c, 308 = b, 309 = a
map(0x0306, 0x0309).w(FUNC(subsino2_state::expcard_outputs_w)).share("outputs");
@ -1532,7 +1538,7 @@ void subsino2_state::expcard_io(address_map &map)
void subsino2_state::xtrain_io(address_map &map)
{
xplan_io(map);
xplan_common_io(map);
// 306 = d, 307 = c, 308 = b, 309 = a
map(0x0306, 0x0309).w(FUNC(subsino2_state::xtrain_outputs_w)).share("outputs");

View File

@ -69,7 +69,7 @@ void swtpc09_state::mp09_mem(address_map &map)
void swtpc09_state::flex_dmf2_mem(address_map &map)
{
map(0x00000, 0xfffff).ram().share("mainram"); // by default everything is ram, 1MB ram emulated
map(0x00000, 0xfffff).ram(); // by default everything is ram, 1MB ram emulated
map(0xe000, 0xe003).mirror(0xf0000).noprw();
map(0xe004, 0xe005).mirror(0xf0000).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
map(0xe080, 0xe083).mirror(0xf000c).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
@ -84,7 +84,8 @@ void swtpc09_state::flex_dmf2_mem(address_map &map)
void swtpc09_state::flex_dc4_piaide_mem(address_map &map)
{
map(0x00000, 0xfffff).ram().share("mainram"); // by default everything is ram, 1MB ram emulated
map(0x00000, 0x0efff).ram(); // by default everything is ram, 1MB ram emulated
map(0x10000, 0x1efff).ram(); // avoid the s09ram though
map(0xe000, 0xe003).mirror(0xf0000).noprw();
map(0xe004, 0xe005).mirror(0xf0000).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
map(0xe014, 0xe014).mirror(0xf0000).w(FUNC(swtpc09_state::dc4_control_reg_w));
@ -106,7 +107,7 @@ void swtpc09_state::flex_dc4_piaide_mem(address_map &map)
void swtpc09_state::uniflex_dmf2_mem(address_map &map)
{
map(0x00000, 0xfffff).ram().share("mainram"); // by default everything is ram, 1MB ram emulated
map(0x00000, 0xfffff).ram(); // by default everything is ram, 1MB ram emulated
map(0xe000, 0xe001).mirror(0xf0000).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
map(0xe002, 0xe07f).mirror(0xf0000).noprw();
map(0xe080, 0xe083).mirror(0xf000c).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
@ -121,7 +122,7 @@ void swtpc09_state::uniflex_dmf2_mem(address_map &map)
void swtpc09_state::uniflex_dmf3_mem(address_map &map)
{
map(0x00000, 0xfffff).ram().share("mainram"); // by default everything is ram, 1MB ram emulated
map(0x00000, 0xfffff).ram(); // by default everything is ram, 1MB ram emulated
map(0xe000, 0xe001).mirror(0xf0000).rw(m_acia, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
map(0xe002, 0xe07f).mirror(0xf0000).noprw();
map(0xe080, 0xe083).mirror(0xf000c).rw(m_pia, FUNC(pia6821_device::read), FUNC(pia6821_device::write));

View File

@ -56,9 +56,8 @@ void tagteam_state::main_map(address_map &map)
map(0x2003, 0x2003).portr("DSW2").w(FUNC(tagteam_state::irq_clear_w));
map(0x4000, 0x43ff).rw(FUNC(tagteam_state::mirrorvideoram_r), FUNC(tagteam_state::mirrorvideoram_w));
map(0x4400, 0x47ff).rw(FUNC(tagteam_state::mirrorcolorram_r), FUNC(tagteam_state::mirrorcolorram_w));
map(0x4800, 0x4fff).readonly();
map(0x4800, 0x4bff).w(FUNC(tagteam_state::videoram_w)).share("videoram");
map(0x4c00, 0x4fff).w(FUNC(tagteam_state::colorram_w)).share("colorram");
map(0x4800, 0x4bff).ram().w(FUNC(tagteam_state::videoram_w)).share("videoram");
map(0x4c00, 0x4fff).ram().w(FUNC(tagteam_state::colorram_w)).share("colorram");
map(0x8000, 0xffff).rom();
}

View File

@ -223,8 +223,7 @@ void tankbust_state::map_cpu2(address_map &map)
map(0x2000, 0x3fff).nopw(); /* garbage, written in initialization loop */
//0x4000 and 0x4040-0x4045 seem to be used (referenced in the code)
map(0x4000, 0x7fff).nopw(); /* garbage, written in initialization loop */
map(0x8000, 0x87ff).readonly();
map(0x8000, 0x87ff).writeonly();
map(0x8000, 0x87ff).ram();
}

View File

@ -120,12 +120,11 @@ void taxidriv_state::main_map(address_map &map)
map(0xc000, 0xc7ff).ram().share("vram4"); /* radar bitmap */
map(0xc800, 0xcfff).writeonly().share("vram5"); /* "sprite1" bitmap */
map(0xd000, 0xd7ff).writeonly().share("vram6"); /* "sprite2" bitmap */
map(0xd800, 0xdfff).ram().share("vram7"); /* "sprite3" bitmap */
map(0xe000, 0xf3ff).readonly();
map(0xe000, 0xe3ff).writeonly().share("vram1"); /* car tilemap */
map(0xe400, 0xebff).writeonly().share("vram2"); /* bg1 tilemap */
map(0xec00, 0xefff).writeonly().share("vram0"); /* fg tilemap */
map(0xf000, 0xf3ff).writeonly().share("vram3"); /* bg2 tilemap */
map(0xd800, 0xdfff).ram().share("vram7"); /* "sprite3" bitmap */
map(0xe000, 0xe3ff).ram().share("vram1"); /* car tilemap */
map(0xe400, 0xebff).ram().share("vram2"); /* bg1 tilemap */
map(0xec00, 0xefff).ram().share("vram0"); /* fg tilemap */
map(0xf000, 0xf3ff).ram().share("vram3"); /* bg2 tilemap */
map(0xf400, 0xf403).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write));
map(0xf480, 0xf483).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* "sprite1" placement */
map(0xf500, 0xf503).rw("ppi8255_3", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* "sprite2" placement */

View File

@ -102,9 +102,8 @@ WRITE8_MEMBER(tbowl_state::trigger_nmi)
void tbowl_state::_6206C_map(address_map &map)
{
map(0x0000, 0xbfff).rom();
map(0xc000, 0xdfff).readonly();
map(0xc000, 0xd7ff).writeonly();
map(0xd800, 0xdfff).writeonly().share("spriteram");
map(0xc000, 0xd7ff).ram();
map(0xd800, 0xdfff).ram().share("spriteram");
map(0xe000, 0xefff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette"); // 2x palettes, one for each monitor?
map(0xf000, 0xf7ff).bankr("subbank");
map(0xf800, 0xfbff).ram().share("shared_ram");

View File

@ -520,8 +520,9 @@ WRITE16_MEMBER(wecleman_state::blitter_w)
void wecleman_state::wecleman_map(address_map &map)
{
map(0x000000, 0x03ffff).rom(); // ROM (03c000-03ffff used as RAM sometimes!)
map(0x040000, 0x043fff).ram(); // RAM
map(0x040494, 0x040495).w(FUNC(wecleman_state::wecleman_videostatus_w)).share("videostatus"); // cloud blending control (HACK)
map(0x040000, 0x040493).ram(); // RAM
map(0x040494, 0x040495).ram().w(FUNC(wecleman_state::wecleman_videostatus_w)).share("videostatus"); // cloud blending control (HACK)
map(0x040496, 0x043fff).ram(); // RAM
map(0x060000, 0x060005).w(FUNC(wecleman_state::wecleman_protection_w)).share("protection_ram");
map(0x060006, 0x060007).r(FUNC(wecleman_state::wecleman_protection_r)); // MCU read
map(0x080000, 0x080011).ram().w(FUNC(wecleman_state::blitter_w)).share("blitter_regs"); // Blitter

View File

@ -81,10 +81,10 @@ WRITE_LINE_MEMBER(wiping_state::sound_irq_mask_w)
void wiping_state::main_map(address_map &map)
{
map(0x0000, 0x5fff).rom();
map(0x8000, 0x83ff).share("videoram");
map(0x8400, 0x87ff).share("colorram");
map(0x8800, 0x88ff).share("spriteram");
map(0x8000, 0x8bff).ram();
map(0x8000, 0x83ff).ram().share("videoram");
map(0x8400, 0x87ff).ram().share("colorram");
map(0x8800, 0x88ff).ram().share("spriteram");
map(0x8900, 0x8bff).ram();
map(0x9000, 0x93ff).ram().share("share1");
map(0x9800, 0x9bff).ram().share("share2");
map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));

View File

@ -151,10 +151,11 @@ void yiear_state::main_map(address_map &map)
map(0x4e02, 0x4e02).portr("P2");
map(0x4e03, 0x4e03).portr("DSW1");
map(0x4f00, 0x4f00).w("watchdog", FUNC(watchdog_timer_device::reset_w));
map(0x5000, 0x5fff).ram();
map(0x5000, 0x502f).ram().share("spriteram");
map(0x5030, 0x53ff).ram();
map(0x5400, 0x542f).ram().share("spriteram2");
map(0x5800, 0x5fff).w(FUNC(yiear_state::yiear_videoram_w)).share("videoram");
map(0x5430, 0x57ff).ram();
map(0x5800, 0x5fff).ram().w(FUNC(yiear_state::yiear_videoram_w)).share("videoram");
map(0x8000, 0xffff).rom();
}

View File

@ -148,9 +148,8 @@ WRITE_LINE_MEMBER(zaccaria_state::nmi_mask_w)
void zaccaria_state::main_map(address_map &map)
{
map(0x0000, 0x5fff).rom();
map(0x6000, 0x63ff).readonly();
map(0x6000, 0x67ff).ram().w(FUNC(zaccaria_state::videoram_w)).share("videoram"); /* 6400-67ff is 4 bits wide */
map(0x6400, 0x6407).r(FUNC(zaccaria_state::prot1_r));
map(0x6000, 0x67ff).w(FUNC(zaccaria_state::videoram_w)).share("videoram"); /* 6400-67ff is 4 bits wide */
map(0x6800, 0x683f).w(FUNC(zaccaria_state::attributes_w)).share("attributesram");
map(0x6840, 0x685f).ram().share("spriteram");
map(0x6881, 0x68c0).ram().share("spriteram2");

View File

@ -124,6 +124,7 @@ protected:
void armedf_drawgfx(bitmap_ind16 &dest_bmp,const rectangle &clip,gfx_element *gfx,
uint32_t code,uint32_t color, uint32_t clut,int flipx,int flipy,int offsx,int offsy,
int transparent_color);
void common_map(address_map &map);
void armedf_map(address_map &map);
void cclimbr2_map(address_map &map);
void cclimbr2_soundmap(address_map &map);

View File

@ -43,6 +43,7 @@ public:
m_astrocade_sound1(*this, "astrocade1"),
m_videoram(*this, "videoram"),
m_protected_ram(*this, "protected_ram"),
m_nvram(*this, "nvram"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_soundlatch(*this, "soundlatch"),
@ -57,6 +58,7 @@ public:
optional_device<astrocade_io_device> m_astrocade_sound1;
optional_shared_ptr<uint8_t> m_videoram;
optional_shared_ptr<uint8_t> m_protected_ram;
optional_shared_ptr<uint8_t> m_nvram;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
optional_device<generic_latch_8_device> m_soundlatch;

View File

@ -22,8 +22,7 @@ public:
m_tmsprom(*this, "tmsprom"),
m_tmslatch(*this, "tmslatch"),
m_videoram(*this, "videoram"),
m_colorram(*this, "colorram"),
m_spriteram(*this, "spriteram")
m_colorram(*this, "colorram")
{ }
void botanic(machine_config &config);
@ -77,7 +76,6 @@ private:
required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram;
required_shared_ptr<uint8_t> m_spriteram;
bool m_irq_mask;
bool m_video_enable;

View File

@ -25,6 +25,7 @@ public:
m_alpha_tilemap(*this, "alpha"),
m_mob(*this, "mob"),
m_jsa(*this, "jsa"),
m_share1(*this, "share1"),
m_adc(*this, "adc"),
m_extra(*this, "extra"),
m_palette(*this, "palette"),
@ -43,7 +44,6 @@ protected:
DECLARE_READ16_MEMBER(special_port1_r);
DECLARE_READ8_MEMBER(adc_r);
DECLARE_WRITE16_MEMBER(eprom_latch_w);
DECLARE_READ16_MEMBER(sync_r);
template<bool maincpu> DECLARE_WRITE16_MEMBER(sync_w);
TILE_GET_INFO_MEMBER(get_alpha_tile_info);
TILE_GET_INFO_MEMBER(get_playfield_tile_info);
@ -62,9 +62,9 @@ private:
required_device<tilemap_device> m_alpha_tilemap;
required_device<atari_motion_objects_device> m_mob;
required_device<atari_jsa_base_device> m_jsa;
required_shared_ptr<uint16_t> m_share1;
int m_screen_intensity;
int m_video_disable;
uint16_t m_sync_data;
optional_device<adc0808_device> m_adc;
optional_device<cpu_device> m_extra;
required_device<palette_device> m_palette;

View File

@ -132,6 +132,7 @@ protected:
virtual void machine_reset() override;
void common_sound(machine_config &config);
void equites_map(address_map &map);
void equites_common_map(address_map &map);
void mcu_map(address_map &map);
void sound_map(address_map &map);
void sound_portmap(address_map &map);

View File

@ -33,7 +33,6 @@ public:
: driver_device(mconfig, type, tag)
, m_adsp_ram_base(*this, "adsp_ram_base")
, m_m68k_ram_base(*this, "m68k_ram_base", 0)
, m_tms_comm_base(*this, "tms_comm_base", 0)
, m_adsp_control_regs(*this, "adsp_regs")
, m_adsp_fastram_base(*this, "adsp_fastram")
, m_maincpu(*this, "maincpu")
@ -104,7 +103,6 @@ private:
required_shared_ptr<uint32_t> m_adsp_ram_base;
required_shared_ptr<uint16_t> m_m68k_ram_base;
required_shared_ptr<uint16_t> m_tms_comm_base;
required_shared_ptr<uint16_t> m_adsp_control_regs;
required_shared_ptr<uint16_t> m_adsp_fastram_base;
required_device<cpu_device> m_maincpu;
@ -154,7 +152,6 @@ private:
DECLARE_WRITE_LINE_MEMBER(tms_reset_w);
DECLARE_WRITE_LINE_MEMBER(tms_irq_w);
DECLARE_WRITE_LINE_MEMBER(tms_control3_w);
DECLARE_WRITE16_MEMBER(tms_comm_w);
DECLARE_WRITE16_MEMBER(adsp_control_w);
DECLARE_WRITE16_MEMBER(adsp_rombank_w);
DECLARE_WRITE_LINE_MEMBER(radikalb_lamp_w);

View File

@ -114,14 +114,15 @@ void bagman_state::video_start()
void bagman_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
{
for (int offs = m_spriteram.bytes() - 4;offs >= 0;offs -= 4)
// Spriteram is at the start of the colorram
for (int offs = 0x20 - 4;offs >= 0;offs -= 4)
{
int sx,sy,flipx,flipy;
sx = m_spriteram[offs + 3];
sy = 256 - m_spriteram[offs + 2] - 16;
flipx = m_spriteram[offs] & 0x40;
flipy = m_spriteram[offs] & 0x80;
sx = m_colorram[offs + 3];
sy = 256 - m_colorram[offs + 2] - 16;
flipx = m_colorram[offs] & 0x40;
flipy = m_colorram[offs] & 0x80;
if (flip_screen())
{
sx = 256 - sx - 15;
@ -130,11 +131,11 @@ void bagman_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
flipy = !flipy;
}
if (m_spriteram[offs + 2] && m_spriteram[offs + 3])
if (m_colorram[offs + 2] && m_colorram[offs + 3])
m_gfxdecode->gfx(1)->transpen(bitmap,
cliprect,
(m_spriteram[offs] & 0x3f) + 2 * (m_spriteram[offs + 1] & 0x20),
m_spriteram[offs + 1] & 0x1f,
(m_colorram[offs] & 0x3f) + 2 * (m_colorram[offs + 1] & 0x20),
m_colorram[offs + 1] & 0x1f,
flipx,flipy,
sx,sy,0);
}

View File

@ -42,6 +42,7 @@ WRITE8_MEMBER( liberatr_state::bitmap_w )
m_bitmapram[offset] = data;
offset += 3;
x = (offset & 0x3f) << 2;
y = offset >> 6;