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