diff options
Diffstat (limited to 'src/mame/sega/dc_atomiswave.cpp')
-rw-r--r-- | src/mame/sega/dc_atomiswave.cpp | 1516 |
1 files changed, 1516 insertions, 0 deletions
diff --git a/src/mame/sega/dc_atomiswave.cpp b/src/mame/sega/dc_atomiswave.cpp new file mode 100644 index 00000000000..8d37c3a03c1 --- /dev/null +++ b/src/mame/sega/dc_atomiswave.cpp @@ -0,0 +1,1516 @@ +// license:LGPL-2.1+ +// copyright-holders: Samuele Zannoli, R. Belmont, ElSemi, David Haywood, Angelo Salese, Olivier Galibert, MetalliC +// thanks-to: CaH4e3, Deunan Knute, Stefanos Kornilios Mitsis Poiiitidis, Guru, Psyman, ZeZu +/************************************************************************************************** + + Atomiswave (c) 2003 Sammy + +=================================================================================================== + +Guru's Readme +------------- + +Sammy Atomiswave (codename SYSTEM X) system overview +(high likely) developed by SI Electroncs Ltd, former Sammy subsidiary +released April 2003 + +The Atomiswave System is basically just a Sega Dreamcast using ROM carts. + +PCB Layout +---------- + +Sammy AM3AGA-04 Main PCB 2002 (top side) +1111-00006701 (bottom side) + |--------------------------------------------| + |- TA8210AH D4721 3V_BATT| + |VGA BS62LV1023TC| + |VOL | + |SER |-----| PCM1725U | + |- |ROMEO| D4516161 | + |CN3 | | BIOS.IC23| +|--|SW1 |-----| | +| |-----| |-----| | +| 33.8688MHz|315- | |ROMEO| | +| |-----| |6232 | | | | +| |315- | |-----| |-----| | +| |6258 | 32.768kHz | +|J |-----| | +|A |-------------| D4564323 | +|M | | | +|M | | |--------| | +|A D4516161 | 315-6267 | | | | +| | | | SH4 | | +| | | | | | +| TD62064 | | | | | +| D4516161 | | |--------| | +| |-------------| | +| D4564323 | +|--| D4516161 D4516161 | + | W129AG 13.5MHz| + |--------------------------------------------| +Notes: +------ +BS62LV1023TC-70 - Brilliance Semiconductor Low Power 128k x8 CMOS SRAM (TSOP32) +TA8210AH - Toshiba 19W x 2 Channel Power Amplifier +D4516161AG5 - NEC uPD4516161AG5-A80 1M x16 (16MBit) SDRAM (SSOP50) +D4564323 - NEC uPD4564323G5-A10 512K x 32 x 4 (64MBit) SDRAM (SSOP86) +D4721 - NEC uPD4721 RS232 Line Driver Receiver IC (SSOP20) +PCM1725U - Burr-Brown PCM1725U 16Bit Digital to Analog Converter (SOIC14) +2100 - New Japan Radio Co. Ltd. NJM2100 Dual Op Amp (SOIC8) +ROMEO - Sammy AX0201A01 'ROMEO' 4111-00000501 0250 K13 rebadged Fujitsu MBCG61723P-102 TP2H50 - CG61P series CMOS Gate Array ASIC (TQFP100) +315-6232 - SEGA 315-6232 custom ASIC (QFP100) +315-6258 - SEGA 315-6258 custom ASIC (QFP56) +315-6267 - SEGA 315-6267 custom ASIC (BGAxxx) +TD62064 - Toshiba TD62064 NPN 50V 1.5A Quad Darlington Driver (SOIC16) +SH4 - Hitachi SH-4 HD6417091RA CPU (BGA256) +BIOS.IC23 - Macronix 29L001MC-10 3.3volt (1MBit) FlashROM (SOP44, byte mode, reverse pinout: use reverse adapter or "dead bug" method, pinout equivalent to reversed MX29LV160 with four high address lines unused) +W129AG - IC Works W129AG Programmable Clock Frequency Generator, clock input of 13.5MHz (SOIC16) +SW1 - 2-position Dip Switch +VGA - 15 pin VGA out connector @ 31.5kHz +SER - 9 pin Serial connector \ +VOL - Volume pot / These are on a small daughterboard that plugs into the main PCB via a multi-wire cable. +CN3 - 10 pin Speaker output & Extension serial connector +3V_BATT - Panasonic ML2020 3 Volt Coin Battery + +Sega 837-14624R +later PCB revision from Sega, mostly same as above, notable differences: +ROMEO - SEGA 315-6434 +315-6232 - SEGA 315-6232A +315-6258 - SEGA 315-6258A +315-6267 - SEGA 315-6318A +SH4 - Hitachi HD6417091T +BIOS.IC48 - Amic A29L004A 4MBit flash ROM (TSOP40) labeled FPR-24363 + +CN3 Pinout +Pin Function I/O Pin Function I/O +---------------------------------------------- + 1 Stereo L (+) Out | 2 TXD Out + 3 Stereo L (-) Out | 4 RXD In + 5 Stereo R (+) Out | 6 GND - + 7 Stereo R (-) Out | 8 +5V Out + 9 No Connection | 10 No Connection + +The bottom of the PCB contains nothing significant except some connectors. One for the game cart, one for special controls +or I/O, one for a communication module, one for a cooling fan and one for the serial connection daughterboard. + + +Atomiswave cart PCB layout and game usage (revision 1.0 26/2/2011 5:59pm) +----------------------------------------- + +Type 1 ROM Board: + +AM3AGB-04 +MROM PCB +2002 +|----------------------------| +| XC9536 | +| IC18 IC17* IC10 | +| | +| | +| IC16* IC11 | +| | +| | +||-| IC15* IC12 | +|| | | +|| | | +|| |CN1 IC14* IC13 | +|| | | +||-| | +|----------------------------| +Notes: + * - Denotes those devices are on the other side of the PCB + CN1 - This connector plugs into the main board. + XC9536 - Xilinx XC9536 in-system programmable CPLD (PLCC44), stamped with a + game code. This code is different for each different game. + The last 3 digits seems to be for the usage. + F01 = CPLD/protection device and M01 = mask ROM + + Game (sorted by code) Code + ----------------------------------------------- + Sports Shooting USA AX0101F01 + Dolphin Blue AX0401F01 + Maximum Speed AX0501F01 + Demolish Fist AX0601F01 + Guilty Gear X Ver. 1.5 AX0801F01 + Guilt Gear Isuka AX1201F01 + Knights Of Valour Seven Spirits AX1301F01 + Salaryman Kintaro AX1401F01 + Ranger Mission AX1601F01 + Faster Than Speed AX1701F01 + Rumble Fish AX1801F01 + Fist Of The North Star AX1901F01 + Victory Furlong : Horse Racing AX2001F01 + King Of Fighters NEOWAVE AX2201F01 + Extreme Hunting AX2401F01 + + IC18 - Fujitsu 29DL640E 64M TSOP48 FlashROM. This ROM has no additional custom markings + The name in the archive has been devised purely for convenience. + This ROM holds the main program. + +IC10 to IC17 - Custom-badged 128M TSOP48 mask ROMs. + IC10 - Not Populated for 7 ROMs or less (ROM 01 if 8 ROMs are populated) + IC11 - ROM 01 (or ROM 02 if 8 ROMs are populated) + IC12 - ROM 02 (or ROM 03 if 8 ROMs are populated) + IC13 - ROM 03 (or ROM 04 if 8 ROMs are populated) + IC14 - ROM 04 (or ROM 05 if 8 ROMs are populated) + IC15 - ROM 05 (or ROM 06 if 8 ROMs are populated) + IC16 - ROM 06 (or ROM 07 if 8 ROMs are populated) + IC17 - ROM 07 (or ROM 08 if 8 ROMs are populated) + + ROM Codes + --------- + Number + Game (sorted by code) Code of ROMs + ----------------------------------------------------------------------- + Sports Shooting USA AX0101M01 to AX0104M01 4 + Dolphin Blue AX0401M01 to AX0405M01 5 + Maximum Speed AX0501M01 to AX0505M01 5 + Demolish Fist AX0601M01 to AX0607M01 7 + Guilty Gear X Ver. 1.5 AX0801M01 to AX0807M01 7 + Guilty Gear Isuka AX1201M01 to AX1208M01 8 + Knights Of Valour Seven Spirits AX1301M01 to AX1307M01 7 + Salaryman Kintaro AX1401M01 to AX1407M01 7 + Ranger Mission AX1601M01 to AX1605M01 5 + Faster Than Speed AX1701M01 to AX1706M01 6 + Rumble Fish AX1801M01 to AX1807M01 7 + Fist Of The North Star AX1901M01 to AX1907M01 7 + Victory Furlong : Horse Racing AX2001M01 to AX2007M01 7 + King Of Fighters NEOWAVE AX2201M01 to AX2206M01 6 + Extreme Hunting AX2401M01 to AX2406M01 6 + + +Type 2 ROM Board: + +AM3ALW-02 +MROM2 PCB +2005 +|----------------------------| +| FMEM1 | +| FMEM2* MROM12 | +| MROM11* | +| MROM9 | +| MROM10 MROM8*| +| XCR3128XL* MROM7* | +| | +||-| MROM6 | +|| | MROM3* MROM4 | +|| | MROM5*| +|| |CN1 MROM2 | +|| | MROM1* | +||-| | +|----------------------------| +Notes: + * - Denotes those devices are on the other side of the PCB + CN1 - This connector plugs into the main board. + XCR3128XL - Xilinx XCR3128XL in-system programmable 128 Macro-cell CPLD (TQFP100) + stamped with a game code. This code is different for each different game. + The last 3 digits seems to be for the usage. + F01 = CPLD/protection device and M01 = mask ROM + + Game (sorted by code) Code + ----------------------------------------------- + Samurai Spirits Tenkaichi Kenkakuden AX2901F01 + Metal Slug 6 AX3001F01 + The King Of Fighters XI AX3201F01 + Neogeo Battle Coliseum AX3301F01 + Rumble Fish 2 AX3401F01 + + FMEM1/FMEM2 - Fujitsu 29DL640E 64M TSOP48 FlashROM. This ROM has no additional custom markings + The name in the archive has been devised purely for convenience. + This ROM holds the main program. + This location is wired to accept TSOP56 ROMs, however the actual chip populated + is a TSOP48, using the middle pins. The other 2 pins on each side of the ROM + are not connected to anything. + + MROM* - Custom-badged 256M SSOP70 mask ROMs + + ROM Codes + --------- + Number + Game (sorted by code) Code of ROMs + ----------------------------------------------------------------------- + Samurai Spirits Tenkaichi Kenkakuden AX2901M01 to AX2907M01 7 + Metal Slug 6 AX3001M01 to AX3004M01 4 + The King Of Fighters XI AX3201M01 to AX3207M01 7 + Neogeo Battle Coliseum AX3301M01 to AX3307M01 7 + Rumble Fish 2 AX3401M01 to AX3405M01 5 + + +Type 3 ROM Board: + +This type is manufactured by Sega when Sammy merged with Sega. + +171-8355A +PC BD A/W 128M FLASH +837-14608 (sticker for Extreme Hunting 2 Tournament Edition, Sega Bass Fishing Challenge, Sega Clay Challenge) +837-14695 (sticker for Dirty Pigskin Football) +|----------------------------| +| XC9536* U16 U2* | +| | +|J2 | +| | +| U4* U14 | +| | +| | +||-| | +|| | U17 U1* | +|| | | +|| |J1* | +|| | | +||-| U3* U15 | +|----------------------------| +Notes: + * - Denotes those parts are on the other side of the PCB + J1 - This connector plugs into the main board. + J2 - 6 pin connector for programming the XC9536 CPLD and/or the flash ROMs + XC9536 - Xilinx XC9536 in-system programmable CPLD (PLCC44), stamped with a + Sega 315-xxxx part number with a sticker over the top of it. + all known games on this type ROM BD have the same part# and decryption key. + + Game Part# Sticker + --------------------------------------------------------- + Extreme Hunting 2 Tournament Edition 315-6428P 315-6248 + Dirty Pigskin Football 315-6248 - + Sega Bass Fishing Challenge 315-6248 - + Sega Bass Fishing Challenge Version A 315-6248 - + Sega Clay Challenge 315-6248 - + Animal Basket VM2001F01 - + Block Pong-Pong VM2001F01 - + WaiWai Drive VM2001F01 - + Faster Than Speed 837-14681 315-6248 - (not dumped, known to exists) + + U* - Fujitsu MBM29PL12LM-10PCN 128M MirrorFlash TSOP56 flash ROM. + (configured as 16Mbytes x8bit or 8Mwords x16bit) + This ROM has no additional custom markings. The name in the archive has been devised + purely for convenience using the Sega 837- sticker number. The number of ROMs may vary + between games. So far all 8 positions have been seen populated. It's also possible all + positions are present when manufactured, each board is programmed to requirements and + depending on the total data length, some ROMs may be empty. + + +Development ROM board: + +There are a few unreleased and many prototype game versions known to exist on this ROM board. +Currently Rumble Fish 1, Rumble Fish 2 prototypes and Sushi Bar are dumped. + +PC BD SYSTEMX 3MODE FLASH Rev.B +1111-00001402 +|--------------------------------------------| +| CN3 | +| | +||-| IC14 IC17 IC20 IC23 | +|| | XC9536 | +|| | | +|| | | +||CN1 IC12 IC15 IC18 IC21 IC24 IC26 | +|| | | +|| | | +|| | XC2S30 | +||-| IC13 IC16 IC19 IC22 IC25 IC27 | +| 17S30 | +| CN2 | +|--------------------------------------------| +Notes: + CN1 - This connector plugs into the main board through 'PC RELAY BD SX CRTG V1' adapter. + CN2 - 8 pin connector + CN3 - 6 pin connector for programming the XC9536 CPLD + XC9536 - Xilinx XC9536XL in-system programmable CPLD (PLCC44), stamped JULIE_DEV on RF2 proto + XC2S30 - Xilinx XC2S30 Spartan-II FPGA (TQFP144), Rumble Fish 2 have printed sticker A08 + 17S30 - Xilinx 17S30APC OTP Configuration PROM, stamped SXFLS + IC12-IC27 - Fujitsu MBM29DL640E 64M TSOP48 flash ROMs + + +Network Board +------------- + +This board is required for Extreme Hunting 2 Tournament Edition (and possibly some other Sega-made Atomiswave carts) +although it doesn't need to be connected to a network or another Atomiswave unit to boot up. However it must be +plugged into the PCB in the communication slot or the game will not go in-game. It will boot but then displays +NETWORK BOARD ERROR if not present. Externally there's a hole for an RJ45 network cable and a slot for a +PIC16C621/PIC16C622 PIC enclosed in a black plastic housing. This is the same type as used in NAOMI etc. This +board probably acts like the NAOMI network DIMM board minus the on-board DIMM RAM storage. + +837-14508R +171-8324C +(C) SEGA 2005 +|-----------------------------------| +| RJ45 24LC0241* IC2 CN3 | +|LLLL K4S643232* IC14 | +| RTL8201 LLLL | +|25MHz | +| 6417710 IC4S* | +| XC3S200 | +|MAX3221 JP1 XCF01S* | +|CN5 33.333MHz JP2 CN2*| +|-----------------------------------| +Notes: + * - Denotes those parts are on the other side of the PCB + L - LED + RJ45 - RJ45 network connector + 24LC0241 - EEPROM (SOIC8) + K4S643232- Samsung K4S643232 512k x 32bit x 4 banks synchronous DRAM (TSOPII-86) + RTL8201 - Realtek RTL8201 Single Port 10/100M Fast Ethernet IC (QFP48) + 6417710 - Renesas HD6417710BPV SH3-DSP 32-Bit RISC Microcomputer SuperHTM RISC engine Family / SH7700 Series (BGA256) + XC3S200 - Xilinx Spartan XC3S200 FPGA (QFP100) + XCF01S - Xilinx XCF01S In-System Programmable 1Mbit PROM for Configuration of Xilinx FPGAs (TSSOP20) + MAX3221 - Maxim MAX3221 3.0V to 5.5V, 250kbps, RS-232 Transceivers with Auto Shutdown (TSSOP16) + JP1/2 - Jumpers, both set to 1-2 + CN2 - This connector plugs into the main board + CN3 - 6 pin connector + CN5 - 3 position connector + IC2 - ST M29DW324DB 32M flash ROM (TSOP48) + IC4S - Spartan S29GL128N10TFIO1 128M flash ROM (TSOP56) + IC14 - socket for PIC16C621 mounted in a plastic plug-in case + PIC Usage: + Game Sega Part# + --------------------------------------------------- + Extreme Hunting 2 Tournament Edition 317-0445-COM + + +AW-NET Network Board +-------------------- + +Sammy +AM3AJG-01 +LAN PCB +2003 +SAMLAN Rev: D +|-----------------------------------| +| RJ45 | +|PULSE | +| 25Mz | +| | +| RTL8139CL+* CN* | +| 315-6310* | +| | +| L46R | +|-----------------------------------| +Notes: + * - Denotes those parts are on the other side of the PCB + RJ45 - RJ45 network connector + PULSE - Pulse H0011 10/100 LAN Magnetics Module (SOIC16) + L46R - 93C46 compatible 128x8 EEPROM (SOIC8) + RTL8139CL+ - Realtek RTL8139CL+ 3.3 volt Single Chip Fast Ethernet Controller with Power Management (QFP120) + 315-6310 - Sega 315-6310 Custom IC (QFP100) + CN - This connector plugs into the main board + + +Gun Sub Board +------------- + +AM3AGT-02 GUN SUB PCB +|------------------| +|CN5 CN4 CN3 CN2| +| 74HC74 | +| | +| 74HC74 7CHC74 | +| 74HC74 | +| | +| CN1 | +|------------------| +Notes: + CN1 - 8 pin connector joining to I/O Expansion Module (which is plugged into main board) + CN2 - Gun connection for player 2 trigger and optical + CN3 - Gun connection for player 2 pump switch + CN4 - Gun connection for player 1 trigger and optical + CN5 - Gun connection for player 1 pump switch + + +Other games not dumped +---------------------- +Miracle Stadium + +Cancelled, prototypes known to exists +---------------------- +Chase 1929 +Force Five +Kenju +Premier Eleven + +**************************************************************************************************/ + +#include "emu.h" +#include "dc_atomiswave.h" + +//#include "machine/gunsense.h" +//#include "emupal.h" +#include "screen.h" +#include "speaker.h" + +/* + 0x00600280 r 0000dcba + a/b - 1P/2P coin inputs (JAMMA), active low + c/d - 3P/4P coin inputs (EX. IO board), active low + + (ab == 0) -> BIOS skip RAM test +*/ +uint32_t atomiswave_state::aw_modem_r(offs_t offset, uint32_t mem_mask) +{ + switch(offset) + { + case 0x280/4: + return (ioport("COINS")->read() & 0x0f); + case 0x284/4: + // CHECKME: any game that uses non-canonical input method should be checked from here + return m_exid_in.read_safe(m_aw_ctrl_type); + } + + osd_printf_verbose("MODEM: Unmapped read %08x\n", 0x600000+offset*4); + return 0; +} + +/* + 0x00600284 rw ddcc0000 + cc/dd - set type of Maple devices at ports 2/3 (EX. IO board) + 0 - regular Atomiswave controller + 1 - DC lightgun + 2,3 - DC mouse/trackball + + 0x00600288 rw 0000dcba + a - 1P coin counter + b - 2P coin counter + c - 1P coin lockout + d - 2P coin lockout + + 0x0060028C rw POUT CN304 (EX. IO board) + counter/lockout for 3P/4P in ggisuka (same bit mapping as above) + dolphin known to read it too (verify) +*/ +void atomiswave_state::aw_modem_w(offs_t offset, uint32_t data, uint32_t mem_mask) +{ + switch(offset) + { + case 0x284/4: + // EX ID output + // - initialized with 0xf0 only by: + // waidrive, sprtshot, samsptk, rangrmsn, claychal, basschal, anmlbskt + // - 0xf0 plus double sequence of 0x10->0x50->0x40->0x00 by: + // xtrmhnt2, xtrmhunt + // Real HW tests shows that writing to this will ping the value back to reads + // (open bus/drain?) + m_aw_ctrl_type = data & 0xf0; + if (m_exid_out) + m_exid_out->write(m_aw_ctrl_type); + + logerror("%s: write to ctrl port %02x %08x\n", machine().describe_context(), data, mem_mask); + break; + } + + osd_printf_verbose("MODEM: [%08x] write %x to %x, mask %x\n", 0x600000+offset*4, data, offset, mem_mask); +} + +void atomiswave_state::aw_map(address_map &map) +{ + /* Area 0 */ + map(0x00000000, 0x0001ffff).rw(m_awflash, FUNC(macronix_29l001mc_device::read), FUNC(macronix_29l001mc_device::write)); + map(0xa0000000, 0xa001ffff).rw(m_awflash, FUNC(macronix_29l001mc_device::read), FUNC(macronix_29l001mc_device::write)); + + map(0x00200000, 0x0021ffff).ram().share("sram"); // battery backed up RAM + map(0x005f6800, 0x005f69ff).rw(FUNC(atomiswave_state::dc_sysctrl_r), FUNC(atomiswave_state::dc_sysctrl_w)); + map(0x005f6c00, 0x005f6cff).mirror(0x02000000).m(m_maple, FUNC(maple_dc_device::amap)); + map(0x005f7000, 0x005f70ff).mirror(0x02000000).m(m_naomig1, FUNC(naomi_g1_device::submap)).umask64(0x0000ffff0000ffff); + map(0x005f7400, 0x005f74ff).mirror(0x02000000).m(m_naomig1, FUNC(naomi_g1_device::amap)); + map(0x005f7800, 0x005f78ff).mirror(0x02000000).m(m_g2if, FUNC(dc_g2if_device::amap)); + map(0x005f7c00, 0x005f7cff).mirror(0x02000000).m(m_powervr2, FUNC(powervr2_device::pd_dma_map)); + map(0x005f8000, 0x005f9fff).mirror(0x02000000).m(m_powervr2, FUNC(powervr2_device::ta_map)); + map(0x00600000, 0x006007ff).rw(FUNC(atomiswave_state::aw_modem_r), FUNC(atomiswave_state::aw_modem_w)).umask64(0xffffffffffffffff); + map(0x00700000, 0x00707fff).rw(FUNC(atomiswave_state::dc_aica_reg_r), FUNC(atomiswave_state::dc_aica_reg_w)); + map(0x00710000, 0x0071000f).mirror(0x02000000).rw("aicartc", FUNC(aicartc_device::read), FUNC(aicartc_device::write)).umask64(0x0000ffff0000ffff); + map(0x00800000, 0x00ffffff).rw(FUNC(atomiswave_state::soundram_r), FUNC(atomiswave_state::soundram_w)); // sound RAM (8 MB) + + /* Area 1 - half the texture memory, like dreamcast, not naomi */ + // texture memory 64 bit access + map(0x04000000, 0x047fffff).mirror(0x02800000).ram().share("dc_texture_ram"); + // apparently this actually accesses the same memory as the 64-bit texture memory access, but in a different format, keep it apart for now + map(0x05000000, 0x057fffff).mirror(0x02800000).ram().share("frameram"); + // 0x067xxxxx written by maxspeed title screen animation + + /* Area 2 */ + map(0x08000000, 0x0bffffff).noprw(); // 'Unassigned' + + /* Area 3 */ + map(0x0c000000, 0x0cffffff).ram().share("dc_ram"); + map(0x0d000000, 0x0dffffff).ram().share("dc_ram"); // extra ram on Naomi (mirror on DC) + map(0x0e000000, 0x0effffff).ram().share("dc_ram"); // mirror + map(0x0f000000, 0x0fffffff).ram().share("dc_ram"); // mirror + + map(0x8c000000, 0x8cffffff).ram().share("dc_ram"); // RAM access through cache + map(0x8d000000, 0x8dffffff).ram().share("dc_ram"); // RAM access through cache + + /* Area 4 - half the texture memory, like dreamcast, not naomi */ + map(0x10000000, 0x107fffff).mirror(0x02000000).w(m_powervr2, FUNC(powervr2_device::ta_fifo_poly_w)); + map(0x10800000, 0x10ffffff).w(m_powervr2, FUNC(powervr2_device::ta_fifo_yuv_w)); + map(0x11000000, 0x117fffff).w(m_powervr2, FUNC(powervr2_device::ta_texture_directpath0_w)).mirror(0x00800000); // access to texture / framebuffer memory (either 32-bit or 64-bit area depending on SB_LMMODE0 register - cannot be written directly, only through dma / store queue + /* 0x12000000 -0x13ffffff Mirror area of 0x10000000 -0x11ffffff */ + map(0x13000000, 0x137fffff).w(m_powervr2, FUNC(powervr2_device::ta_texture_directpath1_w)).mirror(0x00800000); // access to texture / framebuffer memory (either 32-bit or 64-bit area depending on SB_LMMODE1 register - cannot be written directly, only through dma / store queue + + + /* Area 5 */ + //map(0x14000000, 0x17ffffff).noprw(); // MPX Ext. + + /* Area 6 */ + //map(0x18000000, 0x1bffffff).noprw(); // Unassigned + + /* Area 7 */ + //map(0x1c000000, 0x1fffffff).noprw(); // SH4 Internal +} + +void atomiswave_state::aw_port(address_map &map) +{ +// ??? +} + +/* + ALL.Net board + ------------- + Block diagram: + GPIO Port A - Jumpers, LEDs + PIC16 GPIO Port B - I2C EEPROM + | | + G2 Bus <-> FPGA <-> SH-3 <-> Ethernet PHY <-> Ethernet + | + |--- boot flash ROM 4MB + |--- SDRAM 8MB + |--- data buffer flash ROM 16MB + + SH-3 external address space + 00000000 - 003fffff boot flash ROM (IC2) + 0c000000 - 0c7fffff SDRAM + 10000000 - 10ffffff data buffer flash ROM (IC4) + 16000000 rw FPGA_INT_OUT interrupt to host, bit 0 active low + 16000004 rw FPGA_INT_IN interrupt from host (SH-3 IRQ0 line), bit 0 active low + 16000008 rw FPGA_INT_MASK enable interrupt from host, bit 0 active low + 1600000c rw FPGA_READY bit 0 active high + 16000010 r FPGA_REVISION 8bit value + 16002000 - 16007fff shared RAM (FPGA internal) + + SH-3 GPIO PortA bits + 2-3 - jumpers x2 (inputs, active low) + 4-7 - LEDs x4 (outputs, active low) + + SH-3 GPIO PortB bits (24LC024 I2C EEPROM) + 0 - I2C SCL + 6 - unknown, set to output 1 + 7 - I2C SDA + + SH-4 address space + 01000000 r ID "G2IFSOJ AM" + 01000020 w interrupt to net board, bit 0 active low + 01000024 w interrupt from net board (HOLLY EXT IRQ line), bit 0 active low + 01000028 w enable interrupt from net board, bit 0 active low + 0100002c w net board reset?, bit 0 active high + 01000030 r FPGA_READY? + 01000100 - 01000114 protection registers, probably mirror of 010000xx + 01000400/01000800/01001400/01001800 r at POST, tries to read these, discards the other three values and put the result to 0xc00efc8, expecting a value to "SPAG" / 0x53504147 for a flag at PC=cf1a108, connection handshake related? + 01010000 - 01016000 shared RAM (FPGA internal) + + protection registers (16bit): + 00-09 r ID mirror? (unused) + 0a r some ID? value (unused) + 0c w RNG seed?, game write here random value during init + 0e w data offset/index (0-3 in xtrmhnt2) + 10 r data read, xtrmhnt2 expecting: 1f9f, 1f03, 1f1c, 1f57 + 12 rw control reg?, write 0001 after offset set, wait for bit1=1 before data read + 14 rw PIC detect/init reg, game check if bit0=1 (probably means if PIC present), then write RNG register, then write 0003, then wait for bit2=1 (probably means PIC initialised OK) +*/ +uint64_t atomiswave_xtrmhnt2_state::allnet_hack_r(offs_t offset, uint64_t mem_mask) +{ + // disable ALL.Net board check + // PC checks refers to -nodrc || -drc || -drc -debug + logerror("%s: ALL.net check %x (%x)\n", machine().describe_context(), offset * 8, mem_mask); + // "100 NETBD NOT RESPOND" right off the bat + if (m_maincpu->pc() == 0xc03cb30 || + m_maincpu->pc() == 0xc03cb10 || + m_maincpu->pc() == 0xc03cb2e) + { + dc_ram[0x357fe/8] |= (uint64_t)0x200 << 48; + dc_ram[0x358e2/8] |= (uint64_t)0x200 << 16; + dc_ram[0x38bb2/8] |= (uint64_t)0x200 << 16; + dc_ram[0x38bee/8] |= (uint64_t)0x200 << 48; + } + // "ERROR: THIS IS NOT ACCEPTABLE BY MAIN BOARD" + if (m_maincpu->pc() == 0xc108240 || + m_maincpu->pc() == 0xc108210 || + m_maincpu->pc() == 0xc10823e) + dc_ram[0x9acc8/8] = (dc_ram[0x9acc8/8] & 0xffffffffffff0000U) | (uint64_t)0x0009; + return 0; +} + +void atomiswave_xtrmhnt2_state::aw_map(address_map &map) +{ + atomiswave_state::aw_map(map); + // ALL.net + map(0x01000000, 0x0100011f).r(FUNC(atomiswave_xtrmhnt2_state::allnet_hack_r)); +// map(0x01001800, 0x01001803).lr32(NAME([]() -> u32 { return 0x53504147; })); +} + +// Atomiswave - inputs are read as standard Dreamcast controllers. +// Controller bit patterns: +// +// SHOT3 (1<<0) +// SHOT2 (1<<1) +// SHOT1 (1<<2) +// START (1<<3) +// UP (1<<4) +// DOWN (1<<5) +// LEFT (1<<6) +// RIGHT (1<<7) +// SHOT5 (1<<9) +// SHOT4 (1<<10) +// SERVICE (1<<13) +// TEST (1<<14) + +// 2 joysticks variant +static INPUT_PORTS_START( aw2c ) + PORT_START("P1.0") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + + PORT_START("P1.1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) + + PORT_START("P2.0") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + + PORT_START("P2.1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE2 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) + + PORT_START("COINS") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + +// ggisuka +static INPUT_PORTS_START( aw4c ) + PORT_INCLUDE( aw2c ) + + PORT_MODIFY("COINS") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 ) + + PORT_START("EXID_IN") + // return 0x0x for p3/p4 connectors to work properly + PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("P3.0") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) + + PORT_START("P3.1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // IPT_SERVICE3 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(3) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(3) + + PORT_START("P4.0") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START4 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) + + PORT_START("P4.1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) //IPT_SERVICE4 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(4) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(4) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(4) +INPUT_PORTS_END + +// Single-player wheel variant +static INPUT_PORTS_START( aw1w ) + PORT_START("P1.0") + PORT_BIT( 0xf1, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + + PORT_START("P1.1") + PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_BIT( 0x9f, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("P2.A0") /* steering */ + PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) + + PORT_START("P2.A1") /* gas pedal */ + PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) + + PORT_START("P2.A2") /* brake */ + PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(40) + + PORT_START("P2.A3") /* steering */ + PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(100) PORT_KEYDELTA(4) + + PORT_START("P2.A4") /* gas pedal */ + PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) + + PORT_START("P2.A5") /* brake */ + PORT_BIT( 0xff, 0x00, IPT_PEDAL2 ) PORT_SENSITIVITY(100) PORT_KEYDELTA(40) + + PORT_START("COINS") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + +void atomiswave_state::aw_base(machine_config &config) +{ + naomi_aw_base(config); + + m_maincpu->set_addrmap(AS_PROGRAM, &atomiswave_state::aw_map); + m_maincpu->set_addrmap(AS_IO, &atomiswave_state::aw_port); + MACRONIX_29L001MC(config, "awflash"); + aw_rom_board &rom_board(AW_ROM_BOARD(config, "rom_board", 0)); + rom_board.irq_callback().set(FUNC(dc_state::g1_irq)); + + MCFG_MACHINE_RESET_OVERRIDE(dc_state,dc_console) + NVRAM(config, "sram", nvram_device::DEFAULT_ALL_0); +} + +void atomiswave_state::aw1c(machine_config &config) +{ + aw_base(config); + dc_controller_device &dcctrl0(DC_CONTROLLER(config, "dcctrl0", 0, m_maple, 0)); + dcctrl0.set_port_tags("P1.0", "P1.1", "P1.A0", "P1.A1", "P1.A2", "P1.A3", "P1.A4", "P1.A5"); + // TODO: isn't it supposed to be just one controller? + dc_controller_device &dcctrl1(DC_CONTROLLER(config, "dcctrl1", 0, m_maple, 1)); + dcctrl1.set_port_tags("P2.0", "P2.1", "P2.A0", "P2.A1", "P2.A2", "P2.A3", "P2.A4", "P2.A5"); +} + +void atomiswave_state::aw2c(machine_config &config) +{ + aw_base(config); + dc_controller_device &dcctrl0(DC_CONTROLLER(config, "dcctrl0", 0, m_maple, 0)); + dcctrl0.set_port_tags("P1.0", "P1.1", "P1.A0", "P1.A1", "P1.A2", "P1.A3", "P1.A4", "P1.A5"); + dc_controller_device &dcctrl1(DC_CONTROLLER(config, "dcctrl1", 0, m_maple, 1)); + dcctrl1.set_port_tags("P2.0", "P2.1", "P2.A0", "P2.A1", "P2.A2", "P2.A3", "P2.A4", "P2.A5"); +} + +void atomiswave_state::aw4c(machine_config &config) +{ + aw2c(config); + dc_controller_device &dcctrl2(DC_CONTROLLER(config, "dcctrl2", 0, m_maple, 2)); + dcctrl2.set_port_tags("P3.0", "P3.1", "P3.A0", "P3.A1", "P3.A2", "P3.A3", "P3.A4", "P3.A5"); + dc_controller_device &dcctrl3(DC_CONTROLLER(config, "dcctrl3", 0, m_maple, 3)); + dcctrl3.set_port_tags("P4.0", "P4.1", "P4.A0", "P4.A1", "P4.A2", "P4.A3", "P4.A4", "P4.A5"); +} + +#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \ + ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_BIOS(bios)) + +#define AW_BIOS \ + ROM_REGION64_LE( 0x200000, "awflash", 0) \ + ROM_SYSTEM_BIOS( 0, "bios0", "Sammy BIOS" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 0, "bios0.ic23", 0x000000, 0x020000, CRC(719b2b0b) SHA1(b4c1a26bc8906d5275eb28c701dff2b9365bcdfa) ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 0, "bios1.ic23", 0x000000, 0x020000, CRC(d3e80a9f) SHA1(33024f9d51c04884c2b44ce146f340e7a857b959) ) \ + ROM_SYSTEM_BIOS( 1, "bios1", "Sega BIOS" ) \ + ROM_LOAD16_WORD_SWAP_BIOS( 1, "fpr-24363.ic48", 0x000000, 0x020000, CRC(82a105f0) SHA1(5128fe2ddcced77332bdcab691c09958051fa564) ) \ + ROM_CONTINUE( 0x000000, 0x020000 ) \ + ROM_CONTINUE( 0x000000, 0x020000 ) \ + ROM_CONTINUE( 0x000000, 0x020000 ) + +ROM_START( awbios ) + AW_BIOS + + ROM_REGION( 0x8400000, "rom_board", ROMREGION_ERASE) +ROM_END + +/********************************************** + * + * Atomiswave cart defines + * + *********************************************/ + +// note: games with AW-NET features, i.e. NGBC or KOF NW, have "CUSTOMER ID" data (shown in NETWORK SETTINGS) in ROM @ 7FE000 (not encrypted, 8 bytes of data followed by 2 bytes of bytesumm) +// EN cartridges have this area empty (FF-filled), i.e. AW-NET features not used. +// JP cartridges have it filled with unique ID, which also means dumps of several JP cartridges will differ by this few bytes. + +void atomiswave_state::init_atomiswave() +{ + uint64_t *ROM = (uint64_t *)memregion("awflash")->base(); + + // patch out long startup delay + // (Sammy logo on -bios 0 before "ALL BACKUP DATA WAS CLEARED" msg) + // Notice that you also need to zap NVRAM contents in order to boot without this patch. + ROM[0x98e/8] = (ROM[0x98e/8] & 0xffffffffffffU) | (uint64_t)0x0009<<48; + + m_maincpu->sh2drc_add_fastram(0x00000000, 0x0001ffff, true, ROM); + m_maincpu->sh2drc_add_fastram(0xa0000000, 0xa001ffff, true, ROM); +} + +ROM_START( fotns ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax1901p01.ic18", 0x0000000, 0x0800000, CRC(a06998b0) SHA1(d617691db5170f6db176e40fc732966d523fd8cf) ) + ROM_LOAD( "ax1901m01.ic11", 0x1000000, 0x1000000, CRC(ff5a1642) SHA1(49cefcce173f9a811fe9c0c07bee53aeba2bc3a8) ) + ROM_LOAD( "ax1902m01.ic12", 0x2000000, 0x1000000, CRC(d9aae8a9) SHA1(bf87034088be0847b6e297b7665e0ea4d8cba631) ) + ROM_LOAD( "ax1903m01.ic13", 0x3000000, 0x1000000, CRC(1711b23d) SHA1(ab628b2ec678839c75245e245297818ef1592d3b) ) + ROM_LOAD( "ax1904m01.ic14", 0x4000000, 0x1000000, CRC(443bfb26) SHA1(6f7751afa0ca55dd0679758b27bed92b31c1b050) ) + ROM_LOAD( "ax1905m01.ic15", 0x5000000, 0x1000000, CRC(eb1cada0) SHA1(459d21d622c72606f1d3095e8a25b6c4adccf8ab) ) + ROM_LOAD( "ax1906m01.ic16", 0x6000000, 0x1000000, CRC(fe6da168) SHA1(d4ab6443383469bb5a4337005de917627a2e21cc) ) + ROM_LOAD( "ax1907m01.ic17", 0x7000000, 0x1000000, CRC(9d3a0520) SHA1(78583fd171b34439f77a04a97ebe3c9d1bab61cc) ) + + ROM_PARAMETER(":rom_board:key", "c2") // ax1901f01 +ROM_END + +ROM_START( rangrmsn ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax1601p01.ic18", 0x0000000, 0x0800000, CRC(00a74fbb) SHA1(57cc1eedd22d1f553956a825e69a597309ee2bef) ) + ROM_LOAD( "ax1601m01.ic11", 0x1000000, 0x1000000, CRC(f34eed33) SHA1(1c171fb8aa95877f81ed78652d4a9ff80f7713ff) ) + ROM_LOAD( "ax1602m01.ic12", 0x2000000, 0x1000000, CRC(a7d59efb) SHA1(a40938ce1399babefc8cf02f579a86cf08e211ef) ) + ROM_LOAD( "ax1603m01.ic13", 0x3000000, 0x1000000, CRC(7c0aa241) SHA1(3e0e5ff3307dcfa52998fb9b4b14bf54bd056a99) ) + ROM_LOAD( "ax1604m01.ic14", 0x4000000, 0x1000000, CRC(d2369144) SHA1(da1eae9957d27d1682c4191780cf51b32dfe6659) ) + ROM_LOAD( "ax1605m01.ic15", 0x5000000, 0x1000000, CRC(0c11c1f9) SHA1(0585db60618c5b97f9b7c203baf7e5ac90883ca6) ) + + ROM_PARAMETER(":rom_board:key", "88") // ax1601f01 +ROM_END + +ROM_START( sprtshot ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax0101p01.ic18", 0x0000000, 0x0800000, CRC(b3642b5d) SHA1(85eabd9551aefb825ae8eb6422092fb5a58d60f6) ) + ROM_LOAD( "ax0101m01.ic11", 0x1000000, 0x1000000, CRC(1e39184d) SHA1(663e0cb9f43a0f89d9841e04b3d009f6c5e88d5e) ) + ROM_LOAD( "ax0102m01.ic12", 0x2000000, 0x1000000, CRC(700764d1) SHA1(310f1606f7bbed1012c119f1ef5d89d231d8489e) ) + ROM_LOAD( "ax0103m01.ic13", 0x3000000, 0x1000000, CRC(6144e7a8) SHA1(4d4341082f008dfd93ef5bf32a44c80869ef02a8) ) + ROM_LOAD( "ax0104m01.ic14", 0x4000000, 0x1000000, CRC(ccb72150) SHA1(a1032d321c27f9ff43da41f20b8687bf1958ddc9) ) + + ROM_PARAMETER(":rom_board:key", "64") // ax0101f01 +ROM_END + +ROM_START( xtrmhunt ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax2401p01.ic18", 0x0000000, 0x0800000, CRC(8e2a11f5) SHA1(b5106314fb8d4483254e83ac3982039bb60a78e8) ) + ROM_LOAD( "ax2401m01.ic11", 0x1000000, 0x1000000, CRC(76dbc286) SHA1(8f36ca94b8e67c76e0f90b21debc5ac7890f0da1) ) + ROM_LOAD( "ax2402m01.ic12", 0x2000000, 0x1000000, CRC(cd590ea2) SHA1(ee5e38bf68e95da665be478ebba9cc5ffed52bb7) ) + ROM_LOAD( "ax2403m01.ic13", 0x3000000, 0x1000000, CRC(06f62eb5) SHA1(f7e8d1dda6bb59ca2bc7cfa1105889b9e8e6d55d) ) + ROM_LOAD( "ax2404m01.ic14", 0x4000000, 0x1000000, CRC(759ef5cb) SHA1(27ac2d12c6fb358b3d631c017c7b693e5ad95fd7) ) + ROM_LOAD( "ax2405m01.ic15", 0x5000000, 0x1000000, CRC(940d77f1) SHA1(eefdfcb92873032dc7d9ff9310bf5ed715c8bf4f) ) + ROM_LOAD( "ax2406m01.ic16", 0x6000000, 0x1000000, CRC(cbcf2c5d) SHA1(61362fabcbb3bfc01c996748a7ca65f8a0e02f2f) ) + + ROM_PARAMETER(":rom_board:key", "e4") // ax2401f01 +ROM_END + +ROM_START( xtrmhnt2 ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "610-0752.u3", 0x0000000, 0x1000000, CRC(bab6182e) SHA1(4d25256c81941316887cbb4524a203922f5b7104) ) + ROM_LOAD( "610-0752.u1", 0x1000000, 0x1000000, CRC(3086bc47) SHA1(eb7b04db90d296985528f0cfdd4545f184c40b64) ) + ROM_LOAD( "610-0752.u4", 0x2000000, 0x1000000, CRC(9787f145) SHA1(8445ede0477f70fbdc113810b80356945ce498d2) ) + ROM_LOAD( "610-0752.u2", 0x3000000, 0x1000000, CRC(d3a88b31) SHA1(ccf14367e4e7efbc2cc835f3b001fd6d64302a5e) ) + ROM_LOAD( "610-0752.u15", 0x4000000, 0x1000000, CRC(864a6342) SHA1(fb97532d5dd00f8520fdaf68dfcd1ea627bdf90a) ) + ROM_LOAD( "610-0752.u17", 0x5000000, 0x1000000, CRC(a79fb1fa) SHA1(f75c5b574fd79677b926c595b369e95605a3c848) ) + ROM_LOAD( "610-0752.u14", 0x6000000, 0x1000000, CRC(ce83bcc7) SHA1(e2d324a5a7eacbec7b0df9a4b9e276521bb9ab80) ) + ROM_LOAD( "610-0752.u16", 0x7000000, 0x1000000, CRC(8ac71c76) SHA1(080e41e633bf082fc536781541c6031d1ac81939) ) + + ROM_PARAMETER(":rom_board:key", "2a") // 315-6248 + + ROM_REGION( 0x1400000, "network", 0) // network board + ROM_LOAD( "fpr-24330a.ic2", 0x000000, 0x400000, CRC(8d89877e) SHA1(6caafc49114eb0358e217bc2d1a3ab58a93c8d19) ) + ROM_LOAD( "flash128.ic4s", 0x400000, 0x1000000, CRC(866ed675) SHA1(2c4c06935b7ab1876e640cede51713b841833567) ) +ROM_END + +// Sammy AM3AHC-01 type board +// Build:Jan 24 2005 14:12:29 +ROM_START( anmlbskt ) + AW_BIOS + + ROM_REGION( 0x4000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "vm2001f01.u3", 0x0000000, 0x800000, CRC(4fb33380) SHA1(9070990515544e6e9a1d24b1e0597cdea926a4c9) ) + // U1 Populated, Empty + ROM_LOAD( "vm2001f01.u4", 0x1000000, 0x800000, CRC(7cb2e7c3) SHA1(8b4e46cf19fbc1d613af75c52faebefb2776280b) ) + ROM_LOAD( "vm2001f01.u2", 0x1800000, 0x800000, CRC(386070a1) SHA1(bf46980ea822b4cfe67c622f0104bf793031f4ad) ) + ROM_LOAD( "vm2001f01.u15", 0x2000000, 0x800000, CRC(2bb1be28) SHA1(fda7967d6c0341a608c52087ae3d461554760435) ) // data doesn't belong to this game, possibly a left-over from another game + // U17 Populated, Empty + // U14 Populated, Empty + // U16 Populated, Empty + + ROM_PARAMETER(":rom_board:key", "45") // vm2001f01 +ROM_END + +// no case, Sega 171-8355A type board, stickers: VM20-6101-1 V20T0069 +// Build:Jan 19 2005 13:09:07 +ROM_START( anmlbskta ) + AW_BIOS + + ROM_REGION( 0x4000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "u3", 0x0000000, 0x1000000, CRC(cd082af3) SHA1(d0bcce79fc9bdce04ebfe57fe8b5f7c59ef5fdf3) ) + ROM_LOAD( "u1", 0x1000000, 0x1000000, CRC(4a2a01d3) SHA1(20d98b137efec539451c0573b2928c3a92be5743) ) // identical to parent set U4+U2 + ROM_LOAD( "u4", 0x2000000, 0x1000000, CRC(646e9773) SHA1(dd081a9a42edca956f96124545772d4687ca2113) ) // data not belongs to this game, more looks like random trash + ROM_LOAD( "u2", 0x3000000, 0x1000000, CRC(b9162d97) SHA1(7f561617fa0538da554ad6f6c4d6a20e739491dc) ) // data not belongs to this game, more looks like random trash + // U14-U17 not populated + + ROM_PARAMETER(":rom_board:key", "45") // vm2001f01 +ROM_END + +// game have 2 sets of graphics switched via "LOCATION" setting: SC (Shopping Center) kids oriented, and NORMAL +// since this version SC by default, possible it is special SC ver and there also was earlier regular game version +// no case, Sega 171-8355A type board, stickers: VM20-6101-1 V20T0004 +ROM_START( blokpong ) + AW_BIOS + + ROM_REGION( 0x4000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "u3", 0x0000000, 0x1000000, CRC(debaf8bd) SHA1(8f007e48828697ff7371998f04b2fdd84329fa22) ) + ROM_LOAD( "u1", 0x1000000, 0x1000000, CRC(ca097a3f) SHA1(280fc0c9c36fc988b2ab57c229bbec760d09d5eb) ) + ROM_LOAD( "u4", 0x2000000, 0x1000000, CRC(d235dd29) SHA1(bdd2318a7975fd985b4731700e290a4d0d9cde74) ) // 1st half is game data, 2nd half is garbage + //ROM_LOAD( "u2", 0x3000000, 0x1000000, CRC(b9162d97) SHA1(7f561617fa0538da554ad6f6c4d6a20e739491dc) ) // garbage data not used by this game, match anmlbskta U2 + // U14-U17 not populated + + ROM_PARAMETER(":rom_board:key", "45") // vm2001f01 +ROM_END + +ROM_START( dolphin ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax0401p01.ic18", 0x0000000, 0x0800000, CRC(195d6328) SHA1(cf3b5699f81235919dd3b1974d2ecb0376cb4552) ) + ROM_LOAD( "ax0401m01.ic11", 0x1000000, 0x1000000, CRC(5e5dca57) SHA1(e0623c84f66cada37d4c9399a7a8fc6866933144) ) + ROM_LOAD( "ax0402m01.ic12", 0x2000000, 0x1000000, CRC(77dd4771) SHA1(dcd23b8ddc82eab2f325266ffd7ed3fbc1bcdf71) ) + ROM_LOAD( "ax0403m01.ic13", 0x3000000, 0x1000000, CRC(911d0674) SHA1(eec35badcfbfe412b7104a86c2111f5a1b5fb5cd) ) + ROM_LOAD( "ax0404m01.ic14", 0x4000000, 0x1000000, CRC(f82a4ca3) SHA1(da686d86e176a9f24874d2916b1932f03a99a52d) ) + ROM_LOAD( "ax0405m01.ic15", 0x5000000, 0x1000000, CRC(b88298d7) SHA1(490c3ec471018895b7268ee33498dddaccbbfd5a) ) + + ROM_PARAMETER(":rom_board:key", "40") // ax0401f01 +ROM_END + +ROM_START( demofist ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax0601p01.ic18", 0x0000000, 0x0800000, CRC(0efb38ad) SHA1(9400e37efe3e936474d74400ebdf28ad0869b67b) ) + ROM_LOAD( "ax0601m01.ic11", 0x1000000, 0x1000000, CRC(12fda2c7) SHA1(3afbac221ffe249386e4cb50b4edd013d9a40062) ) + ROM_LOAD( "ax0602m01.ic12", 0x2000000, 0x1000000, CRC(aea61fdf) SHA1(0a088848bbf7a47df8b44b69bf72ed0d4a1088f8) ) + ROM_LOAD( "ax0603m01.ic13", 0x3000000, 0x1000000, CRC(d5879d35) SHA1(977cd3b373c6f94eb21ffb24ff564971d3d633e5) ) + ROM_LOAD( "ax0604m01.ic14", 0x4000000, 0x1000000, CRC(a7b09048) SHA1(229fa2332b58fec2a712c3ebd672662f35a9485a) ) + ROM_LOAD( "ax0605m01.ic15", 0x5000000, 0x1000000, CRC(18d8437e) SHA1(fe2e189e40a89141335e754268d29d46e3eb3bb8) ) + ROM_LOAD( "ax0606m01.ic16", 0x6000000, 0x1000000, CRC(42c81617) SHA1(1cc686af5e3fc56143836e3dcc0067893f82fcf9) ) + ROM_LOAD( "ax0607m01.ic17", 0x7000000, 0x1000000, CRC(96e5aa84) SHA1(e9841f550f2ef409d97004542bcadabb6b9e84af) ) + + ROM_PARAMETER(":rom_board:key", "90") // ax0601f01 +ROM_END + +// (C)Dimps Wed Mar 10 19:08:51 2004 TANAKA (build 0028) +ROM_START( rumblef ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax1801p01.ic18", 0x0000000, 0x0800000, CRC(2f7fb163) SHA1(bf819d798d9a3a7bc754e111a3f53b9db6d6042a) ) + ROM_LOAD( "ax1801m01.ic11", 0x1000000, 0x1000000, CRC(c38aa61c) SHA1(e2f688a0aa8b0119f5fd3d53c8904e035d43a4b1) ) + ROM_LOAD( "ax1802m01.ic12", 0x2000000, 0x1000000, CRC(72e0ebc8) SHA1(e85300a405ea14c4c9d857eb9685c93faaca1d56) ) + ROM_LOAD( "ax1803m01.ic13", 0x3000000, 0x1000000, CRC(d0f59d98) SHA1(b854796087e9f76a13a21da8249f7224e451e129) ) + ROM_LOAD( "ax1804m01.ic14", 0x4000000, 0x1000000, CRC(15595cba) SHA1(8dd06d1f986cd21a58d20b662b11ed7ba8a6ff7a) ) + ROM_LOAD( "ax1805m01.ic15", 0x5000000, 0x1000000, CRC(3d3f8e0d) SHA1(364a0bda890722b9fb72171f96c742b8f3fef23e) ) + ROM_LOAD( "ax1806m01.ic16", 0x6000000, 0x1000000, CRC(ac2751bb) SHA1(5070fa12bf109ab87e8f7ea46ac4ae78a73105da) ) + ROM_LOAD( "ax1807m01.ic17", 0x7000000, 0x1000000, CRC(3b2fbdb0) SHA1(f9f7e06785d3a07282247aaedd9999aa7c2670b9) ) + + ROM_PARAMETER(":rom_board:key", "aa") // ax1801f01 +ROM_END + +// Prototype, (C)Dimps Fri Feb 20 11:00:43 2004 TANAKA (build 0028) +ROM_START( rumblefp ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD("ic12", 0x00000000, 0x00800000, CRC(79866072) SHA1(aa9decd8878ab5a21fe72afb96ee841e94ee07b5) ) + ROM_LOAD("ic13", 0x00800000, 0x00800000, CRC(5630bc83) SHA1(46848b58a55c180d9a92df6914a1a8b9af35cc57) ) + ROM_LOAD("ic14", 0x01000000, 0x00800000, CRC(bcd49846) SHA1(d8ab1253a2904ec4f7126880a55c780986cefd66) ) + ROM_LOAD("ic15", 0x01800000, 0x00800000, CRC(61257cfb) SHA1(bbb8cdd265a55a9d4c9b133b68aa0434de9e0f5b) ) + ROM_LOAD("ic16", 0x02000000, 0x00800000, CRC(c2eb7c61) SHA1(6284ff0fb670011ca9b6ade5acb33211b60cbe43) ) + ROM_LOAD("ic17", 0x02800000, 0x00800000, CRC(dcf673d3) SHA1(0abb2087bd35221cd5ec5f4d6b2f03a2234b5634) ) + ROM_LOAD("ic18", 0x03000000, 0x00800000, CRC(72c066bb) SHA1(a9d457b17d9dd79f54b71bdab24096ec3fbd00ea) ) + ROM_LOAD("ic19", 0x03800000, 0x00800000, CRC(b20bf301) SHA1(3f5754b11f4b621703a21ddbf4762d6ada9f3ca3) ) + ROM_LOAD("ic20", 0x04000000, 0x00800000, CRC(d27e7393) SHA1(62b9a880550067829f26ee120fad330257d349ff) ) + ROM_LOAD("ic21", 0x04800000, 0x00800000, CRC(c2da1ecf) SHA1(26d14843c256eaf7196e59463adb6581a25e9cca) ) + ROM_LOAD("ic22", 0x05000000, 0x00800000, CRC(730e0e1c) SHA1(469a2b34c492408aa70b60c1293481d218b76086) ) + ROM_LOAD("ic23", 0x05800000, 0x00800000, CRC(d93afcac) SHA1(69e2d873e5a384d1e14ef47d6f6a3cbcbe782eec) ) + ROM_LOAD("ic24", 0x06000000, 0x00800000, CRC(262d97b9) SHA1(1ae41ebea41035d21e174a03532dbaff9fe1ece2) ) + ROM_LOAD("ic25", 0x06800000, 0x00800000, CRC(e45cf169) SHA1(3b080d6306262db36c6857e11b8ec506fa20f0f5) ) + ROM_LOAD("ic26", 0x07000000, 0x00800000, CRC(6421720d) SHA1(6eaeb93d462542c3cf3e815d5fb309c337a8673b) ) + // IC27 populated, empty + + ROM_PARAMETER(":rom_board:key", "25") // Julie +ROM_END + +// Build:Jun 25 2005 17:00:38 +ROM_START( ngbc ) + AW_BIOS + + ROM_REGION( 0x14000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "ax3301en_p01.fmem1", 0x00000000, 0x0800000, CRC(f7e24e67) SHA1(8eef26d44b294faa509304b1b04f4d801337bc99) ) + ROM_LOAD( "ax3301m01.mrom1", 0x02000000, 0x2000000, CRC(e6013de9) SHA1(ccbc7c2e76153348646d75938d5c008dc80df17d) ) + ROM_LOAD( "ax3302m01.mrom2", 0x04000000, 0x2000000, CRC(f7cfef6c) SHA1(c9e6231499a9c9c8650d9e61f34ff1fcce8d442c) ) + ROM_LOAD( "ax3303m01.mrom3", 0x06000000, 0x2000000, CRC(0cdf8647) SHA1(0423f96842bef2c2ff454318dc6960b5052c0551) ) + ROM_LOAD( "ax3304m01.mrom4", 0x0a000000, 0x2000000, CRC(2f031db0) SHA1(3214735f04fadf160137f0585bfc1a27eeecfac6) ) + ROM_LOAD( "ax3305m01.mrom5", 0x0c000000, 0x2000000, CRC(f6668aaa) SHA1(6a78f8f0c7d7a71854ff87329290d38970cfb476) ) + ROM_LOAD( "ax3306m01.mrom6", 0x0e000000, 0x2000000, CRC(5cf32fbd) SHA1(b6ae0abe5791b3d6f8db07b8c8ca22219a153801) ) + ROM_LOAD( "ax3307m01.mrom7", 0x12000000, 0x2000000, CRC(26d9da53) SHA1(0015b4be670005a451274de68279b4302fc42a97) ) + + ROM_PARAMETER(":rom_board:key", "a0") // ax3301f01 +ROM_END + +// same as above EN-dump, but CustomerID not FF-filled +// Build:Jun 25 2005 17:00:38 +ROM_START( ngbcj ) + AW_BIOS + + ROM_REGION( 0x14000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "ax3301p01.fmem1", 0x00000000, 0x0800000, CRC(6dd78275) SHA1(72d4cab58dbcebd666db21aeef190378ef447580) ) + ROM_LOAD( "ax3301m01.mrom1", 0x02000000, 0x2000000, CRC(e6013de9) SHA1(ccbc7c2e76153348646d75938d5c008dc80df17d) ) + ROM_LOAD( "ax3302m01.mrom2", 0x04000000, 0x2000000, CRC(f7cfef6c) SHA1(c9e6231499a9c9c8650d9e61f34ff1fcce8d442c) ) + ROM_LOAD( "ax3303m01.mrom3", 0x06000000, 0x2000000, CRC(0cdf8647) SHA1(0423f96842bef2c2ff454318dc6960b5052c0551) ) + ROM_LOAD( "ax3304m01.mrom4", 0x0a000000, 0x2000000, CRC(2f031db0) SHA1(3214735f04fadf160137f0585bfc1a27eeecfac6) ) + ROM_LOAD( "ax3305m01.mrom5", 0x0c000000, 0x2000000, CRC(f6668aaa) SHA1(6a78f8f0c7d7a71854ff87329290d38970cfb476) ) + ROM_LOAD( "ax3306m01.mrom6", 0x0e000000, 0x2000000, CRC(5cf32fbd) SHA1(b6ae0abe5791b3d6f8db07b8c8ca22219a153801) ) + ROM_LOAD( "ax3307m01.mrom7", 0x12000000, 0x2000000, CRC(26d9da53) SHA1(0015b4be670005a451274de68279b4302fc42a97) ) + + ROM_PARAMETER(":rom_board:key", "a0") // ax3301f01 +ROM_END + +// Build:Jul 09 2004 15:05:53 +ROM_START( kofnw ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax2201en_p01.ic18", 0x0000000, 0x0800000, CRC(27aab918) SHA1(41c5ddd8bd4c91481750606ab44aa115b5fe01d0) ) + ROM_LOAD( "ax2201m01.ic11", 0x1000000, 0x1000000, CRC(22ea665b) SHA1(292c92c9ae43eea2d1c27cedfb89c3956b8dea32) ) + ROM_LOAD( "ax2202m01.ic12", 0x2000000, 0x1000000, CRC(7fad1bea) SHA1(89f3f88af48973a4685955d86ef97a1487b8e7a8) ) + ROM_LOAD( "ax2203m01.ic13", 0x3000000, 0x1000000, CRC(78986ca4) SHA1(5a6c8c12955573f33361d2c6f20f85de35ac7bae) ) + ROM_LOAD( "ax2204m01.ic14", 0x4000000, 0x1000000, CRC(6ffbeb04) SHA1(975062cf364589dbdd5c5cb5ca945f76d87fc120) ) + ROM_LOAD( "ax2205m01.ic15", 0x5000000, 0x1000000, CRC(2851b791) SHA1(566ef95ea066b7bf548986085670242be217befc) ) + ROM_LOAD( "ax2206m01.ic16", 0x6000000, 0x1000000, CRC(e53eb965) SHA1(f50cd53a5859f081d8a278d24a519c9d9b49ab96) ) + + ROM_PARAMETER(":rom_board:key", "99") // ax2201f01 +ROM_END + +// Build:Sep 10 2004 12:05:34 +ROM_START( kofnwj ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax2201jp_p01.ic18", 0x0000000, 0x0800000, CRC(ecc4a5c7) SHA1(97c2ef2be95b39bc978474a8243740df50255a8b) ) + + /* these are taken from the above set, game *seems* to work fine with these ... */ + ROM_LOAD( "ax2201m01.ic11", 0x1000000, 0x1000000, CRC(22ea665b) SHA1(292c92c9ae43eea2d1c27cedfb89c3956b8dea32) ) + ROM_LOAD( "ax2202m01.ic12", 0x2000000, 0x1000000, CRC(7fad1bea) SHA1(89f3f88af48973a4685955d86ef97a1487b8e7a8) ) + ROM_LOAD( "ax2203m01.ic13", 0x3000000, 0x1000000, CRC(78986ca4) SHA1(5a6c8c12955573f33361d2c6f20f85de35ac7bae) ) + ROM_LOAD( "ax2204m01.ic14", 0x4000000, 0x1000000, CRC(6ffbeb04) SHA1(975062cf364589dbdd5c5cb5ca945f76d87fc120) ) + ROM_LOAD( "ax2205m01.ic15", 0x5000000, 0x1000000, CRC(2851b791) SHA1(566ef95ea066b7bf548986085670242be217befc) ) + ROM_LOAD( "ax2206m01.ic16", 0x6000000, 0x1000000, CRC(e53eb965) SHA1(f50cd53a5859f081d8a278d24a519c9d9b49ab96) ) + + ROM_PARAMETER(":rom_board:key", "99") // ax2201f01 +ROM_END + +ROM_START( kov7sprt ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax1301p01.ic18", 0x0000000, 0x0800000, CRC(6833a334) SHA1(646aaa578e09ad23bc9c7f4fbdfb3c1486916fd3) ) + ROM_LOAD( "ax1301m01.ic11", 0x1000000, 0x1000000, CRC(58ae7ca1) SHA1(e91975697b797ea05488ace649cbb9964b4cd500) ) + ROM_LOAD( "ax1301m02.ic12", 0x2000000, 0x1000000, CRC(871ea03f) SHA1(6806910832ca271a9240aca8e91279556e5b0cb7) ) + ROM_LOAD( "ax1301m03.ic13", 0x3000000, 0x1000000, CRC(abc328bc) SHA1(d9271d4e5abe76d31de0f60a5c106260338d42e9) ) + ROM_LOAD( "ax1301m04.ic14", 0x4000000, 0x1000000, CRC(25a176d1) SHA1(6d815bf6acb645fead060733660e24fb0d44282d) ) + ROM_LOAD( "ax1301m05.ic15", 0x5000000, 0x1000000, CRC(e6573a93) SHA1(0666e52d0088263f28938e4c8aae201e604ec1f2) ) + ROM_LOAD( "ax1301m06.ic16", 0x6000000, 0x1000000, CRC(cb8cacb4) SHA1(5d008e8a934451b9bfa33fedfd492c86d9226ef5) ) + ROM_LOAD( "ax1301m07.ic17", 0x7000000, 0x1000000, CRC(0ca92213) SHA1(115c50fa55e6de3439de23e74621695510c6a7ba) ) + + ROM_PARAMETER(":rom_board:key", "35") // ax1301f01 +ROM_END + +ROM_START( ggisuka ) + AW_BIOS + + ROM_REGION( 0x9000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax1201p01.ic18", 0x0000000, 0x0800000, CRC(0a78d52c) SHA1(e9006dc43cd11d5ba49a092a1dff31dc10700c28) ) + ROM_LOAD( "ax1201m01.ic10", 0x0800000, 0x1000000, CRC(df96ce30) SHA1(25a9f743b1c2b11896d0c7a2dc1c198fc977aaca) ) // 2x mirrored 8MB data, TODO: check if IC10 mask ROM not 16MB but 8MB + ROM_LOAD( "ax1202m01.ic11", 0x1000000, 0x1000000, CRC(dfc6fd67) SHA1(f9d35b18a03d22f70feda42d314b0f9dd54eea55) ) + ROM_LOAD( "ax1203m01.ic12", 0x2000000, 0x1000000, CRC(bf623df9) SHA1(8b9a8e8100ff6d2ce9a982ab8eb1d542f1c7af03) ) + ROM_LOAD( "ax1204m01.ic13", 0x3000000, 0x1000000, CRC(c80c3930) SHA1(5c39fde36e2ebbfe72967d7d0202eb454a8d3bbe) ) + ROM_LOAD( "ax1205m01.ic14", 0x4000000, 0x1000000, CRC(e99a269d) SHA1(a52148b82b0338b8bad8b52985302eaf81a4cfde) ) + ROM_LOAD( "ax1206m01.ic15", 0x5000000, 0x1000000, CRC(807ab795) SHA1(17c86b1a56333c05b68ff84f83e964d013c1819c) ) + ROM_LOAD( "ax1207m01.ic16", 0x6000000, 0x1000000, CRC(6636d1b8) SHA1(9bd8fc114557f6fbe772f85eeb246f7336d4255e) ) + ROM_LOAD( "ax1208m01.ic17", 0x7000000, 0x1000000, CRC(38bda476) SHA1(0234a6f5fbaf5e958b3ba0db311dff157f80addc) ) + + ROM_PARAMETER(":rom_board:key", "ed") // ax1201f01 +/* + Sammy AM3AHT/AWMPSYSTEM + 4-cabinet splitter device, likely was used in GG Isuka, and maybe in 2-player AW-NET games too. + + Case contains 3x PCB stack: + AM3AHT-01: + Renesas 12363VTE33 H8S/2363 MCU + ROM + HM62V8512CLFP-5 512K x8bit SRAM + 33MHz OSC + LEDs 4x + DIPSW 4x + AM3AHW-01: 1-to-4 Video-splitter + DSUB connectors 4x + AM3AHU-01: + Card reader connectors 4x +*/ + ROM_REGION( 0x80000, "awmpsystem", 0 ) + // AM3AHT AWMPSYSTEM + // WA0101E03 + // U1 SUM:A17C Sammy + ROM_LOAD("am3aht.u1", 0, 0x80000, CRC(c4a21dbf) SHA1(3200fdf209f8a6c8c9acdb60a2bc1d70af28fc5b) ) // H8S/2363 code +ROM_END + +ROM_START( maxspeed ) + AW_BIOS + + ROM_REGION( 0x9000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax0501p01.ic18", 0x0000000, 0x0800000, CRC(e1651867) SHA1(49caf82f4b111da312b14bb0a9c31e3732b4b24e) ) + ROM_LOAD( "ax0501m01.ic11", 0x1000000, 0x1000000, CRC(4a847a59) SHA1(7808bcd357b85861082b426dbe34a20ae7016f6a) ) + ROM_LOAD( "ax0502m01.ic12", 0x2000000, 0x1000000, CRC(2580237f) SHA1(2e92c940f95edae33d6a7e8a071544a9083a0fd6) ) + ROM_LOAD( "ax0503m01.ic13", 0x3000000, 0x1000000, CRC(e5a3766b) SHA1(1fe6e072adad27ac43c0bff04e3c448678aabc18) ) + ROM_LOAD( "ax0504m01.ic14", 0x4000000, 0x1000000, CRC(7955b55a) SHA1(927f58d6961e702c2a8afce79bac5e5cff3dfed6) ) + ROM_LOAD( "ax0505m01.ic15", 0x5000000, 0x1000000, CRC(e8ccc660) SHA1(a5f414f200a0d41e958430d0fc2d4e1fda1cc67c) ) + + ROM_PARAMETER(":rom_board:key", "55") // ax0501f01 +ROM_END + +ROM_START( vfurlong ) + AW_BIOS + + ROM_REGION( 0x9000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax2001p01.ic18", 0x0000000, 0x0800000, CRC(17ea9aa9) SHA1(c68500e9b3407a9d4b20f2678718ce475f179f7d) ) + ROM_LOAD( "ax2001p01_alt.ic18", 0x0000000, 0x0800000, CRC(845399dd) SHA1(21565b13292cead2b532861d2998e381df2672d5) ) // same as above except for Customer ID, included for reference + ROM_LOAD( "ax2001m01.ic11", 0x1000000, 0x1000000, CRC(64460b24) SHA1(044857d6593897d303622e005a63ca7b3acd7453) ) + ROM_LOAD( "ax2002m01.ic12", 0x2000000, 0x1000000, CRC(d4da357f) SHA1(c462cddec9a369a1a5595676de76499d56683ea9) ) + ROM_LOAD( "ax2003m01.ic13", 0x3000000, 0x1000000, CRC(aa1e1246) SHA1(788cc9c070f82aeff1704361e3c72116fd5c4c9d) ) + ROM_LOAD( "ax2004m01.ic14", 0x4000000, 0x1000000, CRC(4d555d7c) SHA1(a5eccc920bdb7ad9cf57c0e1ef6a905c6b9eee45) ) + ROM_LOAD( "ax2005m01.ic15", 0x5000000, 0x1000000, CRC(785208e2) SHA1(6ba5bd3901c5b1d71abcc8d833a011bd4abae6b6) ) + ROM_LOAD( "ax2006m01.ic16", 0x6000000, 0x1000000, CRC(8134ec55) SHA1(843e473d4f99237ded641cce9515b7802cfe3742) ) + ROM_LOAD( "ax2007m01.ic17", 0x7000000, 0x1000000, CRC(d0557e8a) SHA1(df8057597eb690bd18c5d26736f5d4f86e3b1225) ) + + ROM_PARAMETER(":rom_board:key", "db") // ax2001f01 +ROM_END + +ROM_START( salmankt ) + AW_BIOS + + ROM_REGION( 0x9000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax1401p01.ic18", 0x0000000, 0x0800000, CRC(28d779e0) SHA1(dab785a595de5f474c18c713e672949176a5b1b5) ) + ROM_LOAD( "ax1401m01.ic11", 0x1000000, 0x1000000, CRC(fd7af845) SHA1(0c8f5a91662e46d5c187a0758af95082183cdf69) ) + ROM_LOAD( "ax1402m01.ic12", 0x2000000, 0x1000000, CRC(f6006f85) SHA1(9275603673c663f73b977d0d14ed1d2a7002c627) ) + ROM_LOAD( "ax1403m01.ic13", 0x3000000, 0x1000000, CRC(074f7c4b) SHA1(4955e4f333d15d5d9cc69bb9658f29a37e912012) ) + ROM_LOAD( "ax1404m01.ic14", 0x4000000, 0x1000000, CRC(af4e3829) SHA1(18d9e8a8d8e930ad697b686a98f31ea175f5fd4a) ) + ROM_LOAD( "ax1405m01.ic15", 0x5000000, 0x1000000, CRC(b548446f) SHA1(8b4661e601e36c067dff2530aff4f7ea76e1c21e) ) + ROM_LOAD( "ax1406m01.ic16", 0x6000000, 0x1000000, CRC(437673e6) SHA1(66f7e5f246ebbb1bdbf074da41ec16bf32720a82) ) + ROM_LOAD( "ax1407m01.ic17", 0x7000000, 0x1000000, CRC(6b6acc0a) SHA1(a8c692c875271a0806460caa79c67fd756231273) ) + + ROM_PARAMETER(":rom_board:key", "77") // ax1401f01 +ROM_END + +ROM_START( ftspeed ) + AW_BIOS + + ROM_REGION( 0x9000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax1701p01.ic18", 0x0000000, 0x0800000, CRC(480cade7) SHA1(487d4b27d7e5196d8321c5a80175ec7b1b32c1e8) ) + ROM_LOAD( "ax1701m01.ic11", 0x1000000, 0x1000000, CRC(7dcdc784) SHA1(5eeef9a760a0b090ed5aad8b7bdee2baa69a088b) ) + ROM_LOAD( "ax1702m01.ic12", 0x2000000, 0x1000000, CRC(06c9bf85) SHA1(636262dca7140397436646754fb204b97aa08ce9) ) + ROM_LOAD( "ax1703m01.ic13", 0x3000000, 0x1000000, CRC(8f8e0224) SHA1(2a9a17ed726913c00bf1c6a94bdd4fb32e800868) ) + ROM_LOAD( "ax1704m01.ic14", 0x4000000, 0x1000000, CRC(fbb4bb16) SHA1(b582680a880166c5bbdd2ad77b7903fedf9b01ad) ) + ROM_LOAD( "ax1705m01.ic15", 0x5000000, 0x1000000, CRC(996f68e1) SHA1(3fa505c641127d9027bfc7ec0ab16905344a4e2c) ) + ROM_LOAD( "ax1706m01.ic16", 0x6000000, 0x1000000, CRC(804b2eb2) SHA1(fcca02a5a8c09eb16548255115fb105c9c49c4e0) ) + + ROM_PARAMETER(":rom_board:key", "6b") // ax1701f01 +ROM_END + +// contents of cartridges labeled as JP and EN is the same +// Build:Aug 07 2005 18:11:25 +ROM_START( kofxi ) + AW_BIOS + + ROM_REGION( 0x14000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "ax3201p01.fmem1", 0x00000000, 0x0800000, CRC(6dbdd71b) SHA1(cce3897b104f5d923d8136485fc80eb9717ff4b5) ) + ROM_LOAD( "ax3201m01.mrom1", 0x02000000, 0x2000000, CRC(7f9d6af9) SHA1(001064ad1b8c3408efe799dc766c2728dc6512a9) ) + ROM_LOAD( "ax3202m01.mrom2", 0x04000000, 0x2000000, CRC(1ae40afa) SHA1(9ee7957c86cc3a71e6971ddcd906a82c5b1e16f1) ) + ROM_LOAD( "ax3203m01.mrom3", 0x06000000, 0x2000000, CRC(8c5e3bfd) SHA1(b5443e2a1b88642cc57c5287a3122376c2d48de9) ) + ROM_LOAD( "ax3204m01.mrom4", 0x0a000000, 0x2000000, CRC(ba97f80c) SHA1(36f672fe833e13f0bab036b02c39123066327e20) ) + ROM_LOAD( "ax3205m01.mrom5", 0x0c000000, 0x2000000, CRC(3c747067) SHA1(54b7ff73d618e2e4e40c125c6cfe99016e69ad1a) ) + ROM_LOAD( "ax3206m01.mrom6", 0x0e000000, 0x2000000, CRC(cb81e5f5) SHA1(07faee02a58ac9c600ab3cdd525d22c16b35222d) ) + ROM_LOAD( "ax3207m01.mrom7", 0x12000000, 0x2000000, CRC(164f6329) SHA1(a72c8cbe4ac7b98edda3d4434f6c81a370b8c39b) ) + + ROM_PARAMETER(":rom_board:key", "d3") // ax3201f01 +ROM_END + +ROM_START( dirtypig ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "695-0014.u3", 0x0000000, 0x1000000, CRC(9fdd7d07) SHA1(56d580dda116823ea5dc5e1bd5154463a476866a) ) + ROM_LOAD( "695-0014.u1", 0x1000000, 0x1000000, CRC(a91d2fcb) SHA1(8414386c09ba36ea581c8161f6cf2a13cc5ae516) ) + ROM_LOAD( "695-0014.u4", 0x2000000, 0x1000000, CRC(3342f237) SHA1(e617b0e1f8d8da9783c58ab98eb91de2363ec36f) ) + ROM_LOAD( "695-0014.u2", 0x3000000, 0x1000000, CRC(4d82152f) SHA1(a448983d4e81eb6485b62f23a6c99d1112a20c21) ) + ROM_LOAD( "695-0014.u15", 0x4000000, 0x1000000, CRC(d239a549) SHA1(71f3c1c2ae2a9b6f09f30e7be3bb11ba111276ae) ) + ROM_LOAD( "695-0014.u17", 0x5000000, 0x1000000, CRC(16bb5992) SHA1(18772587272aba1d50a48d384f472276c3b48d96) ) + ROM_LOAD( "695-0014.u14", 0x6000000, 0x1000000, CRC(55470242) SHA1(789036189ae5488a9da565774bdf91b49cd8264e) ) + ROM_LOAD( "695-0014.u16", 0x7000000, 0x1000000, CRC(730180a4) SHA1(017b82e2d2744695e3e521d35a8511ecc1c8ab43) ) + + ROM_PARAMETER(":rom_board:key", "2a") // 315-6248 +ROM_END + +// Ver 2005/12/16 +// Build:Jan 13 2006 00:49:12 +ROM_START( mslug6 ) + AW_BIOS + + ROM_REGION( 0xc000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "ax3001p01.fmem1", 0x0000000, 0x0800000, CRC(af67dbce) SHA1(5aba108caf3e4ced6994bc26e752d4e225c231e8) ) + ROM_LOAD( "ax3001m01.mrom1", 0x2000000, 0x2000000, CRC(e56417ee) SHA1(27692ad5c1093aff0973d2aafd01a5e30c7bfbbe) ) + ROM_LOAD( "ax3002m01.mrom2", 0x4000000, 0x2000000, CRC(1be3bbc1) SHA1(d75ce5c855c9c4eeacdbf84d440c73a94de060fe) ) + ROM_LOAD( "ax3003m01.mrom3", 0x6000000, 0x2000000, CRC(4fe37370) SHA1(85d51db94c3e34265e37b636d6545ed2801ba5a6) ) + ROM_LOAD( "ax3004m01.mrom4", 0xa000000, 0x2000000, CRC(2f4c4c6f) SHA1(5815c28fdaf0429003986e725c0015fe4c08721f) ) + + ROM_PARAMETER(":rom_board:key", "82") // ax3001f01 +ROM_END + +// Build:Aug 05 2005 16:43:48 +ROM_START( samsptk ) + AW_BIOS + + ROM_REGION( 0x14000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "ax2901p01.fmem1", 0x00000000, 0x0800000, CRC(58e0030b) SHA1(ed8a66833beeb56d83770123eff28df0f25221d1) ) + ROM_LOAD( "ax2901m01.mrom1", 0x02000000, 0x2000000, CRC(dbbbd90d) SHA1(102ee0b249a3e0ca2f659b6c515816c522ad78d0) ) + ROM_LOAD( "ax2902m01.mrom2", 0x04000000, 0x2000000, CRC(a3bd7890) SHA1(9b8d934d6ebc3ef688cd8a6de47657a0663fea10) ) + ROM_LOAD( "ax2903m01.mrom3", 0x06000000, 0x2000000, CRC(56f50fdd) SHA1(8a5a4a99108c0279056998046c7b332e80121dee) ) + ROM_LOAD( "ax2904m01.mrom4", 0x0a000000, 0x2000000, CRC(8a3ae175) SHA1(966f527a92e24c8eb770344697f2edf6140cf971) ) + ROM_LOAD( "ax2905m01.mrom5", 0x0c000000, 0x2000000, CRC(429877ba) SHA1(88e1f3bc682b18d331e328ef8754065109cf9bda) ) + ROM_LOAD( "ax2906m01.mrom6", 0x0e000000, 0x2000000, CRC(cb95298d) SHA1(5fb5d5a0d6801df61101a1b23de0c14ff29ef654) ) + ROM_LOAD( "ax2907m01.mrom7", 0x12000000, 0x2000000, CRC(48015081) SHA1(3c0a0a6dc9ab7bf889579477699e612c3092f9bf) ) + + ROM_PARAMETER(":rom_board:key", "1d") // ax2901f01 +ROM_END + +ROM_START( ggx15 ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax0801p01.ic18", 0x0000000, 0x0800000, CRC(d920c6bb) SHA1(ab34bbef3c71396447bc5322d8e8786041fc832a) ) + ROM_LOAD( "ax0801m01.ic11", 0x1000000, 0x1000000, CRC(61879b2d) SHA1(9592fbd979cef9d8f465cd92d0f00b9c13ecf7ba) ) + ROM_LOAD( "ax0802m01.ic12", 0x2000000, 0x1000000, CRC(c0ff124d) SHA1(dd403d10de2f097fbaa6b93bc311e2b9e893828d) ) + ROM_LOAD( "ax0803m01.ic13", 0x3000000, 0x1000000, CRC(4400c89a) SHA1(4e13536c01103ecfbfc9e3e33746ceae7a91a520) ) + ROM_LOAD( "ax0804m01.ic14", 0x4000000, 0x1000000, CRC(70f58ab4) SHA1(cd2def19bbad945c87567f8d28f3a2a179a7f7f6) ) + ROM_LOAD( "ax0805m01.ic15", 0x5000000, 0x1000000, CRC(72740e45) SHA1(646eded89f10008c9176cd6772a8ac9d1bf4271a) ) + ROM_LOAD( "ax0806m01.ic16", 0x6000000, 0x1000000, CRC(3bf8ecba) SHA1(43e7fbf21d8ee60bab72ce558640730fd9c3e3b8) ) + ROM_LOAD( "ax0807m01.ic17", 0x7000000, 0x1000000, CRC(e397dd79) SHA1(5fec32dc19dd71ef0d451f8058186f998015723b) ) + + ROM_PARAMETER(":rom_board:key", "c9") // ax0801f01 +ROM_END + +// (C)Dimps Fri Mar 4 19:27:57 2005 NONAME (build 2319) +ROM_START( rumblef2 ) + AW_BIOS + + ROM_REGION( 0xe000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "ax3401p01.fmem1", 0x0000000, 0x0800000, CRC(a33601cf) SHA1(2dd60a9c3a2517f2257ab69288fa95645de133fa) ) + ROM_LOAD( "ax3401m01.mrom1", 0x2000000, 0x2000000, CRC(60894d4c) SHA1(5b21af3c7c82d4d64bfd8498c26283111ada1298) ) + ROM_LOAD( "ax3402m01.mrom2", 0x4000000, 0x2000000, CRC(e4224cc9) SHA1(dcab06fcf48cda286f93d2b37f03a83abf3230cb) ) + ROM_LOAD( "ax3403m01.mrom3", 0x6000000, 0x2000000, CRC(081c0edb) SHA1(63a3f1b5f9d7ca4367868c492236406f23996cc3) ) + ROM_LOAD( "ax3404m01.mrom4", 0xa000000, 0x2000000, CRC(a426b443) SHA1(617aab42e432a80b0663281fb7faa6c14ef4f149) ) + ROM_LOAD( "ax3405m01.mrom5", 0xc000000, 0x2000000, CRC(4766ce56) SHA1(349b82013a75905ae5520b14a87702c9038a5def) ) + + ROM_PARAMETER(":rom_board:key", "07") // ax3401f01 +ROM_END + +// Prototype ROM board +// (C)Dimps Tue Jan 11 14:32:45 2005 NONAME (build 0001) +ROM_START( rumblf2p ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD("ic12", 0x00000000, 0x00800000, CRC(1a0e74ab) SHA1(679787e5fcc0e197f97a00544c1f277d3695df80) ) + ROM_LOAD("ic13", 0x00800000, 0x00800000, CRC(5630bc83) SHA1(46848b58a55c180d9a92df6914a1a8b9af35cc57) ) + ROM_LOAD("ic14", 0x01000000, 0x00800000, CRC(7fcfc59c) SHA1(ca2b71fe6dd959d89a7e30363090d38032c3697a) ) + ROM_LOAD("ic15", 0x01800000, 0x00800000, CRC(eee00692) SHA1(ee630a77c130e64435be544b13cd885ecc7bfeb4) ) + ROM_LOAD("ic16", 0x02000000, 0x00800000, CRC(cd029db9) SHA1(d5d70dbb3822538afc67efa1e905c520b63cc978) ) + ROM_LOAD("ic17", 0x02800000, 0x00800000, CRC(223a5b58) SHA1(ab540c994598f5cbe34ec8a62fa96181cd2be6e2) ) + ROM_LOAD("ic18", 0x03000000, 0x00800000, CRC(5e2d2f67) SHA1(fe348e8e342d0d642a21cd24c57387384f20fa0e) ) + ROM_LOAD("ic19", 0x03800000, 0x00800000, CRC(3cfb2adc) SHA1(d731674d80e924c250fe3519aef1392d38167aa3) ) + ROM_LOAD("ic20", 0x04000000, 0x00800000, CRC(2c216a05) SHA1(0677146ecf5abe00368e205fd7da19234a997dd2) ) + ROM_LOAD("ic21", 0x04800000, 0x00800000, CRC(79540865) SHA1(8ad7b789f25df5405949fef96d0db35ca8e424c3) ) + ROM_LOAD("ic22", 0x05000000, 0x00800000, CRC(c91d95a0) SHA1(a50e4fffa3cf70459d9bb36f0155e768d4281f39) ) + ROM_LOAD("ic23", 0x05800000, 0x00800000, CRC(5c39ca18) SHA1(6a29c4b1dd6b8eca5824687a1b501594a6676606) ) + ROM_LOAD("ic24", 0x06000000, 0x00800000, CRC(858d2775) SHA1(34ca97f348a810c6f950840ef2390334011c6034) ) + ROM_LOAD("ic25", 0x06800000, 0x00800000, CRC(975d35fb) SHA1(a4cf97a05cbeb830090426915067b3dd15224939) ) + ROM_LOAD("ic26", 0x07000000, 0x00800000, CRC(ff9a2c4c) SHA1(81ac8fb41d7af605da0dcd92104cef0f045777bf) ) + // IC27 populated, empty + + ROM_PARAMETER(":rom_board:key", "25") // Julie +ROM_END + +ROM_START( claychal ) + AW_BIOS + + ROM_REGION( 0x8000100, "rom_board", ROMREGION_ERASE) + ROM_LOAD( "608-2161.u3", 0x0000000, 0x1000100, CRC(5bb65194) SHA1(5fa8c38e6aadf5d999e260da24b001c0c7805d48) ) + ROM_LOAD( "608-2161.u1", 0x1000000, 0x1000100, CRC(526fc1af) SHA1(dd8a37fa73a9ef193b6f4fb962345bdfc4854b5d) ) + ROM_LOAD( "608-2161.u4", 0x2000000, 0x1000100, CRC(55f4e762) SHA1(a11f7d69458e647dd2b8d86c98a54f309b1f1bbc) ) + ROM_LOAD( "608-2161.u2", 0x3000000, 0x1000100, CRC(c40dae68) SHA1(29ec47c76373eeaa686684f10907d551de7d9c59) ) + ROM_LOAD( "608-2161.u15", 0x4000000, 0x1000100, CRC(b82dcb0a) SHA1(36dc89a388ac0c7e0a0e72428c8149cbda12805a) ) + ROM_LOAD( "608-2161.u17", 0x5000000, 0x1000100, CRC(2f973eb4) SHA1(45409b5517cda119315f198892224889ac3a0f53) ) + ROM_LOAD( "608-2161.u14", 0x6000000, 0x1000100, CRC(2e7d966f) SHA1(3304fd0c5140a13f6fe2ea9aaa74d7885e1505e1) ) + ROM_LOAD( "608-2161.u16", 0x7000000, 0x1000100, CRC(14f8ca87) SHA1(778c048da9434ffda600e35ad5aca29e02cc98c0) ) + + ROM_PARAMETER(":rom_board:key", "2a") // 315-6248 +ROM_END + +// Build:Feb 08 2009 22:35:34 +ROM_START( basschalo ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD("610-0811.u3", 0x00000000, 0x01000000, CRC(ef31abe7) SHA1(bf8a66da4ceead350c200626792af55b7f258db4) ) + ROM_LOAD("610-0811.u1", 0x01000000, 0x01000000, CRC(44c3cf90) SHA1(620a55f8f971f86fd65a3e3e9f0784fed5ca891e) ) + ROM_LOAD("vera.u4", 0x02000000, 0x01000000, CRC(bd1f13aa) SHA1(1ef9a7e684418baf8a61fef2610839fd72887d4c) ) + ROM_LOAD("610-0811.u2", 0x03000000, 0x01000000, CRC(1c61ed69) SHA1(e5a53362ea3e285a05d69d0fb56e1f8625272c18) ) + ROM_LOAD("610-0811.u15", 0x04000000, 0x01000000, CRC(e8f02238) SHA1(f762a0a93e80899f71af6d2e0126a3fe9586815a) ) + ROM_LOAD("610-0811.u17", 0x05000000, 0x01000000, CRC(db799f5a) SHA1(f85f35388ffb4399382b676773314f9a651e38df) ) + ROM_LOAD("610-0811.u14", 0x06000000, 0x01000000, CRC(f2769383) SHA1(c580577df9d140bb6ecce192efafb0284d22c32d) ) + ROM_LOAD("vera.u16", 0x07000000, 0x01000000, CRC(3590072d) SHA1(3375a0334c35de1d7d8231d7cc27775451042f91) ) + + ROM_PARAMETER(":rom_board:key", "2a") // 315-6248 +ROM_END + +// Version A +// Build:Jul 15 2009 16:27:40 +ROM_START( basschal ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASE) + ROM_LOAD("vera.u3", 0x00000000, 0x01000000, CRC(8cbec9d7) SHA1(080f5edd817993946b1008ebe8ba489f818d3f99) ) + ROM_LOAD("vera.u1", 0x01000000, 0x01000000, CRC(cfef27e5) SHA1(e0e27adc1b3635a310c50c6374d85572db608675) ) + ROM_LOAD("vera.u4", 0x02000000, 0x01000000, CRC(bd1f13aa) SHA1(1ef9a7e684418baf8a61fef2610839fd72887d4c) ) + ROM_LOAD("vera.u2", 0x03000000, 0x01000000, CRC(0a463c37) SHA1(630ad98d2f80fd458729bd56e8d665a88263da28) ) + ROM_LOAD("vera.u15", 0x04000000, 0x01000000, CRC(e588afd1) SHA1(0ce3aeb2bcea66beaec2410d1df6857c4365aecf) ) + ROM_LOAD("vera.u17", 0x05000000, 0x01000000, CRC(d78389a4) SHA1(50babfe3d58929a26a69dd4a4120fd87f507a95e) ) + ROM_LOAD("vera.u14", 0x06000000, 0x01000000, CRC(35df044f) SHA1(eeac6c4062f697205558846d6ac262cb5c1b10cf) ) + ROM_LOAD("vera.u16", 0x07000000, 0x01000000, CRC(3590072d) SHA1(3375a0334c35de1d7d8231d7cc27775451042f91) ) + + ROM_PARAMETER(":rom_board:key", "2a") // 315-6248 +ROM_END + +// no case, Sega 171-8355A type board, stickers: VM20-6101-1 V20T0031 +ROM_START( waidrive ) + AW_BIOS + + ROM_REGION( 0x4000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD( "u3", 0x0000000, 0x1000000, CRC(7acfb499) SHA1(002a0a84dd7f55e1630e1ec2530d0760b0c12b4e) ) + ROM_LOAD( "u1", 0x1000000, 0x1000000, CRC(b3c1c3bb) SHA1(bda9b1e214a733cb1716ab130ecd986709ac136e) ) + //ROM_LOAD( "u4", 0x2000000, 0x1000000, CRC(646e9773) SHA1(dd081a9a42edca956f96124545772d4687ca2113) ) // garbage data not used by this game, match anmlbskta U4 + //ROM_LOAD( "u2", 0x3000000, 0x1000000, CRC(b9162d97) SHA1(7f561617fa0538da554ad6f6c4d6a20e739491dc) ) // garbage data not used by this game, match anmlbskta U2 + // U14-U17 not populated + + ROM_PARAMETER(":rom_board:key", "45") // vm2001f01 +ROM_END + +// Prototype ROM board +// Build:May 23 2003 14:40:15 +ROM_START( sushibar ) + AW_BIOS + + ROM_REGION( 0x8000000, "rom_board", ROMREGION_ERASEFF) + ROM_LOAD("ic12", 0x00000000, 0x00800000, CRC(06a2ed58) SHA1(a807fa8c1c83cb8b18595c210479d5f1dd6be4ca) ) + // IC 13 populated, empty + ROM_LOAD("ic14", 0x01000000, 0x00800000, CRC(4860f944) SHA1(55c75630c33cba35512a1349650f28fd56757f9f) ) + ROM_LOAD("ic15", 0x01800000, 0x00800000, CRC(7113506c) SHA1(0548d67b3a1c0b8f17fcafd4fe5c1e6b0e91b6e7) ) + ROM_LOAD("ic16", 0x02000000, 0x00800000, CRC(77e8e39e) SHA1(1286010cdba5c3c0ad5cbe19718fd0f8e5f579db) ) + ROM_LOAD("ic17", 0x02800000, 0x00800000, CRC(0eba54ea) SHA1(51842ec326a5ba65bd280e652e7d9b395a2586c6) ) + ROM_LOAD("ic18", 0x03000000, 0x00800000, CRC(b9957c76) SHA1(6d72c7ac8e1e0cbed7eb01b66f71bedf46a833e1) ) + // IC19 - IC27 populated, empty + + ROM_PARAMETER(":rom_board:key", "25") // Julie +ROM_END + +#define GAME_FLAGS (MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING) + +// Released in April 2003, boot ROM has (c) 2001 $be0 +GAME( 2001, awbios, 0, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy", "Atomiswave BIOS", GAME_FLAGS | MACHINE_IS_BIOS_ROOT ) + +// game "exe" build timestamps, shown in SYSTEM MENU -> TEST MODE +GAME( 2003, ggx15, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Arc System Works / Sammy", "Guilty Gear X ver. 1.5", GAME_FLAGS ) // none +GAME( 2003, sprtshot, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy USA", "Sports Shooting USA", GAME_FLAGS ) // May 02 2003 09:40:31 +GAME( 2003, sushibar, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy", "Sushi Bar / Toretore! Sushi", GAME_FLAGS ) // May 23 2003 14:40:15 +GAME( 2003, demofist, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Polygon Magic / Dimps", "Demolish Fist", GAME_FLAGS ) // Jun 02 2003 16:45:35 +GAME( 2003, maxspeed, awbios, aw1c, aw1w, atomiswave_state, init_atomiswave, ROT0, "SIMS / Sammy", "Maximum Speed", GAME_FLAGS ) // Jun 09 2003 10:20:37 +GAME( 2003, dolphin, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy", "Dolphin Blue", GAME_FLAGS ) // Jun 27 2003 09:00:03 +GAME( 2003, kov7sprt, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "IGS / Sammy", "Knights of Valour - The Seven Spirits", GAME_FLAGS ) // Nov 24 2003 16:56:01 +GAME( 2004, ggisuka, awbios, aw4c, aw4c, atomiswave_state, init_atomiswave, ROT0, "Arc System Works / Sammy", "Guilty Gear Isuka", GAME_FLAGS ) // Jan 14 2004 10:04:24 +GAME( 2004, rumblefp, rumblef, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish (prototype)", GAME_FLAGS ) // Feb 20 2004 09:15:34 +GAME( 2004, rangrmsn, awbios, aw2c, aw1w, atomiswave_state, init_atomiswave, ROT0, "RIZ Inc./ Sammy", "Ranger Mission", GAME_FLAGS ) // Mar 01 2004 19:08:15 +GAME( 2004, rumblef, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish", GAME_FLAGS ) // Mar 10 2004 19:07:43 +GAME( 2004, salmankt, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Yuki Enterprise / Sammy", "Net@Select: Salaryman Kintaro", GAME_FLAGS ) // Jun 14 2004 22:50:03 +GAME( 2004, kofnw, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave", GAME_FLAGS ) // Jul 09 2004 15:05:53 +GAME( 2004, kofnwj, kofnw, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave (Japan)", GAME_FLAGS ) // Jul 09 2004 15:05:53 +GAME( 2004, ftspeed, awbios, aw1c, aw1w, atomiswave_state, init_atomiswave, ROT0, "Sammy", "Faster Than Speed", GAME_FLAGS ) // Aug 24 2004 18:40:24 +GAME( 2004, xtrmhunt, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy", "Extreme Hunting", GAME_FLAGS ) // Nov 23 2004 10:14:14 +GAME( 2004, blokpong, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT270, "MOSS / Sammy", "Block Pong-Pong", GAME_FLAGS ) // Dec 22 2004 12:32:52 +GAME( 2005, rumblf2p, rumblef2, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2 (prototype)", GAME_FLAGS ) // Jan 11 2005 14:31:05 +GAME( 2005, anmlbskta, anmlbskt, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT270, "MOSS / Sammy", "Animal Basket / Hustle Tamaire Kyousou (19 Jan 2005)", GAME_FLAGS ) // Jan 19 2005 13:09:07 +GAME( 2005, anmlbskt, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT270, "MOSS / Sammy", "Animal Basket / Hustle Tamaire Kyousou (24 Jan 2005)", GAME_FLAGS ) // Jan 24 2005 14:12:29 +GAME( 2005, waidrive, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT270, "MOSS / Sammy", "WaiWai Drive", GAME_FLAGS ) // Jan 27 2005 16:21:21 +GAME( 2005, vfurlong, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Progress / Sammy", "Net@Select: Horse Racing - Victory Furlong", GAME_FLAGS ) // Mar 02 2005 22:10:33 +GAME( 2005, rumblef2, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2", GAME_FLAGS ) // Mar 04 2005 19:26:32 +GAME( 2005, ngbc, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / SNK Playmore", "NeoGeo Battle Coliseum", GAME_FLAGS ) // Jun 25 2005 17:00:38 +GAME( 2005, ngbcj, ngbc, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / SNK Playmore", "NeoGeo Battle Coliseum (Japan)", GAME_FLAGS ) // Jun 25 2005 17:00:38 +GAME( 2005, samsptk, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / SNK Playmore", "Samurai Spirits Tenkaichi Kenkakuden", GAME_FLAGS ) // Aug 05 2005 16:43:48 +GAME( 2005, kofxi, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters XI", GAME_FLAGS ) // Aug 07 2005 18:11:25 +GAME( 2005, fotns, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Arc System Works / Sega", "Fist Of The North Star / Hokuto no Ken", GAME_FLAGS ) // Nov 28 2005 21:04:40 +GAME( 2006, mslug6, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sega / SNK Playmore", "Metal Slug 6", GAME_FLAGS ) // Jan 13 2006 00:49:12 +GAME( 2006, xtrmhnt2, awbios, aw2c, aw2c, atomiswave_xtrmhnt2_state, init_atomiswave, ROT0, "Sega", "Extreme Hunting 2", GAME_FLAGS | MACHINE_UNEMULATED_PROTECTION ) // May 26 2006 14:03:22 +GAME( 2006, dirtypig, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sammy", "Dirty Pigskin Football", GAME_FLAGS ) // Sep 10 2006 20:24:14 +GAME( 2008, claychal, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sega", "Sega Clay Challenge", GAME_FLAGS ) // Oct 15 2008 16:08:20 +GAME( 2009, basschalo, basschal, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sega", "Sega Bass Fishing Challenge", GAME_FLAGS ) // Feb 08 2009 22:35:34 +GAME( 2009, basschal, awbios, aw2c, aw2c, atomiswave_state, init_atomiswave, ROT0, "Sega", "Sega Bass Fishing Challenge Version A", GAME_FLAGS ) // Jul 25 2009 16:27:40 |