mirror of
https://github.com/holub/mame
synced 2025-05-28 16:43:04 +03:00
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
This commit is contained in:
parent
2da9fd50a6
commit
f7b6bb6bbb
@ -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)
|
||||
{
|
||||
|
@ -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<dac_byte_interface> m_dac1;
|
||||
required_device<dac_byte_interface> m_dac2;
|
||||
required_device<dac_byte_interface> m_dac3;
|
||||
required_device<dac_byte_interface> m_dac4;
|
||||
optional_device<dac_byte_interface> m_dac5;
|
||||
optional_device<dac_byte_interface> m_dac6;
|
||||
optional_device<dac_byte_interface> m_dac7;
|
||||
optional_device<dac_byte_interface> m_dac8;
|
||||
required_device<generic_latch_16_device> m_soundlatch;
|
||||
optional_device_array<dac_byte_interface, 8> m_dac;
|
||||
optional_device<dac_word_interface> m_dac9;
|
||||
required_device<dac_byte_interface> m_dac1vol;
|
||||
required_device<dac_byte_interface> m_dac2vol;
|
||||
required_device<dac_byte_interface> m_dac3vol;
|
||||
required_device<dac_byte_interface> m_dac4vol;
|
||||
optional_device<dac_byte_interface> m_dac5vol;
|
||||
optional_device<dac_byte_interface> m_dac6vol;
|
||||
optional_device<dac_byte_interface> m_dac7vol;
|
||||
optional_device<dac_byte_interface> m_dac8vol;
|
||||
optional_device_array<dac_byte_interface, 8> 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<<which)) : (m_clock_active & ~(1<<which)); }
|
||||
|
||||
@ -91,9 +78,7 @@ private:
|
||||
uint8_t m_ext_active;
|
||||
uint8_t* m_ext_base;
|
||||
|
||||
required_device<pit8254_device> m_pit0;
|
||||
optional_device<pit8254_device> m_pit1;
|
||||
optional_device<pit8254_device> m_pit2;
|
||||
optional_device_array<pit8254_device, 3> m_pit;
|
||||
optional_device<ym2151_device> m_ymsnd;
|
||||
};
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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<cpu_device> m_master;
|
||||
required_device<cpu_device> m_slave;
|
||||
required_shared_ptr<uint8_t> m_mainram;
|
||||
required_shared_ptr<uint8_t> m_battery_ram;
|
||||
required_device<eeprom_serial_93cxx_device> m_eeprom;
|
||||
optional_device<leland_80186_sound_device> m_sound;
|
||||
optional_device<dac_byte_interface> m_dac0;
|
||||
optional_device<dac_byte_interface> m_dac1;
|
||||
optional_device_array<dac_byte_interface, 2> m_dac;
|
||||
optional_device<ay8910_device> m_ay8910;
|
||||
optional_device<ay8912_device> m_ay8912;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
required_region_ptr<uint8_t> m_master_base;
|
||||
required_region_ptr<uint8_t> m_slave_base;
|
||||
required_region_ptr<uint8_t> m_bg_gfxrom;
|
||||
optional_region_ptr<uint8_t> m_bg_prom;
|
||||
optional_region_ptr<uint8_t> 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<uint8_t[]> 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<uint8_t[]> m_extra_tram;
|
||||
std::unique_ptr<uint8_t[]> 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);
|
||||
|
@ -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<uint8_t *>(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<uint8_t *>(memshare("battery")->ptr());
|
||||
m_extra_tram = std::make_unique<uint8_t[]>(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);
|
||||
}
|
||||
|
@ -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<uint8_t[]>(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<uint8_t[]>(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
|
||||
*
|
||||
*************************************/
|
||||
|
||||
uint32_t leland_state::screen_update_ataxx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
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
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout leland_layout =
|
||||
{
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user