summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/kaneko16.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/kaneko16.cpp')
-rw-r--r--src/mame/drivers/kaneko16.cpp4320
1 files changed, 0 insertions, 4320 deletions
diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp
deleted file mode 100644
index b2be12a98b0..00000000000
--- a/src/mame/drivers/kaneko16.cpp
+++ /dev/null
@@ -1,4320 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Luca Elia, David Haywood
-/***************************************************************************
-
- -= Kaneko 16 Bit Games =-
-
- driver by Luca Elia (l.elia@tin.it)
-
-
-CPU : 68000 + MCU [Optional]
-
-SOUND : OKI-M6295 x (1 | 2) + YM2149 x (0 | 2)
- OR : Z80 + YM2151
-
-OTHER : 93C46 EEPROM [Optional]
-
-CUSTOM : VU-001 046A (48pin PQFP)
- VU-002 052 151021 (160pin PQFP) <- Sprites
- VU-003 048 XJ009 (x3) (40pin) <- High Colour Background
- VIEW2-CHIP 23160-509 9047EAI (144pin PQFP) <- Tilemaps
- MUX2-CHIP (64pin PQFP)
- HELP1-CHIP (64pin PQFP)
- IU-001 9045KP002 (44pin PQFP)
- I/O JAMMA MC-8282 047 (46pin) <- Inputs
-
-
-----------------------------------------------------------------------------------------
-Year + Game PCB Notes
-----------------------------------------------------------------------------------------
-91 The Berlin Wall BW-002 3 x VU-003 (encrypted high colour background)
- Magical Crystals Z00FC-02
-92 Bakuretsu Breaker ZOOFC-02
- Blaze On Z02AT-002 2 x VU-002 Sprites Chips (Atlus PCB ID: ATL-67140)
- Shogun Warriors ZO1DK-002 CALC3 MCU protection (EEPROM handling, 68k code snippet, data - palettes, tilemaps, fighters)
- B.Rap Boys ZO1DK-002 CALC3 MCU protection (EEPROM handling, 68k code snippet, data - palettes, tilemaps, fighters)
-93 Wing Force (prototype) Z08AT-001 2 x VU-002 Sprites Chips, OKI sound
-94 Great 1000 Miles Rally Z09AF-005 TBSOP01 MCU protection (EEPROM handling etc.)
- Bonk's Adventure Z09AF-003 TBSOP01 MCU protection (EEPROM handling, 68k code snippet, data)
- Blood Warrior Z09AF-005 TBSOP01 MCU protection (EEPROM handling etc.)
- Pack'n Bang Bang BW-002 (prototype)
-95 Great 1000 Miles Rally 2 M201F00138 TBSOP02 MCU protection (EEPROM handling etc.)
-----------------------------------------------------------------------------------------
-
-Note: gtmr manual shows "Compatible with AX Kaneko System Board"
-Note: Magic Crystals reports "TOYBOX SYSTEM Version 0.93B+"
-
-Note: Decapping shows the CALC3 MCU to be a NEC uPD78322 series MCU with 16K internal ROM. Both the
- TBSOP01 and TBSOP02 are thought to be the NEC uPD78324 series MCU with 32K internal ROM.
-
-To Do:
-
-[gtmr]
-- Stage 4: The layers' scrolling is very jerky for a couple of seconds
- in the middle of this level (probably interrupt related)
-- The layers' colours are not initialised when showing the self test
- screen and the very first screen (with the Kaneko logo in the middle).
- They're probably supposed to be disabled in those occasions, but the
- relevant registers aren't changed throughout the game (?)
-
-[gtmr2]
-- Finish the Inputs (different wheels and pedals);
-- Implement LAN comms;
-- Selecting Italian in the service mode settings causes no voice samples being played
- (with lots of OKI invalid samples in logerror), sound bank bug or btanb?
-
-[brapboys / shogwarr]
-
-- Verify collision protection on real hardware (appears to be a function of the system/memory controller, NOT the MCU)
- - currently B.Rap Boys has it's own special case, it should work with the same code as Blood Warriors / Shogun Warriors (and probably SuperNova)
-- Figure out how MCU resets writeback address (currently hacked)
-- Find relationship between Key tables and final datablock
-- Clean up debug code file writes etc. (when above are done only!)
-- Interrupt timing? (some sprites flicker) - some sprite flicker exists in youtube videos too, so probably not a bug
-- Sprite buffering (1-2 frames?, or related to above) - some bg objects with sprite parts break up in shogun
-
-Dip locations verified from manual for:
-
-- berlwall
-- mgcrystl
-- blazeon
-- bakubrkr
-- bloodwar
-- gtmr
-- gtmr2
-- shogwarr
-
-[general]
-- interrupt timing/behaviour
-- replace sample bank copying with new ADDRESS MAP system for OKI and do banking like CPUs
-
-Non-Bugs (happen on real PCB)
-
-[packbang]
- - Game crashes or gives you a corrupt stage if you attempt to continue on a bonus stage (due to buggy prototype code)
- - Background fading appears inverted, fading to a black screen during levels, this is correct
- - Some screens shown on the flyer (enemy select etc.) are never shown, the flyer probably shows a different version
- of the game. The backgrounds used can be viewed in test mode.
-
-***************************************************************************/
-
-#include "emu.h"
-#include "includes/kaneko16.h"
-
-#include "speaker.h"
-
-
-/***************************************************************************
-
-
- Machine Initialisation
-
-
-***************************************************************************/
-
-
-
-MACHINE_RESET_MEMBER(kaneko16_state,gtmr)
-{
- m_VIEW2_2_pri = 1;
-}
-
-MACHINE_RESET_MEMBER(kaneko16_state,mgcrystl)
-{
- m_VIEW2_2_pri = 0;
-}
-
-
-/***************************************************************************
-
-
- Misc Machine Emulation Routines
-
-
-***************************************************************************/
-
-
-void kaneko16_state::coin_lockout_w(u8 data)
-{
- machine().bookkeeping().coin_counter_w(0, BIT( data, 0));
- machine().bookkeeping().coin_counter_w(1, BIT( data, 1));
- machine().bookkeeping().coin_lockout_w(0, BIT(~data, 2));
- machine().bookkeeping().coin_lockout_w(1, BIT(~data, 3));
-}
-
-void kaneko16_state::bloodwar_coin_lockout_w(u8 data)
-{
- machine().bookkeeping().coin_counter_w(0, BIT(data, 0));
- machine().bookkeeping().coin_counter_w(1, BIT(data, 1));
- machine().bookkeeping().coin_lockout_w(0, BIT(data, 7));
- machine().bookkeeping().coin_lockout_w(1, BIT(data, 7));
-}
-
-
-
-
-/***************************************************************************
-
-
- Sound
-
-
-***************************************************************************/
-
-/* Two identically mapped YM2149 chips */
-template<unsigned Chip>
-u16 kaneko16_state::ym2149_r(offs_t offset)
-{
- /* Each 2149 register is mapped to a different address */
- m_ym2149[Chip]->address_w(offset);
- return m_ym2149[Chip]->data_r();
-}
-
-
-template<unsigned Chip>
-void kaneko16_state::ym2149_w(offs_t offset, u16 data, u16 mem_mask)
-{
- /* Each 2149 register is mapped to a different address */
- m_ym2149[Chip]->address_w(offset);
- /* The registers are mapped to odd addresses, except one! */
- if (ACCESSING_BITS_0_7) m_ym2149[Chip]->data_w( data & 0xff);
- else m_ym2149[Chip]->data_w((data >> 8) & 0xff);
-}
-
-template<unsigned Mask>
-void kaneko16_state::oki_bank0_w(u8 data)
-{
- m_okibank[0]->set_entry(data & Mask);
-// logerror("%s:Selecting OKI1 bank %02X\n",machine().describe_context(),data&0xff);
-}
-
-template<unsigned Mask>
-void kaneko16_state::oki_bank1_w(u8 data)
-{
- m_okibank[1]->set_entry(data & Mask);
-// logerror("%s:Selecting OKI2 bank %02X\n",machine().describe_context(),data&0xff);
-}
-
-/***************************************************************************
-
-
- EEPROM
-
-
-***************************************************************************/
-
-void kaneko16_state::eeprom_w(u8 data)
-{
- m_eepromout_port->write(data, 0xff);
-}
-
-u8 kaneko16_state::eeprom_r()
-{
- return m_eeprom->do_read();
-}
-
-void kaneko16_state::eeprom_cs_w(u8 data)
-{
- m_eeprom->cs_write(data);
-}
-
-/***************************************************************************
-
-
- Memory Maps - Main CPU
-
-
-***************************************************************************/
-
-/***************************************************************************
- The Berlin Wall
-***************************************************************************/
-
-void kaneko16_berlwall_state::berlwall_oki_w(offs_t offset, u16 data, u16 mem_mask)
-{
- if (mem_mask == 0xff00) // reads / writes to the upper byte only appear to act as a mirror to the lower byte, 16-bit reads/writes only access the lower byte.
- {
- data >>= 8;
- mem_mask >>= 8;
- }
-
- m_oki[0]->write(data);
-}
-
-u16 kaneko16_berlwall_state::berlwall_spriteram_r(offs_t offset)
-{
- offset = bitswap<16>(offset, 15, 14, 13, 12, 2, 11, 10, 9, 8, 7, 6, 5, 4, 3, 1, 0);
- offset ^= 0x800;
- return m_spriteram->live()[offset];
-}
-
-void kaneko16_berlwall_state::berlwall_spriteram_w(offs_t offset, u16 data, u16 mem_mask)
-{
- offset = bitswap<16>(offset, 15, 14, 13, 12, 2, 11, 10, 9, 8, 7, 6, 5, 4, 3, 1, 0);
- offset ^= 0x800;
- COMBINE_DATA(&m_spriteram->live()[offset]);
-}
-
-u16 kaneko16_berlwall_state::berlwall_spriteregs_r(offs_t offset)
-{
- if (offset & 0x4)
- return 0;
- offset = bitswap<8>(offset, 7, 6, 5, 2, 4, 3, 1, 0);
- return m_kaneko_spr->regs_r(offset);
-}
-
-void kaneko16_berlwall_state::berlwall_spriteregs_w(offs_t offset, u16 data, u16 mem_mask)
-{
- if (offset & 0x4)
- return;
- offset = bitswap<8>(offset, 7, 6, 5, 2, 4, 3, 1, 0);
- m_kaneko_spr->regs_w(offset, data, mem_mask);
-}
-
-void kaneko16_berlwall_state::berlwall_map(address_map &map)
-{
- map(0x000000, 0x03ffff).rom(); // ROM
- map(0x200000, 0x20ffff).ram(); // Work RAM
- map(0x30e000, 0x30ffff).rw(FUNC(kaneko16_berlwall_state::berlwall_spriteram_r), FUNC(kaneko16_berlwall_state::berlwall_spriteram_w)).share("spriteram"); // Sprites (scrambled RAM)
- map(0x400000, 0x400fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x480000, 0x480001).ram().share("bg15_scroll"); // High Color Background
- map(0x500001, 0x500001).rw(FUNC(kaneko16_berlwall_state::bg15_bright_r), FUNC(kaneko16_berlwall_state::bg15_bright_w)); // ""
- map(0x580001, 0x580001).rw(FUNC(kaneko16_berlwall_state::bg15_select_r), FUNC(kaneko16_berlwall_state::bg15_select_w)); // ""
- map(0x600000, 0x60003f).rw(FUNC(kaneko16_berlwall_state::berlwall_spriteregs_r), FUNC(kaneko16_berlwall_state::berlwall_spriteregs_w)); // Sprite Regs (scrambled RAM)
- map(0x680000, 0x680001).portr("P1");
- map(0x680002, 0x680003).portr("P2");
- map(0x680004, 0x680005).portr("SYSTEM");
-// map(0x680006, 0x680007).portr("UNK");
- map(0x700000, 0x700000).w(FUNC(kaneko16_berlwall_state::coin_lockout_w)); // Coin Lockout
- map(0x780000, 0x780001).r(m_watchdog, FUNC(watchdog_timer_device::reset16_r));
- map(0x800000, 0x80001f).rw(FUNC(kaneko16_berlwall_state::ym2149_r<0>), FUNC(kaneko16_berlwall_state::ym2149_w<0>)); // Sound
- map(0x800200, 0x80021f).rw(FUNC(kaneko16_berlwall_state::ym2149_r<1>), FUNC(kaneko16_berlwall_state::ym2149_w<1>));
- map(0x8003fe, 0x8003ff).noprw(); // for OKI when accessed as .l
- map(0x800400, 0x800401).r(m_oki[0], FUNC(okim6295_device::read)).w(FUNC(kaneko16_berlwall_state::berlwall_oki_w));
- map(0xc00000, 0xc03fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0xd00000, 0xd0001f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
-}
-
-
-/***************************************************************************
- Bakuretsu Breaker
-***************************************************************************/
-
-/* Two un-assigned OKI samples get requested during game play. Leftover bug? */
-/* The two YM2149 chips are only used when entering high score initials, and */
-/* when the game is fully completed. Overkill??? */
-
-void kaneko16_state::bakubrkr_map(address_map &map)
-{
- map(0x000000, 0x07ffff).rom(); // ROM
- map(0x100000, 0x10ffff).ram(); // Work RAM
- map(0x400000, 0x40001f).r(FUNC(kaneko16_state::ym2149_r<0>)); // Sound
- map(0x400000, 0x40001d).w(FUNC(kaneko16_state::ym2149_w<0>));
- map(0x40001f, 0x40001f).w(FUNC(kaneko16_state::oki_bank0_w<7>)); // OKI bank Switch
- map(0x400200, 0x40021f).rw(FUNC(kaneko16_state::ym2149_r<1>), FUNC(kaneko16_state::ym2149_w<1>)); // Sound
- map(0x400401, 0x400401).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); //
- map(0x500000, 0x503fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x580000, 0x583fff).m(m_view2[1], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x600000, 0x601fff).ram().share("spriteram"); // Sprites
- map(0x700000, 0x700fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x800000, 0x80001f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x900000, 0x90001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
- map(0xa80000, 0xa80001).r("watchdog", FUNC(watchdog_timer_device::reset16_r));
- map(0xb00000, 0xb0001f).rw(m_view2[1], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0xd00000, 0xd00000).w(FUNC(kaneko16_state::bloodwar_coin_lockout_w)); // Coin Lockout
- map(0xd00001, 0xd00001).w(FUNC(kaneko16_state::eeprom_w)); // EEPROM
- map(0xe00000, 0xe00001).portr("P1");
- map(0xe00002, 0xe00003).portr("P2");
- map(0xe00004, 0xe00005).portr("SYSTEM");
- map(0xe00006, 0xe00007).portr("UNK");
-}
-
-
-/***************************************************************************
- Blaze On
-***************************************************************************/
-
-void kaneko16_state::blazeon_map(address_map &map)
-{
- map(0x000000, 0x0fffff).rom(); // ROM
- map(0x300000, 0x30ffff).ram(); // Work RAM
- map(0x500000, 0x500fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x600000, 0x603fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x700000, 0x700fff).ram().share("spriteram"); // Sprites
- map(0x800000, 0x80001f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x900000, 0x90001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
- map(0x980000, 0x98001f).ram(); // Sprites Regs #2
- map(0xc00000, 0xc00001).portr("DSW2_P1");
- map(0xc00002, 0xc00003).portr("DSW1_P2");
- map(0xc00004, 0xc00005).portr("UNK");
- map(0xc00006, 0xc00007).portr("SYSTEM");
- map(0xd00000, 0xd00000).w(FUNC(kaneko16_state::coin_lockout_w)); // Coin Lockout
- map(0xe00000, 0xe00001).nopr(); // Read = IRQ Ack ?
- map(0xe00000, 0xe00000).w(m_soundlatch, FUNC(generic_latch_8_device::write));
- map(0xe40000, 0xe40001).nopr(); // IRQ Ack ?
-// map(0xe80000, 0xe80001).nopr(); // IRQ Ack ?
- map(0xec0000, 0xec0001).nopr(); // Lev 4 IRQ Ack ?
-}
-
-
-/***************************************************************************
- Blood Warrior
-***************************************************************************/
-
-void kaneko16_gtmr_state::bloodwar_map(address_map &map)
-{
- map(0x000000, 0x0fffff).rom(); // ROM
- map(0x100000, 0x10ffff).ram(); // Work RAM
- map(0x200000, 0x20ffff).ram().share("mcuram");
- map(0x2a0000, 0x2a0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com0_w)); // To MCU ?
- map(0x2b0000, 0x2b0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com1_w));
- map(0x2c0000, 0x2c0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com2_w));
- map(0x2d0000, 0x2d0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com3_w));
- map(0x300000, 0x30ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x400000, 0x401fff).ram().share("spriteram"); // Sprites
- map(0x500000, 0x503fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x580000, 0x583fff).m(m_view2[1], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x600000, 0x60001f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x680000, 0x68001f).rw(m_view2[1], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x700000, 0x70001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
- map(0x800001, 0x800001).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x880001, 0x880001).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x900000, 0x900039).rw(m_kaneko_hit, FUNC(kaneko_hit_device::kaneko_hit_r), FUNC(kaneko_hit_device::kaneko_hit_w));
- map(0xa00000, 0xa00001).rw(m_watchdog, FUNC(watchdog_timer_device::reset16_r), FUNC(watchdog_timer_device::reset16_w));
- map(0xb00000, 0xb00001).portr("P1");
- map(0xb00002, 0xb00003).portr("P2");
- map(0xb00004, 0xb00005).portr("SYSTEM");
- map(0xb00006, 0xb00007).portr("EXTRA");
- map(0xb80000, 0xb80000).w(FUNC(kaneko16_gtmr_state::bloodwar_coin_lockout_w)); // Coin Lockout
- map(0xc00000, 0xc00001).w(FUNC(kaneko16_gtmr_state::display_enable_w));
- map(0xd00000, 0xd00001).r(m_toybox, FUNC(kaneko_toybox_device::mcu_status_r));
- map(0xe00001, 0xe00001).w(FUNC(kaneko16_gtmr_state::oki_bank0_w<0xf>));
- map(0xe80001, 0xe80001).w(FUNC(kaneko16_gtmr_state::oki_bank1_w<0x3>));
-}
-
-
-/***************************************************************************
- Bonk's Adventure
-***************************************************************************/
-
-void kaneko16_gtmr_state::bonkadv_map(address_map &map)
-{
- map(0x000000, 0x0fffff).rom(); // ROM
- map(0x100000, 0x10ffff).ram(); // Work RAM
- map(0x200000, 0x20ffff).ram().share("mcuram"); // Shared With MCU
- map(0x2a0000, 0x2a0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com0_w)); // To MCU ?
- map(0x2b0000, 0x2b0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com1_w));
- map(0x2c0000, 0x2c0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com2_w));
- map(0x2d0000, 0x2d0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com3_w));
- map(0x300000, 0x30ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x400000, 0x401fff).ram().share("spriteram"); // Sprites
- map(0x500000, 0x503fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x580000, 0x583fff).m(m_view2[1], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x600000, 0x60001f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x680000, 0x68001f).rw(m_view2[1], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x700000, 0x70001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
- map(0x800001, 0x800001).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x880001, 0x880001).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x900000, 0x900015).rw(m_kaneko_hit, FUNC(kaneko_hit_device::kaneko_hit_r), FUNC(kaneko_hit_device::kaneko_hit_w));
- map(0xa00000, 0xa00001).rw(m_watchdog, FUNC(watchdog_timer_device::reset16_r), FUNC(watchdog_timer_device::reset16_w)); // Watchdog
- map(0xb00000, 0xb00001).portr("P1");
- map(0xb00002, 0xb00003).portr("P2");
- map(0xb00004, 0xb00005).portr("SYSTEM");
- map(0xb00006, 0xb00007).portr("UNK");
- map(0xb80000, 0xb80000).w(FUNC(kaneko16_gtmr_state::bloodwar_coin_lockout_w)); // Coin Lockout
- map(0xc00000, 0xc00001).w(FUNC(kaneko16_gtmr_state::display_enable_w));
- map(0xd00000, 0xd00001).r(m_toybox, FUNC(kaneko_toybox_device::mcu_status_r));
- map(0xe00001, 0xe00001).w(FUNC(kaneko16_gtmr_state::oki_bank0_w<0xf>));
- map(0xe80001, 0xe80001).w(FUNC(kaneko16_gtmr_state::oki_bank1_w<0xf>));
-}
-
-
-/***************************************************************************
- Great 1000 Miles Rally
-***************************************************************************/
-
-
-u16 kaneko16_gtmr_state::gtmr_wheel_r()
-{
- // check 'Controls' dip switch
- switch (m_dsw_port->read() & 0x1000)
- {
- case 0x0000: // 'Both Sides' = 270deg Wheel
- return (m_wheel_port[0]->read());
- case 0x1000: // '1P Side' = 360' Wheel
- return (m_wheel_port[1]->read());
- default:
- return (0);
- }
-}
-
-void kaneko16_gtmr_state::gtmr_map(address_map &map)
-{
- map(0x000000, 0x0ffffd).rom(); // ROM
- map(0x0ffffe, 0x0fffff).r(FUNC(kaneko16_gtmr_state::gtmr_wheel_r)); // Wheel Value
-
- map(0x100000, 0x10ffff).ram(); // Work RAM
- map(0x200000, 0x20ffff).ram().share(m_mcuram); // Shared With MCU
-
- map(0x2a0000, 0x2a0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com0_w)); // To MCU ?
- map(0x2b0000, 0x2b0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com1_w));
- map(0x2c0000, 0x2c0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com2_w));
- map(0x2d0000, 0x2d0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com3_w));
-
- map(0x300000, 0x30ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x310000, 0x327fff).ram(); //
- map(0x400000, 0x401fff).ram().share("spriteram"); // Sprites
-
- map(0x500000, 0x503fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x580000, 0x583fff).m(m_view2[1], FUNC(kaneko_view2_tilemap_device::vram_map));
-
- map(0x600000, 0x60000f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x680000, 0x68001f).rw(m_view2[1], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
-
- map(0x700000, 0x70001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
-
- map(0x800001, 0x800001).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // Samples
- map(0x880001, 0x880001).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
-
- map(0x900000, 0x900039).rw(m_kaneko_hit, FUNC(kaneko_hit_device::kaneko_hit_r), FUNC(kaneko_hit_device::kaneko_hit_w)); // only used for random number
- map(0xa00000, 0xa00001).rw(m_watchdog, FUNC(watchdog_timer_device::reset16_r), FUNC(watchdog_timer_device::reset16_w));
-
- map(0xb00000, 0xb00001).portr("P1");
- map(0xb00002, 0xb00003).portr("P2");
- map(0xb00004, 0xb00005).portr("SYSTEM");
- map(0xb00006, 0xb00007).portr("UNK");
- map(0xb80000, 0xb80000).w(FUNC(kaneko16_gtmr_state::coin_lockout_w)); // Coin Lockout
- map(0xc00000, 0xc00001).w(FUNC(kaneko16_gtmr_state::display_enable_w)); // might do more than that
-
- map(0xd00000, 0xd00001).r(m_toybox, FUNC(kaneko_toybox_device::mcu_status_r));
-
- map(0xe00001, 0xe00001).w(FUNC(kaneko16_gtmr_state::oki_bank0_w<0xf>)); // Samples Bankswitching
- map(0xe80001, 0xe80001).w(FUNC(kaneko16_gtmr_state::oki_bank1_w<0x1>));
-}
-
-/***************************************************************************
- Great 1000 Miles Rally 2
-***************************************************************************/
-
-
-u16 kaneko16_gtmr_state::gtmr2_wheel_r()
-{
- switch (m_dsw_port->read() & 0x1800)
- {
- case 0x0000: // 270' A. Wheel
- return (m_wheel_port[0]->read());
- case 0x1000: // 270' D. Wheel
- return (m_wheel_port[1]->read() << 8);
- case 0x0800: // 360' Wheel
- return (m_wheel_port[2]->read() << 8);
- default:
- logerror("gtmr2_wheel_r : read at %06x with joystick\n", m_maincpu->pc());
- return (~0);
- }
-}
-
-u16 kaneko16_gtmr_state::gtmr2_IN1_r()
-{
- return (m_p2_port->read() & (m_fake_port->read() | ~0x7100));
-}
-
-void kaneko16_gtmr_state::gtmr2_map(address_map &map)
-{
- map(0x000000, 0x0ffffd).rom(); // ROM
- map(0x0ffffe, 0x0fffff).r(FUNC(kaneko16_gtmr_state::gtmr2_wheel_r)); // Wheel Value
-
- map(0x100000, 0x10ffff).ram(); // Work RAM
- map(0x200000, 0x20ffff).ram().share(m_mcuram); // Shared With MCU
-
- map(0x2a0000, 0x2a0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com0_w)); // To MCU ?
- map(0x2b0000, 0x2b0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com1_w));
- map(0x2c0000, 0x2c0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com2_w));
- map(0x2d0000, 0x2d0001).w(m_toybox, FUNC(kaneko_toybox_device::mcu_com3_w));
-
- map(0x300000, 0x30ffff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x310000, 0x327fff).ram(); //
- map(0x400000, 0x401fff).ram().share("spriteram"); // Sprites
-
- map(0x500000, 0x503fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x580000, 0x583fff).m(m_view2[1], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x600000, 0x60000f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x680000, 0x68001f).rw(m_view2[1], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
-
- map(0x700000, 0x70001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
- map(0x800001, 0x800001).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // Samples
- map(0x880001, 0x880001).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
-
- map(0x900000, 0x900039).rw(m_kaneko_hit, FUNC(kaneko_hit_device::kaneko_hit_r), FUNC(kaneko_hit_device::kaneko_hit_w)); // only used for random number
- map(0xa00000, 0xa00001).rw(m_watchdog, FUNC(watchdog_timer_device::reset16_r), FUNC(watchdog_timer_device::reset16_w)); // Watchdog
-
- map(0xb00000, 0xb00001).portr("P1");
-// map(0xb00002, 0xb00003).portr("P2");
- map(0xb00002, 0xb00003).r(FUNC(kaneko16_gtmr_state::gtmr2_IN1_r));
- map(0xb00004, 0xb00005).portr("SYSTEM");
- map(0xb00006, 0xb00007).portr("EXTRA");
- map(0xb80000, 0xb80000).w(FUNC(kaneko16_gtmr_state::coin_lockout_w)); // Coin Lockout
- map(0xc00000, 0xc00001).w(FUNC(kaneko16_gtmr_state::display_enable_w)); // might do more than that
-
- map(0xd00000, 0xd00001).r(m_toybox, FUNC(kaneko_toybox_device::mcu_status_r));
-
- map(0xe00001, 0xe00001).w(FUNC(kaneko16_gtmr_state::oki_bank0_w<0xf>)); // Samples Bankswitching
- map(0xe80001, 0xe80001).w(FUNC(kaneko16_gtmr_state::oki_bank1_w<0x1>));
-}
-
-/***************************************************************************
- Magical Crystal
-***************************************************************************/
-
-void kaneko16_state::mgcrystl_map(address_map &map)
-{
- map(0x000000, 0x07ffff).rom(); // ROM
- map(0x300000, 0x30ffff).ram(); // Work RAM
- map(0x400000, 0x40001f).rw(FUNC(kaneko16_state::ym2149_r<0>), FUNC(kaneko16_state::ym2149_w<0>)); // Sound
- map(0x400200, 0x40021f).rw(FUNC(kaneko16_state::ym2149_r<1>), FUNC(kaneko16_state::ym2149_w<1>));
- map(0x400401, 0x400401).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x500000, 0x500fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x600000, 0x603fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x680000, 0x683fff).m(m_view2[1], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x700000, 0x701fff).ram().share("spriteram"); // Sprites
- map(0x800000, 0x80001f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x900000, 0x90001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
- map(0xb00000, 0xb0001f).rw(m_view2[1], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0xa00000, 0xa00001).r(m_watchdog, FUNC(watchdog_timer_device::reset16_r)); // Watchdog
- map(0xc00000, 0xc00001).portr("DSW_P1");
- map(0xc00002, 0xc00003).portr("P2");
- map(0xc00004, 0xc00005).portr("SYSTEM");
- map(0xd00000, 0xd00000).w(FUNC(kaneko16_state::bloodwar_coin_lockout_w)); // Coin Lockout
- map(0xd00001, 0xd00001).w(FUNC(kaneko16_state::eeprom_w)); // EEPROM
-}
-
-
-
-/***************************************************************************
- Shogun Warriors
-***************************************************************************/
-
-void kaneko16_shogwarr_state::shogwarr_oki_bank_w(u8 data)
-{
- m_okibank[0]->set_entry((data >> 4) & 0xf);
- m_okibank[1]->set_entry((data & 0xf));
-}
-
-void kaneko16_shogwarr_state::shogwarr_map(address_map &map)
-{
- map(0x000000, 0x03ffff).rom(); // ROM
- map(0x100000, 0x10ffff).ram().share(m_mainram); // Work RAM
- map(0x200000, 0x20ffff).ram().share(m_mcuram);
- map(0x280000, 0x280001).w(m_calc3_prot, FUNC(kaneko_calc3_device::mcu_com0_w));
- map(0x290000, 0x290001).w(m_calc3_prot, FUNC(kaneko_calc3_device::mcu_com1_w));
- map(0x2b0000, 0x2b0001).w(m_calc3_prot, FUNC(kaneko_calc3_device::mcu_com2_w));
- //map(0x2c0000, 0x2c0001) // run calc 3? or irq ack?
- map(0x2d0000, 0x2d0001).w(m_calc3_prot, FUNC(kaneko_calc3_device::mcu_com3_w));
- map(0x380000, 0x380fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); // Palette
- map(0x400001, 0x400001).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write)); // Samples
- map(0x480001, 0x480001).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x580000, 0x581fff).ram().share("spriteram"); // Sprites
- map(0x600000, 0x603fff).m(m_view2[0], FUNC(kaneko_view2_tilemap_device::vram_map));
- map(0x800000, 0x80001f).rw(m_view2[0], FUNC(kaneko_view2_tilemap_device::regs_r), FUNC(kaneko_view2_tilemap_device::regs_w));
- map(0x900000, 0x90001f).rw(m_kaneko_spr, FUNC(kaneko16_sprite_device::regs_r), FUNC(kaneko16_sprite_device::regs_w));
- map(0xa00000, 0xa0007f).rw(m_kaneko_hit, FUNC(kaneko_hit_device::kaneko_hit_r), FUNC(kaneko_hit_device::kaneko_hit_w));
- map(0xa80000, 0xa80001).rw(m_watchdog, FUNC(watchdog_timer_device::reset16_r), FUNC(watchdog_timer_device::reset16_w));
- map(0xb80000, 0xb80001).portr("P1");
- map(0xb80002, 0xb80003).portr("P2");
- map(0xb80004, 0xb80005).portr("SYSTEM");
- map(0xb80006, 0xb80007).portr("UNK");
- map(0xd00000, 0xd00001).noprw(); // ? (bit 0)
- map(0xe00001, 0xe00001).w(FUNC(kaneko16_shogwarr_state::shogwarr_oki_bank_w)); // Samples Bankswitching
-}
-
-/***************************************************************************
-
-
- Memory Maps - Sound CPU
-
-
-***************************************************************************/
-
-/***************************************************************************
- Blaze On
-***************************************************************************/
-
-void kaneko16_state::blazeon_soundmem(address_map &map)
-{
- map(0x0000, 0x7fff).rom(); // ROM
- map(0x8000, 0xbfff).rom(); // ROM (supposed to be banked?)
- map(0xc000, 0xdfff).ram(); // RAM
- //map(0xe000, 0xe001).noprw(); // Unknown read / writes in boot
-}
-
-void kaneko16_state::blazeon_soundport(address_map &map)
-{
- map.global_mask(0xff);
- map(0x02, 0x03).rw(m_ymsnd, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
- map(0x06, 0x06).r(m_soundlatch, FUNC(generic_latch_8_device::read));
-}
-
-/***************************************************************************
- Wing Force
-***************************************************************************/
-
-void kaneko16_state::wingforc_soundport(address_map &map)
-{
- map.global_mask(0xff);
-// map(0x00, 0x00) // 02 written at boot
- map(0x02, 0x03).rw(m_ymsnd, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
- map(0x06, 0x06).r(m_soundlatch, FUNC(generic_latch_8_device::read));
- map(0x0a, 0x0a).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x0c, 0x0c).w(FUNC(kaneko16_state::oki_bank0_w<0x3>));
-}
-
-
-/***************************************************************************
-
-
- Input Ports
-
-
-***************************************************************************/
-
-/***************************************************************************
- Bakuretsu Breaker
-***************************************************************************/
-
-static INPUT_PORTS_START( bakubrkr )
- PORT_START("P1") /* e00000.w */
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:2" )
- /* All other game settings done through the test mode */
- PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) /* Listed as "Unused" */
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2") /* e00002.b */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM") /* e00004.b */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT ) // pause
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("UNK") /* Seems unused ! - e00006.b */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "EEPROMOUT" )
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, clk_write)
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, di_write)
-INPUT_PORTS_END
-
-
-/***************************************************************************
- The Berlin Wall
-***************************************************************************/
-
-static INPUT_PORTS_START( berlwall )
- PORT_START("P1") /* 680000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2") /* 680002.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM") /* 680000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("UNK") /* ? - 680006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /*$200018.b <- ! $80001d.b */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:2" ) /* Listed as "Unused" */
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4,5")
- PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6,7,8")
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
-
- PORT_START("DSW2") /* $200019.b <- $80001f.b */
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
- PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4") // 1p lives at 202982.b
- PORT_DIPSETTING( 0x08, "2" )
- PORT_DIPSETTING( 0x0c, "3" )
- PORT_DIPSETTING( 0x04, "5" )
- PORT_DIPSETTING( 0x00, "7" )
- PORT_DIPNAME( 0x30, 0x30, "Country" ) PORT_DIPLOCATION("SW2:5,6")
- PORT_DIPSETTING( 0x30, "England" )
- PORT_DIPSETTING( 0x20, "Italy" )
- PORT_DIPSETTING( 0x10, "Germany" )
- PORT_DIPSETTING( 0x00, "Freeze Screen" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC(0x80, IP_ACTIVE_LOW, "SW2:8" )
-INPUT_PORTS_END
-
-
-/***************************************************************************
- The Berlin Wall (bootleg ?)
-***************************************************************************/
-
-// Same as berlwall, but for a different lives setting
-
-static INPUT_PORTS_START( berlwallt )
- PORT_INCLUDE(berlwall)
-
- PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
- PORT_DIPSETTING( 0x00, "1" )
- PORT_DIPSETTING( 0x0c, "2" )
- PORT_DIPSETTING( 0x08, "3" )
- PORT_DIPSETTING( 0x04, "5" )
-INPUT_PORTS_END
-
-
-/***************************************************************************
- The Berlin Wall (Korea)
-***************************************************************************/
-
-// Same as berlwallt, but no country setting
-
-static INPUT_PORTS_START( berlwallk )
- PORT_INCLUDE(berlwallt)
-
- PORT_MODIFY("DSW2")
- PORT_DIPNAME( 0x30, 0x30, "Pause Mode" ) PORT_DIPLOCATION("SW2:5,6")
- PORT_DIPSETTING( 0x30, "Off (1)" )
- PORT_DIPSETTING( 0x20, "Off (2)" )
- PORT_DIPSETTING( 0x10, "Off (3)" )
- PORT_DIPSETTING( 0x00, "Freeze Screen" )
-INPUT_PORTS_END
-
-
-/***************************************************************************
- Blaze On
-***************************************************************************/
-
-static INPUT_PORTS_START( blazeon )
- PORT_START("DSW2_P1") /* c00000.w */
- PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
- PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
- PORT_DIPSETTING( 0x0000, "2" )
- PORT_DIPSETTING( 0x000c, "3" )
- PORT_DIPSETTING( 0x0008, "4" )
- PORT_DIPSETTING( 0x0004, "5" )
- PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW2:7" ) /* Listed as "Unused" */
- PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW2:8" )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
-
- PORT_START("DSW1_P2") /* c00002.w */
- PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4")
- PORT_DIPSETTING( 0x0007, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0005, "6 Coins/3 Credits" )
- PORT_DIPSETTING( 0x0009, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0004, DEF_STR( 4C_3C ) )
- PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
-// PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0003, "5 Coins/6 Credits" )
- PORT_DIPSETTING( 0x0002, DEF_STR( 4C_5C ) )
- PORT_DIPSETTING( 0x0006, DEF_STR( 2C_3C ) )
-// PORT_DIPSETTING( 0x0001, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
-
- PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8")
- PORT_DIPSETTING( 0x0070, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x0080, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0050, "6 Coins/3 Credits" )
- PORT_DIPSETTING( 0x0090, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x0040, DEF_STR( 4C_3C ) )
- PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) )
-// PORT_DIPSETTING( 0x0000, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x0030, "5 Coins/6 Credits" )
- PORT_DIPSETTING( 0x0020, DEF_STR( 4C_5C ) )
- PORT_DIPSETTING( 0x0060, DEF_STR( 2C_3C ) )
-// PORT_DIPSETTING( 0x0010, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x00b0, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_6C ) )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
-
- PORT_START("UNK") /* ? - c00004.w */
- PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused?
-
- PORT_START("SYSTEM") /* c00006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_SERVICE_NO_TOGGLE( 0x2000, IP_ACTIVE_LOW )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE1 )
-INPUT_PORTS_END
-
-/***************************************************************************
- Wing Force
-***************************************************************************/
-
-static INPUT_PORTS_START( wingforc )
- PORT_START("DSW2_P1") /* c00000.w */
- // The game reads and stores these the same as Blaze On.
- // However, none of them actually get used. Lives does work if you patch out the
- // code that actively zeroes out the value it reads from here.
- PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" )
- PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW1:2" )
- PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" )
- PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" )
- PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" )
- PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" )
- PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" )
- PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
-
- PORT_START("DSW1_P2") /* c00002.w */
- // In a similar story to DSW2, these are read and then forced to zero.
- // These are credit selections with the same values as Blaze On.
- // These work if you remove the code to force to zero, but they don't
- // give any feedback unless the coin increases the credit counter.
- PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW2:1" )
- PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW2:2" )
- PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
- PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
- PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" )
- PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" )
- PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW2:7" )
- PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW2:8" )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
-
- PORT_START("UNK") /* ? - c00004.w */
- PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused?
-
- PORT_START("SYSTEM") /* c00006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_SERVICE_NO_TOGGLE( 0x2000, IP_ACTIVE_LOW ) // unused
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_TILT ) // unused
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE1 )
-INPUT_PORTS_END
-
-/***************************************************************************
- Blood Warrior
-***************************************************************************/
-
-static INPUT_PORTS_START( bloodwar )
- PORT_START("P1") /* b0000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
-
- PORT_START("P2") /* b0002.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM") /* b0004.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE2 ) // tested
-
- PORT_START("EXTRA") /* ? - b0006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) // tested
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* from the MCU - $10497e.b <- $208000.b */
- PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW1:2" )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x3800, 0x3800, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:4,5,6")
- PORT_DIPSETTING( 0x3800, "1 Easy" )
- PORT_DIPSETTING( 0x3000, "2" )
- PORT_DIPSETTING( 0x2800, "3" )
- PORT_DIPSETTING( 0x2000, "4" )
- PORT_DIPSETTING( 0x1800, "5" )
- PORT_DIPSETTING( 0x1000, "6" )
- PORT_DIPSETTING( 0x0800, "7" )
- PORT_DIPSETTING( 0x0000, "8 Hard" )
- PORT_DIPNAME( 0x4000, 0x4000, "Can Join During Game" ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x8000, 0x8000, "Start 2 Credits/Continue 1 Credit" ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x8000, DEF_STR( No ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
-INPUT_PORTS_END
-
-/***************************************************************************
- Bonk's Adventure
-***************************************************************************/
-
-static INPUT_PORTS_START( bonkadv )
- PORT_START("P1") /* b0000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
-
- PORT_START("P2") /* b0002.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
-
- PORT_START("SYSTEM") /* b0004.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE2 )
-
- PORT_START("UNK") /* ? - b0006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tested
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* from the MCU - $10019e.b <- $200200.b */
- PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Flip_Screen ) )
- PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Free_Play ) )
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0400, DEF_STR( On ) )
- PORT_DIPNAME( 0x0800, 0x0800, "Ticket dispenser" ) /* "Reserved" for Japan/Europe */
- PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x1000, 0x0000, "Title Level Display" )
- PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x2000, 0x2000, "Reserved" )
- PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x4000, 0x4000, "Reserved" )
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
-INPUT_PORTS_END
-
-
-/***************************************************************************
- Great 1000 Miles Rally
-***************************************************************************/
-
-static INPUT_PORTS_START( gtmr )
- PORT_START("P1") /* b0000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0f00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW1",0x0800,EQUALS,0x00)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2") /* b0002.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_BIT( 0x0f00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW1",0x0800,EQUALS,0x00)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM") /* b0004.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("UNK") /* Seems unused ! - b0006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* from the MCU - 101265.b <- 206000.b */
- PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW1:1" )
- PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
- PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x0400, DEF_STR( Upright ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( Cocktail ) )
- PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Controller ) ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x0800, DEF_STR( Joystick ) )
- PORT_DIPSETTING( 0x0000, "Wheel" )
- PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Controls ) ) PORT_DIPLOCATION("SW1:5")
- PORT_DIPSETTING( 0x1000, "1P Side" ) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_DIPSETTING( 0x0000, "Both Sides" ) PORT_CONDITION("DSW1",0x0800,NOTEQUALS,0x00)
- PORT_DIPSETTING( 0x1000, "360 degree wheel" ) PORT_CONDITION("DSW1",0x0800,EQUALS,0x00)
- PORT_DIPSETTING( 0x0000, "270 degree wheel" ) PORT_CONDITION("DSW1",0x0800,EQUALS,0x00)
- PORT_DIPNAME( 0x2000, 0x2000, "Use Brake" ) PORT_DIPLOCATION("SW1:6") /* Valid only when joystick is used */
- PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x2000, DEF_STR( On ) )
- PORT_DIPNAME( 0xc000, 0xc000, "National Anthem & Flag" ) PORT_DIPLOCATION("SW1:7,8")
- PORT_DIPSETTING( 0xc000, "Use Memory" )
- PORT_DIPSETTING( 0x8000, "Anthem Only" )
- PORT_DIPSETTING( 0x4000, "Flag Only" )
- PORT_DIPSETTING( 0x0000, DEF_STR( None ) )
-
- PORT_START("WHEEL0") /* Wheel (270deg) - 100015.b <- ffffe.b */
- PORT_BIT ( 0x00ff, 0x0080, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(25) PORT_PLAYER(1) PORT_CONDITION("DSW1",0x1800,EQUALS,0x0000)
- PORT_BIT ( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW1",0x1800,NOTEQUALS,0x0000)
-
- PORT_START("WHEEL1") /* Wheel (360deg) */
- PORT_BIT ( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(70) PORT_KEYDELTA(25) PORT_PLAYER(1) PORT_CONDITION("DSW1",0x1800,EQUALS,0x1000)
- PORT_BIT ( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW1",0x1800,NOTEQUALS,0x1000)
-INPUT_PORTS_END
-
-
-/***************************************************************************
- Great 1000 Miles Rally 2
-***************************************************************************/
-
-static INPUT_PORTS_START( gtmr2 )
- PORT_START("P1") /* 100004.w <- b00000.w (cpl) */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2") /* 10000c.w <- b00002.w (cpl) - for "test mode" only */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM") /* 100014.w <- b00004.w (cpl) */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) // only in "test mode"
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("EXTRA") /* 100017.w <- b00006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("IN 3-6") // Code at 0x002236 - Centers 270D wheel ?
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* from the MCU - 1016f7.b <- 206000.b */
- PORT_DIPNAME( 0x0700, 0x0700, "Linked Operation Board Number" ) PORT_DIPLOCATION("SW1:6,7,8")
- PORT_DIPSETTING( 0x0700, "No Communication" )
- PORT_DIPSETTING( 0x0600, "Board #1" )
- PORT_DIPSETTING( 0x0500, "Board #2" )
- PORT_DIPSETTING( 0x0400, "Board #3" )
- PORT_DIPSETTING( 0x0300, "Board #4" )
- /* 0x0000 to 0x0200 : "Machine 4"
- PORT_DIPSETTING( 0x0200, "Machine 4 (0x0200)" )
- PORT_DIPSETTING( 0x0100, "Machine 4 (0x0100)" )
- PORT_DIPSETTING( 0x0000, "Machine 4 (0x0000)" )
- */
- PORT_DIPNAME( 0x1800, 0x1800, DEF_STR( Controls ) ) PORT_DIPLOCATION("SW1:4,5")
- PORT_DIPSETTING( 0x1800, DEF_STR( Joystick ) )
- PORT_DIPSETTING( 0x0800, "Wheel (360)" ) // Not working correctly in race }
- PORT_DIPSETTING( 0x1000, "Wheel (270D)" ) // Not working correctly ! } seems to work ok to me! (minwah)
- PORT_DIPSETTING( 0x0000, "Wheel (270A)" ) // Not working correctly in race }
- PORT_DIPNAME( 0x2000, 0x2000, "Optional Mode Of Pedal Function" ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x2000, "Microswitch" ) // "This mode also corresponds to the two buttons used with joystick."
- PORT_DIPSETTING( 0x0000, "Potentiometer" ) // Not implemented yet
- PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
- PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW1:1" )
-
- PORT_START("WHEEL0") /* Wheel (270A) - 100019.b <- fffff.b */
- PORT_BIT ( 0x00ff, 0x0080, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1)
-
- PORT_START("WHEEL1") /* Wheel (270D) - 100019.b <- ffffe.b */
- PORT_BIT ( 0x00ff, 0x0080, IPT_PADDLE ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1)
-
- PORT_START("WHEEL2") /* Wheel (360) - 100019.b <- ffffe.b */
- PORT_BIT( 0x00ff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(30) PORT_KEYDELTA(1) PORT_CODE_DEC(KEYCODE_LEFT) PORT_CODE_INC(KEYCODE_RIGHT)
-
- PORT_START("FAKE") /* Fake P2 - To be pressed during boot sequence - Code at 0x000c9e */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("IN 1-0") PORT_CODE(KEYCODE_H) // "sound test"
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("IN 1-4") PORT_CODE(KEYCODE_J) // "view tiles"
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("IN 1-5") PORT_CODE(KEYCODE_K) // "view memory"
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("IN 1-6") PORT_CODE(KEYCODE_L) // "view sprites ?"
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-/***************************************************************************
- Magical Crystal
-***************************************************************************/
-
-static INPUT_PORTS_START( mgcrystl )
- PORT_START("DSW_P1") /* c00000.w */
- PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:2" )
- /* All other game settings done through the test mode */
- PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" ) /* Listed as "Unused" */
- PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" ) /* Listed as "Unused" */
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2") /* c00002.b */
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM") /* c00004.b */
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "EEPROMOUT" )
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, clk_write)
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, di_write)
-INPUT_PORTS_END
-
-
-
-/***************************************************************************
- Pack'n Bang Bang
-***************************************************************************/
-
-static INPUT_PORTS_START( packbang )
- PORT_START("P1") /* 680000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("P2") /* 680002.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("SYSTEM") /* 680000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2)
- PORT_SERVICE_NO_TOGGLE( 0x1000, IP_ACTIVE_LOW )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_TILT )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("UNK") /* ? - 680006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:2" ) /* Listed as "Unused" */
- PORT_DIPNAME( 0x1c, 0x1c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:3,4,5")
- PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) )
- PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0x1c, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x08, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x14, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) )
- PORT_DIPNAME( 0xe0, 0xe0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6,7,8")
- PORT_DIPSETTING( 0x60, DEF_STR( 2C_1C ) )
- PORT_DIPSETTING( 0xe0, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x40, DEF_STR( 2C_3C ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
- PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
- PORT_DIPSETTING( 0x20, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_6C ) )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
- PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x03, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
- PORT_DIPNAME( 0x04, 0x04, "Timer Speed" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x00, "Slow" )
- PORT_DIPSETTING( 0x04, "Standard" )
- PORT_DIPNAME( 0x18, 0x18, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:4,5")
- PORT_DIPSETTING( 0x00, "Invalid" ) // Japanese text, Korean Kaneko logo 'Unusued' according to test mode
- PORT_DIPSETTING( 0x08, DEF_STR( Korea ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Japan ) )
- PORT_DIPSETTING( 0x18, DEF_STR( World ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Free_Play ) ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x40, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC(0x80, IP_ACTIVE_LOW, "SW2:8" )
-INPUT_PORTS_END
-
-/***************************************************************************
- Shogun Warriors
-***************************************************************************/
-
-static INPUT_PORTS_START( shogwarr )
- PORT_START("P1") /* b80000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 )
-
- PORT_START("P2") /* b80002.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 )
-
- PORT_START("SYSTEM") /* b80004.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_SERVICE1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("UNK") /* ? - b80006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1") /* from the MCU - 102e15.b <- 200059.b */
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC(0x02, IP_ACTIVE_LOW, "SW1:2" )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x04, DEF_STR( On ) )
- PORT_DIPNAME( 0x38, 0x38, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:4,5,6")
- PORT_DIPSETTING( 0x38, "1 Easy" )
- PORT_DIPSETTING( 0x30, "2" )
- PORT_DIPSETTING( 0x28, "3" )
- PORT_DIPSETTING( 0x20, "4 Normal" )
- PORT_DIPSETTING( 0x18, "5" )
- PORT_DIPSETTING( 0x10, "6" )
- PORT_DIPSETTING( 0x08, "7" )
- PORT_DIPSETTING( 0x00, "8 Hard" )
- PORT_DIPNAME( 0x40, 0x40, "Can Join During Game" ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) // 2 credits winner vs computer
- PORT_DIPSETTING( 0x40, DEF_STR( On ) ) // 1 credit game over
- PORT_DIPNAME( 0x80, 0x80, "Continue Coin" ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "EEPROMOUT" )
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, clk_write)
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, di_write)
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( brapboys )
- PORT_START("P1") /* b80000.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN1 )
-
- PORT_START("P2") /* b80002.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START2 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN2 )
-
- PORT_START("SYSTEM") /* b80004.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_START3 )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_COIN3 )
-
- PORT_START("UNK") /* ? - b80006.w */
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_SERVICE_DIPLOC(0x02, IP_ACTIVE_LOW, "SW1:2" )
- PORT_DIPNAME( 0x04, 0x04, "Switch Test" ) PORT_DIPLOCATION("SW1:3")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNUSED_DIPLOC(0x08, 0x08, "SW1:4" )
- PORT_DIPNAME( 0x10, 0x10, "Coin Slots" ) PORT_DIPLOCATION("SW1:5")
- PORT_DIPSETTING( 0x10, "Separate Coins" )
- PORT_DIPSETTING( 0x00, "Shared Coins" )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Players ) ) PORT_DIPLOCATION("SW1:6")
- PORT_DIPSETTING( 0x20, "3" )
- PORT_DIPSETTING( 0x00, "2" )
- PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,8")
- PORT_DIPSETTING( 0x80, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0xc0, DEF_STR( Normal ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard) )
-
-/*****************************************************
-Difficulty Lives Bonus Players Play Level
- Easy 3 every 1000 / 2000 Level 2
- Normal 2 every 2000 / 3000 Level 3
- Hard 2 every 3000 / 4000 Level 4
- Very Hard 1 --- NONE --- Level 6
-******************************************************/
-
- PORT_START( "EEPROMOUT" )
- PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, clk_write)
- PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, di_write)
-INPUT_PORTS_END
-
-
-/***************************************************************************
-
-
- Machine Drivers
-
-
-***************************************************************************/
-
-TIMER_DEVICE_CALLBACK_MEMBER(kaneko16_state::interrupt)
-{
- int scanline = param;
-
- // main vblank interrupt
- if (scanline == 224)
- {
- m_spriteram->copy();
- m_maincpu->set_input_line(5, HOLD_LINE);
- }
-
- // each of these 2 int are responsible of translating a part of sprite buffer
- // from work ram to sprite ram. How these are scheduled is unknown.
- if (scanline == 64)
- m_maincpu->set_input_line(4, HOLD_LINE);
-
- if (scanline == 144)
- m_maincpu->set_input_line(3, HOLD_LINE);
-}
-
-/***************************************************************************
- The Berlin Wall
-***************************************************************************/
-
-/*
- Berlwall interrupts:
-
- 1-3] e8c:
- 4] e54:
- 5] de4:
- 6-7] rte
-*/
-
-void kaneko16_berlwall_state::berlwall(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, 12000000); /* MC68000P12 */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_berlwall_state::berlwall_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(kaneko16_berlwall_state::interrupt), "screen", 0, 1);
-
- WATCHDOG_TIMER(config, m_watchdog);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
- m_screen->set_size(256, 256);
- m_screen->set_visarea(0, 256-1, 16, 240-1);
- m_screen->set_screen_update(FUNC(kaneko16_berlwall_state::screen_update));
-
- PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048);
-
- PALETTE(config, m_bgpalette, palette_device::GRB_555); // 32768 static colors for the bg
-
- KANEKO_TMAP(config, m_view2[0]);
- m_view2[0]->set_colbase(0x40 * 16);
- m_view2[0]->set_offset(0x5b, -0x8, 256, 240+16);
- m_view2[0]->set_palette(m_palette);
-
- KANEKO_VU002_SPRITE(config, m_kaneko_spr);
- m_kaneko_spr->set_offsets(0, -1*64);
- m_kaneko_spr->set_palette(m_palette);
- m_kaneko_spr->set_color_base(0);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM2149(config, m_ym2149[0], 1000000);
- m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
- m_ym2149[0]->port_a_read_callback().set_ioport("DSW1");
- m_ym2149[0]->port_b_read_callback().set_ioport("DSW2");
-
- YM2149(config, m_ym2149[1], 1000000);
- m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
-
- OKIM6295(config, m_oki[0], 12000000/6, okim6295_device::PIN7_LOW);
- m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
-}
-
-
-/***************************************************************************
- Bakuretsu Breaker
-***************************************************************************/
-
-void kaneko16_state::bakubrkr_oki1_map(address_map &map)
-{
- map(0x00000, 0x1ffff).rom();
- map(0x20000, 0x3ffff).bankr("okibank1");
-}
-
-void kaneko16_state::bakubrkr(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, XTAL(12'000'000)); /* verified on pcb */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::bakubrkr_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(kaneko16_state::interrupt), "screen", 0, 1);
-
- MCFG_MACHINE_RESET_OVERRIDE(kaneko16_state,gtmr)
- EEPROM_93C46_16BIT(config, m_eeprom);
-
- WATCHDOG_TIMER(config, m_watchdog);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(59);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
- m_screen->set_size(256, 256);
- m_screen->set_visarea(0, 256-1, 16, 240-1);
- m_screen->set_screen_update(FUNC(kaneko16_state::screen_update));
- m_screen->set_palette(m_palette);
-
- PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048);
-
- KANEKO_TMAP(config, m_view2[0]);
- m_view2[0]->set_colbase(0x40 * 16);
- m_view2[0]->set_offset(0x5b, -0x8, 256, 240);
- m_view2[0]->set_palette(m_palette);
-
- KANEKO_TMAP(config, m_view2[1]);
- m_view2[1]->set_colbase(0x40 * 16);
- m_view2[1]->set_offset(0x5b, -0x8, 256, 240);
- m_view2[1]->set_palette(m_palette);
-
- KANEKO_VU002_SPRITE(config, m_kaneko_spr);
- m_kaneko_spr->set_priorities(8,8,8,8); // above all
- m_kaneko_spr->set_palette(m_palette);
- m_kaneko_spr->set_color_base(0);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM2149(config, m_ym2149[0], XTAL(12'000'000)/6); /* verified on pcb */
- m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
-
- YM2149(config, m_ym2149[1], XTAL(12'000'000)/6); /* verified on pcb */
- m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
- m_ym2149[1]->port_a_read_callback().set(FUNC(kaneko16_state::eeprom_r)); /* inputs A: 0,EEPROM bit read */
- m_ym2149[1]->port_b_write_callback().set(FUNC(kaneko16_state::eeprom_cs_w)); /* outputs B: 0,EEPROM reset */
-
- OKIM6295(config, m_oki[0], XTAL(12'000'000)/6, okim6295_device::PIN7_HIGH); /* verified on pcb */
- m_oki[0]->set_addrmap(0, &kaneko16_state::bakubrkr_oki1_map);
- m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
-}
-
-
-/***************************************************************************
- Blaze On
-***************************************************************************/
-
-/*
- Blaze On:
- 1] busy loop
- 2] does nothing
- 3] rte
- 4] drives the game
- 5] == 2
- 6-7] busy loop
-*/
-
-void kaneko16_state::blazeon(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, 12000000); /* TMP68HC000-12 */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::blazeon_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(kaneko16_state::interrupt), "screen", 0, 1);
-
- Z80(config, m_audiocpu, 4000000); /* D780C-2 (6 MHz) */
- m_audiocpu->set_addrmap(AS_PROGRAM, &kaneko16_state::blazeon_soundmem);
- m_audiocpu->set_addrmap(AS_IO, &kaneko16_state::blazeon_soundport);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
- m_screen->set_size(320, 240);
- m_screen->set_visarea(0, 320-1, 0, 240-1 -8);
- m_screen->set_screen_update(FUNC(kaneko16_state::screen_update));
- m_screen->set_palette(m_palette);
-
- PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048);
-
- KANEKO_TMAP(config, m_view2[0], 0);
- m_view2[0]->set_colbase(0x40 * 16);
- m_view2[0]->set_offset(0x33, 0x8, 320, 240);
- m_view2[0]->set_palette(m_palette);
-
- KANEKO_VU002_SPRITE(config, m_kaneko_spr);
- m_kaneko_spr->set_priorities(1 /* "above tile[0], below the others" */ ,2 /* "above tile[0-1], below the others" */ ,8 /* above all */,8 /* above all */);
- m_kaneko_spr->set_offsets(0x10000 - 0x680, 0x000);
- m_kaneko_spr->set_palette(m_palette);
- m_kaneko_spr->set_color_base(0);
-
- // there is actually a 2nd sprite chip! looks like our device emulation handles both at once
-
- /* sound hardware */
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- GENERIC_LATCH_8(config, m_soundlatch);
- m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
-
- YM2151(config, m_ymsnd, 4000000);
- m_ymsnd->add_route(0, "lspeaker", 1.0);
- m_ymsnd->add_route(1, "rspeaker", 1.0);
-}
-
-
-/***************************************************************************
- Wing Force
-***************************************************************************/
-
-void kaneko16_state::wingforc(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, XTAL(16'000'000)); /* TMP68HC000N-16 */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::blazeon_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(kaneko16_state::interrupt), "screen", 0, 1);
-
- Z80(config, m_audiocpu, XTAL(16'000'000)/4); /* D780C-2 (6 MHz) */
- m_audiocpu->set_addrmap(AS_PROGRAM, &kaneko16_state::blazeon_soundmem);
- m_audiocpu->set_addrmap(AS_IO, &kaneko16_state::wingforc_soundport);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(59.1854);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
- m_screen->set_size(320, 240);
- m_screen->set_visarea(0, 320-1, 0, 240-1 -16);
- m_screen->set_screen_update(FUNC(kaneko16_state::screen_update));
- m_screen->set_palette(m_palette);
-
- PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048);
-
- KANEKO_TMAP(config, m_view2[0]);
- m_view2[0]->set_colbase(0x40 * 16);
- m_view2[0]->set_offset(0x33, 0x8+1, 320, 240);
- m_view2[0]->set_palette(m_palette);
-
- KANEKO_VU002_SPRITE(config, m_kaneko_spr);
- m_kaneko_spr->set_priorities(1 /* "above tile[0], below the others" */ ,2 /* "above tile[0-1], below the others" */ ,8 /* above all */,8 /* above all */);
- m_kaneko_spr->set_offsets(0x10000 - 0x680, 0x000);
- m_kaneko_spr->set_palette(m_palette);
- m_kaneko_spr->set_color_base(0);
-
- // there is actually a 2nd sprite chip! looks like our device emulation handles both at once
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- GENERIC_LATCH_8(config, m_soundlatch);
- m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
-
- YM2151(config, m_ymsnd, XTAL(16'000'000)/4);
- m_ymsnd->add_route(ALL_OUTPUTS, "mono", 0.4);
-
- OKIM6295(config, m_oki[0], XTAL(16'000'000)/16, okim6295_device::PIN7_HIGH);
- m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
- m_oki[0]->set_addrmap(0, &kaneko16_state::bakubrkr_oki1_map);
-}
-
-
-/***************************************************************************
- Great 1000 Miles Rally
-***************************************************************************/
-
-/*
- gtmr interrupts:
-
- 3] 476: time, input ports, scroll registers
- 4] 466->258e: set sprite ram
- 5] 438: set sprite colors
-
- VIDEO_UPDATE_AFTER_VBLANK fixes the mangled/wrong colored sprites
-*/
-
-void kaneko16_state::gtmr_oki1_map(address_map &map)
-{
- map(0x00000, 0x2ffff).rom();
- map(0x30000, 0x3ffff).bankr("okibank1");
-}
-
-void kaneko16_state::gtmr_oki2_map(address_map &map)
-{
- map(0x00000, 0x3ffff).bankr("okibank2");
-}
-
-void kaneko16_gtmr_state::gtmr(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, XTAL(16'000'000)); /* verified on pcb */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_gtmr_state::gtmr_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(kaneko16_gtmr_state::interrupt), "screen", 0, 1);
-
- MCFG_MACHINE_RESET_OVERRIDE(kaneko16_gtmr_state,gtmr)
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-
- WATCHDOG_TIMER(config, m_watchdog);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
- m_screen->set_size(320, 240);
- m_screen->set_visarea(0, 320-1, 0, 240-1);
- m_screen->set_screen_update(FUNC(kaneko16_gtmr_state::screen_update));
- m_screen->set_palette(m_palette);
-
- PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 32768);
-
- KANEKO_TMAP(config, m_view2[0]);
- m_view2[0]->set_colbase(0);
- m_view2[0]->set_offset(0x33, 0x00, 320, 240);
- m_view2[0]->set_palette(m_palette);
-
- KANEKO_TMAP(config, m_view2[1]);
- m_view2[1]->set_colbase(0);
- m_view2[1]->set_offset(0x33, 0x00, 320, 240);
- m_view2[1]->set_palette(m_palette);
-
- KANEKO_KC002_SPRITE(config, m_kaneko_spr);
- m_kaneko_spr->set_palette(m_palette);
- m_kaneko_spr->set_color_base(0x40 * 256);
-
- KANEKO_TOYBOX(config, m_toybox, m_eeprom, m_dsw_port, m_mcuram, "mcudata");
- /* part of the toybox? */
- KANEKO_HIT(config, m_kaneko_hit);
- m_kaneko_hit->set_type(1);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- OKIM6295(config, m_oki[0], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW); /* verified on pcb */
- m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.5);
- m_oki[0]->set_addrmap(0, &kaneko16_gtmr_state::gtmr_oki1_map);
-
- OKIM6295(config, m_oki[1], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW); /* verified on pcb */
- m_oki[1]->add_route(ALL_OUTPUTS, "mono", 0.5);
- m_oki[1]->set_addrmap(0, &kaneko16_gtmr_state::gtmr_oki2_map);
-}
-
-void kaneko16_gtmr_state::gtmre(machine_config &config)
-{
- gtmr(config);
- m_toybox->set_table(kaneko_toybox_device::TABLE_ALT);
-}
-
-/***************************************************************************
- Great 1000 Miles Rally 2
-***************************************************************************/
-
-void kaneko16_gtmr_state::gtmr2(machine_config &config)
-{
- gtmre(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_gtmr_state::gtmr2_map);
-}
-
-/***************************************************************************
- Blood Warrior
-***************************************************************************/
-
-void kaneko16_gtmr_state::bloodwar(machine_config &config)
-{
- gtmr(config);
-
- /* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_gtmr_state::bloodwar_map);
- MCFG_MACHINE_RESET_OVERRIDE(kaneko16_gtmr_state, gtmr)
-
- m_kaneko_spr->set_priorities(2 /* never used? */ ,3 /* character selection / vs. portraits */ ,5 /* winning portrait*/ ,7 /* ? */);
-}
-
-
-
-/***************************************************************************
- Bonk's Adventure
-***************************************************************************/
-
-void kaneko16_gtmr_state::bonkadv(machine_config &config)
-{
- gtmr(config);
-
- /* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_gtmr_state::bonkadv_map);
- MCFG_MACHINE_RESET_OVERRIDE(kaneko16_gtmr_state, gtmr)
-
- m_kaneko_spr->set_priorities(2 /* never used? */ ,3 /* volcano lava on level 2 */ ,5 /* in-game player */ ,7 /* demostration text */);
-
- m_toybox->set_game_type(kaneko_toybox_device::GAME_BONK);
- m_kaneko_hit->set_type(0);
-}
-
-/***************************************************************************
- Magical Crystal
-***************************************************************************/
-
-void kaneko16_state::mgcrystl(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, XTAL(12'000'000)); /* verified on pcb, TMP68HC000N-12 @U31 and X2 is 12MHz */
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_state::mgcrystl_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(kaneko16_state::interrupt), "screen", 0, 1);
-
- MCFG_MACHINE_RESET_OVERRIDE(kaneko16_state,mgcrystl)
-
- EEPROM_93C46_16BIT(config, m_eeprom);
-
- WATCHDOG_TIMER(config, m_watchdog);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
- m_screen->set_size(256, 256);
- m_screen->set_visarea(0, 256-1, 0+16, 256-16-1);
- m_screen->set_screen_update(FUNC(kaneko16_state::screen_update));
- m_screen->set_palette(m_palette);
-
- PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048);
-
- KANEKO_TMAP(config, m_view2[0]);
- m_view2[0]->set_colbase(0x40 * 16);
- m_view2[0]->set_offset(0x5b, -0x8, 256, 240);
- m_view2[0]->set_palette(m_palette);
-
- KANEKO_TMAP(config, m_view2[1]);
- m_view2[1]->set_colbase(0x40 * 16);
- m_view2[1]->set_offset(0x5b, -0x8, 256, 240);
- m_view2[1]->set_palette(m_palette);
-
- KANEKO_VU002_SPRITE(config, m_kaneko_spr);
- m_kaneko_spr->set_priorities(2 /* below all */ ,3 /* above tile[0], below the other */ ,5 /* above all */ ,7 /* above all */);
- m_kaneko_spr->set_palette(m_palette);
- m_kaneko_spr->set_color_base(0);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM2149(config, m_ym2149[0], XTAL(12'000'000)/6); /* verified on pcb */
- m_ym2149[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
-
- YM2149(config, m_ym2149[1], XTAL(12'000'000)/6); /* verified on pcb */
- m_ym2149[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
- m_ym2149[1]->port_a_read_callback().set(FUNC(kaneko16_state::eeprom_r)); /* inputs A: 0,EEPROM bit read */
- m_ym2149[1]->port_b_write_callback().set(FUNC(kaneko16_state::eeprom_cs_w)); /* outputs B: 0,EEPROM reset */
-
- OKIM6295(config, m_oki[0], XTAL(12'000'000)/6, okim6295_device::PIN7_HIGH); /* verified on pcb */
- m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
-}
-
-
-
-/***************************************************************************
- Shogun Warriors
-***************************************************************************/
-
-/*
- shogwarr interrupts:
-
- 2] 100: rte
- 3] 102:
- 4] 136:
- movem.l D0-D7/A0-A6, -(A7)
- movea.l $207808.l, A0 ; from mcu?
- jmp ($4,A0)
-
- other: busy loop
-*/
-
-TIMER_DEVICE_CALLBACK_MEMBER(kaneko16_shogwarr_state::shogwarr_interrupt)
-{
- int scanline = param;
-
- if (scanline == 224)
- {
- m_spriteram->copy(); // TODO : shogwarr sprites are 1 frame delayed? reference : https://youtu.be/aj4ayOc4MuI
- // the code for this interrupt is provided by the MCU..
- m_maincpu->set_input_line(4, HOLD_LINE);
- }
-
- if (scanline == 64)
- m_maincpu->set_input_line(3, HOLD_LINE);
-
- if (scanline == 144)
- m_maincpu->set_input_line(2, HOLD_LINE);
-}
-
-/*
-static const u16 shogwarr_default_eeprom[64] = {
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x4B41, 0x4E45, 0x4B4F, 0x2F41, 0x544F, 0x5020, 0x3139, 0x3932,
- 0x4655, 0x4A49, 0xFFFF, 0x4D41, 0x2042, 0x5553, 0x5445, 0x5220,
- 0x2053, 0x484F, 0xFFFF, 0x4E20, 0x5741, 0x5252, 0x494F, 0x5253,
- 0xFFFF, 0x7079, 0x7269, 0xFFFF, 0x7420, 0x4B41, 0x4E45, 0x4B4F,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0xFFFF
-};
-*/
-// the above eeprom looks corrupt, some of the text is wrong, the game never writes this text tho.. maybe it should be as below
-// leaving both here incase they relate to which tables get 'locked out' by the MCU somehow
-static const u16 shogwarr_default_eeprom[64] = {
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x4B41, 0x4E45, 0x4B4F, 0x2F41, 0x544F, 0x5020, 0x3139, 0x3932,
- 0x4655, 0x4A49, 0x5941, 0x4D41, 0x2042, 0x5553, 0x5445, 0x5220,
- 0x2053, 0x484F, 0x4755, 0x4E20, 0x5741, 0x5252, 0x494F, 0x5253,
- 0x636F, 0x7079, 0x7269, 0x6768, 0x7420, 0x4B41, 0x4E45, 0x4B4F,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0xFFFF
-};
-
-void kaneko16_shogwarr_state::shogwarr(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, XTAL(12'000'000));
- m_maincpu->set_addrmap(AS_PROGRAM, &kaneko16_shogwarr_state::shogwarr_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(kaneko16_shogwarr_state::shogwarr_interrupt), "screen", 0, 1);
-
- MCFG_MACHINE_RESET_OVERRIDE(kaneko16_shogwarr_state,mgcrystl)
-
- EEPROM_93C46_16BIT(config, m_eeprom).default_data(shogwarr_default_eeprom, 128);
-
- WATCHDOG_TIMER(config, m_watchdog);
-
- /* video hardware */
- BUFFERED_SPRITERAM16(config, m_spriteram);
-
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(59.1854);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(320, 240);
- m_screen->set_visarea(40, 296-1, 16, 240-1);
- m_screen->set_screen_update(FUNC(kaneko16_shogwarr_state::screen_update));
- m_screen->set_palette(m_palette);
-
- PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048);
-
- KANEKO_TMAP(config, m_view2[0]);
- m_view2[0]->set_colbase(0x40 * 16);
- m_view2[0]->set_offset(0x33, -0x8, 320, 240);
- m_view2[0]->set_palette(m_palette);
-
- KANEKO_VU002_SPRITE(config, m_kaneko_spr);
- m_kaneko_spr->set_priorities(1 /* below all */ ,3 /* above tile[0], below the others */ ,5 /* above all */ ,7 /* above all */);
- m_kaneko_spr->set_offsets(0xa00, -0x40);
- m_kaneko_spr->set_fliptype(1);
- m_kaneko_spr->set_palette(m_palette);
- m_kaneko_spr->set_color_base(0);
-
- KANEKO_HIT(config, m_kaneko_hit);
- m_kaneko_hit->set_type(1);
-
- KANEKO_CALC3(config, m_calc3_prot, m_maincpu, m_eeprom, "calc3_rom");
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- OKIM6295(config, m_oki[0], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW);
- m_oki[0]->set_addrmap(0, &kaneko16_shogwarr_state::gtmr_oki1_map);
- m_oki[0]->add_route(ALL_OUTPUTS, "mono", 1.0);
-
- OKIM6295(config, m_oki[1], XTAL(16'000'000)/8, okim6295_device::PIN7_LOW);
- m_oki[1]->set_addrmap(0, &kaneko16_shogwarr_state::gtmr_oki2_map);
- m_oki[1]->add_route(ALL_OUTPUTS, "mono", 1.0);
-}
-
-
-static const u16 brapboys_default_eeprom[64] = {
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0005, 0x0006, 0x2030, 0x0003, 0x6818, 0x0101, 0x0101,
- 0x0101, 0x0001, 0x0004, 0x0008, 0x4B41, 0x4E45, 0x4B4F, 0x2020,
- 0x4265, 0x2052, 0x6170, 0x2042, 0x6F79, 0x7300, 0x3030, 0x302E,
- 0x3038, 0x10FF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0035, 0xFFFF, 0xFFFF, 0xFFFF
-};
-
-// sample banking is different on brap boys for the music, why? GALs / PALs ?
-void kaneko16_shogwarr_state::brapboys_oki2_map(address_map &map)
-{
- map(0x00000, 0x1ffff).rom();
- map(0x20000, 0x3ffff).bankr("okibank2");
-}
-
-void kaneko16_shogwarr_state::brapboys(machine_config &config)
-{
- shogwarr(config);
- m_oki[1]->set_addrmap(0, &kaneko16_shogwarr_state::brapboys_oki2_map);
- m_kaneko_hit->set_type(2);
- m_eeprom->default_data(brapboys_default_eeprom, 128);
-}
-
-/***************************************************************************
-
-
- ROMs Loading
-
-
-***************************************************************************/
-
-void kaneko16_state::common_oki_bank_install(int bankno, size_t fixedsize, size_t bankedsize)
-{
- assert((m_okibank[bankno].found()) && (m_okiregion[bankno].found()));
- u8 *sample = m_okiregion[bankno]->base();
- size_t length = m_okiregion[bankno]->bytes();
-
- if (fixedsize > 0)
- {
- int max_bank = (length - fixedsize) / bankedsize;
- m_okibank[bankno]->configure_entries(0, max_bank, &sample[fixedsize], bankedsize);
- int i = max_bank;
- while (i < length / bankedsize)
- {
- m_okibank[bankno]->configure_entry(i++, &sample[length - bankedsize]);
- }
- }
- else
- {
- m_okibank[bankno]->configure_entries(0, length / bankedsize, &sample[0], bankedsize);
- }
-}
-
-void kaneko16_gtmr_state::common_oki_bank_install(int bankno, size_t fixedsize, size_t bankedsize)
-{
- assert((m_okibank[bankno].found()) && (m_okiregion[bankno].found()));
- u8 *sample = m_okiregion[bankno]->base();
- size_t length = m_okiregion[bankno]->bytes();
-
- /* bank 0 maps to itself, so we just leave it alone */
- if (fixedsize > 0)
- {
- int bank_offs = fixedsize / bankedsize;
- int i = 0;
- while (i < bank_offs)
- {
- m_okibank[bankno]->configure_entry(i++, &sample[fixedsize]);
- }
- m_okibank[bankno]->configure_entries(bank_offs, (length - fixedsize) / bankedsize, &sample[fixedsize], bankedsize);
- }
- else
- {
- m_okibank[bankno]->configure_entries(0, length / bankedsize, &sample[0], bankedsize);
- }
-}
-
-void kaneko16_state::init_bakubrkr()
-{
- common_oki_bank_install(0, 0x20000, 0x20000);
-}
-
-/*
-
-berlwallt original bug ?
-
-info from SebV:
-
-After about level 5 or so, if you insert a coin when the continue screen
-pops up, an error message "Copy Board" pops up.
-----------------------------------------
-Happened to me when player dies, at level 4.
-The message is not written in ROM, its sprite ram address is (always?)
-$30fd40
-Routine $337d2 writes it (and routine $5c8c erases it)
-The 'COPY BOARD!' message in stored in ROM directly as sprite number
-($1cfa8)
-
-$20288a : seems to contain the level number (initialized to 2 (?) when a
-game is started, and is incremented by 1 once a level is finished)
-
-01CF3E: move.b $20288a.l, D0
-01CF44: cmpi.b #$d, D0
-01CF48: bcs 1cf76 ; branch not taken -=> 'COPY BOARD!'
-01CF4A: movem.l D0/A0-A2, -(A7)
-01CF4E: movea.l A0, A1
-01CF50: lea ($4c,PC), A0; ($1cf9e)
-01CF54: nop
-01CF56: lea ($a,A0), A0 ; A0 = $1cfa8 = 'COPY BOARD!'
-01CF5A: lea $30e064.l, A1
-01CF60: lea (-$64,A1), A1
-01CF64: lea ($1d40,A1), A1
-01CF68: move.b #$80, D1
-01CF6C: jsr $33776.l ; display routine
-01CF72: movem.l (A7)+, D0/A0-A2
-01CF76:
-
-berlwall levels: 1-1,2,3(anim),...
-berlwallt levels: 1-1(anim)2-1/2/3/4/5(anim)3-1/2/3/4/5(anim)4-1(*)
-
-note: berlwall may be genuine while berlwallt may be bootleg! because
-stage 1-1 of berlwallt is stage 1-3 of berlwall, and berlwall has
-explanation ingame.
-(TAFA flyers exist for both berlwall and berlwallt player graphics)
---------------------------------------------------------------------------------
-*/
-// TODO: this is certainly a protection issue, the level number variable can go up to 0x2f, which is way bigger than 0xd.
-// Sprite DMA decryption? @see berlwall_spriteram_r
-void kaneko16_berlwall_state::patch_protection(u32 bra_offset,u16 bra_value,u16 checksum)
-{
- m_mainregion[bra_offset/2] = bra_value;
- m_mainregion[0x3fffe/2] = checksum;
-}
-
-void kaneko16_berlwall_state::init_berlwall_common()
-{
-}
-
-void kaneko16_berlwall_state::init_berlwall()
-{
- init_berlwall_common();
- patch_protection(0x1a3ea,0x602c,0xc40d);
-}
-
-void kaneko16_berlwall_state::init_berlwallt()
-{
- init_berlwall_common();
- patch_protection(0x1cf48,0x602c,0xaed4);
-}
-
-void kaneko16_berlwall_state::init_berlwallk()
-{
- init_berlwall_common();
- patch_protection(0x1ceb0,0x602c,0x8364);
-}
-
-void kaneko16_gtmr_state::init_gtmr()
-{
- common_oki_bank_install(0, 0x30000, 0x10000);
- common_oki_bank_install(1, 0x00000, 0x40000);
-}
-
-
-
-
-/***************************************************************************
-
- Bakuretsu Breaker
-
- USES TOSHIBA 68000 CPU W/TWO YM2149 & OKI M6295 FOR SOUND
-
- LOCATION TYPE
- ------------------
- U38 27C040
- U37 "
- U36 27C020
- U19 "
- U18 "
-
-Bakuretsu Breaker / Explosive Breaker
-Kaneko, 1992
-
-PCB Layout
-----------
-
-ZOOFC-02
-|------------------------------------------|
-| PAL TS020.U33 PAL |
-| 6264 6264 |
-| 6264 VIEW2-CHIP 6264 |
-| 4464 4464 VIEW2-CHIP TS010.U4 |
-| 4464 4464 |
-| 4464 4464 699206P |
-| 5116 (QFP44) |
-| |
-| TS002J.U36 MUX2-CHIP 699205P |
-|VU-002 TS001J.U37 5116 (QFP44) J|
-|(QFP160) TS000J.U38 A|
-| 62256 TS100J.U18 M|
-| 6116 6116 62256 TS101J.U19 M|
-| PAL PAL A|
-|16MHz PAL PAL TMP68HC000N-12 |
-|12MHz PAL IU-001 |
-| VU-001 (QFP44) |
-| (QFP48) YM2149 PAL |
-|93C46 YM2149 TS030.U5 M6295 |
-| DSW1(4) |
-|------------------------------------------|
-
-Notes:
- 68000 clock: 12.000MHz
- YM2149 clock: 2.000MHz
- M6295 clock: 2.000MHz, sample rate = clock /132
- VSync: 59Hz
- HSync: 15.68kHz
-
-
-***************************************************************************/
-
-ROM_START( explbrkr ) /* MASTER UP= 92/10/08 20:10:16 */
- ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "ts100e.u18", 0x000000, 0x040000, CRC(cc84a985) SHA1(1732a607cc1f894dd45cfc915dfe0407335f0073) )
- ROM_LOAD16_BYTE( "ts101e.u19", 0x000001, 0x040000, CRC(88f4afb7) SHA1(08b8efd6bd935bc1b8cf9753d58b38ccf9a70b4d) )
-
- /* these actually match the other set but have different names on the board..*/
- ROM_REGION( 0x240000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "ts001e.u37", 0x000000, 0x080000, CRC(70b66e7e) SHA1(307ba27b623f67ee4b4023179870c270bac8ea22) )
- ROM_RELOAD( 0x100000, 0x080000 )
- ROM_LOAD( "ts000e.u38", 0x080000, 0x080000, CRC(a7a94143) SHA1(d811a7597402c161850ddf98cdb00661ea506c7d) )
- ROM_RELOAD( 0x180000, 0x080000 )
- ROM_LOAD( "ts002e.u36", 0x200000, 0x040000, CRC(611271e6) SHA1(811c21822b074fbb4bb809fed29d48bbd51d57a0) )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "ts010.u4", 0x000000, 0x100000, CRC(df935324) SHA1(73b7aff8800a4e88a47ad426190b73dabdfbf142) )
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "ts020.u33", 0x000000, 0x100000, CRC(eb58c35d) SHA1(762c5219de6f729a0fc1df90fce09cdf711c2a1e) )
-
- /* $00000-$20000 stays the same in all sound banks, */
- /* the second half of the bank is what gets switched */
- ROM_REGION( 0x100000, "oki1", 0 ) /* OKI Sample ROM */
- ROM_LOAD( "ts030.u5", 0x000000, 0x100000, CRC(1d68e9d1) SHA1(aaa64a8e8d7cd7f91d2be346fafb9d1f29b40eda) )
-ROM_END
-
-ROM_START( explbrkrk ) /* MASTER UP= 92/10/08 21:35:56 - No "For use in Korea.." but has the KA+<cat image> logo which was only used in Korea; the Kaneko logo is scratched out on all custom ICs */
- ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "u18", 0x000000, 0x040000, CRC(08267644) SHA1(8a5c638b414d2b1a8bb68e0d8ba6747253734e82) ) /* TMS 27C020 with non descript label "MF" */
- ROM_LOAD16_BYTE( "u19", 0x000001, 0x040000, CRC(f0a243b1) SHA1(3448c85c9388b590ea28b9adcaf81b68c14c678c) ) /* TMS 27C020 with non descript label "MF" */
-
- /* these actually match the other set but have different names on the board..*/
- ROM_REGION( 0x240000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "ts001e.u37", 0x000000, 0x080000, CRC(70b66e7e) SHA1(307ba27b623f67ee4b4023179870c270bac8ea22) )
- ROM_RELOAD( 0x100000, 0x080000 )
- ROM_LOAD( "ts000e.u38", 0x080000, 0x080000, CRC(a7a94143) SHA1(d811a7597402c161850ddf98cdb00661ea506c7d) )
- ROM_RELOAD( 0x180000, 0x080000 )
- ROM_LOAD( "ts002e.u36", 0x200000, 0x040000, CRC(611271e6) SHA1(811c21822b074fbb4bb809fed29d48bbd51d57a0) )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "ts010.u4", 0x000000, 0x100000, CRC(df935324) SHA1(73b7aff8800a4e88a47ad426190b73dabdfbf142) )
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "ts020.u33", 0x000000, 0x100000, CRC(eb58c35d) SHA1(762c5219de6f729a0fc1df90fce09cdf711c2a1e) )
-
- /* $00000-$20000 stays the same in all sound banks, */
- /* the second half of the bank is what gets switched */
- ROM_REGION( 0x100000, "oki1", 0 ) /* OKI Sample ROM */
- ROM_LOAD( "ts030.u5", 0x000000, 0x100000, CRC(1d68e9d1) SHA1(aaa64a8e8d7cd7f91d2be346fafb9d1f29b40eda) )
-ROM_END
-
-ROM_START( bakubrkr ) /* MASTER UP= 92/10/08 20:56:03 */
- ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "ts100j.u18", 0x000000, 0x040000, CRC(8cc0a4fd) SHA1(e7e18b5ea236522a79ba9db8f573ac8f7ade504b) )
- ROM_LOAD16_BYTE( "ts101j.u19", 0x000001, 0x040000, CRC(aea92195) SHA1(e89f964e7e936fd7774f21956eb4ff5c9104837b) )
-
- ROM_REGION( 0x240000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "ts001j.u37", 0x000000, 0x080000, CRC(70b66e7e) SHA1(307ba27b623f67ee4b4023179870c270bac8ea22) )
- ROM_RELOAD( 0x100000, 0x080000 )
- ROM_LOAD( "ts000j.u38", 0x080000, 0x080000, CRC(a7a94143) SHA1(d811a7597402c161850ddf98cdb00661ea506c7d) )
- ROM_RELOAD( 0x180000, 0x080000 )
- ROM_LOAD( "ts002j.u36", 0x200000, 0x040000, CRC(611271e6) SHA1(811c21822b074fbb4bb809fed29d48bbd51d57a0) )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "ts010.u4", 0x000000, 0x100000, CRC(df935324) SHA1(73b7aff8800a4e88a47ad426190b73dabdfbf142) )
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "ts020.u33", 0x000000, 0x100000, CRC(eb58c35d) SHA1(762c5219de6f729a0fc1df90fce09cdf711c2a1e) )
-
- /* $00000-$20000 stays the same in all sound banks, */
- /* the second half of the bank is what gets switched */
- ROM_REGION( 0x100000, "oki1", 0 ) /* OKI Sample ROM */
- ROM_LOAD( "ts030.u5", 0x000000, 0x100000, CRC(1d68e9d1) SHA1(aaa64a8e8d7cd7f91d2be346fafb9d1f29b40eda) )
-ROM_END
-
-
-/***************************************************************************
-
- The Berlin Wall
-
-The Berlin Wall, Kaneko 1991, BW-002
-(berlwallt set)
-
-----
-
-BW-004 BW-008 VU-003
-BW-005 BW-009 VU-003
-BW-006 BW-00A VU-003
-BW-007 BW-00B 6116-90
- 6116-90
-BW-003 52256 52256
- BW101A BW100A
-5864
-5864 MUX2 68000
- VIEW2
-BW300
-BW-002
-BW-001 42101
- 42101
-41464 41464 VU-002
-41464 41464 YM2149 IU-004
-41464 41464 YM2149
- SWB BW-000 6295
- SWA
-
-
-GAL16V8A-25LP : BW-U47 & BW-U48 (backgrounds encryption), BW-U54
-
-***************************************************************************/
-
-ROM_START( berlwall )
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "bw100e_u23-01.u23", 0x000000, 0x020000, CRC(76b526ce) SHA1(95ba7cccbe88fd695c28b6a7c25a1afd130c1aa6) )
- ROM_LOAD16_BYTE( "bw101e_u39-01.u39", 0x000001, 0x020000, CRC(78fa7ef2) SHA1(8392de6e307dcd2bf5bcbeb37d578d33246acfcf) )
-
- ROM_REGION( 0x100000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "bw001.u84", 0x000000, 0x080000, CRC(bc927260) SHA1(44273a8b6a041504d54da4a7897adf23e3e9db10) )
- ROM_LOAD( "bw002.u83", 0x080000, 0x080000, CRC(223f5465) SHA1(6ed077514ab4370a215a4a60c3aecc8b72ed1c97) )
-
- ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "bw003.u77", 0x000000, 0x080000, CRC(fbb4b72d) SHA1(07a0590f18b3bba1843ef6a89a5c214e8e605cc3) )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */
- ROM_LOAD16_BYTE( "bw004.u73", 0x000000, 0x080000, CRC(5300c34d) SHA1(ccb12ea05f89ef68bcfe003faced2ffea24c4bf0) )
- ROM_LOAD16_BYTE( "bw008.u65", 0x000001, 0x080000, CRC(9aaf2f2f) SHA1(1352856159e19f07e8e30f9c44b21347103ce024) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw005.u74", 0x100000, 0x080000, CRC(16db6d43) SHA1(0158d0278d085487400ad4384b8cc9618503319e) )
- ROM_LOAD16_BYTE( "bw009.u66", 0x100001, 0x080000, CRC(1151a0b0) SHA1(584a0da7eb7f06450f95e76faa20d19f053cb74c) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw006.u75", 0x200000, 0x080000, CRC(73a35d1f) SHA1(af919cf858c5923aea45e0d8d91493e6284cb99e) )
- ROM_LOAD16_BYTE( "bw00a.u67", 0x200001, 0x080000, CRC(f447dfc2) SHA1(1254eafea92e8e416deedf21cb01990ffc4f896c) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw007.u76", 0x300000, 0x080000, CRC(97f85c87) SHA1(865e076e098c49c96639f62be793f2de24b4926b) )
- ROM_LOAD16_BYTE( "bw00b.u68", 0x300001, 0x080000, CRC(b0a48225) SHA1(de256bb6e2a824114274bff0c6c1234934c31c49) ) // FIXED BITS (xxxxxxx0)
-
- ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "bw000.u46", 0x000000, 0x040000, CRC(d8fe869d) SHA1(75e9044c4164ca6db9519fcff8eca6c8a2d8d5d1) )
-
- ROM_REGION( 0x600, "plds", 0 ) /* 3 x GAL16V8A-25LP */
- ROM_LOAD( "bw_u47.u47", 0x000, 0x0117, NO_DUMP)
- ROM_LOAD( "bw_u48.u48", 0x200, 0x0117, NO_DUMP)
- ROM_LOAD( "bw_u54.u54", 0x400, 0x0117, NO_DUMP)
-ROM_END
-
-ROM_START( berlwallt )
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "bw100a.u23", 0x000000, 0x020000, CRC(e6bcb4eb) SHA1(220b8fddc79230b4f6a8cf33e1035355c485e8d1) )
- ROM_LOAD16_BYTE( "bw101a.u39", 0x000001, 0x020000, CRC(38056fb2) SHA1(48338b9a5ebea872286541a3c45016673c4af76b) )
-
- ROM_REGION( 0x120000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "bw001.u84", 0x000000, 0x080000, CRC(bc927260) SHA1(44273a8b6a041504d54da4a7897adf23e3e9db10) )
- ROM_LOAD( "bw002.u83", 0x080000, 0x080000, CRC(223f5465) SHA1(6ed077514ab4370a215a4a60c3aecc8b72ed1c97) )
- ROM_LOAD( "bw300.u82", 0x100000, 0x020000, CRC(b258737a) SHA1(b5c8fe44a8dcfc19bccba896bdb73030c5843544) ) // Masked players, Japanese text
-
- ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "bw003.u77", 0x000000, 0x080000, CRC(fbb4b72d) SHA1(07a0590f18b3bba1843ef6a89a5c214e8e605cc3) )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */
- ROM_LOAD16_BYTE( "bw004.u73", 0x000000, 0x080000, CRC(5300c34d) SHA1(ccb12ea05f89ef68bcfe003faced2ffea24c4bf0) )
- ROM_LOAD16_BYTE( "bw008.u65", 0x000001, 0x080000, CRC(9aaf2f2f) SHA1(1352856159e19f07e8e30f9c44b21347103ce024) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw005.u74", 0x100000, 0x080000, CRC(16db6d43) SHA1(0158d0278d085487400ad4384b8cc9618503319e) )
- ROM_LOAD16_BYTE( "bw009.u66", 0x100001, 0x080000, CRC(1151a0b0) SHA1(584a0da7eb7f06450f95e76faa20d19f053cb74c) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw006.u75", 0x200000, 0x080000, CRC(73a35d1f) SHA1(af919cf858c5923aea45e0d8d91493e6284cb99e) )
- ROM_LOAD16_BYTE( "bw00a.u67", 0x200001, 0x080000, CRC(f447dfc2) SHA1(1254eafea92e8e416deedf21cb01990ffc4f896c) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw007.u76", 0x300000, 0x080000, CRC(97f85c87) SHA1(865e076e098c49c96639f62be793f2de24b4926b) )
- ROM_LOAD16_BYTE( "bw00b.u68", 0x300001, 0x080000, CRC(b0a48225) SHA1(de256bb6e2a824114274bff0c6c1234934c31c49) ) // FIXED BITS (xxxxxxx0)
-
- ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "bw000.u46", 0x000000, 0x040000, CRC(d8fe869d) SHA1(75e9044c4164ca6db9519fcff8eca6c8a2d8d5d1) )
-
- ROM_REGION( 0x600, "plds", 0 ) /* 3 x GAL16V8A-25LP */
- ROM_LOAD( "bw_u47.u47", 0x000, 0x0117, NO_DUMP)
- ROM_LOAD( "bw_u48.u48", 0x200, 0x0117, NO_DUMP)
- ROM_LOAD( "bw_u54.u54", 0x400, 0x0117, NO_DUMP)
-ROM_END
-
-/* This set definitely comes from an original board but suffers the same 'COPY BOARD' issue in MAME, will be checked on the PCB shortly */
-
-ROM_START( berlwallk )
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "bw100k.u23", 0x000000, 0x020000, CRC(0ce1d336) SHA1(9dbff4a72f03dd506726c3b305fd0a32e7da4ee1) )
- ROM_LOAD16_BYTE( "bw101k.u39", 0x000001, 0x020000, CRC(3355be65) SHA1(bc3506236ee2f37b3cba7c4d8fe1b4dad61b06f1) )
-
- ROM_REGION( 0x120000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "bw001.u84", 0x000000, 0x080000, CRC(bc927260) SHA1(44273a8b6a041504d54da4a7897adf23e3e9db10) )
- ROM_LOAD( "bw002.u83", 0x080000, 0x080000, CRC(223f5465) SHA1(6ed077514ab4370a215a4a60c3aecc8b72ed1c97) )
- ROM_LOAD( "bw300k.u82", 0x100000, 0x020000, CRC(b8de79d7) SHA1(c9a78aa213105f3657349995aca2866bc6d80093) )
-
- ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "bw003.u77", 0x000000, 0x080000, CRC(fbb4b72d) SHA1(07a0590f18b3bba1843ef6a89a5c214e8e605cc3) )
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */
- ROM_LOAD16_BYTE( "bw004.u73", 0x000000, 0x080000, CRC(5300c34d) SHA1(ccb12ea05f89ef68bcfe003faced2ffea24c4bf0) )
- ROM_LOAD16_BYTE( "bw008.u65", 0x000001, 0x080000, CRC(9aaf2f2f) SHA1(1352856159e19f07e8e30f9c44b21347103ce024) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw005.u74", 0x100000, 0x080000, CRC(16db6d43) SHA1(0158d0278d085487400ad4384b8cc9618503319e) )
- ROM_LOAD16_BYTE( "bw009.u66", 0x100001, 0x080000, CRC(1151a0b0) SHA1(584a0da7eb7f06450f95e76faa20d19f053cb74c) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw006.u75", 0x200000, 0x080000, CRC(73a35d1f) SHA1(af919cf858c5923aea45e0d8d91493e6284cb99e) )
- ROM_LOAD16_BYTE( "bw00a.u67", 0x200001, 0x080000, CRC(f447dfc2) SHA1(1254eafea92e8e416deedf21cb01990ffc4f896c) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bw007.u76", 0x300000, 0x080000, CRC(97f85c87) SHA1(865e076e098c49c96639f62be793f2de24b4926b) )
- ROM_LOAD16_BYTE( "bw00b.u68", 0x300001, 0x080000, CRC(b0a48225) SHA1(de256bb6e2a824114274bff0c6c1234934c31c49) ) // FIXED BITS (xxxxxxx0)
-
- ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "bw000k.u46", 0x000000, 0x040000, CRC(52e81a50) SHA1(0adf6b42dee244dba2a4fb237155b04699b0254f) )
-
- ROM_REGION( 0x600, "plds", 0 ) /* 3 x GAL16V8A-25LP */
- ROM_LOAD( "bw_u47.u47", 0x000, 0x0117, NO_DUMP)
- ROM_LOAD( "bw_u48.u48", 0x200, 0x0117, NO_DUMP)
- ROM_LOAD( "bw_u54.u54", 0x400, 0x0117, NO_DUMP)
-ROM_END
-
-ROM_START( packbang ) /* same PCB as Berlin Wall - BW-002 */
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "bbp0x3.u23", 0x000000, 0x020000, CRC(105e978a) SHA1(d2aa72a25b70726ebe4b16bfe16da149bb37cd85) ) /* hand written checksum on label - 527B */
- ROM_LOAD16_BYTE( "bbp1x3.u39", 0x000001, 0x020000, CRC(465d36f5) SHA1(d3bc9e5d444e086652d2bc562d9adfb8a1fd0d2d) ) /* hand written checksum on label - C5C8 */
-
- ROM_REGION( 0x120000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "bb.u84", 0x000000, 0x080000, CRC(97837aaa) SHA1(303780621afea01f9e4d1386229c7421307562ec) )
- ROM_LOAD( "pb_spr_ext_9_20_ver.u83", 0x080000, 0x040000, CRC(666a1217) SHA1(0d7b08d63b229d70b7e9e77a36516a695533c4cb) ) /* hand written label plus checksum BA63 */
-
- ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "bbbox1.u77", 0x000000, 0x080000, CRC(b2ffd081) SHA1(e4b8b60ed0c5f2e0709477cc840864e1c0a351ea) ) // 1ST AND 2ND HALF IDENTICAL
-
- ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */
- ROM_LOAD16_BYTE( "bb.u73", 0x000000, 0x080000, CRC(896d88cb) SHA1(7546e64149d8d8e3425d9112a7a63b2d2e59b8bb) )
- ROM_LOAD16_BYTE( "bb.u65", 0x000001, 0x080000, CRC(fe17c5b5) SHA1(daea65bd87d2137526250d521f36f122f733fd9d) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bb.u74", 0x100000, 0x080000, CRC(b01e77b9) SHA1(73f3adaf6468f4e9c54bff63268af1765cfc5f67) )
- ROM_LOAD16_BYTE( "bb.u66", 0x100001, 0x080000, CRC(caec5098) SHA1(9966cd643abe498f84a9e01bc32003f4654584de) ) // FIXED BITS (xxxxxxx0)
- ROM_LOAD16_BYTE( "bb.u75", 0x200000, 0x080000, CRC(5cb4669f) SHA1(ab061f5b34435dca46f710ea8118c919a3a9f87c) )
- ROM_LOAD16_BYTE( "bb.u67", 0x200001, 0x080000, CRC(ce5c9417) SHA1(30aca496d1f4218b44a32b3630e58889f0c54564) ) // FIXED BITS (xxxxxxx0)
-
- ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "bw000.u46", 0x000000, 0x040000, CRC(d8fe869d) SHA1(75e9044c4164ca6db9519fcff8eca6c8a2d8d5d1) )
-ROM_END
-
-
-/***************************************************************************
-
- Blaze On (Japan version)
-
-CPU: TMP68HC000-12/D780C-2(Z80)
-SOUND: YM2151
-OSC: 13.3330/16.000MHz
-CUSTOM: KANEKO VU-002 x2
- KANEKO 23160-509 VIEW2-CHIP
- KANEKO MUX2-CHIP
- KANEKO HELP1-CHIP
-
----------------------------------------------------
- filemanes devices kind
----------------------------------------------------
- BZ_PRG1.U80 27C020 68000 main prg.
- BZ_PRG2.U81 27C020 68000 main prg.
- 3.U45 27C010 Z80 sound prg.
- BZ_BG.U2 57C8200 BG CHR
- BZ_SP1.U20 27C8001 OBJ
- BZ_SP2.U21 27C8001 OBJ
- BZ_SP1.U68 27C8001 OBJ (same as BZ_SP1.U20 for 2nd sprite chip)
- BZ_SP2.U86 27C8001 OBJ (same as BZ_SP2.U21 for 2nd sprite chip)
-
-***************************************************************************/
-
-ROM_START( blazeon )
- ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) /* 68000 Code */
- ROM_LOAD16_BYTE( "bz-prg1.u80", 0x000000, 0x040000, CRC(3d79aa70) SHA1(419088bd4330c674ec395612e0ef4296638080be) )
- ROM_LOAD16_BYTE( "bz-prg2.u81", 0x000001, 0x040000, CRC(a16d3b1e) SHA1(45b205cad4401255725c649353ca86d4204efcfd) )
-
- ROM_REGION( 0x020000, "audiocpu", 0 ) /* Z80 Code */
- ROM_LOAD( "3.u45", 0x000000, 0x020000, CRC(52fe4c94) SHA1(896230e4627503292575bbd84edc3cf9cb18b27e) ) // 1xxxxxxxxxxxxxxxx = 0xFF
-
- ROM_REGION( 0x200000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "bz_sp1.u20", 0x000000, 0x100000, CRC(0d5809a1) SHA1(e72669f95b050d1967d10a865bab8f3634c9daad) )
- ROM_LOAD( "bz_sp1.u68", 0x000000, 0x100000, CRC(0d5809a1) SHA1(e72669f95b050d1967d10a865bab8f3634c9daad) )
- ROM_LOAD( "bz_sp2.u21", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) )
- ROM_LOAD( "bz_sp2.u86", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "bz_bg.u2", 0x000000, 0x100000, CRC(fc67f19f) SHA1(f5d9e037a736b0932efbfb48587de08bec93df5d) )
-ROM_END
-
-ROM_START( blazeonj )
- ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASEFF ) /* 68000 Code */
- ROM_LOAD16_BYTE( "bz_prg1.u80", 0x000000, 0x040000, CRC(8409e31d) SHA1(a9dfc299f4b457df190314401aef309adfaf9bae) )
- ROM_LOAD16_BYTE( "bz_prg2.u81", 0x000001, 0x040000, CRC(b8a0a08b) SHA1(5f275b98d3e49a834850b45179d26e8c2f9fd604) )
-
- ROM_REGION( 0x020000, "audiocpu", 0 ) /* Z80 Code */
- ROM_LOAD( "3.u45", 0x000000, 0x020000, CRC(52fe4c94) SHA1(896230e4627503292575bbd84edc3cf9cb18b27e) ) // 1xxxxxxxxxxxxxxxx = 0xFF
-
- ROM_REGION( 0x200000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "bz_sp1.u20", 0x000000, 0x100000, CRC(0d5809a1) SHA1(e72669f95b050d1967d10a865bab8f3634c9daad) )
- ROM_LOAD( "bz_sp1.u68", 0x000000, 0x100000, CRC(0d5809a1) SHA1(e72669f95b050d1967d10a865bab8f3634c9daad) )
- ROM_LOAD( "bz_sp2.u21", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) )
- ROM_LOAD( "bz_sp2.u86", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "bz_bg.u2", 0x000000, 0x100000, CRC(fc67f19f) SHA1(f5d9e037a736b0932efbfb48587de08bec93df5d) )
-ROM_END
-
-/***************************************************************************
-
- Wing Force (Japan, prototype)
-
-Proto board without the later Z09AF-00x's Toybox protection MCU.
-The missing chip "KD" at U97 is a 74 pqfp just like the Toybox and connected to U92
-where the MCU code would be as well as connected to the EEPROM.
-Half way between the Blaze On board and the later Toybox protected Z09AF boards.
-
-Z08AT-001 PCB:
-
- Toshiba TMP68HC000N-16
-
- 2 x VU-002
- VIEW2-CHIP
- MUX2-CHIP
- HELP1-CHIP
-
- YM2151
- Y3014B
-
- ATMEL AT93C46 @ U82 (EEPROM, looks like all its pins go to the unpopulated KD MCU)
- DSW8
-
- XTALs: 16.0000 MHz, 13.3330 MHz
-
-ATLAS-SUB PCB:
-
- NEC D780C-2 @ U1
- OKI M6295 @ U4
- TL082CP @ U7 (Wide Bandwidth Dual JFET Input Operational AMP)
-
-ROMS:
-
- Name Size Location Device Note
-
- E_2.24.U80 524288 U80 27C040 32 pin riser
- O_2.24.U81 524288 U81 27C040 32 pin riser
- SP0M.U1 524288 U1 27C040 32 pin riser
- SP1M.U1 524288 U1 27C040 32 pin riser
- BG0AM.U2 524288 U2 27C040 42 pin riser
- BG0BM.U2 524288 U2 27C040 42 pin riser
- BG1AM.U3 524288 U3 27C040 42 pin riser
- BG1BM.U3 524288 U3 27C040 42 pin riser
- SP2M.U20 524288 U20 27C040 32 pin riser
- SP3M.U20 524288 U20 27C040 32 pin riser
- SP2M.U68 524288 U68 27C040 32 pin riser
- SP3M.U68 524288 U68 27C040 32 pin riser
- SP0M.U69 524288 U69 27C040 32 pin riser
- SP1M.U69 524288 U69 27C040 32 pin riser
- S-DRV_2.22.U45 U45 27512 under ATLAS SUB
- PCM.U5 524288 U5 27C040 ATLAS SUB
- EEPROM.U7 U7 TL082 ATLAS SUB, not dumped
-
-Video from the PCB:
-
- http://tmblr.co/ZgJvzv1-0SVG1
-
-***************************************************************************/
-
-ROM_START( wingforc )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "e_2.24.u80", 0x000000, 0x80000, CRC(837e0726) SHA1(349013edc5ccdfd05ae022563e6a831ce98e4a1a) )
- ROM_LOAD16_BYTE( "o_2.24.u81", 0x000001, 0x80000, CRC(b6983437) SHA1(0a124e64ad37f9381f8a10a7b462a29563c2ccd9) )
-
- ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 Code */
- ROM_LOAD( "s-drv_2.22.u45", 0x00000, 0x10000, CRC(ccdc2758) SHA1(5c0448a70306bd7574f35056ad45ffcbd4a866a8) )
-
- ROM_REGION( 0x200000, "kan_spr", 0 ) /* Sprites */
- // two sprite chips, roms are doubled
- ROM_LOAD( "sp0m.u69", 0x000000, 0x80000, CRC(8be26a05) SHA1(5b54cd74235c0e32a234ddbe9cf26817700451f1) )
- ROM_LOAD( "sp0m.u1", 0x000000, 0x80000, CRC(8be26a05) SHA1(5b54cd74235c0e32a234ddbe9cf26817700451f1) )
-
- ROM_LOAD( "sp1m.u1", 0x080000, 0x80000, CRC(ad8c5b68) SHA1(438b58df301a06266284aad63e19d607d7e9f726) )
- ROM_LOAD( "sp1m.u69", 0x080000, 0x80000, CRC(ad8c5b68) SHA1(438b58df301a06266284aad63e19d607d7e9f726) )
-
- ROM_LOAD( "sp2m.u20", 0x100000, 0x80000, CRC(b5994bda) SHA1(66bd9664e31ac0c831a1c538d895386cabb03ac8) )
- ROM_LOAD( "sp2m.u68", 0x100000, 0x80000, CRC(b5994bda) SHA1(66bd9664e31ac0c831a1c538d895386cabb03ac8) )
-
- ROM_LOAD( "sp3m.u20", 0x180000, 0x80000, CRC(889ddf72) SHA1(1eaeb4580133d38185ff52fbdc445744c207a202) )
- ROM_LOAD( "sp3m.u68", 0x180000, 0x80000, CRC(889ddf72) SHA1(1eaeb4580133d38185ff52fbdc445744c207a202) )
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD16_BYTE( "bg0am.u2", 0x000000, 0x80000, CRC(f4276860) SHA1(8c0848d43ec07f88734993a996a62919979c75ea) )
- ROM_LOAD16_BYTE( "bg0bm.u2", 0x000001, 0x80000, CRC(9df92283) SHA1(53bcac1d63b7bb84b664507906ee768a83be28c9) )
- ROM_LOAD16_BYTE( "bg1am.u3", 0x100000, 0x80000, CRC(a44fdebb) SHA1(676ade63d22818c7a7adf39d42aad41fa93319d2) )
- ROM_LOAD16_BYTE( "bg1bm.u3", 0x100001, 0x80000, CRC(a9b9fc5d) SHA1(33db691007a8cf25aea6b87a0f009c50df2676f2) )
-
- /* $00000-$20000 stays the same in all sound banks, */
- /* the second half of the bank is what gets switched */
- ROM_REGION( 0x80000, "oki1", 0 ) /* OKI Sample ROM */
- ROM_LOAD( "pcm.u5", 0x00000, 0x80000, CRC(233569fd) SHA1(eb835008bcb961528c0ef4ca72e44ee08c517b81) )
-ROM_END
-
-
-/***************************************************************************
-
- Blood Warrior
-
-Kaneko 1994
-
-TOP BOARD: Z09AF-005
-
-CPU - Toshiba TMP68HC000N - 16
-SOUND - OKI M6295 x2
-QUARTZ OSCILLATORS AT 27.0000MHz, 16.0000MHz, 20.0000MHz and 33.3330MHz
-RAM - LC3664 x6, 424260 x2, LH52B256D x6, D42101C x2
-
-
-PCU11.u11 - 18CV8PC \
-PCU15.u15 - 18CV8PC | NEAR OKI
-Z091P016.u16 - 18CV8PC /
-Z091P013.u13 - 18CV8PC \
-PCU17.u17 - 18CV8PC |
-PCU14.u14 - 18CV8PC | NEAR 68000
-PCU94.u94 - 18CV8PC |
-PCU92.u92 - 18CV8PC |
-Z092P093.u93 - 18CV8PC /
-ALL ABOVE NOT DUMPED
-
-Custom Chips
-
-231609-509 View2-Chip x2
-KC-002 L0002 023 9321EK702
-9343T - 44 pin PQFP (NEAR JAMMMA CONNECTOR)
-
-BOTTOM BOARD: Z09AF-ROM4
-
-TBS0P01 452 9339PK001 - 74 pin PQFP (NEC uPD78324 series MCU)
-
-ofs1g006.u6 - GAL16V8B
-ofs1g007.u7 - GAL16V8B
-ofs1p059.u59 - 18CV8PC
-ofs1p511.u511 - 18CV8PC
-ALL ABOVE NOT DUMPED
-
-ROMS
-
-9346.u126 - 93C46
-ofdox3.U124 - 27C010
-ofp1f3.U513 - 27C4000
-ofpof3.U514 - 27C4000
-of101f0223.U101 - 27C800
-of20902011.u17 - 27C080
-of210000213.u19 - 27C080
-of2110215.u21 - 27C080
-of21200217.u23 - 27C080
-of21300219.u25 - 27C080
-of21400221.u27 - 27C080
-of1000222.u99 - 27C800
-of0010226.u55 - 27C800
-of3000225.u51 - 27C800
-of2080209.u28 - 27V160
-of2060207.u14 - 27V160
-of2070208.u15 - 27V160
-of2050206.u13 - 27V160
-of2040205.u12 - 27V160
-of2030204.u11 - 27V160
-of2020203.u10 - 27V160
-of2010202.u9 - 27V160
-of2000201.u8 - 27V160
-of209e0210.u16 - 27C080
-of210e0212.u18 - 27C080
-of211e0214.u20 - 27C080
-of212e0216.u22 - 27C080
-of213e0218.u24 - 27C080
-of214e0220.u26 - 27C080
-
-***************************************************************************/
-
-ROM_START( bloodwar )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "ofp0f3.514", 0x000000, 0x080000, CRC(0c93da15) SHA1(65b6b1b4acfc32c551ae4fbe6a13f7f2b8554dbf) )
- ROM_LOAD16_BYTE( "ofp1f3.513", 0x000001, 0x080000, CRC(894ecbe5) SHA1(bf403d19e6315266114ac742a08cac903e7b54b5) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- ROM_LOAD16_WORD_SWAP( "ofd0x3.124", 0x000000, 0x020000, CRC(399f2005) SHA1(ff0370724770c35963953fd9596d9f808ba87d8f) )
-
-
- ROM_REGION( 0x1e00000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD ( "of-200-0201.8", 0x0000000, 0x200000, CRC(bba63025) SHA1(daec5285469ee953f6f838fe3cb3903524e9ac39) )
- ROM_LOAD ( "of-201-0202.9", 0x0200000, 0x200000, CRC(4ffd9ddc) SHA1(62bc8c0ed2efab407fc2956c514c3e732bcc47ee) )
- ROM_LOAD ( "of-202-0203.10", 0x0400000, 0x200000, CRC(fbcc5363) SHA1(9eff48c29d5c887d39e4db442c6ee51ec879521e) )
- ROM_LOAD ( "of-203-0204.11", 0x0600000, 0x200000, CRC(8e818ce9) SHA1(bc37d35247edfc563400cd67459d455b1fea6eab) )
- ROM_LOAD ( "of-204-0205.12", 0x0800000, 0x200000, CRC(70c4a76b) SHA1(01b17bda156f2e6f480bdc976927c8bba47c1186) )
- ROM_LOAD ( "of-205-0206.13", 0x0a00000, 0x200000, CRC(80c667bb) SHA1(7edf33c713c8448ff73fa84b9f7684dd4d46eed1) )
- ROM_LOAD ( "of-206-0207.14", 0x0c00000, 0x200000, CRC(c2028c97) SHA1(ac3b73ff34f84015432ceb22cf9c57ab0ff07a70) )
- ROM_LOAD ( "of-207-0208.15", 0x0e00000, 0x200000, CRC(b1f30c61) SHA1(2ae010c10b7a2ae09df904f7ea81425e80389622) )
- ROM_LOAD ( "of-208-0209.28", 0x1000000, 0x200000, CRC(a8f29545) SHA1(5d018147aa71207f679909343104deaa0f08fd9d) )
- ROM_LOAD16_BYTE( "of-209e-0210.16", 0x1200000, 0x100000, CRC(93018468) SHA1(d156f408a78fbd736048ce33e44c0b1e10403b0e) )
- ROM_LOAD16_BYTE( "of-2090-2011.17", 0x1200001, 0x100000, CRC(3fb226a1) SHA1(efba54f82fb9914559faad5fba92aa108ec039d5) )
- ROM_LOAD16_BYTE( "of-210e-0212.18", 0x1400000, 0x100000, CRC(80f3fa1b) SHA1(ca0e84cb47228ef5ac3b94238a33c3ebc3c2f528) )
- ROM_LOAD16_BYTE( "of-2100-0213.19", 0x1400001, 0x100000, CRC(8ca3a3d6) SHA1(b6f3876f987ce6828bfa26ca492ff6ca2d282d80) )
- ROM_LOAD16_BYTE( "of-211e-0214.20", 0x1600000, 0x100000, CRC(8d3d96f7) SHA1(0a7c459f02938f86d53979498647c73837eb9e51) )
- ROM_LOAD16_BYTE( "of-2110-0215.21", 0x1600001, 0x100000, CRC(78268230) SHA1(63fbf88551f6fde833222ae6a4382891e1bf5b39) )
- ROM_LOAD16_BYTE( "of-212e-0216.22", 0x1800000, 0x100000, CRC(5a013d99) SHA1(c4af944c8f0b33a93b4bb083e32e2901c5607a39) )
- ROM_LOAD16_BYTE( "of-2120-0217.23", 0x1800001, 0x100000, CRC(84ed25bd) SHA1(ddff811d326586eb7353230e74db37867af075eb) )
- ROM_LOAD16_BYTE( "of-213e-0218.24", 0x1a00000, 0x100000, CRC(861bc5b1) SHA1(a85936781a56b5406bee2e4f36fadcb5b9f43b05) )
- ROM_LOAD16_BYTE( "of-2130-0219.25", 0x1a00001, 0x100000, CRC(a79b8119) SHA1(62e3fb28fd3a538a8191a51242dbed7e88c62a54) )
- ROM_LOAD16_BYTE( "of-214e-0220.26", 0x1c00000, 0x100000, CRC(43c622de) SHA1(73efe57233f056127e2d34590c624f39d1c0ab79) )
- ROM_LOAD16_BYTE( "of-2140-0221.27", 0x1c00001, 0x100000, CRC(d10bf03c) SHA1(a81d6b7df7382fc8d50614c1332611e0c202b805) )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "of-300-0225.51", 0x000000, 0x100000, CRC(fbc3c08a) SHA1(0ba52b381e7a10fb1513244b394438b440950af3) )
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "of-301-0226.55", 0x000000, 0x100000, CRC(fcf215de) SHA1(83015f10e62b917efd6e3edfbd45fb8f9b35db2b) )
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "of-101-f-0223.101", 0x000000, 0x100000, CRC(295f3c93) SHA1(558698f1d04b23dd2a73e2eae5ecce598defb228) ) /* 0224 ? */
-
- ROM_REGION( 0x100000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "of-100-0222.99", 0x000000, 0x100000, CRC(42b12269) SHA1(f9d9c42057e176710f09e8db0bfcbf603c15ca11) )
-ROM_END
-
-ROM_START( oedfight )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "ofp0j3.514", 0x000000, 0x080000, CRC(0c93da15) SHA1(65b6b1b4acfc32c551ae4fbe6a13f7f2b8554dbf) )
- ROM_LOAD16_BYTE( "ofp1j3.513", 0x000001, 0x080000, CRC(cc59de49) SHA1(48ff4ed40ad22768054a59bdf5ce0e00891d8f0e) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- ROM_LOAD16_WORD_SWAP( "ofd0x3.124", 0x000000, 0x020000, CRC(399f2005) SHA1(ff0370724770c35963953fd9596d9f808ba87d8f) )
-
- ROM_REGION( 0x1e00000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD ( "of-200-0201.8", 0x0000000, 0x200000, CRC(bba63025) SHA1(daec5285469ee953f6f838fe3cb3903524e9ac39) )
- ROM_LOAD ( "of-201-0202.9", 0x0200000, 0x200000, CRC(4ffd9ddc) SHA1(62bc8c0ed2efab407fc2956c514c3e732bcc47ee) )
- ROM_LOAD ( "of-202-0203.10", 0x0400000, 0x200000, CRC(fbcc5363) SHA1(9eff48c29d5c887d39e4db442c6ee51ec879521e) )
- ROM_LOAD ( "of-203-0204.11", 0x0600000, 0x200000, CRC(8e818ce9) SHA1(bc37d35247edfc563400cd67459d455b1fea6eab) )
- ROM_LOAD ( "of-204-0205.12", 0x0800000, 0x200000, CRC(70c4a76b) SHA1(01b17bda156f2e6f480bdc976927c8bba47c1186) )
- ROM_LOAD ( "of-205-0206.13", 0x0a00000, 0x200000, CRC(80c667bb) SHA1(7edf33c713c8448ff73fa84b9f7684dd4d46eed1) )
- ROM_LOAD ( "of-206-0207.14", 0x0c00000, 0x200000, CRC(c2028c97) SHA1(ac3b73ff34f84015432ceb22cf9c57ab0ff07a70) )
- ROM_LOAD ( "of-207-0208.15", 0x0e00000, 0x200000, CRC(b1f30c61) SHA1(2ae010c10b7a2ae09df904f7ea81425e80389622) )
- ROM_LOAD ( "of-208-0209.28", 0x1000000, 0x200000, CRC(a8f29545) SHA1(5d018147aa71207f679909343104deaa0f08fd9d) )
- ROM_LOAD16_BYTE( "of-209e-0210.16", 0x1200000, 0x100000, CRC(93018468) SHA1(d156f408a78fbd736048ce33e44c0b1e10403b0e) )
- ROM_LOAD16_BYTE( "of-2090-2011.17", 0x1200001, 0x100000, CRC(3fb226a1) SHA1(efba54f82fb9914559faad5fba92aa108ec039d5) )
- ROM_LOAD16_BYTE( "of-210e-0212.18", 0x1400000, 0x100000, CRC(80f3fa1b) SHA1(ca0e84cb47228ef5ac3b94238a33c3ebc3c2f528) )
- ROM_LOAD16_BYTE( "of-2100-0213.19", 0x1400001, 0x100000, CRC(8ca3a3d6) SHA1(b6f3876f987ce6828bfa26ca492ff6ca2d282d80) )
- ROM_LOAD16_BYTE( "of-211e-0214.20", 0x1600000, 0x100000, CRC(8d3d96f7) SHA1(0a7c459f02938f86d53979498647c73837eb9e51) )
- ROM_LOAD16_BYTE( "of-2110-0215.21", 0x1600001, 0x100000, CRC(78268230) SHA1(63fbf88551f6fde833222ae6a4382891e1bf5b39) )
- ROM_LOAD16_BYTE( "of-212e-0216.22", 0x1800000, 0x100000, CRC(5a013d99) SHA1(c4af944c8f0b33a93b4bb083e32e2901c5607a39) )
- ROM_LOAD16_BYTE( "of-2120-0217.23", 0x1800001, 0x100000, CRC(84ed25bd) SHA1(ddff811d326586eb7353230e74db37867af075eb) )
- ROM_LOAD16_BYTE( "of-213e-0218.24", 0x1a00000, 0x100000, CRC(861bc5b1) SHA1(a85936781a56b5406bee2e4f36fadcb5b9f43b05) )
- ROM_LOAD16_BYTE( "of-2130-0219.25", 0x1a00001, 0x100000, CRC(a79b8119) SHA1(62e3fb28fd3a538a8191a51242dbed7e88c62a54) )
- ROM_LOAD16_BYTE( "of-214e-0220.26", 0x1c00000, 0x100000, CRC(43c622de) SHA1(73efe57233f056127e2d34590c624f39d1c0ab79) )
- ROM_LOAD16_BYTE( "of-2140-0221.27", 0x1c00001, 0x100000, CRC(d10bf03c) SHA1(a81d6b7df7382fc8d50614c1332611e0c202b805) )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "of-300-0225.51", 0x000000, 0x100000, CRC(fbc3c08a) SHA1(0ba52b381e7a10fb1513244b394438b440950af3) )
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "of-301-0226.55", 0x000000, 0x100000, CRC(fcf215de) SHA1(83015f10e62b917efd6e3edfbd45fb8f9b35db2b) )
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "of-101-j-0224.101", 0x000000, 0x100000, CRC(83a1f826) SHA1(3b5f576735d5954770cd572b03e71bf121ae88d2) )
-
- ROM_REGION( 0x100000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "of-100-0222.99", 0x000000, 0x100000, CRC(42b12269) SHA1(f9d9c42057e176710f09e8db0bfcbf603c15ca11) )
-ROM_END
-
-
-/***************************************************************************
-
- Great 1000 Miles Rally
-
-Kaneko 1994
-
-TOP BOARD: Z09AF-005
-
-CPU - Toshiba TMP68HC000N - 16
-SOUND - OKI M6295 x2
-QUARTZ OSCILLATORS AT 27.0000MHz, 16.0000MHz, 20.0000MHz and 33.3330MHz
-RAM - LC3664 x6, 424260 x2, LH52B256D x6, D42101C x2
-
-Custom Chips
-
-231609-509 View2-Chip x2
-KC-002 L0002 023 9321EK702
-9343T - 44 pin PQFP (NEAR JAMMMA CONNECTOR)
-
-BOTTOM BOARD: Z09AF-ROM5
-
-TBS0P01 452 9339PK001 - 74 pin PQFP (NEC uPD78324 series MCU)
-
-GMMU2+1 512K * 2 68k
-GMMU23 1M OKI6295: 00000-2ffff + chunks of 0x10000 with headers
-GMMU24 1M OKI6295: chunks of 0x40000 with headers - FIRST AND SECOND HALF IDENTICAL
-
-GMMU27 2M sprites
-GMMU28 2M sprites
-GMMU29 2M sprites
-GMMU30 512k sprites
-
-GMMU64 1M sprites - FIRST AND SECOND HALF IDENTICAL
-GMMU65 1M sprites - FIRST AND SECOND HALF IDENTICAL
-
-GMMU52 2M tiles
-
-
----------------------------------------------------------------------------
- Game code
----------------------------------------------------------------------------
-
-100000.b <- (!b00000.b) & 7f [1p]
- 01.b previous value of the above
- 02.b bits gone high
-
-100008.b <- (!b00002.b) & 7f [2p]
-
-100010.b <- !b00004.b [coins]
- 11.b previous value of the above
- 12.b bits gone high
-
-100013.b <- b00006.b (both never accessed again?)
-
-100015.b <- wheel value
-
-600000.w <- 100a20.w + 100a30.w 600002.w <- 100a22.w + 100a32.w
-600004.w <- 100a24.w + 100a34.w 600006.w <- 100a26.w + 100a36.w
-
-680000.w <- 100a28.w + 100a38.w 680002.w <- 100a2a.w + 100a3a.w
-680004.w <- 100a2c.w + 100a3c.w 680006.w <- 100a2e.w + 100a3e.w
-
-101265.b <- DSW (from 206000)
-101266 <- Settings from NVRAM (0x80 bytes from 208000)
-
-1034f8.b credits
-103502.b coins x ..
-103503.b .. credits
-
-1035ec.l *** Time (BCD: seconds * 10000) ***
-103e64.w *** Speed << 4 ***
-
-10421a.b bank for the oki mapped at 800000
-104216.b last value of the above
-
-10421c.b bank for the oki mapped at 880000
-104218.b last value of the above
-
-ROUTINES:
-
-dd6 print string: a2->scr ; a1->string ; d1.l = xpos.w<<6|ypos.w<<6
-
-Trap #2 = 43a0 ; d0.w = routine index ; (where not specified: 43c0):
-1: 43C4 2: 43F8 3: 448E 4: 44EE
-5: 44D2 6: 4508 7: 453A 10: 0AF6
-18: 4580 19: 4604
-20> 2128 writes 700000-70001f
-21: 21F6
-24> 2346 clears 400000-401407 (641*8 = $281*8)
-30> 282A writes 600008/9/b/e-f, 680008/9/b/e-f
-31: 295A
-32> 2B36 100a30-f <- 100a10-f
-34> 2B4C clears 500000-503fff, 580000-583fff
-35> 2B9E d1.w = selects between: 500000;501000;580000;581000.
- Fill 0x1000 bytes from there with d2.l
-
-70: 2BCE> 11d8a
-71: 2BD6
-74: 2BDE 90: 3D44
-91> 3D4C wait for bit 0 of d00000 to be 0
-92> 3D5C 200010.w<-D1 200012.w<-D2 200014.w<-D3
-f1: 10F6
-
-***************************************************************************/
-
-/* This version displays:
-
- tb05mm-eu "1000 miglia"
- master up= 94/07/18 15:12:35 */
-
-ROM_START( gtmr )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "u2.bin", 0x000000, 0x080000, CRC(031799f7) SHA1(a59a9635002d139247828e3b74f6cf2fbdd5e569) )
- ROM_LOAD16_BYTE( "u1.bin", 0x000001, 0x080000, CRC(6238790a) SHA1(a137fd581138804534f3193068f117611a982004) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- ROM_LOAD16_WORD_SWAP( "mmd0x2.u124.bin", 0x000000, 0x020000, CRC(3d7cb329) SHA1(053106acde642a414fde0b01105fe6762b6a10f6) ) // from gtmra
-
- ROM_REGION( 0x840000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "mm-200-402-s0.bin", 0x000000, 0x200000, CRC(c0ab3efc) SHA1(e6cd15480977b036234d91e6f3a6e21b7f0a3c3e) )
- ROM_LOAD( "mm-201-403-s1.bin", 0x200000, 0x200000, CRC(cf6b23dc) SHA1(ccfd0b17507e091e55c169361cd6a6b19641b717) )
- ROM_LOAD( "mm-202-404-s2.bin", 0x400000, 0x200000, CRC(8f27f5d3) SHA1(219a86446ce2556682009d8aff837480f040a01e) )
- ROM_LOAD( "mm-203-405-s3.bin", 0x600000, 0x080000, CRC(e9747c8c) SHA1(2507102ec34755c6f110eadb3444e6d3a3474051) )
- ROM_LOAD16_BYTE( "mms1x2.u30.bin", 0x800001, 0x020000, CRC(b42b426f) SHA1(6aee5759b5f0786c5ee074d9df3d2716919ea621) )
- ROM_LOAD16_BYTE( "mms0x2.u29.bin", 0x800000, 0x020000, CRC(bd22b7d2) SHA1(ef82d00d72439590c71aed33ecfabc6ee71a6ff9) )
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) )
-
- ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000
-
- ROM_REGION( 0x100000, "oki2", ROMREGION_ERASE00 ) /* Samples */
- /* Not present on this board */
-ROM_END
-
-ROM_START( gtmra )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "mmp0x2.u514.bin", 0x000000, 0x080000, CRC(ba4a77c8) SHA1(efb6ae0e7aa71ab0c5f486f799bf31edcec24e2b) )
- ROM_LOAD16_BYTE( "mmp1x2.u513.bin", 0x000001, 0x080000, CRC(a2b9034e) SHA1(466bcb1bf7124eb15d23b25c4e1307b9706474ec) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- ROM_LOAD16_WORD_SWAP( "mmd0x2.u124.bin", 0x000000, 0x020000, CRC(3d7cb329) SHA1(053106acde642a414fde0b01105fe6762b6a10f6) )
-
- ROM_REGION( 0x840000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "mm-200-402-s0.bin", 0x000000, 0x200000, CRC(c0ab3efc) SHA1(e6cd15480977b036234d91e6f3a6e21b7f0a3c3e) )
- ROM_LOAD( "mm-201-403-s1.bin", 0x200000, 0x200000, CRC(cf6b23dc) SHA1(ccfd0b17507e091e55c169361cd6a6b19641b717) )
- ROM_LOAD( "mm-202-404-s2.bin", 0x400000, 0x200000, CRC(8f27f5d3) SHA1(219a86446ce2556682009d8aff837480f040a01e) )
- ROM_LOAD( "mm-203-405-s3.bin", 0x600000, 0x080000, CRC(e9747c8c) SHA1(2507102ec34755c6f110eadb3444e6d3a3474051) )
- ROM_LOAD16_BYTE( "mms1x2.u30.bin", 0x800001, 0x020000, CRC(b42b426f) SHA1(6aee5759b5f0786c5ee074d9df3d2716919ea621) )
- ROM_LOAD16_BYTE( "mms0x2.u29.bin", 0x800000, 0x020000, CRC(bd22b7d2) SHA1(ef82d00d72439590c71aed33ecfabc6ee71a6ff9) )
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) )
-
- ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000
-
- ROM_REGION( 0x100000, "oki2", ROMREGION_ERASE00 ) /* Samples */
- /* Not present on this board */
-ROM_END
-
-ROM_START( gtmrb )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "mmp0x1.u514", 0x000000, 0x080000, CRC(6c163f12) SHA1(7f33d1475dcb754c83f68b5fb686fb236ba81256) )
- ROM_LOAD16_BYTE( "mmp1x1.u513", 0x000001, 0x080000, CRC(424dc7e1) SHA1(a9cb8d1fd0549c8c77462552c649c180c30eef89) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- ROM_LOAD16_WORD_SWAP( "mmd0x1.u124", 0x000000, 0x020000, CRC(3d7cb329) SHA1(053106acde642a414fde0b01105fe6762b6a10f6) ) // == mmd0x2
-
- ROM_REGION( 0x840000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "mm-200-402-s0.bin", 0x000000, 0x200000, CRC(c0ab3efc) SHA1(e6cd15480977b036234d91e6f3a6e21b7f0a3c3e) )
- ROM_LOAD( "mm-201-403-s1.bin", 0x200000, 0x200000, CRC(cf6b23dc) SHA1(ccfd0b17507e091e55c169361cd6a6b19641b717) )
- ROM_LOAD( "mm-202-404-s2.bin", 0x400000, 0x200000, CRC(8f27f5d3) SHA1(219a86446ce2556682009d8aff837480f040a01e) )
- ROM_LOAD( "mm-203-405-s3.bin", 0x600000, 0x080000, CRC(e9747c8c) SHA1(2507102ec34755c6f110eadb3444e6d3a3474051) )
- ROM_LOAD16_BYTE( "mms1x1.u30", 0x800001, 0x020000, CRC(9463825c) SHA1(696bbfc816b564b3cff1487e1b848d375951f923) )
- ROM_LOAD16_BYTE( "mms0x1.u29", 0x800000, 0x020000, CRC(bd22b7d2) SHA1(ef82d00d72439590c71aed33ecfabc6ee71a6ff9) ) // == mms0x2
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) )
-
- ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000
-
- ROM_REGION( 0x100000, "oki2", ROMREGION_ERASE00 ) /* Samples */
- /* Not present on this board */
-ROM_END
-
-
-ROM_START( gtmro )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "u514.bin", 0x000000, 0x080000, CRC(2e857685) SHA1(43b6d88df51a3b4fb0cb910f63a5ec26b06e216a) )
- ROM_LOAD16_BYTE( "u513.bin", 0x000001, 0x080000, CRC(d5003870) SHA1(6a4353fa8f94a119c23f232861d790f50be26ea8) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- ROM_LOAD16_WORD_SWAP( "mmd0x0.u124", 0x000000, 0x020000, CRC(e1f6159e) SHA1(e4af85036756482d6fa27494842699e2647809c7) )
-
- ROM_REGION( 0x800000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD16_BYTE( "mm200-e.bin", 0x000000, 0x100000, CRC(eb104408) SHA1(a7805597161dc5acd2804d607dd0acac0c40111d) )
- ROM_LOAD16_BYTE( "mm200-o.bin", 0x000001, 0x100000, CRC(b6d04e7c) SHA1(1fa9d6b967724ed0c9e6ae3eda7089a081120d54) )
- ROM_LOAD16_BYTE( "mm201-e.bin", 0x200000, 0x100000, CRC(b8c64e14) SHA1(8e2b19f0ba715dfdf0d423a41989e715145adbeb) )
- ROM_LOAD16_BYTE( "mm201-o.bin", 0x200001, 0x100000, CRC(3ecd6c0a) SHA1(cb48564e2bd3014eeaad9cfa589bdef3f828c282) )
- ROM_LOAD16_BYTE( "mm202-e.bin", 0x400000, 0x100000, CRC(f0fd5688) SHA1(a3f5edfef253c81b27434519b0b9527f6c9a6e82) )
- ROM_LOAD16_BYTE( "mm202-o.bin", 0x400001, 0x100000, CRC(e0fe1b2b) SHA1(e66bd09eed6dfea524d8610a3c7e1792a1ff6286) )
- ROM_LOAD16_BYTE( "mm203-e.bin", 0x600000, 0x100000, CRC(b9001f28) SHA1(b112c17b960a535a543565ca2e22734c7c510f18) )
- ROM_LOAD16_BYTE( "mm203-o.bin", 0x600001, 0x100000, CRC(2ed6227d) SHA1(d9abbb739ef15437194c90cd01d5d82dbd4b7859) )
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD16_BYTE( "mm300-e.u53", 0x000000, 0x100000, CRC(f9ee708d) SHA1(4c11a9574ea815a87d7e4af04db4368b14bf7530) )
- ROM_LOAD16_BYTE( "mm300-o.u54", 0x000001, 0x100000, CRC(76299353) SHA1(01997905ba019d770ac1998633f4ebf6f91a3945) )
-
- ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000
-
- ROM_REGION( 0x100000, "oki2", ROMREGION_ERASE00 ) /* Samples */
- /* Not present on this board */
-ROM_END
-
-
-/* The evolution and USA versions seem to be more like GTMR 1.5, they have some fairly significant changes */
-
-/* This version displays:
-
- tb05mm-eu "1000 miglia"
- master up= 94/09/06 14:49:19 */
-
-ROM_START( gtmre )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "gmmu2.bin", 0x000000, 0x080000, CRC(36dc4aa9) SHA1(0aea4dc169d7aad2ea957a1de698d1fa12c71556) )
- ROM_LOAD16_BYTE( "gmmu1.bin", 0x000001, 0x080000, CRC(8653c144) SHA1(a253a01327a9443337a55a13c063ea5096444c4c) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- //ROM_LOAD16_WORD_SWAP( "mcu_code.u12", 0x000000, 0x020000, NO_DUMP )
- // this rom has the right version string, so is probably correct
- ROM_LOAD16_WORD_SWAP( "gtmrusa.u12", 0x000000, 0x020000, CRC(2e1a06ff) SHA1(475a7555653eefac84307492a385895b839cab0d) )
-
- ROM_REGION( 0x800000, "kan_spr", 0 ) /* Sprites */
- /* fill the 0x700000-7fffff range first, with the second of the identical halves */
- ROM_LOAD16_BYTE( "gmmu64.bin", 0x600000, 0x100000, CRC(57d77b33) SHA1(f7ae28ae889be4442b7b236705943eaad1f0c84e) ) // HALVES IDENTICAL
- ROM_LOAD16_BYTE( "gmmu65.bin", 0x600001, 0x100000, CRC(05b8bdca) SHA1(44471d66787d5b48ae8b13676f42f27af44e5c6a) ) // HALVES IDENTICAL
- ROM_LOAD( "gmmu27.bin", 0x000000, 0x200000, CRC(c0ab3efc) SHA1(e6cd15480977b036234d91e6f3a6e21b7f0a3c3e) )
- ROM_LOAD( "gmmu28.bin", 0x200000, 0x200000, CRC(cf6b23dc) SHA1(ccfd0b17507e091e55c169361cd6a6b19641b717) )
- ROM_LOAD( "gmmu29.bin", 0x400000, 0x200000, CRC(8f27f5d3) SHA1(219a86446ce2556682009d8aff837480f040a01e) )
- ROM_LOAD( "gmmu30.bin", 0x600000, 0x080000, CRC(e9747c8c) SHA1(2507102ec34755c6f110eadb3444e6d3a3474051) )
- /* codes 6800-6fff are explicitly skipped */
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "gmmu52.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) )
-
- ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "gmmu23.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000
-
- ROM_REGION( 0x100000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "gmmu24.bin", 0x000000, 0x100000, CRC(380cdc7c) SHA1(ba7f51201b0f2bf15e66557e45bb2af5cf797779) ) // 2 x $40000 - HALVES IDENTICAL
-ROM_END
-
-
-/* This version displays:
-
- tb05mm-eu "1000 miglia"
- master up= 94/09/06 20:30:39 */
-
-ROM_START( gtmrusa )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "mmp0x3.u2", 0x000000, 0x080000, CRC(5be615c4) SHA1(c14d11a5bf6e025a65b932039165302ff407c4e1) )
- ROM_LOAD16_BYTE( "mmp1x3.u1", 0x000001, 0x080000, CRC(ae853e4e) SHA1(31eaa73b0c5ddab1292f521ceec43b202653efe9) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code? */
- ROM_LOAD16_WORD_SWAP( "mmd0x3.u12", 0x000000, 0x020000, CRC(2e1a06ff) SHA1(475a7555653eefac84307492a385895b839cab0d) )
-
- ROM_REGION( 0x800000, "kan_spr", 0 ) /* Sprites */
- /* fill the 0x700000-7fffff range first, with the second of the identical halves */
- ROM_LOAD16_BYTE( "mm-204-564.bin", 0x600000, 0x100000, CRC(57d77b33) SHA1(f7ae28ae889be4442b7b236705943eaad1f0c84e) ) // HALVES IDENTICAL
- ROM_LOAD16_BYTE( "mm-204-406-565.bin", 0x600001, 0x100000, CRC(05b8bdca) SHA1(44471d66787d5b48ae8b13676f42f27af44e5c6a) ) // HALVES IDENTICAL
- ROM_LOAD( "mm-200-402-s0.bin", 0x000000, 0x200000, CRC(c0ab3efc) SHA1(e6cd15480977b036234d91e6f3a6e21b7f0a3c3e) )
- ROM_LOAD( "mm-201-403-s1.bin", 0x200000, 0x200000, CRC(cf6b23dc) SHA1(ccfd0b17507e091e55c169361cd6a6b19641b717) )
- ROM_LOAD( "mm-202-404-s2.bin", 0x400000, 0x200000, CRC(8f27f5d3) SHA1(219a86446ce2556682009d8aff837480f040a01e) )
- ROM_LOAD( "mm-203-405-s3.bin", 0x600000, 0x080000, CRC(e9747c8c) SHA1(2507102ec34755c6f110eadb3444e6d3a3474051) )
- /* codes 6800-6fff are explicitly skipped */
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) )
-
- ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "mm-100-401-a0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000
-
- ROM_REGION( 0x100000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "mm-101-402-e24.bin", 0x000000, 0x100000, CRC(380cdc7c) SHA1(ba7f51201b0f2bf15e66557e45bb2af5cf797779) ) // 2 x $40000 - HALVES IDENTICAL
-ROM_END
-
-
-/***************************************************************************
-
-Great 1000 Miles Rally 2 USA
-Kaneko, 1995
-
-PCB Layouts
------------
-
-KANEKO AX-SYSTEM BOARD
-M201F00584 KANEKO (sticker)
-|------------------------------------------------------|
-| PX4460 CNC1 |
-|LA4461 M6295 6264 6264 |
-| LPF6K M6295 PAL1 |----------| |
-| PAL2 |KANEKO | |
-| PAL3 |VIEW2-CHIP| CN3|
-| |(QFP144) | |
-| CNC2 | | |
-| |----------| |
-|J 6264 |
-|A 6264 |
-|M 62256 |
-|M 62256 |----------| |
-|A |KANEKO | |
-| |VIEW2-CHIP| |
-| MC1091 |(QFP144) | CN2|
-| | | |
-| CNA |----------| |
-| 6264 |
-| |----| 6264 |----------| |
-| | *1 | 62256 |KANEKO | |
-| |----| 62256 |KC-002 | |
-| |---------------| |(QFP208) | |
-| | 68000 | | | |
-| | | |----------| |
-| PAL4 |---------------|33.3333MHz 424260 |
-| PAL5 PAL6 20MHz 424260 |
-| PAL7 PAL8 |
-|62256 PAL9 |
-|62256 PAL10 |
-| PAL11 |
-| 27MHz 16MHz |
-| CNB CN1 |
-|------------------------------------------------------|
-Notes:
- 68000 - Toshiba TMP68HC000N-16 CPU running at 16.000MHz (SDIP64)
- M6295 - Oki M6295 ADPCM Sample Player IC, clock 2.000MHz (both), sample rate = 2000000/165 (QFP44)
- LA4461- Sanyo LA4461 12W Power Amplifier (SIP10, same as LA4460 but with reverse pinout)
- LPF6K - KANEKO Custom Ceramic AD/DA Module (SIP7)
- PX4460- KANEKO Custom Ceramic AD/DA Module (SIP5)
- MC1091- KANEKO Custom Ceramic Input Module (ZIP46)
- 6264 - Sony CXK5864CM-10LL 8k x8 SRAM (SOP28)
- 62256 - Sony CXK58257ASP-70L 32k x8 SRAM (DIP28)
- 424260- NEC 424260-80 256k x16 DRAM (SOJ40)
- PAL1 - AMI 18CV8PC-25 stamped 'AX0P048' (DIP20)
- PAL2 - AMI 18CV8PC-25 stamped 'AX0P049' (DIP20)
- PAL3 - AMI 18CV8PC-25 stamped 'AX0P050' (DIP20)
- PAL4 - AMI 18CV8PC-25 stamped 'AX0P021' (DIP20)
- PAL5 - AMI 18CV8PC-25 stamped 'AX0P022' (DIP20)
- PAL6 - AMI 18CV8PC-25 stamped 'AX0P070' (DIP20)
- PAL7 - AMI 18CV8PC-25 stamped 'AX0P071' (DIP20)
- PAL8 - AMI 18CV8PC-25 stamped 'AX0P089' (DIP20)
- PAL9 - AMI 18CV8PC-25 stamped 'AX0P062' (DIP20)
- PAL10 - AMI 18CV8PC-25 stamped 'AX0P063' (DIP20)
- PAL11 - AMI 18CV8PC-25 stamped 'AX0P064' (DIP20)
- CNC1/CNC2 \
- CNA/CNB | Multi-pin connectors joining top board to bottom board
- CN1/2/3 /
- Custom IC's -
- KANEKO VIEW2-CHIP (x2, QFP144)
- KANEKO KC-002 (QFP208)
- *1 - KANEKO JAPAN 9448 TA (QFP44)
-
-
-KANEKO AX-SYSTEM BOARD ROM-08
-AX09S00584 KANEKO (sticker)
-|------------------------------------------------------|
-| 93C46 SW1 CNB CN1 |
-| |-------| EPROM.U31 SP_ROM0.U49 |
-| |KANEKO | |
-|CN4 |TBS0P02| EPROM.U32 SP_ROM1.U50 PAL8 |
-| |(QFP74)| |
-| |-------| EPROM.U33 SP_ROM2.U51 SP-ROM4.U85 |
-| |
-| PAL1 SP_ROM3.U52 SP-ROM5.U86 |
-| PAL2 |
-|PAL3 SP-ROM6.U87 |
-|PAL4 |
-| SP-ROM7.U88 |
-|EPROM.U5 |
-| 6116 |
-|EPROM.U6 BG0_ROM0.U89|
-| CNA 6116 |
-|EPROM.U7 BG0_ROM1.U90|
-| |
-|EPROM.U8 BG1_ROM0.U93|
-| |
-| PAL5 BG1_ROM1.U94|
-| PAL6 6116 PAL9 |
-|UPC339C CN2|
-|UPC339C 6116 BG2_ROM0.U91|
-| |
-|CNN3 CNC2 BG2_ROM1.U92|
-| |
-|CNN2 S2_ROM0.U47 S2_ROM1.U65 |
-| BG2_ROM0.U96|
-|CNN1 S1_ROM0.U48 S1_ROM1.U66 CN3|
-| NE555 BG2_ROM1.U97|
-|AD7820 CNC1 PAL7 |
-|------------------------------------------------------|
-Notes:
- AD7820 - Analog Devices AD7820 Linear Compatible CMOS High Speed 8-Bit ADC with Track/Hold Function (DIP20)
- 93C46 - Atmel 93C46 Serial EEPROM (DIP8)
- 6116 - 2k x8 SRAM (DIP24)
- NE555 - Texas Instruments NE555 General Purpose Single Bipolar Timer (DIP8)
- UPC339C - NEC uPC339C Low Power Quad Comparator (DIP14)
- PAL1 - Lattice GAL16V8B stamped 'COMUX2' (DIP20)
- PAL2 - Lattice GAL16V8B stamped 'COMUX3' (DIP20)
- PAL3 - AMI 18CV8PC-25 stamped 'COMUX1' (DIP20)
- PAL4 - AMI 18CV8PC-25 stamped 'MMS4P004' (DIP20)
- PAL5 - Lattice GAL16V8B stamped 'COMUX5' (DIP20)
- PAL6 - Lattice GAL16V8B stamped 'COMUX4' (DIP20)
- PAL7 - AMI 18CV8PC-25 stamped 'MMS4P067' (DIP20)
- PAL8 - Lattice GAL16V8B stamped 'MMS4G084' (DIP20)
- PAL9 - Lattice GAL16V8B stamped 'MMS4G095' (DIP20)
- CNN1/2/3- Connectors for analog controls
- CN4 - 16 Pin Flat Cable Connector
- CNC1/CNC2 \
- CNA/CNB | Multi-pin connectors joining top board to bottom board
- CN1/2/3 /
- Custom IC - KANEKO TBS0P02 Custom Microcontroller (QFP74)
-
- ROMs - (Note: Not all ROM locations are populated on the above layout)
-
- Filename Device Type Use
- -----------------------------------------------------
- M2P1A1.U7 27C040 (4M) \ 68000 Program
- M2P0A1.U8 27C040 (4M) /
-
- M2D0X0.U31 27C010 (1M) MCU Program
-
- M2S0A1.U32 27C040 (4M) \
- M2S1A1.U33 27C040 (4M) |
- M2-200-00.U49 32M MaskROM (42-Pin) | Sprites
- M2-201-00.U50 16M MaskROM (42-Pin) |
- M2-202-00.U51 16M MaskROM (42-Pin) /
-
- M2-300-00.U89 16M MaskROM (42-Pin) \
- M2-301-00.U90 16M MaskROM (42-Pin) | Tiles
- M2B0X0.U93 27C010 (1M) |
- M2B1X0.U94 27C010 (1M) /
-
- M2-100-00.U48 8M mask ROM (32-Pin) \
- M2W1A1.U47 27C040 (4M) / Oki Samples
-
-***************************************************************************/
-
-ROM_START( gtmr2 )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "m2p0x1a.u8", 0x000000, 0x080000, CRC(c29039fb) SHA1(a16e8863608353c2931e9d45359fbcec8f11ef9d) )
- ROM_LOAD16_BYTE( "m2p1x1a.u7", 0x000001, 0x080000, CRC(8ef392c4) SHA1(06bd720d931911e32264183dd215ab70ad6d2961) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code? */
- ROM_LOAD16_WORD_SWAP( "m2d0x0.u31", 0x000000, 0x020000, CRC(2e1a06ff) SHA1(475a7555653eefac84307492a385895b839cab0d) )
-
- ROM_REGION( 0x800000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "m2-200-0.u49", 0x000000, 0x400000, CRC(93aafc53) SHA1(1d28b6e3bd61ce9c938fc5303aeabcdefa549852) )
- ROM_LOAD( "m2-201-0.u50", 0x400000, 0x200000, CRC(39b60a83) SHA1(aa7b37c7c92bbcf685f4fec84cc6d8a77d26433c) )
- ROM_LOAD( "m2-202-0.u51", 0x600000, 0x200000, CRC(fd06b339) SHA1(5de0af7d23147f6eb403700eabd66794198f3641) )
- ROM_LOAD16_BYTE( "m2s0x1a.u32", 0x700000, 0x080000, CRC(a485eec6) SHA1(f8aff62daed95a63544106472a9ef34902feaaa2) )
- ROM_LOAD16_BYTE( "m2s1x1a.u33", 0x700001, 0x080000, CRC(c5b71bb2) SHA1(874e2a2e19cd8f916afa6fcf54169a8db035fe64) )
-
- ROM_REGION( 0x440000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "m2-300-0.u89", 0x000000, 0x200000, CRC(4dc42fbb) SHA1(f14c287bc60f561eb9a57db4e3390aae9a81c392) )
- ROM_LOAD( "m2-301-0.u90", 0x200000, 0x200000, CRC(f4e894f2) SHA1(1f983a1d93845fe298afba60d4dacdd1a10cab7f) )
- ROM_LOAD16_BYTE( "m2b0x0.u93", 0x400000, 0x020000, CRC(e023d51b) SHA1(3c9f591f3ca2ee8e1100b83ae8eb593e11e6eac7) )
- ROM_LOAD16_BYTE( "m2b1x0.u94", 0x400001, 0x020000, CRC(03c48bdb) SHA1(f5ba45d026530d46f760cf06d02a1ffcca89aa3c) )
-
- ROM_REGION( 0x440000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x440000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "m2-100-0.u48", 0x000000, 0x100000, CRC(5250fa45) SHA1(b1ad4660906997faea0aa89866de01a0e9f2b61d) )
-
- ROM_REGION( 0x080000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "m2w1x0.u47", 0x040000, 0x040000, CRC(1b0513c5) SHA1(8c9ddef19297e1b39d900297005203b7ff28667e) )
-ROM_END
-
-ROM_START( gtmr2a )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "m2p0x1.u8", 0x000000, 0x080000, CRC(525f6618) SHA1(da8008cc7768b4e8c0091aa3ea21752d0ca33691) )
- ROM_LOAD16_BYTE( "m2p1x1.u7", 0x000001, 0x080000, CRC(914683e5) SHA1(dbb2140f7de86073647abc6e73ba739ea201dd30) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code? */
- ROM_LOAD16_WORD_SWAP( "m2d0x0.u31", 0x000000, 0x020000, CRC(2e1a06ff) SHA1(475a7555653eefac84307492a385895b839cab0d) )
-
- ROM_REGION( 0x800000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "m2-200-0.u49", 0x000000, 0x400000, CRC(93aafc53) SHA1(1d28b6e3bd61ce9c938fc5303aeabcdefa549852) )
- ROM_LOAD( "m2-201-0.u50", 0x400000, 0x200000, CRC(39b60a83) SHA1(aa7b37c7c92bbcf685f4fec84cc6d8a77d26433c) )
- ROM_LOAD( "m2-202-0.u51", 0x600000, 0x200000, CRC(fd06b339) SHA1(5de0af7d23147f6eb403700eabd66794198f3641) )
- ROM_LOAD16_BYTE( "m2s0x1.u32", 0x700000, 0x080000, CRC(4069d6c7) SHA1(2ed1cbb7ebde8347e0359cd56ee3a0d4d42d551f) )
- ROM_LOAD16_BYTE( "m2s1x1.u33", 0x700001, 0x080000, CRC(c53fe269) SHA1(e6c485bbaea4b67f074b89e047f686f107805713) )
-
- ROM_REGION( 0x440000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "m2-300-0.u89", 0x000000, 0x200000, CRC(4dc42fbb) SHA1(f14c287bc60f561eb9a57db4e3390aae9a81c392) )
- ROM_LOAD( "m2-301-0.u90", 0x200000, 0x200000, CRC(f4e894f2) SHA1(1f983a1d93845fe298afba60d4dacdd1a10cab7f) )
- ROM_LOAD16_BYTE( "m2b0x0.u93", 0x400000, 0x020000, CRC(e023d51b) SHA1(3c9f591f3ca2ee8e1100b83ae8eb593e11e6eac7) )
- ROM_LOAD16_BYTE( "m2b1x0.u94", 0x400001, 0x020000, CRC(03c48bdb) SHA1(f5ba45d026530d46f760cf06d02a1ffcca89aa3c) )
-
- ROM_REGION( 0x440000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x440000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "m2-100-0.u48", 0x000000, 0x100000, CRC(5250fa45) SHA1(b1ad4660906997faea0aa89866de01a0e9f2b61d) )
-
- ROM_REGION( 0x080000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "m2w1x0.u47", 0x040000, 0x040000, CRC(1b0513c5) SHA1(8c9ddef19297e1b39d900297005203b7ff28667e) )
-ROM_END
-
-ROM_START( gtmr2u )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "m2p0a1.u8", 0x000000, 0x080000, CRC(813e1d5e) SHA1(602df02933dc7b77be311113af1d1edad2751cc9) )
- ROM_LOAD16_BYTE( "m2p1a1.u7", 0x000001, 0x080000, CRC(bee63666) SHA1(07585a63f901f50f2a2314eb4dc4307e7028ded7) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code? */
- ROM_LOAD16_WORD_SWAP( "m2d0x0.u31", 0x000000, 0x020000, CRC(2e1a06ff) SHA1(475a7555653eefac84307492a385895b839cab0d) )
-
- ROM_REGION( 0x800000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "m2-200-0.u49", 0x000000, 0x400000, CRC(93aafc53) SHA1(1d28b6e3bd61ce9c938fc5303aeabcdefa549852) )
- ROM_LOAD( "m2-201-0.u50", 0x400000, 0x200000, CRC(39b60a83) SHA1(aa7b37c7c92bbcf685f4fec84cc6d8a77d26433c) )
- ROM_LOAD( "m2-202-0.u51", 0x600000, 0x200000, CRC(fd06b339) SHA1(5de0af7d23147f6eb403700eabd66794198f3641) )
- ROM_LOAD16_BYTE( "m2s0a1.u32", 0x700000, 0x080000, CRC(98977171) SHA1(5b69462e07778b5bd1f5119cae6b63ede38cd642) )
- ROM_LOAD16_BYTE( "m2s1a1.u33", 0x700001, 0x080000, CRC(c69a732e) SHA1(810b333f442c0714f4cb8b4a73136d0b44443277) )
-
- ROM_REGION( 0x440000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "m2-300-0.u89", 0x000000, 0x200000, CRC(4dc42fbb) SHA1(f14c287bc60f561eb9a57db4e3390aae9a81c392) )
- ROM_LOAD( "m2-301-0.u90", 0x200000, 0x200000, CRC(f4e894f2) SHA1(1f983a1d93845fe298afba60d4dacdd1a10cab7f) )
- ROM_LOAD16_BYTE( "m2b0x0.u93", 0x400000, 0x020000, CRC(e023d51b) SHA1(3c9f591f3ca2ee8e1100b83ae8eb593e11e6eac7) )
- ROM_LOAD16_BYTE( "m2b1x0.u94", 0x400001, 0x020000, CRC(03c48bdb) SHA1(f5ba45d026530d46f760cf06d02a1ffcca89aa3c) )
-
- ROM_REGION( 0x440000, "view2_1", 0 ) /* Tiles */
- ROM_COPY("view2_0",0x000000,0,0x440000) // it isn't on the board twice.
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "m2-100-0.u48", 0x000000, 0x100000, CRC(5250fa45) SHA1(b1ad4660906997faea0aa89866de01a0e9f2b61d) )
-
- ROM_REGION( 0x080000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "m2w1a1.u47", 0x000000, 0x080000, CRC(15f25342) SHA1(9947e66575738700345c12c104701b812c62ce03) )
-ROM_END
-
-/***************************************************************************
-
- Magical Crystals
-
-(c)1991 Kaneko/Atlus
-Z00FC-02
-
-CPU : TMP68HC000N-12
-Sound: YM2149Fx2 M6295
-OSC : 16.0000MHz(X1) 12.0000MHz(X2)
-
-ROMs:
-mc100j.u18 - Main programs
-mc101j.u19 /
-
-mc000.u38 - Graphics (32pin mask)
-mc001.u37 | (32pin mask)
-mc002j.u36 / (27c010)
-
-mc010.u04 - Graphics (42pin mask)
-
-mc020.u33 - Graphics (42pin mask)
-
-mc030.u32 - Samples (32pin mask)
-
-PALs (18CV8PC):
-u08, u20, u41, u42, u50, u51, u54
-
-Custom chips:
-KANEKO VU-001 046A (u53, 48pin PQFP)
-KANEKO VU-002 052 151021 (u60, 160pin PQFP)
-KANEKO 23160-509 9047EAI VIEW2-CHIP (u24 & u34, 144pin PQFP)
-KANEKO MUX2-CHIP (u28, 64pin PQFP)
-KANEKO IU-001 9045KP002 (u22, 44pin PQFP)
-KANEKO I/O JAMMA MC-8282 047 (u5, 46pin)
-699206p (u09, 44pin PQFP)
-699205p (u10, 44pin PQFP)
-
-Other:
-93C46 EEPROM
-
-DIP settings:
-1: Flip screen
-2: Test mode
-3: Unused
-4: Unused
-
-Yes, one program rom actually is a 27C010 and the other one is a 27C020
-
-***************************************************************************/
-
-ROM_START( mgcrystl ) /* Master Up: 92/01/10 14:21:30 */
- ROM_REGION( 0x040000*2, "maincpu", ROMREGION_ERASE ) /* 68000 Code */
- ROM_LOAD16_BYTE( "mc100e02.u18", 0x000000, 0x020000, CRC(246a1335) SHA1(8333945a92e08a7bff425d2d6602557386016dc5) ) /* Labeled as MC100E/U18-02 */
- ROM_LOAD16_BYTE( "mc101e02.u19", 0x000001, 0x040000, CRC(708ea1dc) SHA1(ae6eca6620729bc1e815f1bfbd8fe130f0ba943c) ) /* Labeled as MC101E/U19-02 */
-
- ROM_REGION( 0x280000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "mc000.u38", 0x000000, 0x100000, CRC(28acf6f4) SHA1(6647ad90ea580b65ed28772f9d65352b06833d0c) )
- ROM_LOAD( "mc001.u37", 0x100000, 0x080000, CRC(005bc43d) SHA1(6f6cd99e8e60562fa86581008455a6d9d646fa95) )
- ROM_RELOAD( 0x180000, 0x080000 )
- ROM_LOAD( "mc002e02.u36", 0x200000, 0x020000, CRC(27ac1056) SHA1(34b07c1a0d403ca45c9849d3d8d311012f787df6) ) /* Labeled as MC002E/U36-02 */
- ROM_RELOAD( 0x220000, 0x020000 )
- ROM_RELOAD( 0x240000, 0x020000 )
- ROM_RELOAD( 0x260000, 0x020000 )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "mc010.u04", 0x000000, 0x100000, CRC(85072772) SHA1(25e903cc2c893d61db791d1fe60a1205a4395667) )
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "mc020.u34", 0x000000, 0x100000, CRC(1ea92ff1) SHA1(66ec53e664b2a5a751a280a538aaeceafc187ceb) )
-
- ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "mc030.u32", 0x000000, 0x040000, CRC(c165962e) SHA1(f7e130db387ae9dcb7223f7ad6e51270d3033bc9) )
-ROM_END
-
-ROM_START( mgcrystlo ) /* Master Up: 91/12/10 01:56:06 */
- ROM_REGION( 0x040000*2, "maincpu", ROMREGION_ERASE ) /* 68000 Code */
- ROM_LOAD16_BYTE( "mc100h00.u18", 0x000000, 0x020000, CRC(c7456ba7) SHA1(96c25c3432069373fa86d7af3e093e02e39aea34) ) /* Labeled as MC100H/U18-00 */
- ROM_LOAD16_BYTE( "mc101h00.u19", 0x000001, 0x040000, CRC(ea8f9300) SHA1(0cd0d448805aa45986b63befca00b08fe066dbb2) ) /* Labeled as MC101H/U19-00 */
-
- ROM_REGION( 0x280000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "mc000.u38", 0x000000, 0x100000, CRC(28acf6f4) SHA1(6647ad90ea580b65ed28772f9d65352b06833d0c) )
- ROM_LOAD( "mc001.u37", 0x100000, 0x080000, CRC(005bc43d) SHA1(6f6cd99e8e60562fa86581008455a6d9d646fa95) )
- ROM_RELOAD( 0x180000, 0x080000 )
- ROM_LOAD( "mc002h00.u36", 0x200000, 0x020000, CRC(22729037) SHA1(de4e1bdab57aa617411b6327f3db4856970e8953) ) /* Labeled as MC002H/U36-00 */
- ROM_RELOAD( 0x220000, 0x020000 )
- ROM_RELOAD( 0x240000, 0x020000 )
- ROM_RELOAD( 0x260000, 0x020000 )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "mc010.u04", 0x000000, 0x100000, CRC(85072772) SHA1(25e903cc2c893d61db791d1fe60a1205a4395667) )
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "mc020.u34", 0x000000, 0x100000, CRC(1ea92ff1) SHA1(66ec53e664b2a5a751a280a538aaeceafc187ceb) )
-
- ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "mc030.u32", 0x000000, 0x040000, CRC(c165962e) SHA1(f7e130db387ae9dcb7223f7ad6e51270d3033bc9) )
-ROM_END
-
-// Note: there is a known undumped older Japan set from http://gamesdbase.com/Media/SYSTEM/Arcade/PCB/big/Magical_Crystals_-_1991_-_Kaneko.jpg with code roms ending in -00 instead of -02
-ROM_START( mgcrystlj ) /* Master Up: 92/01/13 14:44:20 */
- ROM_REGION( 0x040000*2, "maincpu", ROMREGION_ERASE ) /* 68000 Code */
- ROM_LOAD16_BYTE( "kaneko__mc100-u18j-02.u18", 0x000000, 0x020000, CRC(afe5882d) SHA1(176e6e12e3df63c08d7aff781f5e5a9bd83ec293) ) /* Labeled as MC100J/U18-02 */
- ROM_LOAD16_BYTE( "kaneko__mc101-u19j-02.u19", 0x000001, 0x040000, CRC(60da5492) SHA1(82b90a617d355825624ce9fb30bddf4714bd0d18) ) /* Labeled as MC101J/U19-02 */
-
- ROM_REGION( 0x280000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "kaneko__mc-000_0001.u38", 0x000000, 0x100000, CRC(28acf6f4) SHA1(6647ad90ea580b65ed28772f9d65352b06833d0c) ) // Mask rom
- ROM_LOAD( "kaneko__mc-001_0002_r44.u37", 0x100000, 0x080000, CRC(005bc43d) SHA1(6f6cd99e8e60562fa86581008455a6d9d646fa95) ) // Mask rom
- ROM_RELOAD( 0x180000, 0x080000 )
- ROM_LOAD( "kaneko__mc002j-u36-02.u36", 0x200000, 0x020000, CRC(27ac1056) SHA1(34b07c1a0d403ca45c9849d3d8d311012f787df6) ) /* Labeled as MC002J/U36-02, but same as MC002E/U36-02 */
- ROM_RELOAD( 0x220000, 0x020000 )
- ROM_RELOAD( 0x240000, 0x020000 )
- ROM_RELOAD( 0x260000, 0x020000 )
-
- ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "kaneko__mc-010_0003.u04", 0x000000, 0x100000, CRC(85072772) SHA1(25e903cc2c893d61db791d1fe60a1205a4395667) ) // Mask rom
-
- ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "kaneko__mc-020_0004.u34", 0x000000, 0x100000, CRC(1ea92ff1) SHA1(66ec53e664b2a5a751a280a538aaeceafc187ceb) ) // Mask rom
-
- ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "kaneko__mc-030_0005_t99.u32", 0x000000, 0x040000, CRC(c165962e) SHA1(f7e130db387ae9dcb7223f7ad6e51270d3033bc9) )
-ROM_END
-
-
-
-/***************************************************************************
-
-Shogun Warriors (Europe Rev.xx)(Kaneko 1992)
-
-Dumped from an original Kaneko PCB. Board No. Z01DK-002 / Serial FB92E01342. + Top board "Z05DP FOR Z01DK"
-
-Two Program roms are equal to the Japanese version. See Below:
-
-fb000e.u43 = fb001e.u43 Shogun Warriors <Note: Different label compared to Mame.
-fb001e.u101 = fb000e.u42 Shogun Warriors <Note: Different label/position compared to Mame.
-fb030e.u61 = fb030j.u61 Fujiyama Buster(Japan) <Note: Same as the Japanese version in Mame.
-fb031e.u62 NO MATCH
-fb040e.u33 = fb040j.u33 Fujiyama Buster (Japan) <Note: Same as the Japanese version in Mame.
-
-
-The rom positions are equal to the Japanese version in Mame (Same Hardware revision).
-The "e" suffix on the roms of "Shogun Warriors" that is previously
-in Mame indicates that it is an European Version too, so this must be
-an earlier or later European revision.
-
-Some hardware(custom chip) differences compared with the info in the Mame source:
-
-Fujiyama Buster(Japan) Shogun Warriors (Europe) (My Dump)
-
-KANEKO JAPAN 9152EV 175101 (160 Pin PQFP) = KANEKO JAPAN 9202EV 175071 (160 Pin PQFP)
-KANEKO JAPAN 9203 T (44 PIN PQFP) = KANEKO JAPAN 9204 T (44 PIN PQFP)
-
-***************************************************************************/
-
-ROM_START( shogwarr )
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "fb030e.u61", 0x000000, 0x020000, CRC(32ce7909) SHA1(02d87342706ac9547eb611bd542f8498ba41e34a) )
- ROM_LOAD16_BYTE( "fb031e.u62", 0x000001, 0x020000, CRC(228aeaf5) SHA1(5e080d7975bc5dcf6fccfbc286eafe939496d9bf) )
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "fb040e.u33", 0x000000, 0x020000, CRC(299d0746) SHA1(67fe3a47ab01fa02ce2bb5836c2041986c19d875) )
-
- ROM_REGION( 0x1000000, "kan_spr", ROMREGION_ERASEFF ) /* Sprites */
- ROM_LOAD( "fb-020a.u1", 0x000000, 0x100000, CRC(87e55c6d) SHA1(87886c045d7c30b8dee3c8fb0bf8f2cdbc5fd7fb) )
- ROM_LOAD( "fb020b.u2", 0x100000, 0x100000, CRC(276b9d7b) SHA1(7a154f65b4737f2b6ac8effa3352711079f571dc) )
- ROM_LOAD( "fb021a.u3", 0x200000, 0x100000, CRC(7da15d37) SHA1(345cf2242e8210a697294a45197f2b3b974de885) )
- ROM_LOAD( "fb021b.u4", 0x300000, 0x100000, CRC(6a512d7b) SHA1(7fc3002d23262a9a590a283ea9e111e38d889ef2) )
- ROM_LOAD( "fb-22a.u5", 0x400000, 0x100000, CRC(9039e5d3) SHA1(222452cd7947f7c99c68e495835cca62e0449b5c) )
- ROM_LOAD( "fb-22b.u6", 0x500000, 0x100000, CRC(96ac9e54) SHA1(2b066375963dc57fe2ce89d65f6c0a9d183a838d) )
- ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) )
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom
- ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct)
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "fb001e.u43", 0x000000, 0x080000, CRC(f524aaa1) SHA1(006a886f9df2e57c51b61c6cea70a6574fc20304) )
- ROM_LOAD( "fb000e.u42", 0x080000, 0x080000, CRC(969f1465) SHA1(4f56d1ad341b08f4db41b7ab2498740612ff7c3d) )
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "fb-002.u45", 0x000000, 0x100000, CRC(010acc17) SHA1(2dc0897c7778eacf6bce12ff0adbadb307ea6c17) )
- ROM_LOAD( "fb-003.u44", 0x100000, 0x100000, CRC(0aea4ac5) SHA1(8f3b30e505b0ba51c140a0a2c071680d4fa05db9) )
-ROM_END
-
-
-ROM_START( shogwarrk )
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "fb-030a.u61", 0x000000, 0x020000, CRC(32ce7909) SHA1(02d87342706ac9547eb611bd542f8498ba41e34a) )
- ROM_LOAD16_BYTE( "fb-031a.u62", 0x000001, 0x020000, CRC(bbffe957) SHA1(d916fde185985f6de216b8fb68a851fc75e3d04b) )
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "fb-040a.u33", 0x000000, 0x020000, CRC(299d0746) SHA1(67fe3a47ab01fa02ce2bb5836c2041986c19d875) )
-
- ROM_REGION( 0x1000000, "kan_spr", ROMREGION_ERASEFF ) /* Sprites */
- ROM_LOAD( "fb-020a.u1", 0x000000, 0x100000, CRC(87e55c6d) SHA1(87886c045d7c30b8dee3c8fb0bf8f2cdbc5fd7fb) )
- ROM_LOAD( "fb020b.u2", 0x100000, 0x100000, CRC(276b9d7b) SHA1(7a154f65b4737f2b6ac8effa3352711079f571dc) )
- ROM_LOAD( "fb021a.u3", 0x200000, 0x100000, CRC(7da15d37) SHA1(345cf2242e8210a697294a45197f2b3b974de885) )
- ROM_LOAD( "fb021b.u4", 0x300000, 0x100000, CRC(6a512d7b) SHA1(7fc3002d23262a9a590a283ea9e111e38d889ef2) )
- ROM_LOAD( "fb-22a.u5", 0x400000, 0x100000, CRC(9039e5d3) SHA1(222452cd7947f7c99c68e495835cca62e0449b5c) )
- ROM_LOAD( "fb-22b.u6", 0x500000, 0x100000, CRC(96ac9e54) SHA1(2b066375963dc57fe2ce89d65f6c0a9d183a838d) )
- ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) )
- ROM_LOAD( "fb-024.u8", 0x700000, 0x080000, CRC(4bf3282d) SHA1(6058e46f20fe4faf32cddb6f2bb0fbf70f256a54) ) // extra censored gfx
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom
- ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct)
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "fb-000.u43", 0x000000, 0x080000, CRC(f524aaa1) SHA1(006a886f9df2e57c51b61c6cea70a6574fc20304) )
- ROM_LOAD( "fb-003.u101", 0x080000, 0x080000, CRC(969f1465) SHA1(4f56d1ad341b08f4db41b7ab2498740612ff7c3d) )
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "fb-002.u45", 0x000000, 0x100000, CRC(010acc17) SHA1(2dc0897c7778eacf6bce12ff0adbadb307ea6c17) )
- ROM_LOAD( "fb-003.u44", 0x100000, 0x100000, CRC(0aea4ac5) SHA1(8f3b30e505b0ba51c140a0a2c071680d4fa05db9) )
-ROM_END
-
-/***************************************************************************
-
- Shogun Warriors
-
-Shogun Warriors, Kaneko 1992
-
- fb010.u65 fb040.u33
- fb011.u66
- rb012.u67
- rb013.u68
-
- fb001.u43
- 68000-12 fb000.u42 m6295
- 51257 fb030.u61 fb002.u44 m6295
- 51257 fb031.u62 fb003.u45
-
-
- fb021a.u3
- fb021b.u4
- fb022a.u5
- fb023.u7 fb022b.u6
- fb020a.u1 fb020b.u2
-
-
-
----------------------------------------------------------------------------
- Game code
----------------------------------------------------------------------------
-
-102e04-7 <- !b80004-7
-102e18.w -> $800000
-102e1c.w -> $800002 , $800006
-102e1a.w -> $800004
-102e20.w -> $800008
-
-ROUTINES:
-
-6622 print ($600000)
-
-***************************************************************************/
-
-
-// the 'green garbage' on the VS logo shown in the video ( http://www.youtube.com/watch?v=lz4gY9d7uxw ) doesn't happen on the real PCB,
-// it appears to be an encoding artifact on the videos uploaded by this poster
-
-ROM_START( shogwarru )
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "fb030a.u61", 0x000000, 0x020000, CRC(a04106c6) SHA1(95ab084f2e709be7cec2964cb09bcf5a8d3aacdf) )
- ROM_LOAD16_BYTE( "fb031a.u62", 0x000001, 0x020000, CRC(d1def5e2) SHA1(f442de4433547e52b483549aca5786e4597a7122) )
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "fb040a.u33", 0x000000, 0x020000, CRC(4b62c4d9) SHA1(35c943dde70438a411714070e42a84366db5ef83) )
-
- ROM_REGION( 0x1000000, "kan_spr", ROMREGION_ERASEFF ) /* Sprites */
- ROM_LOAD( "fb-020a.u1", 0x000000, 0x100000, CRC(87e55c6d) SHA1(87886c045d7c30b8dee3c8fb0bf8f2cdbc5fd7fb) )
- ROM_LOAD( "fb020b.u2", 0x100000, 0x100000, CRC(276b9d7b) SHA1(7a154f65b4737f2b6ac8effa3352711079f571dc) )
- ROM_LOAD( "fb021a.u3", 0x200000, 0x100000, CRC(7da15d37) SHA1(345cf2242e8210a697294a45197f2b3b974de885) )
- ROM_LOAD( "fb021b.u4", 0x300000, 0x100000, CRC(6a512d7b) SHA1(7fc3002d23262a9a590a283ea9e111e38d889ef2) )
- ROM_LOAD( "fb-22a.u5", 0x400000, 0x100000, CRC(9039e5d3) SHA1(222452cd7947f7c99c68e495835cca62e0449b5c) )
- ROM_LOAD( "fb-22b.u6", 0x500000, 0x100000, CRC(96ac9e54) SHA1(2b066375963dc57fe2ce89d65f6c0a9d183a838d) )
- ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) )
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom
- ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct)
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "fb001e.u43", 0x000000, 0x080000, CRC(f524aaa1) SHA1(006a886f9df2e57c51b61c6cea70a6574fc20304) )
- ROM_LOAD( "fb000e.u42", 0x080000, 0x080000, CRC(969f1465) SHA1(4f56d1ad341b08f4db41b7ab2498740612ff7c3d) )
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "fb-002.u45", 0x000000, 0x100000, CRC(010acc17) SHA1(2dc0897c7778eacf6bce12ff0adbadb307ea6c17) )
- ROM_LOAD( "fb-003.u44", 0x100000, 0x100000, CRC(0aea4ac5) SHA1(8f3b30e505b0ba51c140a0a2c071680d4fa05db9) )
-ROM_END
-
-/***************************************************************************
-
- Fujiyama Buster
-
-Japan (c) 1992 Kaneko
-This is the Japanese version of Shogun Warriors
-
-Main PCB No: ZO1DK-002 (Same as B.Rap Boys)
- ROM PCB No: ZO5DP
- CPU: TMP68HC000N-12 (Toshiba)
- SND: OKI M6295 x 2
- OSC: 16.000MHz, 12.000MHz
- DIP: 1 x 8 POSITION
-
-OTHER:
-93C46 (8 Pin DIP, EEPROM, Linked to FB-040.U33 & CALC3 Chip)
-KANEKO JAPAN 9152EV 175101 (160 Pin PQFP)
-KANEKO VIEW2-CHIP (144 Pin PQFP)
-KANEKO MUX2-CHIP (64 Pin PQFP)
-KANEKO CALC3 508 (74 Pin PQFP, NEC uPD78322 MCU, Linked to FB-040.U33)
-KANEKO JAPAN 9203 T (44 PIN PQFP)
-
-Differences from Shogun Warriors:
-
-File Name CRC32 Labelled As ROM Type
-===============================================
-fb030j.u61 0x32ce7909 FB030J/U61-00 27C010 | 68000 CPU Code
-fb031j.u62 0x000c8c08 FB031J/U62-00 27C010 /
-
-fb040j.u33 0x299d0746 FB040J/U33-00 27C010 - MCU Code? 68000 Code snipets??
-
-fb000j.u43 0xa7522555 FB000J/U43-00 27C040 | Japanese Sound Samples
-fb001j_u.101 0x07d4e8e2 FB001J/U101-0 27C040 /
-
-NOTE: U67 & U68 are empty on this Original board.
-
-***************************************************************************/
-
-ROM_START( fjbuster ) // Fujiyama Buster - Japan version of Shogun Warriors
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "fb030j.u61", 0x000000, 0x020000, CRC(32ce7909) SHA1(02d87342706ac9547eb611bd542f8498ba41e34a) )
- ROM_LOAD16_BYTE( "fb031j.u62", 0x000001, 0x020000, CRC(000c8c08) SHA1(439daac1541c34557b5a4308ed69dfebb93abe13) )
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "fb040j.u33", 0x000000, 0x020000, CRC(299d0746) SHA1(67fe3a47ab01fa02ce2bb5836c2041986c19d875) )
-
- ROM_REGION( 0x1000000, "kan_spr", ROMREGION_ERASEFF ) /* Sprites */
- ROM_LOAD( "fb-020a.u1", 0x000000, 0x100000, CRC(87e55c6d) SHA1(87886c045d7c30b8dee3c8fb0bf8f2cdbc5fd7fb) )
- ROM_LOAD( "fb020b.u2", 0x100000, 0x100000, CRC(276b9d7b) SHA1(7a154f65b4737f2b6ac8effa3352711079f571dc) )
- ROM_LOAD( "fb021a.u3", 0x200000, 0x100000, CRC(7da15d37) SHA1(345cf2242e8210a697294a45197f2b3b974de885) )
- ROM_LOAD( "fb021b.u4", 0x300000, 0x100000, CRC(6a512d7b) SHA1(7fc3002d23262a9a590a283ea9e111e38d889ef2) )
- ROM_LOAD( "fb-22a.u5", 0x400000, 0x100000, CRC(9039e5d3) SHA1(222452cd7947f7c99c68e495835cca62e0449b5c) )
- ROM_LOAD( "fb-22b.u6", 0x500000, 0x100000, CRC(96ac9e54) SHA1(2b066375963dc57fe2ce89d65f6c0a9d183a838d) )
- ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) )
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom
- ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct)
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "fb000j.u43", 0x000000, 0x080000, CRC(a7522555) SHA1(ea88d90dda20bc309f98a1924c41551e7708e6af) )
- ROM_LOAD( "fb001j_u.101", 0x080000, 0x080000, CRC(07d4e8e2) SHA1(0de911f452ddeb54b0b435b9c1cf5d5881175d44) )
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "fb-002.u45", 0x000000, 0x100000, CRC(010acc17) SHA1(2dc0897c7778eacf6bce12ff0adbadb307ea6c17) )
- ROM_LOAD( "fb-003.u44", 0x100000, 0x100000, CRC(0aea4ac5) SHA1(8f3b30e505b0ba51c140a0a2c071680d4fa05db9) )
-ROM_END
-
-/***************************************************************************
-
- B.Rap Boys
-
-B.Rap Boys
-Kaneko, 1992
-
-Game is a beat-em up, where a bunch of rapping boys (The B.Rap Boys) beats
-up anyone and anything that gets in their way, smashing shop windows
-and other property with their fists, chairs, wooden bats and whatever else
-they can lay their hands on!
-
-
-Main PCB No: ZO1DK-002
-ROM PCB No: ZO1DK-EXROM
-CPU: TMP68HC000N-12 @ 12.000MHz
-SND: OKI M6295 x 2 @ 2.000MHz [16/8]. Pin 7 is low.
-OSC: 16.000MHz, 12.000MHz
-DIP: 1 x 8 POSITION
-SW1 - PCB location for 2 position DIP but location is unpopulated.
-SW2:
-
- 1 2 3 4 5 6 7 8
-SCREEN FLIP NORMAL OFF
- FLIP ON
-MODE NORMAL OFF
- TEST ON
-SWITCH TEST [1] NO OFF
- YES ON
-POSITION #4 NOT USED OFF
-COIN TYPE LOCAL COIN OFF
- COMMON COIN ON
-GAME TYPE 3 PLAYERS OFF
- 2 PLAYERS ON
-DIFFICULTY [2] EASY ON OFF
- NORMAL OFF OFF
- HARD OFF ON
- VERY HARD ON ON
-
-[1] This additional test becomes available in test mode when this DIP is ON.
-[2] Additional settings available in test mode via another on-screen menu.
-Some text is written in Japanese. See scan in archive for details.
-
-Control is via 8 Way Joystick and 2 buttons
-
-There are two extra pin connectors near the JAMMA connector.
-Pinouts are....
-
-(A)
-10 3P START SW
- 9 3P COIN SW
- 8 3P BUTTON 2
- 7 3P BUTTON 1
- 6 3P UP
- 5 3P DOWN
- 4 3P LEFT
- 3 3P RIGHT
- 2 GND
- 1 GND
-
-(B)
-6 COIN COUNTER 3
-5 COIN LOCKOUT 3
-4 TOTAL COIN COUNTER
-3 NC
-2 NC
-1 NC
-
-RAM:
-M5M4464 x 6, M51257AL x 2, KM6264BLS x 2, D42101C x 2, LH5116D x 2, CAT71C256 x 2
-
-OTHER:
-93C46 (8 PIN DIP, EEPROM, LINKED TO RB-006.U33)
-KANEKO JAPAN 9152EV 175101 (160 PIN PQFP)
-KANEKO VIEW2-CHIP (144 PIN PQFP)
-KANEKO MUX2-CHIP (64 PIN PQFP)
-KANEKO CALC3 508 (74 PIN PQFP, NEC uPD78322 MCU, LINKED TO RB-006.U33)
-KANEKO JAPAN 9204 T (44 PIN PQFP)
-PALs (x 11, read protected, not dumped)
-
-VSync is 59.1854Hz
-HSync is 15.625kHz
-
-ROMs:
-RB-004.U61 27C010 \ Main program
-RB-005.U62 27C010 /
-
-RB-000.U43 2M mask \
-RB-001.U44 4M mask | Located near main program and OKI M6295 chips
-RB-002.U45 4M mask | Possibly sound related / OKI Samples etc..
-RB-003.101 4M mask /
-
-RB-006.U33 27C010 MCU program? (Linked to CALC3 508)
-
-RB-010.U65 8M mask \
-RB-011.U66 8M mask | GFX
-RB-012.U67 8M mask |
-RB-013.U68 8M mask /
-
-RB-021.U76 4M mask \
-RB-022.U77 4M mask |
-RB-023.U78 4M mask | GFX (located under a plug-in ROM PCB)
-RB-024.U79 4M mask /
-
-RB-020.U2 4M mask \
-RB-025.U4 27C040 | GFX (located on a plug-in ROM PCB)
-RB-026.U5 27C040 /
-
-
------
-
-Game can be ROM Swapped onto a Shogun Warriors board and works
-
-***************************************************************************/
-
-
-ROM_START( brapboys ) /* World 'normal version', no rom sub board, serial RB92E000?x; suffix codes -00 and -01 */
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "rb-030.01.u61", 0x000000, 0x020000, CRC(ccbe9a53) SHA1(b96baf0ecbf6550bfaf8e512d9275c53a3928bee) ) /* eprom labeled RB-030/U61-01 (green label) */
- ROM_LOAD16_BYTE( "rb-031.01.u62", 0x000001, 0x020000, CRC(c72b8dda) SHA1(450e1fb8acb140fa0ab23630daad82924f7ce72b) ) /* eprom labeled RB-031/U62-01 (green label) */
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "rb-040.00.u33", 0x000000, 0x020000, CRC(757c6e19) SHA1(0f1c37b1b1eb6b230c593e4648c4302f413a61f5) ) /* eprom labeled RB-040/U33-00 (green label) */
-
- ROM_REGION( 0x800000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "rb-020.u100", 0x000000, 0x100000, CRC(ce220d38) SHA1(b88d7c89a3e1a826bf19a1fa692ec77c944596d9) )
- ROM_LOAD( "rb-021.u76", 0x100000, 0x100000, CRC(74001407) SHA1(90002056ceb4e0401246950b8c3f996af0a2463c) )
- ROM_LOAD( "rb-022.u77", 0x200000, 0x100000, CRC(cb3f42dc) SHA1(5415f15621924dd263b8fe7daaf3dc25d470b814) )
- ROM_LOAD( "rb-023.u78", 0x300000, 0x100000, CRC(0e6530c5) SHA1(72bff46f0672927e540f4f3546ae533dd0a231e0) )
- ROM_LOAD( "rb-024.u79", 0x400000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // correct, both halves identical when dumped as larger
- ROM_RELOAD( 0x480000, 0x080000 )
- ROM_LOAD( "rb-025.01.u80", 0x500000, 0x040000, CRC(36cd6b90) SHA1(45c50f2652726ded67c9c24185a71a6367e09270) ) // eprom labeled RB-025/U80-01 (green label), contains title logo for this version
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) )
- ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) )
- ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) )
- ROM_LOAD( "rb-013.u68", 0x300000, 0x100000, CRC(28c37fe8) SHA1(e10dd1a810983077328b44e6e33ce2e899c506d2) )
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "rb-000.u43", 0x000000, 0x080000, CRC(58ad1a62) SHA1(1d2643b5f6eac22682972a88d284e00de3e3b223) )
- ROM_LOAD( "rb-003.00.u101", 0x080000, 0x080000, CRC(2cac25d7) SHA1(0412c317bf650a93051b9304d23035efde0c026a) ) /* eprom labeled RB-003/U43-00 (green label) however actual IC location is u101 */
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "rb-001.u44", 0x000000, 0x100000, CRC(7cf774b3) SHA1(3fb0a5096ce9480f97e311439042eb8cbc26efb4) )
- ROM_LOAD( "rb-002.u45", 0x100000, 0x100000, CRC(e4b30444) SHA1(be6756dce3721226e0b7f5d4d168008c31aeea8e) )
-ROM_END
-
-ROM_START( brapboysp ) /* World 'special version' with EXROM sub board; serial RB92E00554; suffix codes -A0 and -01 */
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "rb-030.a0.u61", 0x000000, 0x020000, CRC(fed2ecea) SHA1(0a7a017ffd39bd2440d45337b0adbec0f49a7529) ) /* eprom labeled RB-030/U61-A0 (black label) */
- ROM_LOAD16_BYTE( "rb-031.a0.u62", 0x000001, 0x020000, CRC(f64b9763) SHA1(69d37863aa9d263380aca6100a9166baf7300082) ) /* eprom labeled RB-031/U62-A0 (black label) */
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "rb-040.a0.u33", 0x000000, 0x020000, CRC(7b856d27) SHA1(c9b3cb858302ed33c332a25f08573611d1468e94) ) /* eprom labeled RB-040/U33-A0 (black label) */
-
- ROM_REGION( 0x1000000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "rb-020.u100", 0x000000, 0x100000, CRC(ce220d38) SHA1(b88d7c89a3e1a826bf19a1fa692ec77c944596d9) ) // really at location next to capacitor C2 on Z01DK-EXROM daughterboard
- ROM_LOAD( "rb-021.u76", 0x100000, 0x100000, CRC(74001407) SHA1(90002056ceb4e0401246950b8c3f996af0a2463c) )
- ROM_LOAD( "rb-022.u77", 0x200000, 0x100000, CRC(cb3f42dc) SHA1(5415f15621924dd263b8fe7daaf3dc25d470b814) )
- ROM_LOAD( "rb-023.u78", 0x300000, 0x100000, CRC(0e6530c5) SHA1(72bff46f0672927e540f4f3546ae533dd0a231e0) )
- ROM_LOAD( "rb-024.u79", 0x400000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // correct, both halves identical when dumped as larger
- ROM_RELOAD( 0x480000, 0x080000 )
- ROM_LOAD( "rb-025.a0.u80a", 0x500000, 0x080000, CRC(aa795ba5) SHA1(c5256dcceded2e76f548b60c18e51d0dd0209d81) ) // eprom labeled RB-025/U80aA0 (blue label), really at location next to capacitor C4 on Z01DK-EXROM daughterboard
- ROM_LOAD( "rb-026.10.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom labeled RB-026/U80b10 (red label), really at location next to capacitor C5 on Z01DK-EXROM daughterboard
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) )
- ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) )
- ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) )
- ROM_LOAD( "rb-013.u68", 0x300000, 0x100000, CRC(28c37fe8) SHA1(e10dd1a810983077328b44e6e33ce2e899c506d2) )
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "rb-000.u43", 0x000000, 0x080000, CRC(58ad1a62) SHA1(1d2643b5f6eac22682972a88d284e00de3e3b223) )
- ROM_LOAD( "rb-003.00.u101", 0x080000, 0x080000, CRC(2cac25d7) SHA1(0412c317bf650a93051b9304d23035efde0c026a) ) /* eprom labeled RB-003/U43-00 however actual IC location is u101 */
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "rb-001.u44", 0x000000, 0x100000, CRC(7cf774b3) SHA1(3fb0a5096ce9480f97e311439042eb8cbc26efb4) )
- ROM_LOAD( "rb-002.u45", 0x100000, 0x100000, CRC(e4b30444) SHA1(be6756dce3721226e0b7f5d4d168008c31aeea8e) )
-ROM_END
-
-// TODO: the eproms for brapboysj are missing the region-specific numeric suffix;
-// it should be something like -00 or -01 or -10 or -11 or etc
-ROM_START( brapboyspj ) /* Japanese 'special version' with EXROM sub board; serial unknown; suffix codes unknown */
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "rb-004.u61", 0x000000, 0x020000, CRC(5432442c) SHA1(f0f7328ece96ef25e6d4fd1958d734f64a9ef371) ) // fill in suffix!
- ROM_LOAD16_BYTE( "rb-005.u62", 0x000001, 0x020000, CRC(118b3cfb) SHA1(1690ecf5c629879bd97131ff77029e152919e45d) ) // fill in suffix!
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "rb-006.u33", 0x000000, 0x020000, CRC(f1d76b20) SHA1(c571b5f28e529589ee2d7697ef5d4b60ccb66e7a) ) // fill in suffix!
-
- ROM_REGION( 0x1000000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "rb-020.u100", 0x000000, 0x100000, CRC(ce220d38) SHA1(b88d7c89a3e1a826bf19a1fa692ec77c944596d9) ) // really at location next to capacitor C2 on Z01DK-EXROM daughterboard
- ROM_LOAD( "rb-021.u76", 0x100000, 0x100000, CRC(74001407) SHA1(90002056ceb4e0401246950b8c3f996af0a2463c) )
- ROM_LOAD( "rb-022.u77", 0x200000, 0x100000, CRC(cb3f42dc) SHA1(5415f15621924dd263b8fe7daaf3dc25d470b814) )
- ROM_LOAD( "rb-023.u78", 0x300000, 0x100000, CRC(0e6530c5) SHA1(72bff46f0672927e540f4f3546ae533dd0a231e0) )
- ROM_LOAD( "rb-024.u79", 0x400000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // correct, both halves identical when dumped as larger
- ROM_RELOAD( 0x480000, 0x080000 )
- ROM_LOAD( "rb-025.a0.u80a", 0x500000, 0x080000, CRC(aa795ba5) SHA1(c5256dcceded2e76f548b60c18e51d0dd0209d81) ) // eprom labeled RB-025/U80aA0 (blue label), really at location next to capacitor C4 on Z01DK-EXROM daughterboard
- ROM_LOAD( "rb-026.10.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom labeled RB-026/U80b10 (red label), really at location next to capacitor C5 on Z01DK-EXROM daughterboard
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) )
- ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) )
- ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) )
- ROM_LOAD( "rb-013.u68", 0x300000, 0x100000, CRC(28c37fe8) SHA1(e10dd1a810983077328b44e6e33ce2e899c506d2) )
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "rb-000.u43", 0x000000, 0x080000, CRC(58ad1a62) SHA1(1d2643b5f6eac22682972a88d284e00de3e3b223) )
- ROM_LOAD( "rb-003.00.u101", 0x080000, 0x080000, CRC(2cac25d7) SHA1(0412c317bf650a93051b9304d23035efde0c026a) ) /* eprom labeled RB-003/U43-00 however actual IC location is u101 */
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "rb-001.u44", 0x000000, 0x100000, CRC(7cf774b3) SHA1(3fb0a5096ce9480f97e311439042eb8cbc26efb4) )
- ROM_LOAD( "rb-002.u45", 0x100000, 0x100000, CRC(e4b30444) SHA1(be6756dce3721226e0b7f5d4d168008c31aeea8e) )
-ROM_END
-
-ROM_START( brapboyspu ) /* US 'special version' with EXROM sub board; Serial RB92A0008x/9x; suffix code -10 */
- ROM_REGION( 0x040000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "rb-030.10.u61", 0x000000, 0x020000, CRC(527eb92a) SHA1(64727675e58a4a71bea1d88d7f76f60929196505) ) /* eprom labeled RB-030/U61-10 (red label) */
- ROM_LOAD16_BYTE( "rb-031.10.u62", 0x000001, 0x020000, CRC(d5962bdd) SHA1(9badab4cc2a9064bd29c582d82ec0b003b9fb091) ) /* eprom labeled RB-031/U62-10 (red label) */
-
- ROM_REGION( 0x020000, "calc3_rom", 0 )/* MCU Data */
- ROM_LOAD( "rb-040.10.u33", 0x000000, 0x020000, CRC(0c90d758) SHA1(9b1a9856ab00f80f15bffc01276f636f92f0bd12) ) /* eprom labeled RB-040/U33-10 (red label)*/
-
- ROM_REGION( 0x1000000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "rb-020.u100", 0x000000, 0x100000, CRC(ce220d38) SHA1(b88d7c89a3e1a826bf19a1fa692ec77c944596d9) ) // rb-020 0013 mask rom; really at location next to capacitor C2 on Z01DK-EXROM daughterboard
- ROM_LOAD( "rb-021.u76", 0x100000, 0x100000, CRC(74001407) SHA1(90002056ceb4e0401246950b8c3f996af0a2463c) ) // rb-021 0014 mask rom
- ROM_LOAD( "rb-022.u77", 0x200000, 0x100000, CRC(cb3f42dc) SHA1(5415f15621924dd263b8fe7daaf3dc25d470b814) ) // rb-022 0015 mask rom
- ROM_LOAD( "rb-023.u78", 0x300000, 0x100000, CRC(0e6530c5) SHA1(72bff46f0672927e540f4f3546ae533dd0a231e0) ) // rb-023 0016 mask rom
- ROM_LOAD( "rb-024.u79", 0x400000, 0x080000, CRC(65fa6447) SHA1(551e540d7bf412753b4a7098e25e6f9d8774bcf4) ) // rb-023 0017 w29 mask rom, both halves identical when dumped as larger
- ROM_RELOAD( 0x480000, 0x080000 )
- ROM_LOAD( "rb-025.10.u80a", 0x500000, 0x080000, CRC(140fe400) SHA1(a764767aacec2f895f93256ab82125962c272951) ) // eprom labeled RB-025/U80a10 (red label), really at location next to capacitor C4 on Z01DK-EXROM daughterboard
- ROM_LOAD( "rb-026.10.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom labeled RB-026/U80b10 (red label), really at location next to capacitor C5 on Z01DK-EXROM daughterboard
-
- ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) ) // rb-010 0009 w17 mask rom
- ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) ) // rb-011 0010 w18 mask rom
- ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) ) // rb-012 0011 w21 mask rom
- ROM_LOAD( "rb-013.u68", 0x300000, 0x100000, CRC(28c37fe8) SHA1(e10dd1a810983077328b44e6e33ce2e899c506d2) ) // rb-013 0012 w22 mask rom
-
- ROM_REGION( 0x100000, "oki1", 0 )
- ROM_LOAD( "rb-000.u43", 0x000000, 0x080000, CRC(58ad1a62) SHA1(1d2643b5f6eac22682972a88d284e00de3e3b223) ) // rb-000 0006 w28 mask rom
- ROM_LOAD( "rb-003.00.u101", 0x080000, 0x080000, CRC(2cac25d7) SHA1(0412c317bf650a93051b9304d23035efde0c026a) ) /* eprom labeled RB-003/U43-00 (green label) however actual IC location is u101 */
-
- ROM_REGION( 0x200000, "oki2", 0 )
- ROM_LOAD( "rb-001.u44", 0x000000, 0x100000, CRC(7cf774b3) SHA1(3fb0a5096ce9480f97e311439042eb8cbc26efb4) ) // rb-001 0007 mask rom
- ROM_LOAD( "rb-002.u45", 0x100000, 0x100000, CRC(e4b30444) SHA1(be6756dce3721226e0b7f5d4d168008c31aeea8e) ) // rb-002 0008 w11 mask rom
-ROM_END
-
-/**********************************************************************
-
- Bonk's Adventure
-
-Bonk's Adventure
-Kaneko, 1994
-
-PCB Layout
-----------
-
-Z09AF-003
-|--------------------------------------------------------|
-| LA4460 PC604109.101 PAL 3664 3664 PC500105.55 |
-| M6295 PC603108.102 PAL |
-| M6295 PC602107.100 PAL VIEW2-CHIP |
-| PC601106.99 PAL |
-| PC400104.51 |
-| 3664 3664 |
-| 62256 |
-|J KANEKO 62256 VIEW2-CHIP |
-|A JAPAN |
-|M 9203T 424260 |
-|M |
-|A 62256 62256 6116 |
-| PRG.7 PRG.8 6116 KANEKO 424260 |
-| 3364 KC-002 PAL |
-| 62256 68000 3364 |
-| 62256 |
-| PAL PAL 20MHz |
-| PAL PAL 16MHz PC600106.42 |
-| PAL PC700107.43 |
-| MCU.124 PC200102.40 |
-| DSW(8) KANEKO 93C46 PC100101.37 PC300103.38 |
-| TBSOP01 27MHz 33.3333MHz |
-|--------------------------------------------------------|
-
-Notes:
- 68000 clock: 16.000MHz
- M6295 clock: 2.000MHz, Sample Rate: /165 (both)
- VSync: 60Hz
- HSync: 15.625kHz
-
- PC100-PC500: 16M MASK
- PC601-PC604: 8M MASK
- PC600-PC700: 27C4001
- PRG's: 27C4001
- MCU : 27C010
-
-**********************************************************************/
-
-ROM_START( bonkadv )
- ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
- ROM_LOAD16_BYTE( "prg.8", 0x000000, 0x080000, CRC(af2e60f8) SHA1(406f79e155d1244b84f8c89c25b37188e1b4f4a6) )
- ROM_LOAD16_BYTE( "prg.7", 0x000001, 0x080000, CRC(a1cc6a78) SHA1(a9cea21a6a0dfd3b0952664681c057190aa27f8c) )
-
- ROM_REGION( 0x020000, "mcudata", 0 ) /* MCU Code */
- ROM_LOAD16_WORD_SWAP( "mcu.124", 0x000000, 0x020000, CRC(9d4e2724) SHA1(9dd43703265e39f876877020a0ac3875de6faa8d) )
-
- ROM_REGION( 0x500000, "kan_spr", 0 ) /* Sprites */
- ROM_LOAD( "pc100101.37", 0x000000, 0x200000, CRC(c96e7c10) SHA1(607cc7745abc3ff820047e8a00060ece61646623) )
- ROM_LOAD( "pc200102.40", 0x200000, 0x100000, CRC(c2b7a26a) SHA1(1c8783442e0ccf30c5640866c5493f1dc1dd48f8) )
- ROM_LOAD( "pc300103.38", 0x300000, 0x100000, CRC(51ee162c) SHA1(b33afc7d1e9f55f191e08472e8c51ca931b0389d) )
- ROM_LOAD16_BYTE( "pc600106.42", 0x400000, 0x080000, CRC(25877026) SHA1(96814d97e9f9284f98c35edfe5e76677ac50dd97) )
- ROM_LOAD16_BYTE( "pc700107.43", 0x400001, 0x080000, CRC(bfe21c44) SHA1(9900a6fe4182b720a90d64d368bd0fd08bf936a8) )
-
- ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */
- ROM_LOAD( "pc400104.51", 0x000000, 0x100000, CRC(3b176f84) SHA1(0ad6fd5f03d275165490881173bafcb0a94762eb) )
-
- ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */
- ROM_LOAD( "pc500105.55", 0x000000, 0x100000, CRC(bebb3edc) SHA1(e0fed4307316deaeb811ec29f5022adeaf577a95) )
-
- ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */
- ROM_LOAD( "pc604109.101", 0x000000, 0x100000, CRC(76025530) SHA1(e0c8192d783057798eea084aa3e87938f6e01cb7) )
-
- ROM_REGION( 0x300000, "oki2", 0 ) /* Samples */
- ROM_LOAD( "pc601106.99", 0x000000, 0x100000, CRC(a893651c) SHA1(d221ce89f19a76be497724f6c16fab82c8a52661) )
- ROM_LOAD( "pc602107.100", 0x100000, 0x100000, CRC(0fbb23aa) SHA1(69b620375c65246317d7105fbc414f3c36e02b2c) )
- ROM_LOAD( "pc603108.102", 0x200000, 0x100000, CRC(58458985) SHA1(9a846d604ba901eb2a59d2b6cd9c42e3b43adb6a) )
-ROM_END
-
-
-
-void kaneko16_shogwarr_state::init_shogwarr()
-{
- // default sample banks
- common_oki_bank_install(0, 0x30000, 0x10000);
- common_oki_bank_install(1, 0x00000, 0x40000);
-}
-
-
-void kaneko16_shogwarr_state::init_brapboys()
-{
- // default sample banks
- common_oki_bank_install(0, 0x30000, 0x10000);
- common_oki_bank_install(1, 0x20000, 0x20000);
-}
-
-
-/***************************************************************************
-
-
- Game drivers
-
-
-***************************************************************************/
-
-GAME( 1991, berlwall, 0, berlwall, berlwall, kaneko16_berlwall_state, init_berlwall, ROT0, "Kaneko", "The Berlin Wall", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, berlwallt, berlwall, berlwall, berlwallt, kaneko16_berlwall_state, init_berlwallt, ROT0, "Kaneko", "The Berlin Wall (bootleg?)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, berlwallk, berlwall, berlwall, berlwallk, kaneko16_berlwall_state, init_berlwallk, ROT0, "Kaneko (Inter license)", "The Berlin Wall (Korea)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, packbang, 0, berlwall, packbang, kaneko16_berlwall_state, init_berlwall_common, ROT90, "Kaneko", "Pack'n Bang Bang (prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // priorities between stages?
-
-GAME( 1991, mgcrystl, 0, mgcrystl, mgcrystl, kaneko16_state, empty_init, ROT0, "Kaneko", "Magical Crystals (World, 92/01/10)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, mgcrystlo, mgcrystl, mgcrystl, mgcrystl, kaneko16_state, empty_init, ROT0, "Kaneko", "Magical Crystals (World, 91/12/10)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, mgcrystlj, mgcrystl, mgcrystl, mgcrystl, kaneko16_state, empty_init, ROT0, "Kaneko (Atlus license)", "Magical Crystals (Japan, 92/01/13)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, blazeon, 0, blazeon, blazeon, kaneko16_state, empty_init, ROT0, "A.I (Atlus license)", "Blaze On (World)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, blazeonj, blazeon, blazeon, blazeon, kaneko16_state, empty_init, ROT0, "A.I (Atlus license)", "Blaze On (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, explbrkr, 0, bakubrkr, bakubrkr, kaneko16_state, init_bakubrkr, ROT90, "Kaneko", "Explosive Breaker (World)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, explbrkrk, explbrkr, bakubrkr, bakubrkr, kaneko16_state, init_bakubrkr, ROT90, "Kaneko", "Explosive Breaker (Korea)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, bakubrkr, explbrkr, bakubrkr, bakubrkr, kaneko16_state, init_bakubrkr, ROT90, "Kaneko", "Bakuretsu Breaker (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, wingforc, 0, wingforc, wingforc, kaneko16_state, init_bakubrkr, ROT270,"A.I (Atlus license)", "Wing Force (Japan, prototype)", MACHINE_SUPPORTS_SAVE )
-
-GAME( 1994, bonkadv, 0, bonkadv, bonkadv, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "B.C. Kid / Bonk's Adventure / Kyukyoku!! PC Genjin", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, bloodwar, 0, bloodwar, bloodwar, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "Blood Warrior", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, oedfight, bloodwar, bloodwar, bloodwar, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "Oedo Fight (Japan Bloodshed Ver.)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, gtmr, 0, gtmr, gtmr, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (Taiwan 94/07/18)", MACHINE_SUPPORTS_SAVE ) // this set shows 'PCB by Jinwei Co Ltd. ROC', bootleg?
-GAME( 1994, gtmra, gtmr, gtmr, gtmr, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/06/13)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, gtmrb, gtmr, gtmr, gtmr, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/05/26)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, gtmro, gtmr, gtmr, gtmr, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/05/10)", MACHINE_SUPPORTS_SAVE ) // possible prototype
-GAME( 1994, gtmre, gtmr, gtmre, gtmr, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "Great 1000 Miles Rally: Evolution Model!!! (94/09/06)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, gtmrusa, gtmr, gtmre, gtmr, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "Great 1000 Miles Rally: U.S.A Version! (94/09/06)", MACHINE_SUPPORTS_SAVE ) // U.S.A version seems part of the title, rather than region
-GAME( 1995, gtmr2, 0, gtmr2, gtmr2, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/05/24)", MACHINE_SUPPORTS_SAVE )
-GAME( 1995, gtmr2a, gtmr2, gtmr2, gtmr2, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/04/04)", MACHINE_SUPPORTS_SAVE )
-GAME( 1995, gtmr2u, gtmr2, gtmr2, gtmr2, kaneko16_gtmr_state, init_gtmr, ROT0, "Kaneko", "Great 1000 Miles Rally 2 USA (95/05/18)", MACHINE_SUPPORTS_SAVE )
-
-GAME( 1992, brapboys, 0, brapboys, brapboys, kaneko16_shogwarr_state, init_brapboys, ROT0, "Kaneko", "B.Rap Boys (World)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, brapboysp, brapboys, brapboys, brapboys, kaneko16_shogwarr_state, init_brapboys, ROT0, "Kaneko", "B.Rap Boys Special (World)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, brapboyspj, brapboys, brapboys, brapboys, kaneko16_shogwarr_state, init_brapboys, ROT0, "Kaneko", "B.Rap Boys Special (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, brapboyspu, brapboys, brapboys, brapboys, kaneko16_shogwarr_state, init_brapboys, ROT0, "Kaneko", "B.Rap Boys Special (US)", MACHINE_SUPPORTS_SAVE )
-// these 3 are all the same code revision (differ by region byte + extra gfx roms/sample roms)
-GAME( 1992, shogwarr, 0, shogwarr, shogwarr, kaneko16_shogwarr_state, init_shogwarr, ROT0, "Kaneko", "Shogun Warriors (World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-GAME( 1992, shogwarrk, shogwarr, shogwarr, shogwarr, kaneko16_shogwarr_state, init_shogwarr, ROT0, "Kaneko", "Shogun Warriors (Korea?)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // censored Japanese flags etc.
-GAME( 1992, fjbuster, shogwarr, shogwarr, shogwarr, kaneko16_shogwarr_state, init_shogwarr, ROT0, "Kaneko", "Fujiyama Buster (Japan)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
-// different revision
-GAME( 1992, shogwarru, shogwarr, shogwarr, shogwarr, kaneko16_shogwarr_state, init_shogwarr, ROT0, "Kaneko", "Shogun Warriors (US)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )