From f7b6bb6bbb9007aebfe9a4748c8a08e58d1614ec Mon Sep 17 00:00:00 2001 From: cam900 Date: Thu, 17 May 2018 12:59:46 +0900 Subject: leland.cpp cleanups (#3519) * leland.cpp : Cleanup duplicates, Add generic_latch_16_device for maincpu to soundcpu comms, Improve tags, Reduce runtime tag lookups, Make drawing function relate to cliprect * leland.cpp : Fix compile * leland.cpp : Fix compile(again) * leland.cpp : Fix sound command * leland.cpp : Fix error * leland.cpp : Background is tilemap; Accurate this and reduce unnecessary things --- src/mame/audio/leland.cpp | 129 +++++++-------------------- src/mame/audio/leland.h | 25 ++---- src/mame/drivers/leland.cpp | 164 +++++++++++++++++----------------- src/mame/includes/leland.h | 62 ++++++++----- src/mame/machine/leland.cpp | 74 +++++++--------- src/mame/video/leland.cpp | 212 ++++++++++++++++++++------------------------ 6 files changed, 289 insertions(+), 377 deletions(-) diff --git a/src/mame/audio/leland.cpp b/src/mame/audio/leland.cpp index 765e01f70e7..ce45768600a 100644 --- a/src/mame/audio/leland.cpp +++ b/src/mame/audio/leland.cpp @@ -126,7 +126,7 @@ WRITE_LINE_MEMBER(leland_80186_sound_device::i80186_tmr1_w) { if (m_ext_active && (m_ext_start < m_ext_stop)) { - m_dac4->write(m_ext_base[m_ext_start]); + m_dac[3]->write(m_ext_base[m_ext_start]); m_ext_start++; } } @@ -172,6 +172,8 @@ MACHINE_CONFIG_START(leland_80186_sound_device::device_add_mconfig) MCFG_PIT8253_OUT1_HANDLER(WRITELINE(*this, leland_80186_sound_device, pit1_1_w)) MCFG_PIT8253_CLK2(4000000) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(*this, leland_80186_sound_device, pit1_2_w)) + + MCFG_GENERIC_LATCH_16_ADD("soundlatch") MACHINE_CONFIG_END MACHINE_CONFIG_START(redline_80186_sound_device::device_add_mconfig) @@ -222,6 +224,8 @@ MACHINE_CONFIG_START(redline_80186_sound_device::device_add_mconfig) MCFG_PIT8253_OUT0_HANDLER(WRITELINE(*this, leland_80186_sound_device, pit1_2_w)) MCFG_PIT8253_CLK1(7000000) MCFG_PIT8253_CLK2(7000000) + + MCFG_GENERIC_LATCH_16_ADD("soundlatch") MACHINE_CONFIG_END MACHINE_CONFIG_START(ataxx_80186_sound_device::device_add_mconfig) @@ -249,6 +253,8 @@ MACHINE_CONFIG_START(ataxx_80186_sound_device::device_add_mconfig) MCFG_PIT8253_OUT1_HANDLER(WRITELINE(":audiocpu", i80186_cpu_device, drq1_w)) MCFG_PIT8253_CLK2(4000000) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(*this, leland_80186_sound_device, pit0_2_w)) + + MCFG_GENERIC_LATCH_16_ADD("soundlatch") MACHINE_CONFIG_END MACHINE_CONFIG_START(wsf_80186_sound_device::device_add_mconfig) @@ -281,6 +287,8 @@ MACHINE_CONFIG_START(wsf_80186_sound_device::device_add_mconfig) MCFG_PIT8253_OUT1_HANDLER(WRITELINE(":audiocpu", i80186_cpu_device, drq1_w)) MCFG_PIT8253_CLK2(4000000) MCFG_PIT8253_OUT2_HANDLER(WRITELINE(*this, leland_80186_sound_device, pit0_2_w)) + + MCFG_GENERIC_LATCH_16_ADD("soundlatch") MACHINE_CONFIG_END @@ -341,28 +349,13 @@ leland_80186_sound_device::leland_80186_sound_device(const machine_config &mconf } leland_80186_sound_device::leland_80186_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) - : device_t(mconfig, type, tag, owner, clock), - m_dac1(*this, "dac1"), - m_dac2(*this, "dac2"), - m_dac3(*this, "dac3"), - m_dac4(*this, "dac4"), - m_dac5(*this, "dac5"), - m_dac6(*this, "dac6"), - m_dac7(*this, "dac7"), - m_dac8(*this, "dac8"), - m_dac9(*this, "dac9"), - m_dac1vol(*this, "dac1vol"), - m_dac2vol(*this, "dac2vol"), - m_dac3vol(*this, "dac3vol"), - m_dac4vol(*this, "dac4vol"), - m_dac5vol(*this, "dac5vol"), - m_dac6vol(*this, "dac6vol"), - m_dac7vol(*this, "dac7vol"), - m_dac8vol(*this, "dac8vol"), - m_pit0(*this, "pit0"), - m_pit1(*this, "pit1"), - m_pit2(*this, "pit2"), - m_ymsnd(*this, "ymsnd") + : device_t(mconfig, type, tag, owner, clock) + , m_soundlatch(*this, "soundlatch") + , m_dac(*this, "dac%u", 1U) + , m_dac9(*this, "dac9") + , m_dacvol(*this, "dac%uvol", 1U) + , m_pit(*this, "pit%u", 0U) + , m_ymsnd(*this, "ymsnd") { } @@ -471,16 +464,11 @@ WRITE8_MEMBER( leland_80186_sound_device::leland_80186_control_w ) * *************************************/ -void leland_80186_sound_device::command_lo_sync(void *ptr, int param) -{ - if (LOG_COMM) logerror("%s:Write sound command latch lo = %02X\n", machine().describe_context(), param); - m_sound_command = (m_sound_command & 0xff00) | param; -} - - WRITE8_MEMBER( leland_80186_sound_device::leland_80186_command_lo_w ) { - machine().scheduler().synchronize(timer_expired_delegate(FUNC(leland_80186_sound_device::command_lo_sync), this), data); + if (LOG_COMM) logerror("%s:Write sound command latch lo = %02X\n", machine().describe_context(), data); + m_sound_command = (m_sound_command & 0xff00) | data; + m_soundlatch->write(space, offset, m_sound_command); } @@ -488,6 +476,7 @@ WRITE8_MEMBER( leland_80186_sound_device::leland_80186_command_hi_w ) { if (LOG_COMM) logerror("%s:Write sound command latch hi = %02X\n", machine().describe_context(), data); m_sound_command = (m_sound_command & 0x00ff) | (data << 8); + m_soundlatch->write(space, offset, m_sound_command); } @@ -551,33 +540,7 @@ WRITE16_MEMBER( leland_80186_sound_device::dac_w ) /* handle value changes */ if (ACCESSING_BITS_0_7) { - switch (dac) - { - case 0: - m_dac1->write(data & 0xff); - break; - case 1: - m_dac2->write(data & 0xff); - break; - case 2: - m_dac3->write(data & 0xff); - break; - case 3: - m_dac4->write(data & 0xff); - break; - case 4: - m_dac5->write(data & 0xff); - break; - case 5: - m_dac6->write(data & 0xff); - break; - case 6: - m_dac7->write(data & 0xff); - break; - case 7: - m_dac8->write(data & 0xff); - break; - } + m_dac[dac]->write(data & 0xff); set_clock_line(dac, 0); } @@ -585,33 +548,7 @@ WRITE16_MEMBER( leland_80186_sound_device::dac_w ) /* handle volume changes */ if (ACCESSING_BITS_8_15) { - switch(dac) - { - case 0: - m_dac1vol->write(data >> 8); - break; - case 1: - m_dac2vol->write(data >> 8); - break; - case 2: - m_dac3vol->write(data >> 8); - break; - case 3: - m_dac4vol->write(data >> 8); - break; - case 4: - m_dac5vol->write(data >> 8); - break; - case 5: - m_dac6vol->write(data >> 8); - break; - case 6: - m_dac7vol->write(data >> 8); - break; - case 7: - m_dac8vol->write(data >> 8); - break; - } + m_dacvol[dac]->write(data >> 8); } } @@ -634,9 +571,9 @@ WRITE16_MEMBER( leland_80186_sound_device::ataxx_dac_control ) dac_w(space, offset, data, 0x00ff); return; case 0x03: - m_dac1vol->write((data & 7) << 5); - m_dac2vol->write(((data >> 3) & 7) << 5); - m_dac3vol->write(((data >> 6) & 3) << 6); + m_dacvol[0]->write((data & 7) << 5); + m_dacvol[1]->write(((data >> 3) & 7) << 5); + m_dacvol[2]->write(((data >> 6) & 3) << 6); return; case 0x21: dac_w(space, 3, data, mem_mask); @@ -705,19 +642,19 @@ READ16_MEMBER( leland_80186_sound_device::peripheral_r ) return ((m_clock_active << 1) & 0x7e); case 1: - if (LOG_COMM) logerror("%s:Read sound command latch = %02X\n", machine().describe_context(), m_sound_command); - return m_sound_command; + if (LOG_COMM) logerror("%s:Read sound command latch = %02X\n", machine().describe_context(), m_soundlatch->read(space, offset)); + return m_soundlatch->read(space, offset); case 2: if (ACCESSING_BITS_0_7) - return m_pit0->read(space, offset & 3); + return m_pit[0]->read(space, offset & 3); break; case 3: if (m_type <= TYPE_REDLINE) { if (ACCESSING_BITS_0_7) - return m_pit1->read(space, offset & 3); + return m_pit[1]->read(space, offset & 3); } else if (m_type == TYPE_WSF) return m_ymsnd->read(space, offset); @@ -727,7 +664,7 @@ READ16_MEMBER( leland_80186_sound_device::peripheral_r ) if (m_type == TYPE_REDLINE) { if (ACCESSING_BITS_0_7) - return m_pit2->read(space, offset & 3); + return m_pit[2]->read(space, offset & 3); } else logerror("%s:Unexpected peripheral read %d/%02X\n", machine().describe_context(), select, offset*2); @@ -755,14 +692,14 @@ WRITE16_MEMBER( leland_80186_sound_device::peripheral_w ) case 2: if (ACCESSING_BITS_0_7) - m_pit0->write(space, offset & 3, data); + m_pit[0]->write(space, offset & 3, data); break; case 3: if (m_type <= TYPE_REDLINE) { if (ACCESSING_BITS_0_7) - m_pit1->write(space, offset & 3, data); + m_pit[1]->write(space, offset & 3, data); } else if(m_type == TYPE_WSF) m_ymsnd->write(space, offset, data); @@ -772,7 +709,7 @@ WRITE16_MEMBER( leland_80186_sound_device::peripheral_w ) if (m_type == TYPE_REDLINE) { if (ACCESSING_BITS_0_7) - m_pit2->write(space, offset & 3, data); + m_pit[2]->write(space, offset & 3, data); } else if (mem_mask == 0xffff) { diff --git a/src/mame/audio/leland.h b/src/mame/audio/leland.h index b8c98da6f45..5bc529c1a8c 100644 --- a/src/mame/audio/leland.h +++ b/src/mame/audio/leland.h @@ -11,6 +11,7 @@ #pragma once #include "cpu/i86/i186.h" +#include "machine/gen_latch.h" #include "machine/pit8253.h" #include "sound/dac.h" #include "sound/ym2151.h" @@ -55,26 +56,12 @@ protected: TYPE_WSF }; - required_device m_dac1; - required_device m_dac2; - required_device m_dac3; - required_device m_dac4; - optional_device m_dac5; - optional_device m_dac6; - optional_device m_dac7; - optional_device m_dac8; + required_device m_soundlatch; + optional_device_array m_dac; optional_device m_dac9; - required_device m_dac1vol; - required_device m_dac2vol; - required_device m_dac3vol; - required_device m_dac4vol; - optional_device m_dac5vol; - optional_device m_dac6vol; - optional_device m_dac7vol; - optional_device m_dac8vol; + optional_device_array m_dacvol; private: - void command_lo_sync(void *ptr, int param); void delayed_response_r(void *ptr, int param); void set_clock_line(int which, int state) { m_clock_active = state ? (m_clock_active | (1< m_pit0; - optional_device m_pit1; - optional_device m_pit2; + optional_device_array m_pit; optional_device m_ymsnd; }; diff --git a/src/mame/drivers/leland.cpp b/src/mame/drivers/leland.cpp index c86f49611ea..2b40c8cd577 100644 --- a/src/mame/drivers/leland.cpp +++ b/src/mame/drivers/leland.cpp @@ -85,8 +85,8 @@ void leland_state::master_map_program(address_map &map) { map(0x0000, 0x1fff).rom(); - map(0x2000, 0x9fff).bankr("bank1"); - map(0xa000, 0xdfff).bankr("bank2").w(this, FUNC(leland_state::leland_battery_ram_w)).share("battery"); + map(0x2000, 0x9fff).bankr("masterbank_0"); + map(0xa000, 0xdfff).bankr("masterbank_1").w(this, FUNC(leland_state::leland_battery_ram_w)).share("battery"); map(0xe000, 0xefff).ram().share("mainram"); map(0xf000, 0xf3ff).rw(this, FUNC(leland_state::leland_gated_paletteram_r), FUNC(leland_state::leland_gated_paletteram_w)).share("palette"); map(0xf800, 0xf801).w(this, FUNC(leland_state::leland_master_video_addr_w)); @@ -112,8 +112,8 @@ void leland_state::master_redline_map_io(address_map &map) void leland_state::master_map_program_2(address_map &map) { map(0x0000, 0x1fff).rom(); - map(0x2000, 0x9fff).bankr("bank1"); - map(0xa000, 0xdfff).bankr("bank2").w(this, FUNC(leland_state::ataxx_battery_ram_w)).share("battery"); + map(0x2000, 0x9fff).bankr("masterbank_0"); + map(0xa000, 0xdfff).bankr("masterbank_1").w(this, FUNC(leland_state::ataxx_battery_ram_w)).share("battery"); map(0xe000, 0xf7ff).ram().share("mainram"); map(0xf800, 0xffff).rw(this, FUNC(leland_state::ataxx_paletteram_and_misc_r), FUNC(leland_state::ataxx_paletteram_and_misc_w)).share("palette"); } @@ -142,7 +142,7 @@ void leland_state::master_map_io_2(address_map &map) void leland_state::slave_small_map_program(address_map &map) { map(0x0000, 0x1fff).rom(); - map(0x2000, 0xdfff).bankr("bank3"); + map(0x2000, 0xdfff).bankr("slavebank"); map(0xe000, 0xefff).ram(); map(0xf800, 0xf801).w(this, FUNC(leland_state::leland_slave_video_addr_w)); map(0xf802, 0xf802).r(this, FUNC(leland_state::leland_raster_r)); @@ -153,7 +153,7 @@ void leland_state::slave_small_map_program(address_map &map) void leland_state::slave_large_map_program(address_map &map) { map(0x0000, 0x1fff).rom(); - map(0x4000, 0xbfff).bankr("bank3"); + map(0x4000, 0xbfff).bankr("slavebank"); map(0xc000, 0xc000).w(this, FUNC(leland_state::leland_slave_large_banksw_w)); map(0xe000, 0xefff).ram(); map(0xf800, 0xf801).w(this, FUNC(leland_state::leland_slave_video_addr_w)); @@ -172,7 +172,7 @@ void leland_state::slave_map_io(address_map &map) void leland_state::slave_map_program(address_map &map) { map(0x0000, 0x1fff).rom(); - map(0x2000, 0x9fff).bankr("bank3"); + map(0x2000, 0x9fff).bankr("slavebank"); map(0xa000, 0xdfff).rom(); map(0xe000, 0xefff).ram(); map(0xfffc, 0xfffd).w(this, FUNC(leland_state::leland_slave_video_addr_w)); @@ -1156,12 +1156,12 @@ ROM_START( cerberus ) ROM_LOAD( "3-23u8", 0x0a000, 0x02000, CRC(dbabdbde) SHA1(906ff8f91eaf01f0435d7ac1291af62073568d2f) ) ROM_LOAD( "3-23u9", 0x0c000, 0x02000, CRC(eb992385) SHA1(0951d6fb5ff8508ef7184e9c26be6c20b85bad72) ) - ROM_REGION( 0x06000, "gfx1", 0 ) + ROM_REGION( 0x06000, "bg_gfx", 0 ) ROM_LOAD( "3-23u93", 0x00000, 0x02000, CRC(14a1a4b0) SHA1(aad63e368a09497188f8112d1ca0ac0d0366ac61) ) ROM_LOAD( "3-23u94", 0x02000, 0x02000, CRC(207a1709) SHA1(c7fbb80a83a5684b6b35750df68d51091e8747e4) ) ROM_LOAD( "3-23u95", 0x04000, 0x02000, CRC(e9c86267) SHA1(c7f3a4725824da1e2793160409821017bd0bd956) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "3-23u70", 0x02000, 0x2000, CRC(96499983) SHA1(202c9d74fe4bbce7b93fcbb6352c35eb480d8297) ) ROM_LOAD( "3-23_u92", 0x06000, 0x2000, CRC(497bb717) SHA1(748ac9f22d896b493cdf182ec9deb3e07e2ffb48) ) ROM_LOAD( "3-23u69", 0x0a000, 0x2000, CRC(ebd14d9e) SHA1(8eb061d43eb60eea01b122e0b4e937bfc00146cc) ) @@ -1205,12 +1205,12 @@ ROM_START( mayhem ) ROM_LOAD( "13214.9", 0x1a000, 0x02000, CRC(96f3e8d9) SHA1(e0a663c3c9dc77f2ec10c71a9d227ec3ea765c6e) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "13204.93", 0x00000, 0x04000, CRC(de183518) SHA1(080cd45c2c7d81b8edd5170aa6a587ae6e7e54fb) ) ROM_LOAD( "13205.94", 0x04000, 0x04000, CRC(c61f63ac) SHA1(c52fe331391720796556a7eab7d145fd1dacf6ed) ) ROM_LOAD( "13206.95", 0x08000, 0x04000, CRC(8e7bd2fd) SHA1(ccd97ef604be6d4479a8a91fccecb5d71a4d82af) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "13203.92", 0x04000, 0x4000, CRC(121ed5bf) SHA1(691b09a3bad3d1fd13ec38a81a15436b8baba0a1) ) ROM_LOAD( "13201.69", 0x08000, 0x4000, CRC(90283e29) SHA1(36b71e2df455758b139a503968b80112a65c347a) ) @@ -1252,12 +1252,12 @@ ROM_START( powrplay ) ROM_LOAD( "13317.008", 0x18000, 0x02000, CRC(a081a031) SHA1(c7eef2022bc623bb3399895e092d6cb56c50b5e3) ) ROM_CONTINUE( 0x24000, 0x02000 ) - ROM_REGION( 0x06000, "gfx1", 0 ) + ROM_REGION( 0x06000, "bg_gfx", 0 ) ROM_LOAD( "13302.093", 0x00000, 0x02000, CRC(9beaa403) SHA1(02af1fb98f61b3e7758524978deba094224c8a5d) ) ROM_LOAD( "13303.094", 0x02000, 0x02000, CRC(2bf711d0) SHA1(bf20177e1b07b12b4ef833072b313a2917d1b65e) ) ROM_LOAD( "13304.095", 0x04000, 0x02000, CRC(06b8675b) SHA1(8b25a473c03f8210f5d8542c0dc6643c499a0afa) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "13301.070", 0x00000, 0x2000, CRC(aa6d3b9d) SHA1(cb1f148495b029b73f5a32c5162dcc54c0387b4e) ) /* U92 = Empty */ /* U69 = Empty */ @@ -1311,12 +1311,12 @@ ROM_START( wseries ) ROM_LOAD( "02-13422-00.u9", 0x1a000, 0x02000, CRC(222e8405) SHA1(a1cc700e06df43847b635858d21ff2e45d8e00ab) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "02-13401-00.u93", 0x00000, 0x04000, CRC(4ea3e641) SHA1(7628fbf25b5e36d06818d2f9cdc66e2fb15cba4f) ) ROM_LOAD( "02-13402-00.u94", 0x04000, 0x04000, CRC(71a8a56c) SHA1(b793a9641dd5d4cd122fb8f5cf1eef5dc3fd475c) ) ROM_LOAD( "02-13403-00.u95", 0x08000, 0x04000, CRC(8077ae25) SHA1(15bb1f99e8aea67b9057ef5ef8570f33470a24a3) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "02-13404-00.u92", 0x04000, 0x4000, CRC(22da40aa) SHA1(a0306f795f1300d9ab88356ab44117764f6f22a4) ) ROM_LOAD( "02-13405-00.u69", 0x08000, 0x4000, CRC(6f65b313) SHA1(2ae85686f679eaa8be15f0cd7d5af61af966c4bd) ) @@ -1362,12 +1362,12 @@ ROM_START( wseries0 ) ROM_LOAD( "02-13422-00.u9", 0x1a000, 0x02000, CRC(222e8405) SHA1(a1cc700e06df43847b635858d21ff2e45d8e00ab) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "02-13401-00.u93", 0x00000, 0x04000, CRC(4ea3e641) SHA1(7628fbf25b5e36d06818d2f9cdc66e2fb15cba4f) ) ROM_LOAD( "02-13402-00.u94", 0x04000, 0x04000, CRC(71a8a56c) SHA1(b793a9641dd5d4cd122fb8f5cf1eef5dc3fd475c) ) ROM_LOAD( "02-13403-00.u95", 0x08000, 0x04000, CRC(8077ae25) SHA1(15bb1f99e8aea67b9057ef5ef8570f33470a24a3) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "02-13404-00.u92", 0x04000, 0x4000, CRC(22da40aa) SHA1(a0306f795f1300d9ab88356ab44117764f6f22a4) ) ROM_LOAD( "02-13405-00.u69", 0x08000, 0x4000, CRC(6f65b313) SHA1(2ae85686f679eaa8be15f0cd7d5af61af966c4bd) ) @@ -1413,12 +1413,12 @@ ROM_START( alleymas ) ROM_LOAD( "009", 0x1a000, 0x02000, CRC(6d74274e) SHA1(10bb04243eabeb8178884b4e0691c5e1765a1dc4) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x06000, "gfx1", 0 ) + ROM_REGION( 0x06000, "bg_gfx", 0 ) ROM_LOAD( "093", 0x00000, 0x02000, CRC(54456e6f) SHA1(be41711f57b5b9bd6651399f0df00c538ca1a3a5) ) ROM_LOAD( "094", 0x02000, 0x02000, CRC(edc240da) SHA1(a812ab0cccb20cd68e9dbe283d4aab92f540af24) ) ROM_LOAD( "095", 0x04000, 0x02000, CRC(19793ed0) SHA1(2a3cb81726977b29c88d47c90d6e15a7e287c836) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "092", 0x04000, 0x2000, CRC(a020eab5) SHA1(2f4f51f0eff8a042bf23d5f3ff42166db56e7822) ) ROM_LOAD( "069", 0x08000, 0x2000, CRC(79abb979) SHA1(dfff8ea4d13dd0db2836e75b6b57f5f3ddac0201) ) @@ -1464,12 +1464,12 @@ ROM_START( upyoural ) ROM_LOAD( "uya-u9.bin", 0x1a000, 0x02000, CRC(6d74274e) SHA1(10bb04243eabeb8178884b4e0691c5e1765a1dc4) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "uya-u93.bin", 0x00000, 0x04000, CRC(e8addd70) SHA1(6fd6a09fbdbe866440c3205b103e4bede7e4b2d5) ) ROM_LOAD( "uya-u94.bin", 0x04000, 0x04000, CRC(3fd3be09) SHA1(abdafbf9472fe3320be1a3effd13407dadf66709) ) ROM_LOAD( "uya-u95.bin", 0x08000, 0x04000, CRC(37088dd1) SHA1(35e4a3b338baceae2e4b8ac6d95691af49ebc3c1) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "uya-u92.bin", 0x04000, 0x2000, CRC(a020eab5) SHA1(2f4f51f0eff8a042bf23d5f3ff42166db56e7822) ) ROM_LOAD( "uya-u69.bin", 0x08000, 0x2000, CRC(79abb979) SHA1(dfff8ea4d13dd0db2836e75b6b57f5f3ddac0201) ) @@ -1502,12 +1502,12 @@ ROM_START( dangerz ) ROM_LOAD( "13821.8", 0x18000, 0x02000, CRC(92f3e006) SHA1(134a2412ddc700473b70aec6331b1a65db3c7e29) ) ROM_CONTINUE( 0x24000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "13801.93", 0x00000, 0x04000, CRC(f9ff55ec) SHA1(2eab55b3708def97f22a1f13d1faa0bfe19c18e9) ) ROM_LOAD( "13802.94", 0x04000, 0x04000, CRC(d4adbcbb) SHA1(dfd427d5a0db309cc7e056857c3b63a1b6e7769b) ) ROM_LOAD( "13803.95", 0x08000, 0x04000, CRC(9178ed76) SHA1(f05568eea53c38f46b16217e63b73194d3a3c500) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "13809.70", 0x00000, 0x4000, CRC(e44eb9f5) SHA1(f15e4262eb96989cbd13a4cbf0b4a0ab390005aa) ) ROM_LOAD( "13804.92", 0x04000, 0x4000, CRC(6c23f1a5) SHA1(0de32ba7b5796bfe37b142fb892beb223f27c381) ) ROM_LOAD( "13805.69", 0x08000, 0x4000, CRC(e9c9f38b) SHA1(6a03cf9ab4d06f05d4fb846f14eab22467c79661) ) @@ -1566,12 +1566,12 @@ ROM_START( basebal2 ) ROM_LOAD( "03-14106-01.u9", 0x1a000, 0x02000, CRC(b9656baa) SHA1(41b25ee6127981b703859c07f730e94f5694faff) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "03-14112-00.u93", 0x00000, 0x04000, CRC(8ccb1404) SHA1(28ef5a7da1b9edf7ecbba0fd473599df5d181602) ) ROM_LOAD( "03-14113-00.u94", 0x04000, 0x04000, CRC(9941a55b) SHA1(6917b70bb2a7a23c0517fde43e9375a7dbd64c18) ) ROM_LOAD( "03-14114-00.u95", 0x08000, 0x04000, CRC(b68baf47) SHA1(ea1d5efe696af56ef5b9161c00957b2a9c7ce372) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "03-14111-01.u92", 0x04000, 0x4000, CRC(2508a9ad) SHA1(f0a56d1b8dbe57b16dc1b3d21980149bbdcd0068) ) ROM_LOAD( "03-14109-00.u69", 0x08000, 0x4000, CRC(b123a28e) SHA1(8d244db422aee9117e901e7d150cdefcbf96dd53) ) @@ -1624,12 +1624,12 @@ ROM_START( dblplay ) ROM_LOAD( "15006-01.u09", 0x1a000, 0x02000, CRC(ab3aac49) SHA1(699a6a66e6b35f1b287ff1ab3a12365dbdc16041) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "15015-01.u93", 0x00000, 0x04000, CRC(8ccb1404) SHA1(28ef5a7da1b9edf7ecbba0fd473599df5d181602) ) ROM_LOAD( "15016-01.u94", 0x04000, 0x04000, CRC(9941a55b) SHA1(6917b70bb2a7a23c0517fde43e9375a7dbd64c18) ) ROM_LOAD( "15017-01.u95", 0x08000, 0x04000, CRC(b68baf47) SHA1(ea1d5efe696af56ef5b9161c00957b2a9c7ce372) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "15014-01.u92", 0x04000, 0x4000, CRC(2508a9ad) SHA1(f0a56d1b8dbe57b16dc1b3d21980149bbdcd0068) ) ROM_LOAD( "15009-01.u69", 0x08000, 0x4000, CRC(b123a28e) SHA1(8d244db422aee9117e901e7d150cdefcbf96dd53) ) @@ -1690,12 +1690,12 @@ ROM_START( strkzone ) ROM_LOAD( "strkzone.u9", 0x1a000, 0x02000, CRC(ab3aac49) SHA1(699a6a66e6b35f1b287ff1ab3a12365dbdc16041) ) ROM_CONTINUE( 0x26000, 0x02000 ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "strkzone.u93", 0x00000, 0x04000, CRC(8ccb1404) SHA1(28ef5a7da1b9edf7ecbba0fd473599df5d181602) ) ROM_LOAD( "strkzone.u94", 0x04000, 0x04000, CRC(9941a55b) SHA1(6917b70bb2a7a23c0517fde43e9375a7dbd64c18) ) ROM_LOAD( "strkzone.u95", 0x08000, 0x04000, CRC(b68baf47) SHA1(ea1d5efe696af56ef5b9161c00957b2a9c7ce372) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* U70 = Empty */ ROM_LOAD( "strkzone.u92", 0x04000, 0x4000, CRC(2508a9ad) SHA1(f0a56d1b8dbe57b16dc1b3d21980149bbdcd0068) ) ROM_LOAD( "strkzone.u69", 0x08000, 0x4000, CRC(b123a28e) SHA1(8d244db422aee9117e901e7d150cdefcbf96dd53) ) @@ -1742,12 +1742,12 @@ ROM_START( redlin2p ) ROM_LOAD16_BYTE( "u17t", 0x0e0001, 0x10000, CRC(8d26f221) SHA1(cd5b1d88fec0ff1ab7af554a9fcffc43d33a12e7) ) ROM_LOAD16_BYTE( "u28t", 0x0e0000, 0x10000, CRC(7aa21b2c) SHA1(5fd9f49d4bb1dc28393b9df76dfa19e28677639b) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "02-13930-01.u93", 0x00000, 0x04000, CRC(0721f42e) SHA1(fe3d447316b1e6c7c1b6849319fad1aebe5e6aa1) ) ROM_LOAD( "02-13929-01.u94", 0x04000, 0x04000, CRC(1522e7b2) SHA1(540fc55013a22a5afb32a89b42ef9b11dbe36d97) ) ROM_LOAD( "02-13928-01.u95", 0x08000, 0x04000, CRC(c321b5d1) SHA1(d1524165e71fe200cab6fd6f6327da0e6efc6868) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "02-13920-01.u70", 0x00000, 0x4000, CRC(f343d34a) SHA1(161348e082afeb69862c3752f4dd536166edad21) ) ROM_LOAD( "02-13921-01.u92", 0x04000, 0x4000, CRC(c9ba8d41) SHA1(777a504e3ffe6c3da94f71eb1b14e05dc861db66) ) ROM_LOAD( "02-13922-01.u69", 0x08000, 0x4000, CRC(276cfba0) SHA1(4b252f21e2d1314801cf9329ed9383ff9158c382) ) @@ -1802,12 +1802,12 @@ ROM_START( quarterb ) ROM_LOAD16_BYTE( "03-15220-02.u43t", 0x0e0001, 0x10000, CRC(48a8a018) SHA1(f50d66feeab32f1edc47f4b3f33e579c06fd979e) ) ROM_LOAD16_BYTE( "03-15223-02.u60t", 0x0e0000, 0x10000, CRC(6a299766) SHA1(4e5b1f930f668302496a314bbe8876a21012fb20) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "03-15215-01.u93", 0x00000, 0x04000, CRC(4fb678d7) SHA1(ca729ca8d2ba1e22a7b650ddfc330e85e294e48f) ) ROM_LOAD( "03-15216-01.u94", 0x04000, 0x04000, CRC(7b57a44c) SHA1(b28ecdc8b1579e677a58a4b5257d5d754783148f) ) ROM_LOAD( "03-15217-01.u95", 0x08000, 0x04000, CRC(29bc33fd) SHA1(e85d20b24144c5b0f6ffa6dc96f1abb35bce437a) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-15210-01.u70", 0x00000, 0x4000, CRC(a5aea20e) SHA1(c5b40bdb63cd29386f73e69b814c37eb43dadbac) ) ROM_LOAD( "03-15214-01.u92", 0x04000, 0x4000, CRC(36f261ca) SHA1(d42868c9ace5bec75b74268393755340ccafea59) ) ROM_LOAD( "03-15209-01.u69", 0x08000, 0x4000, CRC(0f5d74a4) SHA1(76bd78153a5f986ffdd0db606a1e2a0b895b4832) ) @@ -1849,12 +1849,12 @@ ROM_START( quarterba ) ROM_LOAD16_BYTE( "03-15220-01.u43t", 0x0e0001, 0x10000, CRC(ccb6c8d7) SHA1(bafe1ba6259f396cfa91fc6d2ff7832199763f3e) ) ROM_LOAD16_BYTE( "03-15223-01.u60t", 0x0e0000, 0x10000, CRC(c0ee425d) SHA1(4edbd62b8bb7f814e7ffa3111e6fb1e8b6615ae8) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "03-15215-01.u93", 0x00000, 0x04000, CRC(4fb678d7) SHA1(ca729ca8d2ba1e22a7b650ddfc330e85e294e48f) ) ROM_LOAD( "03-15216-01.u94", 0x04000, 0x04000, CRC(7b57a44c) SHA1(b28ecdc8b1579e677a58a4b5257d5d754783148f) ) ROM_LOAD( "03-15217-01.u95", 0x08000, 0x04000, CRC(29bc33fd) SHA1(e85d20b24144c5b0f6ffa6dc96f1abb35bce437a) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-15210-01.u70", 0x00000, 0x4000, CRC(a5aea20e) SHA1(c5b40bdb63cd29386f73e69b814c37eb43dadbac) ) ROM_LOAD( "03-15214-01.u92", 0x04000, 0x4000, CRC(36f261ca) SHA1(d42868c9ace5bec75b74268393755340ccafea59) ) ROM_LOAD( "03-15209-01.u69", 0x08000, 0x4000, CRC(0f5d74a4) SHA1(76bd78153a5f986ffdd0db606a1e2a0b895b4832) ) @@ -1904,12 +1904,12 @@ ROM_START( quarterbc ) ROM_LOAD16_BYTE( "03-15220-02.u43t", 0x0e0001, 0x10000, CRC(48a8a018) SHA1(f50d66feeab32f1edc47f4b3f33e579c06fd979e) ) ROM_LOAD16_BYTE( "03-15223-02.u60t", 0x0e0000, 0x10000, CRC(6a299766) SHA1(4e5b1f930f668302496a314bbe8876a21012fb20) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "03-15502-01.u93", 0x00000, 0x04000, CRC(5c2abd20) SHA1(a67457249d9c3bb18c4f572b5c2ebaa62b72bc0d) ) ROM_LOAD( "03-15503-01.u94", 0x04000, 0x04000, CRC(544a192c) SHA1(cc7dc0af60a5d578bc80591c6e0e1b9fcb940fd7) ) ROM_LOAD( "03-15504-01.u95", 0x08000, 0x04000, CRC(c8bb7ab4) SHA1(bef121653e61173896b9f5f4b80d4b5b38ec1ec6) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-15500-01.u70", 0x00000, 0x4000, CRC(1cf82a44) SHA1(e719e04ebacf5a959b577592884963da60722076) ) ROM_LOAD( "03-15501-01.u92", 0x04000, 0x4000, CRC(281be799) SHA1(ea3097d5ad5a7b1115c97865da4e81efca60ea32) ) ROM_LOAD( "03-15209-01.u69", 0x08000, 0x4000, CRC(0f5d74a4) SHA1(76bd78153a5f986ffdd0db606a1e2a0b895b4832) ) @@ -1943,12 +1943,12 @@ ROM_START( viper ) ROM_LOAD16_BYTE( "15618-02.u43t", 0x0e0001, 0x10000, CRC(5562e0c3) SHA1(4c7b0cedc5adc4e24a1cd6010591205ddb16d554) ) ROM_LOAD16_BYTE( "15621-02.u60t", 0x0e0000, 0x10000, CRC(cb468f2b) SHA1(f37596c781b1d7c49d8f62d289c15a2ae0d752cc) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "15609-01.u93", 0x00000, 0x04000, CRC(08ad92e9) SHA1(6eaffd58f03db3a67871ce7390b01754842e2574) ) ROM_LOAD( "15610-01.u94", 0x04000, 0x04000, CRC(d4e56dfb) SHA1(0fc83847b8629534b15f9366f197c87e3c81c61a) ) ROM_LOAD( "15611-01.u95", 0x08000, 0x04000, CRC(3a2c46fb) SHA1(e96849447852a9922e72f7f1908c76fea3c603c4) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "15604-01.u70", 0x00000, 0x4000, CRC(7e3b0cce) SHA1(d9002df27e3de28d40a9cfb081512526987377b2) ) ROM_LOAD( "15608-01.u92", 0x04000, 0x4000, CRC(a9bde0ef) SHA1(84f55bc62fc49ae0232ada2ac192c5c8a2519703) ) ROM_LOAD( "15603-01.u69", 0x08000, 0x4000, CRC(aecc9516) SHA1(513ae810d62d5df29a96a567a7c024f12c6837d5) ) @@ -1993,12 +1993,12 @@ John Elway's Team Quarterback, the label format is: ROM_LOAD16_BYTE( "03-15625-01.u27t", 0x0e0001, 0x10000, CRC(ac442523) SHA1(d05dcc413eb39b0938890ef80ec7b636773bb1a3) ) ROM_LOAD16_BYTE( "03-15622-01.u15t", 0x0e0000, 0x10000, CRC(9e84509a) SHA1(4c3a3e5192ba6c38d8391eedf817350795bddb8f) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "03-15615-01.u93", 0x00000, 0x04000, CRC(a7ea6a87) SHA1(5cfd9ed6a5ffc8e86d18b7d8496761b9086b6368) ) ROM_LOAD( "03-15616-01.u94", 0x04000, 0x04000, CRC(4a9b3900) SHA1(00398cc5056c999673604e414c9c0338d83b13d4) ) ROM_LOAD( "03-15617-01.u95", 0x08000, 0x04000, CRC(2cd95edb) SHA1(939ff97562535b05f427186b085a74a8fe5a332a) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-15611-01.u70", 0x00000, 0x4000, CRC(bf2695fb) SHA1(58a6d1e9e83912f7567eabdf54278db85061c284) ) ROM_LOAD( "03-15614-01.u92", 0x04000, 0x4000, CRC(c93fd870) SHA1(1086334496a4d1900a2d697cbd2575a77df89d65) ) ROM_LOAD( "03-15610-01.u69", 0x08000, 0x4000, CRC(3e5b786f) SHA1(13d2ab7b6a1182933272b597718d3e715b547a10) ) @@ -2035,12 +2035,12 @@ ROM_START( teamqb2 ) ROM_LOAD16_BYTE( "03-15625-01.u27t", 0x0e0001, 0x10000, CRC(ac442523) SHA1(d05dcc413eb39b0938890ef80ec7b636773bb1a3) ) ROM_LOAD16_BYTE( "03-15622-01.u15t", 0x0e0000, 0x10000, CRC(9e84509a) SHA1(4c3a3e5192ba6c38d8391eedf817350795bddb8f) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "03-15615-01.u93", 0x00000, 0x04000, CRC(a7ea6a87) SHA1(5cfd9ed6a5ffc8e86d18b7d8496761b9086b6368) ) ROM_LOAD( "03-15616-01.u94", 0x04000, 0x04000, CRC(4a9b3900) SHA1(00398cc5056c999673604e414c9c0338d83b13d4) ) ROM_LOAD( "03-15617-01.u95", 0x08000, 0x04000, CRC(2cd95edb) SHA1(939ff97562535b05f427186b085a74a8fe5a332a) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-15611-01.u70", 0x00000, 0x4000, CRC(bf2695fb) SHA1(58a6d1e9e83912f7567eabdf54278db85061c284) ) ROM_LOAD( "03-15614-01.u92", 0x04000, 0x4000, CRC(c93fd870) SHA1(1086334496a4d1900a2d697cbd2575a77df89d65) ) ROM_LOAD( "03-15610-01.u69", 0x08000, 0x4000, CRC(3e5b786f) SHA1(13d2ab7b6a1182933272b597718d3e715b547a10) ) @@ -2078,12 +2078,12 @@ ROM_START( aafb ) ROM_LOAD16_BYTE( "02-24021-01.u27", 0x0e0001, 0x10000, CRC(94081899) SHA1(289eb2f494d1110d169552e8898296e4a47fcb1d) ) ROM_LOAD16_BYTE( "02-24018-01.u15", 0x0e0000, 0x10000, CRC(76eb6077) SHA1(255731c63f4a846bb01d4203a786eb34a4734e66) ) - ROM_REGION( 0x0c000, "gfx1", 0 ) + ROM_REGION( 0x0c000, "bg_gfx", 0 ) ROM_LOAD( "03-28008.u93", 0x00000, 0x04000, CRC(68f8addc) SHA1(a52c408e2e9022f96fb766065d7266deb0df2e5f) ) ROM_LOAD( "03-28009.u94", 0x04000, 0x04000, CRC(669791ac) SHA1(e8b7bdec313ea9d40f89f13499a31f0b125951a8) ) ROM_LOAD( "03-28010.u95", 0x08000, 0x04000, CRC(bd62aa8a) SHA1(c8a177a11ec94671bb3bd5883b40692495c049a2) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-28005.u70", 0x00000, 0x4000, CRC(5ca6f4e2) SHA1(76c86d432fac27d0b30f38e12d340b013baf0dd4) ) ROM_LOAD( "03-28007.u92", 0x04000, 0x4000, CRC(1d9e33c2) SHA1(0b05d1dc20eb9dd803056113265ac6a43291711b) ) ROM_LOAD( "03-28004.u69", 0x08000, 0x4000, CRC(d4b8a471) SHA1(a9940f749a756409da303c1ebbd2382f635e9a3f) ) @@ -2128,12 +2128,12 @@ ROM_START( aafbb ) ROM_LOAD16_BYTE( "02-24021-01.u27", 0x0e0001, 0x10000, CRC(94081899) SHA1(289eb2f494d1110d169552e8898296e4a47fcb1d) ) ROM_LOAD16_BYTE( "02-24018-01.u15", 0x0e0000, 0x10000, CRC(76eb6077) SHA1(255731c63f4a846bb01d4203a786eb34a4734e66) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "02-24011-02.u93", 0x00000, 0x08000, CRC(71f4425b) SHA1(074c79d709bf9e927f538932ef05b13e5e649197) ) ROM_LOAD( "02-24012-02.u94", 0x08000, 0x08000, CRC(b2499547) SHA1(cf5979e56cc307133cbdbfdba448cdf3087eaf8c) ) ROM_LOAD( "02-24013-02.u95", 0x10000, 0x08000, CRC(0a604e0d) SHA1(08917c3e9fb408b8e128fe2e3617c8c17d964d66) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "02-24007-01.u70", 0x00000, 0x4000, CRC(40e46aa4) SHA1(e8a27c9007218906683eac29affdd748f64cc6e6) ) ROM_LOAD( "02-24010-01.u92", 0x04000, 0x4000, CRC(78705f42) SHA1(4b941df0690a8ce4e390b0488a7ce7e083f52ff3) ) ROM_LOAD( "02-24006-01.u69", 0x08000, 0x4000, CRC(6a576aa9) SHA1(8849929c66012de6d2d8c1b4faefe71f11133aac) ) @@ -2170,12 +2170,12 @@ ROM_START( aafbc ) ROM_LOAD16_BYTE( "02-24021-01.u27", 0x0e0001, 0x10000, CRC(94081899) SHA1(289eb2f494d1110d169552e8898296e4a47fcb1d) ) ROM_LOAD16_BYTE( "02-24018-01.u15", 0x0e0000, 0x10000, CRC(76eb6077) SHA1(255731c63f4a846bb01d4203a786eb34a4734e66) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "02-24011-02.u93", 0x00000, 0x08000, CRC(71f4425b) SHA1(074c79d709bf9e927f538932ef05b13e5e649197) ) ROM_LOAD( "02-24012-02.u94", 0x08000, 0x08000, CRC(b2499547) SHA1(cf5979e56cc307133cbdbfdba448cdf3087eaf8c) ) ROM_LOAD( "02-24013-02.u95", 0x10000, 0x08000, CRC(0a604e0d) SHA1(08917c3e9fb408b8e128fe2e3617c8c17d964d66) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "02-24007-01.u70", 0x00000, 0x4000, CRC(40e46aa4) SHA1(e8a27c9007218906683eac29affdd748f64cc6e6) ) ROM_LOAD( "02-24010-01.u92", 0x04000, 0x4000, CRC(78705f42) SHA1(4b941df0690a8ce4e390b0488a7ce7e083f52ff3) ) ROM_LOAD( "02-24006-01.u69", 0x08000, 0x4000, CRC(6a576aa9) SHA1(8849929c66012de6d2d8c1b4faefe71f11133aac) ) @@ -2212,12 +2212,12 @@ ROM_START( aafbd2p ) ROM_LOAD16_BYTE( "02-24021-01.u27", 0x0e0001, 0x10000, CRC(94081899) SHA1(289eb2f494d1110d169552e8898296e4a47fcb1d) ) ROM_LOAD16_BYTE( "02-24018-01.u15", 0x0e0000, 0x10000, CRC(76eb6077) SHA1(255731c63f4a846bb01d4203a786eb34a4734e66) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "02-24011-02.u93", 0x00000, 0x08000, CRC(71f4425b) SHA1(074c79d709bf9e927f538932ef05b13e5e649197) ) ROM_LOAD( "02-24012-02.u94", 0x08000, 0x08000, CRC(b2499547) SHA1(cf5979e56cc307133cbdbfdba448cdf3087eaf8c) ) ROM_LOAD( "02-24013-02.u95", 0x10000, 0x08000, CRC(0a604e0d) SHA1(08917c3e9fb408b8e128fe2e3617c8c17d964d66) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "02-24007-01.u70", 0x00000, 0x4000, CRC(40e46aa4) SHA1(e8a27c9007218906683eac29affdd748f64cc6e6) ) ROM_LOAD( "02-24010-01.u92", 0x04000, 0x4000, CRC(78705f42) SHA1(4b941df0690a8ce4e390b0488a7ce7e083f52ff3) ) ROM_LOAD( "02-24006-01.u69", 0x08000, 0x4000, CRC(6a576aa9) SHA1(8849929c66012de6d2d8c1b4faefe71f11133aac) ) @@ -2262,12 +2262,12 @@ ROM_START( offroad ) ROM_LOAD16_BYTE( "03-22118-03.u27t", 0x0e0001, 0x10000, CRC(806ccf8b) SHA1(7335a85fc84d5c2f7537548c3856c9cd2f267609) ) ROM_LOAD16_BYTE( "03-22115-03.u15t", 0x0e0000, 0x10000, CRC(c8439a7a) SHA1(9a8bb1fca8d3414dcfd4839bc0c4289e4d810943) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "03-22105-01.u93", 0x00000, 0x08000, CRC(4426e367) SHA1(298203112d724feb9a75a7bfc34b3dbb4d7fffe7) ) ROM_LOAD( "03-22106-02.u94", 0x08000, 0x08000, CRC(687dc1fc) SHA1(876c72561d942ebc5f3a148d3d3efdceb39c9e2e) ) ROM_LOAD( "03-22107-02.u95", 0x10000, 0x08000, CRC(cee6ee5f) SHA1(3f1c6e8d9eb9de207cabca7c9d6d8d633bd69681) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* 70 = empty */ ROM_LOAD( "03-22104-01.u92", 0x04000, 0x4000, CRC(03e0497d) SHA1(bffd870251d51cce262961b77f1953f360f9607b) ) ROM_LOAD( "03-22102-01.u69", 0x08000, 0x4000, CRC(c3f2e443) SHA1(82f22dabc99b3aaa94acaa303735a155ac13e592) ) @@ -2312,12 +2312,12 @@ ROM_START( offroad3 ) ROM_LOAD16_BYTE( "03-22118-03.u27t", 0x0e0001, 0x10000, CRC(806ccf8b) SHA1(7335a85fc84d5c2f7537548c3856c9cd2f267609) ) ROM_LOAD16_BYTE( "03-22115-03.u15t", 0x0e0000, 0x10000, CRC(c8439a7a) SHA1(9a8bb1fca8d3414dcfd4839bc0c4289e4d810943) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "03-22105-01.u93", 0x00000, 0x08000, CRC(4426e367) SHA1(298203112d724feb9a75a7bfc34b3dbb4d7fffe7) ) ROM_LOAD( "03-22106-02.u94", 0x08000, 0x08000, CRC(687dc1fc) SHA1(876c72561d942ebc5f3a148d3d3efdceb39c9e2e) ) ROM_LOAD( "03-22107-02.u95", 0x10000, 0x08000, CRC(cee6ee5f) SHA1(3f1c6e8d9eb9de207cabca7c9d6d8d633bd69681) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* 70 = empty */ ROM_LOAD( "03-22104-01.u92", 0x04000, 0x4000, CRC(03e0497d) SHA1(bffd870251d51cce262961b77f1953f360f9607b) ) ROM_LOAD( "03-22102-01.u69", 0x08000, 0x4000, CRC(c3f2e443) SHA1(82f22dabc99b3aaa94acaa303735a155ac13e592) ) @@ -2364,12 +2364,12 @@ ROM_START( offroadt ) ROM_LOAD16_BYTE( "03-25023-01.u27t", 0x0e0001, 0x10000, CRC(b80c5f99) SHA1(6b0657db870fb4e14e20cbd955655d0990dd7bda) ) ROM_LOAD16_BYTE( "03-25020-01.u15t", 0x0e0000, 0x10000, CRC(2a1a1c3c) SHA1(990328240a2dba7264bb5add5ea8cae2752327d9) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "ortpu93b.bin", 0x00000, 0x08000, CRC(f0c1d8b0) SHA1(aa6e53b56474fa97b17b60ef1123a28442482b80) ) ROM_LOAD( "ortpu94b.bin", 0x08000, 0x08000, CRC(7460d8c0) SHA1(9e3560056da89108c58b320125deeed0e009d0a8) ) ROM_LOAD( "ortpu95b.bin", 0x10000, 0x08000, CRC(081ee7a8) SHA1(2b884a8ed4173b64f7890edf9a6954c62b5ba012) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* 70 = empty */ ROM_LOAD( "ortpu92b.bin", 0x04000, 0x4000, CRC(f9988e28) SHA1(250071f4a26782266303331ddbef5479cc241220) ) ROM_LOAD( "ortpu69b.bin", 0x08000, 0x4000, CRC(fe5f8d8f) SHA1(5e520da33f30a594c8f37e8e214d0d257ba5c801) ) @@ -2422,12 +2422,12 @@ ROM_START( offroadt2p ) ROM_LOAD16_BYTE( "03-25023-01.u27t", 0x0e0001, 0x10000, CRC(b80c5f99) SHA1(6b0657db870fb4e14e20cbd955655d0990dd7bda) ) ROM_LOAD16_BYTE( "03-25020-01.u15t", 0x0e0000, 0x10000, CRC(2a1a1c3c) SHA1(990328240a2dba7264bb5add5ea8cae2752327d9) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "ortpu93b.bin", 0x00000, 0x08000, CRC(f0c1d8b0) SHA1(aa6e53b56474fa97b17b60ef1123a28442482b80) ) ROM_LOAD( "ortpu94b.bin", 0x08000, 0x08000, CRC(7460d8c0) SHA1(9e3560056da89108c58b320125deeed0e009d0a8) ) ROM_LOAD( "ortpu95b.bin", 0x10000, 0x08000, CRC(081ee7a8) SHA1(2b884a8ed4173b64f7890edf9a6954c62b5ba012) ) - ROM_REGION( 0x20000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x20000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ /* 70 = empty */ ROM_LOAD( "ortpu92b.bin", 0x04000, 0x4000, CRC(f9988e28) SHA1(250071f4a26782266303331ddbef5479cc241220) ) ROM_LOAD( "ortpu69b.bin", 0x08000, 0x4000, CRC(fe5f8d8f) SHA1(5e520da33f30a594c8f37e8e214d0d257ba5c801) ) @@ -2474,12 +2474,12 @@ ROM_START( pigout ) ROM_LOAD16_BYTE( "03-29027-01.u27t", 0x0e0001, 0x10000, CRC(37a8156e) SHA1(a0b44b1ba6701daaa26576c6c892fd97ec82d5e3) ) ROM_LOAD16_BYTE( "03-29024-01.u15t", 0x0e0000, 0x10000, CRC(1c60d58b) SHA1(93f83a231d06cd958d3539a528e6ee6c2d9904ed) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "03-29016-01.u93", 0x000000, 0x08000, CRC(f102a04d) SHA1(3ecc0ab34a5d6e760679dc5fd7d32dd439f797d5) ) ROM_LOAD( "03-29017-01.u94", 0x008000, 0x08000, CRC(ec63c015) SHA1(10010a17ffda468dbe2940fae6aae49c56e1ad78) ) ROM_LOAD( "03-29018-01.u95", 0x010000, 0x08000, CRC(ba6e797e) SHA1(135f905b7663026a99fd9aca8e0247a72bf43cdb) ) - ROM_REGION( 0x40000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x40000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-29011-01.u70", 0x00000, 0x4000, CRC(7db4eaa1) SHA1(e1ec186a8359b3302071e87577092008065c39de) ) ROM_LOAD( "03-29015-01.u92", 0x04000, 0x4000, CRC(20fa57bb) SHA1(7e94698a25c5459991f0e99a50e5e98f392cda41) ) ROM_LOAD( "03-29010-01.u69", 0x08000, 0x4000, CRC(a16886f3) SHA1(48a0cbbea80cc38cd4d5594d3367282690724c59) ) @@ -2539,12 +2539,12 @@ ROM_START( pigouta ) ROM_LOAD16_BYTE( "03-29027-01.u27t", 0x0e0001, 0x10000, CRC(37a8156e) SHA1(a0b44b1ba6701daaa26576c6c892fd97ec82d5e3) ) ROM_LOAD16_BYTE( "03-29024-01.u15t", 0x0e0000, 0x10000, CRC(1c60d58b) SHA1(93f83a231d06cd958d3539a528e6ee6c2d9904ed) ) - ROM_REGION( 0x18000, "gfx1", 0 ) + ROM_REGION( 0x18000, "bg_gfx", 0 ) ROM_LOAD( "03-29016-01.u93", 0x000000, 0x08000, CRC(f102a04d) SHA1(3ecc0ab34a5d6e760679dc5fd7d32dd439f797d5) ) ROM_LOAD( "03-29017-01.u94", 0x008000, 0x08000, CRC(ec63c015) SHA1(10010a17ffda468dbe2940fae6aae49c56e1ad78) ) ROM_LOAD( "03-29018-01.u95", 0x010000, 0x08000, CRC(ba6e797e) SHA1(135f905b7663026a99fd9aca8e0247a72bf43cdb) ) - ROM_REGION( 0x40000, "user1", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ + ROM_REGION( 0x40000, "bg_prom", 0 ) /* Ordering: 70/92/69/91/68/90/67/89 */ ROM_LOAD( "03-29011-01.u70", 0x00000, 0x4000, CRC(7db4eaa1) SHA1(e1ec186a8359b3302071e87577092008065c39de) ) ROM_LOAD( "03-29015-01.u92", 0x04000, 0x4000, CRC(20fa57bb) SHA1(7e94698a25c5459991f0e99a50e5e98f392cda41) ) ROM_LOAD( "03-29010-01.u69", 0x08000, 0x4000, CRC(a16886f3) SHA1(48a0cbbea80cc38cd4d5594d3367282690724c59) ) @@ -2607,7 +2607,7 @@ ROM_START( ataxx ) ROM_LOAD16_BYTE( "e-302-31002-01.u2", 0x60000, 0x20000, CRC(ca06a394) SHA1(0858908bd150dd7354536e10b2a386b45f17ac9f) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_REGION( 0xc0000, "bg_gfx", 0 ) ROM_LOAD( "e-302-31006-01.u98", 0x00000, 0x20000, CRC(59d0f2ae) SHA1(8da5dc006e192af98458227e79421b6a07ac1cdc) ) ROM_LOAD( "e-302-31007-01.u99", 0x20000, 0x20000, CRC(6ab7db25) SHA1(25c2fa23b99ac4bab5a9b851c2087de44512a5c2) ) ROM_LOAD( "e-302-31008-01.u100", 0x40000, 0x20000, CRC(2352849e) SHA1(f49394b6efb6a87d86516ec0a5ddd582f96f7e5d) ) @@ -2615,7 +2615,7 @@ ROM_START( ataxx ) ROM_LOAD( "e-302-31010-01.u102", 0x80000, 0x20000, CRC(a951228c) SHA1(7ec5cf4d0aa3702be9236d155bea373a06c0be03) ) ROM_LOAD( "e-302-31011-01.u103", 0xa0000, 0x20000, CRC(ed326164) SHA1(8706192f525ece200587cee7e7beb4a1975bf63e) ) - ROM_REGION( 0x00001, "user1", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x40000, "xrom", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ /* Empty / not used */ ROM_REGION16_BE( 0x100, "eeprom", 0 ) @@ -2640,7 +2640,7 @@ ROM_START( ataxxa ) ROM_LOAD16_BYTE( "e-302-31002-01.u2", 0x60000, 0x20000, CRC(ca06a394) SHA1(0858908bd150dd7354536e10b2a386b45f17ac9f) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_REGION( 0xc0000, "bg_gfx", 0 ) ROM_LOAD( "e-302-31006-01.u98", 0x00000, 0x20000, CRC(59d0f2ae) SHA1(8da5dc006e192af98458227e79421b6a07ac1cdc) ) ROM_LOAD( "e-302-31007-01.u99", 0x20000, 0x20000, CRC(6ab7db25) SHA1(25c2fa23b99ac4bab5a9b851c2087de44512a5c2) ) ROM_LOAD( "e-302-31008-01.u100", 0x40000, 0x20000, CRC(2352849e) SHA1(f49394b6efb6a87d86516ec0a5ddd582f96f7e5d) ) @@ -2648,7 +2648,7 @@ ROM_START( ataxxa ) ROM_LOAD( "e-302-31010-01.u102", 0x80000, 0x20000, CRC(a951228c) SHA1(7ec5cf4d0aa3702be9236d155bea373a06c0be03) ) ROM_LOAD( "e-302-31011-01.u103", 0xa0000, 0x20000, CRC(ed326164) SHA1(8706192f525ece200587cee7e7beb4a1975bf63e) ) - ROM_REGION( 0x00001, "user1", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x40000, "xrom", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ /* Empty / not used */ ROM_REGION16_BE( 0x100, "eeprom", 0 ) @@ -2673,7 +2673,7 @@ ROM_START( ataxxe ) ROM_LOAD16_BYTE( "302-38002-01.u2", 0x60000, 0x20000, CRC(1b63b882) SHA1(cb04e641fc173f787a0f48c98f5198db265c26d8) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_REGION( 0xc0000, "bg_gfx", 0 ) ROM_LOAD( "e-302-31006-01.u98", 0x00000, 0x20000, CRC(59d0f2ae) SHA1(8da5dc006e192af98458227e79421b6a07ac1cdc) ) ROM_LOAD( "e-302-31007-01.u99", 0x20000, 0x20000, CRC(6ab7db25) SHA1(25c2fa23b99ac4bab5a9b851c2087de44512a5c2) ) ROM_LOAD( "e-302-31008-01.u100", 0x40000, 0x20000, CRC(2352849e) SHA1(f49394b6efb6a87d86516ec0a5ddd582f96f7e5d) ) @@ -2681,7 +2681,7 @@ ROM_START( ataxxe ) ROM_LOAD( "e-302-31010-01.u102", 0x80000, 0x20000, CRC(a951228c) SHA1(7ec5cf4d0aa3702be9236d155bea373a06c0be03) ) ROM_LOAD( "e-302-31011-01.u103", 0xa0000, 0x20000, CRC(ed326164) SHA1(8706192f525ece200587cee7e7beb4a1975bf63e) ) - ROM_REGION( 0x00001, "user1", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x40000, "xrom", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ /* Empty / not used */ ROM_REGION16_BE( 0x100, "eeprom", 0 ) @@ -2706,7 +2706,7 @@ ROM_START( ataxxj ) ROM_LOAD16_BYTE( "302-38002-01.u2", 0x60000, 0x20000, CRC(1b63b882) SHA1(cb04e641fc173f787a0f48c98f5198db265c26d8) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_REGION( 0xc0000, "bg_gfx", 0 ) ROM_LOAD( "e-302-31006-01.u98", 0x00000, 0x20000, CRC(59d0f2ae) SHA1(8da5dc006e192af98458227e79421b6a07ac1cdc) ) ROM_LOAD( "e-302-31007-01.u99", 0x20000, 0x20000, CRC(6ab7db25) SHA1(25c2fa23b99ac4bab5a9b851c2087de44512a5c2) ) ROM_LOAD( "e-302-31008-01.u100", 0x40000, 0x20000, CRC(2352849e) SHA1(f49394b6efb6a87d86516ec0a5ddd582f96f7e5d) ) @@ -2714,7 +2714,7 @@ ROM_START( ataxxj ) ROM_LOAD( "e-302-31010-01.u102", 0x80000, 0x20000, CRC(a951228c) SHA1(7ec5cf4d0aa3702be9236d155bea373a06c0be03) ) ROM_LOAD( "e-302-31011-01.u103", 0xa0000, 0x20000, CRC(ed326164) SHA1(8706192f525ece200587cee7e7beb4a1975bf63e) ) - ROM_REGION( 0x00001, "user1", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x40000, "xrom", ROMREGION_ERASEFF ) /* X-ROM (data used by main processor) */ /* Empty / not used */ ROM_REGION16_BE( 0x100, "eeprom", 0 ) @@ -2754,7 +2754,7 @@ ROM_START( wsf ) ROM_LOAD16_BYTE( "e-302-30019-01.u5", 0x60000, 0x20000, CRC(2881f73b) SHA1(414d974018fb4518c46b913184b07add69251724) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0x60000, "gfx1", 0 ) + ROM_REGION( 0x60000, "bg_gfx", 0 ) ROM_LOAD( "e-302-30011-02.145", 0x00000, 0x10000, CRC(6153569b) SHA1(b6a106c8b87a9a3f01eff3854d0c1f2c4a64fd94) ) ROM_LOAD( "e-302-30012-02.146", 0x10000, 0x10000, CRC(52d65e21) SHA1(25f63aa29dc7e7673043e1f43e357a5232a1be9e) ) ROM_LOAD( "e-302-30013-02.147", 0x20000, 0x10000, CRC(b3afda12) SHA1(52bf780c642f0092114aeb994e6571c034f198a0) ) @@ -2762,7 +2762,7 @@ ROM_START( wsf ) ROM_LOAD( "e-302-30015-01.149", 0x40000, 0x10000, CRC(5d9064f2) SHA1(7a68a379aa6a6cd0518e8a4107b2e646f5700c2b) ) ROM_LOAD( "e-302-30016-01.150", 0x50000, 0x10000, CRC(d76389cd) SHA1(2b7e6cd662ffde177b110ad0ed2e42fe4ccf811f) ) - ROM_REGION( 0x20000, "user1", 0 ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x20000, "xrom", 0 ) /* X-ROM (data used by main processor) */ ROM_LOAD( "e-302-30009-01.u68", 0x00000, 0x10000, CRC(f2fbfc15) SHA1(712cfa7b11135b1f568f38cc478ef5a3330d0608) ) ROM_LOAD( "e-302-30010-01.u69", 0x10000, 0x10000, CRC(b4ed2d3b) SHA1(61c9d86b63cf000187a105c6eed967fecb2f3c1c) ) @@ -2810,7 +2810,7 @@ ROM_START( indyheat ) ROM_LOAD16_BYTE( "e-302-33023-01.u5", 0x60000, 0x20000, CRC(198285d4) SHA1(8f6b3cba2bc729f2e0623578b13720ead91333e4) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_REGION( 0xc0000, "bg_gfx", 0 ) ROM_LOAD( "e-302-33001-01.u145", 0x00000, 0x20000, CRC(612d4bf8) SHA1(035cc8723524e2c6aa79ffa7d7c1f6fb0a25cc51) ) ROM_LOAD( "e-302-33002-01.u146", 0x20000, 0x20000, CRC(77a725f6) SHA1(9bb521ed7202387bbf2670f9b1ae3cbe5064ae03) ) ROM_LOAD( "e-302-33003-01.u147", 0x40000, 0x20000, CRC(d6aac372) SHA1(49f5f5d6c2a82ea15905086a2f8e3ea061d37dfc) ) @@ -2818,7 +2818,7 @@ ROM_START( indyheat ) ROM_LOAD( "e-302-33005-01.u149", 0x80000, 0x20000, CRC(29056791) SHA1(343452b883f139eb09da6b5f384aa680d3a2218c) ) ROM_LOAD( "e-302-33006-01.u150", 0xa0000, 0x20000, CRC(cb73dd6a) SHA1(60aabedbab409acaf8ba4f2366125290825971a4) ) - ROM_REGION( 0x40000, "user1", 0 ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x40000, "xrom", 0 ) /* X-ROM (data used by main processor) */ ROM_LOAD( "e-302-33015-01.u68", 0x00000, 0x10000, CRC(9e88efb3) SHA1(983bc22c9401b9d6c959dd211b6b7dfa1a6c14e2) ) ROM_CONTINUE( 0x20000, 0x10000 ) ROM_LOAD( "e-302-33016-01.u69", 0x10000, 0x10000, CRC(aa39fcb3) SHA1(0cb328d784cda3e0dff3a018f52f9b06bc5d46b8) ) @@ -2859,7 +2859,7 @@ ROM_START( brutforc ) ROM_LOAD16_BYTE( "u5", 0x60000, 0x20000, CRC(cbdb914b) SHA1(813640fa291c1245d04a628ee62afc95d5c67a03) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0x180000, "gfx1", 0 ) + ROM_REGION( 0x180000, "bg_gfx", 0 ) ROM_LOAD( "u145", 0x000000, 0x40000, CRC(c3d20d24) SHA1(a75217b0d1887c64bf5570ff7a461c8cf47c5e85) ) ROM_LOAD( "u146", 0x040000, 0x40000, CRC(43e9dd87) SHA1(0694803a5b33c074858770c7e4cd884402c263f8) ) ROM_LOAD( "u147", 0x080000, 0x40000, CRC(fb855ce8) SHA1(839bca2d8e344d43fad8978b812c9246a89054a8) ) @@ -2867,7 +2867,7 @@ ROM_START( brutforc ) ROM_LOAD( "u149", 0x100000, 0x40000, CRC(cf48401c) SHA1(70ba8f2d5f81795c26c2a552c29c913c5d3bd784) ) ROM_LOAD( "u150", 0x140000, 0x40000, CRC(ca9e1e33) SHA1(f9889042b536e1fb5521702bc807d5aa0e6a25d1) ) - ROM_REGION( 0x40000, "user1", 0 ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x40000, "xrom", 0 ) /* X-ROM (data used by main processor) */ ROM_LOAD( "u68", 0x00000, 0x10000, CRC(77c8de62) SHA1(ae15f84b7bf3d6705edf9f41d8de7b6ecab2bcf9) ) ROM_CONTINUE( 0x20000, 0x10000 ) ROM_LOAD( "u69", 0x10000, 0x10000, CRC(113aa6d5) SHA1(d032a04338e12135ba410afd71cf9538e99eb109) ) @@ -2916,7 +2916,7 @@ ROM_START( asylum ) ROM_LOAD16_BYTE( "asy-65.5", 0x60000, 0x20000, CRC(5814b307) SHA1(6db97804d58941a5543424d8c4658cb3edab1e43) ) ROM_RELOAD( 0xc0000, 0x20000 ) - ROM_REGION( 0x180000, "gfx1", 0 ) + ROM_REGION( 0x180000, "bg_gfx", 0 ) ROM_LOAD( "asy-chr0.145", 0x000000, 0x40000, CRC(4dbcae49) SHA1(0aa54daa099d6590a41df4a24a27bf6463b3e116) ) ROM_LOAD( "asy-chr1.146", 0x040000, 0x40000, CRC(34e7762d) SHA1(2d63971effc237846481bed7d829fa924b4bea31) ) ROM_LOAD( "asy-chr2.147", 0x080000, 0x40000, CRC(f9b0d375) SHA1(305172d8cdf390d9566c2c6f32d8da44b165022a) ) @@ -2924,7 +2924,7 @@ ROM_START( asylum ) ROM_LOAD( "asy-chr4.149", 0x100000, 0x40000, CRC(dbc2b155) SHA1(ba0d90b5a6acc53ecd02317cb82b630451e9d0e9) ) ROM_LOAD( "asy-chr5.150", 0x140000, 0x40000, CRC(9675e44f) SHA1(d2633d21fa9e798b8f96d96fdce5bb99a7dc5ba5) ) - ROM_REGION( 0x40000, "user1", 0 ) /* X-ROM (data used by main processor) */ + ROM_REGION( 0x40000, "xrom", 0 ) /* X-ROM (data used by main processor) */ ROM_LOAD( "asy-m4.68", 0x00000, 0x10000, CRC(77c8de62) SHA1(ae15f84b7bf3d6705edf9f41d8de7b6ecab2bcf9) ) ROM_CONTINUE( 0x20000, 0x10000 ) ROM_LOAD( "asy-m5.69", 0x10000, 0x10000, CRC(bfc50d6c) SHA1(3239242358e8336354a9bd35f75f9057f079b298) ) @@ -2963,9 +2963,9 @@ void leland_state::init_cerberus() { /* master CPU bankswitching */ m_update_master_bank = &leland_state::cerberus_bankswitch; - membank("bank1")->set_base(memregion("master")->base() + 0x2000); - membank("bank2")->set_base(memregion("master")->base() + 0xa000); - membank("bank3")->set_base(memregion("slave")->base() + 0x2000); + m_master_bankslot[0]->set_base(memregion("master")->base() + 0x2000); + m_master_bankslot[1]->set_base(memregion("master")->base() + 0xa000); + m_slave_bankslot->set_base(memregion("slave")->base() + 0x2000); /* set up the master CPU I/O ports */ init_master_ports(0x40, 0x80); diff --git a/src/mame/includes/leland.h b/src/mame/includes/leland.h index 7f1157acf7f..d005b7b3dea 100644 --- a/src/mame/includes/leland.h +++ b/src/mame/includes/leland.h @@ -31,42 +31,56 @@ class leland_state : public driver_device { public: leland_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), - m_master(*this, "master"), - m_slave(*this, "slave"), - m_mainram(*this, "mainram"), - m_eeprom(*this, "eeprom"), - m_sound(*this, "custom"), - m_dac0(*this, "dac0"), - m_dac1(*this, "dac1"), - m_ay8910(*this, "ay8910"), - m_ay8912(*this, "ay8912"), - m_screen(*this, "screen"), - m_palette(*this, "palette") { } + : driver_device(mconfig, type, tag) + , m_master(*this, "master") + , m_slave(*this, "slave") + , m_mainram(*this, "mainram") + , m_battery_ram(*this, "battery") + , m_eeprom(*this, "eeprom") + , m_sound(*this, "custom") + , m_dac(*this, "dac%u", 0U) + , m_ay8910(*this, "ay8910") + , m_ay8912(*this, "ay8912") + , m_screen(*this, "screen") + , m_gfxdecode(*this, "gfxdecode") + , m_palette(*this, "palette") + , m_master_base(*this, "master") + , m_slave_base(*this, "slave") + , m_bg_gfxrom(*this, "bg_gfx") + , m_bg_prom(*this, "bg_prom") + , m_xrom_base(*this, "xrom") + , m_master_bankslot(*this, "masterbank_%u", 0U) + , m_slave_bankslot(*this, "slavebank") + { } required_device m_master; required_device m_slave; required_shared_ptr m_mainram; + required_shared_ptr m_battery_ram; required_device m_eeprom; optional_device m_sound; - optional_device m_dac0; - optional_device m_dac1; + optional_device_array m_dac; optional_device m_ay8910; optional_device m_ay8912; required_device m_screen; + required_device m_gfxdecode; required_device m_palette; + required_region_ptr m_master_base; + required_region_ptr m_slave_base; + required_region_ptr m_bg_gfxrom; + optional_region_ptr m_bg_prom; + optional_region_ptr m_xrom_base; + + required_memory_bank_array<2> m_master_bankslot; + required_memory_bank m_slave_bankslot; + uint8_t m_dac_control; uint8_t *m_alleymas_kludge_mem; std::unique_ptr m_ataxx_qram; uint8_t m_gfx_control; uint8_t m_wcol_enable; emu_timer *m_master_int_timer; - uint8_t *m_master_base; - uint8_t *m_slave_base; - uint8_t *m_xrom_base; - uint32_t m_master_length; - uint32_t m_slave_length; int m_dangerz_x; int m_dangerz_y; uint8_t m_analog_result; @@ -85,7 +99,6 @@ public: uint32_t m_xrom1_addr; uint32_t m_xrom2_addr; uint8_t m_battery_ram_enable; - uint8_t *m_battery_ram; std::unique_ptr m_extra_tram; std::unique_ptr m_video_ram; struct vram_state_data m_vram_state[2]; @@ -180,8 +193,13 @@ public: DECLARE_VIDEO_START(leland2); DECLARE_VIDEO_START(ataxx); - uint32_t screen_update_leland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_ataxx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + tilemap_t *m_tilemap; + + TILEMAP_MAPPER_MEMBER(leland_scan); + TILE_GET_INFO_MEMBER(leland_get_tile_info); + TILEMAP_MAPPER_MEMBER(ataxx_scan); + TILE_GET_INFO_MEMBER(ataxx_get_tile_info); + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(leland_master_interrupt); TIMER_CALLBACK_MEMBER(leland_interrupt_callback); TIMER_CALLBACK_MEMBER(ataxx_interrupt_callback); diff --git a/src/mame/machine/leland.cpp b/src/mame/machine/leland.cpp index 05a33177fa0..d7873d0cb6f 100644 --- a/src/mame/machine/leland.cpp +++ b/src/mame/machine/leland.cpp @@ -317,9 +317,6 @@ WRITE8_MEMBER(leland_state::indyheat_analog_w) MACHINE_START_MEMBER(leland_state,leland) { - /* allocate extra stuff */ - m_battery_ram = reinterpret_cast(memshare("battery")->ptr()); - /* start scanline interrupts going */ m_master_int_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(leland_state::leland_interrupt_callback),this)); @@ -367,22 +364,17 @@ MACHINE_RESET_MEMBER(leland_state,leland) m_alternate_bank = 0; /* initialize the master banks */ - m_master_length = memregion("master")->bytes(); - m_master_base = memregion("master")->base(); (this->*m_update_master_bank)(); /* initialize the slave banks */ - m_slave_length = memregion("slave")->bytes(); - m_slave_base = memregion("slave")->base(); - if (m_slave_length > 0x10000) - membank("bank3")->set_base(&m_slave_base[0x10000]); + if (m_slave_base.length() > 0x10000) + m_slave_bankslot->set_base(&m_slave_base[0x10000]); } MACHINE_START_MEMBER(leland_state,ataxx) { /* set the odd data banks */ - m_battery_ram = reinterpret_cast(memshare("battery")->ptr()); m_extra_tram = std::make_unique(ATAXX_EXTRA_TRAM_SIZE); /* start scanline interrupts going */ @@ -405,7 +397,6 @@ MACHINE_RESET_MEMBER(leland_state,ataxx) m_master_int_timer->adjust(m_screen->time_until_pos(8), 8); /* initialize the XROM */ - m_xrom_base = memregion("user1")->base(); m_xrom1_addr = 0; m_xrom2_addr = 0; @@ -419,15 +410,11 @@ MACHINE_RESET_MEMBER(leland_state,ataxx) m_master_bank = 0; /* initialize the master banks */ - m_master_length = memregion("master")->bytes(); - m_master_base = memregion("master")->base(); ataxx_bankswitch(); /* initialize the slave banks */ - m_slave_length = memregion("slave")->bytes(); - m_slave_base = memregion("slave")->base(); - if (m_slave_length > 0x10000) - membank("bank3")->set_base(&m_slave_base[0x10000]); + if (m_slave_base.length() > 0x10000) + m_slave_bankslot->set_base(&m_slave_base[0x10000]); } @@ -511,10 +498,10 @@ void leland_state::mayhem_bankswitch() m_battery_ram_enable = ((m_sound_port_bank & 0x24) == 0); address = (!(m_sound_port_bank & 0x04)) ? &m_master_base[0x10000] : &m_master_base[0x1c000]; - membank("bank1")->set_base(address); + m_master_bankslot[0]->set_base(address); address = m_battery_ram_enable ? m_battery_ram : &address[0x8000]; - membank("bank2")->set_base(address); + m_master_bankslot[1]->set_base(address); } @@ -526,10 +513,10 @@ void leland_state::dangerz_bankswitch() m_battery_ram_enable = ((m_top_board_bank & 0x80) != 0); address = (!(m_alternate_bank & 1)) ? &m_master_base[0x02000] : &m_master_base[0x12000]; - membank("bank1")->set_base(address); + m_master_bankslot[0]->set_base(address); address = m_battery_ram_enable ? m_battery_ram : &address[0x8000]; - membank("bank2")->set_base(address); + m_master_bankslot[1]->set_base(address); } @@ -544,10 +531,10 @@ void leland_state::basebal2_bankswitch() address = (!(m_sound_port_bank & 0x04)) ? &m_master_base[0x10000] : &m_master_base[0x1c000]; else address = (!(m_top_board_bank & 0x40)) ? &m_master_base[0x28000] : &m_master_base[0x30000]; - membank("bank1")->set_base(address); + m_master_bankslot[0]->set_base(address); address = m_battery_ram_enable ? m_battery_ram : &address[0x8000]; - membank("bank2")->set_base(address); + m_master_bankslot[1]->set_base(address); } @@ -560,10 +547,10 @@ void leland_state::redline_bankswitch() m_battery_ram_enable = ((m_alternate_bank & 3) == 1); address = &m_master_base[bank_list[m_alternate_bank & 3]]; - membank("bank1")->set_base(address); + m_master_bankslot[0]->set_base(address); address = m_battery_ram_enable ? m_battery_ram : &m_master_base[0xa000]; - membank("bank2")->set_base(address); + m_master_bankslot[1]->set_base(address); } @@ -576,15 +563,15 @@ void leland_state::viper_bankswitch() m_battery_ram_enable = ((m_alternate_bank & 0x04) != 0); address = &m_master_base[bank_list[m_alternate_bank & 3]]; - if (bank_list[m_alternate_bank & 3] >= m_master_length) + if (bank_list[m_alternate_bank & 3] >= m_master_base.length()) { logerror("%s:Master bank %02X out of range!\n", machine().describe_context(), m_alternate_bank & 3); address = &m_master_base[bank_list[0]]; } - membank("bank1")->set_base(address); + m_master_bankslot[0]->set_base(address); address = m_battery_ram_enable ? m_battery_ram : &m_master_base[0xa000]; - membank("bank2")->set_base(address); + m_master_bankslot[1]->set_base(address); } @@ -597,15 +584,15 @@ void leland_state::offroad_bankswitch() m_battery_ram_enable = ((m_alternate_bank & 7) == 1); address = &m_master_base[bank_list[m_alternate_bank & 7]]; - if (bank_list[m_alternate_bank & 7] >= m_master_length) + if (bank_list[m_alternate_bank & 7] >= m_master_base.length()) { logerror("%s:Master bank %02X out of range!\n", machine().describe_context(), m_alternate_bank & 7); address = &m_master_base[bank_list[0]]; } - membank("bank1")->set_base(address); + m_master_bankslot[0]->set_base(address); address = m_battery_ram_enable ? m_battery_ram : &m_master_base[0xa000]; - membank("bank2")->set_base(address); + m_master_bankslot[1]->set_base(address); } @@ -622,12 +609,12 @@ void leland_state::ataxx_bankswitch() m_battery_ram_enable = ((m_master_bank & 0x30) == 0x10); address = &m_master_base[bank_list[m_master_bank & 15]]; - if (bank_list[m_master_bank & 15] >= m_master_length) + if (bank_list[m_master_bank & 15] >= m_master_base.length()) { logerror("%s:Master bank %02X out of range!\n", machine().describe_context(), m_master_bank & 15); address = &m_master_base[bank_list[0]]; } - membank("bank1")->set_base(address); + m_master_bankslot[0]->set_base(address); if (m_battery_ram_enable) address = m_battery_ram; @@ -635,7 +622,7 @@ void leland_state::ataxx_bankswitch() address = &m_ataxx_qram[(m_master_bank & 0xc0) << 8]; else address = &m_master_base[0xa000]; - membank("bank2")->set_base(address); + m_master_bankslot[1]->set_base(address); m_wcol_enable = ((m_master_bank & 0x30) == 0x30); } @@ -878,7 +865,10 @@ WRITE8_MEMBER(leland_state::ataxx_battery_ram_w) m_battery_ram[offset] = data; } else if ((m_master_bank & 0x30) == 0x20) - m_ataxx_qram[((m_master_bank & 0xc0) << 8) + offset] = data; + { + m_ataxx_qram[((m_master_bank & 0xc0) << 8) | offset] = data; + m_tilemap->mark_tile_dirty(((m_master_bank & 0x80) << 8) | offset); + } else logerror("%04X:BatteryW@%04X (invalid!)\n", m_master->pc(), offset); } @@ -1355,12 +1345,12 @@ WRITE8_MEMBER(leland_state::leland_slave_small_banksw_w) { int bankaddress = 0x10000 + 0xc000 * (data & 1); - if (bankaddress >= m_slave_length) + if (bankaddress >= m_slave_base.length()) { logerror("%04X:Slave bank %02X out of range!", m_slave->pc(), data & 1); bankaddress = 0x10000; } - membank("bank3")->set_base(&m_slave_base[bankaddress]); + m_slave_bankslot->set_base(&m_slave_base[bankaddress]); if (LOG_BANKSWITCHING_S) logerror("%04X:Slave bank = %02X (%05X)\n", m_slave->pc(), data & 1, bankaddress); } @@ -1370,12 +1360,12 @@ WRITE8_MEMBER(leland_state::leland_slave_large_banksw_w) { int bankaddress = 0x10000 + 0x8000 * (data & 15); - if (bankaddress >= m_slave_length) + if (bankaddress >= m_slave_base.length()) { logerror("%04X:Slave bank %02X out of range!", m_slave->pc(), data & 15); bankaddress = 0x10000; } - membank("bank3")->set_base(&m_slave_base[bankaddress]); + m_slave_bankslot->set_base(&m_slave_base[bankaddress]); if (LOG_BANKSWITCHING_S) logerror("%04X:Slave bank = %02X (%05X)\n", m_slave->pc(), data & 15, bankaddress); } @@ -1390,16 +1380,16 @@ WRITE8_MEMBER(leland_state::ataxx_slave_banksw_w) else { bankaddress = 0x10000 * bank + 0x8000 * ((data >> 4) & 1); - if (m_slave_length > 0x100000) + if (m_slave_base.length() > 0x100000) bankaddress += 0x100000 * ((data >> 5) & 1); } - if (bankaddress >= m_slave_length) + if (bankaddress >= m_slave_base.length()) { logerror("%04X:Slave bank %02X out of range!", m_slave->pc(), data & 0x3f); bankaddress = 0x2000; } - membank("bank3")->set_base(&m_slave_base[bankaddress]); + m_slave_bankslot->set_base(&m_slave_base[bankaddress]); if (LOG_BANKSWITCHING_S) logerror("%04X:Slave bank = %02X (%05X)\n", m_slave->pc(), data, bankaddress); } diff --git a/src/mame/video/leland.cpp b/src/mame/video/leland.cpp index 33f0d3590bd..5fe938c4590 100644 --- a/src/mame/video/leland.cpp +++ b/src/mame/video/leland.cpp @@ -14,16 +14,13 @@ /* constants */ -#define VRAM_SIZE (0x10000) -#define QRAM_SIZE (0x10000) - -#define VIDEO_WIDTH (320) +static constexpr int VRAM_SIZE = 0x10000; +static constexpr int QRAM_SIZE = 0x10000; /* debugging */ #define LOG_COMM 0 - /************************************* * * Scanline callback @@ -36,10 +33,10 @@ TIMER_CALLBACK_MEMBER(leland_state::scanline_callback) /* update the DACs */ if (!(m_dac_control & 0x01)) - m_dac0->write(m_video_ram[(m_last_scanline) * 256 + 160]); + m_dac[0]->write(m_video_ram[(m_last_scanline) * 256 + 160]); if (!(m_dac_control & 0x02)) - m_dac1->write(m_video_ram[(m_last_scanline) * 256 + 161]); + m_dac[1]->write(m_video_ram[(m_last_scanline) * 256 + 161]); m_last_scanline = scanline; @@ -50,6 +47,46 @@ TIMER_CALLBACK_MEMBER(leland_state::scanline_callback) } +/************************************* + * + * ROM-based tilemap + * + *************************************/ + +TILEMAP_MAPPER_MEMBER(leland_state::leland_scan) +{ + /* logical (col,row) -> memory offset */ + return (col & 0xff) | ((row & 0x1f) << 8) | ((row & 0xe0) << 9); +} + +TILE_GET_INFO_MEMBER(leland_state::leland_get_tile_info) +{ + int char_bank = ((m_gfxbank >> 4) & 0x03) << 10; + int prom_bank = ((m_gfxbank >> 3) & 0x01) << 13; + int tile = m_bg_prom[prom_bank | tile_index] | ((tile_index >> 7) & 0x300) | char_bank; + SET_TILE_INFO_MEMBER(0, tile, m_bg_prom[prom_bank | tile_index] >> 5, 0); +} + + +/************************************* + * + * RAM-based tilemap + * + *************************************/ + +TILEMAP_MAPPER_MEMBER(leland_state::ataxx_scan) +{ + /* logical (col,row) -> memory offset */ + return (col & 0xff) | ((row & 0x3f) << 8) | ((row & 0x40) << 9); +} + +TILE_GET_INFO_MEMBER(leland_state::ataxx_get_tile_info) +{ + uint16_t tile = m_ataxx_qram[tile_index] | ((m_ataxx_qram[0x4000 | tile_index] & 0x7f) << 8); + SET_TILE_INFO_MEMBER(0, tile, 0, 0); +} + + /************************************* * * Start video hardware @@ -58,6 +95,9 @@ TIMER_CALLBACK_MEMBER(leland_state::scanline_callback) VIDEO_START_MEMBER(leland_state,leland) { + /* tilemap */ + m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(leland_state::leland_get_tile_info),this), tilemap_mapper_delegate(FUNC(leland_state::leland_scan),this), 8, 8, 256, 256); + /* allocate memory */ m_video_ram = make_unique_clear(VRAM_SIZE); @@ -80,6 +120,9 @@ VIDEO_START_MEMBER(leland_state,leland) VIDEO_START_MEMBER(leland_state,ataxx) { + /* tilemap */ + m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(leland_state::ataxx_get_tile_info),this), tilemap_mapper_delegate(FUNC(leland_state::ataxx_scan),this), 8, 8, 256, 128); + /* first do the standard stuff */ m_video_ram = make_unique_clear(VRAM_SIZE); @@ -98,7 +141,6 @@ VIDEO_START_MEMBER(leland_state,ataxx) } - /************************************* * * Scrolling and banking @@ -142,11 +184,14 @@ WRITE8_MEMBER(leland_state::leland_gfx_port_w) if (scanline > 0) m_screen->update_partial(scanline - 1); - m_gfxbank = data; + if (m_gfxbank != data) + { + m_gfxbank = data; + m_tilemap->mark_all_dirty(); + } } - /************************************* * * Video address setting @@ -164,7 +209,6 @@ void leland_state::leland_video_addr_w(address_space &space, int offset, int dat } - /************************************* * * Common video RAM read @@ -211,7 +255,6 @@ int leland_state::leland_vram_port_r(address_space &space, int offset, int num) } - /************************************* * * Common video RAM write @@ -294,7 +337,6 @@ void leland_state::leland_vram_port_w(address_space &space, int offset, int data } - /************************************* * * Master video RAM read/write @@ -330,7 +372,6 @@ READ8_MEMBER(leland_state::leland_mvram_port_r) } - /************************************* * * Slave video RAM read/write @@ -355,7 +396,6 @@ READ8_MEMBER(leland_state::leland_svram_port_r) } - /************************************* * * Ataxx master video RAM read/write @@ -376,7 +416,6 @@ WRITE8_MEMBER(leland_state::ataxx_svram_port_w) } - /************************************* * * Ataxx slave video RAM read/write @@ -397,63 +436,40 @@ READ8_MEMBER(leland_state::ataxx_svram_port_r) } - /************************************* * - * ROM-based refresh routine + * Refresh routine * *************************************/ -uint32_t leland_state::screen_update_leland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t leland_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - const uint8_t *bg_prom = memregion("user1")->base(); - const uint8_t *bg_gfx = memregion("gfx1")->base(); - offs_t bg_gfx_bank_page_size = memregion("gfx1")->bytes() / 3; - offs_t char_bank = (((m_gfxbank >> 4) & 0x03) * 0x2000) & (bg_gfx_bank_page_size - 1); - offs_t prom_bank = ((m_gfxbank >> 3) & 0x01) * 0x2000; + bitmap_ind16 &src = m_tilemap->pixmap(); + int height_mask = m_tilemap->height()-1; /* for each scanline in the visible region */ for (int y = cliprect.min_y; y <= cliprect.max_y; y++) { - uint8_t fg_data = 0; - uint16_t *dst = &bitmap.pix16(y); uint8_t *fg_src = &m_video_ram[y << 8]; /* for each pixel on the scanline */ - for (int x = 0; x < VIDEO_WIDTH; x++) + for (int x = cliprect.min_x; x <= cliprect.max_x; x++) { /* compute the effective scrolled pixel coordinates */ uint16_t sx = (x + m_xscroll) & 0x07ff; - uint16_t sy = (y + m_yscroll) & 0x07ff; - - /* get the byte address this background pixel comes from */ - offs_t bg_prom_offs = (sx >> 3) | - ((sy << 5) & 0x01f00) | - prom_bank | - ((sy << 6) & 0x1c000); - - offs_t bg_gfx_offs = (sy & 0x07) | - (bg_prom[bg_prom_offs] << 3) | - ((sy << 2) & 0x1800) | - char_bank; + uint16_t sy = (y + m_yscroll) & height_mask; /* build the pen, background is d0-d5 */ - pen_t pen = (((bg_gfx[bg_gfx_offs + (2 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 7) | /* d0 */ - (((bg_gfx[bg_gfx_offs + (1 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 6) | /* d1 */ - (((bg_gfx[bg_gfx_offs + (0 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 5) | /* d2 */ - ((bg_prom[bg_prom_offs] & 0xe0) >> 2); /* d3-d5 */ + pen_t pen = src.pix16(sy,sx) & 0x3f; /* foreground is d6-d9 */ if (x & 0x01) - pen = pen | ((fg_data & 0x0f) << 6); + pen = pen | ((fg_src[x >> 1] & 0x0f) << 6); else - { - fg_data = *fg_src++; - pen = pen | ((fg_data & 0xf0) << 2); - } + pen = pen | ((fg_src[x >> 1] & 0xf0) << 2); - *dst++ = pen; + dst[x] = pen; } } @@ -461,79 +477,47 @@ uint32_t leland_state::screen_update_leland(screen_device &screen, bitmap_ind16 } - /************************************* * - * RAM-based refresh routine + * Machine drivers * *************************************/ -uint32_t leland_state::screen_update_ataxx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +static const gfx_layout leland_layout = { - const uint8_t *bg_gfx = memregion("gfx1")->base(); - offs_t bg_gfx_bank_page_size = memregion("gfx1")->bytes() / 6; - offs_t bg_gfx_offs_mask = bg_gfx_bank_page_size - 1; - - /* for each scanline in the visible region */ - for (int y = cliprect.min_y; y <= cliprect.max_y; y++) - { - uint8_t fg_data = 0; - - uint16_t *dst = &bitmap.pix16(y); - uint8_t *fg_src = &m_video_ram[y << 8]; - - /* for each pixel on the scanline */ - for (int x = 0; x < VIDEO_WIDTH; x++) - { - /* compute the effective scrolled pixel coordinates */ - uint16_t sx = (x + m_xscroll) & 0x07ff; - uint16_t sy = (y + m_yscroll) & 0x07ff; - - /* get the byte address this background pixel comes from */ - offs_t qram_offs = (sx >> 3) | - ((sy << 5) & 0x3f00) | - ((sy << 6) & 0x8000); - - offs_t bg_gfx_offs = ((sy & 0x07) | - (m_ataxx_qram[qram_offs] << 3) | - ((m_ataxx_qram[0x4000 | qram_offs] & 0x7f) << 11)) & bg_gfx_offs_mask; - - /* build the pen, background is d0-d5 */ - pen_t pen = (((bg_gfx[bg_gfx_offs + (0 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 7) | /* d0 */ - (((bg_gfx[bg_gfx_offs + (1 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 6) | /* d1 */ - (((bg_gfx[bg_gfx_offs + (2 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 5) | /* d2 */ - (((bg_gfx[bg_gfx_offs + (3 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 4) | /* d3 */ - (((bg_gfx[bg_gfx_offs + (4 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 3) | /* d4 */ - (((bg_gfx[bg_gfx_offs + (5 * bg_gfx_bank_page_size)] << (sx & 0x07)) & 0x80) >> 2); /* d5 */ - - /* foreground is d6-d9 */ - if (x & 0x01) - pen = pen | ((fg_data & 0x0f) << 6); - else - { - fg_data = *fg_src++; - pen = pen | ((fg_data & 0xf0) << 2); - } - - *dst++ = pen; - } - } - - return 0; -} - - - -/************************************* - * - * Machine drivers - * - *************************************/ + 8,8, + RGN_FRAC(1,3), + 3, + { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) }, + { STEP8(0,1) }, + { STEP8(0,8) }, + 8*8 +}; + +static const gfx_layout ataxx_layout = +{ + 8,8, + RGN_FRAC(1,6), + 6, + { RGN_FRAC(5,6), RGN_FRAC(4,6), RGN_FRAC(3,6), RGN_FRAC(2,6), RGN_FRAC(1,6), RGN_FRAC(0,6) }, + { STEP8(0,1) }, + { STEP8(0,8) }, + 8*8 +}; + +static GFXDECODE_START( gfx_leland ) + GFXDECODE_ENTRY( "bg_gfx", 0, leland_layout, 0, 8*16) // *16 is foreground +GFXDECODE_END + +static GFXDECODE_START( gfx_ataxx ) + GFXDECODE_ENTRY( "bg_gfx", 0, ataxx_layout, 0, 16) // 16 is foreground +GFXDECODE_END MACHINE_CONFIG_START(leland_state::leland_video) MCFG_VIDEO_START_OVERRIDE(leland_state,leland) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_leland) MCFG_PALETTE_ADD("palette", 1024) MCFG_PALETTE_FORMAT(BBGGGRRR) @@ -542,7 +526,7 @@ MACHINE_CONFIG_START(leland_state::leland_video) MCFG_SCREEN_SIZE(40*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1) MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_UPDATE_DRIVER(leland_state, screen_update_leland) + MCFG_SCREEN_UPDATE_DRIVER(leland_state, screen_update) MCFG_SCREEN_PALETTE("palette") MACHINE_CONFIG_END @@ -550,9 +534,7 @@ MACHINE_CONFIG_START(leland_state::ataxx_video) leland_video(config); MCFG_VIDEO_START_OVERRIDE(leland_state,ataxx) - MCFG_SCREEN_MODIFY("screen") - MCFG_SCREEN_UPDATE_DRIVER(leland_state, screen_update_ataxx) - + MCFG_DEVICE_REPLACE("gfxdecode", GFXDECODE, "palette", gfx_ataxx) MCFG_PALETTE_MODIFY("palette") MCFG_PALETTE_FORMAT(xxxxRRRRGGGGBBBB) MACHINE_CONFIG_END -- cgit v1.2.3