From 0b37e9dc176dbf6930594cc7fdccce8f5a287dc4 Mon Sep 17 00:00:00 2001 From: cam900 Date: Sun, 26 May 2024 06:02:44 +0900 Subject: vsystem/aerofgt.cpp: Cleanups: (#12404) * Split driver state class to reduce optional object finders and variables. * Reduced duplicated code. * Use generic graphics decoding layouts. * Fixed aerofgtb sprite/tilemap offset. * Reduced literal tag usage. * Improved names of address map functions. * Use memory_bank for pspikesb, pspikesc OKI bank switching. --- src/mame/vsystem/aerofgt.cpp | 1389 +++++++++++++++++++--------------------- src/mame/vsystem/aerofgt.h | 264 +++++--- src/mame/vsystem/aerofgt_v.cpp | 263 ++++---- 3 files changed, 947 insertions(+), 969 deletions(-) diff --git a/src/mame/vsystem/aerofgt.cpp b/src/mame/vsystem/aerofgt.cpp index ace5c853b70..60c06e7e5aa 100644 --- a/src/mame/vsystem/aerofgt.cpp +++ b/src/mame/vsystem/aerofgt.cpp @@ -82,7 +82,7 @@ Verification still needed for the other PCBs. #include "speaker.h" -void aerofgt_sound_cpu_state::karatblzbl_soundlatch_w(uint8_t data) +void karatblzbl_state::soundlatch_w(uint8_t data) { m_soundlatch->write(data); m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); @@ -108,54 +108,54 @@ void aerofgt_banked_sound_state::sh_bankswitch_w(uint8_t data) m_soundbank->set_entry(data & 0x03); } -void aerofgt_state::pspikesb_oki_banking_w(uint16_t data) +void aerofgt_base_state::pspikesb_oki_banking_w(uint16_t data) { - m_oki->set_rom_bank(data & 3); + m_okibank->set_entry(data & 3); } -/*TODO: sound banking. */ -void aerofgt_state::aerfboo2_okim6295_banking_w(offs_t offset, uint16_t data, uint16_t mem_mask) +// TODO: sound banking. +void aerofgt_base_state::aerfboo2_okim6295_banking_w(offs_t offset, uint16_t data, uint16_t mem_mask) { // if(ACCESSING_BITS_8_15) // { -// m_oki->set_bank_base(0x40000 * ((data & 0xf00)>>8)); +// m_oki->set_rom_bank((data & 0xf00)>>8); // } } void aerofgt_sound_cpu_state::aerfboot_okim6295_banking_w(uint8_t data) { - /*bit 2 (0x4) set too?*/ - if (data & 0x4) + // bit 2 (0x4) set too? + if (BIT(data, 2)) m_okibank->set_entry(data & 0x3); } -void aerofgt_sound_cpu_state::karatblzbl_d7759_write_port_0_w(uint8_t data) +void karatblzbl_state::d7759_write_port_0_w(uint8_t data) { m_upd7759->port_w(data); m_upd7759->start_w(0); m_upd7759->start_w(1); } -void aerofgt_sound_cpu_state::karatblzbl_d7759_reset_w(uint8_t data) +void karatblzbl_state::d7759_reset_w(uint8_t data) { m_upd7759->reset_w(BIT(data, 7)); } template -void aerofgt_state::vram_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void aerofgt_base_state::vram_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_vram[Layer][offset]); m_tilemap[Layer]->mark_tile_dirty(offset); } template -void aerofgt_state::scrollx_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void aerofgt_base_state::scrollx_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_scrollx[Layer]); } template -void aerofgt_state::scrolly_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void aerofgt_base_state::scrolly_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_scrolly[Layer]); } @@ -163,11 +163,11 @@ void aerofgt_state::scrolly_w(offs_t offset, uint16_t data, uint16_t mem_mask) void aerofgt_banked_sound_state::pspikes_map(address_map &map) { map(0x000000, 0x03ffff).rom(); - map(0x100000, 0x10ffff).ram(); /* work RAM */ - map(0x200000, 0x203fff).ram().share("sprlookupram1"); + map(0x100000, 0x10ffff).ram(); // work RAM + map(0x200000, 0x203fff).ram().share(m_sprlookupram[0]); map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<0>)).share("vram.0"); - map(0xffc000, 0xffc3ff).writeonly().share("spriteram"); - map(0xffd000, 0xffdfff).ram().share("rasterram"); /* bg1 scroll registers */ + map(0xffc000, 0xffc3ff).writeonly().share(m_spriteram); + map(0xffd000, 0xffdfff).ram().share(m_rasterram); // bg1 scroll registers map(0xffe000, 0xffefff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xfff000, 0xfff001).portr("IN0"); map(0xfff001, 0xfff001).w(FUNC(aerofgt_banked_sound_state::pspikes_palette_bank_w)); @@ -178,62 +178,62 @@ void aerofgt_banked_sound_state::pspikes_map(address_map &map) map(0xfff400, 0xfff403).w("gga", FUNC(vsystem_gga_device::write)).umask16(0x00ff); } -void aerofgt_state::pspikesb_map(address_map &map) +void aerofgt_base_state::pspikesb_map(address_map &map) { map(0x000000, 0x03ffff).rom(); - map(0x100000, 0x10ffff).ram(); /* work RAM */ - map(0x200000, 0x203fff).ram().share("sprlookupram1"); + map(0x100000, 0x10ffff).ram(); // work RAM + map(0x200000, 0x203fff).ram().share(m_sprlookupram[0]); map(0xc04000, 0xc04001).nopw(); - map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_state::vram_w<0>)).share("vram.0"); - map(0xffc000, 0xffcbff).ram().share("spriteram"); - map(0xffd000, 0xffdfff).ram().share("rasterram"); /* bg1 scroll registers */ - map(0xffd200, 0xffd201).w(FUNC(aerofgt_state::pspikesb_gfxbank_w)); + map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_base_state::vram_w<0>)).share("vram.0"); + map(0xffc000, 0xffcbff).ram().share(m_spriteram); + map(0xffd000, 0xffdfff).ram().share(m_rasterram); // bg1 scroll registers + map(0xffd200, 0xffd201).w(FUNC(aerofgt_base_state::pspikesb_gfxbank_w)); map(0xffe000, 0xffefff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xfff000, 0xfff001).portr("IN0"); map(0xfff002, 0xfff003).portr("IN1"); - map(0xfff004, 0xfff005).portr("DSW").w(FUNC(aerofgt_state::scrolly_w<0>)); + map(0xfff004, 0xfff005).portr("DSW").w(FUNC(aerofgt_base_state::scrolly_w<0>)); map(0xfff007, 0xfff007).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); - map(0xfff008, 0xfff009).w(FUNC(aerofgt_state::pspikesb_oki_banking_w)); + map(0xfff008, 0xfff009).w(FUNC(aerofgt_base_state::pspikesb_oki_banking_w)); map(0xfff400, 0xfff403).nopw(); // GGA access } -void aerofgt_sound_cpu_state::spikes91_map(address_map &map) +void spikes91_state::spikes91_map(address_map &map) { map(0x000000, 0x03ffff).rom(); - map(0x100000, 0x10ffff).ram(); /* work RAM */ - map(0x200000, 0x203fff).ram().share("sprlookupram1"); + map(0x100000, 0x10ffff).ram(); // work RAM + map(0x200000, 0x203fff).ram().share(m_sprlookupram[0]); map(0xc04000, 0xc04001).nopw(); - map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_sound_cpu_state::vram_w<0>)).share("vram.0"); + map(0xff8000, 0xff8fff).ram().w(FUNC(spikes91_state::vram_w<0>)).share("vram.0"); - map(0xffa000, 0xffbfff).ram().share("tx_tilemap_ram"); + map(0xffa000, 0xffbfff).ram().share(m_tx_tilemap_ram); - map(0xffc000, 0xffcfff).ram().share("spriteram"); - //map(0xffd200, 0xffd201).w(FUNC(aerofgt_sound_cpu_state::pspikesb_gfxbank_w)); - map(0xffd000, 0xffdfff).ram().share("rasterram"); /* bg1 scroll registers */ + map(0xffc000, 0xffcfff).ram().share(m_spriteram); + //map(0xffd200, 0xffd201).w(FUNC(spikes91_state::pspikesb_gfxbank_w)); + map(0xffd000, 0xffdfff).ram().share(m_rasterram); // bg1 scroll registers map(0xffe000, 0xffefff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xfff000, 0xfff001).portr("IN0"); map(0xfff002, 0xfff003).portr("IN1"); - map(0xfff003, 0xfff003).w(FUNC(aerofgt_sound_cpu_state::pspikes_gfxbank_w)); - map(0xfff004, 0xfff005).portr("DSW").w(FUNC(aerofgt_sound_cpu_state::scrolly_w<0>)); - map(0xfff007, 0xfff007).r(FUNC(aerofgt_sound_cpu_state::soundlatch_pending_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write)).umask16(0x00ff); - map(0xfff008, 0xfff009).w(FUNC(aerofgt_sound_cpu_state::spikes91_lookup_w)); + map(0xfff003, 0xfff003).w(FUNC(spikes91_state::pspikes_gfxbank_w)); + map(0xfff004, 0xfff005).portr("DSW").w(FUNC(spikes91_state::scrolly_w<0>)); + map(0xfff007, 0xfff007).r(FUNC(spikes91_state::soundlatch_pending_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write)).umask16(0x00ff); + map(0xfff008, 0xfff009).w(FUNC(spikes91_state::spikes91_lookup_w)); } -void aerofgt_state::pspikesc_map(address_map &map) +void aerofgt_base_state::pspikesc_map(address_map &map) { map(0x000000, 0x03ffff).rom(); - map(0x100000, 0x10ffff).ram(); /* work RAM */ - map(0x200000, 0x203fff).ram().share("sprlookupram1"); - map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_state::vram_w<0>)).share("vram.0"); - map(0xffc000, 0xffcbff).ram().share("spriteram"); - map(0xffd000, 0xffdfff).ram().share("rasterram"); /* bg1 scroll registers */ + map(0x100000, 0x10ffff).ram(); // work RAM + map(0x200000, 0x203fff).ram().share(m_sprlookupram[0]); + map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_base_state::vram_w<0>)).share("vram.0"); + map(0xffc000, 0xffcbff).ram().share(m_spriteram); + map(0xffd000, 0xffdfff).ram().share(m_rasterram); // bg1 scroll registers map(0xffe000, 0xffefff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xfff000, 0xfff001).portr("IN0"); - map(0xfff001, 0xfff001).w(FUNC(aerofgt_state::pspikes_palette_bank_w)); + map(0xfff001, 0xfff001).w(FUNC(aerofgt_base_state::pspikes_palette_bank_w)); map(0xfff002, 0xfff003).portr("IN1"); - map(0xfff003, 0xfff003).w(FUNC(aerofgt_state::pspikes_gfxbank_w)); + map(0xfff003, 0xfff003).w(FUNC(aerofgt_base_state::pspikes_gfxbank_w)); map(0xfff004, 0xfff005).portr("DSW"); - map(0xfff004, 0xfff005).w(FUNC(aerofgt_state::scrolly_w<0>)); + map(0xfff004, 0xfff005).w(FUNC(aerofgt_base_state::scrolly_w<0>)); map(0xfff007, 0xfff007).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0xfff400, 0xfff403).nopw(); // GGA access } @@ -241,11 +241,11 @@ void aerofgt_state::pspikesc_map(address_map &map) void aerofgt_sound_cpu_state::kickball_map(address_map &map) { map(0x000000, 0x07ffff).rom(); - map(0x100000, 0x10ffff).ram(); /* work RAM */ - map(0x200000, 0x20ffff).ram().share("sprlookupram1"); + map(0x100000, 0x10ffff).ram(); // work RAM + map(0x200000, 0x20ffff).ram().share(m_sprlookupram[0]); map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_sound_cpu_state::vram_w<0>)).share("vram.0"); - map(0xffc000, 0xffc3ff).writeonly().share("spriteram"); - map(0xffd000, 0xffdfff).ram().share("rasterram"); /* bg1 scroll registers */ + map(0xffc000, 0xffc3ff).writeonly().share(m_spriteram); + map(0xffd000, 0xffdfff).ram().share(m_rasterram); // bg1 scroll registers map(0xffe000, 0xffefff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xfff000, 0xfff001).portr("IN0"); map(0xfff001, 0xfff001).w(FUNC(aerofgt_sound_cpu_state::pspikes_palette_bank_w)); @@ -262,11 +262,11 @@ void aerofgt_banked_sound_state::karatblz_map(address_map &map) map(0x000000, 0x07ffff).rom(); map(0x080000, 0x081fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<0>)).share("vram.0"); map(0x082000, 0x083fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<1>)).share("vram.1"); - map(0x0a0000, 0x0affff).ram().share("sprlookupram1"); - map(0x0b0000, 0x0bffff).ram().share("sprlookupram2"); - map(0x0c0000, 0x0cffff).ram(); /* work RAM */ - map(0x0f8000, 0x0fbfff).ram(); /* work RAM */ - map(0x0fc000, 0x0fc7ff).ram().share("spriteram"); + map(0x0a0000, 0x0affff).ram().share(m_sprlookupram[0]); + map(0x0b0000, 0x0bffff).ram().share(m_sprlookupram[1]); + map(0x0c0000, 0x0cffff).ram(); // work RAM + map(0x0f8000, 0x0fbfff).ram(); // work RAM + map(0x0fc000, 0x0fc7ff).ram().share(m_spriteram); map(0x0fe000, 0x0fe7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x0ff000, 0x0ff001).portr("IN0"); map(0x0ff000, 0x0ff000).w(FUNC(aerofgt_banked_sound_state::spinlbrk_flip_screen_w)); @@ -283,30 +283,30 @@ void aerofgt_banked_sound_state::karatblz_map(address_map &map) map(0x0ff400, 0x0ff403).w("gga", FUNC(vsystem_gga_device::write)).umask16(0x00ff); } -void aerofgt_sound_cpu_state::karatblzbl_map(address_map &map) +void karatblzbl_state::main_map(address_map &map) { map.global_mask(0xfffff); map(0x000000, 0x07ffff).rom(); - map(0x080000, 0x081fff).ram().w(FUNC(aerofgt_sound_cpu_state::vram_w<0>)).share("vram.0"); - map(0x082000, 0x083fff).ram().w(FUNC(aerofgt_sound_cpu_state::vram_w<1>)).share("vram.1"); - map(0x0a0000, 0x0affff).ram().share("sprlookupram1"); - map(0x0b0000, 0x0bffff).ram().share("sprlookupram2"); - map(0x0c0000, 0x0cffff).ram(); /* work RAM */ - map(0x0f8000, 0x0fbfff).ram(); /* work RAM */ - map(0x0fc000, 0x0fc7ff).ram().share("spriteram"); + map(0x080000, 0x081fff).ram().w(FUNC(karatblzbl_state::vram_w<0>)).share("vram.0"); + map(0x082000, 0x083fff).ram().w(FUNC(karatblzbl_state::vram_w<1>)).share("vram.1"); + map(0x0a0000, 0x0affff).ram().share(m_sprlookupram[0]); + map(0x0b0000, 0x0bffff).ram().share(m_sprlookupram[1]); + map(0x0c0000, 0x0cffff).ram(); // work RAM + map(0x0f8000, 0x0fbfff).ram(); // work RAM + map(0x0fc000, 0x0fc7ff).ram().share(m_spriteram); map(0x0fe000, 0x0fe7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x0ff000, 0x0ff001).portr("IN0"); - map(0x0ff000, 0x0ff000).w(FUNC(aerofgt_sound_cpu_state::spinlbrk_flip_screen_w)); + map(0x0ff000, 0x0ff000).w(FUNC(karatblzbl_state::spinlbrk_flip_screen_w)); map(0x0ff002, 0x0ff003).portr("IN1"); - map(0x0ff002, 0x0ff002).w(FUNC(aerofgt_sound_cpu_state::karatblz_gfxbank_w)); + map(0x0ff002, 0x0ff002).w(FUNC(karatblzbl_state::karatblz_gfxbank_w)); map(0x0ff004, 0x0ff005).portr("IN2"); map(0x0ff006, 0x0ff007).portr("IN3"); - map(0x0ff007, 0x0ff007).w(FUNC(aerofgt_sound_cpu_state::karatblzbl_soundlatch_w)); - map(0x0ff008, 0x0ff009).portr("DSW").w(FUNC(aerofgt_sound_cpu_state::scrollx_w<0>)); - map(0x0ff00b, 0x0ff00b).r(FUNC(aerofgt_sound_cpu_state::soundlatch_pending_r)); - map(0x0ff00a, 0x0ff00b).w(FUNC(aerofgt_sound_cpu_state::scrolly_w<0>)); - map(0x0ff00c, 0x0ff00d).w(FUNC(aerofgt_sound_cpu_state::scrollx_w<1>)); - map(0x0ff00e, 0x0ff00f).w(FUNC(aerofgt_sound_cpu_state::scrolly_w<1>)); + map(0x0ff007, 0x0ff007).w(FUNC(karatblzbl_state::soundlatch_w)); + map(0x0ff008, 0x0ff009).portr("DSW").w(FUNC(karatblzbl_state::scrollx_w<0>)); + map(0x0ff00b, 0x0ff00b).r(FUNC(karatblzbl_state::soundlatch_pending_r)); + map(0x0ff00a, 0x0ff00b).w(FUNC(karatblzbl_state::scrolly_w<0>)); + map(0x0ff00c, 0x0ff00d).w(FUNC(karatblzbl_state::scrollx_w<1>)); + map(0x0ff00e, 0x0ff00f).w(FUNC(karatblzbl_state::scrolly_w<1>)); map(0x0ff400, 0x0ff403).nopw(); // GGA access } @@ -315,9 +315,9 @@ void aerofgt_banked_sound_state::spinlbrk_map(address_map &map) map(0x000000, 0x03ffff).rom(); map(0x080000, 0x080fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<0>)).share("vram.0"); map(0x082000, 0x082fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<1>)).share("vram.1"); - map(0xff8000, 0xffbfff).ram(); /* work RAM */ - map(0xffc000, 0xffc7ff).ram().share("spriteram"); - map(0xffd000, 0xffd1ff).ram().share("rasterram"); /* bg1 scroll registers */ + map(0xff8000, 0xffbfff).ram(); // work RAM + map(0xffc000, 0xffc7ff).ram().share(m_spriteram); + map(0xffd000, 0xffd1ff).ram().share(m_rasterram); // bg1 scroll registers map(0xffe000, 0xffe7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xfff000, 0xfff001).portr("IN0"); map(0xfff000, 0xfff000).w(FUNC(aerofgt_banked_sound_state::spinlbrk_flip_screen_w)); @@ -334,14 +334,14 @@ void aerofgt_banked_sound_state::turbofrc_map(address_map &map) { map.global_mask(0xfffff); map(0x000000, 0x0bffff).rom(); - map(0x0c0000, 0x0cffff).ram(); /* work RAM */ + map(0x0c0000, 0x0cffff).ram(); // work RAM map(0x0d0000, 0x0d1fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<0>)).share("vram.0"); map(0x0d2000, 0x0d3fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<1>)).share("vram.1"); - map(0x0e0000, 0x0e3fff).ram().share("sprlookupram1"); - map(0x0e4000, 0x0e7fff).ram().share("sprlookupram2"); - map(0x0f8000, 0x0fbfff).ram(); /* work RAM */ - map(0x0fc000, 0x0fc7ff).ram().share("spriteram"); - map(0x0fd000, 0x0fdfff).ram().share("rasterram"); /* bg1 scroll registers */ + map(0x0e0000, 0x0e3fff).ram().share(m_sprlookupram[0]); + map(0x0e4000, 0x0e7fff).ram().share(m_sprlookupram[1]); + map(0x0f8000, 0x0fbfff).ram(); // work RAM + map(0x0fc000, 0x0fc7ff).ram().share(m_spriteram); + map(0x0fd000, 0x0fdfff).ram().share(m_rasterram); // bg1 scroll registers map(0x0fe000, 0x0fe7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x0ff000, 0x0ff001).portr("IN0"); map(0x0ff001, 0x0ff001).w(FUNC(aerofgt_banked_sound_state::turbofrc_flip_screen_w)); @@ -351,7 +351,7 @@ void aerofgt_banked_sound_state::turbofrc_map(address_map &map) map(0x0ff006, 0x0ff007).w(FUNC(aerofgt_banked_sound_state::scrolly_w<1>)); map(0x0ff008, 0x0ff009).portr("IN2"); map(0x0ff008, 0x0ff00b).w(FUNC(aerofgt_banked_sound_state::turbofrc_gfxbank_w)); - map(0x0ff00c, 0x0ff00d).nopw(); /* related to bg2 (written together with the scroll registers) */ + map(0x0ff00c, 0x0ff00d).nopw(); // related to bg2 (written together with the scroll registers) map(0x0ff00e, 0x0ff00e).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x0ff400, 0x0ff403).w("gga", FUNC(vsystem_gga_device::write)).umask16(0x00ff); } @@ -359,13 +359,13 @@ void aerofgt_banked_sound_state::turbofrc_map(address_map &map) void aerofgt_banked_sound_state::aerofgtb_map(address_map &map) { map(0x000000, 0x07ffff).rom(); - map(0x0c0000, 0x0cffff).ram(); /* work RAM */ + map(0x0c0000, 0x0cffff).ram(); // work RAM map(0x0d0000, 0x0d1fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<0>)).share("vram.0"); map(0x0d2000, 0x0d3fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<1>)).share("vram.1"); - map(0x0e0000, 0x0e3fff).ram().share("sprlookupram1"); - map(0x0e4000, 0x0e7fff).ram().share("sprlookupram2"); - map(0x0f8000, 0x0fbfff).ram(); /* work RAM */ - map(0x0fc000, 0x0fc7ff).ram().share("spriteram"); + map(0x0e0000, 0x0e3fff).ram().share(m_sprlookupram[0]); + map(0x0e4000, 0x0e7fff).ram().share(m_sprlookupram[1]); + map(0x0f8000, 0x0fbfff).ram(); // work RAM + map(0x0fc000, 0x0fc7ff).ram().share(m_spriteram); map(0x0fd000, 0x0fd7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x0fe000, 0x0fe001).portr("IN0"); map(0x0fe001, 0x0fe001).w(FUNC(aerofgt_banked_sound_state::turbofrc_flip_screen_w)); @@ -377,24 +377,24 @@ void aerofgt_banked_sound_state::aerofgtb_map(address_map &map) map(0x0fe008, 0x0fe00b).w(FUNC(aerofgt_banked_sound_state::turbofrc_gfxbank_w)); map(0x0fe00e, 0x0fe00e).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x0fe400, 0x0fe403).w("gga", FUNC(vsystem_gga_device::write)).umask16(0x00ff); - map(0x0ff000, 0x0fffff).ram().share("rasterram"); /* used only for the scroll registers */ + map(0x0ff000, 0x0fffff).ram().share(m_rasterram); // used only for the scroll registers } -void aerofgt_banked_sound_state::aerofgt_map(address_map &map) +void aerofgt_state::main_map(address_map &map) { map(0x000000, 0x07ffff).rom(); map(0x1a0000, 0x1a07ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); - map(0x1b0000, 0x1b07ff).ram().share("rasterram"); /* used only for the scroll registers */ - map(0x1b0800, 0x1b0801).ram(); /* tracks watchdog state */ - map(0x1b0ff0, 0x1b0fff).ram(); /* stack area during boot */ - map(0x1b2000, 0x1b3fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<0>)).share("vram.0"); - map(0x1b4000, 0x1b5fff).ram().w(FUNC(aerofgt_banked_sound_state::vram_w<1>)).share("vram.1"); - map(0x1c0000, 0x1c7fff).ram().share("sprlookupram1"); - map(0x1d0000, 0x1d1fff).ram().share("spriteram"); - map(0xfef000, 0xffefff).ram(); /* work RAM */ - map(0xffff80, 0xffff87).w(FUNC(aerofgt_banked_sound_state::aerofgt_gfxbank_w)); - map(0xffff88, 0xffff89).w(FUNC(aerofgt_banked_sound_state::scrolly_w<0>)); /* + something else in the top byte */ - map(0xffff90, 0xffff91).w(FUNC(aerofgt_banked_sound_state::scrolly_w<1>)); /* + something else in the top byte */ + map(0x1b0000, 0x1b07ff).ram().share(m_rasterram); // used only for the scroll registers + map(0x1b0800, 0x1b0801).ram(); // tracks watchdog state + map(0x1b0ff0, 0x1b0fff).ram(); // stack area during boot + map(0x1b2000, 0x1b3fff).ram().w(FUNC(aerofgt_state::vram_w<0>)).share("vram.0"); + map(0x1b4000, 0x1b5fff).ram().w(FUNC(aerofgt_state::vram_w<1>)).share("vram.1"); + map(0x1c0000, 0x1c7fff).ram().share(m_sprlookupram[0]); + map(0x1d0000, 0x1d1fff).ram().share(m_spriteram); + map(0xfef000, 0xffefff).ram(); // work RAM + map(0xffff80, 0xffff87).w(FUNC(aerofgt_state::gfxbank_w)); + map(0xffff88, 0xffff89).w(FUNC(aerofgt_state::scrolly_w<0>)); // + something else in the top byte + map(0xffff90, 0xffff91).w(FUNC(aerofgt_state::scrolly_w<1>)); // + something else in the top byte map(0xffffa0, 0xffffbf).rw("io", FUNC(vs9209_device::read), FUNC(vs9209_device::write)).umask16(0x00ff); map(0xffffc1, 0xffffc1).w(m_soundlatch, FUNC(generic_latch_8_device::write)); } @@ -402,13 +402,13 @@ void aerofgt_banked_sound_state::aerofgt_map(address_map &map) void aerofgt_sound_cpu_state::aerfboot_map(address_map &map) { map(0x000000, 0x07ffff).rom(); - map(0x0c0000, 0x0cffff).ram(); /* work RAM */ + map(0x0c0000, 0x0cffff).ram(); // work RAM map(0x0d0000, 0x0d1fff).ram().w(FUNC(aerofgt_sound_cpu_state::vram_w<0>)).share("vram.0"); map(0x0d2000, 0x0d3fff).ram().w(FUNC(aerofgt_sound_cpu_state::vram_w<1>)).share("vram.1"); - map(0x0e0000, 0x0e3fff).ram().share("sprlookupram1"); - map(0x0e4000, 0x0e7fff).ram().share("sprlookupram2"); - map(0x0f8000, 0x0fbfff).ram(); /* work RAM */ - map(0x0fc000, 0x0fc7ff).ram(); //.share("spriteram"); + map(0x0e0000, 0x0e3fff).ram().share(m_sprlookupram[0]); + map(0x0e4000, 0x0e7fff).ram().share(m_sprlookupram[1]); + map(0x0f8000, 0x0fbfff).ram(); // work RAM + map(0x0fc000, 0x0fc7ff).ram(); //.share(m_spriteram); map(0x0fd000, 0x0fd7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x0fe000, 0x0fe001).portr("IN0"); map(0x0fe002, 0x0fe003).portr("IN1"); @@ -422,57 +422,57 @@ void aerofgt_sound_cpu_state::aerfboot_map(address_map &map) map(0x0fe010, 0x0fe011).nopw(); map(0x0fe012, 0x0fe013).nopw(); // MSB = watchdog? map(0x0fe400, 0x0fe403).nopw(); // GGA access - map(0x0ff000, 0x0fffff).ram().share("rasterram"); /* used only for the scroll registers */ + map(0x0ff000, 0x0fffff).ram().share(m_rasterram); // used only for the scroll registers map(0x100000, 0x107fff).nopw(); - map(0x108000, 0x10bfff).ram().share("spriteram"); + map(0x108000, 0x10bfff).ram().share(m_spriteram); map(0x10c000, 0x117fff).nopw(); } -void aerofgt_state::aerfboo2_map(address_map &map) +void aerofgt_base_state::aerfboo2_map(address_map &map) { map(0x000000, 0x07ffff).rom(); - map(0x0c0000, 0x0cffff).ram(); /* work RAM */ - map(0x0d0000, 0x0d1fff).ram().w(FUNC(aerofgt_state::vram_w<0>)).share("vram.0"); - map(0x0d2000, 0x0d3fff).ram().w(FUNC(aerofgt_state::vram_w<1>)).share("vram.1"); - map(0x0e0000, 0x0e3fff).ram().share("sprlookupram1"); - map(0x0e4000, 0x0e7fff).ram().share("sprlookupram2"); - map(0x0f8000, 0x0fbfff).ram(); /* work RAM */ - map(0x0fc000, 0x0fc7ff).ram().share("spriteram"); + map(0x0c0000, 0x0cffff).ram(); // work RAM + map(0x0d0000, 0x0d1fff).ram().w(FUNC(aerofgt_base_state::vram_w<0>)).share("vram.0"); + map(0x0d2000, 0x0d3fff).ram().w(FUNC(aerofgt_base_state::vram_w<1>)).share("vram.1"); + map(0x0e0000, 0x0e3fff).ram().share(m_sprlookupram[0]); + map(0x0e4000, 0x0e7fff).ram().share(m_sprlookupram[1]); + map(0x0f8000, 0x0fbfff).ram(); // work RAM + map(0x0fc000, 0x0fc7ff).ram().share(m_spriteram); map(0x0fd000, 0x0fd7ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0x0fe000, 0x0fe001).portr("IN0"); map(0x0fe002, 0x0fe003).portr("IN1"); map(0x0fe004, 0x0fe005).portr("DSW1"); map(0x0fe008, 0x0fe009).portr("DSW2"); - map(0x0fe002, 0x0fe003).w(FUNC(aerofgt_state::scrolly_w<0>)); - map(0x0fe004, 0x0fe005).w(FUNC(aerofgt_state::scrollx_w<1>)); - map(0x0fe006, 0x0fe007).w(FUNC(aerofgt_state::scrolly_w<1>)); - map(0x0fe008, 0x0fe00b).w(FUNC(aerofgt_state::turbofrc_gfxbank_w)); + map(0x0fe002, 0x0fe003).w(FUNC(aerofgt_base_state::scrolly_w<0>)); + map(0x0fe004, 0x0fe005).w(FUNC(aerofgt_base_state::scrollx_w<1>)); + map(0x0fe006, 0x0fe007).w(FUNC(aerofgt_base_state::scrolly_w<1>)); + map(0x0fe008, 0x0fe00b).w(FUNC(aerofgt_base_state::turbofrc_gfxbank_w)); map(0x0fe006, 0x0fe006).r(m_oki, FUNC(okim6295_device::read)); map(0x0fe00e, 0x0fe00e).w(m_oki, FUNC(okim6295_device::write)); - map(0x0fe01e, 0x0fe01f).w(FUNC(aerofgt_state::aerfboo2_okim6295_banking_w)); + map(0x0fe01e, 0x0fe01f).w(FUNC(aerofgt_base_state::aerfboo2_okim6295_banking_w)); // map(0x0fe010, 0x0fe011).nopw(); -// map(0x0fe012, 0x0fe013).w(FUNC(aerofgt_state::aerfboot_soundlatch_w)); +// map(0x0fe012, 0x0fe013).w(FUNC(aerofgt_base_state::aerfboot_soundlatch_w)); map(0x0fe400, 0x0fe403).nopw(); // GGA access - map(0x0ff000, 0x0fffff).ram().share("rasterram"); /* used only for the scroll registers */ + map(0x0ff000, 0x0fffff).ram().share(m_rasterram); // used only for the scroll registers } -void aerofgt_sound_cpu_state::wbbc97_map(address_map &map) +void wbbc97_state::main_map(address_map &map) { map(0x000000, 0x3fffff).rom(); - map(0x500000, 0x50ffff).ram(); /* work RAM */ - map(0x600000, 0x605fff).ram().share("sprlookupram1"); - map(0xa00000, 0xa3ffff).ram().share("bitmapram"); - map(0xff8000, 0xff8fff).ram().w(FUNC(aerofgt_sound_cpu_state::vram_w<0>)).share("vram.0"); - map(0xffc000, 0xffc3ff).writeonly().share("spriteram"); - map(0xffd000, 0xffdfff).ram().share("rasterram"); /* bg1 scroll registers */ + map(0x500000, 0x50ffff).ram(); // work RAM + map(0x600000, 0x605fff).ram().share(m_sprlookupram[0]); + map(0xa00000, 0xa3ffff).ram().share(m_bitmapram); + map(0xff8000, 0xff8fff).ram().w(FUNC(wbbc97_state::vram_w<0>)).share("vram.0"); + map(0xffc000, 0xffc3ff).writeonly().share(m_spriteram); + map(0xffd000, 0xffdfff).ram().share(m_rasterram); // bg1 scroll registers map(0xffe000, 0xffefff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); map(0xfff000, 0xfff001).portr("IN0"); - map(0xfff001, 0xfff001).w(FUNC(aerofgt_sound_cpu_state::pspikes_palette_bank_w)); + map(0xfff001, 0xfff001).w(FUNC(wbbc97_state::pspikes_palette_bank_w)); map(0xfff002, 0xfff003).portr("IN1"); - map(0xfff003, 0xfff003).w(FUNC(aerofgt_sound_cpu_state::pspikes_gfxbank_w)); - map(0xfff004, 0xfff005).portr("DSW").w(FUNC(aerofgt_sound_cpu_state::scrolly_w<0>)); - map(0xfff007, 0xfff007).r(FUNC(aerofgt_sound_cpu_state::soundlatch_pending_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write)).umask16(0x00ff); - map(0xfff00e, 0xfff00f).w(FUNC(aerofgt_sound_cpu_state::wbbc97_bitmap_enable_w)); + map(0xfff003, 0xfff003).w(FUNC(wbbc97_state::pspikes_gfxbank_w)); + map(0xfff004, 0xfff005).portr("DSW").w(FUNC(wbbc97_state::scrolly_w<0>)); + map(0xfff007, 0xfff007).r(FUNC(wbbc97_state::soundlatch_pending_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write)).umask16(0x00ff); + map(0xfff00e, 0xfff00f).w(FUNC(wbbc97_state::bitmap_enable_w)); map(0xfff400, 0xfff403).nopw(); // GGA access } @@ -491,14 +491,6 @@ void aerofgt_banked_sound_state::spinlbrk_sound_portmap(address_map &map) map(0x18, 0x1b).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write)); } -void aerofgt_banked_sound_state::turbofrc_sound_portmap(address_map &map) -{ - map.global_mask(0xff); - map(0x00, 0x00).w(FUNC(aerofgt_banked_sound_state::sh_bankswitch_w)); - map(0x14, 0x14).rw(m_soundlatch, FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::acknowledge_w)); - map(0x18, 0x1b).rw("ymsnd", FUNC(ym2610_device::read), FUNC(ym2610_device::write)); -} - void aerofgt_banked_sound_state::aerofgt_sound_portmap(address_map &map) { map.global_mask(0xff); @@ -517,7 +509,7 @@ void aerofgt_sound_cpu_state::aerfboot_sound_map(address_map &map) map(0xa000, 0xa000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); } -void aerofgt_sound_cpu_state::wbbc97_sound_map(address_map &map) +void wbbc97_state::sound_map(address_map &map) { map(0x0000, 0xefff).rom(); map(0xf000, 0xf7ff).ram(); @@ -527,20 +519,20 @@ void aerofgt_sound_cpu_state::wbbc97_sound_map(address_map &map) map(0xfc20, 0xfc20).r(m_soundlatch, FUNC(generic_latch_8_device::read)); } -void aerofgt_sound_cpu_state::karatblzbl_sound_map(address_map &map) +void karatblzbl_state::sound_map(address_map &map) { map(0x0000, 0xefff).rom(); map(0xf000, 0xf7ff).ram(); map(0xf800, 0xf800).r(m_soundlatch, FUNC(generic_latch_8_device::read)); //.w("soundlatch2", FUNC(generic_latch_8_device::write)); } -void aerofgt_sound_cpu_state::karatblzbl_sound_portmap(address_map &map) +void karatblzbl_state::sound_portmap(address_map &map) { map.global_mask(0xff); map(0x00, 0x00).rw("ymsnd", FUNC(ym3812_device::status_r), FUNC(ym3812_device::address_w)); map(0x20, 0x20).w("ymsnd", FUNC(ym3812_device::data_w)); - map(0x40, 0x40).w(FUNC(aerofgt_sound_cpu_state::karatblzbl_d7759_write_port_0_w)); - map(0x80, 0x80).w(FUNC(aerofgt_sound_cpu_state::karatblzbl_d7759_reset_w)); + map(0x40, 0x40).w(FUNC(karatblzbl_state::d7759_write_port_0_w)); + map(0x80, 0x80).w(FUNC(karatblzbl_state::d7759_reset_w)); } void aerofgt_sound_cpu_state::kickball_sound_map(address_map &map) @@ -559,7 +551,7 @@ void aerofgt_sound_cpu_state::kickball_sound_portmap(address_map &map) map(0xc0, 0xc0).w(m_soundlatch, FUNC(generic_latch_8_device::acknowledge_w)); } -void aerofgt_sound_cpu_state::spikes91_sound_map(address_map &map) +void spikes91_state::spikes91_sound_map(address_map &map) { map(0x0000, 0xdfff).rom(); map(0xe000, 0xe001).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)); @@ -569,8 +561,8 @@ void aerofgt_sound_cpu_state::spikes91_sound_map(address_map &map) map(0xf800, 0xffff).ram(); } -void aerofgt_sound_cpu_state::oki_map(address_map &map) -{ //only for aerfboot for now +void aerofgt_base_state::oki_map(address_map &map) +{ map(0x00000, 0x1ffff).rom(); map(0x20000, 0x3ffff).bankr(m_okibank); } @@ -615,15 +607,15 @@ static INPUT_PORTS_START( pspikes ) PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x000c, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x0000, DEF_STR( 1C_2C ) ) - PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) /* Listed as "Unused" */ - PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" ) /* Listed as "Unused" */ + PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) // Listed as "Unused" + PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" ) // Listed as "Unused" PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - /* According to Super Volley '91 PCB Infos, here DSW2 starts */ + // According to Super Volley '91 PCB Infos, here DSW2 starts PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:1" ) PORT_DIPNAME( 0x0600, 0x0600, "1 Player Starting Score" ) PORT_DIPLOCATION("SW2:2,3") PORT_DIPSETTING( 0x0600, "12-12" ) @@ -638,11 +630,11 @@ static INPUT_PORTS_START( pspikes ) PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x2000, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) ) - /* When the players continue, only half of the time in SW2:7 is added */ + // When the players continue, only half of the time in SW2:7 is added PORT_DIPNAME( 0x4000, 0x4000, "2 Players Time Per Credit" ) PORT_DIPLOCATION("SW2:7") PORT_DIPSETTING( 0x4000, "3 min" ) PORT_DIPSETTING( 0x0000, "2 min" ) - /* The next one is reported as 'Must be off' in Super Volley '91 PCB Infos */ + // The next one is reported as 'Must be off' in Super Volley '91 PCB Infos PORT_DIPNAME( 0x8000, 0x8000, "Debug" ) PORT_DIPLOCATION("SW2:8") PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -678,7 +670,7 @@ static INPUT_PORTS_START( pspikesb ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW") - /* Dips bank 1 */ + // Dips bank 1 PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2") PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) ) @@ -695,7 +687,7 @@ static INPUT_PORTS_START( pspikesb ) PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) - /* Dips bank 2 */ + // Dips bank 2 PORT_DIPUNUSED_DIPLOC( 0x0100, 0x0100, "SW2:1" ) PORT_DIPNAME( 0x0600, 0x0600, "1 Player Starting Score" ) PORT_DIPLOCATION("SW2:2,3") PORT_DIPSETTING( 0x0600, "12-12" ) @@ -788,7 +780,7 @@ static INPUT_PORTS_START( karatblz ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4) PORT_START("DSW") - PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") /* It affects Coin 1, 2, 3 and 4 */ + PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") // It affects Coin 1, 2, 3 and 4 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) ) @@ -803,11 +795,11 @@ static INPUT_PORTS_START( karatblz ) PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:5") PORT_DIPSETTING( 0x0000, "1" ) PORT_DIPSETTING( 0x0010, "2" ) - PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6,7") /* Game Type */ - PORT_DIPSETTING( 0x0060, "2 Players" ) /* 1 Unit / 2 Players */ - PORT_DIPSETTING( 0x0040, "3 Players" ) /* 1 Unit / 3 Players */ - PORT_DIPSETTING( 0x0020, "4 Players" ) /* 1 Unit / 4 Players */ - PORT_DIPSETTING( 0x0000, "4 Players (Team)" ) /* 2 Units / 4 Players */ + PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6,7") // Game Type + PORT_DIPSETTING( 0x0060, "2 Players" ) // 1 Unit / 2 Players + PORT_DIPSETTING( 0x0040, "3 Players" ) // 1 Unit / 3 Players + PORT_DIPSETTING( 0x0020, "4 Players" ) // 1 Unit / 4 Players + PORT_DIPSETTING( 0x0000, "4 Players (Team)" ) // 2 Units / 4 Players /* With 4 player (Team) selected and Same Coin Slot: Coin A & B credit together for use by _only_ player 1 or player 2 Coin C & D credit together for use by _only_ player 3 or player 4 @@ -815,7 +807,7 @@ static INPUT_PORTS_START( karatblz ) PORT_DIPNAME( 0x0080, 0x0080, "Coin Slot" ) PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x0080, "Same" ) PORT_DIPSETTING( 0x0000, "Individual" ) - /* According to Turbo Force manual, here DSW2 starts */ + // According to Turbo Force manual, here DSW2 starts PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:1" ) PORT_DIPNAME( 0x0600, 0x0600, "Number of Enemies" ) PORT_DIPLOCATION("SW2:2,3") PORT_DIPSETTING( 0x0400, DEF_STR( Easy ) ) @@ -827,7 +819,7 @@ static INPUT_PORTS_START( karatblz ) PORT_DIPSETTING( 0x1800, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0800, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) - /* Listed in manual as N.C. (aka No Connection) */ + // Listed in manual as N.C. (aka No Connection) PORT_DIPNAME( 0x2000, 0x2000, "Freeze" ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -843,7 +835,7 @@ static INPUT_PORTS_START( karatblzu ) PORT_INCLUDE( karatblz ) PORT_MODIFY("DSW") - /* Suggested default in US manual is DEF_STR( Hard ) for these two */ + // Suggested default in US manual is DEF_STR( Hard ) for these two PORT_DIPNAME( 0x0600, 0x0200, "Number of Enemies" ) PORT_DIPLOCATION("SW2:2,3") PORT_DIPSETTING( 0x0400, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0600, DEF_STR( Normal ) ) @@ -887,8 +879,8 @@ static INPUT_PORTS_START( spinlbrk ) PORT_START("DSW") PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4") - PORT_DIPSETTING( 0x000f, "1 Credit 1 Health Pack" ) /* I chose "Health Packs" as the actual value can change */ - PORT_DIPSETTING( 0x000e, "1 Credit 2 Health Packs" ) /* via dipswitch 2-7 (0x4000) see below */ + PORT_DIPSETTING( 0x000f, "1 Credit 1 Health Pack" ) // I chose "Health Packs" as the actual value can change + PORT_DIPSETTING( 0x000e, "1 Credit 2 Health Packs" ) // via dipswitch 2-7 (0x4000) see below PORT_DIPSETTING( 0x000d, "1 Credit 3 Health Packs" ) PORT_DIPSETTING( 0x000c, "1 Credit 4 Health Packs" ) PORT_DIPSETTING( 0x000b, "1 Credit 5 Health Packs" ) @@ -927,7 +919,7 @@ static INPUT_PORTS_START( spinlbrk ) PORT_DIPSETTING( 0x0020, "1-1-1-1-1C 1-1-1-1-2 HPs" ) PORT_DIPSETTING( 0x0010, "1-1-1-1C 1-1-1-2 HPs" ) PORT_DIPSETTING( 0x0000, "1-1C 1-2 HPs" ) - /* According to Spinal Breakers manual, here DSW2 starts */ + // According to Spinal Breakers manual, here DSW2 starts PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") PORT_DIPSETTING( 0x0300, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) ) @@ -941,12 +933,12 @@ static INPUT_PORTS_START( spinlbrk ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPNAME( 0x1000, 0x1000, "Lever Type" ) PORT_DIPLOCATION("SW2:5") PORT_DIPSETTING( 0x1000, "Digital" ) - PORT_DIPSETTING( 0x0000, "Analog" ) /* This setting causes lever error??? */ + PORT_DIPSETTING( 0x0000, "Analog" ) // This setting causes lever error??? PORT_SERVICE_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:6" ) PORT_DIPNAME( 0x4000, 0x4000, "Health Pack" ) PORT_DIPLOCATION("SW2:7") PORT_DIPSETTING( 0x4000, "32 Hitpoints" ) PORT_DIPSETTING( 0x0000, "40 Hitpoints" ) - /* Default in US manual is "5 points" */ + // Default in US manual is "5 points" PORT_DIPNAME( 0x8000, 0x8000, "Life Restoration" ) PORT_DIPLOCATION("SW2:8") PORT_DIPSETTING( 0x8000, "10 Points" ) PORT_DIPSETTING( 0x0000, "5 Points" ) @@ -956,7 +948,7 @@ static INPUT_PORTS_START( spinlbrku ) PORT_INCLUDE(spinlbrk) PORT_MODIFY("DSW") - /* Suggested default in US manual is DEF_STR( Hardest ) */ + // Suggested default in US manual is DEF_STR( Hardest ) PORT_DIPNAME( 0x0300, 0x0000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") PORT_DIPSETTING( 0x0300, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) ) @@ -979,12 +971,12 @@ static INPUT_PORTS_START( turbofrc ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* COIN1 in service */ + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) // COIN1 in service PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE ) /* "TEST" */ + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE ) // "TEST" PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN3 ) @@ -997,7 +989,7 @@ static INPUT_PORTS_START( turbofrc ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* START1 */ + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) // START1 PORT_START("IN2") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) @@ -1010,7 +1002,7 @@ static INPUT_PORTS_START( turbofrc ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START3 ) PORT_START("DSW") - PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") /* It affects Coin 1, 2 and 3 */ + PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") // It affects Coin 1, 2 and 3 PORT_DIPSETTING( 0x0004, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x0006, DEF_STR( 2C_1C ) ) @@ -1032,7 +1024,7 @@ static INPUT_PORTS_START( turbofrc ) PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) - /* According to Turbo Force manual, here DSW2 starts */ + // According to Turbo Force manual, here DSW2 starts PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1") PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -1051,9 +1043,9 @@ static INPUT_PORTS_START( turbofrc ) PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x2000, "200000" ) PORT_DIPSETTING( 0x0000, "300000" ) - /* The following 2 are listed in Turbo Force manual as N.C. (aka No Connection) and "Should be kept on OFF" */ - PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" ) /* Listed as "Unused" */ - PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) /* Listed as "Unused" */ + // The following 2 are listed in Turbo Force manual as N.C. (aka No Connection) and "Should be kept on OFF" + PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" ) // Listed as "Unused" + PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW2:8" ) // Listed as "Unused" INPUT_PORTS_END static INPUT_PORTS_START( aerofgtb ) @@ -1086,8 +1078,8 @@ static INPUT_PORTS_START( aerofgtb ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") - /* Dips bank 1 */ - /* "Free Play mode: Have SW1:1-8 ON." */ + // Dips bank 1 + // "Free Play mode: Have SW1:1-8 ON." PORT_DIPNAME( 0x0001, 0x0001, "Coin Slot" ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x0001, "Same" ) PORT_DIPSETTING( 0x0000, "Individual" ) @@ -1109,11 +1101,11 @@ static INPUT_PORTS_START( aerofgtb ) PORT_DIPSETTING( 0x0020, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0010, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) - PORT_DIPNAME( 0x0080, 0x0080, "Continue Coin" ) PORT_DIPLOCATION("SW1:8") /* "When ON SW1:2-7 are disabled." */ + PORT_DIPNAME( 0x0080, 0x0080, "Continue Coin" ) PORT_DIPLOCATION("SW1:8") // "When ON SW1:2-7 are disabled." PORT_DIPSETTING( 0x0080, "Start 1 Coin/Continue 1 Coin" ) PORT_DIPSETTING( 0x0000, "Start 2 Coin/Continue 1 Coin" ) - /* Dips bank 2 */ + // Dips bank 2 PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:1") PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) @@ -1135,13 +1127,13 @@ static INPUT_PORTS_START( aerofgtb ) PORT_DIPSETTING( 0x0000, "300000" ) PORT_SERVICE( 0x8000, IP_ACTIVE_LOW ) - /* Dips bank 3 (not documented) */ + // Dips bank 3 (not documented) PORT_START("DSW2") PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Region ) ) PORT_DIPLOCATION("SW3:1") PORT_DIPSETTING( 0x0000, DEF_STR( Japan ) ) PORT_DIPSETTING( 0x0001, DEF_STR( Taiwan ) ) - /* TODO: there are others in the table at 11910 */ - /* this port is checked at 1b080 */ + // TODO: there are others in the table at 11910 + // this port is checked at 1b080 INPUT_PORTS_END static INPUT_PORTS_START( aerofgt ) @@ -1176,7 +1168,7 @@ static INPUT_PORTS_START( aerofgt ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") - /* "Free Play mode: Have SW1:1-8 ON." */ + // "Free Play mode: Have SW1:1-8 ON." PORT_DIPNAME( 0x01, 0x01, "Coin Slot" ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x01, "Same" ) PORT_DIPSETTING( 0x00, "Individual" ) @@ -1198,7 +1190,7 @@ static INPUT_PORTS_START( aerofgt ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) ) - PORT_DIPNAME( 0x80, 0x80, "Continue Coin" ) PORT_DIPLOCATION("SW1:8") /* "When ON, SW1:2-7 are disabled." */ + PORT_DIPNAME( 0x80, 0x80, "Continue Coin" ) PORT_DIPLOCATION("SW1:8") // "When ON, SW1:2-7 are disabled." PORT_DIPSETTING( 0x80, "Start 1 Coin/Continue 1 Coin" ) PORT_DIPSETTING( 0x00, "Start 2 Coin/Continue 1 Coin" ) @@ -1224,7 +1216,7 @@ static INPUT_PORTS_START( aerofgt ) PORT_DIPSETTING( 0x00, "300000" ) PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" ) - /* Jumpers not documented in the Aero Fighters manual */ + // Jumpers not documented in the Aero Fighters manual PORT_START("JP1") PORT_DIPNAME( 0xf, 0x0, DEF_STR( Region ) ) PORT_DIPSETTING( 0x0, "Any" ) @@ -1241,17 +1233,6 @@ static INPUT_PORTS_START( wbbc97 ) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 ) INPUT_PORTS_END -static const gfx_layout aerofgt_charlayout = -{ - 8,8, - RGN_FRAC(1,1), - 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 const gfx_layout pspikesb_charlayout = { 8,8, @@ -1285,19 +1266,6 @@ static const gfx_layout aerfboo2_charlayout = 32*4 }; -static const gfx_layout pspikes_spritelayout = -{ - 16,16, - RGN_FRAC(1,2), - 4, - { 0, 1, 2, 3 }, - { 1*4, 0*4, 3*4, 2*4, RGN_FRAC(1,2)+1*4, RGN_FRAC(1,2)+0*4, RGN_FRAC(1,2)+3*4, RGN_FRAC(1,2)+2*4, - 5*4, 4*4, 7*4, 6*4, RGN_FRAC(1,2)+5*4, RGN_FRAC(1,2)+4*4, RGN_FRAC(1,2)+7*4, RGN_FRAC(1,2)+6*4 }, - { 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 }, - 64*8 -}; - static const gfx_layout pspikesb_spritelayout = { 16,16, @@ -1310,20 +1278,6 @@ static const gfx_layout pspikesb_spritelayout = 32*8 }; -static const gfx_layout aerofgt_spritelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { 0, 1, 2, 3 }, - { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, - 10*4, 11*4, 8*4, 9*4, 14*4, 15*4, 12*4, 13*4 }, - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, - 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 }, - 128*8 -}; - - static const gfx_layout aerfboot_spritelayout = { @@ -1351,22 +1305,6 @@ static const gfx_layout aerfboo2_spritelayout = 16*64 }; -static const gfx_layout wbbc97_spritelayout = -{ - 16,16, - RGN_FRAC(1,4), - 4, - { 0,1,2,3 }, - { - RGN_FRAC(3,4)+4, RGN_FRAC(3,4)+0, RGN_FRAC(2,4)+4, RGN_FRAC(2,4)+0, - RGN_FRAC(1,4)+4, RGN_FRAC(1,4)+0, RGN_FRAC(0,4)+4, RGN_FRAC(0,4)+0, - RGN_FRAC(3,4)+12, RGN_FRAC(3,4)+8, RGN_FRAC(2,4)+12, RGN_FRAC(2,4)+8, - RGN_FRAC(1,4)+12, RGN_FRAC(1,4)+8, RGN_FRAC(0,4)+12, RGN_FRAC(0,4)+8 - }, - { 0*8,2*8,4*8,6*8,8*8,10*8,12*8,14*8,16*8,18*8,20*8,22*8,24*8,26*8,28*8,30*8 }, - 8*32 -}; - static const gfx_layout kickball_spritelayout = { 16,16, @@ -1379,66 +1317,52 @@ static const gfx_layout kickball_spritelayout = }; static GFXDECODE_START( gfx_pspikes ) - GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 64 ) /* colors 0-1023 in 8 banks */ - GFXDECODE_ENTRY( "gfx2", 0, pspikes_spritelayout, 1024, 64 ) /* colors 1024-2047 in 4 banks */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 64 ) // colors 0-1023 in 8 banks + GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_packed_lsb, 1024, 64 ) // colors 1024-2047 in 4 banks GFXDECODE_END static GFXDECODE_START( gfx_pspikesb ) - GFXDECODE_ENTRY( "gfx1", 0, pspikesb_charlayout, 0, 64 ) /* colors 0-1023 in 8 banks */ - GFXDECODE_ENTRY( "gfx2", 0, pspikesb_spritelayout, 1024, 64 ) /* colors 1024-2047 in 4 banks */ + GFXDECODE_ENTRY( "gfx1", 0, pspikesb_charlayout, 0, 64 ) // colors 0-1023 in 8 banks + GFXDECODE_ENTRY( "gfx2", 0, pspikesb_spritelayout, 1024, 64 ) // colors 1024-2047 in 4 banks GFXDECODE_END static GFXDECODE_START( gfx_spikes91 ) - GFXDECODE_ENTRY( "gfx1", 0, pspikesb_charlayout, 0, 64 ) /* colors 0-1023 in 8 banks */ - GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_planar, 1024, 64 ) /* colors 1024-2047 in 4 banks */ + GFXDECODE_ENTRY( "gfx1", 0, pspikesb_charlayout, 0, 64 ) // colors 0-1023 in 8 banks + GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_planar, 1024, 64 ) // colors 1024-2047 in 4 banks GFXDECODE_END static GFXDECODE_START( gfx_kickball ) - GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 64 ) /* colors 0-1023 in 8 banks */ - GFXDECODE_ENTRY( "gfx2", 0, kickball_spritelayout, 1024, 64 ) /* colors 1024-2047 in 4 banks */ + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 64 ) // colors 0-1023 in 8 banks + GFXDECODE_ENTRY( "gfx2", 0, kickball_spritelayout, 1024, 64 ) // colors 1024-2047 in 4 banks GFXDECODE_END static GFXDECODE_START( gfx_turbofrc ) - GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_lsb, 256, 16 ) - GFXDECODE_ENTRY( "spritegfx", 0, pspikes_spritelayout, 512, 16 ) - GFXDECODE_ENTRY( "gfx4", 0, pspikes_spritelayout, 768, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x4_packed_lsb, 256, 16 ) + GFXDECODE_ENTRY( "spritegfx", 0, gfx_16x16x4_packed_lsb, 512, 16 ) + GFXDECODE_ENTRY( "gfx4", 0, gfx_16x16x4_packed_lsb, 768, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_aerofgt ) - GFXDECODE_ENTRY( "gfx1", 0, aerofgt_charlayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx1", 0, aerofgt_charlayout, 256, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, aerofgt_spritelayout, 512, 32 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 0, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_msb, 256, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, gfx_16x16x4_packed_msb, 512, 32 ) GFXDECODE_END static GFXDECODE_START( gfx_aerfboot ) - GFXDECODE_ENTRY( "gfx1", 0, aerfboot_charlayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx1", 0x20000, aerfboot_charlayout, 256, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, aerfboot_spritelayout, 512, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, aerfboot_charlayout, 0, 16 ) + GFXDECODE_ENTRY( "gfx1", 0x20000, aerfboot_charlayout, 256, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, aerfboot_spritelayout, 512, 16 ) GFXDECODE_ENTRY( "spritegfx", 0, aerfboot_spritelayout, 768, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_aerfboo2 ) - GFXDECODE_ENTRY( "gfx1", 0, aerfboo2_charlayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, aerfboo2_charlayout, 256, 16 ) + GFXDECODE_ENTRY( "gfx1", 0, aerfboo2_charlayout, 0, 16 ) + GFXDECODE_ENTRY( "gfx2", 0, aerfboo2_charlayout, 256, 16 ) GFXDECODE_ENTRY( "spritegfx", 0, aerfboo2_spritelayout, 512, 16 ) GFXDECODE_ENTRY( "spritegfx", 0x100000,aerfboo2_spritelayout, 768, 16 ) GFXDECODE_END -static GFXDECODE_START( gfx_wbbc97 ) - GFXDECODE_ENTRY( "gfx1", 0, gfx_8x8x4_packed_lsb, 0, 64 ) /* colors 0-1023 in 8 banks */ - GFXDECODE_ENTRY( "gfx2", 0, wbbc97_spritelayout, 1024, 64 ) /* colors 1024-2047 in 4 banks */ -GFXDECODE_END - - -void aerofgt_sound_cpu_state::machine_start() -{ - aerofgt_state::machine_start(); - - m_spikes91_lookup = 0; - - save_item(NAME(m_spikes91_lookup)); -} void aerofgt_banked_sound_state::machine_start() { @@ -1451,24 +1375,24 @@ void aerofgt_banked_sound_state::machine_reset() { aerofgt_sound_cpu_state::machine_reset(); - m_soundbank->set_entry(0); /* needed by spinlbrk */ + m_soundbank->set_entry(0); // needed by spinlbrk } void aerofgt_banked_sound_state::pspikes(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */ + // basic machine hardware + M68000(config, m_maincpu, XTAL(20'000'000)/2); // verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::pspikes_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); /* all irq vectors are the same */ + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); // all irq vectors are the same - Z80(config, m_audiocpu, XTAL(20'000'000)/4); /* verified on pcb */ + Z80(config, m_audiocpu, XTAL(20'000'000)/4); // verified on pcb m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::turbofrc_sound_portmap); - /* IRQs are triggered by the YM2610 */ + m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::spinlbrk_sound_portmap); + // IRQs are triggered by the YM2610 - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(61.31); /* verified on pcb */ + screen.set_refresh_hz(61.31); // verified on pcb screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8+4, 44*8+4-1, 0*8, 30*8-1); @@ -1487,7 +1411,7 @@ void aerofgt_banked_sound_state::pspikes(machine_config &config) MCFG_VIDEO_START_OVERRIDE(aerofgt_banked_sound_state,pspikes) - /* sound hardware */ + // sound hardware SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); @@ -1503,26 +1427,26 @@ void aerofgt_banked_sound_state::pspikes(machine_config &config) ymsnd.add_route(2, "rspeaker", 1.0); } -void aerofgt_sound_cpu_state::spikes91(machine_config &config) +void spikes91_state::spikes91(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ - m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::spikes91_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_sound_cpu_state::irq1_line_hold)); /* all irq vectors are the same */ + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) + m_maincpu->set_addrmap(AS_PROGRAM, &spikes91_state::spikes91_map); + m_maincpu->set_vblank_int("screen", FUNC(spikes91_state::irq1_line_hold)); // all irq vectors are the same Z80(config, m_audiocpu, 24000000/8); // ? - m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::spikes91_sound_map); + m_audiocpu->set_addrmap(AS_PROGRAM, &spikes91_state::spikes91_sound_map); GENERIC_LATCH_8(config, m_soundlatch); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 320-1, 0*8+4, 224+4-1); - screen.set_screen_update(FUNC(aerofgt_sound_cpu_state::screen_update_spikes91)); + screen.set_screen_update(FUNC(spikes91_state::screen_update_spikes91)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_spikes91); @@ -1530,8 +1454,6 @@ void aerofgt_sound_cpu_state::spikes91(machine_config &config) //VSYSTEM_GGA(config, "gga", 0); - MCFG_VIDEO_START_OVERRIDE(aerofgt_sound_cpu_state,pspikes) - SPEAKER(config, "mono").front_center(); ym2151_device &ymsnd(YM2151(config, "ymsnd", 24000000/8)); @@ -1540,20 +1462,20 @@ void aerofgt_sound_cpu_state::spikes91(machine_config &config) // TODO: OKI M5205 } -void aerofgt_state::pspikesb(machine_config &config) +void aerofgt_base_state::pspikesb(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ - m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::pspikesb_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */ + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) + m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_base_state::pspikesb_map); + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_base_state::irq1_line_hold)); // all irq vectors are the same - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8+4, 44*8+4-1, 0*8, 30*8-1); - screen.set_screen_update(FUNC(aerofgt_state::screen_update_pspikesb)); + screen.set_screen_update(FUNC(aerofgt_base_state::screen_update_pspikesb)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_pspikesb); @@ -1561,12 +1483,13 @@ void aerofgt_state::pspikesb(machine_config &config) //VSYSTEM_GGA(config, "gga", 0); - MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes) + MCFG_VIDEO_START_OVERRIDE(aerofgt_base_state,pspikes) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_LOW); // clock frequency & pin 7 not verified, pin high causes sound pitch to be too high + m_oki->set_addrmap(0, &aerofgt_base_state::oki_map); m_oki->add_route(ALL_OUTPUTS, "mono", 1.0); } @@ -1579,16 +1502,16 @@ void aerofgt_state::pspikesb(machine_config &config) void aerofgt_sound_cpu_state::kickball(machine_config &config) { - /* basic machine hardware */ + // basic machine hardware M68000(config, m_maincpu, XTAL(10'000'000)); // 10Mhz XTAL near 10Mhz rated CPU m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::kickball_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_sound_cpu_state::irq1_line_hold)); /* only IRQ1 is valid */ + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_sound_cpu_state::irq1_line_hold)); // only IRQ1 is valid Z80(config, m_audiocpu, XTAL(4'000'000)); m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::kickball_sound_map); m_audiocpu->set_addrmap(AS_IO, &aerofgt_sound_cpu_state::kickball_sound_portmap); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); @@ -1609,7 +1532,7 @@ void aerofgt_sound_cpu_state::kickball(machine_config &config) MCFG_VIDEO_START_OVERRIDE(aerofgt_sound_cpu_state,pspikes) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); @@ -1624,20 +1547,20 @@ void aerofgt_sound_cpu_state::kickball(machine_config &config) m_oki->add_route(ALL_OUTPUTS, "mono", 1.0); } -void aerofgt_state::pspikesc(machine_config &config) +void aerofgt_base_state::pspikesc(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ - m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::pspikesc_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */ + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) + m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_base_state::pspikesc_map); + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_base_state::irq1_line_hold)); // all irq vectors are the same - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8+4, 44*8+4-1, 0*8, 30*8-1); - screen.set_screen_update(FUNC(aerofgt_state::screen_update_pspikes)); + screen.set_screen_update(FUNC(aerofgt_base_state::screen_update_pspikes)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_pspikes); @@ -1646,31 +1569,32 @@ void aerofgt_state::pspikesc(machine_config &config) //VSYSTEM_GGA(config, "gga", 0); VSYSTEM_SPR2(config, m_spr_old[0], 0); - m_spr_old[0]->set_tile_indirect_cb(FUNC(aerofgt_state::aerofgt_old_tile_callback)); + m_spr_old[0]->set_tile_indirect_cb(FUNC(aerofgt_base_state::aerofgt_old_tile_callback)); m_spr_old[0]->set_gfx_region(1); m_spr_old[0]->set_gfxdecode_tag(m_gfxdecode); - MCFG_VIDEO_START_OVERRIDE(aerofgt_state,pspikes) + MCFG_VIDEO_START_OVERRIDE(aerofgt_base_state,pspikes) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified + m_oki->set_addrmap(0, &aerofgt_base_state::oki_map); m_oki->add_route(ALL_OUTPUTS, "mono", 1.0); } void aerofgt_banked_sound_state::karatblz(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::karatblz_map); m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); - Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */ + Z80(config, m_audiocpu, 8000000/2); // 4 MHz ??? m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::turbofrc_sound_portmap); /* IRQs are triggered by the YM2610 */ + m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::spinlbrk_sound_portmap); // IRQs are triggered by the YM2610 - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); @@ -1696,7 +1620,7 @@ void aerofgt_banked_sound_state::karatblz(machine_config &config) MCFG_VIDEO_START_OVERRIDE(aerofgt_banked_sound_state,karatblz) - /* sound hardware */ + // sound hardware SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); @@ -1704,7 +1628,7 @@ void aerofgt_banked_sound_state::karatblz(machine_config &config) m_soundlatch->data_pending_callback().set(FUNC(aerofgt_banked_sound_state::soundlatch_pending_w)); m_soundlatch->set_separate_acknowledge(true); - ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */ + ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); // verified on pcb ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ymsnd.add_route(0, "lspeaker", 0.25); ymsnd.add_route(0, "rspeaker", 0.25); @@ -1712,47 +1636,47 @@ void aerofgt_banked_sound_state::karatblz(machine_config &config) ymsnd.add_route(2, "rspeaker", 1.0); } -void aerofgt_sound_cpu_state::karatblzbl(machine_config &config) +void karatblzbl_state::karatblzbl(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ - m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::karatblzbl_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_sound_cpu_state::irq1_line_hold)); + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) + m_maincpu->set_addrmap(AS_PROGRAM, &karatblzbl_state::main_map); + m_maincpu->set_vblank_int("screen", FUNC(karatblzbl_state::irq1_line_hold)); - Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */ - m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::karatblzbl_sound_map); - m_audiocpu->set_addrmap(AS_IO, &aerofgt_sound_cpu_state::karatblzbl_sound_portmap); + Z80(config, m_audiocpu, 8000000/2); // 4 MHz ??? + m_audiocpu->set_addrmap(AS_PROGRAM, &karatblzbl_state::sound_map); + m_audiocpu->set_addrmap(AS_IO, &karatblzbl_state::sound_portmap); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(1*8, 45*8-1, 0*8, 30*8-1); - screen.set_screen_update(FUNC(aerofgt_sound_cpu_state::screen_update_karatblz)); + screen.set_screen_update(FUNC(karatblzbl_state::screen_update_karatblz)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_turbofrc); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024); VSYSTEM_SPR2(config, m_spr_old[0], 0); - m_spr_old[0]->set_tile_indirect_cb(FUNC(aerofgt_sound_cpu_state::aerofgt_old_tile_callback)); + m_spr_old[0]->set_tile_indirect_cb(FUNC(karatblzbl_state::aerofgt_old_tile_callback)); m_spr_old[0]->set_gfx_region(2); m_spr_old[0]->set_gfxdecode_tag(m_gfxdecode); VSYSTEM_SPR2(config, m_spr_old[1], 0); - m_spr_old[1]->set_tile_indirect_cb(FUNC(aerofgt_sound_cpu_state::aerofgt_ol2_tile_callback)); + m_spr_old[1]->set_tile_indirect_cb(FUNC(karatblzbl_state::aerofgt_ol2_tile_callback)); m_spr_old[1]->set_gfx_region(3); m_spr_old[1]->set_gfxdecode_tag(m_gfxdecode); //VSYSTEM_GGA(config, "gga", 0); - MCFG_VIDEO_START_OVERRIDE(aerofgt_sound_cpu_state,karatblz) + MCFG_VIDEO_START_OVERRIDE(karatblzbl_state,karatblz) GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, "soundlatch2"); - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); @@ -1766,16 +1690,16 @@ void aerofgt_sound_cpu_state::karatblzbl(machine_config &config) void aerofgt_banked_sound_state::spinlbrk(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */ + // basic machine hardware + M68000(config, m_maincpu, XTAL(20'000'000)/2); // verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::spinlbrk_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); /* there are vectors for 3 and 4 too, analog related? */ + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); // there are vectors for 3 and 4 too, analog related? - Z80(config, m_audiocpu, XTAL(20'000'000)/4); /* 5mhz verified on pcb */ + Z80(config, m_audiocpu, XTAL(20'000'000)/4); // 5mhz verified on pcb m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::spinlbrk_sound_portmap); /* IRQs are triggered by the YM2610 */ + m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::spinlbrk_sound_portmap); // IRQs are triggered by the YM2610 - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); @@ -1802,7 +1726,7 @@ void aerofgt_banked_sound_state::spinlbrk(machine_config &config) MCFG_VIDEO_START_OVERRIDE(aerofgt_banked_sound_state,spinlbrk) - /* sound hardware */ + // sound hardware SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); @@ -1810,7 +1734,7 @@ void aerofgt_banked_sound_state::spinlbrk(machine_config &config) m_soundlatch->data_pending_callback().set(FUNC(aerofgt_banked_sound_state::soundlatch_pending_w)); m_soundlatch->set_separate_acknowledge(true); - ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */ + ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); // verified on pcb ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ymsnd.add_route(0, "lspeaker", 0.25); ymsnd.add_route(0, "rspeaker", 0.25); @@ -1820,18 +1744,18 @@ void aerofgt_banked_sound_state::spinlbrk(machine_config &config) void aerofgt_banked_sound_state::turbofrc(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */ + // basic machine hardware + M68000(config, m_maincpu, XTAL(20'000'000)/2); // verified on pcb m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::turbofrc_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); /* all irq vectors are the same */ + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); // all irq vectors are the same - Z80(config, m_audiocpu, XTAL(5'000'000)); /* verified on pcb */ + Z80(config, m_audiocpu, XTAL(5'000'000)); // verified on pcb m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::turbofrc_sound_portmap); /* IRQs are triggered by the YM2610 */ + m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::spinlbrk_sound_portmap); // IRQs are triggered by the YM2610 - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(61.31); /* verified on pcb */ + screen.set_refresh_hz(61.31); // verified on pcb screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 44*8-1, 0*8, 30*8-1); @@ -1855,7 +1779,7 @@ void aerofgt_banked_sound_state::turbofrc(machine_config &config) MCFG_VIDEO_START_OVERRIDE(aerofgt_banked_sound_state,turbofrc) - /* sound hardware */ + // sound hardware SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); @@ -1863,7 +1787,7 @@ void aerofgt_banked_sound_state::turbofrc(machine_config &config) m_soundlatch->data_pending_callback().set(FUNC(aerofgt_banked_sound_state::soundlatch_pending_w)); m_soundlatch->set_separate_acknowledge(true); - ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */ + ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); // verified on pcb ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ymsnd.add_route(0, "lspeaker", 0.25); ymsnd.add_route(0, "rspeaker", 0.25); @@ -1873,19 +1797,19 @@ void aerofgt_banked_sound_state::turbofrc(machine_config &config) void aerofgt_banked_sound_state::aerofgtb(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::aerofgtb_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); /* all irq vectors are the same */ + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); // all irq vectors are the same - Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */ + Z80(config, m_audiocpu, 8000000/2); // 4 MHz ??? m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::aerofgt_sound_portmap); /* IRQs are triggered by the YM2610 */ + m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::aerofgt_sound_portmap); // IRQs are triggered by the YM2610 - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); /* wrong but improves sprite-background synchronization */ + screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); // wrong but improves sprite-background synchronization screen.set_size(64*8, 32*8); screen.set_visarea(0*8+12, 40*8-1+12, 0*8, 28*8-1); screen.set_screen_update(FUNC(aerofgt_banked_sound_state::screen_update_turbofrc)); @@ -1900,15 +1824,17 @@ void aerofgt_banked_sound_state::aerofgtb(machine_config &config) m_spr_old[0]->set_tile_indirect_cb(FUNC(aerofgt_banked_sound_state::aerofgt_old_tile_callback)); m_spr_old[0]->set_gfx_region(2); m_spr_old[0]->set_gfxdecode_tag(m_gfxdecode); + m_spr_old[0]->set_offsets(3, -1); VSYSTEM_SPR2(config, m_spr_old[1], 0); m_spr_old[1]->set_tile_indirect_cb(FUNC(aerofgt_banked_sound_state::aerofgt_ol2_tile_callback)); m_spr_old[1]->set_gfx_region(3); m_spr_old[1]->set_gfxdecode_tag(m_gfxdecode); + m_spr_old[1]->set_offsets(3, -1); - MCFG_VIDEO_START_OVERRIDE(aerofgt_banked_sound_state,turbofrc) + MCFG_VIDEO_START_OVERRIDE(aerofgt_banked_sound_state,aerofgtb) - /* sound hardware */ + // sound hardware SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); @@ -1924,16 +1850,16 @@ void aerofgt_banked_sound_state::aerofgtb(machine_config &config) ymsnd.add_route(2, "rspeaker", 1.0); } -void aerofgt_banked_sound_state::aerofgt(machine_config &config) +void aerofgt_state::aerofgt(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */ - m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::aerofgt_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_banked_sound_state::irq1_line_hold)); /* all irq vectors are the same */ + // basic machine hardware + M68000(config, m_maincpu, XTAL(20'000'000)/2); // verified on pcb + m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::main_map); + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); // all irq vectors are the same - Z80(config, m_audiocpu, XTAL(20'000'000)/4); /* 5 MHz verified on pcb */ - m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_banked_sound_state::sound_map); - m_audiocpu->set_addrmap(AS_IO, &aerofgt_banked_sound_state::aerofgt_sound_portmap); /* IRQs are triggered by the YM2610 */ + Z80(config, m_audiocpu, XTAL(20'000'000)/4); // 5 MHz verified on pcb + m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::sound_map); + m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::aerofgt_sound_portmap); // IRQs are triggered by the YM2610 vs9209_device &io(VS9209(config, "io", 0)); io.porta_input_cb().set_ioport("P1"); @@ -1947,34 +1873,34 @@ void aerofgt_banked_sound_state::aerofgt(machine_config &config) MB3773(config, "watchdog", 0); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(61.31); /* verified on pcb */ - screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* wrong but improves sprite-background synchronization */ + screen.set_refresh_hz(61.31); // verified on pcb + screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); // wrong but improves sprite-background synchronization screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 40*8-1, 0*8, 28*8-1); - screen.set_screen_update(FUNC(aerofgt_banked_sound_state::screen_update_aerofgt)); + screen.set_screen_update(FUNC(aerofgt_state::screen_update)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_aerofgt); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024); VSYSTEM_SPR(config, m_spr, 0); - m_spr->set_tile_indirect_cb(FUNC(aerofgt_banked_sound_state::aerofgt_tile_callback)); + m_spr->set_tile_indirect_cb(FUNC(aerofgt_state::tile_callback)); m_spr->set_gfx_region(2); m_spr->set_gfxdecode_tag(m_gfxdecode); - MCFG_VIDEO_START_OVERRIDE(aerofgt_banked_sound_state,turbofrc) + MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc) - /* sound hardware */ + // sound hardware SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); GENERIC_LATCH_8(config, m_soundlatch); - m_soundlatch->data_pending_callback().set(FUNC(aerofgt_banked_sound_state::soundlatch_pending_w)); + m_soundlatch->data_pending_callback().set(FUNC(aerofgt_state::soundlatch_pending_w)); m_soundlatch->set_separate_acknowledge(true); - ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */ + ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); // verified on pcb ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ymsnd.add_route(0, "lspeaker", 0.25); ymsnd.add_route(0, "rspeaker", 0.25); @@ -1984,18 +1910,18 @@ void aerofgt_banked_sound_state::aerofgt(machine_config &config) void aerofgt_sound_cpu_state::aerfboot(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::aerfboot_map); m_maincpu->set_vblank_int("screen", FUNC(aerofgt_sound_cpu_state::irq1_line_hold)); - Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */ + Z80(config, m_audiocpu, 8000000/2); // 4 MHz ??? m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::aerfboot_sound_map); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); /* wrong but improves sprite-background synchronization */ + screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); // wrong but improves sprite-background synchronization screen.set_size(64*8, 32*8); screen.set_visarea(0*8+12, 40*8-1+12, 0*8, 28*8-1); screen.set_screen_update(FUNC(aerofgt_sound_cpu_state::screen_update_aerfboot)); @@ -2008,7 +1934,7 @@ void aerofgt_sound_cpu_state::aerfboot(machine_config &config) MCFG_VIDEO_START_OVERRIDE(aerofgt_sound_cpu_state,turbofrc) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); @@ -2019,20 +1945,20 @@ void aerofgt_sound_cpu_state::aerfboot(machine_config &config) m_oki->add_route(ALL_OUTPUTS, "mono", 1.0); } -void aerofgt_state::aerfboo2(machine_config &config) +void aerofgt_base_state::aerfboo2(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ - m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::aerfboo2_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq2_line_hold)); + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) + m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_base_state::aerfboo2_map); + m_maincpu->set_vblank_int("screen", FUNC(aerofgt_base_state::irq2_line_hold)); - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); /* wrong but improves sprite-background synchronization */ + screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); // wrong but improves sprite-background synchronization screen.set_size(64*8, 32*8); screen.set_visarea(0*8+12, 40*8-1+12, 0*8, 28*8-1); - screen.set_screen_update(FUNC(aerofgt_state::screen_update_aerfboo2)); + screen.set_screen_update(FUNC(aerofgt_base_state::screen_update_aerfboo2)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_aerfboo2); @@ -2040,46 +1966,44 @@ void aerofgt_state::aerfboo2(machine_config &config) //VSYSTEM_GGA(config, "gga", 0); - MCFG_VIDEO_START_OVERRIDE(aerofgt_state,turbofrc) + MCFG_VIDEO_START_OVERRIDE(aerofgt_base_state,turbofrc) - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified m_oki->add_route(ALL_OUTPUTS, "mono", 1.0); } -void aerofgt_sound_cpu_state::wbbc97(machine_config &config) +void wbbc97_state::wbbc97(machine_config &config) { - /* basic machine hardware */ - M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */ - m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::wbbc97_map); - m_maincpu->set_vblank_int("screen", FUNC(aerofgt_sound_cpu_state::irq1_line_hold)); /* all irq vectors are the same */ + // basic machine hardware + M68000(config, m_maincpu, 20000000/2); // 10 MHz (?) + m_maincpu->set_addrmap(AS_PROGRAM, &wbbc97_state::main_map); + m_maincpu->set_vblank_int("screen", FUNC(wbbc97_state::irq1_line_hold)); // all irq vectors are the same - Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */ - m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_sound_cpu_state::wbbc97_sound_map); /* IRQs are triggered by the YM3812 */ + Z80(config, m_audiocpu, 8000000/2); // 4 MHz ??? + m_audiocpu->set_addrmap(AS_PROGRAM, &wbbc97_state::sound_map); // IRQs are triggered by the YM3812 - /* video hardware */ + // video hardware screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 64*8); screen.set_visarea(0*8+14, 44*8-1+4, 0*8, 30*8-1); - screen.set_screen_update(FUNC(aerofgt_sound_cpu_state::screen_update_wbbc97)); + screen.set_screen_update(FUNC(wbbc97_state::screen_update)); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_wbbc97); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_pspikes); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048); //VSYSTEM_GGA(config, "gga", 0); VSYSTEM_SPR2(config, m_spr_old[0], 0); - m_spr_old[0]->set_tile_indirect_cb(FUNC(aerofgt_sound_cpu_state::aerofgt_old_tile_callback)); + m_spr_old[0]->set_tile_indirect_cb(FUNC(wbbc97_state::aerofgt_old_tile_callback)); m_spr_old[0]->set_gfx_region(1); m_spr_old[0]->set_gfxdecode_tag(m_gfxdecode); - MCFG_VIDEO_START_OVERRIDE(aerofgt_sound_cpu_state,wbbc97) - - /* sound hardware */ + // sound hardware SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); @@ -2102,26 +2026,26 @@ void aerofgt_sound_cpu_state::wbbc97(machine_config &config) ***************************************************************************/ ROM_START( pspikes ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "pspikes2.bin", 0x00000, 0x40000, CRC(ec0c070e) SHA1(4ddcc184e835a2f9d15f01aaa03734fd75fe797e) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0, 0x00000, 0x08000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) - ROM_LOAD( "g7l", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) + ROM_LOAD32_WORD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) + ROM_LOAD32_WORD( "g7l", 0x000002, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "a47", 0x00000, 0x40000, CRC(c6779dfa) SHA1(ea7adefdb0da02755428aac9a6f86c908fc11253) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "o5b", 0x000000, 0x100000, CRC(07d6cbac) SHA1(d3d5778dbaca7b6cdceae959d0847d56df7b5cc1) ) ROM_REGION( 0x0200, "plds", 0 ) @@ -2129,26 +2053,26 @@ ROM_START( pspikes ) ROM_END ROM_START( pspikesk ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "20", 0x00000, 0x40000, CRC(75cdcee2) SHA1(272a08c46c1d0989f9fbb156e28e6a7ffa9c0a53) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0, 0x00000, 0x08000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) - ROM_LOAD( "g7l", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) + ROM_LOAD32_WORD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) + ROM_LOAD32_WORD( "g7l", 0x000002, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "a47", 0x00000, 0x40000, CRC(c6779dfa) SHA1(ea7adefdb0da02755428aac9a6f86c908fc11253) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "o5b", 0x000000, 0x100000, CRC(07d6cbac) SHA1(d3d5778dbaca7b6cdceae959d0847d56df7b5cc1) ) ROM_REGION( 0x0400, "plds", 0 ) @@ -2157,55 +2081,55 @@ ROM_START( pspikesk ) ROM_END ROM_START( pspikesu ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "svolly91.73", 0x00000, 0x40000, CRC(bfbffcdb) SHA1(2bba99cb6d0cb2fbb3cd1242551dd7e2c6ebef50) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0, 0x00000, 0x08000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) - ROM_LOAD( "g7l", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) + ROM_LOAD32_WORD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) + ROM_LOAD32_WORD( "g7l", 0x000002, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "a47", 0x00000, 0x40000, CRC(c6779dfa) SHA1(ea7adefdb0da02755428aac9a6f86c908fc11253) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "o5b", 0x000000, 0x100000, CRC(07d6cbac) SHA1(d3d5778dbaca7b6cdceae959d0847d56df7b5cc1) ) ROM_END ROM_START( svolly91 ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "u11.jpn", 0x00000, 0x40000, CRC(ea2e4c82) SHA1(f9cf9122499d9b1e54221fb8b6ef9c12004ca85e) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 64k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 64k for the audio CPU + banks ROM_LOAD( "19", 0x00000, 0x20000, CRC(7e8ed6e5) SHA1(eeb1a1e1989fad8fc1e741928422efaec0598868) ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0, 0x00000, 0x08000 ) ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "g7h", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) - ROM_LOAD( "g7l", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) + ROM_LOAD32_WORD( "g7j", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) + ROM_LOAD32_WORD( "g7l", 0x000002, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "a47", 0x00000, 0x40000, CRC(c6779dfa) SHA1(ea7adefdb0da02755428aac9a6f86c908fc11253) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "o5b", 0x000000, 0x100000, CRC(07d6cbac) SHA1(d3d5778dbaca7b6cdceae959d0847d56df7b5cc1) ) ROM_END ROM_START( pspikesb ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "2.ic63", 0x00000, 0x20000, CRC(d25e184c) SHA1(89ad275b03d909a7d16d2927df3ddf12301e4c60) ) ROM_LOAD16_BYTE( "3.ic62", 0x00001, 0x20000, CRC(5add1a34) SHA1(e166d5c76f2f087254f2af442f49251a9885f5bc) ) @@ -2221,24 +2145,14 @@ ROM_START( pspikesb ) ROM_LOAD( "10.ic117", 0x80000, 0x40000, CRC(3976b372) SHA1(72feec5a6fe7995f39d4b431dbbf25435359b04d) ) ROM_LOAD( "11.ic115", 0xc0000, 0x40000, CRC(f9249937) SHA1(5993e5ab7295ca2fa5c8f4c05ce23731741f4e97) ) - ROM_REGION( 0x080000, "user1", 0 ) /* Samples */ + // $00000-$20000 stays the same in all sound banks, + // the second half of the bank is what gets switched + ROM_REGION( 0x080000, "oki", 0 ) // Samples ROM_LOAD( "1.ic21", 0x000000, 0x80000, CRC(1b78ed0b) SHA1(886bfd78709c295839dd51c7f5a13f5c452c0ab3) ) - - /* $00000-$20000 stays the same in all sound banks, */ - /* the second half of the bank is what gets switched */ - ROM_REGION( 0x100000, "oki", 0 ) /* Samples */ - ROM_COPY( "user1", 0x000000, 0x000000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x020000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x040000, 0x020000) - ROM_COPY( "user1", 0x020000, 0x060000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x080000, 0x020000) - ROM_COPY( "user1", 0x040000, 0x0a0000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x0c0000, 0x020000) - ROM_COPY( "user1", 0x060000, 0x0e0000, 0x020000) ROM_END ROM_START( pspikesba ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "2.ic63", 0x00000, 0x20000, CRC(dd87d28a) SHA1(09ab75bcd62db1a49af123648812852780ac9d60) ) // sldh ROM_LOAD16_BYTE( "3.ic62", 0x00001, 0x20000, CRC(ec505317) SHA1(1e2b9e52654b08169827dbd877de2e724140e50c) ) // sldh @@ -2254,20 +2168,10 @@ ROM_START( pspikesba ) ROM_LOAD( "10.ic117", 0x80000, 0x40000, CRC(3976b372) SHA1(72feec5a6fe7995f39d4b431dbbf25435359b04d) ) ROM_LOAD( "11.ic115", 0xc0000, 0x40000, CRC(f9249937) SHA1(5993e5ab7295ca2fa5c8f4c05ce23731741f4e97) ) - ROM_REGION( 0x080000, "user1", 0 ) /* Samples */ + // $00000-$20000 stays the same in all sound banks, + // the second half of the bank is what gets switched + ROM_REGION( 0x080000, "oki", 0 ) // Samples ROM_LOAD( "1.ic21", 0x000000, 0x80000, CRC(1b78ed0b) SHA1(886bfd78709c295839dd51c7f5a13f5c452c0ab3) ) - - /* $00000-$20000 stays the same in all sound banks, */ - /* the second half of the bank is what gets switched */ - ROM_REGION( 0x100000, "oki", 0 ) /* Samples */ - ROM_COPY( "user1", 0x000000, 0x000000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x020000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x040000, 0x020000) - ROM_COPY( "user1", 0x020000, 0x060000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x080000, 0x020000) - ROM_COPY( "user1", 0x040000, 0x0a0000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x0c0000, 0x020000) - ROM_COPY( "user1", 0x060000, 0x0e0000, 0x020000) ROM_END @@ -2322,7 +2226,7 @@ original game */ ROM_START( spikes91 ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "7.ic2", 0x00001, 0x20000, CRC(41e38d7e) SHA1(d0c226a8b61a2311c781ed5747d78b8dbddbc7ef) ) ROM_LOAD16_BYTE( "8.ic3", 0x00000, 0x20000, CRC(9c488daa) SHA1(8336fec855786c6cc6a836d86b74e130d60013b7) ) @@ -2338,20 +2242,20 @@ ROM_START( spikes91 ) ROM_LOAD( "13.ic120", 0x80000, 0x40000, CRC(89213a8c) SHA1(8524d5c14669d9b03f1fe050c4318d4111bc8ef7) ) ROM_LOAD( "14.ic121", 0xc0000, 0x40000, CRC(468cbf5b) SHA1(60fbc2771e40f8de51a51891b8ddcc14e2b1e52c) ) - ROM_REGION16_BE( 0x020000, "sprlookuprom", 0 ) /* lookup tables for the sprites */ + ROM_REGION16_BE( 0x020000, "sprlookuprom", 0 ) // lookup tables for the sprites ROM_LOAD16_BYTE( "10.ic104", 0x00000, 0x10000, CRC(769ade77) SHA1(9cb581d02592c69f37d4b5a902d3515f40915ec4) ) ROM_LOAD16_BYTE( "9.ic103", 0x00001, 0x10000, CRC(201cb748) SHA1(f78d384e4e9c5996a278f76fb4d5f28812a27de5) ) - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Sound CPU + M5205 Samples */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 Sound CPU + M5205 Samples ROM_LOAD( "1.ic140", 0x00000, 0x10000, CRC(e3065b1d) SHA1(c4a3a95ba7f43cdf1b0c574f41de06d007ad2bd8) ) // matches svolleybl in rpunch.cpp ROM_LOAD( "2.ic141", 0x10000, 0x10000, CRC(5dd8bf22) SHA1(d1a12894fe8ca47e47b4a1e911cabf20dd41eda4) ) // 1ST AND 2ND HALF IDENTICAL, matches svolleybl in rpunch.cpp when halved - ROM_REGION( 0x1000, "user2", 0 ) /* ? */ + ROM_REGION( 0x1000, "user2", 0 ) // ? ROM_LOAD( "ep910pc.ic7", 0x00000, 0x884, CRC(e7a3913a) SHA1(6f18f55ecdc94a416baecd16fe7c6698b1ec9d87) ) ROM_END ROM_START( spikes91b ) // todo, check how this differs, only 1 of the 68k pair and the sprite lookup roms were different - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "7.ic2", 0x00001, 0x20000, CRC(46433a36) SHA1(a4df1bf710693779a9444f28c99591331765aada) ) // sldh ROM_LOAD16_BYTE( "8.ic3", 0x00000, 0x20000, CRC(9c488daa) SHA1(8336fec855786c6cc6a836d86b74e130d60013b7) ) @@ -2367,23 +2271,23 @@ ROM_START( spikes91b ) // todo, check how this differs, only 1 of the 68k pair a ROM_LOAD( "13.ic120", 0x80000, 0x40000, CRC(89213a8c) SHA1(8524d5c14669d9b03f1fe050c4318d4111bc8ef7) ) ROM_LOAD( "14.ic121", 0xc0000, 0x40000, CRC(468cbf5b) SHA1(60fbc2771e40f8de51a51891b8ddcc14e2b1e52c) ) - ROM_REGION16_BE( 0x020000, "sprlookuprom", 0 ) /* lookup tables for the sprites */ + ROM_REGION16_BE( 0x020000, "sprlookuprom", 0 ) // lookup tables for the sprites ROM_LOAD16_BYTE( "10.ic104", 0x00000, 0x8000, CRC(b6fe4e57) SHA1(6b62936ff9d0f39fd02c3db488d53bc035c2272d) ) // sldh ROM_LOAD16_BYTE( "9.ic103", 0x00001, 0x8000, CRC(5479ed35) SHA1(ca26289318352901841fcdf26d9b43e797ac39b6) ) // sldh - ROM_REGION( 0x20000, "audiocpu", 0 ) /* Z80 Sound CPU + M5205 Samples */ + ROM_REGION( 0x20000, "audiocpu", 0 ) // Z80 Sound CPU + M5205 Samples ROM_LOAD( "1.ic140", 0x00000, 0x10000, CRC(e3065b1d) SHA1(c4a3a95ba7f43cdf1b0c574f41de06d007ad2bd8) ) // matches svolleybl in rpunch.cpp ROM_LOAD( "2.ic141", 0x10000, 0x10000, CRC(5dd8bf22) SHA1(d1a12894fe8ca47e47b4a1e911cabf20dd41eda4) ) // 1ST AND 2ND HALF IDENTICAL, matches svolleybl in rpunch.cpp when halved - ROM_REGION( 0x1000, "user2", 0 ) /* ? */ + ROM_REGION( 0x1000, "user2", 0 ) // ? ROM_LOAD( "ep910pc.ic7", 0x00000, 0x884, CRC(e7a3913a) SHA1(6f18f55ecdc94a416baecd16fe7c6698b1ec9d87) ) ROM_END -/* this is a bootleg / chinese hack of power spikes */ +// this is a bootleg / chinese hack of power spikes ROM_START( pspikesc ) - ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "27c010.1", 0x00000, 0x20000, CRC(06a6ed73) SHA1(05bffe8766131a8729115244ed499ecdd872962a) ) ROM_LOAD16_BYTE( "27c010.2", 0x00001, 0x20000, CRC(ff31474e) SHA1(f21d44c15aeffd19e8c7fac49d6b9b239bd41c1b) ) @@ -2391,27 +2295,17 @@ ROM_START( pspikesc ) ROM_LOAD( "vlh30.bin", 0x000000, 0x80000, CRC(74c23c3d) SHA1(c0ac57d1f05c42556f97154ce1a08f465948546b) ) ROM_REGION( 0x100000, "gfx2", 0 ) - ROM_LOAD( "vlh10-vh118.bin", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) - ROM_LOAD( "vlh20-vh102.bin", 0x080000, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) + ROM_LOAD32_WORD( "vlh10-vh118.bin", 0x000000, 0x80000, CRC(0b9e4739) SHA1(64b440a5026735aafe1a7cc2806fe0d78f4a6fba) ) + ROM_LOAD32_WORD( "vlh20-vh102.bin", 0x000002, 0x80000, CRC(943139ff) SHA1(59065f9c3b3a47159c5968df199bdcb1b4f51f29) ) - ROM_REGION( 0x080000, "user1", 0 ) /* Samples */ + // $00000-$20000 stays the same in all sound banks, + // the second half of the bank is what gets switched + ROM_REGION( 0x080000, "oki", 0 ) // Samples ROM_LOAD( "vlh40.bin", 0x00000, 0x80000, CRC(27166dd4) SHA1(f32ef1735d1a1aeda5df0337e46d65282dd798ad) ) - - /* $00000-$20000 stays the same in all sound banks, */ - /* the second half of the bank is what gets switched */ - ROM_REGION( 0x100000, "oki", 0 ) /* Samples */ - ROM_COPY( "user1", 0x000000, 0x000000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x020000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x040000, 0x020000) - ROM_COPY( "user1", 0x020000, 0x060000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x080000, 0x020000) - ROM_COPY( "user1", 0x040000, 0x0a0000, 0x020000) - ROM_COPY( "user1", 0x000000, 0x0c0000, 0x020000) - ROM_COPY( "user1", 0x060000, 0x0e0000, 0x020000) ROM_END ROM_START( spinlbrk ) - ROM_REGION( 0x60000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x60000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "ic98", 0x00000, 0x10000, CRC(36c2bf70) SHA1(f627d0e7dad1760bcc95af4a6346050a1a277048) ) ROM_LOAD16_BYTE( "ic104", 0x00001, 0x10000, CRC(34a7e158) SHA1(5884570c1be38bfedffca3fd38089d0ae3391d4f) ) ROM_LOAD16_BYTE( "ic93", 0x20000, 0x10000, CRC(726f4683) SHA1(65aff0548333571d47a96d4bf5a7857f12399cc7) ) @@ -2421,7 +2315,7 @@ ROM_START( spinlbrk ) ROM_LOAD( "ic118", 0x00000, 0x10000, CRC(1025f024) SHA1(3e497c74c950d2cd2a0931cf2ae9b0124d11ca6a) ) ROM_RELOAD( 0x10000, 0x10000 ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_LOAD( "ic117", 0x00000, 0x08000, CRC(625ada41) SHA1(2dd0674c68ea382431115c155afbf880f5b9deb2) ) ROM_REGION( 0x100000, "gfx1", 0 ) @@ -2434,37 +2328,37 @@ ROM_START( spinlbrk ) ROM_LOAD( "ic16", 0x100000, 0x80000, CRC(0d84af7f) SHA1(07356ee61c84c4c4ccb49c8dfe8c468990580041) ) //FIRST AND SECOND HALF IDENTICAL ROM_REGION( 0x100000, "spritegfx", 0 ) - ROM_LOAD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) - ROM_LOAD( "ic18", 0x080000, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) + ROM_LOAD32_WORD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) + ROM_LOAD32_WORD( "ic18", 0x000002, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) ROM_REGION( 0x200000, "gfx4", 0 ) - ROM_LOAD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) - ROM_LOAD( "ic20", 0x080000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) - ROM_LOAD( "ic35", 0x100000, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) - ROM_LOAD( "ic40", 0x180000, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) + ROM_LOAD32_WORD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) + ROM_LOAD32_WORD( "ic20", 0x100000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) + ROM_LOAD32_WORD( "ic35", 0x000002, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) + ROM_LOAD32_WORD( "ic40", 0x100002, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) - ROM_REGION16_BE( 0x24000, "sprlookuprom", 0 ) /* hardcoded sprite maps */ + ROM_REGION16_BE( 0x24000, "sprlookuprom", 0 ) // hardcoded sprite maps ROM_LOAD16_BYTE( "ic19", 0x00000, 0x10000, CRC(db24eeaa) SHA1(300dd1ce81dd258b265bc3a64b8542ed152ed2cf) ) ROM_LOAD16_BYTE( "ic13", 0x00001, 0x10000, CRC(97025bf4) SHA1(0519f0c94f3d417bf8ff0124a3a137035a4013dc) ) - /* 20000-23fff empty space, filled in vh_startup */ + // 20000-23fff empty space, filled in vh_startup - /* no "ymsnd:adpcmb" */ + // no "ymsnd:adpcmb" - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "ic166", 0x000000, 0x80000, CRC(6e0d063a) SHA1(313983e69f9625814de033fef7f6e9564694117a) ) ROM_LOAD( "ic163", 0x080000, 0x80000, CRC(e6621dfb) SHA1(85ee77c4720b7eb20ecf293c16b3105c8dcb1114) ) //FIRST AND SECOND HALF IDENTICAL ROM_REGION( 0x0c00, "plds", 0 ) - ROM_LOAD( "epl16p8bp.ic133", 0x0000, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic127", 0x0200, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic99", 0x0400, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic100", 0x0600, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "gal16v8a.ic95", 0x0800, 0x0117, NO_DUMP ) /* read protected */ - ROM_LOAD( "gal16v8a.ic114", 0x0a00, 0x0117, NO_DUMP ) /* read protected */ + ROM_LOAD( "epl16p8bp.ic133", 0x0000, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic127", 0x0200, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic99", 0x0400, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic100", 0x0600, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "gal16v8a.ic95", 0x0800, 0x0117, NO_DUMP ) // read protected + ROM_LOAD( "gal16v8a.ic114", 0x0a00, 0x0117, NO_DUMP ) // read protected ROM_END ROM_START( spinlbrku ) - ROM_REGION( 0x60000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x60000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "ic98.u5", 0x00000, 0x10000, CRC(3a0f7667) SHA1(55d5fa1a325c17532ed83d231032bdbe9fb84d85) ) ROM_LOAD16_BYTE( "ic104.u6",0x00001, 0x10000, CRC(a0e0af31) SHA1(21f6c3246bb7be2fd926324fd6d041e319a4e214) ) ROM_LOAD16_BYTE( "ic93.u4", 0x20000, 0x10000, CRC(0cf73029) SHA1(e1346b759a41f9eec9536dc90671778582e595b4) ) @@ -2474,7 +2368,7 @@ ROM_START( spinlbrku ) ROM_LOAD( "ic118", 0x00000, 0x10000, CRC(1025f024) SHA1(3e497c74c950d2cd2a0931cf2ae9b0124d11ca6a) ) ROM_RELOAD( 0x10000, 0x10000 ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_LOAD( "ic117", 0x00000, 0x08000, CRC(625ada41) SHA1(2dd0674c68ea382431115c155afbf880f5b9deb2) ) ROM_REGION( 0x100000, "gfx1", 0 ) @@ -2487,37 +2381,37 @@ ROM_START( spinlbrku ) ROM_LOAD( "ic16", 0x100000, 0x80000, CRC(0d84af7f) SHA1(07356ee61c84c4c4ccb49c8dfe8c468990580041) ) //FIRST AND SECOND HALF IDENTICAL ROM_REGION( 0x100000, "spritegfx", 0 ) - ROM_LOAD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) - ROM_LOAD( "ic18", 0x080000, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) + ROM_LOAD32_WORD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) + ROM_LOAD32_WORD( "ic18", 0x000002, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) ROM_REGION( 0x200000, "gfx4", 0 ) - ROM_LOAD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) - ROM_LOAD( "ic20", 0x080000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) - ROM_LOAD( "ic35", 0x100000, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) - ROM_LOAD( "ic40", 0x180000, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) + ROM_LOAD32_WORD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) + ROM_LOAD32_WORD( "ic20", 0x100000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) + ROM_LOAD32_WORD( "ic35", 0x000002, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) + ROM_LOAD32_WORD( "ic40", 0x100002, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) - ROM_REGION16_BE( 0x24000, "sprlookuprom", 0 ) /* hardcoded sprite maps */ + ROM_REGION16_BE( 0x24000, "sprlookuprom", 0 ) // hardcoded sprite maps ROM_LOAD16_BYTE( "ic19", 0x00000, 0x10000, CRC(db24eeaa) SHA1(300dd1ce81dd258b265bc3a64b8542ed152ed2cf) ) ROM_LOAD16_BYTE( "ic13", 0x00001, 0x10000, CRC(97025bf4) SHA1(0519f0c94f3d417bf8ff0124a3a137035a4013dc) ) - /* 20000-23fff empty space, filled in vh_startup */ + // 20000-23fff empty space, filled in vh_startup - /* no "ymsnd:adpcmb" */ + // no "ymsnd:adpcmb" - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "ic166", 0x000000, 0x80000, CRC(6e0d063a) SHA1(313983e69f9625814de033fef7f6e9564694117a) ) ROM_LOAD( "ic163", 0x080000, 0x80000, CRC(e6621dfb) SHA1(85ee77c4720b7eb20ecf293c16b3105c8dcb1114) ) //FIRST AND SECOND HALF IDENTICAL ROM_REGION( 0x0c00, "plds", 0 ) - ROM_LOAD( "epl16p8bp.ic133", 0x0000, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic127", 0x0200, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic99", 0x0400, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic100", 0x0600, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "gal16v8a.ic95", 0x0800, 0x0117, NO_DUMP ) /* read protected */ - ROM_LOAD( "gal16v8a.ic114", 0x0a00, 0x0117, NO_DUMP ) /* read protected */ + ROM_LOAD( "epl16p8bp.ic133", 0x0000, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic127", 0x0200, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic99", 0x0400, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic100", 0x0600, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "gal16v8a.ic95", 0x0800, 0x0117, NO_DUMP ) // read protected + ROM_LOAD( "gal16v8a.ic114", 0x0a00, 0x0117, NO_DUMP ) // read protected ROM_END ROM_START( spinlbrkj ) - ROM_REGION( 0x60000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x60000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "j5", 0x00000, 0x10000, CRC(6a3d690e) SHA1(4ac1985ea0a73b8fc12105ff75121718595dd171) ) ROM_LOAD16_BYTE( "j6", 0x00001, 0x10000, CRC(869593fa) SHA1(5821b011d42113f247bd100cecf140bbfc1e969c) ) ROM_LOAD16_BYTE( "j4", 0x20000, 0x10000, CRC(33e33912) SHA1(d6d052cd8dbedfd254bdf5e82ad770e4bf241777) ) @@ -2527,7 +2421,7 @@ ROM_START( spinlbrkj ) ROM_LOAD( "ic118", 0x00000, 0x10000, CRC(1025f024) SHA1(3e497c74c950d2cd2a0931cf2ae9b0124d11ca6a) ) ROM_RELOAD( 0x10000, 0x10000 ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_LOAD( "ic117", 0x00000, 0x08000, CRC(625ada41) SHA1(2dd0674c68ea382431115c155afbf880f5b9deb2) ) ROM_REGION( 0x100000, "gfx1", 0 ) @@ -2540,33 +2434,33 @@ ROM_START( spinlbrkj ) ROM_LOAD( "ic16", 0x100000, 0x80000, CRC(0d84af7f) SHA1(07356ee61c84c4c4ccb49c8dfe8c468990580041) ) //FIRST AND SECOND HALF IDENTICAL ROM_REGION( 0x100000, "spritegfx", 0 ) - ROM_LOAD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) - ROM_LOAD( "ic18", 0x080000, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) + ROM_LOAD32_WORD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) + ROM_LOAD32_WORD( "ic18", 0x000002, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) ROM_REGION( 0x200000, "gfx4", 0 ) - ROM_LOAD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) - ROM_LOAD( "ic20", 0x080000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) - ROM_LOAD( "ic35", 0x100000, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) - ROM_LOAD( "ic40", 0x180000, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) + ROM_LOAD32_WORD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) + ROM_LOAD32_WORD( "ic20", 0x100000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) + ROM_LOAD32_WORD( "ic35", 0x000002, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) + ROM_LOAD32_WORD( "ic40", 0x100002, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) - ROM_REGION16_BE( 0x24000, "sprlookuprom", 0 ) /* hardcoded sprite maps */ + ROM_REGION16_BE( 0x24000, "sprlookuprom", 0 ) // hardcoded sprite maps ROM_LOAD16_BYTE( "ic19", 0x00000, 0x10000, CRC(db24eeaa) SHA1(300dd1ce81dd258b265bc3a64b8542ed152ed2cf) ) ROM_LOAD16_BYTE( "ic13", 0x00001, 0x10000, CRC(97025bf4) SHA1(0519f0c94f3d417bf8ff0124a3a137035a4013dc) ) - /* 20000-23fff empty space, filled in vh_startup */ + // 20000-23fff empty space, filled in vh_startup - /* no "ymsnd:adpcmb" */ + // no "ymsnd:adpcmb" - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "ic166", 0x000000, 0x80000, CRC(6e0d063a) SHA1(313983e69f9625814de033fef7f6e9564694117a) ) ROM_LOAD( "ic163", 0x080000, 0x80000, CRC(e6621dfb) SHA1(85ee77c4720b7eb20ecf293c16b3105c8dcb1114) ) //FIRST AND SECOND HALF IDENTICAL ROM_REGION( 0x0c00, "plds", 0 ) - ROM_LOAD( "epl16p8bp.ic133", 0x0000, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic127", 0x0200, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic99", 0x0400, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "epl16p8bp.ic100", 0x0600, 0x0107, NO_DUMP ) /* read protected */ - ROM_LOAD( "gal16v8a.ic95", 0x0800, 0x0117, NO_DUMP ) /* read protected */ - ROM_LOAD( "gal16v8a.ic114", 0x0a00, 0x0117, NO_DUMP ) /* read protected */ + ROM_LOAD( "epl16p8bp.ic133", 0x0000, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic127", 0x0200, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic99", 0x0400, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "epl16p8bp.ic100", 0x0600, 0x0107, NO_DUMP ) // read protected + ROM_LOAD( "gal16v8a.ic95", 0x0800, 0x0117, NO_DUMP ) // read protected + ROM_LOAD( "gal16v8a.ic114", 0x0a00, 0x0117, NO_DUMP ) // read protected ROM_END /* @@ -2603,14 +2497,14 @@ ROM_START( spinlbrkup ) // the labels are official Video System without numberin ROM_LOAD( "ic16", 0x100000, 0x80000, CRC(0d84af7f) SHA1(07356ee61c84c4c4ccb49c8dfe8c468990580041) ) //FIRST AND SECOND HALF IDENTICAL ROM_REGION( 0x100000, "spritegfx", 0 ) - ROM_LOAD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) - ROM_LOAD( "ic18", 0x080000, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) + ROM_LOAD32_WORD( "ic12", 0x000000, 0x80000, CRC(d63fac4e) SHA1(bb96d2e41334d136b9208dbe7e88a45e3bbc6542) ) + ROM_LOAD32_WORD( "ic18", 0x000002, 0x80000, CRC(5a60444b) SHA1(62c418aedd1087dac82dcb44830cce00278103dd) ) ROM_REGION( 0x200000, "gfx4", 0 ) - ROM_LOAD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) - ROM_LOAD( "ic20", 0x080000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) - ROM_LOAD( "ic35", 0x100000, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) - ROM_LOAD( "ic40", 0x180000, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) + ROM_LOAD32_WORD( "ic14", 0x000000, 0x80000, CRC(1befd0f3) SHA1(7ab6fb5bf814ef3ae9a306a0d32d1078ee594461) ) + ROM_LOAD32_WORD( "ic20", 0x100000, 0x80000, CRC(c2f84a61) SHA1(1dce538ced54a61c43ed25e1d71b5ac1c8935cc5) ) + ROM_LOAD32_WORD( "ic35", 0x000002, 0x80000, CRC(eba8e1a3) SHA1(976ef30437df9aba6fa6d5cd11728476f34eb05b) ) + ROM_LOAD32_WORD( "ic40", 0x100002, 0x80000, CRC(5ef5aa7e) SHA1(8d4b0f2348c536c6781c8ba25722301673aca289) ) ROM_REGION16_BE( 0x24000, "sprlookuprom", 0 ) // very minor differences ROM_LOAD16_BYTE( "sbm-1-18.ic19", 0x00000, 0x10000, CRC(e155357f) SHA1(05864c5d281df52adce4e959c65260ee3f585988) ) @@ -2646,14 +2540,14 @@ Note: It's unknown what if any difference there is between V1 and 1V1 ROMs */ ROM_START( karatblz ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "rom2v3.u14", 0x00000, 0x40000, CRC(01f772e1) SHA1(f87f19a82d75839b5671f23ce14218d7b910eabc) ) // need to verify correct "region" stamped number, should this be "3v2.u14" ?? ROM_LOAD16_WORD_SWAP( "v1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) ) // chip with VideoSystem logo V and 1 - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "v5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) // chip with VideoSystem logo V and 5 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x80000, "gfx1", 0 ) @@ -2663,31 +2557,31 @@ ROM_START( karatblz ) ROM_LOAD( "gh9.u61", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) ) ROM_REGION( 0x400000, "spritegfx", 0 ) - ROM_LOAD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) - ROM_LOAD( "v3.u44", 0x100000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 - ROM_LOAD( "u43", 0x200000, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) - ROM_LOAD( "v4.u45", 0x300000, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 + ROM_LOAD32_WORD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) + ROM_LOAD32_WORD( "v3.u44", 0x200000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 + ROM_LOAD32_WORD( "u43", 0x000002, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) + ROM_LOAD32_WORD( "v4.u45", 0x200002, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 ROM_REGION( 0x100000, "gfx4", 0 ) - ROM_LOAD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) - ROM_LOAD( "ghd.u60", 0x080000, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) + ROM_LOAD32_WORD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) + ROM_LOAD32_WORD( "ghd.u60", 0x000002, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) - ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "u105.gh8", 0x000000, 0x080000, CRC(7a68cb1b) SHA1(1bdd0000c2d68019b9e5bf8f7ad84a6ae1af8443) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "u104", 0x000000, 0x100000, CRC(5795e884) SHA1(a4178497ad0a1e60ceb87612b218d77b36d2a11b) ) ROM_END ROM_START( karatblzt ) // Karate Blazers, Tecmo license - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "2v2.u14", 0x00000, 0x40000, CRC(7ae17b7f) SHA1(d7916c3159e22dde56a0de750032da9ee46b3d6c) ) // 2 stamped on chip with VideoSystem logo V and 2 ROM_LOAD16_WORD_SWAP( "v1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) ) // chip with VideoSystem logo V and 1 - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "v5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) // chip with VideoSystem logo V and 5 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x80000, "gfx1", 0 ) @@ -2697,31 +2591,31 @@ ROM_START( karatblzt ) // Karate Blazers, Tecmo license ROM_LOAD( "gh9.u61", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) ) ROM_REGION( 0x400000, "spritegfx", 0 ) - ROM_LOAD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) - ROM_LOAD( "v3.u44", 0x100000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 - ROM_LOAD( "u43", 0x200000, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) - ROM_LOAD( "v4.u45", 0x300000, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 + ROM_LOAD32_WORD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) + ROM_LOAD32_WORD( "v3.u44", 0x200000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 + ROM_LOAD32_WORD( "u43", 0x000002, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) + ROM_LOAD32_WORD( "v4.u45", 0x200002, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 ROM_REGION( 0x100000, "gfx4", 0 ) - ROM_LOAD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) - ROM_LOAD( "ghd.u60", 0x080000, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) + ROM_LOAD32_WORD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) + ROM_LOAD32_WORD( "ghd.u60", 0x000002, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) - ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "u105.gh8", 0x000000, 0x080000, CRC(7a68cb1b) SHA1(1bdd0000c2d68019b9e5bf8f7ad84a6ae1af8443) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "u104", 0x000000, 0x100000, CRC(5795e884) SHA1(a4178497ad0a1e60ceb87612b218d77b36d2a11b) ) ROM_END ROM_START( karatblza ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "_v2.u14", 0x00000, 0x40000, CRC(7a78976e) SHA1(3b74b80765622b8488bdd0729ec98a2c7584cad5) ) // need to verify correct "region" stamped number ROM_LOAD16_WORD_SWAP( "_v1.u15", 0x40000, 0x40000, CRC(47e410fe) SHA1(d26fc93f91ccf00856db2b7dfd0d905d87e99bd8) ) // need to verify correct "region" stamped number, is this one "1v1" ?? - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "v5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) // chip with VideoSystem logo V and 5 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x80000, "gfx1", 0 ) @@ -2731,31 +2625,31 @@ ROM_START( karatblza ) ROM_LOAD( "gh9.u61", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) ) ROM_REGION( 0x400000, "spritegfx", 0 ) - ROM_LOAD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) - ROM_LOAD( "v3.u44", 0x100000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 - ROM_LOAD( "u43", 0x200000, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) - ROM_LOAD( "v4.u45", 0x300000, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 + ROM_LOAD32_WORD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) + ROM_LOAD32_WORD( "v3.u44", 0x200000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 + ROM_LOAD32_WORD( "u43", 0x000002, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) + ROM_LOAD32_WORD( "v4.u45", 0x200002, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 ROM_REGION( 0x100000, "gfx4", 0 ) - ROM_LOAD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) - ROM_LOAD( "ghd.u60", 0x080000, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) + ROM_LOAD32_WORD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) + ROM_LOAD32_WORD( "ghd.u60", 0x000002, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) - ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "u105.gh8", 0x000000, 0x080000, CRC(7a68cb1b) SHA1(1bdd0000c2d68019b9e5bf8f7ad84a6ae1af8443) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "u104", 0x000000, 0x100000, CRC(5795e884) SHA1(a4178497ad0a1e60ceb87612b218d77b36d2a11b) ) ROM_END ROM_START( karatblzu ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "1v2.u14", 0x00000, 0x40000, CRC(202e6220) SHA1(2605511a0574cbc39fdf3d8ae27a0aa9b43345fb) ) // 1 stamped on chip with VideoSystem logo V and 2 ROM_LOAD16_WORD_SWAP( "v1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) ) // chip with VideoSystem logo V and 1 - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "v5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) // chip with VideoSystem logo V and 5 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x80000, "gfx1", 0 ) @@ -2765,31 +2659,31 @@ ROM_START( karatblzu ) ROM_LOAD( "gh9.u61", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) ) ROM_REGION( 0x400000, "spritegfx", 0 ) - ROM_LOAD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) - ROM_LOAD( "v3.u44", 0x100000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 - ROM_LOAD( "u43", 0x200000, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) - ROM_LOAD( "v4.u45", 0x300000, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 + ROM_LOAD32_WORD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) + ROM_LOAD32_WORD( "v3.u44", 0x200000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 + ROM_LOAD32_WORD( "u43", 0x000002, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) + ROM_LOAD32_WORD( "v4.u45", 0x200002, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 ROM_REGION( 0x100000, "gfx4", 0 ) - ROM_LOAD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) - ROM_LOAD( "ghd.u60", 0x080000, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) + ROM_LOAD32_WORD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) + ROM_LOAD32_WORD( "ghd.u60", 0x000002, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) - ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "u105.gh8", 0x000000, 0x080000, CRC(7a68cb1b) SHA1(1bdd0000c2d68019b9e5bf8f7ad84a6ae1af8443) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "u104", 0x000000, 0x100000, CRC(5795e884) SHA1(a4178497ad0a1e60ceb87612b218d77b36d2a11b) ) ROM_END ROM_START( karatblzj ) // Toushin Blazers, Tecmo license - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "2tecmo.u14", 0x00000, 0x40000, CRC(57e52654) SHA1(15939d8f7c693b9248f3dd2b2ad5fbae2c19621f) ) // need to verify correct "region" stamped number, is this one "4v2" ?? ROM_LOAD16_WORD_SWAP( "v1.u15", 0x40000, 0x40000, CRC(d16ee21b) SHA1(d454cdf22b72a537b9d7ae73deb8136a4f09da47) ) // chip with VideoSystem logo V and 1 - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "v5.u92", 0x00000, 0x20000, CRC(97d67510) SHA1(1ffd419e3dec7de1099cd5819b0309f7dd0df80e) ) // chip with VideoSystem logo V and 5 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x80000, "gfx1", 0 ) @@ -2799,19 +2693,19 @@ ROM_START( karatblzj ) // Toushin Blazers, Tecmo license ROM_LOAD( "gh9.u61", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) ) ROM_REGION( 0x400000, "spritegfx", 0 ) - ROM_LOAD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) - ROM_LOAD( "v3.u44", 0x100000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 - ROM_LOAD( "u43", 0x200000, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) - ROM_LOAD( "v4.u45", 0x300000, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 + ROM_LOAD32_WORD( "u42", 0x000000, 0x100000, CRC(65f0da84) SHA1(0bfbc6f4b87583703246704eb9fa13b1b3e6f90e) ) + ROM_LOAD32_WORD( "v3.u44", 0x200000, 0x020000, CRC(34bdead2) SHA1(99f9a8cac807fcd599db55d2dc624ed92a3862ef) ) // chip with VideoSystem logo V and 3 + ROM_LOAD32_WORD( "u43", 0x000002, 0x100000, CRC(7b349e5d) SHA1(8590a328f403e2c697a8d698c08d4adaf01fff62) ) + ROM_LOAD32_WORD( "v4.u45", 0x200002, 0x020000, CRC(be4d487d) SHA1(6d19c91d0498c43017219f0c10f4845a51ccfa7f) ) // chip with VideoSystem logo V and 4 ROM_REGION( 0x100000, "gfx4", 0 ) - ROM_LOAD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) - ROM_LOAD( "ghd.u60", 0x080000, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) + ROM_LOAD32_WORD( "u59.ghb", 0x000000, 0x80000, CRC(158c9cde) SHA1(a2c1b404d40e6c2627691f5c7a3f63484bd5d2de) ) + ROM_LOAD32_WORD( "ghd.u60", 0x000002, 0x80000, CRC(73180ae3) SHA1(e4eaf6693826d9e72032d0a0e25938a23ab7d792) ) - ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x080000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "u105.gh8", 0x000000, 0x080000, CRC(7a68cb1b) SHA1(1bdd0000c2d68019b9e5bf8f7ad84a6ae1af8443) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "u104", 0x000000, 0x100000, CRC(5795e884) SHA1(a4178497ad0a1e60ceb87612b218d77b36d2a11b) ) ROM_END @@ -2825,7 +2719,7 @@ SND : Z80 + NEC D7759c + YM3812 (no number on chip, but ROM is the same as stree */ ROM_START( karatblzbl ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "9.u5", 0x000000, 0x040000, CRC(33c3d3cd) SHA1(a8490091fe8d96b984ebbbe6b2f107fe23411814) ) ROM_LOAD16_BYTE( "10.u2", 0x000001, 0x040000, CRC(dbed7323) SHA1(3ec2fffea41e606c176e2392b37f757ad6febf99) ) @@ -2842,32 +2736,32 @@ ROM_START( karatblzbl ) ROM_LOAD( "4.u82", 0x00000, 0x80000, CRC(5d1676bd) SHA1(6227d489c9c6259a0ac2bef62821fbf94efca8c6) ) ROM_REGION( 0x400000, "spritegfx", 0 ) - ROM_LOAD16_BYTE( "gfx14.u58", 0x000000, 0x020000, CRC(41e18169) SHA1(fc1723cb5d5ddf7dc3d418070605ad14770620e5) ) - ROM_LOAD16_BYTE( "gfx19.u63", 0x000001, 0x020000, CRC(09833f2a) SHA1(13d7d530c5f7baa4442c950c8a976934a3df2304) ) - ROM_LOAD16_BYTE( "gfx13.u59", 0x040000, 0x020000, CRC(666a8c19) SHA1(0392eb45b135db139d0149cbc140bdcaec627bf2) ) - ROM_LOAD16_BYTE( "gfx18.u64", 0x040001, 0x020000, CRC(4be67468) SHA1(67413b9fc33483133a8ef39c39a1f202be1efcbf) ) - ROM_LOAD16_BYTE( "gfx12.u60", 0x080000, 0x020000, CRC(f425fe4c) SHA1(446b414e7f6bd699592dfdfc41e48d8f2f3a91b6) ) - ROM_LOAD16_BYTE( "gfx17.u65", 0x080001, 0x020000, CRC(96e77e04) SHA1(2c4f07c0bd7748470fb320c2e87bcf8c359d10ab) ) - ROM_LOAD16_BYTE( "gfx11.u61", 0x0c0000, 0x020000, CRC(09ae152b) SHA1(5d558e938f5d914f8bed2a8d980d08ad9e85d505) ) - ROM_LOAD16_BYTE( "gfx16.u66", 0x0c0001, 0x020000, CRC(cc3a2c8f) SHA1(d69a2127f6142c4d5b4363720511d564ceecf2b9) ) - ROM_LOAD16_BYTE( "gfx15.u57", 0x100000, 0x020000, CRC(876cf42e) SHA1(d9d5025f421f3dd297b519418a3cac528fcc269a) ) - ROM_LOAD16_BYTE( "gfx20.u62", 0x100001, 0x020000, CRC(8b759fde) SHA1(90ba7f71736a2bd35af045372db34d69d3015ff1) ) - ROM_LOAD16_BYTE( "gfx24.u68", 0x200000, 0x020000, CRC(a4417bf8) SHA1(791a3d70376915848fe1f26aa3152c96533c2783) ) - ROM_LOAD16_BYTE( "gfx29.u73", 0x200001, 0x020000, CRC(5affb5d0) SHA1(c89517dfb139d18f313f15c70481999f136ecb82) ) - ROM_LOAD16_BYTE( "gfx23.u69", 0x240000, 0x020000, CRC(3ff332e2) SHA1(2c3e3fc9af2735d21f0d14c08c731f148c5cc301) ) - ROM_LOAD16_BYTE( "gfx28.u74", 0x240001, 0x020000, CRC(ccfdd9ad) SHA1(53b4d68bcae4c84fb73f4b6b5d1d1503f125c3c4) ) - ROM_LOAD16_BYTE( "gfx22.u70", 0x280000, 0x020000, CRC(5d673b74) SHA1(d54d22969c0a2d155775c48bea93f6946457d405) ) - ROM_LOAD16_BYTE( "gfx27.u75", 0x280001, 0x020000, CRC(a38802d4) SHA1(f29d69dbac451be3b855733b77b83f86b8f2af86) ) - ROM_LOAD16_BYTE( "gfx21.u71", 0x2c0000, 0x020000, CRC(ffd66ea0) SHA1(fc1b2fa27d28a61b381e3d4f15809c740082d07f) ) - ROM_LOAD16_BYTE( "gfx26.u76", 0x2c0001, 0x020000, CRC(7ae76103) SHA1(5c42fbe133cbf600d2150295a70a1541b79706b5) ) - ROM_LOAD16_BYTE( "gfx25.u67", 0x300000, 0x020000, CRC(1195b559) SHA1(2fd00b3360df5f0a762569ab49c445b68568cf2e) ) - ROM_LOAD16_BYTE( "gfx30.u72", 0x300001, 0x020000, CRC(7593679f) SHA1(3a6199d1dc60d2c05084fe41c639228613831d99) ) + ROM_LOAD32_BYTE( "gfx14.u58", 0x000000, 0x020000, CRC(41e18169) SHA1(fc1723cb5d5ddf7dc3d418070605ad14770620e5) ) + ROM_LOAD32_BYTE( "gfx19.u63", 0x000001, 0x020000, CRC(09833f2a) SHA1(13d7d530c5f7baa4442c950c8a976934a3df2304) ) + ROM_LOAD32_BYTE( "gfx24.u68", 0x000002, 0x020000, CRC(a4417bf8) SHA1(791a3d70376915848fe1f26aa3152c96533c2783) ) + ROM_LOAD32_BYTE( "gfx29.u73", 0x000003, 0x020000, CRC(5affb5d0) SHA1(c89517dfb139d18f313f15c70481999f136ecb82) ) + ROM_LOAD32_BYTE( "gfx13.u59", 0x080000, 0x020000, CRC(666a8c19) SHA1(0392eb45b135db139d0149cbc140bdcaec627bf2) ) + ROM_LOAD32_BYTE( "gfx18.u64", 0x080001, 0x020000, CRC(4be67468) SHA1(67413b9fc33483133a8ef39c39a1f202be1efcbf) ) + ROM_LOAD32_BYTE( "gfx23.u69", 0x080002, 0x020000, CRC(3ff332e2) SHA1(2c3e3fc9af2735d21f0d14c08c731f148c5cc301) ) + ROM_LOAD32_BYTE( "gfx28.u74", 0x080003, 0x020000, CRC(ccfdd9ad) SHA1(53b4d68bcae4c84fb73f4b6b5d1d1503f125c3c4) ) + ROM_LOAD32_BYTE( "gfx12.u60", 0x100000, 0x020000, CRC(f425fe4c) SHA1(446b414e7f6bd699592dfdfc41e48d8f2f3a91b6) ) + ROM_LOAD32_BYTE( "gfx17.u65", 0x100001, 0x020000, CRC(96e77e04) SHA1(2c4f07c0bd7748470fb320c2e87bcf8c359d10ab) ) + ROM_LOAD32_BYTE( "gfx22.u70", 0x100002, 0x020000, CRC(5d673b74) SHA1(d54d22969c0a2d155775c48bea93f6946457d405) ) + ROM_LOAD32_BYTE( "gfx27.u75", 0x100003, 0x020000, CRC(a38802d4) SHA1(f29d69dbac451be3b855733b77b83f86b8f2af86) ) + ROM_LOAD32_BYTE( "gfx11.u61", 0x180000, 0x020000, CRC(09ae152b) SHA1(5d558e938f5d914f8bed2a8d980d08ad9e85d505) ) + ROM_LOAD32_BYTE( "gfx16.u66", 0x180001, 0x020000, CRC(cc3a2c8f) SHA1(d69a2127f6142c4d5b4363720511d564ceecf2b9) ) + ROM_LOAD32_BYTE( "gfx21.u71", 0x180002, 0x020000, CRC(ffd66ea0) SHA1(fc1b2fa27d28a61b381e3d4f15809c740082d07f) ) + ROM_LOAD32_BYTE( "gfx26.u76", 0x180003, 0x020000, CRC(7ae76103) SHA1(5c42fbe133cbf600d2150295a70a1541b79706b5) ) + ROM_LOAD32_BYTE( "gfx15.u57", 0x200000, 0x020000, CRC(876cf42e) SHA1(d9d5025f421f3dd297b519418a3cac528fcc269a) ) + ROM_LOAD32_BYTE( "gfx20.u62", 0x200001, 0x020000, CRC(8b759fde) SHA1(90ba7f71736a2bd35af045372db34d69d3015ff1) ) + ROM_LOAD32_BYTE( "gfx25.u67", 0x200002, 0x020000, CRC(1195b559) SHA1(2fd00b3360df5f0a762569ab49c445b68568cf2e) ) + ROM_LOAD32_BYTE( "gfx30.u72", 0x200003, 0x020000, CRC(7593679f) SHA1(3a6199d1dc60d2c05084fe41c639228613831d99) ) ROM_REGION( 0x100000, "gfx4", 0 ) - ROM_LOAD16_BYTE( "5.u62", 0x000000, 0x040000, CRC(1ed12174) SHA1(1e4fc511ad644aaf90505f7930957b4adf9f6c2a) ) - ROM_LOAD16_BYTE( "6.u63", 0x000001, 0x040000, CRC(874c5251) SHA1(487c2ff66e03e0c1d415039a11404c503b48f9c6) ) - ROM_LOAD16_BYTE( "7.u64", 0x080000, 0x040000, CRC(c2ed2666) SHA1(5c7b9cf46d13309facc8da82ef3eeb7ef3707ca0) ) - ROM_LOAD16_BYTE( "8.u65", 0x080001, 0x040000, CRC(b491201a) SHA1(c18cb1cc8a8bf031e00d8d89de62f7ed5548e767) ) + ROM_LOAD32_BYTE( "5.u62", 0x000000, 0x040000, CRC(1ed12174) SHA1(1e4fc511ad644aaf90505f7930957b4adf9f6c2a) ) + ROM_LOAD32_BYTE( "6.u63", 0x000001, 0x040000, CRC(874c5251) SHA1(487c2ff66e03e0c1d415039a11404c503b48f9c6) ) + ROM_LOAD32_BYTE( "7.u64", 0x000002, 0x040000, CRC(c2ed2666) SHA1(5c7b9cf46d13309facc8da82ef3eeb7ef3707ca0) ) + ROM_LOAD32_BYTE( "8.u65", 0x000003, 0x040000, CRC(b491201a) SHA1(c18cb1cc8a8bf031e00d8d89de62f7ed5548e767) ) ROM_END /* @@ -2887,15 +2781,15 @@ NOTE: Swapping in a 0x63f50557 ROM in turbofrcu in place of 8v3.u14 does NOT tri */ ROM_START( turbofrc ) // World version with no copyright notice - ROM_REGION( 0xc0000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0xc0000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "4v2.subpcb.u2", 0x00000, 0x40000, CRC(721300ee) SHA1(79ab32fdfd377592a0bdbd1c4794cfd529a3eb7b) ) // 27c2048 - located on a OR-10 SUB BOARD - 4 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "4v1.subpcb.u1", 0x40000, 0x40000, CRC(6cd5312b) SHA1(57b109fe268fb963e981c91b6d288667a3c9a665) ) // 27c2048 - located on a OR-10 SUB BOARD - 4 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "4v3.u14", 0x80000, 0x40000, CRC(63f50557) SHA1(f8dba8c9ba412c9a67457ec31a804c57593ab20b) ) // 27c2048 - 4 stamped on chip with VideoSystem logo V - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "6.u166", 0x00000, 0x20000, CRC(2ca14a65) SHA1(95f6e7b4fa7ca26872ff472d7e6fb75fd4f281d5) ) // 27c1001 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x0a0000, "gfx1", 0 ) @@ -2907,32 +2801,32 @@ ROM_START( turbofrc ) // World version with no copyright notice ROM_LOAD( "8.u106", 0x080000, 0x20000, CRC(c6479eb5) SHA1(47a58f082c73bc9dae3970e760ba46478ce6a190) ) // 27c1001a ROM_REGION( 0x200000, "spritegfx", 0 ) - ROM_LOAD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom - ROM_LOAD( "5.u118", 0x080000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 - ROM_LOAD( "lh534gh1.u117", 0x100000, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom - ROM_LOAD( "4.u119", 0x180000, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom + ROM_LOAD32_WORD( "5.u118", 0x100000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh1.u117", 0x000002, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom + ROM_LOAD32_WORD( "4.u119", 0x100002, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom - ROM_LOAD( "lh532a51.u135", 0x040000, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom + ROM_LOAD32_WORD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom + ROM_LOAD32_WORD( "lh532a51.u135", 0x000002, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "lh532h74.u180", 0x00000, 0x40000, CRC(a3d43254) SHA1(d0225d6cf9299ecc39d8e3f64f48cf80d554a67f) ) // mask rom - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "lh538o7j.u179", 0x000000, 0x100000, CRC(60ca0333) SHA1(28b94edc98d360386759780ccd1122d43ffa5279) ) // mask rom ROM_END ROM_START( turbofrco ) // World version with no copyright notice - ROM_REGION( 0xc0000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0xc0000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "3v2.subpcb.u2", 0x00000, 0x40000, CRC(721300ee) SHA1(79ab32fdfd377592a0bdbd1c4794cfd529a3eb7b) ) // 27c2048 - located on a OR-10 SUB BOARD - 3 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "3v1.subpcb.u1", 0x40000, 0x40000, CRC(71b6431b) SHA1(471bada4730a1a323af9b493f8c5f57c2a147f8d) ) // 27c2048 - located on a OR-10 SUB BOARD - 3 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "3v3.u14", 0x80000, 0x40000, CRC(63f50557) SHA1(f8dba8c9ba412c9a67457ec31a804c57593ab20b) ) // 27c2048 - 3 stamped on chip with VideoSystem logo V - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "6.u166", 0x00000, 0x20000, CRC(2ca14a65) SHA1(95f6e7b4fa7ca26872ff472d7e6fb75fd4f281d5) ) // 27c1001 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x0a0000, "gfx1", 0 ) @@ -2944,32 +2838,32 @@ ROM_START( turbofrco ) // World version with no copyright notice ROM_LOAD( "8.u106", 0x080000, 0x20000, CRC(c6479eb5) SHA1(47a58f082c73bc9dae3970e760ba46478ce6a190) ) // 27c1001a ROM_REGION( 0x200000, "spritegfx", 0 ) - ROM_LOAD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom - ROM_LOAD( "5.u118", 0x080000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 - ROM_LOAD( "lh534gh1.u117", 0x100000, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom - ROM_LOAD( "4.u119", 0x180000, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom + ROM_LOAD32_WORD( "5.u118", 0x100000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh1.u117", 0x000002, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom + ROM_LOAD32_WORD( "4.u119", 0x100002, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom - ROM_LOAD( "lh532a51.u135", 0x040000, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom + ROM_LOAD32_WORD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom + ROM_LOAD32_WORD( "lh532a51.u135", 0x000002, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "lh532h74.u180", 0x00000, 0x40000, CRC(a3d43254) SHA1(d0225d6cf9299ecc39d8e3f64f48cf80d554a67f) ) // mask rom - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "lh538o7j.u179", 0x000000, 0x100000, CRC(60ca0333) SHA1(28b94edc98d360386759780ccd1122d43ffa5279) ) // mask rom ROM_END ROM_START( turbofrcu ) // US version - need to redump 8v3.u14 to verify it's unique - ROM_REGION( 0xc0000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0xc0000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "8v2.subpcb.u2", 0x00000, 0x40000, CRC(721300ee) SHA1(79ab32fdfd377592a0bdbd1c4794cfd529a3eb7b) ) // 27c2048 - located on a OR-10 SUB BOARD - 8 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "8v1.subpcb.u1", 0x40000, 0x40000, CRC(cc324da6) SHA1(ed2eaff7351914e3ebaf925ddc01be9d44d89fa6) ) // 27c2048 - located on a OR-10 SUB BOARD - 8 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "8v3.u14", 0x80000, 0x40000, CRC(c0a15480) SHA1(1ec99382e0a00a8167773b1d454a63cc5cd6199c) ) // 27c2048 - 8 stamped on chip with VideoSystem logo V - 0x240B:3C (vs 0x25 for other sets) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "6.u166", 0x00000, 0x20000, CRC(2ca14a65) SHA1(95f6e7b4fa7ca26872ff472d7e6fb75fd4f281d5) ) // 27c1001 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x0a0000, "gfx1", 0 ) @@ -2981,32 +2875,32 @@ ROM_START( turbofrcu ) // US version - need to redump 8v3.u14 to verify it's uni ROM_LOAD( "8.u106", 0x080000, 0x20000, CRC(c6479eb5) SHA1(47a58f082c73bc9dae3970e760ba46478ce6a190) ) // 27c1001a ROM_REGION( 0x200000, "spritegfx", 0 ) - ROM_LOAD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom - ROM_LOAD( "5.u118", 0x080000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 - ROM_LOAD( "lh534gh1.u117", 0x100000, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom - ROM_LOAD( "4.u119", 0x180000, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom + ROM_LOAD32_WORD( "5.u118", 0x100000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh1.u117", 0x000002, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom + ROM_LOAD32_WORD( "4.u119", 0x100002, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom - ROM_LOAD( "lh532a51.u135", 0x040000, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom + ROM_LOAD32_WORD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom + ROM_LOAD32_WORD( "lh532a51.u135", 0x000002, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "lh532h74.u180", 0x00000, 0x40000, CRC(a3d43254) SHA1(d0225d6cf9299ecc39d8e3f64f48cf80d554a67f) ) // mask rom - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "lh538o7j.u179", 0x000000, 0x100000, CRC(60ca0333) SHA1(28b94edc98d360386759780ccd1122d43ffa5279) ) // mask rom ROM_END ROM_START( turbofrcua ) // US version - ROM_REGION( 0xc0000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0xc0000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "7v2.subpcb.u2", 0x00000, 0x40000, CRC(721300ee) SHA1(79ab32fdfd377592a0bdbd1c4794cfd529a3eb7b) ) // 27c2048 - located on a OR-10 SUB BOARD - 7 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "7v1.subpcb.u1", 0x40000, 0x40000, CRC(d1513f96) SHA1(7acb96a44f661cd9c7561dfab0d60c993942d669) ) // 27c2048 - located on a OR-10 SUB BOARD - 7 stamped on chip with VideoSystem logo V ROM_LOAD16_WORD_SWAP( "7v3.u14", 0x80000, 0x40000, CRC(63f50557) SHA1(f8dba8c9ba412c9a67457ec31a804c57593ab20b) ) // 27c2048 - 7 stamped on chip with VideoSystem logo V - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "6.u166", 0x00000, 0x20000, CRC(2ca14a65) SHA1(95f6e7b4fa7ca26872ff472d7e6fb75fd4f281d5) ) // 27c1001 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x0a0000, "gfx1", 0 ) @@ -3018,56 +2912,56 @@ ROM_START( turbofrcua ) // US version ROM_LOAD( "8.u106", 0x080000, 0x20000, CRC(c6479eb5) SHA1(47a58f082c73bc9dae3970e760ba46478ce6a190) ) // 27c1001a ROM_REGION( 0x200000, "spritegfx", 0 ) - ROM_LOAD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom - ROM_LOAD( "5.u118", 0x080000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 - ROM_LOAD( "lh534gh1.u117", 0x100000, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom - ROM_LOAD( "4.u119", 0x180000, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh2.u116", 0x000000, 0x80000, CRC(df210f3b) SHA1(990ac43e4a46fee6b929c5b27d317cdadf179b8b) ) // mask rom + ROM_LOAD32_WORD( "5.u118", 0x100000, 0x40000, CRC(f61d1d79) SHA1(2b8e33912c05c26170afd2fced0ff06cb7a097fa) ) // 27c2048 + ROM_LOAD32_WORD( "lh534gh1.u117", 0x000002, 0x80000, CRC(f70812fd) SHA1(1964e1134940825211cd4825fdd3f13b8242192d) ) // mask rom + ROM_LOAD32_WORD( "4.u119", 0x100002, 0x40000, CRC(474ea716) SHA1(67753e96fa4fc8cd689a8bddeb60dbde259cacaa) ) // 27c2048 ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom - ROM_LOAD( "lh532a51.u135", 0x040000, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom + ROM_LOAD32_WORD( "lh532a52.u134", 0x000000, 0x40000, CRC(3c725a48) SHA1(120e62b2ef911bfa0f8a1468966ff70fab2d7582) ) // mask rom + ROM_LOAD32_WORD( "lh532a51.u135", 0x000002, 0x40000, CRC(95c63559) SHA1(5f77bd22dce1ac4aa7291e5c3c3c358e2f066e8c) ) // mask rom - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "lh532h74.u180", 0x00000, 0x40000, CRC(a3d43254) SHA1(d0225d6cf9299ecc39d8e3f64f48cf80d554a67f) ) // mask rom - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "lh538o7j.u179", 0x000000, 0x100000, CRC(60ca0333) SHA1(28b94edc98d360386759780ccd1122d43ffa5279) ) // mask rom ROM_END ROM_START( aerofgt ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_WORD_SWAP( "1.u4", 0x00000, 0x80000, CRC(6fdff0a2) SHA1(7cc9529b426091027aa3e23586cb7d162376c0ff) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x100000, "gfx1", 0 ) - ROM_LOAD( "538a54.124", 0x000000, 0x80000, CRC(4d2c4df2) SHA1(f51c2b3135f0a921ac1a79e63d6878c03cb6254b) ) - ROM_LOAD( "1538a54.124", 0x080000, 0x80000, CRC(286d109e) SHA1(3a5f3d2d89cf58f6ef15e4bd3f570b84e8e695b2) ) + ROM_LOAD16_WORD_SWAP( "538a54.124", 0x000000, 0x80000, CRC(4d2c4df2) SHA1(f51c2b3135f0a921ac1a79e63d6878c03cb6254b) ) + ROM_LOAD16_WORD_SWAP( "1538a54.124", 0x080000, 0x80000, CRC(286d109e) SHA1(3a5f3d2d89cf58f6ef15e4bd3f570b84e8e695b2) ) ROM_REGION( 0x400000, "gfx2", 0 ) - ROM_LOAD( "538a53.u9", 0x000000, 0x100000, CRC(630d8e0b) SHA1(5a0c252ccd53c5199a695909d25ecb4e53dc15b9) ) - ROM_LOAD( "534g8f.u18", 0x200000, 0x080000, CRC(76ce0926) SHA1(5ef4cec215d4dd600d8fcd1bd9a4c09081d59e33) ) + ROM_LOAD16_WORD_SWAP( "538a53.u9", 0x000000, 0x100000, CRC(630d8e0b) SHA1(5a0c252ccd53c5199a695909d25ecb4e53dc15b9) ) + ROM_LOAD16_WORD_SWAP( "534g8f.u18", 0x200000, 0x080000, CRC(76ce0926) SHA1(5ef4cec215d4dd600d8fcd1bd9a4c09081d59e33) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) ) ROM_END ROM_START( aerofgtb ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "v2", 0x00000, 0x40000, CRC(5c9de9f0) SHA1(93b62c59f0bc052c6fdbd5aae292a7ab2122dfd1) ) ROM_LOAD16_BYTE( "v1", 0x00001, 0x40000, CRC(89c1dcf4) SHA1(41401d63049c140e4254dc791022d85c44271390) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "v3", 0x00000, 0x20000, CRC(cbb18cf4) SHA1(7119a7536cf710660ff06d1e7d2879c79ef12b3d) ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) ROM_REGION( 0x080000, "gfx1", 0 ) @@ -3077,32 +2971,32 @@ ROM_START( aerofgtb ) ROM_LOAD( "it-19-02", 0x000000, 0x80000, CRC(4f57f8ba) SHA1(aaad548e9a7490dfd48a975135716225f416b6f6) ) ROM_REGION( 0x100000, "spritegfx", 0 ) - ROM_LOAD16_WORD_SWAP( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) ) - ROM_LOAD16_WORD_SWAP( "it-19-05", 0x080000, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) ) + ROM_LOAD32_WORD_SWAP( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) ) + ROM_LOAD32_WORD_SWAP( "it-19-05", 0x000002, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) ) ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD16_WORD_SWAP( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) ) - ROM_LOAD16_WORD_SWAP( "g26", 0x040000, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) ) + ROM_LOAD32_WORD_SWAP( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) ) + ROM_LOAD32_WORD_SWAP( "g26", 0x000002, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) ) ROM_END ROM_START( aerofgtc ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "v2.149", 0x00000, 0x40000, CRC(f187aec6) SHA1(8905af34f114ae22fbfbd3ae115f19280bdd4fb3) ) ROM_LOAD16_BYTE( "v1.111", 0x00001, 0x40000, CRC(9e684b19) SHA1(b5e1e5b74ed9fd223c9315ee2d548e620224c102) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) ) - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) - /* gfx ROMs were missing in this set, I'm using the aerofgtb ones */ + // gfx ROMs were missing in this set, I'm using the aerofgtb ones ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "it-19-03", 0x000000, 0x80000, CRC(85eba1a4) SHA1(5691a95d6359fdab29be0d615066370c2b856c0a) ) @@ -3110,32 +3004,32 @@ ROM_START( aerofgtc ) ROM_LOAD( "it-19-02", 0x000000, 0x80000, CRC(4f57f8ba) SHA1(aaad548e9a7490dfd48a975135716225f416b6f6) ) ROM_REGION( 0x100000, "spritegfx", 0 ) - ROM_LOAD16_WORD_SWAP( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) ) - ROM_LOAD16_WORD_SWAP( "it-19-05", 0x080000, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) ) + ROM_LOAD32_WORD_SWAP( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) ) + ROM_LOAD32_WORD_SWAP( "it-19-05", 0x000002, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) ) ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD16_WORD_SWAP( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) ) - ROM_LOAD16_WORD_SWAP( "g26", 0x040000, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) ) + ROM_LOAD32_WORD_SWAP( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) ) + ROM_LOAD32_WORD_SWAP( "g26", 0x000002, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) ) ROM_END ROM_START( sonicwi ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "2.149", 0x00000, 0x40000, CRC(3d1b96ba) SHA1(941be323c0cb15e05c92b897984617b05c5cf676) ) ROM_LOAD16_BYTE( "1.111", 0x00001, 0x40000, CRC(a3d09f94) SHA1(a1064d659488878f5303edc2b8636312ab632a83) ) - ROM_REGION( 0x20000, "soundbank", 0 ) /* 128k for the audio CPU + banks */ + ROM_REGION( 0x20000, "soundbank", 0 ) // 128k for the audio CPU + banks ROM_LOAD( "2.153", 0x00000, 0x20000, CRC(a1ef64ec) SHA1(fa3e434738bf4e742ad68882c1e914100ce0f761) ) // 3.156 - ROM_REGION( 0x08000, "audiocpu", 0 ) /* 32k for the audio CPU */ + ROM_REGION( 0x08000, "audiocpu", 0 ) // 32k for the audio CPU ROM_COPY( "soundbank", 0x00000, 0x00000, 0x08000 ) - /* gfx ROMs were missing in this set, I'm using the aerofgtb ones */ + // gfx ROMs were missing in this set, I'm using the aerofgtb ones ROM_REGION( 0x080000, "gfx1", 0 ) ROM_LOAD( "it-19-03", 0x000000, 0x80000, CRC(85eba1a4) SHA1(5691a95d6359fdab29be0d615066370c2b856c0a) ) @@ -3143,22 +3037,22 @@ ROM_START( sonicwi ) ROM_LOAD( "it-19-02", 0x000000, 0x80000, CRC(4f57f8ba) SHA1(aaad548e9a7490dfd48a975135716225f416b6f6) ) ROM_REGION( 0x100000, "spritegfx", 0 ) - ROM_LOAD16_WORD_SWAP( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) ) - ROM_LOAD16_WORD_SWAP( "it-19-05", 0x080000, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) ) + ROM_LOAD32_WORD_SWAP( "it-19-04", 0x000000, 0x80000, CRC(3b329c1f) SHA1(279cb32d69ce1e71f42cfad93d395794a3e92bc6) ) + ROM_LOAD32_WORD_SWAP( "it-19-05", 0x000002, 0x80000, CRC(02b525af) SHA1(07f23d15938dfbdc4f0977ba1463a06090569026) ) ROM_REGION( 0x080000, "gfx4", 0 ) - ROM_LOAD16_WORD_SWAP( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) ) - ROM_LOAD16_WORD_SWAP( "g26", 0x040000, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) ) + ROM_LOAD32_WORD_SWAP( "g27", 0x000000, 0x40000, CRC(4d89cbc8) SHA1(93f248f3dc1a15c32d14a147b37d5d660d0e4337) ) + ROM_LOAD32_WORD_SWAP( "g26", 0x000002, 0x40000, CRC(8072c1d2) SHA1(c14634f5f2686cf616f415d9ea4a0c6490054beb) ) - ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) /* sound samples */ + ROM_REGION( 0x40000, "ymsnd:adpcmb", 0 ) // sound samples ROM_LOAD( "it-19-01", 0x00000, 0x40000, CRC(6d42723d) SHA1(57c59234e9925430a4c687733682efed06d7eed1) ) - ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) /* sound samples */ + ROM_REGION( 0x100000, "ymsnd:adpcma", 0 ) // sound samples ROM_LOAD( "it-19-06", 0x000000, 0x100000, CRC(cdbbdb1d) SHA1(067c816545f246ff1fd4c821d70df1e7eb47938c) ) ROM_END ROM_START( aerfboot ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "afb_ep2.u3", 0x00000, 0x40000, CRC(2bb9edf7) SHA1(cf0a62070fc0803dd8c473c375f6a2d1884ba2bf) ) ROM_LOAD16_BYTE( "afb_ep3.u2", 0x00001, 0x40000, CRC(475d3df3) SHA1(58bde24e9dea2fb0d7ae4f2a574b06bc1a33a13d) ) @@ -3179,17 +3073,17 @@ ROM_START( aerfboot ) ROM_LOAD( "afb_ep13.td", 0x000000, 0x40000, CRC(1830f70c) SHA1(1759de9b56e4999defc08b2423eff38ec98c4f17) ) ROM_LOAD( "afb_ep11.tb", 0x040000, 0x40000, CRC(6298c0eb) SHA1(ede63849973742c67637eac0ec9cda95ea2ecebc) ) - ROM_REGION( 0xa0000, "oki", ROMREGION_ERASEFF ) /* sound samples */ + ROM_REGION( 0xa0000, "oki", ROMREGION_ERASEFF ) // sound samples ROM_LOAD( "afb_ep5.u29", 0x000000, 0x20000, CRC(3559609a) SHA1(6f0b633bf74f41487fc98dcdc43a83eb67f3d14c) ) ROM_LOAD( "afb_ep4.u30", 0x020000, 0x80000, CRC(f9652163) SHA1(d8c1fcf44b350cc65378869e4eb188ea232b4948) ) ROM_END ROM_START( aerfboo2 ) - ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "p2", 0x00000, 0x40000, CRC(6c4ec09b) SHA1(cdfb8c59ddd6360487fee017d5093636aa52c5c2) ) ROM_LOAD16_BYTE( "p1", 0x00001, 0x40000, CRC(841c513a) SHA1(819e634f0aec29b1863c9cf0118cc33154d10037) ) - /* No z80 on this bootleg */ + // No z80 on this bootleg ROM_REGION( 0x80000, "gfx1", 0 ) ROM_LOAD( "g5" , 0x000000, 0x80000, CRC(1c2bd86c) SHA1(f16d7eba967d76faaaeae5101db43141ef9e2eed) ) @@ -3203,13 +3097,13 @@ ROM_START( aerfboo2 ) ROM_LOAD32_BYTE( "g4" , 0x000002, 0x80000, CRC(97725694) SHA1(59316e4be043e0b7111c6777b36bcfd39c899e72) ) ROM_LOAD32_BYTE( "g3" , 0x000003, 0x80000, CRC(7be8cef0) SHA1(b227252fd288e8eb06507397f3ad625465dc1b0a) ) - ROM_REGION( 0x100000, "oki", ROMREGION_ERASEFF ) /* sound samples */ + ROM_REGION( 0x100000, "oki", ROMREGION_ERASEFF ) // sound samples ROM_LOAD( "s2" , 0x00000, 0x80000, CRC(2e316ee8) SHA1(a163dddee6d8cfd1286059ee561e3a01df49381b) ) ROM_LOAD( "s1" , 0x80000, 0x80000, CRC(9e09813d) SHA1(582a36b5a46f4d8eaedca22e583b6949535d24a5) ) ROM_END ROM_START( wbbc97 ) - ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 code */ + ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 code ROM_LOAD16_BYTE( "03.27c040.ur4.rom", 0x000001, 0x80000, CRC(fb4e48fc) SHA1(cffc75766a9b867ab73597156142aa7c70bf6f20) ) ROM_LOAD16_BYTE( "07.27c040.uo4.rom", 0x000000, 0x80000, CRC(87605dcc) SHA1(c5d05e7c581e02f88fd42c65768f5c8632e571a1) ) ROM_LOAD16_BYTE( "04.27c4000.ur4a.rom",0x100001, 0x80000, CRC(2dd6ff07) SHA1(54724f49d4ca1db16a799704a9e023f6ee407fee) ) @@ -3219,31 +3113,31 @@ ROM_START( wbbc97 ) ROM_LOAD16_BYTE( "06.27c4000.ur4c.rom",0x300001, 0x80000, CRC(b22d11c4) SHA1(15d2ba97704bbcf9d851b650a9c56a6a668cfe63) ) ROM_LOAD16_BYTE( "10.27c040.uo4c.rom", 0x300000, 0x80000, CRC(fe403e8b) SHA1(5f8202792d9ec3e0404637614277c0375c747f7e) ) - ROM_REGION( 0x10000, "audiocpu", 0 ) /* z80 code */ + ROM_REGION( 0x10000, "audiocpu", 0 ) // z80 code ROM_LOAD( "02.27c512.su11.rom", 0x000000, 0x10000, CRC(f03178e9) SHA1(5b0abee03059109a3cdb08a9341091255d5cb6ae) ) - ROM_REGION( 0x40000, "gfx1", 0 ) /* GFX */ + ROM_REGION( 0x40000, "gfx1", 0 ) // GFX ROM_LOAD( "15.27c020.uu10.rom", 0x000000, 0x40000, CRC(965bc99e) SHA1(db72121cfbcd6916f46ac5bd3592681eafa4e5da) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* GFX */ - ROM_LOAD( "11.27c020.ue12.rom", 0x000000, 0x40000, CRC(a0b23c8a) SHA1(85ccc5dcc891a352b90f0f3d89f6115bc52face6) ) - ROM_LOAD( "12.27c020.ue11.rom", 0x040000, 0x40000, CRC(4e529623) SHA1(b3e1e1ba5e05f7e095c0409f199c89b81297cf40) ) - ROM_LOAD( "13.27c020.ue10.rom", 0x080000, 0x40000, CRC(3745f892) SHA1(085986dff9639dedaee3bcecca17a6ea7e4a45f4) ) - ROM_LOAD( "14.27c020.ue9.rom", 0x0c0000, 0x40000, CRC(2814f4d2) SHA1(bf459b9ff160d0f18d74224d5e0729b8120261e6) ) + ROM_REGION( 0x100000, "gfx2", 0 ) // GFX + ROM_LOAD32_BYTE( "11.27c020.ue12.rom", 0x000003, 0x40000, CRC(a0b23c8a) SHA1(85ccc5dcc891a352b90f0f3d89f6115bc52face6) ) + ROM_LOAD32_BYTE( "12.27c020.ue11.rom", 0x000002, 0x40000, CRC(4e529623) SHA1(b3e1e1ba5e05f7e095c0409f199c89b81297cf40) ) + ROM_LOAD32_BYTE( "13.27c020.ue10.rom", 0x000001, 0x40000, CRC(3745f892) SHA1(085986dff9639dedaee3bcecca17a6ea7e4a45f4) ) + ROM_LOAD32_BYTE( "14.27c020.ue9.rom", 0x000000, 0x40000, CRC(2814f4d2) SHA1(bf459b9ff160d0f18d74224d5e0729b8120261e6) ) - ROM_REGION( 0x40000, "oki", 0 ) /* OKIM6295 samples */ + ROM_REGION( 0x40000, "oki", 0 ) // OKIM6295 samples ROM_LOAD( "01.27c020.su10.rom", 0x000000, 0x40000, CRC(c024e48c) SHA1(d3caedd22044c1645d96301a93f794db3ff77047) ) - ROM_REGION( 0x200, "user1", 0 ) /* ??? */ + ROM_REGION( 0x200, "user1", 0 ) // ??? ROM_LOAD( "82s147a.rom", 0x000000, 0x200, CRC(72cec9d2) SHA1(1c6fe6b47fe24bdbebb51d6bef56bf71c9029e72) ) ROM_END ROM_START( kickball ) - ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ + ROM_REGION( 0x100000, "maincpu", 0 ) // 68000 Code ROM_LOAD16_BYTE( "kickball.1", 0x000000, 0x040000, CRC(f0fd971d) SHA1(b887196d9ff62403fd27e41ebda0a1d13215a456) ) ROM_LOAD16_BYTE( "kickball.2", 0x000001, 0x040000, CRC(7dab432d) SHA1(e077ea552e9aba4ecc82abd07ea5e94f0f09303f) ) - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 Code */ + ROM_REGION( 0x10000, "audiocpu", 0 ) // Z80 Code ROM_LOAD( "kickball.4", 0x00000, 0x10000, CRC(ef10c2bf) SHA1(44fd03a28221dffe9c4281ef920fe975bbfb67f0) ) ROM_REGION( 0x100000, "gfx1", ROMREGION_ERASEFF ) @@ -3260,6 +3154,13 @@ ROM_START( kickball ) ROM_LOAD( "kickball.3", 0x000000, 0x040000, CRC(2f3ed4c1) SHA1(4688df5d420343a935d066f3b46580b77ee77b0e) ) ROM_END +void aerofgt_base_state::init_pspikesb() +{ + m_okibank->configure_entries(0, 4, memregion("oki")->base(), 0x20000); + m_okibank->set_entry(0); +} + + void aerofgt_sound_cpu_state::init_banked_oki() { m_okibank->configure_entries(0, 4, memregion("oki")->base() + 0x20000, 0x20000); @@ -3285,12 +3186,12 @@ GAME( 1991, pspikes, 0, pspikes, pspikes, aerofgt_banked_sound_st GAME( 1991, pspikesk, pspikes, pspikes, pspikes, aerofgt_banked_sound_state, empty_init, ROT0, "Video System Co.", "Power Spikes (Korea)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) GAME( 1991, pspikesu, pspikes, pspikes, pspikes, aerofgt_banked_sound_state, empty_init, ROT0, "Video System Co.", "Power Spikes (US)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) GAME( 1991, svolly91, pspikes, pspikes, pspikes, aerofgt_banked_sound_state, empty_init, ROT0, "Video System Co.", "Super Volley '91 (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, aerofgt_state, empty_init, ROT0, "bootleg", "Power Spikes (bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1991, pspikesba, pspikes, pspikesb, pspikesb, aerofgt_state, empty_init, ROT0, "bootleg (Playmark?)", "Power Spikes (Italian bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1991, spikes91, pspikes, spikes91, pspikes, aerofgt_sound_cpu_state, empty_init, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL ) // OKI M5205 not hooked up yet -GAME( 1991, spikes91b, pspikes, spikes91, pspikes, aerofgt_sound_cpu_state, empty_init, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL ) // OKI M5205 not hooked up yet -GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, aerofgt_state, empty_init, ROT0, "bootleg", "Power Spikes (China)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) -GAME( 1997, wbbc97, 0, wbbc97, wbbc97, aerofgt_sound_cpu_state, empty_init, ROT0, "Comad", "Beach Festival World Championship 1997", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) // based on power spikes codebase +GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, aerofgt_base_state, init_pspikesb, ROT0, "bootleg", "Power Spikes (bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 1991, pspikesba, pspikes, pspikesb, pspikesb, aerofgt_base_state, init_pspikesb, ROT0, "bootleg (Playmark?)", "Power Spikes (Italian bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) +GAME( 1991, spikes91, pspikes, spikes91, pspikes, spikes91_state, empty_init, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL ) // OKI M5205 not hooked up yet +GAME( 1991, spikes91b, pspikes, spikes91, pspikes, spikes91_state, empty_init, ROT0, "bootleg", "1991 Spikes (Italian bootleg, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL ) // OKI M5205 not hooked up yet +GAME( 1991, pspikesc, pspikes, pspikesc, pspikesc, aerofgt_base_state, init_pspikesb, ROT0, "bootleg", "Power Spikes (China, bootleg)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) +GAME( 1997, wbbc97, 0, wbbc97, wbbc97, wbbc97_state, empty_init, ROT0, "Comad", "Beach Festival World Championship 1997", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) // based on power spikes codebase GAME( 1998, kickball, 0, kickball, pspikes, aerofgt_sound_cpu_state, init_kickball, ROT0, "Seoung Youn", "Kick Ball", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_GRAPHICS ) // based on power spikes codebase, wrong priorities GAME( 1991, karatblz, 0, karatblz, karatblz, aerofgt_banked_sound_state, empty_init, ROT0, "Video System Co.", "Karate Blazers (World, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) @@ -3298,7 +3199,7 @@ GAME( 1991, karatblza, karatblz, karatblz, karatblz, aerofgt_banked_sound_st GAME( 1991, karatblzt, karatblz, karatblz, karatblz, aerofgt_banked_sound_state, empty_init, ROT0, "Video System Co. (Tecmo license)", "Karate Blazers (World, Tecmo license)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) GAME( 1991, karatblzu, karatblz, karatblz, karatblzu, aerofgt_banked_sound_state, empty_init, ROT0, "Video System Co.", "Karate Blazers (US)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) GAME( 1991, karatblzj, karatblz, karatblz, karatblz, aerofgt_banked_sound_state, empty_init, ROT0, "Video System Co. (Tecmo license)", "Toushin Blazers (Japan, Tecmo license)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1991, karatblzbl, karatblz, karatblzbl, karatblz, aerofgt_sound_cpu_state, empty_init, ROT0, "bootleg", "Karate Blazers (bootleg with Street Smart sound hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) +GAME( 1991, karatblzbl, karatblz, karatblzbl, karatblz, karatblzbl_state, empty_init, ROT0, "bootleg", "Karate Blazers (bootleg with Street Smart sound hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) // according to Gamest magazine in new revision they changed the points value of the rocks in level 6 (5'000 versus 500) // turbofrcua gives 5'000, the others 500. @@ -3311,9 +3212,9 @@ GAME( 1991, turbofrcua, turbofrc, turbofrc, turbofrc, aerofgt_banked_sound_st // the tiles on these also contain an alt title 'The Final War' for both the title screen and attract logo was it ever used? // sonicwi looks oldest set, aerofgt is slightly easier, aerofgtb/aerofgtc are noticeably harder // aerofgtb sports an extra srl->rr in Z80 code at PC=1a8a compared to all other sets, bugfix rev? -GAME( 1992, aerofgt, 0, aerofgt, aerofgt, aerofgt_banked_sound_state, empty_init, ROT270, "Video System Co.", "Aero Fighters (World / USA + Canada / Korea / Hong Kong / Taiwan) (newer hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) // this has the newer sprite chip etc. unlike all other games in this driver.. +GAME( 1992, aerofgt, 0, aerofgt, aerofgt, aerofgt_state, empty_init, ROT270, "Video System Co.", "Aero Fighters (World / USA + Canada / Korea / Hong Kong / Taiwan) (newer hardware)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) // this has the newer sprite chip etc. unlike all other games in this driver.. GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, aerofgt_banked_sound_state, empty_init, ROT270, "Video System Co.", "Aero Fighters (Taiwan / Japan, set 1)", MACHINE_SUPPORTS_SAVE ) // probably intended for Taiwan because the Japanese name is Sonic Wings (below) GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, aerofgt_banked_sound_state, empty_init, ROT270, "Video System Co.", "Aero Fighters (Taiwan / Japan, set 2)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, aerofgt_banked_sound_state, empty_init, ROT270, "Video System Co.", "Sonic Wings (Japan)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, aerofgt_sound_cpu_state, init_banked_oki, ROT270, "bootleg", "Aero Fighters (bootleg, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) -GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, aerofgt_state, empty_init, ROT270, "bootleg", "Aero Fighters (bootleg, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) +GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, aerofgt_base_state, empty_init, ROT270, "bootleg", "Aero Fighters (bootleg, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/vsystem/aerofgt.h b/src/mame/vsystem/aerofgt.h index 530fb4807f2..e5c55b01e26 100644 --- a/src/mame/vsystem/aerofgt.h +++ b/src/mame/vsystem/aerofgt.h @@ -16,72 +16,40 @@ #include "tilemap.h" -class aerofgt_state : public driver_device +class aerofgt_base_state : public driver_device { public: - aerofgt_state(const machine_config &mconfig, device_type type, const char *tag) + aerofgt_base_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) - , m_vram(*this, "vram.%u", 0) - , m_rasterram(*this, "rasterram") - , m_bitmapram(*this, "bitmapram") - , m_sprlookupram(*this, "sprlookupram%u", 1) - , m_spriteram(*this, "spriteram") - , m_tx_tilemap_ram(*this, "tx_tilemap_ram") , m_maincpu(*this, "maincpu") , m_oki(*this, "oki") , m_gfxdecode(*this, "gfxdecode") , m_palette(*this, "palette") - , m_spr(*this, "vsystem_spr") , m_spr_old(*this, "vsystem_spr_old%u", 1) + , m_vram(*this, "vram.%u", 0) + , m_rasterram(*this, "rasterram") + , m_sprlookupram(*this, "sprlookupram%u", 1) + , m_spriteram(*this, "spriteram") + , m_okibank(*this, "okibank") { } + void init_pspikesb() ATTR_COLD; + void pspikesb(machine_config &config) ATTR_COLD; void pspikesc(machine_config &config) ATTR_COLD; void aerfboo2(machine_config &config) ATTR_COLD; protected: - /* memory pointers */ - optional_shared_ptr_array m_vram; - optional_shared_ptr m_rasterram; - optional_shared_ptr m_bitmapram; - optional_shared_ptr_array m_sprlookupram; - required_shared_ptr m_spriteram; - optional_shared_ptr m_tx_tilemap_ram; - - /* devices referenced above */ - required_device m_maincpu; - optional_device m_oki; - required_device m_gfxdecode; - required_device m_palette; - optional_device m_spr; // only the aerofgt parent uses this chip - optional_device_array m_spr_old; // every other (non-bootleg) uses this or a pair of them.. - - /* video-related */ - tilemap_t *m_tilemap[2]{}; - uint8_t m_gfxbank[8]{}; - uint16_t m_bank[4]{}; - uint16_t m_scrollx[2]{}; - uint16_t m_scrolly[2]{}; - bool m_flip_screen = false; - int m_charpalettebank = 0; - int m_spritepalettebank = 0; - int m_sprite_gfx = 0; - uint32_t aerofgt_old_tile_callback(uint32_t code); - /* handlers */ + // handlers template void vram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void pspikes_gfxbank_w(uint8_t data); void pspikesb_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - void karatblz_gfxbank_w(uint8_t data); - void spinlbrk_gfxbank_w(uint8_t data); - void kickball_gfxbank_w(uint8_t data); void turbofrc_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - void aerofgt_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); template void scrollx_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); template void scrolly_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void pspikes_palette_bank_w(uint8_t data); - void turbofrc_flip_screen_w(uint8_t data); void pspikesb_oki_banking_w(uint16_t data); void aerfboo2_okim6295_banking_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); TILE_GET_INFO_MEMBER(get_pspikes_tile_info); @@ -91,31 +59,59 @@ protected: DECLARE_VIDEO_START(pspikes) ATTR_COLD; DECLARE_VIDEO_START(karatblz) ATTR_COLD; DECLARE_VIDEO_START(turbofrc) ATTR_COLD; + DECLARE_VIDEO_START(aerofgtb) ATTR_COLD; uint32_t screen_update_pspikes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_pspikesb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_aerfboot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_aerfboo2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void aerofgt_register_state_globals( ); - void setbank( int layer, int num, int bank ); - void aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri ); - void pspikesb_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ); - void aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ); + void aerofgt_register_state_globals(); + void setbank(int layer, int num, int bank); + void aerfboo2_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri); + void pspikesb_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void aerfboot_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void pspikesb_map(address_map &map) ATTR_COLD; void pspikesc_map(address_map &map) ATTR_COLD; void aerfboo2_map(address_map &map) ATTR_COLD; + + void oki_map(address_map &map); + + // devices referenced above + required_device m_maincpu; + optional_device m_oki; + required_device m_gfxdecode; + required_device m_palette; + optional_device_array m_spr_old; + + // memory pointers + optional_shared_ptr_array m_vram; + optional_shared_ptr m_rasterram; + optional_shared_ptr_array m_sprlookupram; + required_shared_ptr m_spriteram; + + optional_memory_bank m_okibank; + + // video-related + tilemap_t *m_tilemap[2]{}; + uint8_t m_gfxbank[8]{}; + uint16_t m_bank[4]{}; + uint16_t m_scrollx[2]{}; + uint16_t m_scrolly[2]{}; + bool m_flip_screen = false; + int m_charpalettebank = 0; + int m_spritepalettebank = 0; + int m_sprite_gfx = 0; + }; -class aerofgt_sound_cpu_state : public aerofgt_state +class aerofgt_sound_cpu_state : public aerofgt_base_state { public: aerofgt_sound_cpu_state(const machine_config &mconfig, device_type type, const char *tag) - : aerofgt_state(mconfig, type, tag) + : aerofgt_base_state(mconfig, type, tag) , m_audiocpu(*this, "audiocpu") - , m_upd7759(*this, "upd") , m_soundlatch(*this, "soundlatch") - , m_okibank(*this, "okibank") , m_sprlookuprom(*this, "sprlookuprom") { } @@ -123,66 +119,121 @@ public: void init_banked_oki() ATTR_COLD; void init_kickball() ATTR_COLD; - void spikes91(machine_config &config) ATTR_COLD; void kickball(machine_config &config) ATTR_COLD; - void karatblzbl(machine_config &config) ATTR_COLD; void aerfboot(machine_config &config) ATTR_COLD; - void wbbc97(machine_config &config) ATTR_COLD; protected: + uint8_t soundlatch_pending_r(); + void soundlatch_pending_w(int state); + void spinlbrk_flip_screen_w(uint8_t data); + void karatblz_gfxbank_w(uint8_t data); + void kickball_gfxbank_w(uint8_t data); + + uint32_t aerofgt_ol2_tile_callback(uint32_t code); + + uint32_t screen_update_karatblz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + required_device m_audiocpu; - optional_device m_upd7759; // karatblzbl required_device m_soundlatch; - optional_memory_bank m_okibank; - optional_region_ptr m_sprlookuprom; - virtual void machine_start() override ATTR_COLD; +private: + void aerfboot_okim6295_banking_w(uint8_t data); - DECLARE_VIDEO_START(wbbc97); + void kickball_map(address_map &map); + void aerfboot_map(address_map &map); - uint8_t soundlatch_pending_r(); - void soundlatch_pending_w(int state); - void spinlbrk_flip_screen_w(uint8_t data); + void aerfboot_sound_map(address_map &map); + void kickball_sound_map(address_map &map); + void kickball_sound_portmap(address_map &map); - uint32_t aerofgt_ol2_tile_callback(uint32_t code); - uint32_t screen_update_karatblz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); +}; -private: - uint16_t m_spikes91_lookup = 0; - uint16_t m_wbbc97_bitmap_enable = 0; - void spikes91_lookup_w(uint16_t data); - void wbbc97_bitmap_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); - void aerfboot_okim6295_banking_w(uint8_t data); +class spikes91_state : public aerofgt_sound_cpu_state +{ +public: + spikes91_state(const machine_config &mconfig, device_type type, const char *tag) + : aerofgt_sound_cpu_state(mconfig, type, tag) + , m_tx_tilemap_ram(*this, "tx_tilemap_ram") + { + } + + void spikes91(machine_config &config) ATTR_COLD; + +protected: + virtual void video_start() override ATTR_COLD; - void karatblzbl_soundlatch_w(uint8_t data); - void karatblzbl_d7759_write_port_0_w(uint8_t data); - void karatblzbl_d7759_reset_w(uint8_t data); +private: + void spikes91_lookup_w(uint16_t data); uint32_t screen_update_spikes91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_wbbc97(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void spikes91_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void wbbc97_draw_bitmap(bitmap_rgb32 &bitmap); void spikes91_map(address_map &map); - void kickball_map(address_map &map); - void karatblzbl_map(address_map &map); - void aerfboot_map(address_map &map); - - void aerfboot_sound_map(address_map &map); - void wbbc97_map(address_map &map); - void wbbc97_sound_map(address_map &map); - void karatblzbl_sound_map(address_map &map); - void karatblzbl_sound_portmap(address_map &map); - void kickball_sound_map(address_map &map); - void kickball_sound_portmap(address_map &map); void spikes91_sound_map(address_map &map); - void oki_map(address_map &map); + optional_shared_ptr m_tx_tilemap_ram; + + uint16_t m_spikes91_lookup = 0; +}; + + +class karatblzbl_state : public aerofgt_sound_cpu_state +{ +public: + karatblzbl_state(const machine_config &mconfig, device_type type, const char *tag) + : aerofgt_sound_cpu_state(mconfig, type, tag) + , m_upd7759(*this, "upd") + { + } + + void karatblzbl(machine_config &config) ATTR_COLD; + +private: + void soundlatch_w(uint8_t data); + void d7759_write_port_0_w(uint8_t data); + void d7759_reset_w(uint8_t data); + + void main_map(address_map &map); + + void sound_map(address_map &map); + void sound_portmap(address_map &map); + + required_device m_upd7759; +}; + + +class wbbc97_state : public aerofgt_sound_cpu_state +{ +public: + wbbc97_state(const machine_config &mconfig, device_type type, const char *tag) + : aerofgt_sound_cpu_state(mconfig, type, tag) + , m_bitmapram(*this, "bitmapram") + { + } + + void wbbc97(machine_config &config) ATTR_COLD; + +protected: + virtual void video_start() override ATTR_COLD; + +private: + void bitmap_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + void draw_bitmap(bitmap_rgb32 &bitmap); + + void main_map(address_map &map); + void sound_map(address_map &map); + + required_shared_ptr m_bitmapram; + + uint16_t m_bitmap_enable = 0; }; @@ -200,37 +251,58 @@ public: void spinlbrk(machine_config &config) ATTR_COLD; void turbofrc(machine_config &config) ATTR_COLD; void aerofgtb(machine_config &config) ATTR_COLD; - void aerofgt(machine_config &config) ATTR_COLD; protected: - required_memory_bank m_soundbank; - virtual void machine_start() override ATTR_COLD; virtual void machine_reset() override ATTR_COLD; DECLARE_VIDEO_START(spinlbrk); + void sound_map(address_map &map); + void aerofgt_sound_portmap(address_map &map) ATTR_COLD; + + required_memory_bank m_soundbank; + private: - uint32_t aerofgt_tile_callback( uint32_t code ); uint32_t spinbrk_tile_callback(uint32_t code); + void turbofrc_flip_screen_w(uint8_t data); + void spinlbrk_gfxbank_w(uint8_t data); void sh_bankswitch_w(uint8_t data); uint32_t screen_update_spinlbrk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_turbofrc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update_aerofgt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void pspikes_map(address_map &map); void karatblz_map(address_map &map); void spinlbrk_map(address_map &map) ATTR_COLD; void turbofrc_map(address_map &map) ATTR_COLD; void aerofgtb_map(address_map &map); - void aerofgt_map(address_map &map); - void sound_map(address_map &map); void spinlbrk_sound_portmap(address_map &map) ATTR_COLD; - void turbofrc_sound_portmap(address_map &map) ATTR_COLD; - void aerofgt_sound_portmap(address_map &map) ATTR_COLD; +}; + + +class aerofgt_state : public aerofgt_banked_sound_state +{ +public: + aerofgt_state(const machine_config &mconfig, device_type type, const char *tag) + : aerofgt_banked_sound_state(mconfig, type, tag) + , m_spr(*this, "vsystem_spr") + { + } + + void aerofgt(machine_config &config) ATTR_COLD; + +private: + void gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); + uint32_t tile_callback(uint32_t code); + + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + + void main_map(address_map &map); + + required_device m_spr; }; #endif // MAME_VSYSTEM_AEROFGT_H diff --git a/src/mame/vsystem/aerofgt_v.cpp b/src/mame/vsystem/aerofgt_v.cpp index 315b80444d3..9bed5fd8bc5 100644 --- a/src/mame/vsystem/aerofgt_v.cpp +++ b/src/mame/vsystem/aerofgt_v.cpp @@ -10,21 +10,21 @@ ***************************************************************************/ -TILE_GET_INFO_MEMBER(aerofgt_state::get_pspikes_tile_info) +TILE_GET_INFO_MEMBER(aerofgt_base_state::get_pspikes_tile_info) { - uint16_t code = m_vram[0][tile_index]; - int bank = (code & 0x1000) >> 12; + const uint16_t code = m_vram[0][tile_index]; + const int bank = (code & 0x1000) >> 12; tileinfo.set(0, (code & 0x0fff) | (m_gfxbank[bank] << 12), ((code & 0xe000) >> 13) + 8 * m_charpalettebank, 0); } -/* also spinlbrk */ +// also spinlbrk template -TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_tile_info) +TILE_GET_INFO_MEMBER(aerofgt_base_state::karatblz_tile_info) { - uint16_t code = m_vram[Layer][tile_index]; + const uint16_t code = m_vram[Layer][tile_index]; tileinfo.set(Layer, (code & 0x1fff) | (m_gfxbank[Layer] << 13), (code & 0xe000) >> 13, @@ -32,9 +32,9 @@ TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_tile_info) } template -TILE_GET_INFO_MEMBER(aerofgt_state::spinlbrk_tile_info) +TILE_GET_INFO_MEMBER(aerofgt_base_state::spinlbrk_tile_info) { - uint16_t code = m_vram[Layer][tile_index]; + const uint16_t code = m_vram[Layer][tile_index]; tileinfo.set(Layer, (code & 0x0fff) | (m_gfxbank[Layer] << 12), (code & 0xf000) >> 12, @@ -42,10 +42,10 @@ TILE_GET_INFO_MEMBER(aerofgt_state::spinlbrk_tile_info) } template -TILE_GET_INFO_MEMBER(aerofgt_state::get_tile_info) +TILE_GET_INFO_MEMBER(aerofgt_base_state::get_tile_info) { - uint16_t code = m_vram[Layer][tile_index]; - int bank = (Layer << 2) | (code & 0x1800) >> 11; + const uint16_t code = m_vram[Layer][tile_index]; + const int bank = (Layer << 2) | (code & 0x1800) >> 11; tileinfo.set(Layer, (code & 0x07ff) | (m_gfxbank[bank] << 11), (code & 0xe000) >> 13, @@ -60,7 +60,7 @@ TILE_GET_INFO_MEMBER(aerofgt_state::get_tile_info) ***************************************************************************/ -void aerofgt_state::aerofgt_register_state_globals( ) +void aerofgt_base_state::aerofgt_register_state_globals() { save_item(NAME(m_gfxbank)); save_item(NAME(m_bank)); @@ -71,10 +71,10 @@ void aerofgt_state::aerofgt_register_state_globals( ) save_item(NAME(m_spritepalettebank)); } -VIDEO_START_MEMBER(aerofgt_state,pspikes) +VIDEO_START_MEMBER(aerofgt_base_state,pspikes) { - m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_state::get_pspikes_tile_info)), TILEMAP_SCAN_ROWS, 8,8, 64,32); - /* no bg2 in this game */ + m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_base_state::get_pspikes_tile_info)), TILEMAP_SCAN_ROWS, 8,8, 64,32); + // no bg2 in this game m_sprite_gfx = 1; m_charpalettebank = 0; @@ -82,10 +82,19 @@ VIDEO_START_MEMBER(aerofgt_state,pspikes) aerofgt_register_state_globals(); } -VIDEO_START_MEMBER(aerofgt_state,karatblz) +void spikes91_state::video_start() { - m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_state::karatblz_tile_info<0>)), TILEMAP_SCAN_ROWS, 8,8, 64,64); - m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_state::karatblz_tile_info<1>)), TILEMAP_SCAN_ROWS, 8,8, 64,64); + VIDEO_START_CALL_MEMBER(pspikes); + + m_spikes91_lookup = 0; + + save_item(NAME(m_spikes91_lookup)); +} + +VIDEO_START_MEMBER(aerofgt_base_state,karatblz) +{ + m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_base_state::karatblz_tile_info<0>)), TILEMAP_SCAN_ROWS, 8,8, 64,64); + m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_base_state::karatblz_tile_info<1>)), TILEMAP_SCAN_ROWS, 8,8, 64,64); m_tilemap[1]->set_transparent_pen(15); m_spritepalettebank = 0; @@ -104,15 +113,15 @@ VIDEO_START_MEMBER(aerofgt_banked_sound_state,spinlbrk) m_spritepalettebank = 0; m_sprite_gfx = 2; - /* sprite maps are hardcoded in this game */ + // sprite maps are hardcoded in this game aerofgt_register_state_globals(); } -VIDEO_START_MEMBER(aerofgt_state,turbofrc) +VIDEO_START_MEMBER(aerofgt_base_state,turbofrc) { - m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_state::get_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); - m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_state::get_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); + m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_base_state::get_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); + m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_base_state::get_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64); m_tilemap[1]->set_transparent_pen(15); @@ -122,16 +131,24 @@ VIDEO_START_MEMBER(aerofgt_state,turbofrc) aerofgt_register_state_globals(); } +VIDEO_START_MEMBER(aerofgt_base_state,aerofgtb) +{ + VIDEO_START_CALL_MEMBER(turbofrc); + + m_tilemap[0]->set_scrolldx(1, 1); + m_tilemap[1]->set_scrolldx(1, 1); +} + -/* new hw type */ -uint32_t aerofgt_banked_sound_state::aerofgt_tile_callback(uint32_t code) +// new hw type +uint32_t aerofgt_state::tile_callback(uint32_t code) { return m_sprlookupram[0][code&0x7fff]; } -/* old hw type */ -uint32_t aerofgt_state::aerofgt_old_tile_callback(uint32_t code) +// old hw type +uint32_t aerofgt_base_state::aerofgt_old_tile_callback(uint32_t code) { return m_sprlookupram[0][code % (m_sprlookupram[0].bytes()/2)]; } @@ -143,7 +160,7 @@ uint32_t aerofgt_sound_cpu_state::aerofgt_ol2_tile_callback(uint32_t code) uint32_t aerofgt_banked_sound_state::spinbrk_tile_callback(uint32_t code) { - /* enemy sprites use ROM instead of RAM */ + // enemy sprites use ROM instead of RAM return m_sprlookuprom[code % m_sprlookuprom.length()]; } @@ -154,7 +171,7 @@ uint32_t aerofgt_banked_sound_state::spinbrk_tile_callback(uint32_t code) ***************************************************************************/ -void aerofgt_state::setbank( int layer, int num, int bank ) +void aerofgt_base_state::setbank(int layer, int num, int bank) { if (m_gfxbank[num] != bank) { @@ -163,25 +180,25 @@ void aerofgt_state::setbank( int layer, int num, int bank ) } } -void aerofgt_state::pspikes_gfxbank_w(uint8_t data) +void aerofgt_base_state::pspikes_gfxbank_w(uint8_t data) { setbank(0, 0, (data & 0xf0) >> 4); setbank(0, 1, data & 0x0f); } -void aerofgt_state::karatblz_gfxbank_w(uint8_t data) +void aerofgt_sound_cpu_state::karatblz_gfxbank_w(uint8_t data) { setbank(0, 0, (data & 0x01)); setbank(1, 1, (data & 0x08) >> 3); } -void aerofgt_state::spinlbrk_gfxbank_w(uint8_t data) +void aerofgt_banked_sound_state::spinlbrk_gfxbank_w(uint8_t data) { setbank(0, 0, (data & 0x07)); setbank(1, 1, (data & 0x38) >> 3); } -void aerofgt_state::turbofrc_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void aerofgt_base_state::turbofrc_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask) { data = COMBINE_DATA(&m_bank[offset]); @@ -191,7 +208,7 @@ void aerofgt_state::turbofrc_gfxbank_w(offs_t offset, uint16_t data, uint16_t me setbank(offset, 4 * offset + 3, (data >> 12) & 0x0f); } -void aerofgt_state::aerofgt_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void aerofgt_state::gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask) { data = COMBINE_DATA(&m_bank[offset]); @@ -199,14 +216,14 @@ void aerofgt_state::aerofgt_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem setbank(offset >> 1, 2 * offset + 1, (data >> 0) & 0xff); } -void aerofgt_state::kickball_gfxbank_w(uint8_t data) +void aerofgt_sound_cpu_state::kickball_gfxbank_w(uint8_t data) { // I strongly doubt this logic is correct - setbank(0, 0, (data & 0x0f)&~0x01); + setbank(0, 0, (data & 0x0f) & ~0x01); setbank(0, 1, (data & 0x0f)); } -void aerofgt_state::pspikes_palette_bank_w(uint8_t data) +void aerofgt_base_state::pspikes_palette_bank_w(uint8_t data) { m_spritepalettebank = data & 0x03; if (m_charpalettebank != (data & 0x1c) >> 2) @@ -226,7 +243,7 @@ void aerofgt_sound_cpu_state::spinlbrk_flip_screen_w(uint8_t data) m_tilemap[1]->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0); } -void aerofgt_state::turbofrc_flip_screen_w(uint8_t data) +void aerofgt_banked_sound_state::turbofrc_flip_screen_w(uint8_t data) { m_flip_screen = BIT(data, 7); m_tilemap[0]->set_flip(m_flip_screen ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0); @@ -243,7 +260,7 @@ void aerofgt_state::turbofrc_flip_screen_w(uint8_t data) ***************************************************************************/ -uint32_t aerofgt_state::screen_update_pspikes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t aerofgt_base_state::screen_update_pspikes(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int i, scrolly; @@ -274,7 +291,7 @@ uint32_t aerofgt_sound_cpu_state::screen_update_karatblz(screen_device &screen, m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0); - /* we use the priority buffer so sprites are drawn front to back */ + // we use the priority buffer so sprites are drawn front to back m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen); m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen); @@ -299,7 +316,7 @@ uint32_t aerofgt_banked_sound_state::screen_update_spinlbrk(screen_device &scree m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1); - /* we use the priority buffer so sprites are drawn front to back */ + // we use the priority buffer so sprites are drawn front to back m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen); m_spr_old[0]->turbofrc_draw_sprites(m_spriteram+0x000,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen); @@ -325,7 +342,7 @@ uint32_t aerofgt_banked_sound_state::screen_update_turbofrc(screen_device &scree m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1); - /* we use the priority buffer so sprites are drawn front to back */ + // we use the priority buffer so sprites are drawn front to back m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 1, m_flip_screen); //ship m_spr_old[1]->turbofrc_draw_sprites(m_spriteram+0x200,m_spriteram.bytes()/2,m_spritepalettebank, bitmap, cliprect, screen.priority(), 0, m_flip_screen); //intro @@ -335,7 +352,7 @@ uint32_t aerofgt_banked_sound_state::screen_update_turbofrc(screen_device &scree return 0; } -uint32_t aerofgt_banked_sound_state::screen_update_aerofgt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t aerofgt_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_tilemap[0]->set_scrollx(0, m_rasterram[0x0000] - 18); m_tilemap[0]->set_scrolly(0, m_scrolly[0]); @@ -365,10 +382,10 @@ uint32_t aerofgt_banked_sound_state::screen_update_aerofgt(screen_device &screen ***************************************************************************/ // BOOTLEG -VIDEO_START_MEMBER(aerofgt_sound_cpu_state,wbbc97) +void wbbc97_state::video_start() { - m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(aerofgt_sound_cpu_state::get_pspikes_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); - /* no bg2 in this game */ + m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(wbbc97_state::get_pspikes_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); + // no bg2 in this game m_tilemap[0]->set_transparent_pen(15); @@ -376,11 +393,11 @@ VIDEO_START_MEMBER(aerofgt_sound_cpu_state,wbbc97) aerofgt_register_state_globals(); - save_item(NAME(m_wbbc97_bitmap_enable)); + save_item(NAME(m_bitmap_enable)); } // BOOTLEG -void aerofgt_state::pspikesb_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void aerofgt_base_state::pspikesb_gfxbank_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_rasterram[0x200 / 2]); @@ -389,19 +406,19 @@ void aerofgt_state::pspikesb_gfxbank_w(offs_t offset, uint16_t data, uint16_t me } // BOOTLEG -void aerofgt_sound_cpu_state::spikes91_lookup_w(uint16_t data) +void spikes91_state::spikes91_lookup_w(uint16_t data) { - m_spikes91_lookup = data & 1; + m_spikes91_lookup = BIT(data, 0); } // BOOTLEG -void aerofgt_sound_cpu_state::wbbc97_bitmap_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask) +void wbbc97_state::bitmap_enable_w(offs_t offset, uint16_t data, uint16_t mem_mask) { - COMBINE_DATA(&m_wbbc97_bitmap_enable); + COMBINE_DATA(&m_bitmap_enable); } // BOOTLEG -void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri ) +void aerofgt_base_state::aerfboo2_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int chip, int chip_disabled_pri) { int base, first; @@ -414,14 +431,14 @@ void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 & // some other drivers still use this wrong table, they have to be upgraded // int zoomtable[16] = { 0,7,14,20,25,30,34,38,42,46,49,52,54,57,59,61 }; - if (!(m_spriteram[attr_start + 2] & 0x0080)) + if (BIT(~m_spriteram[attr_start + 2], 7)) continue; - const int pri = m_spriteram[attr_start + 2] & 0x0010; + const int pri = BIT(m_spriteram[attr_start + 2], 4); if (chip_disabled_pri && !pri) continue; - if ((!chip_disabled_pri) && (pri >> 4)) + if ((!chip_disabled_pri) && pri) continue; const int ox = m_spriteram[attr_start + 1] & 0x01ff; const int xsize = (m_spriteram[attr_start + 2] & 0x0700) >> 8; @@ -429,8 +446,8 @@ void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 & const int oy = m_spriteram[attr_start + 0] & 0x01ff; const int ysize = (m_spriteram[attr_start + 2] & 0x7000) >> 12; const int zoomy = 32 - ((m_spriteram[attr_start + 0] & 0xf000) >> 12); - const int flipx = m_spriteram[attr_start + 2] & 0x0800; - const int flipy = m_spriteram[attr_start + 2] & 0x8000; + const bool flipx = BIT(m_spriteram[attr_start + 2], 11); + const bool flipy = BIT(m_spriteram[attr_start + 2], 15); const int color = (m_spriteram[attr_start + 2] & 0x000f) + 16 * m_spritepalettebank; int map_start = m_spriteram[attr_start + 3]; @@ -476,21 +493,19 @@ void aerofgt_state::aerfboo2_draw_sprites( screen_device &screen, bitmap_ind16 & } // BOOTLEG -void aerofgt_state::pspikesb_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void aerofgt_base_state::pspikesb_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { for (int i = 4; i < m_spriteram.bytes() / 2; i += 4) { - int xpos, ypos, color, flipx, flipy, code; - - if (m_spriteram[i + 3 - 4] & 0x8000) + if (BIT(m_spriteram[i + 3 - 4], 15)) break; - xpos = (m_spriteram[i + 2] & 0x1ff) - 34; - ypos = 256 - (m_spriteram[i + 3 - 4] & 0x1ff) - 33; - code = m_spriteram[i + 0] & 0x1fff; - flipy = 0; - flipx = m_spriteram[i + 1] & 0x0800; - color = m_spriteram[i + 1] & 0x000f; + const int xpos = (m_spriteram[i + 2] & 0x1ff) - 34; + const int ypos = 256 - (m_spriteram[i + 3 - 4] & 0x1ff) - 33; + const int code = m_spriteram[i + 0] & 0x1fff; + const bool flipy = 0; + const bool flipx = BIT(m_spriteram[i + 1], 11); + const int color = m_spriteram[i + 1] & 0x000f; m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect, code, @@ -498,7 +513,7 @@ void aerofgt_state::pspikesb_draw_sprites( screen_device &screen, bitmap_ind16 & flipx,flipy, xpos,ypos,15); - /* wrap around y */ + // wrap around y m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect, code, color, @@ -509,26 +524,24 @@ void aerofgt_state::pspikesb_draw_sprites( screen_device &screen, bitmap_ind16 & } // BOOTLEG -void aerofgt_sound_cpu_state::spikes91_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void spikes91_state::spikes91_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_spritepalettebank = 1; for (int i = m_spriteram.bytes() / 2 - 4; i >= 4; i -= 4) { - int xpos, ypos, color, flipx, flipy, code; - - code = m_spriteram[i + 0] & 0x1fff; + int code = m_spriteram[i + 0] & 0x1fff; if (!code) continue; - xpos = (m_spriteram[i + 2] & 0x01ff) - 16; - ypos = 256 - (m_spriteram[i + 1] & 0x00ff) - 26; - flipy = 0; - flipx = m_spriteram[i + 3] & 0x8000; - color = ((m_spriteram[i + 3] & 0x00f0) >> 4); + const int xpos = (m_spriteram[i + 2] & 0x01ff) - 16; + const int ypos = 256 - (m_spriteram[i + 1] & 0x00ff) - 26; + const bool flipy = 0; + const bool flipx = BIT(m_spriteram[i + 3], 15); + const int color = ((m_spriteram[i + 3] & 0x00f0) >> 4); - code |= m_spikes91_lookup * 0x2000; + code |= m_spikes91_lookup << 13; m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect, m_sprlookuprom[code], @@ -536,7 +549,7 @@ void aerofgt_sound_cpu_state::spikes91_draw_sprites( screen_device &screen, bitm flipx,flipy, xpos,ypos,15); - /* wrap around y */ + // wrap around y m_gfxdecode->gfx(m_sprite_gfx)->transpen(bitmap,cliprect, m_sprlookuprom[code], color, @@ -546,38 +559,33 @@ void aerofgt_sound_cpu_state::spikes91_draw_sprites( screen_device &screen, bitm } // BOOTLEG -void aerofgt_state::aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) +void aerofgt_base_state::aerfboot_draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - int attr_start, last; - - last = ((m_rasterram[0x404 / 2] << 5) - 0x8000) / 2; + int last = ((m_rasterram[0x404 / 2] << 5) - 0x8000) / 2; if (last < 0) last = 0; - for (attr_start = m_spriteram.bytes() / 2 - 4; attr_start >= last; attr_start -= 4) + for (int attr_start = m_spriteram.bytes() / 2 - 4; attr_start >= last; attr_start -= 4) { - int code; - int ox, oy, sx, sy, zoomx, zoomy, flipx, flipy, color, pri; - - ox = m_spriteram[attr_start + 1] & 0x01ff; - oy = m_spriteram[attr_start + 0] & 0x01ff; - flipx = m_spriteram[attr_start + 2] & 0x0800; - flipy = m_spriteram[attr_start + 2] & 0x8000; - color = m_spriteram[attr_start + 2] & 0x000f; + const int ox = m_spriteram[attr_start + 1] & 0x01ff; + const int oy = m_spriteram[attr_start + 0] & 0x01ff; + const bool flipx = BIT(m_spriteram[attr_start + 2], 11); + const bool flipy = BIT(m_spriteram[attr_start + 2], 15); + const int color = m_spriteram[attr_start + 2] & 0x000f; - zoomx = (m_spriteram[attr_start + 1] & 0xf000) >> 12; - zoomy = (m_spriteram[attr_start + 0] & 0xf000) >> 12; - pri = m_spriteram[attr_start + 2] & 0x0010; - code = m_spriteram[attr_start + 3] & 0x1fff; + int zoomx = (m_spriteram[attr_start + 1] & 0xf000) >> 12; + int zoomy = (m_spriteram[attr_start + 0] & 0xf000) >> 12; + const int pri = BIT(m_spriteram[attr_start + 2], 4); + int code = m_spriteram[attr_start + 3] & 0x1fff; - if (!(m_spriteram[attr_start + 2] & 0x0040)) + if (BIT(~m_spriteram[attr_start + 2], 6)) code |= 0x2000; zoomx = 32 + zoomx; zoomy = 32 + zoomy; - sy = ((oy + 16 - 1) & 0x1ff) - 16; + int sy = ((oy + 16 - 1) & 0x1ff) - 16; - sx = ((ox + 16 + 3) & 0x1ff) - 16; + int sx = ((ox + 16 + 3) & 0x1ff) - 16; m_gfxdecode->gfx(m_sprite_gfx + (code >= 0x1000 ? 0 : 1))->prio_zoom_transpen(bitmap,cliprect, code, @@ -592,31 +600,28 @@ void aerofgt_state::aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 & last = ((m_rasterram[0x402 / 2] << 5) - 0x8000) / 2; if (last < 0) last = 0; - for (attr_start = ((m_spriteram.bytes() / 2) / 2) - 4; attr_start >= last; attr_start -= 4) + for (int attr_start = ((m_spriteram.bytes() / 2) / 2) - 4; attr_start >= last; attr_start -= 4) { - int code; - int ox, oy, sx, sy, zoomx, zoomy, flipx, flipy, color, pri; - - ox = m_spriteram[attr_start + 1] & 0x01ff; - oy = m_spriteram[attr_start + 0] & 0x01ff; - flipx = m_spriteram[attr_start + 2] & 0x0800; - flipy = m_spriteram[attr_start + 2] & 0x8000; - color = m_spriteram[attr_start + 2] & 0x000f; + const int ox = m_spriteram[attr_start + 1] & 0x01ff; + const int oy = m_spriteram[attr_start + 0] & 0x01ff; + const bool flipx = BIT(m_spriteram[attr_start + 2], 11); + const bool flipy = BIT(m_spriteram[attr_start + 2], 15); + const int color = m_spriteram[attr_start + 2] & 0x000f; - zoomx = (m_spriteram[attr_start + 1] & 0xf000) >> 12; - zoomy = (m_spriteram[attr_start + 0] & 0xf000) >> 12; - pri = m_spriteram[attr_start + 2] & 0x0010; - code = m_spriteram[attr_start + 3] & 0x1fff; + int zoomx = (m_spriteram[attr_start + 1] & 0xf000) >> 12; + int zoomy = (m_spriteram[attr_start + 0] & 0xf000) >> 12; + const int pri = BIT(m_spriteram[attr_start + 2], 4); + int code = m_spriteram[attr_start + 3] & 0x1fff; - if (!(m_spriteram[attr_start + 2] & 0x0040)) + if (BIT(~m_spriteram[attr_start + 2], 6)) code |= 0x2000; zoomx = 32 + zoomx; zoomy = 32 + zoomy; - sy = ((oy + 16 - 1) & 0x1ff) - 16; + int sy = ((oy + 16 - 1) & 0x1ff) - 16; - sx = ((ox + 16 + 3) & 0x1ff) - 16; + int sx = ((ox + 16 + 3) & 0x1ff) - 16; m_gfxdecode->gfx(m_sprite_gfx + (code >= 0x1000 ? 0 : 1))->prio_zoom_transpen(bitmap,cliprect, code, @@ -630,7 +635,7 @@ void aerofgt_state::aerfboot_draw_sprites( screen_device &screen, bitmap_ind16 & } // BOOTLEG -void aerofgt_sound_cpu_state::wbbc97_draw_bitmap( bitmap_rgb32 &bitmap ) +void wbbc97_state::draw_bitmap(bitmap_rgb32 &bitmap) { int count = 16; // weird, the bitmap doesn't start at 0? for (int y = 0; y < 256; y++) @@ -638,7 +643,7 @@ void aerofgt_sound_cpu_state::wbbc97_draw_bitmap( bitmap_rgb32 &bitmap ) { const int color = m_bitmapram[count] >> 1; - /* data is GRB; convert to RGB */ + // data is GRB; convert to RGB const rgb_t pen = rgb_t(pal5bit((color & 0x3e0) >> 5), pal5bit((color & 0x7c00) >> 10), pal5bit(color & 0x1f)); bitmap.pix(y, (10 + x - m_rasterram[(y & 0x7f)]) & 0x1ff) = pen; @@ -648,7 +653,7 @@ void aerofgt_sound_cpu_state::wbbc97_draw_bitmap( bitmap_rgb32 &bitmap ) } // BOOTLEG -uint32_t aerofgt_state::screen_update_pspikesb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t aerofgt_base_state::screen_update_pspikesb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_tilemap[0]->set_scroll_rows(256); int scrolly = m_scrolly[0]; @@ -662,7 +667,7 @@ uint32_t aerofgt_state::screen_update_pspikesb(screen_device &screen, bitmap_ind } // BOOTLEG -uint32_t aerofgt_sound_cpu_state::screen_update_spikes91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t spikes91_state::screen_update_spikes91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { gfx_element *const gfx = m_gfxdecode->gfx(0); @@ -676,14 +681,14 @@ uint32_t aerofgt_sound_cpu_state::screen_update_spikes91(screen_device &screen, m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); spikes91_draw_sprites(screen, bitmap, cliprect); - /* we could use a tilemap, but it's easier to just do it here */ + // we could use a tilemap, but it's easier to just do it here int count = 0; for (int y = 0; y < 32; y++) { for (int x = 0; x < 64; x++) { - uint16_t tileno = m_tx_tilemap_ram[count] & 0x1fff; - uint16_t colour = m_tx_tilemap_ram[count] & 0xe000; + const uint16_t tileno = m_tx_tilemap_ram[count] & 0x1fff; + const uint16_t colour = m_tx_tilemap_ram[count] & 0xe000; gfx->transpen(bitmap,cliprect, tileno, colour>>13, @@ -699,7 +704,7 @@ uint32_t aerofgt_sound_cpu_state::screen_update_spikes91(screen_device &screen, } // BOOTLEG -uint32_t aerofgt_state::screen_update_aerfboot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t aerofgt_base_state::screen_update_aerfboot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int i, scrolly; @@ -716,13 +721,13 @@ uint32_t aerofgt_state::screen_update_aerfboot(screen_device &screen, bitmap_ind m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1); - /* we use the priority buffer so sprites are drawn front to back */ + // we use the priority buffer so sprites are drawn front to back aerfboot_draw_sprites(screen, bitmap, cliprect); return 0; } // BOOTLEG -uint32_t aerofgt_state::screen_update_aerfboo2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +uint32_t aerofgt_base_state::screen_update_aerfboo2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int i, scrolly; @@ -740,7 +745,7 @@ uint32_t aerofgt_state::screen_update_aerfboo2(screen_device &screen, bitmap_ind m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1); - /* we use the priority buffer so sprites are drawn front to back */ + // we use the priority buffer so sprites are drawn front to back aerfboo2_draw_sprites(screen, bitmap, cliprect, 1, -1); //ship aerfboo2_draw_sprites(screen, bitmap, cliprect, 1, 0); //intro aerfboo2_draw_sprites(screen, bitmap, cliprect, 0, -1); //enemy @@ -749,7 +754,7 @@ uint32_t aerofgt_state::screen_update_aerfboo2(screen_device &screen, bitmap_ind } // BOOTLEG (still uses original sprite type) -uint32_t aerofgt_sound_cpu_state::screen_update_wbbc97(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +uint32_t wbbc97_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { m_tilemap[0]->set_scroll_rows(256); const int scrolly = m_scrolly[0]; @@ -759,9 +764,9 @@ uint32_t aerofgt_sound_cpu_state::screen_update_wbbc97(screen_device &screen, bi screen.priority().fill(0, cliprect); - if (m_wbbc97_bitmap_enable) + if (m_bitmap_enable) { - wbbc97_draw_bitmap(bitmap); + draw_bitmap(bitmap); m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0); } else -- cgit v1.2.3