From d463c7dbe75605923a81d1f1539498641e44cacd Mon Sep 17 00:00:00 2001 From: cam900 Date: Sat, 11 May 2019 00:34:58 +0900 Subject: taito_f2.cpp : Updates (#5019) * taito_f2.cpp : Updates Simplify handlers, Simplify gfxdecodes, Reduce register_postload, duplicates, Runtime tag lookups, Unnecessary lines, Fix bankswitching behaviors, Fix spacings, Namings, Use shorter / Correct type values, Add notes * taito_f2.cpp : Remove unused --- src/mame/drivers/taito_f2.cpp | 1476 +++++++++++++++++++---------------------- src/mame/includes/taito_f2.h | 201 +++--- src/mame/video/taito_f2.cpp | 447 ++++++------- 3 files changed, 997 insertions(+), 1127 deletions(-) diff --git a/src/mame/drivers/taito_f2.cpp b/src/mame/drivers/taito_f2.cpp index 6f2b51dd281..a3c045859f3 100644 --- a/src/mame/drivers/taito_f2.cpp +++ b/src/mame/drivers/taito_f2.cpp @@ -282,7 +282,7 @@ Notes: GAME INPUTS **********************************************************/ -WRITE8_MEMBER(taitof2_state::coin_nibble_w) +void taitof2_state::coin_nibble_w(u8 data) { machine().bookkeeping().coin_lockout_w(0, ~data & 0x01); machine().bookkeeping().coin_lockout_w(1, ~data & 0x02); @@ -290,18 +290,15 @@ WRITE8_MEMBER(taitof2_state::coin_nibble_w) machine().bookkeeping().coin_counter_w(1, data & 0x08); } -WRITE16_MEMBER(taitof2_state::growl_coin_word_w)/* what about coins 3&4 ?? */ +void taitof2_state::growl_coin_word_w(u8 data)/* what about coins 3&4 ?? */ { - if (ACCESSING_BITS_0_7) - { - machine().bookkeeping().coin_lockout_w(0, ~data & 0x01); - machine().bookkeeping().coin_lockout_w(1, ~data & 0x02); - machine().bookkeeping().coin_counter_w(0, data & 0x04); - machine().bookkeeping().coin_counter_w(1, data & 0x08); - } + machine().bookkeeping().coin_lockout_w(0, ~data & 0x01); + machine().bookkeeping().coin_lockout_w(1, ~data & 0x02); + machine().bookkeeping().coin_counter_w(0, data & 0x04); + machine().bookkeeping().coin_counter_w(1, data & 0x08); } -WRITE8_MEMBER(taitof2_state::taitof2_4p_coin_word_w) +void taitof2_state::_4p_coin_word_w(u8 data) { machine().bookkeeping().coin_lockout_w(0, ~data & 0x01); machine().bookkeeping().coin_lockout_w(1, ~data & 0x02); @@ -313,20 +310,20 @@ WRITE8_MEMBER(taitof2_state::taitof2_4p_coin_word_w) machine().bookkeeping().coin_counter_w(3, data & 0x80); } -READ16_MEMBER(taitof2_state::cameltry_paddle_r) +u16 taitof2_state::cameltry_paddle_r(offs_t offset) { int curr, res = 0xff; switch (offset) { case 0x00: - curr = ioport("PADDLE1")->read(); + curr = m_io_paddle[0]->read(); res = curr - m_last[0]; m_last[0] = curr; return res; case 0x02: - curr = ioport("PADDLE2")->read(); + curr = m_io_paddle[1]->read(); res = curr - m_last[1]; m_last[1] = curr; return res; @@ -337,18 +334,18 @@ READ16_MEMBER(taitof2_state::cameltry_paddle_r) return 0; } -READ16_MEMBER(taitof2_state::mjnquest_dsw_r) +u16 taitof2_state::mjnquest_dsw_r(offs_t offset) { switch (offset) { case 0x00: { - return (ioport("IN5")->read() << 8) + ioport("DSWA")->read(); /* DSW A + coin */ + return (m_io_in[5]->read() << 8) + m_io_dswa->read(); /* DSW A + coin */ } case 0x01: { - return (ioport("IN6")->read() << 8) + ioport("DSWB")->read(); /* DSW B + coin */ + return (m_io_in[6]->read() << 8) + m_io_dswb->read(); /* DSW B + coin */ } } @@ -357,24 +354,24 @@ READ16_MEMBER(taitof2_state::mjnquest_dsw_r) return 0xff; } -READ16_MEMBER(taitof2_state::mjnquest_input_r) +u16 taitof2_state::mjnquest_input_r() { switch (m_mjnquest_input) { case 0x01: - return ioport("IN0")->read(); + return m_io_in[0]->read(); - case 0x02: - return ioport("IN1")->read(); + case 0x02: + return m_io_in[1]->read(); - case 0x04: - return ioport("IN2")->read(); + case 0x04: + return m_io_in[2]->read(); - case 0x08: - return ioport("IN3")->read(); + case 0x08: + return m_io_in[3]->read(); - case 0x10: - return ioport("IN4")->read(); + case 0x10: + return m_io_in[4]->read(); } @@ -383,7 +380,7 @@ READ16_MEMBER(taitof2_state::mjnquest_input_r) return 0xff; } -WRITE16_MEMBER(taitof2_state::mjnquest_inputselect_w) +void taitof2_state::mjnquest_inputselect_w(u16 data) { m_mjnquest_input = (data >> 6); } @@ -536,7 +533,7 @@ void taitof2_state::device_timer(emu_timer &timer, device_timer_id id, int param { switch (id) { - case TIMER_TAITOF2_INTERRUPT6: + case TIMER_INTERRUPT6: m_maincpu->set_input_line(6, HOLD_LINE); break; default: @@ -544,7 +541,7 @@ void taitof2_state::device_timer(emu_timer &timer, device_timer_id id, int param } } -INTERRUPT_GEN_MEMBER(taitof2_state::taitof2_interrupt) +INTERRUPT_GEN_MEMBER(taitof2_state::interrupt) { m_int6_timer->adjust(m_maincpu->cycles_to_attotime(500)); device.execute().set_input_line(5, HOLD_LINE); @@ -552,7 +549,7 @@ INTERRUPT_GEN_MEMBER(taitof2_state::taitof2_interrupt) INTERRUPT_GEN_MEMBER(taitof2_state::megab_interrupt) { - taitof2_interrupt(device); + interrupt(device); m_cchip->ext_interrupt(ASSERT_LINE); m_cchip_irq_clear->adjust(attotime::zero); } @@ -567,18 +564,18 @@ TIMER_DEVICE_CALLBACK_MEMBER(taitof2_state::cchip_irq_clear_cb) SOUND ****************************************************************/ -WRITE8_MEMBER(taitof2_state::sound_bankswitch_w) +void taitof2_state::sound_bankswitch_w(u8 data) { - membank("bank2")->set_entry((data - 1) & 7); + m_audiobank->set_entry(data & 7); #ifdef MAME_DEBUG - if (((data - 1) & 7) > 2) - logerror("CPU #1 switch to ROM bank %06x: should only happen if Z80 prg rom is 128K!\n",(data - 1) & 7); + if ((data & 7) > 2) + logerror("CPU #1 switch to ROM bank %06x: should only happen if Z80 prg rom is 128K!\n",data & 7); #endif } -READ8_MEMBER(taitof2_state::driveout_sound_command_r) +u8 taitof2_state::driveout_sound_command_r() { m_audiocpu->set_input_line(0, CLEAR_LINE); // logerror("sound IRQ OFF (sound command=%02x)\n", m_driveout_sound_latch); @@ -586,41 +583,30 @@ READ8_MEMBER(taitof2_state::driveout_sound_command_r) } -void taitof2_state::reset_driveout_sound_region() +void taitof2_state::oki_bank_w(u8 data) { - m_oki->set_rom_bank(m_oki_bank); -} - -WRITE8_MEMBER(taitof2_state::oki_bank_w) -{ - if ((data & 4) && (m_oki_bank != (data & 3)) ) + if (data & 4) { - m_oki_bank = (data & 3); + m_okibank->set_entry((data & 3)); } - - reset_driveout_sound_region(); } -WRITE16_MEMBER(taitof2_state::driveout_sound_command_w) +void taitof2_state::driveout_sound_command_w(offs_t offset, u8 data) { - if (ACCESSING_BITS_8_15) + if (offset == 0) { - data >>= 8; - if (offset == 0) + m_nibble = data & 1; + } + else + { + if (m_nibble == 0) { - m_nibble = data & 1; + m_driveout_sound_latch = (data & 0x0f) | (m_driveout_sound_latch & 0xf0); } else { - if (m_nibble == 0) - { - m_driveout_sound_latch = (data & 0x0f) | (m_driveout_sound_latch & 0xf0); - } - else - { - m_driveout_sound_latch = ((data << 4) & 0xf0) | (m_driveout_sound_latch & 0x0f); - m_audiocpu->set_input_line(0, ASSERT_LINE); - } + m_driveout_sound_latch = ((data << 4) & 0xf0) | (m_driveout_sound_latch & 0x0f); + m_audiocpu->set_input_line(0, ASSERT_LINE); } } } @@ -638,9 +624,9 @@ void taitof2_state::finalb_map(address_map &map) map(0x300000, 0x30000f).rw(m_tc0220ioc, FUNC(tc0220ioc_device::read), FUNC(tc0220ioc_device::write)).umask16(0x00ff); map(0x320001, 0x320001).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x320003, 0x320003).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ map(0x810000, 0x81ffff).nopw(); /* error in game init code ? */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xb00002, 0xb00003).nopw(); /* ?? */ } @@ -653,8 +639,8 @@ void taitof2_state::dondokod_map(address_map &map) map(0x300000, 0x30000f).rw(m_tc0220ioc, FUNC(tc0220ioc_device::read), FUNC(tc0220ioc_device::write)).umask16(0x00ff); map(0x320000, 0x320000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x320002, 0x320002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa01fff).rw(m_tc0280grd, FUNC(tc0280grd_device::tc0280grd_word_r), FUNC(tc0280grd_device::tc0280grd_word_w)); /* ROZ tilemap */ map(0xa02000, 0xa0200f).w(m_tc0280grd, FUNC(tc0280grd_device::tc0280grd_ctrl_word_w)); @@ -672,9 +658,9 @@ void taitof2_state::megab_map(address_map &map) map(0x200000, 0x20ffff).ram(); map(0x300000, 0x301fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x400000, 0x40001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ - map(0x600000, 0x60ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x600000, 0x60ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ map(0x610000, 0x61ffff).ram(); /* unused? */ - map(0x620000, 0x62000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x620000, 0x62000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x800000, 0x80ffff).ram().share("spriteram"); } @@ -686,10 +672,10 @@ void taitof2_state::thundfox_map(address_map &map) map(0x220000, 0x220000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x220002, 0x220002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); map(0x300000, 0x30ffff).ram(); - map(0x400000, 0x40ffff).rw(m_tc0100scn_1, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x420000, 0x42000f).rw(m_tc0100scn_1, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); - map(0x500000, 0x50ffff).rw(m_tc0100scn_2, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x520000, 0x52000f).rw(m_tc0100scn_2, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x400000, 0x40ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x420000, 0x42000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x500000, 0x50ffff).rw(m_tc0100scn[1], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x520000, 0x52000f).rw(m_tc0100scn[1], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x600000, 0x60ffff).ram().share("spriteram"); map(0x800000, 0x80001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0xff00); } @@ -703,8 +689,8 @@ void taitof2_state::cameltry_map(address_map &map) map(0x300018, 0x30001f).r(FUNC(taitof2_state::cameltry_paddle_r)); map(0x320000, 0x320000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x320002, 0x320002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x813fff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x813fff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa01fff).rw(m_tc0280grd, FUNC(tc0280grd_device::tc0280grd_word_r), FUNC(tc0280grd_device::tc0280grd_word_w)); /* ROZ tilemap */ map(0xa02000, 0xa0200f).w(m_tc0280grd, FUNC(tc0280grd_device::tc0280grd_ctrl_word_w)); @@ -720,8 +706,8 @@ void taitof2_state::cameltrya_map(address_map &map) map(0x300018, 0x30001f).r(FUNC(taitof2_state::cameltry_paddle_r)); map(0x320000, 0x320000).w("ciu", FUNC(pc060ha_device::master_port_w)); map(0x320002, 0x320002).rw("ciu", FUNC(pc060ha_device::master_comm_r), FUNC(pc060ha_device::master_comm_w)); - map(0x800000, 0x813fff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x813fff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa01fff).rw(m_tc0280grd, FUNC(tc0280grd_device::tc0280grd_word_r), FUNC(tc0280grd_device::tc0280grd_word_w)); /* ROZ tilemap */ map(0xa02000, 0xa0200f).w(m_tc0280grd, FUNC(tc0280grd_device::tc0280grd_ctrl_word_w)); @@ -736,8 +722,8 @@ void taitof2_state::qtorimon_map(address_map &map) map(0x500000, 0x50000f).rw(m_tc0220ioc, FUNC(tc0220ioc_device::read), FUNC(tc0220ioc_device::write)).umask16(0x00ff); map(0x600000, 0x600000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x600002, 0x600002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0x910000, 0x9120ff).nopw(); /* error in init code ? */ } @@ -750,8 +736,8 @@ void taitof2_state::liquidk_map(address_map &map) map(0x300000, 0x30000f).rw(m_tc0220ioc, FUNC(tc0220ioc_device::read), FUNC(tc0220ioc_device::write)).umask16(0x00ff); map(0x320001, 0x320001).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x320003, 0x320003).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xb00000, 0xb0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ } @@ -761,7 +747,7 @@ void taitof2_state::quizhq_map(address_map &map) map(0x000000, 0x0bffff).rom(); map(0x100000, 0x10ffff).ram(); map(0x200000, 0x200007).rw(m_tc0110pcr, FUNC(tc0110pcr_device::word_r), FUNC(tc0110pcr_device::word_w)); /* palette */ - map(0x500004, 0x500005).w(FUNC(taitof2_state::growl_coin_word_w)); + map(0x500005, 0x500005).w(FUNC(taitof2_state::growl_coin_word_w)); map(0x500000, 0x500001).portr("DSWB"); map(0x500002, 0x500003).portr("IN0"); map(0x580000, 0x580001).w("watchdog", FUNC(watchdog_timer_device::reset16_w)); /* ??? */ @@ -772,9 +758,9 @@ void taitof2_state::quizhq_map(address_map &map) map(0x600001, 0x600001).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x600003, 0x600003).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); map(0x680000, 0x680001).nopw(); /* ??? */ - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ map(0x810000, 0x81ffff).nopw(); /* error in init code ? */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); } @@ -787,8 +773,8 @@ void taitof2_state::ssi_map(address_map &map) map(0x400000, 0x400000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x400002, 0x400002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); // AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ?? */ - map(0x600000, 0x60ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps (not used) */ - map(0x620000, 0x62000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x600000, 0x60ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps (not used) */ + map(0x620000, 0x62000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x800000, 0x80ffff).ram().share("spriteram"); /* sprite ram */ } @@ -800,8 +786,8 @@ void taitof2_state::gunfront_map(address_map &map) map(0x300000, 0x30000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_wordswap_r), FUNC(tc0510nio_device::halfword_wordswap_w)); map(0x320000, 0x320000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x320002, 0x320002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); // AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* ?? */ map(0xb00000, 0xb0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ @@ -812,7 +798,7 @@ void taitof2_state::growl_map(address_map &map) map(0x000000, 0x0fffff).rom(); map(0x100000, 0x10ffff).ram(); map(0x200000, 0x201fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x300004, 0x300005).w(FUNC(taitof2_state::growl_coin_word_w)); + map(0x300005, 0x300005).w(FUNC(taitof2_state::growl_coin_word_w)); map(0x300000, 0x300001).portr("DSWA"); map(0x300002, 0x300003).portr("DSWB"); map(0x320000, 0x320001).portr("IN0"); @@ -821,12 +807,12 @@ void taitof2_state::growl_map(address_map &map) map(0x340000, 0x340001).w("watchdog", FUNC(watchdog_timer_device::reset16_w)); map(0x400000, 0x400000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x400002, 0x400002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x500000, 0x50000f).w(FUNC(taitof2_state::taitof2_spritebank_w)); + map(0x500000, 0x50000f).w(FUNC(taitof2_state::spritebank_w)); map(0x504000, 0x504001).nopw(); /* unknown... various values */ map(0x508000, 0x50800f).portr("IN3"); map(0x50c000, 0x50c00f).portr("IN4"); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xb00000, 0xb0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ } @@ -845,8 +831,8 @@ void taitof2_state::mjnquest_map(address_map &map) map(0x360000, 0x360000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x360002, 0x360002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); map(0x380001, 0x380001).w(FUNC(taitof2_state::mjnquest_gfxbank_w)); /* scr gfx bank select */ - map(0x400000, 0x40ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x420000, 0x42000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x400000, 0x40ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x420000, 0x42000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x500000, 0x50ffff).ram().share("spriteram"); } @@ -855,7 +841,7 @@ void taitof2_state::footchmp_map(address_map &map) map(0x000000, 0x07ffff).rom(); map(0x100000, 0x10ffff).ram(); map(0x200000, 0x20ffff).ram().share("spriteram"); - map(0x300000, 0x30000f).w(FUNC(taitof2_state::taitof2_spritebank_w)); /* updated at $a6e, off irq5 */ + map(0x300000, 0x30000f).w(FUNC(taitof2_state::spritebank_w)); /* updated at $a6e, off irq5 */ map(0x400000, 0x40ffff).rw(m_tc0480scp, FUNC(tc0480scp_device::ram_r), FUNC(tc0480scp_device::ram_w)); /* tilemaps */ map(0x430000, 0x43002f).rw(m_tc0480scp, FUNC(tc0480scp_device::ctrl_r), FUNC(tc0480scp_device::ctrl_w)); map(0x500000, 0x50001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* 500002 written like a watchdog?! */ @@ -874,8 +860,8 @@ void taitof2_state::koshien_map(address_map &map) map(0x300000, 0x30000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); map(0x320000, 0x320000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x320002, 0x320002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa20000, 0xa20001).w(FUNC(taitof2_state::koshien_spritebank_w)); map(0xb00000, 0xb0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0xff00); @@ -887,12 +873,12 @@ void taitof2_state::yuyugogo_map(address_map &map) map(0x200000, 0x20000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); map(0x400000, 0x400000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x400002, 0x400002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa01fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xb00000, 0xb10fff).ram(); /* deliberate writes to $b10xxx, I think */ - map(0xc00000, 0xc01fff).w(FUNC(taitof2_state::taitof2_sprite_extension_w)).share("sprite_ext"); + map(0xc00000, 0xc01fff).w(FUNC(taitof2_state::sprite_extension_w)).share("sprite_ext"); map(0xd00000, 0xdfffff).rom().region("extra", 0); } @@ -905,9 +891,9 @@ void taitof2_state::ninjak_map(address_map &map) map(0x380000, 0x380001).w("watchdog", FUNC(watchdog_timer_device::reset16_w)); /* ??? */ map(0x400000, 0x400000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x400002, 0x400002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x600000, 0x60000f).w(FUNC(taitof2_state::taitof2_spritebank_w)); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x600000, 0x60000f).w(FUNC(taitof2_state::spritebank_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xb00000, 0xb0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* b00002 written like a watchdog?! */ } @@ -917,7 +903,7 @@ void taitof2_state::solfigtr_map(address_map &map) map(0x000000, 0x07ffff).rom(); map(0x100000, 0x10ffff).ram(); map(0x200000, 0x201fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x300004, 0x300005).w(FUNC(taitof2_state::growl_coin_word_w)); /* NOT VERIFIED */ + map(0x300005, 0x300005).w(FUNC(taitof2_state::growl_coin_word_w)); /* NOT VERIFIED */ map(0x300000, 0x300001).portr("DSWA"); map(0x300002, 0x300003).portr("DSWB"); map(0x320000, 0x320001).portr("IN0"); @@ -926,10 +912,10 @@ void taitof2_state::solfigtr_map(address_map &map) map(0x340000, 0x340001).w("watchdog", FUNC(watchdog_timer_device::reset16_w)); /* NOT VERIFIED */ map(0x400000, 0x400000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x400002, 0x400002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x500000, 0x50000f).w(FUNC(taitof2_state::taitof2_spritebank_w)); + map(0x500000, 0x50000f).w(FUNC(taitof2_state::spritebank_w)); map(0x504000, 0x504001).nopw(); /* unknown... various values */ - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xb00000, 0xb0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ } @@ -943,8 +929,8 @@ void taitof2_state::qzquest_map(address_map &map) map(0x400000, 0x401fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x500000, 0x50ffff).ram(); map(0x600000, 0x60ffff).ram().share("spriteram"); - map(0x700000, 0x70ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x720000, 0x72000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x700000, 0x70ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x720000, 0x72000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); } void taitof2_state::pulirula_map(address_map &map) @@ -956,10 +942,10 @@ void taitof2_state::pulirula_map(address_map &map) map(0x400000, 0x401fff).rw(m_tc0430grw, FUNC(tc0280grd_device::tc0430grw_word_r), FUNC(tc0280grd_device::tc0430grw_word_w)); /* ROZ tilemap */ map(0x402000, 0x40200f).w(m_tc0430grw, FUNC(tc0280grd_device::tc0430grw_ctrl_word_w)); // AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ??? */ - map(0x600000, 0x603fff).w(FUNC(taitof2_state::taitof2_sprite_extension_w)).share("sprite_ext"); + map(0x600000, 0x603fff).w(FUNC(taitof2_state::sprite_extension_w)).share("sprite_ext"); map(0x700000, 0x701fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0xff00); map(0xb00000, 0xb0000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); @@ -990,8 +976,8 @@ void taitof2_state::qzchikyu_map(address_map &map) map(0x400000, 0x401fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x500000, 0x50ffff).ram(); map(0x600000, 0x60ffff).ram().share("spriteram"); - map(0x700000, 0x70ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x720000, 0x72000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x700000, 0x70ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x720000, 0x72000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); } void taitof2_state::yesnoj_map(address_map &map) @@ -999,8 +985,8 @@ void taitof2_state::yesnoj_map(address_map &map) map(0x000000, 0x07ffff).rom(); map(0x200000, 0x20ffff).ram(); map(0x400000, 0x40ffff).ram().share("spriteram"); - map(0x500000, 0x50ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x520000, 0x52000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x500000, 0x50ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x520000, 0x52000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x600000, 0x601fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x700000, 0x70001f).rw("rtc", FUNC(tc8521_device::read), FUNC(tc8521_device::write)).umask16(0x00ff); map(0x800000, 0x800000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); @@ -1019,7 +1005,7 @@ void taitof2_state::deadconx_map(address_map &map) map(0x000000, 0x0fffff).rom(); map(0x100000, 0x10ffff).ram(); map(0x200000, 0x20ffff).ram().share("spriteram"); - map(0x300000, 0x30000f).w(FUNC(taitof2_state::taitof2_spritebank_w)); + map(0x300000, 0x30000f).w(FUNC(taitof2_state::spritebank_w)); map(0x400000, 0x40ffff).rw(m_tc0480scp, FUNC(tc0480scp_device::ram_r), FUNC(tc0480scp_device::ram_w)); /* tilemaps */ // AM_RANGE(0x42000c, 0x42000f) AM_WRITENOP /* zeroed */ map(0x430000, 0x43002f).rw(m_tc0480scp, FUNC(tc0480scp_device::ctrl_r), FUNC(tc0480scp_device::ctrl_w)); @@ -1035,13 +1021,13 @@ void taitof2_state::dinorex_map(address_map &map) { map(0x000000, 0x2fffff).rom(); map(0x300000, 0x30000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); - map(0x400000, 0x400fff).w(FUNC(taitof2_state::taitof2_sprite_extension_w)).share("sprite_ext"); + map(0x400000, 0x400fff).w(FUNC(taitof2_state::sprite_extension_w)).share("sprite_ext"); map(0x500000, 0x501fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x600000, 0x60ffff).ram(); map(0x700000, 0x70001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ map(0x800000, 0x80ffff).ram().share("spriteram"); - map(0x900000, 0x90ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x920000, 0x92000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x900000, 0x90ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x920000, 0x92000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0xa00000, 0xa00000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0xa00002, 0xa00002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); map(0xb00000, 0xb00001).nopw(); /* watchdog? */ @@ -1054,10 +1040,10 @@ void taitof2_state::qjinsei_map(address_map &map) map(0x200002, 0x200002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); map(0x300000, 0x30ffff).ram(); map(0x500000, 0x500001).nopw(); /* watchdog ? */ - map(0x600000, 0x603fff).w(FUNC(taitof2_state::taitof2_sprite_extension_w)).share("sprite_ext"); + map(0x600000, 0x603fff).w(FUNC(taitof2_state::sprite_extension_w)).share("sprite_ext"); map(0x700000, 0x701fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ map(0xb00000, 0xb0000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); @@ -1071,11 +1057,11 @@ void taitof2_state::qcrayon_map(address_map &map) map(0x300000, 0x3fffff).rom().region("extra", 0); /* extra data rom */ map(0x500000, 0x500000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0x500002, 0x500002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0x600000, 0x603fff).w(FUNC(taitof2_state::taitof2_sprite_extension_w)).share("sprite_ext"); + map(0x600000, 0x603fff).w(FUNC(taitof2_state::sprite_extension_w)).share("sprite_ext"); map(0x700000, 0x701fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x800000, 0x80ffff).ram().share("spriteram"); - map(0x900000, 0x90ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x920000, 0x92000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x900000, 0x90ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x920000, 0x92000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0xa00000, 0xa0000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); map(0xb00000, 0xb0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ } @@ -1086,14 +1072,14 @@ void taitof2_state::qcrayon2_map(address_map &map) map(0x200000, 0x20ffff).ram(); map(0x300000, 0x301fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x400000, 0x40ffff).ram().share("spriteram"); - map(0x500000, 0x50ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x520000, 0x52000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x500000, 0x50ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x520000, 0x52000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x600000, 0x67ffff).rom().region("extra", 0); /* extra data rom */ map(0x700000, 0x70000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); map(0x900000, 0x90001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0x00ff); /* ?? */ map(0xa00000, 0xa00000).w("tc0140syt", FUNC(tc0140syt_device::master_port_w)); map(0xa00002, 0xa00002).rw("tc0140syt", FUNC(tc0140syt_device::master_comm_r), FUNC(tc0140syt_device::master_comm_w)); - map(0xb00000, 0xb017ff).w(FUNC(taitof2_state::taitof2_sprite_extension_w)).share("sprite_ext"); + map(0xb00000, 0xb017ff).w(FUNC(taitof2_state::sprite_extension_w)).share("sprite_ext"); } void taitof2_state::driftout_map(address_map &map) @@ -1105,8 +1091,8 @@ void taitof2_state::driftout_map(address_map &map) map(0x400000, 0x401fff).rw(m_tc0430grw, FUNC(tc0280grd_device::tc0430grw_word_r), FUNC(tc0280grd_device::tc0430grw_word_w)); /* ROZ tilemap */ map(0x402000, 0x40200f).w(m_tc0430grw, FUNC(tc0280grd_device::tc0430grw_ctrl_word_w)); map(0x700000, 0x701fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0xff00); map(0xb00000, 0xb0000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); @@ -1118,13 +1104,13 @@ void taitof2_state::driftout_map(address_map &map) void taitof2_state::driveout_map(address_map &map) { map(0x000000, 0x0fffff).rom(); - map(0x200000, 0x200003).nopr().w(FUNC(taitof2_state::driveout_sound_command_w)); + map(0x200000, 0x200003).nopr().w(FUNC(taitof2_state::driveout_sound_command_w)).umask16(0xff00); map(0x300000, 0x30ffff).ram(); map(0x400000, 0x401fff).rw(m_tc0430grw, FUNC(tc0280grd_device::tc0430grw_word_r), FUNC(tc0280grd_device::tc0430grw_word_w)); /* ROZ tilemap */ map(0x402000, 0x40200f).w(m_tc0430grw, FUNC(tc0280grd_device::tc0430grw_ctrl_word_w)); map(0x700000, 0x701fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x800000, 0x80ffff).rw(m_tc0100scn, FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ - map(0x820000, 0x82000f).rw(m_tc0100scn, FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); + map(0x800000, 0x80ffff).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ram_r), FUNC(tc0100scn_device::ram_w)); /* tilemaps */ + map(0x820000, 0x82000f).rw(m_tc0100scn[0], FUNC(tc0100scn_device::ctrl_r), FUNC(tc0100scn_device::ctrl_w)); map(0x900000, 0x90ffff).ram().share("spriteram"); map(0xa00000, 0xa0001f).w(m_tc0360pri, FUNC(tc0360pri_device::write)).umask16(0xff00); map(0xb00000, 0xb0000f).rw(m_tc0510nio, FUNC(tc0510nio_device::halfword_r), FUNC(tc0510nio_device::halfword_w)); @@ -1138,7 +1124,7 @@ void taitof2_state::driveout_map(address_map &map) void taitof2_state::sound_map(address_map &map) { map(0x0000, 0x3fff).rom(); - map(0x4000, 0x7fff).bankr("bank2"); + map(0x4000, 0x7fff).bankr("audiobank"); map(0xc000, 0xdfff).ram(); map(0xe000, 0xe003).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write)); map(0xe200, 0xe200).nopr().w("tc0140syt", FUNC(tc0140syt_device::slave_port_w)); @@ -1174,6 +1160,13 @@ void taitof2_state::driveout_sound_map(address_map &map) map(0xa000, 0xa000).r(FUNC(taitof2_state::driveout_sound_command_r)); } + +void taitof2_state::driveout_oki_map(address_map &map) +{ + map(0x00000, 0x1ffff).bankr("okibank"); + map(0x20000, 0x3ffff).rom().region("oki", 0x80000); +} + /*********************************************************** INPUT PORTS, DIPs ***********************************************************/ @@ -2703,11 +2696,9 @@ static const gfx_layout finalb_tilelayout = 16,16, /* 16*16 sprites */ RGN_FRAC(1,2), 6, /* 6 bits per pixel */ - { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+1, 0, 1, 2, 3 }, - { 3*4, 2*4, 1*4, 0*4, 7*4, 6*4, 5*4, 4*4, - 11*4, 10*4, 9*4, 8*4, 15*4, 14*4, 13*4, 12*4 }, - { 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 }, + { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+1, STEP4(0,1) }, + { STEP4(3*4,-4), STEP4(7*4,-4), STEP4(11*4,-4), STEP4(15*4,-4) }, + { STEP16(0,16*4) }, 128*8 /* every sprite takes 128 consecutive bytes */ }; @@ -2716,9 +2707,9 @@ static const gfx_layout tilelayout = 16,16, /* 16*16 sprites */ RGN_FRAC(1,1), 4, /* 4 bits per pixel */ - { 0, 1, 2, 3 }, - { 1*4, 0*4, 3*4, 2*4, 5*4, 4*4, 7*4, 6*4, 9*4, 8*4, 11*4, 10*4, 13*4, 12*4, 15*4, 14*4 }, - { 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 }, + { STEP4(0,1) }, + { STEP4(3*4,-4), STEP4(7*4,-4), STEP4(11*4,-4), STEP4(15*4,-4) }, + { STEP16(0,16*4) }, 128*8 /* every sprite takes 128 consecutive bytes */ }; @@ -2727,9 +2718,9 @@ static const gfx_layout charlayout = 8,8, /* 8*8 characters */ RGN_FRAC(1,1), 4, /* 4 bits per pixel */ - { 0, 1, 2, 3 }, - { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, + { STEP4(0,1) }, + { STEP8(0,4) }, + { STEP8(0,4*8) }, 32*8 /* every sprite takes 32 consecutive bytes */ }; @@ -2739,47 +2730,30 @@ static const gfx_layout yuyugogo_charlayout = RGN_FRAC(1,1), 1, /* 1 bit per pixel */ { 0 }, - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, + { STEP8(0,1) }, + { STEP8(0,8) }, 8*8 /* every sprite takes 8 consecutive bytes */ }; -static const gfx_layout pivotlayout = -{ - 8,8, /* 8*8 characters */ - RGN_FRAC(1,1), - 4, /* 4 bits per pixel */ - { 0, 1, 2, 3 }, - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, - 32*8 /* every sprite takes 32 consecutive bytes */ -}; - static GFXDECODE_START( gfx_finalb ) - GFXDECODE_ENTRY( "gfx2", 0, finalb_tilelayout, 0, 64 ) /* sprites & playfield, 6-bit deep */ - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* sprites & playfield */ + GFXDECODE_ENTRY( "gfx2", 0, finalb_tilelayout, 0, 64 ) /* sprites, 6-bit deep */ + GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* playfield */ GFXDECODE_END static GFXDECODE_START( gfx_taitof2 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* sprites & playfield */ + GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */ + GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* playfield */ GFXDECODE_END static GFXDECODE_START( gfx_pivot ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx3", 0, pivotlayout, 0, 256 ) /* sprites & playfield */ + GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */ + GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* playfield */ + GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 256 ) /* playfield */ GFXDECODE_END static GFXDECODE_START( gfx_yuyugogo ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx1", 0, yuyugogo_charlayout, 0, 256 ) /* sprites & playfield */ -GFXDECODE_END - -static GFXDECODE_START( gfx_thundfox ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* TC0100SCN #1 */ - GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 256 ) /* TC0100SCN #2 */ + GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */ + GFXDECODE_ENTRY( "gfx1", 0, yuyugogo_charlayout, 0, 256 ) /* playfield */ GFXDECODE_END static const gfx_layout deadconx_charlayout = @@ -2787,15 +2761,15 @@ static const gfx_layout deadconx_charlayout = 16,16, /* 16*16 characters */ RGN_FRAC(1,1), 4, /* 4 bits per pixel */ - { 0, 1, 2, 3 }, - { 1*4, 0*4, 5*4, 4*4, 3*4, 2*4, 7*4, 6*4, 9*4, 8*4, 13*4, 12*4, 11*4, 10*4, 15*4, 14*4 }, - { 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 }, + { STEP4(0,1) }, + { STEP8(7*4,-4), STEP8(15*4,-4) }, + { STEP16(0,16*4) }, 128*8 /* every sprite takes 128 consecutive bytes */ }; static GFXDECODE_START( gfx_deadconx ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx1", 0, deadconx_charlayout, 0, 256 ) /* sprites & playfield */ + GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */ + GFXDECODE_ENTRY( "gfx1", 0, deadconx_charlayout, 0, 256 ) /* playfield */ GFXDECODE_END static const gfx_layout footchmpbl_tilelayout = @@ -2821,8 +2795,8 @@ static const gfx_layout footchmpbl_charlayout = }; static GFXDECODE_START( gfx_footchmpbl ) - GFXDECODE_ENTRY( "gfx2", 0, footchmpbl_tilelayout, 0, 256 ) /* sprites & playfield */ - GFXDECODE_ENTRY( "gfx1", 0, footchmpbl_tilelayout, 0, 256 ) /* sprites & playfield */ + GFXDECODE_ENTRY( "gfx2", 0, footchmpbl_tilelayout, 0, 256 ) /* sprites */ + GFXDECODE_ENTRY( "gfx1", 0, footchmpbl_tilelayout, 0, 256 ) /* playfield */ GFXDECODE_ENTRY( "gfx3", 0, footchmpbl_charlayout, 0, 256 ) // gets wiped out by the dynamic decode atm GFXDECODE_ENTRY( "gfx3", 0, footchmpbl_charlayout, 0, 256 ) // bootleg should clearly use this instead of the uploaded tiles GFXDECODE_END @@ -2837,28 +2811,31 @@ WRITE8_MEMBER(taitof2_state::cameltrya_porta_w) MACHINE DRIVERS ***********************************************************/ -MACHINE_START_MEMBER(taitof2_state,common) +void taitof2_state::machine_start() { - m_int6_timer = timer_alloc(TIMER_TAITOF2_INTERRUPT6); -} + if (m_audiobank) + { + const int banks = memregion("audiocpu")->bytes() / 0x4000; + int i = 0; + while (i < 8) + { + m_audiobank->configure_entry(i, memregion("audiocpu")->base() + (0x4000 * (i % banks))); // TODO : mirrored? + i++; + } + } -MACHINE_START_MEMBER(taitof2_state,f2) -{ - MACHINE_START_CALL_MEMBER(common); - membank("bank2")->configure_entries(0, 8, memregion("audiocpu")->base() + 0x10000, 0x4000); + m_int6_timer = timer_alloc(TIMER_INTERRUPT6); } void taitof2_state::taito_f2(machine_config &config) { /* basic machine hardware */ M68000(config, m_maincpu, 24000000/2); /* 12 MHz */ - m_maincpu->set_vblank_int("screen", FUNC(taitof2_state::taitof2_interrupt)); + m_maincpu->set_vblank_int("screen", FUNC(taitof2_state::interrupt)); Z80(config, m_audiocpu, 24000000/6); /* 4 MHz */ m_audiocpu->set_addrmap(AS_PROGRAM, &taitof2_state::sound_map); - MCFG_MACHINE_START_OVERRIDE(taitof2_state,f2) - WATCHDOG_TIMER(config, "watchdog"); /* video hardware */ @@ -2867,15 +2844,13 @@ void taitof2_state::taito_f2(machine_config &config) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); /* frames per second, vblank duration */ m_screen->set_size(40*8, 32*8); m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1); - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2)); + m_screen->set_screen_update(FUNC(taitof2_state::screen_update)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_no_buffer)); m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_taitof2); PALETTE(config, m_palette).set_format(palette_device::RGBx_444, 4096); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_default) - /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); @@ -2932,7 +2907,7 @@ void taitof2_state::taito_f2_te7750(machine_config &config) te7750.in_port1_cb().set_ioport("DSWA"); te7750.in_port2_cb().set_ioport("DSWB"); te7750.in_port3_cb().set_ioport("IN2"); - te7750.out_port4_cb().set(FUNC(taitof2_state::taitof2_4p_coin_word_w)); + te7750.out_port4_cb().set(FUNC(taitof2_state::_4p_coin_word_w)); te7750.in_port6_cb().set_ioport("IN0"); te7750.in_port7_cb().set_ioport("IN1"); te7750.in_port8_cb().set_ioport("IN3"); @@ -2957,14 +2932,14 @@ void taitof2_state::finalb(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_finalb); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_finalb) + MCFG_VIDEO_START_OVERRIDE(taitof2_state,finalb) m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(1, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_tc0110pcr); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(1, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_tc0110pcr); } void taitof2_state::dondokod(machine_config &config) @@ -2976,15 +2951,15 @@ void taitof2_state::dondokod(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_pivot); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod) + MCFG_VIDEO_START_OVERRIDE(taitof2_state,dondokod) m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed)); - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri_roz)); + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri_roz)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0280GRD(config, m_tc0280grd, 0); m_tc0280grd->set_gfx_region(2); @@ -3007,14 +2982,14 @@ void taitof2_state::megab(machine_config &config) TIMER(config, "cchip_irq_clear").configure_generic(FUNC(taitof2_state::cchip_irq_clear_cb)); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_megab) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,megab) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3027,28 +3002,28 @@ void taitof2_state::thundfox(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::thundfox_map); /* video hardware */ - m_gfxdecode->set_info(gfx_thundfox); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_thundfox) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_thundfox)); + m_gfxdecode->set_info(gfx_pivot); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,thundfox) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_thundfox)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed_thundfox)); - TC0100SCN(config, m_tc0100scn_1, 0); - m_tc0100scn_1->set_gfx_region(1); - m_tc0100scn_1->set_offsets(3, 0); - m_tc0100scn_1->set_offsets_flip(5, 0); - m_tc0100scn_1->set_offsets_fliptx(4, 1); - m_tc0100scn_1->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn_1->set_palette(m_palette); - - TC0100SCN(config, m_tc0100scn_2, 0); - m_tc0100scn_2->set_gfx_region(2); - m_tc0100scn_2->set_offsets(3, 0); - m_tc0100scn_2->set_offsets_flip(5, 0); - m_tc0100scn_2->set_offsets_fliptx(4, 1); - m_tc0100scn_2->set_multiscr_xoffs(tc0100scn_device::SINGLE_VDU); - m_tc0100scn_2->set_multiscr_hack(1); - m_tc0100scn_2->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn_2->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_offsets_flip(5, 0); + m_tc0100scn[0]->set_offsets_fliptx(4, 1); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); + + TC0100SCN(config, m_tc0100scn[1], 0); + m_tc0100scn[1]->set_gfx_region(2); + m_tc0100scn[1]->set_offsets(3, 0); + m_tc0100scn[1]->set_offsets_flip(5, 0); + m_tc0100scn[1]->set_offsets_fliptx(4, 1); + m_tc0100scn[1]->set_multiscr_xoffs(tc0100scn_device::SINGLE_VDU); + m_tc0100scn[1]->set_multiscr_hack(1); + m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[1]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3062,14 +3037,14 @@ void taitof2_state::cameltry(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_pivot); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri_roz)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,dondokod) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri_roz)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0280GRD(config, m_tc0280grd, 0); m_tc0280grd->set_gfx_region(2); @@ -3091,10 +3066,10 @@ void taitof2_state::qtorimon(machine_config &config) m_gfxdecode->set_info(gfx_yuyugogo); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_tc0110pcr); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_tc0110pcr); } void taitof2_state::liquidk(machine_config &config) @@ -3105,15 +3080,15 @@ void taitof2_state::liquidk(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::liquidk_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_megab) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,megab) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3131,10 +3106,10 @@ void taitof2_state::quizhq(machine_config &config) m_gfxdecode->set_info(gfx_yuyugogo); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_tc0110pcr); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_tc0110pcr); } void taitof2_state::ssi(machine_config &config) @@ -3147,15 +3122,15 @@ void taitof2_state::ssi(machine_config &config) m_palette->set_format(palette_device::RGBx_444, 4096); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_ssi) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_ssi)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,ssi) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_ssi)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed_thundfox)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); } void taitof2_state::gunfront(machine_config &config) @@ -3168,15 +3143,15 @@ void taitof2_state::gunfront(machine_config &config) m_palette->set_format(palette_device::RGBx_444, 4096); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_gunfront) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,gunfront) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3189,16 +3164,16 @@ void taitof2_state::growl(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::growl_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_growl) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,growl) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3213,13 +3188,13 @@ void taitof2_state::mjnquest(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::mjnquest_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_mjnquest) + MCFG_VIDEO_START_OVERRIDE(taitof2_state,mjnquest) - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_tc0110pcr); - m_tc0100scn->set_tile_callback(FUNC(taitof2_state::mjnquest_tmap_cb), this); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_tc0110pcr); + m_tc0100scn[0]->set_tile_callback(FUNC(taitof2_state::mjnquest_tmap_cb), this); } void taitof2_state::footchmp(machine_config &config) @@ -3231,8 +3206,8 @@ void taitof2_state::footchmp(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_deadconx); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_footchmp) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_deadconx)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,footchmp) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_deadconx)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_full_buffer_delayed)); TC0480SCP(config, m_tc0480scp, 0); @@ -3263,8 +3238,8 @@ void taitof2_state::hthero(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_deadconx); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_hthero) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_deadconx)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,hthero) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_deadconx)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_full_buffer_delayed)); TC0360PRI(config, m_tc0360pri, 0); @@ -3286,17 +3261,17 @@ void taitof2_state::koshien(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::koshien_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_koshien) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,koshien) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(1, 0); - m_tc0100scn->set_offsets_flip(2, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(1, 0); + m_tc0100scn[0]->set_offsets_flip(2, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3312,14 +3287,14 @@ void taitof2_state::yuyugogo(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_yuyugogo); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yuyugogo) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_yesnoj)); - - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,yuyugogo) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_yesnoj)); + + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); } void taitof2_state::ninjak(machine_config &config) @@ -3337,17 +3312,17 @@ void taitof2_state::ninjak(machine_config &config) te7750.in_port5_cb().set_ioport("IN3"); te7750.in_port6_cb().set_ioport("IN4"); te7750.in_port7_cb().set_ioport("IN2"); - te7750.out_port8_cb().set(FUNC(taitof2_state::taitof2_4p_coin_word_w)); + te7750.out_port8_cb().set(FUNC(taitof2_state::_4p_coin_word_w)); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_ninjak) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,ninjak) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(1, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(1, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3360,16 +3335,16 @@ void taitof2_state::solfigtr(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::solfigtr_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_solfigtr) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,solfigtr) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_offsets_flip(6, 0); - m_tc0100scn->set_offsets_fliptx(6, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_offsets_flip(6, 0); + m_tc0100scn[0]->set_offsets_fliptx(6, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3384,10 +3359,10 @@ void taitof2_state::qzquest(machine_config &config) /* video hardware */ m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); } void taitof2_state::pulirula(machine_config &config) @@ -3399,14 +3374,14 @@ void taitof2_state::pulirula(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_pivot); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_pulirula) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri_roz)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,pulirula) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri_roz)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0430GRW(config, m_tc0430grw, 0); m_tc0430grw->set_gfx_region(2); @@ -3426,8 +3401,8 @@ void taitof2_state::metalb(machine_config &config) m_gfxdecode->set_info(gfx_deadconx); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 8192); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_metalb) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_metalb)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,metalb) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_metalb)); TC0480SCP(config, m_tc0480scp, 0); m_tc0480scp->set_gfx_region(1); @@ -3449,16 +3424,16 @@ void taitof2_state::qzchikyu(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::qzchikyu_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_qzchikyu) + MCFG_VIDEO_START_OVERRIDE(taitof2_state,qzchikyu) m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_partial_buffer_delayed_qzchikyu)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(0, 0); - m_tc0100scn->set_offsets_flip(-4, 0); - m_tc0100scn->set_offsets_fliptx(-11, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(0, 0); + m_tc0100scn[0]->set_offsets_flip(-4, 0); + m_tc0100scn[0]->set_offsets_fliptx(-11, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); } void taitof2_state::yesnoj(machine_config &config) @@ -3472,14 +3447,14 @@ void taitof2_state::yesnoj(machine_config &config) m_gfxdecode->set_info(gfx_yuyugogo); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_yesnoj) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_yesnoj)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,yesnoj) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_yesnoj)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC8521(config, "rtc", XTAL(32'768)); } @@ -3495,8 +3470,8 @@ void taitof2_state::deadconx(machine_config &config) m_gfxdecode->set_info(gfx_deadconx); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconx) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_deadconx)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,deadconx) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_deadconx)); TC0480SCP(config, m_tc0480scp, 0); m_tc0480scp->set_gfx_region(1); @@ -3518,8 +3493,8 @@ void taitof2_state::deadconxj(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_deadconx); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_deadconxj) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_deadconx)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,deadconxj) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_deadconx)); TC0480SCP(config, m_tc0480scp, 0); m_tc0480scp->set_gfx_region(1); @@ -3540,16 +3515,16 @@ void taitof2_state::dinorex(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::dinorex_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dinorex) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,dinorex) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3562,16 +3537,16 @@ void taitof2_state::qjinsei(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::qjinsei_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,quiz) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3584,16 +3559,16 @@ void taitof2_state::qcrayon(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::qcrayon_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,quiz) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3606,16 +3581,16 @@ void taitof2_state::qcrayon2(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::qcrayon2_map); /* video hardware */ - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_quiz) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,quiz) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri)); m_palette->set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0360PRI(config, m_tc0360pri, 0); } @@ -3630,14 +3605,14 @@ void taitof2_state::driftout(machine_config &config) /* video hardware */ m_gfxdecode->set_info(gfx_pivot); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout) - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri_roz)); + MCFG_VIDEO_START_OVERRIDE(taitof2_state,driftout) + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri_roz)); - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0430GRW(config, m_tc0430grw, 0); m_tc0430grw->set_gfx_region(2); @@ -3651,13 +3626,11 @@ void taitof2_state::cameltrya(machine_config &config) /* basic machine hardware */ M68000(config, m_maincpu,24000000/2); /* verified on pcb */ m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::cameltrya_map); - m_maincpu->set_vblank_int("screen", FUNC(taitof2_state::taitof2_interrupt)); + m_maincpu->set_vblank_int("screen", FUNC(taitof2_state::interrupt)); Z80(config, m_audiocpu, 24000000/4); /* verifed on pcb */ m_audiocpu->set_addrmap(AS_PROGRAM, &taitof2_state::cameltrya_sound_map); - MCFG_MACHINE_START_OVERRIDE(taitof2_state,common) - TC0220IOC(config, m_tc0220ioc, 0); m_tc0220ioc->read_0_callback().set_ioport("DSWA"); m_tc0220ioc->read_1_callback().set_ioport("DSWB"); @@ -3672,20 +3645,20 @@ void taitof2_state::cameltrya(machine_config &config) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); m_screen->set_size(40*8, 32*8); m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1); - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri_roz)); + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri_roz)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_no_buffer)); m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_pivot); PALETTE(config, m_palette).set_format(palette_device::RGBx_444, 4096); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_dondokod) + MCFG_VIDEO_START_OVERRIDE(taitof2_state,dondokod) - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0280GRD(config, m_tc0280grd, 0); m_tc0280grd->set_gfx_region(2); @@ -3717,13 +3690,11 @@ void taitof2_state::driveout(machine_config &config) /* basic machine hardware */ M68000(config, m_maincpu, 24000000/2); /* 12 MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::driveout_map); - m_maincpu->set_vblank_int("screen", FUNC(taitof2_state::taitof2_interrupt)); + m_maincpu->set_vblank_int("screen", FUNC(taitof2_state::interrupt)); Z80(config, m_audiocpu, 24000000/6); /* 4 MHz */ m_audiocpu->set_addrmap(AS_PROGRAM, &taitof2_state::driveout_sound_map); - MCFG_MACHINE_START_OVERRIDE(taitof2_state,common) - TC0510NIO(config, m_tc0510nio, 0); m_tc0510nio->read_0_callback().set_ioport("DSWA"); m_tc0510nio->read_1_callback().set_ioport("DSWB"); @@ -3738,20 +3709,20 @@ void taitof2_state::driveout(machine_config &config) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); m_screen->set_size(40*8, 32*8); m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1); - m_screen->set_screen_update(FUNC(taitof2_state::screen_update_taitof2_pri_roz)); + m_screen->set_screen_update(FUNC(taitof2_state::screen_update_pri_roz)); m_screen->screen_vblank().set(FUNC(taitof2_state::screen_vblank_no_buffer)); m_screen->set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_pivot); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 4096); - MCFG_VIDEO_START_OVERRIDE(taitof2_state,taitof2_driftout) + MCFG_VIDEO_START_OVERRIDE(taitof2_state,driftout) - TC0100SCN(config, m_tc0100scn, 0); - m_tc0100scn->set_gfx_region(1); - m_tc0100scn->set_offsets(3, 0); - m_tc0100scn->set_gfxdecode_tag(m_gfxdecode); - m_tc0100scn->set_palette(m_palette); + TC0100SCN(config, m_tc0100scn[0], 0); + m_tc0100scn[0]->set_gfx_region(1); + m_tc0100scn[0]->set_offsets(3, 0); + m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode); + m_tc0100scn[0]->set_palette(m_palette); TC0430GRW(config, m_tc0430grw, 0); m_tc0430grw->set_gfx_region(2); @@ -3783,8 +3754,8 @@ ROM_START( finalb ) ROM_LOAD16_BYTE( "b82-17.11", 0x00001, 0x20000, CRC(e91b2ec9) SHA1(c854104b8d48d20ab9278ecd122c987c3d886a26) ) ROM_REGION( 0x040000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "b82-06.19", 0x00000, 0x20000, CRC(fc450a25) SHA1(6929bd2d47549cab037e8807b778741b3c215788) ) - ROM_LOAD16_BYTE( "b82-07.18", 0x00001, 0x20000, CRC(ec3df577) SHA1(37a0bb87a12f0332c8e67b22f91c24584f3d46ce) ) + ROM_LOAD16_BYTE( "b82-06.19", 0x00001, 0x20000, CRC(fc450a25) SHA1(6929bd2d47549cab037e8807b778741b3c215788) ) + ROM_LOAD16_BYTE( "b82-07.18", 0x00000, 0x20000, CRC(ec3df577) SHA1(37a0bb87a12f0332c8e67b22f91c24584f3d46ce) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ ROM_LOAD16_BYTE( "b82-04.4", 0x000000, 0x80000, CRC(6346f98e) SHA1(3fac5ea56b5ae280cd7ca0e0c6c308376056e1ba) ) /* sprites 4-bit format*/ @@ -3797,9 +3768,8 @@ ROM_START( finalb ) ROM_LOAD( "b82-05.3", 0x180000, 0x80000, CRC(aa90b93a) SHA1(06f41052659959c58d72c9f68f9f6069cb835672) ) /* sprites 2-bit format */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "b82_10.16", 0x00000, 0x04000, CRC(a38aaaed) SHA1(d476ea516a797e71e0306da54c17ed1759fe1ccd) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "b82_10.16", 0x00000, 0x10000, CRC(a38aaaed) SHA1(d476ea516a797e71e0306da54c17ed1759fe1ccd) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "b82-02.1", 0x00000, 0x80000, CRC(5dd06bdd) SHA1(6eeaec6743805ba429b0ef58a530bc0740646324) ) @@ -3821,8 +3791,8 @@ ROM_START( finalbj ) ROM_LOAD16_BYTE( "b82-08.11", 0x00001, 0x20000, CRC(07154fe5) SHA1(4772362375c8c2984a305c3bb0320ea80a2e9a40) ) ROM_REGION( 0x040000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "b82-06.19", 0x00000, 0x20000, CRC(fc450a25) SHA1(6929bd2d47549cab037e8807b778741b3c215788) ) - ROM_LOAD16_BYTE( "b82-07.18", 0x00001, 0x20000, CRC(ec3df577) SHA1(37a0bb87a12f0332c8e67b22f91c24584f3d46ce) ) + ROM_LOAD16_BYTE( "b82-06.19", 0x00001, 0x20000, CRC(fc450a25) SHA1(6929bd2d47549cab037e8807b778741b3c215788) ) + ROM_LOAD16_BYTE( "b82-07.18", 0x00000, 0x20000, CRC(ec3df577) SHA1(37a0bb87a12f0332c8e67b22f91c24584f3d46ce) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ ROM_LOAD16_BYTE( "b82-04.4", 0x000000, 0x80000, CRC(6346f98e) SHA1(3fac5ea56b5ae280cd7ca0e0c6c308376056e1ba) ) /* sprites 4-bit format*/ @@ -3835,9 +3805,8 @@ ROM_START( finalbj ) ROM_LOAD( "b82-05.3", 0x180000, 0x80000, CRC(aa90b93a) SHA1(06f41052659959c58d72c9f68f9f6069cb835672) ) /* sprites 2-bit format */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "b82_10.16", 0x00000, 0x04000, CRC(a38aaaed) SHA1(d476ea516a797e71e0306da54c17ed1759fe1ccd) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "b82_10.16", 0x00000, 0x10000, CRC(a38aaaed) SHA1(d476ea516a797e71e0306da54c17ed1759fe1ccd) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "b82-02.1", 0x00000, 0x80000, CRC(5dd06bdd) SHA1(6eeaec6743805ba429b0ef58a530bc0740646324) ) @@ -3860,8 +3829,8 @@ ROM_START( finalbu ) ROM_LOAD16_BYTE( "b82-6-14", 0x00001, 0x20000, CRC(879387fa) SHA1(9d7aa8ece6cfc66e7c131d9c7a3db792a0336e09) ) ROM_REGION( 0x040000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "b82-06.19", 0x00000, 0x20000, CRC(fc450a25) SHA1(6929bd2d47549cab037e8807b778741b3c215788) ) - ROM_LOAD16_BYTE( "b82-07.18", 0x00001, 0x20000, CRC(ec3df577) SHA1(37a0bb87a12f0332c8e67b22f91c24584f3d46ce) ) + ROM_LOAD16_BYTE( "b82-06.19", 0x00001, 0x20000, CRC(fc450a25) SHA1(6929bd2d47549cab037e8807b778741b3c215788) ) + ROM_LOAD16_BYTE( "b82-07.18", 0x00000, 0x20000, CRC(ec3df577) SHA1(37a0bb87a12f0332c8e67b22f91c24584f3d46ce) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ ROM_LOAD16_BYTE( "b82-04.4", 0x000000, 0x80000, CRC(6346f98e) SHA1(3fac5ea56b5ae280cd7ca0e0c6c308376056e1ba) ) /* sprites 4-bit format*/ @@ -3874,9 +3843,8 @@ ROM_START( finalbu ) ROM_LOAD( "b82-05.3", 0x180000, 0x80000, CRC(aa90b93a) SHA1(06f41052659959c58d72c9f68f9f6069cb835672) ) /* sprites 2-bit format */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "b82_10.16", 0x00000, 0x04000, CRC(a38aaaed) SHA1(d476ea516a797e71e0306da54c17ed1759fe1ccd) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "b82_10.16", 0x00000, 0x10000, CRC(a38aaaed) SHA1(d476ea516a797e71e0306da54c17ed1759fe1ccd) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "b82-02.1", 0x00000, 0x80000, CRC(5dd06bdd) SHA1(6eeaec6743805ba429b0ef58a530bc0740646324) ) @@ -3900,17 +3868,16 @@ ROM_START( dondokod ) ROM_LOAD16_BYTE( "b95-14.bin", 0x40001, 0x20000, CRC(6e4e1351) SHA1(207db5f08904d36c1d27cf326eb9260771a836c2) ) // needs name verfied ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "b95-02.bin", 0x00000, 0x80000, CRC(67b4e979) SHA1(e709cc24e001bccde1178f7e645fc7aec442540c) ) + ROM_LOAD16_WORD_SWAP( "b95-02.bin", 0x00000, 0x80000, CRC(67b4e979) SHA1(e709cc24e001bccde1178f7e645fc7aec442540c) ) ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "b95-01.bin", 0x00000, 0x80000, CRC(51c176ce) SHA1(2866e8bd57b301a0d4690f194be95784c53f9fcb) ) + ROM_LOAD16_WORD_SWAP( "b95-01.bin", 0x00000, 0x80000, CRC(51c176ce) SHA1(2866e8bd57b301a0d4690f194be95784c53f9fcb) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "b95-03.bin", 0x00000, 0x80000, CRC(543aa0d1) SHA1(38282ae36a94cc3a354d343cf7d5262e0e309d1f) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "b95-08.bin", 0x00000, 0x04000, CRC(b5aa49e1) SHA1(83b0a3434e0d0b9aa581c1acdd0c70308362b923) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "b95-08.bin", 0x00000, 0x10000, CRC(b5aa49e1) SHA1(83b0a3434e0d0b9aa581c1acdd0c70308362b923) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "b95-04.bin", 0x00000, 0x80000, CRC(ac4c1716) SHA1(06a9def7fa3bd739438f4a1d7b55f70eb904bf54) ) @@ -3926,17 +3893,16 @@ ROM_START( dondokodu ) ROM_LOAD16_BYTE( "b95-13.bin", 0x40001, 0x20000, CRC(350d2c65) SHA1(60e8651256867648a24719e1bbd1367e89784e30) ) // needs name verfied ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "b95-02.bin", 0x00000, 0x80000, CRC(67b4e979) SHA1(e709cc24e001bccde1178f7e645fc7aec442540c) ) + ROM_LOAD16_WORD_SWAP( "b95-02.bin", 0x00000, 0x80000, CRC(67b4e979) SHA1(e709cc24e001bccde1178f7e645fc7aec442540c) ) ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "b95-01.bin", 0x00000, 0x80000, CRC(51c176ce) SHA1(2866e8bd57b301a0d4690f194be95784c53f9fcb) ) + ROM_LOAD16_WORD_SWAP( "b95-01.bin", 0x00000, 0x80000, CRC(51c176ce) SHA1(2866e8bd57b301a0d4690f194be95784c53f9fcb) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "b95-03.bin", 0x00000, 0x80000, CRC(543aa0d1) SHA1(38282ae36a94cc3a354d343cf7d5262e0e309d1f) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "b95-08.bin", 0x00000, 0x04000, CRC(b5aa49e1) SHA1(83b0a3434e0d0b9aa581c1acdd0c70308362b923) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "b95-08.bin", 0x00000, 0x10000, CRC(b5aa49e1) SHA1(83b0a3434e0d0b9aa581c1acdd0c70308362b923) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "b95-04.bin", 0x00000, 0x80000, CRC(ac4c1716) SHA1(06a9def7fa3bd739438f4a1d7b55f70eb904bf54) ) @@ -3952,17 +3918,16 @@ ROM_START( dondokodj ) ROM_LOAD16_BYTE( "b95-09.bin", 0x40001, 0x20000, CRC(d8c86d39) SHA1(43a6a9d545c953e72b6a10bc9d7b2aa2f0ab4764) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "b95-02.bin", 0x00000, 0x80000, CRC(67b4e979) SHA1(e709cc24e001bccde1178f7e645fc7aec442540c) ) + ROM_LOAD16_WORD_SWAP( "b95-02.bin", 0x00000, 0x80000, CRC(67b4e979) SHA1(e709cc24e001bccde1178f7e645fc7aec442540c) ) ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "b95-01.bin", 0x00000, 0x80000, CRC(51c176ce) SHA1(2866e8bd57b301a0d4690f194be95784c53f9fcb) ) + ROM_LOAD16_WORD_SWAP( "b95-01.bin", 0x00000, 0x80000, CRC(51c176ce) SHA1(2866e8bd57b301a0d4690f194be95784c53f9fcb) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "b95-03.bin", 0x00000, 0x80000, CRC(543aa0d1) SHA1(38282ae36a94cc3a354d343cf7d5262e0e309d1f) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "b95-08.bin", 0x00000, 0x04000, CRC(b5aa49e1) SHA1(83b0a3434e0d0b9aa581c1acdd0c70308362b923) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "b95-08.bin", 0x00000, 0x10000, CRC(b5aa49e1) SHA1(83b0a3434e0d0b9aa581c1acdd0c70308362b923) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "b95-04.bin", 0x00000, 0x80000, CRC(ac4c1716) SHA1(06a9def7fa3bd739438f4a1d7b55f70eb904bf54) ) @@ -3981,15 +3946,14 @@ ROM_START( megablst ) ROM_LOAD( "c11-15.ic59", 0x0000, 0x2000, CRC(af49ee7f) SHA1(824d7ed371c19f31768b20117027edba6ffc890e) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c11-05.58", 0x00000, 0x80000, CRC(733e6d8e) SHA1(47f3360f7c41b7e4a42e8198fc1bcce4e819181f) ) + ROM_LOAD16_WORD_SWAP( "c11-05.58", 0x00000, 0x80000, CRC(733e6d8e) SHA1(47f3360f7c41b7e4a42e8198fc1bcce4e819181f) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c11-03.32", 0x00000, 0x80000, CRC(46718c7a) SHA1(c10308a282bf0c618108e4afc7ce6f0f6cb8c6c0) ) - ROM_LOAD16_BYTE( "c11-04.31", 0x00001, 0x80000, CRC(663f33cc) SHA1(5d3d3e77b7a84f6a3d4e744eef9b63bef91180e8) ) + ROM_LOAD16_BYTE( "c11-03.32", 0x00001, 0x80000, CRC(46718c7a) SHA1(c10308a282bf0c618108e4afc7ce6f0f6cb8c6c0) ) + ROM_LOAD16_BYTE( "c11-04.31", 0x00000, 0x80000, CRC(663f33cc) SHA1(5d3d3e77b7a84f6a3d4e744eef9b63bef91180e8) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c11-12.3", 0x00000, 0x04000, CRC(b11094f1) SHA1(a01e9f7d1f616bb379eaa85ad81b94173b067782) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c11-12.3", 0x00000, 0x10000, CRC(b11094f1) SHA1(a01e9f7d1f616bb379eaa85ad81b94173b067782) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c11-01.29", 0x00000, 0x80000, CRC(fd1ea532) SHA1(481698b747a421a17bfb8cef96065712d4f3997f) ) @@ -4017,15 +3981,14 @@ ROM_START( megablstu ) ROM_LOAD( "c11-15.ic59", 0x0000, 0x2000, CRC(af49ee7f) SHA1(824d7ed371c19f31768b20117027edba6ffc890e) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c11-05.58", 0x00000, 0x80000, CRC(733e6d8e) SHA1(47f3360f7c41b7e4a42e8198fc1bcce4e819181f) ) + ROM_LOAD16_WORD_SWAP( "c11-05.58", 0x00000, 0x80000, CRC(733e6d8e) SHA1(47f3360f7c41b7e4a42e8198fc1bcce4e819181f) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c11-03.32", 0x00000, 0x80000, CRC(46718c7a) SHA1(c10308a282bf0c618108e4afc7ce6f0f6cb8c6c0) ) - ROM_LOAD16_BYTE( "c11-04.31", 0x00001, 0x80000, CRC(663f33cc) SHA1(5d3d3e77b7a84f6a3d4e744eef9b63bef91180e8) ) + ROM_LOAD16_BYTE( "c11-03.32", 0x00001, 0x80000, CRC(46718c7a) SHA1(c10308a282bf0c618108e4afc7ce6f0f6cb8c6c0) ) + ROM_LOAD16_BYTE( "c11-04.31", 0x00000, 0x80000, CRC(663f33cc) SHA1(5d3d3e77b7a84f6a3d4e744eef9b63bef91180e8) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c11-12.3", 0x00000, 0x04000, CRC(b11094f1) SHA1(a01e9f7d1f616bb379eaa85ad81b94173b067782) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c11-12.3", 0x00000, 0x10000, CRC(b11094f1) SHA1(a01e9f7d1f616bb379eaa85ad81b94173b067782) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c11-01.29", 0x00000, 0x80000, CRC(fd1ea532) SHA1(481698b747a421a17bfb8cef96065712d4f3997f) ) @@ -4045,15 +4008,14 @@ ROM_START( megablstj ) ROM_LOAD( "c11-15.ic59", 0x0000, 0x2000, CRC(af49ee7f) SHA1(824d7ed371c19f31768b20117027edba6ffc890e) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c11-05.58", 0x00000, 0x80000, CRC(733e6d8e) SHA1(47f3360f7c41b7e4a42e8198fc1bcce4e819181f) ) + ROM_LOAD16_WORD_SWAP( "c11-05.58", 0x00000, 0x80000, CRC(733e6d8e) SHA1(47f3360f7c41b7e4a42e8198fc1bcce4e819181f) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c11-03.32", 0x00000, 0x80000, CRC(46718c7a) SHA1(c10308a282bf0c618108e4afc7ce6f0f6cb8c6c0) ) - ROM_LOAD16_BYTE( "c11-04.31", 0x00001, 0x80000, CRC(663f33cc) SHA1(5d3d3e77b7a84f6a3d4e744eef9b63bef91180e8) ) + ROM_LOAD16_BYTE( "c11-03.32", 0x00001, 0x80000, CRC(46718c7a) SHA1(c10308a282bf0c618108e4afc7ce6f0f6cb8c6c0) ) + ROM_LOAD16_BYTE( "c11-04.31", 0x00000, 0x80000, CRC(663f33cc) SHA1(5d3d3e77b7a84f6a3d4e744eef9b63bef91180e8) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c11-12.3", 0x00000, 0x04000, CRC(b11094f1) SHA1(a01e9f7d1f616bb379eaa85ad81b94173b067782) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c11-12.3", 0x00000, 0x10000, CRC(b11094f1) SHA1(a01e9f7d1f616bb379eaa85ad81b94173b067782) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c11-01.29", 0x00000, 0x80000, CRC(fd1ea532) SHA1(481698b747a421a17bfb8cef96065712d4f3997f) ) @@ -4070,18 +4032,17 @@ ROM_START( thundfox ) /* Thunder Fox */ ROM_LOAD16_BYTE( "c28-07.39", 0x40001, 0x20000, CRC(24419abb) SHA1(7d3e70213ae04dd921fc1bce8abb385747c90a38) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c28-02.61", 0x000000, 0x80000, CRC(6230a09d) SHA1(780aff5d4511c5e08cbf78784b163d60358f9283) ) /* TC0100SCN #1 */ + ROM_LOAD16_WORD_SWAP( "c28-02.61", 0x000000, 0x80000, CRC(6230a09d) SHA1(780aff5d4511c5e08cbf78784b163d60358f9283) ) /* TC0100SCN #1 */ ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c28-03.29", 0x00000, 0x80000, CRC(51bdc7af) SHA1(e36a063932fa5bd6609930c3708fee1e6feb5389) ) - ROM_LOAD16_BYTE( "c28-04.28", 0x00001, 0x80000, CRC(ba7ed535) SHA1(be7e010f6788d1b82cebc932c793a0a976647832) ) + ROM_LOAD16_BYTE( "c28-03.29", 0x00001, 0x80000, CRC(51bdc7af) SHA1(e36a063932fa5bd6609930c3708fee1e6feb5389) ) + ROM_LOAD16_BYTE( "c28-04.28", 0x00000, 0x80000, CRC(ba7ed535) SHA1(be7e010f6788d1b82cebc932c793a0a976647832) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* SCR */ - ROM_LOAD( "c28-01.63", 0x000000, 0x80000, CRC(44552b25) SHA1(850c085e3dacd4867f6bcdfab641eb07934e620f) ) /* TC0100SCN #2 */ + ROM_LOAD16_WORD_SWAP( "c28-01.63", 0x000000, 0x80000, CRC(44552b25) SHA1(850c085e3dacd4867f6bcdfab641eb07934e620f) ) /* TC0100SCN #2 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c28-14.3", 0x00000, 0x04000, CRC(45ef3616) SHA1(97bf1de7fd32a378839df1845f7522dae776d997) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c28-14.3", 0x00000, 0x10000, CRC(45ef3616) SHA1(97bf1de7fd32a378839df1845f7522dae776d997) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c28-06.41", 0x00000, 0x80000, CRC(db6983db) SHA1(b72541aa35c48624478060e7453f01956ff1ceb2) ) @@ -4106,18 +4067,17 @@ ROM_START( thundfoxu ) /* Thunder Fox */ ROM_LOAD16_BYTE( "c28-07.39", 0x40001, 0x20000, CRC(24419abb) SHA1(7d3e70213ae04dd921fc1bce8abb385747c90a38) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c28-02.61", 0x000000, 0x80000, CRC(6230a09d) SHA1(780aff5d4511c5e08cbf78784b163d60358f9283) ) /* TC0100SCN #1 */ + ROM_LOAD16_WORD_SWAP( "c28-02.61", 0x000000, 0x80000, CRC(6230a09d) SHA1(780aff5d4511c5e08cbf78784b163d60358f9283) ) /* TC0100SCN #1 */ ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c28-03.29", 0x00000, 0x80000, CRC(51bdc7af) SHA1(e36a063932fa5bd6609930c3708fee1e6feb5389) ) - ROM_LOAD16_BYTE( "c28-04.28", 0x00001, 0x80000, CRC(ba7ed535) SHA1(be7e010f6788d1b82cebc932c793a0a976647832) ) + ROM_LOAD16_BYTE( "c28-03.29", 0x00001, 0x80000, CRC(51bdc7af) SHA1(e36a063932fa5bd6609930c3708fee1e6feb5389) ) + ROM_LOAD16_BYTE( "c28-04.28", 0x00000, 0x80000, CRC(ba7ed535) SHA1(be7e010f6788d1b82cebc932c793a0a976647832) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* SCR */ - ROM_LOAD( "c28-01.63", 0x000000, 0x80000, CRC(44552b25) SHA1(850c085e3dacd4867f6bcdfab641eb07934e620f) ) /* TC0100SCN #2 */ + ROM_LOAD16_WORD_SWAP( "c28-01.63", 0x000000, 0x80000, CRC(44552b25) SHA1(850c085e3dacd4867f6bcdfab641eb07934e620f) ) /* TC0100SCN #2 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c28-14.3", 0x00000, 0x04000, CRC(45ef3616) SHA1(97bf1de7fd32a378839df1845f7522dae776d997) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c28-14.3", 0x00000, 0x10000, CRC(45ef3616) SHA1(97bf1de7fd32a378839df1845f7522dae776d997) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c28-06.41", 0x00000, 0x80000, CRC(db6983db) SHA1(b72541aa35c48624478060e7453f01956ff1ceb2) ) @@ -4136,18 +4096,17 @@ ROM_START( thundfoxj ) /* Thunder Fox */ ROM_LOAD16_BYTE( "c28-07.39", 0x40001, 0x20000, CRC(24419abb) SHA1(7d3e70213ae04dd921fc1bce8abb385747c90a38) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c28-02.61", 0x000000, 0x80000, CRC(6230a09d) SHA1(780aff5d4511c5e08cbf78784b163d60358f9283) ) /* TC0100SCN #1 */ + ROM_LOAD16_WORD_SWAP( "c28-02.61", 0x000000, 0x80000, CRC(6230a09d) SHA1(780aff5d4511c5e08cbf78784b163d60358f9283) ) /* TC0100SCN #1 */ ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c28-03.29", 0x00000, 0x80000, CRC(51bdc7af) SHA1(e36a063932fa5bd6609930c3708fee1e6feb5389) ) - ROM_LOAD16_BYTE( "c28-04.28", 0x00001, 0x80000, CRC(ba7ed535) SHA1(be7e010f6788d1b82cebc932c793a0a976647832) ) + ROM_LOAD16_BYTE( "c28-03.29", 0x00001, 0x80000, CRC(51bdc7af) SHA1(e36a063932fa5bd6609930c3708fee1e6feb5389) ) + ROM_LOAD16_BYTE( "c28-04.28", 0x00000, 0x80000, CRC(ba7ed535) SHA1(be7e010f6788d1b82cebc932c793a0a976647832) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* SCR */ - ROM_LOAD( "c28-01.63", 0x000000, 0x80000, CRC(44552b25) SHA1(850c085e3dacd4867f6bcdfab641eb07934e620f) ) /* TC0100SCN #2 */ + ROM_LOAD16_WORD_SWAP( "c28-01.63", 0x000000, 0x80000, CRC(44552b25) SHA1(850c085e3dacd4867f6bcdfab641eb07934e620f) ) /* TC0100SCN #2 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c28-14.3", 0x00000, 0x04000, CRC(45ef3616) SHA1(97bf1de7fd32a378839df1845f7522dae776d997) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c28-14.3", 0x00000, 0x10000, CRC(45ef3616) SHA1(97bf1de7fd32a378839df1845f7522dae776d997) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c28-06.41", 0x00000, 0x80000, CRC(db6983db) SHA1(b72541aa35c48624478060e7453f01956ff1ceb2) ) @@ -4165,7 +4124,7 @@ ROM_START( cameltry ) /* empty! */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) + ROM_LOAD16_WORD_SWAP( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) @@ -4173,9 +4132,8 @@ ROM_START( cameltry ) ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) /* These are for a YM2610 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c38-08.bin", 0x00000, 0x04000, CRC(7ff78873) SHA1(6574f1c707b8911fa957dd057e1cddc7a1cea99b) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c38-08.bin", 0x00000, 0x10000, CRC(7ff78873) SHA1(6574f1c707b8911fa957dd057e1cddc7a1cea99b) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c38-03.bin", 0x000000, 0x020000, CRC(59fa59a7) SHA1(161f11b96a47c8431c33e300f6a509bf804309af) ) @@ -4191,7 +4149,7 @@ ROM_START( cameltryj ) /* empty! */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) + ROM_LOAD16_WORD_SWAP( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) @@ -4199,9 +4157,8 @@ ROM_START( cameltryj ) ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) /* These are for a YM2610 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c38-08.bin", 0x00000, 0x04000, CRC(7ff78873) SHA1(6574f1c707b8911fa957dd057e1cddc7a1cea99b) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c38-08.bin", 0x00000, 0x10000, CRC(7ff78873) SHA1(6574f1c707b8911fa957dd057e1cddc7a1cea99b) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c38-03.bin", 0x000000, 0x020000, CRC(59fa59a7) SHA1(161f11b96a47c8431c33e300f6a509bf804309af) ) @@ -4218,7 +4175,7 @@ ROM_START( cameltrya ) /* empty! */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) + ROM_LOAD16_WORD_SWAP( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) @@ -4226,7 +4183,7 @@ ROM_START( cameltrya ) ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) /* these are for a YM2203 and OKIM6295 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu (revised prog!?) */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu (revised prog!?) */ ROM_LOAD( "c38-15.bin", 0x00000, 0x10000, CRC(0e60faac) SHA1(cd124efb5127e5184c412c48b94c0d4a0b2ade64) ) ROM_REGION( 0x80000, "oki", 0 ) /* M6295 samples */ @@ -4242,7 +4199,7 @@ ROM_START( cameltryau ) /* empty! */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) + ROM_LOAD16_WORD_SWAP( "c38-01.bin", 0x00000, 0x80000, CRC(c170ff36) SHA1(6a19cc99847ed35ac8a8e9ba0e2e91bfac662203) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) @@ -4250,7 +4207,7 @@ ROM_START( cameltryau ) ROM_LOAD( "c38-02.bin", 0x00000, 0x20000, CRC(1a11714b) SHA1(419f5ec37161fd6b4ca962768e720adf541271d5) ) /* these are for a YM2203 and OKIM6295 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu (revised prog!?) */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu (revised prog!?) */ ROM_LOAD( "c38-15.bin", 0x00000, 0x10000, CRC(0e60faac) SHA1(cd124efb5127e5184c412c48b94c0d4a0b2ade64) ) ROM_REGION( 0x80000, "oki", 0 ) /* M6295 samples */ @@ -4268,12 +4225,11 @@ ROM_START( qtorimon ) /* Quiz Torimonochou */ /* empty! */ ROM_REGION( 0x040000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c41-02.bin", 0x00000, 0x20000, CRC(05dcd36d) SHA1(f32c5b40e0adad7991bac29ecffcd5dff330e118) ) - ROM_LOAD16_BYTE( "c41-01.bin", 0x00001, 0x20000, CRC(39ff043c) SHA1(a4b0c6763c43a7ad16e98a938ffbb8aef4882eac) ) + ROM_LOAD16_BYTE( "c41-02.bin", 0x00001, 0x20000, CRC(05dcd36d) SHA1(f32c5b40e0adad7991bac29ecffcd5dff330e118) ) + ROM_LOAD16_BYTE( "c41-01.bin", 0x00000, 0x20000, CRC(39ff043c) SHA1(a4b0c6763c43a7ad16e98a938ffbb8aef4882eac) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c41-06.bin", 0x00000, 0x04000, CRC(753a98d8) SHA1(a832a4789194a67a2201da4e4484ab08210e5ccc) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c41-06.bin", 0x00000, 0x10000, CRC(753a98d8) SHA1(a832a4789194a67a2201da4e4484ab08210e5ccc) ) ROM_REGION( 0x080000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c41-03.bin", 0x000000, 0x020000, CRC(b2c18e89) SHA1(32eca1721cd8f47e9a6dcb553208ddd0daa67f83) ) @@ -4289,15 +4245,14 @@ ROM_START( liquidk ) ROM_LOAD16_BYTE( "c49-12.ic46", 0x40001, 0x20000, CRC(cb16bad5) SHA1(900c28761200f261cb217f09f492895753ef16f7) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c49-03.ic76", 0x00000, 0x80000, CRC(c3364f9b) SHA1(3512a8c352df8b8f19590c859afb8fdec758eb91) ) + ROM_LOAD16_WORD_SWAP( "c49-03.ic76", 0x00000, 0x80000, CRC(c3364f9b) SHA1(3512a8c352df8b8f19590c859afb8fdec758eb91) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c49-01.ic54", 0x00000, 0x80000, CRC(67cc3163) SHA1(f898d52c136f07497ec6be214f016cbadc700055) ) - ROM_LOAD( "c49-02.ic53", 0x80000, 0x80000, CRC(d2400710) SHA1(082aa0336dbc066d8bb0dd6eb362340f49e87b67) ) + ROM_LOAD16_WORD_SWAP( "c49-01.ic54", 0x00000, 0x80000, CRC(67cc3163) SHA1(f898d52c136f07497ec6be214f016cbadc700055) ) + ROM_LOAD16_WORD_SWAP( "c49-02.ic53", 0x80000, 0x80000, CRC(d2400710) SHA1(082aa0336dbc066d8bb0dd6eb362340f49e87b67) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c49-08.ic32", 0x00000, 0x04000, CRC(413c310c) SHA1(cecb1c0c9fe3c8b744f95ce29009650a289107ab) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c49-08.ic32", 0x00000, 0x10000, CRC(413c310c) SHA1(cecb1c0c9fe3c8b744f95ce29009650a289107ab) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c49-04.ic33", 0x00000, 0x80000, CRC(474d45a4) SHA1(20cb818d753a185973098007e645f1aa75c5528d) ) @@ -4313,15 +4268,14 @@ ROM_START( liquidku ) ROM_LOAD16_BYTE( "c49-14.ic46", 0x40001, 0x20000, CRC(bc118a43) SHA1(eb306a753ab43e67eacb9d6eff1c14ec78de965f) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c49-03.ic76", 0x00000, 0x80000, CRC(c3364f9b) SHA1(3512a8c352df8b8f19590c859afb8fdec758eb91) ) + ROM_LOAD16_WORD_SWAP( "c49-03.ic76", 0x00000, 0x80000, CRC(c3364f9b) SHA1(3512a8c352df8b8f19590c859afb8fdec758eb91) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c49-01.ic54", 0x00000, 0x80000, CRC(67cc3163) SHA1(f898d52c136f07497ec6be214f016cbadc700055) ) - ROM_LOAD( "c49-02.ic53", 0x80000, 0x80000, CRC(d2400710) SHA1(082aa0336dbc066d8bb0dd6eb362340f49e87b67) ) + ROM_LOAD16_WORD_SWAP( "c49-01.ic54", 0x00000, 0x80000, CRC(67cc3163) SHA1(f898d52c136f07497ec6be214f016cbadc700055) ) + ROM_LOAD16_WORD_SWAP( "c49-02.ic53", 0x80000, 0x80000, CRC(d2400710) SHA1(082aa0336dbc066d8bb0dd6eb362340f49e87b67) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c49-08.ic32", 0x00000, 0x04000, CRC(413c310c) SHA1(cecb1c0c9fe3c8b744f95ce29009650a289107ab) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c49-08.ic32", 0x00000, 0x10000, CRC(413c310c) SHA1(cecb1c0c9fe3c8b744f95ce29009650a289107ab) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c49-04.ic33", 0x00000, 0x80000, CRC(474d45a4) SHA1(20cb818d753a185973098007e645f1aa75c5528d) ) @@ -4337,15 +4291,14 @@ ROM_START( mizubaku ) ROM_LOAD16_BYTE( "c49-13.ic46", 0x40001, 0x20000, CRC(2518dbf9) SHA1(c5975d3bfbfbb34b37b5da1d1cd2adf3491f9196) ) ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c49-03.ic76", 0x00000, 0x80000, CRC(c3364f9b) SHA1(3512a8c352df8b8f19590c859afb8fdec758eb91) ) + ROM_LOAD16_WORD_SWAP( "c49-03.ic76", 0x00000, 0x80000, CRC(c3364f9b) SHA1(3512a8c352df8b8f19590c859afb8fdec758eb91) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c49-01.ic54", 0x00000, 0x80000, CRC(67cc3163) SHA1(f898d52c136f07497ec6be214f016cbadc700055) ) - ROM_LOAD( "c49-02.ic53", 0x80000, 0x80000, CRC(d2400710) SHA1(082aa0336dbc066d8bb0dd6eb362340f49e87b67) ) + ROM_LOAD16_WORD_SWAP( "c49-01.ic54", 0x00000, 0x80000, CRC(67cc3163) SHA1(f898d52c136f07497ec6be214f016cbadc700055) ) + ROM_LOAD16_WORD_SWAP( "c49-02.ic53", 0x80000, 0x80000, CRC(d2400710) SHA1(082aa0336dbc066d8bb0dd6eb362340f49e87b67) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c49-08.ic32", 0x00000, 0x04000, CRC(413c310c) SHA1(cecb1c0c9fe3c8b744f95ce29009650a289107ab) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c49-08.ic32", 0x00000, 0x10000, CRC(413c310c) SHA1(cecb1c0c9fe3c8b744f95ce29009650a289107ab) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c49-04.ic33", 0x00000, 0x80000, CRC(474d45a4) SHA1(20cb818d753a185973098007e645f1aa75c5528d) ) @@ -4364,14 +4317,13 @@ ROM_START( quizhq ) /* Quiz HQ */ /* empty */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c53-03.bin", 0x00000, 0x20000, CRC(47596e70) SHA1(3a4612d9dd2e18a4f7f4c4ed38877071afc9c279) ) - ROM_LOAD16_BYTE( "c53-07.bin", 0x00001, 0x20000, CRC(4f9fa82f) SHA1(ccd1ac17d38a51492b3716bad83e67b282da8bf9) ) - ROM_LOAD16_BYTE( "c53-02.bin", 0x40000, 0x20000, CRC(d704c6f4) SHA1(9b1c47ec3abaff53d641488dece8c97438b2e809) ) - ROM_LOAD16_BYTE( "c53-06.bin", 0x40001, 0x20000, CRC(f77f63fc) SHA1(28a509786817e88c0a5821dd68791ebd30d994c2) ) + ROM_LOAD16_BYTE( "c53-03.bin", 0x00001, 0x20000, CRC(47596e70) SHA1(3a4612d9dd2e18a4f7f4c4ed38877071afc9c279) ) + ROM_LOAD16_BYTE( "c53-07.bin", 0x00000, 0x20000, CRC(4f9fa82f) SHA1(ccd1ac17d38a51492b3716bad83e67b282da8bf9) ) + ROM_LOAD16_BYTE( "c53-02.bin", 0x40001, 0x20000, CRC(d704c6f4) SHA1(9b1c47ec3abaff53d641488dece8c97438b2e809) ) + ROM_LOAD16_BYTE( "c53-06.bin", 0x40000, 0x20000, CRC(f77f63fc) SHA1(28a509786817e88c0a5821dd68791ebd30d994c2) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c53-08.bin", 0x00000, 0x04000, CRC(25187e81) SHA1(c549fbfff6963be93aaf349b240f15b1d578d1f1) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c53-08.bin", 0x00000, 0x10000, CRC(25187e81) SHA1(c549fbfff6963be93aaf349b240f15b1d578d1f1) ) ROM_REGION( 0x080000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c53-04.bin", 0x000000, 0x020000, CRC(99890ad4) SHA1(c9be9d21dc72059c39de81e1b73849cc77d6b95d) ) @@ -4388,11 +4340,10 @@ ROM_START( ssi ) /* empty! */ ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) + ROM_LOAD16_WORD_SWAP( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c64-09.13", 0x00000, 0x04000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c64-09.13", 0x00000, 0x10000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) ROM_REGION( 0x20000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c64-02.2", 0x00000, 0x20000, CRC(3cb0b907) SHA1(7cbe437fe584575a2f26a582095fd49665c7003e) ) @@ -4409,11 +4360,10 @@ ROM_START( ssia ) /* empty! */ ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) + ROM_LOAD16_WORD_SWAP( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c64-09.13", 0x00000, 0x04000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c64-09.13", 0x00000, 0x10000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) ROM_REGION( 0x20000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c64-02.2", 0x00000, 0x20000, CRC(3cb0b907) SHA1(7cbe437fe584575a2f26a582095fd49665c7003e) ) @@ -4430,11 +4380,10 @@ ROM_START( majest12u ) /* empty! */ ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) + ROM_LOAD16_WORD_SWAP( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c64-09.13", 0x00000, 0x04000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c64-09.13", 0x00000, 0x10000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) ROM_REGION( 0x20000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c64-02.2", 0x00000, 0x20000, CRC(3cb0b907) SHA1(7cbe437fe584575a2f26a582095fd49665c7003e) ) @@ -4453,11 +4402,10 @@ ROM_START( majest12j ) /* empty! */ ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) + ROM_LOAD16_WORD_SWAP( "c64-01.1", 0x000000, 0x100000, CRC(a1b4f486) SHA1(bdd6bf144e50fe7b1d4cf4504471a689669415a4) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c64-09.13", 0x00000, 0x04000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c64-09.13", 0x00000, 0x10000, CRC(88d7f65c) SHA1(d6383bf8fd035772fa3c57b26b727eefe1aadd93) ) ROM_REGION( 0x20000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c64-02.2", 0x00000, 0x20000, CRC(3cb0b907) SHA1(7cbe437fe584575a2f26a582095fd49665c7003e) ) @@ -4541,14 +4489,13 @@ ROM_START( gunfront ) ROM_LOAD16_BYTE( "c71-15.ic37", 0x80001, 0x20000, CRC(df3e00bb) SHA1(9fe2ece7289945692099eba92f02e5a97a4d148c) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c71-02.ic59", 0x000000, 0x100000, CRC(2a600c92) SHA1(38a08ade2c6fa005a402d04fabf87ff10236d4c6) ) + ROM_LOAD16_WORD_SWAP( "c71-02.ic59", 0x000000, 0x100000, CRC(2a600c92) SHA1(38a08ade2c6fa005a402d04fabf87ff10236d4c6) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c71-03.ic19", 0x000000, 0x100000, CRC(9133c605) SHA1(fa10c60cd4ca439a273c644bbf3810824a0ca523) ) + ROM_LOAD16_WORD_SWAP( "c71-03.ic19", 0x000000, 0x100000, CRC(9133c605) SHA1(fa10c60cd4ca439a273c644bbf3810824a0ca523) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c71-12.ic49", 0x00000, 0x04000, CRC(0038c7f8) SHA1(405def36e67949219b6f9394333278ec60ad5783) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c71-12.ic49", 0x00000, 0x10000, CRC(0038c7f8) SHA1(405def36e67949219b6f9394333278ec60ad5783) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c71-01.ic29", 0x000000, 0x100000, CRC(0e73105a) SHA1(c5c9743f68a43273e16f5e5179557f2392505a1e) ) @@ -4568,14 +4515,13 @@ ROM_START( gunfrontj ) ROM_LOAD16_BYTE( "c71-15.ic37", 0x80001, 0x20000, CRC(df3e00bb) SHA1(9fe2ece7289945692099eba92f02e5a97a4d148c) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c71-02.ic59", 0x000000, 0x100000, CRC(2a600c92) SHA1(38a08ade2c6fa005a402d04fabf87ff10236d4c6) ) + ROM_LOAD16_WORD_SWAP( "c71-02.ic59", 0x000000, 0x100000, CRC(2a600c92) SHA1(38a08ade2c6fa005a402d04fabf87ff10236d4c6) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c71-03.ic19", 0x000000, 0x100000, CRC(9133c605) SHA1(fa10c60cd4ca439a273c644bbf3810824a0ca523) ) + ROM_LOAD16_WORD_SWAP( "c71-03.ic19", 0x000000, 0x100000, CRC(9133c605) SHA1(fa10c60cd4ca439a273c644bbf3810824a0ca523) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c71-12.ic49", 0x00000, 0x04000, CRC(0038c7f8) SHA1(405def36e67949219b6f9394333278ec60ad5783) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c71-12.ic49", 0x00000, 0x10000, CRC(0038c7f8) SHA1(405def36e67949219b6f9394333278ec60ad5783) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c71-01.ic29", 0x000000, 0x100000, CRC(0e73105a) SHA1(c5c9743f68a43273e16f5e5179557f2392505a1e) ) @@ -4591,15 +4537,14 @@ ROM_START( growl ) ROM_LOAD16_BYTE( "c74-14.ic60", 0x80001, 0x40000, CRC(b6c24ec7) SHA1(da8ac05d12c12a58bf5185d723358a0d1a0fe71e) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) + ROM_LOAD16_WORD_SWAP( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) - ROM_LOAD( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) + ROM_LOAD16_WORD_SWAP( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) + ROM_LOAD16_WORD_SWAP( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c74-12.ic62", 0x00000, 0x04000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c74-12.ic62", 0x00000, 0x10000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c74-04.ic28", 0x000000, 0x100000, CRC(2d97edf2) SHA1(d3a995303facdad4f8e1fdda04eaaec4440ff371) ) @@ -4618,15 +4563,14 @@ ROM_START( growla ) ROM_LOAD16_BYTE( "c74-14.ic60", 0x80001, 0x40000, CRC(b6c24ec7) SHA1(da8ac05d12c12a58bf5185d723358a0d1a0fe71e) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) + ROM_LOAD16_WORD_SWAP( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) - ROM_LOAD( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) + ROM_LOAD16_WORD_SWAP( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) + ROM_LOAD16_WORD_SWAP( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c74-12.ic62", 0x00000, 0x04000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c74-12.ic62", 0x00000, 0x10000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c74-04.ic28", 0x000000, 0x100000, CRC(2d97edf2) SHA1(d3a995303facdad4f8e1fdda04eaaec4440ff371) ) @@ -4643,15 +4587,14 @@ ROM_START( growlu ) ROM_LOAD16_BYTE( "c74-13.ic60", 0x80001, 0x40000, CRC(c1c57e51) SHA1(f6ffc1acf3e5ff75e64facd7e28fd675eb065c7b) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) + ROM_LOAD16_WORD_SWAP( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) - ROM_LOAD( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) + ROM_LOAD16_WORD_SWAP( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) + ROM_LOAD16_WORD_SWAP( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c74-12.ic62", 0x00000, 0x04000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c74-12.ic62", 0x00000, 0x10000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c74-04.ic28", 0x000000, 0x100000, CRC(2d97edf2) SHA1(d3a995303facdad4f8e1fdda04eaaec4440ff371) ) @@ -4668,15 +4611,14 @@ ROM_START( runark ) ROM_LOAD16_BYTE( "c74-09.ic14", 0x80001, 0x40000, CRC(58cc2feb) SHA1(7dc314a56345be116731dbb65dfa9e508c156513) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) + ROM_LOAD16_WORD_SWAP( "c74-01.ic34", 0x000000, 0x100000, CRC(3434ce80) SHA1(ef363107fba6f5088ef9c85dd692b5c98be67f75) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) - ROM_LOAD( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) + ROM_LOAD16_WORD_SWAP( "c74-03.ic12", 0x000000, 0x100000, CRC(1a0d8951) SHA1(62af40f7ca651273d93fed5d55af24cf91331ec7) ) + ROM_LOAD16_WORD_SWAP( "c74-02.ic11", 0x100000, 0x100000, CRC(15a21506) SHA1(3d8f066e1226e030ce549959d5a8dd4506a0e0a2) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c74-12.ic62", 0x00000, 0x04000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c74-12.ic62", 0x00000, 0x10000, CRC(bb6ed668) SHA1(e8c3a15ccbc788ac57d42bd2cabcdb2db6305489) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c74-04.ic28", 0x000000, 0x100000, CRC(2d97edf2) SHA1(d3a995303facdad4f8e1fdda04eaaec4440ff371) ) @@ -4688,30 +4630,29 @@ ROM_END ROM_START( growlp ) ROM_REGION( 0x100000, "maincpu", 0 ) /* 1024k for 68000 code */ - ROM_LOAD16_BYTE( "growl_ic15_japan_0h_fb09.bin", 0x00000, 0x40000, CRC(3a9141dc) SHA1(5b0f6cd39a8964ba9a3fcca587565b37e45b24ac) ) - ROM_LOAD16_BYTE( "growl_ic13_japan_0l_a80a.bin", 0x00001, 0x40000, CRC(a8547fd6) SHA1(2c5cd70b23e03af80c6f72600dd5eef2c7b3724d) ) - ROM_LOAD16_BYTE( "growl_ic16_japan_1h_41bb.bin", 0x80000, 0x40000, CRC(64aa6f4b) SHA1(fd3f838cedee99d86a2ee5ff87f0381d164a2f90) ) + ROM_LOAD16_BYTE( "growl_ic15_japan_0h_fb09.bin", 0x00000, 0x40000, CRC(3a9141dc) SHA1(5b0f6cd39a8964ba9a3fcca587565b37e45b24ac) ) + ROM_LOAD16_BYTE( "growl_ic13_japan_0l_a80a.bin", 0x00001, 0x40000, CRC(a8547fd6) SHA1(2c5cd70b23e03af80c6f72600dd5eef2c7b3724d) ) + ROM_LOAD16_BYTE( "growl_ic16_japan_1h_41bb.bin", 0x80000, 0x40000, CRC(64aa6f4b) SHA1(fd3f838cedee99d86a2ee5ff87f0381d164a2f90) ) ROM_LOAD16_BYTE( "growl_ic14_europe_1l_726b.bin", 0x80001, 0x40000, CRC(c38bbb05) SHA1(a168f18ce903d9af295f475760f7209f6e0f8c82) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "growl_ic11_scro-0-l_a971.bin", 0x00000, 0x40000, CRC(769ddaab) SHA1(ab45547438998ccdf8cdb8123f6f9102008dd291) ) - ROM_LOAD16_BYTE( "growl_ic13_scro-0-0-h_2e7a.bin", 0x00001, 0x40000, CRC(4e220e34) SHA1(c0d69b178b3e2dd004295eee92311b387733228b) ) - ROM_LOAD16_BYTE( "growl_ic12_scro-1-l_026e.bin", 0x80000, 0x40000, CRC(486925b4) SHA1(7d804e45ab58a4b1a121438d354a4a294daa5177) ) - ROM_LOAD16_BYTE( "growl_ic14_scro-0-1-h_f0fa.bin", 0x80001, 0x40000, CRC(42c2a2d0) SHA1(638d563a3928b7b2e6dae7f8c607669116284899) ) + ROM_LOAD16_BYTE( "growl_ic11_scro-0-l_a971.bin", 0x00001, 0x40000, CRC(769ddaab) SHA1(ab45547438998ccdf8cdb8123f6f9102008dd291) ) + ROM_LOAD16_BYTE( "growl_ic13_scro-0-0-h_2e7a.bin", 0x00000, 0x40000, CRC(4e220e34) SHA1(c0d69b178b3e2dd004295eee92311b387733228b) ) + ROM_LOAD16_BYTE( "growl_ic12_scro-1-l_026e.bin", 0x80001, 0x40000, CRC(486925b4) SHA1(7d804e45ab58a4b1a121438d354a4a294daa5177) ) + ROM_LOAD16_BYTE( "growl_ic14_scro-0-1-h_f0fa.bin", 0x80000, 0x40000, CRC(42c2a2d0) SHA1(638d563a3928b7b2e6dae7f8c607669116284899) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "growl_ic17_obj0-0-l_90b9.bin", 0x000000, 0x40000, CRC(cd94025a) SHA1(0da7a0f213f9a9d7a420a9dcdd6d3db2e4b6a9ef) ) - ROM_LOAD16_BYTE( "growl_ic19_obj0-0-h_b652.bin", 0x000001, 0x40000, CRC(6838c1b0) SHA1(0355bff010ab94f9d566e6bd404bd3559c407a37) ) - ROM_LOAD16_BYTE( "growl_ic18_obj0-1-l_a299.bin", 0x080000, 0x40000, CRC(0ddf592e) SHA1(2b630143dd52da6068aace2c3a02c89432d45044) ) - ROM_LOAD16_BYTE( "growl_ic20_obj0-1-h_9f1a.bin", 0x080001, 0x40000, CRC(0f0407f1) SHA1(05e897445d501d93a0aba6bc9dae1598e651df8d) ) - ROM_LOAD16_BYTE( "growl_ic4_obj1-l_7d96.bin", 0x100000, 0x40000, CRC(bed51bd6) SHA1(1a35b5a511261b70b5a4aece665d0a0e6386af78) ) - ROM_LOAD16_BYTE( "growl_ic6_obj1-0-h_3a22.bin", 0x100001, 0x40000, CRC(5b696d20) SHA1(e01e2d150ad61cf1cdddfcfcec9dac0980a8f0d6) ) - ROM_LOAD16_BYTE( "growl_ic5_obj1-1-l_d34f.bin", 0x180000, 0x40000, CRC(f34d83ec) SHA1(7b032d2c004735aa4658143fe399b0a05ab85ec8) ) - ROM_LOAD16_BYTE( "growl_ic7_obj1-1-h_b5af.bin", 0x180001, 0x40000, CRC(e9fda1fa) SHA1(37d48d26c45aca6364d74656d597c2b1f8a5c685) ) - - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "growl_ic3_snd.bin", 0x00000, 0x04000, CRC(f75929e0) SHA1(2dc278f4253d76853bbc3af099784545cfac65ce) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_LOAD16_BYTE( "growl_ic17_obj0-0-l_90b9.bin", 0x000001, 0x40000, CRC(cd94025a) SHA1(0da7a0f213f9a9d7a420a9dcdd6d3db2e4b6a9ef) ) + ROM_LOAD16_BYTE( "growl_ic19_obj0-0-h_b652.bin", 0x000000, 0x40000, CRC(6838c1b0) SHA1(0355bff010ab94f9d566e6bd404bd3559c407a37) ) + ROM_LOAD16_BYTE( "growl_ic18_obj0-1-l_a299.bin", 0x080001, 0x40000, CRC(0ddf592e) SHA1(2b630143dd52da6068aace2c3a02c89432d45044) ) + ROM_LOAD16_BYTE( "growl_ic20_obj0-1-h_9f1a.bin", 0x080000, 0x40000, CRC(0f0407f1) SHA1(05e897445d501d93a0aba6bc9dae1598e651df8d) ) + ROM_LOAD16_BYTE( "growl_ic4_obj1-l_7d96.bin", 0x100001, 0x40000, CRC(bed51bd6) SHA1(1a35b5a511261b70b5a4aece665d0a0e6386af78) ) + ROM_LOAD16_BYTE( "growl_ic6_obj1-0-h_3a22.bin", 0x100000, 0x40000, CRC(5b696d20) SHA1(e01e2d150ad61cf1cdddfcfcec9dac0980a8f0d6) ) + ROM_LOAD16_BYTE( "growl_ic5_obj1-1-l_d34f.bin", 0x180001, 0x40000, CRC(f34d83ec) SHA1(7b032d2c004735aa4658143fe399b0a05ab85ec8) ) + ROM_LOAD16_BYTE( "growl_ic7_obj1-1-h_b5af.bin", 0x180000, 0x40000, CRC(e9fda1fa) SHA1(37d48d26c45aca6364d74656d597c2b1f8a5c685) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "growl_ic3_snd.bin", 0x00000, 0x10000, CRC(f75929e0) SHA1(2dc278f4253d76853bbc3af099784545cfac65ce) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "growl_ic23_ch-a-0_b5d9.bin", 0x00000, 0x40000, CRC(cc9ffbf8) SHA1(834892ce0d40d1b016d202144e683fe98ef374ac) ) @@ -4732,15 +4673,14 @@ ROM_START( mjnquest ) /* Mahjong Quest */ ROM_LOAD16_WORD_SWAP( "c77-04", 0x080000, 0x080000, CRC(c2e7e038) SHA1(6cf23bab587b34cbc1f78b8b82cbab5634b074dc) ) /* data rom */ ROM_REGION( 0x200000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c77-01", 0x000000, 0x100000, CRC(5ba51205) SHA1(da0b6f56e7d2437ad75ada1ba07e35843d2b4704) ) - ROM_LOAD( "c77-02", 0x100000, 0x100000, CRC(6a6f3040) SHA1(61c3ce51fa935f52572affa899bb81b3a616df3a) ) + ROM_LOAD16_WORD_SWAP( "c77-01", 0x000000, 0x100000, CRC(5ba51205) SHA1(da0b6f56e7d2437ad75ada1ba07e35843d2b4704) ) + ROM_LOAD16_WORD_SWAP( "c77-02", 0x100000, 0x100000, CRC(6a6f3040) SHA1(61c3ce51fa935f52572affa899bb81b3a616df3a) ) ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c77-05", 0x00000, 0x80000, CRC(c5a54678) SHA1(d0954acbdfdf9a5f14f554635c015eee23d52e0c) ) + ROM_LOAD16_WORD_SWAP( "c77-05", 0x00000, 0x80000, CRC(c5a54678) SHA1(d0954acbdfdf9a5f14f554635c015eee23d52e0c) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c77-10", 0x00000, 0x04000, CRC(f16b2c1e) SHA1(f6f13429a0b4e0e4c64991f1acc4ecf85dc64364) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c77-10", 0x00000, 0x10000, CRC(f16b2c1e) SHA1(f6f13429a0b4e0e4c64991f1acc4ecf85dc64364) ) ROM_REGION( 0x080000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c77-03", 0x000000, 0x080000, CRC(312f17b1) SHA1(3b45eeb6c6721c532451cb113e6a38da4d8a8cbf) ) @@ -4755,15 +4695,14 @@ ROM_START( mjnquestb ) /* Mahjong Quest (No Nudity) */ ROM_LOAD16_WORD_SWAP( "c77-04", 0x080000, 0x080000, CRC(c2e7e038) SHA1(6cf23bab587b34cbc1f78b8b82cbab5634b074dc) ) /* data rom */ ROM_REGION( 0x200000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c77-01", 0x000000, 0x100000, CRC(5ba51205) SHA1(da0b6f56e7d2437ad75ada1ba07e35843d2b4704) ) - ROM_LOAD( "c77-02", 0x100000, 0x100000, CRC(6a6f3040) SHA1(61c3ce51fa935f52572affa899bb81b3a616df3a) ) + ROM_LOAD16_WORD_SWAP( "c77-01", 0x000000, 0x100000, CRC(5ba51205) SHA1(da0b6f56e7d2437ad75ada1ba07e35843d2b4704) ) + ROM_LOAD16_WORD_SWAP( "c77-02", 0x100000, 0x100000, CRC(6a6f3040) SHA1(61c3ce51fa935f52572affa899bb81b3a616df3a) ) ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c77-05", 0x00000, 0x80000, CRC(c5a54678) SHA1(d0954acbdfdf9a5f14f554635c015eee23d52e0c) ) + ROM_LOAD16_WORD_SWAP( "c77-05", 0x00000, 0x80000, CRC(c5a54678) SHA1(d0954acbdfdf9a5f14f554635c015eee23d52e0c) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c77-10", 0x00000, 0x04000, CRC(f16b2c1e) SHA1(f6f13429a0b4e0e4c64991f1acc4ecf85dc64364) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c77-10", 0x00000, 0x10000, CRC(f16b2c1e) SHA1(f6f13429a0b4e0e4c64991f1acc4ecf85dc64364) ) ROM_REGION( 0x080000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c77-03", 0x000000, 0x080000, CRC(312f17b1) SHA1(3b45eeb6c6721c532451cb113e6a38da4d8a8cbf) ) @@ -4779,16 +4718,15 @@ ROM_START( footchmp ) ROM_LOAD16_BYTE( "c80-14.5", 0x40001, 0x20000, CRC(40ac4828) SHA1(9a2112b0ccd573a3e94d9817b78bb02909b972e1) ) // identical rom also found with c80-13 sticker, is this correct? ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "c80-04.1", 0x00000, 0x80000, CRC(9a17fe8c) SHA1(d2ea72743151f0f7bf78f33dba526214afb07389) ) - ROM_LOAD16_BYTE( "c80-05.2", 0x00001, 0x80000, CRC(acde7071) SHA1(23637238d122b13edb6025418bf482cc210ef6a9) ) + ROM_LOAD32_WORD_SWAP( "c80-04.1", 0x00002, 0x80000, CRC(9a17fe8c) SHA1(d2ea72743151f0f7bf78f33dba526214afb07389) ) + ROM_LOAD32_WORD_SWAP( "c80-05.2", 0x00000, 0x80000, CRC(acde7071) SHA1(23637238d122b13edb6025418bf482cc210ef6a9) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c80-01.9", 0x000000, 0x100000, CRC(f43782e6) SHA1(53ff6cc433673f307a91e8db74428aa6172ffad4) ) - ROM_LOAD( "c80-02.10", 0x100000, 0x100000, CRC(060a8b61) SHA1(b1888d8bce4c4624dc5bb64168c604ec64537c0e) ) + ROM_LOAD16_WORD_SWAP( "c80-01.9", 0x000000, 0x100000, CRC(f43782e6) SHA1(53ff6cc433673f307a91e8db74428aa6172ffad4) ) + ROM_LOAD16_WORD_SWAP( "c80-02.10", 0x100000, 0x100000, CRC(060a8b61) SHA1(b1888d8bce4c4624dc5bb64168c604ec64537c0e) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* 64k for Z80 code */ - ROM_LOAD( "c80-15.70", 0x00000, 0x04000, CRC(05aa7fd7) SHA1(7eb10964ea9f43abcda8444f13733a0753a04580) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for Z80 code */ + ROM_LOAD( "c80-15.70", 0x00000, 0x10000, CRC(05aa7fd7) SHA1(7eb10964ea9f43abcda8444f13733a0753a04580) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* YM2610 samples */ ROM_LOAD( "c80-03.57", 0x000000, 0x100000, CRC(609938d5) SHA1(54c7a7265dee5cb031fd402f4c74858d73bec652) ) @@ -4808,16 +4746,15 @@ ROM_START( hthero ) ROM_LOAD16_BYTE( "c80-18.5", 0x40001, 0x20000, CRC(aea22904) SHA1(907889f141fced8cada793f02244e80cf0f89c81) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "c80-04.1", 0x00000, 0x80000, CRC(9a17fe8c) SHA1(d2ea72743151f0f7bf78f33dba526214afb07389) ) - ROM_LOAD16_BYTE( "c80-05.2", 0x00001, 0x80000, CRC(acde7071) SHA1(23637238d122b13edb6025418bf482cc210ef6a9) ) + ROM_LOAD32_WORD_SWAP( "c80-04.1", 0x00002, 0x80000, CRC(9a17fe8c) SHA1(d2ea72743151f0f7bf78f33dba526214afb07389) ) + ROM_LOAD32_WORD_SWAP( "c80-05.2", 0x00000, 0x80000, CRC(acde7071) SHA1(23637238d122b13edb6025418bf482cc210ef6a9) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c80-01.9", 0x000000, 0x100000, CRC(f43782e6) SHA1(53ff6cc433673f307a91e8db74428aa6172ffad4) ) - ROM_LOAD( "c80-02.10", 0x100000, 0x100000, CRC(060a8b61) SHA1(b1888d8bce4c4624dc5bb64168c604ec64537c0e) ) + ROM_LOAD16_WORD_SWAP( "c80-01.9", 0x000000, 0x100000, CRC(f43782e6) SHA1(53ff6cc433673f307a91e8db74428aa6172ffad4) ) + ROM_LOAD16_WORD_SWAP( "c80-02.10", 0x100000, 0x100000, CRC(060a8b61) SHA1(b1888d8bce4c4624dc5bb64168c604ec64537c0e) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c80-15.70", 0x00000, 0x04000, CRC(05aa7fd7) SHA1(7eb10964ea9f43abcda8444f13733a0753a04580) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c80-15.70", 0x00000, 0x10000, CRC(05aa7fd7) SHA1(7eb10964ea9f43abcda8444f13733a0753a04580) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c80-03.57", 0x000000, 0x100000, CRC(609938d5) SHA1(54c7a7265dee5cb031fd402f4c74858d73bec652) ) @@ -4833,16 +4770,15 @@ ROM_START( euroch92 ) ROM_LOAD16_BYTE( "ec92_24.rom", 0x40001, 0x20000, CRC(b31d94ac) SHA1(8a3328b7e061b584992dd27b0dda9826b4b6ed91) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "ec92_21.rom", 0x00000, 0x80000, CRC(5759ed37) SHA1(2a661ea40735afbda3d0141ce3f706c64281097b) ) - ROM_LOAD16_BYTE( "ec92_22.rom", 0x00001, 0x80000, CRC(d9a0d38e) SHA1(192f0303f4f64df46dc20701ed4362a4e14e40e7) ) + ROM_LOAD32_WORD_SWAP( "ec92_21.rom", 0x00002, 0x80000, CRC(5759ed37) SHA1(2a661ea40735afbda3d0141ce3f706c64281097b) ) + ROM_LOAD32_WORD_SWAP( "ec92_22.rom", 0x00000, 0x80000, CRC(d9a0d38e) SHA1(192f0303f4f64df46dc20701ed4362a4e14e40e7) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "ec92_19.rom", 0x000000, 0x100000, CRC(219141a5) SHA1(b549e91049dcb796d4104b4426674dd87589efde) ) - ROM_LOAD( "c80-02.10", 0x100000, 0x100000, CRC(060a8b61) SHA1(b1888d8bce4c4624dc5bb64168c604ec64537c0e) ) // ec92_20.rom + ROM_LOAD16_WORD_SWAP( "ec92_19.rom", 0x000000, 0x100000, CRC(219141a5) SHA1(b549e91049dcb796d4104b4426674dd87589efde) ) + ROM_LOAD16_WORD_SWAP( "c80-02.10", 0x100000, 0x100000, CRC(060a8b61) SHA1(b1888d8bce4c4624dc5bb64168c604ec64537c0e) ) // ec92_20.rom - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* 64k for Z80 code */ - ROM_LOAD( "ec92_27.rom", 0x00000, 0x04000, CRC(2db48e65) SHA1(43a47ebc91c043a996e966cf808d71256e158494) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) + ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for Z80 code */ + ROM_LOAD( "ec92_27.rom", 0x00000, 0x10000, CRC(2db48e65) SHA1(43a47ebc91c043a996e966cf808d71256e158494) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* YM2610 samples */ ROM_LOAD( "c80-03.57", 0x000000, 0x100000, CRC(609938d5) SHA1(54c7a7265dee5cb031fd402f4c74858d73bec652) ) // ec92_03.rom @@ -4877,7 +4813,7 @@ ROM_START( footchmpbl ) ROM_LOAD( "bk30.rom13", 0x030000, 0x10000, CRC(71cbe2b2) SHA1(2bbd19f0d4fb0adce29a66bf27e081b86853431a) ) // sound hw is clearly different too, the sound program only contains 0x800 worth of code at 0x7800! - ROM_REGION( 0x1c000, "audiocpu", 0 ) + ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_LOAD( "so7.rom12", 0x00000, 0x07800, CRC(5bf4ca7a) SHA1(dd8b9008eaeef2792cc07828d10b44d9b3e10508) ) ROM_CONTINUE( 0x00000, 0x00800 ) @@ -4893,15 +4829,14 @@ ROM_START( koshien ) /* Ah Eikou no Koshien */ ROM_LOAD16_WORD_SWAP( "c81-04.bin", 0x080000, 0x080000, CRC(1592b460) SHA1(d42514b4d588d0376914832f0e07ce626d1cdee0) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c81-03.bin", 0x000000, 0x100000, CRC(29bbf492) SHA1(bd370b1de256a432821b443a6653aab8507fb3a7) ) + ROM_LOAD16_WORD_SWAP( "c81-03.bin", 0x000000, 0x100000, CRC(29bbf492) SHA1(bd370b1de256a432821b443a6653aab8507fb3a7) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c81-01.bin", 0x000000, 0x100000, CRC(64b15d2a) SHA1(18b3b405f77ad80781e3fce4ef021ba49f707ed6) ) - ROM_LOAD( "c81-02.bin", 0x100000, 0x100000, CRC(962461e8) SHA1(cb0313b00681c36110eed50eae41ad98eb22205d) ) + ROM_LOAD16_WORD_SWAP( "c81-01.bin", 0x000000, 0x100000, CRC(64b15d2a) SHA1(18b3b405f77ad80781e3fce4ef021ba49f707ed6) ) + ROM_LOAD16_WORD_SWAP( "c81-02.bin", 0x100000, 0x100000, CRC(962461e8) SHA1(cb0313b00681c36110eed50eae41ad98eb22205d) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c81-12.bin", 0x00000, 0x04000, CRC(6e8625b6) SHA1(212d384aa6ed43f5389739863afecbf0ad68af14) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c81-12.bin", 0x00000, 0x10000, CRC(6e8625b6) SHA1(212d384aa6ed43f5389739863afecbf0ad68af14) ) ROM_REGION( 0x080000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c81-05.bin", 0x00000, 0x80000, CRC(9c3d71be) SHA1(79f1bb40d8356d9fc93b569c20be15e7fbf34580) ) @@ -4928,12 +4863,11 @@ ROM_START( yuyugogo ) /* Yuuyu no QUIZ de GO!GO! */ ROM_LOAD( "c83-05.21", 0x00000, 0x20000, CRC(eca57fb1) SHA1(c67b5e734f5fd8801a4376c0555ce4a891dcd6bc) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "c83-01.12", 0x000000, 0x100000, CRC(8bf0d416) SHA1(ec3d51422fcc8e3e822716d57adab56f639a2d02) ) - ROM_LOAD16_BYTE( "c83-02.11", 0x000001, 0x100000, CRC(20bb1c15) SHA1(33370b665d681f765e363e5a8e79e62f59ad25f7) ) + ROM_LOAD16_BYTE( "c83-01.12", 0x000001, 0x100000, CRC(8bf0d416) SHA1(ec3d51422fcc8e3e822716d57adab56f639a2d02) ) + ROM_LOAD16_BYTE( "c83-02.11", 0x000000, 0x100000, CRC(20bb1c15) SHA1(33370b665d681f765e363e5a8e79e62f59ad25f7) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c83-11.1" , 0x00000, 0x04000, CRC(461e702a) SHA1(f1f4294a7e8acc50473df15a167ba84595c9eb15) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c83-11.1" , 0x00000, 0x10000, CRC(461e702a) SHA1(f1f4294a7e8acc50473df15a167ba84595c9eb15) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c83-04.5", 0x000000, 0x100000, CRC(2600093a) SHA1(824fde078e0ded58037bd06f888eac4e7487ac82) ) @@ -4950,15 +4884,14 @@ ROM_START( ninjak ) /* IC45 (ROM 1HL) and IC46 (1HH) not populated */ ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c85-03.ic65", 0x00000, 0x80000, CRC(4cc7b9df) SHA1(aaf0e587b86a7bf9fbfd4e19127a7295da8a3676) ) /* SCREEN */ + ROM_LOAD16_WORD_SWAP( "c85-03.ic65", 0x00000, 0x80000, CRC(4cc7b9df) SHA1(aaf0e587b86a7bf9fbfd4e19127a7295da8a3676) ) /* SCREEN */ ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c85-01.ic19", 0x000000, 0x100000, CRC(a711977c) SHA1(b6b79ff6086a7b6e242fe26eec448f025ab431af) ) /* OBJ-0 */ - ROM_LOAD( "c85-02.ic17", 0x100000, 0x100000, CRC(a6ad0f3d) SHA1(6d3a661807dd64f0b56ae6252a7e980fd678feef) ) /* OBJ-1 */ + ROM_LOAD16_WORD_SWAP( "c85-01.ic19", 0x000000, 0x100000, CRC(a711977c) SHA1(b6b79ff6086a7b6e242fe26eec448f025ab431af) ) /* OBJ-0 */ + ROM_LOAD16_WORD_SWAP( "c85-02.ic17", 0x100000, 0x100000, CRC(a6ad0f3d) SHA1(6d3a661807dd64f0b56ae6252a7e980fd678feef) ) /* OBJ-1 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c85-14.ic54", 0x00000, 0x04000, CRC(f2a52a51) SHA1(951793c65a3436a7fb36f3058bc7a3b4265a90bb) ) /* SND */ - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c85-14.ic54", 0x00000, 0x10000, CRC(f2a52a51) SHA1(951793c65a3436a7fb36f3058bc7a3b4265a90bb) ) /* SND */ ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c85-04.ic31", 0x00000, 0x80000, CRC(5afb747e) SHA1(e4f03582221f3a97f0e24693aa77264663eb1b47) ) /* SCH-B */ @@ -4976,15 +4909,14 @@ ROM_START( ninjakj ) /* IC45 (ROM 1HL) and IC46 (1HH) not populated */ ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c85-03.ic65", 0x00000, 0x80000, CRC(4cc7b9df) SHA1(aaf0e587b86a7bf9fbfd4e19127a7295da8a3676) ) /* SCREEN */ + ROM_LOAD16_WORD_SWAP( "c85-03.ic65", 0x00000, 0x80000, CRC(4cc7b9df) SHA1(aaf0e587b86a7bf9fbfd4e19127a7295da8a3676) ) /* SCREEN */ ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c85-01.ic19", 0x000000, 0x100000, CRC(a711977c) SHA1(b6b79ff6086a7b6e242fe26eec448f025ab431af) ) /* OBJ-0 */ - ROM_LOAD( "c85-02.ic17", 0x100000, 0x100000, CRC(a6ad0f3d) SHA1(6d3a661807dd64f0b56ae6252a7e980fd678feef) ) /* OBJ-1 */ + ROM_LOAD16_WORD_SWAP( "c85-01.ic19", 0x000000, 0x100000, CRC(a711977c) SHA1(b6b79ff6086a7b6e242fe26eec448f025ab431af) ) /* OBJ-0 */ + ROM_LOAD16_WORD_SWAP( "c85-02.ic17", 0x100000, 0x100000, CRC(a6ad0f3d) SHA1(6d3a661807dd64f0b56ae6252a7e980fd678feef) ) /* OBJ-1 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c85-14.ic54", 0x00000, 0x04000, CRC(f2a52a51) SHA1(951793c65a3436a7fb36f3058bc7a3b4265a90bb) ) /* SND */ - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c85-14.ic54", 0x00000, 0x10000, CRC(f2a52a51) SHA1(951793c65a3436a7fb36f3058bc7a3b4265a90bb) ) /* SND */ ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c85-04.ic31", 0x00000, 0x80000, CRC(5afb747e) SHA1(e4f03582221f3a97f0e24693aa77264663eb1b47) ) /* SCH-B */ @@ -5002,15 +4934,14 @@ ROM_START( ninjaku ) /* IC45 (ROM 1HL) and IC46 (1HH) not populated */ ROM_REGION( 0x080000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c85-03.ic65", 0x00000, 0x80000, CRC(4cc7b9df) SHA1(aaf0e587b86a7bf9fbfd4e19127a7295da8a3676) ) /* SCREEN */ + ROM_LOAD16_WORD_SWAP( "c85-03.ic65", 0x00000, 0x80000, CRC(4cc7b9df) SHA1(aaf0e587b86a7bf9fbfd4e19127a7295da8a3676) ) /* SCREEN */ ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c85-01.ic19", 0x000000, 0x100000, CRC(a711977c) SHA1(b6b79ff6086a7b6e242fe26eec448f025ab431af) ) /* OBJ-0 */ - ROM_LOAD( "c85-02.ic17", 0x100000, 0x100000, CRC(a6ad0f3d) SHA1(6d3a661807dd64f0b56ae6252a7e980fd678feef) ) /* OBJ-1 */ + ROM_LOAD16_WORD_SWAP( "c85-01.ic19", 0x000000, 0x100000, CRC(a711977c) SHA1(b6b79ff6086a7b6e242fe26eec448f025ab431af) ) /* OBJ-0 */ + ROM_LOAD16_WORD_SWAP( "c85-02.ic17", 0x100000, 0x100000, CRC(a6ad0f3d) SHA1(6d3a661807dd64f0b56ae6252a7e980fd678feef) ) /* OBJ-1 */ - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c85-14.ic54", 0x00000, 0x04000, CRC(f2a52a51) SHA1(951793c65a3436a7fb36f3058bc7a3b4265a90bb) ) /* SND */ - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c85-14.ic54", 0x00000, 0x10000, CRC(f2a52a51) SHA1(951793c65a3436a7fb36f3058bc7a3b4265a90bb) ) /* SND */ ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c85-04.ic31", 0x00000, 0x80000, CRC(5afb747e) SHA1(e4f03582221f3a97f0e24693aa77264663eb1b47) ) /* SCH-B */ @@ -5025,15 +4956,14 @@ ROM_START( solfigtr ) /* Solitary Fighter */ ROM_LOAD16_BYTE( "c91-09.61", 0x00001, 0x40000, CRC(d82b5266) SHA1(670dc91067dd856b5d36b71e5ddf67e82220d83b) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c91-03.34", 0x000000, 0x100000, CRC(8965da12) SHA1(b06f3fc91c9ce1e20cb4187505f3c7921c54cc12) ) + ROM_LOAD16_WORD_SWAP( "c91-03.34", 0x000000, 0x100000, CRC(8965da12) SHA1(b06f3fc91c9ce1e20cb4187505f3c7921c54cc12) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c91-01.12", 0x000000, 0x100000, CRC(0f3f4e00) SHA1(5912eddc066435b276d615842d123f58c4852b2b) ) - ROM_LOAD( "c91-02.11", 0x100000, 0x100000, CRC(e14ab98e) SHA1(b2e559ec9ccf383e693b27436081c29d30f17835) ) + ROM_LOAD16_WORD_SWAP( "c91-01.12", 0x000000, 0x100000, CRC(0f3f4e00) SHA1(5912eddc066435b276d615842d123f58c4852b2b) ) + ROM_LOAD16_WORD_SWAP( "c91-02.11", 0x100000, 0x100000, CRC(e14ab98e) SHA1(b2e559ec9ccf383e693b27436081c29d30f17835) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c91-07.62", 0x00000, 0x04000, CRC(e471a05a) SHA1(4d9c2b734aac27819673094dc1843e1ca5fe6994) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c91-07.62", 0x00000, 0x10000, CRC(e471a05a) SHA1(4d9c2b734aac27819673094dc1843e1ca5fe6994) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c91-04.28", 0x00000, 0x80000, CRC(390b1065) SHA1(ee7ba77634854e4896528ff1bbc308de92a5815b) ) /* Channel A */ @@ -5051,14 +4981,13 @@ ROM_START( qzquest ) /* Quiz Quest */ ROM_LOAD16_WORD_SWAP( "c92-03.6", 0x100000, 0x080000, CRC(1d697606) SHA1(0af7ac3c3229f139fab1569adaa893b43999bc89) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c92-02.10", 0x000000, 0x100000, CRC(2daccecf) SHA1(bd22f95210f2bb0b63d210a54e07535c3f0e1031) ) + ROM_LOAD16_WORD_SWAP( "c92-02.10", 0x000000, 0x100000, CRC(2daccecf) SHA1(bd22f95210f2bb0b63d210a54e07535c3f0e1031) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c92-01.21", 0x000000, 0x100000, CRC(9976a285) SHA1(8575ee18a3a6d690c9aa09f0c540665a31f87216) ) + ROM_LOAD16_WORD_SWAP( "c92-01.21", 0x000000, 0x100000, CRC(9976a285) SHA1(8575ee18a3a6d690c9aa09f0c540665a31f87216) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c92-07.5", 0x00000, 0x04000, CRC(3e313db9) SHA1(44f781c7d3df8eacd745dc0af180cec9e1164b89) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c92-07.5", 0x00000, 0x10000, CRC(3e313db9) SHA1(44f781c7d3df8eacd745dc0af180cec9e1164b89) ) ROM_REGION( 0x080000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c92-04.9", 0x000000, 0x080000, CRC(e421bb43) SHA1(a89157e65b537b31f5837435dae848adde8a86d1) ) @@ -5074,18 +5003,17 @@ ROM_START( pulirula ) ROM_LOAD16_BYTE( "c98-07.rom", 0x80001, 0x20000, CRC(90195bc0) SHA1(0f7e48ee8964dec1fbc6f8dab57f3ae67b2494d2) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c98-04.rom", 0x000000, 0x100000, CRC(0e1fe3b2) SHA1(37bf8e946ee4239de104a07ff87727cb6e2a3932) ) + ROM_LOAD16_WORD_SWAP( "c98-04.rom", 0x000000, 0x100000, CRC(0e1fe3b2) SHA1(37bf8e946ee4239de104a07ff87727cb6e2a3932) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c98-02.rom", 0x000000, 0x100000, CRC(4a2ad2b3) SHA1(3296cf2855203d06170c991d187c65ccc3751952) ) - ROM_LOAD( "c98-03.rom", 0x100000, 0x100000, CRC(589a678f) SHA1(228b959046bec10b28599d83d9e58fd149273473) ) + ROM_LOAD16_WORD_SWAP( "c98-02.rom", 0x000000, 0x100000, CRC(4a2ad2b3) SHA1(3296cf2855203d06170c991d187c65ccc3751952) ) + ROM_LOAD16_WORD_SWAP( "c98-03.rom", 0x100000, 0x100000, CRC(589a678f) SHA1(228b959046bec10b28599d83d9e58fd149273473) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "c98-05.rom", 0x000000, 0x080000, CRC(9ddd9c39) SHA1(4005a540c5cef6754284361da79a9e5e15612146) ) - ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c98-14.rom", 0x00000, 0x04000, CRC(a858e17c) SHA1(4389f43035a94e776a25350a8989dcfdb3e4675a) ) - ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c98-14.rom", 0x00000, 0x20000, CRC(a858e17c) SHA1(4389f43035a94e776a25350a8989dcfdb3e4675a) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c98-01.rom", 0x000000, 0x100000, CRC(197f66f5) SHA1(cc5d104033f9ab7d614afd47eeb61a22ef5714ea) ) @@ -5101,18 +5029,17 @@ ROM_START( pulirulaj ) ROM_LOAD16_BYTE( "c98-07.rom", 0x80001, 0x20000, CRC(90195bc0) SHA1(0f7e48ee8964dec1fbc6f8dab57f3ae67b2494d2) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c98-04.rom", 0x000000, 0x100000, CRC(0e1fe3b2) SHA1(37bf8e946ee4239de104a07ff87727cb6e2a3932) ) + ROM_LOAD16_WORD_SWAP( "c98-04.rom", 0x000000, 0x100000, CRC(0e1fe3b2) SHA1(37bf8e946ee4239de104a07ff87727cb6e2a3932) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c98-02.rom", 0x000000, 0x100000, CRC(4a2ad2b3) SHA1(3296cf2855203d06170c991d187c65ccc3751952) ) - ROM_LOAD( "c98-03.rom", 0x100000, 0x100000, CRC(589a678f) SHA1(228b959046bec10b28599d83d9e58fd149273473) ) + ROM_LOAD16_WORD_SWAP( "c98-02.rom", 0x000000, 0x100000, CRC(4a2ad2b3) SHA1(3296cf2855203d06170c991d187c65ccc3751952) ) + ROM_LOAD16_WORD_SWAP( "c98-03.rom", 0x100000, 0x100000, CRC(589a678f) SHA1(228b959046bec10b28599d83d9e58fd149273473) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "c98-05.rom", 0x000000, 0x080000, CRC(9ddd9c39) SHA1(4005a540c5cef6754284361da79a9e5e15612146) ) - ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "c98-14.rom", 0x00000, 0x04000, CRC(a858e17c) SHA1(4389f43035a94e776a25350a8989dcfdb3e4675a) ) - ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "c98-14.rom", 0x00000, 0x20000, CRC(a858e17c) SHA1(4389f43035a94e776a25350a8989dcfdb3e4675a) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c98-01.rom", 0x000000, 0x100000, CRC(197f66f5) SHA1(cc5d104033f9ab7d614afd47eeb61a22ef5714ea) ) @@ -5128,18 +5055,17 @@ ROM_START( pulirulaa ) // dumped from an original PCB without original ROM label ROM_LOAD16_BYTE( "ic43.bin", 0x80001, 0x20000, CRC(1feea319) SHA1(9799cbbd825dbc7bca6c283643070cadf9ef16ea) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "c98-04.rom", 0x000000, 0x100000, CRC(0e1fe3b2) SHA1(37bf8e946ee4239de104a07ff87727cb6e2a3932) ) + ROM_LOAD16_WORD_SWAP( "c98-04.rom", 0x000000, 0x100000, CRC(0e1fe3b2) SHA1(37bf8e946ee4239de104a07ff87727cb6e2a3932) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "c98-02.rom", 0x000000, 0x100000, CRC(4a2ad2b3) SHA1(3296cf2855203d06170c991d187c65ccc3751952) ) - ROM_LOAD( "c98-03.rom", 0x100000, 0x100000, CRC(589a678f) SHA1(228b959046bec10b28599d83d9e58fd149273473) ) + ROM_LOAD16_WORD_SWAP( "c98-02.rom", 0x000000, 0x100000, CRC(4a2ad2b3) SHA1(3296cf2855203d06170c991d187c65ccc3751952) ) + ROM_LOAD16_WORD_SWAP( "c98-03.rom", 0x100000, 0x100000, CRC(589a678f) SHA1(228b959046bec10b28599d83d9e58fd149273473) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "c98-05.rom", 0x000000, 0x080000, CRC(9ddd9c39) SHA1(4005a540c5cef6754284361da79a9e5e15612146) ) - ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "ic50.bin", 0x00000, 0x04000, CRC(e8b68cb8) SHA1(e2ff9df8ae635ffaa3056a97e308b9f0396bdfc6) ) - ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "ic50.bin", 0x00000, 0x20000, CRC(e8b68cb8) SHA1(e2ff9df8ae635ffaa3056a97e308b9f0396bdfc6) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "c98-01.rom", 0x000000, 0x100000, CRC(197f66f5) SHA1(cc5d104033f9ab7d614afd47eeb61a22ef5714ea) ) @@ -5155,15 +5081,14 @@ ROM_START( metalb ) ROM_LOAD16_BYTE( "d12-06.6", 0x80001, 0x20000, CRC(131df731) SHA1(537a9f404d797db051a5aaf0afa2cd1e9c0bdcfb) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "d12-03.14", 0x00000, 0x80000, CRC(46b498c0) SHA1(c2ec7ce9ac7874d1bc54ce4b5d428d73c5a16549) ) - ROM_LOAD16_BYTE( "d12-04.13", 0x00001, 0x80000, CRC(ab66d141) SHA1(e7f82b297dd2ae0b5d29886e5393cece61b742bb) ) + ROM_LOAD32_WORD_SWAP( "d12-03.14", 0x00002, 0x80000, CRC(46b498c0) SHA1(c2ec7ce9ac7874d1bc54ce4b5d428d73c5a16549) ) + ROM_LOAD32_WORD_SWAP( "d12-04.13", 0x00000, 0x80000, CRC(ab66d141) SHA1(e7f82b297dd2ae0b5d29886e5393cece61b742bb) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d12-01.20", 0x000000, 0x100000, CRC(b81523b9) SHA1(e688e88008db87fed0051fbcb28d3e3ae7e945a8) ) + ROM_LOAD16_WORD_SWAP( "d12-01.20", 0x000000, 0x100000, CRC(b81523b9) SHA1(e688e88008db87fed0051fbcb28d3e3ae7e945a8) ) - ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d12-13.5", 0x00000, 0x04000, CRC(bcca2649) SHA1(d932134416c951d849ae41598f75609d453ed520) ) - ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d12-13.5", 0x00000, 0x20000, CRC(bcca2649) SHA1(d932134416c951d849ae41598f75609d453ed520) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d12-02.10", 0x000000, 0x100000, CRC(79263e74) SHA1(f9ef222239855d593b5855dbf9ea0376ea349c4b) ) @@ -5180,15 +5105,14 @@ ROM_START( metalbj ) ROM_LOAD16_BYTE( "d12-06.6", 0x80001, 0x20000, CRC(131df731) SHA1(537a9f404d797db051a5aaf0afa2cd1e9c0bdcfb) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "d12-03.14", 0x00000, 0x80000, CRC(46b498c0) SHA1(c2ec7ce9ac7874d1bc54ce4b5d428d73c5a16549) ) - ROM_LOAD16_BYTE( "d12-04.13", 0x00001, 0x80000, CRC(ab66d141) SHA1(e7f82b297dd2ae0b5d29886e5393cece61b742bb) ) + ROM_LOAD32_WORD_SWAP( "d12-03.14", 0x00002, 0x80000, CRC(46b498c0) SHA1(c2ec7ce9ac7874d1bc54ce4b5d428d73c5a16549) ) + ROM_LOAD32_WORD_SWAP( "d12-04.13", 0x00000, 0x80000, CRC(ab66d141) SHA1(e7f82b297dd2ae0b5d29886e5393cece61b742bb) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d12-01.20", 0x000000, 0x100000, CRC(b81523b9) SHA1(e688e88008db87fed0051fbcb28d3e3ae7e945a8) ) + ROM_LOAD16_WORD_SWAP( "d12-01.20", 0x000000, 0x100000, CRC(b81523b9) SHA1(e688e88008db87fed0051fbcb28d3e3ae7e945a8) ) - ROM_REGION( 0x2c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d12-13.5", 0x00000, 0x04000, CRC(bcca2649) SHA1(d932134416c951d849ae41598f75609d453ed520) ) - ROM_CONTINUE( 0x10000, 0x1c000 ) /* banked stuff */ + ROM_REGION( 0x20000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d12-13.5", 0x00000, 0x20000, CRC(bcca2649) SHA1(d932134416c951d849ae41598f75609d453ed520) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d12-02.10", 0x000000, 0x100000, CRC(79263e74) SHA1(f9ef222239855d593b5855dbf9ea0376ea349c4b) ) @@ -5204,14 +5128,13 @@ ROM_START( qzchikyu ) ROM_LOAD16_WORD_SWAP( "d19-03.6", 0x100000, 0x080000, CRC(5c1b92c0) SHA1(36af32584ef4b2856d397e5e3ee6d17d5be296fd) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "d19-02.10", 0x000000, 0x100000, CRC(f2dce2f2) SHA1(29fd34f1177f0b587bfef40534adaea7afc0efcb) ) + ROM_LOAD16_WORD_SWAP( "d19-02.10", 0x000000, 0x100000, CRC(f2dce2f2) SHA1(29fd34f1177f0b587bfef40534adaea7afc0efcb) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d19-01.21", 0x000000, 0x100000, CRC(6c4342d0) SHA1(197e51302c23f65b8808ec9a66391b972c275867) ) + ROM_LOAD16_WORD_SWAP( "d19-01.21", 0x000000, 0x100000, CRC(6c4342d0) SHA1(197e51302c23f65b8808ec9a66391b972c275867) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d19-07.5", 0x00000, 0x04000, CRC(a8935f84) SHA1(6f264cf7a52dfb8248b8aeb4ff34477d7ccb0b6d) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d19-07.5", 0x00000, 0x10000, CRC(a8935f84) SHA1(6f264cf7a52dfb8248b8aeb4ff34477d7ccb0b6d) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d19-04.9", 0x000000, 0x080000, CRC(d3c44905) SHA1(d00bd4f11523b2123383dd852ee5484d907ff904) ) @@ -5233,12 +5156,11 @@ ROM_START( yesnoj ) /* Yes/No Sinri Tokimeki Chart */ ROM_LOAD( "d20-01.11", 0x00000, 0x80000, CRC(9d8a4d57) SHA1(d7afcd86bdfe2a4c94a7c2847e17ba7e41d4de79) ) ROM_REGION( 0x100000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "d20-02.12", 0x00000, 0x80000, CRC(e71a8e40) SHA1(cda7f14ba90f178887b9cd57d5b85be7d5090ca7) ) - ROM_LOAD16_BYTE( "d20-03.13", 0x00001, 0x80000, CRC(6a51a1b4) SHA1(a2492a7775e137a705b3281de674724d4aab4fe1) ) + ROM_LOAD16_BYTE( "d20-02.12", 0x00001, 0x80000, CRC(e71a8e40) SHA1(cda7f14ba90f178887b9cd57d5b85be7d5090ca7) ) + ROM_LOAD16_BYTE( "d20-03.13", 0x00000, 0x80000, CRC(6a51a1b4) SHA1(a2492a7775e137a705b3281de674724d4aab4fe1) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d20-06.5", 0x00000, 0x04000, CRC(3eb537dc) SHA1(368a03fc265157faf50612b823a78c820b2519f1) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d20-06.5", 0x00000, 0x10000, CRC(3eb537dc) SHA1(368a03fc265157faf50612b823a78c820b2519f1) ) ROM_REGION( 0x100000, "ymsnd", ROMREGION_ERASE00 ) /* no ADPCM samples */ @@ -5254,16 +5176,15 @@ ROM_START( deadconx ) ROM_LOAD16_BYTE( "d28-08.4", 0x80001, 0x40000, CRC(4c872bd9) SHA1(a78eec00b40445ad49425ba5a9b392b8516a30ff) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "d28-04.16", 0x00000, 0x80000, CRC(dcabc26b) SHA1(2e5e9912710ede9fc7c87430572f4e33a2ab66e7) ) - ROM_LOAD16_BYTE( "d28-05.17", 0x00001, 0x80000, CRC(862f9665) SHA1(c576c929f90ff454adca8f127fd7f74863d03239) ) + ROM_LOAD32_WORD_SWAP( "d28-04.16", 0x00002, 0x80000, CRC(dcabc26b) SHA1(2e5e9912710ede9fc7c87430572f4e33a2ab66e7) ) + ROM_LOAD32_WORD_SWAP( "d28-05.17", 0x00000, 0x80000, CRC(862f9665) SHA1(c576c929f90ff454adca8f127fd7f74863d03239) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d28-01.8", 0x000000, 0x100000, CRC(181d7b69) SHA1(fea7bd60224cf98d53d1389695f2e0d76e50b573) ) - ROM_LOAD( "d28-02.9", 0x100000, 0x100000, CRC(d301771c) SHA1(2756bb834b50a657bbcf4e9bec02f4af595ac7e9) ) + ROM_LOAD16_WORD_SWAP( "d28-01.8", 0x000000, 0x100000, CRC(181d7b69) SHA1(fea7bd60224cf98d53d1389695f2e0d76e50b573) ) + ROM_LOAD16_WORD_SWAP( "d28-02.9", 0x100000, 0x100000, CRC(d301771c) SHA1(2756bb834b50a657bbcf4e9bec02f4af595ac7e9) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d28-10.6", 0x00000, 0x04000, CRC(40805d74) SHA1(172114be692c766622d1235e5c4aa83ad438d9d9) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d28-10.6", 0x00000, 0x10000, CRC(40805d74) SHA1(172114be692c766622d1235e5c4aa83ad438d9d9) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d28-03.10", 0x000000, 0x100000, CRC(a1804b52) SHA1(f252c473a71a4cf80d9f984fec08e5ae7524a620) ) @@ -5279,16 +5200,15 @@ ROM_START( deadconxj ) ROM_LOAD16_BYTE( "d28-08.4", 0x80001, 0x40000, CRC(4c872bd9) SHA1(a78eec00b40445ad49425ba5a9b392b8516a30ff) ) ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD16_BYTE( "d28-04.16", 0x00000, 0x80000, CRC(dcabc26b) SHA1(2e5e9912710ede9fc7c87430572f4e33a2ab66e7) ) - ROM_LOAD16_BYTE( "d28-05.17", 0x00001, 0x80000, CRC(862f9665) SHA1(c576c929f90ff454adca8f127fd7f74863d03239) ) + ROM_LOAD32_WORD_SWAP( "d28-04.16", 0x00002, 0x80000, CRC(dcabc26b) SHA1(2e5e9912710ede9fc7c87430572f4e33a2ab66e7) ) + ROM_LOAD32_WORD_SWAP( "d28-05.17", 0x00000, 0x80000, CRC(862f9665) SHA1(c576c929f90ff454adca8f127fd7f74863d03239) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d28-01.8", 0x000000, 0x100000, CRC(181d7b69) SHA1(fea7bd60224cf98d53d1389695f2e0d76e50b573) ) - ROM_LOAD( "d28-02.9", 0x100000, 0x100000, CRC(d301771c) SHA1(2756bb834b50a657bbcf4e9bec02f4af595ac7e9) ) + ROM_LOAD16_WORD_SWAP( "d28-01.8", 0x000000, 0x100000, CRC(181d7b69) SHA1(fea7bd60224cf98d53d1389695f2e0d76e50b573) ) + ROM_LOAD16_WORD_SWAP( "d28-02.9", 0x100000, 0x100000, CRC(d301771c) SHA1(2756bb834b50a657bbcf4e9bec02f4af595ac7e9) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d28-10.6", 0x00000, 0x04000, CRC(40805d74) SHA1(172114be692c766622d1235e5c4aa83ad438d9d9) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d28-10.6", 0x00000, 0x10000, CRC(40805d74) SHA1(172114be692c766622d1235e5c4aa83ad438d9d9) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d28-03.10", 0x000000, 0x100000, CRC(a1804b52) SHA1(f252c473a71a4cf80d9f984fec08e5ae7524a620) ) @@ -5304,16 +5224,15 @@ ROM_START( dinorex ) ROM_LOAD16_WORD_SWAP( "d39-05.7", 0x200000, 0x100000, CRC(e2ec3b5d) SHA1(143b72d0f2f5c40dbaeed1eee0672c3b95c2bda6) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "d39-06.2", 0x000000, 0x100000, CRC(52f62835) SHA1(251c4f17bc98a5e81c224864fb81352cf1234377) ) + ROM_LOAD16_WORD_SWAP( "d39-06.2", 0x000000, 0x100000, CRC(52f62835) SHA1(251c4f17bc98a5e81c224864fb81352cf1234377) ) ROM_REGION( 0x600000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d39-01.29", 0x000000, 0x200000, CRC(d10e9c7d) SHA1(42c13b271a91fac37be4ea92eb358ad6a6c540cf) ) - ROM_LOAD( "d39-02.28", 0x200000, 0x200000, CRC(6c304403) SHA1(97cd58bd7d00550b7ed5f77b066216c05206b513) ) - ROM_LOAD( "d39-03.27", 0x400000, 0x200000, CRC(fc9cdab4) SHA1(ce2dfac922d6ac0f008b7dfb92d76c1671ccabbd) ) + ROM_LOAD16_WORD_SWAP( "d39-01.29", 0x000000, 0x200000, CRC(d10e9c7d) SHA1(42c13b271a91fac37be4ea92eb358ad6a6c540cf) ) + ROM_LOAD16_WORD_SWAP( "d39-02.28", 0x200000, 0x200000, CRC(6c304403) SHA1(97cd58bd7d00550b7ed5f77b066216c05206b513) ) + ROM_LOAD16_WORD_SWAP( "d39-03.27", 0x400000, 0x200000, CRC(fc9cdab4) SHA1(ce2dfac922d6ac0f008b7dfb92d76c1671ccabbd) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d39-12.5", 0x00000, 0x04000, CRC(8292c7c1) SHA1(2ff20726f6cc6d98d860d96b8eb3c10f46b87d58) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d39-12.5", 0x00000, 0x10000, CRC(8292c7c1) SHA1(2ff20726f6cc6d98d860d96b8eb3c10f46b87d58) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d39-07.10", 0x000000, 0x100000, CRC(28262816) SHA1(6df9a31a2edf1dfc23070b41b1da2c0a9e91d1b0) ) @@ -5330,16 +5249,15 @@ ROM_START( dinorexj ) ROM_LOAD16_WORD_SWAP( "d39-05.7", 0x200000, 0x100000, CRC(e2ec3b5d) SHA1(143b72d0f2f5c40dbaeed1eee0672c3b95c2bda6) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "d39-06.2", 0x000000, 0x100000, CRC(52f62835) SHA1(251c4f17bc98a5e81c224864fb81352cf1234377) ) + ROM_LOAD16_WORD_SWAP( "d39-06.2", 0x000000, 0x100000, CRC(52f62835) SHA1(251c4f17bc98a5e81c224864fb81352cf1234377) ) ROM_REGION( 0x600000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d39-01.29", 0x000000, 0x200000, CRC(d10e9c7d) SHA1(42c13b271a91fac37be4ea92eb358ad6a6c540cf) ) - ROM_LOAD( "d39-02.28", 0x200000, 0x200000, CRC(6c304403) SHA1(97cd58bd7d00550b7ed5f77b066216c05206b513) ) - ROM_LOAD( "d39-03.27", 0x400000, 0x200000, CRC(fc9cdab4) SHA1(ce2dfac922d6ac0f008b7dfb92d76c1671ccabbd) ) + ROM_LOAD16_WORD_SWAP( "d39-01.29", 0x000000, 0x200000, CRC(d10e9c7d) SHA1(42c13b271a91fac37be4ea92eb358ad6a6c540cf) ) + ROM_LOAD16_WORD_SWAP( "d39-02.28", 0x200000, 0x200000, CRC(6c304403) SHA1(97cd58bd7d00550b7ed5f77b066216c05206b513) ) + ROM_LOAD16_WORD_SWAP( "d39-03.27", 0x400000, 0x200000, CRC(fc9cdab4) SHA1(ce2dfac922d6ac0f008b7dfb92d76c1671ccabbd) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d39-12.5", 0x00000, 0x04000, CRC(8292c7c1) SHA1(2ff20726f6cc6d98d860d96b8eb3c10f46b87d58) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d39-12.5", 0x00000, 0x10000, CRC(8292c7c1) SHA1(2ff20726f6cc6d98d860d96b8eb3c10f46b87d58) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d39-07.10", 0x000000, 0x100000, CRC(28262816) SHA1(6df9a31a2edf1dfc23070b41b1da2c0a9e91d1b0) ) @@ -5356,16 +5274,15 @@ ROM_START( dinorexu ) ROM_LOAD16_WORD_SWAP( "d39-05.7", 0x200000, 0x100000, CRC(e2ec3b5d) SHA1(143b72d0f2f5c40dbaeed1eee0672c3b95c2bda6) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "d39-06.2", 0x000000, 0x100000, CRC(52f62835) SHA1(251c4f17bc98a5e81c224864fb81352cf1234377) ) + ROM_LOAD16_WORD_SWAP( "d39-06.2", 0x000000, 0x100000, CRC(52f62835) SHA1(251c4f17bc98a5e81c224864fb81352cf1234377) ) ROM_REGION( 0x600000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d39-01.29", 0x000000, 0x200000, CRC(d10e9c7d) SHA1(42c13b271a91fac37be4ea92eb358ad6a6c540cf) ) - ROM_LOAD( "d39-02.28", 0x200000, 0x200000, CRC(6c304403) SHA1(97cd58bd7d00550b7ed5f77b066216c05206b513) ) - ROM_LOAD( "d39-03.27", 0x400000, 0x200000, CRC(fc9cdab4) SHA1(ce2dfac922d6ac0f008b7dfb92d76c1671ccabbd) ) + ROM_LOAD16_WORD_SWAP( "d39-01.29", 0x000000, 0x200000, CRC(d10e9c7d) SHA1(42c13b271a91fac37be4ea92eb358ad6a6c540cf) ) + ROM_LOAD16_WORD_SWAP( "d39-02.28", 0x200000, 0x200000, CRC(6c304403) SHA1(97cd58bd7d00550b7ed5f77b066216c05206b513) ) + ROM_LOAD16_WORD_SWAP( "d39-03.27", 0x400000, 0x200000, CRC(fc9cdab4) SHA1(ce2dfac922d6ac0f008b7dfb92d76c1671ccabbd) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d39-12.5", 0x00000, 0x04000, CRC(8292c7c1) SHA1(2ff20726f6cc6d98d860d96b8eb3c10f46b87d58) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d39-12.5", 0x00000, 0x10000, CRC(8292c7c1) SHA1(2ff20726f6cc6d98d860d96b8eb3c10f46b87d58) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d39-07.10", 0x000000, 0x100000, CRC(28262816) SHA1(6df9a31a2edf1dfc23070b41b1da2c0a9e91d1b0) ) @@ -5381,15 +5298,14 @@ ROM_START( qjinsei ) /* Quiz Jinsei Gekijoh */ ROM_LOAD16_WORD_SWAP( "d48-03", 0x100000, 0x100000, CRC(fb5ea8dc) SHA1(2444042a85af6ae5b87e95ab09f661b877f215cc) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "d48-04", 0x000000, 0x100000, CRC(61e4b078) SHA1(c01722af74220d0bb0daf3b78f53f8875209e066) ) + ROM_LOAD16_WORD_SWAP( "d48-04", 0x000000, 0x100000, CRC(61e4b078) SHA1(c01722af74220d0bb0daf3b78f53f8875209e066) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "d48-02", 0x000000, 0x100000, CRC(a7b68e63) SHA1(ecdd0b7f4c52eac8c6e4218f69c01cf9b2f98e2a) ) - ROM_LOAD16_BYTE( "d48-01", 0x000001, 0x100000, CRC(72a94b73) SHA1(f4f296886c5fdb227f43cb9231bb15742f8a77f1) ) + ROM_LOAD16_BYTE( "d48-02", 0x000001, 0x100000, CRC(a7b68e63) SHA1(ecdd0b7f4c52eac8c6e4218f69c01cf9b2f98e2a) ) + ROM_LOAD16_BYTE( "d48-01", 0x000000, 0x100000, CRC(72a94b73) SHA1(f4f296886c5fdb227f43cb9231bb15742f8a77f1) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d48-11", 0x00000, 0x04000, CRC(656c5b54) SHA1(650bcc5920838db5c6613bcf30468d6e296ea017) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d48-11", 0x00000, 0x10000, CRC(656c5b54) SHA1(650bcc5920838db5c6613bcf30468d6e296ea017) ) ROM_REGION( 0x080000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d48-05", 0x000000, 0x080000, CRC(3fefd058) SHA1(338c35c3a086041d28708d4b17e208b590c926d5) ) @@ -5407,15 +5323,14 @@ ROM_START( qcrayon ) /* Quiz Crayon */ ROM_LOAD16_WORD_SWAP( "d55-03", 0x000000, 0x100000, CRC(4d161e76) SHA1(96189294f91f165423ba585c650ee47fc8165725) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "d55-02", 0x000000, 0x100000, CRC(f3db2f1c) SHA1(a96d89dd2c851dae3a237141c478fe2a65dda9c3) ) + ROM_LOAD16_WORD_SWAP( "d55-02", 0x000000, 0x100000, CRC(f3db2f1c) SHA1(a96d89dd2c851dae3a237141c478fe2a65dda9c3) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "d55-05", 0x000000, 0x100000, CRC(f0e59902) SHA1(44d93e0e9622a98796a128a0273065947f586a1d) ) - ROM_LOAD16_BYTE( "d55-04", 0x000001, 0x100000, CRC(412975ce) SHA1(32058a87947d6b6cdc8b147ddfcf359792f9c9fc) ) + ROM_LOAD16_BYTE( "d55-05", 0x000001, 0x100000, CRC(f0e59902) SHA1(44d93e0e9622a98796a128a0273065947f586a1d) ) + ROM_LOAD16_BYTE( "d55-04", 0x000000, 0x100000, CRC(412975ce) SHA1(32058a87947d6b6cdc8b147ddfcf359792f9c9fc) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d55-15", 0x00000, 0x04000, CRC(ba782eff) SHA1(ce24654db49b9694e444e93b9a8d529a86729e03) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d55-15", 0x00000, 0x10000, CRC(ba782eff) SHA1(ce24654db49b9694e444e93b9a8d529a86729e03) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d55-01", 0x000000, 0x100000, CRC(a8309af4) SHA1(dc30b2e019003c58aecaf899668b36dea6e1274e) ) @@ -5433,14 +5348,13 @@ ROM_START( qcrayon2 ) /* Quiz Crayon 2 */ ROM_LOAD16_WORD_SWAP( "d63-01", 0x00000, 0x80000, CRC(872e38b4) SHA1(dbb3728655dee03f6583db976708507c9ac5be16) ) /* data rom */ ROM_REGION( 0x100000, "gfx1", 0 ) /* SCR */ - ROM_LOAD( "d63-03", 0x000000, 0x100000, CRC(d24843af) SHA1(6508182f9038e4603230a6489e89ebae91c2f761) ) + ROM_LOAD16_WORD_SWAP( "d63-03", 0x000000, 0x100000, CRC(d24843af) SHA1(6508182f9038e4603230a6489e89ebae91c2f761) ) ROM_REGION( 0x200000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "d63-06", 0x000000, 0x200000, CRC(58b1e4a8) SHA1(1b957c2d2d1cdada9972880d9d7b6c8c584edabb) ) + ROM_LOAD16_WORD_SWAP( "d63-06", 0x000000, 0x200000, CRC(58b1e4a8) SHA1(1b957c2d2d1cdada9972880d9d7b6c8c584edabb) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "d63-11", 0x00000, 0x04000, CRC(2c7ac9e5) SHA1(2477fb4415781afddc2f4084eca52f53b7d40480) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "d63-11", 0x00000, 0x10000, CRC(2c7ac9e5) SHA1(2477fb4415781afddc2f4084eca52f53b7d40480) ) ROM_REGION( 0x100000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "d63-02", 0x000000, 0x100000, CRC(162ae165) SHA1(8b503d096640ec91cf55e05374b293937965c672) ) @@ -5457,14 +5371,13 @@ ROM_START( driftout ) /* empty */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "do_obj.rom", 0x00000, 0x80000, CRC(5491f1c4) SHA1(a2e92a9a1e77d9f683f6720947e0622dde48287f) ) + ROM_LOAD16_WORD_SWAP( "do_obj.rom", 0x00000, 0x80000, CRC(5491f1c4) SHA1(a2e92a9a1e77d9f683f6720947e0622dde48287f) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "do_piv.rom", 0x00000, 0x80000, CRC(c4f012f7) SHA1(4ad6a88f6a7f89b2b4c62c2b376d4e7b43c3d442) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "do_50.rom", 0x00000, 0x04000, CRC(ffe10124) SHA1(a47dfedfa7b352a5db39e7e1ccc666d3c5fb0d75) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "do_50.rom", 0x00000, 0x10000, CRC(ffe10124) SHA1(a47dfedfa7b352a5db39e7e1ccc666d3c5fb0d75) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "do_snd.rom", 0x00000, 0x80000, CRC(f2deb82b) SHA1(55e39173a475f5ab0b5f573a678a493fb6eefe64) ) @@ -5481,14 +5394,13 @@ ROM_START( driftoutj ) /* empty */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD( "do_obj.rom", 0x00000, 0x80000, CRC(5491f1c4) SHA1(a2e92a9a1e77d9f683f6720947e0622dde48287f) ) + ROM_LOAD16_WORD_SWAP( "do_obj.rom", 0x00000, 0x80000, CRC(5491f1c4) SHA1(a2e92a9a1e77d9f683f6720947e0622dde48287f) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "do_piv.rom", 0x00000, 0x80000, CRC(c4f012f7) SHA1(4ad6a88f6a7f89b2b4c62c2b376d4e7b43c3d442) ) - ROM_REGION( 0x1c000, "audiocpu", 0 ) /* sound cpu */ - ROM_LOAD( "do_50.rom", 0x00000, 0x04000, CRC(ffe10124) SHA1(a47dfedfa7b352a5db39e7e1ccc666d3c5fb0d75) ) - ROM_CONTINUE( 0x10000, 0x0c000 ) /* banked stuff */ + ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ + ROM_LOAD( "do_50.rom", 0x00000, 0x10000, CRC(ffe10124) SHA1(a47dfedfa7b352a5db39e7e1ccc666d3c5fb0d75) ) ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */ ROM_LOAD( "do_snd.rom", 0x00000, 0x80000, CRC(f2deb82b) SHA1(55e39173a475f5ab0b5f573a678a493fb6eefe64) ) @@ -5505,8 +5417,8 @@ ROM_START( driveout ) /* empty */ ROM_REGION( 0x080000, "gfx2", 0 ) /* OBJ */ - ROM_LOAD16_BYTE( "driveout.084", 0x00000, 0x40000, CRC(530ac420) SHA1(d66006958580205d0962871ba7d0b40a067bb9af) ) - ROM_LOAD16_BYTE( "driveout.081", 0x00001, 0x40000, CRC(0e9a3e9e) SHA1(7bb21e6fc930a5e1913bffb626958d0ee22d5883) ) + ROM_LOAD16_BYTE( "driveout.084", 0x00001, 0x40000, CRC(530ac420) SHA1(d66006958580205d0962871ba7d0b40a067bb9af) ) + ROM_LOAD16_BYTE( "driveout.081", 0x00000, 0x40000, CRC(0e9a3e9e) SHA1(7bb21e6fc930a5e1913bffb626958d0ee22d5883) ) ROM_REGION( 0x080000, "gfx3", 0 ) /* pivot gfx */ ROM_LOAD( "do_piv.rom", 0x00000, 0x80000, CRC(c4f012f7) SHA1(4ad6a88f6a7f89b2b4c62c2b376d4e7b43c3d442) ) @@ -5514,31 +5426,26 @@ ROM_START( driveout ) ROM_REGION( 0x10000, "audiocpu", 0 ) /* sound cpu */ ROM_LOAD( "driveout.020", 0x0000, 0x8000, CRC(99aaeb2e) SHA1(c7eb174f2ddcd8fd2b73b5251f434a20a9627b49) ) - ROM_REGION( 0x100000, "oki", 0 ) /* ADPCM samples */ - ROM_LOAD( "driveout.028", 0x00000, 0x20000, CRC(cbde0b66) SHA1(b264aa525ff40c7813182031825cd052db887000) ) /* banked */ - ROM_CONTINUE( 0x40000, 0x20000 ) - ROM_CONTINUE( 0x80000, 0x20000 ) - ROM_CONTINUE( 0xc0000, 0x20000 ) - ROM_LOAD( "driveout.029", 0x20000, 0x20000, CRC(0aba2026) SHA1(f592e3b294d44f499fdca4cc31646e55d8c3dfbf) ) /* sandwiched */ - ROM_RELOAD( 0x60000, 0x20000 ) - ROM_RELOAD( 0xa0000, 0x20000 ) - ROM_RELOAD( 0xe0000, 0x20000 ) + ROM_REGION( 0xa0000, "oki", 0 ) /* ADPCM samples */ + ROM_LOAD( "driveout.028", 0x00000, 0x80000, CRC(cbde0b66) SHA1(b264aa525ff40c7813182031825cd052db887000) ) /* banked */ + ROM_LOAD( "driveout.029", 0x80000, 0x20000, CRC(0aba2026) SHA1(f592e3b294d44f499fdca4cc31646e55d8c3dfbf) ) /* sandwiched */ ROM_END void taitof2_state::init_finalb() { - uint8_t *gfx = memregion("gfx2")->base(); + u8 *gfx = memregion("gfx2")->base(); + const u32 size = memregion("gfx2")->bytes(); - uint32_t offset = 0x100000; - for (int i = 0x180000; i < 0x200000; i++) + u32 offset = size / 2; + for (int i = (size / 2) + (size / 4); i < size; i++) { /* convert from 2bits into 4bits format */ - uint8_t data = gfx[i]; - int d1 = (data >> 0) & 3; - int d2 = (data >> 2) & 3; - int d3 = (data >> 4) & 3; - int d4 = (data >> 6) & 3; + const u8 data = gfx[i]; + const u8 d1 = (data >> 0) & 3; + const u8 d2 = (data >> 2) & 3; + const u8 d3 = (data >> 4) & 3; + const u8 d4 = (data >> 6) & 3; gfx[offset] = (d3 << 2) | (d4 << 6); offset++; @@ -5559,16 +5466,14 @@ void taitof2_state::init_cameltry() void taitof2_state::init_mjnquest() { - int i, len = memregion("gfx2")->bytes(); - uint8_t *gfx = memregion("gfx2")->base(); + const u32 len = memregion("gfx2")->bytes(); + u8 *gfx = memregion("gfx2")->base(); /* the bytes in each longword are in reversed order, put them in the order used by the other games. */ - for (i = 0; i < len; i += 2) + for (int i = 0; i < len; i += 2) { - int t; - - t = gfx[i]; + const u8 t = gfx[i]; gfx[i] = (gfx[i + 1] >> 4) | (gfx[i + 1] << 4); gfx[i + 1] = (t >> 4) | (t << 4); } @@ -5580,14 +5485,13 @@ void taitof2_state::init_mjnquest() void taitof2_state::init_driveout() { + m_okibank->configure_entries(0, 4, memregion("oki")->base(), 0x20000); + m_okibank->set_entry(0); m_driveout_sound_latch = 0; - m_oki_bank = 0; m_nibble = 0; save_item(NAME(m_driveout_sound_latch)); - save_item(NAME(m_oki_bank)); save_item(NAME(m_nibble)); - machine().save().register_postload(save_prepost_delegate(FUNC(taitof2_state::reset_driveout_sound_region), this)); } diff --git a/src/mame/includes/taito_f2.h b/src/mame/includes/taito_f2.h index c36877be678..78310d110a8 100644 --- a/src/mame/includes/taito_f2.h +++ b/src/mame/includes/taito_f2.h @@ -30,9 +30,7 @@ public: , m_cchip(*this, "cchip") , m_cchip_irq_clear(*this, "cchip_irq_clear") , m_oki(*this, "oki") - , m_tc0100scn(*this, "tc0100scn") - , m_tc0100scn_1(*this, "tc0100scn_1") - , m_tc0100scn_2(*this, "tc0100scn_2") + , m_tc0100scn(*this, "tc0100scn_%u", 1U) , m_tc0110pcr(*this, "tc0110pcr") , m_tc0360pri(*this, "tc0360pri") , m_tc0280grd(*this, "tc0280grd") @@ -43,6 +41,12 @@ public: , m_gfxdecode(*this, "gfxdecode") , m_screen(*this, "screen") , m_palette(*this, "palette") + , m_io_paddle(*this, "PADDLE%u", 1U) + , m_io_in(*this, "IN%u", 0U) + , m_io_dswa(*this, "DSWA") + , m_io_dswb(*this, "DSWB") + , m_audiobank(*this, "audiobank") + , m_okibank(*this, "okibank") { } @@ -91,67 +95,69 @@ public: void init_finalb(); protected: + virtual void machine_start() override; + virtual void video_start() override; + enum { - TIMER_TAITOF2_INTERRUPT6 + TIMER_INTERRUPT6 }; struct f2_tempsprite { - int code, color; - int flipx, flipy; + u32 code, color; + bool flipx, flipy; int x, y; int zoomx, zoomy; - int primask; + u32 primask; }; /* memory pointers */ - optional_shared_ptr m_sprite_extension; - required_shared_ptr m_spriteram; - std::unique_ptr m_spriteram_buffered; - std::unique_ptr m_spriteram_delayed; + optional_shared_ptr m_sprite_extension; + required_shared_ptr m_spriteram; + std::unique_ptr m_spriteram_buffered; + std::unique_ptr m_spriteram_delayed; /* video-related */ std::unique_ptr m_spritelist; - int m_sprite_type; + int m_sprite_type; - uint16_t m_spritebank[8]; -// uint16_t m_spritebank_eof[8]; - uint16_t m_spritebank_buffered[8]; + u16 m_spritebank[8]; +// u16 m_spritebank_eof[8]; + u16 m_spritebank_buffered[8]; - int32_t m_sprites_disabled; - int32_t m_sprites_active_area; - int32_t m_sprites_master_scrollx; - int32_t m_sprites_master_scrolly; + bool m_sprites_disabled; + s32 m_sprites_active_area; + s32 m_sprites_master_scrollx; + s32 m_sprites_master_scrolly; /* remember flip status over frames because driftout can fail to set it */ - int32_t m_sprites_flipscreen; + bool m_sprites_flipscreen; /* On the left hand screen edge (assuming horiz screen, no screenflip: in screenflip it is the right hand edge etc.) there may be 0-3 unwanted pixels in both tilemaps *and* sprites. To erase this we use f2_hide_pixels (0 to +3). */ - int32_t m_hide_pixels; - int32_t m_flip_hide_pixels; /* Different in some games */ + s32 m_hide_pixels; + s32 m_flip_hide_pixels; /* Different in some games */ - int32_t m_pivot_xdisp; /* Needed in games with a pivot layer */ - int32_t m_pivot_ydisp; + s32 m_pivot_xdisp; /* Needed in games with a pivot layer */ + s32 m_pivot_ydisp; - int32_t m_game; + s32 m_game; - uint8_t m_tilepri[6]; // todo - move into taitoic.c - uint8_t m_spritepri[6]; // todo - move into taitoic.c - uint8_t m_spriteblendmode; // todo - move into taitoic.c + u8 m_tilepri[6]; // todo - move into taitoic.c + u8 m_spritepri[6]; // todo - move into taitoic.c + u8 m_spriteblendmode; // todo - move into taitoic.c - int m_prepare_sprites; - uint8_t m_gfxbank; + int m_prepare_sprites; + u8 m_gfxbank; /* misc */ - int32_t m_mjnquest_input; - int m_last[2]; - int m_nibble; - int32_t m_driveout_sound_latch; - int32_t m_oki_bank; - emu_timer *m_int6_timer; + s32 m_mjnquest_input; + int m_last[2]; + int m_nibble; + s32 m_driveout_sound_latch; + emu_timer *m_int6_timer; /* devices */ required_device m_maincpu; @@ -159,9 +165,7 @@ protected: optional_device m_cchip; optional_device m_cchip_irq_clear; optional_device m_oki; - optional_device m_tc0100scn; - optional_device m_tc0100scn_1; - optional_device m_tc0100scn_2; + optional_device_array m_tc0100scn; optional_device m_tc0110pcr; optional_device m_tc0360pri; optional_device m_tc0280grd; @@ -173,75 +177,79 @@ protected: required_device m_screen; optional_device m_palette; - DECLARE_WRITE8_MEMBER(coin_nibble_w); - DECLARE_WRITE16_MEMBER(growl_coin_word_w); - DECLARE_WRITE8_MEMBER(taitof2_4p_coin_word_w); - DECLARE_READ16_MEMBER(cameltry_paddle_r); - DECLARE_READ16_MEMBER(mjnquest_dsw_r); - DECLARE_READ16_MEMBER(mjnquest_input_r); - DECLARE_WRITE16_MEMBER(mjnquest_inputselect_w); - DECLARE_WRITE8_MEMBER(sound_bankswitch_w); - DECLARE_READ8_MEMBER(driveout_sound_command_r); - DECLARE_WRITE8_MEMBER(oki_bank_w); - DECLARE_WRITE16_MEMBER(driveout_sound_command_w); - DECLARE_WRITE16_MEMBER(taitof2_sprite_extension_w); - DECLARE_WRITE16_MEMBER(taitof2_spritebank_w); - DECLARE_WRITE16_MEMBER(koshien_spritebank_w); + optional_ioport_array<2> m_io_paddle; + optional_ioport_array<7> m_io_in; + optional_ioport m_io_dswa; + optional_ioport m_io_dswb; + + optional_memory_bank m_audiobank; + optional_memory_bank m_okibank; + + void coin_nibble_w(u8 data); + void growl_coin_word_w(u8 data); + void _4p_coin_word_w(u8 data); + u16 cameltry_paddle_r(offs_t offset); + u16 mjnquest_dsw_r(offs_t offset); + u16 mjnquest_input_r(); + void mjnquest_inputselect_w(u16 data); + void sound_bankswitch_w(u8 data); + u8 driveout_sound_command_r(); + void oki_bank_w(u8 data); + void driveout_sound_command_w(offs_t offset, u8 data); + void sprite_extension_w(offs_t offset, u16 data, u16 mem_mask = ~0); + void spritebank_w(offs_t offset, u16 data); + void koshien_spritebank_w(u16 data); DECLARE_WRITE8_MEMBER(cameltrya_porta_w); void mjnquest_gfxbank_w(u8 data); TC0100SCN_CB_MEMBER(mjnquest_tmap_cb); - DECLARE_MACHINE_START(f2); - DECLARE_VIDEO_START(taitof2_default); - DECLARE_MACHINE_START(common); - DECLARE_VIDEO_START(taitof2_dondokod); - DECLARE_VIDEO_START(taitof2_driftout); - DECLARE_VIDEO_START(taitof2_finalb); - DECLARE_VIDEO_START(taitof2_megab); - DECLARE_VIDEO_START(taitof2_thundfox); - DECLARE_VIDEO_START(taitof2_ssi); - DECLARE_VIDEO_START(taitof2_gunfront); - DECLARE_VIDEO_START(taitof2_growl); - DECLARE_VIDEO_START(taitof2_mjnquest); - DECLARE_VIDEO_START(taitof2_footchmp); - DECLARE_VIDEO_START(taitof2_hthero); - DECLARE_VIDEO_START(taitof2_koshien); - DECLARE_VIDEO_START(taitof2_yuyugogo); - DECLARE_VIDEO_START(taitof2_ninjak); - DECLARE_VIDEO_START(taitof2_solfigtr); - DECLARE_VIDEO_START(taitof2_pulirula); - DECLARE_VIDEO_START(taitof2_metalb); - DECLARE_VIDEO_START(taitof2_qzchikyu); - DECLARE_VIDEO_START(taitof2_yesnoj); - DECLARE_VIDEO_START(taitof2_deadconx); - DECLARE_VIDEO_START(taitof2_deadconxj); - DECLARE_VIDEO_START(taitof2_dinorex); - DECLARE_VIDEO_START(taitof2_quiz); - uint32_t screen_update_taitof2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_taitof2_pri_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_taitof2_pri(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_taitof2_thundfox(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_taitof2_ssi(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_taitof2_deadconx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_taitof2_yesnoj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_taitof2_metalb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + DECLARE_VIDEO_START(dondokod); + DECLARE_VIDEO_START(driftout); + DECLARE_VIDEO_START(finalb); + DECLARE_VIDEO_START(megab); + DECLARE_VIDEO_START(thundfox); + DECLARE_VIDEO_START(ssi); + DECLARE_VIDEO_START(gunfront); + DECLARE_VIDEO_START(growl); + DECLARE_VIDEO_START(mjnquest); + DECLARE_VIDEO_START(footchmp); + DECLARE_VIDEO_START(hthero); + DECLARE_VIDEO_START(koshien); + DECLARE_VIDEO_START(yuyugogo); + DECLARE_VIDEO_START(ninjak); + DECLARE_VIDEO_START(solfigtr); + DECLARE_VIDEO_START(pulirula); + DECLARE_VIDEO_START(metalb); + DECLARE_VIDEO_START(qzchikyu); + DECLARE_VIDEO_START(yesnoj); + DECLARE_VIDEO_START(deadconx); + DECLARE_VIDEO_START(deadconxj); + DECLARE_VIDEO_START(dinorex); + DECLARE_VIDEO_START(quiz); + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_pri_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_pri(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_thundfox(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_ssi(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_deadconx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_yesnoj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update_metalb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); DECLARE_WRITE_LINE_MEMBER(screen_vblank_no_buffer); DECLARE_WRITE_LINE_MEMBER(screen_vblank_partial_buffer_delayed); DECLARE_WRITE_LINE_MEMBER(screen_vblank_partial_buffer_delayed_thundfox); DECLARE_WRITE_LINE_MEMBER(screen_vblank_full_buffer_delayed); DECLARE_WRITE_LINE_MEMBER(screen_vblank_partial_buffer_delayed_qzchikyu); - INTERRUPT_GEN_MEMBER(taitof2_interrupt); + INTERRUPT_GEN_MEMBER(interrupt); INTERRUPT_GEN_MEMBER(megab_interrupt); TIMER_DEVICE_CALLBACK_MEMBER(cchip_irq_clear_cb); - void reset_driveout_sound_region(); - void taitof2_core_vh_start (int sprite_type, int hide, int flip_hide ); - void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int *primasks, int uses_tc360_mixer ); - void update_spritebanks( ); - void taitof2_handle_sprite_buffering( ); - void taitof2_update_sprites_active_area( ); - void draw_roz_layer( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, uint32_t priority); + void core_vh_start(int sprite_type, int hide, int flip_hide); + void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u32 *primasks, int uses_tc360_mixer); + void update_spritebanks(); + void handle_sprite_buffering(); + void update_sprites_active_area(); + void draw_roz_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u32 priority); void taito_f2_tc360_spritemixdraw(screen_device &screen, bitmap_ind16 &dest_bmp, const rectangle &clip, gfx_element *gfx, - uint32_t code, uint32_t color, int flipx, int flipy, int sx, int sy, int scalex, int scaley ); + u32 code, u32 color, int flipx, int flipy, int sx, int sy, int scalex, int scaley); void cameltry_map(address_map &map); void cameltrya_map(address_map &map); @@ -251,6 +259,7 @@ protected: void dondokod_map(address_map &map); void driftout_map(address_map &map); void driveout_map(address_map &map); + void driveout_oki_map(address_map &map); void driveout_sound_map(address_map &map); void finalb_map(address_map &map); void footchmp_map(address_map &map); diff --git a/src/mame/video/taito_f2.cpp b/src/mame/video/taito_f2.cpp index 3589d96f804..be83c6c2f97 100644 --- a/src/mame/video/taito_f2.cpp +++ b/src/mame/video/taito_f2.cpp @@ -38,30 +38,29 @@ void taitof2_state::mjnquest_gfxbank_w(u8 data) if ((data ^ m_gfxbank) & 1) { m_gfxbank = data & 1; - m_tc0100scn->tilemap_set_dirty(); + m_tc0100scn[0]->tilemap_set_dirty(); } } -void taitof2_state::taitof2_core_vh_start (int sprite_type, int hide, int flip_hide ) +void taitof2_state::core_vh_start(int sprite_type, int hide, int flip_hide) { - int i; m_sprite_type = sprite_type; m_hide_pixels = hide; m_flip_hide_pixels = flip_hide; - m_spriteram_delayed = make_unique_clear(m_spriteram.bytes() / 2); - m_spriteram_buffered = make_unique_clear(m_spriteram.bytes() / 2); + m_spriteram_delayed = make_unique_clear(m_spriteram.bytes() / 2); + m_spriteram_buffered = make_unique_clear(m_spriteram.bytes() / 2); m_spritelist = make_unique_clear(0x400); - for (i = 0; i < 8; i ++) + for (int i = 0; i < 8; i ++) { m_spritebank_buffered[i] = 0x400 * i; m_spritebank[i] = m_spritebank_buffered[i]; } - m_sprites_disabled = 1; + m_sprites_disabled = true; m_sprites_active_area = 0; - m_sprites_flipscreen = 0; + m_sprites_flipscreen = false; m_sprites_master_scrollx = 0; m_sprites_master_scrolly = 0; @@ -87,137 +86,137 @@ void taitof2_state::taitof2_core_vh_start (int sprite_type, int hide, int flip_h } /**************************************************************************************/ -/* ( spritetype, hide, hideflip, xoffs, yoffs, flipx, flipy, textflipx, textflipy) */ +/* (spritetype, hide, hideflip, xoffs, yoffs, flipx, flipy, textflipx, textflipy) */ /**************************************************************************************/ -VIDEO_START_MEMBER(taitof2_state,taitof2_default) +void taitof2_state::video_start() { - taitof2_core_vh_start(0, 0, 0); + core_vh_start(0, 0, 0); } -VIDEO_START_MEMBER(taitof2_state,taitof2_megab)/* Megab, Liquidk */ +VIDEO_START_MEMBER(taitof2_state,megab)/* Megab, Liquidk */ { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_quiz)/* Quiz Crayons, Quiz Jinsei */ +VIDEO_START_MEMBER(taitof2_state,quiz)/* Quiz Crayons, Quiz Jinsei */ { - taitof2_core_vh_start(3, 3, 3); + core_vh_start(3, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_finalb) +VIDEO_START_MEMBER(taitof2_state,finalb) { - taitof2_core_vh_start(0, 1, 1); + core_vh_start(0, 1, 1); } -VIDEO_START_MEMBER(taitof2_state,taitof2_ssi) +VIDEO_START_MEMBER(taitof2_state,ssi) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_growl) +VIDEO_START_MEMBER(taitof2_state,growl) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_ninjak) +VIDEO_START_MEMBER(taitof2_state,ninjak) { - taitof2_core_vh_start(0, 0, 0); + core_vh_start(0, 0, 0); } -VIDEO_START_MEMBER(taitof2_state,taitof2_qzchikyu) +VIDEO_START_MEMBER(taitof2_state,qzchikyu) { - taitof2_core_vh_start(0, 0, 4); + core_vh_start(0, 0, 4); } -VIDEO_START_MEMBER(taitof2_state,taitof2_solfigtr) +VIDEO_START_MEMBER(taitof2_state,solfigtr) { - taitof2_core_vh_start(0, 3, -3); + core_vh_start(0, 3, -3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_koshien) +VIDEO_START_MEMBER(taitof2_state,koshien) { - taitof2_core_vh_start(0, 1, - 1); + core_vh_start(0, 1, - 1); } -VIDEO_START_MEMBER(taitof2_state,taitof2_gunfront) +VIDEO_START_MEMBER(taitof2_state,gunfront) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_thundfox) +VIDEO_START_MEMBER(taitof2_state,thundfox) { - taitof2_core_vh_start(0, 3, -3); + core_vh_start(0, 3, -3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_mjnquest) +VIDEO_START_MEMBER(taitof2_state,mjnquest) { - taitof2_core_vh_start(0, 0, 0); + core_vh_start(0, 0, 0); } -VIDEO_START_MEMBER(taitof2_state,taitof2_footchmp) +VIDEO_START_MEMBER(taitof2_state,footchmp) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); m_game = FOOTCHMP; } -VIDEO_START_MEMBER(taitof2_state,taitof2_hthero) +VIDEO_START_MEMBER(taitof2_state,hthero) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); m_game = FOOTCHMP; } -VIDEO_START_MEMBER(taitof2_state,taitof2_deadconx) +VIDEO_START_MEMBER(taitof2_state,deadconx) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_deadconxj) +VIDEO_START_MEMBER(taitof2_state,deadconxj) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_metalb) +VIDEO_START_MEMBER(taitof2_state,metalb) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_yuyugogo) +VIDEO_START_MEMBER(taitof2_state,yuyugogo) { - taitof2_core_vh_start(1, 3, 3); + core_vh_start(1, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_yesnoj) +VIDEO_START_MEMBER(taitof2_state,yesnoj) { - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_dinorex) +VIDEO_START_MEMBER(taitof2_state,dinorex) { - taitof2_core_vh_start(3, 3, 3); + core_vh_start(3, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_dondokod)/* dondokod, cameltry */ +VIDEO_START_MEMBER(taitof2_state,dondokod)/* dondokod, cameltry */ { m_pivot_xdisp = -16; m_pivot_ydisp = 0; - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_pulirula) +VIDEO_START_MEMBER(taitof2_state,pulirula) { m_pivot_xdisp = -10; /* alignment seems correct (see level 2, falling */ m_pivot_ydisp = 16; /* block of ice after armour man) */ - taitof2_core_vh_start(2, 3, 3); + core_vh_start(2, 3, 3); } -VIDEO_START_MEMBER(taitof2_state,taitof2_driftout) +VIDEO_START_MEMBER(taitof2_state,driftout) { m_pivot_xdisp = -16; m_pivot_ydisp = 16; - taitof2_core_vh_start(0, 3, 3); + core_vh_start(0, 3, 3); } /******************************************************** @@ -230,7 +229,7 @@ might be for Footchmp. That seems to be the only game altering spritebanks of sprites while they're on screen. ********************************************************/ -WRITE16_MEMBER(taitof2_state::taitof2_sprite_extension_w) +void taitof2_state::sprite_extension_w(offs_t offset, u16 data, u16 mem_mask) { /* areas above 0x1000 cleared in some games, but not used */ @@ -241,7 +240,7 @@ WRITE16_MEMBER(taitof2_state::taitof2_sprite_extension_w) } -WRITE16_MEMBER(taitof2_state::taitof2_spritebank_w) +void taitof2_state::spritebank_w(offs_t offset, u16 data) { int i = 0; int j = 0; @@ -270,7 +269,7 @@ WRITE16_MEMBER(taitof2_state::taitof2_spritebank_w) } -WRITE16_MEMBER(taitof2_state::koshien_spritebank_w) +void taitof2_state::koshien_spritebank_w(u16 data) { m_spritebank_buffered[0] = 0x0000; /* never changes */ m_spritebank_buffered[1] = 0x0400; @@ -283,14 +282,14 @@ WRITE16_MEMBER(taitof2_state::koshien_spritebank_w) m_spritebank_buffered[7] = m_spritebank_buffered[6] + 0x400; } -void taitof2_state::taito_f2_tc360_spritemixdraw( screen_device &screen, bitmap_ind16 &dest_bmp, const rectangle &clip, gfx_element *gfx, - uint32_t code, uint32_t color, int flipx, int flipy, int sx, int sy, int scalex, int scaley ) +void taitof2_state::taito_f2_tc360_spritemixdraw(screen_device &screen, bitmap_ind16 &dest_bmp, const rectangle &clip, gfx_element *gfx, + u32 code, u32 color, int flipx, int flipy, int sx, int sy, int scalex, int scaley) { - int pal_base = gfx->colorbase() + gfx->granularity() * (color % gfx->colors()); - const uint8_t *source_base = gfx->get_data(code % gfx->elements()); + const u16 pal_base = gfx->colorbase() + gfx->granularity() * (color % gfx->colors()); + const u8 *source_base = gfx->get_data(code % gfx->elements()); bitmap_ind8 &priority_bitmap = screen.priority(); - int sprite_screen_height = (scaley * gfx->height() + 0x8000) >> 16; - int sprite_screen_width = (scalex * gfx->width() + 0x8000) >> 16; + const int sprite_screen_height = (scaley * gfx->height() + 0x8000) >> 16; + const int sprite_screen_width = (scalex * gfx->width() + 0x8000) >> 16; if (!scalex || !scaley) return; @@ -342,33 +341,31 @@ void taitof2_state::taito_f2_tc360_spritemixdraw( screen_device &screen, bitmap_ /* NS 980211 - fixed incorrect clipping */ if (ex > clip.max_x + 1) { /* clip right */ - int pixels = ex-clip.max_x - 1; + int pixels = ex - clip.max_x - 1; ex -= pixels; } if (ey > clip.max_y + 1) { /* clip bottom */ - int pixels = ey-clip.max_y - 1; + int pixels = ey - clip.max_y - 1; ey -= pixels; } if (ex > sx) { /* skip if inner loop doesn't draw anything */ - int y; - - for (y = sy; y < ey; y++) + for (int y = sy; y < ey; y++) { - const uint8_t *source = source_base + (y_index >> 16) * gfx->rowbytes(); - uint16_t *dest = &dest_bmp.pix16(y); - uint8_t *pri = &priority_bitmap.pix8(y); + const u8 *source = source_base + (y_index >> 16) * gfx->rowbytes(); + u16 *dest = &dest_bmp.pix16(y); + u8 *pri = &priority_bitmap.pix8(y); - int x, x_index = x_index_base; - for (x = sx; x < ex; x++) + int x_index = x_index_base; + for (int x = sx; x < ex; x++) { - int c = source[x_index >> 16]; + const u8 c = source[x_index >> 16]; if (c && (pri[x] & 0x80) == 0) { - uint8_t tilemap_priority = 0, sprite_priority = 0; + u8 tilemap_priority = 0, sprite_priority = 0; // Get tilemap priority (0 - 0xf) for this destination pixel if (pri[x] & 0x10) tilemap_priority = m_tilepri[4]; @@ -418,17 +415,15 @@ void taitof2_state::taito_f2_tc360_spritemixdraw( screen_device &screen, bitmap_ } pri[x] |= 0x80; } - x_index += dx; } - y_index += dy; } } } } -void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int *primasks, int uses_tc360_mixer ) +void taitof2_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u32 *primasks, int uses_tc360_mixer) { /* Sprite format: @@ -487,15 +482,10 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c non zoom parts. */ - int i, x, y, off, extoffs; - int code, color, spritedata, spritecont, flipx, flipy; - int xcurrent, ycurrent, big_sprite = 0; + int big_sprite = 0; int y_no = 0, x_no = 0, xlatch = 0, ylatch = 0, last_continuation_tile = 0; /* for zooms */ - uint32_t zoomword, zoomx, zoomy, zx = 0, zy = 0, zoomxlatch = 0, zoomylatch = 0; /* for zooms */ - int scroll1x, scroll1y; + u32 zoomword, zoomx, zoomy, zx = 0, zy = 0, zoomxlatch = 0, zoomylatch = 0; /* for zooms */ int scrollx = 0, scrolly = 0; - int curx, cury; - int f2_x_offset; /* pdrawgfx() needs us to draw sprites front to back, so we have to build a list while processing sprite ram and then draw them all at the end */ @@ -503,7 +493,7 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c /* must remember enable status from last frame because driftout fails to reactivate them from a certain point onwards. */ - int disabled = m_sprites_disabled; + bool disabled = m_sprites_disabled; /* must remember master scroll from previous frame because driftout sometimes doesn't set it. */ @@ -513,13 +503,13 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c /* must also remember the sprite bank from previous frame. */ int area = m_sprites_active_area; - scroll1x = 0; - scroll1y = 0; - x = y = 0; - xcurrent = ycurrent = 0; - color = 0; + int scroll1x = 0; + int scroll1y = 0; + int x = 0, y = 0; + int xcurrent = 0, ycurrent = 0; + u32 color = 0; - f2_x_offset = m_hide_pixels; /* Get rid of 0-3 unwanted pixels on edge of screen. */ + int f2_x_offset = m_hide_pixels; /* Get rid of 0-3 unwanted pixels on edge of screen. */ if (m_sprites_flipscreen) f2_x_offset = -m_flip_hide_pixels; // was -f2_x_offset @@ -527,10 +517,10 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c if (area == 0x8000 && m_spriteram_buffered[(0x8000 + 6) / 2] == 0 && m_spriteram_buffered[(0x8000 + 10) / 2] == 0) area = 0; - for (off = 0; off < 0x4000; off += 16) + for (int off = 0; off < 0x4000; off += 16) { /* sprites_active_area may change during processing */ - int offs = off + area; + const int offs = off + area; if (m_spriteram_buffered[(offs + 6) / 2] & 0x8000) { @@ -577,9 +567,9 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c if (disabled) continue; - spritedata = m_spriteram_buffered[(offs + 8) / 2]; + const u16 spritedata = m_spriteram_buffered[(offs + 8) / 2]; - spritecont = (spritedata & 0xff00) >> 8; + const u16 spritecont = (spritedata & 0xff00) >> 8; if ((spritecont & 0x08) != 0) /* sprite continuation flag set */ { @@ -698,48 +688,45 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c last_continuation_tile=0; } - code = 0; - extoffs = offs; + u32 code = 0; + int extoffs = offs; /* spriteram[0x4000-7fff] has no corresponding extension area */ if (extoffs >= 0x8000) extoffs -= 0x4000; if (m_sprite_type == 0) { code = m_spriteram_buffered[(offs) / 2] & 0x1fff; - i = (code & 0x1c00) >> 10; + u32 i = (code & 0x1c00) >> 10; code = m_spritebank[i] + (code & 0x3ff); } if (m_sprite_type == 1) /* Yuyugogo */ { code = m_spriteram_buffered[(offs) / 2] & 0x3ff; - i = (m_sprite_extension[(extoffs >> 4)] & 0x3f ) << 10; - code = (i | code); + code |= (m_sprite_extension[(extoffs >> 4)] & 0x3f) << 10; } if (m_sprite_type == 2) /* Pulirula */ { code = m_spriteram_buffered[(offs) / 2] & 0xff; - i = (m_sprite_extension[(extoffs >> 4)] & 0xff00 ); - code = (i | code); + code |= (m_sprite_extension[(extoffs >> 4)] & 0xff00); } if (m_sprite_type == 3) /* Dinorex and a few quizzes */ { code = m_spriteram_buffered[(offs) / 2] & 0xff; - i = (m_sprite_extension[(extoffs >> 4)] & 0xff ) << 8; - code = (i | code); + code |= (m_sprite_extension[(extoffs >> 4)] & 0xff) << 8; } if (code == 0) continue; - flipx = spritecont & 0x01; - flipy = spritecont & 0x02; + int flipx = spritecont & 0x01; + int flipy = spritecont & 0x02; - curx = (x + scrollx) & 0xfff; + int curx = (x + scrollx) & 0xfff; if (curx >= 0x800) curx -= 0x1000; /* treat it as signed */ - cury = (y + scrolly) & 0xfff; + int cury = (y + scrolly) & 0xfff; if (cury >= 0x800) cury -= 0x1000; /* treat it as signed */ if (m_sprites_flipscreen) @@ -810,11 +797,10 @@ void taitof2_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, c } -void taitof2_state::update_spritebanks( ) +void taitof2_state::update_spritebanks() { - int i; #if 1 - for (i = 0; i < 8; i ++) + for (int i = 0; i < 8; i ++) { m_spritebank[i] = m_spritebank_buffered[i]; } @@ -828,7 +814,7 @@ void taitof2_state::update_spritebanks( ) #endif } -void taitof2_state::taitof2_handle_sprite_buffering( ) +void taitof2_state::handle_sprite_buffering() { if (m_prepare_sprites) /* no buffering */ { @@ -837,14 +823,12 @@ void taitof2_state::taitof2_handle_sprite_buffering( ) } } -void taitof2_state::taitof2_update_sprites_active_area( ) +void taitof2_state::update_sprites_active_area() { - int off; - update_spritebanks(); /* if the frame was skipped, we'll have to do the buffering now */ - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); /* safety check to avoid getting stuck in bank 2 for games using only one bank */ if (m_sprites_active_area == 0x8000 && @@ -852,10 +836,10 @@ void taitof2_state::taitof2_update_sprites_active_area( ) m_spriteram_buffered[(0x8000 + 10) / 2] == 0) m_sprites_active_area = 0; - for (off = 0; off < 0x4000; off += 16) + for (int off = 0; off < 0x4000; off += 16) { /* sprites_active_area may change during processing */ - int offs = off + m_sprites_active_area; + const int offs = off + m_sprites_active_area; if (m_spriteram_buffered[(offs + 6) / 2] & 0x8000) { @@ -887,7 +871,7 @@ WRITE_LINE_MEMBER(taitof2_state::screen_vblank_no_buffer) // rising edge if (state) { - taitof2_update_sprites_active_area(); + update_sprites_active_area(); m_prepare_sprites = 1; } @@ -898,16 +882,13 @@ WRITE_LINE_MEMBER(taitof2_state::screen_vblank_full_buffer_delayed) // rising edge if (state) { - uint16_t *spriteram = m_spriteram; - int i; - - taitof2_update_sprites_active_area(); + update_sprites_active_area(); m_prepare_sprites = 0; memcpy(m_spriteram_buffered.get(), m_spriteram_delayed.get(), m_spriteram.bytes()); - for (i = 0; i < m_spriteram.bytes() / 2; i++) - m_spriteram_buffered[i] = spriteram[i]; - memcpy(m_spriteram_delayed.get(), spriteram, m_spriteram.bytes()); + for (int i = 0; i < m_spriteram.bytes() / 2; i++) + m_spriteram_buffered[i] = m_spriteram[i]; + memcpy(m_spriteram_delayed.get(), m_spriteram, m_spriteram.bytes()); } } @@ -916,16 +897,13 @@ WRITE_LINE_MEMBER(taitof2_state::screen_vblank_partial_buffer_delayed) // rising edge if (state) { - uint16_t *spriteram = m_spriteram; - int i; - - taitof2_update_sprites_active_area(); + update_sprites_active_area(); m_prepare_sprites = 0; memcpy(m_spriteram_buffered.get(), m_spriteram_delayed.get(), m_spriteram.bytes()); - for (i = 0;i < m_spriteram.bytes() / 2; i += 4) - m_spriteram_buffered[i] = spriteram[i]; - memcpy(m_spriteram_delayed.get(), spriteram, m_spriteram.bytes()); + for (int i = 0; i < m_spriteram.bytes() / 2; i += 4) + m_spriteram_buffered[i] = m_spriteram[i]; + memcpy(m_spriteram_delayed.get(), m_spriteram, m_spriteram.bytes()); } } @@ -934,20 +912,17 @@ WRITE_LINE_MEMBER(taitof2_state::screen_vblank_partial_buffer_delayed_thundfox) // rising edge if (state) { - uint16_t *spriteram = m_spriteram; - int i; - - taitof2_update_sprites_active_area(); + update_sprites_active_area(); m_prepare_sprites = 0; memcpy(m_spriteram_buffered.get(), m_spriteram_delayed.get(), m_spriteram.bytes()); - for (i = 0; i < m_spriteram.bytes() / 2; i += 8) + for (int i = 0; i < m_spriteram.bytes() / 2; i += 8) { - m_spriteram_buffered[i] = spriteram[i]; - m_spriteram_buffered[i + 1] = spriteram[i + 1]; - m_spriteram_buffered[i + 4] = spriteram[i + 4]; + m_spriteram_buffered[i] = m_spriteram[i]; + m_spriteram_buffered[i + 1] = m_spriteram[i + 1]; + m_spriteram_buffered[i + 4] = m_spriteram[i + 4]; } - memcpy(m_spriteram_delayed.get(), spriteram, m_spriteram.bytes()); + memcpy(m_spriteram_delayed.get(), m_spriteram, m_spriteram.bytes()); } } @@ -959,31 +934,28 @@ WRITE_LINE_MEMBER(taitof2_state::screen_vblank_partial_buffer_delayed_qzchikyu) /* spriteram[2] and [3] are 1 frame behind... probably thundfox_eof_callback would work fine */ - uint16_t *spriteram = m_spriteram; - int i; - - taitof2_update_sprites_active_area(); + update_sprites_active_area(); m_prepare_sprites = 0; memcpy(m_spriteram_buffered.get(), m_spriteram_delayed.get(), m_spriteram.bytes()); - for (i = 0; i < m_spriteram.bytes() / 2; i += 8) + for (int i = 0; i < m_spriteram.bytes() / 2; i += 8) { - m_spriteram_buffered[i] = spriteram[i]; - m_spriteram_buffered[i + 1] = spriteram[i + 1]; - m_spriteram_buffered[i + 4] = spriteram[i + 4]; - m_spriteram_buffered[i + 5] = spriteram[i + 5]; // not needed? - m_spriteram_buffered[i + 6] = spriteram[i + 6]; // not needed? - m_spriteram_buffered[i + 7] = spriteram[i + 7]; // not needed? + m_spriteram_buffered[i] = m_spriteram[i]; + m_spriteram_buffered[i + 1] = m_spriteram[i + 1]; + m_spriteram_buffered[i + 4] = m_spriteram[i + 4]; + m_spriteram_buffered[i + 5] = m_spriteram[i + 5]; // not needed? + m_spriteram_buffered[i + 6] = m_spriteram[i + 6]; // not needed? + m_spriteram_buffered[i + 7] = m_spriteram[i + 7]; // not needed? } - memcpy(m_spriteram_delayed.get(), spriteram, m_spriteram.bytes()); + memcpy(m_spriteram_delayed.get(), m_spriteram, m_spriteram.bytes()); } } /* SSI */ -uint32_t taitof2_state::screen_update_taitof2_ssi(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update_ssi(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); /* SSI only uses sprites, the tilemap registers are not even initialized. (they are in Majestic 12, but the tilemaps are not used anyway) */ @@ -994,47 +966,47 @@ uint32_t taitof2_state::screen_update_taitof2_ssi(screen_device &screen, bitmap_ } -uint32_t taitof2_state::screen_update_taitof2_yesnoj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update_yesnoj(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); - m_tc0100scn->tilemap_update(); + m_tc0100scn[0]->tilemap_update(); screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); /* wrong color? */ draw_sprites(screen, bitmap, cliprect, nullptr, 0); - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn->bottomlayer(), 0, 0); - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn->bottomlayer() ^ 1, 0, 0); - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, 2, 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn[0]->bottomlayer(), 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn[0]->bottomlayer() ^ 1, 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, 2, 0, 0); return 0; } -uint32_t taitof2_state::screen_update_taitof2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); - m_tc0100scn->tilemap_update(); + m_tc0100scn[0]->tilemap_update(); screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); /* wrong color? */ - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn->bottomlayer(), 0, 0); - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn->bottomlayer() ^ 1, 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn[0]->bottomlayer(), 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, m_tc0100scn[0]->bottomlayer() ^ 1, 0, 0); draw_sprites(screen, bitmap, cliprect, nullptr, 0); - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, 2, 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, 2, 0, 0); return 0; } -uint32_t taitof2_state::screen_update_taitof2_pri(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update_pri(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int layer[3]; - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); - m_tc0100scn->tilemap_update(); + m_tc0100scn[0]->tilemap_update(); - layer[0] = m_tc0100scn->bottomlayer(); + layer[0] = m_tc0100scn[0]->bottomlayer(); layer[1] = layer[0] ^ 1; layer[2] = 2; m_tilepri[layer[0]] = m_tc0360pri->read(5) & 0x0f; @@ -1051,9 +1023,9 @@ uint32_t taitof2_state::screen_update_taitof2_pri(screen_device &screen, bitmap_ screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); /* wrong color? */ - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[0], 0, 1); - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[1], 0, 2); - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, layer[0], 0, 1); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, layer[1], 0, 2); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4); draw_sprites(screen, bitmap, cliprect, nullptr, 1); return 0; @@ -1061,7 +1033,7 @@ uint32_t taitof2_state::screen_update_taitof2_pri(screen_device &screen, bitmap_ -void taitof2_state::draw_roz_layer( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, uint32_t priority) +void taitof2_state::draw_roz_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u32 priority) { if (m_tc0280grd != nullptr) m_tc0280grd->tc0280grd_zoom_draw(screen, bitmap, cliprect, m_pivot_xdisp, m_pivot_ydisp, priority); @@ -1070,16 +1042,13 @@ void taitof2_state::draw_roz_layer( screen_device &screen, bitmap_ind16 &bitmap, m_tc0430grw->tc0430grw_zoom_draw(screen, bitmap, cliprect, m_pivot_xdisp, m_pivot_ydisp, priority); } -uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update_pri_roz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int tilepri[3]; - int rozpri; int layer[3]; - int drawn; - int i,j; - int roz_base_color = (m_tc0360pri->read(1) & 0x3f) << 2; + const u16 roz_base_color = (m_tc0360pri->read(1) & 0x3f) << 2; - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); if (m_tc0280grd != nullptr) m_tc0280grd->tc0280grd_tilemap_update(roz_base_color); @@ -1087,12 +1056,12 @@ uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bit if (m_tc0430grw != nullptr) m_tc0430grw->tc0430grw_tilemap_update(roz_base_color); - m_tc0100scn->tilemap_update(); + m_tc0100scn[0]->tilemap_update(); - rozpri = (m_tc0360pri->read(1) & 0xc0) >> 6; + u8 rozpri = (m_tc0360pri->read(1) & 0xc0) >> 6; rozpri = (m_tc0360pri->read(8 + rozpri / 2) >> 4 * (rozpri & 1)) & 0x0f; - layer[0] = m_tc0100scn->bottomlayer(); + layer[0] = m_tc0100scn[0]->bottomlayer(); layer[1] = layer[0] ^ 1; layer[2] = 2; @@ -1110,8 +1079,8 @@ uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bit screen.priority().fill(0, cliprect); bitmap.fill(0, cliprect); /* wrong color? */ - drawn = 0; - for (i = 0; i < 16; i++) + int drawn = 0; + for (int i = 0; i < 16; i++) { if (rozpri == i) { @@ -1120,11 +1089,11 @@ uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bit drawn++; } - for (j = 0; j < 3; j++) + for (int j = 0; j < 3; j++) { if (tilepri[layer[j]] == i) { - m_tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[j], 0, 1 << drawn); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, layer[j], 0, 1 << drawn); m_tilepri[drawn] = i; drawn++; } @@ -1138,26 +1107,26 @@ uint32_t taitof2_state::screen_update_taitof2_pri_roz(screen_device &screen, bit /* Thunderfox */ -uint32_t taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update_thundfox(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int tilepri[2][3]; int spritepri[4]; int layer[2][3]; int drawn[2]; - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); - m_tc0100scn_1->tilemap_update(); - m_tc0100scn_2->tilemap_update(); + m_tc0100scn[0]->tilemap_update(); + m_tc0100scn[1]->tilemap_update(); - layer[0][0] = m_tc0100scn_1->bottomlayer(); + layer[0][0] = m_tc0100scn[0]->bottomlayer(); layer[0][1] = layer[0][0] ^ 1; layer[0][2] = 2; tilepri[0][layer[0][0]] = m_tc0360pri->read(5) & 0x0f; tilepri[0][layer[0][1]] = m_tc0360pri->read(5) >> 4; tilepri[0][layer[0][2]] = m_tc0360pri->read(4) >> 4; - layer[1][0] = m_tc0100scn_2->bottomlayer(); + layer[1][0] = m_tc0100scn[1]->bottomlayer(); layer[1][1] = layer[1][0] ^ 1; layer[1][2] = 2; tilepri[1][layer[1][0]] = m_tc0360pri->read(9) & 0x0f; @@ -1182,48 +1151,41 @@ uint32_t taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bi while (drawn[0] < 2 && drawn[1] < 2) { int pick; - tc0100scn_device *tc0100scn; if (tilepri[0][drawn[0]] < tilepri[1][drawn[1]]) { pick = 0; - tc0100scn = m_tc0100scn_1; } else { pick = 1; - tc0100scn = m_tc0100scn_2; } - tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[pick][drawn[pick]], 0, 1 << (drawn[pick] + 2 * pick)); + m_tc0100scn[pick]->tilemap_draw(screen, bitmap, cliprect, layer[pick][drawn[pick]], 0, 1 << (drawn[pick] + 2 * pick)); drawn[pick]++; } while (drawn[0] < 2) { - m_tc0100scn_1->tilemap_draw(screen, bitmap, cliprect, layer[0][drawn[0]], 0, 1 << drawn[0]); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, layer[0][drawn[0]], 0, 1 << drawn[0]); drawn[0]++; } while (drawn[1] < 2) { - m_tc0100scn_2->tilemap_draw(screen, bitmap, cliprect, layer[1][drawn[1]], 0, 1 << (drawn[1] + 2)); + m_tc0100scn[1]->tilemap_draw(screen, bitmap, cliprect, layer[1][drawn[1]], 0, 1 << (drawn[1] + 2)); drawn[1]++; } - { - int primasks[4] = {0,0,0,0}; - int i; + u32 primasks[4] = {0,0,0,0}; - for (i = 0;i < 4;i++) - { - if (spritepri[i] < tilepri[0][0]) primasks[i] |= 0xaaaa; - if (spritepri[i] < tilepri[0][1]) primasks[i] |= 0xcccc; - if (spritepri[i] < tilepri[1][0]) primasks[i] |= 0xf0f0; - if (spritepri[i] < tilepri[1][1]) primasks[i] |= 0xff00; - } - - draw_sprites(screen, bitmap,cliprect,primasks,0); + for (int i = 0; i < 4; i++) + { + if (spritepri[i] < tilepri[0][0]) primasks[i] |= 0xaaaa; + if (spritepri[i] < tilepri[0][1]) primasks[i] |= 0xcccc; + if (spritepri[i] < tilepri[1][0]) primasks[i] |= 0xf0f0; + if (spritepri[i] < tilepri[1][1]) primasks[i] |= 0xff00; } + draw_sprites(screen, bitmap,cliprect,primasks,0); /* TODO: This isn't the correct way to handle the priority. At the moment of @@ -1233,13 +1195,13 @@ uint32_t taitof2_state::screen_update_taitof2_thundfox(screen_device &screen, bi if (tilepri[0][2] < tilepri[1][2]) { - m_tc0100scn_1->tilemap_draw(screen, bitmap, cliprect, layer[0][2], 0, 0); - m_tc0100scn_2->tilemap_draw(screen, bitmap, cliprect, layer[1][2], 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, layer[0][2], 0, 0); + m_tc0100scn[1]->tilemap_draw(screen, bitmap, cliprect, layer[1][2], 0, 0); } else { - m_tc0100scn_2->tilemap_draw(screen, bitmap, cliprect, layer[1][2], 0, 0); - m_tc0100scn_1->tilemap_draw(screen, bitmap, cliprect, layer[0][2], 0, 0); + m_tc0100scn[1]->tilemap_draw(screen, bitmap, cliprect, layer[1][2], 0, 0); + m_tc0100scn[0]->tilemap_draw(screen, bitmap, cliprect, layer[0][2], 0, 0); } return 0; } @@ -1274,16 +1236,15 @@ and it changes these (and the sprite pri settings) a lot. ********************************************************************/ -uint32_t taitof2_state::screen_update_taitof2_metalb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update_metalb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - uint8_t layer[5], invlayer[4]; - uint16_t priority; + u8 layer[5], invlayer[4]; - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); m_tc0480scp->tilemap_update(); - priority = m_tc0480scp->get_bg_priority(); + const u16 priority = m_tc0480scp->get_bg_priority(); layer[0] = (priority & 0xf000) >> 12; /* tells us which bg layer is bottom */ layer[1] = (priority & 0x0f00) >> 8; @@ -1324,18 +1285,17 @@ uint32_t taitof2_state::screen_update_taitof2_metalb(screen_device &screen, bitm /* Deadconx, Footchmp */ -uint32_t taitof2_state::screen_update_taitof2_deadconx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +u32 taitof2_state::screen_update_deadconx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - uint8_t layer[5]; - uint8_t tilepri[5]; - uint8_t spritepri[4]; - uint16_t priority; + u8 layer[5]; + u8 tilepri[5]; + u8 spritepri[4]; - taitof2_handle_sprite_buffering(); + handle_sprite_buffering(); m_tc0480scp->tilemap_update(); - priority = m_tc0480scp->get_bg_priority(); + const u16 priority = m_tc0480scp->get_bg_priority(); layer[0] = (priority & 0xf000) >> 12; /* tells us which bg layer is bottom */ layer[1] = (priority & 0x0f00) >> 8; @@ -1364,21 +1324,18 @@ uint32_t taitof2_state::screen_update_taitof2_deadconx(screen_device &screen, bi m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4); m_tc0480scp->tilemap_draw(screen, bitmap, cliprect, layer[3], 0, 8); - { - int primasks[4] = {0,0,0,0}; - int i; - - for (i = 0;i < 4;i++) - { - if (spritepri[i] < tilepri[(layer[0])]) primasks[i] |= 0xaaaa; - if (spritepri[i] < tilepri[(layer[1])]) primasks[i] |= 0xcccc; - if (spritepri[i] < tilepri[(layer[2])]) primasks[i] |= 0xf0f0; - if (spritepri[i] < tilepri[(layer[3])]) primasks[i] |= 0xff00; - } + u32 primasks[4] = {0,0,0,0}; - draw_sprites(screen, bitmap, cliprect, primasks, 0); + for (int i = 0; i < 4; i++) + { + if (spritepri[i] < tilepri[(layer[0])]) primasks[i] |= 0xaaaa; + if (spritepri[i] < tilepri[(layer[1])]) primasks[i] |= 0xcccc; + if (spritepri[i] < tilepri[(layer[2])]) primasks[i] |= 0xf0f0; + if (spritepri[i] < tilepri[(layer[3])]) primasks[i] |= 0xff00; } + draw_sprites(screen, bitmap, cliprect, primasks, 0); + /* TODO: This isn't the correct way to handle the priority. At the moment of writing, pdrawgfx() doesn't support 5 layers, so I have to cheat, assuming -- cgit v1.2.3