Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

konami/k007121.cpp: Use device_gfx_interface for gfx decoding, Minor type value corrections #11808

Merged
merged 1 commit into from Dec 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
27 changes: 8 additions & 19 deletions src/mame/konami/combatsc.cpp
Expand Up @@ -563,17 +563,6 @@ INPUT_PORTS_END
*
*************************************/

static const gfx_layout gfxlayout =
{
8,8,
0x4000,
4,
{ 0,1,2,3 },
{ 0, 4, 8, 12, 16, 20, 24, 28},
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
32*8
};

static const gfx_layout tile_layout =
{
8,8,
Expand Down Expand Up @@ -602,9 +591,12 @@ static const gfx_layout sprite_layout =
8*8*4
};

static GFXDECODE_START( gfx_combatsc )
GFXDECODE_ENTRY( "gfx1", 0x00000, gfxlayout, 0, 8*16 )
GFXDECODE_ENTRY( "gfx2", 0x00000, gfxlayout, 0, 8*16 )
static GFXDECODE_START( gfx_combatsc_1 )
GFXDECODE_ENTRY( "gfx1", 0x00000, gfx_8x8x4_packed_msb, 0, 8*16 )
GFXDECODE_END

static GFXDECODE_START( gfx_combatsc_2 )
GFXDECODE_ENTRY( "gfx2", 0x00000, gfx_8x8x4_packed_msb, 0, 8*16 )
GFXDECODE_END

static GFXDECODE_START( gfx_combatscb )
Expand Down Expand Up @@ -702,15 +694,12 @@ void combatsc_state::combatsc(machine_config &config)
m_screen->set_screen_update(FUNC(combatsc_state::screen_update));
m_screen->set_palette(m_palette);

GFXDECODE(config, m_gfxdecode, m_palette, gfx_combatsc);
PALETTE(config, m_palette, FUNC(combatsc_state::palette));
m_palette->set_format(palette_device::xBGR_555, 8 * 16 * 16, 128);
m_palette->set_endianness(ENDIANNESS_LITTLE);

K007121(config, m_k007121[0], 0);
m_k007121[0]->set_palette_tag(m_palette);
K007121(config, m_k007121[1], 0);
m_k007121[1]->set_palette_tag(m_palette);
K007121(config, m_k007121[0], 0, m_palette, gfx_combatsc_1);
K007121(config, m_k007121[1], 0, m_palette, gfx_combatsc_2);

// sound hardware
SPEAKER(config, "mono").front_center();
Expand Down
4 changes: 2 additions & 2 deletions src/mame/konami/combatsc.h
Expand Up @@ -28,7 +28,6 @@ class combatsc_base_state : public driver_device
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_screen(*this, "screen"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_soundlatch(*this, "soundlatch"),
m_track_ports(*this, {"TRACK0_Y", "TRACK0_X", "TRACK1_Y", "TRACK1_X"}),
Expand Down Expand Up @@ -57,7 +56,6 @@ class combatsc_base_state : public driver_device
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<screen_device> m_screen;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
required_device<generic_latch_8_device> m_soundlatch;

Expand Down Expand Up @@ -131,6 +129,7 @@ class combatscb_state : public combatsc_base_state
public:
combatscb_state(const machine_config &mconfig, device_type type, const char *tag) :
combatsc_base_state(mconfig, type, tag),
m_gfxdecode(*this, "gfxdecode"),
m_msm(*this, "msm"),
m_soundbank(*this, "soundbank"),
m_io_ram(*this, "io_ram", 0x4000, ENDIANNESS_BIG),
Expand All @@ -146,6 +145,7 @@ class combatscb_state : public combatsc_base_state
virtual void video_start() override;

private:
optional_device<gfxdecode_device> m_gfxdecode;
required_device<msm5205_device> m_msm;
required_memory_bank m_soundbank;
memory_share_creator<uint8_t> m_io_ram;
Expand Down
10 changes: 5 additions & 5 deletions src/mame/konami/combatsc_v.cpp
Expand Up @@ -148,7 +148,7 @@ TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)

number = m_videoram[1][tile_index + 0x400] + 256 * bank;

tileinfo.set(1,
tileinfo.set(0,
number,
color,
0);
Expand Down Expand Up @@ -250,9 +250,9 @@ TILE_GET_INFO_MEMBER(combatscb_state::get_text_info)

void combatsc_state::video_start()
{
m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info0)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info1)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_textlayer = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_text_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap[0] = &machine().tilemap().create(*m_k007121[0], tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info0)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_bg_tilemap[1] = &machine().tilemap().create(*m_k007121[1], tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_tile_info1)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_textlayer = &machine().tilemap().create(*m_k007121[0], tilemap_get_info_delegate(*this, FUNC(combatsc_state::get_text_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);

m_spriteram[0] = make_unique_clear<uint8_t[]>(0x800);
m_spriteram[1] = make_unique_clear<uint8_t[]>(0x800);
Expand Down Expand Up @@ -352,7 +352,7 @@ void combatsc_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
k007121_device *k007121 = circuit ? m_k007121[1] : m_k007121[0];
int base_color = (circuit * 4) * 16 + (k007121->ctrlram_r(6) & 0x10) * 2;

k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(circuit), *m_palette, source, base_color, 0, 0, priority_bitmap, pri_mask);
k007121->sprites_draw(bitmap, cliprect, source, base_color, 0, 0, priority_bitmap, pri_mask);
}


Expand Down
25 changes: 11 additions & 14 deletions src/mame/konami/contra.cpp
Expand Up @@ -171,7 +171,6 @@ class contra_state : public driver_device
m_audiocpu(*this, "audiocpu"),
m_k007121(*this, "k007121_%u", 1U),
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette")
{ }
Expand All @@ -198,7 +197,6 @@ class contra_state : public driver_device
required_device<cpu_device> m_audiocpu;
required_device_array<k007121_device, 2> m_k007121;
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;

Expand Down Expand Up @@ -289,7 +287,7 @@ TILE_GET_INFO_MEMBER(contra_state::get_tile_info)

bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);

tileinfo.set(Which,
tileinfo.set(0,
m_vram[Which][tile_index] + bank * 256,
((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
0);
Expand Down Expand Up @@ -326,9 +324,9 @@ TILE_GET_INFO_MEMBER(contra_state::get_tx_tile_info)

void contra_state::video_start()
{
m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(contra_state::get_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(contra_state::get_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(contra_state::get_tx_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_tilemap[0] = &machine().tilemap().create(*m_k007121[0], tilemap_get_info_delegate(*this, FUNC(contra_state::get_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_tilemap[1] = &machine().tilemap().create(*m_k007121[1], tilemap_get_info_delegate(*this, FUNC(contra_state::get_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_tilemap[2] = &machine().tilemap().create(*m_k007121[0], tilemap_get_info_delegate(*this, FUNC(contra_state::get_tx_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);

m_clip[1] = m_screen->visible_area();
m_clip[1].min_x += 40;
Expand Down Expand Up @@ -400,7 +398,7 @@ void contra_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect,
{
int base_color = (m_k007121[Which]->ctrlram_r(6) & 0x30) * 2;

m_k007121[Which]->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(Which), *m_palette, m_buffered_spriteram[Which]->buffer(), base_color, 40, 0, priority_bitmap, (uint32_t)-1);
m_k007121[Which]->sprites_draw(bitmap, cliprect, m_buffered_spriteram[Which]->buffer(), base_color, 40, 0, priority_bitmap, (uint32_t)-1);
}

uint32_t contra_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
Expand Down Expand Up @@ -576,8 +574,11 @@ static INPUT_PORTS_START( gryzor )
INPUT_PORTS_END


static GFXDECODE_START( gfx_contra )
static GFXDECODE_START( gfx_contra_1 )
GFXDECODE_ENTRY( "k007121_1", 0, gfx_8x8x4_packed_msb, 0, 8*16 )
GFXDECODE_END

static GFXDECODE_START( gfx_contra_2 )
GFXDECODE_ENTRY( "k007121_2", 0, gfx_8x8x4_packed_msb, 8*16*16, 8*16 )
GFXDECODE_END

Expand Down Expand Up @@ -620,17 +621,13 @@ void contra_state::contra(machine_config &config)
m_screen->set_screen_update(FUNC(contra_state::screen_update));
m_screen->set_palette(m_palette);

GFXDECODE(config, m_gfxdecode, m_palette, gfx_contra);

PALETTE(config, m_palette, FUNC(contra_state::palette));
m_palette->set_format(palette_device::xBGR_555, 2 * 8 * 16 * 16);
m_palette->set_indirect_entries(128);
m_palette->set_endianness(ENDIANNESS_LITTLE);

K007121(config, m_k007121[0], 0);
m_k007121[0]->set_palette_tag(m_palette);
K007121(config, m_k007121[1], 0);
m_k007121[1]->set_palette_tag(m_palette);
K007121(config, m_k007121[0], 0, m_palette, gfx_contra_1);
K007121(config, m_k007121[1], 0, m_palette, gfx_contra_2);

// sound hardware
SPEAKER(config, "lspeaker").front_left();
Expand Down
27 changes: 6 additions & 21 deletions src/mame/konami/fastlane.cpp
Expand Up @@ -42,7 +42,6 @@ class fastlane_state : public driver_device
m_prgbank(*this, "prgbank"),
m_k007232(*this, "k007232_%u", 1U),
m_k007121(*this, "k007121"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette")
{ }
Expand All @@ -69,7 +68,6 @@ class fastlane_state : public driver_device
// devices
required_device_array<k007232_device, 2> m_k007232;
required_device<k007121_device> m_k007121;
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;

Expand Down Expand Up @@ -146,8 +144,8 @@ TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info)

void fastlane_state::video_start()
{
m_layer[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(fastlane_state::get_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_layer[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(fastlane_state::get_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_layer[0] = &machine().tilemap().create(*m_k007121, tilemap_get_info_delegate(*this, FUNC(fastlane_state::get_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_layer[1] = &machine().tilemap().create(*m_k007121, tilemap_get_info_delegate(*this, FUNC(fastlane_state::get_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);

m_layer[0]->set_scroll_rows(32);

Expand Down Expand Up @@ -194,7 +192,7 @@ uint32_t fastlane_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
m_layer[0]->set_scrolly(0, m_k007121->ctrlram_r(2));

m_layer[0]->draw(screen, bitmap, finalclip0, 0, 0);
m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), *m_palette, m_spriteram, 0, 40, 0, screen.priority(), (uint32_t)- 1);
m_k007121->sprites_draw(bitmap, cliprect, m_spriteram, 0, 40, 0, screen.priority(), (uint32_t)- 1);
m_layer[1]->draw(screen, bitmap, finalclip1, 0, 0);
return 0;
}
Expand Down Expand Up @@ -332,19 +330,8 @@ static INPUT_PORTS_START( fastlane )
KONAMI8_B12_UNK(2)
INPUT_PORTS_END

static const gfx_layout gfxlayout =
{
8,8,
0x80000/32,
4,
{ 0, 1, 2, 3 },
{ 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 },
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
32*8
};

static GFXDECODE_START( gfx_fastlane )
GFXDECODE_ENTRY( "gfx", 0, gfxlayout, 0, 64*16 )
GFXDECODE_ENTRY( "gfx", 0, gfx_8x8x4_packed_msb, 0, 64*16 )
GFXDECODE_END

/***************************************************************************
Expand Down Expand Up @@ -385,11 +372,9 @@ void fastlane_state::fastlane(machine_config &config)
m_screen->set_screen_update(FUNC(fastlane_state::screen_update));
m_screen->set_palette(m_palette);

GFXDECODE(config, m_gfxdecode, m_palette, gfx_fastlane);
PALETTE(config, m_palette, FUNC(fastlane_state::palette)).set_format(palette_device::xBGR_555, 1024*16, 0x400);

K007121(config, m_k007121, 0);
m_k007121->set_palette_tag(m_palette);
K007121(config, m_k007121, 0, m_palette, gfx_fastlane);

K051733(config, "k051733", 0);

Expand Down Expand Up @@ -420,7 +405,7 @@ ROM_START( fastlane )
ROM_LOAD( "752_e01.10h", 0x08000, 0x10000, CRC(ff4d6029) SHA1(b5c5d8654ce728300d268628bd3dd878570ba7b8) ) // banked ROM

ROM_REGION( 0x80000, "gfx", 0 )
ROM_LOAD( "752e04.2i", 0x00000, 0x80000, CRC(a126e82d) SHA1(6663230c2c36dec563969bccad8c62e3d454d240) ) // tiles + sprites
ROM_LOAD16_WORD_SWAP( "752e04.2i", 0x00000, 0x80000, CRC(a126e82d) SHA1(6663230c2c36dec563969bccad8c62e3d454d240) ) // tiles + sprites

ROM_REGION( 0x0100, "proms", 0 )
ROM_LOAD( "752e03.6h", 0x0000, 0x0100, CRC(44300aeb) SHA1(580c6e88cbb3b6d8156ea0b9103834f199ec2747) )
Expand Down
46 changes: 15 additions & 31 deletions src/mame/konami/flkatck.cpp
Expand Up @@ -49,7 +49,6 @@ class flkatck_state : public driver_device
m_k007121(*this, "k007121"),
m_k007232(*this, "k007232"),
m_watchdog(*this, "watchdog"),
m_gfxdecode(*this, "gfxdecode"),
m_soundlatch(*this, "soundlatch")
{ }

Expand Down Expand Up @@ -82,7 +81,6 @@ class flkatck_state : public driver_device
required_device<k007121_device> m_k007121;
required_device<k007232_device> m_k007232;
required_device<watchdog_timer_device> m_watchdog;
required_device<gfxdecode_device> m_gfxdecode;
required_device<generic_latch_8_device> m_soundlatch;

void bankswitch_w(uint8_t data);
Expand Down Expand Up @@ -161,8 +159,8 @@ TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_b)

void flkatck_state::video_start()
{
m_k007121_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(flkatck_state::get_tile_info_a)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_k007121_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(flkatck_state::get_tile_info_b)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_k007121_tilemap[0] = &machine().tilemap().create(*m_k007121, tilemap_get_info_delegate(*this, FUNC(flkatck_state::get_tile_info_a)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
m_k007121_tilemap[1] = &machine().tilemap().create(*m_k007121, tilemap_get_info_delegate(*this, FUNC(flkatck_state::get_tile_info_b)), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
}


Expand Down Expand Up @@ -246,7 +244,7 @@ uint32_t flkatck_state::screen_update(screen_device &screen, bitmap_ind16 &bitma

// draw the graphics
m_k007121_tilemap[0]->draw(screen, bitmap, clip[0], 0, 0);
m_k007121->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(0), m_gfxdecode->palette(), &m_spriteram[sprite_buffer], 0, 40, 0, screen.priority(), (uint32_t)-1, true);
m_k007121->sprites_draw(bitmap, cliprect, &m_spriteram[sprite_buffer], 0, 40, 0, screen.priority(), (uint32_t)-1, true);
m_k007121_tilemap[1]->draw(screen, bitmap, clip[1], 0, 0);
return 0;
}
Expand Down Expand Up @@ -383,19 +381,8 @@ static INPUT_PORTS_START( flkatck )
KONAMI8_B12_UNK(2)
INPUT_PORTS_END

static const gfx_layout gfxlayout =
{
8,8,
0x80000/32,
4,
{ 0, 1, 2, 3 },
{ 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 },
{ 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 },
32*8
};

static GFXDECODE_START( gfx_flkatck )
GFXDECODE_ENTRY( "gfx", 0, gfxlayout, 0, 32 )
GFXDECODE_ENTRY( "gfx", 0, gfx_8x8x4_packed_msb, 0, 32 )
GFXDECODE_END

void flkatck_state::volume_callback(uint8_t data)
Expand Down Expand Up @@ -447,11 +434,9 @@ void flkatck_state::flkatck(machine_config &config)
screen.set_screen_update(FUNC(flkatck_state::screen_update));
screen.set_palette("palette");

GFXDECODE(config, m_gfxdecode, "palette", gfx_flkatck);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 512).set_endianness(ENDIANNESS_LITTLE);

K007121(config, m_k007121, 0);
m_k007121->set_palette_tag("palette");
K007121(config, m_k007121, 0, "palette", gfx_flkatck);

// sound hardware
SPEAKER(config, "lspeaker").front_left();
Expand All @@ -475,12 +460,11 @@ ROM_START( mx5000 )
ROM_REGION( 0x10000, "maincpu", 0 ) // 6309 code
ROM_LOAD( "669_r01.16c", 0x00000, 0x10000, CRC(79b226fc) SHA1(3bc4d93717230fecd54bd08a0c3eeedc1c8f571d) )


ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "669_m02.16b", 0x0000, 0x8000, CRC(7e11e6b9) SHA1(7a7d65a458b15842a6345388007c8f682aec20a7) )

ROM_REGION( 0x80000, "gfx", 0 ) // tiles + sprites
ROM_LOAD( "gx669f03.5e", 0x00000, 0x80000, CRC(ff1d718b) SHA1(d44fe3ed5a3ba1b3036264e37f9cd3500b706635) ) // MASK4M
ROM_LOAD16_WORD_SWAP( "gx669f03.5e", 0x00000, 0x80000, CRC(ff1d718b) SHA1(d44fe3ed5a3ba1b3036264e37f9cd3500b706635) ) // MASK4M

ROM_REGION( 0x40000, "k007232", 0 )
ROM_LOAD( "gx669f04.11a", 0x00000, 0x40000, CRC(6d1ea61c) SHA1(9e6eb9ac61838df6e1f74e74bb72f3edf1274aed) ) // MASK2M
Expand All @@ -494,7 +478,7 @@ ROM_START( flkatck )
ROM_LOAD( "669_m02.16b", 0x0000, 0x8000, CRC(7e11e6b9) SHA1(7a7d65a458b15842a6345388007c8f682aec20a7) )

ROM_REGION( 0x80000, "gfx", 0 ) // tiles + sprites
ROM_LOAD( "gx669f03.5e", 0x00000, 0x80000, CRC(ff1d718b) SHA1(d44fe3ed5a3ba1b3036264e37f9cd3500b706635) ) // MASK4M
ROM_LOAD16_WORD_SWAP( "gx669f03.5e", 0x00000, 0x80000, CRC(ff1d718b) SHA1(d44fe3ed5a3ba1b3036264e37f9cd3500b706635) ) // MASK4M

ROM_REGION( 0x40000, "k007232", 0 )
ROM_LOAD( "gx669f04.11a", 0x00000, 0x40000, CRC(6d1ea61c) SHA1(9e6eb9ac61838df6e1f74e74bb72f3edf1274aed) ) // MASK2M
Expand All @@ -509,14 +493,14 @@ ROM_START( flkatcka )
ROM_LOAD( "669_m02.16b", 0x0000, 0x8000, CRC(7e11e6b9) SHA1(7a7d65a458b15842a6345388007c8f682aec20a7) )

ROM_REGION( 0x80000, "gfx", 0 ) // tiles + sprites, same data as above set, on PWB 450593 sub-board instead.
ROM_LOAD16_BYTE( "669_f03a.4b", 0x00001, 0x10000, CRC(f0ed4c1e) SHA1(58efe3cd81054d22de54a7d195aa3b865bde4a01) )
ROM_LOAD16_BYTE( "669_f03e.4d", 0x00000, 0x10000, CRC(95a57a26) SHA1(c8aa30c2c734c0740630b1b04ae43c69931cc7c1) )
ROM_LOAD16_BYTE( "669_f03b.5b", 0x20001, 0x10000, CRC(e2593f3c) SHA1(aa0f6d04015650eaef17c4a39f228eaccf9a2948) )
ROM_LOAD16_BYTE( "669_f03f.5d", 0x20000, 0x10000, CRC(c6c9903e) SHA1(432ad6d03992499cc533273226944a666b40fa58) )
ROM_LOAD16_BYTE( "669_f03c.6b", 0x40001, 0x10000, CRC(47be92dd) SHA1(9ccc62d7d42fccbd5ad60e35e3a0478a04405cf1) )
ROM_LOAD16_BYTE( "669_f03g.6d", 0x40000, 0x10000, CRC(70d35fbd) SHA1(21384f738684c5da4a7a84a1c9aa173fffddf47a) )
ROM_LOAD16_BYTE( "669_f03d.7b", 0x60001, 0x10000, CRC(18d48f9e) SHA1(b95e38aa813e0f3a0dc6bd45fdb4bf71f7e2066c) )
ROM_LOAD16_BYTE( "669_f03h.7d", 0x60000, 0x10000, CRC(abfe76e7) SHA1(f8661f189308e83056ec442fa6c936efff67ba0a) )
ROM_LOAD16_BYTE( "669_f03a.4b", 0x00000, 0x10000, CRC(f0ed4c1e) SHA1(58efe3cd81054d22de54a7d195aa3b865bde4a01) )
ROM_LOAD16_BYTE( "669_f03e.4d", 0x00001, 0x10000, CRC(95a57a26) SHA1(c8aa30c2c734c0740630b1b04ae43c69931cc7c1) )
ROM_LOAD16_BYTE( "669_f03b.5b", 0x20000, 0x10000, CRC(e2593f3c) SHA1(aa0f6d04015650eaef17c4a39f228eaccf9a2948) )
ROM_LOAD16_BYTE( "669_f03f.5d", 0x20001, 0x10000, CRC(c6c9903e) SHA1(432ad6d03992499cc533273226944a666b40fa58) )
ROM_LOAD16_BYTE( "669_f03c.6b", 0x40000, 0x10000, CRC(47be92dd) SHA1(9ccc62d7d42fccbd5ad60e35e3a0478a04405cf1) )
ROM_LOAD16_BYTE( "669_f03g.6d", 0x40001, 0x10000, CRC(70d35fbd) SHA1(21384f738684c5da4a7a84a1c9aa173fffddf47a) )
ROM_LOAD16_BYTE( "669_f03d.7b", 0x60000, 0x10000, CRC(18d48f9e) SHA1(b95e38aa813e0f3a0dc6bd45fdb4bf71f7e2066c) )
ROM_LOAD16_BYTE( "669_f03h.7d", 0x60001, 0x10000, CRC(abfe76e7) SHA1(f8661f189308e83056ec442fa6c936efff67ba0a) )

ROM_REGION( 0x40000, "k007232", 0 )
ROM_LOAD( "gx669f04.11a", 0x00000, 0x40000, CRC(6d1ea61c) SHA1(9e6eb9ac61838df6e1f74e74bb72f3edf1274aed) ) // MASK2M
Expand Down