diff options
Diffstat (limited to 'src/mame/drivers/slapfght.cpp')
-rw-r--r-- | src/mame/drivers/slapfght.cpp | 2069 |
1 files changed, 0 insertions, 2069 deletions
diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp deleted file mode 100644 index 0534bb87727..00000000000 --- a/src/mame/drivers/slapfght.cpp +++ /dev/null @@ -1,2069 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:K.Wilkins,Stephane Humbert -/*************************************************************************** - - Toaplan Slap Fight hardware - - Driver by K.Wilkins Jan 1998 - - Games supported: - Alcon / Slap Fight - Guardian / Get Star - Performan - Tiger Heli - - TODO: - - proper MCU emulation (mame/machine/slapfght.cpp) - - alcon cocktail/flipscreen, it doesn't write to the flipscreen reg - - -**************************************************************************** - -Main CPU Memory Map -------------------- - -$0000-$3fff ROM (SF_S19) -$4000-$7fff ROM (SF_S20) -$8000-$bfff ROM (SF_SH) - This is a 32K ROM - Paged ????? How ???? - -$c000-$c7ff 2K RAM -$c800-$cfff READ:Unknown H/W WRITE:Unknown H/W (Upper PCB) -$d000-$d7ff Background RAM1 -$d800-$dfff Background RAM2 -$e000-$e7ff Sprite RAM -$e800-$efff READ:Unknown H/W WRITE:Unknown H/W -$f000-$f7ff READ:SF_S16 WRITE:Character RAM -$f800-$ffff READ:Unknown H/W WRITE:Attribute RAM - -$c800-$cfff Appears to be RAM BUT 1st 0x10 bytes are swapped with - the sound CPU and visversa for READ OPERATIONS - - -Write I/O MAP -------------- -Addr Address based write Data based write - -$00 Reset sound CPU -$01 Clear sound CPU reset -$02 -$03 -$04 -$05 -$06 Clear/Disable Hardware interrupt -$07 Enable Hardware interrupt -$08 LOW Bank select for SF_SH X axis character scroll reg -$09 HIGH Bank select for SF_SH X axis pixel scroll reg -$0a -$0b -$0c Select 1st set of sprites colors -$0d Select 2nd set of sprites colors -$0e -$0f - -Read I/O Map ------------- - -$00 Status regsiter - cycle 0xc7, 0x55, 0x00 (Thanks to Dave Spicer for the info) - - -Known Info ----------- - -2K Character RAM at write only address $f000-$f7fff looks to be organised -64x32 chars with the screen rotated through 90 degrees clockwise. There -appears to be some kind of attribute(?) RAM above at $f800-$ffff organised -in the same manner. - -From the look of data in the buffer it is arranged thus: 37x32 (HxW) which -would make the overall frame buffer 296x256. - -Print function maybe around $09a2 based on info from log file. - -$e000 looks like sprite ram, setup routines at $0008. - - -Sound System CPU Details ------------------------- - -Memory Map -$0000-$1fff ROM(SF_S5) -$a080 AY-3-8910(PSG1) Register address -$a081 AY-3-8910(PSG1) Read register -$a082 AY-3-8910(PSG1) Write register -$a090 AY-3-8910(PSG2) Register address -$a091 AY-3-8910(PSG2) Read register -$a092 AY-3-8910(PSG2) Write register -$c800-$cfff RAM(2K) - -Strangely the RAM hardware registers seem to be overlaid at $c800 -$00a6 routine here reads I/O ports and stores in, its not a straight -copy, the data is mangled before storage: -PSG1-E -> $c808 -PSG1-F -> $c80b -PSG2-E -> $c809 -PSG2-F -> $c80a - DIP Switch Bank 2 (Test mode is here) - --------------------------------GET STAR------------------------------------ - following info by Luca Elia (l.elia@tin.it) - - Interesting locations - --------------------- - -c803 credits -c806 used as a watchdog: main cpu reads then writes FF. - If FF was read, jp 0000h. Sound cpu zeroes it. - -c807(1p) left 7 c809 DSW1(cpl'd) -c808(2p) down 6 c80a DSW2(cpl'd) -active_H right 5 c80b ip 1(cpl'd) - up 4 - 0 3 - 0 2 - but2 1 - but1 0 - -c21d(main) 1p lives - -Main cpu writes to unmapped ports 0e,0f,05,03 at startup. -Before playing, f1 is written to e802 and 00 to port 03. -If flip screen dsw is on, ff is written to e802 an 00 to port 02, instead. - - Interesting routines (main cpu) - ------------------------------- -4a3 wait A irq's -432 init the Ath sprite -569 reads a sequence from e803 -607 prints the Ath string (FF terminated). String info is stored at - 65bc in the form of: attribute, dest. address, string address (5 bytes) -b73 checks lives. If zero, writes 0 to port 04 then jp 0000h. - Before that, sets I to FF as a flag, for the startup ram check - routine, to not alter the credit counter. -1523 put name in hi-scores? - --------------------------------Performan----------------------------------- - Interesting RAM locations (Main CPU). - ------------------------------------- - -$8056 Hero counter -$8057 Level counter -$8006 - $8035 High score table -$8609 - $860f High score characters to display to screen for highest score - - -**************************************************************************** - -Stephh's notes (based on the games Z80 code and some tests) : - -0) all games - - - All these games have a specific way of handling inputs : - * when cabinet is set to "Upright", any player can use inputs - from player 1 OR from player 2 - * when cabinet is set to "Cocktail", each player has its own inputs - See Mantis bug ID 01746 attached files with Z80 explanations - - -1) 'tigerh' and clones - -1a) 'tigerh' - - - US version - - MCU dumped and emulated - -1b) 'tigerhj' - - - Japan version - - MCU dumped and emulated - -1c) 'tigerhb1' - - - Bootleg based on 'tigerhj' - - I can't tell if a specific MCU is required for this game : - * MCU status doesn't seem to be required - (see nop instructions at 0x10da, 0x10db, 0x10e5 and 0x10e6) - * there is patched code at 0x0f9c which is called instead of - standard call to 0x10cc, and there is no call to 0x0f88 - * there are writes to unknown ports 0x0e and 0x0f - * hardware test is still computed at 0x109d but there is - no delay to wait for correct value (0x83) to be returned - (thus the need of specific read/write handlers) - -1d) 'tigerhb2' - - - Bootleg based on 'tigerhj' - - MCU reads/writes are patched.as well as ROM check - -1e) 'tigerhb3' - - - Bootleg based on 'tigerhj' - - MCU reads/writes are patched. - - There is extra code at 0x10e2 (where MCU status was checked) - that prevents player to get any extra lives (even by collecting - 10 diamonds) when Dip Switch is set to "20k then every 80k" - (see Mantis bug ID 00652 with Z80 explanations). - - -2) 'grdian' and clones - -2a) 'grdian' - - - US version, licensed to Kitkorp - name "Guardian". - - MCU dumped and emulated. - - Difficulty determines the number of energy bars you get. - - Each hit removes 1 enegy bar. - - According to the manual, default difficulty shall be set to "Hard". - - You can only get ONE extra life. - - I don't know if it's an ingame bug, but you always have to enter - your initials after a game ends, even if you score less than 10th place. - -2b) 'getstarj' - - - Japan version - name "Get Star". - - MCU dumped and emulated. - - You always get 4 energy bars. - - Difficulty determines how many energy bars you lose when you get hit. - - I don't know what default difficulty shall be, so I set it to "Easy". - - You can get multiple extra lives. - -2c) 'getstarb1' - - - Bootleg based on 'getstarj' - - MCU reads/writes are patched, but this hasn't been done in the "test mode". - - The game seems to have its own protection on startup (check code at 0x6d1a). - -2d) 'getstarb2' - - - Bootleg based on 'getstarj' - - MCU reads/writes are patched, but this hasn't been done in the "test mode". - - The game seems to have its own protection (check code at 0x0569 and 0x0ac6). - - Patches are coded diffrently than in 'getstarb1' and code isn't always perfect - (lazy coding ?) which causes LOTS of ingames bugs or strange behaviours : - * patched command 0x20 : NO continue play - * patched command 0x21 : as soon as a player loses all his lives, - the game is over (even if other player still has lives) - * patched command 0x22 : difficulty is ALWAYS set to "Easy" at start - so "Difficulty" Dip Switches have no effect when you are playing - (it still has an effect in the "test mode" though) - * patched command 0x23 : different lives settings - (thus the need of a specific INPUT_PORTS definition for this game) - * patched command 0x25 : right and down directions are swapped - (thus the need of a specific INPUT_PORTS definition for this game) - * patched command 0x2a : player flag (which determines if player 1 or - player 2 is playing) is NOT updated, causing the following things : - . current player score will ALWAYS be dusplayed under player 1 - . when cabinet is set to "Cocktail", player 2 uses player 1 inputs - * patched command 0x38 : laser position does NOT change according to - player position (it ALWATS starts from the middle of the screen) - -***************************************************************************/ - -#include "emu.h" -#include "includes/slapfght.h" - -#include "cpu/z80/z80.h" -#include "cpu/m6805/m6805.h" -#include "machine/74259.h" -#include "sound/ay8910.h" -#include "speaker.h" - - -/*************************************************************************** - - Main Z80 I/O and Memory Maps - -***************************************************************************/ - -void slapfght_state::perfrman_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - map(0x8000, 0x87ff).ram(); - map(0x8800, 0x8fff).ram().share("share1"); - map(0x9000, 0x97ff).ram().w(FUNC(slapfght_state::videoram_w)).share("videoram"); - map(0x9800, 0x9fff).ram().w(FUNC(slapfght_state::colorram_w)).share("colorram"); - map(0xa000, 0xa7ff).ram().share("spriteram"); -} - - -void slapfght_state::tigerh_map(address_map &map) -{ - map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc7ff).ram(); - map(0xc800, 0xcfff).ram().share("share1"); - map(0xd000, 0xd7ff).ram().w(FUNC(slapfght_state::videoram_w)).share("videoram"); - map(0xd800, 0xdfff).ram().w(FUNC(slapfght_state::colorram_w)).share("colorram"); - map(0xe000, 0xe7ff).ram().share("spriteram"); - map(0xe800, 0xe800).w(FUNC(slapfght_state::scrollx_lo_w)); - map(0xe801, 0xe801).w(FUNC(slapfght_state::scrollx_hi_w)); - map(0xe802, 0xe802).w(FUNC(slapfght_state::scrolly_w)); - map(0xf000, 0xf7ff).ram().w(FUNC(slapfght_state::fixram_w)).share("fixvideoram"); - map(0xf800, 0xffff).ram().w(FUNC(slapfght_state::fixcol_w)).share("fixcolorram"); -} - -void slapfght_state::tigerh_map_mcu(address_map &map) -{ - tigerh_map(map); - map(0xe803, 0xe803).rw(m_bmcu, FUNC(taito68705_mcu_device::data_r), FUNC(taito68705_mcu_device::data_w)); -} - -void slapfght_state::tigerhb1_map(address_map &map) -{ - tigerh_map(map); - map(0xe803, 0xe803).rw(FUNC(slapfght_state::tigerhb1_prot_r), FUNC(slapfght_state::tigerhb1_prot_w)); -} - -void slapfght_state::tigerhb2_map(address_map &map) -{ - tigerh_map(map); - map(0xe803, 0xe803).noprw(); // no MCU -} - - -void slapfght_state::slapfigh_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - map(0x8000, 0xbfff).bankr("bank1"); - map(0xc000, 0xc7ff).ram(); - map(0xc800, 0xcfff).ram().share("share1"); - map(0xd000, 0xd7ff).ram().w(FUNC(slapfght_state::videoram_w)).share("videoram"); - map(0xd800, 0xdfff).ram().w(FUNC(slapfght_state::colorram_w)).share("colorram"); - map(0xe000, 0xe7ff).ram().share("spriteram"); - map(0xe800, 0xe800).w(FUNC(slapfght_state::scrollx_lo_w)); - map(0xe801, 0xe801).w(FUNC(slapfght_state::scrollx_hi_w)); - map(0xe802, 0xe802).w(FUNC(slapfght_state::scrolly_w)); - map(0xf000, 0xf7ff).ram().w(FUNC(slapfght_state::fixram_w)).share("fixvideoram"); - map(0xf800, 0xffff).ram().w(FUNC(slapfght_state::fixcol_w)).share("fixcolorram"); -} - -void slapfght_state::slapfigh_map_mcu(address_map &map) -{ - slapfigh_map(map); - map(0xe803, 0xe803).rw(m_bmcu, FUNC(taito68705_mcu_device::data_r), FUNC(taito68705_mcu_device::data_w)); -} - -void slapfght_state::slapfighb1_map(address_map &map) -{ - slapfigh_map(map); - map(0xe803, 0xe803).noprw(); // no MCU -} - -void slapfght_state::getstar_map(address_map &map) -{ - slapfigh_map(map); - map(0xe803, 0xe803).rw(FUNC(slapfght_state::getstar_mcusim_r), FUNC(slapfght_state::getstar_mcusim_w)); -} - -void slapfght_state::slapfighb2_map(address_map &map) -{ - map(0x0000, 0x7fff).rom(); - map(0x8000, 0xbfff).bankr("bank1"); - map(0xc000, 0xc7ff).ram(); - map(0xc800, 0xcfff).ram().share("share1"); - map(0xd000, 0xd7ff).ram().w(FUNC(slapfght_state::videoram_w)).share("videoram"); - map(0xd800, 0xdfff).ram().w(FUNC(slapfght_state::colorram_w)).share("colorram"); - map(0xe000, 0xe7ff).ram().share("spriteram"); - map(0xe800, 0xe800).w(FUNC(slapfght_state::scrollx_hi_w)); - map(0xe802, 0xe802).w(FUNC(slapfght_state::scrolly_w)); - map(0xe803, 0xe803).w(FUNC(slapfght_state::scrollx_lo_w)); - map(0xec00, 0xefff).rom(); // it reads a copy of the logo from here! - map(0xf000, 0xf7ff).ram().w(FUNC(slapfght_state::fixram_w)).share("fixvideoram"); - map(0xf800, 0xffff).ram().w(FUNC(slapfght_state::fixcol_w)).share("fixcolorram"); -} - - -/**************************************************************************/ - -WRITE_LINE_MEMBER(slapfght_state::vblank_irq) -{ - if (state && m_main_irq_enabled) - m_maincpu->set_input_line(0, ASSERT_LINE); -} - -WRITE_LINE_MEMBER(slapfght_state::irq_enable_w) -{ - m_main_irq_enabled = state ? true : false; - - if (!m_main_irq_enabled) - m_maincpu->set_input_line(0, CLEAR_LINE); -} - -WRITE_LINE_MEMBER(slapfght_state::sound_reset_w) -{ - m_audiocpu->set_input_line(INPUT_LINE_RESET, state ? CLEAR_LINE : ASSERT_LINE); - - if (state == 0) - m_sound_nmi_enabled = false; -} - -READ8_MEMBER(slapfght_state::vblank_r) -{ - return m_screen->vblank() ? 1 : 0; -} - -void slapfght_state::io_map_nomcu(address_map &map) -{ - map.global_mask(0xff); - map(0x00, 0x00).r(FUNC(slapfght_state::vblank_r)); - map(0x00, 0x0f).w("mainlatch", FUNC(ls259_device::write_a0)); -} - -void slapfght_state::io_map_mcu(address_map &map) -{ - map.global_mask(0xff); - map(0x00, 0x00).r(FUNC(slapfght_state::tigerh_mcu_status_r)); - map(0x00, 0x0f).w("mainlatch", FUNC(ls259_device::write_a0)); -} - -void slapfght_state::getstarb1_io_map(address_map &map) -{ - map.global_mask(0xff); - map(0x00, 0x00).r(FUNC(slapfght_state::getstarb1_prot_r)); - map(0x00, 0x0f).w("mainlatch", FUNC(ls259_device::write_a0)); -} - -void slapfght_state::getstarb2_io_map(address_map &map) -{ - map.global_mask(0xff); - map(0x00, 0x00).r(FUNC(slapfght_state::getstar_mcusim_status_r)); - map(0x00, 0x0f).w("mainlatch", FUNC(ls259_device::write_a0)); -} - - - -/*************************************************************************** - - Sound Z80 I/O Memory Maps - -***************************************************************************/ - -INTERRUPT_GEN_MEMBER(slapfght_state::sound_nmi) -{ - if (m_sound_nmi_enabled) - device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); -} - -WRITE8_MEMBER(slapfght_state::sound_nmi_enable_w) -{ - m_sound_nmi_enabled = offset ? false : true; -} - -void slapfght_state::perfrman_sound_map(address_map &map) -{ - map(0x0000, 0x1fff).rom(); - map(0x8800, 0x8fff).ram().share("share1"); - map(0xa080, 0xa080).w("ay1", FUNC(ay8910_device::address_w)); - map(0xa081, 0xa081).r("ay1", FUNC(ay8910_device::data_r)); - map(0xa082, 0xa082).w("ay1", FUNC(ay8910_device::data_w)); - map(0xa090, 0xa090).w("ay2", FUNC(ay8910_device::address_w)); - map(0xa091, 0xa091).r("ay2", FUNC(ay8910_device::data_r)); - map(0xa092, 0xa092).w("ay2", FUNC(ay8910_device::data_w)); - map(0xa0e0, 0xa0e0).select(0x0010).w(FUNC(slapfght_state::sound_nmi_enable_w)); -} - -void slapfght_state::tigerh_sound_map(address_map &map) -{ - map(0x0000, 0x1fff).rom(); - map(0xa080, 0xa080).w("ay1", FUNC(ay8910_device::address_w)); - map(0xa081, 0xa081).r("ay1", FUNC(ay8910_device::data_r)); - map(0xa082, 0xa082).w("ay1", FUNC(ay8910_device::data_w)); - map(0xa090, 0xa090).w("ay2", FUNC(ay8910_device::address_w)); - map(0xa091, 0xa091).r("ay2", FUNC(ay8910_device::data_r)); - map(0xa092, 0xa092).w("ay2", FUNC(ay8910_device::data_w)); - map(0xa0e0, 0xa0e0).select(0x0010).w(FUNC(slapfght_state::sound_nmi_enable_w)); - map(0xc800, 0xcfff).ram().share("share1"); - map(0xd000, 0xffff).ram(); -} - - - - -/*************************************************************************** - - Inputs - -***************************************************************************/ - -static INPUT_PORTS_START( slapfght_generic ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 ) - - PORT_START("DSW1") - PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:8,7,6") -// PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_SERVICE_DIPLOC(0x40, IP_ACTIVE_LOW, "SW1:2" ) - PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:1" ) - - PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:8,7") - PORT_DIPSETTING( 0x01, "1" ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x03, "3" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,5") - PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - /* Filled by "Bonus Lives" settings */ - PORT_DIPUNUSED_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:4" ) - PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:2" ) - PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:1" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( perfrman ) - PORT_INCLUDE(slapfght_generic) - - PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x20, 0x20, "Intermissions" ) PORT_DIPLOCATION("SW1:3") /* "Screen Test" in the "test mode" */ - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_MODIFY("DSW2") - PORT_DIPNAME( 0xf0, 0x70, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,3,2,1") - PORT_DIPSETTING( 0xb0, "20k, 120k, then every 100k" ) - PORT_DIPSETTING( 0xa0, "40k, 120k, then every 100k" ) - PORT_DIPSETTING( 0x90, "60k, 160k, then every 100k" ) - PORT_DIPSETTING( 0x80, "Every 100k" ) - PORT_DIPSETTING( 0x70, "20k, 220k, then every 200k" ) - PORT_DIPSETTING( 0x60, "40k, 240k, then every 200k" ) - PORT_DIPSETTING( 0x50, "60k, 260k, then every 200k" ) - PORT_DIPSETTING( 0x40, "Every 200k" ) - PORT_DIPSETTING( 0x30, "20k, 320k, then every 300k" ) - PORT_DIPSETTING( 0x20, "40k, 340k, then every 300k" ) - PORT_DIPSETTING( 0x10, "60k, 360k, then every 300k" ) - PORT_DIPSETTING( 0x00, "Every 300k" ) - PORT_DIPSETTING( 0xf0, "20k only" ) - PORT_DIPSETTING( 0xe0, "40k only" ) - PORT_DIPSETTING( 0xd0, "60k only" ) - PORT_DIPSETTING( 0xc0, DEF_STR( None ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( tigerh ) - PORT_INCLUDE(slapfght_generic) - - PORT_MODIFY("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL - - PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x80, 0x00, "Player Speed" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x00, "Fast" ) - - PORT_MODIFY("DSW2") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:8,7") - PORT_DIPSETTING( 0x01, "1" ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x03, "3" ) - PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,5") - PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4") // see notes for 'tigerhb3' - PORT_DIPSETTING( 0x10, "20k and every 80k" ) - PORT_DIPSETTING( 0x00, "50k and every 120k" ) - PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:3" ) - PORT_DIPUNUSED_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:2" ) - PORT_DIPUNUSED_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:1" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( slapfigh ) - PORT_INCLUDE(slapfght_generic) - - PORT_MODIFY("DSW1") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:8,7") - PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:6,5") - PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Screen Test" ) PORT_CODE(KEYCODE_F1) PORT_TOGGLE PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) PORT_DIPLOCATION("SW1:1") - - PORT_MODIFY("DSW2") - PORT_DIPUNUSED_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:8" ) - PORT_SERVICE_DIPLOC(0x02, IP_ACTIVE_LOW, "SW2:7" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:6,5") - PORT_DIPSETTING( 0x08, "1" ) - PORT_DIPSETTING( 0x00, "2" ) - PORT_DIPSETTING( 0x0c, "3" ) - PORT_DIPSETTING( 0x04, "5" ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,3") - PORT_DIPSETTING( 0x30, "30000 100000" ) - PORT_DIPSETTING( 0x10, "50000 200000" ) - PORT_DIPSETTING( 0x20, "50000" ) - PORT_DIPSETTING( 0x00, "100000" ) - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:2,1") - PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( getstar ) - PORT_INCLUDE(slapfght_generic) - - PORT_MODIFY("DSW2") - /* harder default difficulty (confirmed by manual) */ - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,5") - PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4,3") - PORT_DIPSETTING( 0x30, "50k only" ) - PORT_DIPSETTING( 0x20, "100k only" ) - PORT_DIPSETTING( 0x10, "150k only" ) - PORT_DIPSETTING( 0x00, "200k only" ) -INPUT_PORTS_END - -static INPUT_PORTS_START( getstarj ) - PORT_INCLUDE(getstar) - - /* easier default difficulty (to be confirmed) and different bonus lives settings */ - PORT_MODIFY("DSW2") - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,5") - PORT_DIPSETTING( 0x0c, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Medium ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING( 0x10, "30k, 130k, then every 100k" ) - PORT_DIPSETTING( 0x00, "50k, 200k, then every 150k" ) - PORT_DIPUNUSED_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:3" ) -INPUT_PORTS_END - -static INPUT_PORTS_START( getstarb2 ) - PORT_INCLUDE(getstarj) - - /* RIGHT and DOWN are swapped due to code at 0x0551 */ - PORT_MODIFY("IN0") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL - - /* different lives settings due to code at 0x0e36 */ - PORT_MODIFY("DSW2") - PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:8,7") - PORT_DIPSETTING( 0x02, "3" ) - PORT_DIPSETTING( 0x01, "4" ) - PORT_DIPSETTING( 0x00, "5" ) - PORT_DIPSETTING( 0x03, "240 (Cheat)") - /* difficulty settings have no effect due to code at 0x0e7c */ - /* I don't mark the Dips as "unused" because they are still read in the "test mode" */ -INPUT_PORTS_END - - - -/*************************************************************************** - - Driver/Machine Inits - -***************************************************************************/ - -void slapfght_state::machine_start() -{ - // zerofill - m_palette_bank = 0; - m_scrollx_lo = 0; - m_scrollx_hi = 0; - m_scrolly = 0; - m_main_irq_enabled = false; - m_sound_nmi_enabled = false; - - - - m_getstar_status = 0; - m_getstar_sequence_index = 0; - m_getstar_status_state = 0; - m_getstar_cmd = 0; - m_gs_a = 0; - m_gs_d = 0; - m_gs_e = 0; - m_tigerhb_cmd = 0; - - // savestates - save_item(NAME(m_palette_bank)); - save_item(NAME(m_scrollx_lo)); - save_item(NAME(m_scrollx_hi)); - save_item(NAME(m_scrolly)); - save_item(NAME(m_main_irq_enabled)); - save_item(NAME(m_sound_nmi_enabled)); - - - save_item(NAME(m_getstar_status)); - save_item(NAME(m_getstar_sequence_index)); - save_item(NAME(m_getstar_status_state)); - save_item(NAME(m_getstar_cmd)); - save_item(NAME(m_gs_a)); - save_item(NAME(m_gs_d)); - save_item(NAME(m_gs_e)); - save_item(NAME(m_tigerhb_cmd)); -} - -void slapfght_state::machine_reset() -{ - m_getstar_status = 0xc7; - m_getstar_status_state = 0; - m_getstar_sequence_index = 0; - - // reset sound - m_sound_nmi_enabled = false; - m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); -} - -/**************************************************************************/ - -void slapfght_state::init_banks() -{ - uint8_t *ROM = memregion("maincpu")->base(); - membank("bank1")->configure_entries(0, 2, &ROM[0x10000], 0x4000); - - membank("bank1")->set_entry(0); -} - -void slapfght_state::init_slapfigh() -{ - init_banks(); -} - -void slapfght_state::init_getstarb1() -{ - m_getstar_id = GETSTARB1; - init_banks(); - - /* requires this or it gets stuck with 'rom test' on screen */ - /* it is possible the program roms are slighly corrupt like the gfx roms, or - that the bootleg simply shouldn't execute the code due to the modified roms */ - /* TODO: find & fix the cause of the following happening. */ - uint8_t *ROM = memregion("maincpu")->base(); - ROM[0x6d56] = 0xc3; // jp instead of jp z -} - -void slapfght_state::init_getstarb2() -{ - m_getstar_id = GETSTARB2; - init_banks(); -} - - - -/*************************************************************************** - - GFX Decode, Chip Interfaces - -***************************************************************************/ - -static const gfx_layout charlayout = -{ - 8,8, /* 8*8 characters */ - RGN_FRAC(1,2), /* 1024 characters */ - 2, /* 2 bits per pixel */ - { RGN_FRAC(0,2), RGN_FRAC(1,2) }, - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every char takes 8 consecutive bytes */ -}; - -static const gfx_layout tilelayout = -{ - 8,8, /* 8*8 tiles */ - RGN_FRAC(1,4), /* 2048/4096 tiles */ - 4, /* 4 bits per pixel */ - { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every tile takes 8 consecutive bytes */ -}; - -static const gfx_layout spritelayout = -{ - 16,16, /* 16*16 sprites */ - RGN_FRAC(1,4), /* 512/1024 sprites */ - 4, /* 4 bits per pixel */ - { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, - { 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10 ,11, 12, 13, 14, 15 }, - { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, - 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 }, - 32*8 /* every sprite takes 64 consecutive bytes */ -}; - -static const gfx_layout perfrman_charlayout = -{ - 8,8, /* 8*8 characters */ - RGN_FRAC(1,3), /* 1024 characters */ - 3, /* 3 bits per pixel */ - { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) }, - { 0, 1, 2, 3, 4, 5, 6, 7 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 /* every char takes 8 consecutive bytes */ -}; - -static const gfx_layout perfrman_spritelayout = -{ - 16,16, /* 16*16 sprites */ - RGN_FRAC(1,3), /* 256 sprites */ - 3, /* 3 bits per pixel */ - { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) }, - { 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10 ,11, 12, 13, 14, 15 }, - { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, - 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16 }, - 32*8 -}; - - -static GFXDECODE_START( gfx_perfrman ) - GFXDECODE_ENTRY( "gfx1", 0, perfrman_charlayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx2", 0, perfrman_spritelayout, 128, 16 ) -GFXDECODE_END - -static GFXDECODE_START( gfx_slapfght ) - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) - GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 16 ) -GFXDECODE_END - - - -/*************************************************************************** - - Machine Drivers - -***************************************************************************/ - -void slapfght_state::perfrman(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_maincpu, XTAL(16'000'000)/4); // 4MHz? XTAL is known, divider is guessed - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::perfrman_map); - m_maincpu->set_addrmap(AS_IO, &slapfght_state::io_map_nomcu); - - ls259_device &mainlatch(LS259(config, "mainlatch")); - mainlatch.q_out_cb<0>().set(FUNC(slapfght_state::sound_reset_w)); - mainlatch.q_out_cb<1>().set(FUNC(slapfght_state::flipscreen_w)); - mainlatch.q_out_cb<3>().set(FUNC(slapfght_state::irq_enable_w)); - mainlatch.q_out_cb<6>().set(FUNC(slapfght_state::palette_bank_w)); - - Z80(config, m_audiocpu, XTAL(16'000'000)/8); // 2MHz? XTAL is known, divider is guessed - m_audiocpu->set_addrmap(AS_PROGRAM, &slapfght_state::perfrman_sound_map); - m_audiocpu->set_periodic_int(FUNC(slapfght_state::sound_nmi), attotime::from_hz(240)); // music speed, verified - - config.set_perfect_quantum(m_maincpu); - - /* video hardware */ - BUFFERED_SPRITERAM8(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(64*8, 32*8); - m_screen->set_visarea(0*8, 32*8-1, 2*8, 32*8-1); - m_screen->set_screen_update(FUNC(slapfght_state::screen_update_perfrman)); - m_screen->screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising)); - m_screen->screen_vblank().append(FUNC(slapfght_state::vblank_irq)); - m_screen->set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_perfrman); - PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256); - MCFG_VIDEO_START_OVERRIDE(slapfght_state, perfrman) - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ay8910_device &ay1(AY8910(config, "ay1", XTAL(16'000'000)/8)); - ay1.port_a_read_callback().set_ioport("IN0"); - ay1.port_b_read_callback().set_ioport("IN1"); - ay1.add_route(ALL_OUTPUTS, "mono", 0.25); - - ay8910_device &ay2(AY8910(config, "ay2", XTAL(16'000'000)/8)); - ay2.port_a_read_callback().set_ioport("DSW1"); - ay2.port_b_read_callback().set_ioport("DSW2"); - ay2.add_route(ALL_OUTPUTS, "mono", 0.25); -} - - -void slapfght_state::tigerh(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_maincpu, XTAL(36'000'000)/6); // 6MHz - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::tigerh_map_mcu); - m_maincpu->set_addrmap(AS_IO, &slapfght_state::io_map_mcu); - - ls259_device &mainlatch(LS259(config, "mainlatch")); - mainlatch.q_out_cb<0>().set(FUNC(slapfght_state::sound_reset_w)); - mainlatch.q_out_cb<1>().set(FUNC(slapfght_state::flipscreen_w)); - mainlatch.q_out_cb<3>().set(FUNC(slapfght_state::irq_enable_w)); - - Z80(config, m_audiocpu, XTAL(36'000'000)/12); // 3MHz - m_audiocpu->set_addrmap(AS_PROGRAM, &slapfght_state::tigerh_sound_map); - m_audiocpu->set_periodic_int(FUNC(slapfght_state::sound_nmi), attotime::from_hz(360)); // music speed, verified with pcb recording - - TAITO68705_MCU_TIGER(config, m_bmcu, 36_MHz_XTAL/12); // 3MHz - - config.set_perfect_quantum(m_maincpu); - - /* video hardware */ - BUFFERED_SPRITERAM8(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(64*8, 32*8); - m_screen->set_visarea(1*8, 36*8-1, 2*8-1, 32*8-1-1); - m_screen->set_screen_update(FUNC(slapfght_state::screen_update_slapfight)); - m_screen->screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising)); - m_screen->screen_vblank().append(FUNC(slapfght_state::vblank_irq)); - m_screen->set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_slapfght); - PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256); - MCFG_VIDEO_START_OVERRIDE(slapfght_state, slapfight) - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ay8910_device &ay1(AY8910(config, "ay1", XTAL(36'000'000)/24)); // 1.5MHz - ay1.port_a_read_callback().set_ioport("IN0"); - ay1.port_b_read_callback().set_ioport("IN1"); - ay1.add_route(ALL_OUTPUTS, "mono", 0.25); - - ay8910_device &ay2(AY8910(config, "ay2", XTAL(36'000'000)/24)); // 1.5MHz - ay2.port_a_read_callback().set_ioport("DSW1"); - ay2.port_b_read_callback().set_ioport("DSW2"); - ay2.add_route(ALL_OUTPUTS, "mono", 0.25); -} - -void slapfght_state::tigerhb1(machine_config &config) -{ - tigerh(config); - - /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::tigerhb1_map); - m_maincpu->set_addrmap(AS_IO, &slapfght_state::io_map_nomcu); - - config.device_remove("bmcu"); -} - -void slapfght_state::tigerhb2(machine_config &config) -{ - tigerhb1(config); - - /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::tigerhb2_map); -} - -void slapfght_state::tigerhb4(machine_config &config) -{ - tigerhb2(config); - - // TODO: hook up - m68705p_device &mcu(M68705P5(config, "mcu", 6000000)); // unverified clock - mcu.porta_r().set_log("port A read"); - mcu.portb_r().set_log("port B read"); - mcu.portc_r().set_log("port C read"); - mcu.porta_w().set([this](uint8_t data) { logerror("port a write: %02x\n", data); }); - mcu.portb_w().set([this](uint8_t data) { logerror("port b write: %02x\n", data); }); - mcu.portc_w().set([this](uint8_t data) { logerror("port c write: %02x\n", data); }); -} - -void slapfght_state::slapfigh(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_maincpu, XTAL(36'000'000)/6); // 6MHz - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::slapfigh_map_mcu); - m_maincpu->set_addrmap(AS_IO, &slapfght_state::io_map_mcu); - - ls259_device &mainlatch(LS259(config, "mainlatch")); - mainlatch.q_out_cb<0>().set(FUNC(slapfght_state::sound_reset_w)); - mainlatch.q_out_cb<1>().set(FUNC(slapfght_state::flipscreen_w)); - mainlatch.q_out_cb<3>().set(FUNC(slapfght_state::irq_enable_w)); - mainlatch.q_out_cb<4>().set_membank("bank1"); - - Z80(config, m_audiocpu, XTAL(36'000'000)/12); // 3MHz - m_audiocpu->set_addrmap(AS_PROGRAM, &slapfght_state::tigerh_sound_map); - m_audiocpu->set_periodic_int(FUNC(slapfght_state::sound_nmi), attotime::from_hz(180)); - - TAITO68705_MCU(config, m_bmcu, 36_MHz_XTAL/12); // 3MHz - m_bmcu->aux_strobe_cb().set(FUNC(slapfght_state::scroll_from_mcu_w)); - - config.set_perfect_quantum(m_maincpu); - - /* video hardware */ - BUFFERED_SPRITERAM8(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(64*8, 32*8); - m_screen->set_visarea(1*8, 36*8-1, 2*8-1, 32*8-1-1); - m_screen->set_screen_update(FUNC(slapfght_state::screen_update_slapfight)); - m_screen->screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising)); - m_screen->screen_vblank().append(FUNC(slapfght_state::vblank_irq)); - m_screen->set_palette(m_palette); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_slapfght); - PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256); - MCFG_VIDEO_START_OVERRIDE(slapfght_state, slapfight) - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ay8910_device &ay1(AY8910(config, "ay1", XTAL(36'000'000)/24)); // 1.5MHz - ay1.port_a_read_callback().set_ioport("IN0"); - ay1.port_b_read_callback().set_ioport("IN1"); - ay1.add_route(ALL_OUTPUTS, "mono", 0.25); - - ay8910_device &ay2(AY8910(config, "ay2", XTAL(36'000'000)/24)); // 1.5MHz - ay2.port_a_read_callback().set_ioport("DSW1"); - ay2.port_b_read_callback().set_ioport("DSW2"); - ay2.add_route(ALL_OUTPUTS, "mono", 0.25); -} - -void slapfght_state::slapfighb1(machine_config &config) -{ - slapfigh(config); - - /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::slapfighb1_map); - m_maincpu->set_addrmap(AS_IO, &slapfght_state::io_map_nomcu); - - config.device_remove("bmcu"); -} - -void slapfght_state::slapfighb2(machine_config &config) -{ - slapfighb1(config); - - /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::slapfighb2_map); -} - -void slapfght_state::getstarb1(machine_config &config) -{ - slapfighb1(config); - - /* basic machine hardware */ - m_maincpu->set_addrmap(AS_IO, &slapfght_state::getstarb1_io_map); -} - -void slapfght_state::getstarb2(machine_config &config) -{ - slapfighb1(config); - - /* basic machine hardware */ - m_maincpu->set_addrmap(AS_PROGRAM, &slapfght_state::getstar_map); - m_maincpu->set_addrmap(AS_IO, &slapfght_state::getstarb2_io_map); -} - - - -/*************************************************************************** - - Game Drivers - -***************************************************************************/ - -ROM_START( perfrman ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* Main CPU code */ - ROM_LOAD( "ci07.0", 0x0000, 0x4000, CRC(7ad32eea) SHA1(e5b29793e9c8c5c9322ca2af468a9810a598c0ae) ) - ROM_LOAD( "ci08.1", 0x4000, 0x4000, CRC(90a02d5f) SHA1(9f2d2ce70a5bc96fc9d268e2b24533f73361225c) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU code */ - ROM_LOAD( "ci06.4", 0x0000, 0x2000, CRC(df891ad0) SHA1(0d33e7d0562831382f48d1588ef20a1bc73be71a) ) - - ROM_REGION( 0x6000, "gfx1", 0 ) /* Tiles */ - ROM_LOAD( "ci02.7", 0x0000, 0x2000, CRC(8efa960a) SHA1(d547ea23f2dd622500bf3f38cd9aca4e80aa27ca) ) - ROM_LOAD( "ci01.6", 0x2000, 0x2000, CRC(2e8e69df) SHA1(183c1868f0c94a2a82709f9c38020ee81c283051) ) - ROM_LOAD( "ci00.5", 0x4000, 0x2000, CRC(79e191f8) SHA1(3a755857dab147b73761aebfcf931dc3c87286a4) ) - - ROM_REGION( 0x6000, "gfx2", 0 ) /* Sprites */ - ROM_LOAD( "ci05.10", 0x0000, 0x2000, CRC(809a4ccc) SHA1(bca5a27abe205a65e1160d0c0c61e9831a949acc) ) - ROM_LOAD( "ci04.9", 0x2000, 0x2000, CRC(026f27b3) SHA1(a222d31368fa5117824f5a14a1e52f01326e1f63) ) - ROM_LOAD( "ci03.8", 0x4000, 0x2000, CRC(6410d9eb) SHA1(7e57de9255cbcacb4610cabb1364e2a4933ec12b) ) - - ROM_REGION( 0x300, "proms", 0 ) /* Color BPROMs */ - ROM_LOAD( "ci14.16", 0x000, 0x0100, CRC(515f8a3b) SHA1(a99d4c119f6c4c6cd1b3fd208eadfb69ef7e8e2d) ) - ROM_LOAD( "ci13.15", 0x100, 0x0100, CRC(a9a397eb) SHA1(a84cf23efa0cf3e97b8dd1fff868c85d7eda1253) ) - ROM_LOAD( "ci12.14", 0x200, 0x0100, CRC(67f86e3d) SHA1(b1240212ea91cf451dbd7c6e2bfccbac76568cf6) ) - - ROM_REGION( 0x220, "user1", 0 ) - ROM_LOAD( "ci11.11", 0x000, 0x0100, CRC(d492e6c2) SHA1(5789adda3a63ef8656ebd012416fcf3f991241fe) ) - ROM_LOAD( "ci10.12", 0x100, 0x0100, CRC(59490887) SHA1(c894edecbcfc67972ad893cd7c8197d07862a20a) ) - ROM_LOAD( "ci09.13", 0x200, 0x0020, CRC(aa0ca5a5) SHA1(4c45be71658f40ebb05634febba5822f1a8a7f79) ) -ROM_END - -ROM_START( perfrmanu ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* Main CPU code */ - ROM_LOAD( "ci07.0", 0x0000, 0x4000, CRC(7ad32eea) SHA1(e5b29793e9c8c5c9322ca2af468a9810a598c0ae) ) - ROM_LOAD( "ci108r5.1", 0x4000, 0x4000, CRC(9d373efa) SHA1(b1d87e033ee3c50cfc56db05891b00b7bc236733) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU code */ - ROM_LOAD( "ci06.4", 0x0000, 0x2000, CRC(df891ad0) SHA1(0d33e7d0562831382f48d1588ef20a1bc73be71a) ) - - ROM_REGION( 0x6000, "gfx1", 0 ) /* Tiles */ - ROM_LOAD( "ci02.7", 0x0000, 0x2000, CRC(8efa960a) SHA1(d547ea23f2dd622500bf3f38cd9aca4e80aa27ca) ) - ROM_LOAD( "ci01.6", 0x2000, 0x2000, CRC(2e8e69df) SHA1(183c1868f0c94a2a82709f9c38020ee81c283051) ) - ROM_LOAD( "ci00.5", 0x4000, 0x2000, CRC(79e191f8) SHA1(3a755857dab147b73761aebfcf931dc3c87286a4) ) - - ROM_REGION( 0x6000, "gfx2", 0 ) /* Sprites */ - ROM_LOAD( "ci05.10", 0x0000, 0x2000, CRC(809a4ccc) SHA1(bca5a27abe205a65e1160d0c0c61e9831a949acc) ) - ROM_LOAD( "ci04.9", 0x2000, 0x2000, CRC(026f27b3) SHA1(a222d31368fa5117824f5a14a1e52f01326e1f63) ) - ROM_LOAD( "ci03.8", 0x4000, 0x2000, CRC(6410d9eb) SHA1(7e57de9255cbcacb4610cabb1364e2a4933ec12b) ) - - ROM_REGION( 0x300, "proms", 0 ) /* Color BPROMs */ - ROM_LOAD( "ci14.16", 0x0000, 0x0100, CRC(515f8a3b) SHA1(a99d4c119f6c4c6cd1b3fd208eadfb69ef7e8e2d) ) - ROM_LOAD( "ci13.15", 0x0100, 0x0100, CRC(a9a397eb) SHA1(a84cf23efa0cf3e97b8dd1fff868c85d7eda1253) ) - ROM_LOAD( "ci12.14", 0x0200, 0x0100, CRC(67f86e3d) SHA1(b1240212ea91cf451dbd7c6e2bfccbac76568cf6) ) - - ROM_REGION( 0x220, "user1", 0 ) - ROM_LOAD( "ci11.11", 0x0000, 0x0100, CRC(d492e6c2) SHA1(5789adda3a63ef8656ebd012416fcf3f991241fe) ) - ROM_LOAD( "ci10.12", 0x0100, 0x0100, CRC(59490887) SHA1(c894edecbcfc67972ad893cd7c8197d07862a20a) ) - ROM_LOAD( "ci09r1.13", 0x0200, 0x0020, CRC(d9e92f6f) SHA1(7dc2939267b7d2b1eeeca906cc6151fab2cf1cc4) ) -ROM_END - - -/* -Tiger Heli -1985 Taito Corporation - -The Tiger Heli PCB is almost exactly the same PCB as Slap Fight/Alcon but a few chips -have different placings and there's more EPROM locations on one of the boards -(although they're not populated). -Also, Tiger Heli has a 22-way edge connector, while Alcon/Slap Fight is JAMMA. - - -PCB Layouts - Top Board ------------------------ - -Tiger Heli - M6100111A - 850011401 - -GX-511-A MADE IN JAPAN -|--------------------------------------------------| -|VOL ROM21.12Q 2148 | -|MB3712 2148 | -| ROM19.12P 2148 | -| 2148 | -| ROM20.12M 6264 | -| | -| 6264 | -| | -|2 A47_13.8J A47_12.6J 6264 | -|2 AY3-8910 | -|W A47_11.8H A47_10.6H 6264 | -|A DSW1 DSW2 | -|Y 2148 | -| AY3-8910 | -| PAL ROM16.1E| -| | -| A47_03.12D ROM17.1C| -| | -| ROM18.2B | -| Z80A 2016 | -| | -|-----|----------|--------------|----------|-------| - |----------| |----------| -Notes: - AY3-8910 clock - 1.500MHz (36/24) - Z80A clock - 3.000MHz (36/12) - VSync - 57Hz - HSync - 15.02kHz - A47_03 - 2764 EPROM - A47_10 to A47_13 - 27128 EPROM - ROM18 - 18S030 PROM - ROM16, ROM17, ROM19, ROM20, ROM21 - 82S129 PROM - - -Bottom Board ------------- - -GX-511-B MADE IN JAPAN -|--------------------------------------------------| -| A47_14.6A | -| | -| ROM14.2C ROM15.8B | -| | -| | -| 2016 A47_05.6F | -| 36MHz | -| 2016 A47_04.6G | -| | -| | -| | -| | -| | -| A47_02.8K | -| | -| A47_09.4M A47_08.6M X | -| 2016 | -| 2016 A47_07.6N A47_01.8N | -| | -| 2016 A47_06.6P A47_00.8P | -| Z80B | -|-----|----------|--------------|----------|-------| - |----------| |----------| -Notes: - Z80B clock - 6.000MHz (36/6) - ROM14, ROM15 - 82S129 PROM - A47_00 to A47_02 - 27128 EPROM - A47_06 to A47_09 - 27128 EPROM - A47_04, A47_05 - 2764 EPROM - A47_14 - Motorola DA68237 15-00011-001 (MC68705P3-compatible) Micro-Controller (Not protected). Clock 3.000MHz - X - Unpopulated socket -*/ - -ROM_START( tigerh ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "a47_00-1.8p", 0x0000, 0x4000, CRC(4be73246) SHA1(a6f6a36fa7e3d269b87b777c0975b210d8b53483) ) /* NOTE: The use of the "-1" here does NOT refer to revision, but to region */ - ROM_LOAD( "a47_01-1.8n", 0x4000, 0x4000, CRC(aad04867) SHA1(5e9ff3c982afe104428e936ef417de2d238dc033) ) - ROM_LOAD( "a47_02-1.8k", 0x8000, 0x4000, CRC(4843f15c) SHA1(c0c145c9df9d6273171ac64fb7396e65a786f67c) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a47_03.12d", 0x0000, 0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) ) - - ROM_REGION( 0x0800, "bmcu:mcu", 0 ) - ROM_LOAD( "a47_14.6a", 0x0000, 0x0800, CRC(4042489f) SHA1(b977e0821b6b1aa5a0a0f349cd78150af1a231df) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a47_05.6f", 0x0000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) ) /* Chars */ - ROM_LOAD( "a47_04.6g", 0x2000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) ) - - ROM_REGION( 0x10000, "gfx2", 0 ) - ROM_LOAD( "a47_09.4m", 0x0000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) ) /* Tiles */ - ROM_LOAD( "a47_08.6m", 0x4000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) ) - ROM_LOAD( "a47_07.6n", 0x8000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) ) - ROM_LOAD( "a47_06.6p", 0xc000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) ) - - ROM_REGION( 0x10000, "gfx3", 0 ) - ROM_LOAD( "a47_13.8j", 0x0000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) ) /* Sprites */ - ROM_LOAD( "a47_12.6j", 0x4000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) ) - ROM_LOAD( "a47_11.8h", 0x8000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) ) - ROM_LOAD( "a47_10.6h", 0xc000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "82s129.12q", 0x0000, 0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) ) - ROM_LOAD( "82s129.12m", 0x0100, 0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) ) - ROM_LOAD( "82s129.12n", 0x0200, 0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "pal16r4a.2e", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */ -ROM_END - -ROM_START( tigerhj ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "a47_00.8p", 0x0000, 0x4000, CRC(cbdbe3cc) SHA1(5badf76cdf4a7f0ae9e85ee602420ba5c128efef) ) - ROM_LOAD( "a47_01.8n", 0x4000, 0x4000, CRC(65df2152) SHA1(8e1516905a4af379cb0d0b9d42ff1cc3179c3589) ) - ROM_LOAD( "a47_02.8k", 0x8000, 0x4000, CRC(633d324b) SHA1(70a17d17ebe003bfb2246e92e925a343a92553e5) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a47_03.12d", 0x0000, 0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) ) - - ROM_REGION( 0x0800, "bmcu:mcu", 0 ) - ROM_LOAD( "a47_14.6a", 0x0000, 0x0800, CRC(4042489f) SHA1(b977e0821b6b1aa5a0a0f349cd78150af1a231df) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a47_05.6f", 0x0000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) ) /* Chars */ - ROM_LOAD( "a47_04.6g", 0x2000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) ) - - ROM_REGION( 0x10000, "gfx2", 0 ) - ROM_LOAD( "a47_09.4m", 0x0000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) ) /* Tiles */ - ROM_LOAD( "a47_08.6m", 0x4000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) ) - ROM_LOAD( "a47_07.6n", 0x8000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) ) - ROM_LOAD( "a47_06.6p", 0xc000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) ) - - ROM_REGION( 0x10000, "gfx3", 0 ) - ROM_LOAD( "a47_13.8j", 0x0000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) ) /* Sprites */ - ROM_LOAD( "a47_12.6j", 0x4000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) ) - ROM_LOAD( "a47_11.8h", 0x8000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) ) - ROM_LOAD( "a47_10.6h", 0xc000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "82s129.12q", 0x0000, 0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) ) - ROM_LOAD( "82s129.12m", 0x0100, 0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) ) - ROM_LOAD( "82s129.12n", 0x0200, 0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) ) -ROM_END - -ROM_START( tigerhb1 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b0.5", 0x00000, 0x4000, CRC(6ae7e13c) SHA1(47ef34635f8648e883a850293d92a46e95976a50) ) - ROM_LOAD( "a47_01.8n", 0x04000, 0x4000, CRC(65df2152) SHA1(8e1516905a4af379cb0d0b9d42ff1cc3179c3589) ) - ROM_LOAD( "a47_02.8k", 0x08000, 0x4000, CRC(633d324b) SHA1(70a17d17ebe003bfb2246e92e925a343a92553e5) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a47_03.12d", 0x0000, 0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) ) - - ROM_REGION( 0x0800, "cpu2", ROMREGION_ERASEFF ) // probably doesn't have an MCU - /* is this the right mcu for this set? the mcu handling code in the roms seems patched and it doesn't work correctly */ -// ROM_LOAD( "a47_14.6a", 0x0000, 0x0800, CRC(4042489f) SHA1(b977e0821b6b1aa5a0a0f349cd78150af1a231df) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a47_05.6f", 0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) ) /* Chars */ - ROM_LOAD( "a47_04.6g", 0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) ) - - ROM_REGION( 0x10000, "gfx2", 0 ) - ROM_LOAD( "a47_09.4m", 0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) ) /* Tiles */ - ROM_LOAD( "a47_08.6m", 0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) ) - ROM_LOAD( "a47_07.6n", 0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) ) - ROM_LOAD( "a47_06.6p", 0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) ) - - ROM_REGION( 0x10000, "gfx3", 0 ) - ROM_LOAD( "a47_13.8j", 0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) ) /* Sprites */ - ROM_LOAD( "a47_12.6j", 0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) ) - ROM_LOAD( "a47_11.8h", 0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) ) - ROM_LOAD( "a47_10.6h", 0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "82s129.12q", 0x0000, 0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) ) - ROM_LOAD( "82s129.12m", 0x0100, 0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) ) - ROM_LOAD( "82s129.12n", 0x0200, 0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) ) -ROM_END - -ROM_START( tigerhb2 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rom00_09", 0x00000, 0x4000, CRC(ef738c68) SHA1(c78c802d885b7f7c5e312ec079d52b8817590735) ) - ROM_LOAD( "rom01_08", 0x04000, 0x4000, CRC(65df2152) SHA1(8e1516905a4af379cb0d0b9d42ff1cc3179c3589) ) /* == a47_01.8n */ - ROM_LOAD( "rom02_07", 0x08000, 0x4000, CRC(36e250b9) SHA1(79bd86bde81981e4d0dbee420bc0a10c80b5241e) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a47_03.12d", 0x0000, 0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a47_05.6f", 0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) ) /* Chars */ - ROM_LOAD( "a47_04.6g", 0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) ) - - ROM_REGION( 0x10000, "gfx2", 0 ) - ROM_LOAD( "a47_09.4m", 0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) ) /* Tiles */ - ROM_LOAD( "a47_08.6m", 0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) ) - ROM_LOAD( "a47_07.6n", 0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) ) - ROM_LOAD( "a47_06.6p", 0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) ) - - ROM_REGION( 0x10000, "gfx3", 0 ) - ROM_LOAD( "a47_13.8j", 0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) ) /* Sprites */ - ROM_LOAD( "a47_12.6j", 0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) ) - ROM_LOAD( "a47_11.8h", 0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) ) - ROM_LOAD( "a47_10.6h", 0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "82s129.12q", 0x0000, 0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) ) - ROM_LOAD( "82s129.12m", 0x0100, 0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) ) - ROM_LOAD( "82s129.12n", 0x0200, 0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) ) -ROM_END - -ROM_START( tigerhb3 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "14", 0x00000, 0x4000, CRC(ca59dd73) SHA1(c07961fcc209ec10ace3830d79c8ccc1cfda9765) ) - ROM_LOAD( "13", 0x04000, 0x4000, CRC(38bd54db) SHA1(75e999f606c410d7481bc4d29c4b523d45847649) ) - ROM_LOAD( "12", 0x08000, 0x4000, CRC(633d324b) SHA1(70a17d17ebe003bfb2246e92e925a343a92553e5) ) /* == a47_02.8k */ - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a47_03.12d", 0x0000, 0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a47_05.6f", 0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) ) /* Chars */ - ROM_LOAD( "a47_04.6g", 0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) ) - - ROM_REGION( 0x10000, "gfx2", 0 ) - ROM_LOAD( "a47_09.4m", 0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) ) /* Tiles */ - ROM_LOAD( "a47_08.6m", 0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) ) - ROM_LOAD( "a47_07.6n", 0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) ) - ROM_LOAD( "a47_06.6p", 0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) ) - - ROM_REGION( 0x10000, "gfx3", 0 ) - ROM_LOAD( "a47_13.8j", 0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) ) /* Sprites */ - ROM_LOAD( "a47_12.6j", 0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) ) - ROM_LOAD( "a47_11.8h", 0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) ) - ROM_LOAD( "a47_10.6h", 0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "82s129.12q", 0x0000, 0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) ) - ROM_LOAD( "82s129.12m", 0x0100, 0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) ) - ROM_LOAD( "82s129.12n", 0x0200, 0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) ) -ROM_END - -// this bootleg has a 68705P5S MCU -ROM_START( tigerhb4 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "0", 0x00000, 0x4000, CRC(ba5a31e0) SHA1(88c2cf07b36d8a2439fa04b5cc68fb5fe7683a30) ) - ROM_LOAD( "1", 0x04000, 0x4000, CRC(65df2152) SHA1(8e1516905a4af379cb0d0b9d42ff1cc3179c3589) ) - ROM_LOAD( "2", 0x08000, 0x4000, CRC(36e250b9) SHA1(79bd86bde81981e4d0dbee420bc0a10c80b5241e) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a47_03.12d", 0x0000, 0x2000, CRC(d105260f) SHA1(f6a0e393e29354bb37fb723828f3267d030a45ea) ) - - ROM_REGION( 0x0800, "mcu", 0 ) - ROM_LOAD( "68705p5s.bin", 0x0000, 0x0800, CRC(062eb9d7) SHA1(8337c24a63564c3698d04c723fcb6c067f7f5060) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a47_05.6f", 0x00000, 0x2000, CRC(c5325b49) SHA1(6df9051e7545dcac4995340f80957510457aaf64) ) /* Chars */ - ROM_LOAD( "a47_04.6g", 0x02000, 0x2000, CRC(cd59628e) SHA1(7be6479f20eb51b79b93e6fd65ab219096d54984) ) - - ROM_REGION( 0x10000, "gfx2", 0 ) - ROM_LOAD( "a47_09.4m", 0x00000, 0x4000, CRC(31fae8a8) SHA1(ef8c23776431f00a74b25c5800755b6fa8d585ec) ) /* Tiles */ - ROM_LOAD( "a47_08.6m", 0x04000, 0x4000, CRC(e539af2b) SHA1(0c8369a0fac1cbe40c07b51e16e8f8a9b8ed03b8) ) - ROM_LOAD( "a47_07.6n", 0x08000, 0x4000, CRC(02fdd429) SHA1(fa392f2e57cfb6af4c124e0c151a4652f83e5577) ) - ROM_LOAD( "a47_06.6p", 0x0c000, 0x4000, CRC(11fbcc8c) SHA1(b4fdb9ee00b749e1a54cfc0cdf55cc5e9bee3662) ) - - ROM_REGION( 0x10000, "gfx3", 0 ) - ROM_LOAD( "a47_13.8j", 0x00000, 0x4000, CRC(739a7e7e) SHA1(5fee71d9e1540903a6cf7bcaab30acaa088d35ed) ) /* Sprites */ - ROM_LOAD( "a47_12.6j", 0x04000, 0x4000, CRC(c064ecdb) SHA1(fa8d712e2b2bda78b9375d96c93a4d7549c94075) ) - ROM_LOAD( "a47_11.8h", 0x08000, 0x4000, CRC(744fae9b) SHA1(b324350469c51043e1d90ce58808d966467435b9) ) - ROM_LOAD( "a47_10.6h", 0x0c000, 0x4000, CRC(e1cf844e) SHA1(eeb8eff09f96c693e147d155a8c0a87416d64603) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "82s129.12q", 0x0000, 0x0100, CRC(2c69350d) SHA1(658bf63c6d1e718f99494cd1c9346c3622913beb) ) - ROM_LOAD( "82s129.12m", 0x0100, 0x0100, CRC(7142e972) SHA1(4a854c2fdd006077aecb695832110ae6bf5819c1) ) - ROM_LOAD( "82s129.12n", 0x0200, 0x0100, CRC(25f273f2) SHA1(2c696745f42fa09b64295a39536aeba08ab58d67) ) -ROM_END - -/* - -Slap Fight/Alcon -1986 Taito Corporation - -Slap Fight and Alcon are the same PCBs exactly, with just 4 ROMs changed. The same MCU is -common to Slap Fight and Alcon. There is an alternate "A76" version of Slap Fight with its -own unique MCU code. - -PCB Layouts - Top Board ------------------------ - -Alcon - M6100186A - 860100714 - -Slap Fight - M6100179A - 860090333 - - -8606S MADE IN JAPAN -|--------------------------------------------------| -|VOL ROM21.12Q 2148 | -|MB3730 2148 | -| ROM19.12P 2148 | -| 2148 | -| ROM20.12M 6264 | -| | -| 6264 | -| | -|J A77_12.8J A77_11.6J 6264 | -|A AY3-8910 | -|M A77_10.8H A77_09.6H 6264 | -|M DSW1 DSW2 | -|A 2148 | -| AY3-8910 | -| ROM16.1E| -| | -| A77_02.12D ROM17.1C| -| | -| ROM18.2B | -| Z80A 2016 | -| | -|-----|----------|--------------|----------|-------| - |----------| |----------| -Notes: - AY-3-8910 clock - 1.500MHz (36/24) - Z80A clock - 3.000MHz (36/12) - VSync - 57Hz - HSync - 14.97kHz - A77_02 - 2764 EPROM - A77_09 to A77_12 - 27256 EPROM - ROM18 - 18S030 PROM - ROM16, ROM17, ROM19, ROM20, ROM21 - 82S129 PROM - - -Bottom Board ------------- - -8606M MADE IN JAPAN -|--------------------------------------------------| -| A77_13.6A | -| | -| ROM14.2C ROM15.8B | -| | -| | -| 2016 A77_04.6F | -| 36MHz | -| 2016 A77_03.6G | -| | -| | -| | -| | -| | -| A77_08.6K | -| | -| A77_07.6M 2016 | -| 2016 | -| 2016 A77_06.6N A77_01.8N | -| | -| 2016 A77_05.6P A77_00.8P | -| Z80B | -|-----|----------|--------------|----------|-------| - |----------| |----------| -Notes: - Z80B clock - 6.000MHz (36/6) - ROM14, ROM15 - 82S129 PROM - A77_00, A77_01 - 27256 EPROM (replace with A77_00-1, A77_01-1 on Alcon) - A77_05 to A77_08 - 27256 EPROM - A77_03, A77_04 - 2764 EPROM (replace with A77_03-1, A77_04-1 on Alcon) - A77_13 - Motorola MC68705P5S Micro-Controller (protected). Clock 3.000MHz -*/ - -ROM_START( alcon ) - ROM_REGION( 0x18000, "maincpu", 0 ) - ROM_LOAD( "a77_00-1.8p", 0x00000, 0x8000, CRC(2ba82d60) SHA1(b37659aa18a3f96a3cc7fa93db2439f36487b8c8) ) /* NOTE: The use of the "-1" here does NOT refer to revision, but to region */ - ROM_LOAD( "a77_01-1.8n", 0x10000, 0x8000, CRC(18bb2f12) SHA1(7c16d4bbb8b5e22f227aff170e5e6326c5968968) ) /* banked at 8000 */ - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a77_02.12d", 0x0000, 0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) ) - - ROM_REGION( 0x0800, "bmcu:mcu", 0 ) - ROM_LOAD( "a77_13.6a", 0x0000, 0x0800, CRC(a70c81d9) SHA1(f155ffd25a946b0459216a8f80ded16e6e2f9258) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a77_04-1.6f", 0x00000, 0x2000, CRC(31003483) SHA1(7014ceb6313ac5a3d2dcb735643dfd8bfabaa185) ) /* Chars */ - ROM_LOAD( "a77_03-1.6g", 0x02000, 0x2000, CRC(404152c0) SHA1(d05bc9baa1f336475fffc2f19f1018e9f0547f10) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) - ROM_LOAD( "a77_08.6k", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) ) /* Tiles */ - ROM_LOAD( "a77_07.6m", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) ) - ROM_LOAD( "a77_06.6n", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) ) - ROM_LOAD( "a77_05.6p", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) - ROM_LOAD( "a77_12.8j", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) ) /* Sprites */ - ROM_LOAD( "a77_11.7j", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) ) - ROM_LOAD( "a77_10.8h", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) ) - ROM_LOAD( "a77_09.7h", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) ) - - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "21_82s129.12q", 0x0000, 0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) /* Silkscreened as ROM21 */ - ROM_LOAD( "20_82s129.12m", 0x0100, 0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) /* Silkscreened as ROM20 */ - ROM_LOAD( "19_82s129.12n", 0x0200, 0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) /* Silkscreened as ROM19 */ -ROM_END - -ROM_START( slapfigh ) - ROM_REGION( 0x18000, "maincpu", 0 ) - ROM_LOAD( "a77_00.8p", 0x00000, 0x8000, CRC(674c0e0f) SHA1(69fc17881c89cc5e82b0fefec49c4116054f9e3b) ) - ROM_LOAD( "a77_01.8n", 0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) ) /* banked at 8000 */ - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a77_02.12d", 0x0000, 0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) ) - - ROM_REGION( 0x0800, "bmcu:mcu", 0 ) /* 2k for the microcontroller */ - ROM_LOAD( "a77_13.6a", 0x0000, 0x0800, CRC(a70c81d9) SHA1(f155ffd25a946b0459216a8f80ded16e6e2f9258) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a77_04.6f", 0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) ) /* Chars */ - ROM_LOAD( "a77_03.6g", 0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) - ROM_LOAD( "a77_08.6k", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) ) /* Tiles */ - ROM_LOAD( "a77_07.6m", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) ) - ROM_LOAD( "a77_06.6n", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) ) - ROM_LOAD( "a77_05.6p", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) - ROM_LOAD( "a77_12.8j", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) ) /* Sprites */ - ROM_LOAD( "a77_11.7j", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) ) - ROM_LOAD( "a77_10.8h", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) ) - ROM_LOAD( "a77_09.7h", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "21_82s129.12q", 0x0000, 0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) /* Silkscreened as ROM21 */ - ROM_LOAD( "20_82s129.12m", 0x0100, 0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) /* Silkscreened as ROM20 */ - ROM_LOAD( "19_82s129.12n", 0x0200, 0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) /* Silkscreened as ROM19 */ -ROM_END - -/* - -This set comes from a different type of board with unique Taito ID code of "A76" -PCBs are labeled GX-006-A & GX-006-B It has a 22pin edge connector and closely -resembles the Tigher Heli PCB (shown above) with rom placement and components. - -*/ - -ROM_START( slapfigha ) - ROM_REGION( 0x18000, "maincpu", 0 ) - ROM_LOAD( "a76_00.8p", 0x00000, 0x4000, CRC(ac22bb86) SHA1(3ecff006fc487d494f21adb7bff6f8c56eb5d707) ) - ROM_LOAD( "a76_01.8n", 0x04000, 0x4000, CRC(d6b4f02e) SHA1(37f840c444ba7dcc75810580c9da83289670d5cc) ) - ROM_LOAD( "a76_02.8k", 0x10000, 0x8000, CRC(9dd0971f) SHA1(92bd0b54635bf5c4118a53e0f897c65f5eb2984a) ) /* banked at 8000 */ - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "a76_03.12d", 0x0000, 0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) ) - - ROM_REGION( 0x0800, "bmcu:mcu", 0 ) - ROM_LOAD( "a76_14.6a", 0x0000, 0x0800, CRC(3f4980bb) SHA1(bab19515b83b5a4e38ea7557c99ad44b9c8dff14) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "a76_05.6f", 0x00000, 0x2000, CRC(be9a1bc5) SHA1(2fabfd42cd49db67654eac824c9852ed368a6e50) ) /* Chars */ - ROM_LOAD( "a76_04.6g", 0x02000, 0x2000, CRC(3519daa4) SHA1(ab77cc1bfe7c394d1a90a4c50d5d4a98158eb86d) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) - ROM_LOAD( "a76_09.4m", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) ) /* Tiles */ - ROM_LOAD( "a76_08.6m", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) ) - ROM_LOAD( "a76_07.6n", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) ) - ROM_LOAD( "a76_06.6p", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) - ROM_LOAD( "a76_13.8j", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) ) /* Sprites */ - ROM_LOAD( "a76_12.6j", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) ) - ROM_LOAD( "a76_11.8h", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) ) - ROM_LOAD( "a76_10.6h", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "a76-17.12q", 0x0000, 0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) /* 82S129 Biploar PROM, Silkscreened as ROM21 */ - ROM_LOAD( "a76-15.12m", 0x0100, 0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) /* 82S129 Biploar PROM, Silkscreened as ROM20 */ - ROM_LOAD( "a76-16.12n", 0x0200, 0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) /* 82S129 Biploar PROM, Silkscreened as ROM19 */ -ROM_END - -/* -PCB Details from slapfighb1 boardset: - -Upper PCB (Sound board) ---------- -Z80A CPU -Toshiba TMM2016BP-10 (2KB SRAM) -sf_s05 (Fujitsu MBM2764-25 8KB EPROM) - Sound CPU Code - -Yamaha YM2149F (Qty 2 - Pin compatible with AY-3-8190) -Hitachi SRAM - HM6464 (8KB - Qty 4) - -sf_s01 (OKI M27256-N 32KB PROM) Sprite Data (16x16 4bpp) -sf_s02 (OKI M27256-N 32KB PROM) Sprite Data -sf_s03 (OKI M27256-N 32KB PROM) Sprite Data -sf_s04 (OKI M27256-N 32KB PROM) Sprite Data - - -Lower PCB ---------- -Z80B CPU -12MHz Xtal -Toshiba TMM2016BP-10 (2KB SRAM - Total Qty 6 = 2+2+1+1) - -sf_s10 (Fujitsu MBM2764-25 8KB EPROM) Font/Character Data (8x8 2bpp) -sf_s11 (Fujitsu MBM2764-25 8KB EPROM) - -sf_s06 (OKI M27256-N 32KB PROM) Tile Data (8x8 4bpp) -sf_s07 (OKI M27256-N 32KB PROM) Tile Data -sf_s08 (OKI M27256-N 32KB PROM) Tile Data -sf_s09 (OKI M27256-N 32KB PROM) Tile Data - -sf_s16 (Fujitsu MBM2764-25 8KB EPROM) Colour Tables (512B used?) - -sf_sH (OKI M27256-N 32KB PROM) Level Maps ??? - -sf_s19 (NEC S27128 16KB EPROM) CPU Code $0000-$3fff -sf_s20 (Mitsubishi M5L27128K 16KB EPROM) CPU Code $4000-$7fff -*/ - -ROM_START( slapfighb1 ) - ROM_REGION( 0x18000, "maincpu", 0 ) - ROM_LOAD( "sf_r19jb.bin", 0x00000, 0x8000, CRC(9a7ac8b3) SHA1(01fbad9b4fc80f2406eff18db20e196e212d0c17) ) - ROM_LOAD( "sf_rh.bin", 0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) ) /* banked at 8000 */ - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "sf_r05.bin", 0x0000, 0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "sf_r11.bin", 0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) ) /* Chars */ - ROM_LOAD( "sf_r10.bin", 0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) - ROM_LOAD( "sf_r06.bin", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) ) /* Tiles */ - ROM_LOAD( "sf_r09.bin", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) ) - ROM_LOAD( "sf_r08.bin", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) ) - ROM_LOAD( "sf_r07.bin", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) - ROM_LOAD( "sf_r03.bin", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) ) /* Sprites */ - ROM_LOAD( "sf_r01.bin", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) ) - ROM_LOAD( "sf_r04.bin", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) ) - ROM_LOAD( "sf_r02.bin", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "sf_col21.bin", 0x0000, 0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) - ROM_LOAD( "sf_col20.bin", 0x0100, 0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) - ROM_LOAD( "sf_col19.bin", 0x0200, 0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) -ROM_END - -ROM_START( slapfighb2 ) - ROM_REGION( 0x18000, "maincpu", 0 ) - ROM_LOAD( "sf_r19eb.bin", 0x00000, 0x4000, CRC(2efe47af) SHA1(69ce3e83a0d8fa5ee4737c741d31cf32db6b9919) ) - ROM_LOAD( "sf_r20eb.bin", 0x04000, 0x4000, CRC(f42c7951) SHA1(d76e7a72f6ced67b550ba68cd42987f7111f5468) ) - ROM_LOAD( "sf_rh.bin", 0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) ) /* banked at 8000 */ - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "sf_r05.bin", 0x0000, 0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "sf_r11.bin", 0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) ) /* Chars */ - ROM_LOAD( "sf_r10.bin", 0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) - ROM_LOAD( "sf_r06.bin", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) ) /* Tiles */ - ROM_LOAD( "sf_r09.bin", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) ) - ROM_LOAD( "sf_r08.bin", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) ) - ROM_LOAD( "sf_r07.bin", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) - ROM_LOAD( "sf_r03.bin", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) ) /* Sprites */ - ROM_LOAD( "sf_r01.bin", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) ) - ROM_LOAD( "sf_r04.bin", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) ) - ROM_LOAD( "sf_r02.bin", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "sf_col21.bin", 0x0000, 0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) - ROM_LOAD( "sf_col20.bin", 0x0100, 0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) - ROM_LOAD( "sf_col19.bin", 0x0200, 0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) -ROM_END - -/* very similar to slapfighb2, is slapfighb2 missing the logo rom? */ -ROM_START( slapfighb3 ) - ROM_REGION( 0x18000, "maincpu", 0 ) - ROM_LOAD( "k1-10.u90", 0x00000, 0x4000, CRC(2efe47af) SHA1(69ce3e83a0d8fa5ee4737c741d31cf32db6b9919) ) - ROM_LOAD( "k1-09.u89", 0x04000, 0x4000, CRC(17c187c5) SHA1(6e1fd651f56036d1c6c830de8479df25fc182c10) ) - ROM_LOAD( "k1-08.u88", 0x0e000, 0x2000, CRC(945af97f) SHA1(4d901be477b6101338eb1d86497e1bdc57f9c1b4) ) // contains another copy of the logo tilemap read at ec00! - ROM_LOAD( "k1-07.u87", 0x10000, 0x8000, CRC(3c42e4a7) SHA1(8e4da1e6e73603e484ba4f5609ac9ea92999a526) ) /* banked at 8000 */ - - ROM_REGION( 0x10000, "audiocpu", 0 ) - ROM_LOAD( "k1-11.u89", 0x0000, 0x2000, CRC(87f4705a) SHA1(a90d5644ce268f3321047a4f96df96ac294d2f1b) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) - ROM_LOAD( "k1-02.u57", 0x00000, 0x2000, CRC(2ac7b943) SHA1(d0c3560bb1f0c2647aeff807cb4b09450237b955) ) /* Chars */ - ROM_LOAD( "k1-03.u58", 0x02000, 0x2000, CRC(33cadc93) SHA1(59ffc206c62a651d2ac0ef52f519dd56edf2c021) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) - ROM_LOAD( "k1-01.u49", 0x00000, 0x8000, CRC(b6358305) SHA1(c7bb4236a75ec6b88f011bc30f8fb9a718e2ca3e) ) /* Tiles */ - ROM_LOAD( "k1-04.u62", 0x08000, 0x8000, CRC(e92d9d60) SHA1(2554617e0e6615ca8c85a49299a4a0e762478339) ) - ROM_LOAD( "k1-05.u63", 0x10000, 0x8000, CRC(5faeeea3) SHA1(696fba24bcf1f3a7e914a4403854da5eededaf7f) ) - ROM_LOAD( "k1-06.u64", 0x18000, 0x8000, CRC(974e2ea9) SHA1(3840550fc3a833828dad8f3e300d2ea583d69ce7) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) - ROM_LOAD( "k1-15.u60", 0x00000, 0x8000, CRC(8545d397) SHA1(9a1fd5bfd8fb830b8e46643c08eef32ba968fc23) ) /* Sprites */ - ROM_LOAD( "k1-13.u50", 0x08000, 0x8000, CRC(b1b7b925) SHA1(199b0b52bbeb384211171eca5c50a1c0ebf6826f) ) - ROM_LOAD( "k1-14.u59", 0x10000, 0x8000, CRC(422d946b) SHA1(c251ef9597a11ec8de39be4fcbddaba84e649ef2) ) - ROM_LOAD( "k1-12.u49", 0x18000, 0x8000, CRC(587113ae) SHA1(90abe961494a1af7c87693a419fbabf7a58a5dee) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "sf_col21.bin", 0x0000, 0x0100, CRC(a0efaf99) SHA1(5df01663480acad1f89abab8662d437617a66d1c) ) - ROM_LOAD( "sf_col20.bin", 0x0100, 0x0100, CRC(a56d57e5) SHA1(bfbd0db52b23fe1b4994e05103be3d412c1c013e) ) - ROM_LOAD( "sf_col19.bin", 0x0200, 0x0100, CRC(5cbf9fbf) SHA1(abfa58fa4e44ebc56f2e0fac9bcc36164c845fa3) ) -ROM_END - -/* - -Guardian -1986 Taito Corporation - -The Guardian PCB is exactly the same PCB as Tiger Heli, including the -edge connector pinout. - -PCB Layout ----------- - -Top Board - -Sticker - M6100151B 860010898 -GX-006-A MADE IN JAPAN -|--------------------------------------------------| -|VOL ROM21.12Q 2148 | -|MB3712 2148 | -| ROM19.12P 2148 | -| 2148 | -| ROM20.12M 6264 | -| | -| 6264 | -| | -|2 A68_13.8J A68_12.6J 6264 | -|2 YM2149F | -|W A68_11.8H A68_10.6H 6264 | -|A DSW1 DSW2 | -|Y 2148 | -| YM2149F | -| ROM16.1E| -| | -| A68_03.12D ROM17.1C| -| | -| ROM18.2B | -| Z80A 6116 | -| | -|-----|----------|--------------|----------|-------| - |----------| |----------| -Notes: - YM2149F - Clock 1.500MHz (36/24) - Z80A - Clock 3.000MHz (36/12) - 6116 - 2kx8 SRAM - 6264 - 8kx8 SRAM - MB3712 - Audio Power AMP - 2148 - 1kx4 SRAM - DSW1/2 - 8-position DIP-switch - VSync - 56.91313Hz - HSync - 14.97090kHz - A68_03 - 2764 EPROM - A68_10 to 13 - 27256 EPROM - ROM18 - 82S123 PROM -ROM16/17/19/20/21 - 82S129 PROM - - -Bottom Board - -GX-006-B MADE IN JAPAN -|--------------------------------------------------| -| A68_14.6A | -| | -| ROM14.2C ROM15.8B | -| | -| | -| 6116 A68_05.6F | -| 36MHz | -| 6116 A68_04.6G | -| | -| | -| | -| | -| 6116 | -| A68_02.8K | -| | -| A68_09.4M A47_08.6M X | -| 6116 | -| 6116 A68_07.6N A68_01.8N | -| | -| 6116 A68_06.6P A68_00.8P | -| Z80B | -|-----|----------|--------------|----------|-------| - |----------| |----------| -Notes: - Z80B - Clock 6.000MHz (36/6) - 6116 - 2kx8 SRAM - ROM14/15 - 82S129 PROM - A68_00/01 - 27128 EPROM -A68_02 & 06 to 09 - 27256 EPROM - A68_04/05 - 2764 EPROM - A68_14 - Motorola MC68705P5 Micro-Controller (protected). Clock 3.000MHz [36/12] - X - Unpopulated socket - -*/ - -ROM_START( grdian ) - ROM_REGION( 0x18000, "maincpu", 0 ) /* Region 0 - main cpu code */ - ROM_LOAD( "a68_00-1.8p", 0x00000, 0x4000, CRC(6a8bdc6c) SHA1(c923bca539bd2eb9a34cb9c7a67a199e28bc081a) ) - ROM_LOAD( "a68_01-1.8n", 0x04000, 0x4000, CRC(ebe8db3c) SHA1(9046d6e63c33fc9cbd48b90dcbcc0badf1d3b9ba) ) - ROM_LOAD( "a68_02-1.8k", 0x10000, 0x8000, CRC(343e8415) SHA1(00b98055277a0ddfb7d0bda6537df10a4049533e) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Region 3 - sound cpu code */ - ROM_LOAD( "a68-03.12d", 0x0000, 0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) ) - - ROM_REGION( 0x0800, "bmcu:mcu", 0 ) /* 2k for the microcontroller */ - ROM_LOAD( "a68_14.6a", 0x0000, 0x0800, CRC(87c4ca48) SHA1(ae15dab7adde7ad2381ca3d70331891c8f3bcc42) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68_05-1.6f", 0x00000, 0x2000, CRC(06f60107) SHA1(c5dcf0c7a5863ea960ee747d2d7ec7ac8bb7d3af) ) /* Chars */ - ROM_LOAD( "a68_04-1.6g", 0x02000, 0x2000, CRC(1fc8f277) SHA1(59dc1a0fad23b1e98abca3d0b1685b9d2939b059) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68_09.4m", 0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) ) /* Tiles */ - ROM_LOAD( "a68_08.6m", 0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) ) - ROM_LOAD( "a68_07.6n", 0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) ) - ROM_LOAD( "a68_06.6p", 0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68-13.8j", 0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) ) /* Sprites */ - ROM_LOAD( "a68-12.6j", 0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) ) - ROM_LOAD( "a68-11.8h", 0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) ) - ROM_LOAD( "a68-10.6h", 0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "rom21.12q", 0x0000, 0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) ) - ROM_LOAD( "rom20.12m", 0x0100, 0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) ) - ROM_LOAD( "rom19.12p", 0x0200, 0x0100, CRC(513224f0) SHA1(15b34612206138f6fc5f7478925b1fff2ed56aa8) ) -ROM_END - -ROM_START( getstarj ) - ROM_REGION( 0x18000, "maincpu", 0 ) /* Region 0 - main cpu code */ - ROM_LOAD( "a68_00.8p", 0x00000, 0x4000, CRC(ad1a0143) SHA1(0d9adeb12bd4d5ad11e5bada0cd7498bc565c1db) ) - ROM_LOAD( "a68_01.8n", 0x04000, 0x4000, CRC(3426eb7c) SHA1(e91db45a650a1bfefd7c12c7553b647bc916c7c8) ) - ROM_LOAD( "a68_02.8k", 0x10000, 0x8000, CRC(3567da17) SHA1(29d698606d0bd30abfc3171d79bfad95b0de89fc) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Region 3 - sound cpu code */ - ROM_LOAD( "a68-03.12d", 0x00000, 0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) ) - - ROM_REGION( 0x0800, "bmcu:mcu", 0 ) /* 2k for the microcontroller */ - ROM_LOAD( "a68_14.6a", 0x0000, 0x0800, CRC(87c4ca48) SHA1(ae15dab7adde7ad2381ca3d70331891c8f3bcc42) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68_05.6f", 0x00000, 0x2000, CRC(e3d409e7) SHA1(0b6be4767f110729f4dd1a472ef8d9a0c718b684) ) /* Chars */ - ROM_LOAD( "a68_04.6g", 0x02000, 0x2000, CRC(6e5ac9d4) SHA1(74f90b7a1ceb3b1c2fd92dff100d92dea0155530) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68_09.4m", 0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) ) /* Tiles */ - ROM_LOAD( "a68_08.6m", 0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) ) - ROM_LOAD( "a68_07.6n", 0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) ) - ROM_LOAD( "a68_06.6p", 0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68-13.8j", 0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) ) /* Sprites */ - ROM_LOAD( "a68-12.6j", 0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) ) - ROM_LOAD( "a68-11.8h", 0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) ) - ROM_LOAD( "a68-10.6h", 0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "rom21.12q", 0x0000, 0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) ) - ROM_LOAD( "rom20.12m", 0x0100, 0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) ) - ROM_LOAD( "rom19.12p", 0x0200, 0x0100, CRC(513224f0) SHA1(15b34612206138f6fc5f7478925b1fff2ed56aa8) ) -ROM_END - -ROM_START( getstarb1 ) - ROM_REGION( 0x18000, "maincpu", 0 ) /* Region 0 - main cpu code */ - ROM_LOAD( "getstar_14_b.8p", 0x00000, 0x4000, CRC(9afad7e0) SHA1(6b2e82a6b7fcbfed5f4d250959ecc571fdf0cbc2) ) // gs_rb_1 - 27128 (matches the socket label) - ROM_LOAD( "getstar_13_b.8n", 0x04000, 0x4000, CRC(5feb0a60) SHA1(b1300055180ddf6ca96475eb3a27a17722273fc6) ) // gs_rb_2 - 27128 (matches the socket label) - ROM_LOAD( "getstar_12_b.8k", 0x10000, 0x8000, CRC(e3cfb1ba) SHA1(bd21655c82a14e18ff9df4539c4d0bb2484c73f1) ) // gs_rb_3 - 27256 (The socket is labeled as 27128) - - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Region 3 - sound cpu code */ - ROM_LOAD( "getstar_5_a.12e", 0x00000, 0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) ) // == a68-03 - 2764 (matches the socket label) - - ROM_REGION( 0x04000, "gfx1", 0 ) /* Region 1 - temporary for gfx */ /* Chars */ /* Verified on new bootleg PCB found */ - ROM_LOAD( "getstar_7_b.6f", 0x00000, 0x2000, CRC(e3d409e7) SHA1(0b6be4767f110729f4dd1a472ef8d9a0c718b684) ) // 2764 (matches the socket label) - ROM_LOAD( "getstar_8_b.6g", 0x02000, 0x2000, CRC(6e5ac9d4) SHA1(74f90b7a1ceb3b1c2fd92dff100d92dea0155530) ) // 2764 (matches the socket label) - - ROM_REGION( 0x20000, "gfx2", 0 ) /* Region 1 - temporary for gfx */ /* Tiles */ - ROM_LOAD( "getstar_6_b.4m", 0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) ) // == a68_09 - 27256 (the socket is labeled as 27128) - ROM_LOAD( "getstar_9_b.6m", 0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) ) // == a68_08 - 27256 (The socket is labeled as 27128) - ROM_LOAD( "getstar_10_b.6n", 0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) ) // == a68_07 - 27256 (The socket is labeled as 27128) - ROM_LOAD( "getstar_11_b.6p", 0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) ) // == a68_06 - 27256 (The socket is labeled as 27128) - - ROM_REGION( 0x20000, "gfx3", 0 ) /* Region 1 - temporary for gfx */ /* Sprites */ - ROM_LOAD( "getstar_4_a.8j", 0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) ) // == a68-13 - 27256 (the socket is labeled as 27128) - ROM_LOAD( "getstar_2_a.7j", 0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) ) // == a68-12 - 27256 (the socket is labeled as 27128) - ROM_LOAD( "getstar_3_a.8h", 0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) ) // == a68-11 - 27256 (the socket is labeled as 27128) - ROM_LOAD( "getstar_1_a.7h", 0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) ) // == a68-10 - 27256 (the socket is labeled as 27128) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "getstar_p7_a.12q", 0x0000, 0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) ) // rom21 - 82S129N (matches the socket label) - ROM_LOAD( "getstar_p5_a.12m", 0x0100, 0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) ) // rom20 - 82S129N (matches the socket label) - ROM_LOAD( "getstar_p6_a.12n", 0x0200, 0x0100, CRC(35eefbbb) SHA1(b885938cc7ef322b354a0d60f9c7614686bb33ea) ) // rom19 - 82S129N (matches the socket label) - - /* Unused. Weren't on the first dump, but verified to be on the PCB */ - ROM_REGION( 0x0500, "proms2", 0 ) - ROM_LOAD( "getstar_p1_a.1c", 0x0000, 0x0100, CRC(d492e6c2) SHA1(5789adda3a63ef8656ebd012416fcf3f991241fe) ) // 82S129N (matches the socket label) - ROM_LOAD( "getstar_p2_a.1e", 0x0100, 0x0100, CRC(59490887) SHA1(c894edecbcfc67972ad893cd7c8197d07862a20a) ) // 82S129N (matches the socket label) - ROM_LOAD( "getstar_p3_a.2b", 0x0200, 0x0020, CRC(aa0ca5a5) SHA1(4c45be71658f40ebb05634febba5822f1a8a7f79) ) // 82S123N (matches the socket label) - ROM_LOAD( "getstar_p8_b.2c", 0x0300, 0x0100, CRC(4dc04453) SHA1(524e5a212ab496c52adc0def995b75e89aba48e7) ) // 82S129N (matches the socket label) - ROM_LOAD( "getstar_p9_b.8b", 0x0400, 0x0100, CRC(48ac3db4) SHA1(6a73fe21529bc760b8df1893aee9e89fb60976eb) ) // 82S129N (matches the socket label) - - /* Unused, but verified to be on the PCB */ - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "getstar_p4_a.2e", 0x0000, 0x0104, NO_DUMP ) // PAL16R4ACN - Protected -ROM_END - -ROM_START( getstarb2 ) - ROM_REGION( 0x18000, "maincpu", 0 ) /* Region 0 - main cpu code */ - ROM_LOAD( "gs_14.rom", 0x00000, 0x4000, CRC(1a57a920) SHA1(b1e9d5b29c0e3632eec3ad1ee51bf3392e4b816d) ) - ROM_LOAD( "gs_13.rom", 0x04000, 0x4000, CRC(805f8e77) SHA1(c3ad6eae842d2d10f716998d5a803038fa7b338f) ) - ROM_LOAD( "a68_02.bin", 0x10000, 0x8000, CRC(3567da17) SHA1(29d698606d0bd30abfc3171d79bfad95b0de89fc) ) - - ROM_REGION( 0x10000, "audiocpu", 0 ) /* Region 3 - sound cpu code */ - ROM_LOAD( "a68-03", 0x0000, 0x2000, CRC(18daa44c) SHA1(1a3d22a186c591321d1b836ee30d89fba4771122) ) - - ROM_REGION( 0x04000, "gfx1", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68_05.bin", 0x00000, 0x2000, CRC(e3d409e7) SHA1(0b6be4767f110729f4dd1a472ef8d9a0c718b684) ) /* Chars */ - ROM_LOAD( "a68_04.bin", 0x02000, 0x2000, CRC(6e5ac9d4) SHA1(74f90b7a1ceb3b1c2fd92dff100d92dea0155530) ) - - ROM_REGION( 0x20000, "gfx2", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68_09", 0x00000, 0x8000, CRC(a293cc2e) SHA1(a2c2598e92982d13b51cbb6efb4b963142233433) ) /* Tiles */ - ROM_LOAD( "a68_08", 0x08000, 0x8000, CRC(37662375) SHA1(46ba8a3f0b553d476ecf431d0d20556896b4ca43) ) - ROM_LOAD( "a68_07", 0x10000, 0x8000, CRC(cf1a964c) SHA1(e9223c8d4f3bdafed193a1ded63e377f16f45e17) ) - ROM_LOAD( "a68_06", 0x18000, 0x8000, CRC(05f9eb9a) SHA1(a71640a63b259799086d361ef293aa26cec46a0c) ) - - ROM_REGION( 0x20000, "gfx3", 0 ) /* Region 1 - temporary for gfx */ - ROM_LOAD( "a68-13", 0x00000, 0x8000, CRC(643fb282) SHA1(d904d3c27c2b56341929c5eed4ea97e948c53c34) ) /* Sprites */ - ROM_LOAD( "a68-12", 0x08000, 0x8000, CRC(11f74e32) SHA1(02d8b4cc679f45a02c4989f2b62cde91b7418235) ) - ROM_LOAD( "a68-11", 0x10000, 0x8000, CRC(f24158cf) SHA1(db4c6b68a488b0798ea5f793ac8ced283a8ecab2) ) - ROM_LOAD( "a68-10", 0x18000, 0x8000, CRC(83161ed0) SHA1(a6aa28f22f487dc3a2ec07935e6d42bcdd1eff81) ) - - ROM_REGION( 0x0300, "proms", 0 ) - ROM_LOAD( "rom21", 0x0000, 0x0100, CRC(d6360b4d) SHA1(3e64548c82a3378fc091e104cdc2b0c7e592fc44) ) - ROM_LOAD( "rom20", 0x0100, 0x0100, CRC(4ca01887) SHA1(2892c89d5e60f1d10593adffff55c1a9654e8209) ) - ROM_LOAD( "rom19", 0x0200, 0x0100, CRC(513224f0) SHA1(15b34612206138f6fc5f7478925b1fff2ed56aa8) ) -ROM_END - - -/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR, COMPANY, FULLNAME, FLAGS ) */ -GAME( 1985, perfrman, 0, perfrman, perfrman, slapfght_state, empty_init, ROT270, "Toaplan / Data East Corporation", "Performan (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, perfrmanu, perfrman, perfrman, perfrman, slapfght_state, empty_init, ROT270, "Toaplan / Data East USA", "Performan (US)", MACHINE_SUPPORTS_SAVE ) - -GAME( 1985, tigerh, 0, tigerh, tigerh, slapfght_state, empty_init, ROT270, "Toaplan / Taito America Corp.", "Tiger Heli (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, tigerhj, tigerh, tigerh, tigerh, slapfght_state, empty_init, ROT270, "Toaplan / Taito", "Tiger Heli (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, tigerhb1, tigerh, tigerhb1, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, tigerhb2, tigerh, tigerhb2, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 2)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, tigerhb3, tigerh, tigerhb2, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 3)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, tigerhb4, tigerh, tigerhb4, tigerh, slapfght_state, empty_init, ROT270, "bootleg", "Tiger Heli (bootleg set 4)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // MCU not hooked up - -GAME( 1986, alcon, 0, slapfigh, slapfigh, slapfght_state, init_slapfigh, ROT270, "Toaplan / Taito America Corp.", "Alcon (US)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1986, slapfigh, alcon, slapfigh, slapfigh, slapfght_state, init_slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (A77 set, 8606M PCB)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1986, slapfigha, alcon, slapfigh, slapfigh, slapfght_state, init_slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (A76 set, GX-006-A PCB)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1986, slapfighb1, alcon, slapfighb1, slapfigh, slapfght_state, init_slapfigh, ROT270, "bootleg", "Slap Fight (bootleg set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1986, slapfighb2, alcon, slapfighb2, slapfigh, slapfght_state, init_slapfigh, ROT270, "bootleg", "Slap Fight (bootleg set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) // England? -GAME( 1986, slapfighb3, alcon, slapfighb2, slapfigh, slapfght_state, init_slapfigh, ROT270, "bootleg", "Slap Fight (bootleg set 3)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) // PCB labeled 'slap fighter' - -GAME( 1986, grdian, 0, slapfigh, getstar, slapfght_state, init_slapfigh, ROT0, "Toaplan / Taito America Corporation (Kitkorp license)", "Guardian (US)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, getstarj, grdian, slapfigh, getstarj, slapfght_state, init_slapfigh, ROT0, "Toaplan / Taito", "Get Star (Japan)", MACHINE_SUPPORTS_SAVE ) -GAME( 1986, getstarb1, grdian, getstarb1, getstarj, slapfght_state, init_getstarb1, ROT0, "bootleg", "Get Star (bootleg set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL ) -GAME( 1986, getstarb2, grdian, getstarb2, getstarb2, slapfght_state, init_getstarb2, ROT0, "bootleg", "Get Star (bootleg set 2)", MACHINE_SUPPORTS_SAVE ) |