mirror of
https://github.com/holub/mame
synced 2025-07-07 19:03:29 +03:00
various Seibu Refactoring,
Air Raid, Street Fight and Dark Mist all basically use very similar video systems (4 layers, 2 of them being ROM based tilemaps, a CLUT prom for each layer which controls colours and transparency handling) this takes some steps towards allowing a common implementation of it.
This commit is contained in:
parent
267701595b
commit
261a277d50
@ -3240,7 +3240,7 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/cabal.cpp",
|
||||
MAME_DIR .. "src/mame/includes/cabal.h",
|
||||
MAME_DIR .. "src/mame/video/cabal.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/cshooter.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/airraid.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/dcon.cpp",
|
||||
MAME_DIR .. "src/mame/includes/dcon.h",
|
||||
MAME_DIR .. "src/mame/video/dcon.cpp",
|
||||
|
@ -2,6 +2,33 @@
|
||||
// copyright-holders:Tomasz Slanina, Angelo Salese, hap
|
||||
/* Cross Shooter (c) 1987 Seibu
|
||||
|
||||
Custom Modules note:
|
||||
|
||||
The Air Raid / Cross Shooter PCB contains 3 custom modules.
|
||||
These modules have not been dumped.
|
||||
|
||||
2 of these are responsible for background layer generation.
|
||||
the 3rd is responsible for sprites.
|
||||
|
||||
Both the tile gfx data, and tilemap layout data are
|
||||
contained within the background modules, none of this is
|
||||
accessible by the CPU (the CPU simply provides a scroll
|
||||
position)
|
||||
|
||||
The sprite modules contain the sprite gfx data.
|
||||
|
||||
The modules also contain the CLUT PROM data for their layer
|
||||
which controls colours and transparency. It is likely
|
||||
each module contains the equivalent logic of a SEI0010BU
|
||||
in order to handle this. This means there is a possibility
|
||||
that the raw data from the ROMs is not exposed on the edge
|
||||
of the modules, only post-lookup data.
|
||||
|
||||
The above information is based off a development board
|
||||
which was unfortunately stripped of all ROMs.
|
||||
|
||||
---
|
||||
|
||||
TS 01.05.2006:
|
||||
|
||||
- added sprites, bgmap reading and few fixes here and there
|
||||
@ -9,7 +36,7 @@
|
||||
|
||||
Haze's notes
|
||||
- video system is very similar to darkmist.cpp
|
||||
|
||||
|
||||
|
||||
Stephh's notes (based on the game Z80 code and some tests) :
|
||||
|
||||
@ -142,10 +169,14 @@ public:
|
||||
m_mainram(*this, "mainram"),
|
||||
m_spriteram(*this, "spriteram"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_generic_paletteram_8(*this, "paletteram"),
|
||||
m_generic_paletteram2_8(*this, "paletteram2"),
|
||||
m_decrypted_opcodes(*this, "decrypted_opcodes") { }
|
||||
m_decrypted_opcodes(*this, "decrypted_opcodes"),
|
||||
m_tx_clut(*this, "tx_clut"),
|
||||
m_fg_clut(*this, "fg_clut"),
|
||||
m_bg_clut(*this, "bg_clut"),
|
||||
m_spr_clut(*this, "spr_clut")
|
||||
{ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<seibu_sound_device> m_seibu_sound;
|
||||
@ -154,11 +185,15 @@ public:
|
||||
optional_shared_ptr<UINT8> m_mainram;
|
||||
optional_shared_ptr<UINT8> m_spriteram;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
required_shared_ptr<UINT8> m_generic_paletteram_8;
|
||||
required_shared_ptr<UINT8> m_generic_paletteram2_8;
|
||||
optional_shared_ptr<UINT8> m_decrypted_opcodes;
|
||||
|
||||
required_region_ptr<UINT8> m_tx_clut;
|
||||
required_region_ptr<UINT8> m_fg_clut;
|
||||
required_region_ptr<UINT8> m_bg_clut;
|
||||
required_region_ptr<UINT8> m_spr_clut;
|
||||
|
||||
TILEMAP_MAPPER_MEMBER(bg_scan);
|
||||
TILEMAP_MAPPER_MEMBER(fg_scan);
|
||||
|
||||
@ -167,9 +202,13 @@ public:
|
||||
TILE_GET_INFO_MEMBER(get_fg_tile_info);
|
||||
tilemap_t *m_fg_tilemap;
|
||||
TILE_GET_INFO_MEMBER(get_cstx_tile_info);
|
||||
tilemap_t *m_txtilemap;
|
||||
tilemap_t *m_tx_tilemap;
|
||||
UINT16 m_hw;
|
||||
|
||||
bitmap_ind16 m_temp_bitmap;
|
||||
|
||||
|
||||
|
||||
DECLARE_WRITE8_MEMBER(cshooter_txram_w);
|
||||
DECLARE_READ8_MEMBER(cshooter_coin_r);
|
||||
DECLARE_WRITE8_MEMBER(cshooter_c500_w);
|
||||
@ -184,6 +223,7 @@ public:
|
||||
DECLARE_PALETTE_INIT(cshooter);
|
||||
DECLARE_MACHINE_RESET(cshooter);
|
||||
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void mix_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8* clut, int base);
|
||||
UINT32 screen_update_airraid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(cshooter_scanline);
|
||||
};
|
||||
@ -191,21 +231,9 @@ public:
|
||||
|
||||
PALETTE_INIT_MEMBER(cshooter_state, cshooter)
|
||||
{
|
||||
const UINT8 *color_prom = memregion("tx_clut")->base();
|
||||
int i;
|
||||
|
||||
// text uses colors 0xc0-0xdf
|
||||
for (i = 0; i < 0x40; i++)
|
||||
palette.set_pen_indirect(i, (color_prom[i] & 0x1f) | 0xc0);
|
||||
|
||||
// rest is still unknown..
|
||||
for (i = 0x40; i < 0x100; i++)
|
||||
palette.set_pen_indirect(i, color_prom[i]);
|
||||
|
||||
// just make a direct copy of palette at the end for debug
|
||||
for (i = 0x100; i < 0x200; i++)
|
||||
palette.set_pen_indirect(i, i-0x100);
|
||||
|
||||
// we use the PROMs in the video drawing code instead because
|
||||
// it controls transparency as well as the colour lookup.
|
||||
// (bit 0x40 set in a CLUT PROM means 'transparent pen')
|
||||
}
|
||||
|
||||
|
||||
@ -230,7 +258,7 @@ TILE_GET_INFO_MEMBER(cshooter_state::get_bg_tile_info)
|
||||
|
||||
SET_TILE_INFO_MEMBER(2,
|
||||
tile,
|
||||
0,
|
||||
attr&0xf,
|
||||
0);
|
||||
}
|
||||
|
||||
@ -244,7 +272,7 @@ TILE_GET_INFO_MEMBER(cshooter_state::get_fg_tile_info)
|
||||
|
||||
SET_TILE_INFO_MEMBER(3,
|
||||
tile,
|
||||
0,
|
||||
attr&0xf,
|
||||
0);
|
||||
}
|
||||
|
||||
@ -262,7 +290,7 @@ TILE_GET_INFO_MEMBER(cshooter_state::get_cstx_tile_info)
|
||||
WRITE8_MEMBER(cshooter_state::cshooter_txram_w)
|
||||
{
|
||||
m_txram[offset] = data;
|
||||
m_txtilemap->mark_tile_dirty(offset/2);
|
||||
m_tx_tilemap->mark_tile_dirty(offset/2);
|
||||
}
|
||||
|
||||
void cshooter_state::video_start()
|
||||
@ -274,10 +302,13 @@ void cshooter_state::video_start()
|
||||
// m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cshooter_state::get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(cshooter_state::fg_scan),this),16,16,256, 512);
|
||||
m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cshooter_state::get_fg_tile_info),this),tilemap_mapper_delegate(FUNC(cshooter_state::fg_scan),this),16,16,256, 128);
|
||||
|
||||
m_fg_tilemap->set_transparent_pen(0);
|
||||
m_tx_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cshooter_state::get_cstx_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,32,32);
|
||||
|
||||
m_txtilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cshooter_state::get_cstx_tile_info),this),TILEMAP_SCAN_ROWS, 8,8,32,32);
|
||||
m_txtilemap->set_transparent_pen(0);
|
||||
// m_fg_tilemap->set_transparent_pen(0);
|
||||
// m_tx_tilemap->set_transparent_pen(0);
|
||||
|
||||
// we do manual mixing using a temp bitmap
|
||||
m_screen->register_screen_bitmap(m_temp_bitmap);
|
||||
}
|
||||
|
||||
void cshooter_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
@ -290,7 +321,10 @@ void cshooter_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
UINT16 tile = (m_spriteram[i]);
|
||||
tile |= (m_spriteram[i + 1] & 0x70) << 4;
|
||||
|
||||
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, tile, 0, 0, 0, m_spriteram[i+3],m_spriteram[i+2],0);
|
||||
UINT16 col = (m_spriteram[i+1] & 0x0f);
|
||||
//col |= (m_spriteram[i+1] & 0x80)<<3;
|
||||
|
||||
m_gfxdecode->gfx(1)->transpen(bitmap,cliprect, tile,col, 0, 0, m_spriteram[i+3],m_spriteram[i+2],0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -301,6 +335,26 @@ void cshooter_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
#define DISPLAY_TXT 8
|
||||
#define DM_GETSCROLL(n) (((m_vregs[(n)]<<1)&0xff) + ((m_vregs[(n)]&0x80)?1:0) +( ((m_vregs[(n)-1]<<4) | (m_vregs[(n)-1]<<12) )&0xff00))
|
||||
|
||||
void cshooter_state::mix_layer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8* clut, int base)
|
||||
{
|
||||
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
|
||||
{
|
||||
UINT16 *dest = &bitmap.pix16(y);
|
||||
UINT16 *src = &m_temp_bitmap.pix16(y);
|
||||
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
|
||||
{
|
||||
UINT8 pix = src[x] & 0xff;
|
||||
UINT8 real = clut[pix];
|
||||
|
||||
if (!(real & 0x40))
|
||||
{
|
||||
dest[x] = (real & 0x3f) + base;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
UINT32 cshooter_state::screen_update_airraid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
UINT16 bgscrolly = DM_GETSCROLL(0x6);
|
||||
@ -312,31 +366,36 @@ UINT32 cshooter_state::screen_update_airraid(screen_device &screen, bitmap_ind16
|
||||
m_fg_tilemap->set_scrollx(0, DM_GETSCROLL(0xa));
|
||||
m_fg_tilemap->set_scrolly(0, DM_GETSCROLL(0xe));
|
||||
|
||||
// set palette (compared to cshooter, r and g are swapped)
|
||||
for (int i = 0; i < 0x100; i++)
|
||||
{
|
||||
int r = m_generic_paletteram_8[i] & 0xf;
|
||||
int g = m_generic_paletteram_8[i] >> 4;
|
||||
int b = m_generic_paletteram2_8[i] & 0xf;
|
||||
|
||||
rgb_t color = rgb_t(pal4bit(r), pal4bit(g), pal4bit(b));
|
||||
m_palette->set_indirect_color(i, color);
|
||||
}
|
||||
|
||||
// draw screen
|
||||
bitmap.fill(0x80, cliprect); // temp
|
||||
|
||||
// m_temp_bitmap.fill(0x00, cliprect);
|
||||
|
||||
if ((m_hw & DISPLAY_BG) == 0x00)
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0);
|
||||
{
|
||||
m_bg_tilemap->draw(screen, m_temp_bitmap, cliprect, 0, 0);
|
||||
mix_layer(screen, bitmap, cliprect, m_bg_clut, 0x80);
|
||||
}
|
||||
|
||||
if ((m_hw & DISPLAY_FG) == 0x00)
|
||||
m_fg_tilemap->draw(screen, bitmap, cliprect, 0,0);
|
||||
{
|
||||
m_fg_tilemap->draw(screen, m_temp_bitmap, cliprect, 0, 0);
|
||||
mix_layer(screen, bitmap, cliprect, m_fg_clut, 0x00);
|
||||
}
|
||||
|
||||
if(m_hw & DISPLAY_SPR)
|
||||
draw_sprites(bitmap, cliprect);
|
||||
if (m_hw & DISPLAY_SPR)
|
||||
{
|
||||
m_temp_bitmap.fill(0x00, cliprect);
|
||||
draw_sprites(m_temp_bitmap, cliprect); // technically this should draw manually because 0x40 in the prom is transparency and our code just assumes it to be 0.
|
||||
mix_layer(screen, bitmap, cliprect, m_spr_clut, 0x40);
|
||||
}
|
||||
|
||||
if (m_hw & DISPLAY_TXT)
|
||||
{
|
||||
m_tx_tilemap->draw(screen, m_temp_bitmap, cliprect, 0, 0);
|
||||
mix_layer(screen, bitmap, cliprect, m_tx_clut, 0xc0);
|
||||
}
|
||||
|
||||
if(m_hw & DISPLAY_TXT)
|
||||
m_txtilemap->draw(screen, bitmap, cliprect, 0,0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -349,10 +408,10 @@ TIMER_DEVICE_CALLBACK_MEMBER(cshooter_state::cshooter_scanline)
|
||||
{
|
||||
int scanline = param;
|
||||
|
||||
if(scanline == 120) // updates scroll resgiters
|
||||
if(scanline == 240) // updates scroll resgiters
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE,0xd7); /* RST 10h */
|
||||
|
||||
if(scanline == 240) // vblank-out irq
|
||||
if(scanline == 250) // vblank-out irq
|
||||
m_maincpu->set_input_line_and_vector(0, HOLD_LINE,0xcf); /* RST 08h */
|
||||
}
|
||||
|
||||
@ -421,8 +480,8 @@ static ADDRESS_MAP_START( airraid_map, AS_PROGRAM, 8, cshooter_state )
|
||||
AM_RANGE(0xc700, 0xc700) AM_WRITE(cshooter_c700_w)
|
||||
// AM_RANGE(0xc801, 0xc801) AM_WRITE(cshooter_c801_w) // see notes
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(cshooter_txram_w) AM_SHARE("txram")
|
||||
AM_RANGE(0xd800, 0xd8ff) AM_RAM AM_SHARE("paletteram")
|
||||
AM_RANGE(0xda00, 0xdaff) AM_RAM AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xd800, 0xd8ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||
AM_RANGE(0xda00, 0xdaff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
|
||||
AM_RANGE(0xdc11, 0xdc11) AM_WRITE(bank_w)
|
||||
AM_RANGE(0xdc00, 0xdc0f) AM_RAM_WRITE(vregs_w) AM_SHARE("vregs")
|
||||
// AM_RANGE(0xdc10, 0xdc10) AM_RAM
|
||||
@ -440,7 +499,7 @@ static ADDRESS_MAP_START( decrypted_opcodes_map, AS_DECRYPTED_OPCODES, 8, cshoot
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( cshooter )
|
||||
static INPUT_PORTS_START( airraid )
|
||||
PORT_START("IN0") /* IN0 (0xc200) */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
|
||||
@ -465,9 +524,9 @@ static INPUT_PORTS_START( cshooter )
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) PORT_IMPULSE(1)
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) PORT_IMPULSE(1)
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
@ -511,8 +570,8 @@ static INPUT_PORTS_START( cshooter )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" )
|
||||
|
||||
PORT_START("COIN") /* COIN (0xc205) */
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1)
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1)
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -521,19 +580,6 @@ static INPUT_PORTS_START( cshooter )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( airraid )
|
||||
PORT_INCLUDE( cshooter )
|
||||
|
||||
PORT_MODIFY("IN2")
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xcf, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
PORT_MODIFY("COIN")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||
PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
static const gfx_layout cshooter_charlayout =
|
||||
@ -552,7 +598,10 @@ static const gfx_layout cshooter_char16layout =
|
||||
16,16, /* 8*8 characters */
|
||||
RGN_FRAC(1,1), /* 512 characters */
|
||||
4, /* 4 bits per pixel */
|
||||
{ 0,8,4,12 },
|
||||
// { 0,8,4,12 },
|
||||
{ 0,4,8,12 },
|
||||
|
||||
// { 12,4,8,0 },
|
||||
{ 0,1,2,3, 16,17,18,19, 512+0,512+1,512+2,512+3, 512+16,512+17,512+18,512+19},
|
||||
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32 },
|
||||
32*32
|
||||
@ -562,9 +611,9 @@ static const gfx_layout cshooter_char16layout =
|
||||
|
||||
static GFXDECODE_START( cshooter )
|
||||
GFXDECODE_ENTRY( "tx_gfx", 0, cshooter_charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "spr_gfx", 0, cshooter_char16layout, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0, cshooter_char16layout, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "fg_gfx", 0, cshooter_char16layout, 0x100, 16 )
|
||||
GFXDECODE_ENTRY( "spr_gfx", 0, cshooter_char16layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0, cshooter_char16layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "fg_gfx", 0, cshooter_char16layout, 0, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
@ -588,12 +637,13 @@ static MACHINE_CONFIG_START( airraid, cshooter_state )
|
||||
MCFG_SCREEN_SIZE(256, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-1-16)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cshooter_state, screen_update_airraid)
|
||||
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 0x100)
|
||||
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", cshooter)
|
||||
MCFG_PALETTE_ADD("palette", 0x200)
|
||||
MCFG_PALETTE_INDIRECT_ENTRIES(0x200)
|
||||
MCFG_PALETTE_INIT_OWNER(cshooter_state, cshooter)
|
||||
|
||||
/* sound hardware */
|
||||
SEIBU_AIRRAID_SOUND_SYSTEM_YM2151_INTERFACE(XTAL_14_31818MHz/4)
|
||||
@ -609,90 +659,6 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
Cross Shooter
|
||||
(C) J K H Corp (Seibu?)
|
||||
|
||||
Seibu Hardware
|
||||
PCB is coloured black and supposed to be proto, but mask roms are present......?
|
||||
|
||||
PCB No. S-0087-011A-0
|
||||
CPU: SHARP LH0080B (Z80B)
|
||||
SND: YM2151, Z80A, SEI80BU 611 787, YM3012, SEI0100BU YM3931
|
||||
RAM: TMM2015 x 7, TMM2063 x 1
|
||||
DIPs: 2 x 8 position
|
||||
CMOS Gate Arrays: SEI0020BU TC17G008AN-0015 (x 3), SEI10040BU TC15G008AP-0048,
|
||||
SEI0030BU TC17G005AN-0026, SEI0060BU TC17G008AN-0024
|
||||
OTHER: SEI0050BU M 6 4 0 00
|
||||
XTAL: 14.318 MHz (near SEI80BU), xx.000 MHz (cant read speed, near SEI0040BU)
|
||||
|
||||
There are 3 BIG custom black packs on the PCB.
|
||||
|
||||
ROMS:
|
||||
Note, all ROMs have official sticker, "(C) SEIBU KAIHATSU INC." and a number.
|
||||
|
||||
1.k19 TMM27256 \
|
||||
2.k20 TMM27512 / Program
|
||||
3.f11 TMM2764 Gfx?
|
||||
4.g8 TMM24256 Mask Sound (Samples?)
|
||||
5.g6 TMM2764 Sound program
|
||||
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( cshootere )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) // Main CPU
|
||||
ROM_LOAD( "1.k19", 0x00000, 0x08000, CRC(71418952) SHA1(9745ca006576381c9e9595d8e42ab276bab80a41) )
|
||||
|
||||
ROM_REGION( 0x10000, "user1", 0 ) // cpu data
|
||||
ROM_LOAD( "2.k20", 0x00000, 0x10000, CRC(5812fe72) SHA1(3b28bff6b62a411d2195bb228952db62ad32ef3d) )
|
||||
|
||||
ROM_REGION( 0x18000, "audiocpu", 0 ) // Sub/Sound CPU
|
||||
ROM_LOAD( "5.6f", 0x00000, 0x02000, CRC(30be398c) SHA1(6c61200ee8888d6270c8cec50423b3b5602c2027) ) // 5.g6
|
||||
ROM_LOAD( "4.7f", 0x10000, 0x08000, CRC(3cd715b4) SHA1(da735fb5d262908ddf7ed7dacdea68899f1723ff) ) // 4.g8
|
||||
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) // TX Layer
|
||||
ROM_LOAD( "3.f11", 0x00000, 0x02000, CRC(67b50a47) SHA1(b1f4aefc9437edbeefba5371149cc08c0b55c741) )
|
||||
|
||||
|
||||
ROM_REGION( 0x100, "tx_clut", 0 ) // taken from parent set (need proper IC locations for this PCB type)
|
||||
ROM_LOAD( "63s281.16a", 0x0000, 0x0100, CRC(0b8b914b) SHA1(8cf4910b846de79661cc187887171ed8ebfd6719) ) // clut
|
||||
|
||||
ROM_REGION( 0x220, "proms", 0 ) // taken from parent set (need proper IC locations for this PCB type)
|
||||
ROM_LOAD( "82s123.7a", 0x0000, 0x0020, CRC(93e2d292) SHA1(af8edd0cfe85f28ede9604cfaf4516d54e5277c9) ) // sprite color related? (not used)
|
||||
ROM_LOAD( "82s129.9s", 0x0020, 0x0100, CRC(cf14ba30) SHA1(3284b6809075756b3c8e07d9705fc7eacb7556f1) ) // timing? (not used)
|
||||
ROM_LOAD( "82s129.4e", 0x0120, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) // timing? (not used)
|
||||
|
||||
/* ### MODULE 1 ### Background generation / graphics */
|
||||
ROM_REGION( 0x40000, "bg_map", 0 )
|
||||
ROM_LOAD16_BYTE( "bg_layouts_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "bg_layouts_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x40000, "bg_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "bg_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "bg_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "bg_clut", 0 )
|
||||
ROM_LOAD( "bg_clut", 0x000, 0x100, NO_DUMP )
|
||||
|
||||
/* ### MODULE 2 ### Foreground generation / graphics */
|
||||
ROM_REGION( 0x40000, "fg_map", 0 )
|
||||
ROM_LOAD16_BYTE( "fg_layouts_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "fg_layouts_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x40000, "fg_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "fg_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "fg_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "fg_clut", 0 )
|
||||
ROM_LOAD( "fg_clut", 0x000, 0x100, NO_DUMP )
|
||||
|
||||
/* ### MODULE 3 ### Sprite graphics */
|
||||
ROM_REGION( 0x40000, "spr_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "sprite_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "sprite_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "spr_clut", 0 )
|
||||
ROM_LOAD( "spr_clut", 0x000, 0x100, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
/*
|
||||
|
||||
Air Raid (Seibu 1987)
|
||||
@ -719,7 +685,7 @@ ROM_START( airraid )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) // Main CPU
|
||||
ROM_LOAD( "1.16j", 0x00000, 0x08000, CRC(7ac2cedf) SHA1(272831f51a2731e067b5aec6dba6bddd3c5350c9) )
|
||||
|
||||
ROM_REGION( 0x10000, "user1", 0 ) // cpu data
|
||||
ROM_REGION( 0x10000, "maindata", 0 ) // cpu data
|
||||
ROM_LOAD( "2.19j", 0x00000, 0x10000, CRC(842ae6c2) SHA1(0468445e4ab6f42bac786f9a258df3972fd1fde9) )
|
||||
|
||||
ROM_REGION( 0x18000, "audiocpu", 0 ) // Sub/Sound CPU
|
||||
@ -729,13 +695,12 @@ ROM_START( airraid )
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) // TX Layer
|
||||
ROM_LOAD( "3.13e", 0x00000, 0x02000, CRC(672ec0e8) SHA1(a11cd90d6494251ceee3bc7c72f4e7b1580b77e2) )
|
||||
|
||||
ROM_REGION( 0x100, "tx_clut", 0 ) // taken from parent set (need proper IC locations for this PCB type)
|
||||
ROM_LOAD( "63s281.16a", 0x0000, 0x0100, CRC(0b8b914b) SHA1(8cf4910b846de79661cc187887171ed8ebfd6719) ) // clut
|
||||
ROM_REGION( 0x100, "tx_clut", 0 ) // taken from cshootert, not verified for this PCB
|
||||
ROM_LOAD( "63s281.d16", 0x0000, 0x0100, CRC(0b8b914b) SHA1(8cf4910b846de79661cc187887171ed8ebfd6719) ) // clut
|
||||
|
||||
ROM_REGION( 0x220, "proms", 0 ) // taken from parent set (need proper IC locations for this PCB type)
|
||||
ROM_LOAD( "82s123.7a", 0x0000, 0x0020, CRC(93e2d292) SHA1(af8edd0cfe85f28ede9604cfaf4516d54e5277c9) ) // sprite color related? (not used)
|
||||
ROM_LOAD( "82s129.9s", 0x0020, 0x0100, CRC(cf14ba30) SHA1(3284b6809075756b3c8e07d9705fc7eacb7556f1) ) // timing? (not used)
|
||||
ROM_LOAD( "82s129.4e", 0x0120, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) // timing? (not used)
|
||||
ROM_REGION( 0x0200, "proms", 0 ) // this PCB type has different proms when compared to the cshootert hardware PCB where they were dumped
|
||||
ROM_LOAD( "pr.c19", 0x0000, 0x0200, NO_DUMP )
|
||||
ROM_LOAD( "6308.a13", 0x0000, 0x0100, NO_DUMP )
|
||||
|
||||
/* ### MODULE 1 ### Background generation / graphics */
|
||||
ROM_REGION( 0x40000, "bg_map", 0 )
|
||||
@ -767,10 +732,92 @@ ROM_END
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
Cross Shooter
|
||||
(C) J K H Corp (Seibu?)
|
||||
|
||||
Seibu Hardware
|
||||
PCB is coloured black
|
||||
|
||||
PCB No. S-0087-011A-0
|
||||
CPU: SHARP LH0080B (Z80B)
|
||||
SND: YM2151, Z80A, SEI80BU 611 787, YM3012, SEI0100BU YM3931
|
||||
RAM: TMM2015 x 7, TMM2063 x 1
|
||||
DIPs: 2 x 8 position
|
||||
CMOS Gate Arrays: SEI0020BU TC17G008AN-0015 (x 3), SEI10040BU TC15G008AP-0048,
|
||||
SEI0030BU TC17G005AN-0026, SEI0060BU TC17G008AN-0024
|
||||
OTHER: SEI0050BU M 6 4 0 00
|
||||
XTAL: 14.318 MHz (near SEI80BU), xx.000 MHz (cant read speed, near SEI0040BU)
|
||||
|
||||
There are 3 BIG custom black packs on the PCB.
|
||||
|
||||
ROMS:
|
||||
Note, all ROMs have official sticker, "(C) SEIBU KAIHATSU INC." and a number.
|
||||
|
||||
1.k19 TMM27256 \
|
||||
2.k20 TMM27512 / Program
|
||||
3.f11 TMM2764 Gfx?
|
||||
4.g8 TMM24256 Mask Sound (Samples?)
|
||||
5.g6 TMM2764 Sound program
|
||||
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( cshooter )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 ) // Main CPU
|
||||
ROM_LOAD( "1.k19", 0x00000, 0x08000, CRC(71418952) SHA1(9745ca006576381c9e9595d8e42ab276bab80a41) )
|
||||
|
||||
ROM_REGION( 0x10000, "maindata", 0 ) // cpu data
|
||||
ROM_LOAD( "2.k20", 0x00000, 0x10000, CRC(5812fe72) SHA1(3b28bff6b62a411d2195bb228952db62ad32ef3d) )
|
||||
|
||||
ROM_REGION( 0x18000, "audiocpu", 0 ) // Sub/Sound CPU
|
||||
ROM_LOAD( "5.6f", 0x00000, 0x02000, CRC(30be398c) SHA1(6c61200ee8888d6270c8cec50423b3b5602c2027) ) // 5.g6
|
||||
ROM_LOAD( "4.7f", 0x10000, 0x08000, CRC(3cd715b4) SHA1(da735fb5d262908ddf7ed7dacdea68899f1723ff) ) // 4.g8
|
||||
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) // TX Layer
|
||||
ROM_LOAD( "3.f11", 0x00000, 0x02000, CRC(67b50a47) SHA1(b1f4aefc9437edbeefba5371149cc08c0b55c741) )
|
||||
|
||||
ROM_REGION( 0x100, "tx_clut", 0 ) // taken from cshootert, not verified for this PCB
|
||||
ROM_LOAD( "63s281.d16", 0x0000, 0x0100, CRC(0b8b914b) SHA1(8cf4910b846de79661cc187887171ed8ebfd6719) ) // clut
|
||||
|
||||
ROM_REGION( 0x0200, "proms", 0 ) // this PCB type has different proms when compared to the cshootert hardware PCB where they were dumped
|
||||
ROM_LOAD( "pr.c19", 0x0000, 0x0200, NO_DUMP )
|
||||
ROM_LOAD( "6308.a13", 0x0000, 0x0100, NO_DUMP )
|
||||
|
||||
/* ### MODULE 1 ### Background generation / graphics */
|
||||
ROM_REGION( 0x40000, "bg_map", 0 )
|
||||
ROM_LOAD16_BYTE( "bg_layouts_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "bg_layouts_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x40000, "bg_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "bg_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "bg_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "bg_clut", 0 )
|
||||
ROM_LOAD( "bg_clut", 0x000, 0x100, NO_DUMP )
|
||||
|
||||
/* ### MODULE 2 ### Foreground generation / graphics */
|
||||
ROM_REGION( 0x40000, "fg_map", 0 )
|
||||
ROM_LOAD16_BYTE( "fg_layouts_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "fg_layouts_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x40000, "fg_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "fg_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "fg_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "fg_clut", 0 )
|
||||
ROM_LOAD( "fg_clut", 0x000, 0x100, NO_DUMP )
|
||||
|
||||
/* ### MODULE 3 ### Sprite graphics */
|
||||
ROM_REGION( 0x40000, "spr_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "sprite_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "sprite_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "spr_clut", 0 )
|
||||
ROM_LOAD( "spr_clut", 0x000, 0x100, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(cshooter_state, cshooter)
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 4, memregion("user1")->base(), 0x4000);
|
||||
membank("bank1")->configure_entries(0, 4, memregion("maindata")->base(), 0x4000);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cshooter_state,cshootere)
|
||||
@ -808,6 +855,6 @@ DRIVER_INIT_MEMBER(cshooter_state,cshootere)
|
||||
|
||||
|
||||
|
||||
GAME( 1987, cshootere, cshooter, airraid_crypt, airraid, cshooter_state, cshootere, ROT270, "Seibu Kaihatsu (J.K.H. license)", "Cross Shooter (Single PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
||||
GAME( 1987, airraid, cshooter, airraid_crypt, airraid, cshooter_state, cshootere, ROT270, "Seibu Kaihatsu", "Air Raid (Single PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
||||
GAME( 1987, cshooter, airraid, airraid_crypt, airraid, cshooter_state, cshootere, ROT270, "Seibu Kaihatsu (J.K.H. license)", "Cross Shooter (Single PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
||||
GAME( 1987, airraid, 0, airraid_crypt, airraid, cshooter_state, cshootere, ROT270, "Seibu Kaihatsu", "Air Raid (Single PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
|
||||
// There's also an undumped International Games version
|
@ -214,9 +214,10 @@ static const gfx_layout tilelayout =
|
||||
|
||||
|
||||
static GFXDECODE_START( darkmist )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16*4 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 16*4 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 16*4 )
|
||||
GFXDECODE_ENTRY( "tx_gfx", 0, charlayout, 0, 16*4 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0, tilelayout, 0, 16*4 )
|
||||
GFXDECODE_ENTRY( "fg_gfx", 0, tilelayout, 0, 16*4 )
|
||||
GFXDECODE_ENTRY( "spr_gfx", 0, tilelayout, 0, 16*4 )
|
||||
GFXDECODE_END
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(darkmist_state::scanline)
|
||||
@ -276,50 +277,77 @@ ROM_START( darkmist )
|
||||
ROM_REGION( 0x8000, "t5182_z80", 0 ) /* Toshiba T5182 external ROM */
|
||||
ROM_LOAD( "dm_17.rom", 0x0000, 0x8000, CRC(7723dcae) SHA1(a0c69e7a7b6fd74f7ed6b9c6419aed94aabcd4b0) )
|
||||
|
||||
ROM_REGION( 0x4000, "gfx1", 0 )
|
||||
ROM_REGION( 0x4000, "tx_gfx", 0 )
|
||||
ROM_LOAD( "dm_13.rom", 0x00000, 0x02000, CRC(38bb38d9) SHA1(d751990166dd3d503c5de7667679b96210061cd1) )
|
||||
ROM_LOAD( "dm_14.rom", 0x02000, 0x02000, CRC(ac5a31f3) SHA1(79083390671062be2eab93cc875a0f86d709a963) )
|
||||
|
||||
ROM_REGION( 0x40000, "gfx2", 0 )
|
||||
ROM_LOAD( "dm_05.rom", 0x10000, 0x10000, CRC(ca79a738) SHA1(66a76ea0d8ecc44f6cc77102303df74f40bf6118) )
|
||||
ROM_LOAD( "dm_01.rom", 0x00000, 0x10000, CRC(652aee6b) SHA1(f4150784f7bd7be83a0041e4c52540aa564062ba) )
|
||||
ROM_LOAD( "dm_06.rom", 0x30000, 0x10000, CRC(9629ed2c) SHA1(453f6a0b12efdadd7fcbe03ad37afb0afa6be051) )
|
||||
ROM_LOAD( "dm_02.rom", 0x20000, 0x10000, CRC(e2dd15aa) SHA1(1f3a6a1e1afabfe9dc47549ef13ae7696302ae88) )
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 )
|
||||
ROM_LOAD( "dm_05.rom", 0x00000, 0x10000, CRC(ca79a738) SHA1(66a76ea0d8ecc44f6cc77102303df74f40bf6118) )
|
||||
ROM_LOAD( "dm_06.rom", 0x10000, 0x10000, CRC(9629ed2c) SHA1(453f6a0b12efdadd7fcbe03ad37afb0afa6be051) )
|
||||
|
||||
ROM_REGION( 0x40000, "gfx3", 0)
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 )
|
||||
ROM_LOAD( "dm_01.rom", 0x00000, 0x10000, CRC(652aee6b) SHA1(f4150784f7bd7be83a0041e4c52540aa564062ba) )
|
||||
ROM_LOAD( "dm_02.rom", 0x10000, 0x10000, CRC(e2dd15aa) SHA1(1f3a6a1e1afabfe9dc47549ef13ae7696302ae88) )
|
||||
|
||||
ROM_REGION( 0x40000, "spr_gfx", 0)
|
||||
ROM_LOAD( "dm_09.rom", 0x00000, 0x10000, CRC(52154b50) SHA1(5ee1a4bcf0752a057b9993b0069d744c35cf55f4) )
|
||||
ROM_LOAD( "dm_11.rom", 0x10000, 0x08000, CRC(3118e2f9) SHA1(dfd946ea1310851f97d31ce58d8280f2d92b0f59) )
|
||||
ROM_LOAD( "dm_10.rom", 0x20000, 0x10000, CRC(34fd52b5) SHA1(c4ee464ed79ec91f993b0f894572c0288f0ad1d4) )
|
||||
ROM_LOAD( "dm_12.rom", 0x30000, 0x08000, CRC(cc4b9839) SHA1(b7e95513d2e06929fed5005caf3bf8c3fba0b597) )
|
||||
|
||||
ROM_REGION( 0x8000, "user1", 0 )
|
||||
ROM_REGION( 0x10000, "bg_map", 0 )
|
||||
/* BG layer map ( 512x64 )*/
|
||||
ROM_LOAD( "dm_03.rom", 0x00000, 0x08000, CRC(60b40c2a) SHA1(c046273b15dab95ea4851c26ce941e580fa1b6ec) )
|
||||
ROM_LOAD16_BYTE( "dm_03.rom", 0x00000, 0x08000, CRC(60b40c2a) SHA1(c046273b15dab95ea4851c26ce941e580fa1b6ec) )
|
||||
ROM_LOAD16_BYTE( "dm_04.rom", 0x00001, 0x08000, CRC(d47b8cd9) SHA1(86eb7a5d8ea63c0c91f455b1b8322cc7b9c4a968) )
|
||||
|
||||
ROM_REGION( 0x8000, "user2", 0 )
|
||||
/* BG layer attr ( 512x64 ) */
|
||||
ROM_LOAD( "dm_04.rom", 0x00000, 0x08000, CRC(d47b8cd9) SHA1(86eb7a5d8ea63c0c91f455b1b8322cc7b9c4a968) )
|
||||
|
||||
ROM_REGION( 0x04000, "user3", 0 )
|
||||
ROM_REGION( 0x08000, "fg_map", 0 )
|
||||
/* FG layer map ( 64x256 ) */
|
||||
ROM_LOAD( "dm_07.rom", 0x00000, 0x04000, CRC(889b1277) SHA1(78405110b9cf1ab988c0cbfdb668498dadb41229) )
|
||||
ROM_LOAD16_BYTE( "dm_07.rom", 0x00000, 0x04000, CRC(889b1277) SHA1(78405110b9cf1ab988c0cbfdb668498dadb41229) )
|
||||
ROM_LOAD16_BYTE( "dm_08.rom", 0x00001, 0x04000, CRC(f76f6f46) SHA1(ce1c67dc8976106b24fee8d3a0b9e5deb016a327) )
|
||||
|
||||
ROM_REGION( 0x04000, "user4", 0 )
|
||||
/* FG layer attr ( 64x256 ) */
|
||||
ROM_LOAD( "dm_08.rom", 0x00000, 0x04000, CRC(f76f6f46) SHA1(ce1c67dc8976106b24fee8d3a0b9e5deb016a327) )
|
||||
|
||||
ROM_REGION( 0x0600, "proms", 0 )
|
||||
/* color lookup tables */
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD( "63s281n.m7", 0x0000, 0x0100, CRC(897ef49f) SHA1(e40c0fb0a68aa91ceaee86e774a428819a4794bb) )
|
||||
ROM_LOAD( "63s281n.d7", 0x0100, 0x0100, CRC(a9975a96) SHA1(3a34569fc68ac15f91e1e90d4e273f844b315091) )
|
||||
ROM_LOAD( "63s281n.f11", 0x0200, 0x0100, CRC(8096b206) SHA1(257004aa3501121d058afa6f64b1129303246758) )
|
||||
ROM_LOAD( "63s281n.j15", 0x0300, 0x0100, CRC(2ea780a4) SHA1(0f8d6791114705e9982f9035f291d2a305b47f0a) )
|
||||
/* unknown */
|
||||
ROM_LOAD( "63s281n.l1", 0x0400, 0x0100, CRC(208d17ca) SHA1(a77d56337bcac8d9a7bc3411239dfb3045e069ec) )
|
||||
ROM_LOAD( "82s129.d11", 0x0500, 0x0100, CRC(866eab0e) SHA1(398ffe2b82b6e2235746fd987d5f5995d7dc8687) )
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD( "63s281n.d7", 0x0000, 0x0100, CRC(a9975a96) SHA1(3a34569fc68ac15f91e1e90d4e273f844b315091) )
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD( "63s281n.f11", 0x0000, 0x0100, CRC(8096b206) SHA1(257004aa3501121d058afa6f64b1129303246758) )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "63s281n.j15", 0x0000, 0x0100, CRC(2ea780a4) SHA1(0f8d6791114705e9982f9035f291d2a305b47f0a) )
|
||||
|
||||
|
||||
ROM_REGION( 0x0200, "proms", 0 ) // unknown PROMs
|
||||
ROM_LOAD( "63s281n.l1", 0x0000, 0x0100, CRC(208d17ca) SHA1(a77d56337bcac8d9a7bc3411239dfb3045e069ec) )
|
||||
ROM_LOAD( "82s129.d11", 0x0100, 0x0100, CRC(866eab0e) SHA1(398ffe2b82b6e2235746fd987d5f5995d7dc8687) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
|
||||
void darkmist_state::decrypt_fgbgtiles(UINT8* rom, int size)
|
||||
{
|
||||
dynamic_buffer buf(0x40000);
|
||||
/* data lines */
|
||||
for (int i = 0;i < size/2;i++)
|
||||
{
|
||||
int w1;
|
||||
|
||||
w1 = (rom[i + 0*size/2] << 8) + rom[i + 1*size/2];
|
||||
|
||||
w1 = BITSWAP16(w1, 9,14,7,2, 6,8,3,15, 10,13,5,12, 0,11,4,1);
|
||||
|
||||
buf[i + 0*size/2] = w1 >> 8;
|
||||
buf[i + 1*size/2] = w1 & 0xff;
|
||||
}
|
||||
|
||||
/* address lines */
|
||||
for (int i = 0;i < size;i++)
|
||||
{
|
||||
rom[i] = buf[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13, 5,4,3,2, 12,11,10,9,8, 1,0, 7,6)];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void darkmist_state::decrypt_gfx()
|
||||
{
|
||||
dynamic_buffer buf(0x40000);
|
||||
@ -327,8 +355,8 @@ void darkmist_state::decrypt_gfx()
|
||||
int size;
|
||||
int i;
|
||||
|
||||
rom = memregion("gfx1")->base();
|
||||
size = memregion("gfx1")->bytes();
|
||||
rom = memregion("tx_gfx")->base();
|
||||
size = memregion("tx_gfx")->bytes();
|
||||
|
||||
/* data lines */
|
||||
for (i = 0;i < size/2;i++)
|
||||
@ -349,32 +377,12 @@ void darkmist_state::decrypt_gfx()
|
||||
rom[i] = buf[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13,12, 3,2,1, 11,10,9,8, 0, 7,6,5,4)];
|
||||
}
|
||||
|
||||
|
||||
rom = memregion("gfx2")->base();
|
||||
size = memregion("gfx2")->bytes();
|
||||
|
||||
/* data lines */
|
||||
for (i = 0;i < size/2;i++)
|
||||
{
|
||||
int w1;
|
||||
|
||||
w1 = (rom[i + 0*size/2] << 8) + rom[i + 1*size/2];
|
||||
|
||||
w1 = BITSWAP16(w1, 9,14,7,2, 6,8,3,15, 10,13,5,12, 0,11,4,1);
|
||||
|
||||
buf[i + 0*size/2] = w1 >> 8;
|
||||
buf[i + 1*size/2] = w1 & 0xff;
|
||||
}
|
||||
|
||||
/* address lines */
|
||||
for (i = 0;i < size;i++)
|
||||
{
|
||||
rom[i] = buf[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14,13, 5,4,3,2, 12,11,10,9,8, 1,0, 7,6)];
|
||||
}
|
||||
decrypt_fgbgtiles(memregion("bg_gfx")->base(), memregion("bg_gfx")->bytes());
|
||||
decrypt_fgbgtiles(memregion("fg_gfx")->base(), memregion("fg_gfx")->bytes());
|
||||
|
||||
|
||||
rom = memregion("gfx3")->base();
|
||||
size = memregion("gfx3")->bytes();
|
||||
rom = memregion("spr_gfx")->base();
|
||||
size = memregion("spr_gfx")->bytes();
|
||||
|
||||
/* data lines */
|
||||
for (i = 0;i < size/2;i++)
|
||||
@ -441,38 +449,24 @@ DRIVER_INIT_MEMBER(darkmist_state,darkmist)
|
||||
membank("bank1")->set_base(&ROM[0x010000]);
|
||||
|
||||
/* adr line swaps */
|
||||
ROM = memregion("user1")->base();
|
||||
len = memregion("user1")->bytes();
|
||||
ROM = memregion("bg_map")->base();
|
||||
len = memregion("bg_map")->bytes();
|
||||
memcpy( &buffer[0], ROM, len );
|
||||
|
||||
for(i=0;i<len;i++)
|
||||
{
|
||||
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,6,5,4,3,2,14,13,12,11,8,7,1,0,10,9)];
|
||||
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,7,6,5,4,3,15,14,13,12,9,8,2,1,11,10, 0)];
|
||||
}
|
||||
|
||||
ROM = memregion("user2")->base();
|
||||
len = memregion("user2")->bytes();
|
||||
|
||||
ROM = memregion("fg_map")->base();
|
||||
len = memregion("fg_map")->bytes();
|
||||
memcpy( &buffer[0], ROM, len );
|
||||
for(i=0;i<len;i++)
|
||||
{
|
||||
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,6,5,4,3,2,14,13,12,11,8,7,1,0,10,9)];
|
||||
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15 ,6,5,4,3,12,11,10,9,14,13,2,1,8,7 ,0 )];
|
||||
}
|
||||
|
||||
ROM = memregion("user3")->base();
|
||||
len = memregion("user3")->bytes();
|
||||
memcpy( &buffer[0], ROM, len );
|
||||
for(i=0;i<len;i++)
|
||||
{
|
||||
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14 ,5,4,3,2,11,10,9,8,13,12,1,0,7,6)];
|
||||
}
|
||||
|
||||
ROM = memregion("user4")->base();
|
||||
len = memregion("user4")->bytes();
|
||||
memcpy( &buffer[0], ROM, len );
|
||||
for(i=0;i<len;i++)
|
||||
{
|
||||
ROM[i]=buffer[BITSWAP24(i,23,22,21,20,19,18,17,16,15,14 ,5,4,3,2,11,10,9,8,13,12,1,0,7,6)];
|
||||
}
|
||||
}
|
||||
|
||||
GAME( 1986, darkmist, 0, darkmist, darkmist, darkmist_state, darkmist, ROT270, "Taito Corporation", "The Lost Castle In Darkmist", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -519,19 +519,19 @@ static const gfx_layout spritelayout =
|
||||
|
||||
|
||||
static GFXDECODE_START( stfight )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x0000, fglayout, 16*4, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0x0000, bglayout, 16*4+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0x0020, bglayout, 16*4+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0x0000, spritelayout, 16*4+16*16+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "tx_gfx", 0x0000, charlayout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "fg_gfx", 0x0000, fglayout, 16*16, 16 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0x0000, bglayout, 16*16+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0x0020, bglayout, 16*16+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "spr_gfx", 0x0000, spritelayout, 16*16+16*16+16*16, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( cshooter )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x0000, cshooter_charlayout,0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x0000, fglayout, 16*4, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0x0000, bglayout, 16*4+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx3", 0x0020, bglayout, 16*4+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "gfx4", 0x0000, spritelayout, 16*4+16*16+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "tx_gfx", 0x0000, cshooter_charlayout,0, 16 )
|
||||
GFXDECODE_ENTRY( "fg_gfx", 0x0000, fglayout, 16*16, 16 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0x0000, bglayout, 16*16+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "bg_gfx", 0x0020, bglayout, 16*16+16*16, 16 )
|
||||
GFXDECODE_ENTRY( "spr_gfx", 0x0000, spritelayout, 16*16+16*16+16*16, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
@ -563,7 +563,7 @@ static MACHINE_CONFIG_START( stfight, stfight_state )
|
||||
MCFG_VIDEO_START_OVERRIDE(stfight_state,stfight)
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", stfight)
|
||||
MCFG_PALETTE_ADD("palette", 16*4+16*16+16*16+16*16)
|
||||
MCFG_PALETTE_ADD("palette", 16*16+16*16+16*16+16*16)
|
||||
MCFG_PALETTE_INDIRECT_ENTRIES(256)
|
||||
MCFG_PALETTE_FORMAT(xxxxBBBBRRRRGGGG)
|
||||
MCFG_PALETTE_INIT_OWNER(stfight_state, stfight)
|
||||
@ -635,45 +635,52 @@ ROM_START( empcity )
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD( "empcityu_68705.3j", 0x0000, 0x0800, CRC(182f7616) SHA1(38b4f23a559ae13f8ca1b974407a2a40fc52879f) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) /* character data */
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) /* character data */
|
||||
ROM_LOAD( "17.2N", 0x0000, 0x2000, CRC(1b3706b5) SHA1(61f069329a7a836523ffc8cce915b0d0129fd896) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 ) /* foreground tile pixel data */
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 ) /* foreground tile pixel data */
|
||||
ROM_LOAD( "7.4C", 0x10000, 0x8000, CRC(2c6caa5f) SHA1(f6893cb87004979ead331897c684f995f850447e) )
|
||||
ROM_LOAD( "8.5C", 0x18000, 0x8000, CRC(e11ded31) SHA1(e3e634ad324d51e52d79dd79e5e6e5697cb8d21f) )
|
||||
ROM_LOAD( "5.2C", 0x00000, 0x8000, CRC(0c099a31) SHA1(dabaf8edc59e4954941cd8176031a358f45a1956) )
|
||||
ROM_LOAD( "6.3C", 0x08000, 0x8000, CRC(3cc77c31) SHA1(13d2324df5a322d499c9959a6bb3a844edaefb45) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", 0 ) /* background tile pixel data */
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 ) /* background tile pixel data */
|
||||
ROM_LOAD( "13.4C", 0x10000, 0x8000, CRC(0ae48dd3) SHA1(ca3d9aeb9f4343c379cef9282e408fbf8aa67d99) )
|
||||
ROM_LOAD( "14.5J", 0x18000, 0x8000, CRC(debf5d76) SHA1(eb18c35166eb5f93be98b3c30c7d909c0a68eada) )
|
||||
ROM_LOAD( "11.2J", 0x00000, 0x8000, CRC(8261ecfe) SHA1(5817f4a0458a949298414fe09c86bbcf50be52f3) )
|
||||
ROM_LOAD( "12.3J", 0x08000, 0x8000, CRC(71137301) SHA1(087a9f401939bc30f1dafa9916e8d8c564595a57) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) /* sprite data */
|
||||
ROM_REGION( 0x20000, "spr_gfx", 0 ) /* sprite data */
|
||||
ROM_LOAD( "20.8W", 0x10000, 0x8000, CRC(8299f247) SHA1(71891f7b1fbfaed14c3854b7f6e10a3ddb4bd479) )
|
||||
ROM_LOAD( "21.9W", 0x18000, 0x8000, CRC(b57dc037) SHA1(69ac79a95ba9ace7c9ca7af480a4a10176be5ace) )
|
||||
ROM_LOAD( "18.6W", 0x00000, 0x8000, CRC(68acd627) SHA1(f98ff9ccb0913711079a2988e8dd08695fb5e107) )
|
||||
ROM_LOAD( "19.7W", 0x08000, 0x8000, CRC(5170a057) SHA1(9222f9febc222fa0c2eead258ad77c857f6d40c8) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", 0 ) /* foreground map data */
|
||||
ROM_REGION( 0x10000, "fg_map", 0 ) /* foreground map data */
|
||||
ROM_LOAD( "9.7C", 0x00000, 0x8000, CRC(8ceaf4fe) SHA1(5698f2ff44c109825b8d9d0b6dd2426624df668b) )
|
||||
ROM_LOAD( "10.8C", 0x08000, 0x8000, CRC(5a1a227a) SHA1(24928ab218824ae1f5380398ceb90dcad525cc08) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", 0 ) /* background map data */
|
||||
ROM_REGION( 0x10000, "bg_map", 0 ) /* background map data */
|
||||
ROM_LOAD( "15.7J", 0x00000, 0x8000, CRC(27a310bc) SHA1(dd30d72bc33b0bf7ddaf3ab730e028f51b20152a) )
|
||||
ROM_LOAD( "16.8J", 0x08000, 0x8000, CRC(3d19ce18) SHA1(38f691a23c96ef672637965c1a13f6d1595f9d51) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "82s129.006", 0x0000, 0x0100, CRC(f9424b5b) SHA1(e3bc23213406d35d54f1221f17f25d433df273a2) ) /* text lookup table */
|
||||
ROM_LOAD( "82s129.002", 0x0100, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD( "82s129.003", 0x0200, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
ROM_LOAD( "82s129.004", 0x0300, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD( "82s129.005", 0x0400, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
ROM_LOAD( "82s129.052", 0x0500, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD( "82s129.066", 0x0600, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.002", 0x0000, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.003", 0x0000, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.004", 0x0000, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.005", 0x0000, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.052", 0x0000, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.066", 0x0000, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
ROM_REGION( 0x08000, "adpcm", 0 ) /* ADPCM voice data */
|
||||
ROM_LOAD( "5J", 0x00000, 0x8000, CRC(1b8d0c07) SHA1(c163ccd2b7ed6c84facc075eb1564ca399f3ba17) )
|
||||
ROM_END
|
||||
@ -690,43 +697,51 @@ ROM_START( empcityu )
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD( "empcityu_68705.3j", 0x0000, 0x0800, CRC(182f7616) SHA1(38b4f23a559ae13f8ca1b974407a2a40fc52879f) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) /* character data */
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) /* character data */
|
||||
ROM_LOAD( "vid.2p", 0x0000, 0x2000, CRC(15593793) SHA1(ac9ca8a0aa0ce3810f45aa41e74d4946ecced245) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 ) /* foreground tile pixel data */
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 ) /* foreground tile pixel data */
|
||||
ROM_LOAD( "7.4C", 0x10000, 0x8000, CRC(2c6caa5f) SHA1(f6893cb87004979ead331897c684f995f850447e) )
|
||||
ROM_LOAD( "8.5C", 0x18000, 0x8000, CRC(e11ded31) SHA1(e3e634ad324d51e52d79dd79e5e6e5697cb8d21f) )
|
||||
ROM_LOAD( "5.2C", 0x00000, 0x8000, CRC(0c099a31) SHA1(dabaf8edc59e4954941cd8176031a358f45a1956) )
|
||||
ROM_LOAD( "6.3C", 0x08000, 0x8000, CRC(3cc77c31) SHA1(13d2324df5a322d499c9959a6bb3a844edaefb45) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", 0 ) /* background tile pixel data */
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 ) /* background tile pixel data */
|
||||
ROM_LOAD( "13.4C", 0x10000, 0x8000, CRC(0ae48dd3) SHA1(ca3d9aeb9f4343c379cef9282e408fbf8aa67d99) )
|
||||
ROM_LOAD( "14.5J", 0x18000, 0x8000, CRC(debf5d76) SHA1(eb18c35166eb5f93be98b3c30c7d909c0a68eada) )
|
||||
ROM_LOAD( "11.2J", 0x00000, 0x8000, CRC(8261ecfe) SHA1(5817f4a0458a949298414fe09c86bbcf50be52f3) )
|
||||
ROM_LOAD( "12.3J", 0x08000, 0x8000, CRC(71137301) SHA1(087a9f401939bc30f1dafa9916e8d8c564595a57) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) /* sprite data */
|
||||
ROM_REGION( 0x20000, "spr_gfx", 0 ) /* sprite data */
|
||||
ROM_LOAD( "20.8W", 0x10000, 0x8000, CRC(8299f247) SHA1(71891f7b1fbfaed14c3854b7f6e10a3ddb4bd479) )
|
||||
ROM_LOAD( "21.9W", 0x18000, 0x8000, CRC(b57dc037) SHA1(69ac79a95ba9ace7c9ca7af480a4a10176be5ace) )
|
||||
ROM_LOAD( "18.6W", 0x00000, 0x8000, CRC(68acd627) SHA1(f98ff9ccb0913711079a2988e8dd08695fb5e107) )
|
||||
ROM_LOAD( "19.7W", 0x08000, 0x8000, CRC(5170a057) SHA1(9222f9febc222fa0c2eead258ad77c857f6d40c8) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", 0 ) /* foreground map data */
|
||||
ROM_REGION( 0x10000, "fg_map", 0 ) /* foreground map data */
|
||||
ROM_LOAD( "9.7C", 0x00000, 0x8000, CRC(8ceaf4fe) SHA1(5698f2ff44c109825b8d9d0b6dd2426624df668b) )
|
||||
ROM_LOAD( "10.8C", 0x08000, 0x8000, CRC(5a1a227a) SHA1(24928ab218824ae1f5380398ceb90dcad525cc08) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", 0 ) /* background map data */
|
||||
ROM_REGION( 0x10000, "bg_map", 0 ) /* background map data */
|
||||
ROM_LOAD( "15.7J", 0x00000, 0x8000, CRC(27a310bc) SHA1(dd30d72bc33b0bf7ddaf3ab730e028f51b20152a) )
|
||||
ROM_LOAD( "16.8J", 0x08000, 0x8000, CRC(3d19ce18) SHA1(38f691a23c96ef672637965c1a13f6d1595f9d51) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "82s129.006", 0x0000, 0x0100, CRC(f9424b5b) SHA1(e3bc23213406d35d54f1221f17f25d433df273a2) ) /* text lookup table */
|
||||
ROM_LOAD( "82s129.002", 0x0100, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD( "82s129.003", 0x0200, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
ROM_LOAD( "82s129.004", 0x0300, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD( "82s129.005", 0x0400, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
ROM_LOAD( "82s129.052", 0x0500, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD( "82s129.066", 0x0600, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.002", 0x0000, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.003", 0x0000, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.004", 0x0000, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.005", 0x0000, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.052", 0x0000, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.066", 0x0000, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", 0 ) /* ADPCM voice data */
|
||||
@ -747,43 +762,51 @@ ROM_START( empcityj )
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD( "empcityj_68705.3j", 0x0000, 0x0800, BAD_DUMP CRC(19bdb0a9) SHA1(6baba9a46d64ae8349c7e9713419141f76a7af96) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) /* character data */
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) /* character data */
|
||||
ROM_LOAD( "17.2N", 0x0000, 0x2000, CRC(1b3706b5) SHA1(61f069329a7a836523ffc8cce915b0d0129fd896) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 ) /* foreground tile pixel data */
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 ) /* foreground tile pixel data */
|
||||
ROM_LOAD( "7.4C", 0x10000, 0x8000, CRC(2c6caa5f) SHA1(f6893cb87004979ead331897c684f995f850447e) )
|
||||
ROM_LOAD( "8.5C", 0x18000, 0x8000, CRC(e11ded31) SHA1(e3e634ad324d51e52d79dd79e5e6e5697cb8d21f) )
|
||||
ROM_LOAD( "5.2C", 0x00000, 0x8000, CRC(0c099a31) SHA1(dabaf8edc59e4954941cd8176031a358f45a1956) )
|
||||
ROM_LOAD( "6.3C", 0x08000, 0x8000, CRC(3cc77c31) SHA1(13d2324df5a322d499c9959a6bb3a844edaefb45) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", 0 ) /* background tile pixel data */
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 ) /* background tile pixel data */
|
||||
ROM_LOAD( "13.4C", 0x10000, 0x8000, CRC(0ae48dd3) SHA1(ca3d9aeb9f4343c379cef9282e408fbf8aa67d99) )
|
||||
ROM_LOAD( "14.5J", 0x18000, 0x8000, CRC(debf5d76) SHA1(eb18c35166eb5f93be98b3c30c7d909c0a68eada) )
|
||||
ROM_LOAD( "11.2J", 0x00000, 0x8000, CRC(8261ecfe) SHA1(5817f4a0458a949298414fe09c86bbcf50be52f3) )
|
||||
ROM_LOAD( "12.3J", 0x08000, 0x8000, CRC(71137301) SHA1(087a9f401939bc30f1dafa9916e8d8c564595a57) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) /* sprite data */
|
||||
ROM_REGION( 0x20000, "spr_gfx", 0 ) /* sprite data */
|
||||
ROM_LOAD( "20.8W", 0x10000, 0x8000, CRC(8299f247) SHA1(71891f7b1fbfaed14c3854b7f6e10a3ddb4bd479) )
|
||||
ROM_LOAD( "21.9W", 0x18000, 0x8000, CRC(b57dc037) SHA1(69ac79a95ba9ace7c9ca7af480a4a10176be5ace) )
|
||||
ROM_LOAD( "18.6W", 0x00000, 0x8000, CRC(68acd627) SHA1(f98ff9ccb0913711079a2988e8dd08695fb5e107) )
|
||||
ROM_LOAD( "19.7W", 0x08000, 0x8000, CRC(5170a057) SHA1(9222f9febc222fa0c2eead258ad77c857f6d40c8) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", 0 ) /* foreground map data */
|
||||
ROM_REGION( 0x10000, "fg_map", 0 ) /* foreground map data */
|
||||
ROM_LOAD( "9.7C", 0x00000, 0x8000, CRC(8ceaf4fe) SHA1(5698f2ff44c109825b8d9d0b6dd2426624df668b) )
|
||||
ROM_LOAD( "10.8C", 0x08000, 0x8000, CRC(5a1a227a) SHA1(24928ab218824ae1f5380398ceb90dcad525cc08) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", 0 ) /* background map data */
|
||||
ROM_REGION( 0x10000, "bg_map", 0 ) /* background map data */
|
||||
ROM_LOAD( "15.7J", 0x00000, 0x8000, CRC(27a310bc) SHA1(dd30d72bc33b0bf7ddaf3ab730e028f51b20152a) )
|
||||
ROM_LOAD( "16.8J", 0x08000, 0x8000, CRC(3d19ce18) SHA1(38f691a23c96ef672637965c1a13f6d1595f9d51) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "82s129.006", 0x0000, 0x0100, CRC(f9424b5b) SHA1(e3bc23213406d35d54f1221f17f25d433df273a2) ) /* text lookup table */
|
||||
ROM_LOAD( "82s129.002", 0x0100, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD( "82s129.003", 0x0200, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
ROM_LOAD( "82s129.004", 0x0300, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD( "82s129.005", 0x0400, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
ROM_LOAD( "82s129.052", 0x0500, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD( "82s129.066", 0x0600, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.002", 0x0000, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.003", 0x0000, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.004", 0x0000, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.005", 0x0000, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.052", 0x0000, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.066", 0x0000, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", 0 ) /* ADPCM voice data */
|
||||
@ -801,43 +824,51 @@ ROM_START( stfight )
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD( "stfight_68705.3j", 0x0000, 0x0800, BAD_DUMP CRC(f4cc50d6) SHA1(2ff62a349b74fa965b5d19615e52b867c04988dc) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) /* character data */
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) /* character data */
|
||||
ROM_LOAD( "17.2N", 0x0000, 0x2000, CRC(1b3706b5) SHA1(61f069329a7a836523ffc8cce915b0d0129fd896) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 ) /* foreground tile pixel data */
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 ) /* foreground tile pixel data */
|
||||
ROM_LOAD( "7.4C", 0x10000, 0x8000, CRC(2c6caa5f) SHA1(f6893cb87004979ead331897c684f995f850447e) )
|
||||
ROM_LOAD( "8.5C", 0x18000, 0x8000, CRC(e11ded31) SHA1(e3e634ad324d51e52d79dd79e5e6e5697cb8d21f) )
|
||||
ROM_LOAD( "5.2C", 0x00000, 0x8000, CRC(0c099a31) SHA1(dabaf8edc59e4954941cd8176031a358f45a1956) )
|
||||
ROM_LOAD( "6.3C", 0x08000, 0x8000, CRC(3cc77c31) SHA1(13d2324df5a322d499c9959a6bb3a844edaefb45) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", 0 ) /* background tile pixel data */
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 ) /* background tile pixel data */
|
||||
ROM_LOAD( "13.4C", 0x10000, 0x8000, CRC(0ae48dd3) SHA1(ca3d9aeb9f4343c379cef9282e408fbf8aa67d99) )
|
||||
ROM_LOAD( "14.5J", 0x18000, 0x8000, CRC(debf5d76) SHA1(eb18c35166eb5f93be98b3c30c7d909c0a68eada) )
|
||||
ROM_LOAD( "11.2J", 0x00000, 0x8000, CRC(8261ecfe) SHA1(5817f4a0458a949298414fe09c86bbcf50be52f3) )
|
||||
ROM_LOAD( "12.3J", 0x08000, 0x8000, CRC(71137301) SHA1(087a9f401939bc30f1dafa9916e8d8c564595a57) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) /* sprite data */
|
||||
ROM_REGION( 0x20000, "spr_gfx", 0 ) /* sprite data */
|
||||
ROM_LOAD( "20.8W", 0x10000, 0x8000, CRC(8299f247) SHA1(71891f7b1fbfaed14c3854b7f6e10a3ddb4bd479) )
|
||||
ROM_LOAD( "21.9W", 0x18000, 0x8000, CRC(b57dc037) SHA1(69ac79a95ba9ace7c9ca7af480a4a10176be5ace) )
|
||||
ROM_LOAD( "18.6W", 0x00000, 0x8000, CRC(68acd627) SHA1(f98ff9ccb0913711079a2988e8dd08695fb5e107) )
|
||||
ROM_LOAD( "19.7W", 0x08000, 0x8000, CRC(5170a057) SHA1(9222f9febc222fa0c2eead258ad77c857f6d40c8) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", 0 ) /* foreground map data */
|
||||
ROM_REGION( 0x10000, "fg_map", 0 ) /* foreground map data */
|
||||
ROM_LOAD( "9.7C", 0x00000, 0x8000, CRC(8ceaf4fe) SHA1(5698f2ff44c109825b8d9d0b6dd2426624df668b) )
|
||||
ROM_LOAD( "10.8C", 0x08000, 0x8000, CRC(5a1a227a) SHA1(24928ab218824ae1f5380398ceb90dcad525cc08) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", 0 ) /* background map data */
|
||||
ROM_REGION( 0x10000, "bg_map", 0 ) /* background map data */
|
||||
ROM_LOAD( "15.7J", 0x00000, 0x8000, CRC(27a310bc) SHA1(dd30d72bc33b0bf7ddaf3ab730e028f51b20152a) )
|
||||
ROM_LOAD( "16.8J", 0x08000, 0x8000, CRC(3d19ce18) SHA1(38f691a23c96ef672637965c1a13f6d1595f9d51) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "82s129.006", 0x0000, 0x0100, CRC(f9424b5b) SHA1(e3bc23213406d35d54f1221f17f25d433df273a2) ) /* text lookup table */
|
||||
ROM_LOAD( "82s129.002", 0x0100, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD( "82s129.003", 0x0200, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
ROM_LOAD( "82s129.004", 0x0300, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD( "82s129.005", 0x0400, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
ROM_LOAD( "82s129.052", 0x0500, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD( "82s129.066", 0x0600, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.002", 0x0000, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.003", 0x0000, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.004", 0x0000, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.005", 0x0000, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.052", 0x0000, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.066", 0x0000, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", 0 ) /* ADPCM voice data */
|
||||
@ -857,43 +888,51 @@ ROM_START( stfighta )
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD( "stfight_68705.3j", 0x0000, 0x0800, BAD_DUMP CRC(f4cc50d6) SHA1(2ff62a349b74fa965b5d19615e52b867c04988dc) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) /* character data */
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) /* character data */
|
||||
ROM_LOAD( "17.2N", 0x0000, 0x2000, CRC(1b3706b5) SHA1(61f069329a7a836523ffc8cce915b0d0129fd896) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 ) /* foreground tile pixel data */
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 ) /* foreground tile pixel data */
|
||||
ROM_LOAD( "7.4C", 0x10000, 0x8000, CRC(2c6caa5f) SHA1(f6893cb87004979ead331897c684f995f850447e) )
|
||||
ROM_LOAD( "8.5C", 0x18000, 0x8000, CRC(e11ded31) SHA1(e3e634ad324d51e52d79dd79e5e6e5697cb8d21f) )
|
||||
ROM_LOAD( "5.2C", 0x00000, 0x8000, CRC(0c099a31) SHA1(dabaf8edc59e4954941cd8176031a358f45a1956) )
|
||||
ROM_LOAD( "6.3C", 0x08000, 0x8000, CRC(3cc77c31) SHA1(13d2324df5a322d499c9959a6bb3a844edaefb45) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", 0 ) /* background tile pixel data */
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 ) /* background tile pixel data */
|
||||
ROM_LOAD( "13.4C", 0x10000, 0x8000, CRC(0ae48dd3) SHA1(ca3d9aeb9f4343c379cef9282e408fbf8aa67d99) )
|
||||
ROM_LOAD( "14.5J", 0x18000, 0x8000, CRC(debf5d76) SHA1(eb18c35166eb5f93be98b3c30c7d909c0a68eada) )
|
||||
ROM_LOAD( "11.2J", 0x00000, 0x8000, CRC(8261ecfe) SHA1(5817f4a0458a949298414fe09c86bbcf50be52f3) )
|
||||
ROM_LOAD( "12.3J", 0x08000, 0x8000, CRC(71137301) SHA1(087a9f401939bc30f1dafa9916e8d8c564595a57) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) /* sprite data */
|
||||
ROM_REGION( 0x20000, "spr_gfx", 0 ) /* sprite data */
|
||||
ROM_LOAD( "20.8W", 0x10000, 0x8000, CRC(8299f247) SHA1(71891f7b1fbfaed14c3854b7f6e10a3ddb4bd479) )
|
||||
ROM_LOAD( "21.9W", 0x18000, 0x8000, CRC(b57dc037) SHA1(69ac79a95ba9ace7c9ca7af480a4a10176be5ace) )
|
||||
ROM_LOAD( "18.6W", 0x00000, 0x8000, CRC(68acd627) SHA1(f98ff9ccb0913711079a2988e8dd08695fb5e107) )
|
||||
ROM_LOAD( "19.7W", 0x08000, 0x8000, CRC(5170a057) SHA1(9222f9febc222fa0c2eead258ad77c857f6d40c8) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", 0 ) /* foreground map data */
|
||||
ROM_REGION( 0x10000, "fg_map", 0 ) /* foreground map data */
|
||||
ROM_LOAD( "9.7C", 0x00000, 0x8000, CRC(8ceaf4fe) SHA1(5698f2ff44c109825b8d9d0b6dd2426624df668b) )
|
||||
ROM_LOAD( "10.8C", 0x08000, 0x8000, CRC(5a1a227a) SHA1(24928ab218824ae1f5380398ceb90dcad525cc08) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", 0 ) /* background map data */
|
||||
ROM_REGION( 0x10000, "bg_map", 0 ) /* background map data */
|
||||
ROM_LOAD( "15.7J", 0x00000, 0x8000, CRC(27a310bc) SHA1(dd30d72bc33b0bf7ddaf3ab730e028f51b20152a) )
|
||||
ROM_LOAD( "16.8J", 0x08000, 0x8000, CRC(3d19ce18) SHA1(38f691a23c96ef672637965c1a13f6d1595f9d51) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "82s129.006", 0x0000, 0x0100, CRC(f9424b5b) SHA1(e3bc23213406d35d54f1221f17f25d433df273a2) ) /* text lookup table */
|
||||
ROM_LOAD( "82s129.002", 0x0100, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD( "82s129.003", 0x0200, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
ROM_LOAD( "82s129.004", 0x0300, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD( "82s129.005", 0x0400, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
ROM_LOAD( "82s129.052", 0x0500, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD( "82s129.066", 0x0600, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.002", 0x0000, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.003", 0x0000, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.004", 0x0000, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.005", 0x0000, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.052", 0x0000, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.066", 0x0000, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", 0 ) /* ADPCM voice data */
|
||||
@ -911,43 +950,51 @@ ROM_START( empcityi ) // very similar to above set
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD( "empcityi_68705.3j", 0x0000, 0x0800, BAD_DUMP CRC(b1817d44) SHA1(395aad763eb054514f658a14c12b92c1b90c02ce) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) /* character data */
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) /* character data */
|
||||
ROM_LOAD( "17.2N", 0x0000, 0x2000, CRC(1b3706b5) SHA1(61f069329a7a836523ffc8cce915b0d0129fd896) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 ) /* foreground tile pixel data */
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 ) /* foreground tile pixel data */
|
||||
ROM_LOAD( "7.4C", 0x10000, 0x8000, CRC(2c6caa5f) SHA1(f6893cb87004979ead331897c684f995f850447e) )
|
||||
ROM_LOAD( "8.5C", 0x18000, 0x8000, CRC(e11ded31) SHA1(e3e634ad324d51e52d79dd79e5e6e5697cb8d21f) )
|
||||
ROM_LOAD( "5.2C", 0x00000, 0x8000, CRC(0c099a31) SHA1(dabaf8edc59e4954941cd8176031a358f45a1956) )
|
||||
ROM_LOAD( "6.3C", 0x08000, 0x8000, CRC(3cc77c31) SHA1(13d2324df5a322d499c9959a6bb3a844edaefb45) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", 0 ) /* background tile pixel data */
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 ) /* background tile pixel data */
|
||||
ROM_LOAD( "13.4C", 0x10000, 0x8000, CRC(0ae48dd3) SHA1(ca3d9aeb9f4343c379cef9282e408fbf8aa67d99) )
|
||||
ROM_LOAD( "14.5J", 0x18000, 0x8000, CRC(debf5d76) SHA1(eb18c35166eb5f93be98b3c30c7d909c0a68eada) )
|
||||
ROM_LOAD( "11.2J", 0x00000, 0x8000, CRC(8261ecfe) SHA1(5817f4a0458a949298414fe09c86bbcf50be52f3) )
|
||||
ROM_LOAD( "12.3J", 0x08000, 0x8000, CRC(71137301) SHA1(087a9f401939bc30f1dafa9916e8d8c564595a57) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) /* sprite data */
|
||||
ROM_REGION( 0x20000, "spr_gfx", 0 ) /* sprite data */
|
||||
ROM_LOAD( "20.8W", 0x10000, 0x8000, CRC(8299f247) SHA1(71891f7b1fbfaed14c3854b7f6e10a3ddb4bd479) )
|
||||
ROM_LOAD( "21.9W", 0x18000, 0x8000, CRC(b57dc037) SHA1(69ac79a95ba9ace7c9ca7af480a4a10176be5ace) )
|
||||
ROM_LOAD( "18.6W", 0x00000, 0x8000, CRC(68acd627) SHA1(f98ff9ccb0913711079a2988e8dd08695fb5e107) )
|
||||
ROM_LOAD( "19.7W", 0x08000, 0x8000, CRC(5170a057) SHA1(9222f9febc222fa0c2eead258ad77c857f6d40c8) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", 0 ) /* foreground map data */
|
||||
ROM_REGION( 0x10000, "fg_map", 0 ) /* foreground map data */
|
||||
ROM_LOAD( "9.7C", 0x00000, 0x8000, CRC(8ceaf4fe) SHA1(5698f2ff44c109825b8d9d0b6dd2426624df668b) )
|
||||
ROM_LOAD( "10.8C", 0x08000, 0x8000, CRC(5a1a227a) SHA1(24928ab218824ae1f5380398ceb90dcad525cc08) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", 0 ) /* background map data */
|
||||
ROM_REGION( 0x10000, "bg_map", 0 ) /* background map data */
|
||||
ROM_LOAD( "15.7J", 0x00000, 0x8000, CRC(27a310bc) SHA1(dd30d72bc33b0bf7ddaf3ab730e028f51b20152a) )
|
||||
ROM_LOAD( "16.8J", 0x08000, 0x8000, CRC(3d19ce18) SHA1(38f691a23c96ef672637965c1a13f6d1595f9d51) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "82s129.006", 0x0000, 0x0100, CRC(f9424b5b) SHA1(e3bc23213406d35d54f1221f17f25d433df273a2) ) /* text lookup table */
|
||||
ROM_LOAD( "82s129.002", 0x0100, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD( "82s129.003", 0x0200, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
ROM_LOAD( "82s129.004", 0x0300, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD( "82s129.005", 0x0400, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
ROM_LOAD( "82s129.052", 0x0500, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD( "82s129.066", 0x0600, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.002", 0x0000, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.003", 0x0000, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.004", 0x0000, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.005", 0x0000, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.052", 0x0000, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.066", 0x0000, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", 0 ) /* ADPCM voice data */
|
||||
@ -965,43 +1012,51 @@ ROM_START( stfightgb )
|
||||
ROM_REGION( 0x0800, "mcu", 0 )
|
||||
ROM_LOAD( "stfightgb_68705.3J", 0x0000, 0x0800, BAD_DUMP CRC(3b1b2660) SHA1(8d5d853a0861ff9cdea27eb3588586b441cc77b1) ) //hand-crafted, to be dumped
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) /* character data */
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) /* character data */
|
||||
ROM_LOAD( "17.2N", 0x0000, 0x2000, CRC(1b3706b5) SHA1(61f069329a7a836523ffc8cce915b0d0129fd896) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", 0 ) /* foreground tile pixel data */
|
||||
ROM_REGION( 0x20000, "fg_gfx", 0 ) /* foreground tile pixel data */
|
||||
ROM_LOAD( "7.4C", 0x10000, 0x8000, CRC(2c6caa5f) SHA1(f6893cb87004979ead331897c684f995f850447e) )
|
||||
ROM_LOAD( "8.5C", 0x18000, 0x8000, CRC(e11ded31) SHA1(e3e634ad324d51e52d79dd79e5e6e5697cb8d21f) )
|
||||
ROM_LOAD( "5.2C", 0x00000, 0x8000, CRC(0c099a31) SHA1(dabaf8edc59e4954941cd8176031a358f45a1956) )
|
||||
ROM_LOAD( "6.3C", 0x08000, 0x8000, CRC(3cc77c31) SHA1(13d2324df5a322d499c9959a6bb3a844edaefb45) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", 0 ) /* background tile pixel data */
|
||||
ROM_REGION( 0x20000, "bg_gfx", 0 ) /* background tile pixel data */
|
||||
ROM_LOAD( "13.4C", 0x10000, 0x8000, CRC(0ae48dd3) SHA1(ca3d9aeb9f4343c379cef9282e408fbf8aa67d99) )
|
||||
ROM_LOAD( "14.5J", 0x18000, 0x8000, CRC(debf5d76) SHA1(eb18c35166eb5f93be98b3c30c7d909c0a68eada) )
|
||||
ROM_LOAD( "11.2J", 0x00000, 0x8000, CRC(8261ecfe) SHA1(5817f4a0458a949298414fe09c86bbcf50be52f3) )
|
||||
ROM_LOAD( "12.3J", 0x08000, 0x8000, CRC(71137301) SHA1(087a9f401939bc30f1dafa9916e8d8c564595a57) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) /* sprite data */
|
||||
ROM_REGION( 0x20000, "spr_gfx", 0 ) /* sprite data */
|
||||
ROM_LOAD( "20.8W", 0x10000, 0x8000, CRC(8299f247) SHA1(71891f7b1fbfaed14c3854b7f6e10a3ddb4bd479) )
|
||||
ROM_LOAD( "21.9W", 0x18000, 0x8000, CRC(b57dc037) SHA1(69ac79a95ba9ace7c9ca7af480a4a10176be5ace) )
|
||||
ROM_LOAD( "18.6W", 0x00000, 0x8000, CRC(68acd627) SHA1(f98ff9ccb0913711079a2988e8dd08695fb5e107) )
|
||||
ROM_LOAD( "19.7W", 0x08000, 0x8000, CRC(5170a057) SHA1(9222f9febc222fa0c2eead258ad77c857f6d40c8) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", 0 ) /* foreground map data */
|
||||
ROM_REGION( 0x10000, "fg_map", 0 ) /* foreground map data */
|
||||
ROM_LOAD( "9.7C", 0x00000, 0x8000, CRC(8ceaf4fe) SHA1(5698f2ff44c109825b8d9d0b6dd2426624df668b) )
|
||||
ROM_LOAD( "10.8C", 0x08000, 0x8000, CRC(5a1a227a) SHA1(24928ab218824ae1f5380398ceb90dcad525cc08) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", 0 ) /* background map data */
|
||||
ROM_REGION( 0x10000, "bg_map", 0 ) /* background map data */
|
||||
ROM_LOAD( "15.7J", 0x00000, 0x8000, CRC(27a310bc) SHA1(dd30d72bc33b0bf7ddaf3ab730e028f51b20152a) )
|
||||
ROM_LOAD( "16.8J", 0x08000, 0x8000, CRC(3d19ce18) SHA1(38f691a23c96ef672637965c1a13f6d1595f9d51) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_REGION( 0x0100, "tx_clut", 0 )
|
||||
ROM_LOAD( "82s129.006", 0x0000, 0x0100, CRC(f9424b5b) SHA1(e3bc23213406d35d54f1221f17f25d433df273a2) ) /* text lookup table */
|
||||
ROM_LOAD( "82s129.002", 0x0100, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD( "82s129.003", 0x0200, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
ROM_LOAD( "82s129.004", 0x0300, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD( "82s129.005", 0x0400, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
ROM_LOAD( "82s129.052", 0x0500, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD( "82s129.066", 0x0600, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0100, "fg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.002", 0x0000, 0x0100, CRC(c883d49b) SHA1(e84900ccf6f27e5043e43c0d85ea1e4eee7e52d3) ) /* fg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.003", 0x0000, 0x0100, CRC(af81882a) SHA1(b1008c991bd8d1157b3479e465ab286c70418b58) )
|
||||
|
||||
ROM_REGION( 0x0100, "bg_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.004", 0x0000, 0x0100, CRC(1831ce7c) SHA1(57afbee9225f0efd63895a5f522e96dc87ca2616) ) /* bg lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.005", 0x0000, 0x0100, CRC(96cb6293) SHA1(1dcdeaa995e6ffa3753b742842c5ffe0f68ef8cd) )
|
||||
|
||||
ROM_REGION( 0x0100, "spr_clut", 0 )
|
||||
ROM_LOAD_NIB_HIGH( "82s129.052", 0x0000, 0x0100, CRC(3d915ffc) SHA1(921be6d5e5fc0fdee9c9f545c1c4a0c334e9844c) ) /* sprite lookup table */
|
||||
ROM_LOAD_NIB_LOW( "82s129.066", 0x0000, 0x0100, CRC(51e8832f) SHA1(ed8c00559e7a02bb8c11861d747c8c64c01b7437) )
|
||||
|
||||
ROM_REGION( 0x0800, "proms", 0 )
|
||||
ROM_LOAD( "82s129.015", 0x0700, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) /* timing? (not used) */
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", 0 ) /* ADPCM voice data */
|
||||
@ -1056,12 +1111,11 @@ Sound processor - Z80 6MHz (5.897MHz)
|
||||
2 x - YM2203C
|
||||
|
||||
|
||||
The game data seems to be small. There may be graphics
|
||||
data in the custom SIPs. I am not sure though.
|
||||
See airraid.cpp for notes about custom modules
|
||||
|
||||
*/
|
||||
|
||||
ROM_START( cshooter )
|
||||
ROM_START( cshootert )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) // Main CPU
|
||||
ROM_LOAD( "r1.4u", 0x00000, 0x08000, CRC(fbe8c518) SHA1(bff8319f4892e6d06f1c7a679f67dc8407279cfa) )
|
||||
ROM_LOAD( "r2.2u", 0x10000, 0x10000, CRC(5ddf9f4e) SHA1(69e4d422ca272bf2e9f00edbe7d23760485fdfe6) )
|
||||
@ -1069,32 +1123,48 @@ ROM_START( cshooter )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 ) // Sub/Sound CPU
|
||||
ROM_LOAD( "r4.5c", 0x00000, 0x08000, CRC(84fed017) SHA1(9a564c9379eb48569cfba48562889277991864d8) )
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", ROMREGION_ERASEFF ) /* ADPCM voice data */
|
||||
|
||||
ROM_REGION( 0x0800, "mcu", 0 ) /* 2k for the microcontroller */
|
||||
ROM_LOAD( "crshooter.3j", 0x0000, 0x0800, CRC(aae61ce7) SHA1(bb2b9887ec73a5b82604b9b64c533c2242d20d0f) )
|
||||
|
||||
ROM_REGION( 0x02000, "gfx1", 0 ) // TX Layer
|
||||
ROM_REGION( 0x02000, "tx_gfx", 0 ) // TX Layer
|
||||
ROM_LOAD( "r3.11a", 0x00000, 0x02000, CRC(67b50a47) SHA1(b1f4aefc9437edbeefba5371149cc08c0b55c741) )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx2", ROMREGION_ERASEFF ) // foreground tiles
|
||||
ROM_LOAD( "graphics.14c", 0x00000, 0x10000, NO_DUMP )
|
||||
ROM_LOAD( "graphics.16c", 0x10000, 0x10000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "tx_clut", 0 )
|
||||
ROM_LOAD( "63s281.16a", 0x0000, 0x0100, CRC(0b8b914b) SHA1(8cf4910b846de79661cc187887171ed8ebfd6719) ) // clut
|
||||
|
||||
ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASEFF ) // background tiles
|
||||
/* ### MODULE 1 ### Background generation / graphics */
|
||||
ROM_REGION( 0x40000, "bg_map", 0 )
|
||||
ROM_LOAD16_BYTE( "bg_layouts_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "bg_layouts_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x40000, "bg_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "bg_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "bg_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "bg_clut", 0 )
|
||||
ROM_LOAD( "bg_clut", 0x000, 0x100, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x20000, "gfx4", 0 ) // sprites
|
||||
ROM_LOAD( "graphics.1a", 0x00000, 0x20000, NO_DUMP )
|
||||
/* ### MODULE 2 ### Foreground generation / graphics */
|
||||
ROM_REGION( 0x40000, "fg_map", 0 )
|
||||
ROM_LOAD16_BYTE( "fg_layouts_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "fg_layouts_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x40000, "fg_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "fg_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "fg_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "fg_clut", 0 )
|
||||
ROM_LOAD( "fg_clut", 0x000, 0x100, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx5", ROMREGION_ERASEFF ) /* foreground map data */
|
||||
|
||||
ROM_REGION( 0x10000, "gfx6", ROMREGION_ERASEFF ) /* background map data */
|
||||
|
||||
ROM_REGION( 0x08000, "adpcm", ROMREGION_ERASEFF ) /* ADPCM voice data */
|
||||
/* ### MODULE 3 ### Sprite graphics */
|
||||
ROM_REGION( 0x40000, "spr_gfx", 0 )
|
||||
ROM_LOAD16_BYTE( "sprite_tiles_even", 0x00000, 0x20000, NO_DUMP )
|
||||
ROM_LOAD16_BYTE( "sprite_tiles_odd", 0x00001, 0x20000, NO_DUMP )
|
||||
ROM_REGION( 0x100, "spr_clut", 0 )
|
||||
ROM_LOAD( "spr_clut", 0x000, 0x100, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x820, "proms", 0 )
|
||||
ROM_LOAD( "63s281.16a", 0x0000, 0x0100, CRC(0b8b914b) SHA1(8cf4910b846de79661cc187887171ed8ebfd6719) ) // clut
|
||||
ROM_LOAD( "82s129.9s", 0x0500, 0x0100, CRC(cf14ba30) SHA1(3284b6809075756b3c8e07d9705fc7eacb7556f1) ) // timing? (not used)
|
||||
ROM_LOAD( "82s129.4e", 0x0600, 0x0100, CRC(0eaf5158) SHA1(bafd4108708f66cd7b280e47152b108f3e254fc9) ) // timing? (not used)
|
||||
ROM_LOAD( "82s123.7a", 0x0800, 0x0020, CRC(93e2d292) SHA1(af8edd0cfe85f28ede9604cfaf4516d54e5277c9) ) // sprite color related? (not used)
|
||||
ROM_LOAD( "82s123.7a", 0x0800, 0x0020, CRC(93e2d292) SHA1(af8edd0cfe85f28ede9604cfaf4516d54e5277c9) ) // ? (not used)
|
||||
ROM_END
|
||||
|
||||
// Note: Marked MACHINE_IMPERFECT_SOUND due to YM2203 clock issue
|
||||
@ -1106,6 +1176,5 @@ GAME( 1986, stfight, empcity, stfight, stfight, stfight_state, stfight, ROT0,
|
||||
GAME( 1986, stfighta, empcity, stfight, stfight, stfight_state, stfight, ROT0, "Seibu Kaihatsu", "Street Fight (bootleg?)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1986, stfightgb,empcity, stfight, stfight, stfight_state, stfight, ROT0, "Seibu Kaihatsu (Tuning license)", "Street Fight (Germany - Benelux)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
|
||||
|
||||
/* Cross Shooter runs on a slightly modified PCB, with a different text tilemap and gfx blobs (see also cshooter.c) */
|
||||
GAME( 1987, cshooter, 0, cshooter, cshooter, stfight_state, cshooter, ROT270, "Seibu Kaihatsu (Taito license)", "Cross Shooter (not encrypted)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
/* Cross Shooter runs on a slightly modified PCB, with a different text tilemap and gfx blobs (see also airraid.c) */
|
||||
GAME( 1987, cshootert, airraid, cshooter, cshooter, stfight_state, cshooter, ROT270, "Seibu Kaihatsu (Taito license)", "Cross Shooter (2 PCB Stack)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -47,6 +47,7 @@ public:
|
||||
DECLARE_PALETTE_INIT(darkmist);
|
||||
|
||||
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
void decrypt_fgbgtiles(UINT8* rgn, int size);
|
||||
void decrypt_gfx();
|
||||
void decrypt_snd();
|
||||
|
||||
|
@ -10288,7 +10288,7 @@ trivrus // 2009 AGT. Trivia R Us
|
||||
|
||||
@source:cshooter.cpp
|
||||
airraid // (c) 1987 Seibu Kaihatsu
|
||||
cshootere // (c) 1987 JKH (bootleg)
|
||||
cshooter // (c) 1987 JKH (bootleg)
|
||||
|
||||
@source:csplayh5.cpp
|
||||
bikiniko // (c) 1999
|
||||
@ -33864,7 +33864,7 @@ st_ohla //
|
||||
st_vulkn //
|
||||
|
||||
@source:stfight.cpp
|
||||
cshooter // (c) 1987 Taito
|
||||
cshootert // (c) 1987 Taito
|
||||
empcity // (c) 1986 Seibu Kaihatsu (bootleg?)
|
||||
empcityi // (c) 1986 Seibu Kaihatsu (Eurobed license)
|
||||
empcityj // (c) 1986 Taito Corporation (Japan)
|
||||
|
@ -17,8 +17,9 @@ TILE_GET_INFO_MEMBER(darkmist_state::get_bgtile_info)
|
||||
{
|
||||
int code,attr,pal;
|
||||
|
||||
code=memregion("user1")->base()[tile_index]; /* TTTTTTTT */
|
||||
attr=memregion("user2")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
|
||||
code=memregion("bg_map")->base()[tile_index*2]; /* TTTTTTTT */
|
||||
attr=memregion("bg_map")->base()[(tile_index*2)+1]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
|
||||
|
||||
code+=(attr&3)<<8;
|
||||
pal=(attr>>4);
|
||||
|
||||
@ -32,17 +33,15 @@ TILE_GET_INFO_MEMBER(darkmist_state::get_fgtile_info)
|
||||
{
|
||||
int code,attr,pal;
|
||||
|
||||
code=memregion("user3")->base()[tile_index]; /* TTTTTTTT */
|
||||
attr=memregion("user4")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
|
||||
pal=attr>>4;
|
||||
code = memregion("fg_map")->base()[tile_index*2]; /* TTTTTTTT */
|
||||
attr = memregion("fg_map")->base()[(tile_index*2)+1]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
|
||||
|
||||
code+=(attr&3)<<8;
|
||||
|
||||
code+=0x400;
|
||||
pal=attr>>4;
|
||||
|
||||
pal+=16;
|
||||
|
||||
SET_TILE_INFO_MEMBER(1,
|
||||
SET_TILE_INFO_MEMBER(2,
|
||||
code,
|
||||
pal,
|
||||
0);
|
||||
@ -68,19 +67,31 @@ TILE_GET_INFO_MEMBER(darkmist_state::get_txttile_info)
|
||||
|
||||
PALETTE_INIT_MEMBER(darkmist_state, darkmist)
|
||||
{
|
||||
const UINT8 *color_prom = memregion("proms")->base();
|
||||
const UINT8 *bg_clut = memregion("bg_clut")->base();
|
||||
const UINT8 *fg_clut = memregion("fg_clut")->base();
|
||||
const UINT8 *spr_clut = memregion("spr_clut")->base();
|
||||
const UINT8 *tx_clut = memregion("tx_clut")->base();
|
||||
|
||||
palette.set_indirect_color(0x100, rgb_t::black);
|
||||
|
||||
for (int i = 0; i < 0x400; i++)
|
||||
{
|
||||
int ctabentry;
|
||||
UINT8 clut = 0;
|
||||
|
||||
if (color_prom[i] & 0x40)
|
||||
switch (i & 0x300)
|
||||
{
|
||||
case 0x000: clut = bg_clut[i&0xff]; break;
|
||||
case 0x100: clut = fg_clut[i&0xff]; break;
|
||||
case 0x200: clut = spr_clut[i&0xff]; break;
|
||||
case 0x300: clut = tx_clut[i&0xff]; break;
|
||||
}
|
||||
|
||||
if (clut & 0x40) // 0x40 indicates non-transparent
|
||||
ctabentry = 0x100;
|
||||
else
|
||||
{
|
||||
ctabentry = (color_prom[i] & 0x3f);
|
||||
ctabentry = (clut & 0x3f);
|
||||
|
||||
switch (i & 0x300)
|
||||
{
|
||||
@ -156,7 +167,7 @@ UINT32 darkmist_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
|
||||
palette+=32;
|
||||
|
||||
|
||||
m_gfxdecode->gfx(2)->transpen(
|
||||
m_gfxdecode->gfx(3)->transpen(
|
||||
bitmap,cliprect,
|
||||
tile,
|
||||
palette,
|
||||
|
@ -34,35 +34,41 @@
|
||||
|
||||
PALETTE_INIT_MEMBER(stfight_state, stfight)
|
||||
{
|
||||
const UINT8 *color_prom = memregion("proms")->base();
|
||||
UINT8 *color_prom = memregion("tx_clut")->base();
|
||||
int i;
|
||||
|
||||
/* text uses colors 0xc0-0xcf */
|
||||
for (i = 0; i < 0x40; i++)
|
||||
/* text uses colors 0xc0-0xff */
|
||||
for (i = 0; i < 0x100; i++)
|
||||
{
|
||||
UINT8 ctabentry = (color_prom[i] & 0x0f) | 0xc0;
|
||||
UINT8 ctabentry = (color_prom[i] & 0x3f) | 0xc0;
|
||||
palette.set_pen_indirect(i, ctabentry);
|
||||
}
|
||||
|
||||
color_prom = memregion("fg_clut")->base();
|
||||
|
||||
/* fg uses colors 0x40-0x7f */
|
||||
for (i = 0x40; i < 0x140; i++)
|
||||
for (i = 0x00; i < 0x100; i++)
|
||||
{
|
||||
UINT8 ctabentry = (color_prom[i + 0x1c0] & 0x0f) | ((color_prom[i + 0x0c0] & 0x03) << 4) | 0x40;
|
||||
palette.set_pen_indirect(i, ctabentry);
|
||||
UINT8 ctabentry = (color_prom[i] & 0x3f) | 0x40;
|
||||
palette.set_pen_indirect(i+0x100, ctabentry);
|
||||
}
|
||||
|
||||
color_prom = memregion("bg_clut")->base();
|
||||
|
||||
/* bg uses colors 0-0x3f */
|
||||
for (i = 0x140; i < 0x240; i++)
|
||||
for (i = 0x000; i < 0x100; i++)
|
||||
{
|
||||
UINT8 ctabentry = (color_prom[i + 0x2c0] & 0x0f) | ((color_prom[i + 0x1c0] & 0x03) << 4);
|
||||
palette.set_pen_indirect(i, ctabentry);
|
||||
UINT8 ctabentry = (color_prom[i] & 0x3f);
|
||||
palette.set_pen_indirect(i+0x200, ctabentry);
|
||||
}
|
||||
|
||||
/* bg uses colors 0x80-0xbf */
|
||||
for (i = 0x240; i < 0x340; i++)
|
||||
color_prom = memregion("spr_clut")->base();
|
||||
|
||||
/* spr uses colors 0x80-0xbf */
|
||||
for (i = 0x000; i < 0x100; i++)
|
||||
{
|
||||
UINT8 ctabentry = (color_prom[i + 0x3c0] & 0x0f) | ((color_prom[i + 0x2c0] & 0x03) << 4) | 0x80;
|
||||
palette.set_pen_indirect(i, ctabentry);
|
||||
UINT8 ctabentry = (color_prom[i] & 0x3f) | 0x80;
|
||||
palette.set_pen_indirect(i+0x300, ctabentry);
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,7 +88,7 @@ TILEMAP_MAPPER_MEMBER(stfight_state::fg_scan)
|
||||
|
||||
TILE_GET_INFO_MEMBER(stfight_state::get_fg_tile_info)
|
||||
{
|
||||
UINT8 *fgMap = memregion("gfx5")->base();
|
||||
UINT8 *fgMap = memregion("fg_map")->base();
|
||||
int attr,tile_base;
|
||||
|
||||
attr = fgMap[0x8000+tile_index];
|
||||
@ -104,7 +110,7 @@ TILEMAP_MAPPER_MEMBER(stfight_state::bg_scan)
|
||||
|
||||
TILE_GET_INFO_MEMBER(stfight_state::get_bg_tile_info)
|
||||
{
|
||||
UINT8 *bgMap = memregion("gfx6")->base();
|
||||
UINT8 *bgMap = memregion("bg_map")->base();
|
||||
int attr,tile_bank,tile_base;
|
||||
|
||||
attr = bgMap[0x8000+tile_index];
|
||||
|
Loading…
Reference in New Issue
Block a user