rf5c68.cpp Updates, etc (#3515)

* rf5c68.cpp : Add save states, Add device_rom_interface, because Datasheet says it's can connect with ROM, Add notes
fmtowns.cpp, segas18.cpp, segas32.cpp, system16.cpp : Reduce runtime tag lookups
megacd.cpp, system16.cpp, segas32.cpp : Fix bit manipulations
fmtowns.cpp, system16.cpp : Reduce duplicates

* segas18.cpp : Add output finders

* rf5c68.cpp : Add rom_bank_updated

* rf5c68.cpp : Add device_memory_interface instead device_rom_interface

* segas18.cpp : Fix regression
This commit is contained in:
cam900 2018-05-11 10:54:17 +09:00 committed by Vas Crabb
parent 863e837f20
commit 85c788bb9a
16 changed files with 765 additions and 724 deletions

View File

@ -2,6 +2,9 @@
// copyright-holders:Olivier Galibert,Aaron Giles
/*********************************************************/
/* ricoh RF5C68(or clone) PCM controller */
/* */
/* TODO : RF5C164 (Sega CD/Mega CD) */
/* has difference? */
/*********************************************************/
#include "emu.h"
@ -21,14 +24,15 @@ DEFINE_DEVICE_TYPE(RF5C68, rf5c68_device, "rf5c68", "Ricoh RF5C68")
//-------------------------------------------------
rf5c68_device::rf5c68_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, RF5C68, tag, owner, clock),
device_sound_interface(mconfig, *this),
m_stream(nullptr),
m_cbank(0),
m_wbank(0),
m_enable(0)
: device_t(mconfig, RF5C68, tag, owner, clock)
, device_sound_interface(mconfig, *this)
, device_memory_interface(mconfig, *this)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 16) // 15 bit Address + 2 Memory select outputs(total 64KB), PSRAM/SRAM/ROM
, m_stream(nullptr)
, m_cbank(0)
, m_wbank(0)
, m_enable(0)
{
std::fill(std::begin(m_data), std::end(m_data), 0);
}
@ -38,15 +42,38 @@ rf5c68_device::rf5c68_device(const machine_config &mconfig, const char *tag, dev
void rf5c68_device::device_start()
{
m_data = &space(0);
// Find our direct access
m_direct = space().direct<0>();
m_sample_end_cb.bind_relative_to(*owner());
/* allocate memory for the chip */
memset(m_data, 0xff, sizeof(m_data));
/* allocate the stream */
m_stream = stream_alloc(0, 2, clock() / 384);
for (int ch = 0; ch < NUM_CHANNELS; ch++)
{
save_item(NAME(m_chan[ch].enable), ch);
save_item(NAME(m_chan[ch].env), ch);
save_item(NAME(m_chan[ch].pan), ch);
save_item(NAME(m_chan[ch].start), ch);
save_item(NAME(m_chan[ch].addr), ch);
save_item(NAME(m_chan[ch].step), ch);
save_item(NAME(m_chan[ch].loopst), ch);
}
save_item(NAME(m_cbank));
save_item(NAME(m_wbank));
save_item(NAME(m_enable));
}
//-------------------------------------------------
// memory_space_config - return a description of
// any address spaces owned by this device
//-------------------------------------------------
device_memory_interface::space_config_vector rf5c68_device::memory_space_config() const
{
return space_config_vector{ std::make_pair(0, &m_data_config) };
}
//-------------------------------------------------
// sound_stream_update - handle a stream update
@ -87,11 +114,11 @@ void rf5c68_device::sound_stream_update(sound_stream &stream, stream_sample_t **
}
/* fetch the sample and handle looping */
sample = m_data[(chan.addr >> 11) & 0xffff];
sample = m_direct->read_byte((chan.addr >> 11) & 0xffff);
if (sample == 0xff)
{
chan.addr = chan.loopst << 11;
sample = m_data[(chan.addr >> 11) & 0xffff];
sample = m_direct->read_byte((chan.addr >> 11) & 0xffff);
/* if we loop to a loop point, we're effectively dead */
if (sample == 0xff)
@ -195,7 +222,7 @@ WRITE8_MEMBER( rf5c68_device::rf5c68_w )
if (data & 0x40)
m_cbank = data & 7;
else
m_wbank = data & 15;
m_wbank = (data & 0xf) << 12;
break;
case 0x08: /* channel on/off reg */
@ -216,7 +243,7 @@ WRITE8_MEMBER( rf5c68_device::rf5c68_w )
READ8_MEMBER( rf5c68_device::rf5c68_mem_r )
{
return m_data[m_wbank * 0x1000 + offset];
return m_direct->read_byte(m_wbank | offset);
}
@ -226,5 +253,5 @@ READ8_MEMBER( rf5c68_device::rf5c68_mem_r )
WRITE8_MEMBER( rf5c68_device::rf5c68_mem_w )
{
m_data[m_wbank * 0x1000 + offset] = data;
m_data->write_byte(m_wbank | offset, data);
}

View File

@ -27,7 +27,8 @@
// ======================> rf5c68_device
class rf5c68_device : public device_t,
public device_sound_interface
public device_sound_interface,
public device_memory_interface
{
public:
typedef device_delegate<void (int channel)> sample_end_cb_delegate;
@ -49,6 +50,10 @@ protected:
// sound stream update overrides
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override;
// device_memory_interface configuration
virtual space_config_vector memory_space_config() const override;
address_space_config m_data_config;
private:
static constexpr unsigned NUM_CHANNELS = 8;
@ -65,12 +70,13 @@ private:
uint16_t loopst = 0;
};
address_space *m_data;
direct_read_data<0> *m_direct;
sound_stream* m_stream;
pcm_channel m_chan[NUM_CHANNELS];
uint8_t m_cbank;
uint8_t m_wbank;
uint8_t m_enable;
uint8_t m_data[0x10000];
uint8_t m_cbank;
uint16_t m_wbank;
uint8_t m_enable;
sample_end_cb_delegate m_sample_end_cb;
};

View File

@ -440,28 +440,18 @@ WRITE8_MEMBER(towns_state::towns_sys6c_w)
m_towns_wait_timer->adjust(attotime::from_usec(1),0,attotime::never);
}
READ8_MEMBER(towns_state::towns_dma1_r)
template<int Chip>
READ8_MEMBER(towns_state::towns_dma_r)
{
// logerror("DMA#1: read register %i\n",offset);
return m_dma_1->read(space, offset);
logerror("DMA#%01x: read register %i\n",Chip,offset);
return m_dma[Chip]->read(space, offset);
}
WRITE8_MEMBER(towns_state::towns_dma1_w)
template<int Chip>
WRITE8_MEMBER(towns_state::towns_dma_w)
{
// logerror("DMA#1: wrote 0x%02x to register %i\n",data,offset);
m_dma_1->write(space, offset, data);
}
READ8_MEMBER(towns_state::towns_dma2_r)
{
logerror("DMA#2: read register %i\n",offset);
return m_dma_2->read(space, offset);
}
WRITE8_MEMBER(towns_state::towns_dma2_w)
{
logerror("DMA#2: wrote 0x%02x to register %i\n",data,offset);
m_dma_2->write(space, offset, data);
logerror("DMA#%01x: wrote 0x%02x to register %i\n",Chip,data,offset);
m_dma[Chip]->write(space, offset, data);
}
/*
@ -478,7 +468,7 @@ WRITE_LINE_MEMBER( towns_state::mb8877a_irq_w )
WRITE_LINE_MEMBER( towns_state::mb8877a_drq_w )
{
m_dma_1->dmarq(state, 0);
m_dma[0]->dmarq(state, 0);
}
READ8_MEMBER(towns_state::towns_floppy_r)
@ -1194,31 +1184,27 @@ WRITE8_MEMBER( towns_state::towns_cmos_w )
void towns_state::towns_update_video_banks(address_space& space)
{
uint8_t* ROM;
uint8_t* ROM = m_user->base();
if(m_towns_mainmem_enable != 0) // first MB is RAM
{
ROM = m_user->base();
// membank(1)->set_base(m_messram->pointer()+0xc0000);
// membank(2)->set_base(m_messram->pointer()+0xc8000);
// membank(3)->set_base(m_messram->pointer()+0xc9000);
// membank(4)->set_base(m_messram->pointer()+0xca000);
// membank(5)->set_base(m_messram->pointer()+0xca000);
// membank(10)->set_base(m_messram->pointer()+0xca800);
membank("bank6")->set_base(m_messram->pointer()+0xcb000);
membank("bank7")->set_base(m_messram->pointer()+0xcb000);
m_bank_cb000_r->set_base(m_messram->pointer()+0xcb000);
m_bank_cb000_w->set_base(m_messram->pointer()+0xcb000);
if(m_towns_system_port & 0x02)
membank("bank11")->set_base(m_messram->pointer()+0xf8000);
m_bank_f8000_r->set_base(m_messram->pointer()+0xf8000);
else
membank("bank11")->set_base(ROM+0x238000);
membank("bank12")->set_base(m_messram->pointer()+0xf8000);
m_bank_f8000_r->set_base(ROM+0x238000);
m_bank_f8000_w->set_base(m_messram->pointer()+0xf8000);
return;
}
else // enable I/O ports and VRAM
{
ROM = m_user->base();
// membank(1)->set_base(towns_gfxvram+(towns_vram_rplane*0x8000));
// membank(2)->set_base(towns_txtvram);
// membank(3)->set_base(m_messram->pointer()+0xc9000);
@ -1229,15 +1215,15 @@ void towns_state::towns_update_video_banks(address_space& space)
// membank(5)->set_base(towns_txtvram+0x2000);
// membank(10)->set_base(m_messram->pointer()+0xca800);
if(m_towns_ankcg_enable != 0)
membank("bank6")->set_base(ROM+0x180000+0x3d800); // ANK CG 8x16
m_bank_cb000_r->set_base(ROM+0x180000+0x3d800); // ANK CG 8x16
else
membank("bank6")->set_base(m_messram->pointer()+0xcb000);
membank("bank7")->set_base(m_messram->pointer()+0xcb000);
m_bank_cb000_r->set_base(m_messram->pointer()+0xcb000);
m_bank_cb000_w->set_base(m_messram->pointer()+0xcb000);
if(m_towns_system_port & 0x02)
membank("bank11")->set_base(m_messram->pointer()+0xf8000);
m_bank_f8000_r->set_base(m_messram->pointer()+0xf8000);
else
membank("bank11")->set_base(ROM+0x238000);
membank("bank12")->set_base(m_messram->pointer()+0xf8000);
m_bank_f8000_r->set_base(ROM+0x238000);
m_bank_f8000_w->set_base(m_messram->pointer()+0xf8000);
return;
}
}
@ -1997,7 +1983,7 @@ WRITE_LINE_MEMBER(towns_state::towns_scsi_irq)
WRITE_LINE_MEMBER(towns_state::towns_scsi_drq)
{
m_dma_1->dmarq(state, 1); // SCSI HDs use channel 1
m_dma[0]->dmarq(state, 1); // SCSI HDs use channel 1
}
@ -2198,14 +2184,14 @@ void towns_state::towns_mem(address_map &map)
map(0x00000000, 0x000bffff).ram();
map(0x000c0000, 0x000c7fff).rw(this, FUNC(towns_state::towns_gfx_r), FUNC(towns_state::towns_gfx_w));
map(0x000c8000, 0x000cafff).rw(this, FUNC(towns_state::towns_spriteram_low_r), FUNC(towns_state::towns_spriteram_low_w));
map(0x000cb000, 0x000cbfff).bankr("bank6").bankw("bank7");
map(0x000cb000, 0x000cbfff).bankr("bank_cb000_r").bankw("bank_cb000_w");
map(0x000cc000, 0x000cff7f).ram();
map(0x000cff80, 0x000cffff).rw(this, FUNC(towns_state::towns_video_cff80_mem_r), FUNC(towns_state::towns_video_cff80_mem_w));
map(0x000d0000, 0x000d7fff).ram();
map(0x000d8000, 0x000d9fff).rw(this, FUNC(towns_state::towns_cmos_low_r), FUNC(towns_state::towns_cmos_low_w)).share("nvram"); // CMOS? RAM
map(0x000da000, 0x000effff).ram(); //READWRITE(SMH_BANK(11),SMH_BANK(11))
map(0x000f0000, 0x000f7fff).ram(); //READWRITE(SMH_BANK(12),SMH_BANK(12))
map(0x000f8000, 0x000fffff).bankr("bank11").bankw("bank12");
map(0x000f8000, 0x000fffff).bankr("bank_f8000_r").bankw("bank_f8000_w");
// AM_RANGE(0x00100000, 0x005fffff) AM_RAM // some extra RAM
map(0x80000000, 0x8007ffff).rw(this, FUNC(towns_state::towns_gfx_high_r), FUNC(towns_state::towns_gfx_high_w)).mirror(0x80000); // VRAM
map(0x80100000, 0x8017ffff).rw(this, FUNC(towns_state::towns_gfx_packed_r), FUNC(towns_state::towns_gfx_packed_w)).mirror(0x80000); // VRAM
@ -2226,14 +2212,14 @@ void towns_state::marty_mem(address_map &map)
map(0x00000000, 0x000bffff).ram();
map(0x000c0000, 0x000c7fff).rw(this, FUNC(towns_state::towns_gfx_r), FUNC(towns_state::towns_gfx_w));
map(0x000c8000, 0x000cafff).rw(this, FUNC(towns_state::towns_spriteram_low_r), FUNC(towns_state::towns_spriteram_low_w));
map(0x000cb000, 0x000cbfff).bankr("bank6").bankw("bank7");
map(0x000cb000, 0x000cbfff).bankr("bank_cb000_r").bankw("bank_cb000_w");
map(0x000cc000, 0x000cff7f).ram();
map(0x000cff80, 0x000cffff).rw(this, FUNC(towns_state::towns_video_cff80_mem_r), FUNC(towns_state::towns_video_cff80_mem_w));
map(0x000d0000, 0x000d7fff).ram();
map(0x000d8000, 0x000d9fff).rw(this, FUNC(towns_state::towns_cmos_low_r), FUNC(towns_state::towns_cmos_low_w)).share("nvram16"); // CMOS? RAM
map(0x000da000, 0x000effff).ram(); //READWRITE(SMH_BANK(11),SMH_BANK(11))
map(0x000f0000, 0x000f7fff).ram(); //READWRITE(SMH_BANK(12),SMH_BANK(12))
map(0x000f8000, 0x000fffff).bankr("bank11").bankw("bank12");
map(0x000f8000, 0x000fffff).bankr("bank_f8000_r").bankw("bank_f8000_w");
// AM_RANGE(0x00100000, 0x005fffff) AM_RAM // some extra RAM - the Marty has 6MB RAM (not upgradable)
map(0x00600000, 0x0067ffff).rom().region("user", 0x000000); // OS
map(0x00680000, 0x0087ffff).rom().region("user", 0x280000); // EX ROM
@ -2252,14 +2238,14 @@ void towns_state::ux_mem(address_map &map)
map(0x00000000, 0x000bffff).ram();
map(0x000c0000, 0x000c7fff).rw(this, FUNC(towns_state::towns_gfx_r), FUNC(towns_state::towns_gfx_w));
map(0x000c8000, 0x000cafff).rw(this, FUNC(towns_state::towns_spriteram_low_r), FUNC(towns_state::towns_spriteram_low_w));
map(0x000cb000, 0x000cbfff).bankr("bank6").bankw("bank7");
map(0x000cb000, 0x000cbfff).bankr("bank_cb000_r").bankw("bank_cb000_w");
map(0x000cc000, 0x000cff7f).ram();
map(0x000cff80, 0x000cffff).rw(this, FUNC(towns_state::towns_video_cff80_mem_r), FUNC(towns_state::towns_video_cff80_mem_w));
map(0x000d0000, 0x000d7fff).ram();
map(0x000d8000, 0x000d9fff).rw(this, FUNC(towns_state::towns_cmos_low_r), FUNC(towns_state::towns_cmos_low_w)).share("nvram16"); // CMOS? RAM
map(0x000da000, 0x000effff).ram(); //READWRITE(SMH_BANK(11),SMH_BANK(11))
map(0x000f0000, 0x000f7fff).ram(); //READWRITE(SMH_BANK(12),SMH_BANK(12))
map(0x000f8000, 0x000fffff).bankr("bank11").bankw("bank12");
map(0x000f8000, 0x000fffff).bankr("bank_f8000_r").bankw("bank_f8000_w");
// AM_RANGE(0x00680000, 0x0087ffff) AM_ROM AM_REGION("user",0x280000) // EX ROM
map(0x00a00000, 0x00a7ffff).rw(this, FUNC(towns_state::towns_gfx_high_r), FUNC(towns_state::towns_gfx_high_w)).mirror(0x180000); // VRAM
map(0x00b00000, 0x00b7ffff).rom().region("user", 0x180000); // FONT
@ -2289,8 +2275,8 @@ void towns_state::towns_io(address_map &map)
map(0x0070, 0x0070).rw(this, FUNC(towns_state::towns_rtc_r), FUNC(towns_state::towns_rtc_w));
map(0x0080, 0x0080).w(this, FUNC(towns_state::towns_rtc_select_w));
// DMA controllers (uPD71071)
map(0x00a0, 0x00af).rw(this, FUNC(towns_state::towns_dma1_r), FUNC(towns_state::towns_dma1_w));
map(0x00b0, 0x00bf).rw(this, FUNC(towns_state::towns_dma2_r), FUNC(towns_state::towns_dma2_w));
map(0x00a0, 0x00af).rw(this, FUNC(towns_state::towns_dma_r<0>), FUNC(towns_state::towns_dma_w<0>));
map(0x00b0, 0x00bf).rw(this, FUNC(towns_state::towns_dma_r<1>), FUNC(towns_state::towns_dma_w<1>));
// Floppy controller
map(0x0200, 0x020f).rw(this, FUNC(towns_state::towns_floppy_r), FUNC(towns_state::towns_floppy_w));
// CRTC / Video
@ -2348,8 +2334,8 @@ void towns_state::towns16_io(address_map &map)
map(0x0070, 0x0070).rw(this, FUNC(towns_state::towns_rtc_r), FUNC(towns_state::towns_rtc_w));
map(0x0080, 0x0080).w(this, FUNC(towns_state::towns_rtc_select_w));
// DMA controllers (uPD71071)
map(0x00a0, 0x00af).rw(this, FUNC(towns_state::towns_dma1_r), FUNC(towns_state::towns_dma1_w));
map(0x00b0, 0x00bf).rw(this, FUNC(towns_state::towns_dma2_r), FUNC(towns_state::towns_dma2_w));
map(0x00a0, 0x00af).rw(this, FUNC(towns_state::towns_dma_r<0>), FUNC(towns_state::towns_dma_w<0>));
map(0x00b0, 0x00bf).rw(this, FUNC(towns_state::towns_dma_r<1>), FUNC(towns_state::towns_dma_w<1>));
// Floppy controller
map(0x0200, 0x020f).rw(this, FUNC(towns_state::towns_floppy_r), FUNC(towns_state::towns_floppy_w));
// CRTC / Video
@ -2391,6 +2377,12 @@ void towns_state::towns16_io(address_map &map)
map(0xff80, 0xffff).rw(this, FUNC(towns_state::towns_video_cff80_r), FUNC(towns_state::towns_video_cff80_w));
}
void towns_state::pcm_mem(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0xffff).ram();
}
/* Input ports */
static INPUT_PORTS_START( towns )
PORT_START("ctrltype")
@ -2800,6 +2792,7 @@ MACHINE_CONFIG_START(towns_state::towns_base)
MCFG_DEVICE_ADD("pcm", RF5C68, 16000000 / 2) // actual clock speed unknown
MCFG_RF5C68_SAMPLE_END_CB(towns_state, towns_pcm_irq)
MCFG_DEVICE_ADDRESS_MAP(0, pcm_mem)
MCFG_SOUND_ROUTE(0, "lspeaker", 3.00)
MCFG_SOUND_ROUTE(1, "rspeaker", 3.00)
MCFG_DEVICE_ADD("cdda",CDDA)

View File

@ -165,7 +165,8 @@ void segas18_state::device_timer(emu_timer &timer, device_timer_id id, int param
void segas18_state::machine_start()
{
membank("soundbank")->configure_entries(0, 256, memregion("soundcpu")->base() + 0x10000, 0x2000);
m_gun_recoil.resolve(); // lghost
m_soundbank->configure_entries(0, 256, memregion("soundcpu")->base(), 0x2000);
}
void segas18_state::machine_reset()
@ -291,7 +292,7 @@ WRITE16_MEMBER( segas18_state::rom_5987_bank_w )
// tile banking
if (offset < 8)
{
int maxbanks = m_gfxdecode->gfx(0)->elements() / 1024;
int maxbanks = m_gfxdecode->gfx(0)->elements() >> 10;
if (data >= maxbanks)
data %= maxbanks;
m_segaic16vid->tilemap_set_bank(0, offset, data);
@ -300,7 +301,7 @@ WRITE16_MEMBER( segas18_state::rom_5987_bank_w )
// sprite banking
else
{
int maxbanks = memregion("sprites")->bytes() / 0x40000;
int maxbanks = m_sprites_region->bytes() >> 18;
if (data >= maxbanks)
data = 255;
m_sprites->set_bank((offset - 8) * 2 + 0, data * 2 + 0);
@ -564,9 +565,10 @@ WRITE16_MEMBER( segas18_state::lghost_custom_io_w )
WRITE8_MEMBER( segas18_state::lghost_gun_recoil_w )
{
output().set_value("P1_Gun_Recoil", (~data & 0x01));
output().set_value("P2_Gun_Recoil", (~data & 0x02)>>1);
output().set_value("P3_Gun_Recoil", (~data & 0x04)>>2);
for (int i = 0; i < 3; i++)
{
m_gun_recoil[i] = BIT(~data, i);
}
}
@ -602,7 +604,7 @@ WRITE16_MEMBER( segas18_state::wwally_custom_io_w )
WRITE8_MEMBER( segas18_state::soundbank_w )
{
membank("soundbank")->set_entry(data);
m_soundbank->set_entry(data);
}
@ -641,7 +643,7 @@ void segas18_state::decrypted_opcodes_map(address_map &map)
void segas18_state::sound_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x9fff).rom().region("soundcpu", 0x10000);
map(0x0000, 0x9fff).rom().region("soundcpu", 0);
map(0xa000, 0xbfff).bankr("soundbank");
map(0xc000, 0xc00f).mirror(0x0ff0).w("rfsnd", FUNC(rf5c68_device::rf5c68_w));
map(0xd000, 0xdfff).rw("rfsnd", FUNC(rf5c68_device::rf5c68_mem_r), FUNC(rf5c68_device::rf5c68_mem_w));
@ -658,6 +660,12 @@ void segas18_state::sound_portmap(address_map &map)
map(0xc0, 0xc0).mirror(0x1f).rw(m_mapper, FUNC(sega_315_5195_mapper_device::pread), FUNC(sega_315_5195_mapper_device::pwrite));
}
void segas18_state::pcm_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0xffff).ram();
}
/*************************************
@ -1268,8 +1276,8 @@ static const gfx_layout charlayout =
RGN_FRAC(1,3),
3,
{ RGN_FRAC(2,3), RGN_FRAC(1,3), RGN_FRAC(0,3) },
{ 0, 1, 2, 3, 4, 5, 6, 7 },
{ 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
{ STEP8(0,1) },
{ STEP8(0,8) },
8*8
};
@ -1367,6 +1375,7 @@ MACHINE_CONFIG_START(segas18_state::system18)
MCFG_DEVICE_ADD("rfsnd", RF5C68, 10000000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, pcm_map)
MACHINE_CONFIG_END
@ -1494,11 +1503,11 @@ ROM_START( astorm )
ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083a.bin", 0x010000, 0x20000, CRC(e7528e06) SHA1(1f4e618692c20aeb316d578c5ded12440eb072ab) ) // Also known to come with EPR-13083B rom instead of EPR-13083A (like astormj)
ROM_LOAD( "epr-13076.bin", 0x090000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x110000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x190000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083a.bin", 0x000000, 0x20000, CRC(e7528e06) SHA1(1f4e618692c20aeb316d578c5ded12440eb072ab) ) // Also known to come with EPR-13083B rom instead of EPR-13083A (like astormj)
ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_END
/**************************************************************************************************************************
@ -1530,11 +1539,11 @@ ROM_START( astorm3 )
ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x010000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) ) // Also known to come with EPR-13083A rom instead of EPR-13083
ROM_LOAD( "epr-13076.bin", 0x090000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x110000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x190000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) ) // Also known to come with EPR-13083A rom instead of EPR-13083
ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_END
ROM_START( astorm3d )
@ -1557,11 +1566,11 @@ ROM_START( astorm3d )
ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x010000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
ROM_LOAD( "epr-13076.bin", 0x090000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x110000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x190000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_END
/**************************************************************************************************************************
@ -1591,11 +1600,11 @@ ROM_START( astormu )
ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x010000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
ROM_LOAD( "epr-13076.bin", 0x090000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x110000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x190000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_END
ROM_START( astormud )
@ -1618,11 +1627,11 @@ ROM_START( astormud )
ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x010000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
ROM_LOAD( "epr-13076.bin", 0x090000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x110000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x190000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083.bin", 0x000000, 0x20000, CRC(5df3af20) SHA1(e49105fcfd5bf37d14bd760f6adca5ce2412883d) )
ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_END
@ -1654,11 +1663,11 @@ ROM_START( astormj )
ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083b.bin", 0x010000, 0x20000, CRC(169b4b5f) SHA1(bb3dfc4aff939df5ad04cf3ecb8e7de366097743) )
ROM_LOAD( "epr-13076.bin", 0x090000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x110000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x190000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083b.bin", 0x000000, 0x20000, CRC(169b4b5f) SHA1(bb3dfc4aff939df5ad04cf3ecb8e7de366097743) )
ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_END
ROM_START( astormjd )
@ -1681,11 +1690,11 @@ ROM_START( astormjd )
ROM_LOAD16_BYTE( "epr-13079.bin", 0x180001, 0x40000, CRC(de9221ed) SHA1(5e2e434d1aa547be1e5652fc906d2e18c5122023) )
ROM_LOAD16_BYTE( "epr-13086.bin", 0x180000, 0x40000, CRC(8c9a71c4) SHA1(40b774765ac888792aad46b6351a24b7ef40d2dc) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083b.bin", 0x010000, 0x20000, CRC(169b4b5f) SHA1(bb3dfc4aff939df5ad04cf3ecb8e7de366097743) )
ROM_LOAD( "epr-13076.bin", 0x090000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x110000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x190000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13083b.bin", 0x000000, 0x20000, CRC(169b4b5f) SHA1(bb3dfc4aff939df5ad04cf3ecb8e7de366097743) )
ROM_LOAD( "epr-13076.bin", 0x080000, 0x40000, CRC(94e6c76e) SHA1(f99e58a9bf372c41af211bd9b9ea3ac5b924c6ed) )
ROM_LOAD( "epr-13077.bin", 0x100000, 0x40000, CRC(e2ec0d8d) SHA1(225b0d223b7282cba7710300a877fb4a2c6dbabb) )
ROM_LOAD( "epr-13078.bin", 0x180000, 0x40000, CRC(15684dc5) SHA1(595051006de24f791dae937584e502ff2fa31d9c) )
ROM_END
@ -1713,8 +1722,8 @@ ROM_START( bloxeed )
ROM_LOAD16_BYTE( "opr-12891.a11", 0x00000, 0x10000, CRC(90d31a8c) SHA1(1747652a5109ce65add197cf06535f2463a99fdc) )
ROM_LOAD16_BYTE( "opr-12887.b11", 0x00001, 0x10000, CRC(f0c0f49d) SHA1(7ecd591265165f3149241e2ceb5059faab88360f) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12888.a4", 0x010000, 0x20000, CRC(6f2fc63c) SHA1(3cce22c8f80013f05b5a2d36c42a61a81e4d6cbd) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12888.a4", 0x000000, 0x20000, CRC(6f2fc63c) SHA1(3cce22c8f80013f05b5a2d36c42a61a81e4d6cbd) )
ROM_END
ROM_START( bloxeedd )
@ -1731,8 +1740,8 @@ ROM_START( bloxeedd )
ROM_LOAD16_BYTE( "opr-12891.a11", 0x00000, 0x10000, CRC(90d31a8c) SHA1(1747652a5109ce65add197cf06535f2463a99fdc) )
ROM_LOAD16_BYTE( "opr-12887.b11", 0x00001, 0x10000, CRC(f0c0f49d) SHA1(7ecd591265165f3149241e2ceb5059faab88360f) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12888.a4", 0x010000, 0x20000, CRC(6f2fc63c) SHA1(3cce22c8f80013f05b5a2d36c42a61a81e4d6cbd) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12888.a4", 0x000000, 0x20000, CRC(6f2fc63c) SHA1(3cce22c8f80013f05b5a2d36c42a61a81e4d6cbd) )
ROM_END
/**************************************************************************************************************************
@ -1768,10 +1777,10 @@ ROM_START( cltchitr )
ROM_LOAD16_BYTE( "mpr-13781.c12", 0x400001, 0x80000, CRC(f33b13af) SHA1(d3eb64dcf12d532454bf3cd6c86528c0f11ee316) )
ROM_LOAD16_BYTE( "mpr-13789.a12", 0x400000, 0x80000, CRC(09ba8835) SHA1(72e83dd1793a7f4b2b881e71f262493e3d4992b3) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13793.c7", 0x010000, 0x80000, CRC(a3d31944) SHA1(44d17aa0598eacfac4b12c8955fd1067ca09abbd) )
ROM_LOAD( "epr-13792.c6", 0x090000, 0x80000, CRC(808f9695) SHA1(d50677d20083ad56dbf0864db05f76f93a4e9eba) )
ROM_LOAD( "epr-13791.c5", 0x110000, 0x80000, CRC(35c16d80) SHA1(7ed04600748c5efb63e25f066daa163e9c0d8038) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13793.c7", 0x000000, 0x80000, CRC(a3d31944) SHA1(44d17aa0598eacfac4b12c8955fd1067ca09abbd) )
ROM_LOAD( "epr-13792.c6", 0x080000, 0x80000, CRC(808f9695) SHA1(d50677d20083ad56dbf0864db05f76f93a4e9eba) )
ROM_LOAD( "epr-13791.c5", 0x100000, 0x80000, CRC(35c16d80) SHA1(7ed04600748c5efb63e25f066daa163e9c0d8038) )
ROM_END
ROM_START( cltchitrd )
@ -1794,10 +1803,10 @@ ROM_START( cltchitrd )
ROM_LOAD16_BYTE( "mpr-13781.c12", 0x400001, 0x80000, CRC(f33b13af) SHA1(d3eb64dcf12d532454bf3cd6c86528c0f11ee316) )
ROM_LOAD16_BYTE( "mpr-13789.a12", 0x400000, 0x80000, CRC(09ba8835) SHA1(72e83dd1793a7f4b2b881e71f262493e3d4992b3) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13793.c7", 0x010000, 0x80000, CRC(a3d31944) SHA1(44d17aa0598eacfac4b12c8955fd1067ca09abbd) )
ROM_LOAD( "epr-13792.c6", 0x090000, 0x80000, CRC(808f9695) SHA1(d50677d20083ad56dbf0864db05f76f93a4e9eba) )
ROM_LOAD( "epr-13791.c5", 0x110000, 0x80000, CRC(35c16d80) SHA1(7ed04600748c5efb63e25f066daa163e9c0d8038) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13793.c7", 0x000000, 0x80000, CRC(a3d31944) SHA1(44d17aa0598eacfac4b12c8955fd1067ca09abbd) )
ROM_LOAD( "epr-13792.c6", 0x080000, 0x80000, CRC(808f9695) SHA1(d50677d20083ad56dbf0864db05f76f93a4e9eba) )
ROM_LOAD( "epr-13791.c5", 0x100000, 0x80000, CRC(35c16d80) SHA1(7ed04600748c5efb63e25f066daa163e9c0d8038) )
ROM_END
/**************************************************************************************************************************
@ -1831,11 +1840,11 @@ ROM_START( cltchitrj )
ROM_LOAD16_BYTE( "epr-13782.c13", 0x600001, 0x40000, CRC(73790852) SHA1(891345cb8ce4b04bd293ee9bac9b1b9940d6bcb2) )
ROM_LOAD16_BYTE( "epr-13790.a13", 0x600000, 0x40000, CRC(23849101) SHA1(1aeb0fefb6688dfd841bd7d0b17ffdfce69f1dd9) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
// another copy in different set is epr-13778.b7 - 9c54c038
ROM_LOAD( "epr-13778.c7", 0x010000, 0x20000, CRC(35e86146) SHA1(9be82165dc12d5f32ef26f37ea02b29e3621893f) )
ROM_LOAD( "epr-13777.c6", 0x090000, 0x80000, CRC(d1524782) SHA1(121c5804927ed686ea50d5d81d0226e041f50f6f) )
ROM_LOAD( "epr-13776.c5", 0x110000, 0x80000, CRC(282ac9fe) SHA1(4f54d93779c35c036d7c85fce6736df80f3bbe33) )
ROM_LOAD( "epr-13778.c7", 0x000000, 0x20000, CRC(35e86146) SHA1(9be82165dc12d5f32ef26f37ea02b29e3621893f) )
ROM_LOAD( "epr-13777.c6", 0x080000, 0x80000, CRC(d1524782) SHA1(121c5804927ed686ea50d5d81d0226e041f50f6f) )
ROM_LOAD( "epr-13776.c5", 0x100000, 0x80000, CRC(282ac9fe) SHA1(4f54d93779c35c036d7c85fce6736df80f3bbe33) )
ROM_END
ROM_START( cltchitrjd )
@ -1861,11 +1870,11 @@ ROM_START( cltchitrjd )
ROM_LOAD16_BYTE( "epr-13782.c13", 0x600001, 0x40000, CRC(73790852) SHA1(891345cb8ce4b04bd293ee9bac9b1b9940d6bcb2) )
ROM_LOAD16_BYTE( "epr-13790.a13", 0x600000, 0x40000, CRC(23849101) SHA1(1aeb0fefb6688dfd841bd7d0b17ffdfce69f1dd9) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
// another copy in different set is epr-13778.b7 - 9c54c038
ROM_LOAD( "epr-13778.c7", 0x010000, 0x20000, CRC(35e86146) SHA1(9be82165dc12d5f32ef26f37ea02b29e3621893f) )
ROM_LOAD( "epr-13777.c6", 0x090000, 0x80000, CRC(d1524782) SHA1(121c5804927ed686ea50d5d81d0226e041f50f6f) )
ROM_LOAD( "epr-13776.c5", 0x110000, 0x80000, CRC(282ac9fe) SHA1(4f54d93779c35c036d7c85fce6736df80f3bbe33) )
ROM_LOAD( "epr-13778.c7", 0x000000, 0x20000, CRC(35e86146) SHA1(9be82165dc12d5f32ef26f37ea02b29e3621893f) )
ROM_LOAD( "epr-13777.c6", 0x080000, 0x80000, CRC(d1524782) SHA1(121c5804927ed686ea50d5d81d0226e041f50f6f) )
ROM_LOAD( "epr-13776.c5", 0x100000, 0x80000, CRC(282ac9fe) SHA1(4f54d93779c35c036d7c85fce6736df80f3bbe33) )
ROM_END
@ -1901,11 +1910,11 @@ ROM_START( ddcrew )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
ROM_START( ddcrewd )
@ -1930,11 +1939,11 @@ ROM_START( ddcrewd )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
/**************************************************************************************************************************
@ -1967,11 +1976,11 @@ ROM_START( ddcrewu )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
ROM_START( ddcrewud )
@ -1996,11 +2005,11 @@ ROM_START( ddcrewud )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
/**************************************************************************************************************************
@ -2033,11 +2042,11 @@ ROM_START( ddcrew2 )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
ROM_START( ddcrew2d )
@ -2062,11 +2071,11 @@ ROM_START( ddcrew2d )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
@ -2101,11 +2110,11 @@ ROM_START( ddcrew1 )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
ROM_START( ddcrew1d )
@ -2130,11 +2139,11 @@ ROM_START( ddcrew1d )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
@ -2168,11 +2177,11 @@ ROM_START( ddcrewj )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
@ -2198,11 +2207,11 @@ ROM_START( ddcrewjd )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
/**************************************************************************************************************************
@ -2236,11 +2245,11 @@ ROM_START( ddcrewj2 )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
ROM_START( ddcrewj2d )
@ -2266,11 +2275,11 @@ ROM_START( ddcrewj2d )
ROM_LOAD16_BYTE( "epr-14137.c13", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
ROM_LOAD16_BYTE( "epr-14145.a13", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x010000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x090000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x110000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x190000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14133.c7", 0x000000, 0x20000, CRC(cff96665) SHA1(b4dc7f1a03415ebebdb99a82ae89328c345e7678) )
ROM_LOAD( "mpr-14132.c6", 0x080000, 0x80000, CRC(1fae0220) SHA1(8414c74318ea915816c6b67801ac7c8c3fc905f9) )
ROM_LOAD( "mpr-14131.c5", 0x100000, 0x80000, CRC(be5a7d0b) SHA1(c2c598b0cf711273fdd568f3401375e9772c1d61) )
ROM_LOAD( "epr-14130.c4", 0x180000, 0x80000, CRC(948f34a1) SHA1(d4c6728d5eea06cee6ac15a34ec8cccb4cc4b982) )
ROM_END
/**************************************************************************************************************************
@ -2308,11 +2317,11 @@ ROM_START( desertbr )
ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x010000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x090000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x110000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x190000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_END
ROM_START( desertbrd )
@ -2337,11 +2346,11 @@ ROM_START( desertbrd )
ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x010000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x090000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x110000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x190000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_END
@ -2378,11 +2387,11 @@ ROM_START( desertbrj )
ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x010000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x090000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x110000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x190000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_END
@ -2408,11 +2417,11 @@ ROM_START( desertbrjd )
ROM_LOAD16_BYTE( "mpr-14791.c13", 0x600001, 0x100000, CRC(a4ae352b) SHA1(dc814e1c2e167e191cd43fa554ff8ee974d47152) )
ROM_LOAD16_BYTE( "mpr-14799.a13", 0x600000, 0x100000, CRC(aeb7b025) SHA1(9ce2a9a46176a110c8d2e77deb3d8b9b69b902fa) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x010000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x090000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x110000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x190000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14787.c7", 0x000000, 0x40000, CRC(cc6feec7) SHA1(31cc243178b98681a52500a485d74ed9e1274888) )
ROM_LOAD( "mpr-14786.c6", 0x080000, 0x80000, CRC(cc8349f2) SHA1(9f00d8ea372b70ba44a90dab497deadcc5be3dab) )
ROM_LOAD( "mpr-14785.c5", 0x100000, 0x80000, CRC(7babba13) SHA1(190cd9ea0f73272e0df34bbdfd8e0035f9e9b0b0) )
ROM_LOAD( "mpr-14784.c4", 0x180000, 0x80000, CRC(073878e4) SHA1(eff08080d06a16fccf4876e42b389fef599cceba) )
ROM_END
@ -2449,9 +2458,9 @@ ROM_START( hamaway )
ROM_LOAD16_BYTE( "c19.bin", 0x100001, 0x40000, CRC(3c616caa) SHA1(d48a6239b7a52ac13971f7513a65a17af492bfdf) ) // 11xxxxxxxxxxxxxxxx = 0xFF
ROM_LOAD16_BYTE( "12.bin", 0x100000, 0x40000, CRC(c7bbd579) SHA1(ab87bfdad66ea241cb23c9bbfea05f5a1574d6c9) ) // 1ST AND 2ND HALF IDENTICAL (but ok, because pairing ROM has no data in the 2nd half anyway)
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "c16.bin", 0x010000, 0x40000, CRC(913cc18c) SHA1(4bf4ec14937586c3ae77fcad57dcb21f6433ef81) )
ROM_LOAD( "c15.bin", 0x090000, 0x40000, CRC(b53694fc) SHA1(0e42be2730abce1b52ea94a9fe61cbd1c9a0ccae) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "c16.bin", 0x000000, 0x40000, CRC(913cc18c) SHA1(4bf4ec14937586c3ae77fcad57dcb21f6433ef81) )
ROM_LOAD( "c15.bin", 0x080000, 0x40000, CRC(b53694fc) SHA1(0e42be2730abce1b52ea94a9fe61cbd1c9a0ccae) )
ROM_END
@ -2487,11 +2496,11 @@ ROM_START( lghost )
ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x010000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x090000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x110000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x190000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_END
ROM_START( lghostd )
@ -2516,11 +2525,11 @@ ROM_START( lghostd )
ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x010000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x090000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x110000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x190000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_END
/**************************************************************************************************************************
@ -2586,11 +2595,11 @@ ROM_START( lghostu )
ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x010000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x090000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x110000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x190000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_END
@ -2616,11 +2625,11 @@ ROM_START( lghostud )
ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x010000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x090000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x110000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x190000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_END
@ -2656,11 +2665,11 @@ ROM_START( lghostj )
ROM_LOAD16_BYTE( "mpr-13423.a13", 0x600000, 0x80000, CRC(335bbc9d) SHA1(78793335b2f8a1bb05809259521db193c17c9b98) )
ROM_LOAD16_BYTE( "mpr-13426.c13", 0x600001, 0x80000, CRC(5cfb1e25) SHA1(1dd57475604f339e58bf946e17ae0dc5cf4a3dba) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x010000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x090000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x110000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x190000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13417.c7", 0x000000, 0x20000, CRC(cd7beb49) SHA1(2435ce000f1eefdd06b27ea93e22fd82c0e999d2) )
ROM_LOAD( "mpr-13420.c6", 0x080000, 0x40000, CRC(3de0dee4) SHA1(31833684df5a34d5e9ef04f2ab42355b8e9cbb45) )
ROM_LOAD( "mpr-13419.c5", 0x100000, 0x40000, CRC(e7021b0a) SHA1(82e390fac63965d4f80ae01758c19ae951c39475) )
ROM_LOAD( "mpr-13418.c4", 0x180000, 0x40000, CRC(0732594d) SHA1(9fbeae29f1a31d136ddc9a49c786b2a08a523e0d) )
ROM_END
@ -2694,11 +2703,11 @@ ROM_START( mwalk )
ROM_LOAD16_BYTE( "epr-13221.b8", 0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
ROM_LOAD16_BYTE( "epr-13228.a8", 0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x010000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x090000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x110000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x190000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000, CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
@ -2724,11 +2733,11 @@ ROM_START( mwalkd )
ROM_LOAD16_BYTE( "epr-13221.b8", 0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
ROM_LOAD16_BYTE( "epr-13228.a8", 0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x010000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x090000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x110000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x190000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000, CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
@ -2763,11 +2772,11 @@ ROM_START( mwalku )
ROM_LOAD16_BYTE( "epr-13221.b8", 0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
ROM_LOAD16_BYTE( "epr-13228.a8", 0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x010000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x090000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x110000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x190000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000, CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
@ -2793,11 +2802,11 @@ ROM_START( mwalkud )
ROM_LOAD16_BYTE( "epr-13221.b8", 0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
ROM_LOAD16_BYTE( "epr-13228.a8", 0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x010000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x090000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x110000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x190000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
ROM_LOAD( "315-5437.ic4", 0x00000, 0x1000, CRC(4bf63bc1) SHA1(2766ab30b466b079febb30c488adad9ea56813f7) )
@ -2831,11 +2840,11 @@ ROM_START( mwalkj )
ROM_LOAD16_BYTE( "epr-13221.b8", 0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
ROM_LOAD16_BYTE( "epr-13228.a8", 0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x010000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x090000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x110000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x190000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
// not verified if mcu is the same as the other sets..
@ -2862,11 +2871,11 @@ ROM_START( mwalkjd )
ROM_LOAD16_BYTE( "epr-13221.b8", 0x180001, 0x40000, CRC(9ae7546a) SHA1(5413b0131881b0b32bac8de51da9a299835014bb) )
ROM_LOAD16_BYTE( "epr-13228.a8", 0x180000, 0x40000, CRC(de3786be) SHA1(2279bb390aa3efab9aeee0a643e5cb6a4f5933b6) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x010000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x090000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x110000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x190000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-13225.a4", 0x000000, 0x20000, CRC(56c2e82b) SHA1(d5755a1bb6e889d274dc60e883d4d65f12fdc877) )
ROM_LOAD( "mpr-13219.b4", 0x080000, 0x40000, CRC(19e2061f) SHA1(2dcf1718a43dab4da53b4f67722664e70ddd2169) )
ROM_LOAD( "mpr-13220.b5", 0x100000, 0x40000, CRC(58d4d9ce) SHA1(725e73a656845b02702ef131b4c0aa2a73cdd02e) )
ROM_LOAD( "mpr-13249.b6", 0x180000, 0x40000, CRC(623edc5d) SHA1(c32d9f818d40f311877fbe6532d9e95b6045c3c4) )
ROM_REGION( 0x10000, "mcu", 0 ) // protection MCU
// not verified if mcu is the same as the other sets..
@ -2897,8 +2906,8 @@ ROM_START( pontoon )
ROM_LOAD16_BYTE( "epr-13173.b11", 0x000001, 0x40000, CRC(40a0ddfa) SHA1(f3917361f627865d2f1a22791904da056ce8a93a) )
ROM_LOAD16_BYTE( "epr-13176.a11", 0x000000, 0x40000, CRC(1184fbd2) SHA1(685ee2d7c4a0134af13ccf5d15f2e56a6b905195) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12826a.a4", 0x10000, 0x20000, CRC(d41e2a3f) SHA1(087a6515ebefc3252a1feab5bf7b8a22bff9e379) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12826a.a4", 0x00000, 0x20000, CRC(d41e2a3f) SHA1(087a6515ebefc3252a1feab5bf7b8a22bff9e379) )
ROM_END
@ -2933,9 +2942,9 @@ ROM_START( shdancer )
ROM_LOAD16_BYTE( "epr-12716.b8", 0x180001, 0x40000, CRC(a870e629) SHA1(29f6633240f9737ec19e16100decc7aa045b2060) )
ROM_LOAD16_BYTE( "epr-12723.a8", 0x180000, 0x40000, CRC(c606cf90) SHA1(cb53ae9a6da1eb31c584173d1fbbd1c8539fb54c) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12987.a4", 0x10000, 0x20000, CRC(d1c020cc) SHA1(7823e31fc44180570ee2512a73e993533204b5ab) )
ROM_LOAD( "mpr-12715.b4", 0x90000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12987.a4", 0x00000, 0x20000, CRC(d1c020cc) SHA1(7823e31fc44180570ee2512a73e993533204b5ab) )
ROM_LOAD( "mpr-12715.b4", 0x80000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
ROM_END
/**************************************************************************************************************************
@ -2963,9 +2972,9 @@ ROM_START( shdancerj )
ROM_LOAD16_BYTE( "epr-12716.b8", 0x180001, 0x40000, CRC(a870e629) SHA1(29f6633240f9737ec19e16100decc7aa045b2060) )
ROM_LOAD16_BYTE( "epr-12723.a8", 0x180000, 0x40000, CRC(c606cf90) SHA1(cb53ae9a6da1eb31c584173d1fbbd1c8539fb54c) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12720.a4", 0x10000, 0x20000, CRC(7a0d8de1) SHA1(eca5e2104e5b3e772d083a718171234f06ea8a55) )
ROM_LOAD( "mpr-12715.b4", 0x90000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12720.a4", 0x00000, 0x20000, CRC(7a0d8de1) SHA1(eca5e2104e5b3e772d083a718171234f06ea8a55) )
ROM_LOAD( "mpr-12715.b4", 0x80000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
ROM_END
/**************************************************************************************************************************
@ -2997,9 +3006,9 @@ ROM_START( shdancer1 )
ROM_LOAD16_BYTE( "epr-12716.b8", 0x180001, 0x40000, CRC(a870e629) SHA1(29f6633240f9737ec19e16100decc7aa045b2060) )
ROM_LOAD16_BYTE( "epr-12723.a8", 0x180000, 0x40000, CRC(c606cf90) SHA1(cb53ae9a6da1eb31c584173d1fbbd1c8539fb54c) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12720.a4", 0x10000, 0x20000, CRC(7a0d8de1) SHA1(eca5e2104e5b3e772d083a718171234f06ea8a55) )
ROM_LOAD( "mpr-12715.b4", 0x90000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-12720.a4", 0x00000, 0x20000, CRC(7a0d8de1) SHA1(eca5e2104e5b3e772d083a718171234f06ea8a55) )
ROM_LOAD( "mpr-12715.b4", 0x80000, 0x40000, CRC(07051a52) SHA1(d48658497f4a34665d3e051f893ff057c38925ae) )
ROM_END
@ -3031,11 +3040,11 @@ ROM_START( wwallyj )
ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x010000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x090000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x110000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x190000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_END
ROM_START( wwallyjd )
@ -3056,11 +3065,11 @@ ROM_START( wwallyjd )
ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x010000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x090000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x110000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x190000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_END
@ -3090,11 +3099,11 @@ ROM_START( wwallyja )
ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x010000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x090000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x110000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x190000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_END
ROM_START( wwallyjad )
@ -3115,11 +3124,11 @@ ROM_START( wwallyjad )
ROM_LOAD16_BYTE( "mpr-14728.c12", 0x400001, 0x080000, CRC(5b921587) SHA1(2779dc658bb7a51f2399af5a6463ccb2dd388e88) )
ROM_LOAD16_BYTE( "mpr-14734.a12", 0x400000, 0x080000, CRC(6f3f5ed9) SHA1(01972c8bd5bfde58715bc0adc7dea73bf6350a26) )
ROM_REGION( 0x210000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x010000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x090000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x110000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x190000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_REGION( 0x200000, "soundcpu", ROMREGION_ERASEFF ) // sound CPU
ROM_LOAD( "epr-14725.c7", 0x000000, 0x20000, CRC(2b29684f) SHA1(b83962a4f475f9b3e79d4f7ff577b170c4043156) )
ROM_LOAD( "mpr-14724.c6", 0x080000, 0x80000, CRC(47cbea86) SHA1(c70d1fed2912c7c05223ce0bb0941706f957295f) )
ROM_LOAD( "mpr-14723.c5", 0x100000, 0x80000, CRC(bc5adc27) SHA1(09405002b940a3d3eb0f1258f37af51e0b7581b9) )
ROM_LOAD( "mpr-14722.c4", 0x180000, 0x80000, CRC(1bd081f8) SHA1(e5b0b5d8334486f813d7c430bb7fce3f69605a21) )
ROM_END

View File

@ -563,21 +563,26 @@ segas32_state::segas32_state(const machine_config &mconfig, const char *tag, dev
}
segas32_state::segas32_state(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, type, tag, owner, clock),
m_z80_shared_ram(*this,"z80_shared_ram"),
m_system32_workram(*this,"workram"),
m_system32_videoram(*this,"videoram", 0),
m_system32_spriteram(*this,"spriteram", 0),
m_system32_paletteram(*this,"paletteram.%u", 0, uint8_t(0)),
m_maincpu(*this, "maincpu"),
m_soundcpu(*this, "soundcpu"),
m_multipcm(*this, "sega"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_irq_timer_0(*this, "v60_irq0"),
m_irq_timer_1(*this, "v60_irq1"),
m_s32comm(*this, "s32comm")
: device_t(mconfig, type, tag, owner, clock)
, m_z80_shared_ram(*this,"z80_shared_ram")
, m_system32_workram(*this,"workram")
, m_system32_videoram(*this,"videoram", 0)
, m_system32_spriteram(*this,"spriteram", 0)
, m_system32_paletteram(*this,"paletteram.%u", 0, uint8_t(0))
, m_maincpu(*this, "maincpu")
, m_soundcpu(*this, "soundcpu")
, m_multipcm(*this, "sega")
, m_gfxdecode(*this, "gfxdecode")
, m_screen(*this, "screen")
, m_palette(*this, "palette")
, m_irq_timer_0(*this, "v60_irq0")
, m_irq_timer_1(*this, "v60_irq1")
, m_s32comm(*this, "s32comm")
, m_sprite_region(*this, "sprites")
, m_maincpu_region(*this, "maincpu")
, m_soundrom_bank(*this, "soundbank")
, m_multipcm_bank_lo(*this, "multipcmbanklo")
, m_multipcm_bank_hi(*this, "multipcmbankhi")
{
}
@ -999,28 +1004,28 @@ WRITE_LINE_MEMBER(segas32_state::ym3438_irq_handler)
WRITE8_MEMBER(segas32_state::sound_bank_lo_w)
{
m_sound_bank = (m_sound_bank & ~0x3f) | (data & 0x3f);
membank("bank1")->set_entry(m_sound_bank);
m_soundrom_bank->set_entry(m_sound_bank);
}
WRITE8_MEMBER(segas32_state::sound_bank_hi_w)
{
m_sound_bank = (m_sound_bank & 0x3f) | ((data & 0x04) << 4) | ((data & 0x03) << 7);
membank("bank1")->set_entry(m_sound_bank);
m_soundrom_bank->set_entry(m_sound_bank);
}
WRITE8_MEMBER(segas32_state::multipcm_bank_w)
{
membank("multipcmbankhi")->set_entry((data >> 3) & 7);
membank("multipcmbanklo")->set_entry(data & 7);
m_multipcm_bank_hi->set_entry((data >> 3) & 7);
m_multipcm_bank_lo->set_entry(data & 7);
}
WRITE8_MEMBER(segas32_state::scross_bank_w)
{
membank("multipcmbankhi")->set_entry(data & 7);
membank("multipcmbanklo")->set_entry(data & 7);
m_multipcm_bank_hi->set_entry(data & 7);
m_multipcm_bank_lo->set_entry(data & 7);
}
@ -1109,7 +1114,7 @@ void segas32_state::multi32_map(address_map &map)
void segas32_state::system32_sound_map(address_map &map)
{
map(0x0000, 0x9fff).rom().region("soundcpu", 0);
map(0xa000, 0xbfff).bankr("bank1");
map(0xa000, 0xbfff).bankr("soundbank");
map(0xc000, 0xc00f).mirror(0x0ff0).w("rfsnd", FUNC(rf5c68_device::rf5c68_w));
map(0xd000, 0xdfff).rw("rfsnd", FUNC(rf5c68_device::rf5c68_mem_r), FUNC(rf5c68_device::rf5c68_mem_w));
map(0xe000, 0xffff).ram().share("z80_shared_ram");
@ -1128,11 +1133,17 @@ void segas32_state::system32_sound_portmap(address_map &map)
map(0xf1, 0xf1).rw(this, FUNC(segas32_state::sound_dummy_r), FUNC(segas32_state::sound_dummy_w));
}
void segas32_state::rf5c68_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0xffff).ram();
}
void segas32_state::multi32_sound_map(address_map &map)
{
map(0x0000, 0x9fff).rom().region("soundcpu", 0);
map(0xa000, 0xbfff).bankr("bank1");
map(0xa000, 0xbfff).bankr("soundbank");
map(0xc000, 0xdfff).rw("sega", FUNC(multipcm_device::read), FUNC(multipcm_device::write));
map(0xe000, 0xffff).ram().share("z80_shared_ram");
}
@ -2166,10 +2177,9 @@ static const gfx_layout bgcharlayout =
16,16,
RGN_FRAC(1,1),
4,
{ 0,1,2,3 },
{ 0, 4, 16, 20, 8, 12, 24, 28, 32, 36, 48, 52, 40, 44, 56, 60 },
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64,
8*64, 9*64,10*64,11*64,12*64,13*64,14*64,15*64 },
{ STEP4(0,1) },
{ 0, 4, 16, 20, 8, 12, 24, 28, 32, 36, 48, 52, 40, 44, 56, 60 },
{ STEP16(0,4*16) },
16*64
};
@ -2246,6 +2256,7 @@ MACHINE_CONFIG_START(segas32_state::device_add_mconfig)
MCFG_DEVICE_ADD("rfsnd", RF5C68, RFC_CLOCK/4)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.55)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.55)
MCFG_DEVICE_ADDRESS_MAP(0, rf5c68_map)
MCFG_S32COMM_ADD("s32comm")
MACHINE_CONFIG_END
@ -2905,7 +2916,7 @@ ROM_START( arescue )
ROM_LOAD32_BYTE( "mpr-14498.ic34", 0x000002, 0x080000, CRC(d4a764bd) SHA1(8434a9225ed1e01e8b1cfe169268e42cd3ce6ee3) )
ROM_LOAD32_BYTE( "mpr-14499.ic38", 0x000000, 0x080000, CRC(fadc4b2b) SHA1(01c02a4dfad1ab19bac8b81b61d37fdc035bc5c5) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14500.ic24", 0x000007, 0x100000, CRC(0a064e9b) SHA1(264761f4aacaeeac9426528caf180404cd7f6e18) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14501.ic28", 0x000006, 0x100000, CRC(4662bb41) SHA1(80774e680468e9ba9c5dd5eeaa4791fa3b3722fd) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14502.ic33", 0x000005, 0x100000, CRC(988555a9) SHA1(355e44319fd51358329cc7cd226e4c4725e045cb) , ROM_SKIP(7) )
@ -2938,7 +2949,7 @@ ROM_START( arescue )
ROM_LOAD32_BYTE( "mpr-14498.ic34", 0x000002, 0x080000, CRC(d4a764bd) SHA1(8434a9225ed1e01e8b1cfe169268e42cd3ce6ee3) )
ROM_LOAD32_BYTE( "mpr-14499.ic38", 0x000000, 0x080000, CRC(fadc4b2b) SHA1(01c02a4dfad1ab19bac8b81b61d37fdc035bc5c5) )
ROM_REGION32_BE( 0x800000, "slavepcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "slavepcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14500.ic24", 0x000007, 0x100000, CRC(0a064e9b) SHA1(264761f4aacaeeac9426528caf180404cd7f6e18) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14501.ic28", 0x000006, 0x100000, CRC(4662bb41) SHA1(80774e680468e9ba9c5dd5eeaa4791fa3b3722fd) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14502.ic33", 0x000005, 0x100000, CRC(988555a9) SHA1(355e44319fd51358329cc7cd226e4c4725e045cb) , ROM_SKIP(7) )
@ -2982,7 +2993,7 @@ ROM_START( arescuej )
ROM_LOAD32_BYTE( "mpr-14498.ic34", 0x000002, 0x080000, CRC(d4a764bd) SHA1(8434a9225ed1e01e8b1cfe169268e42cd3ce6ee3) )
ROM_LOAD32_BYTE( "mpr-14499.ic38", 0x000000, 0x080000, CRC(fadc4b2b) SHA1(01c02a4dfad1ab19bac8b81b61d37fdc035bc5c5) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14500.ic24", 0x000007, 0x100000, CRC(0a064e9b) SHA1(264761f4aacaeeac9426528caf180404cd7f6e18) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14501.ic28", 0x000006, 0x100000, CRC(4662bb41) SHA1(80774e680468e9ba9c5dd5eeaa4791fa3b3722fd) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14502.ic33", 0x000005, 0x100000, CRC(988555a9) SHA1(355e44319fd51358329cc7cd226e4c4725e045cb) , ROM_SKIP(7) )
@ -3015,7 +3026,7 @@ ROM_START( arescuej )
ROM_LOAD32_BYTE( "mpr-14498.ic34", 0x000002, 0x080000, CRC(d4a764bd) SHA1(8434a9225ed1e01e8b1cfe169268e42cd3ce6ee3) )
ROM_LOAD32_BYTE( "mpr-14499.ic38", 0x000000, 0x080000, CRC(fadc4b2b) SHA1(01c02a4dfad1ab19bac8b81b61d37fdc035bc5c5) )
ROM_REGION32_BE( 0x800000, "slavepcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "slavepcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14500.ic24", 0x000007, 0x100000, CRC(0a064e9b) SHA1(264761f4aacaeeac9426528caf180404cd7f6e18) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14501.ic28", 0x000006, 0x100000, CRC(4662bb41) SHA1(80774e680468e9ba9c5dd5eeaa4791fa3b3722fd) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14502.ic33", 0x000005, 0x100000, CRC(988555a9) SHA1(355e44319fd51358329cc7cd226e4c4725e045cb) , ROM_SKIP(7) )
@ -3057,7 +3068,7 @@ ROM_START( alien3 )
ROM_LOAD16_BYTE( "mpr-15863.ic14", 0x000000, 0x200000, CRC(9d36b645) SHA1(2977047780b615b64c3b4aec78fef0643d40490e) )
ROM_LOAD16_BYTE( "mpr-15862.ic5", 0x000001, 0x200000, CRC(9e277d25) SHA1(9f191484a42391268306a8d2d95c340ce8b2d6cd) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15864.ic32", 0x000000, 0x200000, CRC(58207157) SHA1(d1b0c7edac8b89b1322398d4cd3a976a88bc0b56) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15866.ic30", 0x000002, 0x200000, CRC(9c53732c) SHA1(9aa5103cc10b4927c16e0cf102b64a15dd038756) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15868.ic28", 0x000004, 0x200000, CRC(62d556e8) SHA1(d70cab0881784a3d4dd06d0c99587ca6054c2dc4) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3098,7 +3109,7 @@ ROM_START( alien3u )
ROM_LOAD16_BYTE( "mpr-15863.ic14", 0x000000, 0x200000, CRC(9d36b645) SHA1(2977047780b615b64c3b4aec78fef0643d40490e) )
ROM_LOAD16_BYTE( "mpr-15862.ic5", 0x000001, 0x200000, CRC(9e277d25) SHA1(9f191484a42391268306a8d2d95c340ce8b2d6cd) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15864.ic32", 0x000000, 0x200000, CRC(58207157) SHA1(d1b0c7edac8b89b1322398d4cd3a976a88bc0b56) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15866.ic30", 0x000002, 0x200000, CRC(9c53732c) SHA1(9aa5103cc10b4927c16e0cf102b64a15dd038756) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15868.ic28", 0x000004, 0x200000, CRC(62d556e8) SHA1(d70cab0881784a3d4dd06d0c99587ca6054c2dc4) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3139,7 +3150,7 @@ ROM_START( alien3j )
ROM_LOAD16_BYTE( "mpr-15863.ic14", 0x000000, 0x200000, CRC(9d36b645) SHA1(2977047780b615b64c3b4aec78fef0643d40490e) )
ROM_LOAD16_BYTE( "mpr-15862.ic5", 0x000001, 0x200000, CRC(9e277d25) SHA1(9f191484a42391268306a8d2d95c340ce8b2d6cd) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15864.ic32", 0x000000, 0x200000, CRC(58207157) SHA1(d1b0c7edac8b89b1322398d4cd3a976a88bc0b56) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15866.ic30", 0x000002, 0x200000, CRC(9c53732c) SHA1(9aa5103cc10b4927c16e0cf102b64a15dd038756) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15868.ic28", 0x000004, 0x200000, CRC(62d556e8) SHA1(d70cab0881784a3d4dd06d0c99587ca6054c2dc4) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3184,7 +3195,7 @@ ROM_START( arabfgt )
ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(94f1cf10) SHA1(34ec86487bcb6726c025149c319f00a854eb7a1d) )
ROM_LOAD16_BYTE( "mpr-14598f.ic5", 0x000001, 0x200000, CRC(010656f3) SHA1(31619c022cba4f250ce174f186d3e34444f60faf) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14600f.ic32", 0x000000, 0x200000, CRC(e860988a) SHA1(328581877c0890519c854f75f0976b0e9c4560f8) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14602.ic30", 0x000002, 0x200000, CRC(64524e4d) SHA1(86246185ab5ab638a73991c9e3aeb07c6d51be4f) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14604.ic28", 0x000004, 0x200000, CRC(5f8d5167) SHA1(1b08495e5a4cc2530c2895e47abd0e0b75496c68) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3218,7 +3229,7 @@ ROM_START( arabfgtu )
ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(94f1cf10) SHA1(34ec86487bcb6726c025149c319f00a854eb7a1d) )
ROM_LOAD16_BYTE( "mpr-14598f.ic5", 0x000001, 0x200000, CRC(010656f3) SHA1(31619c022cba4f250ce174f186d3e34444f60faf) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14600f.ic32", 0x000000, 0x200000, CRC(e860988a) SHA1(328581877c0890519c854f75f0976b0e9c4560f8) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14602.ic30", 0x000002, 0x200000, CRC(64524e4d) SHA1(86246185ab5ab638a73991c9e3aeb07c6d51be4f) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14604.ic28", 0x000004, 0x200000, CRC(5f8d5167) SHA1(1b08495e5a4cc2530c2895e47abd0e0b75496c68) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3252,7 +3263,7 @@ ROM_START( arabfgtj )
ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(94f1cf10) SHA1(34ec86487bcb6726c025149c319f00a854eb7a1d) )
ROM_LOAD16_BYTE( "mpr-14598f.ic5", 0x000001, 0x200000, CRC(010656f3) SHA1(31619c022cba4f250ce174f186d3e34444f60faf) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14600f.ic32", 0x000000, 0x200000, CRC(e860988a) SHA1(328581877c0890519c854f75f0976b0e9c4560f8) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14602.ic30", 0x000002, 0x200000, CRC(64524e4d) SHA1(86246185ab5ab638a73991c9e3aeb07c6d51be4f) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14604.ic28", 0x000004, 0x200000, CRC(5f8d5167) SHA1(1b08495e5a4cc2530c2895e47abd0e0b75496c68) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3286,7 +3297,7 @@ ROM_START( brival )
ROM_LOAD16_BYTE( "mpr-15629.ic14", 0x000000, 0x200000, CRC(2c8dd96d) SHA1(4a42a30485c19eb4f4a9d518a3dff3ae11911d01) )
ROM_LOAD16_BYTE( "mpr-15628.ic5", 0x000001, 0x200000, CRC(58d4ca40) SHA1(b1633acc803bba7e8283a9663b49abeda662a74d) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15637.ic32", 0x000000, 0x200000, CRC(b6cf2f05) SHA1(a308d40ce5165e03fccf7fcd615ee111f7840fdc) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15635.ic30", 0x000002, 0x200000, CRC(70f2eb2b) SHA1(9868c8b0dd8ce810a0e32f51e702eee7e1c9a967) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15633.ic28", 0x000004, 0x200000, CRC(005dfed5) SHA1(f555620d75d3886a890307be9df9c0879bcda695) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3321,7 +3332,7 @@ ROM_START( brivalj )
ROM_LOAD16_BYTE( "mpr-14599f.ic14", 0x000000, 0x200000, CRC(1de17e83) SHA1(04ee14b863f93b42a5bd1b6da71cff54ef11d4b7) ) /* Rom # matches tile rom # from Arabian Fight ??? */
ROM_LOAD16_BYTE( "mpr-14598f.ic5", 0x000001, 0x200000, CRC(cafb0de9) SHA1(94c6bfc7a4081dee373e9466a7b6f80889696087) ) /* Rom # matchrs tile rom # from Arabian Fight ??? */
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "brivalj_mp15637.32", 0x000000, 0x200000, CRC(f39844c0) SHA1(c48dc8cccdd9d3756cf99a983c6a89ed43fcda22) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "brivalj_mp15635.30", 0x000002, 0x200000, CRC(263cf6d1) SHA1(7accd214502fd050edc0901c9929d6069dae4d00) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "brivalj_mp15633.28", 0x000004, 0x200000, CRC(44e9a88b) SHA1(57a930b9c3b83c889df54de60c90f847c2dcb614) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3353,7 +3364,7 @@ ROM_START( darkedge )
ROM_LOAD16_BYTE( "mpr-15248.ic14", 0x000000, 0x080000, CRC(185b308b) SHA1(a49c1b752b3c4355560e0cd712fb9a096140e37b) )
ROM_LOAD16_BYTE( "mpr-15247.ic5", 0x000001, 0x080000, CRC(be21548c) SHA1(2e315aadc2a0b781c3ee3fe71c75eb1f43514eff) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15249.ic32", 0x000000, 0x200000, CRC(2b4371a8) SHA1(47f448bfbc068f2d0cdedd81bcd280823d5758a3) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15251.ic30", 0x000002, 0x200000, CRC(efe2d689) SHA1(af22153ea3afdde3732f881087c642170f91d745) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15253.ic28", 0x000004, 0x200000, CRC(8356ed01) SHA1(a28747813807361c7d0c722a94e194caea8bfab6) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3382,7 +3393,7 @@ ROM_START( darkedgej )
ROM_LOAD16_BYTE( "mpr-15248.ic14", 0x000000, 0x080000, CRC(185b308b) SHA1(a49c1b752b3c4355560e0cd712fb9a096140e37b) )
ROM_LOAD16_BYTE( "mpr-15247.ic5", 0x000001, 0x080000, CRC(be21548c) SHA1(2e315aadc2a0b781c3ee3fe71c75eb1f43514eff) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15249.ic32", 0x000000, 0x200000, CRC(2b4371a8) SHA1(47f448bfbc068f2d0cdedd81bcd280823d5758a3) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15251.ic30", 0x000002, 0x200000, CRC(efe2d689) SHA1(af22153ea3afdde3732f881087c642170f91d745) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15253.ic28", 0x000004, 0x200000, CRC(8356ed01) SHA1(a28747813807361c7d0c722a94e194caea8bfab6) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3418,7 +3429,7 @@ ROM_START( dbzvrvs )
ROM_LOAD16_BYTE( "mpr-16545", 0x000000, 0x100000, CRC(51748bac) SHA1(b1cae16b62a8d29117c0adb140eb09c1092f6c37) )
ROM_LOAD16_BYTE( "mpr-16544", 0x000001, 0x100000, CRC(f6c93dfc) SHA1(a006cedb7d0151ccc8d22e6588b1c39e099da182) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16546", 0x000000, 0x200000, CRC(96f4be31) SHA1(ce3281630180d91de7850e9b1062382817fe0b1d) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16548", 0x000002, 0x200000, CRC(00377f59) SHA1(cf0f808d7730f334c5ac80d3171fa457be9ac88e) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16550", 0x000004, 0x200000, CRC(168e8966) SHA1(a18ec30f1358b09bcde6d8d2dbe0a82bea3bdae9) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3461,7 +3472,7 @@ ROM_START( f1en )
ROM_LOAD32_BYTE( "mpr-14360", 0x000001, 0x040000, CRC(c5e8da79) SHA1(662a6c146fe3d0b8763d845379c06d0ee6ced1ed) )
ROM_LOAD32_BYTE( "mpr-14359", 0x000003, 0x040000, CRC(70305c68) SHA1(7a6a1bf7381eba8cc1c3897497b32ca63316972a) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14370", 0x000000, 0x080000, CRC(fda78289) SHA1(3740affdcc738c50d07ff3e5b592bdf8a8b6be15) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14369", 0x000001, 0x080000, CRC(7765116d) SHA1(9493148aa84adc90143cf638265d4c55bfb43990) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14368", 0x000002, 0x080000, CRC(5744a30e) SHA1(98544fb234a8e93716e951d5414a490845e213c5) , ROM_SKIP(7) )
@ -3488,7 +3499,7 @@ ROM_START( f1en )
ROM_LOAD32_BYTE( "mpr-14360", 0x000001, 0x040000, CRC(c5e8da79) SHA1(662a6c146fe3d0b8763d845379c06d0ee6ced1ed) )
ROM_LOAD32_BYTE( "mpr-14359", 0x000003, 0x040000, CRC(70305c68) SHA1(7a6a1bf7381eba8cc1c3897497b32ca63316972a) )
ROM_REGION32_BE( 0x800000, "slavepcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "slavepcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14370", 0x000000, 0x080000, CRC(fda78289) SHA1(3740affdcc738c50d07ff3e5b592bdf8a8b6be15) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14369", 0x000001, 0x080000, CRC(7765116d) SHA1(9493148aa84adc90143cf638265d4c55bfb43990) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14368", 0x000002, 0x080000, CRC(5744a30e) SHA1(98544fb234a8e93716e951d5414a490845e213c5) , ROM_SKIP(7) )
@ -3529,7 +3540,7 @@ ROM_START( f1enu ) // ROM PCB number is 834-8439-04
ROM_LOAD32_BYTE( "mpr-14360", 0x000001, 0x040000, CRC(c5e8da79) SHA1(662a6c146fe3d0b8763d845379c06d0ee6ced1ed) )
ROM_LOAD32_BYTE( "mpr-14359", 0x000003, 0x040000, CRC(70305c68) SHA1(7a6a1bf7381eba8cc1c3897497b32ca63316972a) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14370", 0x000000, 0x080000, CRC(fda78289) SHA1(3740affdcc738c50d07ff3e5b592bdf8a8b6be15) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14369", 0x000001, 0x080000, CRC(7765116d) SHA1(9493148aa84adc90143cf638265d4c55bfb43990) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14368", 0x000002, 0x080000, CRC(5744a30e) SHA1(98544fb234a8e93716e951d5414a490845e213c5) , ROM_SKIP(7) )
@ -3556,7 +3567,7 @@ ROM_START( f1enu ) // ROM PCB number is 834-8439-04
ROM_LOAD32_BYTE( "mpr-14360", 0x000001, 0x040000, CRC(c5e8da79) SHA1(662a6c146fe3d0b8763d845379c06d0ee6ced1ed) )
ROM_LOAD32_BYTE( "mpr-14359", 0x000003, 0x040000, CRC(70305c68) SHA1(7a6a1bf7381eba8cc1c3897497b32ca63316972a) )
ROM_REGION32_BE( 0x800000, "slavepcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "slavepcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14370", 0x000000, 0x080000, CRC(fda78289) SHA1(3740affdcc738c50d07ff3e5b592bdf8a8b6be15) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14369", 0x000001, 0x080000, CRC(7765116d) SHA1(9493148aa84adc90143cf638265d4c55bfb43990) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14368", 0x000002, 0x080000, CRC(5744a30e) SHA1(98544fb234a8e93716e951d5414a490845e213c5) , ROM_SKIP(7) )
@ -3596,7 +3607,7 @@ ROM_START( f1enj ) // ROM PCB number is 834-8439-04
ROM_LOAD32_BYTE( "mpr-14360", 0x000001, 0x040000, CRC(c5e8da79) SHA1(662a6c146fe3d0b8763d845379c06d0ee6ced1ed) )
ROM_LOAD32_BYTE( "mpr-14359", 0x000003, 0x040000, CRC(70305c68) SHA1(7a6a1bf7381eba8cc1c3897497b32ca63316972a) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14370", 0x000000, 0x080000, CRC(fda78289) SHA1(3740affdcc738c50d07ff3e5b592bdf8a8b6be15) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14369", 0x000001, 0x080000, CRC(7765116d) SHA1(9493148aa84adc90143cf638265d4c55bfb43990) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14368", 0x000002, 0x080000, CRC(5744a30e) SHA1(98544fb234a8e93716e951d5414a490845e213c5) , ROM_SKIP(7) )
@ -3623,7 +3634,7 @@ ROM_START( f1enj ) // ROM PCB number is 834-8439-04
ROM_LOAD32_BYTE( "mpr-14360", 0x000001, 0x040000, CRC(c5e8da79) SHA1(662a6c146fe3d0b8763d845379c06d0ee6ced1ed) )
ROM_LOAD32_BYTE( "mpr-14359", 0x000003, 0x040000, CRC(70305c68) SHA1(7a6a1bf7381eba8cc1c3897497b32ca63316972a) )
ROM_REGION32_BE( 0x800000, "slavepcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "slavepcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14370", 0x000000, 0x080000, CRC(fda78289) SHA1(3740affdcc738c50d07ff3e5b592bdf8a8b6be15) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14369", 0x000001, 0x080000, CRC(7765116d) SHA1(9493148aa84adc90143cf638265d4c55bfb43990) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14368", 0x000002, 0x080000, CRC(5744a30e) SHA1(98544fb234a8e93716e951d5414a490845e213c5) , ROM_SKIP(7) )
@ -3658,7 +3669,7 @@ ROM_START( f1lap )
ROM_LOAD16_BYTE( "mpr-15608.ic14", 0x000000, 0x200000, CRC(64462c69) SHA1(9501e83c52e3e16f73b94cef975b5a31b2ee5476) )
ROM_LOAD16_BYTE( "mpr-15609.ic5", 0x000001, 0x200000, CRC(d586e455) SHA1(aea190d31c590216eb19766ba749b1e9b710bdce) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15600.ic32", 0x000000, 0x200000, CRC(d2698d23) SHA1(996fbcc1d0814e6f14fa7e4870ece077ecda54e6) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15602.ic30", 0x000002, 0x200000, CRC(1674764d) SHA1(bc39757a5d25df1a088f874ca2442854eb551e48) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15604.ic28", 0x000004, 0x200000, CRC(1552bbb9) SHA1(77edd3f9d8dec87fa0445d264309e6164eba9313) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3697,7 +3708,7 @@ ROM_START( f1lapj )
ROM_LOAD16_BYTE( "mpr-15608.ic14", 0x000000, 0x200000, CRC(64462c69) SHA1(9501e83c52e3e16f73b94cef975b5a31b2ee5476) )
ROM_LOAD16_BYTE( "mpr-15609.ic5", 0x000001, 0x200000, CRC(d586e455) SHA1(aea190d31c590216eb19766ba749b1e9b710bdce) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15600.ic32", 0x000000, 0x200000, CRC(d2698d23) SHA1(996fbcc1d0814e6f14fa7e4870ece077ecda54e6) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15602.ic30", 0x000002, 0x200000, CRC(1674764d) SHA1(bc39757a5d25df1a088f874ca2442854eb551e48) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15604.ic28", 0x000004, 0x200000, CRC(1552bbb9) SHA1(77edd3f9d8dec87fa0445d264309e6164eba9313) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3738,7 +3749,7 @@ ROM_START( ga2 )
ROM_LOAD16_BYTE( "mpr-14948.ic14", 0x000000, 0x200000, CRC(75050d4a) SHA1(51d6bc9935abcf30af438e69c2cf4e09f57a803f) )
ROM_LOAD16_BYTE( "mpr-14947.ic5", 0x000001, 0x200000, CRC(b53e62f4) SHA1(5aa0f198e6eb070b77b0d180d30c0228a9bc691e) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14949.ic32", 0x000000, 0x200000, CRC(152c716c) SHA1(448d16ea036b66e886119c00af543dfa5e53fd84) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14951.ic30", 0x000002, 0x200000, CRC(fdb1a534) SHA1(3126b595bf69bf9952fedf8f9c6743eb10489dc6) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14953.ic28", 0x000004, 0x200000, CRC(33bd1c15) SHA1(4e16562e3357d4db54b20543073e8f1fd6f74b1f) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3778,7 +3789,7 @@ ROM_START( ga2u )
ROM_LOAD16_BYTE( "mpr-14948.ic14", 0x000000, 0x200000, CRC(75050d4a) SHA1(51d6bc9935abcf30af438e69c2cf4e09f57a803f) )
ROM_LOAD16_BYTE( "mpr-14947.ic5", 0x000001, 0x200000, CRC(b53e62f4) SHA1(5aa0f198e6eb070b77b0d180d30c0228a9bc691e) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14949.ic32", 0x000000, 0x200000, CRC(152c716c) SHA1(448d16ea036b66e886119c00af543dfa5e53fd84) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14951.ic30", 0x000002, 0x200000, CRC(fdb1a534) SHA1(3126b595bf69bf9952fedf8f9c6743eb10489dc6) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14953.ic28", 0x000004, 0x200000, CRC(33bd1c15) SHA1(4e16562e3357d4db54b20543073e8f1fd6f74b1f) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3813,7 +3824,7 @@ ROM_START( ga2j )
ROM_LOAD16_BYTE( "mpr-14948.ic14", 0x000000, 0x200000, CRC(75050d4a) SHA1(51d6bc9935abcf30af438e69c2cf4e09f57a803f) )
ROM_LOAD16_BYTE( "mpr-14947.ic5", 0x000001, 0x200000, CRC(b53e62f4) SHA1(5aa0f198e6eb070b77b0d180d30c0228a9bc691e) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14949.ic32", 0x000000, 0x200000, CRC(152c716c) SHA1(448d16ea036b66e886119c00af543dfa5e53fd84) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14951.ic30", 0x000002, 0x200000, CRC(fdb1a534) SHA1(3126b595bf69bf9952fedf8f9c6743eb10489dc6) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-14953.ic28", 0x000004, 0x200000, CRC(33bd1c15) SHA1(4e16562e3357d4db54b20543073e8f1fd6f74b1f) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3844,7 +3855,7 @@ ROM_START( harddunk )
ROM_LOAD16_BYTE( "mpr-16503.ic3", 0x000000, 0x080000, CRC(ac1b6f1a) SHA1(56482931adf7fe551acf796b74cd8af3773d4fef) )
ROM_LOAD16_BYTE( "mpr-16504.ic11", 0x000001, 0x080000, CRC(7c61fcd8) SHA1(ca4354f90fada752bf11ee22a7798a8aa22b1c61) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16495.ic14", 0x000000, 0x200000, CRC(6e5f26be) SHA1(146761072bbed08f4a9df8a474b34fab61afaa4f) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16497.ic15", 0x000002, 0x200000, CRC(42ab5859) SHA1(f50c51eb81186aec5f747ecab4c5c928f8701afc) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16499.ic10", 0x000004, 0x200000, CRC(a290ea36) SHA1(2503b44174f23a9d323caab86553977d1d6d9c94) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3875,7 +3886,7 @@ ROM_START( harddunkj )
ROM_LOAD16_BYTE( "mpr-16503.ic3", 0x000000, 0x080000, CRC(ac1b6f1a) SHA1(56482931adf7fe551acf796b74cd8af3773d4fef) )
ROM_LOAD16_BYTE( "mpr-16504.ic11", 0x000001, 0x080000, CRC(7c61fcd8) SHA1(ca4354f90fada752bf11ee22a7798a8aa22b1c61) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16495.ic14", 0x000000, 0x200000, CRC(6e5f26be) SHA1(146761072bbed08f4a9df8a474b34fab61afaa4f) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16497.ic15", 0x000002, 0x200000, CRC(42ab5859) SHA1(f50c51eb81186aec5f747ecab4c5c928f8701afc) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16499.ic10", 0x000004, 0x200000, CRC(a290ea36) SHA1(2503b44174f23a9d323caab86553977d1d6d9c94) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3916,7 +3927,7 @@ ROM_START( holo )
ROM_REGION( 0x000100, "mainpcb:gfx1", ROMREGION_ERASEFF ) /* tiles */
/* game doesn't use bg tilemaps */
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14973", 0x000000, 0x100000, CRC(b3c3ff6b) SHA1(94e8dbfae37a5b122ee3d471aad1f758e4a39b9e) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14972", 0x000001, 0x100000, CRC(0c161374) SHA1(413ab45deb687ecdbdc06ae98aa32ad8a0d80e0c) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14971", 0x000002, 0x100000, CRC(dfcf6fdf) SHA1(417291b54010be20dd6738a70d372b580615a8bb) , ROM_SKIP(7) )
@ -3953,7 +3964,7 @@ ROM_START( jpark )
ROM_LOAD16_BYTE( "mpr-16404.ic14", 0x000000, 0x200000, CRC(11283807) SHA1(99e465c3fc31e640740b8257a349e203f026754a) )
ROM_LOAD16_BYTE( "mpr-16403.ic5", 0x000001, 0x200000, CRC(02530a9b) SHA1(b43e1b47f74c801bfc599cbe893fb8dc13453dd0) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16405.ic32", 0x000000, 0x200000, CRC(b425f182) SHA1(66c6bd29dd3450db816b895c4c9c5208a66aae67) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16407.ic30", 0x000002, 0x200000, CRC(bc49ffd9) SHA1(a50ba7ddccfdfd7638c4041978b39c1559afbbb4) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16409.ic28", 0x000004, 0x200000, CRC(fe73660d) SHA1(ec1a3ea5303d2ccb9e327da18476969953626e1c) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -3989,7 +4000,7 @@ ROM_START( jparkj )
ROM_LOAD16_BYTE( "mpr-16404.ic14", 0x000000, 0x200000, CRC(11283807) SHA1(99e465c3fc31e640740b8257a349e203f026754a) )
ROM_LOAD16_BYTE( "mpr-16403.ic5", 0x000001, 0x200000, CRC(02530a9b) SHA1(b43e1b47f74c801bfc599cbe893fb8dc13453dd0) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16405.ic32", 0x000000, 0x200000, CRC(b425f182) SHA1(66c6bd29dd3450db816b895c4c9c5208a66aae67) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16407.ic30", 0x000002, 0x200000, CRC(bc49ffd9) SHA1(a50ba7ddccfdfd7638c4041978b39c1559afbbb4) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16409.ic28", 0x000004, 0x200000, CRC(fe73660d) SHA1(ec1a3ea5303d2ccb9e327da18476969953626e1c) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4025,7 +4036,7 @@ ROM_START( jparkja )
ROM_LOAD16_BYTE( "mpr-16404.ic14", 0x000000, 0x200000, CRC(11283807) SHA1(99e465c3fc31e640740b8257a349e203f026754a) )
ROM_LOAD16_BYTE( "mpr-16403.ic5", 0x000001, 0x200000, CRC(02530a9b) SHA1(b43e1b47f74c801bfc599cbe893fb8dc13453dd0) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16405.ic32", 0x000000, 0x200000, CRC(b425f182) SHA1(66c6bd29dd3450db816b895c4c9c5208a66aae67) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16407.ic30", 0x000002, 0x200000, CRC(bc49ffd9) SHA1(a50ba7ddccfdfd7638c4041978b39c1559afbbb4) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16409.ic28", 0x000004, 0x200000, CRC(fe73660d) SHA1(ec1a3ea5303d2ccb9e327da18476969953626e1c) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4061,7 +4072,7 @@ ROM_START( jparkjc )
ROM_LOAD16_BYTE( "mpr-16404.ic14", 0x000000, 0x200000, CRC(11283807) SHA1(99e465c3fc31e640740b8257a349e203f026754a) )
ROM_LOAD16_BYTE( "mpr-16403.ic5", 0x000001, 0x200000, CRC(02530a9b) SHA1(b43e1b47f74c801bfc599cbe893fb8dc13453dd0) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16405.ic32", 0x000000, 0x200000, CRC(b425f182) SHA1(66c6bd29dd3450db816b895c4c9c5208a66aae67) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16407.ic30", 0x000002, 0x200000, CRC(bc49ffd9) SHA1(a50ba7ddccfdfd7638c4041978b39c1559afbbb4) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16409.ic28", 0x000004, 0x200000, CRC(fe73660d) SHA1(ec1a3ea5303d2ccb9e327da18476969953626e1c) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4098,7 +4109,7 @@ ROM_START( kokoroj2 )
ROM_LOAD16_BYTE( "mpr-16188.ic14", 0x000000, 0x200000, CRC(83a450ab) SHA1(1d0b45512d784ed1d82135b84c7c540f92d789f7) )
ROM_LOAD16_BYTE( "mpr-16187.ic5", 0x000001, 0x200000, CRC(98b62f8b) SHA1(eaf98efd9eac7b7c385138a8a4dbc94b0ca38df5) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16189.ic32", 0x000000, 0x200000, CRC(0937f713) SHA1(4b2b09ec8ed97794ad3824d1c57eae7f7e01379c) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16191.ic30", 0x000002, 0x200000, CRC(cfef4aaa) SHA1(bc8a252dcbdb8facdd91eda7aed0f56fe7529d15) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16193.ic28", 0x000004, 0x200000, CRC(a0706e4e) SHA1(1f36d952971c05db4190b229aa4957db3e5224f1) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4141,7 +4152,7 @@ ROM_START( orunners )
ROM_LOAD16_BYTE( "mpr15548.ic3", 0x000000, 0x200000, CRC(b6470a66) SHA1(e1544590c02d41f62f82a4d771b893fb0f2734c7) )
ROM_LOAD16_BYTE( "mpr15549.ic11", 0x000001, 0x200000, CRC(81d12520) SHA1(1555893941e832f00ad3d0b3ad0c34a0d3a1c58a) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr15540.ic14", 0x000000, 0x200000, CRC(a10d72b4) SHA1(6d9d5e20be6721b53ce49df4d5a1bbd91f5b3aed) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr15542.ic15", 0x000002, 0x200000, CRC(40952374) SHA1(c669ef52508bc2f49cf812dc86ac98fb535471fa) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr15544.ic10", 0x000004, 0x200000, CRC(39e3df45) SHA1(38a7b21617b45613b05509dda388f8f7770b186c) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4179,7 +4190,7 @@ ROM_START( orunnersu )
ROM_LOAD16_BYTE( "mpr15548.ic3", 0x000000, 0x200000, CRC(b6470a66) SHA1(e1544590c02d41f62f82a4d771b893fb0f2734c7) )
ROM_LOAD16_BYTE( "mpr15549.ic11", 0x000001, 0x200000, CRC(81d12520) SHA1(1555893941e832f00ad3d0b3ad0c34a0d3a1c58a) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr15540.ic14", 0x000000, 0x200000, CRC(a10d72b4) SHA1(6d9d5e20be6721b53ce49df4d5a1bbd91f5b3aed) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr15542.ic15", 0x000002, 0x200000, CRC(40952374) SHA1(c669ef52508bc2f49cf812dc86ac98fb535471fa) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr15544.ic10", 0x000004, 0x200000, CRC(39e3df45) SHA1(38a7b21617b45613b05509dda388f8f7770b186c) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4217,7 +4228,7 @@ ROM_START( orunnersj )
ROM_LOAD16_BYTE( "mpr15548.ic3", 0x000000, 0x200000, CRC(b6470a66) SHA1(e1544590c02d41f62f82a4d771b893fb0f2734c7) )
ROM_LOAD16_BYTE( "mpr15549.ic11", 0x000001, 0x200000, CRC(81d12520) SHA1(1555893941e832f00ad3d0b3ad0c34a0d3a1c58a) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr15540.ic14", 0x000000, 0x200000, CRC(a10d72b4) SHA1(6d9d5e20be6721b53ce49df4d5a1bbd91f5b3aed) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr15542.ic15", 0x000002, 0x200000, CRC(40952374) SHA1(c669ef52508bc2f49cf812dc86ac98fb535471fa) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr15544.ic10", 0x000004, 0x200000, CRC(39e3df45) SHA1(38a7b21617b45613b05509dda388f8f7770b186c) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4278,7 +4289,7 @@ ROM_START( radm )
ROM_LOAD32_BYTE( "mpr-13521.ic12", 0x000001, 0x080000, CRC(e9bca903) SHA1(18a73c830b9755262a1c525e3ad5ae084117b64d) )
ROM_LOAD32_BYTE( "mpr-13522.ic18", 0x000003, 0x080000, CRC(25e04648) SHA1(617e794e8f7aa2a435bac917b8968699fe88dafb) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-13511.ic1", 0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13512.ic5", 0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
@ -4317,7 +4328,7 @@ ROM_START( radmu )
ROM_LOAD32_BYTE( "mpr-13521.ic12", 0x000001, 0x080000, CRC(e9bca903) SHA1(18a73c830b9755262a1c525e3ad5ae084117b64d) )
ROM_LOAD32_BYTE( "mpr-13522.ic18", 0x000003, 0x080000, CRC(25e04648) SHA1(617e794e8f7aa2a435bac917b8968699fe88dafb) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-13511.ic1", 0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13512.ic5", 0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
@ -4365,7 +4376,7 @@ ROM_START( radr )
ROM_LOAD32_BYTE( "epr-14104.ic12", 0x000001, 0x040000, CRC(b0173646) SHA1(1ba4edc033e0e4f5a1e02987e9f6b8b1650b46d7) )
ROM_LOAD32_BYTE( "epr-14105.ic18", 0x000003, 0x040000, CRC(614843b6) SHA1(d4f2cd3b024f7152d6e89237f0da06adea2efe57) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-13511.ic1", 0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13512.ic5", 0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
@ -4410,7 +4421,7 @@ ROM_START( radru )
ROM_LOAD32_BYTE( "epr-14104.ic12", 0x000001, 0x040000, CRC(b0173646) SHA1(1ba4edc033e0e4f5a1e02987e9f6b8b1650b46d7) )
ROM_LOAD32_BYTE( "epr-14105.ic16", 0x000003, 0x040000, CRC(614843b6) SHA1(d4f2cd3b024f7152d6e89237f0da06adea2efe57) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-13511.ic1", 0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13512.ic5", 0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
@ -4455,7 +4466,7 @@ ROM_START( radrj )
ROM_LOAD32_BYTE( "epr-14104.ic12", 0x000001, 0x040000, CRC(b0173646) SHA1(1ba4edc033e0e4f5a1e02987e9f6b8b1650b46d7) )
ROM_LOAD32_BYTE( "epr-14105.ic16", 0x000003, 0x040000, CRC(614843b6) SHA1(d4f2cd3b024f7152d6e89237f0da06adea2efe57) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-13511.ic1", 0x000000, 0x100000, CRC(f8f15b11) SHA1(da6c2b8c3a94c4c263583f046823eaea818aff7c) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13512.ic5", 0x000001, 0x100000, CRC(d0be34a6) SHA1(b42a63e30f0f7a94de8a825ca93cf8efdb7a7648) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-13513.ic10", 0x000002, 0x100000, CRC(feef1982) SHA1(bdf906317079a12c48ef4fca5bef0d437e9bf050) , ROM_SKIP(7) )
@ -4499,7 +4510,7 @@ ROM_START( slipstrm )
ROM_LOAD32_BYTE( "s32_scr02.ic29", 0x000001, 0x080000, CRC(52c4bb85) SHA1(4fbee1072a19c75c25b5fd269acc75640923d69c) )
ROM_LOAD32_BYTE( "s32_scr03.ic25", 0x000003, 0x080000, CRC(4948604a) SHA1(d5a1b9781fef7976a59a0af9b755a04fcacf9381) )
ROM_REGION32_BE( 0x400000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x400000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "s32_obj00.ic36", 0x000000, 0x80000, CRC(cffe9e0d) SHA1(5272d54ff142de927a9abd61f3646e963c7d22c4) , ROM_SKIP(7) )
ROMX_LOAD( "s32_obj01.ic32", 0x000001, 0x80000, CRC(4ebd1383) SHA1(ce35f4d15e7904bfde55e58cdde925cba8002763) , ROM_SKIP(7) )
ROMX_LOAD( "s32_obj02.ic27", 0x000002, 0x80000, CRC(b3cf4fe2) SHA1(e13199522e1e3e8b9cfe72cc29b33f25dad542ef) , ROM_SKIP(7) )
@ -4534,7 +4545,7 @@ ROM_START( slipstrmh )
ROM_LOAD32_BYTE( "s32_scr02.ic29", 0x000001, 0x080000, CRC(52c4bb85) SHA1(4fbee1072a19c75c25b5fd269acc75640923d69c) )
ROM_LOAD32_BYTE( "s32_scr03.ic25", 0x000003, 0x080000, CRC(4948604a) SHA1(d5a1b9781fef7976a59a0af9b755a04fcacf9381) )
ROM_REGION32_BE( 0x400000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x400000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "s32_obj00.ic36", 0x000000, 0x80000, CRC(cffe9e0d) SHA1(5272d54ff142de927a9abd61f3646e963c7d22c4) , ROM_SKIP(7) )
ROMX_LOAD( "s32_obj01.ic32", 0x000001, 0x80000, CRC(4ebd1383) SHA1(ce35f4d15e7904bfde55e58cdde925cba8002763) , ROM_SKIP(7) )
ROMX_LOAD( "s32_obj02.ic27", 0x000002, 0x80000, CRC(b3cf4fe2) SHA1(e13199522e1e3e8b9cfe72cc29b33f25dad542ef) , ROM_SKIP(7) )
@ -4573,7 +4584,7 @@ ROM_START( sonic )
ROM_LOAD16_BYTE( "mpr-15789.ic14", 0x000000, 0x100000, CRC(4378f12b) SHA1(826e0550a3c5f2b6e59c6531ac03658a4f826651) )
ROM_LOAD16_BYTE( "mpr-15788.ic5", 0x000001, 0x100000, CRC(a6ed5d7a) SHA1(d30f26b452d380e7657e044e144f7dbbc4dc13e5) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15790.ic32", 0x000000, 0x200000, CRC(c69d51b1) SHA1(7644fb64457855f9ed87ca25ddc28c21bcb61fd9) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15792.ic30", 0x000002, 0x200000, CRC(1006bb67) SHA1(38c752e634aa94b1a23c09c4dba6388b7d0358af) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15794.ic28", 0x000004, 0x200000, CRC(8672b480) SHA1(61659e3856cdff0b2bca190a7e60c81b86ea2089) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4611,7 +4622,7 @@ ROM_START( sonicp )
ROM_LOAD32_BYTE( "sonscl2.bin", 0x000001, 0x080000, CRC(a5de28b2) SHA1(49a16ac10cf01b5b8802b8b015a2e403086c206a) )
ROM_LOAD32_BYTE( "sonscl3.bin", 0x000003, 0x080000, CRC(7ce7554b) SHA1(8def3acae6baafbe9e350f18e245a9a833df5cc4) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "sonobj0.bin", 0x000000, 0x100000, CRC(ceea18e3) SHA1(f902a7e2f8e126fd7a7862c55de32ce6352a7716) , ROM_SKIP(7) )
ROMX_LOAD( "sonobj1.bin", 0x000001, 0x100000, CRC(6bbc226b) SHA1(5ef4256b6a93891daf1349def6db3bc428e5f4f3) , ROM_SKIP(7) )
ROMX_LOAD( "sonobj2.bin", 0x000002, 0x100000, CRC(fcd5ef0e) SHA1(e3e50d4838ac3cce41d69ee6cd31981fbe422a4b) , ROM_SKIP(7) )
@ -4648,7 +4659,7 @@ ROM_START( spidman )
ROM_LOAD32_BYTE( "mpr-14289-s.ic29", 0x000001, 0x100000, CRC(38570582) SHA1(a9d810a02a1f5a6849c79d65fbebff21a4b82b59) )
ROM_LOAD32_BYTE( "mpr-14288-s.ic25", 0x000003, 0x100000, CRC(3188b636) SHA1(bc0adeeca5040caa563ee1e0eded9c323ca23446) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14299-h.ic36", 0x000000, 0x100000, CRC(ce59231b) SHA1(bcb1f11b74935694d0617ec8df66db2cc57b6219) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14298-h.ic32", 0x000001, 0x100000, CRC(2745c84c) SHA1(5a0528c921cba7a1047d3a2ece79925103d719a1) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14297-h.ic27", 0x000002, 0x100000, CRC(29cb9450) SHA1(7dc38d23a2f0cee2f4edde05c1a6f0dc83f331db) , ROM_SKIP(7) )
@ -4690,7 +4701,7 @@ ROM_START( spidmanu )
ROM_LOAD32_BYTE( "mpr-14289-s.ic29", 0x000001, 0x100000, CRC(38570582) SHA1(a9d810a02a1f5a6849c79d65fbebff21a4b82b59) )
ROM_LOAD32_BYTE( "mpr-14288-s.ic25", 0x000003, 0x100000, CRC(3188b636) SHA1(bc0adeeca5040caa563ee1e0eded9c323ca23446) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14299-h.ic36", 0x000000, 0x100000, CRC(ce59231b) SHA1(bcb1f11b74935694d0617ec8df66db2cc57b6219) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14298-h.ic32", 0x000001, 0x100000, CRC(2745c84c) SHA1(5a0528c921cba7a1047d3a2ece79925103d719a1) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14297-h.ic27", 0x000002, 0x100000, CRC(29cb9450) SHA1(7dc38d23a2f0cee2f4edde05c1a6f0dc83f331db) , ROM_SKIP(7) )
@ -4728,7 +4739,7 @@ ROM_START( spidmanj )
ROM_LOAD32_BYTE( "mpr-14289-s.ic29", 0x000001, 0x100000, CRC(38570582) SHA1(a9d810a02a1f5a6849c79d65fbebff21a4b82b59) )
ROM_LOAD32_BYTE( "mpr-14288-s.ic25", 0x000003, 0x100000, CRC(3188b636) SHA1(bc0adeeca5040caa563ee1e0eded9c323ca23446) )
ROM_REGION32_BE( 0x800000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x800000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-14299-h.ic36", 0x000000, 0x100000, CRC(ce59231b) SHA1(bcb1f11b74935694d0617ec8df66db2cc57b6219) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14298-h.ic32", 0x000001, 0x100000, CRC(2745c84c) SHA1(5a0528c921cba7a1047d3a2ece79925103d719a1) , ROM_SKIP(7) )
ROMX_LOAD( "mpr-14297-h.ic27", 0x000002, 0x100000, CRC(29cb9450) SHA1(7dc38d23a2f0cee2f4edde05c1a6f0dc83f331db) , ROM_SKIP(7) )
@ -4758,7 +4769,7 @@ ROM_START( scross )
ROM_LOAD16_BYTE( "mpr-15020.ic3", 0x000000, 0x100000, CRC(de47006a) SHA1(dbef7b9ff8c39992b8596d38985e65c627d6fa79) )
ROM_LOAD16_BYTE( "mpr-15021.ic11", 0x000001, 0x100000, CRC(3677db02) SHA1(7aeeb85f1632253fcdc8f7881512066e97837e5e) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15022.ic14", 0x000000, 0x100000, CRC(baee6fd5) SHA1(ddf022c61f0805af45a84c65eb5d01006c153c07) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15024.ic15", 0x000002, 0x100000, CRC(b9f339e2) SHA1(4b9a392459132a19d62928ef3939e1f2356e3994) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15026.ic10", 0x000004, 0x100000, CRC(b72e8df6) SHA1(a7a87f79814b022985121e163c7f88244c50e427) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4791,7 +4802,7 @@ ROM_START( scrossa )
ROM_LOAD16_BYTE( "mpr-15020.ic3", 0x000000, 0x100000, CRC(de47006a) SHA1(dbef7b9ff8c39992b8596d38985e65c627d6fa79) )
ROM_LOAD16_BYTE( "mpr-15021.ic11", 0x000001, 0x100000, CRC(3677db02) SHA1(7aeeb85f1632253fcdc8f7881512066e97837e5e) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15022.ic14", 0x000000, 0x100000, CRC(baee6fd5) SHA1(ddf022c61f0805af45a84c65eb5d01006c153c07) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15024.ic15", 0x000002, 0x100000, CRC(b9f339e2) SHA1(4b9a392459132a19d62928ef3939e1f2356e3994) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15026.ic10", 0x000004, 0x100000, CRC(b72e8df6) SHA1(a7a87f79814b022985121e163c7f88244c50e427) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4828,7 +4839,7 @@ ROM_START( scrossu )
ROM_LOAD16_BYTE( "mpr-15020.ic3", 0x000000, 0x100000, CRC(de47006a) SHA1(dbef7b9ff8c39992b8596d38985e65c627d6fa79) )
ROM_LOAD16_BYTE( "mpr-15021.ic11", 0x000001, 0x100000, CRC(3677db02) SHA1(7aeeb85f1632253fcdc8f7881512066e97837e5e) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15022.ic14", 0x000000, 0x100000, CRC(baee6fd5) SHA1(ddf022c61f0805af45a84c65eb5d01006c153c07) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15024.ic15", 0x000002, 0x100000, CRC(b9f339e2) SHA1(4b9a392459132a19d62928ef3939e1f2356e3994) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15026.ic10", 0x000004, 0x100000, CRC(b72e8df6) SHA1(a7a87f79814b022985121e163c7f88244c50e427) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4871,7 +4882,7 @@ ROM_START( svf )
ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
ROM_LOAD16_BYTE( "mpr-16783.ic5", 0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4899,7 +4910,7 @@ ROM_START( svfo )
ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
ROM_LOAD16_BYTE( "mpr-16783.ic5", 0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4931,7 +4942,7 @@ ROM_START( svs )
ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
ROM_LOAD16_BYTE( "mpr-16783.ic5", 0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4967,7 +4978,7 @@ ROM_START( jleague )
ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
ROM_LOAD16_BYTE( "mpr-16783.ic5", 0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -4995,7 +5006,7 @@ ROM_START( jleagueo )
ROM_LOAD16_BYTE( "mpr-16784.ic14", 0x000000, 0x100000, CRC(4608efe2) SHA1(9b41aa28f50af770e854ef9fdff1a55da7b7b131) )
ROM_LOAD16_BYTE( "mpr-16783.ic5", 0x000001, 0x100000, CRC(042eabe7) SHA1(a11df5c21d85f0c96dbdcaf57be37a79658ad648) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-16785.ic32", 0x000000, 0x200000, CRC(51f775ce) SHA1(125b40bf47304d37b92e81df5081c81d9af6c8a2) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16787.ic30", 0x000002, 0x200000, CRC(dee7a204) SHA1(29acff4d5dd68609ac46853860788206d18262ab) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-16789.ic28", 0x000004, 0x200000, CRC(6b6c8ad3) SHA1(97b0078c851845c31dcf0fe4b2a88393dcdf8988) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -5031,7 +5042,7 @@ ROM_START( titlef )
ROM_LOAD16_BYTE( "mpr-15381.ic3", 0x000000, 0x200000, CRC(162cc4d6) SHA1(2369d3d76ab5ef8f033aa45530ab957f0e5ff028) )
ROM_LOAD16_BYTE( "mpr-15382.ic11", 0x000001, 0x200000, CRC(fd03a130) SHA1(040c36383ef5d8298af714958cd5b0a4c7556ae7) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15379.ic14", 0x000000, 0x200000, CRC(e5c74b11) SHA1(67e4460efe5dcd88ffc12024b255efc843e6a8b5) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15375.ic15", 0x000002, 0x200000, CRC(046a9b50) SHA1(2b4c53f2a0264835cb7197daa9b3461c212541e8) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15371.ic10", 0x000004, 0x200000, CRC(999046c6) SHA1(37ce4e8aaf537b5366eacabaf36e4477b5624121) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -5067,7 +5078,7 @@ ROM_START( titlefu )
ROM_LOAD16_BYTE( "mpr-15381.ic3", 0x000000, 0x200000, CRC(162cc4d6) SHA1(2369d3d76ab5ef8f033aa45530ab957f0e5ff028) )
ROM_LOAD16_BYTE( "mpr-15382.ic11", 0x000001, 0x200000, CRC(fd03a130) SHA1(040c36383ef5d8298af714958cd5b0a4c7556ae7) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15379.ic14", 0x000000, 0x200000, CRC(e5c74b11) SHA1(67e4460efe5dcd88ffc12024b255efc843e6a8b5) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15375.ic15", 0x000002, 0x200000, CRC(046a9b50) SHA1(2b4c53f2a0264835cb7197daa9b3461c212541e8) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15371.ic10", 0x000004, 0x200000, CRC(999046c6) SHA1(37ce4e8aaf537b5366eacabaf36e4477b5624121) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -5103,7 +5114,7 @@ ROM_START( titlefj )
ROM_LOAD16_BYTE( "mpr-15381.ic3", 0x000000, 0x200000, CRC(162cc4d6) SHA1(2369d3d76ab5ef8f033aa45530ab957f0e5ff028) )
ROM_LOAD16_BYTE( "mpr-15382.ic11", 0x000001, 0x200000, CRC(fd03a130) SHA1(040c36383ef5d8298af714958cd5b0a4c7556ae7) )
ROM_REGION32_BE( 0x1000000, "mainpcb:gfx2", 0 ) /* sprites */
ROM_REGION32_BE( 0x1000000, "mainpcb:sprites", 0 ) /* sprites */
ROMX_LOAD( "mpr-15379.ic14", 0x000000, 0x200000, CRC(e5c74b11) SHA1(67e4460efe5dcd88ffc12024b255efc843e6a8b5) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15375.ic15", 0x000002, 0x200000, CRC(046a9b50) SHA1(2b4c53f2a0264835cb7197daa9b3461c212541e8) , ROM_SKIP(6)|ROM_GROUPWORD )
ROMX_LOAD( "mpr-15371.ic10", 0x000004, 0x200000, CRC(999046c6) SHA1(37ce4e8aaf537b5366eacabaf36e4477b5624121) , ROM_SKIP(6)|ROM_GROUPWORD )
@ -5127,9 +5138,16 @@ ROM_END
void segas32_state::segas32_common_init()
{
if ((m_multipcm_bank_lo.found()) && (m_multipcm_bank_hi.found()))
{
uint8_t *ROM = memregion("sega")->base();
uint32_t size = memregion("sega")->bytes();
m_multipcm_bank_lo->configure_entries(0, size / 0x80000, &ROM[0], 0x80000);
m_multipcm_bank_hi->configure_entries(0, size / 0x80000, &ROM[0], 0x80000);
}
uint8_t *Z80 = memregion("soundcpu")->base();
uint32_t size = memregion("soundcpu")->bytes();
membank("bank1")->configure_entries(0, size / 0x2000, &Z80[0], 0x2000);
m_soundrom_bank->configure_entries(0, size / 0x2000, &Z80[0], 0x2000);
/* reset the custom handlers and other pointers */
m_system32_prot_vblank = nullptr;
m_sw1_output = nullptr;
@ -5137,15 +5155,6 @@ void segas32_state::segas32_common_init()
m_sw3_output = nullptr;
}
void segas32_state::multi32_common_init()
{
uint8_t *ROM = memregion("sega")->base();
uint32_t size = memregion("sega")->bytes();
membank("multipcmbanklo")->configure_entries(0, size / 0x80000, &ROM[0], 0x80000);
membank("multipcmbankhi")->configure_entries(0, size / 0x80000, &ROM[0], 0x80000);
segas32_common_init();
}
/*************************************
*
@ -5515,7 +5524,7 @@ void segas32_state::init_ga2(void)
void segas32_state::init_harddunk(void)
{
multi32_common_init();
segas32_common_init();
m_sw1_output = &segas32_state::harddunk_sw1_output;
m_sw2_output = &segas32_state::harddunk_sw2_output;
m_sw3_output = &segas32_state::harddunk_sw3_output;
@ -5531,7 +5540,7 @@ void segas32_state::init_holo(void)
void segas32_state::init_jpark(void)
{
/* Temp. Patch until we emulate the 'Drive Board', thanks to Malice */
uint16_t *pROM = (uint16_t *)memregion("maincpu")->base();
uint16_t *pROM = (uint16_t *)m_maincpu_region->base();
segas32_common_init();
@ -5544,7 +5553,7 @@ void segas32_state::init_jpark(void)
void segas32_state::init_orunners(void)
{
multi32_common_init();
segas32_common_init();
m_sw1_output = &segas32_state::orunners_sw1_output;
m_sw2_output = &segas32_state::orunners_sw2_output;
@ -5572,7 +5581,7 @@ void segas32_state::init_radr(void)
void segas32_state::init_scross(void)
{
multi32_common_init();
segas32_common_init();
m_soundcpu->space(AS_PROGRAM).install_write_handler(0xb0, 0xbf, write8_delegate(FUNC(segas32_state::scross_bank_w),this));
m_sw1_output = &segas32_state::scross_sw1_output;
@ -5624,7 +5633,7 @@ void segas32_state::init_jleague(void)
void segas32_state::init_titlef(void)
{
multi32_common_init();
segas32_common_init();
m_sw1_output = &segas32_state::titlef_sw1_output;
m_sw2_output = &segas32_state::titlef_sw2_output;
}

View File

@ -301,15 +301,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys16_tilebank_w)
{
if (ACCESSING_BITS_0_7)
{
switch (offset & 1)
{
case 0:
m_tile_bank0 = data & 0x0f;
break;
case 1:
m_tile_bank1 = data & 0x0f;
break;
}
m_tile_bank[offset & 1] = data & 0x0f;
}
}
@ -393,7 +385,7 @@ READ8_MEMBER(segas1x_bootleg_state::tturfbl_soundbank_r)
WRITE8_MEMBER(segas1x_bootleg_state::tturfbl_soundbank_w)
{
uint8_t *mem = memregion("soundcpu")->base();
uint8_t *mem = m_soundcpu_region->base();
switch(data)
{
@ -493,11 +485,11 @@ void segas1x_bootleg_state::sound_7759_map(address_map &map)
WRITE8_MEMBER(segas1x_bootleg_state::upd7759_bank_w)//*
{
int offs, size = memregion("soundcpu")->bytes() - 0x10000;
int offs, size = m_soundcpu_region->bytes() - 0x10000;
m_upd7759->reset_w(data & 0x40);
offs = 0x10000 + (data * 0x4000) % size;
membank("bank1")->set_base(memregion("soundcpu")->base() + offs);
membank("bank1")->set_base(m_soundcpu_region->base() + offs);
}
@ -515,24 +507,24 @@ void segas1x_bootleg_state::sound_7759_io_map(address_map &map)
void segas1x_bootleg_state::set_tile_bank( int data )
{
m_tile_bank0 = (data >> 4) & 0x0f;
m_tile_bank1 = data & 0x0f;
m_tile_bank[0] = (data >> 4) & 0x0f;
m_tile_bank[1] = data & 0x0f;
}
void segas1x_bootleg_state::set_fg_page( int data )
{
m_fg_page[0] = data >> 12;
m_fg_page[1] = (data >> 8) & 0x0f;
m_fg_page[2] = (data >> 4) & 0x0f;
m_fg_page[3] = data & 0x0f;
m_fg_page[0][0] = data >> 12;
m_fg_page[0][1] = (data >> 8) & 0x0f;
m_fg_page[0][2] = (data >> 4) & 0x0f;
m_fg_page[0][3] = data & 0x0f;
}
void segas1x_bootleg_state::set_bg_page( int data )
{
m_bg_page[0] = data >> 12;
m_bg_page[1] = (data >> 8) & 0x0f;
m_bg_page[2] = (data >> 4) & 0x0f;
m_bg_page[3] = data & 0x0f;
m_bg_page[0][0] = data >> 12;
m_bg_page[0][1] = (data >> 8) & 0x0f;
m_bg_page[0][2] = (data >> 4) & 0x0f;
m_bg_page[0][3] = data & 0x0f;
}
@ -668,27 +660,10 @@ void segas1x_bootleg_state::datsu_set_pages( )
set_bg_page(page);
}
WRITE16_MEMBER(segas1x_bootleg_state::datsu_page0_w)
template<int Page>
WRITE16_MEMBER(segas1x_bootleg_state::datsu_page_w)
{
COMBINE_DATA(&m_datsu_page[0]);
datsu_set_pages();
}
WRITE16_MEMBER(segas1x_bootleg_state::datsu_page1_w)
{
COMBINE_DATA(&m_datsu_page[1]);
datsu_set_pages();
}
WRITE16_MEMBER(segas1x_bootleg_state::datsu_page2_w)
{
COMBINE_DATA(&m_datsu_page[2]);
datsu_set_pages();
}
WRITE16_MEMBER(segas1x_bootleg_state::datsu_page3_w)
{
COMBINE_DATA(&m_datsu_page[3]);
COMBINE_DATA(&m_datsu_page[Page]);
datsu_set_pages();
}
@ -703,10 +678,10 @@ void segas1x_bootleg_state::bayrouteb2_map(address_map &map)
map(0x718008, 0x718009).w(this, FUNC(segas1x_bootleg_state::s16bl_fgscrollx_bank_w)); // and tile bank
map(0x718010, 0x718011).w(this, FUNC(segas1x_bootleg_state::s16bl_bgscrolly_w));
map(0x718018, 0x718019).w(this, FUNC(segas1x_bootleg_state::s16bl_bgscrollx_w));
map(0x718020, 0x718021).w(this, FUNC(segas1x_bootleg_state::datsu_page0_w));
map(0x718022, 0x718023).w(this, FUNC(segas1x_bootleg_state::datsu_page1_w));
map(0x718024, 0x718025).w(this, FUNC(segas1x_bootleg_state::datsu_page2_w));
map(0x718026, 0x718027).w(this, FUNC(segas1x_bootleg_state::datsu_page3_w));
map(0x718020, 0x718021).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<0>));
map(0x718022, 0x718023).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<1>));
map(0x718024, 0x718025).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<2>));
map(0x718026, 0x718027).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<3>));
map(0x800000, 0x800fff).ram().w(this, FUNC(segas1x_bootleg_state::paletteram_w)).share("paletteram");
map(0x900000, 0x900001).portr("DSW1");
@ -737,10 +712,10 @@ void segas1x_bootleg_state::dduxbl_map(address_map &map)
map(0xC46008, 0xC46009).w(this, FUNC(segas1x_bootleg_state::s16bl_fgscrollx_w));
map(0xC46010, 0xC46011).w(this, FUNC(segas1x_bootleg_state::s16bl_bgscrolly_w));
map(0xC46018, 0xC46019).w(this, FUNC(segas1x_bootleg_state::s16bl_bgscrollx_w));
map(0xC46020, 0xC46021).w(this, FUNC(segas1x_bootleg_state::datsu_page0_w));
map(0xC46022, 0xC46023).w(this, FUNC(segas1x_bootleg_state::datsu_page1_w));
map(0xC46024, 0xC46025).w(this, FUNC(segas1x_bootleg_state::datsu_page2_w));
map(0xC46026, 0xC46027).w(this, FUNC(segas1x_bootleg_state::datsu_page3_w));
map(0xC46020, 0xC46021).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<0>));
map(0xC46022, 0xC46023).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<1>));
map(0xC46024, 0xC46025).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<2>));
map(0xC46026, 0xC46027).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<3>));
map(0xffc000, 0xffffff).ram(); // work ram
}
@ -1000,10 +975,10 @@ void segas1x_bootleg_state::tturfbl_map(address_map &map)
map(0xC46008, 0xC46009).w(this, FUNC(segas1x_bootleg_state::s16bl_fgscrollx_w));
map(0xC46010, 0xC46011).w(this, FUNC(segas1x_bootleg_state::s16bl_bgscrolly_w));
map(0xC46018, 0xC46019).w(this, FUNC(segas1x_bootleg_state::s16bl_bgscrollx_w));
map(0xC46020, 0xC46021).w(this, FUNC(segas1x_bootleg_state::datsu_page0_w));
map(0xc46022, 0xc46023).w(this, FUNC(segas1x_bootleg_state::datsu_page1_w));
map(0xC46024, 0xC46025).w(this, FUNC(segas1x_bootleg_state::datsu_page2_w));
map(0xC46026, 0xC46027).w(this, FUNC(segas1x_bootleg_state::datsu_page3_w));
map(0xC46020, 0xC46021).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<0>));
map(0xc46022, 0xc46023).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<1>));
map(0xC46024, 0xC46025).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<2>));
map(0xC46026, 0xC46027).w(this, FUNC(segas1x_bootleg_state::datsu_page_w<3>));
}
/***************************************************************************/
@ -1020,8 +995,8 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys18_tilebank_w)
{
if (ACCESSING_BITS_0_7)
{
m_tile_bank0 = (data >> 0) & 0x0f;
m_tile_bank1 = (data >> 4) & 0x0f;
m_tile_bank[0] = (data >> 0) & 0x0f;
m_tile_bank[1] = (data >> 4) & 0x0f;
}
}
@ -1046,7 +1021,7 @@ void segas1x_bootleg_state::sound_18_map(address_map &map)
WRITE8_MEMBER(segas1x_bootleg_state::sys18_soundbank_w)
{
uint8_t *mem = memregion("soundcpu")->base();
uint8_t *mem = m_soundcpu_region->base();
int rom = (data >> 6) & 3;
int bank = (data & 0x3f);
int mask = m_sound_info[rom * 2 + 0];
@ -1067,6 +1042,12 @@ void segas1x_bootleg_state::sound_18_io_map(address_map &map)
map(0xc0, 0xc0).r(m_soundlatch, FUNC(generic_latch_8_device::read));
}
void segas1x_bootleg_state::pcm_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0xffff).ram();
}
/***************************************************************************
@ -1211,7 +1192,7 @@ READ8_MEMBER(segas1x_bootleg_state::shdancbl_soundbank_r)
WRITE8_MEMBER(segas1x_bootleg_state::shdancbl_bankctrl_w)
{
uint8_t *mem = memregion("soundcpu")->base();
uint8_t *mem = m_soundcpu_region->base();
switch (data)
{
@ -1326,7 +1307,7 @@ void segas1x_bootleg_state::mwalkbl_map(address_map &map)
WRITE8_MEMBER(segas1x_bootleg_state::sys18bl_okibank_w) // TODO: verify correctness
{
//popmessage("okibank: %02x\n", data);
membank("okibank")->set_entry(data & 0x07);
m_okibank->set_entry(data & 0x07);
}
/* bootleg doesn't have real vdp or i/o */
@ -1382,17 +1363,17 @@ void segas1x_bootleg_state::sys18bl_oki_map(address_map &map)
WRITE16_MEMBER(segas1x_bootleg_state::ddcrewbl_spritebank_w)
{
// printf("banking write %08x: %04x (%04x %04x)\n", m_maincpu->pc(), offset*2, data&mem_mask, mem_mask);
// printf("banking write %08x: %04x (%04x %04x)\n", m_maincpu->pc(), offset<<1, data&mem_mask, mem_mask);
data &= mem_mask;
// offset &= 0x7;
offset += 4;
int maxbanks = memregion("sprites")->bytes() / 0x40000;
int maxbanks = m_sprites_region->bytes() >> 18;
if (data >= maxbanks)
data = 255;
m_sprites->set_bank((offset) * 2 + 0, data * 2 + 0);
m_sprites->set_bank((offset) * 2 + 1, data * 2 + 1);
m_sprites->set_bank((offset << 1) | 0, (data << 1) | 0);
m_sprites->set_bank((offset << 1) | 1, (data << 1) | 1);
}
@ -2481,18 +2462,15 @@ MACHINE_CONFIG_START(segas1x_bootleg_state::system18)
MCFG_DEVICE_ADD("3438.0", YM3438, 8000000)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.40)
MCFG_SOUND_ROUTE(2, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(3, "rspeaker", 0.40)
MCFG_DEVICE_ADD("3438.1", YM3438, 8000000)
MCFG_SOUND_ROUTE(0, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.40)
MCFG_SOUND_ROUTE(2, "lspeaker", 0.40)
MCFG_SOUND_ROUTE(3, "rspeaker", 0.40)
MCFG_DEVICE_ADD("5c68", RF5C68, 8000000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, pcm_map)
MACHINE_CONFIG_END
@ -3784,7 +3762,7 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,common)
if (m_soundbank.found())
{
m_soundbank->configure_entries(0, 8, memregion("soundcpu")->base(), 0x4000);
m_soundbank->configure_entries(0, 8, m_soundcpu_region->base(), 0x4000);
m_soundbank->set_entry(0);
}
}
@ -3869,7 +3847,7 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,bayrouteb1)
DRIVER_INIT_MEMBER(segas1x_bootleg_state,bayrouteb2)
{
uint8_t *mem = memregion("soundcpu")->base();
uint8_t *mem = m_soundcpu_region->base();
memcpy(mem, mem + 0x10000, 0x8000);
@ -3885,7 +3863,7 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,goldnaxeb2)
DRIVER_INIT_MEMBER(segas1x_bootleg_state,tturfbl)
{
uint8_t *mem = memregion("soundcpu")->base();
uint8_t *mem = m_soundcpu_region->base();
memcpy(mem, mem + 0x10000, 0x8000);
@ -3937,26 +3915,26 @@ WRITE16_MEMBER(segas1x_bootleg_state::altbeastbl_gfx_w)
}
case 0x10: {
m_bg_page[0] = (data >> 0) & 0x0f;
m_fg_page[0] = (data >> 4) & 0x0f;
m_bg_page[0][0] = (data >> 0) & 0x0f;
m_fg_page[0][0] = (data >> 4) & 0x0f;
break;
}
case 0x11: {
m_bg_page[1] = (data >> 0) & 0x0f;
m_fg_page[1] = (data >> 4) & 0x0f;
m_bg_page[0][1] = (data >> 0) & 0x0f;
m_fg_page[0][1] = (data >> 4) & 0x0f;
break;
}
case 0x12: {
m_bg_page[2] = (data >> 0) & 0x0f;
m_fg_page[2] = (data >> 4) & 0x0f;
m_bg_page[0][2] = (data >> 0) & 0x0f;
m_fg_page[0][2] = (data >> 4) & 0x0f;
break;
}
case 0x13: {
m_bg_page[3] = (data >> 0) & 0x0f;
m_fg_page[3] = (data >> 4) & 0x0f;
m_bg_page[0][3] = (data >> 0) & 0x0f;
m_fg_page[0][3] = (data >> 4) & 0x0f;
break;
}
}
@ -3990,7 +3968,7 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,beautyb)
/* Sys18 */
DRIVER_INIT_MEMBER(segas1x_bootleg_state,shdancbl)
{
uint8_t *mem = memregion("soundcpu")->base();;
uint8_t *mem = m_soundcpu_region->base();;
/* Copy first 32K of IC45 to Z80 address space */
memcpy(mem, mem + 0x10000, 0x8000);
@ -4004,7 +3982,7 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state,shdancbl)
DRIVER_INIT_MEMBER(segas1x_bootleg_state,astormbl)
{
uint8_t *RAM = memregion("soundcpu")->base();
uint8_t *RAM = m_soundcpu_region->base();
static const int astormbl_sound_info[] =
{
0x0f, 0x00000, // ROM #1 = 128K
@ -4031,7 +4009,7 @@ DRIVER_INIT_MEMBER(segas1x_bootleg_state, sys18bl_oki)
m_splittab_fg_x = &m_textram[0x0f80/2];
m_splittab_bg_x = &m_textram[0x0fc0/2];
membank("okibank")->configure_entries(0, 8, memregion("oki")->base() + 0x30000, 0x10000);
m_okibank->configure_entries(0, 8, memregion("oki")->base() + 0x30000, 0x10000);
}
DRIVER_INIT_MEMBER(segas1x_bootleg_state, astormb2)

View File

@ -88,43 +88,45 @@ class towns_state : public driver_device
{
public:
towns_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_speaker(*this, "speaker"),
m_pic_master(*this, "pic8259_master"),
m_pic_slave(*this, "pic8259_slave"),
m_pit(*this, "pit"),
m_dma_1(*this, "dma_1"),
m_dma_2(*this, "dma_2"),
m_palette(*this, "palette256"),
m_palette16_0(*this, "palette16_0"),
m_palette16_1(*this, "palette16_1"),
m_ram(*this, RAM_TAG),
m_fdc(*this, "fdc"),
m_flop0(*this, "fdc:0"),
m_flop1(*this, "fdc:1"),
m_icmemcard(*this, "icmemcard"),
m_i8251(*this, "i8251"),
m_rs232(*this, "rs232c"),
m_screen(*this, "screen"),
m_rtc(*this, "rtc58321"),
m_nvram(*this, "nvram"),
m_nvram16(*this, "nvram16"),
m_ctrltype(*this, "ctrltype"),
m_kb_ports(*this, {"key1", "key2", "key3", "key4"}),
m_joy1(*this, "joy1"),
m_joy2(*this, "joy2"),
m_joy1_ex(*this, "joy1_ex"),
m_joy2_ex(*this, "joy2_ex"),
m_6b_joy1(*this, "6b_joy1"),
m_6b_joy2(*this, "6b_joy2"),
m_6b_joy1_ex(*this, "6b_joy1_ex"),
m_6b_joy2_ex(*this, "6b_joy2_ex"),
m_mouse1(*this, "mouse1"),
m_mouse2(*this, "mouse2"),
m_mouse3(*this, "mouse3"),
m_user(*this,"user"),
m_serial(*this,"serial")
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_speaker(*this, "speaker")
, m_pic_master(*this, "pic8259_master")
, m_pic_slave(*this, "pic8259_slave")
, m_pit(*this, "pit")
, m_dma(*this, "dma_%u", 1U)
, m_palette(*this, "palette256")
, m_palette16(*this, "palette16_%u", 0U)
, m_ram(*this, RAM_TAG)
, m_fdc(*this, "fdc")
, m_flop0(*this, "fdc:0")
, m_flop1(*this, "fdc:1")
, m_icmemcard(*this, "icmemcard")
, m_i8251(*this, "i8251")
, m_rs232(*this, "rs232c")
, m_screen(*this, "screen")
, m_rtc(*this, "rtc58321")
, m_bank_cb000_r(*this, "bank_cb000_r")
, m_bank_cb000_w(*this, "bank_cb000_w")
, m_bank_f8000_r(*this, "bank_f8000_r")
, m_bank_f8000_w(*this, "bank_f8000_w")
, m_nvram(*this, "nvram")
, m_nvram16(*this, "nvram16")
, m_ctrltype(*this, "ctrltype")
, m_kb_ports(*this, "key%u", 1U)
, m_joy1(*this, "joy1")
, m_joy2(*this, "joy2")
, m_joy1_ex(*this, "joy1_ex")
, m_joy2_ex(*this, "joy2_ex")
, m_6b_joy1(*this, "6b_joy1")
, m_6b_joy2(*this, "6b_joy2")
, m_6b_joy1_ex(*this, "6b_joy1_ex")
, m_6b_joy2_ex(*this, "6b_joy2_ex")
, m_mouse1(*this, "mouse1")
, m_mouse2(*this, "mouse2")
, m_mouse3(*this, "mouse3")
, m_user(*this,"user")
, m_serial(*this,"serial")
{ }
/* devices */
@ -133,11 +135,9 @@ class towns_state : public driver_device
required_device<pic8259_device> m_pic_master;
required_device<pic8259_device> m_pic_slave;
required_device<pit8253_device> m_pit;
required_device<upd71071_device> m_dma_1;
required_device<upd71071_device> m_dma_2;
required_device_array<upd71071_device, 2> m_dma;
required_device<palette_device> m_palette;
required_device<palette_device> m_palette16_0;
required_device<palette_device> m_palette16_1;
required_device_array<palette_device, 2> m_palette16;
required_device<ram_device> m_ram;
required_device<mb8877_device> m_fdc;
required_device<floppy_connector> m_flop0;
@ -147,6 +147,12 @@ class towns_state : public driver_device
required_device<rs232_port_device> m_rs232;
required_device<screen_device> m_screen;
required_device<msm58321_device> m_rtc;
required_memory_bank m_bank_cb000_r;
required_memory_bank m_bank_cb000_w;
required_memory_bank m_bank_f8000_r;
required_memory_bank m_bank_f8000_w;
ram_device* m_messram;
cdrom_image_device* m_cdrom;
cdda_device* m_cdda;
@ -246,10 +252,8 @@ class towns_state : public driver_device
DECLARE_WRITE8_MEMBER(towns_intervaltimer2_w);
DECLARE_READ8_MEMBER(towns_sys6c_r);
DECLARE_WRITE8_MEMBER(towns_sys6c_w);
DECLARE_READ8_MEMBER(towns_dma1_r);
DECLARE_WRITE8_MEMBER(towns_dma1_w);
DECLARE_READ8_MEMBER(towns_dma2_r);
DECLARE_WRITE8_MEMBER(towns_dma2_w);
template<int Chip> DECLARE_READ8_MEMBER(towns_dma_r);
template<int Chip> DECLARE_WRITE8_MEMBER(towns_dma_w);
DECLARE_READ8_MEMBER(towns_floppy_r);
DECLARE_WRITE8_MEMBER(towns_floppy_w);
DECLARE_READ8_MEMBER(towns_keyboard_r);
@ -352,6 +356,7 @@ class towns_state : public driver_device
void townshr(machine_config &config);
void townssj(machine_config &config);
void marty_mem(address_map &map);
void pcm_mem(address_map &map);
void towns16_io(address_map &map);
void towns_io(address_map &map);
void towns_mem(address_map &map);

View File

@ -25,26 +25,29 @@ class segas18_state : public sega_16bit_common_base
public:
// construction/destruction
segas18_state(const machine_config &mconfig, device_type type, const char *tag)
: sega_16bit_common_base(mconfig, type, tag),
m_mapper(*this, "mapper"),
m_maincpu(*this, "maincpu"),
m_maincpu_region(*this, "maincpu"),
m_soundcpu(*this, "soundcpu"),
m_mcu(*this, "mcu"),
m_vdp(*this, "gen_vdp"),
m_io(*this, "io"),
m_nvram(*this, "nvram"),
m_sprites(*this, "sprites"),
m_segaic16vid(*this, "segaic16vid"),
m_gfxdecode(*this, "gfxdecode"),
m_upd4701(*this, {"upd1", "upd2", "upd3"}),
m_workram(*this, "workram"),
m_romboard(ROM_BOARD_INVALID),
m_grayscale_enable(false),
m_vdp_enable(false),
m_vdp_mixing(0),
m_lghost_value(0),
m_lghost_select(0)
: sega_16bit_common_base(mconfig, type, tag)
, m_mapper(*this, "mapper")
, m_maincpu(*this, "maincpu")
, m_maincpu_region(*this, "maincpu")
, m_soundcpu(*this, "soundcpu")
, m_mcu(*this, "mcu")
, m_vdp(*this, "gen_vdp")
, m_io(*this, "io")
, m_nvram(*this, "nvram")
, m_sprites(*this, "sprites")
, m_segaic16vid(*this, "segaic16vid")
, m_gfxdecode(*this, "gfxdecode")
, m_upd4701(*this, {"upd1", "upd2", "upd3"})
, m_workram(*this, "workram")
, m_sprites_region(*this, "sprites")
, m_soundbank(*this, "soundbank")
, m_gun_recoil(*this, "P%u_Gun_Recoil", 1U)
, m_romboard(ROM_BOARD_INVALID)
, m_grayscale_enable(false)
, m_vdp_enable(false)
, m_vdp_mixing(0)
, m_lghost_value(0)
, m_lghost_select(0)
{
}
@ -102,6 +105,7 @@ public:
void system18_i8751(machine_config &config);
void decrypted_opcodes_map(address_map &map);
void mcu_io_map(address_map &map);
void pcm_map(address_map &map);
void sound_map(address_map &map);
void sound_portmap(address_map &map);
void system18_map(address_map &map);
@ -150,6 +154,11 @@ protected:
// memory pointers
required_shared_ptr<uint16_t> m_workram;
required_memory_region m_sprites_region;
optional_memory_bank m_soundbank;
output_finder<3> m_gun_recoil;
// configuration
segas18_rom_board m_romboard;
read16_delegate m_custom_io_r;

View File

@ -40,6 +40,12 @@ public:
required_device<timer_device> m_irq_timer_1;
optional_device<s32comm_device> m_s32comm;
required_region_ptr<uint32_t> m_sprite_region;
required_memory_region m_maincpu_region;
required_memory_bank m_soundrom_bank;
optional_memory_bank m_multipcm_bank_hi;
optional_memory_bank m_multipcm_bank_lo;
typedef void (segas32_state::*sys32_output_callback)(int which, uint16_t data);
struct layer_info
@ -174,7 +180,6 @@ public:
void signal_v60_irq(int which);
void update_sound_irq_state();
void segas32_common_init();
void multi32_common_init();
void radm_sw1_output( int which, uint16_t data );
void radm_sw2_output( int which, uint16_t data );
void radr_sw2_output( int which, uint16_t data );
@ -234,6 +239,7 @@ public:
void multi32_sound_map(address_map &map);
void multi32_sound_portmap(address_map &map);
void multipcm_map(address_map &map);
void rf5c68_map(address_map &map);
void system32_4player_map(address_map &map);
void system32_analog_map(address_map &map);
void system32_cd_map(address_map &map);

View File

@ -12,23 +12,27 @@ class segas1x_bootleg_state : public sega_16bit_common_base
{
public:
segas1x_bootleg_state(const machine_config &mconfig, device_type type, const char *tag)
: sega_16bit_common_base(mconfig, type, tag) ,
m_textram(*this, "textram"),
m_bg0_tileram(*this, "bg0_tileram"),
m_bg1_tileram(*this, "bg1_tileram"),
m_tileram(*this, "tileram"),
m_goldnaxeb2_bgpage(*this, "gab2_bgpage"),
m_goldnaxeb2_fgpage(*this, "gab2_fgpage"),
m_soundbank(*this, "soundbank"),
m_sprites(*this, "sprites"),
m_maincpu(*this, "maincpu"),
m_soundcpu(*this, "soundcpu"),
m_msm(*this, "5205"),
m_upd7759(*this, "7759"),
m_gfxdecode(*this, "gfxdecode"),
m_soundlatch(*this, "soundlatch"),
m_adpcm_select(*this, "adpcm_select"),
m_decrypted_opcodes(*this, "decrypted_opcodes") { }
: sega_16bit_common_base(mconfig, type, tag)
, m_textram(*this, "textram")
, m_bg0_tileram(*this, "bg0_tileram")
, m_bg1_tileram(*this, "bg1_tileram")
, m_tileram(*this, "tileram")
, m_goldnaxeb2_bgpage(*this, "gab2_bgpage")
, m_goldnaxeb2_fgpage(*this, "gab2_fgpage")
, m_sprites_region(*this, "sprites")
, m_soundcpu_region(*this, "soundcpu")
, m_soundbank(*this, "soundbank")
, m_okibank(*this, "okibank")
, m_sprites(*this, "sprites")
, m_maincpu(*this, "maincpu")
, m_soundcpu(*this, "soundcpu")
, m_msm(*this, "5205")
, m_upd7759(*this, "7759")
, m_gfxdecode(*this, "gfxdecode")
, m_soundlatch(*this, "soundlatch")
, m_adpcm_select(*this, "adpcm_select")
, m_decrypted_opcodes(*this, "decrypted_opcodes")
{ }
required_shared_ptr<uint16_t> m_textram;
optional_shared_ptr<uint16_t> m_bg0_tileram;
@ -37,7 +41,10 @@ public:
optional_shared_ptr<uint16_t> m_goldnaxeb2_bgpage;
optional_shared_ptr<uint16_t> m_goldnaxeb2_fgpage;
optional_memory_region m_sprites_region;
optional_memory_region m_soundcpu_region;
optional_memory_bank m_soundbank;
optional_memory_bank m_okibank;
optional_device<sega_16bit_sprite_device> m_sprites;
@ -56,11 +63,9 @@ public:
/* video-related */
tilemap_t *m_background;
tilemap_t *m_foreground;
tilemap_t *m_background[2];
tilemap_t *m_foreground[2];
tilemap_t *m_text_layer;
tilemap_t *m_background2;
tilemap_t *m_foreground2;
tilemap_t *m_bg_tilemaps[2];
tilemap_t *m_text_tilemap;
double m_weights[2][3][6];
@ -72,22 +77,15 @@ public:
int m_bg1_trans; // alien syn + sys18
int m_tile_bank1;
int m_tile_bank0;
int m_bg_page[4];
int m_fg_page[4];
int m_tile_bank[2];
int m_bg_page[2][4];
int m_fg_page[2][4];
uint16_t m_datsu_page[4];
int m_bg2_page[4];
int m_fg2_page[4];
int m_old_bg_page[4];
int m_old_fg_page[4];
int m_old_tile_bank1;
int m_old_tile_bank0;
int m_old_bg2_page[4];
int m_old_fg2_page[4];
int m_old_bg_page[2][4];
int m_old_fg_page[2][4];
int m_old_tile_bank[2];
int m_bg_scrollx;
int m_bg_scrolly;
@ -152,10 +150,7 @@ public:
DECLARE_WRITE16_MEMBER(s16bl_fgscrolly_w);
DECLARE_WRITE16_MEMBER(s16bl_bgscrollx_w);
DECLARE_WRITE16_MEMBER(s16bl_bgscrolly_w);
DECLARE_WRITE16_MEMBER(datsu_page0_w);
DECLARE_WRITE16_MEMBER(datsu_page1_w);
DECLARE_WRITE16_MEMBER(datsu_page2_w);
DECLARE_WRITE16_MEMBER(datsu_page3_w);
template<int Page> DECLARE_WRITE16_MEMBER(datsu_page_w);
DECLARE_WRITE16_MEMBER(goldnaxeb2_fgscrollx_w);
DECLARE_WRITE16_MEMBER(goldnaxeb2_bgscrollx_w);
DECLARE_WRITE16_MEMBER(goldnaxeb2_fgscrolly_w);
@ -273,6 +268,7 @@ public:
void mwalkbl_map(address_map &map);
void passht4b_map(address_map &map);
void passshtb_map(address_map &map);
void pcm_map(address_map &map);
void shdancbl_map(address_map &map);
void shdancbl_sound_io_map(address_map &map);
void shdancbl_sound_map(address_map &map);

View File

@ -124,6 +124,12 @@ void sega_segacd_device::segacd_map(address_map &map)
}
void sega_segacd_device::segacd_pcm_map(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0xffff).ram();
}
// the tiles in RAM are 8x8 tiles
// they are referenced in the cell look-up map as either 16x16 or 32x32 tiles (made of 4 / 16 8x8 tiles)
@ -146,7 +152,7 @@ void sega_segacd_device::segacd_map(address_map &map)
16,16, \
SEGACD_NUM_TILES16, \
4, \
{ 0,1,2,3 },
{ STEP4(0,1) },
#define _16x16_END \
8*128 \
};
@ -155,7 +161,7 @@ void sega_segacd_device::segacd_map(address_map &map)
32,32, \
SEGACD_NUM_TILES32, \
4, \
{ 0,1,2,3 },
{ STEP4(0,1) },
#define _32x32_END \
8*512 \
@ -308,6 +314,7 @@ MACHINE_CONFIG_START(sega_segacd_device::device_add_mconfig)
MCFG_DEVICE_ADD("rfsnd", RF5C68, SEGACD_CLOCK) // RF5C164!
MCFG_SOUND_ROUTE( 0, ":lspeaker", 0.50 )
MCFG_SOUND_ROUTE( 1, ":rspeaker", 0.50 )
MCFG_DEVICE_ADDRESS_MAP(0, segacd_pcm_map)
MCFG_NVRAM_ADD_0FILL("backupram")
@ -1065,8 +1072,8 @@ inline uint8_t sega_segacd_device::get_stampmap_16x16_1x1_tile_info_pixel(int xp
int wraparound = segacd_stampsize&1;
int xtile = xpos / (1<<tilesize);
int ytile = ypos / (1<<tilesize);
int xtile = xpos >> tilesize;
int ytile = ypos >> tilesize;
if (wraparound)
{
@ -1103,8 +1110,8 @@ inline uint8_t sega_segacd_device::get_stampmap_32x32_1x1_tile_info_pixel(int xp
int wraparound = segacd_stampsize&1;
int xtile = xpos / (1<<tilesize);
int ytile = ypos / (1<<tilesize);
int xtile = xpos >> tilesize;
int ytile = ypos >> tilesize;
if (wraparound)
{
@ -1141,8 +1148,8 @@ inline uint8_t sega_segacd_device::get_stampmap_16x16_16x16_tile_info_pixel(int
int wraparound = segacd_stampsize&1;
int xtile = xpos / (1<<tilesize);
int ytile = ypos / (1<<tilesize);
int xtile = xpos >> tilesize;
int ytile = ypos >> tilesize;
if (wraparound)
{
@ -1179,8 +1186,8 @@ inline uint8_t sega_segacd_device::get_stampmap_32x32_16x16_tile_info_pixel(int
int wraparound = segacd_stampsize&1;
int xtile = xpos / (1<<tilesize);
int ytile = ypos / (1<<tilesize);
int xtile = xpos >> tilesize;
int ytile = ypos >> tilesize;
if (wraparound)
{

View File

@ -97,6 +97,7 @@ public:
READ16_MEMBER( font_converted_r );
void segacd_map(address_map &map);
void segacd_pcm_map(address_map &map);
protected:
sega_segacd_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);

View File

@ -103,7 +103,7 @@ WRITE16_MEMBER(segas32_state::sonic_level_load_protection)
}
else
{
const uint8_t *ROM = memregion("maincpu")->base();
const uint8_t *ROM = m_maincpu_region->base();
level = *((ROM + LEVEL_ORDER_ARRAY) + (m_system32_workram[CLEARED_LEVELS / 2] * 2) - 1);
level |= *((ROM + LEVEL_ORDER_ARRAY) + (m_system32_workram[CLEARED_LEVELS / 2] * 2) - 2) << 8;
}
@ -153,7 +153,7 @@ WRITE16_MEMBER(segas32_state::brival_protection_w)
};
char ret[32];
int curProtType;
uint8_t *ROM = memregion("maincpu")->base();
uint8_t *ROM = m_maincpu_region->base();
switch (offset)
{

View File

@ -533,10 +533,8 @@ void towns_state::towns_update_palette()
switch(m_video.towns_video_reg[1] & 0x30) // Palette select
{
case 0x00:
m_palette16_0->set_pen_color(entry, r, g, b);
break;
case 0x20:
m_palette16_1->set_pen_color(entry, r, g, b);
m_palette16[(m_video.towns_video_reg[1] & 0x20) >> 5]->set_pen_color(entry, r, g, b);
break;
case 0x10:
case 0x30:
@ -562,10 +560,8 @@ READ8_MEMBER(towns_state::towns_video_fd90_r)
if(m_video.towns_video_reg[1] & 0x10)
pal = m_palette;
else if(m_video.towns_video_reg[1] & 0x20)
pal = m_palette16_1;
else
pal = m_palette16_0;
pal = m_palette16[(m_video.towns_video_reg[1] & 0x20) >> 5];
// if(LOG_VID) logerror("VID: read port %04x\n",offset+0xfd90);
switch(offset)
{
@ -1199,7 +1195,7 @@ void towns_state::towns_crtc_draw_scan_layer_16(bitmap_rgb32 &bitmap,const recta
uint32_t scroll;
int pixel;
int page = 0;
palette_device* pal = (layer == 0) ? m_palette16_0 : m_palette16_1;
palette_device* pal = m_palette16[layer];
bool sphscroll = !(m_video.towns_crtc_reg[28] & (layer ? 0x20 : 0x10));
if(m_video.towns_display_page_sel != 0)

View File

@ -416,33 +416,33 @@ WRITE16_MEMBER(segas32_state::system32_paletteram_w)
READ32_MEMBER(segas32_state::multi32_paletteram_0_r)
{
return common_paletteram_r(space, 0, offset*2+0) |
(common_paletteram_r(space, 0, offset*2+1) << 16);
return common_paletteram_r(space, 0, (offset<<1)|0) |
(common_paletteram_r(space, 0, (offset<<1)|1) << 16);
}
WRITE32_MEMBER(segas32_state::multi32_paletteram_0_w)
{
if (ACCESSING_BITS_0_15)
common_paletteram_w(space, 0, offset*2+0, data, mem_mask);
common_paletteram_w(space, 0, (offset<<1)|0, data, mem_mask);
if (ACCESSING_BITS_16_31)
common_paletteram_w(space, 0, offset*2+1, data >> 16, mem_mask >> 16);
common_paletteram_w(space, 0, (offset<<1)|1, data >> 16, mem_mask >> 16);
}
READ32_MEMBER(segas32_state::multi32_paletteram_1_r)
{
return common_paletteram_r(space, 1, offset*2+0) |
(common_paletteram_r(space, 1, offset*2+1) << 16);
return common_paletteram_r(space, 1, (offset<<1)|0) |
(common_paletteram_r(space, 1, (offset<<1)|1) << 16);
}
WRITE32_MEMBER(segas32_state::multi32_paletteram_1_w)
{
if (ACCESSING_BITS_0_15)
common_paletteram_w(space, 1, offset*2+0, data, mem_mask);
common_paletteram_w(space, 1, (offset<<1)|0, data, mem_mask);
if (ACCESSING_BITS_16_31)
common_paletteram_w(space, 1, offset*2+1, data >> 16, mem_mask >> 16);
common_paletteram_w(space, 1, (offset<<1)|1, data >> 16, mem_mask >> 16);
}
@ -467,8 +467,8 @@ WRITE16_MEMBER(segas32_state::system32_videoram_w)
if (offset < 0x1ff00/2)
{
struct cache_entry *entry;
int page = offset / 0x200;
offset %= 0x200;
int page = offset >> 9;
offset &= 0x1ff;
/* scan the cache for a matching pages */
for (entry = m_cache_head; entry != nullptr; entry = entry->next)
@ -565,7 +565,7 @@ READ16_MEMBER(segas32_state::system32_spriteram_r)
WRITE16_MEMBER(segas32_state::system32_spriteram_w)
{
COMBINE_DATA(&m_system32_spriteram[offset]);
m_spriteram_32bit[offset/2] =
m_spriteram_32bit[offset>>1] =
((m_system32_spriteram[offset | 1] >> 8 ) & 0x000000ff) |
((m_system32_spriteram[offset | 1] << 8 ) & 0x0000ff00) |
((m_system32_spriteram[offset & ~1] << 8 ) & 0x00ff0000) |
@ -575,8 +575,8 @@ WRITE16_MEMBER(segas32_state::system32_spriteram_w)
READ32_MEMBER(segas32_state::multi32_spriteram_r)
{
return m_system32_spriteram[offset*2+0] |
(m_system32_spriteram[offset*2+1] << 16);
return m_system32_spriteram[(offset<<1)|0] |
(m_system32_spriteram[(offset<<1)|1] << 16);
}
@ -584,8 +584,8 @@ WRITE32_MEMBER(segas32_state::multi32_spriteram_w)
{
data = SWAP_HALVES(data);
mem_mask = SWAP_HALVES(mem_mask);
COMBINE_DATA((uint32_t *)&m_system32_spriteram[offset*2]);
m_spriteram_32bit[offset/2] =
COMBINE_DATA((uint32_t *)&m_system32_spriteram[offset<<1]);
m_spriteram_32bit[offset>>1] =
((m_system32_spriteram[offset | 1] >> 8 ) & 0x000000ff) |
((m_system32_spriteram[offset | 1] << 8 ) & 0x0000ff00) |
((m_system32_spriteram[offset & ~1] << 8 ) & 0x00ff0000) |
@ -615,7 +615,7 @@ WRITE32_MEMBER(segas32_state::multi32_mixer_0_w)
{
data = SWAP_HALVES(data);
mem_mask = SWAP_HALVES(mem_mask);
COMBINE_DATA((uint32_t *)&m_mixer_control[0][offset*2]);
COMBINE_DATA((uint32_t *)&m_mixer_control[0][offset<<1]);
}
@ -623,7 +623,7 @@ WRITE32_MEMBER(segas32_state::multi32_mixer_1_w)
{
data = SWAP_HALVES(data);
mem_mask = SWAP_HALVES(mem_mask);
COMBINE_DATA((uint32_t *)&m_mixer_control[1][offset*2]);
COMBINE_DATA((uint32_t *)&m_mixer_control[1][offset<<1]);
}
@ -686,8 +686,8 @@ tilemap_t *segas32_state::find_cache_entry(int page, int bank)
TILE_GET_INFO_MEMBER(segas32_state::get_tile_info)
{
struct segas32_state::cache_entry *entry = (struct segas32_state::cache_entry *)tilemap.user_data();
uint16_t data = m_system32_videoram[(entry->page & 0x7f) * 0x200 + tile_index];
SET_TILE_INFO_MEMBER(0, (entry->bank << 13) + (data & 0x1fff), (data >> 4) & 0x1ff, (data >> 14) & 3);
uint16_t data = m_system32_videoram[((entry->page & 0x7f) << 9) | tile_index];
SET_TILE_INFO_MEMBER(0, (entry->bank << 13) | (data & 0x1fff), (data >> 4) & 0x1ff, (data >> 14) & 3);
}
@ -1201,44 +1201,44 @@ void segas32_state::update_tilemap_text(screen_device &screen, struct segas32_st
pix = (pixels >> 4) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[0] = pix;
pix = (pixels >> 0) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[1] = pix;
pix = (pixels >> 12) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[2] = pix;
pix = (pixels >> 8) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[3] = pix;
pixels = *src++;
pix = (pixels >> 4) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[4] = pix;
pix = (pixels >> 0) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[5] = pix;
pix = (pixels >> 12) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[6] = pix;
pix = (pixels >> 8) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[7] = pix;
dst += bitmap.rowpixels();
@ -1262,44 +1262,44 @@ void segas32_state::update_tilemap_text(screen_device &screen, struct segas32_st
pix = (pixels >> 4) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[0] = pix;
pix = (pixels >> 0) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[-1] = pix;
pix = (pixels >> 12) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[-2] = pix;
pix = (pixels >> 8) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[-3] = pix;
pix = *src++;
pix = (pixels >> 4) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[-4] = pix;
pix = (pixels >> 0) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[-5] = pix;
pix = (pixels >> 12) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[-6] = pix;
pix = (pixels >> 8) & 0x0f;
if (pix)
pix += color;
pix |= color;
dst[-7] = pix;
dst -= bitmap.rowpixels();
@ -1618,8 +1618,7 @@ int segas32_state::draw_one_sprite(uint16_t *data, int xoffs, int yoffs, const r
};
bitmap_ind16 &bitmap = *m_layer_data[(!m_is_multi32 || !(data[3] & 0x0800)) ? MIXER_LAYER_SPRITES_2 : MIXER_LAYER_MULTISPR_2].bitmap;
uint8_t numbanks = memregion("gfx2")->bytes() / 0x400000;
const uint32_t *spritebase = (const uint32_t *)memregion("gfx2")->base();
uint8_t numbanks = m_sprite_region.length() >> 20;
int indirect = data[0] & 0x2000;
int indlocal = data[0] & 0x1000;
@ -1678,7 +1677,7 @@ int segas32_state::draw_one_sprite(uint16_t *data, int xoffs, int yoffs, const r
{
if (numbanks)
bank %= numbanks;
spritedata = spritebase + 0x100000 * bank;
spritedata = &m_sprite_region[bank << 20];
addrmask = 0xfffff;
}

View File

@ -157,69 +157,69 @@ void segas1x_bootleg_state::update_page( )
int all_dirty = 0;
int i, offset;
if (m_old_tile_bank1 != m_tile_bank1)
if (m_old_tile_bank[1] != m_tile_bank[1])
{
all_dirty = 1;
m_old_tile_bank1 = m_tile_bank1;
m_old_tile_bank[1] = m_tile_bank[1];
}
if (m_old_tile_bank0 != m_tile_bank0)
if (m_old_tile_bank[0] != m_tile_bank[0])
{
all_dirty = 1;
m_old_tile_bank0 = m_tile_bank0;
m_old_tile_bank[0] = m_tile_bank[0];
m_text_layer->mark_all_dirty();
}
if (all_dirty)
{
m_background->mark_all_dirty();
m_foreground->mark_all_dirty();
m_background[0]->mark_all_dirty();
m_foreground[0]->mark_all_dirty();
if (m_system18)
{
m_background2->mark_all_dirty();
m_foreground2->mark_all_dirty();
m_background[1]->mark_all_dirty();
m_foreground[1]->mark_all_dirty();
}
}
else {
for (i = 0; i < 4; i++)
{
int page0 = 64 * 32 * i;
if (m_old_bg_page[i] != m_bg_page[i])
if (m_old_bg_page[0][i] != m_bg_page[0][i])
{
m_old_bg_page[i] = m_bg_page[i];
m_old_bg_page[0][i] = m_bg_page[0][i];
for (offset = page0; offset < page0 + 64 * 32; offset++)
{
m_background->mark_tile_dirty(offset);
m_background[0]->mark_tile_dirty(offset);
}
}
if (m_old_fg_page[i] != m_fg_page[i])
if (m_old_fg_page[0][i] != m_fg_page[0][i])
{
m_old_fg_page[i] = m_fg_page[i];
m_old_fg_page[0][i] = m_fg_page[0][i];
for (offset = page0; offset < page0 + 64 * 32; offset++)
{
m_foreground->mark_tile_dirty(offset);
m_foreground[0]->mark_tile_dirty(offset);
}
}
if (m_system18)
{
if (m_old_bg2_page[i] != m_bg2_page[i])
if (m_old_bg_page[1][i] != m_bg_page[1][i])
{
m_old_bg2_page[i] = m_bg2_page[i];
m_old_bg_page[1][i] = m_bg_page[1][i];
for (offset = page0; offset < page0 + 64 * 32; offset++)
{
m_background2->mark_tile_dirty(offset);
m_background[1]->mark_tile_dirty(offset);
}
}
if (m_old_fg2_page[i] != m_fg2_page[i])
if (m_old_fg_page[1][i] != m_fg_page[1][i])
{
m_old_fg2_page[i] = m_fg2_page[i];
m_old_fg_page[1][i] = m_fg_page[1][i];
for (offset = page0; offset < page0 + 64 * 32; offset++)
{
m_foreground2->mark_tile_dirty(offset);
m_foreground[1]->mark_tile_dirty(offset);
}
}
}
@ -229,9 +229,9 @@ void segas1x_bootleg_state::update_page( )
TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg_tile_info)
{
const uint16_t *source = 64 * 32 * m_bg_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index%(64*32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
const uint16_t *source = (m_bg_page[0][tile_index >> 11] << 11) + m_tileram;
int data = source[tile_index & 0x7ff];
int tile_number = (data & 0xfff) | (((data & m_tilebank_switch) ? m_tile_bank[1] : m_tile_bank[0]) << 12);
SET_TILE_INFO_MEMBER(0,
tile_number,
@ -241,9 +241,9 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg_tile_info)
TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg_tile_info)
{
const uint16_t *source = 64 * 32 * m_fg_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index % (64 * 32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
const uint16_t *source = (m_fg_page[0][tile_index >> 11] << 11) + m_tileram;
int data = source[tile_index & 0x7ff];
int tile_number = (data & 0xfff) | (((data & m_tilebank_switch) ? m_tile_bank[1] : m_tile_bank[0]) << 12);
SET_TILE_INFO_MEMBER(0,
tile_number,
@ -253,9 +253,9 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg_tile_info)
TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg2_tile_info)
{
const uint16_t *source = 64 * 32 * m_bg2_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index % (64 * 32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
const uint16_t *source = (m_bg_page[1][tile_index >> 11] << 11) + m_tileram;
int data = source[tile_index & 0x7ff];
int tile_number = (data & 0xfff) | (m_tile_bank[(data & 0x1000) >> 12] << 12);
SET_TILE_INFO_MEMBER(0,
tile_number,
@ -265,9 +265,9 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg2_tile_info)
TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg2_tile_info)
{
const uint16_t *source = 64 * 32 * m_fg2_page[tile_index / (64 * 32)] + m_tileram;
int data = source[tile_index % (64 * 32)];
int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
const uint16_t *source = (m_fg_page[1][tile_index >> 11] << 11) + m_tileram;
int data = source[tile_index & 0x7ff];
int tile_number = (data & 0xfff) | (m_tile_bank[(data & 0x1000) >> 12] << 12);
SET_TILE_INFO_MEMBER(0,
tile_number,
@ -283,30 +283,30 @@ WRITE16_MEMBER(segas1x_bootleg_state::sys16_tileram_w)
if (oldword != m_tileram[offset])
{
int page = offset / (64 * 32);
offset = offset % (64 * 32);
int page = offset >> 11;
offset = offset & 0x7ff;
if (m_bg_page[0] == page) m_background->mark_tile_dirty(offset + 64 * 32 * 0);
if (m_bg_page[1] == page) m_background->mark_tile_dirty(offset + 64 * 32 * 1);
if (m_bg_page[2] == page) m_background->mark_tile_dirty(offset + 64 * 32 * 2);
if (m_bg_page[3] == page) m_background->mark_tile_dirty(offset + 64 * 32 * 3);
if (m_bg_page[0][0] == page) m_background[0]->mark_tile_dirty(offset);
if (m_bg_page[0][1] == page) m_background[0]->mark_tile_dirty(offset | (1 << 11));
if (m_bg_page[0][2] == page) m_background[0]->mark_tile_dirty(offset | (2 << 11));
if (m_bg_page[0][3] == page) m_background[0]->mark_tile_dirty(offset | (3 << 11));
if (m_fg_page[0] == page) m_foreground->mark_tile_dirty(offset + 64 * 32 * 0);
if (m_fg_page[1] == page) m_foreground->mark_tile_dirty(offset + 64 * 32 * 1);
if (m_fg_page[2] == page) m_foreground->mark_tile_dirty(offset + 64 * 32 * 2);
if (m_fg_page[3] == page) m_foreground->mark_tile_dirty(offset + 64 * 32 * 3);
if (m_fg_page[0][0] == page) m_foreground[0]->mark_tile_dirty(offset);
if (m_fg_page[0][1] == page) m_foreground[0]->mark_tile_dirty(offset | (1 << 11));
if (m_fg_page[0][2] == page) m_foreground[0]->mark_tile_dirty(offset | (2 << 11));
if (m_fg_page[0][3] == page) m_foreground[0]->mark_tile_dirty(offset | (3 << 11));
if (m_system18)
{
if (m_bg2_page[0] == page) m_background2->mark_tile_dirty(offset + 64 * 32 * 0);
if (m_bg2_page[1] == page) m_background2->mark_tile_dirty(offset + 64 * 32 * 1);
if (m_bg2_page[2] == page) m_background2->mark_tile_dirty(offset + 64 * 32 * 2);
if (m_bg2_page[3] == page) m_background2->mark_tile_dirty(offset + 64 * 32 * 3);
if (m_bg_page[1][0] == page) m_background[1]->mark_tile_dirty(offset);
if (m_bg_page[1][1] == page) m_background[1]->mark_tile_dirty(offset | (1 << 11));
if (m_bg_page[1][2] == page) m_background[1]->mark_tile_dirty(offset | (2 << 11));
if (m_bg_page[1][3] == page) m_background[1]->mark_tile_dirty(offset | (3 << 11));
if (m_fg2_page[0] == page) m_foreground2->mark_tile_dirty(offset + 64 * 32 * 0);
if (m_fg2_page[1] == page) m_foreground2->mark_tile_dirty(offset + 64 * 32 * 1);
if (m_fg2_page[2] == page) m_foreground2->mark_tile_dirty(offset + 64 * 32 * 2);
if (m_fg2_page[3] == page) m_foreground2->mark_tile_dirty(offset + 64 * 32 * 3);
if (m_fg_page[1][0] == page) m_foreground[1]->mark_tile_dirty(offset);
if (m_fg_page[1][1] == page) m_foreground[1]->mark_tile_dirty(offset | (1 << 11));
if (m_fg_page[1][2] == page) m_foreground[1]->mark_tile_dirty(offset | (2 << 11));
if (m_fg_page[1][3] == page) m_foreground[1]->mark_tile_dirty(offset | (3 << 11));
}
}
}
@ -322,14 +322,14 @@ TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_text_tile_info)
if (!m_shinobl_kludge)
{
SET_TILE_INFO_MEMBER(0,
(tile_number & 0x1ff) + m_tile_bank0 * 0x1000,
(tile_number & 0x1ff) | (m_tile_bank[0] << 12),
(tile_number >> 9) % 8,
0);
}
else
{
SET_TILE_INFO_MEMBER(0,
(tile_number & 0xff) + m_tile_bank0 * 0x1000,
(tile_number & 0xff) | (m_tile_bank[0] << 12),
(tile_number >> 8) % 8,
0);
}
@ -365,17 +365,17 @@ VIDEO_START_MEMBER(segas1x_bootleg_state,system16)
);
if (!m_bg1_trans)
m_background = &machine().tilemap().create(
m_background[0] = &machine().tilemap().create(
*m_gfxdecode, tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
else
m_background = &machine().tilemap().create(
m_background[0] = &machine().tilemap().create(
*m_gfxdecode, tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
m_foreground = &machine().tilemap().create(
m_foreground[0] = &machine().tilemap().create(
*m_gfxdecode, tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
@ -385,12 +385,12 @@ VIDEO_START_MEMBER(segas1x_bootleg_state,system16)
8,8,
40,28 );
if (m_bg1_trans) m_background->set_transparent_pen(0);
m_foreground->set_transparent_pen(0);
if (m_bg1_trans) m_background[0]->set_transparent_pen(0);
m_foreground[0]->set_transparent_pen(0);
m_text_layer->set_transparent_pen(0);
m_tile_bank0 = 0;
m_tile_bank1 = 1;
m_tile_bank[0] = 0;
m_tile_bank[1] = 1;
m_fg_scrollx = 0;
m_fg_scrolly = 0;
@ -421,28 +421,28 @@ VIDEO_START_MEMBER(segas1x_bootleg_state,system18old)
m_bg1_trans = 1;
m_background2 = &machine().tilemap().create(
m_background[1] = &machine().tilemap().create(
*m_gfxdecode, tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_bg2_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
m_foreground2 = &machine().tilemap().create(
m_foreground[1] = &machine().tilemap().create(
*m_gfxdecode, tilemap_get_info_delegate(FUNC(segas1x_bootleg_state::get_fg2_tile_info),this), tilemap_mapper_delegate(FUNC(segas1x_bootleg_state::sys16_bg_map),this),
8,8,
64*2,32*2 );
m_foreground2->set_transparent_pen(0);
m_foreground[1]->set_transparent_pen(0);
if (m_splittab_fg_x)
{
m_foreground ->set_scroll_rows(64);
m_foreground2 ->set_scroll_rows(64);
m_foreground[0] ->set_scroll_rows(64);
m_foreground[1] ->set_scroll_rows(64);
}
if (m_splittab_bg_x)
{
m_background ->set_scroll_rows(64);
m_background2 ->set_scroll_rows(64);
m_background[0] ->set_scroll_rows(64);
m_background[1] ->set_scroll_rows(64);
}
m_textlayer_lo_min = 0;
@ -762,20 +762,20 @@ uint32_t segas1x_bootleg_state::screen_update_system16(screen_device &screen, bi
screen.priority().fill(0, cliprect);
m_background->set_scrollx(0, -320 - m_bg_scrollx);
m_background->set_scrolly(0, -256 + m_bg_scrolly + m_back_yscroll);
m_foreground->set_scrollx(0, -320 - m_fg_scrollx);
m_foreground->set_scrolly(0, -256 + m_fg_scrolly + m_fore_yscroll);
m_background[0]->set_scrollx(0, -320 - m_bg_scrollx);
m_background[0]->set_scrolly(0, -256 + m_bg_scrolly + m_back_yscroll);
m_foreground[0]->set_scrollx(0, -320 - m_fg_scrollx);
m_foreground[0]->set_scrolly(0, -256 + m_fg_scrolly + m_fore_yscroll);
m_text_layer->set_scrollx(0, 0);
m_text_layer->set_scrolly(0, 0 + m_text_yscroll);
/* Background */
m_background->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0x00);
m_background[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0x00);
/* Foreground */
m_foreground->draw(screen, bitmap, cliprect, 0, 0x03);
m_foreground->draw(screen, bitmap, cliprect, 1, 0x07);
m_foreground[0]->draw(screen, bitmap, cliprect, 0, 0x03);
m_foreground[0]->draw(screen, bitmap, cliprect, 1, 0x07);
/* Text Layer */
@ -842,14 +842,14 @@ uint32_t segas1x_bootleg_state::screen_update_system18old(screen_device &screen,
bitmap.fill(0, cliprect);
m_background->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_background->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | 1, 0); //??
m_background->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | 2, 0); //??
m_background->draw(screen, bitmap, cliprect, 1, 0x1);
m_background->draw(screen, bitmap, cliprect, 2, 0x3);
m_background[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_background[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | 1, 0); //??
m_background[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE | 2, 0); //??
m_background[0]->draw(screen, bitmap, cliprect, 1, 0x1);
m_background[0]->draw(screen, bitmap, cliprect, 2, 0x3);
m_foreground->draw(screen, bitmap, cliprect, 0, 0x3);
m_foreground->draw(screen, bitmap, cliprect, 1, 0x7);
m_foreground[0]->draw(screen, bitmap, cliprect, 0, 0x3);
m_foreground[0]->draw(screen, bitmap, cliprect, 1, 0x7);
m_text_layer->draw(screen, bitmap, cliprect, 1, 0x7);
m_text_layer->draw(screen, bitmap, cliprect, 0, 0xf);