diff options
Diffstat (limited to 'trunk/src/mame/drivers/namcos12.c')
-rw-r--r-- | trunk/src/mame/drivers/namcos12.c | 2798 |
1 files changed, 2798 insertions, 0 deletions
diff --git a/trunk/src/mame/drivers/namcos12.c b/trunk/src/mame/drivers/namcos12.c new file mode 100644 index 00000000000..c9af29904a2 --- /dev/null +++ b/trunk/src/mame/drivers/namcos12.c @@ -0,0 +1,2798 @@ +/*************************************************************************** + + Namco System 12 - Arcade Playstation-based Hardware + =================================================== + Driver by smf + Board notes by The Guru + H8/3002 and Golgo13 support by R. Belmont based on work by The_Author and DynaChicken + + Issues: + not all games work due to either banking, dma or protection issues. + graphics are glitchy in some games. + + - golgo13 assumes the test switch is a switch, not a button - must hold down F2 to stay in test mode + + - truckk doesn't boot: the H8/3002 never enters InitJVSBoards @ 1DE2. 1DE2 is referenced in a table of commands at 4032, + which is called by the routine at 3FEA. It is not clear how execution is intended to get to 3FEA - there are no direct + branches to that location, and the bytes 3F EA don't appear at all in the program. + + +Namco System 12 - Arcade Playstation-based Hardware +=================================================== + +Game & software revision Company/Year CPU board Mother board Daughter board Keycus +------------------------------------------------------------------------------------------------------------------------ +Aqua Rush (AQ1/VER.A1) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M5F2 KC053 +Attack Pla-Rail (C) Tomy/Namco, 199? +Derby Quiz My Dream Horse (MDH1/VER.A2) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M10X64 KC035 +Ehrgeiz (EG1/VER.A) (C) Square/Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC021 +Ehrgeiz (EG2/VER.A) (C) Square/Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC021 +Ehrgeiz (EG3/VER.A) (C) Square/Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC021 +Fighting Layer (FTL0/VER.A) (C) Arika/Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC037 +Ghoul Panic (OB2/VER.A) (C) Namco/Raizing,1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC045 +Golgo 13 (GLG1/VER.A) (C) Raizing/Namco,1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M8F6 KC054 +Golgo 13 Kiseki no Dandou (GLS1/VER.A) (C) Raizing/Namco,2000 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M8F6 KC059 +Kaiun Quiz (KW1/VER.A1) (C) Namco/Moss, 1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M10X64 KC050 +Libero Grande (LG1/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC014 +Libero Grande (LG2/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC014 +Mr Driller (DRI1/VER.A2) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M8F2F KC048 +Paca Paca Passion (PPP1/VER.A2) (C) Produce/Namco,1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC038 +Paca Paca Passion Special (PSP1/VER.A) (C) Produce/Namco,1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M5F2 KC052 +Paca Paca Passion 2 (PKS1/VER.A) (C) Produce/Namco,1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F2 KC046 +Gunbarl (GNB4/VER.A) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F0 KC042 +Point Blank 2 (GNB5/VER.A) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F0 KC042 +Soul Calibur (SOC11/VER.A2) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F2 KC020 +Soul Calibur (SOC11/VER.B) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F2 KC020 +Soul Calibur (SOC11/VER.C) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC020 +Soul Calibur (SOC13/VER.B) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC020 +Soul Calibur (SOC13/VER.C) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC020 +Soul Calibur (SOC14/VER.B) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC020 +Soul Calibur (SOC14/VER.C) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER JO 11-04-98 none +Super World Stadium '98 (SS81/VER.A) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC025 +Super World Stadium '99 (SS91/VER.A3) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC043 +Super World Stadium 2000 (SS01/VER.A3) (C) Namco, 2000 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M5F4 KC055 +Super World Stadium 2001 (SS11/VER.A2) (C) Namco, 2001 COH-716 SYSTEM12 MOTHER(C) SYSTEM12 F2M5 KC061 +Tenkomori Shooting (TKM1/VER.A1) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC036 +Tenkomori Shooting (TKM2/VER.A1) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC036 +Tekken 3 (TET1/VER.A) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET2/VER.A) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET3/VER.A) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET3/VER.B) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006 +Tekken 3 (TET3/VER.D) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 +Tekken 3 (TET1/VER.E1) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 +Tekken 3 (TET2/VER.E1) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006 +Tekken Tag Tournament (TEG3/VER.C1) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F4 KC044 +Tekken Tag Tournament (TEG3/VER.B) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F4 KC044 +Toukon Retsuden 3 (TR1/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC019 +Truck Kyosokyoku (TKK2/VER.A) (C) Namco, 2000 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M8F6 KC056 + +Wanted Games +------------ +Aerosmith - Quest for Fame (C) Namco, 2001 +http://www.bandainamcogames.co.jp/am/vg/questforfame/ + +Kart Duel (C) Namco, 2000 +http://www.bandainamcogames.co.jp/am/english/aa/kartduel/ + +Oh Bakyuuun (C) Namco/Raizing,1999 +http://www.8ing.net/prd/ohbakyun/index.html + +Soul Calibur Ver.B (C) Namco, 199? +Probably doesn't exist + +Submarines (C) Namco, 199? +http://www.arcadeflyers.com/?page=thumbs&db=videodb&id=5531 +This was cancelled, only the flyer exists. +It was shown only at an amusement show. Possibly a prototype still exists. Possibly not. + +Techno Drive (C) Namco, 1998 +http://www.bandainamcogames.co.jp/am/em/techno-drive/main/index.php + +Tekno Werk (C) Namco, 1999 +Some kind of music game similar to Konami's Keyboard Mania series + +Um Jammer Lammy (C) Namco, 1999 +http://www.wailee.com/sys/lpic/UM_Jammer_Lammy.jpg + +If you can help with the remaining undumped S12 games, please contact me at http://guru.mameworld.info/ +Note that this list above may not be 100% complete. Alternative versions are also welcome :-) + +The Namco System 12 system comprises 3 mandatory PCB's.... +MOTHER PCB - This is the main PCB. It holds all sound circuitry, sound ROMs, program ROMs, shared RAM, bank-switching + logic, controller/input logic (including sound CPU) and some video output circuitry. + There are three known revisions of this PCB. The 3rd revision has some extra circuitry for analog controls, + some of the PALs are different and it has the capability to use 1x TSOP56 ROM in the program location, + instead of the regular TSOP40/48 ROMs. The first 2 revisions appear to be identical. +CPU PCB - All games use the exact same PCB. Contains main CPU/RAM and GPU/Video RAM +ROM PCB - There are nine known revisions of this PCB (so far). They're mostly identical except for the type and + number of ROMs used. Most have a PAL and a CPLD known as a 'KEYCUS'. Some also have an additional CPLD for + protection. + +And 4 game-specific/optional PCBs.... +NETWORK PCB - Used to connect 2 PCBs together using standard USB cables. The board plugs in where the CPU board would + normally be, and the CPU board plugs into another connector on the Network PCB. Seems to be only used on + Libero Grande, Tekken 3 and Ehrgeiz (so far?) +GUN I/F PCB - Used to connect and control the light guns. The board plugs in where the CPU board would + normally be, and the CPU board plugs into another connector on the GUN I/F PCB. The guns plug into this + PCB directly, no extra gun hardware is needed. Used only on Ghoul Panic and Point Blank 2 so far. +CDXA PCB - Used on Truck Kyosokyoku to control the CDROM drive. The board plugs in where the CPU board would + normally be, and the CPU board plugs into another connector on the CDXA PCB. +V233 DECO PCB-This is the I/O board used by Truck Kyosokyoku. It contains a custom Namco C78 (Hitachi H8/3334) and one + EPROM. A similar board might also be required for Attack Pla-Rail as it will not boot without some kind + of I/O board. + +Each game has a 3 or 4 digit letter code assigned to it which is printed on a small sticker and placed on the underside +of the main PCB. +The 4 digit code is then proceeded by a number (generally 1, 2 or 3), then 'Rev.' then A/B/C/D/E which denotes the software +revision, and in some cases a sub-revision such as 1 or 2 (usually only listed in the test mode). +The first 1 denotes a Japanese version. 2 (and maybe 3) denotes a World version. For general use there are no other numbers +used other than 1, 2, or 3. There is one exception so far. Point Blank 2 was first produced on System 11 hardware. To +solve a naming conflict, the System 12 version uses a '4' to denote a Japanese version and a '5' to denote a World version. +For World versions usually only the main program is changed, the rest of the ROMs are the Japanese region code '1' ROMs. +See the Main PCB and ROM Daughterboard PCB texts below for more details on ROM naming specifics. + +Main PCB +-------- +1st Revision +SYSTEM12 MOTHER PCB 8661960105 (8661970105) +SYSTEM12 MOTHER PCB 8661960106 (8661970106) + +2nd Revision +SYSTEM12 MOTHER (B) PCB 8661961000 (8661971000) + +3rd Revision +SYSTEM12 MOTHER (C) PCB (System11 Plus) 8661961101 (8661971101) +Rev. (C) Main Board is only slightly different to the other revs. Mostly some PALs are different and the +PCB is wired for 1x 32M TSOP56 FlashROM (replaces 2E & 2J) and 2x 16M TSOP48 FlashROMs (replaces 2R/2P/2N/2L). +One other difference is that the motherboard has a serial number sticker on it and the program ROMs also contain +that same serial number, so all the games running on the Rev. C mother board have serialised ROMs. I'm not sure why, +they're not exactly _easily_ traceable and no one cares either way ;-) + |--------------------------------------------------------------| +|-| SOUND.11S |--------------| AT28C16 | +| |--------------| | +| |------|J103 | +| |-----| | C352 | %PRG.2R | +| |H8/ | |------| | +|J |3002 | 2061ASC-1 PRG.2P | +|A |-----| 14.7456MHz | +|M %PRG.2N | +|M |-------| | +|A | | PRG.2L | +| | C416 | | +| J110 N341256 | | | +| N341256 |-------| %PRG.2J | +| DSW(2) MOT1 *PRG.2F R4543 | +|-| %PRG.2E | + | | + | MOT6 MOT5 MOT2 MOT4 | +|-| 3V_BATT| +|N *D6345 6734 6358 MB88347 | +|A MOT7 MOT3 | +|M | +|C LC78832M CXA1779P | +|O 3414A J111 PQ30RV21 | +|4 |--------------------------| | +|8 |--------------------------| | +|-| | + |LA4705 J109 ADM485 | + | VOL J108 J107 J106 J105 J104 | + |--------------------------------------------------------------| +(logic chips omitted from the PCB layout) + +Notes: + * : These parts only on MOTHER (C) PCB + % : These parts not on MOTHER (C) PCB + J103 : Custom Namco connector for plug-in ROM PCB + J104 : JAMMA2 Power Connector (only 5V/12V/0V used). Note! This has common connections and is + powered by the JAMMA connector as well. It's presence is purely for convenience when + connecting to a JVS-only cabinet. + J105/J106 : JAMMA2 15 PIN VGA D-Type connector (x2) for video output (output sync can be 15kHz or 31kHz) + To enable this feature, ensure a VGA cable is connected to this port when the PCB is booted. + The PCB will detect it and output the video using this connector. If there is an option in test + mode in the 'DISPLAY TEST' option, enabling 'Non-Interlace' mode will give much sharper graphics. + J107 : JAMMA2 RCA Connectors (x4) for twin stereo audio output + J108 : JAMMA2 USB Connector for Controls. Note! To enable JVS/JAMMA2 controls, a Namco JVS adapter + module must be connected to this port. This port is NOT compatible with common PC USB controls. + J109 : 3-pin connector (populated only on MOTHER (C) PCB, labelled on PCB 'AUDIO OUT') + J110 : 4-pin connector (purpose unknown, 2 outer pins labelled on PCB 'VCC' & 'GND') + J111 : Custom Namco connector for plug-in CPU PCB + MB88347 : Fujitsu MB88347 8-bit 8-Channel D/A Converter with OP AMP Output Buffers (SOIC16) + 6358 : Toshiba TD6358N Frequency Synthesizer for TV/CATV (SOIC8) + 6734 : MAX734 +12V 120mA Flash Memory Programming Supply Switching Regulator (SOIC8) + 3414A : NJM3414A 70mA Dual Op Amp (SOIC8) + LC78832M : Sanyo LM78832M 2-Channel 16-Bit D/A Converter LSI with 2 On-Chip Digital Filters (SOIC20) + 2061ASC-1 : IC Designs 2061ASC-1 Programmable Clock Generator (SOIC16) + R4543 : EPSON Real Time Clock Module (SOIC14) + DSW(2) : 2-Position DIP Switch (All OFF) + N341256 : NKK N341256 32k x8 SRAM (x2, SOJ28) + H8/3002 : Sound CPU, Hitachi H8/3002 HD6413002F17 (QFP100), clocked at 16.737MHz + C416 : Namco custom C416 (QFP176) + C352 : Namco custom C352 PCM sound chip (QFP100) + MOT1 : PALCE 22V10H (PLCC28, labelled 'S12MOT1A') + *Replaced by PALCE 22V10H (PLCC28, labelled 'S12MOT1C') on MOTHER (C) PCB + MOT2 : PALCE 22V10H (PLCC28, labelled 'S12MOT2A') + *Replaced by PALCE 22V10H (PLCC28, labelled 'S12MOT2C') on MOTHER (C) PCB + MOT3 : PALCE 16V8H (PLCC20, labelled 'S12MOT3A') + *Replaced by PALCE 16V8H (PLCC20, labelled 'S12MOT3C') on MOTHER (C) PCB + MOT4 : PALCE 22V10H (PLCC28, labelled 'S12MOT4A') + MOT5 : PALCE 22V10H (PLCC28, labelled 'S12MOT5A') + MOT6 : PALCE 22V10H (PLCC28, labelled 'S12MOT6A') + MOT7 : PALCE 16V8H (PLCC20, labelled 'S12MOT7A') + AT28C16 : Atmel AT28C16 2k x8 EEPROM (SOIC24) + ADM485 : Analog Devices ADM485JR 5V Low Power EIA RS-485 Transceiver (SOIC8) + CXA1179P : Sony CXA1779P TV/Video Circuit RGB Pre-Driver (DIP28) + LA4705 : Sanyo LA4705 15W 2-Channel Power Amplifier (SIP18) + VOL : Master Volume Potentiometer + PQ30RV21 : Sharp PQ30RV21 5V to 3.3V Voltage Regulator + 3V_BATT : Sony CR2032 3 Volt Coin Battery + D6345 : NEC uPD6345 Serial 8-bit Shift Register IC (SOIC16) + + PRG.2L/PRG.2P: Main program ROMs, Intel 28F016S5 2M x8 FLASHROM (both TSOP40) + or Fujitsu 29F016A 2M x8 FLASHROM (both TSOP48) + These ROMs are populated on the following games.... + + Test Mode S/W + Game Sticker Revision MOTHER PCB + -------------------------------------------------------------------- + Aqua Rush AQ1 Ver.A AQ1/VER.A1 MOTHER(C) (ROMs serialised) + Derby Quiz My Dream Horse MDH1 Ver.A MDH1/VER.A2 MOTHER(B) + Ehrgeiz EG3 Ver.A EG3/VER.A MOTHER(B) + Golgo 13 GLG1 Ver.A GLG1/VER.A MOTHER(C) (ROMs serialised) + Golgo 13 Kiseki no Dandou GLS1 Ver.A GLS1/VER.A MOTHER(C) (ROMs serialised) + Kaiun Quiz KW1 Ver.A KW1/VER.A1 MOTHER(C) (ROMs serialised) + Libero Grande LG2 Ver.A LG2/VER.A MOTHER(B) + Mr Driller DRI1 Ver.A DRI1/VER.A2 MOTHER(C) (ROMs serialised) + Paca Paca Passion PPP1 Ver.A PPP1/VER.A2 MOTHER(B) + Paca Paca Passion 2 PKS1 Ver.A PKS1/VER.A MOTHER(B) + Paca Paca Passion SP PSP1 Ver.A PSP1/VER.A MOTHER(C) (ROMs serialised) + Point Blank 2 GNB5 Ver.A none MOTHER(B) + Soul Calibur SOC1 Ver.A SOC11/VER.A2 MOTHER(B) + Soul Calibur SOC3 Ver.B SOC13/VER.B MOTHER(B) + Soul Calibur SOC1 Ver.C SOC11/VER.C MOTHER(B) + Soul Calibur SOC4 Ver.B SOC14/VER.B MOTHER(B) + Super World Stadium 2000 SS01 Ver.A SS01/VER.A3 MOTHER(C) (ROMs serialised) + Super World Stadium 2001 SS11 Ver.A SS11/VER.A2 MOTHER(C) (ROMs serialised) + Tekken Tag Tournament TEG3 Ver.B TEG3/VER.B MOTHER(B) + Tekken Tag Tournament TEG3 Ver.B TEG3/VER.C1 MOTHER(B) + Truck Kyosokyoku TKK2 Ver.A none MOTHER(C) (ROMs serialised) + + Note: Games with 'none' for S/W Revision have a date in the test menu in the 'OTHER' item + + PRG.2N/PRG.2R: Main program ROMs \ Intel 28F016S5 2M x8 FLASHROM (for 2N, TSOP40) + / Intel 28F008SA 1M x8 FLASHROM (for 2R, TSOP40) + These ROMs are not populated on any System12 PCB dumped so far. Probably they are completely + unused on any game since they were phased out with the Rev (C) main board. + + PRG.2F: Main program ROM (only on MOTHER (C) PCB) - Intel E28F0320 4M x8 FLASHROM (TSOP56) + This ROM is not populated on any System12 PCB dumped so far. + + PRG.2J/PRG.2E: Main program ROMs, Fujitsu 29F016 2M x8 FLASHROM (both TSOP48) + These ROMs are populated on the following games.... + + Test Mode S/W + Game Sticker Revision MOTHER PCB + -------------------------------------------------------------------- + Ehrgeiz EG2 Ver.A EG2/VER.A MOTHER(B) + Fighting Layer FTL1 Ver.A FTL0/VER.A MOTHER(B) + Ghoul Panic OB2 Ver.A OB2/VER.A MOTHER(B) + Soul Calibur SOC1 Ver.B SOC11/VER.B MOTHER(B) + Soul Calibur TET1 Ver.C SOC14/VER.C MOTHER (factory upgraded from Tekken 3 to Soul Calibur) + Super World Stadium '98 SS81 Ver.A SS81/VER.A MOTHER(B) + Super World Stadium '99 SS91 Ver.A SS91/VER.A3 MOTHER(B) + Tekken 3 TET1 Ver.A TET1/VER.E1 MOTHER(B) + Tekken 3 TET2 Ver.A TET2/VER.A MOTHER + Tekken 3 TET3 Ver.A TET3/VER.A MOTHER + Tekken 3 TET3 Ver.B TET3/VER.B MOTHER + Tekken 3 TET3 Ver.D TET3/VER.D MOTHER + Tenkomori Shooting TKM1 Ver.A TKM1/VER.A1 MOTHER(B) + Tenkomori Shooting TKM2 Ver.A TKM2/VER.A1 MOTHER(B) + + SOUND.11S : Fujitsu 29F400TA-90 512k x8 EEPROM (holds H8/3002 program, SOP44) + This ROM is not labelled with any other markings except the manufacturer and chip type. The ROM labels + in the archives are simply made up for convenience. + + +ROM Daughterboard PCB +---------------------- +This PCB holds the remainder of the ROMs, used for graphics and the 3D geometry. +There are 8 known types of ROM daughterboards used on S12 games (so far). +All of the PCBs are the same size (approx 2" x 7") containing one custom connector and some MASKROMs/FlashROMs, a PLCC +PAL and a KEYCUS (which is a PLCC44 CPLD) and in some cases an extra TQFP CPLD. +The PCBs are named with a special coding. First a letter M, denoting MASKROM (always SOP44), then a number denoting how +many ROMs of that type, then another letter F, denoting FLASHROM (always TSOP40/48/56), then a number denoting how many +ROMs of that type. That number is always the maximum amount of that ROM type that can be used on the PCB. The actual number +of ROMs populated on the PCB can be less. + +******** +*Type 1* +******** +SYSTEM 12 M4F6 PCB 8661960901 (8661970901) +|----------------------------------------------------------| +|WAVE0.IC2 IC4 FL3L.IC5 | +| FL3U.IC6 | +| FL2L.IC7 ROM0L.IC12 | +| FL2U.IC8 | +| FL1L.IC9 | +|WAVE1.IC1 FL1U.IC10 ROM0U.IC11 | +| IC3 |-------------------| | +| |-------------------| | +|----------------------------------------------------------| +Notes: + This PCB has zero Ohm resistor jumpers to set the ROM sizes. + Note X means 'not populated', O means 'populated' + |----------|----|----| |----------|----| + | MASK | R6 | R7 | | FLASH | R8 | + |----------|----|----| |----------|----| + | WAVE 32M | X | O | | NORMAL | X | + | 64M | O | X | |32M FLASH | O | + |----------|----|----| |----------|----| + + WAVEx: 64M SOP44 MASKROM (R6 populated) + FLx : Intel E28F016 TSOP40 16M FlashROM or Fujitsu 29F016A TSOP48 16M FlashROM (R8 not populated) + ROM0x: 64M SOP44 MASKROM (size fixed at 64M, no configure options) + IC3 : MACH211 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.) + IC4 : PALCE 16V8H (PLCC20, PCB labelled 'A_DECO', chip stamped 'A DECO') + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated +------------------------------------------------------------------------------------------------------------------ +Ehrgeiz EG2/VER.A SYSTEM 12 M4F6 PCB 8661960901 (8661970901) KC021 EG1 WAVE0 + EG1 ROM0U, EG1 ROM0L + EG1 FL1U, EG1 FL1L, EG1 FL2U + EG1 FL2L, EG1 FL3U, EG1 FL3L + +Ehrgeiz EG3/VER.A SYSTEM 12 M4F6 PCB 8661960901 (8661970901) KC021 EG1 WAVE0 + EG1 ROM0U, EG1 ROM0L + EG1 FL1U, EG1 FL1L, EG1 FL2U + EG1 FL2L, EG1 FL3U, EG1 FL3L + +Tenkomori TKM1/VER.A1 SYSTEM 12 M4F6 PCB 8661960901 (8661970901) KC036 TKM1 WAVE0, TKM1 WAVE1 +Shooting TKM1 ROM0U, TKM1 ROM0L + TKM1 FL1U, TKM1 FL1L, TKM1 FL2U + TKM1 FL2L, TKM1 FL3U, TKM1 FL3L + +Tenkomori TKM2/VER.A1 SYSTEM 12 M4F6 PCB 8661960901 (8661970901) KC036 TKM1 WAVE0, TKM1 WAVE1 +Shooting TKM1 ROM0U, TKM1 ROM0L + TKM1 FL1U, TKM1 FL1L, TKM1 FL2U + TKM1 FL2L, TKM1 FL3U, TKM1 FL3L + +Ghoul Panic OB2/VER.A Same PCB but sticker says.... KC045 OB1 WAVEB.IC2 + 'SYSTEM 12 M4F0 PCB 8661962000' OB1 PRG0U.IC11, OB1 PRG0L.IC12 + (i.e no FlashROMs) + +Point Blank 2 GNB5/VER.A Same PCB but sticker says.... KC042 GNB1 WAVEB.IC2 + 'SYSTEM 12 M4F0 PCB 8661962000' GNB1 PRG0U.IC11, GNB1 PRG0L.IC12 + (i.e no FlashROMs) (note these ROMs contains the same data as) + (the ones used on System 11 Point Blank 2) + +Gunbarl GNB4/VER.A Same PCB but sticker says.... KC042 GNB1 WAVEB.IC2 + 'SYSTEM 12 M4F0 PCB 8661962000' GNB1 PRG0U.IC11, GNB1 PRG0L.IC12 + (i.e no FlashROMs) (note these ROMs contains the same data as) + (the ones used on System 11 Point Blank 2) + +Super World SS81/VER.A SYSTEM 12 M4F6 PCB 8661960901 (8661970901) KC025 SS81 WAVE0, SS81 WAVE1 +Stadium '98 SS81 FL1U, SS81 FL1L, SS81 FL2U + SS81 FL2L, SS81 FL3U, SS81 FL3L + +******** +*Type 2* +******** +SYSTEM 12 M5F2 PCB 8661961300 (8661971300) +|----------------------------------------------------------| +|WAVE0.IC2 IC4 FL4.IC5 FL3.IC6 | +| | +| ROM0.IC7 | +| | +| ROM1.IC8 | +|WAVE1.IC1 | +| IC3 |-------------------| ROM2.IC9 | +| |-------------------| | +|----------------------------------------------------------| +Notes: + This PCB has zero Ohm resistor jumpers to set the ROM sizes. + Note X means 'not populated', O means 'populated' + |----------|----|----| + | MASK | R6 | R7 | + |----------|----|----| + | WAVE 32M | X | O | + | 64M | O | X | + |----------|----|----| + + |----------|----| |------|---|---|---|---|---|----| The Flash ROMs can be configured to 3.3V 64M Strata Flash + | FLASH | R8 | |FLASH |R11|R12|C1 |C2 |D1 |REG1| when used with some extra components (voltage regulator/diode + |----------|----| |------|---|---|---|---|---|----| /resistors/caps etc). However, the extra component positions + | NORMAL | X | | 5V | O | O | X | X | X | X | are not populated on any of the games dumped so far. + |64M STRATA| O | | 3.3V | X | X | O | O | O | O | + |----------|----| |------|---|---|---|---|---|----| + + WAVEx: 64M SOP44 MASKROM (R6 populated) + FLx : Intel E28F320J5 TSOP56 32M FlashROM (R11 & R12 populated) + ROMx : 64M SOP44 MASKROM (size fixed at 64M, no configure options) + IC3 : MACH211 CPLD or Cypress CY37064 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which + is different per game.) + IC4 : PALCE 16V8H (PLCC20, PCB labelled 'A_DECO', chip stamped 'M5F4') + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated +------------------------------------------------------------------------------------------------------------------ +Soul Calibur SOC11/VER.A2 SYSTEM 12 M5F2 PCB 8661961300 (8661971300) KC020 SOC1 WAVE0 + SOC1 ROM0, SOC1 ROM1, SOC1 ROM2 + SOC1 FL3, SOC1 FL4 + +Soul Calibur SOC11/VER.B SYSTEM 12 M5F2 PCB 8661961300 (8661971300) KC020 SOC1 WAVE0 + SOC1 ROM0, SOC1 ROM1, SOC1 ROM2 + SOC1 FL3, SOC1 FL4 + +Aqua Rush AQ1/VER.A1 Same PCB but sticker says.... KC053 AQ1 WAVE0 + 'SYSTEM 12 M5F0 PCB 8661962200' AQ1 ROM0, AQ1 ROM1 + (i.e no FlashROMs) + +Paca Paca PKS1/VER.A Same PCB but sticker says.... KC046 PKS1 WAVE0, PKS1 WAVE 1 +Passion 2 'SYSTEM 12 M5F0 PCB 8661962200' PKS1 ROM0, PKS1 ROM1, PKS1 ROM2 + (i.e no FlashROMs) + +Paca Paca PSP1/VER.A Same PCB but sticker says.... KC052 PSP1 WAVE0, PSP1 WAVE 1 +Passion Special 'SYSTEM 12 M5F0 PCB 8661962200' PSP1 ROM0, PSP1 ROM1, PSP1 ROM2 + (i.e no FlashROMs) + +******** +*Type 3* +******** +SYSTEM 12 M5F4 PCB 8661961200 (8661971200) +|----------------------------------------------------------| +|WAVE0.IC2 IC4 | +| FL4L.IC5 ROM0.IC9 | +| FL4H.IC6 | +| FL3L.IC7 ROM1.IC10 | +| FL3H.IC8 | +|WAVE1.IC1 ROM2.IC11 | +| IC3 |-------------------| | +| |-------------------| | +|----------------------------------------------------------| +Notes: + This PCB has zero Ohm resistor jumpers to set the ROM sizes. + Note X means 'not populated', O means 'populated' + |----------|----|----| |----------|----| + | MASK | R6 | R7 | | FLASH | R8 | + |----------|----|----| |----------|----| + | WAVE 32M | X | O | | NORMAL | X | + | 64M | O | X | |64M STRATA| O | + |----------|----|----| |----------|----| + + WAVEx: 64M SOP44 MASKROM (R6 populated) + FLx : Fujitsu 29F016 TSOP48 16M FlashROM (R8 not populated) + ROMx : 64M SOP44 MASKROM (size fixed at 64M, no configure options) + IC3 : MACH211 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.) + IC4 : PALCE 16V8H (PLCC20, PCB labelled 'A_DECO', chip stamped 'M5F4') + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated +------------------------------------------------------------------------------------------------------------------- +Fighting Layer FTL0/VER.A SYSTEM 12 M5F4 PCB 8661961200 (8661971200) KC037 FTL1 WAVE0, FTL1 WAVE1 + FTL1 ROM0, FTL1 ROM1, FTL1 ROM2 + FTL1 FL4L, FTL1 FL4H + FTL1 FL3L, FTL1 FL3H + +Super World SS91/VER.A3 SYSTEM 12 M5F4 PCB 8661961200 (8661971200) KC027 SS91 WAVE0, SS91 WAVE1 +Stadium '99 (sticker KC043) SS91 ROM0, SS91 ROM1 + SS91 FL4L, SS91 FL4H + SS91 FL3L, SS91 FL3H + +Super World SS01/VER.A3 SYSTEM 12 M5F4 PCB 8661961200 (8661971200) KC055 SS01 WAVE0, SS01 WAVE1 +Stadium 2000 SS01 ROM0, SS01 ROM1, SS01 ROM2 + SS01 FL3L, SS01 FL3H + +Soul Calibur SOC13/VER.B SYSTEM 12 M5F4 PCB 8661961200 (8661971200) KC020 SOC1 WAVE0 + SOC1 ROM0, SOC1 ROM1, SOC1 ROM2 + SOC1 FL4L, SOC1 FL4H + SOC1 FL3L, SOC1 FL3H + +Soul Calibur SOC11/VER.C SYSTEM 12 M5F4 PCB 8661961200 (8661971200) KC020 SOC1 WAVE0 + SOC1 ROM0, SOC1 ROM1, SOC1 ROM2 + SOC1 FL4L, SOC1 FL4H + SOC1 FL3L, SOC1 FL3H + +Soul Calibur SOC14/VER.B SYSTEM 12 M5F4 PCB 8661961000 (8661971000) none SOC1 WAVE0 + SOC1 ROM0, SOC1 ROM1, SOC1 ROM2 + SOC1 FL4L, SOC1 FL4H + SOC1 FL3L, SOC1 FL3H + + +******** +*Type 4* +******** +SYSTEM 12 M8F2F PCB 8661960301 (8661970301) +|----------------------------------------------------------| +|WAVE0.IC5 ROM0L.IC6 ROM0U.IC9 | +| | +| ROM1L.IC7 ROM1U.IC10 FL3U.IC13 | +| | +| ROM2L.IC8 ROM2U.IC11 | +|WAVE1.IC4 IC2 IC3 FL3L.IC12 | +| IC1 |-------------------| | +| |-------------------| | +|----------------------------------------------------------| +Notes: + This PCB has zero Ohm resistor jumpers to set the ROM sizes. + + |-------|----| + | W128M | R3 | Wave ROMs are 128M if R3 is populated + | W32M | R4 | Wave ROMs are 32M if R4 is populated + | W64M | R5 | Wave ROMs are 64M if R5 is populated + | M64M | R6 | MASK ROMs are 64M if R6 is populated + | M32M | R7 | MASK ROMs are 32M if R7 is populated + |-------|----| + + WAVEx: 32M/64M SOP44 MASKROM + FLx : Fujitsu 29F016 TSOP48 16M FlashROM (size fixed at 16M, no configure options) + ROMx : 32M/64M SOP44 MASKROM + IC1 : MACH211 CPLD or Cypress CY37064 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which + is different per game.) + IC2 : 74F139 logic IC + IC3 : 74HC157 logic IC + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated Jumpers +--------------------------------------------------------------------------------------------------------------------- +Tekken 3 TET1/VER.E1 SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC006 TET1 WAVE0, TET1 WAVE1 R4, R7 + TET1 ROM0U, TET1 ROM1U + TET1 ROM2U, TET1 ROM0L + TET1 ROM1L, TET1 ROM2L + TET1 FL3L, TET1 FL3U + +Tekken 3 TET2/VER.A SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC006 TET1 WAVE0, TET1 WAVE1 R4, R7 + TET1 ROM0U, TET1 ROM1U + TET1 ROM2U, TET1 ROM0L + TET1 ROM1L, TET1 ROM2L + TET1 FL3L, TET1 FL3U + +Tekken 3 TET3/VER.A SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC006 TET1 WAVE0, TET1 WAVE1 R4, R7 + TET1 ROM0U, TET1 ROM1U + TET1 ROM2U, TET1 ROM0L + TET1 ROM1L, TET1 ROM2L + TET1 FL3L, TET1 FL3U + +Tekken 3 TET3/VER.B SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC006 TET1 WAVE0, TET1 WAVE1 R4, R7 + TET1 ROM0U, TET1 ROM1U + TET1 ROM2U, TET1 ROM0L + TET1 ROM1L, TET1 ROM2L + TET1 FL3L, TET1 FL3U + +Paca Paca PPP1/VER.A2 Same PCB but sticker says.... KC038 PPP1 WAVE0, PPP1 WAVE1 R5, R7 +Passion 'SYSTEM 12 M8F0 PCB 8661961700' PPP1 ROM0U, PPP1 ROM1U + (i.e no FlashROMs) PPP1 ROM2U, PPP1 ROM0L + PPP1 ROM1L, PPP1 ROM2L + +Mr Driller DRI1/VER.A2 Same as Paca Paca Passion KC048 DRI1 WAVE0 R5, R7 + DRI1 ROM0U, DRI1 ROM0L + +Libero Grande LG2/VER.A SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC014 LG1 WAVE0 R4, R7 + LG1 ROM0U, LG1 ROM0L + LG1 FL3L, LG1 FL3U + +Toukon TR1/VER.A SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC019 TR1 WAVE0, TR1 WAVE1 R4, R7 +Retsuden 3 TR1 ROM0U, TR1 ROM0L + +******** +*Type 5* +******** +SYSTEM 12 M8F4 PCB 8661961901 (8661971901) +|----------------------------------------------------------| +| IC3 *ROM0O.IC13 | +| FLEL.IC4 FLOL.IC6 ROM0E.IC9 | +| | +| WAVE0.IC1 FLEU.IC5 FLOU.IC7 *ROM1O.IC14 | +|*WAVE1.IC12 ROM1E.IC10 | +| IC8 | +| IC2 |-------------------| *ROM2O.IC15 | +| |-------------------| ROM2E.IC11 | +|----------------------------------------------------------| +Notes: + This PCB has zero Ohm resistor jumpers to set the ROM sizes. + Note X means 'not populated', O means 'populated' + |----------|----|----| + | MASK | R2 | R3 | + |----------|----|----| + | WAVE 32M | O | X | + | 64M | X | O | + |----------|----|----| + + * : These parts on other side of PCB + WAVEx: 32M/64M SOP44 MASKROM + FLx : Fujitsu 29F016 TSOP48 16M FlashROM (size fixed at 16M, no configure options) + ROMx : 64M SOP44 MASKROM (size fixed at 64M, no configure options) + IC2 : MACH211 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.) + IC3 : PALCE 22V10H (PLCC28, labelled 'S12M840A') + IC8 : ALTERA MAX EPM7128STC100-10 FPGA (TQFP100, labelled 'S12M841') + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated Jumper Notes +----------------------------------------------------------------------------------------------------------------------------------- +Tekken Tag TEG3/VER.C1 SYSTEM 12 M8F4 PCB 8661961901 (8661971901) KC044 TEG1 WAVE0, TEG1 WAVE1 R3 +Tournament TEG1 ROM0E, TEG1 ROM1E + TEG1 ROM2E, TEG1 ROM0O + TEG1 ROM1O, TEG1 ROM2O + TEG1 FLEL, TEG1 FLEU + TEG1 FLOL, TEG1 FLOU + +Tekken Tag TEG3/VER.B SYSTEM 12 M8F4 PCB 8661961901 (8661971901) KC044 TEG1 WAVE0, TEG1 WAVE1 R3 IC8 labelled 'S12M841A' +Tournament TEG1 ROM0E, TEG1 ROM1E ROM board can not be + TEG1 ROM2E, TEG1 ROM0O swapped to a different + TEG1 ROM1O, TEG1 ROM2O TEG3 revision + TEG1 FLEL, TEG1 FLEU + TEG1 FLOL, TEG1 FLOU + +******** +*Type 6* +******** +SYSTEM 12 M8F6 PCB 8661961800 (8661971800) +|----------------------------------------------------------| +| IC3 *ROM0U.IC14 | +| FL3L.IC4 FL4U.IC7 ROM0L.IC10 | +| | +| WAVE0.IC1 FL3U.IC5 FL5L.IC8 *ROM1U.IC15 | +|*WAVE1.IC13 ROM1L.IC11 | +| FL4L.IC6 FL5U.IC9 | +| IC2 |-------------------| *ROM2U.IC16 | +| |-------------------| ROM2L.IC12 | +|----------------------------------------------------------| +Notes: + This PCB has zero Ohm resistor jumpers to set the ROM sizes. + Note X means 'not populated', O means 'populated' + |----------|----|----| + | MASK | R2 | R3 | + |----------|----|----| + | WAVE 32M | O | X | + | 64M | X | O | + |----------|----|----| + + * : These parts on other side of PCB + WAVEx: 32M/64M SOP44 MASKROM + FLx : Fujitsu 29F016 TSOP48 16M FlashROM (size fixed at 16M, no configure options) + ROMx : 64M SOP44 MASKROM (size fixed at 64M, no configure options) + IC2 : Cypress CY37064 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different + per game.) + IC3 : PALCE 22V10H (PLCC28, PCB labelled 'A_DECO', chip stamped 'S12M8F6') + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated Jumper +--------------------------------------------------------------------------------------------------------------------- +Golgo 13 GLG1/VER.A SYSTEM 12 M8F6 PCB 8661961800 (8661971800) KC054 GLG1 WAVE0, GLG1 WAVE1 R3 + GLG1 ROM0L, GLG1 ROM1L + GLG1 ROM2L, GLG1 ROM0U + GLG1 ROM1U, GLG1 ROM2U + GLG1 FL3L, GLG1 FL3U + GLG1 FL4L, GLG1 FL4U + GLG1 FL5L, GLG1 FL5U + +Golgo 13 GLS1/VER.A SYSTEM 12 M8F6 PCB 8661961800 (8661971800) KC059 GLS1 WAVE0, GLS1 WAVE1 R3 +Kiseki no Dandou GLS1 ROM0L, GLS1 ROM1L + GLS1 ROM2L, GLS1 ROM0U + GLS1 ROM1U, GLS1 ROM2U + GLS1 FL3L, GLS1 FL3U + GLS1 FL4L, GLS1 FL4U + GLS1 FL5L, GLS1 FL5U + +Truck none Same PCB but sticker says.... KC056 TKK1 WAVE0 R3 +Kyosokyoku (sticker: 'SYSTEM 12 M8F6-4 PCB 8661962400' TKK1 ROM0L, TKK1 ROM1L + TKK2 VER.A) TKK1 ROM2L, TKK1 ROM0U + TKK1 ROM1U, TKK1 ROM2U + TKK1 FL3L, TKK1 FL3U + + +******** +*Type 7* +******** +SYSTEM 12 M10X64 PCB 8661961500 (8661971500) +|----------------------------------------------------------| +|WAVE0 | +| ROM3L ROM3U ROM2L ROM2U ROM1L ROM0L | +| IC4 | +| ROM1U ROM0U | +| | +|WAVE1 | +| KEYCUS |-------------------| | +| |-------------------| | +|----------------------------------------------------------| +Notes: + This PCB has zero Ohm resistor jumpers to set the ROM sizes. + Note X means 'not populated', O means 'populated' + |----------|----|----| + | MASK | R4 | R5 | + |----------|----|----| + | WAVE 32M | O | X | + | 64M | X | O | + |----------|----|----| + + WAVEx : 32M/64M SOP44 MASKROM + ROMx : 64M SOP44 MASKROM (size fixed at 64M, no configure options) + KEYCUS: CY37064 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.) + IC4 : PALCE 16V8H (PLCC20, PCB labelled 'A_DECO', chip stamped 'S12M10X') + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated +----------------------------------------------------------------------------------------------------------- +Derby Quiz My MDH1/VER.A2 SYSTEM 12 M10X64 PCB 8661961500 (8661971500) KC035 MDH1 WAVE0 +Dream Horse MDH1 ROM0L, MDH1 ROM1L + MDH1 ROM2L, MDH1 ROM0U + MDH1 ROM1U, MDH1 ROM2U + +Kaiun Quiz KW1/VER.A1 SYSTEM 12 M10X64 PCB 8661961500 (8661971500) KC050 KW1 WAVE0 + KW1 ROM0L, KW1 ROM1L + KW1 ROM2L, KW1 ROM0U + KW1 ROM1U, KW1 ROM2U + +******** +*Type 8* +******** +JO 11-04-98 +|----------------------------------------------------------| +|WAVE0.IC2 IC4 | +| FL4.IC5 ROM0-1.IC9A ROM1-1.IC10A ROM2-1.IC11A| +| | +| FL3.IC6 ROM0.IC9 ROM1.IC10 ROM2.IC11 | +| | +|WAVE1.IC1 | +| KEYCUS |-------------------| | +| |-------------------| | +|----------------------------------------------------------| +Notes: + This PCB _almost_ looks like a bootleg. There are no Namco markings, no Namco part numbers, and all ROMs are unmarked + except for the original manufacturer part number. The PCB does not have zero Ohm resistor jumpers, but instead, blobs + of solder to jumper pads which are not labelled anywhere on the PCB. + There is a location for a KEYCUS chip, but it's not populated. There is a PAL but it's not marked except for the + original manufacturer part number. The main PCB used by this game was a Tekken 3 which has been converted. The game + it was converted to (Soul Calibur) was more popular but has an unusual ROM board that might not have been available + and this PCB might have been produced to replace it, perhaps at a lower cost as well? + The actual dump of the ROMs on this PCB match the original Soul Calibur dump exactly (a type 2 ROM PCB), even though + the ROM sizes and types are different. + + WAVEx : MR27C3252CZ 32M SOP44 MASKROM + ROMx : MR27C3252CZ 32M SOP44 MASKROM + FLx : MR27C3252CZ 32M SOP44 MASKROM + KEYCUS: Not populated + IC4 : GAL16V8B (PLCC20, no other markings) + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated +----------------------------------------------------------------------------------------------------------- +Soul Calibur SOC14/VER.C JO 11-04-98 none WAVE0, WAVE1 + ROM0, ROM0-1, ROM1 + ROM1-1, ROM2, ROM2-1 + FL3, FL4 + +******** +*Type 9* +******** +SYSTEM 12 F2M5 PCB 8661962600 (8661972600) +|----------------------------------------------------------| +|WAVE0.IC2 IC4 | +| ROM0.IC7 | +| FL1L.IC5 FL1U.IC6 | +| ROM1.IC8 | +| | +|WAVE1.IC1 ROM2.IC9| +| IC3 |-------------------| | +| |-------------------| | +|----------------------------------------------------------| +Notes: + WAVEx: 64M SOP44 MASKROM + FLx : Intel Flash DA28F640J5 64M FlashROM (SSOP56) + ROMx : 64M SOP44 MASKROM + IC3 : CY37064 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.) + IC4 : GAL22V10 (PLCC28, PCB labelled 'S12F2M', chip stamped 'S12F2M') + +This PCB is used on: + + Software +Game Revision PCB KEYCUS ROMs Populated +------------------------------------------------------------------------------------------------------------------- +Super World SS11/VER.A2 SYSTEM 12 F2M5 PCB 8661962600 (8661972600) KC061 SS01 WAVE0, SS01 WAVE1 +Stadium 2001 SS01 ROM0, SS01 ROM1, SS01 ROM2 + SS11FL1L, SS11FL1U + + +CPU PCB +------- + +There are 2 known types (so far). Type 1 is the most common. + +Type 1 +------ +COH-700 GP-15 (manufactured by Sony) +|-------------------------------------------| +| 74F74 74ALS08 | +| | +| |------| | +| |KM4132| |-----------| |-----------| | +| |G271Q | | SONY | | SONY | | +| |------| | CXD8654Q | | CXD8661R | | +| | | | | | +| |------| | | | | | +| |KM4132| | | | | | +| |G271Q | |-----------| |-----------| | +| |------| 53.693MHz 100MHz | +| | +| | +| | +| | +| KM416V1204 KM416V1204 | +| MC44200FT | +| * * | +| | +|-------------------------------------------| +Notes: + KM4132G271Q: Samsung Electronics 128k x 32-bit x 2 Banks SGRAM (x2, QFP100) + KM416V1204 : Samsung Electronics 1M x16 EDO DRAM (x2, TSOP44(40)) + * : Unpopulated positions for KM416V1204 EDO DRAM + CXD8654Q : Sony CXD8654Q GPU (QFP208) + CXD8661R : Sony CXD8661R R3000A-based CPU (QFP208) + MC44200FT : Motorola MC44200FT Triple 8-bit Video DAC (QFP44) + +Type 2 +------ + SYSTEM12 COH716 PCB 8661962301 (8661972301) + (manufactured by Namco, probably in 2001, under license from Sony) + Component layout is identical to COH-700 PCB with some updated components. Generally + it has 2X the amount of video RAM and 4X the amount of program RAM that the COH-700 PCB has. + KM4132G271Q replaced with OKI 54V25632A 256k x 32-bit x 2 Banks SGRAM (x2, QFP100) + KM416V1204 replaced with Samsung Electronics K4E6416120D 4M x16 EDO DRAM (x2, TSOP44) + Updated Sony CXD8561CQ GPU (QFP208) + Updated Sony CXD8606BQ R3000A-based CPU (QFP208) + Updated Motorola MC141685FT Video DAC (QFP44) + + The Type 2 PCB is used only by Super World Stadium 2001 (so far) + Note, this CPU PCB was tested with some of the older S12 games and + they worked fine, so it seems to be 100% compatible with all S12 games. + The older COH-700 CPU board will also work with SWS2001. + + +NETWORK PCB +----------- +SYSTEM12 HSC PCB 8661960601 (8661970601) +|---------------------------------------------------| +| USB-A USB-B | +| DS8921 | +| | +| J2 74LVT245 | +| |-| N341256 N341256 | +| | |74LVT245 N341256 N341256 | +| | | | +| | |74LVT244 |------| | +| | | |--------| | C422 | | +| | |74F244 | | | | | +| | | | C446 | |------| | +| | |74F244 | | | +| | | | | | +| | |74F244 | | | +| | | |--------| 74F74 |-----| | +| | |74F244 2061ASC-1 |H8/ | | +| |-| |3002 | | +| S12HSC3A S12HSC1A 14.7456MHz |-----| | +| | +| S12HSC2A 74HC32 | +| | +| | +|---------------------------------------------------| +Notes: + DS8921 : National DS8921ATM Differential Line Driver and Receiver Pair (SOIC8) + USB-A : Standard USB type A connector, PCB labelled '(TX)' + USB-B : Standard USB type B connector, PCB labelled '(RX)' + C446 : Namco Custom C446 (QFP160) + C422 : Namco Custom C422 (QFP64) + 2061ASC-1: IC Designs 2061ASC-1 programmable clock generator (SOIC16) + N341256 : NKK N341256 32k x8 SRAM (x4, SOJ28) + H8/3002 : Hitachi H8/3002 HD6413002F17 Microcontroller (QFP100), clocked at 14.7456MHz. + S12HSC1A : PALCE 16V8H (PLCC20, labelled 'S12HSC1A') + S12HSC2A : PALCE 22V10H (PLCC28, labelled 'S12HSC2A') + S12HSC3A : PALCE 22V10H (PLCC28, labelled 'S12HSC3A') + J2 : Custom Namco connector for plug-in CPU PCB + + This PCB was found on the following games (so far).... + + Libero Grande (LG2/VER.A) + Tekken 3 (TET2/VER.A) + Ehrgeiz (EG2/VER.A) + + Note that the games will also work without this PCB, minus the network functionality. + + +Gun Board (This is the same Gun Board used with Point Blank 2 on System 11 hardware) +--------- + +SYSTEM11 GUN I/F A4111 PCB 8645960701 (8645970701) +|-------------------------------------------| +| |-------| |-------| |-------| | +| |S11GUN3| |S11GUN2| |S11GUN1| | +| | | | | | | | +| | | | | | | | +| |-------| |-------| |-------| | +| | +| | +| | +| SLA4060 | +|J3 |---------| | +| | S11GUN0 | | +| | | | +| | | | +| | | AV9170 | +| |---------| | +| | +| J2 | +| | +| J1 | +|-------------------------------------------| +Notes: + SLA4060 - Sanken Electric Co. NPN Darlington Transistor Array (SIP12) + J1 - 96 pin connector joining to the mother board (connector below the PCB) + J2 - 96 pin connector joining to the CPU board (connector above the PCB) + J3 - 10 pin connector joining to the gun via a 24V solenoid driver board (for the gun recoil) + S11GUN0 - PLCC84 FPGA (not populated) + S11GUN1 - Altera Max EPM7128STC100-10 EPLD (QFP100, not populated) + S11GUN2 - Altera Max EPM7128STC100-10 EPLD (QFP100, labelled 'S11GUN2) + S11GUN3 - Altera Max EPM7128STC100-10 EPLD (QFP100, not populated) + AV9170 - Integrated Circuit Systems Inc. AV9170 Clock Synchronizer and Multiplier, Voltage Controlled Oscillator (SOIC8) + + This PCB was found on the following games (so far).... + Ghoul Panic (OB2/VER.A) + Point Blank 2 (GNB5/VER.A) + + +CDXA PCB +-------- +SYSTEM12 CDXA PCB 8661962101 (8661972101) +|---------------------------------------------------| +| J8 J9 | +| 6734 4556 3121 | +| | +| J2 MB87078 | +| |-| IS61C256 | +| | | IS61C256 LC78836M | +| | | | +| | | | +| | | |--------| | +| | | | | |------| TC558128 | +| | | | C448 | | SH2 | | +| | | | | | | | +| | | | | |------| TC558128 | +| | | |--------| | +| | | | +| | | | +| |-| | +| 2061ASC-1 |------| | +| |ALTERA| | +| 14.7456MHz |MAX | | +| |EPM7128 | +| |------| | +| J3 J4 | +|---------------------------------------------------| +Notes: + 6734 : Texas Instruments TPS6734 Fixed 12V 120mA Boost-Converter Supply compatible with MAX734 (SOIC8) + 4556 : NJM4556 Dual High Current Operational Amplifier (SOIC8) + 3121 : Rohm BA3121 Ground Isolation Amplifier (SOIC8) + C448 : Namco Custom C448 (QFP160) + SH2 : Hitachi SH2 HD6417014F28 CPU (QFP112) + 2061ASC-1: IC Designs 2061ASC-1 programmable clock generator (SOIC16) + TC558128 : Toshiba TC558128BFT-15 128k x8 SRAM (x2, SOJ32) + IS61C256 : ISSI IS61C256AH-12T 32k x8 SRAM (x2, TSOP28) + EPM7128 : Altera Max EPM7128 CPLD with sticker 'S12C DX0A' (QFP100) + LC78836 : Sanyo LC78836 2-Channel 16-Bit D/A Converter with On-Chip 8X Oversampling Digital Filters (SOIC24) + MB87078 : Fujitsu MB87078 6-bit, 4-channel Electronic Volume Controller (SOIC24) + J2 : Custom Namco connector for plug-in CPU PCB + J3 : 40 pin connector for IDE CDROM data cable + J4 : 6 pin connector (possibly to re-program the CPLD) + J8 : 4 pin connector (left/right audio output) + J9 : 3 pin connector (possibly mono audio output or another audio output) + + This PCB was found on the following games (so far).... + + Truck Kyosokyoku (TKK2/VER.A) + A CDROM drive and CDROM disc is also required + The disc is labelled 'TKK2-A' + + +I/O Board (for use with Truck Kyosokyoku) +--------- + +V233 DECO PCB +2532960102 (2532970102) +|-------------------------------------------| +| DSW(2) JP1 14.7456MHz | +|LED | +| C78 MB3771 | +|J8 TKK1PRG0.IC7 | +| | +| SLA4031 SLA4031 SLA4031 SLA4031 SLA4031| +| | +|J9 J1 J2 J3 | +|-------------------------------------------| +Notes: + TKK1PRG0.IC7 - 27C1001 EPROM (DIP28) + SLA4031 - Sanken SLA4031 Quad High-Voltage, High-Current NPN Darlington transistor + array for sink drive with built-in flywheel diode (SIL12) + C78 - Hitachi H8/3334 Micro-controller (PLCC84) + JP1 - Jumper to configure the H8/3334 for internal or external ROM usage. Set to 2-3 (EXT) + J1/2/3/8 - Multi-pin connectors joining to controls and main PCB + J9 - Power input connector +*/ + +#include "emu.h" +#include "cpu/psx/psx.h" +#include "cpu/h83002/h8.h" +#include "video/psx.h" +#include "includes/psx.h" +#include "machine/at28c16.h" +#include "sound/c352.h" + +#define VERBOSE_LEVEL ( 0 ) + +class namcos12_state : public psx_state +{ +public: + namcos12_state(const machine_config &mconfig, device_type type, const char *tag) + : psx_state(mconfig, type, tag) { } + + UINT32 *m_sharedram; + UINT32 m_n_bankoffset; + + UINT32 m_n_dmaoffset; + UINT32 m_n_dmabias; + UINT32 m_n_tektagdmaoffset; + int m_has_tektagt_dma; + + UINT8 m_kcram[ 12 ]; + + int m_ttt_cnt; + UINT32 m_ttt_val[2]; + + int m_s12_porta; + int m_s12_rtcstate; + int m_s12_lastpB; + int m_s12_setstate; + int m_s12_setnum; + int m_s12_settings[8]; +}; + +INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... ) +{ + if( VERBOSE_LEVEL >= n_level ) + { + va_list v; + char buf[ 32768 ]; + va_start( v, s_fmt ); + vsprintf( buf, s_fmt, v ); + va_end( v ); + logerror( "%s: %s", machine.describe_context(), buf ); + } +} + +static WRITE32_HANDLER( sharedram_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + verboselog( space->machine(), 1, "sharedram_w( %08x, %08x, %08x )\n", ( offset * 4 ), data, mem_mask ); + COMBINE_DATA( &state->m_sharedram[ offset ] ); +} + +static READ32_HANDLER( sharedram_r ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + verboselog( space->machine(), 1, "sharedram_r( %08x, %08x ) %08x\n", ( offset * 4 ), mem_mask, state->m_sharedram[ offset ] ); + return state->m_sharedram[ offset ]; +} + +static WRITE16_HANDLER( sharedram_sub_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + UINT16 *shared16 = (UINT16 *)state->m_sharedram; + + COMBINE_DATA(&shared16[BYTE_XOR_LE(offset)]); +} + +static READ16_HANDLER( sharedram_sub_r ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + UINT16 *shared16 = (UINT16 *)state->m_sharedram; + + return shared16[BYTE_XOR_LE(offset)]; +} + +static WRITE32_HANDLER( bankoffset_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + // Golgo 13 has different banking (maybe the keycus controls it?) + if( strcmp( space->machine().system().name, "golgo13" ) == 0 || + strcmp( space->machine().system().name, "g13knd" ) == 0 ) + { + if( ( data & 8 ) != 0 ) + { + state->m_n_bankoffset = ( data & 0x6 ) << 2; + } + else + { + state->m_n_bankoffset = ( state->m_n_bankoffset & ~0x7 ) | ( data & 0x7 ); + } + } + else + { + state->m_n_bankoffset = data; + } + + memory_set_bank( space->machine(), "bank1", state->m_n_bankoffset ); + + verboselog( space->machine(), 1, "bankoffset_w( %08x, %08x, %08x ) %08x\n", offset, data, mem_mask, state->m_n_bankoffset ); +} + +static WRITE32_HANDLER( dmaoffset_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + if( ACCESSING_BITS_0_15 ) + { + state->m_n_dmaoffset = ( offset * 4 ) | ( data << 16 ); + } + if( ACCESSING_BITS_16_31 ) + { + state->m_n_dmaoffset = ( ( offset * 4 ) + 2 ) | ( data & 0xffff0000 ); + } + verboselog( space->machine(), 1, "dmaoffset_w( %08x, %08x, %08x ) %08x\n", offset, data, mem_mask, state->m_n_dmaoffset ); +} + +static void namcos12_rom_read( namcos12_state *state, UINT32 n_address, INT32 n_size ) +{ + const char *n_region; + int n_offset; + + INT32 n_ramleft; + INT32 n_romleft; + + UINT16 *source; + UINT16 *destination; + + if(state->m_has_tektagt_dma && !state->m_n_dmaoffset) + { + n_region = "user2"; + n_offset = state->m_n_tektagdmaoffset & 0x7fffffff; + verboselog( state->machine(), 1, "namcos12_rom_read( %08x, %08x ) tektagt %08x\n", n_address, n_size, n_offset ); + } + else if( ( state->m_n_dmaoffset >= 0x80000000 ) || ( state->m_n_dmabias == 0x1f300000 ) ) + { + n_region = "user1"; + n_offset = state->m_n_dmaoffset & 0x003fffff; + verboselog( state->machine(), 1, "namcos12_rom_read( %08x, %08x ) boot %08x\n", n_address, n_size, n_offset ); + } + else + { + n_region = "user2"; + n_offset = state->m_n_dmaoffset & 0x7fffffff; + verboselog( state->machine(), 1, "namcos12_rom_read( %08x, %08x ) game %08x\n", n_address, n_size, n_offset ); + } + + source = (UINT16 *) state->machine().region( n_region )->base(); + n_romleft = ( state->machine().region( n_region )->bytes() - n_offset ) / 4; + if( n_size > n_romleft ) + { + verboselog( state->machine(), 1, "namcos12_rom_read dma truncated %d to %d passed end of rom\n", n_size, n_romleft ); + n_size = n_romleft; + } + + destination = (UINT16 *)state->m_p_n_psxram; + n_ramleft = ( state->m_n_psxramsize - n_address ) / 4; + if( n_size > n_ramleft ) + { + verboselog( state->machine(), 1, "namcos12_rom_read dma truncated %d to %d passed end of ram\n", n_size, n_ramleft ); + n_size = n_ramleft; + } + + n_size *= 2; + n_address /= 2; + n_offset /= 2; + + while( n_size > 0 ) + { + destination[ WORD_XOR_LE( n_address ) ] = source[ WORD_XOR_LE( n_offset ) ]; + n_address++; + n_offset++; + n_size--; + } +} + +static void namcos12_sub_irq( namcos12_state *state, screen_device &screen, bool vblank_state ) +{ + irq1_line_pulse( state->machine().device( "sub" ) ); +} + +static WRITE32_HANDLER( s12_dma_bias_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + state->m_n_dmabias = data; +} + +static ADDRESS_MAP_START( namcos12_map, AS_PROGRAM, 32 ) + AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("share1") /* ram */ + AM_RANGE(0x1f000000, 0x1f000003) AM_READNOP AM_WRITE(bankoffset_w) /* banking */ + AM_RANGE(0x1f080000, 0x1f083fff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE_MEMBER(namcos12_state, m_sharedram) /* shared ram?? */ + AM_RANGE(0x1f140000, 0x1f140fff) AM_DEVREADWRITE8("at28c16", at28c16_r, at28c16_w, 0x00ff00ff) /* eeprom */ + AM_RANGE(0x1f1bff08, 0x1f1bff0f) AM_WRITENOP /* ?? */ + AM_RANGE(0x1f700000, 0x1f70ffff) AM_WRITE(dmaoffset_w) /* dma */ + AM_RANGE(0x1f801000, 0x1f801003) AM_WRITE(s12_dma_bias_w) + AM_RANGE(0x1fa00000, 0x1fbfffff) AM_ROMBANK("bank1") /* banked roms */ + AM_RANGE(0x1fc00000, 0x1fffffff) AM_ROM AM_SHARE("share2") AM_REGION("user1", 0) /* bios */ + AM_RANGE(0x80000000, 0x803fffff) AM_RAM AM_SHARE("share1") /* ram mirror */ + AM_RANGE(0x9fc00000, 0x9fffffff) AM_ROM AM_SHARE("share2") /* bios mirror */ + AM_RANGE(0xa0000000, 0xa03fffff) AM_RAM AM_SHARE("share1") /* ram mirror */ + AM_RANGE(0xbfc00000, 0xbfffffff) AM_ROM AM_SHARE("share2") /* bios mirror */ + AM_RANGE(0xfffe0130, 0xfffe0133) AM_WRITENOP +ADDRESS_MAP_END + +static WRITE32_HANDLER( system11gun_w ) +{ + if( ACCESSING_BITS_0_15 ) + { + + /* blowback 1 */ + /* blowback 2 */ + /* Note: output label has been changed for the Engrish Impaired ;-) */ + output_set_value("Player1_Gun_Recoil", (~data & 0x02)>>1); + output_set_value("Player2_Gun_Recoil", (~data & 0x01)); + + /* start 1 */ + output_set_value("P2_Start_lamp", (~data & 0x08)>>3); + /* start 2 */ + output_set_value("P2_Start_lamp", (~data & 0x04)>>2); + + + verboselog( space->machine(), 1, "system11gun_w: outputs (%08x %08x)\n", data, mem_mask ); + } + if( ACCESSING_BITS_16_31 ) + { + verboselog( space->machine(), 2, "system11gun_w: start reading (%08x %08x)\n", data, mem_mask ); + } +} + +static READ32_HANDLER( system11gun_r ) +{ + UINT32 data = 0; + switch( offset ) + { + case 0: + data = input_port_read(space->machine(), "LIGHT0_X"); + break; + case 1: + data = ( input_port_read(space->machine(), "LIGHT0_Y") ) | ( ( input_port_read(space->machine(), "LIGHT0_Y") + 1 ) << 16 ); + break; + case 2: + data = input_port_read(space->machine(), "LIGHT1_X"); + break; + case 3: + data = ( input_port_read(space->machine(), "LIGHT1_Y") ) | ( ( input_port_read(space->machine(), "LIGHT1_Y") + 1 ) << 16 ); + break; + } + verboselog( space->machine(), 2, "system11gun_r( %08x, %08x ) %08x\n", offset, mem_mask, data ); + return data; +} + +static void system11gun_install( running_machine &machine ) +{ + machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x1f788000, 0x1f788003, FUNC(system11gun_w) ); + machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler (0x1f780000, 0x1f78000f, FUNC(system11gun_r) ); +} + +static WRITE32_HANDLER( kcoff_w ) +{ + memory_set_bankptr( space->machine(), "bank2", space->machine().region( "user1" )->base() + 0x20280 ); +} + +static WRITE32_HANDLER( kcon_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + memory_set_bankptr( space->machine(), "bank2", state->m_kcram ); +} + +static WRITE32_HANDLER( tektagt_protection_1_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + // Second dma offset or protection ref values write + state->m_n_tektagdmaoffset = data; + if(state->m_ttt_cnt != 2) + state->m_ttt_val[state->m_ttt_cnt++] = data; +} + +static READ32_HANDLER( tektagt_protection_1_r ) +{ + // Reads are either ignored or bit 15 is tested for a busy flag + return 0x8000; +} + +static WRITE32_HANDLER( tektagt_protection_2_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + // Writes are 0 or rand(), only used as a "start prot value write" trigger + state->m_ttt_cnt = 0; +} + +static READ32_HANDLER( tektagt_protection_2_r ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + UINT32 *ttt_val = state->m_ttt_val; + UINT32 data = 0; + + if(((ttt_val[0] >> 16) & 0xff) == 0x6d) + data |= 0x000036e2; + + if(((ttt_val[0] >> 16) & 0xff) == 0x4c) + data |= 0x00002651; + + if(((ttt_val[1] >> 16) & 0xff) == 0x82) + data |= 0x41860000; + + if(((ttt_val[1] >> 16) & 0xff) == 0x78) + data |= 0x3c7d0000; + + if(((ttt_val[1] >> 16) & 0xff) == 0xa9) + data |= 0x552e0000; + + return data; +} + +static READ32_HANDLER( tektagt_protection_3_r ) +{ + // Always ignored + return 0; +} + +static MACHINE_RESET( namcos12 ) +{ + namcos12_state *state = machine.driver_data<namcos12_state>(); + address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM); + bankoffset_w(space,0,0,0xffffffff); + state->m_has_tektagt_dma = 0; + + if( strcmp( machine.system().name, "tektagt" ) == 0 || + strcmp( machine.system().name, "tektagtac" ) == 0 || + strcmp( machine.system().name, "tektagtub" ) == 0 || + strcmp( machine.system().name, "tektagtjb" ) == 0 || + strcmp( machine.system().name, "tektagtja" ) == 0 ) + { + state->m_has_tektagt_dma = 1; + space->install_legacy_readwrite_handler(0x1fb00000, 0x1fb00003, FUNC(tektagt_protection_1_r), FUNC(tektagt_protection_1_w) ); + space->install_legacy_readwrite_handler(0x1fb80000, 0x1fb80003, FUNC(tektagt_protection_2_r), FUNC(tektagt_protection_2_w) ); + space->install_legacy_read_handler(0x1f700000, 0x1f700003, FUNC(tektagt_protection_3_r) ); + } + + if( strcmp( machine.system().name, "tektagt" ) == 0 || + strcmp( machine.system().name, "tektagtac" ) == 0 || + strcmp( machine.system().name, "tektagtub" ) == 0 || + strcmp( machine.system().name, "tektagtjb" ) == 0 || + strcmp( machine.system().name, "tektagtja" ) == 0 || + strcmp( machine.system().name, "fgtlayer" ) == 0 || + strcmp( machine.system().name, "golgo13" ) == 0 || + strcmp( machine.system().name, "g13knd" ) == 0 || + strcmp( machine.system().name, "mrdrillr" ) == 0 || + strcmp( machine.system().name, "pacapp" ) == 0 || + strcmp( machine.system().name, "pacappsp" ) == 0 || + strcmp( machine.system().name, "pacapp2" ) == 0 || + strcmp( machine.system().name, "tenkomor" ) == 0 || + strcmp( machine.system().name, "tenkomorja" ) == 0 || + strcmp( machine.system().name, "ptblank2" ) == 0 || + strcmp( machine.system().name, "gunbarl" ) == 0 || + strcmp( machine.system().name, "sws2000" ) == 0 || + strcmp( machine.system().name, "sws2001" ) == 0 || + strcmp( machine.system().name, "truckk" ) == 0 || + strcmp( machine.system().name, "ghlpanic" ) == 0 ) + { + /* this is based on guesswork, it might not even be keycus. */ + space->install_read_bank (0x1fc20280, 0x1fc2028b, "bank2" ); + space->install_legacy_write_handler(0x1f008000, 0x1f008003, FUNC(kcon_w) ); + space->install_legacy_write_handler(0x1f018000, 0x1f018003, FUNC(kcoff_w) ); + + memset( state->m_kcram, 0, sizeof( state->m_kcram ) ); + memory_set_bankptr( space->machine(), "bank2", state->m_kcram ); + } +} + +/* H8/3002 MCU stuff */ +static ADDRESS_MAP_START( s12h8rwmap, AS_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x07ffff) AM_ROM + AM_RANGE(0x080000, 0x08ffff) AM_READWRITE( sharedram_sub_r, sharedram_sub_w ) + AM_RANGE(0x280000, 0x287fff) AM_DEVREADWRITE_MODERN("c352", c352_device, read, write) + AM_RANGE(0x300000, 0x300001) AM_READ_PORT("IN0") + AM_RANGE(0x300002, 0x300003) AM_READ_PORT("IN1") + AM_RANGE(0x300010, 0x300011) AM_NOP // golgo13 writes here a lot, possibly also a wait state generator? + AM_RANGE(0x300030, 0x300031) AM_NOP // most S12 bioses write here simply to generate a wait state. there is no deeper meaning. +ADDRESS_MAP_END + +static READ8_HANDLER( s12_mcu_p8_r ) +{ + return 0x02; +} + +// emulation of the Epson R4543 real time clock +// in System 12, bit 0 of H8/3002 port A is connected to it's chip enable +// the actual I/O takes place through the H8/3002's serial port B. + +static READ8_HANDLER( s12_mcu_pa_r ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + return state->m_s12_porta; +} + +static WRITE8_HANDLER( s12_mcu_pa_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + // bit 0 = chip enable for the RTC + // reset the state on the rising edge of the bit + if ((!(state->m_s12_porta & 1)) && (data & 1)) + { + state->m_s12_rtcstate = 0; + } + + state->m_s12_porta = data; +} + +INLINE UINT8 make_bcd(UINT8 data) +{ + return ((data / 10) << 4) | (data % 10); +} + +static READ8_HANDLER( s12_mcu_rtc_r ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + UINT8 ret = 0; + system_time systime; + static const int weekday[7] = { 7, 1, 2, 3, 4, 5, 6 }; + + space->machine().current_datetime(systime); + + switch (state->m_s12_rtcstate) + { + case 0: + ret = make_bcd(systime.local_time.second); // seconds (BCD, 0-59) in bits 0-6, bit 7 = battery low + break; + case 1: + ret = make_bcd(systime.local_time.minute); // minutes (BCD, 0-59) + break; + case 2: + ret = make_bcd(systime.local_time.hour); // hour (BCD, 0-23) + break; + case 3: + ret = make_bcd(weekday[systime.local_time.weekday]); // low nibble = day of the week + ret |= (make_bcd(systime.local_time.mday) & 0x0f)<<4; // high nibble = low digit of day + break; + case 4: + ret = (make_bcd(systime.local_time.mday) >> 4); // low nibble = high digit of day + ret |= (make_bcd(systime.local_time.month + 1) & 0x0f)<<4; // high nibble = low digit of month + break; + case 5: + ret = make_bcd(systime.local_time.month + 1) >> 4; // low nibble = high digit of month + ret |= (make_bcd(systime.local_time.year % 10) << 4); // high nibble = low digit of year + break; + case 6: + ret = make_bcd(systime.local_time.year % 100) >> 4; // low nibble = tens digit of year (BCD, 0-9) + break; + } + + state->m_s12_rtcstate++; + + return ret; +} + +static READ8_HANDLER( s12_mcu_portB_r ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + // golgo13 won't boot if this doesn't toggle every read + state->m_s12_lastpB ^= 0x80; + return state->m_s12_lastpB; +} + +static WRITE8_HANDLER( s12_mcu_portB_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + + // bit 7 = chip enable for the video settings controller + if (data & 0x80) + { + state->m_s12_setstate = 0; + } + + state->m_s12_lastpB = data; +} + +static WRITE8_HANDLER( s12_mcu_settings_w ) +{ + namcos12_state *state = space->machine().driver_data<namcos12_state>(); + int *s12_settings = state->m_s12_settings; + + if (state->m_s12_setstate) + { + // data + s12_settings[state->m_s12_setnum] = data; + + if (state->m_s12_setnum == 7) + { + logerror("S12 video settings: Contrast: %02x R: %02x G: %02x B: %02x\n", + BITSWAP8(s12_settings[0], 0, 1, 2, 3, 4, 5, 6, 7), + BITSWAP8(s12_settings[1], 0, 1, 2, 3, 4, 5, 6, 7), + BITSWAP8(s12_settings[2], 0, 1, 2, 3, 4, 5, 6, 7), + BITSWAP8(s12_settings[3], 0, 1, 2, 3, 4, 5, 6, 7)); + } + } + else + { // setting number + state->m_s12_setnum = (data >> 4)-1; + } + + state->m_s12_setstate ^= 1; +} + +/* Golgo 13 lightgun inputs + * + * Note: The H8/3002's ADC is 10 bits wide, but + * it expects the 10-bit value to be left-justified + * within the 16-bit word. + */ + +static READ8_HANDLER( s12_mcu_gun_h_r ) +{ + const input_port_config *port = space->machine().port("LIGHT0_X"); + if( port != NULL ) + { + int rv = input_port_read_direct( port ) << 6; + + if( ( offset & 1 ) != 0 ) + { + return rv; + } + + return rv >> 8; + } + + // if game has no lightgun ports, return 0 + return 0; +} + +static READ8_HANDLER( s12_mcu_gun_v_r ) +{ + const input_port_config *port = space->machine().port("LIGHT0_Y"); + if( port != NULL ) + { + int rv = input_port_read_direct( port ) << 6; + + if( ( offset & 1 ) != 0 ) + { + return rv; + } + + return rv >> 8; + } + + // if game has no lightgun ports, return 0 + return 0; +} + +static ADDRESS_MAP_START( s12h8iomap, AS_IO, 8 ) + AM_RANGE(H8_PORT_7, H8_PORT_7) AM_READ_PORT("DSW") + AM_RANGE(H8_PORT_8, H8_PORT_8) AM_READ( s12_mcu_p8_r ) AM_WRITENOP + AM_RANGE(H8_PORT_A, H8_PORT_A) AM_READWRITE( s12_mcu_pa_r, s12_mcu_pa_w ) + AM_RANGE(H8_PORT_B, H8_PORT_B) AM_READWRITE( s12_mcu_portB_r, s12_mcu_portB_w ) + AM_RANGE(H8_SERIAL_1, H8_SERIAL_1) AM_READ( s12_mcu_rtc_r ) AM_WRITE( s12_mcu_settings_w ) + AM_RANGE(H8_ADC_0_H, H8_ADC_0_L) AM_NOP + AM_RANGE(H8_ADC_1_H, H8_ADC_1_L) AM_READ( s12_mcu_gun_h_r ) // golgo 13 gun X-axis + AM_RANGE(H8_ADC_2_H, H8_ADC_2_L) AM_READ( s12_mcu_gun_v_r ) // golgo 13 gun Y-axis + AM_RANGE(H8_ADC_3_H, H8_ADC_3_L) AM_NOP +ADDRESS_MAP_END + +static DRIVER_INIT( namcos12 ) +{ + namcos12_state *state = machine.driver_data<namcos12_state>(); + + psx_driver_init(machine); + + memory_configure_bank(machine, "bank1", 0, machine.region( "user2" )->bytes() / 0x200000, machine.region( "user2" )->base(), 0x200000 ); + + state->m_s12_porta = 0; + state->m_s12_rtcstate = 0; + state->m_s12_lastpB = 0x50; + state->m_s12_setstate = 0; + state->m_s12_setnum = 0; + memset(state->m_s12_settings, 0, sizeof(state->m_s12_settings)); + + state->m_n_tektagdmaoffset = 0; + state->m_n_dmaoffset = 0; + state->m_n_dmabias = 0; + state->m_n_bankoffset = 0; + memory_set_bank( machine, "bank1", 0 ); + + state->save_item( NAME(state->m_n_dmaoffset) ); + state->save_item( NAME(state->m_n_dmabias) ); + state->save_item( NAME(state->m_n_bankoffset) ); +} + +static DRIVER_INIT( ptblank2 ) +{ + DRIVER_INIT_CALL(namcos12); + + /* patch out wait for dma 5 to complete */ + *( (UINT32 *)( machine.region( "user1" )->base() + 0x331c4 ) ) = 0; + + system11gun_install(machine); +} + +static DRIVER_INIT( ghlpanic ) +{ + DRIVER_INIT_CALL(namcos12); + + system11gun_install(machine); +} + +static MACHINE_CONFIG_START( coh700, namcos12_state ) + /* basic machine hardware */ + MCFG_CPU_ADD( "maincpu", CXD8661R, XTAL_100MHz ) + MCFG_CPU_PROGRAM_MAP( namcos12_map) + + MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psx_dma_read_delegate( FUNC( namcos12_rom_read ), (namcos12_state *) owner ) ) + + MCFG_CPU_ADD("sub", H83002, 16737350 ) + MCFG_CPU_PROGRAM_MAP( s12h8rwmap) + MCFG_CPU_IO_MAP( s12h8iomap) + + MCFG_MACHINE_RESET( namcos12 ) + + /* video hardware */ + MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8654Q, 0x200000, XTAL_53_693175MHz ) + MCFG_PSXGPU_VBLANK_CALLBACK( vblank_state_delegate( FUNC( namcos12_sub_irq ), (namcos12_state *) owner ) ) + + /* sound hardware */ + MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") + + MCFG_C352_ADD("c352", 16737350) + MCFG_SOUND_ROUTE(0, "rspeaker", 1.00) + MCFG_SOUND_ROUTE(1, "lspeaker", 1.00) + MCFG_SOUND_ROUTE(2, "rspeaker", 1.00) + MCFG_SOUND_ROUTE(3, "lspeaker", 1.00) + + MCFG_AT28C16_ADD( "at28c16", NULL ) +MACHINE_CONFIG_END + +static INPUT_PORTS_START( namcos12 ) + PORT_START("DSW") + PORT_DIPNAME( 0x0080, 0x0080, DEF_STR(Service_Mode) ) + PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x0040, 0x0040, "Freeze" ) + PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_BIT( 0xff3f, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("IN0") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 ) + + PORT_START("IN1") + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2) + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_SERVICE_NO_TOGGLE( 0x4000, IP_ACTIVE_LOW ) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE1 ) +INPUT_PORTS_END + +static INPUT_PORTS_START( ptblank2 ) + PORT_INCLUDE( namcos12 ) + + PORT_MODIFY("IN0") + PORT_BIT( 0x6f6f, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x00ee, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("LIGHT0_X") + PORT_BIT( 0xffff, 0x022f, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0xd8,0x387) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_PLAYER(1) + + PORT_START("LIGHT0_Y") + PORT_BIT( 0xffff, 0x00a8, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0x2c,0x11b) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) + + PORT_START("LIGHT1_X") + PORT_BIT( 0xffff, 0x022f, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0xd8,0x387) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_PLAYER(2) + + PORT_START("LIGHT1_Y") + PORT_BIT( 0xffff, 0x00a8, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0x2c,0x11b) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(2) +INPUT_PORTS_END + +static INPUT_PORTS_START( ghlpanic ) + PORT_INCLUDE( namcos12 ) + + PORT_MODIFY("IN0") + PORT_BIT( 0x6f6f, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x00ee, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("LIGHT0_X") + PORT_BIT( 0xffff, 0x0210, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0xc0,0x35f) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_PLAYER(1) + + PORT_START("LIGHT0_Y") + PORT_BIT( 0xffff, 0x0091, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0x1a,0x109) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(1) + + PORT_START("LIGHT1_X") + PORT_BIT( 0xffff, 0x0210, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0xc0,0x35f) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_PLAYER(2) + + PORT_START("LIGHT1_Y") + PORT_BIT( 0xffff, 0x0091, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_MINMAX(0x1a,0x109) PORT_SENSITIVITY(50) PORT_KEYDELTA(15) PORT_PLAYER(2) +INPUT_PORTS_END + +static INPUT_PORTS_START( golgo13 ) + PORT_INCLUDE( namcos12 ) + + PORT_MODIFY("IN0") + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0xff43, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_MODIFY("IN1") + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x10ee, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("LIGHT0_X") + PORT_BIT( 0xffff, 0x019b, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_MINMAX(0x9c,0x29b) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_PLAYER(1) + + PORT_START("LIGHT0_Y") + PORT_BIT( 0xffff, 0x00fe, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, -1.0, 0.0, 0) PORT_MINMAX(0x1f,0x1de) PORT_SENSITIVITY(100) PORT_KEYDELTA(15) PORT_PLAYER(1) PORT_REVERSE +INPUT_PORTS_END + +ROM_START( aquarush ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "aq1vera.2l", 0x0000000, 0x200000, CRC(91eb9258) SHA1(30e225eb551bfe1bed6b342dd6d597345d64b677) ) + ROM_LOAD16_BYTE( "aq1vera.2p", 0x0000001, 0x200000, CRC(a92f21aa) SHA1(bde33f1f66aaa55031c6b2972b042eef87047cce) ) + + ROM_REGION32_LE( 0x1000000, "user2", 0 ) /* main data */ + ROM_LOAD( "aq1rom0.7", 0x000000, 0x800000, CRC(3e64dd33) SHA1(dce3bb84c3069bc202d04f24d7702158dd3194d4) ) + ROM_LOAD( "aq1rom1.8", 0x800000, 0x800000, CRC(e4d415cf) SHA1(bbd244adaf704d7daf7341ff3b0a92162927a59b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "aq1vera.11s", 0x000000, 0x080000, CRC(78277e02) SHA1(577ebb6d7ab5e304fb1dc1e7fd5649762e0d1786) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "aq1wave0.2", 0x000000, 0x800000, CRC(0cf7278d) SHA1(aee31e4d9b3522f42325071768803c542aa6de09) ) +ROM_END + +ROM_START( ehrgeiz ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "eg3vera.2l", 0x0000000, 0x200000, CRC(64c00ff0) SHA1(fc7980bc8d98c810aed2eb6b3265d150784dfc15) ) + ROM_LOAD16_BYTE( "eg3vera.2p", 0x0000001, 0x200000, CRC(e722c030) SHA1(4669a7861c14d97048728989708a0fa3733f83a8) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "eg1rom0l.12", 0x0000000, 0x800000, CRC(fe11a48e) SHA1(bdb2af5949bb4a324dab01489e9488aa5b9bd129) ) + ROM_LOAD16_BYTE( "eg1rom0u.11", 0x0000001, 0x800000, CRC(7cb90c25) SHA1(0ff6f7bf8b7eb2e0706bd235fcb9a95ea639fae6) ) + ROM_LOAD16_BYTE( "eg1fl1l.9", 0x1000000, 0x200000, CRC(dd4cac2b) SHA1(f49d0055303b3d8639e94f93bce6bf160cc99913) ) + ROM_LOAD16_BYTE( "eg1fl1u.10", 0x1000001, 0x200000, CRC(e3348407) SHA1(829bf1be0f74fd385e325d774f1449e28aba1e4d) ) + ROM_LOAD16_BYTE( "eg1fl2l.7", 0x1400000, 0x200000, CRC(34493262) SHA1(9dd5b1b25e7232460bf5ee5b339d9f536ec26979) ) + ROM_LOAD16_BYTE( "eg1fl2u.8", 0x1400001, 0x200000, CRC(4fb84f1d) SHA1(714e0ef56871d7b4568bc6dda08bbb1c01dbba37) ) + ROM_LOAD16_BYTE( "eg1fl3l.5", 0x1800000, 0x200000, CRC(f9441f87) SHA1(70944160620ba2fc80b4fc3a7b61c33622298a8b) ) + ROM_LOAD16_BYTE( "eg1fl3u.6", 0x1800001, 0x200000, CRC(cea397de) SHA1(3791dbadb5699c805c27930e59c61af4d62f77f7) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "eg1vera.11s", 0x0000000, 0x080000, CRC(9e44645e) SHA1(374eb4a4c09d6b5b7af5ff0efec16b4d2aacbe2b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "eg1wave0.2", 0x0000000, 0x800000, CRC(961fe69f) SHA1(0189a061959a8d94b9d2db627911264faf9f28fd) ) +ROM_END + +ROM_START( ehrgeizaa ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "eg2vera.2e", 0x0000000, 0x200000, CRC(9174ec90) SHA1(273bb9c9f0a7eb48470601a0eadf450908ac4d92) ) + ROM_LOAD16_BYTE( "eg2vera.2j", 0x0000001, 0x200000, CRC(a8388248) SHA1(89eeb6095cc8c7ad6cdc8480cff6f688f07f64d7) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "eg1rom0l.12", 0x0000000, 0x800000, CRC(fe11a48e) SHA1(bdb2af5949bb4a324dab01489e9488aa5b9bd129) ) + ROM_LOAD16_BYTE( "eg1rom0u.11", 0x0000001, 0x800000, CRC(7cb90c25) SHA1(0ff6f7bf8b7eb2e0706bd235fcb9a95ea639fae6) ) + ROM_LOAD16_BYTE( "eg1fl1l.9", 0x1000000, 0x200000, CRC(dd4cac2b) SHA1(f49d0055303b3d8639e94f93bce6bf160cc99913) ) + ROM_LOAD16_BYTE( "eg1fl1u.10", 0x1000001, 0x200000, CRC(e3348407) SHA1(829bf1be0f74fd385e325d774f1449e28aba1e4d) ) + ROM_LOAD16_BYTE( "eg1fl2l.7", 0x1400000, 0x200000, CRC(34493262) SHA1(9dd5b1b25e7232460bf5ee5b339d9f536ec26979) ) + ROM_LOAD16_BYTE( "eg1fl2u.8", 0x1400001, 0x200000, CRC(4fb84f1d) SHA1(714e0ef56871d7b4568bc6dda08bbb1c01dbba37) ) + ROM_LOAD16_BYTE( "eg1fl3l.5", 0x1800000, 0x200000, CRC(f9441f87) SHA1(70944160620ba2fc80b4fc3a7b61c33622298a8b) ) + ROM_LOAD16_BYTE( "eg1fl3u.6", 0x1800001, 0x200000, CRC(cea397de) SHA1(3791dbadb5699c805c27930e59c61af4d62f77f7) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "eg1vera.11s", 0x0000000, 0x080000, CRC(9e44645e) SHA1(374eb4a4c09d6b5b7af5ff0efec16b4d2aacbe2b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "eg1wave0.2", 0x0000000, 0x800000, CRC(961fe69f) SHA1(0189a061959a8d94b9d2db627911264faf9f28fd) ) +ROM_END + +ROM_START( ehrgeizja ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "eg1vera.2l", 0x0000000, 0x200000, CRC(302d62cf) SHA1(e2de280ae4475829398a6770aed8eab0ed35b1ce) ) + ROM_LOAD16_BYTE( "eg1vera.2p", 0x0000001, 0x200000, CRC(1d7fb3a1) SHA1(dc038a639f89d7c8daaf987b728fde175fe4dbec) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "eg1rom0l.12", 0x0000000, 0x800000, CRC(fe11a48e) SHA1(bdb2af5949bb4a324dab01489e9488aa5b9bd129) ) + ROM_LOAD16_BYTE( "eg1rom0u.11", 0x0000001, 0x800000, CRC(7cb90c25) SHA1(0ff6f7bf8b7eb2e0706bd235fcb9a95ea639fae6) ) + ROM_LOAD16_BYTE( "eg1fl1l.9", 0x1000000, 0x200000, CRC(dd4cac2b) SHA1(f49d0055303b3d8639e94f93bce6bf160cc99913) ) + ROM_LOAD16_BYTE( "eg1fl1u.10", 0x1000001, 0x200000, CRC(e3348407) SHA1(829bf1be0f74fd385e325d774f1449e28aba1e4d) ) + ROM_LOAD16_BYTE( "eg1fl2l.7", 0x1400000, 0x200000, CRC(34493262) SHA1(9dd5b1b25e7232460bf5ee5b339d9f536ec26979) ) + ROM_LOAD16_BYTE( "eg1fl2u.8", 0x1400001, 0x200000, CRC(4fb84f1d) SHA1(714e0ef56871d7b4568bc6dda08bbb1c01dbba37) ) + ROM_LOAD16_BYTE( "eg1fl3l.5", 0x1800000, 0x200000, CRC(f9441f87) SHA1(70944160620ba2fc80b4fc3a7b61c33622298a8b) ) + ROM_LOAD16_BYTE( "eg1fl3u.6", 0x1800001, 0x200000, CRC(cea397de) SHA1(3791dbadb5699c805c27930e59c61af4d62f77f7) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "eg1vera.11s", 0x0000000, 0x080000, CRC(9e44645e) SHA1(374eb4a4c09d6b5b7af5ff0efec16b4d2aacbe2b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "eg1wave0.2", 0x0000000, 0x800000, CRC(961fe69f) SHA1(0189a061959a8d94b9d2db627911264faf9f28fd) ) +ROM_END + +ROM_START( fgtlayer ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "ftl1vera.2e", 0x0000000, 0x200000, CRC(f4156e79) SHA1(cedb917940be8c74fa4ddb48213ce6917444e306) ) + ROM_LOAD16_BYTE( "ftl1vera.2j", 0x0000001, 0x200000, CRC(c65b57c0) SHA1(0051aa46d09fbe9d896ae5f534e21955373f1d46) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "ftl1rom0.9", 0x0000000, 0x800000, CRC(e33ce365) SHA1(f7e5b98d2e8e5f233265909477c84331f016ebfb) ) + ROM_LOAD( "ftl1rom1.10", 0x0800000, 0x800000, CRC(a1ec7d08) SHA1(e693a0b16235c44d4165b2f53dc25d5288297c27) ) + ROM_LOAD( "ftl1rom2.11", 0x1000000, 0x800000, CRC(204be858) SHA1(95b22b678b7d11b0ec907698c18cebd84437c656) ) + ROM_LOAD16_BYTE( "ftl1fl3l.7", 0x1800000, 0x200000, CRC(e4fb01e1) SHA1(c7883e86afb58412281a317bfdf62a21488421be) ) + ROM_LOAD16_BYTE( "ftl1fl3h.8", 0x1800001, 0x200000, CRC(67a5c56f) SHA1(6f0a4f93b4975b24efb26c3dd47b791c92c55fbf) ) + ROM_LOAD16_BYTE( "ftl1fl4l.5", 0x1c00000, 0x200000, CRC(8039242c) SHA1(9c3f9637d7cd0c004c0c39aee815eed228ebad20) ) + ROM_LOAD16_BYTE( "ftl1fl4h.6", 0x1c00001, 0x200000, CRC(5ad59726) SHA1(b3a68f7ba2052b99407a5423223202001f2a4f67) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "ftl1vera.11s", 0x0000000, 0x080000, CRC(e3f957cd) SHA1(1c7f2033025fb9c40654cff26d78697baf697c59) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "ftl1wave0.2", 0x0000000, 0x800000, CRC(ee009a2b) SHA1(c332bf59917b2673d7acb864bf92d25d74a350b6) ) + ROM_LOAD( "ftl1wave1.1", 0x0800000, 0x800000, CRC(a54a89cd) SHA1(543b47c6442f7a78e26992b041235a91d719bb89) ) +ROM_END + +ROM_START( golgo13 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "glg1vera.2l", 0x0000000, 0x200000, CRC(aa15abfe) SHA1(e82b408746e01c50c5cb0dcef804974d1e97078a) ) + ROM_LOAD16_BYTE( "glg1vera.2p", 0x0000001, 0x200000, CRC(37a4cf90) SHA1(b5470d44036e9de8220b669f71b50bcec42d9a18) ) + + ROM_REGION32_LE( 0x3c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "glg1rom0l.10", 0x0000000, 0x800000, CRC(2837524e) SHA1(81d811c2cf8121854ed6046dc421cda7fcd44014) ) + ROM_LOAD16_BYTE( "glg1rom0u.14", 0x0000001, 0x800000, CRC(4482deff) SHA1(03dcd12633b167d9af664ae826fc2c2ff096c0a6) ) + ROM_LOAD16_BYTE( "glg1rom1l.11", 0x1000000, 0x800000, CRC(080f3550) SHA1(40a5257baeb366e32ff51f571efb12a556f93430) ) + ROM_LOAD16_BYTE( "glg1rom1u.15", 0x1000001, 0x800000, CRC(b49e8613) SHA1(d25ede8046ce309d5a5515a2e44b6773fdd56333) ) + ROM_LOAD16_BYTE( "glg1rom2l.12", 0x2000000, 0x800000, CRC(e1a79a87) SHA1(c3f31b1bc6a3b51361df0d89d3ff0717875fd800) ) + ROM_LOAD16_BYTE( "glg1rom2u.16", 0x2000001, 0x800000, CRC(cda22852) SHA1(e609a55e0ec91b532469c3607dcc96456eec6a07) ) + ROM_LOAD16_BYTE( "glg1fl3l.4", 0x3000000, 0x200000, CRC(16ddc2cb) SHA1(71460bd4ad35b3488dc1326fe2f600df40988e06) ) + ROM_LOAD16_BYTE( "glg1fl3u.5", 0x3000001, 0x200000, CRC(d90d72d1) SHA1(0027389344862486c53cd0e1554b36eed65aa5b0) ) + ROM_LOAD16_BYTE( "glg1fl4l.6", 0x3400000, 0x200000, CRC(820d8133) SHA1(2d780612055a0fa5de756cfa46ce7f134139e550) ) + ROM_LOAD16_BYTE( "glg1fl4u.7", 0x3400001, 0x200000, CRC(02d78160) SHA1(2eafcbd3ba550acf7816074e6c7eee65f7d64859) ) + ROM_LOAD16_BYTE( "glg1fl5l.8", 0x3800000, 0x200000, CRC(090b2508) SHA1(c3587aeab71f6a9dcc90bf2af496303e9d20eac8) ) + ROM_LOAD16_BYTE( "glg1fl5u.9", 0x3800001, 0x200000, CRC(2231a07c) SHA1(480e17219101a0dae5cd64507e31cd7e711c95fa) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "glg1vera.11s", 0x0000000, 0x080000, CRC(5c33f240) SHA1(ec8fc8d83466b28dfa35b93e16d8164883513b19) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "glg1wave0.1", 0x0000000, 0x800000, CRC(672d4f7c) SHA1(16a7564a2c68840a438a33ac2381df4e70e1bb45) ) + ROM_LOAD( "glg1wave1.13", 0x0800000, 0x800000, CRC(480b0a1a) SHA1(341d5ec8ad0f3c0a121eeeec9466aaeec2bd1c74) ) +ROM_END + +ROM_START( g13knd ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "gls1vera.2e", 0x0000000, 0x200000, CRC(904c39a7) SHA1(e62a518657b639d31e390b8d1a36eee8a46ab179) ) + ROM_LOAD16_BYTE( "gls1vera.2j", 0x0000001, 0x200000, CRC(f8f9d6d2) SHA1(ec02192f3874fea289d123fd6d828148c77fbf6d) ) + + ROM_REGION32_LE( 0x3c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "gls1rom0l.ic10", 0x0000000, 0x800000, CRC(91e04e7e) SHA1(70603ec5c17d9074f7176e7214f7507a3e408578) ) + ROM_LOAD16_BYTE( "gls1rom0u.ic14", 0x0000001, 0x800000, CRC(29f67094) SHA1(d17baa723bca5cadb483cd777d0ef25c29367426) ) + ROM_LOAD16_BYTE( "gls1rom1l.ic11", 0x1000000, 0x800000, CRC(fc69578f) SHA1(20bcd687aeb3741893588b492f93531e58405c3e) ) + ROM_LOAD16_BYTE( "gls1rom1u.ic15", 0x1000001, 0x800000, CRC(db46d626) SHA1(a623097fd17e99ee31c22ed62cb88aa9dc25721c) ) + ROM_LOAD16_BYTE( "gls1rom2l.ic12", 0x2000000, 0x800000, CRC(707cec76) SHA1(59257acc0b5a7f86a895873fc679ea184d2c0a50) ) + ROM_LOAD16_BYTE( "gls1rom2u.ic16", 0x2000001, 0x800000, CRC(970abad0) SHA1(fb41c379d28df2115baee967cc9645da869d2e2d) ) + ROM_LOAD16_BYTE( "gls1fl3l.ic4", 0x3000000, 0x200000, CRC(3a0ffd17) SHA1(03c704012040b9b9c24453baa8dbfbb3aec82854) ) + ROM_LOAD16_BYTE( "gls1fl3u.ic5", 0x3000001, 0x200000, CRC(565567ff) SHA1(36a26ed8fbba95dccbde6300363acb45d9c029b3) ) + ROM_LOAD16_BYTE( "gls1fl4l.ic6", 0x3400000, 0x200000, CRC(b4591cc0) SHA1(8da1defb74957bd02324d5b2d3af406dc1f7061b) ) + ROM_LOAD16_BYTE( "gls1fl4u.ic7", 0x3400001, 0x200000, CRC(679d545c) SHA1(b0e04cb123b4a15d935d773856e9cc954e81ba21) ) + ROM_LOAD16_BYTE( "gls1fl5l.ic8", 0x3800000, 0x200000, CRC(a5581533) SHA1(58721d3acc1a740e616b721b400c6912f21d516f) ) + ROM_LOAD16_BYTE( "gls1fl5u.ic9", 0x3800001, 0x200000, CRC(a8b6832a) SHA1(c0e392b7aa51dfcfce602fb0a46ccbc18074385c) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "gls1vera.11s", 0x0000000, 0x080000, CRC(a1e68d02) SHA1(bcacea12531539776d5ad5d34b64f7f4a10a0b97) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "gls1wave0.ic1", 0x0000000, 0x800000, CRC(9de10ef5) SHA1(c391998ed3d882d49d6dbe7079414a2bfd180b49) ) + ROM_LOAD( "gls1wave1.ic13", 0x0800000, 0x800000, CRC(4c92b6bf) SHA1(a463b5825f635efe402a6ea6c1ed8ecdc3d466e0) ) +ROM_END + +ROM_START( ghlpanic ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "ob2vera.2e", 0x0000000, 0x200000, CRC(77162ae0) SHA1(cdc0833756037562b49bb2ae02931b3b24d27329) ) + ROM_LOAD16_BYTE( "ob2vera.2j", 0x0000001, 0x200000, CRC(628f0830) SHA1(a547880674d95b84acc9c05413cba4fd3a81e0cf) ) + + ROM_REGION32_LE( 0x00800000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "ob1rom0l.ic12", 0x0000000, 0x400000, CRC(f8b6a599) SHA1(2af3186242a8cbf14ab7532496a91041300527e9) ) + ROM_LOAD16_BYTE( "ob1rom0u.ic11", 0x0000001, 0x400000, CRC(0625db92) SHA1(b63be6e41b2c6e2194f02f0c31da1f30c4e08232) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "ob2vera.11s", 0x0000000, 0x080000, CRC(f8c459f2) SHA1(681520c891f5c8a0f321652d8834910310c88d1a) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "ob1wave.ic2", 0x000000, 0x800000, CRC(e7bc7202) SHA1(f0f598304866ebe62642eaac6b7d8709baa14fe1) ) +ROM_END + +ROM_START( kaiunqz ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "kw1vera.2l", 0x000000, 0x200000, CRC(fd1d2324) SHA1(eedb4627dfa17e9aac2c99592628f1fa7060edb5) ) + ROM_LOAD16_BYTE( "kw1vera.2p", 0x000001, 0x200000, CRC(d8bdea6b) SHA1(d32118846a1f43eecff7f56dcda03adf04975784) ) + + ROM_REGION32_LE( 0x3000000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "kw1rom0l.12", 0x0000000, 0x800000, CRC(e0768f0b) SHA1(3ffec7c789a95fcff7f06432723f155b99a20c42) ) + ROM_LOAD16_BYTE( "kw1rom0u.11", 0x0000001, 0x800000, CRC(04101a16) SHA1(c2d79333ee382e2fea229bba23918fb5f88a25d4) ) + ROM_LOAD16_BYTE( "kw1rom1l.10", 0x1000000, 0x800000, CRC(6a4edfa6) SHA1(a59fa28446b28db28b38368c794af71e673f69a2) ) + ROM_LOAD16_BYTE( "kw1rom1u.9", 0x1000001, 0x800000, CRC(e6150b0d) SHA1(7dd1ba524246aea007e7bd6d3e7d457033b23a09) ) + ROM_LOAD16_BYTE( "kw1rom2l.7", 0x2000000, 0x800000, CRC(21c376e4) SHA1(4b82494c1e13ebcea3c4e97803c0667be73bf6ae) ) + ROM_LOAD16_BYTE( "kw1rom2u.8", 0x2000001, 0x800000, CRC(d850c222) SHA1(802c1782b323802eae871e2b9ccc5eae34277861) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "kw1vera.11s", 0x000000, 0x080000, CRC(d863fafa) SHA1(3c2bb38c24165e3a1a4d1d257fcfc019b63d5199) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "kw1wave0.2", 0x000000, 0x800000, CRC(060e52ae) SHA1(7ea95cae9d3c648163b225d0c7d365644be90241) ) +ROM_END + +ROM_START( lbgrande ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "lg2vera.2l", 0x0000000, 0x200000, CRC(5ed6b152) SHA1(fdab457862bd6e0a3178c9329bd0978b6aa3ae2f) ) + ROM_LOAD16_BYTE( "lg2vera.2p", 0x0000001, 0x200000, CRC(97c57149) SHA1(bb9bc1ba3ea826eb1c987b11218c0afa0fc54bdc) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "lg1rom0l.6", 0x0000000, 0x400000, CRC(c5df7f27) SHA1(07c596efb2533b9adc579874b7e8ef7fcc7f73c3) ) + ROM_LOAD16_BYTE( "lg1rom0u.9", 0x0000001, 0x400000, CRC(74607817) SHA1(448a9213fa566fdbab5d789df064da7dc946ba2c) ) + ROM_LOAD16_BYTE( "lg1fl3l.12", 0x1800000, 0x200000, CRC(c9947d3e) SHA1(239b1f81ffac6a54b438082664124b6cf51a9b1c) ) + ROM_LOAD16_BYTE( "lg1fl3u.13", 0x1800001, 0x200000, CRC(f3d69f45) SHA1(546f588f144e1a75eee4a6d0a6cef8a3f79f0238) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "lg1vera.11s", 0x0000000, 0x080000, CRC(de717a09) SHA1(78f26ff630c50632916fa17fa870dcde7f13781d) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "lg1wave0.5", 0x0000000, 0x400000, CRC(4647fada) SHA1(99f5e9ded0c83f1a0d3670f6380bc15c1380671e) ) +ROM_END + +ROM_START( lbgrandeja ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "lg1vera.2l", 0x0000000, 0x200000, CRC(ff269bcd) SHA1(f118b69ffe3ee1ad785c115c39d5166f3c546554) ) + ROM_LOAD16_BYTE( "lg1vera.2p", 0x0000001, 0x200000, CRC(46f9205c) SHA1(662b8f910e4ccc1a0e9f3fef0992a92abbebebd0) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "lg1rom0l.6", 0x0000000, 0x400000, CRC(c5df7f27) SHA1(07c596efb2533b9adc579874b7e8ef7fcc7f73c3) ) + ROM_LOAD16_BYTE( "lg1rom0u.9", 0x0000001, 0x400000, CRC(74607817) SHA1(448a9213fa566fdbab5d789df064da7dc946ba2c) ) + ROM_LOAD16_BYTE( "lg1fl3l.12", 0x1800000, 0x200000, CRC(c9947d3e) SHA1(239b1f81ffac6a54b438082664124b6cf51a9b1c) ) + ROM_LOAD16_BYTE( "lg1fl3u.13", 0x1800001, 0x200000, CRC(f3d69f45) SHA1(546f588f144e1a75eee4a6d0a6cef8a3f79f0238) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "lg1vera.11s", 0x0000000, 0x080000, CRC(de717a09) SHA1(78f26ff630c50632916fa17fa870dcde7f13781d) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "lg1wave0.5", 0x0000000, 0x400000, CRC(4647fada) SHA1(99f5e9ded0c83f1a0d3670f6380bc15c1380671e) ) +ROM_END + +ROM_START( mdhorse ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "mdh1vera.2l", 0x0000000, 0x200000, CRC(fbb567b2) SHA1(899dccdfbc8dcbcdaf9b5df93e249a36f8cbf999) ) + ROM_LOAD16_BYTE( "mdh1vera.2p", 0x0000001, 0x200000, CRC(a0f182ab) SHA1(70c789ea88248c1f810f9fdb3feaf808acbaa8cd) ) + + ROM_REGION32_LE( 0x3000000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "mdh1rom0l", 0x0000000, 0x800000, CRC(ca5bf806) SHA1(8c88b1f29c96a0696ac9428c411cde10faacce35) ) + ROM_LOAD16_BYTE( "mdh1rom0u", 0x0000001, 0x800000, CRC(315e9539) SHA1(340fcd196f53f64b3f56ef73101eddc9e142d907) ) + ROM_LOAD16_BYTE( "mdh1rom1l", 0x1000000, 0x800000, CRC(9f610211) SHA1(8459733c52d1c62033a4aeb9985b4a6e863a62d0) ) + ROM_LOAD16_BYTE( "mdh1rom1u", 0x1000001, 0x800000, CRC(a2e43560) SHA1(b0657a22701c6f2098f210d59e4c9bc88593a750) ) + ROM_LOAD16_BYTE( "mdh1rom2l", 0x2000000, 0x800000, CRC(84840fa9) SHA1(0f051db55b30f7dd473f4df9bb5e7d38c39dc785) ) + ROM_LOAD16_BYTE( "mdh1rom2u", 0x2000001, 0x800000, CRC(9490dafe) SHA1(c1bd9343535876eac5369a86105013b4a7d731b3) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "mdh1vera.11s", 0x0000000, 0x080000, CRC(20d7ba29) SHA1(95a056d1f1ac70dda8ced832b506076485348a33) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "mdh1wave0", 0x0000000, 0x800000, CRC(7b031123) SHA1(7cbc1f71d259405f9f1ef26026d51abcb255b057) ) +ROM_END + +ROM_START( mrdrillr ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "dri1vera.2l", 0x0000000, 0x200000, CRC(751ca21d) SHA1(1c271bba83d387c797ce8daa43885bcb6e1a51a6) ) + ROM_LOAD16_BYTE( "dri1vera.2p", 0x0000001, 0x200000, CRC(2a2b0704) SHA1(5a8b40c6cf0adc43ca2ee0c576ec82f314aacd2c) ) + + ROM_REGION32_LE( 0x0800000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "dri1rom0l.6", 0x0000000, 0x400000, CRC(021bb2fa) SHA1(bfe3e46e9728d5b5a692f432515267ff8b8255e7) ) + ROM_LOAD16_BYTE( "dri1rom0u.9", 0x0000001, 0x400000, CRC(5aae85ea) SHA1(a54dcc050c12ed3d77efc328e366e99c392eb139) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "dri1vera.11s", 0x0000000, 0x080000, CRC(33ea9c0e) SHA1(5018d7a1a45ec3133cd928435db8804f66321924) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "dri1wave0.5", 0x0000000, 0x800000, CRC(32928df1) SHA1(79af92a2d24a0e3d5bfe1785776b0f86a93882ce) ) +ROM_END + +ROM_START( pacapp ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "ppp1vera.2l", 0x0000000, 0x200000, CRC(6e74bd05) SHA1(41a2e06538cea3bced2992f5858a3f0cd1c0b4aa) ) + ROM_LOAD16_BYTE( "ppp1vera.2p", 0x0000001, 0x200000, CRC(b7a2f724) SHA1(820ae04ec416b8394a1d919279748bde3460cb96) ) + + ROM_REGION32_LE( 0x1800000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "ppp1rom0l.6", 0x0000000, 0x400000, CRC(b152fdd8) SHA1(23c5c07680a62e941a7b1a28897f986dd9399801) ) + ROM_LOAD16_BYTE( "ppp1rom0u.9", 0x0000001, 0x400000, CRC(c615c26e) SHA1(db1aae37ebee2a74636415e4b1b0b17790a6a67e) ) + ROM_LOAD16_BYTE( "ppp1rom1l.7", 0x0800000, 0x400000, CRC(46eaedbd) SHA1(afe3c966fcf083d89b45d44d871bed1b8caa3014) ) + ROM_LOAD16_BYTE( "ppp1rom1u.10", 0x0800001, 0x400000, CRC(32f27dce) SHA1(06de870b83c972403d96b8b9a8ee5a192a99451d) ) + ROM_LOAD16_BYTE( "ppp1rom2l.8", 0x1000000, 0x400000, CRC(dca7e5ed) SHA1(b43b6e086912009295ceae11d2d540733353d7b6) ) + ROM_LOAD16_BYTE( "ppp1rom2u.11", 0x1000001, 0x400000, CRC(cada7a0d) SHA1(e8d927a4680911b77de1d906b5e0140697e9c67b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "ppp1vera.11s", 0x0000000, 0x080000, CRC(22242317) SHA1(e46bf3c594136168faedebbd59f53ff9a6ecf3c1) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "ppp1wave0.5", 0x0000000, 0x800000, CRC(184ccc7d) SHA1(b74638cebef209638c625aac7e8c5b924f56a8bb) ) + ROM_LOAD( "ppp1wave1.4", 0x0800000, 0x800000, CRC(cbcf74c5) SHA1(a089277c9befc87b5bbe0d4e5b8187a4ad5ef143) ) +ROM_END + +ROM_START( pacappsp ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "psp1vera.2l", 0x0000000, 0x200000, CRC(4b6943af) SHA1(63b21794719bc1fc075e9cc4f1c1783442860036) ) + ROM_LOAD16_BYTE( "psp1vera.2p", 0x0000001, 0x200000, CRC(91397f04) SHA1(db3dd59edcdec10eb2fee74450c024a7ecffe1c9) ) + + ROM_REGION32_LE( 0x1800000, "user2", 0 ) /* main data */ + ROM_LOAD( "psp1rom0.ic7", 0x0000000, 0x800000, CRC(7c26ff47) SHA1(f9d366ae9eb11e14875b611112bc82f7c7d391e0) ) + ROM_LOAD( "psp1rom1.ic8", 0x0800000, 0x800000, CRC(4b764fc3) SHA1(92a7f0f1537f2f4d5a8b0218720978b576f78dad) ) + ROM_LOAD( "psp1rom2.ic9", 0x1000000, 0x800000, CRC(a3fa6730) SHA1(0126a77661c3add0bfec9f6ef15021e602b7a614) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "psp1vera.11s", 0x0000000, 0x080000, CRC(47b9ccab) SHA1(15d4c5ac9ae7202df2d0ef84092679d190f2c45a) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "psp1wave0.ic2", 0x0000000, 0x800000, CRC(44b9a327) SHA1(ab20d5371f7a8c3a7fbc21fcf54a93c1cd007cd2) ) + ROM_LOAD( "psp1wave1.ic1", 0x0800000, 0x800000, CRC(c045b09c) SHA1(1cfd7003771576f6574d91d862af1f76ceaed64f) ) +ROM_END + +ROM_START( pacapp2 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "pks1vera.2l", 0x0000000, 0x200000, CRC(aec428d3) SHA1(c13aecc6a367d6da501dce66fecbab5458ecac53) ) + ROM_LOAD16_BYTE( "pks1vera.2p", 0x0000001, 0x200000, CRC(289e6e8a) SHA1(b8197355bee5660e8ff78a1c427c6d2b94a12b9d) ) + + ROM_REGION32_LE( 0x1800000, "user2", 0 ) /* main data */ + ROM_LOAD( "pks1rom0.ic7", 0x0000000, 0x800000, CRC(91f151fc) SHA1(84b4c9b2a9ae5687e1cba5f0a0db96495956cbfe) ) + ROM_LOAD( "pks1rom1.ic8", 0x0800000, 0x800000, CRC(8195f981) SHA1(1b9c2289e0975606ff52b9974778f82c9c29e955) ) + ROM_LOAD( "pks1rom2.ic9", 0x1000000, 0x800000, CRC(fea93ddc) SHA1(5f9c3f899a11797746d9c1077960f918aaca95f4) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "pks1vera.11s", 0x0000000, 0x080000, CRC(4942b588) SHA1(b28eb64a7347259619e32fdd396770983e25a707) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "pks1wave0.ic2", 0x0000000, 0x800000, CRC(3ebd27c3) SHA1(af874c3fb4cf1651075f307daefe7e3434769ecb) ) + ROM_LOAD( "pks1wave1.ic1", 0x0800000, 0x800000, CRC(07e426b7) SHA1(6dd038d4f2c95470f1ca09cfead83802e9480d02) ) +ROM_END + +ROM_START( ptblank2 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "gnb5vera.2l", 0x0000000, 0x200000, CRC(4d0ef3b7) SHA1(6c4077316fa90b734c4a4e0aa3eadd26e97bd6ce) ) + ROM_LOAD16_BYTE( "gnb5vera.2p", 0x0000001, 0x200000, CRC(5d1d19ff) SHA1(4aa8ba7233d7f9bac759c98f53e637c1f3659c3f) ) + + ROM_REGION32_LE( 0x1000000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "gnb1prg0l.ic12", 0x000000, 0x800000, CRC(78746037) SHA1(d130ca1153a730e3c967945248f00662f9fab304) ) + ROM_LOAD16_BYTE( "gnb1prg0u.ic11", 0x000001, 0x800000, CRC(697d3279) SHA1(40302780f7494d9413888b2d1da38bd14a9a444f) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "gnb_vera.11s", 0x000000, 0x080000, CRC(d45a53eb) SHA1(01eb4f659b29671d417c5d3684f15a5876f76009) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "gnb1waveb.ic2", 0x0000000, 0x400000, CRC(4e19d9d6) SHA1(0a92c987536999a789663a30c787950ab6995128) ) + ROM_RELOAD( 0x800000, 0x400000 ) +ROM_END + +ROM_START( gunbarl ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "gnb4vera.2l", 0x0000000, 0x200000, CRC(88c05cde) SHA1(80d210b06c8eda19e37430fb34492885d9eec671) ) + ROM_LOAD16_BYTE( "gnb4vera.2p", 0x0000001, 0x200000, CRC(7d57437a) SHA1(b4fc960b11e7dc9d3bde567f534635f264276e53) ) + + ROM_REGION32_LE( 0x1000000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "gnb1prg0l.ic12", 0x000000, 0x800000, CRC(78746037) SHA1(d130ca1153a730e3c967945248f00662f9fab304) ) + ROM_LOAD16_BYTE( "gnb1prg0u.ic11", 0x000001, 0x800000, CRC(697d3279) SHA1(40302780f7494d9413888b2d1da38bd14a9a444f) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "gnb_vera.11s", 0x000000, 0x080000, CRC(d45a53eb) SHA1(01eb4f659b29671d417c5d3684f15a5876f76009) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "gnb1waveb.ic2", 0x0000000, 0x400000, CRC(4e19d9d6) SHA1(0a92c987536999a789663a30c787950ab6995128) ) + ROM_RELOAD( 0x800000, 0x400000 ) +ROM_END + +ROM_START( soulclbr ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "soc14verc.2e", 0x0000000, 0x200000, CRC(c40e9614) SHA1(dc20469f0d657423e472fdf5897852ab9fb8bb73) ) + ROM_LOAD16_BYTE( "soc14verc.2j", 0x0000001, 0x200000, CRC(80c41446) SHA1(e5620a4f0ffba913169a779df73384b7ca8780b9) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "soc1rom0.7", 0x0000000, 0x800000, CRC(cdc47b55) SHA1(315ea6b819de5c4883aa400f1b9f4172637757bf) ) + ROM_LOAD( "soc1rom1.8", 0x0800000, 0x800000, CRC(30d2dd5a) SHA1(1c0c467ba339e0241efb8d5c3b025a046b2ca676) ) + ROM_LOAD( "soc1rom2.9", 0x1000000, 0x800000, CRC(dbb93955) SHA1(624cd8ad94e8ae53206f798bff81784afe95e5f1) ) + ROM_LOAD( "soc1fl3.6", 0x1800000, 0x400000, CRC(24d94c38) SHA1(0f9b9ab11dd4e02086d7b9104ce2f5d4e93cd696) ) + ROM_LOAD( "soc1fl4.5", 0x1c00000, 0x400000, CRC(6212090e) SHA1(ed5e50771180935a0c2e760e7369673098722201) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) ) +ROM_END + +ROM_START( soulclbrwb ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "soc14verb.2l", 0x000000, 0x200000, CRC(6af5c5f6) SHA1(51d1e7d78d95cfc765cd219ed07b405cd920044b) ) + ROM_LOAD16_BYTE( "soc14verb.2p", 0x000001, 0x200000, CRC(23e7a4c4) SHA1(a97f36cafdeff9e26fbd24e54ab8ac8080763761) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "soc1rom0.7", 0x0000000, 0x800000, CRC(cdc47b55) SHA1(315ea6b819de5c4883aa400f1b9f4172637757bf) ) + ROM_LOAD( "soc1rom1.8", 0x0800000, 0x800000, CRC(30d2dd5a) SHA1(1c0c467ba339e0241efb8d5c3b025a046b2ca676) ) + ROM_LOAD( "soc1rom2.9", 0x1000000, 0x800000, CRC(dbb93955) SHA1(624cd8ad94e8ae53206f798bff81784afe95e5f1) ) + ROM_LOAD( "soc1fl3.6", 0x1800000, 0x400000, CRC(24d94c38) SHA1(0f9b9ab11dd4e02086d7b9104ce2f5d4e93cd696) ) + ROM_LOAD( "soc1fl4.5", 0x1c00000, 0x400000, CRC(6212090e) SHA1(ed5e50771180935a0c2e760e7369673098722201) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) ) +ROM_END + +ROM_START( soulclbruc ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "soc13verc.2l", 0x0000000, 0x200000, CRC(4ba962fb) SHA1(e2b5e543d92a4157788482f3ab7c6b0e5ff30367) ) + ROM_LOAD16_BYTE( "soc13verc.2p", 0x0000001, 0x200000, CRC(140c40de) SHA1(352faec0fff5a8422ee7c8db2e0c946b139be03f) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "soc1rom0.7", 0x0000000, 0x800000, CRC(cdc47b55) SHA1(315ea6b819de5c4883aa400f1b9f4172637757bf) ) + ROM_LOAD( "soc1rom1.8", 0x0800000, 0x800000, CRC(30d2dd5a) SHA1(1c0c467ba339e0241efb8d5c3b025a046b2ca676) ) + ROM_LOAD( "soc1rom2.9", 0x1000000, 0x800000, CRC(dbb93955) SHA1(624cd8ad94e8ae53206f798bff81784afe95e5f1) ) + ROM_LOAD( "soc1fl3.6", 0x1800000, 0x400000, CRC(24d94c38) SHA1(0f9b9ab11dd4e02086d7b9104ce2f5d4e93cd696) ) + ROM_LOAD( "soc1fl4.5", 0x1c00000, 0x400000, CRC(6212090e) SHA1(ed5e50771180935a0c2e760e7369673098722201) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) ) +ROM_END + +ROM_START( soulclbrjc ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "soc11verc.2l", 0x0000000, 0x200000, CRC(f5e3679c) SHA1(b426cfc7707a6772e6aabbaf4a19b7f008324d55) ) + ROM_LOAD16_BYTE( "soc11verc.2p", 0x0000001, 0x200000, CRC(7537719c) SHA1(d83d4c762fa7fcfd5d84de550568e92999e5bdfb) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "soc1rom0.7", 0x0000000, 0x800000, CRC(cdc47b55) SHA1(315ea6b819de5c4883aa400f1b9f4172637757bf) ) + ROM_LOAD( "soc1rom1.8", 0x0800000, 0x800000, CRC(30d2dd5a) SHA1(1c0c467ba339e0241efb8d5c3b025a046b2ca676) ) + ROM_LOAD( "soc1rom2.9", 0x1000000, 0x800000, CRC(dbb93955) SHA1(624cd8ad94e8ae53206f798bff81784afe95e5f1) ) + ROM_LOAD( "soc1fl3.6", 0x1800000, 0x400000, CRC(24d94c38) SHA1(0f9b9ab11dd4e02086d7b9104ce2f5d4e93cd696) ) + ROM_LOAD( "soc1fl4.5", 0x1c00000, 0x400000, CRC(6212090e) SHA1(ed5e50771180935a0c2e760e7369673098722201) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) ) +ROM_END + +ROM_START( soulclbrub ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "soc13verb.2e", 0x0000000, 0x200000, CRC(ad7cfb1e) SHA1(7d1e7fd0024e31780335690906846e91ba063003) ) + ROM_LOAD16_BYTE( "soc13verb.2j", 0x0000001, 0x200000, CRC(7449c045) SHA1(1c7a8b659d0f12dded2a00bc83baeb392fd7a719) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "soc1rom0.7", 0x0000000, 0x800000, CRC(cdc47b55) SHA1(315ea6b819de5c4883aa400f1b9f4172637757bf) ) + ROM_LOAD( "soc1rom1.8", 0x0800000, 0x800000, CRC(30d2dd5a) SHA1(1c0c467ba339e0241efb8d5c3b025a046b2ca676) ) + ROM_LOAD( "soc1rom2.9", 0x1000000, 0x800000, CRC(dbb93955) SHA1(624cd8ad94e8ae53206f798bff81784afe95e5f1) ) + ROM_LOAD( "soc1fl3.6", 0x1800000, 0x400000, CRC(24d94c38) SHA1(0f9b9ab11dd4e02086d7b9104ce2f5d4e93cd696) ) + ROM_LOAD( "soc1fl4.5", 0x1c00000, 0x400000, CRC(6212090e) SHA1(ed5e50771180935a0c2e760e7369673098722201) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) ) +ROM_END + +ROM_START( soulclbrjb ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "soc11verb.2e", 0x0000000, 0x200000, CRC(9660d996) SHA1(6361abfd8b0d29848aabad6a5c517ba0d336359a) ) + ROM_LOAD16_BYTE( "soc11verb.2j", 0x0000001, 0x200000, CRC(49939880) SHA1(a53fb8ecd71c8d59b0e08d6233ea658ae083bc6d) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "soc1rom0.7", 0x0000000, 0x800000, CRC(cdc47b55) SHA1(315ea6b819de5c4883aa400f1b9f4172637757bf) ) + ROM_LOAD( "soc1rom1.8", 0x0800000, 0x800000, CRC(30d2dd5a) SHA1(1c0c467ba339e0241efb8d5c3b025a046b2ca676) ) + ROM_LOAD( "soc1rom2.9", 0x1000000, 0x800000, CRC(dbb93955) SHA1(624cd8ad94e8ae53206f798bff81784afe95e5f1) ) + ROM_LOAD( "soc1fl3.6", 0x1800000, 0x400000, CRC(24d94c38) SHA1(0f9b9ab11dd4e02086d7b9104ce2f5d4e93cd696) ) + ROM_LOAD( "soc1fl4.5", 0x1c00000, 0x400000, CRC(6212090e) SHA1(ed5e50771180935a0c2e760e7369673098722201) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) ) +ROM_END + +ROM_START( soulclbrja ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "soc1vera.2l", 0x0000000, 0x200000, CRC(37e0a203) SHA1(3915b5e530c8e70a07aa8ccedeb66633ae5f670e) ) + ROM_LOAD16_BYTE( "soc1vera.2p", 0x0000001, 0x200000, CRC(7cd87a35) SHA1(5a4837b6f6a49c88126a0ddbb8059a4da77127bc) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "soc1rom0.7", 0x0000000, 0x800000, CRC(cdc47b55) SHA1(315ea6b819de5c4883aa400f1b9f4172637757bf) ) + ROM_LOAD( "soc1rom1.8", 0x0800000, 0x800000, CRC(30d2dd5a) SHA1(1c0c467ba339e0241efb8d5c3b025a046b2ca676) ) + ROM_LOAD( "soc1rom2.9", 0x1000000, 0x800000, CRC(dbb93955) SHA1(624cd8ad94e8ae53206f798bff81784afe95e5f1) ) + ROM_LOAD( "soc1fl3.6", 0x1800000, 0x400000, CRC(24d94c38) SHA1(0f9b9ab11dd4e02086d7b9104ce2f5d4e93cd696) ) + ROM_LOAD( "soc1fl4.5", 0x1c00000, 0x400000, CRC(6212090e) SHA1(ed5e50771180935a0c2e760e7369673098722201) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "soc1vera.11s", 0x0000000, 0x080000, CRC(52aa206a) SHA1(5abe9d6f800fa1b9623aa08b16e9b959b840e50b) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) ) +ROM_END + +ROM_START( sws98 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "ss81vera.2l", 0x0000000, 0x200000, CRC(94b1f34c) SHA1(0c8491fda366b5b2874e5f49959dccd11d372e46) ) + ROM_LOAD16_BYTE( "ss81vera.2p", 0x0000001, 0x200000, CRC(7d0ed33d) SHA1(34342ce57b29ee15c6279c099bb145ac7ad262f3) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "ss81fl1l.9", 0x1000000, 0x200000, CRC(b0b5dc77) SHA1(abce4e6ae60858b7c7408d10975b7a1e0d183115) ) + ROM_LOAD16_BYTE( "ss81fl1u.10", 0x1000001, 0x200000, CRC(e526dba5) SHA1(889fdfba17282eb05a3e254af81ee15c3e16acc4) ) + ROM_LOAD16_BYTE( "ss81fl2l.7", 0x1400000, 0x200000, CRC(2dc6f6b5) SHA1(e6c7bb804d7d027acca5adb15b0bb95321905ff3) ) + ROM_LOAD16_BYTE( "ss81fl2u.8", 0x1400001, 0x200000, CRC(c8341c9f) SHA1(b7c5a960a238e963c7ec5bdb0751a8730d3b09f7) ) + ROM_LOAD16_BYTE( "ss81fl3l.5", 0x1800000, 0x200000, CRC(ce5d2a96) SHA1(08f3955e1ce949ce436f6f2f19fd42204682ae8c) ) + ROM_LOAD16_BYTE( "ss81fl3u.6", 0x1800001, 0x200000, CRC(02df4df8) SHA1(01fd66c905cde9ca073dc4b6dbd826c5fe96b79b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "ss81vera.11s", 0x0000000, 0x080000, CRC(c6bc5c31) SHA1(c6ef46c3fa8a7749618126d360e614ea6c8d9c54) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "ss81wave0.2", 0x0000000, 0x800000, CRC(1c5e2ff1) SHA1(4f29dfd49f6b5c3ca3b758823d368051354bd673) ) + ROM_LOAD( "ss81wave1.1", 0x0800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) ) +ROM_END + +ROM_START( sws99 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "ss91vera.2e", 0x0000000, 0x200000, CRC(4dd928d7) SHA1(d76c0f52d1a2cd101a6879e6ff57ed1c52b5e228) ) + ROM_LOAD16_BYTE( "ss91vera.2j", 0x0000001, 0x200000, CRC(40777a48) SHA1(6e3052ddbe3943eb2418cd50102cead88b850240) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "ss91rom0.9", 0x0000000, 0x800000, CRC(db5bc50d) SHA1(b8b59f6db3a374277871c39b3657cb193525e558) ) + ROM_LOAD( "ss91rom1.10", 0x0800000, 0x800000, CRC(4d71f29f) SHA1(3ccc8410d383bfd9fde44574ebb9c24a235cc734) ) + ROM_FILL( 0x1000000, 0x800000, 0 ) + ROM_LOAD16_BYTE( "ss91fl3l.7", 0x1800000, 0x200000, CRC(61efd65b) SHA1(1e97d5cd51bf778995c3e568ac7e1d3514264d48) ) + ROM_LOAD16_BYTE( "ss91fl3h.8", 0x1800001, 0x200000, CRC(7f3c8c54) SHA1(b473a503cc5d532922780139ab3cab974d3df65b) ) + ROM_LOAD16_BYTE( "ss91fl4l.5", 0x1c00000, 0x200000, CRC(a6af9511) SHA1(63f14f4fc2b210348e41cdfa552a7a7c86fb1b99) ) + ROM_LOAD16_BYTE( "ss91fl4h.6", 0x1c00001, 0x200000, CRC(be3730a4) SHA1(48802229d31c1eef7f4173eb05060a328b702336) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "ss91vera.11s", 0x0000000, 0x080000, CRC(c6bc5c31) SHA1(c6ef46c3fa8a7749618126d360e614ea6c8d9c54) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "ss91wave0.2", 0x0000000, 0x800000, CRC(1c5e2ff1) SHA1(4f29dfd49f6b5c3ca3b758823d368051354bd673) ) + ROM_LOAD( "ss91wave1.1", 0x0800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) ) +ROM_END + +ROM_START( sws2000 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "ss01vera.2l", 0x000000, 0x200000, CRC(6ddbdcaa) SHA1(cff31d75e7780851b2c2c025ee34fd8990e2f502) ) + ROM_LOAD16_BYTE( "ss01vera.2p", 0x000001, 0x200000, CRC(6ade7d28) SHA1(3e8d7bc9a284324c4de0ac265872b613d108cb57) ) + + ROM_REGION32_LE( 0x2000000, "user2", 0 ) /* main data */ + ROM_LOAD( "ss01rom0.9", 0x0000000, 0x800000, CRC(c08cc59c) SHA1(f2d8064491c98acbb40260d7f13d0f9b394c1383) ) + ROM_LOAD( "ss01rom1.10", 0x0800000, 0x800000, CRC(d4aa1dc6) SHA1(68fcb60aadf35668d7d746da1e29d5d985e40aec) ) + ROM_LOAD( "ss01rom2.11", 0x1000000, 0x800000, CRC(3371904a) SHA1(58bbf98a44560bc021bac4bc513fe89deea85b50) ) + ROM_LOAD16_BYTE( "ss01fl3l.7", 0x1800000, 0x200000, CRC(35bad813) SHA1(19ceffb78695c8c22b30659aad56ac237ffb56ac) ) + ROM_LOAD16_BYTE( "ss01fl3h.8", 0x1800001, 0x200000, CRC(a14828fc) SHA1(fd8a052451f74f420f4a4a2b902e0c2e83e3239b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "ss01vera.11s", 0x000000, 0x080000, CRC(641e6584) SHA1(dfc0ac21bea5b19dbce5d50fb681854889d756dc) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "ss01wave0.2", 0x000000, 0x800000, CRC(1c5e2ff1) SHA1(4f29dfd49f6b5c3ca3b758823d368051354bd673) ) + ROM_LOAD( "ss01wave1.1", 0x800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) ) +ROM_END + +ROM_START( sws2001 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "ss11vera.2l", 0x000000, 0x200000, CRC(a7b4dbe5) SHA1(1bcb8d127388e2ead9ca04b527779896c69daf7f) ) + ROM_LOAD16_BYTE( "ss11vera.2p", 0x000001, 0x200000, CRC(3ef76b4e) SHA1(34c21b6002d3f88aa3f4b4606c8aace24be92920) ) + + ROM_REGION32_LE( 0x2800000, "user2", 0 ) /* main data */ + ROM_LOAD( "ss01rom0.9", 0x0000000, 0x800000, CRC(c08cc59c) SHA1(f2d8064491c98acbb40260d7f13d0f9b394c1383) ) + ROM_LOAD( "ss01rom1.10", 0x0800000, 0x800000, CRC(d4aa1dc6) SHA1(68fcb60aadf35668d7d746da1e29d5d985e40aec) ) + ROM_LOAD( "ss01rom2.11", 0x1000000, 0x800000, CRC(3371904a) SHA1(58bbf98a44560bc021bac4bc513fe89deea85b50) ) + ROM_LOAD16_BYTE( "ss11fl1l.5", 0x1800000, 0x800000, CRC(0546a2b4) SHA1(b61457c9c5136f94ace48e83de8043ce20ca4d99) ) + ROM_LOAD16_BYTE( "ss11fl1u.6", 0x1800001, 0x800000, CRC(b3de0b2c) SHA1(a89d3a2eb0952a98cc4765af2897b94136ca58ad) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "ss01vera.11s", 0x000000, 0x080000, CRC(641e6584) SHA1(dfc0ac21bea5b19dbce5d50fb681854889d756dc) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "ss01wave0.2", 0x000000, 0x800000, CRC(1c5e2ff1) SHA1(4f29dfd49f6b5c3ca3b758823d368051354bd673) ) + ROM_LOAD( "ss01wave1.1", 0x800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) ) +ROM_END + +ROM_START( tekken3 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tet1vere.2e", 0x0000000, 0x200000, CRC(8b01113b) SHA1(45fdfd58293641ed16bc59c633a85a9cf64ccbaf) ) + ROM_LOAD16_BYTE( "tet1vere.2j", 0x0000001, 0x200000, CRC(df4c96fb) SHA1(2e223045bf5b80ccf615106e869760c5b7aa8d44) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tet1rom0l.6", 0x0000000, 0x400000, CRC(2886bb32) SHA1(08ad9da2df25ad8c933a812ac238c81135072929) ) + ROM_LOAD16_BYTE( "tet1rom0u.9", 0x0000001, 0x400000, CRC(c5705b92) SHA1(20df20c8d18eb4712d565a3df9a8d9270dee6aaa) ) + ROM_LOAD16_BYTE( "tet1rom1l.7", 0x0800000, 0x400000, CRC(0397d283) SHA1(ebafcd14cdb2601214129a84fc6830846f5cd274) ) + ROM_LOAD16_BYTE( "tet1rom1u.10", 0x0800001, 0x400000, CRC(502ba5cd) SHA1(19c1282245c6dbfc945c0bd0f3918968c3e5c3ed) ) + ROM_LOAD16_BYTE( "tet1rom2l.8", 0x1000000, 0x400000, CRC(e03b1c24) SHA1(8579b95a8fd06b7d2893ff88b228fd794162dff1) ) + ROM_LOAD16_BYTE( "tet1rom2u.11", 0x1000001, 0x400000, CRC(75eb2ab3) SHA1(dee43884e542391903f6aaae2c166e7921a86fb4) ) + ROM_LOAD16_BYTE( "tet1fl3l.12", 0x1800000, 0x200000, CRC(45513073) SHA1(8a36f58ee2d292b50e00c6bf275f9def358032d8) ) + ROM_LOAD16_BYTE( "tet1fl3u.13", 0x1800001, 0x200000, CRC(1917d993) SHA1(cabc44514a3e62a18a7f8f883603241447d6948b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */ + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) ) + ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) ) +ROM_END + +ROM_START( tekken3ae ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tet2vere.2e", 0x0000000, 0x200000, CRC(7ded5461) SHA1(3a5638c6ad40bfde6e12fdfd6d469f6ea5e9f4fb) ) + ROM_LOAD16_BYTE( "tet2vere.2j", 0x0000001, 0x200000, CRC(25c96e1e) SHA1(554d1e42886d6a6c9c5857e9cbd5d7c37d7a6e67) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tet1rom0l.6", 0x0000000, 0x400000, CRC(2886bb32) SHA1(08ad9da2df25ad8c933a812ac238c81135072929) ) + ROM_LOAD16_BYTE( "tet1rom0u.9", 0x0000001, 0x400000, CRC(c5705b92) SHA1(20df20c8d18eb4712d565a3df9a8d9270dee6aaa) ) + ROM_LOAD16_BYTE( "tet1rom1l.7", 0x0800000, 0x400000, CRC(0397d283) SHA1(ebafcd14cdb2601214129a84fc6830846f5cd274) ) + ROM_LOAD16_BYTE( "tet1rom1u.10", 0x0800001, 0x400000, CRC(502ba5cd) SHA1(19c1282245c6dbfc945c0bd0f3918968c3e5c3ed) ) + ROM_LOAD16_BYTE( "tet1rom2l.8", 0x1000000, 0x400000, CRC(e03b1c24) SHA1(8579b95a8fd06b7d2893ff88b228fd794162dff1) ) + ROM_LOAD16_BYTE( "tet1rom2u.11", 0x1000001, 0x400000, CRC(75eb2ab3) SHA1(dee43884e542391903f6aaae2c166e7921a86fb4) ) + ROM_LOAD16_BYTE( "tet1fl3l.12", 0x1800000, 0x200000, CRC(45513073) SHA1(8a36f58ee2d292b50e00c6bf275f9def358032d8) ) + ROM_LOAD16_BYTE( "tet1fl3u.13", 0x1800001, 0x200000, CRC(1917d993) SHA1(cabc44514a3e62a18a7f8f883603241447d6948b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */ + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) ) + ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) ) +ROM_END + +ROM_START( tekken3ud ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tet3verd.2e", 0x0000000, 0x200000, CRC(9056a8d1) SHA1(08269de80361672f1a193e5cdcd0d4571b746a85) ) + ROM_LOAD16_BYTE( "tet3verd.2j", 0x0000001, 0x200000, CRC(60ae06f4) SHA1(898355cc6bae4745b6b9913e34d50fe2a00f1c2c) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tet1rom0l.6", 0x0000000, 0x400000, CRC(2886bb32) SHA1(08ad9da2df25ad8c933a812ac238c81135072929) ) + ROM_LOAD16_BYTE( "tet1rom0u.9", 0x0000001, 0x400000, CRC(c5705b92) SHA1(20df20c8d18eb4712d565a3df9a8d9270dee6aaa) ) + ROM_LOAD16_BYTE( "tet1rom1l.7", 0x0800000, 0x400000, CRC(0397d283) SHA1(ebafcd14cdb2601214129a84fc6830846f5cd274) ) + ROM_LOAD16_BYTE( "tet1rom1u.10", 0x0800001, 0x400000, CRC(502ba5cd) SHA1(19c1282245c6dbfc945c0bd0f3918968c3e5c3ed) ) + ROM_LOAD16_BYTE( "tet1rom2l.8", 0x1000000, 0x400000, CRC(e03b1c24) SHA1(8579b95a8fd06b7d2893ff88b228fd794162dff1) ) + ROM_LOAD16_BYTE( "tet1rom2u.11", 0x1000001, 0x400000, CRC(75eb2ab3) SHA1(dee43884e542391903f6aaae2c166e7921a86fb4) ) + ROM_LOAD16_BYTE( "tet1fl3l.12", 0x1800000, 0x200000, CRC(45513073) SHA1(8a36f58ee2d292b50e00c6bf275f9def358032d8) ) + ROM_LOAD16_BYTE( "tet1fl3u.13", 0x1800001, 0x200000, CRC(1917d993) SHA1(cabc44514a3e62a18a7f8f883603241447d6948b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */ + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) ) + ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) ) +ROM_END + +ROM_START( tekken3ab ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tet2verb.2e", 0x0000000, 0x200000, CRC(a6cbc434) SHA1(859d84e6e9a52c2cdd54a2a0bb8104169eb19c07) ) + ROM_LOAD16_BYTE( "tet2verb.2j", 0x0000001, 0x200000, CRC(c8f95ec5) SHA1(7f34c42e1fbc35118e8476cdb78fbdb9564001de) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tet1rom0l.6", 0x0000000, 0x400000, CRC(2886bb32) SHA1(08ad9da2df25ad8c933a812ac238c81135072929) ) + ROM_LOAD16_BYTE( "tet1rom0u.9", 0x0000001, 0x400000, CRC(c5705b92) SHA1(20df20c8d18eb4712d565a3df9a8d9270dee6aaa) ) + ROM_LOAD16_BYTE( "tet1rom1l.7", 0x0800000, 0x400000, CRC(0397d283) SHA1(ebafcd14cdb2601214129a84fc6830846f5cd274) ) + ROM_LOAD16_BYTE( "tet1rom1u.10", 0x0800001, 0x400000, CRC(502ba5cd) SHA1(19c1282245c6dbfc945c0bd0f3918968c3e5c3ed) ) + ROM_LOAD16_BYTE( "tet1rom2l.8", 0x1000000, 0x400000, CRC(e03b1c24) SHA1(8579b95a8fd06b7d2893ff88b228fd794162dff1) ) + ROM_LOAD16_BYTE( "tet1rom2u.11", 0x1000001, 0x400000, CRC(75eb2ab3) SHA1(dee43884e542391903f6aaae2c166e7921a86fb4) ) + ROM_LOAD16_BYTE( "tet1fl3l.12", 0x1800000, 0x200000, CRC(45513073) SHA1(8a36f58ee2d292b50e00c6bf275f9def358032d8) ) + ROM_LOAD16_BYTE( "tet1fl3u.13", 0x1800001, 0x200000, CRC(1917d993) SHA1(cabc44514a3e62a18a7f8f883603241447d6948b) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tet1verb.11s", 0x0000000, 0x080000, CRC(c92b98d1) SHA1(8ae6fba8c5b6b9a2ab9541eac8553b282f35750d) ) /* No label but different than tet1vera.11s */ + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) ) + ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) ) +ROM_END + +ROM_START( tekken3ua ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tet3vera.2e", 0x0000000, 0x200000, CRC(2fb6fac2) SHA1(518f74f09fa879cc1507c6afa2dd922b38cecd55) ) + ROM_LOAD16_BYTE( "tet3vera.2j", 0x0000001, 0x200000, CRC(968af792) SHA1(6187128d5ca07fd394f674b8dda0c190e6cd7f9d) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tet1rom0l.6", 0x0000000, 0x400000, CRC(2886bb32) SHA1(08ad9da2df25ad8c933a812ac238c81135072929) ) + ROM_LOAD16_BYTE( "tet1rom0u.9", 0x0000001, 0x400000, CRC(c5705b92) SHA1(20df20c8d18eb4712d565a3df9a8d9270dee6aaa) ) + ROM_LOAD16_BYTE( "tet1rom1l.7", 0x0800000, 0x400000, CRC(0397d283) SHA1(ebafcd14cdb2601214129a84fc6830846f5cd274) ) + ROM_LOAD16_BYTE( "tet1rom1u.10", 0x0800001, 0x400000, CRC(502ba5cd) SHA1(19c1282245c6dbfc945c0bd0f3918968c3e5c3ed) ) + ROM_LOAD16_BYTE( "tet1rom2l.8", 0x1000000, 0x400000, CRC(e03b1c24) SHA1(8579b95a8fd06b7d2893ff88b228fd794162dff1) ) + ROM_LOAD16_BYTE( "tet1rom2u.11", 0x1000001, 0x400000, CRC(75eb2ab3) SHA1(dee43884e542391903f6aaae2c166e7921a86fb4) ) + ROM_LOAD16_BYTE( "tet1verafl3l.12", 0x1800000, 0x200000, CRC(64fa1f83) SHA1(5bc8b4657826ead19827f63d04f67597970d5337) ) /* Specific to Ver A. */ + ROM_LOAD16_BYTE( "tet1verafl3u.13", 0x1800001, 0x200000, CRC(32a2516b) SHA1(6f4e4fc1b11d17a867d3e7bdfdd351438390a5a2) ) /* Specific to Ver A. */ + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tet1vera.11s", 0x0000000, 0x080000, CRC(a74dfe7f) SHA1(854096a6f12ee9073fb1f38e41c8e6e0725a7521) ) /* Specific to Ver A. */ + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) ) + ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) ) +ROM_END + +ROM_START( tekken3aa ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tet2vera.2e", 0x0000000, 0x200000, CRC(7270f157) SHA1(e73c5970e58f9e8c5696f4e3b15908fbec6c21ce) ) + ROM_LOAD16_BYTE( "tet2vera.2j", 0x0000001, 0x200000, CRC(94ceb446) SHA1(c730eb5c770991ae3ae0b9ba63681ce037e46746) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tet1rom0l.6", 0x0000000, 0x400000, CRC(2886bb32) SHA1(08ad9da2df25ad8c933a812ac238c81135072929) ) + ROM_LOAD16_BYTE( "tet1rom0u.9", 0x0000001, 0x400000, CRC(c5705b92) SHA1(20df20c8d18eb4712d565a3df9a8d9270dee6aaa) ) + ROM_LOAD16_BYTE( "tet1rom1l.7", 0x0800000, 0x400000, CRC(0397d283) SHA1(ebafcd14cdb2601214129a84fc6830846f5cd274) ) + ROM_LOAD16_BYTE( "tet1rom1u.10", 0x0800001, 0x400000, CRC(502ba5cd) SHA1(19c1282245c6dbfc945c0bd0f3918968c3e5c3ed) ) + ROM_LOAD16_BYTE( "tet1rom2l.8", 0x1000000, 0x400000, CRC(e03b1c24) SHA1(8579b95a8fd06b7d2893ff88b228fd794162dff1) ) + ROM_LOAD16_BYTE( "tet1rom2u.11", 0x1000001, 0x400000, CRC(75eb2ab3) SHA1(dee43884e542391903f6aaae2c166e7921a86fb4) ) + ROM_LOAD16_BYTE( "tet1verafl3l.12", 0x1800000, 0x200000, CRC(64fa1f83) SHA1(5bc8b4657826ead19827f63d04f67597970d5337) ) /* Specific to Ver A. */ + ROM_LOAD16_BYTE( "tet1verafl3u.13", 0x1800001, 0x200000, CRC(32a2516b) SHA1(6f4e4fc1b11d17a867d3e7bdfdd351438390a5a2) ) /* Specific to Ver A. */ + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tet1vera.11s", 0x0000000, 0x080000, CRC(a74dfe7f) SHA1(854096a6f12ee9073fb1f38e41c8e6e0725a7521) ) /* Specific to Ver A. */ + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) ) + ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) ) +ROM_END + +ROM_START( tekken3ja ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tet1vera.2e", 0x0000000, 0x200000, CRC(98fe53b4) SHA1(0d3380f368908a21cb1e4cea353687d3f6295d79) ) + ROM_LOAD16_BYTE( "tet1vera.2j", 0x0000001, 0x200000, CRC(4dc6bb4a) SHA1(1a0ae22410fb6f7757d21fdaf713893ca4e177fe) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tet1rom0l.6", 0x0000000, 0x400000, CRC(2886bb32) SHA1(08ad9da2df25ad8c933a812ac238c81135072929) ) + ROM_LOAD16_BYTE( "tet1rom0u.9", 0x0000001, 0x400000, CRC(c5705b92) SHA1(20df20c8d18eb4712d565a3df9a8d9270dee6aaa) ) + ROM_LOAD16_BYTE( "tet1rom1l.7", 0x0800000, 0x400000, CRC(0397d283) SHA1(ebafcd14cdb2601214129a84fc6830846f5cd274) ) + ROM_LOAD16_BYTE( "tet1rom1u.10", 0x0800001, 0x400000, CRC(502ba5cd) SHA1(19c1282245c6dbfc945c0bd0f3918968c3e5c3ed) ) + ROM_LOAD16_BYTE( "tet1rom2l.8", 0x1000000, 0x400000, CRC(e03b1c24) SHA1(8579b95a8fd06b7d2893ff88b228fd794162dff1) ) + ROM_LOAD16_BYTE( "tet1rom2u.11", 0x1000001, 0x400000, CRC(75eb2ab3) SHA1(dee43884e542391903f6aaae2c166e7921a86fb4) ) + ROM_LOAD16_BYTE( "tet1verafl3l.12", 0x1800000, 0x200000, CRC(64fa1f83) SHA1(5bc8b4657826ead19827f63d04f67597970d5337) ) /* Specific to Ver A. */ + ROM_LOAD16_BYTE( "tet1verafl3u.13", 0x1800001, 0x200000, CRC(32a2516b) SHA1(6f4e4fc1b11d17a867d3e7bdfdd351438390a5a2) ) /* Specific to Ver A. */ + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tet1vera.11s", 0x0000000, 0x080000, CRC(a74dfe7f) SHA1(854096a6f12ee9073fb1f38e41c8e6e0725a7521) ) /* Specific to Ver A. */ + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tet1wave0.5", 0x0000000, 0x400000, CRC(77ba7975) SHA1(fe9434dcf0fb232c85efaaae1b4b13d36099620a) ) + ROM_LOAD( "tet1wave1.4", 0x0400000, 0x400000, CRC(ffeba79f) SHA1(941412bbe9d0305d9a23c224c1bb774c4321f6df) ) +ROM_END + +ROM_START( tektagt ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "teg3verc.2l", 0x0000000, 0x200000, CRC(1efb7b85) SHA1(0623bb6571caf046ff7b4f83f11ee84a92c4b462) ) + ROM_LOAD16_BYTE( "teg3verc.2p", 0x0000001, 0x200000, CRC(7caef9b2) SHA1(5c56d69ba2f723d0a4fbe4902196efc6ba9d5094) ) + + ROM_REGION32_LE( 0x3800000, "user2", 0 ) /* main data */ + ROM_LOAD32_WORD( "teg3rom0e.9", 0x0000000, 0x800000, CRC(c962a373) SHA1(d662dbd89ef62c5ac3150a018fc2d35ef2ee94ac) ) + ROM_LOAD32_WORD( "teg3rom0o.13", 0x0000002, 0x800000, CRC(badb7dcf) SHA1(8c0bf7f6351c5a2a0996df371a901cf90c68cd8c) ) + ROM_LOAD32_WORD( "teg3rom1e.10", 0x1000000, 0x800000, CRC(b3d56124) SHA1(4df20c74ba63f7362caf15e9b8949fab655704fb) ) + ROM_LOAD32_WORD( "teg3rom1o.14", 0x1000002, 0x800000, CRC(2434ceb6) SHA1(f19f1599acbd6fd48793a2ee5a500ca817d9df56) ) + ROM_LOAD32_WORD( "teg3rom2e.11", 0x2000000, 0x800000, CRC(6e5c3428) SHA1(e3cdb60a4445406877b2e273385f34bfb0974220) ) + ROM_LOAD32_WORD( "teg3rom2o.15", 0x2000002, 0x800000, CRC(21ce9dfa) SHA1(f27e8210ee236c327aa3e1ce4dd408abc6580a1b) ) + + ROM_LOAD32_BYTE( "teg3flel.4", 0x3000000, 0x200000, CRC(88b3823c) SHA1(6f31acb642c57daccbfdb87b790037e261c8c73c) ) + ROM_LOAD32_BYTE( "teg3fleu.5", 0x3000001, 0x200000, CRC(36df0867) SHA1(6bec8560ad4c122dc909daa83aa9089ba5b281f7) ) + ROM_LOAD32_BYTE( "teg3flol.6", 0x3000002, 0x200000, CRC(03a76765) SHA1(ae35ae28375f2a3e52d72b77ec09750c326cc269) ) + ROM_LOAD32_BYTE( "teg3flou.7", 0x3000003, 0x200000, CRC(6d6947d1) SHA1(2f307bc4070fadb510c0473bc91d917b2d845ca5) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "teg3verb.11s", 0x0000000, 0x080000, CRC(67d0c469) SHA1(da164702fc21b9f46a9e32c89e7b1d36070ddf79) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "teg3wave0.1", 0x0000000, 0x800000, CRC(4bd99104) SHA1(f76b0576cc28fe49d3c1c402988b933933e52e15) ) + ROM_LOAD( "teg3wave1.12", 0x0800000, 0x800000, CRC(dbc74fff) SHA1(601b7e7361ea744b34e3fa1fc39d88641de7f4c6) ) +ROM_END + +ROM_START( tektagtub ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "teg3verb.2l", 0x0000000, 0x200000, CRC(97df2855) SHA1(c1b61df8e79348424f4bd2660ab5179ef21bdb07) ) + ROM_LOAD16_BYTE( "teg3verb.2p", 0x0000001, 0x200000, CRC(1dbe7591) SHA1(af464caa03fdd12024ad482e9c853a36510bfba7) ) + + ROM_REGION32_LE( 0x3800000, "user2", 0 ) /* main data */ + ROM_LOAD32_WORD( "teg3rom0e.9", 0x0000000, 0x800000, CRC(c962a373) SHA1(d662dbd89ef62c5ac3150a018fc2d35ef2ee94ac) ) + ROM_LOAD32_WORD( "teg3rom0o.13", 0x0000002, 0x800000, CRC(badb7dcf) SHA1(8c0bf7f6351c5a2a0996df371a901cf90c68cd8c) ) + ROM_LOAD32_WORD( "teg3rom1e.10", 0x1000000, 0x800000, CRC(b3d56124) SHA1(4df20c74ba63f7362caf15e9b8949fab655704fb) ) + ROM_LOAD32_WORD( "teg3rom1o.14", 0x1000002, 0x800000, CRC(2434ceb6) SHA1(f19f1599acbd6fd48793a2ee5a500ca817d9df56) ) + ROM_LOAD32_WORD( "teg3rom2e.11", 0x2000000, 0x800000, CRC(6e5c3428) SHA1(e3cdb60a4445406877b2e273385f34bfb0974220) ) + ROM_LOAD32_WORD( "teg3rom2o.15", 0x2000002, 0x800000, CRC(21ce9dfa) SHA1(f27e8210ee236c327aa3e1ce4dd408abc6580a1b) ) + + ROM_LOAD32_BYTE( "teg3flel.4", 0x3000000, 0x200000, CRC(88b3823c) SHA1(6f31acb642c57daccbfdb87b790037e261c8c73c) ) + ROM_LOAD32_BYTE( "teg3fleu.5", 0x3000001, 0x200000, CRC(36df0867) SHA1(6bec8560ad4c122dc909daa83aa9089ba5b281f7) ) + ROM_LOAD32_BYTE( "teg3flol.6", 0x3000002, 0x200000, CRC(03a76765) SHA1(ae35ae28375f2a3e52d72b77ec09750c326cc269) ) + ROM_LOAD32_BYTE( "teg3flou.7", 0x3000003, 0x200000, CRC(6d6947d1) SHA1(2f307bc4070fadb510c0473bc91d917b2d845ca5) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "teg3verb.11s", 0x0000000, 0x080000, CRC(67d0c469) SHA1(da164702fc21b9f46a9e32c89e7b1d36070ddf79) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "teg3wave0.1", 0x0000000, 0x800000, CRC(4bd99104) SHA1(f76b0576cc28fe49d3c1c402988b933933e52e15) ) + ROM_LOAD( "teg3wave1.12", 0x0800000, 0x800000, CRC(dbc74fff) SHA1(601b7e7361ea744b34e3fa1fc39d88641de7f4c6) ) +ROM_END + +ROM_START( tektagtjb ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "teg1verb.2e", 0x0000000, 0x200000, CRC(ca6c305f) SHA1(264a85566b74f544fe63a01332d92c65d23b6608) ) + ROM_LOAD16_BYTE( "teg1verb.2j", 0x0000001, 0x200000, CRC(5413e2ed) SHA1(d453f7932654d8258c67eb7fe3639d71db7e414c) ) + + ROM_REGION32_LE( 0x3800000, "user2", 0 ) /* main data */ + ROM_LOAD32_WORD( "teg3rom0e.9", 0x0000000, 0x800000, CRC(c962a373) SHA1(d662dbd89ef62c5ac3150a018fc2d35ef2ee94ac) ) + ROM_LOAD32_WORD( "teg3rom0o.13", 0x0000002, 0x800000, CRC(badb7dcf) SHA1(8c0bf7f6351c5a2a0996df371a901cf90c68cd8c) ) + ROM_LOAD32_WORD( "teg3rom1e.10", 0x1000000, 0x800000, CRC(b3d56124) SHA1(4df20c74ba63f7362caf15e9b8949fab655704fb) ) + ROM_LOAD32_WORD( "teg3rom1o.14", 0x1000002, 0x800000, CRC(2434ceb6) SHA1(f19f1599acbd6fd48793a2ee5a500ca817d9df56) ) + ROM_LOAD32_WORD( "teg3rom2e.11", 0x2000000, 0x800000, CRC(6e5c3428) SHA1(e3cdb60a4445406877b2e273385f34bfb0974220) ) + ROM_LOAD32_WORD( "teg3rom2o.15", 0x2000002, 0x800000, CRC(21ce9dfa) SHA1(f27e8210ee236c327aa3e1ce4dd408abc6580a1b) ) + + ROM_LOAD32_BYTE( "teg1flel.4", 0x3000000, 0x200000, NO_DUMP ) + ROM_LOAD32_BYTE( "teg1fleu.5", 0x3000001, 0x200000, NO_DUMP ) + ROM_LOAD32_BYTE( "teg1flol.6", 0x3000002, 0x200000, NO_DUMP ) + ROM_LOAD32_BYTE( "teg1flou.7", 0x3000003, 0x200000, NO_DUMP ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "teg3verb.11s", 0x0000000, 0x080000, CRC(67d0c469) SHA1(da164702fc21b9f46a9e32c89e7b1d36070ddf79) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "teg3wave0.1", 0x0000000, 0x800000, CRC(4bd99104) SHA1(f76b0576cc28fe49d3c1c402988b933933e52e15) ) + ROM_LOAD( "teg3wave1.12", 0x0800000, 0x800000, CRC(dbc74fff) SHA1(601b7e7361ea744b34e3fa1fc39d88641de7f4c6) ) +ROM_END + +ROM_START( tektagtja ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "teg1vera.2e", 0x0000000, 0x200000, CRC(17c4bf36) SHA1(abf2dfb3e35344cf4449ade6e63b36c590d9c131) ) + ROM_LOAD16_BYTE( "teg1vera.2j", 0x0000001, 0x200000, CRC(97cd9524) SHA1(8031cb465db378a6d9db9b132cf1169b94cba7dc) ) + + ROM_REGION32_LE( 0x3800000, "user2", 0 ) /* main data */ + ROM_LOAD32_WORD( "teg3rom0e.9", 0x0000000, 0x800000, CRC(c962a373) SHA1(d662dbd89ef62c5ac3150a018fc2d35ef2ee94ac) ) + ROM_LOAD32_WORD( "teg3rom0o.13", 0x0000002, 0x800000, CRC(badb7dcf) SHA1(8c0bf7f6351c5a2a0996df371a901cf90c68cd8c) ) + ROM_LOAD32_WORD( "teg3rom1e.10", 0x1000000, 0x800000, CRC(b3d56124) SHA1(4df20c74ba63f7362caf15e9b8949fab655704fb) ) + ROM_LOAD32_WORD( "teg3rom1o.14", 0x1000002, 0x800000, CRC(2434ceb6) SHA1(f19f1599acbd6fd48793a2ee5a500ca817d9df56) ) + ROM_LOAD32_WORD( "teg3rom2e.11", 0x2000000, 0x800000, CRC(6e5c3428) SHA1(e3cdb60a4445406877b2e273385f34bfb0974220) ) + ROM_LOAD32_WORD( "teg3rom2o.15", 0x2000002, 0x800000, CRC(21ce9dfa) SHA1(f27e8210ee236c327aa3e1ce4dd408abc6580a1b) ) + + ROM_LOAD32_BYTE( "teg1flel.4", 0x3000000, 0x200000, NO_DUMP ) + ROM_LOAD32_BYTE( "teg1fleu.5", 0x3000001, 0x200000, NO_DUMP ) + ROM_LOAD32_BYTE( "teg1flol.6", 0x3000002, 0x200000, NO_DUMP ) + ROM_LOAD32_BYTE( "teg1flou.7", 0x3000003, 0x200000, NO_DUMP ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "teg3verb.11s", 0x0000000, 0x080000, CRC(67d0c469) SHA1(da164702fc21b9f46a9e32c89e7b1d36070ddf79) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "teg3wave0.1", 0x0000000, 0x800000, CRC(4bd99104) SHA1(f76b0576cc28fe49d3c1c402988b933933e52e15) ) + ROM_LOAD( "teg3wave1.12", 0x0800000, 0x800000, CRC(dbc74fff) SHA1(601b7e7361ea744b34e3fa1fc39d88641de7f4c6) ) +ROM_END + +ROM_START( tektagtac ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "teg2verc1.2e", 0x0000000, 0x200000, CRC(c0800960) SHA1(80fc8910ebb2399b3be3c9ea87cc1d9283b42676) ) + ROM_LOAD16_BYTE( "teg2verc1.2j", 0x0000001, 0x200000, CRC(c0476713) SHA1(e51e4f3cd20ad6838fb05aaede0ab288e145e7a2) ) + + ROM_REGION32_LE( 0x3800000, "user2", 0 ) /* main data */ + ROM_LOAD32_WORD( "teg2roml0", 0x0000000, 0x400000, CRC(cf984e85) SHA1(4d8296998b5f225b3f20bfdcb092a64b6e1fa76e) ) + ROM_LOAD32_WORD( "teg2romh0", 0x0800000, 0x400000, CRC(ea088657) SHA1(fbacca78832f68a310bafd06188d645e3424e0ed) ) + ROM_LOAD32_WORD( "teg2roml00.ic13", 0x0000002, 0x400000, CRC(927723a5) SHA1(075aaca1700c9134496eb9a73cbe325ddc74eae1) ) /* located on the opposite side of the ROM PCB */ + ROM_LOAD32_WORD( "teg2romh00", 0x0800002, 0x400000, CRC(a85aa306) SHA1(07318133c7c48cb61590ed0eceb519a8cc1ca781) ) + ROM_LOAD32_WORD( "teg2roml1", 0x1000000, 0x400000, CRC(8552f0ef) SHA1(45ed0dacdad94e708260a98b9cd47861543d2b7a) ) + ROM_LOAD32_WORD( "teg2romh1", 0x1800000, 0x400000, CRC(86eb5abe) SHA1(66a3807a18d81e8291baf56533694f60e31a6367) ) + ROM_LOAD32_WORD( "teg2roml10.ic14", 0x1000002, 0x400000, CRC(13eb424b) SHA1(59d6c77136050de1e7250e6627636d5b178bb8a8) ) /* located on the opposite side of the ROM PCB */ + ROM_LOAD32_WORD( "teg2romh10", 0x1800002, 0x400000, CRC(25131a87) SHA1(77fa236c4879a59323bc2dac26c195b7c47f812c) ) + ROM_LOAD32_WORD( "teg2roml2", 0x2000000, 0x400000, CRC(abdfc6ca) SHA1(70033becd29ea15611be2fc099a43712181bcbec) ) + ROM_LOAD32_WORD( "teg2romh2", 0x2800000, 0x400000, CRC(8c03b301) SHA1(f395a4685e2deb8f7e9afc18ce15fa0d392b0cfa) ) + ROM_LOAD32_WORD( "teg2roml20.ic15", 0x2000002, 0x400000, CRC(ed5ec7f7) SHA1(c91085a64ced95ee6618303987de61893e069742) ) /* located on the opposite side of the ROM PCB */ + ROM_LOAD32_WORD( "teg2romh20", 0x2800002, 0x400000, CRC(c873c362) SHA1(d95451a7477b716c0d75ba04e1d8df3d8a4e10dd) ) + ROM_LOAD32_WORD( "teg2rf4", 0x3000000, 0x400000, CRC(612f6a37) SHA1(bd9597ef802e3c46f891f0ef523a3e0b0fe22672) ) + ROM_LOAD32_WORD( "teg2rf6", 0x3000002, 0x400000, CRC(0c9292ce) SHA1(664c6ccf18042ed8ebc29b1781ae7454acb05ba1) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "teg3verb.11s", 0x0000000, 0x080000, CRC(67d0c469) SHA1(da164702fc21b9f46a9e32c89e7b1d36070ddf79) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "teg2wavel0.ic12", 0x0000000, 0x400000, CRC(1865336f) SHA1(deda6d129daf709b0316f6260e67613fbf849e57) ) /* located on the opposite side of the ROM PCB */ + ROM_LOAD( "teg2wavel1", 0x0400000, 0x400000, CRC(f5ab70e6) SHA1(cdb62d8eb92ca961be684caf768d1961d98ece22) ) + ROM_LOAD( "teg2waveh0", 0x0800000, 0x400000, CRC(bc0325bf) SHA1(77059c300a9d53d0e97bb898a06c58076078d7d2) ) + ROM_LOAD( "teg2waveh1", 0x0c00000, 0x400000, CRC(6c654921) SHA1(3849157b30b4b459956b823511551abda2e4b6e5) ) +ROM_END + +ROM_START( tenkomor ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tkm2vera.2e", 0x0000000, 0x200000, CRC(a9b81653) SHA1(9199505019234140b0d89e199f0db307d5bcca02) ) + ROM_LOAD16_BYTE( "tkm2vera.2j", 0x0000001, 0x200000, CRC(28cff9ee) SHA1(d1996d45cca3a9bbd6a7f39721b2ec9f3d052422) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tkm1rom0l.12", 0x0000000, 0x800000, CRC(dddebb39) SHA1(44169b0c6be4d387e7b6087ce723476ee96b09b4) ) + ROM_LOAD16_BYTE( "tkm1rom0u.11", 0x0000001, 0x800000, CRC(dbcc3838) SHA1(c4e11800c5e8122044914152227b8a29e9446c9d) ) + ROM_LOAD16_BYTE( "tkm1fl1l.9", 0x1000000, 0x200000, CRC(071ef722) SHA1(7c0317b3bca2763dbbac5454901cd48a0b195edd) ) + ROM_LOAD16_BYTE( "tkm1fl1u.10", 0x1000001, 0x200000, CRC(580f8391) SHA1(2205c80721631ea8016efbe6d79f5ea7d1924278) ) + ROM_LOAD16_BYTE( "tkm1fl2l.7", 0x1400000, 0x200000, CRC(bd54efe3) SHA1(ff3573066ad2498a33ceabf378a3c69af11ee7db) ) + ROM_LOAD16_BYTE( "tkm1fl2u.8", 0x1400001, 0x200000, CRC(6e4e6320) SHA1(8d220b0028cfc2f02eb34df41a5dbb23be3e7908) ) + ROM_LOAD16_BYTE( "tkm1fl3l.5", 0x1800000, 0x200000, CRC(a31ffb10) SHA1(4f8e41e263611a7f9a63bd53ebee4e68ad0095e6) ) + ROM_LOAD16_BYTE( "tkm1fl3u.6", 0x1800001, 0x200000, CRC(bc566162) SHA1(db40d28c57dbf1351adfa2dd740edbe0b897307f) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tkm1vera.11s", 0x0000000, 0x080000, CRC(0b414dae) SHA1(a8f77ae7ee0dc516cd9aaf944431a9a0c9dc7def) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tkm1wave0.2", 0x0000000, 0x800000, CRC(6085387d) SHA1(a2a55f6ebe9de2d5415a1c4f3ec7975af95b45b4) ) + ROM_LOAD( "tkm1wave1.1", 0x0800000, 0x800000, CRC(7567796b) SHA1(99e4b867477da2ccddfa9bebc4be84adc5cba53c) ) +ROM_END + +ROM_START( tenkomorja ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tkm1vera.2e", 0x000000, 0x200000, CRC(d4c89229) SHA1(aba6686eef924868b3bd2142fd073303fe9c4042) ) + ROM_LOAD16_BYTE( "tkm1vera.2j", 0x000001, 0x200000, CRC(a6bfcaf4) SHA1(55dfa65e07a63a413f6eb47084e60b4fc32bcde5) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tkm1rom0l.12", 0x0000000, 0x800000, CRC(dddebb39) SHA1(44169b0c6be4d387e7b6087ce723476ee96b09b4) ) + ROM_LOAD16_BYTE( "tkm1rom0u.11", 0x0000001, 0x800000, CRC(dbcc3838) SHA1(c4e11800c5e8122044914152227b8a29e9446c9d) ) + ROM_LOAD16_BYTE( "tkm1fl1l.9", 0x1000000, 0x200000, CRC(071ef722) SHA1(7c0317b3bca2763dbbac5454901cd48a0b195edd) ) + ROM_LOAD16_BYTE( "tkm1fl1u.10", 0x1000001, 0x200000, CRC(580f8391) SHA1(2205c80721631ea8016efbe6d79f5ea7d1924278) ) + ROM_LOAD16_BYTE( "tkm1fl2l.7", 0x1400000, 0x200000, CRC(bd54efe3) SHA1(ff3573066ad2498a33ceabf378a3c69af11ee7db) ) + ROM_LOAD16_BYTE( "tkm1fl2u.8", 0x1400001, 0x200000, CRC(6e4e6320) SHA1(8d220b0028cfc2f02eb34df41a5dbb23be3e7908) ) + ROM_LOAD16_BYTE( "tkm1fl3l.5", 0x1800000, 0x200000, CRC(a31ffb10) SHA1(4f8e41e263611a7f9a63bd53ebee4e68ad0095e6) ) + ROM_LOAD16_BYTE( "tkm1fl3u.6", 0x1800001, 0x200000, CRC(bc566162) SHA1(db40d28c57dbf1351adfa2dd740edbe0b897307f) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tkm1vera.11s", 0x0000000, 0x080000, CRC(0b414dae) SHA1(a8f77ae7ee0dc516cd9aaf944431a9a0c9dc7def) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tkm1wave0.2", 0x0000000, 0x800000, CRC(6085387d) SHA1(a2a55f6ebe9de2d5415a1c4f3ec7975af95b45b4) ) + ROM_LOAD( "tkm1wave1.1", 0x0800000, 0x800000, CRC(7567796b) SHA1(99e4b867477da2ccddfa9bebc4be84adc5cba53c) ) +ROM_END + +ROM_START( toukon3 ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tr1vera.2e", 0x000000, 0x200000, CRC(126ebb73) SHA1(de429e335e03f2b5116fc50f556a5507475a0535) ) + ROM_LOAD16_BYTE( "tr1vera.2j", 0x000001, 0x200000, CRC(2edb3ad2) SHA1(d1d2d78b781c7f6fb5a201785295daa825ad057e) ) + + ROM_REGION32_LE( 0x1c00000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tr1rom0l.6", 0x0000000, 0x400000, CRC(42946d26) SHA1(dc7944cb6daceda41ecee7a4e3f549cba916ab87) ) + ROM_LOAD16_BYTE( "tr1rom0u.9", 0x0000001, 0x400000, CRC(e3cd0be0) SHA1(f27d14cd086b5961be33e635662aca89a5e8c857) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tr1vera.11s", 0x0000000, 0x080000, CRC(f9ecbd19) SHA1(ad64f95ef85ee5c45dcf15217ea5adff61fddba6) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tr1wave0.5", 0x0000000, 0x400000, CRC(07d10e55) SHA1(3af8f7019a221981984741181b6be98e2315d441) ) + ROM_LOAD( "tr1wave1.4", 0x0400000, 0x400000, CRC(34539cdd) SHA1(afb7079c0f447fbda285a5b97a37c04baf26db75) ) +ROM_END + +ROM_START( truckk ) + ROM_REGION32_LE( 0x00400000, "user1", 0 ) /* main prg */ + ROM_LOAD16_BYTE( "tkk2vera.2l", 0x000000, 0x200000, CRC(321344e0) SHA1(0273284d05707b76ca38fd160ef6f17572314a8b) ) + ROM_LOAD16_BYTE( "tkk2vera.2p", 0x000001, 0x200000, CRC(a7b5e4ea) SHA1(f11eefd80559b4d42318a920088b77bd67b70cc3) ) + + ROM_REGION32_LE( 0x3400000, "user2", 0 ) /* main data */ + ROM_LOAD16_BYTE( "tkk1rom0l.ic10", 0x0000000, 0x800000, CRC(5e1c8660) SHA1(05fcfa9cc834f85c38e41610a32624464d67ee21) ) + ROM_LOAD16_BYTE( "tkk1rom0u.ic14", 0x0000001, 0x800000, CRC(ee4e6566) SHA1(f3c7e227681003a3491a3996a90887e1091c0eed) ) + ROM_LOAD16_BYTE( "tkk1rom1l.ic11", 0x1000000, 0x800000, CRC(fde2863c) SHA1(a01141df8c84730974c9f37fa2ee911e2f4e45f9) ) + ROM_LOAD16_BYTE( "tkk1rom1u.ic15", 0x1000001, 0x800000, CRC(e51a56d7) SHA1(c5bad8df8edd5a5f352e5bf3bb93133503ca4ba0) ) + ROM_LOAD16_BYTE( "tkk1rom2l.ic12", 0x2000000, 0x800000, CRC(029cf107) SHA1(30cbcf00ffb9c379c64718914874936ff32ed186) ) + ROM_LOAD16_BYTE( "tkk1rom2u.ic16", 0x2000001, 0x800000, CRC(30c426dd) SHA1(2dae3d415715c779251c79006ea18e3bd14a1f51) ) + ROM_LOAD16_BYTE( "tkk1fl3l.ic4", 0x3000000, 0x200000, CRC(b0e98cb2) SHA1(8c53037b8e20410a395db8d9bb9229b550ebf228) ) + ROM_LOAD16_BYTE( "tkk1fl3u.ic5", 0x3000001, 0x200000, CRC(16d9ede7) SHA1(e989e0a6afbfca5e7ef81bf7c24e8e6b38a11eca) ) + + ROM_REGION( 0x0080000, "sub", 0 ) /* sound prg */ + ROM_LOAD16_WORD_SWAP( "tkk2vera.11s", 0x000000, 0x080000, CRC(d3d0a46a) SHA1(20569462df49ad93ff1118b587d6d32edf9d851e) ) + + ROM_REGION( 0x1000000, "c352", 0 ) /* samples */ + ROM_LOAD( "tkk1wave0.ic1", 0x000000, 0x800000, CRC(037d3095) SHA1(cc343bdd45d023c133964321e2df5cb1c91525ef) ) + + ROM_REGION( 0x20000, "ioboard", 0) /* Truck K. I/O board */ + ROM_LOAD( "tkk1prg0.ic7", 0x000000, 0x020000, CRC(11fd9c31) SHA1(068b8364ec0eb1e88f9f85f40b8b322876f6f3e2) ) + + DISK_REGION( "cdrom" ) + DISK_IMAGE( "tkk2-a", 0, SHA1(6b7c3686b22a508c44f67295b188504b757dd482) ) +ROM_END + +GAME( 1996, tekken3, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.E1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */ +GAME( 1996, tekken3ae, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.E1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */ +GAME( 1996, tekken3ud, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (US, TET3/VER.D)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */ +GAME( 1996, tekken3ab, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */ +GAME( 1996, tekken3ua, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (US, TET3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */ +GAME( 1996, tekken3aa, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */ +GAME( 1996, tekken3ja, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC014 */ +GAME( 1997, lbgrande, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Libero Grande (Asia, LG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC014 */ +GAME( 1997, lbgrandeja,lbgrande, coh700, namcos12, namcos12, ROT0, "Namco", "Libero Grande (Japan, LG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC014 */ +GAME( 1997, toukon3, 0, coh700, namcos12, namcos12, ROT0, "Tomy / Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition (Japan, TR1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC019 */ +GAME( 1998, soulclbr, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (World, SOC14/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1998, soulclbruc,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (US, SOC13/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1998, soulclbrjc,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */ +GAME( 1998, soulclbrwb,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (World, SOC14/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1998, soulclbrub,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (US, SOC13/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */ +GAME( 1998, soulclbrjb,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */ +GAME( 1998, soulclbrja,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */ +GAME( 1998, ehrgeiz, 0, coh700, namcos12, namcos12, ROT0, "Square / Namco", "Ehrgeiz (US, EG3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */ +GAME( 1998, ehrgeizaa, ehrgeiz, coh700, namcos12, namcos12, ROT0, "Square / Namco", "Ehrgeiz (Asia, EG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */ +GAME( 1998, ehrgeizja, ehrgeiz, coh700, namcos12, namcos12, ROT0, "Square / Namco", "Ehrgeiz (Japan, EG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */ +GAME( 1998, mdhorse, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Derby Quiz My Dream Horse (Japan, MDH1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC035 */ +GAME( 1998, sws98, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium '98 (Japan, SS81/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC0?? */ +GAME( 1998, tenkomor, 0, coh700, namcos12, namcos12, ROT90,"Namco", "Tenkomori Shooting (Asia, TKM2/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */ +GAME( 1998, tenkomorja,tenkomor, coh700, namcos12, namcos12, ROT90,"Namco", "Tenkomori Shooting (Japan, TKM1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */ +GAME( 1998, fgtlayer, 0, coh700, namcos12, namcos12, ROT0, "Arika / Namco", "Fighting Layer (Japan, FTL1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC037 */ +GAME( 1999, pacapp, 0, coh700, namcos12, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion (Japan, PPP1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC038 */ +GAME( 1999, ptblank2, 0, coh700, ptblank2, ptblank2, ROT0, "Namco", "Point Blank 2 (GNB5/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC042 */ +GAME( 1999, gunbarl, ptblank2, coh700, ptblank2, ptblank2, ROT0, "Namco", "Gunbarl (Japan, GNB4/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC042 */ +GAME( 1999, sws99, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium '99 (Japan, SS91/VER.A3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC043 */ +GAME( 1999, tektagt, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (US, TEG3/VER.C1)", GAME_IMPERFECT_SOUND ) /* KC044 */ +GAME( 1999, tektagtac, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Asia, TEG2/VER.C1)", GAME_IMPERFECT_SOUND ) /* KC044 */ +GAME( 1999, tektagtub, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (US, TEG3/VER.B)", GAME_IMPERFECT_SOUND ) /* KC044 */ +GAME( 1999, tektagtjb, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Japan, TEG1/VER.B)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC044 */ +GAME( 1999, tektagtja, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Japan, TEG1/VER.A3)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC044 */ +GAME( 1999, ghlpanic, 0, coh700, ghlpanic, ghlpanic, ROT0, "Eighting / Raizing / Namco", "Ghoul Panic (Asia, OB2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC045 */ +GAME( 1999, pacapp2, 0, coh700, namcos12, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion 2 (Japan, PKS1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC046 */ +GAME( 1999, mrdrillr, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Mr. Driller (Japan, DRI1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC048 */ +GAME( 1999, kaiunqz, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Kaiun Quiz (Japan, KW1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC050 */ +GAME( 1999, pacappsp, 0, coh700, namcos12, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion Special (Japan, PSP1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC052 */ +GAME( 1999, aquarush, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Aqua Rush (Japan, AQ1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC053 */ +GAME( 1999, golgo13, 0, coh700, golgo13, namcos12, ROT0, "Eighting / Raizing / Namco", "Golgo 13 (Japan, GLG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC054 */ +GAME( 1999, g13knd, 0, coh700, golgo13, namcos12, ROT0, "Eighting / Raizing / Namco", "Golgo 13 Kiseki no Dandou (Japan, GLS1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC059 */ +GAME( 2000, sws2000, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium 2000 (Japan, SS01/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC055 */ +GAME( 2000, truckk, 0, coh700, namcos12, namcos12, ROT0, "Metro / Namco", "Truck Kyosokyoku (Japan, TKK2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC056 */ +GAME( 2001, sws2001, sws2000, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium 2001 (Japan, SS11/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC061 */ |