summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/armedf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/armedf.cpp')
-rw-r--r--src/mame/drivers/armedf.cpp472
1 files changed, 211 insertions, 261 deletions
diff --git a/src/mame/drivers/armedf.cpp b/src/mame/drivers/armedf.cpp
index 9c9e99b382a..1752e49f5f8 100644
--- a/src/mame/drivers/armedf.cpp
+++ b/src/mame/drivers/armedf.cpp
@@ -346,11 +346,10 @@ Notes:
---- ---- ---- --x- coin counter 1
---- ---- ---- ---x coin counter 0
*/
-WRITE16_MEMBER(armedf_state::terraf_io_w)
+void armedf_state::terraf_io_w(offs_t offset, u16 data, u16 mem_mask)
{
- if(data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
- m_nb1414m4->exec((m_text_videoram[0] << 8) | (m_text_videoram[1] & 0xff),m_text_videoram.get(),m_fg_scrollx,m_fg_scrolly,m_tx_tilemap);
-
+ if (data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
+ m_nb1414m4->exec((m_text_videoram[0] << 8) | (m_text_videoram[1] & 0xff),m_text_videoram.target(),m_fg_scrollx,m_fg_scrolly,m_tx_tilemap);
COMBINE_DATA(&m_vreg);
@@ -360,9 +359,9 @@ WRITE16_MEMBER(armedf_state::terraf_io_w)
flip_screen_set(m_vreg & 0x1000);
}
-WRITE16_MEMBER(armedf_state::terrafjb_io_w)
+void armedf_state::terrafjb_io_w(offs_t offset, u16 data, u16 mem_mask)
{
- if(data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
+ if (data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
m_extra->set_input_line(0, HOLD_LINE);
COMBINE_DATA(&m_vreg);
@@ -373,13 +372,9 @@ WRITE16_MEMBER(armedf_state::terrafjb_io_w)
flip_screen_set(m_vreg & 0x1000);
}
-WRITE16_MEMBER(armedf_state::bootleg_io_w)
+void armedf_state::armedf_io_w(offs_t offset, u16 data, u16 mem_mask)
{
- if(data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
- {
- // NOP
- }
-
+ // no NB1414M4 present
COMBINE_DATA(&m_vreg);
machine().bookkeeping().coin_counter_w(0, (data & 1) >> 0);
@@ -388,26 +383,26 @@ WRITE16_MEMBER(armedf_state::bootleg_io_w)
flip_screen_set(m_vreg & 0x1000);
}
-WRITE16_MEMBER(armedf_state::sound_command_w)
+void armedf_state::sound_command_w(u8 data)
{
- if (ACCESSING_BITS_0_7)
- m_soundlatch->write(((data & 0x7f) << 1) | 1);
+ m_soundlatch->write(((data & 0x7f) << 1) | 1);
}
-READ8_MEMBER(armedf_state::soundlatch_clear_r)
+u8 armedf_state::soundlatch_clear_r()
{
- m_soundlatch->clear_w();
+ if (!machine().side_effects_disabled())
+ m_soundlatch->clear_w();
return 0;
}
-WRITE16_MEMBER(armedf_state::irq_lv1_ack_w)
+void armedf_state::irq_lv1_ack_w(u16 data)
{
if (m_nb1414m4 != nullptr)
m_nb1414m4->vblank_trigger();
m_maincpu->set_input_line(1, CLEAR_LINE);
}
-WRITE16_MEMBER(armedf_state::irq_lv2_ack_w)
+void armedf_state::irq_lv2_ack_w(u16 data)
{
if (m_nb1414m4 != nullptr)
m_nb1414m4->vblank_trigger();
@@ -415,7 +410,6 @@ WRITE16_MEMBER(armedf_state::irq_lv2_ack_w)
}
-
/*************************************
*
* Address maps
@@ -426,36 +420,57 @@ void armedf_state::common_map(address_map &map)
{
map(0x000000, 0x05ffff).rom();
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(0x068000, 0x069fff).rw(FUNC(armedf_state::text_videoram_r), FUNC(armedf_state::text_videoram_w)).umask16(0x00ff).share("text_videoram");
map(0x06a000, 0x06a9ff).ram();
map(0x06c000, 0x06cfff).ram().share("spr_pal_clut");
- map(0x070000, 0x070fff).ram().w(FUNC(armedf_state::armedf_fg_videoram_w)).share("fg_videoram");
- map(0x074000, 0x074fff).ram().w(FUNC(armedf_state::armedf_bg_videoram_w)).share("bg_videoram");
+ map(0x070000, 0x070fff).ram().w(FUNC(armedf_state::fg_videoram_w)).share("fg_videoram");
+ map(0x074000, 0x074fff).ram().w(FUNC(armedf_state::bg_videoram_w)).share("bg_videoram");
map(0x078000, 0x078001).portr("P1");
map(0x078002, 0x078003).portr("P2");
map(0x078004, 0x078005).portr("DSW1");
map(0x078006, 0x078007).portr("DSW2");
// map(0x07c000, 0x07c001).w(FUNC(armedf_state::terraf_io_w)); handled in DRIVER_INIT
- map(0x07c002, 0x07c003).w(FUNC(armedf_state::armedf_bg_scrollx_w));
- map(0x07c004, 0x07c005).w(FUNC(armedf_state::armedf_bg_scrolly_w));
- map(0x07c00a, 0x07c00b).w(FUNC(armedf_state::sound_command_w));
+ map(0x07c002, 0x07c003).w(FUNC(armedf_state::bg_scrollx_w));
+ map(0x07c004, 0x07c005).w(FUNC(armedf_state::bg_scrolly_w));
+ map(0x07c00b, 0x07c00b).w(FUNC(armedf_state::sound_command_w));
map(0x07c00c, 0x07c00d).nopw(); /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */
map(0x07c00e, 0x07c00f).w(FUNC(armedf_state::irq_lv1_ack_w));
}
-void armedf_state::terraf_map(address_map &map)
+void armedf_state::terraf_common_map(address_map &map)
{
common_map(map);
map(0x060000, 0x0603ff).ram().share("spriteram");
map(0x060400, 0x063fff).ram();
}
+void armedf_state::terraf_map(address_map &map)
+{
+ terraf_common_map(map);
+ map(0x07c000, 0x07c001).w(FUNC(armedf_state::terraf_io_w));
+}
+
+void armedf_state::terrafb_map(address_map &map)
+{
+ terraf_common_map(map);
+ map(0x07c000, 0x07c001).w(FUNC(armedf_state::armedf_io_w));
+ map(0x07c006, 0x07c006).w(FUNC(armedf_state::terrafb_fg_scrolly_w));
+ map(0x07c008, 0x07c008).w(FUNC(armedf_state::terrafb_fg_scrollx_w));
+ map(0x0c0000, 0x0c0000).w(FUNC(armedf_state::terrafb_fg_scroll_msb_arm_w));
+}
+
+void armedf_state::terrafjb_map(address_map &map)
+{
+ terraf_common_map(map);
+ map(0x07c000, 0x07c001).w(FUNC(armedf_state::terrafjb_io_w));
+}
+
void armedf_state::kozure_map(address_map &map)
{
common_map(map);
map(0x060000, 0x060fff).ram().share("spriteram");
map(0x061000, 0x063fff).ram();
-// map(0x07c000, 0x07c001).w(FUNC(armedf_state::kozure_io_w));
+ map(0x07c000, 0x07c001).w(FUNC(armedf_state::terraf_io_w));
// map(0x0c0000, 0x0c0001).nopw(); /* watchdog? */
// map(0xffd000, 0xffd001).nopw(); /* passes crc ROM information to MCU, I guess */
}
@@ -466,19 +481,19 @@ void armedf_state::cclimbr2_map(address_map &map)
map(0x060000, 0x060fff).ram().share("spriteram");
map(0x061000, 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(0x068000, 0x069fff).rw(FUNC(armedf_state::text_videoram_r), FUNC(armedf_state::text_videoram_w)).umask16(0x00ff).share("text_videoram");
map(0x06a000, 0x06a9ff).ram();
map(0x06c000, 0x06cfff).ram().share("spr_pal_clut");
- map(0x070000, 0x070fff).ram().w(FUNC(armedf_state::armedf_fg_videoram_w)).share("fg_videoram");
- map(0x074000, 0x074fff).ram().w(FUNC(armedf_state::armedf_bg_videoram_w)).share("bg_videoram");
+ map(0x070000, 0x070fff).ram().w(FUNC(armedf_state::fg_videoram_w)).share("fg_videoram");
+ map(0x074000, 0x074fff).ram().w(FUNC(armedf_state::bg_videoram_w)).share("bg_videoram");
map(0x078000, 0x078001).portr("P1");
map(0x078002, 0x078003).portr("P2");
map(0x078004, 0x078005).portr("DSW1");
map(0x078006, 0x078007).portr("DSW2");
-// map(0x07c000, 0x07c001).w(FUNC(armedf_state::io_w));
- map(0x07c002, 0x07c003).w(FUNC(armedf_state::armedf_bg_scrollx_w));
- map(0x07c004, 0x07c005).w(FUNC(armedf_state::armedf_bg_scrolly_w));
- map(0x07c00a, 0x07c00b).w(FUNC(armedf_state::sound_command_w));
+ map(0x07c000, 0x07c001).w(FUNC(armedf_state::terraf_io_w));
+ map(0x07c002, 0x07c003).w(FUNC(armedf_state::bg_scrollx_w));
+ map(0x07c004, 0x07c005).w(FUNC(armedf_state::bg_scrolly_w));
+ map(0x07c00b, 0x07c00b).w(FUNC(armedf_state::sound_command_w));
map(0x07c00c, 0x07c00d).nopw(); /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */
map(0x07c00e, 0x07c00f).w(FUNC(armedf_state::irq_lv2_ack_w));
}
@@ -491,15 +506,15 @@ void armedf_state::legion_common_map(address_map &map)
map(0x064000, 0x064fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x06a000, 0x06a9ff).ram();
map(0x06c000, 0x06cfff).ram().share("spr_pal_clut");
- map(0x070000, 0x070fff).ram().w(FUNC(armedf_state::armedf_fg_videoram_w)).share("fg_videoram");
- map(0x074000, 0x074fff).ram().w(FUNC(armedf_state::armedf_bg_videoram_w)).share("bg_videoram");
+ map(0x070000, 0x070fff).ram().w(FUNC(armedf_state::fg_videoram_w)).share("fg_videoram");
+ map(0x074000, 0x074fff).ram().w(FUNC(armedf_state::bg_videoram_w)).share("bg_videoram");
map(0x078000, 0x078001).portr("P1");
map(0x078002, 0x078003).portr("P2");
map(0x078004, 0x078005).portr("DSW1");
map(0x078006, 0x078007).portr("DSW2");
- map(0x07c002, 0x07c003).w(FUNC(armedf_state::armedf_bg_scrollx_w));
- map(0x07c004, 0x07c005).w(FUNC(armedf_state::armedf_bg_scrolly_w));
- map(0x07c00a, 0x07c00b).w(FUNC(armedf_state::sound_command_w));
+ map(0x07c002, 0x07c003).w(FUNC(armedf_state::bg_scrollx_w));
+ map(0x07c004, 0x07c005).w(FUNC(armedf_state::bg_scrolly_w));
+ map(0x07c00b, 0x07c00b).w(FUNC(armedf_state::sound_command_w));
map(0x07c00c, 0x07c00d).nopw(); /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */
map(0x07c00e, 0x07c00f).w(FUNC(armedf_state::irq_lv2_ack_w));
}
@@ -508,13 +523,13 @@ void armedf_state::legion_map(address_map &map)
{
legion_common_map(map);
- map(0x068000, 0x069fff).rw(FUNC(armedf_state::nb1414m4_text_videoram_r), FUNC(armedf_state::nb1414m4_text_videoram_w)).umask16(0x00ff);
+ map(0x068000, 0x069fff).rw(FUNC(armedf_state::text_videoram_r), FUNC(armedf_state::text_videoram_w)).umask16(0x00ff).share("text_videoram");
map(0x07c000, 0x07c001).w(FUNC(armedf_state::terraf_io_w));
}
-WRITE8_MEMBER(armedf_state::legionjb_fg_scroll_w)
+void armedf_state::legionjb_fg_scroll_w(offs_t offset, u8 data)
{
- if(offset >= 0xb && offset < 0xf)
+ if (offset >= 0xb && offset < 0xf)
m_legion_cmd[offset-0xb] = data & 0xff;
m_fg_scrollx = (m_legion_cmd[0x02] & 0xff) | ((m_legion_cmd[0x03] & 0x3) << 8);
@@ -526,8 +541,8 @@ void armedf_state::legionjb_map(address_map &map)
legion_common_map(map);
map(0x040000, 0x04003f).w(FUNC(armedf_state::legionjb_fg_scroll_w)).umask16(0x00ff);
- map(0x068000, 0x069fff).rw(FUNC(armedf_state::armedf_text_videoram_r), FUNC(armedf_state::armedf_text_videoram_w)).umask16(0x00ff);
- map(0x07c000, 0x07c001).w(FUNC(armedf_state::bootleg_io_w));
+ map(0x068000, 0x069fff).rw(FUNC(armedf_state::text_videoram_r), FUNC(armedf_state::text_videoram_w)).umask16(0x00ff).share("text_videoram");
+ map(0x07c000, 0x07c001).w(FUNC(armedf_state::armedf_io_w));
}
void armedf_state::legionjb2_map(address_map &map)
@@ -535,8 +550,8 @@ void armedf_state::legionjb2_map(address_map &map)
legion_common_map(map);
map(0x000000, 0x00003f).w(FUNC(armedf_state::legionjb_fg_scroll_w)).umask16(0x00ff);
- map(0x068000, 0x069fff).rw(FUNC(armedf_state::armedf_text_videoram_r), FUNC(armedf_state::armedf_text_videoram_w)).umask16(0x00ff);
- map(0x07c000, 0x07c001).w(FUNC(armedf_state::bootleg_io_w));
+ map(0x068000, 0x069fff).rw(FUNC(armedf_state::text_videoram_r), FUNC(armedf_state::text_videoram_w)).umask16(0x00ff).share("text_videoram");
+ map(0x07c000, 0x07c001).w(FUNC(armedf_state::armedf_io_w));
//also writes to 7c0010 / 70c020 / 70c030. These could possibly be the scroll registers on this bootleg and the writes to 000000 - 00003f could just be leftovers.
}
@@ -545,9 +560,9 @@ void armedf_state::armedf_map(address_map &map)
map(0x000000, 0x05ffff).rom();
map(0x060000, 0x060fff).ram().share("spriteram");
map(0x061000, 0x065fff).ram();
- map(0x066000, 0x066fff).ram().w(FUNC(armedf_state::armedf_bg_videoram_w)).share("bg_videoram");
- map(0x067000, 0x067fff).ram().w(FUNC(armedf_state::armedf_fg_videoram_w)).share("fg_videoram");
- map(0x068000, 0x069fff).rw(FUNC(armedf_state::armedf_text_videoram_r), FUNC(armedf_state::armedf_text_videoram_w)).umask16(0x00ff);
+ map(0x066000, 0x066fff).ram().w(FUNC(armedf_state::bg_videoram_w)).share("bg_videoram");
+ map(0x067000, 0x067fff).ram().w(FUNC(armedf_state::fg_videoram_w)).share("fg_videoram");
+ map(0x068000, 0x069fff).rw(FUNC(armedf_state::text_videoram_r), FUNC(armedf_state::text_videoram_w)).umask16(0x00ff).share("text_videoram");
map(0x06a000, 0x06afff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x06b000, 0x06bfff).ram().share("spr_pal_clut");
map(0x06c000, 0x06c7ff).ram();
@@ -555,33 +570,34 @@ void armedf_state::armedf_map(address_map &map)
map(0x06c002, 0x06c003).portr("P2");
map(0x06c004, 0x06c005).portr("DSW1");
map(0x06c006, 0x06c007).portr("DSW2");
- map(0x06d000, 0x06d001).w(FUNC(armedf_state::terraf_io_w));
- map(0x06d002, 0x06d003).w(FUNC(armedf_state::armedf_bg_scrollx_w));
- map(0x06d004, 0x06d005).w(FUNC(armedf_state::armedf_bg_scrolly_w));
- map(0x06d006, 0x06d007).w(FUNC(armedf_state::armedf_fg_scrollx_w));
- map(0x06d008, 0x06d009).w(FUNC(armedf_state::armedf_fg_scrolly_w));
- map(0x06d00a, 0x06d00b).w(FUNC(armedf_state::sound_command_w));
+ map(0x06d000, 0x06d001).w(FUNC(armedf_state::armedf_io_w));
+ map(0x06d002, 0x06d003).w(FUNC(armedf_state::bg_scrollx_w));
+ map(0x06d004, 0x06d005).w(FUNC(armedf_state::bg_scrolly_w));
+ map(0x06d006, 0x06d007).w(FUNC(armedf_state::fg_scrollx_w));
+ map(0x06d008, 0x06d009).w(FUNC(armedf_state::fg_scrolly_w));
+ map(0x06d00b, 0x06d00b).w(FUNC(armedf_state::sound_command_w));
map(0x06d00c, 0x06d00d).nopw(); //watchdog?
map(0x06d00e, 0x06d00f).w(FUNC(armedf_state::irq_lv1_ack_w));
}
-READ16_MEMBER(bigfghtr_state::latch_r)
+u16 bigfghtr_state::latch_r()
{
- m_mcu->set_input_line(MCS51_INT0_LINE, HOLD_LINE);
+ if (!machine().side_effects_disabled())
+ m_mcu->set_input_line(MCS51_INT0_LINE, HOLD_LINE);
return 0;
}
-READ8_MEMBER(bigfghtr_state::main_sharedram_r)
+u8 bigfghtr_state::main_sharedram_r(offs_t offset)
{
return m_sharedram[offset];
}
-WRITE8_MEMBER(bigfghtr_state::main_sharedram_w)
+void bigfghtr_state::main_sharedram_w(offs_t offset, u8 data)
{
m_sharedram[offset] = data;
}
-WRITE8_MEMBER(bigfghtr_state::mcu_spritelist_w)
+void bigfghtr_state::mcu_spritelist_w(offs_t offset, u8 data)
{
// add a warning in case it happens for now.
popmessage("MCU access spritelist %04x = %02x, contact MAMEdev",offset,data);
@@ -593,21 +609,21 @@ void bigfghtr_state::bigfghtr_map(address_map &map)
map(0x080000, 0x0805ff).ram().share("spriteram");
map(0x080600, 0x083fff).rw(FUNC(bigfghtr_state::main_sharedram_r), FUNC(bigfghtr_state::main_sharedram_w));
map(0x084000, 0x085fff).ram(); //work ram
- map(0x086000, 0x086fff).ram().w(FUNC(bigfghtr_state::armedf_bg_videoram_w)).share("bg_videoram");
- map(0x087000, 0x087fff).ram().w(FUNC(bigfghtr_state::armedf_fg_videoram_w)).share("fg_videoram");
- map(0x088000, 0x089fff).rw(FUNC(bigfghtr_state::armedf_text_videoram_r), FUNC(bigfghtr_state::armedf_text_videoram_w)).umask16(0x00ff);
+ map(0x086000, 0x086fff).ram().w(FUNC(bigfghtr_state::bg_videoram_w)).share("bg_videoram");
+ map(0x087000, 0x087fff).ram().w(FUNC(bigfghtr_state::fg_videoram_w)).share("fg_videoram");
+ map(0x088000, 0x089fff).rw(FUNC(bigfghtr_state::text_videoram_r), FUNC(bigfghtr_state::text_videoram_w)).umask16(0x00ff).share("text_videoram");
map(0x08a000, 0x08afff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x08b000, 0x08bfff).ram().share("spr_pal_clut");
map(0x08c000, 0x08c001).portr("P1");
map(0x08c002, 0x08c003).portr("P2");
map(0x08c004, 0x08c005).portr("DSW0");
map(0x08c006, 0x08c007).portr("DSW1");
- map(0x08d000, 0x08d001).w(FUNC(bigfghtr_state::terraf_io_w)); //807b0
- map(0x08d002, 0x08d003).w(FUNC(bigfghtr_state::armedf_bg_scrollx_w));
- map(0x08d004, 0x08d005).w(FUNC(bigfghtr_state::armedf_bg_scrolly_w));
- map(0x08d006, 0x08d007).w(FUNC(bigfghtr_state::armedf_fg_scrollx_w));
- map(0x08d008, 0x08d009).w(FUNC(bigfghtr_state::armedf_fg_scrolly_w));
- map(0x08d00a, 0x08d00b).w(FUNC(bigfghtr_state::sound_command_w));
+ map(0x08d000, 0x08d001).w(FUNC(bigfghtr_state::armedf_io_w)); //807b0
+ map(0x08d002, 0x08d003).w(FUNC(bigfghtr_state::bg_scrollx_w));
+ map(0x08d004, 0x08d005).w(FUNC(bigfghtr_state::bg_scrolly_w));
+ map(0x08d006, 0x08d007).w(FUNC(bigfghtr_state::fg_scrollx_w));
+ map(0x08d008, 0x08d009).w(FUNC(bigfghtr_state::fg_scrolly_w));
+ map(0x08d00b, 0x08d00b).w(FUNC(bigfghtr_state::sound_command_w));
map(0x08d00c, 0x08d00d).nopw(); //watchdog
map(0x08d00e, 0x08d00f).w(FUNC(bigfghtr_state::irq_lv1_ack_w));
@@ -637,28 +653,24 @@ void armedf_state::cclimbr2_soundmap(address_map &map)
map(0xc000, 0xffff).ram();
}
-READ8_MEMBER(armedf_state::blitter_txram_r)
-{
- return m_text_videoram[offset];
-}
-
-WRITE8_MEMBER(armedf_state::blitter_txram_w)
+void armedf_state::blitter_txram_w(offs_t offset, u8 data)
{
m_text_videoram[offset] = data;
- m_tx_tilemap->mark_tile_dirty(offset);
+ if (offset < 0x1000)
+ m_tx_tilemap->mark_tile_dirty(offset & 0x7ff);
}
-WRITE8_MEMBER(armedf_state::fg_scrollx_w)
+void armedf_state::terrafjb_fg_scrollx_w(u8 data)
{
m_fg_scrollx = (data & 0xff) | (m_fg_scrollx & 0x300);
}
-WRITE8_MEMBER(armedf_state::fg_scrolly_w)
+void armedf_state::terrafjb_fg_scrolly_w(u8 data)
{
m_fg_scrolly = (data & 0xff) | (m_fg_scrolly & 0x300);
}
-WRITE8_MEMBER(armedf_state::fg_scroll_msb_w)
+void armedf_state::terrafjb_fg_scroll_msb_w(u8 data)
{
m_fg_scrolly = (((data & 0x03) >> 0) << 8) | (m_fg_scrolly & 0xff);
m_fg_scrollx = (((data & 0x0c) >> 2) << 8) | (m_fg_scrollx & 0xff);
@@ -668,16 +680,16 @@ WRITE8_MEMBER(armedf_state::fg_scroll_msb_w)
void armedf_state::terrafjb_extraz80_map(address_map &map)
{
map(0x0000, 0x3fff).rom();
- map(0x4000, 0x5fff).rw(FUNC(armedf_state::blitter_txram_r), FUNC(armedf_state::blitter_txram_w));
+ map(0x4000, 0x5fff).ram().w(FUNC(armedf_state::blitter_txram_w)).share("text_videoram");
map(0x8000, 0x87ff).ram();
}
void armedf_state::terrafjb_extraz80_portmap(address_map &map)
{
map.global_mask(0xff);
- map(0x00, 0x00).w(FUNC(armedf_state::fg_scrollx_w));
- map(0x01, 0x01).w(FUNC(armedf_state::fg_scrolly_w));
- map(0x02, 0x02).w(FUNC(armedf_state::fg_scroll_msb_w));
+ map(0x00, 0x00).w(FUNC(armedf_state::terrafjb_fg_scrollx_w));
+ map(0x01, 0x01).w(FUNC(armedf_state::terrafjb_fg_scrolly_w));
+ map(0x02, 0x02).w(FUNC(armedf_state::terrafjb_fg_scroll_msb_w));
}
void armedf_state::sound_portmap(address_map &map)
@@ -1037,52 +1049,14 @@ INPUT_PORTS_END
*
*************************************/
-static const gfx_layout char_layout =
-{
- 8,8,
- RGN_FRAC(1,1),
- 4,
- { 0, 1, 2, 3 },
- { 4, 0, 12, 8, 20, 16, 28, 24},
- { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
- 32*8
-};
-
-static const gfx_layout tile_layout =
-{
- 16,16,
- RGN_FRAC(1,1),
- 4,
- { 0, 1, 2, 3 },
- { 4, 0, 12, 8, 20, 16, 28, 24,
- 32+4, 32+0, 32+12, 32+8, 32+20, 32+16, 32+28, 32+24 },
- { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
- 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 },
- 128*8
-};
-
-static const gfx_layout sprite_layout =
-{
- 16,16,
- RGN_FRAC(1,2),
- 4,
- { 0, 1, 2, 3 },
- { 4, 0, RGN_FRAC(1,2)+4, RGN_FRAC(1,2)+0, 12, 8, RGN_FRAC(1,2)+12, RGN_FRAC(1,2)+8,
- 20, 16, RGN_FRAC(1,2)+20, RGN_FRAC(1,2)+16, 28, 24, RGN_FRAC(1,2)+28, RGN_FRAC(1,2)+24 },
- { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
- 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
- 64*8
-};
-
static GFXDECODE_START( gfx_armedf )
- GFXDECODE_ENTRY( "gfx1", 0, char_layout, 0*16, 32 )
- GFXDECODE_ENTRY( "gfx2", 0, tile_layout, 64*16, 32 )
- GFXDECODE_ENTRY( "gfx3", 0, tile_layout, 96*16, 32 )
- GFXDECODE_ENTRY( "gfx4", 0, sprite_layout, 32*16, 32 )
+ GFXDECODE_ENTRY( "text", 0, gfx_8x8x4_packed_lsb, 0*16, 32 )
+ GFXDECODE_ENTRY( "foreground", 0, gfx_16x16x4_packed_lsb, 64*16, 32 )
+ GFXDECODE_ENTRY( "background", 0, gfx_16x16x4_packed_lsb, 96*16, 32 )
+ GFXDECODE_ENTRY( "sprite", 0, gfx_16x16x4_packed_lsb, 32*16, 32 )
GFXDECODE_END
-
/*************************************
*
* Machine driver
@@ -1121,7 +1095,7 @@ void armedf_state::video_config(machine_config &config, int hchar_start, int vst
// TODO: bootlegs may not run at this speed
m_screen->set_raw(XTAL(16'000'000)/2,531,hchar_start*8,(64-hchar_start)*8, 255, vstart, vend);
m_screen->set_palette(m_palette);
- m_screen->set_screen_update(FUNC(armedf_state::screen_update_armedf));
+ m_screen->set_screen_update(FUNC(armedf_state::screen_update));
m_screen->screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_armedf);
@@ -1168,7 +1142,7 @@ void armedf_state::terraf(machine_config &config)
void armedf_state::terrafjb(machine_config &config)
{
M68000(config, m_maincpu, XTAL(16'000'000)/2); // 8mhz
- m_maincpu->set_addrmap(AS_PROGRAM, &armedf_state::terraf_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &armedf_state::terrafjb_map);
m_maincpu->set_vblank_int("screen", FUNC(armedf_state::irq1_line_assert));
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(24'000'000)/6)); // 4mhz
@@ -1200,6 +1174,7 @@ void armedf_state::terrafjb(machine_config &config)
void armedf_state::terrafb(machine_config &config)
{
terraf(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &armedf_state::terrafb_map);
config.device_remove("nb1414m4");
}
@@ -1344,7 +1319,7 @@ void bigfghtr_state::bigfghtr(machine_config &config)
mcu.port_in_cb<1>().set_constant(0xdf); // bit 5: bus contention related?
video_config(config, 12, 8, 248);
- MCFG_VIDEO_START_OVERRIDE(armedf_state,armedf)
+ MCFG_VIDEO_START_OVERRIDE(bigfghtr_state,armedf)
sound_config(config);
}
@@ -1366,19 +1341,19 @@ ROM_START( legion )
ROM_LOAD( "legion.1h", 0x00000, 0x04000, CRC(2ca4f7f0) SHA1(7cf997af9dd74ced9d28c047069ccfb67d72e257) ) // lg9
ROM_LOAD( "legion.1i", 0x04000, 0x08000, CRC(79f4a827) SHA1(25e4c1b5b8466627244b7226310e67e4261333b6) ) // lg10
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "lg8.bin", 0x00000, 0x08000, CRC(e0596570) SHA1(68ddc950efc55a16e6abc699e3bad18ea19d579f) )
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "legion.1e", 0x00000, 0x10000, CRC(a9d70faf) SHA1(8b8b60ae49c55e931d6838e863463f6b2bf7adb0) ) // lg5
ROM_LOAD( "legion.1f", 0x18000, 0x08000, CRC(f018313b) SHA1(860bc9937202dc3a40c9fa7caad11c2c2aa19f5c) ) // lg6
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "legion.1l", 0x00000, 0x10000, CRC(29b8adaa) SHA1(10338ebe7324960683de1f796dd311ed662e42b4) ) // lg13
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "legion.1k", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) ) // lg12
- ROM_LOAD( "legion.1j", 0x010000, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) ) // lg11
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "legion.1k", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) ) // lg12
+ ROM_LOAD16_BYTE( "legion.1j", 0x000001, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) ) // lg11
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD ( "lg7.bin", 0x0000, 0x4000, CRC(533e2b58) SHA1(a13ea4a530038760ffa87713903c59a932452717) )
@@ -1395,19 +1370,19 @@ ROM_START( legionj )
ROM_LOAD( "legion.1h", 0x00000, 0x04000, CRC(2ca4f7f0) SHA1(7cf997af9dd74ced9d28c047069ccfb67d72e257) )
ROM_LOAD( "legion.1i", 0x04000, 0x08000, CRC(79f4a827) SHA1(25e4c1b5b8466627244b7226310e67e4261333b6) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "legion.1g", 0x00000, 0x08000, CRC(c50b0125) SHA1(83b5e9707152d97777fb65fa8820ba34ec2fac8d) )
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "legion.1e", 0x00000, 0x10000, CRC(a9d70faf) SHA1(8b8b60ae49c55e931d6838e863463f6b2bf7adb0) )
ROM_LOAD( "legion.1f", 0x18000, 0x08000, CRC(f018313b) SHA1(860bc9937202dc3a40c9fa7caad11c2c2aa19f5c) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "legion.1l", 0x00000, 0x10000, CRC(29b8adaa) SHA1(10338ebe7324960683de1f796dd311ed662e42b4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "legion.1k", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) )
- ROM_LOAD( "legion.1j", 0x010000, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "legion.1k", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) )
+ ROM_LOAD16_BYTE( "legion.1j", 0x000001, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) )
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD ( "lg7.bin", 0x0000, 0x4000, CRC(533e2b58) SHA1(a13ea4a530038760ffa87713903c59a932452717) )
@@ -1424,19 +1399,19 @@ ROM_START( legionjb )
ROM_LOAD( "legion.1h", 0x00000, 0x04000, CRC(2ca4f7f0) SHA1(7cf997af9dd74ced9d28c047069ccfb67d72e257) )
ROM_LOAD( "legion.1i", 0x04000, 0x08000, CRC(79f4a827) SHA1(25e4c1b5b8466627244b7226310e67e4261333b6) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "legion.1g", 0x00000, 0x08000, CRC(c50b0125) SHA1(83b5e9707152d97777fb65fa8820ba34ec2fac8d) )
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "legion.1e", 0x00000, 0x10000, CRC(a9d70faf) SHA1(8b8b60ae49c55e931d6838e863463f6b2bf7adb0) )
ROM_LOAD( "legion.1f", 0x18000, 0x08000, CRC(f018313b) SHA1(860bc9937202dc3a40c9fa7caad11c2c2aa19f5c) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "legion.1l", 0x00000, 0x10000, CRC(29b8adaa) SHA1(10338ebe7324960683de1f796dd311ed662e42b4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "legion.1k", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) )
- ROM_LOAD( "legion.1j", 0x010000, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "legion.1k", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) )
+ ROM_LOAD16_BYTE( "legion.1j", 0x000001, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) )
ROM_END
ROM_START( legionjb2 )
@@ -1450,19 +1425,19 @@ ROM_START( legionjb2 )
ROM_LOAD( "9-legion-24128.h15", 0x00000, 0x04000, CRC(2ca4f7f0) SHA1(7cf997af9dd74ced9d28c047069ccfb67d72e257) )
ROM_LOAD( "8-legion-24256.h17", 0x04000, 0x08000, CRC(79f4a827) SHA1(25e4c1b5b8466627244b7226310e67e4261333b6) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "7-legion-24256.c9", 0x00000, 0x08000, CRC(c50b0125) SHA1(83b5e9707152d97777fb65fa8820ba34ec2fac8d) )
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "2-legion-27512.e12", 0x00000, 0x10000, CRC(a9d70faf) SHA1(8b8b60ae49c55e931d6838e863463f6b2bf7adb0) )
ROM_LOAD( "1-legion-24256.e14", 0x18000, 0x08000, CRC(f018313b) SHA1(860bc9937202dc3a40c9fa7caad11c2c2aa19f5c) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "10-legion-27512.e15", 0x00000, 0x10000, CRC(29b8adaa) SHA1(10338ebe7324960683de1f796dd311ed662e42b4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "11-legion-27512.e10", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) )
- ROM_LOAD( "12-legion-27512.e7", 0x010000, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "11-legion-27512.e10", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) )
+ ROM_LOAD16_BYTE( "12-legion-27512.e7", 0x000001, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) )
ROM_END
ROM_START( terraf )
@@ -1477,20 +1452,20 @@ ROM_START( terraf )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */
ROM_LOAD( "11.17k", 0x00000, 0x10000, CRC(4407d475) SHA1(96e86c7ef4dc997812436f7d0ddea332b4e6cb2b) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "9.11e", 0x00000, 0x08000, CRC(bc6f7cbc) SHA1(20b8a34de4bfa0c2fdcd2f7743a0ab35141f4bf9) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "5.15h", 0x00000, 0x10000, CRC(25d23dfd) SHA1(da32895c1aca403209b7fb181fa4fa23a8e74d32) ) /* foreground tiles */
ROM_LOAD( "4.13h", 0x10000, 0x10000, CRC(b9b0fe27) SHA1(983c48239ba1524b517f89f281f2b70564bea1e9) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "15.8a", 0x00000, 0x10000, CRC(2144d8e0) SHA1(ed89da11abf3d79753b478603009970c2600ab60) ) /* background tiles */
ROM_LOAD( "14.6a", 0x10000, 0x10000, CRC(744f5c9e) SHA1(696223a087bb575c7cfaba11e682b221ada461e4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "12.7d", 0x00000, 0x10000, CRC(2d1f2ceb) SHA1(77544e1c4bda06feac135a96bb76af7c79278dc0) ) /* sprites */
- ROM_LOAD( "13.9d", 0x10000, 0x10000, CRC(1d2f92d6) SHA1(e842c6bf95a5958a6ca2c85e68b9bc3cc15211a4) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "12.7d", 0x00000, 0x10000, CRC(2d1f2ceb) SHA1(77544e1c4bda06feac135a96bb76af7c79278dc0) ) /* sprites */
+ ROM_LOAD16_BYTE( "13.9d", 0x00001, 0x10000, CRC(1d2f92d6) SHA1(e842c6bf95a5958a6ca2c85e68b9bc3cc15211a4) )
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD( "10.11c", 0x0000, 0x4000, CRC(ac705812) SHA1(65be46ee959d8478cb6dffb25e61f7742276997b) )
@@ -1511,20 +1486,20 @@ ROM_START( terrafu ) /* Bootleg of the USA version?, uses some roms common to bo
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */
ROM_LOAD( "tf-001.17k", 0x00000, 0x10000, CRC(eb6b4138) SHA1(04c53bf46d87a156d3fad86f051985d0df79bd20) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "9.11e", 0x00000, 0x08000, CRC(bc6f7cbc) SHA1(20b8a34de4bfa0c2fdcd2f7743a0ab35141f4bf9) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "5.15h", 0x00000, 0x10000, CRC(25d23dfd) SHA1(da32895c1aca403209b7fb181fa4fa23a8e74d32) ) /* foreground tiles */
ROM_LOAD( "4.13h", 0x10000, 0x10000, CRC(b9b0fe27) SHA1(983c48239ba1524b517f89f281f2b70564bea1e9) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "15.8a", 0x00000, 0x10000, CRC(2144d8e0) SHA1(ed89da11abf3d79753b478603009970c2600ab60) ) /* background tiles */
ROM_LOAD( "14.6a", 0x10000, 0x10000, CRC(744f5c9e) SHA1(696223a087bb575c7cfaba11e682b221ada461e4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "tf-003.7d", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
- ROM_LOAD( "tf-002.9d", 0x10000, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "tf-003.7d", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
+ ROM_LOAD16_BYTE( "tf-002.9d", 0x00001, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD( "10.11c", 0x0000, 0x4000, CRC(ac705812) SHA1(65be46ee959d8478cb6dffb25e61f7742276997b) )
@@ -1545,20 +1520,20 @@ ROM_START( terrafj )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */
ROM_LOAD( "11.17k", 0x00000, 0x10000, CRC(4407d475) SHA1(96e86c7ef4dc997812436f7d0ddea332b4e6cb2b) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "9.11e", 0x00000, 0x08000, CRC(bc6f7cbc) SHA1(20b8a34de4bfa0c2fdcd2f7743a0ab35141f4bf9) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "5.15h", 0x00000, 0x10000, CRC(25d23dfd) SHA1(da32895c1aca403209b7fb181fa4fa23a8e74d32) ) /* foreground tiles */
ROM_LOAD( "4.13h", 0x10000, 0x10000, CRC(b9b0fe27) SHA1(983c48239ba1524b517f89f281f2b70564bea1e9) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "15.8a", 0x00000, 0x10000, CRC(2144d8e0) SHA1(ed89da11abf3d79753b478603009970c2600ab60) ) /* background tiles */
ROM_LOAD( "14.6a", 0x10000, 0x10000, CRC(744f5c9e) SHA1(696223a087bb575c7cfaba11e682b221ada461e4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "tfj-12.7d", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
- ROM_LOAD( "tfj-13.9d", 0x10000, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "tfj-12.7d", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
+ ROM_LOAD16_BYTE( "tfj-13.9d", 0x00001, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD( "10.11c", 0x0000, 0x4000, CRC(ac705812) SHA1(65be46ee959d8478cb6dffb25e61f7742276997b) )
@@ -1612,20 +1587,20 @@ ROM_START( terrafjb )
ROM_REGION( 0x4000, "extra", 0 ) /* z80 program (replacement mcu/blitter) */
ROM_LOAD( "tfb-10.bin", 0x0000, 0x4000, CRC(3f9aa367) SHA1(8278fb357b2d68869e39efa01ff19005807b41f8) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "9.11e", 0x00000, 0x08000, CRC(bc6f7cbc) SHA1(20b8a34de4bfa0c2fdcd2f7743a0ab35141f4bf9) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "5.15h", 0x00000, 0x10000, CRC(25d23dfd) SHA1(da32895c1aca403209b7fb181fa4fa23a8e74d32) ) /* foreground tiles */
ROM_LOAD( "4.13h", 0x10000, 0x10000, CRC(b9b0fe27) SHA1(983c48239ba1524b517f89f281f2b70564bea1e9) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "15.8a", 0x00000, 0x10000, CRC(2144d8e0) SHA1(ed89da11abf3d79753b478603009970c2600ab60) ) /* background tiles */
ROM_LOAD( "14.6a", 0x10000, 0x10000, CRC(744f5c9e) SHA1(696223a087bb575c7cfaba11e682b221ada461e4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "tfj-12.7d", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
- ROM_LOAD( "tfj-13.9d", 0x10000, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "tfj-12.7d", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
+ ROM_LOAD16_BYTE( "tfj-13.9d", 0x00001, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
ROM_REGION( 0x0100, "proms", 0 ) /* Unknown use */
ROM_LOAD( "n82s129an.11j", 0x0000, 0x0100, CRC(81244757) SHA1(6324f63e571f0f7a0bb9eb97f9994809db79493f) ) /* N82S129AN or compatible labled "TF" */
@@ -1659,20 +1634,20 @@ ROM_START( terrafb )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */
ROM_LOAD( "f-1.1a", 0x00000, 0x10000, CRC(eb6b4138) SHA1(04c53bf46d87a156d3fad86f051985d0df79bd20) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "f-11.4g", 0x00000, 0x08000, CRC(bc6f7cbc) SHA1(20b8a34de4bfa0c2fdcd2f7743a0ab35141f4bf9) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "f-6.3c", 0x00000, 0x10000, CRC(25d23dfd) SHA1(da32895c1aca403209b7fb181fa4fa23a8e74d32) ) /* foreground tiles */
ROM_LOAD( "f-7.3e", 0x10000, 0x10000, CRC(b9b0fe27) SHA1(983c48239ba1524b517f89f281f2b70564bea1e9) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "f-4.9k", 0x00000, 0x10000, CRC(2144d8e0) SHA1(ed89da11abf3d79753b478603009970c2600ab60) ) /* background tiles */
ROM_LOAD( "f-5.9m", 0x10000, 0x10000, CRC(744f5c9e) SHA1(696223a087bb575c7cfaba11e682b221ada461e4) )
- ROM_REGION( 0x20000, "gfx4", 0 )
- ROM_LOAD( "f-3.6l", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
- ROM_LOAD( "f-2.6j", 0x10000, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
+ ROM_REGION( 0x20000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "f-3.6l", 0x00000, 0x10000, CRC(d74085a1) SHA1(3f6ba85dbd6e48a502c115b2d322a586fc4f56c9) ) /* sprites */
+ ROM_LOAD16_BYTE( "f-2.6j", 0x00001, 0x10000, CRC(148aa0c5) SHA1(8d8a565540e91b384a9c154522501921b7da4d4e) )
ROM_END
ROM_START( kozure )
@@ -1687,19 +1662,19 @@ ROM_START( kozure )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */
ROM_LOAD( "kozure11.17k", 0x00000, 0x10000, CRC(dba51e2d) SHA1(49e799d39d298cd3e01602ae5a2d123dfbfa9134) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "kozure9.11e", 0x00000, 0x08000, CRC(e041356e) SHA1(3e4c8564e7a8c940bbe72db11759903aa295287f) ) /* characters */
- ROM_REGION( 0x40000, "gfx2", 0 )
+ ROM_REGION( 0x40000, "foreground", 0 )
ROM_LOAD( "kozure5.15h", 0x00000, 0x20000, CRC(0b510258) SHA1(e7ec89faa574b755605ddb67d6c908a9f5f2d6ac) ) /* foreground tiles */
ROM_LOAD( "kozure4.14h", 0x20000, 0x10000, CRC(fb8e13e6) SHA1(f2eafcf6d7362dc62e808f582a7bd2970e5e1ad1) )
- ROM_REGION( 0x10000, "gfx3", 0 )
+ ROM_REGION( 0x10000, "background", 0 )
ROM_LOAD( "kozure14.8a", 0x00000, 0x10000, CRC(94a9c3d0) SHA1(7a5d810ea370d158b2099c17f4d656fbd3deeac8) ) /* background tiles */
- ROM_REGION( 0x40000, "gfx4", 0 )
- ROM_LOAD( "kozure12.8d", 0x00000, 0x20000, CRC(15f4021d) SHA1(b2ba6fda1a7bdaae97de4b0157b9b656b4385e08) ) /* sprites */
- ROM_LOAD( "kozure13.9d", 0x20000, 0x20000, CRC(b3b6c753) SHA1(9ad061cac9558320b5cfd1ac1ac8d7f1788270cc) )
+ ROM_REGION( 0x40000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "kozure12.8d", 0x00000, 0x20000, CRC(15f4021d) SHA1(b2ba6fda1a7bdaae97de4b0157b9b656b4385e08) ) /* sprites */
+ ROM_LOAD16_BYTE( "kozure13.9d", 0x00001, 0x20000, CRC(b3b6c753) SHA1(9ad061cac9558320b5cfd1ac1ac8d7f1788270cc) )
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD( "kozure10.11c", 0x0000, 0x4000, CRC(f48be21d) SHA1(5d6db049f30cab98f672814a86a06609c1fa8fb4) )
@@ -1721,22 +1696,22 @@ ROM_START( cclimbr2 )
ROM_LOAD( "11.bin", 0x00000, 0x04000, CRC(fe0175be) SHA1(5c50fa07d8fa61d58a825bbc2cc5a7b85ff3e42e) )
ROM_LOAD( "12.bin", 0x04000, 0x08000, CRC(5ddf18f2) SHA1(b66da5ad400d00b07160986e4841a309a3572bd1) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "10.bin", 0x00000, 0x08000, CRC(7f475266) SHA1(73d544731fcfd7266bca451880120c555d19ea5d) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "7.bin", 0x00000, 0x10000, CRC(cbdd3906) SHA1(0525599a5981f1e25ec6faf008e547da7a9ee2cb) ) /* foreground tiles */
ROM_LOAD( "8.bin", 0x10000, 0x10000, CRC(b2a613c0) SHA1(1d92b85a0dd4b7e533677c454ec23359867defda) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "17.bin", 0x00000, 0x10000, CRC(e24bb2d7) SHA1(8f4b8410b77a50ae735d72f2f37e63784ebc10d9) ) /* background tiles */
ROM_LOAD( "18.bin", 0x10000, 0x10000, CRC(56834554) SHA1(6d579c32fb57eb4eddc062cb2cc78b546f6607b2) )
- ROM_REGION( 0x40000, "gfx4", 0 )
- ROM_LOAD( "15.bin", 0x00000, 0x10000, CRC(4bf838be) SHA1(6b1d7448caf406e47268a1276225bb0619b80cc9) ) /* sprites */
- ROM_LOAD( "16.bin", 0x10000, 0x10000, CRC(21a265c5) SHA1(a2b3a1e5aa545030d933c0f058f4f9a18e1af1c9) )
- ROM_LOAD( "13.bin", 0x20000, 0x10000, CRC(6b6ec999) SHA1(7749ce435f497732bd1b6958974cd95e960fc9fe) )
- ROM_LOAD( "14.bin", 0x30000, 0x10000, CRC(f426a4ad) SHA1(facccb21ca73c560d3a38e05e677782516d5b0c0) )
+ ROM_REGION( 0x40000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "15.bin", 0x00000, 0x10000, CRC(4bf838be) SHA1(6b1d7448caf406e47268a1276225bb0619b80cc9) ) /* sprites */
+ ROM_LOAD16_BYTE( "13.bin", 0x00001, 0x10000, CRC(6b6ec999) SHA1(7749ce435f497732bd1b6958974cd95e960fc9fe) )
+ ROM_LOAD16_BYTE( "16.bin", 0x20000, 0x10000, CRC(21a265c5) SHA1(a2b3a1e5aa545030d933c0f058f4f9a18e1af1c9) )
+ ROM_LOAD16_BYTE( "14.bin", 0x20001, 0x10000, CRC(f426a4ad) SHA1(facccb21ca73c560d3a38e05e677782516d5b0c0) )
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD( "9.bin", 0x0000, 0x4000, CRC(740d260f) SHA1(5b4487930c7a1fb0a796aec2243bec631b1b5104) )
@@ -1755,22 +1730,22 @@ ROM_START( cclimbr2a )
ROM_LOAD( "11.bin", 0x00000, 0x04000, CRC(fe0175be) SHA1(5c50fa07d8fa61d58a825bbc2cc5a7b85ff3e42e) )
ROM_LOAD( "12.bin", 0x04000, 0x08000, CRC(5ddf18f2) SHA1(b66da5ad400d00b07160986e4841a309a3572bd1) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "10.bin", 0x00000, 0x08000, CRC(7f475266) SHA1(73d544731fcfd7266bca451880120c555d19ea5d) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "7.bin", 0x00000, 0x10000, CRC(cbdd3906) SHA1(0525599a5981f1e25ec6faf008e547da7a9ee2cb) ) /* foreground tiles */
ROM_LOAD( "8.bin", 0x10000, 0x10000, CRC(b2a613c0) SHA1(1d92b85a0dd4b7e533677c454ec23359867defda) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "17.bin", 0x00000, 0x10000, CRC(e24bb2d7) SHA1(8f4b8410b77a50ae735d72f2f37e63784ebc10d9) ) /* background tiles */
ROM_LOAD( "18.bin", 0x10000, 0x10000, CRC(56834554) SHA1(6d579c32fb57eb4eddc062cb2cc78b546f6607b2) )
- ROM_REGION( 0x40000, "gfx4", 0 )
- ROM_LOAD( "15.bin", 0x00000, 0x10000, CRC(4bf838be) SHA1(6b1d7448caf406e47268a1276225bb0619b80cc9) ) /* sprites */
- ROM_LOAD( "16.bin", 0x10000, 0x10000, CRC(21a265c5) SHA1(a2b3a1e5aa545030d933c0f058f4f9a18e1af1c9) )
- ROM_LOAD( "13.bin", 0x20000, 0x10000, CRC(6b6ec999) SHA1(7749ce435f497732bd1b6958974cd95e960fc9fe) )
- ROM_LOAD( "14.bin", 0x30000, 0x10000, CRC(f426a4ad) SHA1(facccb21ca73c560d3a38e05e677782516d5b0c0) )
+ ROM_REGION( 0x40000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "15.bin", 0x00000, 0x10000, CRC(4bf838be) SHA1(6b1d7448caf406e47268a1276225bb0619b80cc9) ) /* sprites */
+ ROM_LOAD16_BYTE( "13.bin", 0x00001, 0x10000, CRC(6b6ec999) SHA1(7749ce435f497732bd1b6958974cd95e960fc9fe) )
+ ROM_LOAD16_BYTE( "16.bin", 0x20000, 0x10000, CRC(21a265c5) SHA1(a2b3a1e5aa545030d933c0f058f4f9a18e1af1c9) )
+ ROM_LOAD16_BYTE( "14.bin", 0x20001, 0x10000, CRC(f426a4ad) SHA1(facccb21ca73c560d3a38e05e677782516d5b0c0) )
ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */
ROM_LOAD( "9.bin", 0x0000, 0x4000, CRC(740d260f) SHA1(5b4487930c7a1fb0a796aec2243bec631b1b5104) )
@@ -1788,20 +1763,20 @@ ROM_START( armedf )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */
ROM_LOAD( "af_10.rom", 0x00000, 0x10000, CRC(c5eacb87) SHA1(33af84b48fbda26729975b02cfb70f23c0bce6a2) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "09.11c", 0x00000, 0x08000, CRC(5c6993d5) SHA1(3991851e5c4d2b3d72c372afdfbb710796874c15) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "af_04.rom", 0x00000, 0x10000, CRC(44d3af4f) SHA1(0c2cb54357c314e43cec6f959fe9d4a2c8bc8834) ) /* foreground tiles */
ROM_LOAD( "af_05.rom", 0x10000, 0x10000, CRC(92076cab) SHA1(f47424817373a6735da2b2049b53da5b38178cec) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "af_14.rom", 0x00000, 0x10000, CRC(8c5dc5a7) SHA1(758140ddb9e60fb3950fe58bf53c7aea769a1a94) ) /* background tiles */
ROM_LOAD( "af_13.rom", 0x10000, 0x10000, CRC(136a58a3) SHA1(5481e3ce404881a0470f8740f0de6e42283bedf2) )
- ROM_REGION( 0x40000, "gfx4", 0 )
- ROM_LOAD( "af_11.rom", 0x00000, 0x20000, CRC(b46c473c) SHA1(d8573225e2d8b133b3bdd4fa5a12d445c71d5e0e) ) /* sprites */
- ROM_LOAD( "af_12.rom", 0x20000, 0x20000, CRC(23cb6bfe) SHA1(34cb013827206bea71f5336b308ba92bee688506) )
+ ROM_REGION( 0x40000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "af_11.rom", 0x00000, 0x20000, CRC(b46c473c) SHA1(d8573225e2d8b133b3bdd4fa5a12d445c71d5e0e) ) /* sprites */
+ ROM_LOAD16_BYTE( "af_12.rom", 0x00001, 0x20000, CRC(23cb6bfe) SHA1(34cb013827206bea71f5336b308ba92bee688506) )
ROM_END
ROM_START( armedff )
@@ -1816,20 +1791,20 @@ ROM_START( armedff )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */
ROM_LOAD( "af_10.rom", 0x00000, 0x10000, CRC(c5eacb87) SHA1(33af84b48fbda26729975b02cfb70f23c0bce6a2) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "af_09.rom", 0x00000, 0x08000, CRC(7025e92d) SHA1(e590682092c25bbfb674afeccbfc0e613c51d188) ) /* characters */
- ROM_REGION( 0x20000, "gfx2", 0 )
+ ROM_REGION( 0x20000, "foreground", 0 )
ROM_LOAD( "af_04.rom", 0x00000, 0x10000, CRC(44d3af4f) SHA1(0c2cb54357c314e43cec6f959fe9d4a2c8bc8834) ) /* foreground tiles */
ROM_LOAD( "af_05.rom", 0x10000, 0x10000, CRC(92076cab) SHA1(f47424817373a6735da2b2049b53da5b38178cec) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "af_14.rom", 0x00000, 0x10000, CRC(8c5dc5a7) SHA1(758140ddb9e60fb3950fe58bf53c7aea769a1a94) ) /* background tiles */
ROM_LOAD( "af_13.rom", 0x10000, 0x10000, CRC(136a58a3) SHA1(5481e3ce404881a0470f8740f0de6e42283bedf2) )
- ROM_REGION( 0x40000, "gfx4", 0 )
- ROM_LOAD( "af_11.rom", 0x00000, 0x20000, CRC(b46c473c) SHA1(d8573225e2d8b133b3bdd4fa5a12d445c71d5e0e) ) /* sprites */
- ROM_LOAD( "af_12.rom", 0x20000, 0x20000, CRC(23cb6bfe) SHA1(34cb013827206bea71f5336b308ba92bee688506) )
+ ROM_REGION( 0x40000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "af_11.rom", 0x00000, 0x20000, CRC(b46c473c) SHA1(d8573225e2d8b133b3bdd4fa5a12d445c71d5e0e) ) /* sprites */
+ ROM_LOAD16_BYTE( "af_12.rom", 0x00001, 0x20000, CRC(23cb6bfe) SHA1(34cb013827206bea71f5336b308ba92bee688506) )
ROM_END
ROM_START( skyrobo )
@@ -1846,20 +1821,20 @@ ROM_START( skyrobo )
// coming from Tatakae Big Fighter, might or might not be correct for this version
ROM_LOAD( "i8751.bin", 0x00000, 0x1000, BAD_DUMP CRC(64a0d225) SHA1(ccc5c33c0c412bf9e3a4f7de5e39b042e00c41dd) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "7", 0x00000, 0x08000, CRC(f556ef28) SHA1(2acb83cdf23356091056f2cfbbc2b9828ee25b6f) ) /* Rom location 11C */
- ROM_REGION( 0x30000, "gfx2", 0 )
+ ROM_REGION( 0x30000, "foreground", 0 )
ROM_LOAD( "5.13f", 0x00000, 0x20000, CRC(d440a29f) SHA1(9e6ea7c9903e5e3e8e10ac7680c6120e1aa27250) )
ROM_LOAD( "6.15f", 0x20000, 0x10000, CRC(27469a76) SHA1(ebf2c60e1f70a589680c05adf10771ac2097b9d0) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "12.8a", 0x00000, 0x10000, CRC(a5694ea9) SHA1(ea94174495b3a65b3797932074a94df3b55fa0a2) )
ROM_LOAD( "11.6a", 0x10000, 0x10000, CRC(10b74e2c) SHA1(e3ec68726e7f277dc2043424f2e4d863eb01b3dc) )
- ROM_REGION( 0x40000, "gfx4", 0 )
- ROM_LOAD( "9.8d", 0x00000, 0x20000, CRC(fe67800e) SHA1(0d3c4c3cb185270260fa691a97cddf082d6a056e) )
- ROM_LOAD( "10.9d", 0x20000, 0x20000, CRC(dcb828c4) SHA1(607bc86580a6fe6e15e91131532b0eecd8b7a0cb) )
+ ROM_REGION( 0x40000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "9.8d", 0x00000, 0x20000, CRC(fe67800e) SHA1(0d3c4c3cb185270260fa691a97cddf082d6a056e) )
+ ROM_LOAD16_BYTE( "10.9d", 0x00001, 0x20000, CRC(dcb828c4) SHA1(607bc86580a6fe6e15e91131532b0eecd8b7a0cb) )
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "tf.13h", 0x0000, 0x0100, CRC(81244757) SHA1(6324f63e571f0f7a0bb9eb97f9994809db79493f) ) /* Prom is a N82S129AN type */
@@ -1878,20 +1853,20 @@ ROM_START( bigfghtr )
ROM_REGION( 0x10000, "mcu", 0 ) /* Intel C8751 read protected MCU */
ROM_LOAD( "i8751.bin", 0x00000, 0x1000, CRC(64a0d225) SHA1(ccc5c33c0c412bf9e3a4f7de5e39b042e00c41dd) )
- ROM_REGION( 0x08000, "gfx1", 0 )
+ ROM_REGION( 0x08000, "text", 0 )
ROM_LOAD( "7.11c", 0x00000, 0x08000, CRC(1809e79f) SHA1(730547771f803857acb552a84a8bc21bd3bda33f) )
- ROM_REGION( 0x30000, "gfx2", 0 )
+ ROM_REGION( 0x30000, "foreground", 0 )
ROM_LOAD( "5.13f", 0x00000, 0x20000, CRC(d440a29f) SHA1(9e6ea7c9903e5e3e8e10ac7680c6120e1aa27250) )
ROM_LOAD( "6.15f", 0x20000, 0x10000, CRC(27469a76) SHA1(ebf2c60e1f70a589680c05adf10771ac2097b9d0) )
- ROM_REGION( 0x20000, "gfx3", 0 )
+ ROM_REGION( 0x20000, "background", 0 )
ROM_LOAD( "12.8a", 0x00000, 0x10000, CRC(a5694ea9) SHA1(ea94174495b3a65b3797932074a94df3b55fa0a2) )
ROM_LOAD( "11.6a", 0x10000, 0x10000, CRC(10b74e2c) SHA1(e3ec68726e7f277dc2043424f2e4d863eb01b3dc) )
- ROM_REGION( 0x40000, "gfx4", 0 )
- ROM_LOAD( "9.8d", 0x00000, 0x20000, CRC(fe67800e) SHA1(0d3c4c3cb185270260fa691a97cddf082d6a056e) )
- ROM_LOAD( "10.9d", 0x20000, 0x20000, CRC(dcb828c4) SHA1(607bc86580a6fe6e15e91131532b0eecd8b7a0cb) )
+ ROM_REGION( 0x40000, "sprite", 0 )
+ ROM_LOAD16_BYTE( "9.8d", 0x00000, 0x20000, CRC(fe67800e) SHA1(0d3c4c3cb185270260fa691a97cddf082d6a056e) )
+ ROM_LOAD16_BYTE( "10.9d", 0x00001, 0x20000, CRC(dcb828c4) SHA1(607bc86580a6fe6e15e91131532b0eecd8b7a0cb) )
ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "tf.13h", 0x0000, 0x0100, CRC(81244757) SHA1(6324f63e571f0f7a0bb9eb97f9994809db79493f) ) /* Prom is a N82S129AN type */
@@ -1906,25 +1881,6 @@ ROM_END
void armedf_state::init_terraf()
{
m_scroll_type = 0;
-
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c000, 0x07c001, write16_delegate(*this, FUNC(armedf_state::bootleg_io_w)));
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c006, 0x07c007, write16_delegate(*this, FUNC(armedf_state::terraf_fg_scrolly_w)));
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c008, 0x07c009, write16_delegate(*this, FUNC(armedf_state::terraf_fg_scrollx_w)));
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c0000, 0x0c0001, write16_delegate(*this, FUNC(armedf_state::terraf_fg_scroll_msb_arm_w)));
-}
-
-void armedf_state::init_terrafu()
-{
- m_scroll_type = 0;
-
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c000, 0x07c001, write16_delegate(*this, FUNC(armedf_state::terraf_io_w)));
-}
-
-void armedf_state::init_terrafjb()
-{
- m_scroll_type = 0;
-
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c000, 0x07c001, write16_delegate(*this, FUNC(armedf_state::terrafjb_io_w)));
}
void armedf_state::init_armedf()
@@ -1932,19 +1888,15 @@ void armedf_state::init_armedf()
m_scroll_type = 1;
}
-
void armedf_state::init_kozure()
{
- uint16_t *ROM = (uint16_t *)memregion("maincpu")->base();
+ u16 *ROM = (u16 *)memregion("maincpu")->base();
/* patch "time over" bug, see notes on top. */
ROM[0x1016c/2] = 0x4e71;
/* ROM check at POST. */
ROM[0x04fc6/2] = 0x4e71;
m_scroll_type = 0;
-
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c000, 0x07c001, write16_delegate(*this, FUNC(armedf_state::terraf_io_w)));
-
}
void armedf_state::init_legion()
@@ -1952,7 +1904,7 @@ void armedf_state::init_legion()
#if LEGION_HACK
/* This is a hack to allow you to use the extra features
of 3 of the "Unused" Dip Switches (see notes above). */
- uint16_t *ROM = (uint16_t *)memregion("maincpu")->base();
+ u16 *ROM = (u16 *)memregion("maincpu")->base();
RAM[0x0001d6 / 2] = 0x0001;
/* To avoid checksum error */
RAM[0x000488 / 2] = 0x4e71;
@@ -1966,7 +1918,7 @@ void armedf_state::init_legionjb()
#if LEGION_HACK
/* This is a hack to allow you to use the extra features
of 3 of the "Unused" Dip Switches (see notes above). */
- uint16_t *RAM = (uint16_t *)memregion("maincpu")->base();
+ u16 *RAM = (u16 *)memregion("maincpu")->base();
RAM[0x0001d6/2] = 0x0001;
/* No need to patch the checksum routine (see notes) ! */
#endif
@@ -1978,8 +1930,6 @@ void armedf_state::init_legionjb()
void armedf_state::init_cclimbr2()
{
- m_maincpu->space(AS_PROGRAM).install_write_handler(0x07c000, 0x07c001, write16_delegate(*this, FUNC(armedf_state::terraf_io_w)));
-
m_scroll_type = 3;
}
@@ -1995,10 +1945,10 @@ GAME( 1987, legionj, legion, legion, legion, armedf_state, init_legio
GAME( 1987, legionjb, legion, legionjb, legion, armedf_state, init_legionjb, ROT270, "bootleg", "Chouji Meikyuu Legion (Japan ver 1.05, bootleg set 1)", MACHINE_SUPPORTS_SAVE) /* blitter protection removed */
GAME( 1987, legionjb2, legion, legionjb2, legion, armedf_state, init_legionjb, ROT270, "bootleg", "Chouji Meikyuu Legion (Japan ver 1.05, bootleg set 2)", MACHINE_SUPPORTS_SAVE)
-GAME( 1987, terraf, 0, terraf, terraf, armedf_state, init_terrafu, ROT0, "Nichibutsu", "Terra Force", MACHINE_SUPPORTS_SAVE )
-GAME( 1987, terrafu, terraf, terraf, terraf, armedf_state, init_terrafu, ROT0, "Nichibutsu USA", "Terra Force (US)", MACHINE_SUPPORTS_SAVE )
-GAME( 1987, terrafj, terraf, terraf, terraf, armedf_state, init_terrafu, ROT0, "Nichibutsu Japan", "Terra Force (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1987, terrafjb, terraf, terrafjb, terraf, armedf_state, init_terrafjb, ROT0, "bootleg", "Terra Force (Japan, bootleg with additional Z80)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, terraf, 0, terraf, terraf, armedf_state, init_terraf, ROT0, "Nichibutsu", "Terra Force", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, terrafu, terraf, terraf, terraf, armedf_state, init_terraf, ROT0, "Nichibutsu USA", "Terra Force (US)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, terrafj, terraf, terraf, terraf, armedf_state, init_terraf, ROT0, "Nichibutsu Japan", "Terra Force (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1987, terrafjb, terraf, terrafjb, terraf, armedf_state, init_terraf, ROT0, "bootleg", "Terra Force (Japan, bootleg with additional Z80)", MACHINE_SUPPORTS_SAVE )
GAME( 1987, terrafb, terraf, terrafb, terraf, armedf_state, init_terraf, ROT0, "bootleg", "Terra Force (Japan, bootleg set 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1987, kozure, 0, kozure, kozure, armedf_state, init_kozure, ROT0, "Nichibutsu", "Kozure Ookami (Japan)", MACHINE_SUPPORTS_SAVE )