diff options
Diffstat (limited to 'src/mame/drivers/funworld.cpp')
-rw-r--r-- | src/mame/drivers/funworld.cpp | 7977 |
1 files changed, 0 insertions, 7977 deletions
diff --git a/src/mame/drivers/funworld.cpp b/src/mame/drivers/funworld.cpp deleted file mode 100644 index 044380fcc53..00000000000 --- a/src/mame/drivers/funworld.cpp +++ /dev/null @@ -1,7977 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Roberto Fresca, Grull Osgo, Andreas Naive, Peter Ferrie -/**************************************************************************************** - - Fun World / TAB / Impera - Series 7000 hardware. - - 65C02 + 2x PIAs + M6845 CRTC + AY8910 - - Also from Amatic, CMC, Dino4 encrypted, and Leopard 4. - - Driver by Roberto Fresca. - Based on a preliminary work of Curt Coder & Peter Trauner. - - -***************************************************************************************** - - Games running on this hardware: - - * Jolly Card (German, set 1), TAB Austria, 1985. - * Jolly Card (German, set 2), TAB Austria, 1985. - * Jolly Card (3x3 deal), TAB Austria, 1985. - * Jolly Card Professional 2.0 (MZS Tech), MZS Tech, 1993. - * Jolly Card Professional 2.0 (Spale Soft), Spale Soft, 2000. - * Jolly Card (Evona Electronic), Evona Electronic 1998. - * Jolly Card (Croatian, set 1), TAB Austria, 1985. - * Jolly Card (Croatian, set 2), Soft Design, 1993. - * Super Joly 2000 - 3x, M.P. 1985. - * Jolly Card (German, Fun World, bootleg), Inter Games, 1986. - * Jolly Card (Spanish, blue TAB board, encrypted), TAB Austria, 1992. - * Jolly Card (Italian, different colors, set 1), bootleg, 1990. - * Jolly Card (Italian, different colors, set 2), bootleg, 1990. - * Jolly Card (Italian, bootleg, set 1), bootleg, 1990. - * Jolly Card (Italian, bootleg, set 2), bootleg, 1993. - * Jolly Card (Italian, bootleg, set 3), bootleg, 1990. - * Bonus Card (German), Fun World, 1986. - * Bonus Card (German, ATG Electronic hack), Fun World, 1986. - * Big Deal (Hungarian, set 1), Fun World, 1986. - * Big Deal (Hungarian, set 2), Fun World, 1986. - * Cuore 1 (Italian), C.M.C., 1996. - * Elephant Family (Italian, new), C.M.C., 1997. - * Elephant Family (Italian, old), C.M.C., 1996. - * Pool 10 (Italian, set 1), C.M.C., 1996. - * Pool 10 (Italian, set 2), C.M.C., 1996. - * Pool 10 (Italian, set 3), C.M.C., 1996. - * Pool 10 (Italian, set 4), C.M.C., 1997. - * Pool 10 (Italian, set 5), C.M.C., 1996. - * Pool 10 (Italian, set 6), C.M.C., 1996. - * Pool 10 (Italian, set 7), C.M.C., 1997. - * Pool 10 (Italian, set 8), C.M.C., 1997. - * Pool 10 (Italian, set 9), bootleg (R.B.), 1996. - * New Biliard 98 (Pool 10 hack), bootleg, 1998. - * Royal (Pool 10 hack), unknown, 2001. - * Tortuga Family (Italian), C.M.C., 1997. - * Pot Game (Italian), C.M.C., 1996. - * Bottle 10 (Italian, set 1), C.M.C., 1996. - * Bottle 10 (Italian, set 2), C.M.C., 1996. - * Luna Park (set 1, dual program), unknown, 1998. - * Luna Park (set 2, dual program), unknown, 1998. - * Luna Park (set 3), unknown, 1998. - * Crystal Colours (CMC hardware), J.C.D. srl, 1998. - * Royal Card (German, set 1), TAB Austria, 1991. - * Royal Card (German, set 2), TAB Austria, 1991. - * Royal Card (German/Polish, set 3), TAB Austria, 1991. - * Royal Card (German, set 4), TAB Austria, 1991. - * Royal Card (German, set 5), TAB Austria, 1991. - * Royal Card (German, set 6), TAB Austria, 1991. - * Royal Card (German, set 7, CMC C1030 HW), bootleg, 1991. - * Royal Card (German, set 8), TAB Austria, 1991. - * Royal Card (French), TAB Austria, 1991. - * Royal Card Professional 2.0, Digital Dreams, 1993. - * Royal Card / Royal Jackpot (with a third draw)(encrypted), TAB / Video Klein, 1991 - * Witch Royal (Export version 2.1), Video Klein, 199?. - * Royal Card (Italian, Dino 4 hardware, encrypted), unknown, 1998. - * Lucky Lady (3x3 deal), TAB Austria, 1991. - * Lucky Lady (4x1 aces), TAB Austria, 1991. - * Magic Card II (Bulgarian), Impera, 1996. - * Magic Card II (Nov, Yugoslavian), Impera, 1996. - * Magic Card II (green TAB or Impera board), Impera, 1996. - * Magic Card II (blue TAB board, encrypted), Impera, 1996. - * Royal Vegas Joker Card (Slow deal), Fun World, 1993. - * Royal Vegas Joker Card (Fast deal), Soft Design, 1993. - * Royal Vegas Joker Card (Fast deal, english gfx), Soft Design, 1993. - * Royal Vegas Joker Card (Fast deal, Mile), Mile, 1993. - * Jolly Joker (98bet, set 1). Impera, 198?. - * Jolly Joker (98bet, set 2). Impera, 198?. - * Jolly Joker (40bet, croatian hack), Impera, 198?. - * Jolly Joker (Apple Time), Apple Time, 198?. - * Multi Win (Ver.0167, encrypted), Fun World, 1992. - * Power Card (Ver 0263, encrypted), Fun World, 1993. - * Mega Card (Ver.0210, encrypted), Fun World, 1993. - * Joker Card 300 (Ver.A267BC, encrypted), Amatic Trading, 1993. - * Royal Card (Evona, Polish, encrypted), Evona Electronic, 1991. - * Saloon (French, encrypted), unknown, 199?. - * Nevada (French, encrypted), unknown, 199?. - * Jolly Card (Italian, blue TAB board, encrypted), bootleg, 199?. - * Jolly Card (Italian, encrypted bootleg, set 1), bootleg, 1990. - * Jolly Card (Italian, encrypted bootleg, set 2), bootleg, 1993. - * Pool 10 (Italian, Dino 4 hardware, encrypted), C.M.C., 1997. - * China Town (Ver 1B, Dino4 HW), unknown, 1998. - * Royal Card (Italian, Dino 4 hardware, encrypted), TAB Austria, 1998. - * Mongolfier New (Italian), unknown, 199?. - * Soccer New (Italian), unknown, 199?. - * Fun World Quiz (German), Fun World, 198?. - * Fun World Quiz (German, 12-11-1990), Fun World, 1990. - * Fun World Quiz (German, 27-04-1990), Fun World, 1990. - * Novo Play Multi Card / Club Card, Admiral/Novomatic, 1986. - * Joker Card (Inter Games), Inter Games, 1991. - * Unknown Fun World A7-11 game 1, Fun World, 1985. - * Unknown Fun World A7-11 game 2, Fun World, 1985. - * Unknown Fun World A0-1 game, Fun World, 1991. - * Joker Card / Multi Card (Epoxy brick CPU), Fun World, 1991. - * Royal Card (stealth with NES multigame), bootleg, 1991. - * Royal Card (stealth with MSX multigame), bootleg, 1991. - - -***************************************************************************************** - - The hardware is generally composed by: - - CPU: 1x 65SC02 or 65C02 at 2MHz. - Sound: 1x AY-3-8910 or YM2149F (AY8910 compatible) at 2MHz. - I/O: 2x 6821 (PIA) - Video: 1x 6845 (CRTC) - RAM: 1x 6116 - NVRAM: 1x 6264 - ROMs: 3x 27256 (or 27512 in some cases) - PROMs: 1x 82S147 (or similar. 512 bytes) - PLDs: 1 to 4 PALs, GALs or PEELs - Clock: 1x Crystal: 16MHz. - - - All current games are running from a slightly modified to heavily hacked hardware. - Color palettes are normally stored in format GGBBBRRR inside a bipolar color PROM. - - - bits - - 7654 3210 - ---- -xxx Red component. - --xx x--- Blue component. - xx-- ---- Green component. - - - The hardware was designed to manage 4096 tiles with a size of 8x4 pixels each. - Also support 4bpp graphics and the palette limitation is 8 bits for color codes (256 x 16 colors). - It means the hardware was designed for more elaborated graphics than Jolly Card games... - Color PROMs from current games are 512 bytes lenght, but they only can use the first or the last 256 bytes. - - Normal hardware capabilities: - - - bits - - 7654 3210 - xxxx xx-- tiles color (game tiles) ;codes 0x00-0xdc - xxx- x-xx tiles color (title). :codes 0xe9-0xeb - xxxx -xxx tiles color (background). ;codes 0xf1-0xf7 - - - About protection, there are several degrees of protection found in the sets: - - - There are writes to unknown offsets (out of the normal memory range), and some - checks later to see if the data is still there. - - - There are checks for code in unused RAM and therefore jumps to offsets where there - are not pieces of code in RAM or just RAM is inexistent. - I think this is to avoid a "ROM swap" that allow the software to run in other game boards. - - - There are "masked" unused inputs. - The software is polling the unused input status and expect a special value to boot the game. - - - There are parts of code that are very complex and twisted with fake jumps to inexistent code, - or pretending to initialize fake devices. - - - Encryption. - - A) Encrypted CPU. At least two Fun World boards have custom encrypted CPUs: - - - Joker Card from Vesely Svet use a custom unknown CPU and use encrypted prg roms. - - Royal Card (slovak, encrypted) from Evona Electronic seems to use a block - with CPU + extras (ICs, TTL, etc) to manage the encryption. - - B) General encryption. Managed through hardware: - - - All games using the blue TAB PCB with 2x HY18CV85 (electrically-erasable PLDs), use - complex operations for each byte nibble. See DRIVER_INIT for the final algorithm. - - Saloon (french) use bitswaps to address & data in program, graphics and color PROM. - - Dino4 hardware games have address/data bitswap in program, and data bitswap (sometimes - with extra boolean XOR operations) in graphics. - - - Microcontroller. Some games (like Soccer New and Mongolfier New are using an extra MCU mainly - for protection. - - - Mirrored video and color RAM. A derivative of CMC hardware uses this trick to avoid ROM swaps. - If you run Luna Park in a regular CMC board, you'll get an unplayable mess of graphics. - - - GENERAL NOTES: - - - It takes 46 seconds for the bigdeal/jolycdat games to boot up - after the initial screen is displayed!!! - - - The default DIP switch settings must be used when first booting up - the games to allow them to complete the NVRAM initialization. - - - Almost all games: Start game, press and hold Service1 & Service2, press - reset (F3), release Service1/2 and press reset (F3) again. - Now the NVRAM has been initialized. - - - Royalcdb needs a hard reset after NVRAM initialization. - - - For games that allow remote credits, after NVRAM init change the payout - DIP switch from "Hopper" to "Manual Payout". - - - - NOTES BY GAME/SET: - - * Pool 10 - * Cuore 1 - * Elephant Family - * Tortuga Family - * Pot Game - * Bottle 10 - * Luna Park - - In Italy many people became addicted to videopokers. They put so much money on them, - and they had to sell the house. Also some engineers modified videopokers to do less - wins and so on... Because of this the government did some laws in order to regulate - videopokers wins. Starting from around 1996/1997 there were subsequent laws because - engineers always found a way to elude them. - - Today all the videopokers need to be connected via AAMS net (a government society de- - dicated to games) which check if the videopoker is regular. Nowadays it's difficult - to trick and the videopoker has to give 75% of wins. This has made videopoker market - to collapse and infact there aren't many videopokers left. - - Also because the laws changed very often and old videopokers became illegal was a - very bad thing for bar owners because they couldn't earn enough money. - - Pool 10 (now found!), apparently was the "father" of other italian gambling games. - As soon as it became illegal, was converted to Cuore 1, Elephant Family, Tortuga Family - and maybe other games. So you can see that engineers always found a simple way to elude - the law. - - There is another set of Cuore 1. I didn't include it because the only difference with - the supported set is the program rom that is double sized, having identical halves. - - Luna Park, is running in a modified hardware with video RAM mirrored from 4000-4FFF to - 6000-6FFF and color RAM mirrored from 5000-5FFF to 7000-7FFF. The program writes criti- - cal graphics (cans, strings and partial screen cleans) to the mirrored range, so if you - run this program in a regular CMC hardware, you'll get an unplayable mess of graphics. - Also PRG rom higher address line is connected to DIP switch #1 so it should have 2 games - in the same PCB (2 revisions?). - - - There is at least one missing game in the family... 'Hyppo Family', also from C.M.C. - This game should be located and dumped. - - - --- Super Game --- - - If you have some points accumulated and need to grab the tokens/tickets, you must to play - a bonus game called SUPER GAME to get the points out. To enter the bonus game, you must - press STOP5 in the attract mode. The payout system is through this game. - - 5 themed items will be shown (cuores, balls, elephants, etc... depending of the game). - The joker will start to move from item to item quickly, but decreasing the speed gradually. - To beat the game, you need to push the start button in the exact moment when the joker is - located exactly in the center of the screen (item 3). - - Depending of the DIP switches settings, you can grab the prize manually pressing the SCARICA - (payout) button, and then TICKET or HOPPER buttons. Press TICKET button to print a 100 points - ticket. Press HOPPER button to get tokens x10 points. - - You have 1 attempt for each 100 earned points. If you lose the game, you lose the points. - - - * Bonus Card (German) - * Big Deal (Hungarian) - - These ones seems to have normal RAM instead of NVRAM. - Going through the code, there's not any NVRAM initialization routine through service 1 & 2. - - - * Jolly Card Professional 2.0 (MZS Tech & Spale Soft) - - Each 1st boot, this game show a generated code. You must enter this code in a DOS program to - get the input codes necessary to allow boot the game. - - This set is one of the most wanted for customers because is a real SCAM. - The program has 2 hidden menues that allow change parameters without knowledge of the players. - - See more at ROM_LOAD section... - - - * Jolly Card (Evona Electronic) - - This set has some hidden features. - In the service 2 screen, press service 1 to enter to a message edit mode. - - - * Jolly Card (croatian sets) and Jolly Card Professional 2.0 - - These games don't operate with regular coins/tokens. Only remote credits are allowed. - - - * Royal Card Professional 2.0 (Digital Dreams) - - Same generated code as Jolly Card Professional. - - - * Magic Card II (Impera) - - Impera made 2 graphics sets for this game. One of them is encrypted, and meant for the TAB blue board. - This board has two HY18CV85 (electrically-erasable PLD) that handle the encryption. - In another hand, the sound has some weird things, but is confirmed that happen in the real thing. - - The game resolution seems to change 'on the fly' when entering the input test mode. - There aren't any writes to the m6845 registers to manage these changes. - - Regarding the CPU, it's a Mexican Rockwell R65C02 with some mods respect the regular/stock 65C02. - Some CPU instructions seems to be changed. The following piece of code at $C1A8 is very clear: - - C1A8: A0 00 ldy #$00 ; clear Y register to use as counter. - - C1AA: B9 9D C1 lda $C19D,y ; load PIA port address - C1AD: 85 06 sta $06 ; into $06-$07 ZP vector. - C1AF: B9 92 C1 lda $C192,y ; - C1B2: 85 07 sta $07 ; - C1B4: C0 0B cpy #$0B - C1B6: B0 0C bcs $C1C4 - - ... load values to store into Accumulator... - ... - C1C6: 91 06 sta ($06),y ; store value in PIA port, indexed (Y). - C1C8: C8 iny ; increment Y - C1C9: C0 0C cpy #$0C ; finish? - C1CB: D0 DD bne $C1AA ; if not, branch to load a new PIA address. - - In this example, as soon as Y register increments, the indexed writes go out of range. - To get this piece of code working and initialize the PIAs properly, the instruction 0x91 should be - "sta ($ZP)" instead of Y indexed. (like instruction 0x92 in stock 65c02's). - - - * Jolly Joker (Impera) - - To boot this game for 1st time, DSW should be in the following position: - 1=ON 2=OFF 3=ON 4=OFF 5=OFF 6=ON 7=ON 8=OFF - - Press RESET (key F3) and then SERVICE1 & SERVICE2 (keys 9 & 0), then RESET (key F3). - When numbers start to fill the screen, press RESET (key F3) again to start the game. - - - * Joker Card 300 (Ver.A267BC, encrypted). - * Multi Win (Fun World) - - These sets seems to run in the same modified hardware. They are highly encrypted. - - Joker Card has a title nag at boot. You can wait to finish nearly one minute, - or simply press SERVICE 2 (key 0), then START (key 1) to enter the game. - - Joker Card has a weird way of play. The more you bet, the more cards burns to - get better chances. You're not betting really. Just buying removed cards. - - - * Mongolfier New - * Soccer New - - These games are based in Royal Card. They are running in a heavely modified Royal Card - hardware with a microcontroller as an extra (protection?) component and a TDA2003 as - audio amplifier. - - The extra microcontroller is a 8 bit (PLCC-44) TSC87C52-16CB from Intel (now dumped!) - - Each set has double sized ROMs. One half contains the proper set and the other half store - a complete Royal Card set, so... Is possible the existence of a shortcut,'easter egg', - simple hack or DIP switches combination to enable the Royal Card game. - - These games should be moved to a new driver in a near future, as soon as we know a bit more - about them and start to implement the missing pieces for an accurate emulation. - - - * Saloon - - This game is totally encrypted. No PIAs to drive I/O. The PCB has printed "LEOPARDO 5", so we - can expect a game called the same way to appear. - - This game should be moved to a new driver in a near future, as soon as we know a bit more about it. - - - * Fun World Quiz - - Beschreibung / Description - -------------------------- - - Fur OES 5,-- Einwurf werden 3 Kredite gegeben. Fur einen Kredit bekommt der Spieler - 500 Spielpunkte. Bei jeder Frage kann der Spieler 100, 500 oder alle Punkte einsetzen. - Wird die Frage richtig beantwortet, wird der Einsatz aufaddiert. Erreicht der Spieler - nach 5 Fragen mehr als 2500 Punkte, bekommt er Bonusfragen. Das Spiel endet bei einer - falschen Beantwortung der Frage. - - Insertion of ATS 5,- (Austrian Schilling coin) yields 5 credits. For 1 credit a player - receives 500 points. At each question a player can bet 100, 500 or all points. If a - question is answered correctly, the bet is added to the points. If a player reaches - more than 2500 points after 5 questions, he gets bonus questions. The game is over - after an incorrect answer. - - Besides notes.... - - This machine is meant to work as "amusement", with high scores like another regular arcade. - You can set it as "bet mode", allowing to choose the amount of points to play, but can't be - turned to gambling mode (no payout, keyout, etc) for pubs, etc... - - In bookkeeping mode (DIP switch #1): - - Keep joystick left to clear bookkeeping. - Keep joystick up to clear high scores. - Keep joystick down to clear credits. - Keep joystick right to exit bookkeeping. - - If the game has credits loaded, the bookkeeping mode will start - as soon as the current game ends. - - - * Novo Play Multi Card / Club Card - - This game needs a default NVRAM to work. There is a special ROM that need to be - placed into the program socket, then turn ON the board till the OK message appear. - After this operation, just switch the special ROM with the regular program. - The board now is ready to operate. - - To program the game, enter the service mode (Key 9), and then keep pressed both - HOLD2 & HOLD4 at least for 5 seconds.... - - You can see: - - C1 C2 REMOTE IN-MAX/IN-MIN CONT - - (Coin A) (Coin B) (Remote credits) (Bet Max & Minimum) (Difficult) - - - C2: Coin B, from 1-20... Selectable through HOLD1. - REMOTE: Remote Credits, from 10-100... Selectable through HOLD3. - IN-MAX: Maximum Bet allowed. From 1-40. selectable through HOLD4. - IN_MIN: Minimum Bet allowed. From 1-5. selectable through HOLD4, keeping COLLECT pressed. - CONT: Earnings control... From 1-4, selectable through HOLD5. 4 is the highest payment. - - Press DEAL/DRAW to exit the mode. - - - * Unknown Royal Card on Dino4 hardware.... - - This one is really strange. The game is running in a Dino4 hardware, plus a daughterboard - with a mexican Rockwell R65C02 + an unknown PLCC. The program/gfx are totally decrypted. - The game vectors are $C122 (RESET) and $C20F (IRQ) - - The code starts... - - C122: A2 FF LDX #$FF ; load 0xFF to reg X - C124: 9A TXS ; transfer to the stack - C125: 78 SEI ; set interrupts - C126: D8 CLD ; clear decimal - C127: 18 CLC ; clear carry - C128: A9 4C LDA #$4C ;\ - C12A: 8D 00 00 STA $0000 ; \ - C12D: A9 10 LDA #$10 ; \ set 4C 10 C2 (JMP $C210) into $0000 - C12F: 8D 01 00 STA $0001 ; / - C132: A9 C2 LDA #$C2 ; / - C134: 8D 02 00 STA $0002 ;/ - C137: 4C DC 48 JMP $48DC ; jump to $48DC... - - And the IRQ vector pointed code... does nothing! - - C20F: 40 RTI ; return from interrupt - - And the code pointed from $0000... - - C210: 48 PHA ; transfer accumulator to stack - C211: AD 01 0A LDA $0A01 ; read the PIA #2 input - C214: 29 F7 AND #$F7 ; \ compare with 0xF7 - C216: CD 01 0A CMP $0A01 ; / - C219: D0 02 BNE $C21D ; if not... jump to $C21D - C21B: 09 08 ORA #$08 ; \ clean the value - C21D: 8D 01 0A STA $0A01 ; / - C220: 68 PLA ; take out from the stack the previous accumulator value - C221: 40 RTI ; return from interrupt - - The board was later connected to a fluke, and the pieces of code dumped from the real hardware, - match 100% the ones I decrypted here. Even with the game working properly in the real hardware. - The only visible changes are in the NVRAM, where the $0000 offset hasn't the JMP $C210 instruction - injected at the start... - - - * Joker Card / Multi Card (Epoxy brick CPU) - - These series are running in a derivative hardware with epoxy CPU brick. - CPU is RP65C02A, with 2x Toshiba TC5565APL-10 RAMs. 1x Intel D27128A ROM. - and 1x PAL16L8B. - - The main program is inside the battery backed RAM, and need to be dumped. - See more notes below in the ROM loading. - - - * Royal Card (Italian, Dino 4 hardware, encrypted) - - This game is highly encrypted and is running in Dino 4 hardware. - To initialize the NVRAM, you should press both service buttons together (keys 0-9) and then reset (key F3). - Due to the way the routine is programmed, the procedure is time sensitive and often doesn't work. - - This game has a programming menu through the service mode (key 0), then pressing STOP 2 & STOP 4 together - and waiting for some seconds. - - You can see two options... - - STOP 1 ---- OPZIONI 1 - STOP 3 ---- OPZIONI 2 - - OPZIONI 1: - You can change game parameters for Gioco AB, Play Max, Play Min, Difficolt, Bonus, and Rilancio. - - OPZIONI 2: - You can change game parameters for Tabella Vincite, Velocita Simboli, Control Double, Valore Ticket, - Limit Credit, and Limit Scarico. - - In both cases, you can exit pressing the START button (key 1). - - - * Jolly Card (Italian, bootleg, set 2) - - This game PCB has a TI EP910DC-30 CPLD, like others Italian bootlegs - that have an Altera EP910PC CPLD on board. - - To init NVRAM, DIP switches must be in the following positions: - OFF ON ON ON ON ON ON ON - - Then press SERVICE 1 + SERVICE 2 and reset, then release both buttons. - - Once NVRAM is initialized, the hardware still complains about it due - to a hardware check (see more at the rom load), but is now working. - - The game seems to work for a currency that needs decimal values. - Maybe Italian Lires... - - - * Jolly Card (German, Fun World, bootleg) - - This game is a bootleg made from a Fun World original program. - The game has hidden features, as a program mode. - - In the Service menu (key 0), press HOLD 1 & HOLD 2 together for - some seconds and the programming menu will appear. - - - * Royal Card (Evona, Polish, encrypted) - - This is another highly encrypted game. - To initialize the NVRAM all DIP switches must be in ON. Keep pressed both service buttons - (keys 9 & 0) and then RESET (key F3), then release first the service 1 (key 9) and then - service 2 (key 0). - - The game does some odd things, due to a possible bug in the - decryption scheme. (see the TO DO list). - - -***************************************************************************************** - - Memory Map (generic) - -------------------- - - $0000 - $07FF NVRAM // All registers and settings. - $0800 - $0803 PIA1 // Input Ports 0 & 1. - $0A00 - $0A03 PIA2 // Input Ports 2 & 3. - $0C00 - $0C00 AY-8910 (R/C) // Read/Control. - $0C01 - $0C01 AY-8910 (W) // Write. Lamps through output ports. - $0E00 - $0E00 CRTC6845 (A) // MC6845 addressing. - $0E01 - $0E01 CRTC6845 (R/W) // MC6845 Read/Write. - - $2000 - $2FFF VideoRAM (bonuscrd/bigdeal) - $3000 - $3FFF ColorRAM (bonuscrd/bigdeal) - - $4000 - $4FFF VideoRAM (magicrd2/royalcrd) - $5000 - $5FFF ColorRAM (magicrd2/royalcrd) - - $6000 - $6FFF VideoRAM (CMC italian games) - $7000 - $7FFF ColorRAM (CMC italian games) - - $8000 - $FFFF ROM (almost all games) - - - *** MC6845 Initialization *** - - ---------------------------------------------------------------------------------------------------------------------- - register: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 - ---------------------------------------------------------------------------------------------------------------------- - jollycrd: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - jolycdae: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - jolycdcr: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - jolycdit: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - jolycdab: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - - bigdeal: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - - cuoreuno: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - elephfam: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - pool10: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - tortufam: 0x7C 0x60 0x65 0x08 0x1E 0x08 0x1D 0x1D 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - - royalcrd: 0x7C 0x60 0x65 0xA8 0x1E 0x08 0x1D 0x1C 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - magicrd2: 0x7B 0x70 0x66 0xA8 0x24 0x08 0x22 0x22 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - - monglfir: 0x7C 0x60 0x65 0xA8 0x1E 0x08 0x1D 0x1C 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - soccernw: 0x7C 0x60 0x65 0xA8 0x1E 0x08 0x1D 0x1C 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - - rcdino4: 0x7C 0x60 0x65 0x08 0x21 0x08 0x1F 0x1F 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - chinatow: 0x7C 0x60 0x65 0x08 0x21 0x08 0x1F 0x1F 0x00 0x07 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00. - - -***************************************************************************************** - - - *** TO DO *** - - - Figure out the royalcdc encryption. - - Figure out the remaining PIA connections for almost all games. - - Reverse-engineering the boot code of Jolly Card Professional 2.0, - and Royal Card Professional 2.0 to get the proper codes to boot. - - Analyze the unknown writes to $2000/$4000 in some games. - - Check for the reads to the ay8910 output ports in some games. - - Implement the MCU in monglfir and soccernw. - - Check for a possible bug in the royalcrdf decryption scheme, that - doesn't cover the BRK instruction properly, changing the next value - on the fly turning a NOP into a PLA, messing the Stack Pointer. - - -****************************************************************************************/ - -#include "emu.h" -#include "includes/funworld.h" - -#include "cpu/m6502/m65sc02.h" -#include "cpu/m6502/r65c02.h" -#include "machine/6821pia.h" -#include "machine/nvram.h" -#include "screen.h" -#include "speaker.h" - -#include "bonuscrd.lh" -#include "jollycrd.lh" -#include "novoplay.lh" -#include "royalcrd.lh" - - -#define MASTER_CLOCK XTAL(16'000'000) -#define CPU_CLOCK (MASTER_CLOCK/8) -#define SND_CLOCK (MASTER_CLOCK/8) -#define CRTC_CLOCK (MASTER_CLOCK/8) - - -/********************** -* Read/Write Handlers * -**********************/ - -WRITE8_MEMBER(funworld_state::funworld_lamp_a_w) -{ -/* - bits - - 7654 3210 - ---- ---x Credit In counter. - ---- --x- HOLD1 & HOLD3 lamps (inverted). - ---- -x-- Credit Out counter. - ---- x--- HOLD2 lamp (inverted). - ---x ---- Unknown (inverted). - --x- ---- CANCEL / COLLECT (inverted). - -x-- ---- Hopper Motor (inverted). - x--- ---- HOLD4 lamp. -*/ - m_lamps[0] = BIT(~data, 1); /* Hold1 (inverted) */ - m_lamps[2] = BIT(~data, 1); /* Hold3 (inverted, see pinouts) */ - - m_lamps[1] = BIT(~data, 3); /* Hold2 / Low (inverted) */ - m_lamps[3] = BIT(data, 7); /* Hold4 / High */ - m_lamps[5] = BIT(~data, 5); /* Cancel / Collect (inverted) */ - - machine().bookkeeping().coin_counter_w(0, data & 0x01); /* Credit In counter */ - machine().bookkeeping().coin_counter_w(7, data & 0x04); /* Credit Out counter, mapped as coin 8 */ - - m_lamps[7] = BIT(~data, 6); /* Hopper Motor (inverted) */ - -// popmessage("Lamps A: %02X", (data ^ 0xff)); -} - -WRITE8_MEMBER(funworld_state::funworld_lamp_b_w) -{ -/* - bits - - 7654 3210 - ---- ---x HOLD5 lamp. - ---- --x- DEAL/DRAW lamp. - ---- -x-- Unknown (inverted). - xxxx x--- Unknown. -*/ - m_lamps[4] = BIT(data, 0); /* Hold5 / Bet */ - m_lamps[6] = BIT(data, 1); /* Start / Deal / Draw */ - -// popmessage("Lamps B: %02X", data); -} - -WRITE_LINE_MEMBER(funworld_state::pia1_ca2_w) -{ -/* TAB and Impera games are writing 0x01 constantly, and 0x00 with each screen change. - This line is tied to sort of reset circuitery. -*/ -// popmessage("PIA1 CA2: %02X", state); -} - - -/************************* -* Memory map information * -*************************/ - -void funworld_state::funworld_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x2000, 0x2fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram"); - map(0x3000, 0x3fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram"); - map(0x4000, 0x7fff).rom(); - map(0x8000, 0xbfff).rom(); - map(0xc000, 0xffff).rom(); -} - -static uint8_t funquiz_question_bank = 0x80; - -READ8_MEMBER(funworld_state::questions_r) -{ - uint8_t* quiz = memregion("questions")->base(); - int extraoffset = ((funquiz_question_bank & 0x1f) * 0x8000); - - // if 0x80 is set, read the 2nd half of the question rom (contains header info) - if (funquiz_question_bank & 0x80) extraoffset += 0x4000; - - return quiz[offset + extraoffset]; -} - -WRITE8_MEMBER(funworld_state::question_bank_w) -{ -// printf("question bank write %02x\n", data); - funquiz_question_bank = data; -} - -void funworld_state::funquiz_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - - map(0x1800, 0x1800).w(FUNC(funworld_state::question_bank_w)); - - map(0x2000, 0x2fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram"); - map(0x3000, 0x3fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram"); - map(0x4000, 0x7fff).r(FUNC(funworld_state::questions_r)); - - map(0xc000, 0xffff).rom(); -} - -void funworld_state::magicrd2_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x2c00, 0x2cff).ram(); /* range for protection */ - map(0x3600, 0x36ff).ram(); /* some games use $3603-05 range for protection */ - map(0x3c00, 0x3cff).ram(); /* range for protection */ - map(0x4000, 0x4fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram"); - map(0x5000, 0x5fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram"); - map(0x6000, 0xffff).rom(); -} - -void funworld_state::cuoreuno_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x2000, 0x2000).nopr(); /* some unknown reads */ - map(0x3e00, 0x3fff).ram(); /* some games use $3e03-05 range for protection */ - map(0x4000, 0x5fff).rom(); /* used by rcdino4 (dino4 hw ) */ - map(0x6000, 0x6fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram"); - map(0x7000, 0x7fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram"); - map(0x8000, 0xffff).rom(); -} - - -READ8_MEMBER(chinatow_state::chinatow_r_32f0) -{ - logerror("read from 0x32f0 at offset %02X\n", offset); - switch (offset) - { - case 0: return 0xfe; - } - return 0xff; -} - -void chinatow_state::chinatow_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x2000, 0x2000).nopr(); // some unknown reads - map(0x32f0, 0x32ff).r(FUNC(chinatow_state::chinatow_r_32f0)); - map(0x4000, 0x5fff).rom(); // used by rcdino4 (dino4 hw) - map(0x6000, 0x6fff).ram().w(FUNC(chinatow_state::funworld_videoram_w)).share("videoram"); - map(0x7000, 0x7fff).ram().w(FUNC(chinatow_state::funworld_colorram_w)).share("colorram"); - map(0x8000, 0xffff).rom(); -} - -void lunapark_state::lunapark_map(address_map &map) -{ // mirrored video RAM 4000/5000 to 6000/7000 - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x4000, 0x4fff).ram().w(FUNC(lunapark_state::funworld_videoram_w)).share("videoram").mirror(0x2000); - map(0x5000, 0x5fff).ram().w(FUNC(lunapark_state::funworld_colorram_w)).share("colorram").mirror(0x2000); - map(0x8000, 0xffff).bankr("bank1"); -} - -void funworld_state::saloon_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0800).portr("IN0"); - map(0x0801, 0x0801).portr("IN1"); - map(0x0802, 0x0802).portr("IN2"); // maybe - map(0x0808, 0x0808).portr("IN3"); // maybe - map(0x0810, 0x0810).nopw(); - map(0x0a00, 0x0a00).portr("IN4"); - map(0x0a01, 0x0a01).portr("IN5"); - map(0x081b, 0x081b).portw("I2C_CK"); - map(0x081c, 0x081c).w("crtc", FUNC(mc6845_device::address_w)); - map(0x081d, 0x081d).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x1000, 0x1000).portr("I2C_DI").portw("I2C_DO"); - map(0x1800, 0x1800).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x1800, 0x1801).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x2000, 0x2003).nopr(); // check for extra ROM in $2000. if exist just jump to $2100 - map(0x6000, 0x6fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram"); - map(0x7000, 0x7fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram"); - map(0x8000, 0xffff).rom(); -} -/* - Unknown R/W - ----------- - - 0800 RW ;input? - 081a W ;unknown (W 0x20) - 081b W ;unknown (W 0x20 & 0x30) - 0810 W ;unknown - 0a01 RW ;input? - 1000 RW ;input? (W 0xff & 0xfd) - -*/ - -void funworld_state::witchryl_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x4000, 0x4fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram"); - map(0x5000, 0x5fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram"); - map(0x6000, 0x6000).portr("DSW2"); - map(0x8000, 0xffff).rom(); -} - -uint8_t intergames_state::crtc_or_psg_r(offs_t offset) -{ - if (m_crtc_selected) - return m_crtc->register_r(); - else - return m_ay8910->data_r(); // read back from both $3000 and $3001! -} - -void intergames_state::crtc_or_psg_w(offs_t offset, uint8_t data) -{ - if (!m_crtc_selected) - m_ay8910->address_data_w(offset, data); - else if (BIT(offset, 0)) - m_crtc->register_w(data); - else - m_crtc->address_w(data); -} - -uint8_t intergames_state::prot_r(offs_t offset) -{ - if (!machine().side_effects_disabled()) - { - if (offset == 0x99) - m_crtc_selected = false; - else - logerror("%s: Protection read from $%04X\n", machine().describe_context(), offset + 0x3600); - } - - return 0xff; -} - -void intergames_state::prot_w(offs_t offset, uint8_t data) -{ - logerror("%s: Writing $#%02X to $%04X\n", machine().describe_context(), data, offset + 0x3600); -} - -void intergames_state::machine_reset() -{ - m_crtc_selected = true; -} - -void intergames_state::intergames_map(address_map &map) -{ - map(0x0000, 0x0fff).ram().share("nvram"); - map(0x2000, 0x2fff).ram().w(FUNC(intergames_state::funworld_videoram_w)).share("videoram"); - map(0x3000, 0x3001).rw(FUNC(intergames_state::crtc_or_psg_r), FUNC(intergames_state::crtc_or_psg_w)); - map(0x3200, 0x3203).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x3400, 0x3403).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x3600, 0x37ff).rw(FUNC(intergames_state::prot_r), FUNC(intergames_state::prot_w)); - map(0x5000, 0x5fff).mirror(0x2000).ram().w(FUNC(intergames_state::funworld_colorram_w)).share("colorram"); - map(0x8000, 0xdfff).rom(); - map(0xe000, 0xefff).ram(); - map(0xf000, 0xffff).rom(); -} - -void funworld_state::fw_brick_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x2000, 0x2fff).ram().w(FUNC(funworld_state::funworld_videoram_w)).share("videoram"); - map(0x3000, 0x3fff).ram().w(FUNC(funworld_state::funworld_colorram_w)).share("colorram"); - map(0x4000, 0x7fff).nopr(); // check for the brick RAM programming ROM. - map(0x8000, 0xbfff).ram().share("nvram1"); - map(0xc000, 0xffff).rom(); -} - -void royalcrdf_state::royalcrdf_map(address_map &map) -{ - map(0x0000, 0x07ff).ram().share("nvram"); - map(0x0800, 0x0803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0a00, 0x0a03).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x0c00, 0x0c00).r("ay8910", FUNC(ay8910_device::data_r)); - map(0x0c00, 0x0c01).w("ay8910", FUNC(ay8910_device::address_data_w)); - map(0x0e00, 0x0e00).w("crtc", FUNC(mc6845_device::address_w)); - map(0x0e01, 0x0e01).rw("crtc", FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w)); - map(0x4000, 0x4fff).ram().w(FUNC(royalcrdf_state::funworld_videoram_w)).share("videoram"); - map(0x5000, 0x5fff).ram().w(FUNC(royalcrdf_state::funworld_colorram_w)).share("colorram"); - map(0x6000, 0x6003).rw("pia1", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x6800, 0x6803).rw("pia0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); - map(0x8000, 0xbfff).rom(); - map(0xc000, 0xffff).rom(); -} - - -/************************* -* Input ports * -*************************/ - -static INPUT_PORTS_START( funworld ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Halten (Hold) 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Loeschen (Cancel) / Kassieren (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Geben (Start) / Gamble (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Halten (Hold) 5 / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buchhalt (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Halten (Hold) 4 / Hoch (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Halten (Hold) 2 / Tief (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Halten (Hold) 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hoppersch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreib (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPNAME( 0x02, 0x00, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x04, "10 Points/Coin" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x08, "10 Points/Coin" ) - PORT_DIPNAME( 0x10, 0x00, "Insert" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, "Dattl Insert" ) - PORT_DIPSETTING( 0x10, "TAB Insert" ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( jolycdcr ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Navijanje (Remote)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop (Hold) 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Ponistavange (Cancel) / Kasiranje (Take) / Autohold") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Djelenje (Start) / Gamble (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop (Hold) 5 / Ulog (Bet) / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Konobar (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Namjestit (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop (Hold) 4 / Veca (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop (Hold) 2 / Manja (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop (Hold) 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Vratiti Nazad (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPNAME( 0x02, 0x00, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( jolycdit ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop (Hold) 1 / Alta (High)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Doppio (Double) / Autohold") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop (Hold) 5 / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop (Hold) 4 / Accredito (Take)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop (Hold) 2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop (Hold) 3 / Bassa (Low)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPNAME( 0x02, 0x00, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "50 Points/Pulse" ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6") - PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( jolycdib ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop (Hold) 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Autohold / Accredito (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Doppio (Double)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop (Hold) 5 / Bet / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop (Hold) 4 / Alta (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop (Hold) 2 / Bassa (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop (Hold) 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test1") PORT_CODE(KEYCODE_A) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test2") PORT_CODE(KEYCODE_S) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test3") PORT_CODE(KEYCODE_D) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test4") PORT_CODE(KEYCODE_F) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test5") PORT_CODE(KEYCODE_G) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test6") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test7") PORT_CODE(KEYCODE_J) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test8") PORT_CODE(KEYCODE_K) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test9") PORT_CODE(KEYCODE_L) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test10") PORT_CODE(KEYCODE_E) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("test11") PORT_CODE(KEYCODE_R) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enables Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* when is ON, allow the player to activate/deactivate the autohold through CANCEL button */ - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( jolycdic ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop (Hold) 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Autohold / Accredito (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Doppio (Double)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop (Hold) 5 / Bet / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop (Hold) 4 / Alta (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop (Hold) 2 / Bassa (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop (Hold) 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Manual Payout SW") PORT_CODE(KEYCODE_A) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") // place '10000000' for NVRAM creation. - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x04, "Coinage B" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, "10 Credits" ) - PORT_DIPSETTING( 0x00, "5 Credits" ) - PORT_DIPNAME( 0x08, 0x08, "Coinage A" ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, "20 Credits" ) - PORT_DIPSETTING( 0x00, "1 Credit" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enables Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* when is ON, allow the player to activate/deactivate the autohold through CANCEL button */ - PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( jolyc980 ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Navijanje (Remote)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop (Hold) 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Ponistavange (Cancel) / Kasiranje (Take) / Autohold") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Djelenje (Start) / Gamble (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop (Hold) 5 / Ulog (Bet) / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Konobar (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Namjestit (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop (Hold) 4 / Veca (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop (Hold) 2 / Manja (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop (Hold) 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Vratiti Nazad (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( bonuscrd ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Red") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Take") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Black / Bet") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Hoch (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Tief (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Half Gamble") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Payout") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") -/* DIP switch 8 should be left ON by default (all remaining ones in OFF) - to allow initialization. You can change settings later, after the boot. -*/ - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Bonus Type" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "Good Luck!" ) - PORT_DIPSETTING( 0x02, "55/77/99 Bonus" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x08, "10 Points/Coin" ) - PORT_DIPNAME( 0x10, 0x00, "D-UP Type" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, "Forced, Red-Low-High-Black" ) - PORT_DIPSETTING( 0x10, "Classic Hi-Lo" ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( bigdeal ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Take") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Stake") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Nagy (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Icsi (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Half Gamble") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") -/* DIP switch 8 should be left ON by default (all remaining ones in OFF) - to allow initialization. You can change settings later, after the boot. -*/ - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Bonus Type" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "Good Luck!" ) - PORT_DIPSETTING( 0x02, "55/77/99 Bonus" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x04, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x08, "10 Points/Coin" ) - PORT_DIPNAME( 0x10, 0x00, "D-UP Type" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, "Forced, Red-Low-High-Black" ) - PORT_DIPSETTING( 0x10, "Classic Hi-Lo" ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( magicrd2 ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Take") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Stake") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / High") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Low") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper SW") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") /* remote credits settings are always 10 points/pulse */ - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x04, "10 Points/Coin" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x08, "10 Points/Coin" ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( royalcrd ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Halten (Hold) 1 / Hoch (High)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Loeschen/Gamble (Cancel/Play)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Geben (Start)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Halten (Hold) 5 / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buchhalt (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Halten (Hold) 4 / Kassieren (Take)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Halten (Hold) 2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Halten (Hold) 3 / Tief (Low)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("unknown bit 08") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hoppersch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreib (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7") /* listed as 'Coin-C' in some sources */ - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x04, "10 Points/Coin" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x08, "10 Points/Coin" ) - PORT_DIPNAME( 0x10, 0x10, "Insert" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, "Dattl Insert" ) - PORT_DIPSETTING( 0x10, "TAB Insert" ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( royalcrdf ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Kredyt (Remote)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Zlikwidow (Cancel)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Rachunek (Account)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Vstawiac (Service 2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Vyplatit (Payout)") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Odpis (Keyout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "Bonus" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x40, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( royaljp ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Halten (Hold) 1 / Hoch (High)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Loeschen/Gamble (Cancel/Play)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Geben (Start)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Halten (Hold) 5 / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buchhalt (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Halten (Hold) 4 / Kassieren (Take)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Halten (Hold) 2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Halten (Hold) 3 / Tief (Low)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("unknown bit 08") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hoppersch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreib (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - -/* ________________________________________________________________________ - |DIP Schalter 1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | - |________________________________________|___|___|___|___|___|___|___|___| - |Hopperbetrieb über Board ein/on |on | | | | | | | | - |(Hopper Payout) aus/off |off| | | | | | | | - |________________________________________|___|___|___|___|___|___|___|___| - |Autohold an/yes | |on | | | | | | | - | aus/no | |off| | | | | | | - |________________________________________|___|___|___|___|___|___|___|___| - |Gewinn ab: "Hohes Paar"/"High pair" | | |on | | | | | | - |(Profit) "König oder As"/"King or Ace"| | |off| | | | | | - |________________________________________|___|___|___|___|___|___|___|___| - |Insert "Dattl" | | | |on | | | | | - |Insert "Royal-Jackpot" | | | |off| | | | | - |________________________________________|___|___|___|___|___|___|___|___| - |Coin A = 10 Coin B = 50 | | | | |on |on | | | - |Coin A = 10 Coin B = 20 | | | | |on |off| | | - |Coin A = 1 Coin B = 20 | | | | |off|off| | | - |Coin A = 1 Coin B = 50 | | | | |off|on | | | - |________________________________________|___|___|___|___|___|___|___|___| - |Immer / always | | | | | | |off| | - |________________________________________|___|___|___|___|___|___|___|___| - |Keyboard Test | | | | | | | |on | - |Spielbetrieb / Maingame | | | | | | | |off| - |________________________________________|___|___|___|___|___|___|___|___| - - Default Settings from Video Klein: 01101100 - -*/ - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Main Game" ) - PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:7" ) // Shown as "Always Off" in the manual - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, "50 Points/Coin" ) - PORT_DIPSETTING( 0x04, "20 Points/Coin" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "10 Points/Coin" ) - PORT_DIPSETTING( 0x08, "1 Point/Coin" ) - PORT_DIPNAME( 0x10, 0x10, "Insert" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, "Dattl Insert" ) - PORT_DIPSETTING( 0x10, "Royal Jackpot" ) - PORT_DIPNAME( 0x20, 0x00, "Profit" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "Hohes Paar" ) - PORT_DIPSETTING( 0x20, "2 Kings or Aces" ) - PORT_DIPNAME( 0x40, 0x00, "Autohold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPSETTING( 0x40, DEF_STR( No ) ) - PORT_DIPNAME( 0x80, 0x80, "Hopper Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( cuoreuno ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no remote credits */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1 / Switch Bet (1-Max)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Bet / Prendi (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Gioca (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5 / Half Gamble / Super Game") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4 / Alta (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2 / Bassa (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "Test Mode" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x60, 0x60, "Super Game Payment Type" ) PORT_DIPLOCATION("SW1:3,2") - PORT_DIPSETTING( 0x00, "Manual - User Choice 1" ) - PORT_DIPSETTING( 0x20, "Manual - Coins" ) - PORT_DIPSETTING( 0x40, "Manual - Tickets" ) - PORT_DIPSETTING( 0x60, "Manual - User Choice 2" ) - - /* the following one (1st DSW) seems to be disconnected - to avoid the use of remote credits or direct payout */ - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( pool10 ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no remote credits */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1 / Switch Bet (1-Max)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Bet / Prendi (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Gioca (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5 / Half Gamble / Super Game") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4 / Alta (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2 / Bassa (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "Test Mode" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x60, 0x60, "Super Game Payment Type" ) PORT_DIPLOCATION("SW1:3,2") - PORT_DIPSETTING( 0x00, "Manual - User Choice 1" ) - PORT_DIPSETTING( 0x20, "Manual - Coins" ) - PORT_DIPSETTING( 0x40, "Manual - Tickets" ) - PORT_DIPSETTING( 0x60, "Manual - User Choice 2" ) - - /* direct payout without play Super Game */ - PORT_DIPNAME( 0x80, 0x80, "Direct Payout (tickets)" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( lunapark ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no remote credits */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1 / Switch Bet (1-Max)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Bet / Prendi (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Gioca (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5 / Half Gamble / Super Game") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4 / Alta (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2 / Bassa (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - /* the following one seems to be disconnected - to avoid the use of remote credits or direct payout */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - /* the following one is connected to 1st DSW and is meant - for switch between different programs stored in different - halves of the program ROM */ - PORT_START("SELDSW") - PORT_DIPNAME( 0x01, 0x00, "Game Selector" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "PROGRAM 1, (5 TIRI LIRE 500, ABILITA VINTE)" ) - PORT_DIPSETTING( 0x01, "PROGRAM 2, (10 TIRI LIRE 500, PARTITA VINTE)" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( jolyjokra ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Halten (Hold) 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Loeschen (Cancel) / Kassieren (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Geben (Start) / Gamble (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Halten (Hold) 5 / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buchhalt (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Halten (Hold) 4 / Hoch (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Halten (Hold) 2 / Tief (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Halten (Hold) 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hoppersch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreib (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Play" ) - PORT_DIPNAME( 0x02, 0x00, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x04, "10 Points/Coin" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x08, "10 Points/Coin" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x00, "disabled" ) - PORT_DIPSETTING( 0x10, "enabled" ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x40, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - - PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( vegasslw ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Kasiraj (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Kockaj (Double)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Ulog (Bet)") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buch (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Velika (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Mala (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Auszahlen") PORT_CODE(KEYCODE_E) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper Switch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreiben (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( vegasfst ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Prihoduj (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Dupliraj (Double)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Ulog (Bet)") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buch (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Velika (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Mala (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Auszahlen") PORT_CODE(KEYCODE_E) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper Switch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreiben (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "100 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "1000 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( vegasfte ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Kasiraj (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Kockaj (Double)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / +Ulog (Add Bet)") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buch (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Velika (High) / -Ulog (Remove Bet)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Mala (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Auszahlen") PORT_CODE(KEYCODE_E) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper Switch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreiben (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "100 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "1000 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( vegasmil ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Prihoduj (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Dupliraj (Double)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Ulog (Bet)") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buch (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Velika (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Mala (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Auszahlen") PORT_CODE(KEYCODE_E) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper Switch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreiben (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - - /* after nvram init, set the following one to 'manual' - to allow the remote credits mode to work */ - PORT_DIPNAME( 0x80, 0x00, "Payout" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( saloon ) - PORT_START("IN0") // 0800h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Play / Start / Enter") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-2") PORT_CODE(KEYCODE_2) // still unknown... - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4 / High / Menu Down") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Take / Autohold / Exit") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Menu") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Menu Up") PORT_CODE(KEYCODE_6) // check for extra functions... - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5 / Bet") - - PORT_START("IN1") // 0801h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-1") PORT_CODE(KEYCODE_A) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-2") PORT_CODE(KEYCODE_S) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-3") PORT_CODE(KEYCODE_D) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-4") PORT_CODE(KEYCODE_F) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-5") PORT_CODE(KEYCODE_G) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-6") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-7") PORT_CODE(KEYCODE_J) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_NAME("1-8") PORT_CODE(KEYCODE_K) - - PORT_START("IN2") // 0802h - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2 / Low") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("IN3") // 0808h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Credits IN/OUT") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Keyout (Scarico Coin)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Warm Reset") PORT_CODE(KEYCODE_R) - - PORT_START("IN4") // 0A00h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-1") PORT_CODE(KEYCODE_1_PAD) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-2") PORT_CODE(KEYCODE_2_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-3") PORT_CODE(KEYCODE_3_PAD) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-4") PORT_CODE(KEYCODE_4_PAD) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-5") PORT_CODE(KEYCODE_5_PAD) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-6") PORT_CODE(KEYCODE_6_PAD) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-7") PORT_CODE(KEYCODE_7_PAD) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("4-8") PORT_CODE(KEYCODE_8_PAD) - - PORT_START("IN5") // 0A01h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-1") PORT_CODE(KEYCODE_Q) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-2") PORT_CODE(KEYCODE_L) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-3") PORT_CODE(KEYCODE_E) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-4") PORT_CODE(KEYCODE_0) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-5") PORT_CODE(KEYCODE_T) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-6") PORT_CODE(KEYCODE_Y) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-7") PORT_CODE(KEYCODE_U) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("5-8") PORT_CODE(KEYCODE_I) - - PORT_START("I2C_CK") // 081Bh - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("i2cmem" , i2cmem_device, write_scl) // Serial Clock - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) - - PORT_START("I2C_DI") // 1000h Input - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_READ_LINE_DEVICE_MEMBER("i2cmem", i2cmem_device, read_sda) // Serial Data In - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("I2C_DO") // 1000h Output - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("i2cmem", i2cmem_device, write_sda) // Serial Data Out - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( funquiz ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 ) // start? - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START2 ) // start? - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START3 ) // start? - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START4 ) // start or clear? - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY // joystick right - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY // joystick left - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY // joystick up - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY // joystick down - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // coin 2 - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // coin 1 - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") -/* - 1 | Buchhaltung / Bookkeeping. - 2 | Nicht verwendet / Not used. - 3 | Ohne Zahlen (Wien) / No numbers (Vienna). - 4 | Nicht verwendet / Not used. - 5 | Nicht verwendet / Not used. - 6 | Richtige Antwort wird angezeigt / Right answer is shown. - 7 | Frage wird bei Einsatz angezeigt / Question is shown when bet is made. - 8 | Spiel mit Einsatzwahl / Game with betting. -*/ - PORT_DIPNAME( 0x01, 0x00, "Game with betting" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Show question in bet stage" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Right answer is shown" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "No numbers (Vienna)" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Bookkeeping" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( funquiza ) - PORT_START("IN0") // 0800h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Option B") PORT_CODE(KEYCODE_X) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Option A") PORT_CODE(KEYCODE_Z) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START ) PORT_NAME("Start / G") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Option F") PORT_CODE(KEYCODE_N) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Books 1") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Books 2") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Option E") PORT_CODE(KEYCODE_B) - - PORT_START("IN1") // 0801h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Option C") PORT_CODE(KEYCODE_C) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Option D") PORT_CODE(KEYCODE_V) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("IN2") // 0A00h - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") // 0A01h -/* - 1 | Buchhaltung / Bookkeeping. - 2 | Nicht verwendet / Not used. - 3 | Ohne Zahlen (Wien) / No numbers (Vienna). - 4 | Nicht verwendet / Not used. - 5 | Nicht verwendet / Not used. - 6 | Richtige Antwort wird angezeigt / Right answer is shown. - 7 | Frage wird bei Einsatz angezeigt / Question is shown when bet is made. - 8 | Spiel mit Einsatzwahl / Game with betting. -*/ - PORT_DIPNAME( 0x01, 0x00, "Game with betting" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Show question in bet stage" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Right answer is shown" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "No numbers (Vienna)" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Bookkeeping" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( witchryl ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Halten (Hold) 1 / Hoch (High)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Loeschen/Gamble (Cancel/Play)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Geben (Start)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Halten (Hold) 5 / Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Buchhalt (Service1)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Einstellen (Service2)") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Halten (Hold) 4 / Kassieren (Take)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Halten (Hold) 2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Halten (Hold) 3 / Tief (Low)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("unknown bit 08") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hoppersch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Abschreib (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "State" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x00, "Keyboard Test" ) - PORT_DIPSETTING( 0x01, "Game" ) - PORT_DIPNAME( 0x02, 0x02, "Remote Value" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x00, "10 Points/Pulse" ) - PORT_DIPSETTING( 0x02, "100 Points/Pulse" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x04, "10 Points/Coin" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Points/Coin" ) - PORT_DIPSETTING( 0x08, "10 Points/Coin" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Joker" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x00, "With Joker" ) /* also enable Five of a Kind */ - PORT_DIPSETTING( 0x20, "Without Joker" ) - PORT_DIPNAME( 0x40, 0x00, "Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x00, "Auto Hold" ) - PORT_DIPSETTING( 0x40, "No Auto Hold" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( novoplay ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Collect (D-UP) / Autohold") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Deal/Draw / Double") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet / Half") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service 1 / Test") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Service 2 / Select") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / High") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Low") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper Switch") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Collect (Payout)") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "Test Mode" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x00, "5 Credits / Coin" ) - PORT_DIPSETTING( 0x08, "10 Credits / Coin" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Game Type" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, "Multi Card (without Jokers)" ) - PORT_DIPSETTING( 0x00, "Club Card (with Jokers)" ) - PORT_DIPNAME( 0x40, 0x40, "Allow Autohold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x80, 0x00, "Payout Mode" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x00, "Hopper" ) - PORT_DIPSETTING( 0x80, "Manual Payout SW" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( chinatow ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no remote credits */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1 / Switch Bet (1-Max)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Bet / Prendi (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Gioca (Play) / Gmable") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5 / Half Gamble / Super Game") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4 / Alta (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2 / Bassa (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "Test Mode" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Counter" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, "X10" ) - PORT_DIPSETTING( 0x00, "X1" ) - PORT_DIPNAME( 0x04, 0x04, "Royal Flush" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, "With" ) - PORT_DIPSETTING( 0x00, "Without" ) - PORT_DIPNAME( 0x08, 0x08, "5 of a kind" ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, "With" ) - PORT_DIPSETTING( 0x00, "Without" ) - PORT_DIPNAME( 0x60, 0x60, "Payout type" ) PORT_DIPLOCATION("SW1:3,2") - PORT_DIPSETTING( 0x00, "Ticket + Hopper" ) - PORT_DIPSETTING( 0x20, "Ticket" ) - PORT_DIPSETTING( 0x40, "Hopper" ) - PORT_DIPSETTING( 0x60, "Ticket + Hopper" ) - PORT_DIPNAME( 0x90, 0x90, "Coin/Credit ratio" ) PORT_DIPLOCATION("SW1:1,4") - PORT_DIPSETTING( 0x00, "1 coin 1 credit" ) - PORT_DIPSETTING( 0x10, "1 coin 1 credit" ) - PORT_DIPSETTING( 0x80, "1 coin 5 credits" ) - PORT_DIPSETTING( 0x90, "1 coin 10 credits" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( rcdino4 ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no remote credits */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Bet") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "Test Mode" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Royal Flush" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPNAME( 0x04, 0x04, "5 of a Kind" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPNAME( 0x18, 0x08, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:5,4") - PORT_DIPSETTING( 0x08, "1C-10C" ) - PORT_DIPSETTING( 0x10, "1C-1C" ) - PORT_DIPSETTING( 0x18, "1C-2C" ) - PORT_DIPSETTING( 0x00, "1C-5C" ) - PORT_DIPNAME( 0x60, 0x60, "Payment Type" ) PORT_DIPLOCATION("SW1:3,2") - PORT_DIPSETTING( 0x00, "Ticket + Hopper" ) - PORT_DIPSETTING( 0x20, "Ticket" ) - PORT_DIPSETTING( 0x40, "Hopper" ) - PORT_DIPSETTING( 0x60, "Ticket + Hopper" ) - PORT_DIPNAME( 0x80, 0x80, "Pagamenti (Payment)" ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, "Pagamenti (Payment) A" ) - PORT_DIPSETTING( 0x00, "Pagamenti (Payment) B" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( royal ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no remote credits */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Stop 1 / Switch Bet (1-Max)") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Clear / Bet / Prendi (Take)") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Gioca (Play)") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Stop 5 / Half Gamble / Super Game") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Stop 4 / Alta (High)") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Stop 2 / Bassa (Low)") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Stop 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Ticket") PORT_CODE(KEYCODE_8) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x00, "Allow to Boot" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( fw_brick1 ) - PORT_INCLUDE( novoplay ) - PORT_MODIFY("DSW") - PORT_DIPNAME( 0x20, 0x00, "Game Type" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, "Multi Card (without Jokers)" ) - PORT_DIPSETTING( 0x00, "Joker Card (with Jokers)" ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( intrgmes ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Remote") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("Cancel / Take") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Draw") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE2 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / High") - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Low") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("I /7") PORT_CODE(KEYCODE_E) // I /7 - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("F. C.") PORT_CODE(KEYCODE_R) // F.C. - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Hopper SW") PORT_CODE(KEYCODE_T) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("CAV") PORT_CODE(KEYCODE_Y) // CAV. - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Collect") - - PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("SER. IN") PORT_CODE(KEYCODE_A) // SER. IN - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("II/D") PORT_CODE(KEYCODE_S) // II/D - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("SER. SEL.") PORT_CODE(KEYCODE_D) // SER. SEL. - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("II/C") PORT_CODE(KEYCODE_F) // II/C - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("II/3") PORT_CODE(KEYCODE_G) // II/3 - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("II/B") PORT_CODE(KEYCODE_H) // II/B - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("II/2") PORT_CODE(KEYCODE_J) // II/2 - - PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "Test Mode" ) PORT_DIPLOCATION("SW1:8") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "55/77/99-Bonus" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Language" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x04, "English" ) - PORT_DIPSETTING( 0x00, "Deutsche" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Auto Hold" ) PORT_DIPLOCATION("SW1:2") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - - -/************************* -* Graphics Layouts * -*************************/ - -static const gfx_layout charlayout = -{ - 4,8, - RGN_FRAC(1,2), - 4, - { RGN_FRAC(0,2), RGN_FRAC(0,2) + 4, RGN_FRAC(1,2), RGN_FRAC(1,2) + 4 }, - { 3, 2, 1, 0 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*4*2 -}; - - -/****************************** -* Graphics Decode Information * -******************************/ - -/* The palette system is adressable through a PLD. - The game could have 2 different palettes, located - in the first and second half of the bipolar PROM. -*/ - -static GFXDECODE_START( gfx_fw1stpal ) /* Adressing the first half of the palette */ - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) -GFXDECODE_END - -static GFXDECODE_START( gfx_fw2ndpal ) /* Adressing the second half of the palette */ - GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x100, 16 ) -GFXDECODE_END - - -/*********************** -* PIA Interfaces * -***********************/ - -/* - TAB light green board - --------------------- - - PIA 0 PIA 1 - .--------u--------. .--------u--------. - |01 VSS CA1 40|- GND |01 VSS CA1 40|- GND - |02 PA0 CA2 39|- N/C |02 PA0 CA2 39|- RESET circuitery - |03 PA1 /IRQA 38|- N/C |03 PA1 /IRQA 38|- 04 CPU (65C02) - |04 PA2 /IRQB 37|- N/C |04 PA2 /IRQB 37|- N/C - |05 PA3 /RS0 36|- 10 ROM(PRG) |05 PA3 /RS0 36|- 10 ROM(PRG) - |06 PA4 /RS1 35|- 09 ROM(PRG) |06 PA4 /RS1 35|- 23 AY(SOUND) - |07 PA5 /RESET 34|- 09 GAL/PAL |07 PA5 /RESET 34|- 37 AY(SOUND) - |08 PA6 D0 33| |08 PA6 D0 33| - |09 PA7 D1 32| |09 PA7 D1 32| - |10 PB0 D2 31| |10 PB0 D2 31| - |11 PB1 D3 30| |11 PB1 D3 30| - |12 PB2 D4 29| |12 PB2 D4 29| - |13 PB3 D5 28| |13 PB3 D5 28| - |14 PB4 D6 27| |14 PB4 D6 27| - |15 PB5 D7 26| |15 PB5 D7 26| - |16 PB6 E 25| |16 PB6 E 25| - |17 PB7 CS1 24| |17 PB7 CS1 24| - GND -|18 CB1 /CS2 23| N/C -|18 CB1 /CS2 23| - GND -|19 CB2 CS0 22| N/C -|19 CB2 CS0 22| - |20 VCC R/W 21| |20 VCC R/W 21| - '-----------------' '-----------------' - - - Novo Play Multi Card - -------------------- - - PIA 0 PIA 1 - .--------u--------. .--------u--------. - |01 VSS CA1 40|- GND |01 VSS CA1 40|- GND - |02 PA0 CA2 39|- GND |02 PA0 CA2 39|- N/C - |03 PA1 /IRQA 38|- 65C02 (-IRQ) |03 PA1 /IRQA 38|- 65C02 (-IRQ) - |04 PA2 /IRQB 37|- N/C |04 PA2 /IRQB 37|- N/C - |05 PA3 /RS0 36|- A0 |05 PA3 /RS0 36|- A0 - |06 PA4 /RS1 35|- A1 |06 PA4 /RS1 35|- A1 - |07 PA5 /RESET 34|- 65C02 (-RST) |07 PA5 /RESET 34|- 65C02 (-RST) - |08 PA6 D0 33| |08 PA6 D0 33| - |09 PA7 D1 32| |09 PA7 D1 32| - |10 PB0 D2 31| |10 PB0 D2 31| - |11 PB1 D3 30| |11 PB1 D3 30| - |12 PB2 D4 29| |12 PB2 D4 29| - |13 PB3 D5 28| |13 PB3 D5 28| - |14 PB4 D6 27| |14 PB4 D6 27| - |15 PB5 D7 26| |15 PB5 D7 26| - |16 PB6 E 25| |16 PB6 E 25| - |17 PB7 CS1 24| |17 PB7 CS1 24| - GND -|18 CB1 /CS2 23| N/C -|18 CB1 /CS2 23| - GND -|19 CB2 CS0 22| N/C -|19 CB2 CS0 22| - |20 VCC R/W 21| |20 VCC R/W 21| - '-----------------' '-----------------' - -*/ - -/* these ports are set to output anyway, but this quietens the log */ -READ8_MEMBER(funworld_state::funquiz_ay8910_a_r) -{ - return 0x00; -} - -READ8_MEMBER(funworld_state::funquiz_ay8910_b_r) -{ - return 0x00; -} - -/******************************** -* Machine Start & Reset * -********************************/ - -void lunapark_state::machine_start() -{ - funworld_state::machine_start(); - uint8_t *ROM = memregion("maincpu")->base(); - membank("bank1")->configure_entries(0, 2, &ROM[0], 0x8000); -} - -void lunapark_state::machine_reset() -{ - uint8_t seldsw = (ioport("SELDSW")->read() ); - popmessage("ROM Bank: %02X", seldsw); - - membank("bank1")->set_entry(seldsw); -} - -/************************** -* Machine Drivers * -**************************/ - -void funworld_state::fw1stpal(machine_config &config) -{ - /* basic machine hardware */ - M65SC02(config, m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funworld_map); - - NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - - pia6821_device &pia0(PIA6821(config, "pia0", 0)); - pia0.readpa_handler().set_ioport("IN0"); - pia0.readpb_handler().set_ioport("IN1"); - - pia6821_device &pia1(PIA6821(config, "pia1", 0)); - pia1.readpa_handler().set_ioport("IN2"); - pia1.readpb_handler().set_ioport("DSW"); - pia1.ca2_handler().set(FUNC(funworld_state::pia1_ca2_w)); - - /* video hardware */ - - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - screen.set_size((124+1)*4, (30+1)*8); /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1) */ - screen.set_visarea(0*4, 96*4-1, 0*8, 29*8-1); /* Taken from MC6845 init, registers 01 & 06 */ - screen.set_screen_update(FUNC(funworld_state::screen_update_funworld)); - - GFXDECODE(config, m_gfxdecode, m_palette, gfx_fw1stpal); - PALETTE(config, m_palette, FUNC(funworld_state::funworld_palette), 0x200); - - mc6845_device &crtc(MC6845(config, "crtc", CRTC_CLOCK)); /* 2MHz, verified on jollycrd & royalcrd */ - crtc.set_screen("screen"); - crtc.set_show_border_area(false); - crtc.set_char_width(4); - crtc.out_vsync_callback().set_inputline(m_maincpu, INPUT_LINE_NMI); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - - ay8910_device &ay8910(AY8910(config, "ay8910", SND_CLOCK)); /* 2MHz */ - ay8910.port_a_write_callback().set(FUNC(funworld_state::funworld_lamp_a_w)); - ay8910.port_b_write_callback().set(FUNC(funworld_state::funworld_lamp_b_w)); - ay8910.add_route(ALL_OUTPUTS, "mono", 2.5); /* analyzed to avoid clips */ -} - - -void funworld_state::fw2ndpal(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funworld_map); - - m_gfxdecode->set_info(gfx_fw2ndpal); -} - - - -void funworld_state::funquiz(machine_config &config) -{ - fw1stpal(config); // gray background. -// fw2ndpal(config); // blue background. - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funquiz_map); - - subdevice<ay8910_device>("ay8910")->port_a_read_callback().set(FUNC(funworld_state::funquiz_ay8910_a_r)); - subdevice<ay8910_device>("ay8910")->port_b_read_callback().set(FUNC(funworld_state::funquiz_ay8910_b_r)); -} - - -void magicrd2_state::magicrd2(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &magicrd2_state::magicrd2_map); - - subdevice<mc6845_device>("crtc")->set_visarea_adjust(0, -56, 0, 0); - - ay8910_device &ay8910(AY8910(config.replace(), "ay8910", SND_CLOCK)); /* 2MHz */ - ay8910.port_a_write_callback().set(FUNC(magicrd2_state::funworld_lamp_a_w)); - ay8910.port_b_write_callback().set(FUNC(magicrd2_state::funworld_lamp_b_w)); - ay8910.add_route(ALL_OUTPUTS, "mono", 1.5); /* analyzed to avoid clips */ -} - - -void funworld_state::royalcd1(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* (G65SC02P in pro version) 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::magicrd2_map); -} - - -void funworld_state::royalcd2(machine_config &config) -{ - fw2ndpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::magicrd2_map); -} - - -void funworld_state::cuoreuno(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::cuoreuno_map); -} - - -void funworld_state::saloon(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::saloon_map); - - config.device_remove("pia0"); - config.device_remove("pia1"); - - /* Serial Memory */ - i2cmem_device &m_i2cmem(I2CMEM(config, "i2cmem", 0)); - m_i2cmem.set_data_size(256); - m_i2cmem.set_e0(1); -} - - -void funworld_state::witchryl(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::witchryl_map); -} - - -void lunapark_state::lunapark(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &lunapark_state::lunapark_map); // mirrored video RAM (4000/5000 to 6000/7000). -} - - -void chinatow_state::chinatow(machine_config &config) -{ - fw2ndpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &chinatow_state::chinatow_map); -} - -void chinatow_state::rcdino4(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &chinatow_state::chinatow_map); -} - - -void intergames_state::intrgmes(machine_config &config) -{ - fw1stpal(config); - - M65SC02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &intergames_state::intergames_map); - //m_maincpu->set_periodic_int(FUNC(intergames_state::nmi_line_pulse), attotime::from_hz(60)); - - m_gfxdecode->set_info(gfx_fw2ndpal); -} - - -void funworld_state::fw_brick_1(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::fw_brick_map); - - NVRAM(config, "nvram1", nvram_device::DEFAULT_ALL_0); -} - - -void funworld_state::fw_brick_2(machine_config &config) -{ - fw2ndpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::fw_brick_map); - - NVRAM(config, "nvram1", nvram_device::DEFAULT_ALL_0); -} - -READ8_MEMBER(royalcrdf_state::royalcrdf_opcode_r) -{ - // address-based data bitswap; 4 address bits are involved, but only - // 5 different bitswaps exist, with clear regularities, so the - // hardware is probably selecting the appropiate one by - // applying passive logic to the address bits; we encode it - // indexed by all the involved address bits instead. A notable fact is that - // all the permutations in royalcrdf & multiwin are odd-parity ones, - // so an intriguing possibility is that the hardware be applying - // a fixed odd number (3 would suffice) of address-dependent - // 1-bit-to-1-bit bitswaps; furthermore, in both sets one of the - // bitswaps is equal to the one applied to all the data (but notice - // that, in those cases, we are applying it twice to opcodes here) - constexpr std::array<std::array<int,4>,16> bs{ // bitswaps for data bits 1,2,5 & 7, in that order - 1,5,2,7, - 1,5,2,7, - 5,1,7,2, - 7,2,5,1, - 1,5,2,7, - 1,5,2,7, - 5,2,1,7, - 7,2,5,1, - 1,5,2,7, - 1,5,2,7, - 5,1,7,2, - 1,7,5,2, - 1,5,2,7, - 1,5,2,7, - 5,2,1,7, - 1,7,5,2, - }; - - // xor masks, dependent on the same address bits than the bitswaps, - // and with the same 5-values structure - constexpr std::array<uint8_t,16> xm { - 0x02, 0x02, 0xa6, 0x82, 0x02, 0x02, 0x06, 0x82, 0x02, 0x02, 0xa6, 0x00, 0x02, 0x02, 0x06, 0x00 - }; - - uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)}; - - if(offset<0x800) - data = bitswap<8>(data^0x22,2,6,7,4,3,1,5,0); - - unsigned idx {bitswap<4>(offset, 8,5,2,1)}; - - return bitswap<8>(data, bs[idx][3],6,bs[idx][2],4,3,bs[idx][1],bs[idx][0],0) ^ xm[idx]; -} - -void royalcrdf_state::royalcrdf_opcodes_map(address_map &map) -{ - map(0x0000, 0xffff).r(FUNC(royalcrdf_state::royalcrdf_opcode_r)); -} - -void royalcrdf_state::driver_init() -{ - uint8_t *ROM = memregion("maincpu")->base(); - for (int x = 0x8000; x < 0x10000; x++) - { - ROM[x] = bitswap<8>(ROM[x]^0x22,2,6,7,4,3,1,5,0); - } - -/* Temporary hack to modify the value that ends to be a NOP, - after the BRK, and balanced checksums. Will be removed once - found a workaround in the decryption routines. -*/ - ROM[0x802d]=0xa2; // checksum. - ROM[0xbc4e]=0x68; // future NOP after BRK. -} - -void royalcrdf_state::royalcrdf(machine_config &config) -{ - fw1stpal(config); - - R65C02(config.replace(), m_maincpu, CPU_CLOCK); // to avoid the NMI into BRK bug... - m_maincpu->set_addrmap(AS_PROGRAM, &royalcrdf_state::royalcrdf_map); - - _maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu")); - _maincpu->set_addrmap(AS_OPCODES, &royalcrdf_state::royalcrdf_opcodes_map); -} - - -READ8_MEMBER(multiwin_state::multiwin_opcode_r) -{ - // same general encryption scheme than the one used by the EVONA Royald Card set; - // 4 address bits determine which bitswap+xor is applied to the opcodes; in this case, - // one of the address bits don't have effect on the bitswap, just on the xor; - // again, we have just five different bitswaps, and the hardware is probably using - // passive logic on the address bits to do the selection - constexpr std::array<std::array<int,5>,8> bs { // bitswaps for data bits 0,2,4,5 & 7, in that order - 5,2,4,0,7, - 4,0,2,7,5, - 7,4,5,2,0, - 4,0,2,7,5, - 2,7,0,5,4, - 4,0,2,7,5, - 0,5,7,4,2, - 4,0,2,7,5, - }; - - // xor masks - constexpr std::array<uint8_t,16> xm { - 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0xb5, 0x10, 0xb5, 0x20, 0xb5, 0x30, 0xb5 - }; - - uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)}; - unsigned idx {bitswap<4>(offset, 6,9,5,3)}; - - return bitswap<8>(data, bs[idx&7][4],6,bs[idx&7][3],bs[idx&7][2],3,bs[idx&7][1],1,bs[idx&7][0]) ^ xm[idx]; -} - -void multiwin_state::multiwin_opcodes_map(address_map &map) -{ - map(0x0000, 0xffff).r(FUNC(multiwin_state::multiwin_opcode_r)); -} - -void multiwin_state::driver_init() -{ - uint8_t *ROM = memregion("maincpu")->base(); - for (int x = 0x4000; x < 0x10000; x++) - { - ROM[x] = bitswap<8>(ROM[x]^0x91,5,6,7,2,3,0,1,4); - } -} - -void multiwin_state::multiwin(machine_config &config) -{ - fw2ndpal(config); - - _maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu")); - _maincpu->set_addrmap(AS_OPCODES, &multiwin_state::multiwin_opcodes_map); -} - - -class powercrd_state : public funworld_state -{ -public: - powercrd_state(const machine_config &mconfig, device_type type, const char* tag) - : funworld_state(mconfig, type, tag) - { - } - - void powercrd(machine_config& config); - -private: - cpu_device* _maincpu {}; - DECLARE_READ8_MEMBER(powercrd_opcode_r); - - void powercrd_opcodes_map(address_map& map); -}; - -READ8_MEMBER(powercrd_state::powercrd_opcode_r) -{ - // encryption controlled by the lower two bits of the address; no clear structure is - // seen in the tables, so it looks like a lookup into randomly or pseudorandomly - // generated permutation tables; all opcodes in the [8da0, 9e0b) & [c000, ef80) are - // believed to be covered by these tables; errors could be lurking in the least used opcodes; - // this same encryption scheme (with different tables) is seen in megacard & jokercrd - - constexpr uint8_t UNKN {0xfc}; - - constexpr std::array<std::array<uint8_t,256>,4> decryption_tables - { - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - 0xe8, 0x29, UNKN, UNKN, 0x85, UNKN, 0x18, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xd5, // 0_ - UNKN, UNKN, 0xa6, 0x4c, UNKN, UNKN, 0x84, UNKN, UNKN, UNKN, 0x69, UNKN, 0x91, 0x38, 0xa8, UNKN, // 1_ - UNKN, 0x9d, 0xd8, 0x49, 0xc0, UNKN, 0x66, UNKN, UNKN, 0xe6, 0xb9, 0xad, UNKN, UNKN, UNKN, 0x10, // 2_ - UNKN, 0xd0, UNKN, 0x92, UNKN, UNKN, 0x74, UNKN, 0x9e, UNKN, UNKN, UNKN, UNKN, 0xb1, UNKN, 0x3d, // 3_ - 0xa5, 0xc4, UNKN, UNKN, UNKN, 0xce, 0x6a, 0x3a, UNKN, UNKN, UNKN, UNKN, 0xa2, UNKN, UNKN, UNKN, // 4_ - 0x9c, UNKN, UNKN, UNKN, UNKN, 0x79, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 5_ - UNKN, 0xed, UNKN, UNKN, UNKN, UNKN, 0xc9, 0x99, UNKN, 0xa9, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 6_ - UNKN, UNKN, 0xc8, UNKN, 0xe0, 0x2d, UNKN, 0x7d, UNKN, UNKN, 0x80, 0x64, 0xf0, UNKN, UNKN, UNKN, // 7_ - UNKN, UNKN, UNKN, UNKN, 0x98, UNKN, UNKN, UNKN, 0xbd, UNKN, UNKN, UNKN, 0x1a, UNKN, UNKN, UNKN, // 8_ - UNKN, 0x30, UNKN, UNKN, 0xc6, 0x90, UNKN, UNKN, UNKN, 0x6d, 0xee, UNKN, UNKN, UNKN, 0xe4, UNKN, // 9_ - UNKN, 0x68, UNKN, UNKN, UNKN, UNKN, UNKN, 0x0d, 0x95, UNKN, 0x8e, 0x40, UNKN, 0x20, 0xb2, UNKN, // a_ - UNKN, UNKN, UNKN, UNKN, UNKN, 0x65, UNKN, UNKN, UNKN, UNKN, UNKN, 0xa4, UNKN, UNKN, 0x05, UNKN, // b_ - UNKN, UNKN, 0xba, 0x8a, UNKN, UNKN, UNKN, 0x60, 0xf8, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // c_ - 0xdd, UNKN, UNKN, UNKN, 0xaa, 0xe9, 0x8d, 0xa0, UNKN, 0xb5, UNKN, 0xca, UNKN, UNKN, 0x0a, UNKN, // d_ - 0x2a, UNKN, UNKN, UNKN, 0xb0, UNKN, UNKN, 0x48, UNKN, UNKN, UNKN, UNKN, UNKN, 0x4a, 0xcd, 0x45, // e_ - UNKN, UNKN, UNKN, 0x09, UNKN, UNKN, 0xc5, UNKN, UNKN, 0x88, 0xae, UNKN, 0x86, UNKN, 0xda, 0x8c, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, UNKN, UNKN, 0xae, UNKN, 0x4e, 0xda, UNKN, UNKN, UNKN, 0x60, UNKN, UNKN, UNKN, UNKN, 0x64, // 0_ - 0xa0, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x86, 0x9c, 0x88, 0xe4, 0xc4, UNKN, UNKN, 0x95, // 1_ - 0x2a, UNKN, 0xe0, UNKN, UNKN, 0x99, UNKN, UNKN, 0x90, UNKN, UNKN, UNKN, 0x6c, 0x49, UNKN, UNKN, // 2_ - 0xf0, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x66, UNKN, 0x11, 0xee, UNKN, UNKN, 0x4c, // 3_ - 0xb0, UNKN, UNKN, 0x45, 0xc6, UNKN, UNKN, UNKN, UNKN, 0xcd, UNKN, UNKN, 0xc8, 0x1a, UNKN, UNKN, // 4_ - UNKN, UNKN, 0x09, 0x91, UNKN, 0xc9, 0xf8, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x92, 0x20, 0xa4, // 5_ - UNKN, 0x65, UNKN, 0xe8, UNKN, 0xd8, 0x3d, UNKN, UNKN, UNKN, UNKN, UNKN, 0x80, 0xbd, 0x84, UNKN, // 6_ - UNKN, UNKN, UNKN, 0x68, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 7_ - 0xaa, UNKN, UNKN, UNKN, UNKN, UNKN, 0x0d, 0x18, UNKN, UNKN, UNKN, 0x8a, UNKN, UNKN, UNKN, 0x26, // 8_ - 0xc0, UNKN, UNKN, UNKN, 0x3a, 0xc5, UNKN, 0x6d, 0xe9, UNKN, 0x4a, 0xb9, UNKN, 0x05, 0x0a, UNKN, // 9_ - UNKN, 0xfa, UNKN, UNKN, UNKN, 0xd5, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x48, UNKN, // a_ - 0x10, UNKN, 0xf9, 0x5a, UNKN, 0xa2, UNKN, UNKN, UNKN, UNKN, UNKN, 0xa9, UNKN, 0xa6, UNKN, UNKN, // b_ - 0xca, UNKN, UNKN, 0x85, UNKN, UNKN, UNKN, UNKN, UNKN, 0xb2, UNKN, UNKN, UNKN, 0x9d, UNKN, 0x7a, // c_ - UNKN, 0x79, 0xa5, UNKN, UNKN, 0xb1, UNKN, 0x8e, 0xad, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // d_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x2d, UNKN, UNKN, UNKN, 0x8d, UNKN, UNKN, UNKN, 0xb5, 0xce, // e_ - UNKN, UNKN, 0x38, UNKN, 0xe6, UNKN, UNKN, 0xd0, 0x69, UNKN, UNKN, 0x29, UNKN, UNKN, UNKN, UNKN, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, UNKN, 0x30, 0xb5, 0x49, 0xb0, UNKN, 0xc5, UNKN, 0x1a, UNKN, UNKN, UNKN, UNKN, 0x90, UNKN, // 0_ - UNKN, UNKN, UNKN, UNKN, 0xaa, UNKN, UNKN, 0x2d, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 1_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x4a, 0x9a, UNKN, 0xfa, UNKN, UNKN, 0x5a, UNKN, 0xae, UNKN, // 2_ - UNKN, UNKN, 0xe0, UNKN, UNKN, UNKN, 0x8d, 0x0a, UNKN, UNKN, 0xed, UNKN, 0x88, UNKN, UNKN, UNKN, // 3_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xee, UNKN, UNKN, UNKN, 0xb1, UNKN, 0x9c, UNKN, 0x0d, // 4_ - 0x4c, UNKN, 0x69, UNKN, UNKN, 0xa9, UNKN, UNKN, 0x05, 0xa4, UNKN, 0x4e, UNKN, UNKN, UNKN, UNKN, // 5_ - 0xc6, UNKN, UNKN, 0xbd, 0x09, UNKN, UNKN, UNKN, UNKN, 0x20, UNKN, 0x3a, 0xc0, UNKN, UNKN, UNKN, // 6_ - 0xa0, UNKN, UNKN, UNKN, 0x80, UNKN, 0x95, UNKN, UNKN, UNKN, 0xe8, UNKN, 0xd0, UNKN, UNKN, UNKN, // 7_ - 0x60, 0xe9, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x40, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 8_ - UNKN, UNKN, 0x9d, UNKN, UNKN, UNKN, UNKN, 0xa5, UNKN, UNKN, 0xf0, UNKN, UNKN, UNKN, UNKN, UNKN, // 9_ - UNKN, 0x38, UNKN, 0xca, 0xa2, 0x8e, UNKN, 0xb9, UNKN, 0xa6, 0xcd, 0x2a, UNKN, UNKN, UNKN, UNKN, // a_ - UNKN, UNKN, 0xad, UNKN, UNKN, UNKN, UNKN, UNKN, 0xf8, UNKN, UNKN, 0x11, 0xce, UNKN, UNKN, UNKN, // b_ - UNKN, UNKN, 0xda, UNKN, UNKN, UNKN, 0x6c, UNKN, UNKN, UNKN, UNKN, 0x8a, UNKN, UNKN, UNKN, UNKN, // c_ - UNKN, UNKN, UNKN, 0x84, UNKN, UNKN, UNKN, UNKN, 0xc9, UNKN, 0x7a, UNKN, 0x48, 0xd8, UNKN, 0x18, // d_ - 0xe6, UNKN, UNKN, 0x68, UNKN, 0x29, UNKN, UNKN, 0xc4, 0x65, UNKN, UNKN, 0xa8, UNKN, 0x85, UNKN, // e_ - UNKN, 0xc8, 0xd5, 0xe4, UNKN, 0x7d, 0x10, UNKN, UNKN, UNKN, 0x25, UNKN, UNKN, 0x1d, 0x64, UNKN, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, 0x99, 0xf0, UNKN, UNKN, UNKN, 0xae, UNKN, UNKN, UNKN, UNKN, 0x64, UNKN, UNKN, 0x2a, UNKN, // 0_ - 0xb5, UNKN, 0xa6, UNKN, UNKN, 0x65, UNKN, 0xf8, UNKN, UNKN, UNKN, 0x58, UNKN, UNKN, 0xc8, UNKN, // 1_ - 0x1a, UNKN, UNKN, UNKN, 0x09, 0x91, UNKN, 0xe0, UNKN, UNKN, UNKN, 0xad, UNKN, UNKN, UNKN, UNKN, // 2_ - UNKN, 0xa4, 0xb0, UNKN, 0xd9, 0xe4, 0xd0, UNKN, UNKN, 0x5a, 0x2d, UNKN, UNKN, 0x4c, 0xa0, UNKN, // 3_ - 0x85, UNKN, 0x49, UNKN, UNKN, UNKN, UNKN, UNKN, 0x88, UNKN, UNKN, 0xbd, 0x69, 0x95, UNKN, UNKN, // 4_ - UNKN, 0xe9, UNKN, UNKN, UNKN, UNKN, UNKN, 0x80, 0x0d, UNKN, UNKN, 0x30, UNKN, UNKN, UNKN, 0x9d, // 5_ - UNKN, UNKN, UNKN, 0x26, UNKN, 0xd5, 0x1d, UNKN, 0x4e, UNKN, 0xe8, UNKN, UNKN, UNKN, UNKN, 0x05, // 6_ - 0xa5, UNKN, UNKN, UNKN, 0x68, UNKN, UNKN, 0xcd, UNKN, UNKN, UNKN, UNKN, UNKN, 0x25, UNKN, UNKN, // 7_ - UNKN, UNKN, UNKN, 0xc9, UNKN, UNKN, UNKN, 0xa2, UNKN, UNKN, 0x45, UNKN, UNKN, 0xa8, UNKN, UNKN, // 8_ - 0x9a, UNKN, 0xca, UNKN, UNKN, UNKN, UNKN, UNKN, 0xe6, UNKN, UNKN, UNKN, UNKN, UNKN, 0x60, 0x8d, // 9_ - UNKN, UNKN, UNKN, UNKN, UNKN, 0xda, 0xee, 0xb2, 0x7d, UNKN, UNKN, 0x84, UNKN, UNKN, 0xaa, UNKN, // a_ - 0x90, UNKN, UNKN, 0x6d, 0xb1, UNKN, UNKN, UNKN, UNKN, 0x78, UNKN, UNKN, 0x8e, UNKN, 0xc0, 0x40, // b_ - UNKN, UNKN, 0x38, 0xc6, UNKN, UNKN, UNKN, UNKN, UNKN, 0xd8, UNKN, UNKN, 0x0a, UNKN, UNKN, 0xb9, // c_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xfa, UNKN, UNKN, UNKN, UNKN, 0x10, 0x20, // d_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xa9, UNKN, UNKN, UNKN, UNKN, 0xc5, UNKN, // e_ - UNKN, 0x86, 0x29, 0x4a, UNKN, UNKN, 0x18, 0x98, UNKN, UNKN, UNKN, 0x9c, UNKN, 0x7a, UNKN, 0x48, // f_ - }; - - uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)}; - return decryption_tables[offset&3][data]; -} - -void powercrd_state::powercrd_opcodes_map(address_map &map) -{ - map(0x0000, 0xffff).r(FUNC(powercrd_state::powercrd_opcode_r)); -} - -void powercrd_state::powercrd(machine_config &config) -{ - fw2ndpal(config); - - _maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu")); - _maincpu->set_addrmap(AS_OPCODES, &powercrd_state::powercrd_opcodes_map); -} - -class megacard_state : public funworld_state -{ -public: - megacard_state(const machine_config &mconfig, device_type type, const char* tag) - : funworld_state(mconfig, type, tag) - { - } - - void megacard(machine_config& config); - -private: - cpu_device* _maincpu {}; - DECLARE_READ8_MEMBER(megacard_opcode_r); - - void megacard_opcodes_map(address_map& map); -}; - -READ8_MEMBER(megacard_state::megacard_opcode_r) -{ - // all opcodes in the [c000, fc80) range are believed to be covered by these tables; - // errors could be lurking in the least used opcodes - - constexpr uint8_t UNKN {0xfc}; - - constexpr std::array<std::array<uint8_t,256>,4> decryption_tables - { - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, 0x6c, UNKN, UNKN, UNKN, 0xfa, 0x38, UNKN, UNKN, 0x4c, 0xd8, UNKN, 0xe8, UNKN, 0xc5, UNKN, // 0_ - UNKN, 0xa6, 0x91, UNKN, UNKN, UNKN, UNKN, 0x58, 0xa0, 0xe0, 0xb9, 0x4e, UNKN, UNKN, UNKN, 0x78, // 1_ - 0xe9, 0xee, UNKN, 0xca, 0x85, UNKN, 0xe6, UNKN, UNKN, UNKN, 0xcd, UNKN, UNKN, UNKN, UNKN, UNKN, // 2_ - UNKN, UNKN, UNKN, UNKN, 0x90, UNKN, UNKN, 0x64, UNKN, UNKN, 0x45, 0x60, UNKN, UNKN, 0x69, UNKN, // 3_ - UNKN, UNKN, 0xea, 0xf8, 0x7a, UNKN, UNKN, 0x1a, UNKN, UNKN, UNKN, UNKN, UNKN, 0xb1, UNKN, 0x80, // 4_ - UNKN, UNKN, 0x84, UNKN, UNKN, UNKN, UNKN, 0x49, UNKN, UNKN, 0x7c, UNKN, 0x20, 0x8a, 0xed, UNKN, // 5_ - 0x8c, UNKN, UNKN, UNKN, 0x5a, UNKN, UNKN, UNKN, 0xa8, 0xa9, UNKN, 0x6d, 0xc9, 0x95, UNKN, 0xda, // 6_ - 0xaa, 0xe4, UNKN, UNKN, UNKN, UNKN, 0x8e, 0xae, 0x3a, 0xc0, UNKN, 0xd5, 0x92, UNKN, UNKN, UNKN, // 7_ - 0xc6, UNKN, UNKN, UNKN, UNKN, UNKN, 0x48, UNKN, UNKN, 0x86, 0x9c, UNKN, UNKN, 0xc8, UNKN, UNKN, // 8_ - UNKN, 0x68, UNKN, UNKN, UNKN, UNKN, UNKN, 0xd0, 0xa2, UNKN, UNKN, UNKN, UNKN, 0x25, UNKN, 0xa5, // 9_ - UNKN, 0x9d, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xbd, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xa4, // a_ - UNKN, UNKN, UNKN, 0xb2, UNKN, 0x29, UNKN, 0x09, UNKN, UNKN, UNKN, 0xb0, UNKN, UNKN, 0xb5, UNKN, // b_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x0a, UNKN, UNKN, 0x7d, UNKN, 0xf0, UNKN, 0x00, // c_ - UNKN, UNKN, UNKN, UNKN, 0x2d, UNKN, UNKN, UNKN, 0x4a, 0x88, 0x05, UNKN, UNKN, 0x10, 0xce, UNKN, // d_ - UNKN, UNKN, 0xc4, UNKN, 0x18, UNKN, UNKN, UNKN, 0x99, 0xf9, UNKN, UNKN, UNKN, UNKN, UNKN, 0xdd, // e_ - 0x11, UNKN, 0x26, UNKN, 0x65, 0x98, UNKN, 0xad, 0x2a, UNKN, UNKN, 0x8d, UNKN, UNKN, UNKN, UNKN, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, UNKN, UNKN, 0x18, UNKN, UNKN, UNKN, 0x8e, UNKN, UNKN, UNKN, UNKN, UNKN, 0xaa, 0xcd, 0x0a, // 0_ - 0xe6, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xad, UNKN, UNKN, UNKN, UNKN, // 1_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x69, UNKN, 0xd0, UNKN, UNKN, UNKN, UNKN, UNKN, 0x2d, UNKN, // 2_ - UNKN, 0x88, UNKN, UNKN, UNKN, 0x98, UNKN, 0x99, UNKN, 0xb1, UNKN, UNKN, 0x9c, 0x1a, UNKN, UNKN, // 3_ - UNKN, 0x7a, 0xae, 0xa2, 0xca, 0xba, UNKN, 0x25, UNKN, UNKN, 0x10, UNKN, 0xea, 0x79, 0x8a, UNKN, // 4_ - UNKN, 0x60, UNKN, UNKN, UNKN, UNKN, 0x84, 0xd8, 0xa9, UNKN, UNKN, UNKN, 0xe9, UNKN, 0xda, UNKN, // 5_ - 0xc0, UNKN, UNKN, 0x3d, 0x8d, UNKN, UNKN, UNKN, UNKN, 0x68, UNKN, 0x92, UNKN, 0x48, UNKN, UNKN, // 6_ - 0x9d, 0x49, 0x95, 0xc6, 0xb0, UNKN, 0x40, UNKN, UNKN, UNKN, 0x05, UNKN, UNKN, UNKN, UNKN, UNKN, // 7_ - UNKN, 0x0d, UNKN, UNKN, UNKN, UNKN, 0xa4, UNKN, UNKN, 0x30, UNKN, 0x66, UNKN, UNKN, 0xa5, UNKN, // 8_ - 0x64, UNKN, 0x29, UNKN, UNKN, 0x86, UNKN, 0xb2, UNKN, UNKN, UNKN, UNKN, UNKN, 0x2a, 0x6d, 0x3a, // 9_ - 0x38, UNKN, UNKN, 0x91, UNKN, UNKN, UNKN, 0xbd, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xd5, UNKN, // a_ - UNKN, UNKN, UNKN, UNKN, 0xb5, 0xf8, UNKN, UNKN, UNKN, 0xc5, UNKN, UNKN, UNKN, 0x09, UNKN, UNKN, // b_ - UNKN, UNKN, UNKN, UNKN, 0x11, 0x90, 0x4c, UNKN, 0x85, UNKN, UNKN, UNKN, 0x4a, UNKN, UNKN, UNKN, // c_ - UNKN, UNKN, 0x20, 0xb9, UNKN, UNKN, UNKN, UNKN, 0x00, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // d_ - UNKN, 0x80, 0x65, UNKN, UNKN, 0xe8, 0xc9, UNKN, UNKN, UNKN, UNKN, UNKN, 0xee, 0xf0, UNKN, UNKN, // e_ - UNKN, 0xa0, 0xc8, UNKN, UNKN, UNKN, 0xc4, UNKN, 0x4e, 0xe0, 0xa8, UNKN, 0x45, UNKN, UNKN, 0xa6, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, 0x86, UNKN, UNKN, 0xe6, 0xc9, UNKN, 0x1a, UNKN, 0xdd, 0x88, UNKN, UNKN, UNKN, UNKN, 0x8e, // 0_ - UNKN, 0xe0, UNKN, UNKN, 0x4c, 0xd0, UNKN, 0x64, UNKN, 0xa4, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 1_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xee, UNKN, 0x74, UNKN, 0xa0, UNKN, 0xed, UNKN, 0xe9, // 2_ - UNKN, 0xd9, UNKN, UNKN, UNKN, UNKN, 0x0a, UNKN, 0x49, UNKN, 0x1d, 0xa2, UNKN, 0x8d, UNKN, 0x00, // 3_ - 0xa9, UNKN, UNKN, 0xea, UNKN, UNKN, UNKN, UNKN, UNKN, 0xf0, 0xfa, UNKN, UNKN, UNKN, UNKN, 0x84, // 4_ - UNKN, UNKN, 0x38, UNKN, 0xbd, UNKN, 0x9d, 0x92, 0xb1, UNKN, 0x95, UNKN, 0xe8, 0x45, UNKN, UNKN, // 5_ - UNKN, UNKN, 0xb5, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x85, UNKN, UNKN, // 6_ - UNKN, UNKN, UNKN, UNKN, 0xa6, 0xa5, 0xe4, 0x09, UNKN, 0x29, UNKN, 0x5a, 0x90, UNKN, 0xc0, UNKN, // 7_ - 0xca, UNKN, UNKN, UNKN, 0x18, UNKN, UNKN, UNKN, UNKN, 0x66, UNKN, UNKN, UNKN, 0x68, UNKN, UNKN, // 8_ - 0x98, 0xb0, 0x26, 0xc4, UNKN, 0x2d, UNKN, UNKN, UNKN, UNKN, 0xc6, UNKN, UNKN, UNKN, 0xd8, UNKN, // 9_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x3d, UNKN, UNKN, UNKN, UNKN, UNKN, 0xaa, UNKN, UNKN, // a_ - 0xce, 0x10, UNKN, 0x05, 0x80, 0x48, UNKN, UNKN, UNKN, 0xf8, 0x0d, UNKN, UNKN, UNKN, UNKN, UNKN, // b_ - UNKN, UNKN, UNKN, UNKN, 0x91, 0xc5, UNKN, UNKN, UNKN, 0x9c, UNKN, 0x30, 0xc8, UNKN, UNKN, UNKN, // c_ - 0x69, 0x60, 0x9a, 0xb2, UNKN, UNKN, 0x2a, UNKN, 0x65, UNKN, UNKN, UNKN, 0x25, UNKN, 0x79, 0x6a, // d_ - UNKN, 0x20, 0xb9, UNKN, 0x3a, 0xd5, UNKN, 0x4a, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x99, 0xa8, // e_ - UNKN, UNKN, UNKN, UNKN, 0xda, UNKN, UNKN, UNKN, UNKN, 0xcd, UNKN, 0x7a, 0xad, UNKN, UNKN, UNKN, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, UNKN, UNKN, 0x60, UNKN, UNKN, 0xb1, UNKN, UNKN, UNKN, 0x29, UNKN, 0x8e, 0x74, 0x9a, 0xea, // 0_ - UNKN, 0x6d, UNKN, 0x92, 0xb5, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x7d, 0xb9, 0xa2, UNKN, 0x6a, // 1_ - UNKN, UNKN, UNKN, 0xb0, 0xc4, UNKN, UNKN, 0x2d, UNKN, 0x79, 0x8a, UNKN, UNKN, UNKN, 0xa0, UNKN, // 2_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xa4, 0x1a, UNKN, 0xaa, 0x80, UNKN, UNKN, // 3_ - UNKN, UNKN, 0x10, UNKN, 0x3a, UNKN, UNKN, UNKN, 0x8d, UNKN, UNKN, UNKN, UNKN, 0xf8, UNKN, 0x25, // 4_ - UNKN, UNKN, 0x40, UNKN, 0x85, UNKN, 0x95, UNKN, UNKN, 0xcd, UNKN, UNKN, 0x4c, 0x98, UNKN, UNKN, // 5_ - UNKN, 0x68, UNKN, 0xe9, 0x9e, 0x09, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x5a, 0xee, // 6_ - UNKN, 0x86, UNKN, UNKN, UNKN, 0xd5, UNKN, 0xa5, 0x65, UNKN, UNKN, UNKN, UNKN, 0x4e, 0xe0, 0x90, // 7_ - UNKN, UNKN, 0xc0, 0xce, UNKN, UNKN, UNKN, 0xad, UNKN, UNKN, UNKN, 0x88, UNKN, UNKN, UNKN, UNKN, // 8_ - UNKN, 0xda, UNKN, UNKN, UNKN, 0xb2, UNKN, 0x7a, UNKN, UNKN, UNKN, UNKN, 0x91, UNKN, UNKN, 0xc5, // 9_ - UNKN, UNKN, 0x05, 0xe6, UNKN, UNKN, 0x49, UNKN, UNKN, 0x0d, 0x9d, 0x4a, UNKN, UNKN, 0xc8, UNKN, // a_ - UNKN, UNKN, UNKN, UNKN, 0x20, UNKN, 0x1d, UNKN, UNKN, 0xd0, UNKN, UNKN, 0xfa, UNKN, 0xbd, UNKN, // b_ - UNKN, UNKN, UNKN, UNKN, 0x2a, UNKN, UNKN, 0x0a, UNKN, UNKN, 0xca, UNKN, 0x9c, 0x69, UNKN, UNKN, // c_ - 0x00, 0xd8, 0x38, UNKN, UNKN, UNKN, 0xa6, UNKN, UNKN, UNKN, 0xc6, UNKN, UNKN, UNKN, UNKN, UNKN, // d_ - UNKN, 0xc9, UNKN, UNKN, UNKN, UNKN, 0x64, 0x48, UNKN, UNKN, 0xa8, UNKN, 0xe8, UNKN, UNKN, UNKN, // e_ - UNKN, UNKN, 0xa9, UNKN, 0xf0, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x18, UNKN, UNKN, UNKN, UNKN, // f_ - }; - - uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)}; - return decryption_tables[offset&3][data]; -} - -void megacard_state::megacard_opcodes_map(address_map &map) -{ - map(0x0000, 0xffff).r(FUNC(megacard_state::megacard_opcode_r)); -} - -void megacard_state::megacard(machine_config &config) -{ - fw2ndpal(config); - - _maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu")); - _maincpu->set_addrmap(AS_OPCODES, &megacard_state::megacard_opcodes_map); -} - -class jokercrd_state : public funworld_state -{ -public: - jokercrd_state(const machine_config &mconfig, device_type type, const char* tag) - : funworld_state(mconfig, type, tag) - { - } - - void jokercrd(machine_config& config); - -private: - cpu_device* _maincpu {}; - DECLARE_READ8_MEMBER(jokercrd_opcode_r); - - void jokercrd_opcodes_map(address_map& map); -}; - -READ8_MEMBER(jokercrd_state::jokercrd_opcode_r) -{ - // even when errors could be lurking in the least used opcodes, - // all of them in the [8050,b369) & [c000, f063) ranges are believed - // to be covered by these tables, with the exception of the one @c0f1: - - // c0da: a6 6a ldx $6a - // c0dc: ad 5c 00 lda $005c - // c0df: 29 3f and #$3f - // c0e1: 85 70 sta $70 - // c0e3: 20 fa c0 jsr $c0fa - // c0e6: a5 70 lda $70 - // c0e8: 9d 33 02 sta $0233, x - // c0eb: a2 00 ldx #$00 - // c0ed: e4 6a cpx $6a - // c0ef: f0 08 beq $c0f9 - // c0f1: XX 33 02 nop #$33 #$02 [YYY $0233, x] - // c0f4: f0 e4 beq $c0da - // c0f6: e8 inx - // c0f7: 80 f4 bra $c0ed - // c0f9: 60 rts - // - // c0fa: ad 4b 07 lda $074b - // c0fd: 0d 4c 07 ora $074c - // c100: d0 01 bne $c103 - // c102: 60 rts - // c103: a5 70 lda $70 - // c105: 29 30 and #$30 - // c107: 09 01 ora #$01 - // c109: 85 70 sta $70 - // c10b: 60 rts - - // it should be noted, however, that the subroutine @c0da seems to be called just from here: - // c044: 64 6a stz $6a - // c046: 20 da c0 jsr $c0da - // and, if no interrupt is messing with the accesed data, the STZ @c044 should make the BEQ @c0ef - // become an inconditional jump, converting the opcode @c0f1 in dead code - - - constexpr uint8_t UNKN {0xfc}; - - constexpr std::array<std::array<uint8_t,256>,4> decryption_tables - { - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, UNKN, UNKN, 0x3d, 0xe0, UNKN, UNKN, 0xb0, UNKN, 0xa0, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 0_ - UNKN, UNKN, 0x4a, 0x65, 0x18, 0x64, 0xad, UNKN, 0x90, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 1_ - UNKN, UNKN, 0x49, UNKN, 0xa8, 0x8c, 0x20, UNKN, UNKN, 0xf8, UNKN, UNKN, 0xe6, UNKN, 0x88, UNKN, // 2_ - UNKN, UNKN, UNKN, UNKN, 0xb2, UNKN, UNKN, UNKN, UNKN, 0x58, 0x38, 0x45, UNKN, UNKN, UNKN, UNKN, // 3_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xd5, 0xa5, 0xa9, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 4_ - UNKN, UNKN, UNKN, UNKN, 0xda, 0xa2, UNKN, 0x4e, 0x1a, UNKN, 0xe4, UNKN, UNKN, UNKN, 0x0c, 0x98, // 5_ - 0xa6, UNKN, UNKN, UNKN, 0x9c, 0xfa, UNKN, 0xbd, UNKN, 0xae, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 6_ - UNKN, UNKN, 0xc0, 0xc5, UNKN, UNKN, UNKN, UNKN, UNKN, 0xcd, UNKN, UNKN, UNKN, 0x8a, UNKN, 0x80, // 7_ - UNKN, UNKN, 0x95, UNKN, UNKN, UNKN, UNKN, UNKN, 0x8e, UNKN, UNKN, UNKN, UNKN, 0x68, UNKN, UNKN, // 8_ - 0xb1, UNKN, UNKN, UNKN, UNKN, 0xd0, 0x0d, 0xc9, UNKN, UNKN, UNKN, UNKN, 0x29, 0x3a, 0xc8, 0x8d, // 9_ - 0xc6, 0xee, 0x25, UNKN, 0x05, 0x6e, UNKN, 0x2a, UNKN, 0x85, UNKN, UNKN, 0xd8, UNKN, 0xce, UNKN, // a_ - UNKN, UNKN, UNKN, 0xe9, 0xc4, 0xe8, UNKN, UNKN, 0x99, 0x6a, 0x0a, UNKN, 0x84, UNKN, UNKN, UNKN, // b_ - UNKN, UNKN, UNKN, 0x9d, 0x2d, 0x10, UNKN, UNKN, UNKN, UNKN, UNKN, 0xaa, UNKN, UNKN, 0x11, UNKN, // c_ - UNKN, 0xb9, 0x86, UNKN, 0xca, UNKN, UNKN, UNKN, UNKN, UNKN, 0x7a, UNKN, 0xf0, 0x09, 0x4c, UNKN, // d_ - 0x60, 0x78, UNKN, UNKN, UNKN, 0x48, 0x5a, UNKN, UNKN, UNKN, 0x79, UNKN, UNKN, UNKN, UNKN, 0xba, // e_ - UNKN, UNKN, 0x6d, 0x92, UNKN, 0x26, UNKN, UNKN, 0xb5, UNKN, 0x69, UNKN, UNKN, 0xa4, UNKN, 0x1d, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, UNKN, UNKN, UNKN, 0x48, UNKN, UNKN, 0x0c, UNKN, 0x60, 0x6d, 0x20, 0xda, UNKN, 0xf0, UNKN, // 0_ - UNKN, 0xcd, 0x95, UNKN, UNKN, 0xae, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x8e, UNKN, 0x29, UNKN, // 1_ - 0x90, UNKN, UNKN, UNKN, 0x69, 0xb5, UNKN, UNKN, UNKN, UNKN, 0xd0, 0xad, UNKN, UNKN, UNKN, 0x9a, // 2_ - 0xb6, 0x40, UNKN, 0xd5, 0xfa, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xa4, UNKN, 0x88, UNKN, // 3_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x2a, UNKN, UNKN, UNKN, 0xa2, UNKN, UNKN, UNKN, UNKN, UNKN, // 4_ - 0xee, UNKN, UNKN, UNKN, 0x64, UNKN, 0xb0, 0x9d, UNKN, UNKN, UNKN, 0x80, UNKN, 0xf8, 0xe8, UNKN, // 5_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x91, UNKN, 0xb9, 0x8a, UNKN, UNKN, UNKN, 0x10, UNKN, // 6_ - 0x4a, UNKN, UNKN, 0xc8, 0x9c, 0x4e, UNKN, UNKN, UNKN, UNKN, 0xb2, 0x85, 0x45, 0xc9, UNKN, UNKN, // 7_ - 0x1a, UNKN, UNKN, 0xe9, UNKN, UNKN, UNKN, UNKN, UNKN, 0xca, UNKN, 0xc6, UNKN, 0xb1, UNKN, UNKN, // 8_ - 0x1d, UNKN, 0xa8, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xc5, // 9_ - 0xe0, UNKN, 0xa0, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x30, UNKN, 0x0d, UNKN, 0x8d, // a_ - UNKN, 0x86, UNKN, UNKN, 0xd9, 0xbd, UNKN, UNKN, 0x05, 0xaa, UNKN, 0x38, UNKN, 0x18, 0xe4, UNKN, // b_ - UNKN, 0xa6, UNKN, 0xa5, 0xc0, 0x2d, UNKN, UNKN, UNKN, UNKN, UNKN, 0x4c, 0x84, UNKN, 0x6e, UNKN, // c_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x19, 0x65, UNKN, UNKN, UNKN, 0xce, 0x7a, UNKN, 0x3a, // d_ - UNKN, 0x7d, UNKN, 0x0a, 0x49, UNKN, UNKN, UNKN, 0xe6, 0xd8, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // e_ - UNKN, UNKN, UNKN, UNKN, 0x09, 0xa9, 0x25, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x5a, UNKN, 0x68, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - UNKN, 0x20, UNKN, UNKN, UNKN, 0x8e, UNKN, UNKN, UNKN, 0xb0, 0x85, 0x3d, UNKN, 0x86, UNKN, UNKN, // 0_ - 0x18, UNKN, UNKN, UNKN, 0x8a, 0xad, 0x79, 0x98, UNKN, UNKN, 0xc0, UNKN, 0x30, UNKN, 0x10, UNKN, // 1_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xe4, UNKN, UNKN, UNKN, 0x29, UNKN, UNKN, UNKN, UNKN, // 2_ - 0x9e, 0x6d, 0xa6, UNKN, 0xc9, 0x6e, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 3_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xaa, UNKN, 0x9c, 0x09, UNKN, UNKN, UNKN, 0xfa, UNKN, // 4_ - UNKN, 0x69, UNKN, UNKN, 0x2d, UNKN, UNKN, UNKN, UNKN, UNKN, 0xc4, UNKN, 0x1a, 0x4c, 0x5a, UNKN, // 5_ - UNKN, UNKN, 0xe9, UNKN, 0xb1, UNKN, 0x0c, 0xee, 0xda, 0xb2, 0xce, UNKN, 0x74, UNKN, UNKN, UNKN, // 6_ - 0x7d, 0x0d, 0x48, UNKN, UNKN, UNKN, 0xf8, 0xd8, UNKN, UNKN, 0x0a, UNKN, UNKN, 0x45, 0xc6, UNKN, // 7_ - UNKN, UNKN, UNKN, UNKN, UNKN, 0x26, UNKN, UNKN, UNKN, 0xc5, UNKN, UNKN, UNKN, 0xae, UNKN, UNKN, // 8_ - 0xa9, UNKN, 0x90, 0x3a, UNKN, UNKN, 0x6c, UNKN, 0x64, UNKN, UNKN, 0xd5, UNKN, UNKN, UNKN, UNKN, // 9_ - UNKN, 0x7a, UNKN, 0x05, 0xa8, UNKN, UNKN, 0x60, UNKN, UNKN, 0xa4, 0x8d, 0x2a, UNKN, UNKN, UNKN, // a_ - UNKN, UNKN, UNKN, UNKN, 0xa0, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x92, 0x66, // b_ - UNKN, UNKN, 0xd0, 0xf0, UNKN, UNKN, 0x38, 0xbd, 0xa2, UNKN, 0xed, 0x9d, 0x80, UNKN, 0xa5, UNKN, // c_ - UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x99, UNKN, 0x88, UNKN, 0xcd, UNKN, 0xe8, // d_ - 0xca, 0xb5, 0x49, 0x68, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xe6, 0xe0, 0x4a, UNKN, // e_ - UNKN, UNKN, UNKN, 0xc8, UNKN, 0xb9, 0x91, UNKN, UNKN, UNKN, UNKN, 0x65, 0x95, UNKN, UNKN, UNKN, // f_ - - //_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _a _b _c _d _e _f - 0x65, UNKN, UNKN, UNKN, 0x30, UNKN, UNKN, UNKN, 0x8e, UNKN, UNKN, 0xda, 0x2d, 0xc4, UNKN, 0x68, // 0_ - UNKN, 0xa2, UNKN, UNKN, 0x2a, 0xa6, UNKN, UNKN, UNKN, 0x86, UNKN, UNKN, 0x60, UNKN, 0xe6, 0xa4, // 1_ - UNKN, 0x84, UNKN, UNKN, 0xbd, UNKN, UNKN, UNKN, UNKN, UNKN, 0xce, 0xe4, 0xf8, 0xa0, UNKN, 0x8d, // 2_ - UNKN, 0xcd, UNKN, UNKN, UNKN, 0x88, 0x4a, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, // 3_ - 0xd8, UNKN, UNKN, UNKN, 0x40, 0x11, UNKN, UNKN, 0xaa, 0x79, UNKN, 0x98, UNKN, 0x85, UNKN, UNKN, // 4_ - 0x9a, 0xc6, UNKN, UNKN, 0x74, UNKN, UNKN, UNKN, UNKN, 0x95, 0xdd, UNKN, UNKN, 0x6d, UNKN, UNKN, // 5_ - 0x8a, 0x6e, UNKN, UNKN, 0x18, 0xc5, UNKN, 0xf9, UNKN, 0xb0, 0x7a, UNKN, UNKN, UNKN, UNKN, 0xc0, // 6_ - 0x99, UNKN, UNKN, 0x10, 0x90, 0x38, 0x09, UNKN, UNKN, UNKN, 0xe0, UNKN, UNKN, UNKN, UNKN, UNKN, // 7_ - UNKN, UNKN, UNKN, 0xb5, UNKN, 0x4c, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0xfa, UNKN, UNKN, // 8_ - UNKN, UNKN, 0x6a, 0x29, UNKN, UNKN, 0x5a, 0xae, UNKN, 0x3a, UNKN, 0x9c, UNKN, 0x0d, 0x49, 0xee, // 9_ - UNKN, UNKN, UNKN, UNKN, 0xa5, 0x69, 0xf0, UNKN, 0x80, UNKN, 0xc8, UNKN, UNKN, UNKN, 0xb9, UNKN, // a_ - 0x1a, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, UNKN, 0x0c, UNKN, UNKN, UNKN, UNKN, UNKN, // b_ - UNKN, UNKN, UNKN, UNKN, 0x64, UNKN, UNKN, 0xb2, 0x9d, UNKN, UNKN, 0xca, UNKN, UNKN, 0x0a, 0x05, // c_ - UNKN, UNKN, UNKN, 0x91, UNKN, UNKN, UNKN, 0x92, UNKN, UNKN, UNKN, 0xed, UNKN, UNKN, UNKN, UNKN, // d_ - UNKN, 0xec, 0x20, UNKN, 0xad, 0xd0, UNKN, 0x3d, UNKN, 0xb1, 0x6c, 0x66, UNKN, 0x4e, UNKN, 0xd5, // e_ - 0xe9, UNKN, UNKN, 0xa9, UNKN, UNKN, 0xe8, UNKN, UNKN, 0xc9, 0xa8, UNKN, UNKN, 0x48, UNKN, UNKN, // f_ - }; - - uint8_t data {_maincpu->space(AS_PROGRAM).read_byte(offset)}; - return decryption_tables[offset&3][data]; -} - -void jokercrd_state::jokercrd_opcodes_map(address_map &map) -{ - map(0x0000, 0xffff).r(FUNC(jokercrd_state::jokercrd_opcode_r)); -} - -void jokercrd_state::jokercrd(machine_config &config) -{ - fw2ndpal(config); - - _maincpu = reinterpret_cast<cpu_device*>(config.device("maincpu")); - _maincpu->set_addrmap(AS_OPCODES, &jokercrd_state::jokercrd_opcodes_map); -} - - - -/************************* -* Rom Load * -*************************/ - -/******************************** Jolly Card sets ************************************/ - -/* - Jolly Card, TAB Austria - ----------------------- - - Pinouts: - - X1-01 GND X1-A GND - X1-02 GND X1-B GND - X1-03 GND X1-C GND - X1-04 +5V X1-D +5V - X1-05 +12V X1-E +12V - X1-06 NC X1-F NC - X1-07 NC X1-G NC - X1-08 NC X1-H NC - X1-09 NC X1-I Coin 1 - X1-10 Coin 2 X1-J Pay Out SW - X1-11 Hold 3 X1-K NC - X1-12 NC X1-L GND - X1-13 Hold 4 X1-M Remote - X1-14 Bookkeeping SW X1-N GND - X1-15 Hold 2 X1-O Cancel - X1-16 Hold 1 X1-P Hold 5 - X1-17 Start X1-Q - X1-18 Hopper Out X1-R - X1-19 Red X1-S Green - X1-20 Blue X1-T Sync - X1-21 GND X1-U Speaker GND - X1-22 Speaker + X1-V Management SW - - X2-01 GND X2-A GND - X2-02 NC X2-B NC - X2-03 Start X2-C NC - X2-04 NC X2-D NC - X2-05 NC X2-E NC - X2-06 Lamp Start X2-F Lamp Hold 1+3 - X2-07 Lamp Hold 2 X2-G Lamp Hold 4 - X2-08 Lamp Hold 5 X2-H Lamp Cancel - X2-09 NC X2-I NC - X2-10 Counter In X2-J Counter Out - X2-11 Hopper Count X2-K Hopper Drive - X2-12 Counter Remote X2-L - X2-13 X2-M - X2-14 X2-N - X2-15 NC X2-O - X2-16 X2-P - X2-17 X2-Q Coin Counter - X2-18 X2-R - - --------------------------------------------------- - - DIP Switches: - - ON OFF - - 1 Hopper Manual Payout SW :Payout - 2 Auto Hold No Auto Hold :Hold - 3 Joker Without Joker :Joker - 4 Dattl Insert TAB Insert :Inserts - 5 5 Points/Coin 10 Points/Coin :Coin 1 - 6 5 Points/Coin 10 Points/Coin :Coin 2 - 7 10 Points/Pulse 100 Points/Pulse :Remote - 8 Play Keyboard Test :Mode - - --------------------------------------------------- -*/ - -ROM_START( jollycrd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jolycard.run", 0x8000, 0x8000, CRC(f531dd10) SHA1(969191fbfeff4349afef619d9241ef5186e6d57f) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jolycard.ch2", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "jolycard.ch1", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jollycrd_nvram.bin", 0x0000, 0x0800, CRC(8f0a86c9) SHA1(467bd4f601ac6aa818c036f1269c2d43d27854f6) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - - -/* - Jolly Card (German) - - 1x R65C02P2 - 2x ST EF68B21P - 1x UM6845B - 1x Microchip AY-3-8910A - 1x Intel P5C090-50 (24 Macrocell CMOS PLD, DIP40) - - 1x HY6264LP-15 - 1x MK6116LN-15 - 3x ST M27C256B - 1x 82S147 Bipolar PROM. - 1x GAL16V8S - - 1x Xtal 16.000 MHz. - 1x 3.6V lithium battery. - 1x 8 DIP switches bank. - -*/ -ROM_START( jollycrda ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "pok14.bin", 0x8000, 0x8000, CRC(30936afb) SHA1(5b96cd7e425ad79163e1d55e530cbabcb116f8d2) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "tab3.bin", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "tab2.bin", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* Default NVRAM. The game doesn't work without it */ - ROM_LOAD( "jollycrda_nvram.bin", 0x0000, 0x0800, CRC(5cbb4d8f) SHA1(da5edbef20bb4f0c634939389b3a9744c5743641) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "jop.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) - - ROM_REGION( 0x0200, "plds", 0 ) /* Cracked PLD */ - ROM_LOAD( "tab1.0_gal16v8s.bin", 0x0000, 0x0117, CRC(574f9a48) SHA1(bb5e2e86da85130d92f61cc57038a844950f443e) ) -ROM_END - - -ROM_START( jolyc3x3 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jc3x3.bin", 0x8000, 0x8000, CRC(71e304ad) SHA1(238b792d841432582c94b21a674d46a95e8f3826) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jolycard.ch2", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "jolycard.ch1", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolyc3x3_nvram.bin", 0x0000, 0x0800, CRC(727c70cf) SHA1(3639b0891514064e21ebdb280791cc9c8f5ba481) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - - -/* - - Jolly Card Professional 2.0 - --------------------------- - - Special version with maximum bet up to 98/980 credits. - This game has an annoying password system through a DOS program. - - - differences: - ---------------------------------------------------------- - - MZS Soft: - - - All manufacturer strings, phones and dates. - - Doesn't allow to clean partial IN/OUT meters. - - $9FFF LDX #$EA ; Just clean 24 bytes from memory. - $A001 LDA #$00 - $A003 STA $0300,X - $A006 INX - $A007 BNE $A003 - $A009 RTS - - - The following unknown bytes... - - $47EB - $47FF: 05 05 01 04 04 ; Unknown. - - ---------------------------------------------------------- - - Spale Soft: - - - All manufacturer strings, phones and dates. - - - Allow to clean partial IN/OUT meters. - - $9FFF LDX #$00 ; Just clean 255 bytes from memory. - $A001 LDA #$00 - $A003 STA $0300,X - $A006 INX - $A007 BNE $A003 - $A009 RTS - - - The following unknown bytes... - - $47EB - $47FF: 00 00 00 00 00 ; Unknown. - - ---------------------------------------------------------- - - 034E-034F: Partial IN. - 0360-0361: Partial OUT. - 044E-044F: Total IN. - 0460-0461: Total OUT. - -*/ - -ROM_START( jolycmzs ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* MZS Tech */ - ROM_LOAD( "mzstech.bin", 0x8000, 0x8000, CRC(cebd1e56) SHA1(24d88b3383cecf3829556d75460053663aab4ef1) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jolycard.ch2", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "jolycard.ch1", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - -/* Load a default eeprom, otherwise an annoying password system should be inserted with - inputs correlated to a code that pops up on the screen. - This code should be inserted into a PC-DOS program, that program is nowhere to be found right now. -*/ - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycmzs_nvram.bin", 0x0000, 0x0800, CRC(828ffeef) SHA1(6a52282231f1944ba79049f267a9c1941373aea2) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - -ROM_START( jolyc980 ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* Spale Soft */ - ROM_LOAD( "j980.bin", 0x8000, 0x8000, CRC(48249fff) SHA1(390cd0eb3399446a66363dc6760458170e1970fd) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jolycard.ch2", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "jolycard.ch1", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - -/* Load a default eeprom, otherwise an annoying password system should be inserted with - inputs correlated to a code that pops up on the screen. - This code should be inserted into a PC-DOS program, that program is nowhere to be found right now. -*/ - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolyc980_nvram.bin", 0x0000, 0x0800, CRC(ef2c89c7) SHA1(a286001e205dcd16d914e07ba2b7c820335ab9c2) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - - -ROM_START( jolycdev ) /* Jolly Card (lipa) from Evona */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lipa.bin", 0x8000, 0x8000, CRC(62657c98) SHA1(237466dde26540c119c631c75f51c87ea59d1a91) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jollyb.bin", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "jollya.bin", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycdev_nvram.bin", 0x0000, 0x0800, CRC(ae2c2fb8) SHA1(912d673ea8e26ff62520a7b86e702e5260cff4c0) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8uni.bin", 0x0000, 0x0117, CRC(b81d7e0a) SHA1(7fef0b2bcea931a830d38ae0f1102434cf281d2d) ) -ROM_END - - -/* - Jolly Card (other) - ------------------ - - - 1x G65SC02P (CPU) - - 1x MC68B45P (CRTC) - - 1x AY3-8910 (sound) - - 2x MC6821P (PIAs) - - RAM: - 1x NVram DS1220Y (instead of 6116) - - 1x KM6264AL-10 - - - 1x Crystal : 16.000 MHz - - These croatian sets are not meant to work with coins... - Only remote credits, as can be seen in test mode. -*/ - -ROM_START( jolyccra ) /* Jolly Card (croatian, set 1) */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jollyc.bin", 0x8000, 0x8000, CRC(8926d99d) SHA1(dd5d1ac03d30d823dfcfe1349328ecb7afbc37fa) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jollyb.bin", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "jollya.bin", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolyccra_nvram.bin", 0x0000, 0x0800, CRC(478ab0a9) SHA1(8c5160d2ac8d4a9db0ae1e478d3bb1513a04544f) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - - -ROM_START( jolyccrb ) /* Jolly Card (croatian, set 2) */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jollypkr.003", 0x8000, 0x8000, CRC(ea7340b4) SHA1(7dd468f28a488a4781521809d06db1d7917048ad) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jolycard.ch2", 0x0000, 0x8000, CRC(c512b103) SHA1(1f4e78e97855afaf0332fb75e1b5571aafd01c29) ) - ROM_LOAD( "jolycard.ch1", 0x8000, 0x8000, CRC(0f24f39d) SHA1(ac1f6a8a4a2a37cbc0d45c15187b33c25371bffb) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolyccrb_nvram.bin", 0x0000, 0x0800, CRC(c1d49c88) SHA1(27ffdedfc7f09ff11c3b2537db3681473b776074) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - - -/* - Jolly Card (italian, blue Tab board, encrypted) - ----------------------------------------------- - - - 1x HY6264LP - - 1x MC6845P - - 1x HM6116LP - - 1x G65SC02 (main) - - 1x AY-3-8910 (sound) - - 1x MC6821P - - 1x oscillator 16.000 MHz - - ROMs 2x TMS27c256 (1,2) - 1x M5M27256 (jn) - - 1x prom N82S147 - - 1x GAL16V8B - - 2x HY18CV85 (electrically-erasable PLD) - - 1x 8 DIP switches - - 1x 22x2 edge connector - - 1x 18x2 edge connector - - 1x trimmer (volume)(missing) -*/ - -ROM_START( jolycdit ) /* blue TAB PCB, encrypted graphics */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "jn.bin", 0x8000, 0x8000, CRC(6ae00ed0) SHA1(5921c2882aeb5eadd0e04a477fa505ad35e9d98c) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(46805150) SHA1(63687ac44f6ace6d8924b2629536bcc7d3979ed2) ) - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(43bcb2df) SHA1(5022bc3a0b852a7cd433e25c3c90a720e6328261) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycdit_nvram.bin", 0x0000, 0x0800, CRC(c55c6706) SHA1(a38ae926f057fb47e48ca841b2d097fc4fd06416) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8b.bin", 0x0000, 0x0117, CRC(3ad712b1) SHA1(54214841fb178e4b59bf6051522718f7667bad28) ) -ROM_END - - -/* - Jolly Card (italian encrypted bootleg) - -------------------------------------- - - - 1x UM6845P - - 1x R65C02P3 (main CPU) - - 1x AY-3-8910 (sound) - - 2x MC68B21P - - 1x oscillator 16.000 MHz - - ROMs 3x 27256. - - 1x PROM M1-7649-5 (not dumped) - - 2x PLD HY18CV8S (not dumped) - - 1x PAL16L8ACN (not dumped) - - 1x 22x2 edge connector - - 1x 18x2 edge connector - - 1x trimmer (volume) - - 1x 8x2 DIP switches. - - jolycdit vs jolycdib: - - 1.BIN 1.BIN IDENTICAL - 2.BIN 2.bin IDENTICAL - jn.BIN 3.BIN 97.726440% - - jolycdib program seems to be the original for blue TAB PCB. - jolycdit has some code patches and redirected parts to suspicious offsets (as d500, d000, etc) - - This sets is not meant to work with coins... - Only remote credits, as can be seen in test mode. -*/ - -ROM_START( jolycdib ) /* bootleg PCB, encrypted graphics */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.bin", 0x8000, 0x8000, CRC(c76fdc79) SHA1(fc75c274d64fa9c99a546d424f38e79f1acf2576) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(46805150) SHA1(63687ac44f6ace6d8924b2629536bcc7d3979ed2) ) // sldh - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(43bcb2df) SHA1(5022bc3a0b852a7cd433e25c3c90a720e6328261) ) // sldh - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycdib_nvram.bin", 0x0000, 0x0800, CRC(038a71fe) SHA1(99d3befbee8f9f86ce7f074de7f16fb25053c077) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8b.bin", 0x0000, 0x0117, CRC(3ad712b1) SHA1(54214841fb178e4b59bf6051522718f7667bad28) ) -ROM_END - - -/* - Jolly Card (italian encrypted bootleg, set 2) - --------------------------------------------- - - This program works in both 'normal' and 'remote' modes, - allowing to pay through hopper, or just through manual - switch/button. - - To initialize the NVRAM, DIP switches should be placed - at factory default: (On On On On On On On Off), then - keep pressed both service buttons (key 9 & 0), reset - using F3 key, and then finally releasing the service - buttons. -*/ - -ROM_START( jolycdic ) /* another bootleg PCB, encrypted graphics */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3ss.bin", 0x8000, 0x8000, CRC(3d7cde61) SHA1(6154878491f4d2f1ea035d18cdf43154c550d509) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(32c24495) SHA1(0d78c4d2743401b5ec9919d09814064eeac8023f) ) // sldh - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(91093176) SHA1(b889c617f94161933c35c324c7d84fec182953d8) ) // sldh - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycdic_nvram.bin", 0x0000, 0x0800, CRC(47a5890b) SHA1(6a6531fe5e8f6c1b5a9aac314b2cce6a0129f6da) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8b.bin", 0x0000, 0x0117, NO_DUMP ) // sldh -ROM_END - - -/* Jolly Card Italian bootleg... - - This PCB has an Altera EP910PC CPLD on board - - To init NVRAM, DSW must be: - OFF ON ON ON ON ON ON ON - - Then (SERVICE1 + SERVICE2) and reset, - then another reset. - - Q is remote (x100) - W is payout. - -------------------------------------- - - Complete specs: - - 1x Empty CPU place (surely Rockwell 65C02 bitwise family) - - 1x GI AY-3-8910 Sound Processor. - - 2x Motorola MC68B21P for I/O. - 1x GoldStar GM68B45S CRTC. - 1x Altera EP910PC-40. - - 1x KM6264AL-10 - 1x Dallas DS1220Y nonvolatile SRAM. - - 2x M27C512 (ROMs 6 & 7) - 1x MBM27256 (ROM 5) - - 1x N82S147N Bipolar PROM (undumped) - - 1x Xtal 16 MHz. - 1x 8 DIP Switches bank. - 1x Jamma edge connector. - 1x Unknown POT between two caps, maybe for sound amp stage. - -*/ -ROM_START( jolycdid ) /* Altera EP910PC CPLD */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "5.cpu", 0x8000, 0x8000, CRC(56158851) SHA1(abf1daad1198dcc017352742e3c00d57e8955bd4) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "7.bin", 0x0000, 0x8000, CRC(a4452751) SHA1(a0b32a8801ebaee7ede7873b244f1a424433fe94) ) - ROM_CONTINUE( 0x0000, 0x8000) /* Discarding 1nd half 1ST AND 2ND HALF IDENTICAL*/ - ROM_LOAD( "6.bin", 0x8000, 0x8000, CRC(8b64d4c6) SHA1(8106cba31cd3fbda0855e6070182d248e3d52495) ) - ROM_CONTINUE( 0x8000, 0x8000) /* Discarding 1nd half 1ST AND 2ND HALF IDENTICAL*/ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycdid_nvram.bin", 0x0000, 0x0800, CRC(6eb66015) SHA1(39490cf5d404c9e9fb58439f6d9876a3e9b29ba0) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(fc9a8aa3) SHA1(6f0a98bd0c7a64281bb1cce35de11b76978d7123) ) // sldh -ROM_END - - -/* Jolly Card Italian bootleg... - - To init NVRAM, DSW must be: - OFF ON ON ON ON ON ON ON - - Then (SERVICE1 + SERVICE2) and reset, - then another reset. - - This set has spam graphics, but seems - used by another program. - -*/ -ROM_START( jolycdie ) /* Bootleg PCB, NON encrypted graphics */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "aic.cpu", 0x8000, 0x8000, CRC(56158851) SHA1(abf1daad1198dcc017352742e3c00d57e8955bd4) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "c.bin", 0x0000, 0x8000, CRC(eff5362c) SHA1(1c9a48866dc5ee37fad6d68465f326d243c821c3) ) - ROM_LOAD( "b.bin", 0x8000, 0x8000, CRC(98309e14) SHA1(0d3e3766768fafc728a08668ad693f950d1fabab) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycdie_nvram.bin", 0x0000, 0x0800, CRC(1b2fba44) SHA1(be5c956517072581edaebe9ae440a542964c8490) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(fc9a8aa3) SHA1(6f0a98bd0c7a64281bb1cce35de11b76978d7123) ) // sldh -ROM_END - -/* Jolly Card Italian bootleg... - - This PCB has an Altera EP910PC CPLD on board - - This set doesn't need any NVRAM initialization. - - 5 & 6 are coins. - W is payout. -*/ -ROM_START( jolycdif ) /* Altera EP910PC CPLD */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(80983f6a) SHA1(222ce5d4800887de92a73decbad31e96f8da3b4a) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(a4452751) SHA1(a0b32a8801ebaee7ede7873b244f1a424433fe94) ) - ROM_CONTINUE( 0x0000, 0x8000) /* Discarding 1nd half 1ST AND 2ND HALF IDENTICAL*/ - ROM_LOAD( "3.bin", 0x8000, 0x8000, CRC(2856c82d) SHA1(7ce835bc2246ffede180cff0d8d0d4528afcc297) ) - ROM_CONTINUE( 0x8000, 0x8000) /* Discarding 1nd half 1ST AND 2ND HALF IDENTICAL*/ - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) // proper dump -ROM_END - - -/* Jolly Card Italian bootleg... - - This PCB has a TI EP910DC-30 CPLD, - like others italian bootlegs that - have an Altera EP910PC CPLD on board. - - To init NVRAM, DSW must be: - OFF ON ON ON ON ON ON ON - - Then (SERVICE1 + SERVICE2) and reset, - then another reset. - - Once NVRAM is initialized, the hardware still complains about it. - The code checks for values 0x45 & 0x56 at ROM space offsets $E825 - and $E826. If these values are there, the code jumps to $C8C2, - where the game stucks with a hardware error message. - - C8B3: LDA $E825 AD 25 E8 ; load the contents of $E825. - C8B6: CMP #$45 C9 45 ; compare with #$45, ASCII "E". - C8B8: BEQ $C8C2 F0 08 ; if true, jumps to $C8C2. - C8BA: LDA $E826 AD 26 E8 ; load the contents of $E826. - C8BD: CMP #$56 C9 56 ; compare with #$56, ASCII "V". - C8BF: BEQ $C8C2 F0 01 ; if true, jumps to $C8C2. - C8C1: RTS 60 ; returns from subroutine. - .... - C8C2: JMP $C0D8 4C D8 C0 ; jumps to hardware error. - - Maybe something is mapped virtual or physically there that - shows different values that the ones from the ROM. - -*/ -ROM_START( jolycdig ) - ROM_REGION( 0x10000, "maincpu", 0 ) // TI EP910DC-30 CPLD (DIP-40 Ceramic) - ROM_LOAD( "3__27c256.bin", 0x8000, 0x8000, CRC(e939ed2a) SHA1(a413623499971517569bcf97860caad65ff5535f) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2__27c512.bin", 0x0000, 0x8000, CRC(a4452751) SHA1(a0b32a8801ebaee7ede7873b244f1a424433fe94) ) - ROM_IGNORE( 0x8000) // discarding 2nd half (identical halves) - ROM_LOAD( "1__27c512.bin", 0x8000, 0x8000, CRC(8b64d4c6) SHA1(8106cba31cd3fbda0855e6070182d248e3d52495) ) - ROM_IGNORE( 0x8000) // discarding 2nd half (identical halves) - - ROM_REGION( 0x0800, "nvram", 0 ) // default NVRAM - ROM_LOAD( "jolycdig_nvram.bin", 0x0000, 0x0800, CRC(a85854cb) SHA1(601d45f936626a8df7ffe8e36aef17416bbb7cca) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "27s29pc.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - -ROM_START( jolycdih ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(3b2c237c) SHA1(08f646399c17747d6b9b8e86bb549dde87d26ba4) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "3.bin", 0x0000, 0x8000, CRC(a4452751) SHA1(a0b32a8801ebaee7ede7873b244f1a424433fe94) ) - ROM_CONTINUE( 0x0000, 0x8000) /* Discarding 1nd half 1ST AND 2ND HALF IDENTICAL*/ - ROM_LOAD( "2.bin", 0x8000, 0x8000, CRC(8b64d4c6) SHA1(8106cba31cd3fbda0855e6070182d248e3d52495) ) - ROM_CONTINUE( 0x8000, 0x8000) /* Discarding 1nd half 1ST AND 2ND HALF IDENTICAL*/ - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "dm74s472n.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) - - ROM_REGION( 0xb000, "plds", 0 ) - ROM_LOAD( "ep910.bin", 0x0000, 0x0884, CRC(aa62207e) SHA1(a2e51cf3617d07ff1ce42ee1d56e1c17b6fe71de) ) - ROM_LOAD( "pal16v8h-25pc-4.bin", 0x0900, 0x0117, CRC(df5be97d) SHA1(8cd63d49ab7020cdec07c1198413dc7d93e90d35) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolycdih_nvram.bin", 0x0000, 0x0800, CRC(02b3b335) SHA1(207a1289e4298d942e4806adf8ffb87e0b9b4e58) ) -ROM_END - -ROM_START( sjcd2kx3 ) /* Super Joly 2000 3x */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sj3.bin", 0x8000, 0x8000, CRC(c530b518) SHA1(36934d8e1e2cb2f71eb44a05b86ec970c9f398cd) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "sj2.bin", 0x0000, 0x8000, CRC(d7253325) SHA1(ad40e662519da9b11f77690b7d41c5007f74e280) ) - ROM_LOAD( "sj1.bin", 0x8000, 0x8000, CRC(82741749) SHA1(d0bf3073dff9ba1c4913fd754f965951e9cb5b03) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "sjcd2kx3_nvram.bin", 0x0000, 0x0800, CRC(1141368b) SHA1(b4af2d59b5e8115440e1219a621cfd2fb8c2c978) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8uni.bin", 0x0000, 0x0117, CRC(b81d7e0a) SHA1(7fef0b2bcea931a830d38ae0f1102434cf281d2d) ) -ROM_END - - -ROM_START( jolycdab ) - ROM_REGION( 0x10000, "maincpu", 0 ) // program is testing/writing ROM offsets $8800-$BFFF (chksum?). - ROM_LOAD( "ig1poker.run", 0x8000, 0x8000, CRC(c96e6542) SHA1(ed6c0cf9fe8597dba9149b2225320d8d9c39219a) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jn1poker.ch2", 0x0000, 0x8000, CRC(8d78e43d) SHA1(15c60f8e0cd88518b0dc72b92aff6d8d4b2149cf) ) - ROM_LOAD( "jn1poker.ch1", 0x8000, 0x8000, CRC(d0a87f58) SHA1(6b7925557c4e40a1ebe52ecd14391cdd5e00b59a) ) - - ROM_REGION( 0x0800, "nvram", 0 ) // default NVRAM. - ROM_LOAD( "jolycdab_nvram.bin", 0x0000, 0x0800, CRC(30fe661b) SHA1(323c9b5e4856601dbd40f8e48aa8cd9a112e08a9) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - - -/******************************** Bonus Card based sets ************************************/ - -/* - Bonus Card - Fun World, 1986. - - Hardware Fun World/Impera/TAB... - Seems close to Big Deal and Royal Vegas Joker Card. - - PCB Layout... - +----------------------------------------------------------------------------------------------------------------+ - | | - | +--------+ +--------+ +----------+ +--------+ | - | | | +------------+ | | | LM380N | | | | - | | | | GD74LS157 | | | +----------+ | | +---+ +---+ - | | | +------------+ |HYUNDAI | |AY38910A| | | +---+ --| - | | | | | |/P | |ULN| | | --| - | | | +------------+ |HY6116AL| | | |200| |74L| --| - | | | | GD74LS157 | |P-10 | | | |3AN| |S04| --| - | |MC68B45P| +------------+ | | |9027CCA | | | |N | --| - | | | | | | | | | | | --| - | | | +------------+ | | +----------+ | | +---+ | | --| - | | | | GD74LS157 | | | |XRU74HC126| | TAIWAN | +---+ --| - | | 2JR5 | +------------+ | | +----------+ | | --| - | | | +--------+ | | +---+ --| - | |LLAG9319| +------------+ +------------+ | | | | --| - | | | | GD74LS157 | | HD74LS245P | | | |ULN| +---+ - | | | +------------+ +------------+ | | |200| | - | | | | | |3AN| | - | | | +----+ | | | | | - | | | +------------------+ |XTAL| | | | | | - | +--------+ | KM6264BL-10 | | | +----------+ +--------+ +---+ | - | | | |16.0| | 74LS139AN| +--------+ +--------+ | - | +-------------+ | 251Y KOREA | |0Mhz| +----------+ | | | | | - | | GD74LS245 | | | +----+ | | | | | - | +-------------+ +------------------+ | | | | +---+ - | +---+ +------------+ |R65C02P2| |MC6821P | --| - | +-------------+ +------------+ | | |TIBPAL16L8-2| | | | | --| - | | HD74LS374P | | HD74LS374P | | | +------------+ |11450-12| | 0K2P | --| - | +-------------+ +------------+ | | | | | | --| - | |GD7| | MEXICO | | | --| - |+--------------------+ +----------+ |4LS| | | | | +---+ --| - ||Bonus Card 1 | | 74LS194AN| |368| | | |LLAI9320| | 8| --| - || | +----------+ +---+ |9314 | | | | | --| - || 27C256| |A27110-4| | | | | --| - || | +----------+ +---+ | | | | |DIP| --| - |+--------------------+ | 74LS194AN| | | | | | | | | --| - | +----------+ |74L| | | | | | | --| - | |S39| | | | | | | --| - |+--------------------+ +----------+ |3N | | | | | | 1| --| - ||Bonus Card 2 | | 74LS194AN| | | | | | | +---+ --| - || | +----------+ | | +--------+ +--------+ --| - || 27C256| +---+ +--------+ --| - || | +----------+ +--------------------+ | | --| - |+--------------------+ | 74LS194AN| |Bonus Card 3 | | | --| - | +----------+ | | | | --| - | | 27C256| |MC6821P | --| - |+----------+ +----------+ | | | | --| - || GD74LS174| |HD74LS02P | +--------------------+ | 0K2P | --| - |+----------+ +----------+ | | --| - | | | --| - |+---+ +---+ +---+ +---+ +---+ |LLAI9320| --| - ||GD7| | | |HD7| | | | | | | --| - ||4LS| |74S| |4LS| |74L| JOLLY-2-T |74L| | | --| - ||174| |472| |374| |S00| |S02| | | --| - || | |N | |P | |N | |N | | | --| - || | | | | | | | +----+ | | | | --| - || | | | | | | | | A00| | | | | --| - |+---+ | | | | | | +----+ | | | | +---+ - | | | | | +---+ +---+ | | | - | +---+ +---+ +--------+ | - | | - +----------------------------------------------------------------------------------------------------------------+ - - A00 = TL7705ACP - - - DIP - +---------------+ - |#|#| | | |#| | | - |---------------| - | | |#|#|#| |#|#| - +---------------+ - 1 2 3 4 5 6 7 8 - -*/ - -ROM_START( bonuscrd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bonucard.cpu", 0x8000, 0x8000, CRC(da342100) SHA1(451fa6074aad19e9efd148c3d18115a20a3d344a) ) // original program - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "bonuscard_2.bin", 0x0000, 0x8000, CRC(b026823b) SHA1(8d0c80019a9b35104a3782c4fad5c2ca07440a37) ) - ROM_LOAD( "bonuscard_1.bin", 0x8000, 0x8000, CRC(e07f72de) SHA1(f4bd6bc7a8aabe76d09d48362e32f29932fff4e4) ) - - ROM_REGION( 0x0400, "proms", 0 ) - ROM_LOAD( "n82s147an.bin", 0x0000, 0x0200, BAD_DUMP CRC(136245f3) SHA1(715309982fcafbce88b08237ca46acec31273938) ) // from power card, original fun world encrypted bonus card clone. - ROM_LOAD( "74s472n.bin", 0x0200, 0x0200, CRC(e56780cb) SHA1(c06b854f21b1dcee465ac9c8c9a2934b7e99565f) ) // original dump, but doesn't match the cards colors in real board. - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "bonuscrd_tibpal16l8.bin", 0x0000, 0x0104, CRC(9af1ac12) SHA1(2b9770eeca081b8c744ba1250bb99569816d7a85) ) -ROM_END - - -ROM_START( bonuscrda ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bonuscard_3.bin", 0x8000, 0x8000, CRC(c4c6f7af) SHA1(3d0c5c867a9473043fb0b2cde6c6b98c4580ad81) ) // identical to parent, but with 'ATG Electronic' string instead. - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "bonuscard_2.bin", 0x0000, 0x8000, CRC(b026823b) SHA1(8d0c80019a9b35104a3782c4fad5c2ca07440a37) ) - ROM_LOAD( "bonuscard_1.bin", 0x8000, 0x8000, CRC(e07f72de) SHA1(f4bd6bc7a8aabe76d09d48362e32f29932fff4e4) ) - - ROM_REGION( 0x0400, "proms", 0 ) - ROM_LOAD( "n82s147an.bin", 0x0000, 0x0200, BAD_DUMP CRC(136245f3) SHA1(715309982fcafbce88b08237ca46acec31273938) ) // from power card, original fun world encrypted bonus card clone. - ROM_LOAD( "74s472n.bin", 0x0200, 0x0200, CRC(e56780cb) SHA1(c06b854f21b1dcee465ac9c8c9a2934b7e99565f) ) // original dump, but doesn't match the cards colors in real board. - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "bonuscrd_tibpal16l8.bin", 0x0000, 0x0104, CRC(9af1ac12) SHA1(2b9770eeca081b8c744ba1250bb99569816d7a85) ) -ROM_END - - -/* - Big Deal (hungarian) - ------------------ - - - 1x MC6845P - - 1x YM2149F - - 2x MC6821P - - 1x Crystal 16.000 MHz -*/ - -ROM_START( bigdeal ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "poker4.001", 0x8000, 0x8000, CRC(bb0198c1) SHA1(6e7d42beb5723a4368ae3788f83b448f86e5653d) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "poker4.003", 0x0000, 0x8000, CRC(8c33a15f) SHA1(a1c8451c99a23eeffaedb21d1a1b69f54629f8ab) ) - ROM_LOAD( "poker4.002", 0x8000, 0x8000, CRC(5f4e12d8) SHA1(014b2364879faaf4922cdb82ee07692389f20c2d) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* using joker card palette till a correct dump appear */ - ROM_LOAD( "jokercrd_prom.bin", 0x0000, 0x0200, BAD_DUMP CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) -ROM_END - - -ROM_START( bigdealb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "poker8.003", 0x8000, 0x8000, CRC(09c93745) SHA1(a64e96ef3489bc37c2c642f49e62cfef371de6f1) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "poker4.003", 0x0000, 0x8000, CRC(8c33a15f) SHA1(a1c8451c99a23eeffaedb21d1a1b69f54629f8ab) ) - ROM_LOAD( "poker4.002", 0x8000, 0x8000, CRC(5f4e12d8) SHA1(014b2364879faaf4922cdb82ee07692389f20c2d) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* using joker card palette till a correct dump appear */ - ROM_LOAD( "jokercrd_prom.bin", 0x0000, 0x0200, BAD_DUMP CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) -ROM_END - - -/******************************** C.M.C. sets ************************************/ - -/* - Cuore Uno (italian) - ----------------------------------- - - - CPU 1x G65SC02P - - 1x MC68B45P (CRT controller) - - 2x MC68B21CP (Peripheral Interface Adapter) - - 1x unknown (95101) DIP40 mil600 - - 1x oscillator 16.000000 MHz - - ROMs 1x TMS27C512 - 2x TMS27C256 - - 1x PROM AM27S29 - - 2x PALCE20V8H - - 1x PALCE16V8H (soldered) - - Note 1x JAMMA edge connector (keep -5 disconnected) - - 1x trimmer (volume) - - 1x 8 DIP switches - - 1x battery -*/ - -ROM_START( cuoreuno ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cuore1a.u2", 0x8000, 0x8000, CRC(6e112184) SHA1(283ac534fc1cb33d11bbdf3447630333f2fc957f) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "cuore1b.u21", 0x0000, 0x8000, CRC(14eca2b8) SHA1(35cba415800c6cd3e6ed9946057f33510ad2bfc9) ) - ROM_LOAD( "cuore1c.u22", 0x8000, 0x8000, CRC(253fac84) SHA1(1ad104ab8e8d73df6397a840a4b26565b245d7a3) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "cuoreuno_nvram.bin", 0x0000, 0x0800, CRC(b5a1bf25) SHA1(c2996a28c080debf10ab7a7dc47c305aed172a83) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29_cu.bin", 0x0000, 0x0200, CRC(7ea61749) SHA1(3167acd79f9bda2078c2af3e049ad6abf160aeae) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_cu.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_cu.u22", 0x0200, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_cu.u23", 0x0400, 0x0157, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -/* - Elephant Family (italian, old) - ----------------------------- - - - CPU 1x R65C02P2 - - 1x MC68B45P (CRT controller) - - 2x EF6821P (Peripheral Interface Adapter) - - 1x unknown (95101) DIP40 mil600 - - 1x oscillator 16.000 MHz - - ROMs 2x M27C256 - 1x TMS27C256 - - 1x PROM AM27S29 - - 2x PALCE20V8H (read protected) - - 1x PALCE16V8H (read protected) - - Note 1x JAMMA edge connector (keep -5 disconnected) - - 1x trimmer (volume) - - 1x 8 DIP switches - - 1x battery - - u2.bin 1ST AND 2ND HALF IDENTICAL - u20.bin 1ST AND 2ND HALF IDENTICAL - u21.bin 1ST AND 2ND HALF IDENTICAL -*/ - -ROM_START( elephfam ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "eleph_a.u2", 0x8000, 0x8000, CRC(8392b842) SHA1(74c850c734ca8174167b2f826b9b1ac902669392) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "eleph_b.u21", 0x0000, 0x8000, CRC(e3612670) SHA1(beb65f7d2bd6d7bc68cfd876af51910cf6417bd0) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "eleph_c.u22", 0x8000, 0x8000, CRC(4b909bf3) SHA1(a822b12126bc58af6d3f999ab2117370015a039b) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "elephfam_nvram.bin", 0x0000, 0x0800, CRC(fb9b1100) SHA1(cf15ce55042f1c4399fec480c2f862622905a8b5) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29_ef.u25", 0x0000, 0x0200, CRC(bca8b82a) SHA1(4aa19f5ecd9953bf8792dceb075a746f77c01cfc) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_ef.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_ef.u22", 0x0200, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_ef.u23", 0x0400, 0x0157, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -ROM_START( elephfmb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "now.u2", 0x8000, 0x8000, CRC(7b537ce6) SHA1(b221d08c53b9e14178335632420e78070b9cfb27) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "elephb.u21", 0x0000, 0x8000, CRC(3c60549c) SHA1(c839b3ea415a877e5eac04e0522c342cce8d6e64) ) - ROM_LOAD( "elephc.u20", 0x8000, 0x8000, CRC(448ba955) SHA1(2785cbc8cd42a7dda85bd8b81d5fbec01a1ba0bd) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "elephfmb_nvram.bin", 0x0000, 0x0800, CRC(13a0cfea) SHA1(9c8ce509ef1076e88ea853347b64c5591bc2e18c) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29_ef.u25", 0x0000, 0x0200, CRC(bca8b82a) SHA1(4aa19f5ecd9953bf8792dceb075a746f77c01cfc) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_ef.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_ef.u22", 0x0200, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_ef.u23", 0x0400, 0x0157, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -/* - Pool 10 (italian) - ----------------- - - - 1x R65C02P2 (main) - - 1x YM2149F (sound) - - 1x HD46505 (CRT controller) - - 2x EF6821P (Peripheral Interface Adapter) - - 1x oscillator 16.000000 MHz - - - 2x M27256 (pool,1) - - 1x D27256 (2) - - 1x PROM N82S147AN - - 2x GAL20V8B (read protected) - - 1x PALCE16V8H (read protected) - - - 1x JAMMA edge connector - - 1x trimmer (volume) - - 1x 8 DIP switches - - 1x battery - - - Connector, DIPs and instructions, - copied from an original sheet... - - Components | | solder - ---------------------|--|----------------- - gnd |01| gnd - gnd |02| gnd - +5 |03| +5 - +5 |04| +5 - |06| - +12 |07| +5 - |08| contatore out - motor hopper |09| contatore in - audio |10| audio - sw hopper |11| gnd - rosso |12| verde - blu |13| sync - gnd |14| statistic - manegement |15| - coin 1 |16| coin 2 - sw ticket |17| motor ticket - hold 3 |18| lamp hold 3 - hold 4 |19| lamp hold 4 - hold 2 |20| lamp hold 2 - hold 1 |21| lamp hold 1 - hold 5 |22| lamp hold 5 - start |23| lamp hold start - cancel |24| lamp hold cancel - nc |25| +5 lamp - ric. ticket + hopper |26| +12 lamp - gnd |27| gnd - gnd |28| gnd - - - DIPS - 1 2 3 4 5 6 7 8 - on - off - ticket + hopper on on - hopper on off - ticket off on - no ticket - no hopper off off - 1 coin 1 credit off off - 1 coin 5 credits off on - 1 coin 10 credits on off - 1 coin 50 credits on on - five of kind yes off - five of kind no on - royal flush yes off - royal flush no on - in test on - in game off - - - Instructions: - - STATISTICS = show in and out credits - MANEGEMENT = It's the general statistic. It shows in and out credits. - - To cancel statistics press CANCEL for 5 seconds. - To change max and min value for play connect to GND the manegement pin, - at the same time press toghether HOLD 2 + HOLD 4 for some seconds. - - The following menu will show up: - - HOLD 1 = modify max value for play 1 to 10. - HOLD 2 = modify min value foe play 1 to 5. - Press start to exit from programming mode. - - To unlock PCB from a possible lock: - connect GND to pins component15 and solder14 for 5 seconds - - NB. Use lamps by 12V 0,15W - Memory version: V16 -*/ - -ROM_START( pool10 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "pool10.u2", 0x8000, 0x8000, CRC(4e928756) SHA1(d9ac3d41ea32e060a7e269502b7f22333c5e6c61) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) - ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(9abedd0c) SHA1(f184a82e8ec2387069d631bcb77e890acd44b3f5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10_nvram.bin", 0x0000, 0x0800, CRC(2f2fab43) SHA1(f815b70c171bad99fa6a60c256e4fdc85dd6b290) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an_p10.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_p10.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u22", 0x0200, 0x0157, NO_DUMP ) /* GAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u23", 0x0400, 0x0157, NO_DUMP ) /* GAL is read protected */ -ROM_END - - -/* - - pool10b - - - u2.bin 1ST AND 2ND HALF IDENTICAL - u20.bin 1ST AND 2ND HALF IDENTICAL - u21.bin 1ST AND 2ND HALF IDENTICAL -*/ - ROM_START( pool10b ) /* this set should be the parent */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "u2.bin", 0x8000, 0x8000, CRC(64fee38e) SHA1(8a624a0b6eb4a3ba09e5b396dc5a01994dfdf294) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - /* GFX ROMs are the same of pool10, but double sized with identical halves. */ - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "u21.bin", 0x0000, 0x8000, CRC(581c4878) SHA1(5ae61af090feea1745e22f46b33b2c01e6013fbe) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "u20.bin", 0x8000, 0x8000, CRC(3bdf1106) SHA1(fa21cbd49bb27ea4a784cf4e4b3fbd52650a285b) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10b_nvram.bin", 0x0000, 0x0800, CRC(d9f35299) SHA1(2c3608bc9c322a9cc86f74d8fa2f660804a8cf3c) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an_p10.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_p10b.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_p10b.u22", 0x0200, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_p10b.u23", 0x0400, 0x0157, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -ROM_START( pool10c ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "a.u2", 0x8000, 0x8000, CRC(ac157b17) SHA1(f2b7eb940273bc404d3e0d8dd0f00ca757cebf69) ) // sldh - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "b.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) - ROM_LOAD( "c.u20", 0x8000, 0x8000, CRC(9abedd0c) SHA1(f184a82e8ec2387069d631bcb77e890acd44b3f5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10c_nvram.bin", 0x0000, 0x0800, CRC(396aefed) SHA1(066b87ff054dfb37f733a812ad0dc1b1bd2478e6) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an_p10.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_p10.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u22", 0x0200, 0x0157, NO_DUMP ) /* GAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u23", 0x0400, 0x0157, NO_DUMP ) /* GAL is read protected */ -ROM_END - - -/* - - pool10d - - - 3.50.u2 1ST AND 2ND HALF IDENTICAL -*/ - ROM_START( pool10d ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.50.u2", 0x8000, 0x8000, CRC(4c68e1f4) SHA1(bbab63a18e0c041ce519daa32e12dd1b6a672dce) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) // sldh - ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(9abedd0c) SHA1(f184a82e8ec2387069d631bcb77e890acd44b3f5) ) // sldh - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10d_nvram.bin", 0x0000, 0x0800, CRC(6b5984a0) SHA1(156a94e74e33b1a15222cffff9b62e65f6f5f2f5) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an_p10.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_p10.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u22", 0x0200, 0x0157, NO_DUMP ) /* GAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u23", 0x0400, 0x0157, NO_DUMP ) /* GAL is read protected */ -ROM_END - - -/* - Pool 10... - Dino 4 (not working) board, - with the infamous mexican Rockwell R65C02. - - Encrypted program & graphics ROMs. - - PCB layout... - .----------------------------------------------------------------------------------------------. - | | - | .----. .----------. .--------------. .--------------. | - | |A00 | |M74HC00B1 | | SN74HCT245N | |PALCE16V8H-15 | | - | '----' '----------' '--------------' '--------------' | - | | - | .------------. .-----------. | - | | | | DIP SW #1 | .----------------------------. | - | | BATTERY | | | | R65C02P2 | | - '---. | | '-----------' | 11450-12 | | - | | | | MEXICO | | - | '------------' | 9740 S11493_2 | | - | '----------------------------' | - .---' .----------------------------. | - |--- | | | - |--- | HD46821P | | - |--- | | .--------------------. .---------. | - |--- | | | 3_50.U2 | |74HC126B1| | - |--- '----------------------------' | | '---------' | - |--- | | | - |--- .----------------------------. | 27256| | - |--- | MC6821P | '--------------------' | - |--- | QL M9N8623 | .---------. | - |--- .---------. | | |74HC139E | | - |---J |ULN2003A | | | '---------' | - |--- '---------' '----------------------------' .-----------------. | - |---A | | | - |--- | JAPAN 2G3 | .---------. | - |---M .---------. .-----------. .-----------. | HM6116LP-4 | |SN74LS02N| | - |--- |74LS04B1 | | 411GR-001 | | 411GR-001 | | | '---------' | - |---M '---------' '-----------' '-----------' '-----------------' | - |--- | - |---A | - |--- .----------------------------. .----------------------------. | - |--- | FILE | | MC6845P | | - |--- | KV89C72 | | R1A 8210 | | - |--- | | | | | - |--- | | | | | - |--- .-------------. '----------------------------' '----------------------------' | - |--- | 74HCT373N | | - |--- '-------------' .---------. .---------------. .-------------. .---------. | - |--- |ULN2003A | |PALCE20V8H-25PC| | SN74LS245N | |74157 PC | | - |--- .-------------. '---------' '---------------' '-------------' '---------' | - |--- | AM27S29 | | - |--- '-------------' .--------------------. .---------. | - |--- | 2.U21 | .--------------------. |74157 PC | | - |--- .--------. | | | GOLDSTAR | '---------' | - |-- |74LS174B| .---. | | | GM76C88-12 | | - '---. '--------' |74L| | 27256| | 8928 KOREA | .---------. | - | |S08| '--------------------' LC DINO 4 | | |74157 PC | | - | |B1 | '--------------------' '---------' | - | .--------. | | .--------------------. | - .---' |74LS02N | | | | 1.U20 | | - | '--------' '---' | | .-------------. .---------. | - | | | | SN74LS377N | |74157 PC | | - | | 27256| '-------------' '---------' | - | '--------------------' | - | .--------. | - | | XTAL | .---------. .---------------. .-------------. .---------. | - | | 16 MHz | |74LS161AN| |PALCE20V8H-25PC| | SN74LS377N | |74LS174B1| | - | '--------' '---------' '---------------' '-------------' '---------' | - | | - '----------------------------------------------------------------------------------------------' - - A00 = TL7705ACE - -*/ - -ROM_START( pool10e ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3_50.u2", 0x8000, 0x8000, CRC(764394bb) SHA1(0defcedc802c468c615560e47ec4064a4f084650) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(a0d54044) SHA1(c7be1f12f72095daee32ae41c3554d8ab4f99245) ) // sldh - ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(55c9fcc8) SHA1(224bdf63ed345b1def4852af3b33f07790fbf123) ) // sldh - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10e_nvram.bin", 0x0000, 0x0800, CRC(e20f9a14) SHA1(617ca53263a971c9f835a95737a66fac5b99780f) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* Same as Pool 10, but the 1st half duplicated to cover any PLD addressing */ - ROM_LOAD( "am27s29.u25", 0x0000, 0x0200, CRC(2c315cbf) SHA1(f3f91329f2b8388decf26a050f8fb7da38694218) ) - - ROM_REGION( 0x3000, "plds", 0 ) - ROM_LOAD( "palce16v8h.u5", 0x0000, 0x0892, BAD_DUMP CRC(123d539a) SHA1(cccf0cbae3175b091a998eedf4aa44a55b679400) ) /* read protected */ - ROM_LOAD( "palce20v8h.u22", 0x1000, 0x0a92, BAD_DUMP CRC(ba2a021f) SHA1(e9c5970f80c7446c91282d53cfe97c92353dce7d) ) /* read protected */ - ROM_LOAD( "palce20v8h.u23", 0x2000, 0x0a92, BAD_DUMP CRC(ba2a021f) SHA1(e9c5970f80c7446c91282d53cfe97c92353dce7d) ) /* read protected */ -ROM_END - - -/* - -*/ - -ROM_START( pool10f ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cmc-pool10+a+.u2", 0x8000, 0x8000, CRC(e8087fb8) SHA1(c012a81f561978bd97708a52f656e7b13e41a3e2) ) // sldh - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "cmc-pool10-b.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) - ROM_LOAD( "cmc-pool10-c.u20", 0x8000, 0x8000, CRC(9abedd0c) SHA1(f184a82e8ec2387069d631bcb77e890acd44b3f5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10f_nvram.bin", 0x0000, 0x0800, CRC(75dd3562) SHA1(a359cada144e7c90946649f5dd0998d0ee48f4d2) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "27s29.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_p10.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u22", 0x0200, 0x0157, NO_DUMP ) /* GAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u23", 0x0400, 0x0157, NO_DUMP ) /* GAL is read protected */ -ROM_END - - -ROM_START( pool10g ) /* this set should be the parent */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.u2", 0x8000, 0x8000, CRC(7b537ce6) SHA1(b221d08c53b9e14178335632420e78070b9cfb27) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) - ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(9abedd0c) SHA1(f184a82e8ec2387069d631bcb77e890acd44b3f5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10h_nvram.bin", 0x0000, 0x0800, CRC(3ec39472) SHA1(aa2bb5abd16557560a19842929ad7dab852abbbf) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) -ROM_END - - -ROM_START( pool10h ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cmc-pool10+a+.u2", 0x8000, 0x8000, CRC(b671c6dd) SHA1(070617bbe304469deb98504e3ee73800bff225bb) ) // sldh - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "cmc-pool10+b+.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) - ROM_LOAD( "cmc-pool10+c+.u20", 0x8000, 0x8000, CRC(9abedd0c) SHA1(f184a82e8ec2387069d631bcb77e890acd44b3f5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10i_nvram.bin", 0x0000, 0x0800, CRC(e93dee30) SHA1(195525e95a3bdc1b002b12fd27bc31c63d7a9276) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an_p10.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) -ROM_END - - -ROM_START( pool10i ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "a.u2", 0x8000, 0x8000, CRC(566bc05d) SHA1(eec88c8ba6cb664f38ebf8b71f99b4e7d04a9601) ) // sldh - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "b.u21", 0x0000, 0x8000, CRC(581c4878) SHA1(5ae61af090feea1745e22f46b33b2c01e6013fbe) ) // sldh - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "c.u20", 0x8000, 0x8000, CRC(3bdf1106) SHA1(fa21cbd49bb27ea4a784cf4e4b3fbd52650a285b) ) // sldh - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10l_nvram.bin", 0x0000, 0x0800, CRC(89cbee4b) SHA1(ff8031a96ee40e1e62abbae7a0b3d9dc2122759f) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) -ROM_END - -ROM_START( pool10j ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "cmcpool10.u2", 0x8000, 0x8000, CRC(f7fa2b12) SHA1(743563e51327b00dd638bcb2233e833ce74e62a0) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "cmcpool10.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) - ROM_LOAD( "cmcpool10.u20", 0x8000, 0x8000, CRC(9abedd0c) SHA1(f184a82e8ec2387069d631bcb77e890acd44b3f5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "pool10j_nvram.bin", 0x0000, 0x0800, CRC(48684b02) SHA1(6f2fbd0e2621e31b881edd8056ff93ee78f331ab) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29pc.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) // all read protected - ROM_LOAD( "palce16v8h.u5", 0x0000, 0x0117, NO_DUMP ) - ROM_LOAD( "palce20v8h.u22", 0x0200, 0x0157, NO_DUMP ) - ROM_LOAD( "palce20v8h.u23", 0x0400, 0x0157, NO_DUMP ) -ROM_END - -/* - New Biliard 98 - - CPUs: - 1x R65C02P2 u1 8-bit Microprocessor - main - 1x MC68B45P u8 CRT Controller (CRTC) - 2x MC68B21CP u29, u30 Peripheral Interface Adapter - 1x 89C10 u34 Programmable Sound Generator - sound - 1x TDA2003 u33 Audio Amplifier - sound - 1x oscillator 16.000000MHz os1 - - ROMs: - 3x 27C256 u2, u20, u21 dumped - 1x AM27S29PC u25 dumped - - RAMs: - 1x KM6264BL-10L-12 u13 - 1x GM76C28A-10 u3 - - PLDs: - 2x GAL20V8A-25LP u22, u23 read protected - 1x PALCE16V8H-15PC/4 u5 read protected - - Others: - 1x 28x2 JAMMA edge connector - 1x trimmer (TR1, volume) - 1x 8 DIP switches bank (SW1) - 1x battery 3.6V - - Notes: - PCB is marked: "top" and "C.M.C. POOL 10" on component side - PCB is marked: "bottom" and "POOL 10 C.M.C" on solder side - -*/ -ROM_START( biliard ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "biliard-a.u2", 0x8000, 0x8000, CRC(3b20348b) SHA1(002b9b8581adc1b253ee3babf0e4c1aad4a2f017) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "cmcpool10-b.u21", 0x0000, 0x8000, CRC(99c8c074) SHA1(f8082b08e895cbcd028a2b7cd961a7a2c8b2762c) ) - ROM_LOAD( "biliard-c.u20", 0x8000, 0x8000, CRC(b15d10ec) SHA1(9b0f32ff791063cfb2d8339a4e8041e034e73eb7) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "biliard_nvram.bin", 0x0000, 0x0800, CRC(2f2fab43) SHA1(f815b70c171bad99fa6a60c256e4fdc85dd6b290) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29pc.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h-25pc-4.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "gal20v8a-25lp.u22", 0x0200, 0x0157, NO_DUMP ) /* GAL is read protected */ - ROM_LOAD( "gal20v8a-25lp.u23", 0x0400, 0x0157, NO_DUMP ) /* GAL is read protected */ -ROM_END - - -/* - Royal... - This one seems to run in royalcd1 hardware. -*/ - -ROM_START( royal ) /* brute hack of pool 10 */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.u2", 0x8000, 0x8000, CRC(d4f36273) SHA1(2049257ea9ee52fde9cabfe40e809e00526a960e) ) // sldh - - /* GFX ROMs are the same of pool10, but double sized with identical halves. */ - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(439eec10) SHA1(500139c16a883f0a5b0b8d91f4f067ba428d2d11) ) // sldh - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(9b59e72d) SHA1(96217272ce5abb78ff45ff116a5d921c57717ed9) ) // sldh - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royal_nvram.bin", 0x0000, 0x0800, CRC(9df190d5) SHA1(4be0f5c6f89f822568e45e0e8457cf51ced2dcfe) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.u25", 0x0000, 0x0200, CRC(d922d4e5) SHA1(d1541eabfd9cedd9eaa4fc48a3f64b078ea456be) ) // sldh -ROM_END - - -/* - Tortuga Family (italian) & Pot Game (italian) - --------------------------------------------- - - - 1x G65SC02P2 (main) - - 1x 95101 (sound) - - 1x MC68B45P (CRT controller) - - 2x MC68B21CP (Peripheral Interface Adapter) - - 1x oscillator 16.000000 MHz - - - 3x TMS27C256 - - 1x PROM AM27S29PC - - 2x PALCE20V8H (read protected) - - 1x PALCE16V8H (read protected) - - - 1x JAMMA edge connector - - 1x trimmer (volume) - - 1x 8 DIP switches - - 1x battery -*/ - -ROM_START( tortufam ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tortu.a.u2", 0x8000, 0x8000, CRC(6e112184) SHA1(283ac534fc1cb33d11bbdf3447630333f2fc957f) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "tortu.b.u21", 0x0000, 0x8000, CRC(e7b18584) SHA1(fa1c367469d4ced5d7c83c15a25ec5fd6afcca10) ) - ROM_LOAD( "tortu.c.u20", 0x8000, 0x8000, CRC(3cda6f73) SHA1(b4f3d2d3c652ebf6973358ae33b7808de5939acd) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "tortufam_nvram.bin", 0x0000, 0x0800, CRC(e5a08b1b) SHA1(6575ed3ec66ef0e42129225fe1679519e5e1c946) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29pc_tf.u25", 0x0000, 0x0200, CRC(c6d433fb) SHA1(065de832bbe8765eb0aacc2029e587a4f5362f8a) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce20v8h_tf.u5", 0x0000, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_tf.u22", 0x0200, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_tf.u23", 0x0400, 0x0157, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -ROM_START( potgame ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "now.u2", 0x8000, 0x8000, CRC(7b537ce6) SHA1(b221d08c53b9e14178335632420e78070b9cfb27) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "potg.b.u21", 0x0000, 0x8000, CRC(32fc1d4f) SHA1(cc533a44498338bc0cbb7c7b9c42559ce7ff1337) ) - ROM_LOAD( "potg.c.u20", 0x8000, 0x8000, CRC(0331eb42) SHA1(a8e838d644fc6d93a9632070b305e44e4242ce94) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "potgame_nvram.bin", 0x0000, 0x0800, CRC(2b07fb37) SHA1(9cbd3d8fb076d683a7853b3dd8a39a27f1c8872b) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29_pot.u25", 0x0000, 0x0200, CRC(a221f151) SHA1(270c57c9b7de912b136686bc6720eb8f12dbb805) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_pot.u5", 0x0000, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_pot.u22", 0x0200, 0x0157, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "palce20v8h_pot.u23", 0x0400, 0x0157, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -ROM_START( bottle10 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "boat_3.bin", 0x8000, 0x8000, CRC(e2db8334) SHA1(22ac4ce361a93b7e6d491e260635755dd562b294) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "boat_2.bin", 0x0000, 0x8000, CRC(a6b36c3f) SHA1(90b12d9552ad5dbf11a30fc7451da1f3e6763cc3) ) - ROM_LOAD( "boat_1.bin", 0x8000, 0x8000, CRC(61fd8c19) SHA1(eb8fd8bd7de38a6c8a435e9e36daf699162138a5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "bottle10_nvram.bin", 0x0000, 0x0800, CRC(82927c53) SHA1(8cde91588cb53fefc84f0b14fc5c0b26a3a445eb) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an_p10.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_p10.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u22", 0x0200, 0x0157, NO_DUMP ) /* GAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u23", 0x0400, 0x0157, NO_DUMP ) /* GAL is read protected */ -ROM_END - - -ROM_START( bottl10b ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.u2", 0x8000, 0x8000, CRC(e2db8334) SHA1(22ac4ce361a93b7e6d491e260635755dd562b294) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.u21", 0x0000, 0x8000, CRC(9395c15b) SHA1(e4caefc6f55b07f5c4370a3b8652fa93e08987ce) ) - ROM_LOAD( "1.u20", 0x8000, 0x8000, CRC(61fd8c19) SHA1(eb8fd8bd7de38a6c8a435e9e36daf699162138a5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "bottl10b_nvram.bin", 0x0000, 0x0800, CRC(59976182) SHA1(f8d26169e86444607bc5a6649f41e7f5c05ddbb4) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an_p10.u25", 0x0000, 0x0200, CRC(1de03d14) SHA1(d8eda20865c1d885a428931f4380032e103b252c) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h_p10.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u22", 0x0200, 0x0157, NO_DUMP ) /* GAL is read protected */ - ROM_LOAD( "gal20v8b_p10.u23", 0x0400, 0x0157, NO_DUMP ) /* GAL is read protected */ -ROM_END - -/* - Luna Park sets... - - This board has mirrored video RAM 4000-4FFF to 5000-5FFF, - and color RAM 6000-6FFF to 7000-7FFF. - - Two different programs. One in each program ROM half. - PRG rom higher address line is connected to DIP switch #1, - so it should have 2 games in the same PCB (2 revisions?) - - 1st half: 2nd half: - - BE58: LDA #$04 LDA #$00 - JSR $9DE2 JSR $9DE2 - - BE60: LDA #$09 LDA #$00 - JSR $B25E JSR $B25E - - BE73: A5 22 A5 23 - - BEC0: '5 TIRI LIRE 500' '10 TIRI LIRE 500' - BF40: 00 00 00 00... 'wait...no coin' - C3D0: 'ABILITA VINTE' 'PARTITA VINTE' - DF30: 20 20 20 20 20 00 00 00 00 00 - - The second set, has the same programs, but the strings on the first half - were changed to match the second program. - -*/ -/* The following two have mirrored video RAM 4000/5000 to 6000/7000. */ -ROM_START( lunapark ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* Two different programs. Selectable through a DIP switch */ - ROM_LOAD( "lunapark-425-95n003.u2", 0x0000, 0x10000, CRC(b3a620ee) SHA1(67b3498edf7b536e22c4d97c1f6ad5a71521e68f) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "lunapark-425-95n002.u21", 0x0000, 0x8000, CRC(2bededb7) SHA1(b8d7e6fe307d347d762adf35d361ade620aab37b) ) - ROM_CONTINUE( 0x0000, 0x8000) /* Discarding 1nd half 0xff filled*/ - ROM_LOAD( "lunapark-425-95n001.u20", 0x8000, 0x8000, CRC(7d91ce1f) SHA1(7e9bfad76f305d5787faffe3a07b218beb37fda8) ) - ROM_CONTINUE( 0x8000, 0x8000) /* Discarding 1nd half 0xff filled*/ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "lunapark_nvram.bin", 0x0000, 0x0800, CRC(f99e749b) SHA1(fafd4205dfaacb4c21215af6997d06ab419c9281) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.u25", 0x0000, 0x0200, CRC(ddb74d72) SHA1(3d5dda3a935a3100cb86017f103b855d6449f73a) ) -ROM_END - -ROM_START( lunaparkb ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* Two different programs. Selectable through a DIP switch */ - ROM_LOAD( "lunapark-number-03_lunaparkb.u2", 0x0000, 0x10000, CRC(cb819bb7) SHA1(c7fb25eab093de2f644445a713d99ee8024d8499) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "27512.u21", 0x0000, 0x8000, CRC(d64ac315) SHA1(c67d9e67a988036844efd4f980d47a90c022ba18) ) /* only the first 2 bytes different */ - ROM_CONTINUE( 0x0000, 0x8000) /* Discarding 1nd half 0xff filled*/ - ROM_LOAD( "27512.u20", 0x8000, 0x8000, CRC(7d91ce1f) SHA1(7e9bfad76f305d5787faffe3a07b218beb37fda8 ) ) - ROM_CONTINUE( 0x8000, 0x8000) /* Discarding 1nd half 0xff filled*/ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "lunaparkb_nvram.bin", 0x0000, 0x0800, CRC(f99e749b) SHA1(fafd4205dfaacb4c21215af6997d06ab419c9281) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.u25", 0x0000, 0x0200, CRC(ddb74d72) SHA1(3d5dda3a935a3100cb86017f103b855d6449f73a) ) -ROM_END - -/* This one hasn't mirrored video RAM, so could run in regular Cuore 1 hardware */ -ROM_START( lunaparkc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "lunapark-number-03_lunaparkc.u2", 0x8000, 0x8000, CRC(fdbe49c3) SHA1(a2b14a6998d5a27fba7bc360a15f17a48c91194f) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "lunapark-number-01.u21", 0x0000, 0x8000, CRC(ee057944) SHA1(31b76dcadf1dd5aacac1dfed0c7c9f7190797ead) ) - ROM_LOAD( "lunapark-number-02.u20", 0x8000, 0x8000, CRC(b8795aec) SHA1(5db2e64657dee7742eb9d11e65d29c83a93332b7) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "lunaparkc_nvram.bin", 0x0000, 0x0800, CRC(005b70fc) SHA1(682c2315b4fafb6255db989f0d49255fd8d7a1a9) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.u25", 0x0000, 0x0200, CRC(ddb74d72) SHA1(3d5dda3a935a3100cb86017f103b855d6449f73a) ) -ROM_END - -/* - Crystal Colours... - Version running in CMC hardware. -*/ -ROM_START( crystal ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "425-1995-number-03.u2", 0x8000, 0x8000, CRC(bab1ab88) SHA1(d224f2f7cd9313f51c484d781dc278e358f1e4fd) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "425-1995-number-02.u21", 0x0000, 0x8000, CRC(1eaf1bd9) SHA1(eb392f4a8864c59c7792f905f165f543087cb4a0) ) - ROM_LOAD( "425-1995-number-01.u20", 0x8000, 0x8000, CRC(d3972c19) SHA1(a84ae765eeae1f9d443b0c4941b6f93dcc540f8c) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "crystal_nvram.bin", 0x0000, 0x0800, CRC(21a712ee) SHA1(259d83b8268a93f96b53580562e9c6e835f7473e) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.u25", 0x0000, 0x0200, CRC(dd9db8bd) SHA1(6374795ae243759a887464b38ece078dc3735b6f) ) -ROM_END - - -/******************************** Royal Card sets ************************************/ - -/* - 1.bin NO MATCH - 2.bin = 1.bin royalcrdd Royal Card (German, set 5) - = u4_nmc27c256.bin royalcrdp Royal Card v2.0 Professional - 3.bin NO MATCH - - This one works properly. Also Bet with Hold 5. - -*/ - -ROM_START( royalcrd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(7f920318) SHA1(acbfed8d0a0984fd0c572a4de42d8dc08fb99a82) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "3.bin", 0x0000, 0x8000, CRC(c46d804f) SHA1(b089821c7dae6714b49401d787f8bed859815763) ) - ROM_LOAD( "2.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrd_nvram.bin", 0x0000, 0x0800, CRC(1c775f61) SHA1(c810421eaa31a72e3f2fe9a1d82858e7cc2f6b93) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "prom2.bin", 0x0000, 0x0200, CRC(7e5839e6) SHA1(5e8401d2b236f73cc017a73a369b3b3b821a1deb) ) -ROM_END - -/* - r.1 NO MATCH - r.2 = 1a.bin royalcrde Royal Card (German, set 6) - r.3 = 2a.bin royalcrde Royal Card (German, set 6) - - All ROMs are double sized, with identical halves. - The set is working properly, with Bet (Hold 5) and normal payout. No Remote. -*/ -ROM_START( royalcrda ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "r.1", 0x0000, 0x10000, CRC(761021ec) SHA1(3a00a1d2f74dbb06a0ab6605c32bef8013c93874) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "r.3", 0x0000, 0x8000, CRC(3af71cf8) SHA1(3a0ce0d0abebf386573c5936545dada1d3558e55) ) - ROM_IGNORE( 0x8000) - ROM_LOAD( "r.2", 0x8000, 0x8000, CRC(8a66f22c) SHA1(67d6e8f8f5a0fd979dc498ba2cc67cf707ccdf95) ) - ROM_IGNORE( 0x8000) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrda_nvram.bin", 0x0000, 0x0800, CRC(c42dbad4) SHA1(b38552192e3f5f6bc2a4b92bddd2f95ac17ecc8c) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "prom3_r.bin", 0x0000, 0x0200, CRC(7e5839e6) SHA1(5e8401d2b236f73cc017a73a369b3b3b821a1deb) ) -ROM_END - -/* - rc_1_pl.bin NO MATCH - rc_2_pl.bin = 1.bin royalcrdd Royal Card (German, set 5) - = u4_nmc27c256.bin royalcrdp Royal Card v2.0 Professional - rc_3_pl.bin = 2.bin royalcrdd Royal Card (German, set 5) - - Working properly, with Bet (Hold 5) and Hold 2 shown a credit screen that allow payout or clear. -*/ -ROM_START( royalcrdb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rc_1_pl.bin", 0x8000, 0x8000, CRC(7a0ad63c) SHA1(7a1f6e0fd6e31f6950eeffc6a9ef073e909d85f9) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "rc_3_pl.bin", 0x0000, 0x8000, CRC(85e77661) SHA1(7d7a765c1bfcfeb9eb91d2519b22d734f20eab24) ) - ROM_LOAD( "rc_2_pl.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrdb_nvram.bin", 0x0000, 0x0800, CRC(19bb3dea) SHA1(0965fbcec48ded99c5f6793efffb1d9329cc00eb) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "prom_epoxy.bin", 0x0000, 0x0200, CRC(b1e15441) SHA1(eb9318dd08e12281bef27a75bfdf54ec5d97fad6) ) -ROM_END - -/* - Royal Card (German, set 4) - - roj.ic12 NO MATCH - roj.ic25 NO MATCH - roj.ic26 NO MATCH - - roj.ic26 BADADDR xxxxxxx-xxxxxxxx - Bad dump. Address 08 is faulty. - - GFX ROMS are double size. - Second half of GFX ROMs seems to be from Jolly Card. - -*/ -ROM_START( royalcrdc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "roj.ic12", 0x8000, 0x8000, CRC(16923d58) SHA1(e865b91246ae5a21bdc9787e6e6e22be5182cabb) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) // borrowed from parent set, that matches 100%. - ROM_LOAD( "3.bin", 0x0000, 0x8000, CRC(c46d804f) SHA1(b089821c7dae6714b49401d787f8bed859815763) ) - ROM_LOAD( "2.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) - - ROM_REGION( 0x10000, "gfxbad", 0 ) // faulty gfx set with bad addressing and mix of royal card & jolly card tiles. - ROM_LOAD( "roj.ic26", 0x0000, 0x8000, BAD_DUMP CRC(3883cdcb) SHA1(b71a786822fe8fcb2c6fcdc463facb2738ec8c01) ) - ROM_IGNORE( 0x8000) - ROM_LOAD( "roj.ic25", 0x8000, 0x8000, CRC(c5b787e8) SHA1(be88aa901c1f96d171af45c3602e0ce72b8fff34) ) - ROM_IGNORE( 0x8000) - - ROM_REGION( 0x0800, "nvram", 0 ) // default NVRAM - ROM_LOAD( "royalcrdc_nvram.bin", 0x0000, 0x0800, CRC(eacb0c7b) SHA1(513816623aa3843dd5d0416fc012060c7a9f6c71) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "prom1.bin", 0x0000, 0x0200, CRC(8f6a33b1) SHA1(3a2f97563b7f094ef8b13a4e47a18e4a1fcf51c3) ) -ROM_END - -/* - Royal Card (set 5) - ------------------ - - - 1x HM6264LP - - 1x HD4650SP - - 1x HM6116LP - - 1x R65C02P2 (main) - - 1x WB5300 (labeled YM8910)(sound) - - 1x EF6821P - - 1x oscillator 16.000 MHz - - - 1x D27256 (1) - - 1x S27C256 (2) - - 1x TMS27C256 (r2) - - 2x PEEL18CV8 (1 protected) - - 1x PALCE16V8H (protected) - - 1x PROM N82S147AN - - - 1x 8 DIP Switches - - 1x 22x2 edge connector - - 1x 18x2 edge connector - - 1x trimmer (volume) -*/ - -ROM_START( royalcrdd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "r2.bin", 0x8000, 0x8000, CRC(25dfe0dc) SHA1(1a857a910d0c34b6b5bfc2b6ea2e08ed8ed0cae0) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(85e77661) SHA1(7d7a765c1bfcfeb9eb91d2519b22d734f20eab24) ) // sldh - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) // sldh - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrdd_nvram.bin", 0x0000, 0x0800, CRC(335bfa5a) SHA1(7e9cbb502f450c515ea03ffcf4b7fbae60af4e73) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147.bin", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8h-4.bin", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ - ROM_LOAD( "1-peel18cv8.bin", 0x0200, 0x0155, NO_DUMP ) /* PEEL is read protected */ - ROM_LOAD( "2-peel18cv8.bin", 0x0400, 0x0155, CRC(8fdafd55) SHA1(fbb187ba682111648ea1586f400990cb81a3077a) ) -ROM_END - - -/* - Royal Card (set 6) - ------------------ - - - CPU 1x R65C02P2 (main) - - 1x MC68B45P (CRT controller) - - 2x MC68B21CP (Peripheral Interface Adapter) - - 1x oscillator 16.000 MHz - - 3x ROMs TMS 27C512 - - 1x PALCE16V8H - - 1x prom AM27S29APC - - - 1x 28x2 connector (maybe NOT jamma) - - 1x 10x2 connector - - 1x 3 legs connector (solder side) - - 1x 8 DIP Switches - - 1x trimmer (volume) -*/ - -ROM_START( royalcrde ) /* both halves have different programs. we're using the 2nd one */ - ROM_REGION( 0x10000, "maincpu", 0 ) /* 1st half prg is testing RAM in offset $8600-$BF00...?? */ - ROM_LOAD( "rc.bin", 0x0000, 0x10000, CRC(8a9a6dd6) SHA1(04c3f9f17d5404ac1414c51ef8f930df54530e72) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2a.bin", 0x0000, 0x8000, CRC(3af71cf8) SHA1(3a0ce0d0abebf386573c5936545dada1d3558e55) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "1a.bin", 0x8000, 0x8000, CRC(8a66f22c) SHA1(67d6e8f8f5a0fd979dc498ba2cc67cf707ccdf95) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrde_nvram.bin", 0x0000, 0x0800, CRC(3b03440f) SHA1(49e51b8c9e1404d39c479a2d0619aab43f1a6529) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147.bin", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "palce16v8h-4.bin", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -/* - Royal Card (TAB Austria original) - With respective original PLD properly dumped. -*/ - -ROM_START( royalcrdt ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "r1_0.bin", 0x8000, 0x8000, CRC(829a6a1d) SHA1(b7064e4d60e33d0875eb73525230ea3b99f10542) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "novr3_0.bin", 0x0000, 0x8000, CRC(85e77661) SHA1(7d7a765c1bfcfeb9eb91d2519b22d734f20eab24) ) - ROM_LOAD( "novr2_0.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "jop1.bin", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) - - ROM_REGION( 0x0800, "nvram", 0 ) - ROM_LOAD( "royalcrdt_nv.bin", 0x0000, 0x0800, CRC(67a6e68b) SHA1(d7ab01c4d9bd4fe58b5d0f4a945c00c5c4906008) ) - - ROM_REGION( 0x0200, "plds", 0 ) /* Device type is 16L8 */ - ROM_LOAD( "tab01_3.bin", 0x0000, 0x0104, CRC(a13a7a0a) SHA1(28e918ece4dcfa3883d2439c226b2f125d43f386) ) -ROM_END - - -/* - Royal Card (set 7, encrypted) - ----------------------------- - - - Custom/encrypted CPU (epoxy block labelled "EVONA EX9511" -> www.evona.sk ) - inserted into socked with "6502" mark. - - - 1x YM2149 - - - 1x HD6845 (CRT controller) - - 1x MC68A21P (PIA) - - 1x 40 pin IC with surface scratched (PIA) - - 1x 8 DIP Switches - - Sanyo LC3517B SRAM (videoram ?) - - 6264 battery backed SRAM (battery is dead) - - 1x PALCE16V8 - - 1x GAL16V8B - - 1x PEEL18CV8P x2 - - 1x 82S147 PROM (near Yamaha and unknown 40pin) - "82s147.bin" - - 1x 27256 close to CPU module - "1.bin" - - 2x 27256 - gfx - "2.bin", "3.bin" -*/ - -ROM_START( royalcrdf ) // encrypted program rom - ROM_REGION( 0x10000*2, "maincpu", 0 ) // *2 for decrypted opcodes (see init) - ROM_LOAD( "rc_1.bin", 0x8000, 0x8000, CRC(8cdcc978) SHA1(489b58760a7c8646399c8cdfb86ec4341823e7dd) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "rc_2.bin", 0x0000, 0x8000, CRC(7f934488) SHA1(c537a09ef7e88a81ee9c2e1d971b3caf9d3dba0e) ) - ROM_LOAD( "rc_3.bin", 0x8000, 0x8000, CRC(8612c6ed) SHA1(3306a252af479e0510f136020086015b60dce879) ) - - ROM_REGION( 0x0800, "nvram", 0 ) // default NVRAM - ROM_LOAD( "royalcrdf_nvram.bin", 0x0000, 0x0800, CRC(05c14b70) SHA1(03ed97a67c7cd004f2c0abbb88fa3ec4a43c3f05) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(44dbf086) SHA1(43a2d615c00605db75a4fd4d57d9e056c0356f10) ) // sldh - - ROM_REGION( 0x0600, "plds", 0 ) - ROM_LOAD( "palce16v8.bin", 0x0000, 0x0117, NO_DUMP ) // not present in the set - ROM_LOAD( "1-peel18cv8p.bin", 0x0200, 0x0155, NO_DUMP ) // not present in the set - ROM_LOAD( "2-peel18cv8p.bin", 0x0400, 0x0155, NO_DUMP ) // not present in the set -ROM_END - - -ROM_START( royalcrdg ) /* CMC C1030 PCB, EP910EC-30 CPLD, NON encrypted graphics */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.cpu", 0x8000, 0x8000, CRC(829a6a1d) SHA1(b7064e4d60e33d0875eb73525230ea3b99f10542) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(85e77661) SHA1(7d7a765c1bfcfeb9eb91d2519b22d734f20eab24) ) // sldh - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) // sldh - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrdg_nvram.bin", 0x0000, 0x0800, CRC(853c7da9) SHA1(e275b22a9f470672bfc71425fcc44f547ba38b6d) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(a762ee84) SHA1(40883a7c0f4365e2725eb0b29d45467e1b7a1a31) ) // sldh -ROM_END - - -/* - Royal Card (German, set 8) - Year: 1991. - Manufacturer: TAB Austria. - -*/ -ROM_START( royalcrdh ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "145-3.bin", 0x8000, 0x8000, CRC(c4da3e95) SHA1(fb7c3652f783a3040e6e08616df102efcb0b4134) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "145-2.bin", 0x0000, 0x8000, CRC(85e77661) SHA1(7d7a765c1bfcfeb9eb91d2519b22d734f20eab24) ) - ROM_LOAD( "145-1.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrdh_nvram.bin", 0x0000, 0x0800, CRC(7757d73a) SHA1(997bfbd847d1d21777694331be92a1a5e79e4faf) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "prom.bin", 0x0000, 0x0200, CRC(7e5839e6) SHA1(5e8401d2b236f73cc017a73a369b3b3b821a1deb) ) // borrowed from parent set. -ROM_END - - -/* - Royal Card (French) - Year: 1991 - Manufacturer: TAB Austria - - 1x 6502A (missing) - 2x EF6821P Peripheral Interface Adapter - 1x 68A45 CRT Controller (CRTC) - 1x YM2149F Programmable Sound Generator - 1x oscillator 16000.000KHz - - 3x 27256 1, 2, 3 (dumped) - 1x N82S147AN (dumped) - - 1x 6264 - 1x 6116 - - 2x PEEL18CV8P-25 (read protected) -> Extracted with CmD's PALdumper - 1x GAL16V8-25 (read protected) -> Extracted with CmD's PALdumper - - 1x 28x2 JAMMA edge connector - 1x trimmer (volume) - 1x 8 DIP switches - 1x battery (missing) - -*/ -ROM_START( royalcdfr ) /* Seems bootleg PCB, non encrypted graphics */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.bin", 0x8000, 0x8000, CRC(69b944c1) SHA1(6ef76bff01f20376117dd7f67e5890eca754fcfb) ) // sldh - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(85e77661) SHA1(7d7a765c1bfcfeb9eb91d2519b22d734f20eab24) ) // sldh - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) // sldh - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcdfr_nvram.bin", 0x0000, 0x0800, CRC(bda344d4) SHA1(7793d289147bf03c0d8256d4023252c9677ac8ff) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an.bin", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) -ROM_END - - -ROM_START( royalcrdp ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "u16_m27c256b.bin", 0x8000, 0x8000, CRC(162996ff) SHA1(122c13ee9842e692d31490f216eb972df2321b7f) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "u11_tms27c256.bin",0x0000, 0x8000, CRC(d6834c3a) SHA1(4b071b9826c086439b9763393b23c671261b3788) ) - ROM_LOAD( "u4_nmc27c256.bin", 0x8000, 0x8000, CRC(41f7a0b3) SHA1(9aff2b8832d2a4f868daa9849a0bfe5e44f88fc0) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147a.bin", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "royalcrdp_nvram.bin", 0x0000, 0x0800, BAD_DUMP CRC(553f8c66) SHA1(d2c21786d715f81c537d860d8515fda6d766f630) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "palce16v8h_1.bin", 0x0000, 0x0117, NO_DUMP ) -ROM_END - - -/* - Royal Card / Royal Jackpot (with third draw) (encrypted) - - Encrypted graphics 'alla TAB blue PCB. - Maybe is the infamous encrypted Impera green PCB. - - From the manual: "With third draw" - ...but I couldn't trigger this feature. - - */ - -ROM_START( royaljp ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "3.z.1_10.bin", 0x8000, 0x8000, CRC(ad03c41c) SHA1(8241a7eb02d7c06b7ea5bea5ab0d9ed4c6fcfd50) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "02.bin", 0x0000, 0x8000, CRC(c8f6f3e4) SHA1(5d8b32609562647c698926ea75c8f806b703332e) ) - ROM_LOAD( "01.bin", 0x8000, 0x8000, CRC(3ced6423) SHA1(2309a856226404789fd219cf77ba2f378a90eee7) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "rj_d27hc65d-2,82s147.bin", 0x0000, 0x0200, CRC(d6570420) SHA1(90b6c126b485db823acffbfd195964a6282e60ea) ) - - ROM_REGION( 0x0800, "nvram", 0 ) - ROM_LOAD( "royaljp_nvram.bin", 0x0000, 0x0800, CRC(48e51e2a) SHA1(b81a1741eef299384d4fa98a534099b2c0332074) ) - - ROM_REGION( 0x0600, "plds", 0 ) /* There are 3 GALs */ - ROM_LOAD( "gal20v8b.bin", 0x0000, 0x0157, NO_DUMP ) - ROM_LOAD( "gal20v8a.bin", 0x0200, 0x0157, NO_DUMP ) - ROM_LOAD( "gal16v8d.bin", 0x0400, 0x0117, NO_DUMP ) -ROM_END - - -/******************************** Lucky Lady sets ************************************/ - -ROM_START( lluck3x3 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "l3x3.bin", 0x8000, 0x8000, CRC(dbdb07ff) SHA1(6be43aa0b2c10d83373f20f477606cb031bc6dd9) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "l2.bin", 0x0000, 0x8000, CRC(8ca90a8f) SHA1(bc3db3f8c097f89eff488e3aca39bf24ff2b5cff) ) - ROM_LOAD( "l1.bin", 0x8000, 0x8000, CRC(beadc35c) SHA1(8a6a5954a827def8c4c3b904d8ee58a4bde53d85) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "lluck3x3_nvram.bin", 0x0000, 0x0800, CRC(2fe79cff) SHA1(7839c04336b7702c7bdcd2b6917a353f4376f824) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147.bin", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) -ROM_END - - -ROM_START( lluck4x1 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rk4x1.bin", 0x8000, 0x8000, CRC(37f8a355) SHA1(a6eb4c53464e373bdecbbaaf146f5f7cf66b4bcd) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "l2.bin", 0x0000, 0x8000, CRC(8ca90a8f) SHA1(bc3db3f8c097f89eff488e3aca39bf24ff2b5cff) ) - ROM_LOAD( "l1.bin", 0x8000, 0x8000, CRC(beadc35c) SHA1(8a6a5954a827def8c4c3b904d8ee58a4bde53d85) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "lluck4x1_nvram.bin", 0x0000, 0x0800, CRC(05d2d7b8) SHA1(1188b2b4835cadd95b1e9160c2948a2e3457afd2) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147.bin", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) -ROM_END - - -/******************************** Magic Card II sets ************************************/ - -/* - Magic Card II (Impera) - ---------------------- - - - 1x Special CPU with CM602 (??) on it <--- from dumper notes. - - 1x MC6845P - - 1x YM2149F - - 2x MC6821P - - 1x Crystal 16.000 MHz - - 2x HY18CV8S (electrically-erasable PLD) - - Some versions have Mexican Rockwell R65C02. - The game doesn't work with a regular 65C02 CPU. - - There are different programs that carry the same - graphics set for green TAB / Impera boards. - - TAB blue boards can run the same programs, but needs - the encrypted graphics set. - - All these games have some weird things... - 1) Some CPU instructions seems wrong (see below, in driver init) - 2) The CRTC is injected with some wrong register values (fact), - that place the game wrongly, and screw up the input test screen. - -*/ - -ROM_START( magicrd2 ) /* Impera... but seems Bulgarian hack, just for copyright */ - ROM_REGION( 0x10000, "maincpu", 0 ) /* magicard.004 has extra code, and 2 different NVRAM contents harcoded */ - ROM_LOAD( "magicard.004", 0x0000, 0x8000, CRC(f6e948b8) SHA1(7d5983015a508ab135ccbf69b7f3c526c229e3ef) ) - ROM_LOAD( "magicard.01", 0x8000, 0x8000, CRC(c94767d4) SHA1(171ac946bdf2575f9e4a31e534a8e641597af519) ) /* 1st and 2nd half identical */ - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "mc2gr2.bin", 0x0000, 0x8000, CRC(733da697) SHA1(45122c64d5a371ec91cecc67b7faf179078e714d) ) - ROM_LOAD( "mc2gr1.bin", 0x8000, 0x8000, CRC(2406b8d2) SHA1(e9d7a25562fd5adee351d7ef6ba02fff6aab021a) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "magicrd2_nvram.bin", 0x0000, 0x0800, CRC(343b3162) SHA1(1524959dbbc0c6d7c5c3a4a6b20976382cfbe88f) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "mc2-82s147.bin", 0x0000, 0x0200, CRC(aa91cc35) SHA1(79f9a755441500e618c4183f524f969fffd44100) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8uni.bin", 0x0000, 0x0117, CRC(b81d7e0a) SHA1(7fef0b2bcea931a830d38ae0f1102434cf281d2d) ) /* Universal GAL */ -ROM_END - - -ROM_START( magicrd2a ) /* Nov (new). Imatic Yugoslavian hack for green TAB or Impera boards */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "m3_nov.bin", 0x8000, 0x8000, CRC(ee5468e6) SHA1(f859adbad30e561fca86e60ff5b2e666d8bf4071) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "m2_nov.bin", 0x0000, 0x8000, CRC(684d71f2) SHA1(e4522844a0406b3e83fa723508a7c05dd21e7fb6) ) - ROM_LOAD( "m1_nov.bin", 0x8000, 0x8000, CRC(96151034) SHA1(3107d353705c6240a71faf308e11c45a87d95cf4) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM (passed protection) */ - ROM_LOAD( "mc2_nvram.bin", 0x0000, 0x0800, CRC(2070d63d) SHA1(86c72a2e81651b0138d8551a0cfcd07176f8e7d2) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "mc2_82s147.bin", 0x0000, 0x0200, CRC(aa91cc35) SHA1(79f9a755441500e618c4183f524f969fffd44100) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8uni.bin", 0x0000, 0x0117, CRC(b81d7e0a) SHA1(7fef0b2bcea931a830d38ae0f1102434cf281d2d) ) -ROM_END - - -ROM_START( magicrd2b ) /* Imatic Yugoslavian hack for green TAB or Impera boards */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "mc2prgv1.bin", 0x8000, 0x8000, CRC(7f759b70) SHA1(23a1a6e8eda57c4a90c51a970302f9a7bf590083) ) -// ROM_LOAD( "mc2prgv2.bin", 0x8000, 0x8000, CRC(b0ed6b40) SHA1(7167e67608f1b0b1cd956c838dacc1310861cb4a) ) // there are also pcbs with this program - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "mc2gr2.bin", 0x0000, 0x8000, CRC(733da697) SHA1(45122c64d5a371ec91cecc67b7faf179078e714d) ) - ROM_LOAD( "mc2gr1.bin", 0x8000, 0x8000, CRC(2406b8d2) SHA1(e9d7a25562fd5adee351d7ef6ba02fff6aab021a) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM (passed protection) */ - ROM_LOAD( "mc2_v1-v2_nvram.bin", 0x0000, 0x0800, BAD_DUMP CRC(f88c493d) SHA1(8a5352b46ab68164cd7adaaad6f15f04327b7451) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "mc2-82s147.bin", 0x0000, 0x0200, CRC(aa91cc35) SHA1(79f9a755441500e618c4183f524f969fffd44100) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8uni.bin", 0x0000, 0x0117, CRC(b81d7e0a) SHA1(7fef0b2bcea931a830d38ae0f1102434cf281d2d) ) -ROM_END - - -ROM_START( magicrd2c ) /* Imatic Yugoslavian hack for blue TAB board (encrypted)*/ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "mc2prgv2.bin", 0x8000, 0x8000, CRC(b0ed6b40) SHA1(7167e67608f1b0b1cd956c838dacc1310861cb4a) ) -// ROM_LOAD( "mc2prgv1.bin", 0x8000, 0x8000, CRC(7f759b70) SHA1(23a1a6e8eda57c4a90c51a970302f9a7bf590083) ) // there are also pcbs with this program - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "mc2gr1b.bin", 0x0000, 0x8000, CRC(ce2629a7) SHA1(84767ed5da8dcee44a210255537e10372bcc264b) ) - ROM_LOAD( "mc2gr2b.bin", 0x8000, 0x8000, CRC(d2bf8bde) SHA1(975b8f43a0396c09e357b96d5ae7381b12152b9e) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM (passed protection) */ - ROM_LOAD( "mc2_v1-v2_nvram.bin", 0x0000, 0x0800, BAD_DUMP CRC(f88c493d) SHA1(8a5352b46ab68164cd7adaaad6f15f04327b7451) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "mc2-82s147.bin", 0x0000, 0x0200, CRC(aa91cc35) SHA1(79f9a755441500e618c4183f524f969fffd44100) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8uni.bin", 0x0000, 0x0117, CRC(b81d7e0a) SHA1(7fef0b2bcea931a830d38ae0f1102434cf281d2d) ) -ROM_END - - - -/******************************** Royal Vegas Joker Card sets ************************************/ - -ROM_START( vegasslw ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "vslow.bin", 0x8000, 0x8000, CRC(9cb7861a) SHA1(f934eacd5b3573a6bbeaa827f521b4a498e5bcdf) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "v2.bin", 0x0000, 0x8000, CRC(af7ab460) SHA1(01ea400424152c09c10eb83a1bd569019969ccb7) ) - ROM_LOAD( "v1.bin", 0x8000, 0x8000, CRC(23e0d1c6) SHA1(98967b14d3264c444a1dfbd15c57cde70f41f09d) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "vegasslw_nvram.bin", 0x0000, 0x0800, CRC(1aa043e3) SHA1(c93d071effb2f2fe95e9dc751174c2c765595f74) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* PLD address the 2nd half */ - ROM_LOAD( "jokercrd_prom.bin", 0x0000, 0x0200, CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) -ROM_END - - -ROM_START( vegasfst ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "vfast.bin", 0x8000, 0x8000, CRC(87dfb28d) SHA1(9a06e695e59722b6c97e5a9fd2c8b238661e5a4a) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "v2.bin", 0x0000, 0x8000, CRC(af7ab460) SHA1(01ea400424152c09c10eb83a1bd569019969ccb7) ) - ROM_LOAD( "v1.bin", 0x8000, 0x8000, CRC(23e0d1c6) SHA1(98967b14d3264c444a1dfbd15c57cde70f41f09d) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "vegasfst_nvram.bin", 0x0000, 0x0800, CRC(5034de7a) SHA1(ab2077a49d94676531c73ad8d8ce9548bbfa2b81) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* PLD address the 2nd half */ - ROM_LOAD( "jokercrd_prom.bin", 0x0000, 0x0200, CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) -ROM_END - - -ROM_START( vegasfte ) /* Royal Vegas Joker Card (fast deal, english gfx) */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ch3.bin", 0x8000, 0x8000, CRC(87dfb28d) SHA1(9a06e695e59722b6c97e5a9fd2c8b238661e5a4a) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "ch2.bin", 0x0000, 0x8000, CRC(af7ab460) SHA1(01ea400424152c09c10eb83a1bd569019969ccb7) ) - ROM_LOAD( "ch1.bin", 0x8000, 0x8000, CRC(0a3679c0) SHA1(ce8a067e1a2eccf9fabb16733ef3a14e0e8129e5) ) /* X & Y in txt layer */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "vegasfte_nvram.bin", 0x0000, 0x0800, CRC(166c6055) SHA1(db2143a2a3adc92578bd3707391d2f5030cc6a6f) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* PLD address the 2nd half */ - ROM_LOAD( "jokercrd_prom.bin", 0x0000, 0x0200, CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) -ROM_END - - -ROM_START( vegasmil ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* Mile */ - ROM_LOAD( "mile.bin", 0x8000, 0x8000, CRC(ef7e02e2) SHA1(7432b0e723dc528901c422ab1d7d01fd1bc1eb20) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "v2.bin", 0x0000, 0x8000, CRC(af7ab460) SHA1(01ea400424152c09c10eb83a1bd569019969ccb7) ) - ROM_LOAD( "v1.bin", 0x8000, 0x8000, CRC(23e0d1c6) SHA1(98967b14d3264c444a1dfbd15c57cde70f41f09d) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "vegasmil_nvram.bin", 0x0000, 0x0800, CRC(d2608e5f) SHA1(ac936df71dbc0bfb811a3ba3c91444a2a3e7b036) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "jokercrd_prom.bin", 0x0000, 0x0200, CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) -ROM_END - - -/******************************** Jolly Joker sets ************************************/ - -/* - - Impera - Jolly Joker - - PCB Layout: - _____________________________________________________________________________________________ - | __________ | - | | MOP1603 | | - | _________ __ |__________| | - | ________________________ | A | | | _______ __ __ |___ - | | | |_________| | | | | | | | | ___| - | | | |A | | | |D | |K | ___| - | | MC6845P | _________ | | | | | | | | ___| - | | | | A | | | |AY38910| | | | | ___| - | |________________________| |_________| |__| | A/P | |__| |__| ___| - | __ |9120CCA| ___| - | _________________ | | | | _______ ___| - | _____________ | | | | | | | K | ___| - | | T74LS245B1 | | KM6264BL_10 | |A | | | |_______| ___| - | |_____________| | | | | | | ___| - | | 206Y KOREA | | | | | _______ ___ ___| - | |_________________| |__| | | | | | |8 | - | | | | | |DIP| | - | _____________ _____________ |_______| | | | 1 | | - | | SN74LS374N | | SN74LS374N | |MC68B21| | | |___ - | |_____________| |_____________| ________________________ | P| | | ___| - | | R65C02P2 | | | |___|1 ___| - | __________________ _________ | 11450_12 | |0K2P | ___| - | |CH1 | |74LS194AN| | 9209 | |LLEG912| __ ___| - | | | |_________| |________________________| | 6| | | ___| - | | M27C512 | | | | | ___| - | | | ___ __________________ | | |J | ___| - | |__________________| _________ | | |JOKER RUN | | | | | ___| - | |74LS194AN| | | | | | | | | ___| - | __________________ |_________| | | | M27C512 | | | |__| ___| - | |CH2 | | B | | | |_______| ___| - | | | _________ | | |__________________| ___| - | | M27C512 | |74LS194AN| | | _______ __ ___| - | | | |_________| | | | | | | ___| - | |__________________| | | _______________ | | | | ___| - | |___| | | | | |J | ___| - | _________ ________ _________ | HYUNDAI | |MC68B21| | | ___| - | |T54LS174M| |DL002D | |74LS194AN| _______ | HY6116ALP_10 | | P| | | ___| - | |_________| |________| |_________| | C | | | | | |__| ___| - | |_______| |_______________| |0K2P | ___| - | __ __ __ _________ |LLEG912| __ ___| - | | | | | | | |XTAL | _______ | 6| | | ___| - | | | | | | | | | | D | | | | | ___| - | |I | |H | |G | | 16 Mhz | |_______| | | |J | ___| - | | | | | | | |_________| | | | | ___| - | | | | | | | _________ ____ | | | | ___| - | |__| | | | | | E | | F | | | |__| ___| - | |__| |__| |_________| |____| |_______| ___| - | | - |_____________________________________________________________________________________________| - - - A = PC74HCT157P - B = AMPAL16L8DC - C = HD74LS189P - D = T54LS14M2 - E = T74LS393B1 - F = TL7705ACP - G = SN74LS374N - H = AM27S29PC - I = PC74HCT174P - J = 4116R_001 - K = ULN2003A - - - DIP1: - ___________________ - | ON | - | _______________ | - | |#|#|#|#|#|#|#|#| | - | | | | | | | | | | | - | |_______________| | - | 1 2 3 4 5 6 7 8 | - |___________________| - -*/ - -ROM_START( jolyjokr ) /* Jolly Joker (98bet, set 1) */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "impera3orig.bin", 0x8000, 0x8000, CRC(ceb3a0d5) SHA1(25efae9f225abddfa663e6abcc91801996e5b0ea) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "impera2.bin", 0x0000, 0x8000, CRC(f0fa5941) SHA1(1fcade31ed6893ffcfd4efe97dfaaa31d24283ec) ) - ROM_LOAD( "impera1.bin", 0x8000, 0x8000, CRC(c3ab44dd) SHA1(e46c0fd94da561f57033647f1703fa135777ece5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolyjokr_nvram.bin", 0x0000, 0x0800, CRC(f33e66ed) SHA1(7a4b9a1b2f976d5d26f54915a213d5ac5eca0a42) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29.bin", 0x0000, 0x0200, CRC(0b671bba) SHA1(92d512e02b50f98b7bc5a60deee4fee722656c4f) ) -ROM_END - - -ROM_START( jolyjokra ) /* Jolly Joker (98bet, set 2) */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "impera50.bin", 0x8000, 0x8000, CRC(7effc044) SHA1(961438e7fb8222296fb959b510cdf646e4ac3226) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "impera2.bin", 0x0000, 0x8000, CRC(f0fa5941) SHA1(1fcade31ed6893ffcfd4efe97dfaaa31d24283ec) ) - ROM_LOAD( "impera1.bin", 0x8000, 0x8000, CRC(c3ab44dd) SHA1(e46c0fd94da561f57033647f1703fa135777ece5) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolyjokra_nvram.bin", 0x0000, 0x0800, CRC(ed43693c) SHA1(d4aa4e539ab12c97bc9b9b1077997195a11d782b) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29.bin", 0x0000, 0x0200, CRC(0b671bba) SHA1(92d512e02b50f98b7bc5a60deee4fee722656c4f) ) -ROM_END - - -/* - Jolly Joker (40bet, croatian hack) - - am27s29_ic40.bin 1ST AND 2ND HALF IDENTICAL - ic25.bin 1ST AND 2ND HALF IDENTICAL - ic26.bin 1ST AND 2ND HALF IDENTICAL - - These graphics ROMs have enough data to fix the bitrotten graphics from the other Jolly Joker sets. - impera1.bin ---> bits 7 & 6 - impera2.bin ---> bits 7 & 0 - - Two slightly different programs. One in each half. - Both have Min Bet (5), Max Bet (40). - Surely selectable through a PLD. - -*/ -ROM_START( jolyjokrb ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* Two slightly different programs. Using the 1st one...*/ - ROM_LOAD( "unbekannt.bin", 0x8000, 0x8000, CRC(327fa3d7) SHA1(2435aada2377b2f8f01d059a7aba9bc7a8993537) ) /* 1st prg */ - ROM_IGNORE( 0x8000 ) /* Using the 1st program. Discarding 2nd half */ -// ROM_LOAD( "unbekannt.bin", 0x0000, 0x10000, CRC(327fa3d7) SHA1(2435aada2377b2f8f01d059a7aba9bc7a8993537) ) /* 2nd prg */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "ic26.bin", 0x0000, 0x8000, CRC(3e45dfc6) SHA1(8fd0b0cc00cdd96244ae7e7a91f6613b1c144ee0) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "ic25.bin", 0x8000, 0x8000, CRC(1bd067af) SHA1(9436fe085ba63c00a12ea80903470a84535e3dc1) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "jolyjokrb_nvram.bin", 0x0000, 0x0800, CRC(17007bb5) SHA1(72e08096293ce4fbde205a63b5ecd9641dbee017) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29_ic40.bin", 0x0000, 0x0200, CRC(0b671bba) SHA1(92d512e02b50f98b7bc5a60deee4fee722656c4f) ) -ROM_END - - -/* - Jolly Joker (Apple Time) - With Motorola SC67334CP 44N46 instead of regular M6845. - - Program ROM is faulty... -*/ -ROM_START( jolyjokrc ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "b+g_jj1.bin", 0x8000, 0x8000, BAD_DUMP CRC(2fd585a7) SHA1(d517141ef17da9b61ddf3e6e8c41f5173de980c3) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "jje.bin", 0x0000, 0x8000, CRC(d9da6e74) SHA1(2a966e2d7849aed9d952a9d94c99955ba651d14d) ) - ROM_LOAD( "jjd.bin", 0x8000, 0x8000, CRC(9d596852) SHA1(a29e210cbdc75717465068e85b693edcc1c642da) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "tbp28s42.bin", 0x0000, 0x0200, CRC(0b671bba) SHA1(92d512e02b50f98b7bc5a60deee4fee722656c4f) ) - - ROM_REGION( 0x0200, "plds", 0 ) /* Cracked PLD */ - ROM_LOAD( "jjpal.bin", 0x0000, 0x0117, CRC(3b084c34) SHA1(5d186b70317ef871c9a426eb420b66efcbd918de) ) -ROM_END - - -/******************************** Other sets ************************************/ - -/* - Title: MULTI WIN - Company: FUN WORLD - Version: 0167 - Date: 1992-11-11 - - Unknown or encrypted CPU. -*/ -ROM_START( multiwin ) - ROM_REGION( 0x10000*2, "maincpu", 0 ) // *2 for decrypted opcodes (see init) - ROM_LOAD( "multiwin3.bin", 0x8000, 0x8000, CRC(995ca34d) SHA1(4d6ec10810ece493447a01af149ad8387d5f3c2f) ) // first half is full of ff's - ROM_LOAD( "multiwin4.bin", 0x0000, 0x8000, CRC(f062125c) SHA1(93c9aa518810798f3449a28e851eb6433ba7bbf8) ) // first half is full of ff's - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "multiwin2.bin", 0x0000, 0x8000, CRC(580b3239) SHA1(362aa85c57ad0bce1d7d15a93b9998daba4d306a) ) - ROM_LOAD( "multiwin1.bin", 0x8000, 0x8000, CRC(97589aa6) SHA1(2486116637bd906cb3b32acd86fc861c48a0475e) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "multi_prom.bin", 0x0000, 0x0200, BAD_DUMP CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) /* using the joker card one */ -ROM_END - - -/* - - Power Card (Fun World) - Version 0263 / 1993-10-22 - - Amatic encrypted CPU based on 65SC02 (bitwise) family, - with the following components inside: - - 1x CY7C291A (prom replacement). - 1x 65SC02 (CPU). - 1x TI74F245A (3-state octal latch from Texas Instruments). - 1x 7400 (quad 2-input NAND gate). - - (Same as Mega Card CPU) - - - PCB Layout... - .----------------------------------------------------------------------------------------------------------------------. - | | - | .--------. .--------. .-------. | - | | | .------------. | | | | | - | | | | GD74LS157 | | | | | .---. '---. - | | | '------------' |Goldstar| |YAMAHA | | | .---. ---| - | |GOLDSTAR| | | | | |ULN| | | ---| - | | | .------------. |GM76C28A| | | |200| |74L| ---| - | | | | GD74LS157 | | -10 | | | |3AN| |S04| ---| - | |GM68B45S| '------------' | | |YM2149F| | | |P | ---| - | | | | | | | | | | | ---| - | | | .------------. | | .-------------------------------------. | | '---' | | ---| - | | | | GD74LS157 | | | |## ooooooooooooooooooooooooooooooo ##| | | '---' ---| - | | | '------------' | | |## ooooooooooooooooooooooooooooooo ##| | | ---| - | | | '--------' '-------------------------------------' | | .---. ---| - | | | .------------. | | | | ---| - | | | | GD74LS157 | .--------------. .--------------. | | |ULN| .---' - | | | '------------' |TIBPAL16L8-25C| | EMPTY SOCKET | | | |200| | - | | | '--------------' '--------------' | | |3AN| | - | | | .------------------. .-----. .--------------------------------. | | | | | - | '--------' | | |XTAL | |Lf. Nr: 00147 | '-------' '---' | - | | KM6264BL-10 | |16.00| |Type: 0-A | .-------. | - | .-------------. | | |MHz | |Datum: 27.10 | | | | - | | GD74LS245 | | | | | | | | | | - | '-------------' '------------------' '-----' | AMATIC | | | '---. - | | | | | ---| - | .-------------. .------------. '--------------------------------' | | ---| - | | HD74LS374P | | HD74LS374P | |MC6821P| ---| - | '-------------' '------------' .---. .---. .--------------------. | | ---| - | |GD7| |GD7| | | | | ---| - |.--------------------. .----------. |4LS| |4LS| | EMPTY SOCKET | | | .---. ---| - ||POWER C. | | 74LS194AN| |368| |245| | | | | | 8| ---| - || ZG 1 | '----------' |A | | | | | | | | | ---| - || 27C256| | | | | '--------------------' | | | | ---| - || IC10| .----------. '---' | | | | |DIP| ---| - |'--------------------' | 74LS194AN| | | .--------------------. | | | | ---| - | '----------' | | |LETS GO 1 | | | | | ---| - | '---' | 263 / A / 1 | | | | | ---| - |.--------------------. .----------. | 27C256| | | | 1| ---| - ||POWER C. | | 74LS194AN| .---. .---. .---. | IC37| | | '---' ---| - || ZG 2 | '----------' |GD7| |KS7| |GD7| '--------------------' '-------' ---| - || 27C256| |4LS| |4AH| |4LS| .-------. ---| - || IC11| .----------. |393| |CT2| |139| .--------------------. | | ---| - |'--------------------' | 74LS194AN| | | |41N| | | |LETS GO 1 | | | ---| - | '----------' | | | | | | | 263 / A / 2 | | | ---| - | '---' | | '---' | 27C256| | | ---| - |.----------. .----------. | | | IC41| | | ---| - || GD74LS174| |HD74LS02P | | | '--------------------' |MC6821P| ---| - |'----------' '----------' '---' | | ---| - | .---. | | ---| - |.---. .---. .---. .---. |HD7| | | ---| - ||GD7| | | |HD7| |MAX| Maxim |4LS| | | ---| - ||4LS| |N82| |4LS| |690| MAX690CPA |02P| | | ---| - ||174| |S14| |374| '---' | | | | ---| - || | |7N | |P | | | | | ---| - || | | | | | '---' | | ---| - |'---' | | | | | | .---' - | | | | | | | | - | '---' '---' '-------' | - | | - '----------------------------------------------------------------------------------------------------------------------' - - DIP SW Bank - .---------------. - |#| |#|#|#|#|#|#| - |---------------| - | |#| | | | | | | - '---------------' - 1 2 3 4 5 6 7 8 - - - Looks like a Bonus Card / Big Deal clone. - Inside the program ROM there is a reference to "Mega Card", - but the graphics are from Power Card. - -*/ -ROM_START( powercrd ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* need proper decryption */ - ROM_LOAD( "263a1.bin", 0x8000, 0x8000, CRC(9e5e477d) SHA1(428464a64bea8cb478bc8033859baa47d7de0297) ) /* just the 2nd half */ - ROM_LOAD( "263a2.bin", 0x0000, 0x8000, CRC(11b1a13f) SHA1(766c1a45c238467d6a292795f5a159187966ceec) ) /* just the 2nd half */ - - ROM_REGION( 0x0800, "decode", 0 ) /* from the CY7C291A inside of the custom CPU */ - ROM_LOAD( "powercrd_cy7c291a.bin", 0x0000, 0x0800, CRC(f1d8f35d) SHA1(2b5f9222a81a627d43fd8448385f85c71c24b914) ) /* new dump */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "power_c_zg2.ic11", 0x0000, 0x8000, CRC(108380bb) SHA1(922beffe3c06f391239125e6f4ccc86ec6980c45) ) - ROM_LOAD( "power_c_zg1.ic10", 0x8000, 0x8000, CRC(dc9e70c6) SHA1(7ac5bdc734d9829ea6349b60817445cb88d7387c) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an.bin", 0x0000, 0x0200, CRC(136245f3) SHA1(715309982fcafbce88b08237ca46acec31273938) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "powercrd_tibpal16l8.bin", 0x0000, 0x0104, CRC(b5c0a96d) SHA1(3547700e276326a27009202b2e82bc649abb33db) ) -ROM_END - - -/* - - Mega Card (MC3). - Ver. 0210. - Fun World, 1993. - - Encrypted poker game. - - 1x Custom encrypted Fun World CPU based on 65SC02 (Same as Power Card). - 1x GM68B45S CRTC. - 2x EF6821P PIAs. - 1x AY38910A. - 2x ULN2003AN (out). - 1x PAL16L8ACN (PLD). - 1x Maxim MAX690CPA (Microprocessor Supervisory Circuits). - - RAM: - 1x GoldStar GM76C28-10. - 1x KM6264BL-10. - - ROM: - 4x 27C256 (two for program, two for GFX). - 1x N82S147AN bipolar PROM. - - Other: - - 1x 16MHz Xtal. - 1x 8 DIP switches bank. - 1x 3V. CR2025 lithium battery. - - 1X 17x2 Pin male connector. - 1X 22x2 Pin edge connector. - 1X 8x2 Pin edge connector. - - - - PCB layout: - - .----------------------------------------------------------------------------------------------------------------------. - | | - | .--------. .--------. .-------. | - | | | .------------. | | | | | - | | | | GD74LS157 | | | | | .---. '---. - | | | '------------' |Goldstar| | | | | .---. 8 ---| - | |GOLDSTAR| | | | | |ULN| | | ---| - | | | .------------. |GM76C28 | | | |200| |74L| P ---| - | | | | GD74LS157 | | -10 | | | |3AN| |S04| I ---| - | |GM68B45S| '------------' | | |AY38910| | | |P | N ---| - | | | | | |A/P | | | | | ---| - | | | .------------. | | .-------------------------------------. | | '---' | | C ---| - | | | | GD74LS157 | | | |## ooooooooooooooooooooooooooooooo ##| | | '---' O ---| - | | | '------------' | | |## ooooooooooooooooooooooooooooooo ##| | | N ---| - | | | '--------' '-------------------------------------' | | .---. N ---| - | | | .------------. | | | | ---| - | | | | GD74LS157 | .--------------. .--------------. | | |ULN| .---' - | | | '------------' | PAL16L8ACN | | EMPTY SOCKET | | | |200| | - | | | '--------------' '--------------' | | |3AN| | - | | | .------------------. .-----. .--------------------------------. | | | | | - | '--------' | | |XTAL | |Lfnd. Nr: 0057 | '-------' '---' | - | | KM6264BL-10 | |16.00| |Type: 'F' | .-------. | - | .-------------. | | |0MHz | |Datum: 17.3.93 | | | | - | | GD74LS245 | | | | | | | | | | - | '-------------' '------------------' '-----' | FUN WORLD | | | '---. - | | | | | ---| - | .-------------. .------------. '--------------------------------' | | ---| - | | HD74LS374P | | HD74LS374P | |EF6821P| ---| - | '-------------' '------------' .---. .---. .--------------------. | | ---| - | |GD7| |GD7| | | | | ---| - |.--------------------. .----------. |4LS| |4LS| | EMPTY SOCKET | | | .---. ---| - ||MEGA | |74LS194AN | |368| |245| | | | | | 8| ---| - ||ZG 1 | '----------' |A | | | | | | | | | ---| - || 27C256| | | | | '--------------------' | | | | 22 ---| - || IC10| .----------. '---' | | | | |DIP| ---| - |'--------------------' |74LS194AN | | | .--------------------. | | | | P ---| - | '----------' | | |MEGA MC 3 | | | | | I ---| - | '---' | 210/F/1 | | | | | N ---| - |.--------------------. .----------. | 27C256| | | | 1| ---| - ||MEGA | |74LS194AN | .---. .---. .---. | IC37| | | '---' C ---| - ||ZG 2 | '----------' |GD7| |MN7| |GD7| '--------------------' '-------' O ---| - || 27C256| |4LS| |4HC| |4LS| .-------. N ---| - || IC11| .----------. |393| |241| |139| .--------------------. | | N ---| - |'--------------------' |74LS194AN | | | | | | | |MEGA MC 3 | | | E ---| - | '----------' | | | | | | | 210/F/2 | | | C ---| - | '---' | | '---' | 27C256| | | T ---| - |.----------. .----------. | | | IC41| | | O ---| - ||GD74LS174 | |HD74LS02P | | | '--------------------' |EF6821P| R ---| - |'----------' '----------' '---' | | ---| - | ------- .---. | | ---| - |.---. .---. .---. .---. / CR-2025 \ |HD7| | | ---| - ||GD7| | | |HD7| |MAX| | LITHIUM | |4LS| | | ---| - ||4LS| |N82| |4LS| |690| | BATTERY | |02P| | | ---| - ||174| |S14| |374| '---' \ +3V. / | | | | ---| - || | |7AN| |P | Maxim ------- | | | | ---| - || | | | | | MAX690CPA '---' | | ---| - |'---' | | | | | | .---' - | | | | | | | | - | '---' '---' '-------' | - | | - '----------------------------------------------------------------------------------------------------------------------' - - - The encrypted CPU: - - It's a DIP40 custom IC. It has inside a PLCC28 IC and 3 dies: - - The PLCC28 chip is a CY7C291A (prom replacement) - DIE#1 is a TI74F245A, a 3-state octal latch from Texas Instruments. - DIE#2 is the CPU, a 65SC02. - DIE#3 is a 7400, a quad 2-input NAND gate. - - Is unknown how they are connected. - -*/ - -ROM_START( megacard ) - ROM_REGION( 0x10000, "maincpu", 0 ) /* need proper decryption */ - ROM_LOAD( "mega_mc3_210-f-1.ic37", 0x8000, 0x8000, CRC(747f5ed1) SHA1(06757bb6a792dca93978b17b54c28e413e3720b1) ) /* just the 2nd half */ - ROM_LOAD( "mega_mc3_210-f-2.ic41", 0x0000, 0x8000, CRC(373094d2) SHA1(8aed2502e89b0e7522e88f351ac256f1afad7ee8) ) /* just the 2nd half */ - - ROM_REGION( 0x0300, "die_65sc02", 0 ) /* from the 65SC02 die inside of the custom CPU */ - ROM_LOAD( "gteu65decoderom.bin", 0x0000, 0x02f1, CRC(089af0c6) SHA1(0f46a73a7859a694a07ebe74d476fae80e57e329) ) - - ROM_REGION( 0x0800, "decode", 0 ) /* from the CY7C291A inside of the custom CPU */ - ROM_LOAD( "megacard_cy7291a.bin", 0x0000, 0x0800, CRC(596f01ac) SHA1(a8606a1dd385fbb46b1a96f11a759fa6580803d8) ) /* new dump */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "mega_zg2.ic11", 0x0000, 0x8000, CRC(0993d380) SHA1(e5e2386948fba2fb6b79339af27bd1d0f1e198ca) ) - ROM_LOAD( "mega_zg1.ic10", 0x8000, 0x8000, CRC(de2e2dd0) SHA1(17962d84838f39de41bc7a41d399fd18cd0bd5b7) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147an.bin", 0x0000, 0x0200, CRC(136245f3) SHA1(715309982fcafbce88b08237ca46acec31273938) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "megacard_pal16l8.bin", 0x0000, 0x0117, CRC(3159a548) SHA1(ad904fa35b78570e44323469967803e34ef4bc0c) ) -ROM_END - - -/* - Joker Card 300 - 1993, Amatic Trading GmbH, Austria. - Language seems to be Czech. - - There are tiles from Vesely Svet (Sprightly World). Maybe a leftover. - Program roms are encrypted. Seems to be a Big Deal clone, running in - Fun World Multi Win hardware. - - Unfortunatelly, the graphics ROM vesely_zg_1.ic10 has address 8 line (leg 25) shorted. - Seems that the protection diode was blown due to a bad handling. - - With forensics technics, a special device was constructed to process the faulty ROM - and try to read the contents. Fortunatelly after all these efforts, we got - a perfect and complete dump. - - - Specs: - - 1x Custom Fun World CPU, based on 6502 family. Silkscreened "Fun World Elektronik". - 1x Maxim MAX690CPA - Microprocessor Supervisory IC (DIP 8). - - 2x MC68B21P PIAs. - 1x GM68B45S CRT Controller. - - 1x AY-3-8910. - 1x TDA2003 Audio amplifier. - - 4x ROM 27C256. - 1x RAM GM76C28A. - 1x RAM KM6264BL. - 1x PROM N82S147AN. - - 1x PAL 16L8ACN - - 1x 8 DIP switches bank. - 1x Push button (SW2). (reset?) - 1x Variable Resistor (VR1). - 1x 16 MHz. Crystal. - 1x CR2025 (3V) battery. - - 1x 2x17 pin male connector. - 1x 2x22 Edge connector. - 1x 2x8 Edge connector. - - ------------------------------------------------------------------------ - - In IC41.bin you can see the following strings: - - AMATIC TRADING GMBH AUSTRIA - - JEDE UNERLAUBTEVERAENDERUNG - BZWKOPIE WIRD DENZORN DER - GOETTERAUF SICH ZIEHEN - - VERSION A267BC 200/300 KARTE - 1993-11-29 - - ------------------------------------------------------------------------ - - ic41.bin 1ST AND 2ND HALF IDENTICAL - ic37.bin 1ST AND 2ND HALF IDENTICAL - ic10.bin BADADDR xxxxxx-xxxxxxxx - -*/ - -ROM_START( jokercrd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ic41.bin", 0x4000, 0x4000, CRC(d36188b3) SHA1(3fb848fabbbde9fbb70875b3dfef62bfb3a8cbcb) ) - ROM_IGNORE( 0x4000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "ic37.bin", 0xc000, 0x4000, CRC(8e0d70c4) SHA1(018f92631acbe98e5826a41698f0e07b4b46cd71) ) - ROM_IGNORE( 0x4000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "vesely_zg_2.ic11", 0x0000, 0x8000, CRC(21d05a57) SHA1(156c18ec31b08e4c4af6f73b49cb5d5c68d1670f) ) - ROM_LOAD( "vesely_zg_1.ic10", 0x8000, 0x8000, CRC(f315587a) SHA1(6f24dd24ae4c48f2ee1db96d5cbff863734048de) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "ic13.bin", 0x0000, 0x0200, CRC(e59fc06e) SHA1(88a3bb89f020fe2b20f768ca010a082e0b974831) ) -ROM_END - - -/* - Mongolfier New - -------------- - - - 1x G65SC02P2 (main) - - 1x KC89C72 (sound) - - 1x TDA2003 (sound) - - 1x MC68B45P (CRT controller) - - 2x EF6821P (Peripheral Interface Adapter) - - 1x TSC87C52-16CB (PLCC44)(Programmable 8bit Microcontroller, now dumped) - - 1x M48Z08-100PC1 (Zero Power RAM - Lithium Battery) - - 1x oscillator 16.0000 MHz - - - 3x M27C512 - - 1x PROM AM27S29PC - - 1x PALCE16V8H (read protected) - - - 1x JAMMA edge connector - - 1x trimmer (volume) - - 2x 8 DIP switches - - 1x 4 DIP switches - - 1x green led - - ---------------------------------------------- - - Needs FF in the NVRAM offset 0x82 to boot... -*/ - -ROM_START( mongolnw ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "prgteov.2.3m.u16", 0x8000, 0x8000, CRC(996b851a) SHA1(ef4e3d036ca10b33c83749024d04c4d4c09feeb7) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "cpu1", 0 ) /* TSC87C52-16CB MCU Code */ - ROM_LOAD( "tsc87c52-mf.u40", 0x0000, 0x02000 , CRC(ae22e778) SHA1(0897e05967d68d7f23489e98717663e3a3176070) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "mong.rc.b2.u3", 0x0000, 0x8000, CRC(5e019b73) SHA1(63a544dccb9589e5a6b938e604c09d4d8fc060fc) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "mong.rc.c1.u2", 0x8000, 0x8000, CRC(e3fc24c4) SHA1(ea4e67ace63b55a76365f7e11a67c7d420a52dd7) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "mongolnw_nvram.bin", 0x0000, 0x0800, CRC(700531fa) SHA1(a8bcf86df6bd06d2ee54b4898dd7822060b81dba) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29pc_mf.u24", 0x0000, 0x0200, CRC(da9181af) SHA1(1b30d992f3b2a4b3bd81e3f99632311988e2e8d1) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "palce16v8h_mf.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -/* - Soccer New (italian) - -------------------- - - - 1x G65SC02P2 (main) - - 1x KC89C72 (sound) - - 1x TDA2003 (sound) - - 1x MC68B45P (CRT controller) - - 1x EF68B21P (Peripheral Interface Adapter) - - 1x EF6821P (Peripheral Interface Adapter) - - 1x TSC87C52-16CB (PLCC44)(Programmable 8bit Microcontroller, now dumped) - - 1x M48Z08-100PC1 (Zero Power RAM - Lithium Battery) - - 1x oscillator 16.0000MHz - - - 3x M27C512 - - 1x PROM AM27S29PC - - 1x PALCE16V8H (read protected) - - - 1x JAMMA edge connector - - 1x trimmer (volume) - - 2x 8 DIP switches - - 1x 4 DIP switches - - 1x green led - - am27s29pc_sn.u24 1ST AND 2ND HALF IDENTICAL - prgteo2gv2.3.u16 1ST AND 2ND HALF IDENTICAL - soccer1.u2 1ST AND 2ND HALF IDENTICAL - soccer2.u3 1ST AND 2ND HALF IDENTICAL - tsc87c52-sn.u40 1xxxxxxxxxxxx = 0xFF - - ---------------------------------------------- - - Needs FF in the NVRAM offset 0x82 to boot... -*/ - -ROM_START( soccernw ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "prgteo2gv2.3.u16", 0x8000, 0x8000, CRC(c61d1937) SHA1(c516f13a108da60b7ccee338b63a025009ef9099) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x10000, "cpu1", 0 ) /* TSC87C52-16CB MCU Code */ - ROM_LOAD( "tsc87c52-sn.u40", 0x0000, 0x02000 , CRC(af0bd35b) SHA1(c6613a7bcdec2fd6060d6dcf639654568de87e75) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "soccer2.u3", 0x0000, 0x8000, CRC(db09b5bb) SHA1(a12bf2938f5482ea5ebc0db6fd6594e1beb97017) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "soccer1.u2", 0x8000, 0x8000, CRC(564cc467) SHA1(8f90c4bacd97484623666b25dae77e628908e243) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "soccernw_nvram.bin", 0x0000, 0x0800, CRC(607247bd) SHA1(06bbed08166d8930f14e1f41843ac7faeded263d) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29pc_sn.u24", 0x0000, 0x0200, CRC(d02894fc) SHA1(adcdc912cc0b7a7f67b122fa94fca921c957b282) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "palce16v8h_sn.u5", 0x0000, 0x0117, NO_DUMP ) /* PAL is read protected */ -ROM_END - - -/* - Saloon (France, encrypted) - -------------------------- - - - 1x 65SC02 (main) - - 1x 8948? (sound) - - 1x MC6845P (CRT controller) - - 1x oscillator 16.000000 MHz - - - 2x M27C512 - - 1x M27C256B - - 1x PROM N82S147N - - 1x GAL16V8-25LNC (read protected) - - 1x GAL18CV8-25 (read protected) - - - 1x HY6264ALP-12 - - 1x UM6116K-3L - - - 1x JAMMA edge connector - - 1x trimmer (volume?) - - 1x LM380N (amplifier) - - 1x ULN2803A (8 Darlington arrays) - - 1x battery - - 1x test button - - 1x indicator LED - - NO DIP switches - - Board has printed "LEOPARDO 5" -*/ - -ROM_START( saloon ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "1s.bin", 0x8000, 0x8000, CRC(66938330) SHA1(09118d607eff7121472db7d2cc24079e063dc7cf) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "3s.bin", 0x0000, 0x8000, CRC(babc0964) SHA1(f084465cc34ea7ac19091d3e75ef7d55c48273ae) ) - ROM_LOAD( "2s.bin", 0x8000, 0x8000, CRC(39a792d5) SHA1(45c956a4a33587238a24eed602039115db1bb4b6) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147_saloon.bin", 0x0000, 0x0200, CRC(f424ccc1) SHA1(6df1215f58cca786e9f0ea4bf35407cf7fe21d83) ) - - ROM_REGION( 0x0100, "i2cmem", 0 ) - ROM_LOAD( "saloon_i2c.bin", 0x0000, 0x0100, CRC(57e9ce5a) SHA1(3a8420a8ed50faf31a30c01f9438f1df95e5789a) ) -ROM_END - -ROM_START( nevadafw ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "1s.bin", 0x8000, 0x8000, CRC(66938330) SHA1(09118d607eff7121472db7d2cc24079e063dc7cf) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "3s.bin", 0x0000, 0x8000, CRC(babc0964) SHA1(f084465cc34ea7ac19091d3e75ef7d55c48273ae) ) - ROM_LOAD( "2s.bin", 0x8000, 0x8000, CRC(39a792d5) SHA1(45c956a4a33587238a24eed602039115db1bb4b6) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147_saloon.bin", 0x0000, 0x0200, CRC(f424ccc1) SHA1(6df1215f58cca786e9f0ea4bf35407cf7fe21d83) ) - - ROM_REGION( 0x0100, "i2cmem", 0 ) - ROM_LOAD( "nevada_i2c.bin", 0x0000, 0x0100, CRC(cdb519db) SHA1(b7781cebee3c8f788a78f8fec9314ae5af513514) ) -ROM_END - -/**** Fun World Quiz **** - - Fun World Quiz - Oehlinger Ges.m.b.H. - - Horizontal Display - Currents - +5V 2A - +12V 0.5A - -5V - - - 4 way joystick. - 1 action button. - - - Pinouts - --------------+--+--+-------------- - GND |A |01| GND - GND |B |02| GND - GND |C |03| GND - +5V |D |04| +5V - +12V |E |05| +12V - |F |06| - |H |07| - ... |J |08| ... Empty (*) - Credits |K |09| ... - ... |L |10| ... - ... |M |11| 1P Start - ... |N |12| 2P Start - 1P Action 1 |P |13| 1P Action 2 - 2P Action 1 |R |14| 2P Action 2 - 1P Left |S |15| 1P Right - 1P Down |T |16| 1P Up - 2P Left |U |17| 2P Right - 2P Down |V |18| 2P Up - Video Green |W |19| Video Red - Video Sync |X |20| Video Blue - Speaker |Y |21| Video GND - ... |Z |22| Speaker - - Some pinout letters are missing. - This was a decision made by engineers - to avoid mix-ups. - - (*) Normally used in System Austria pinout. - - - DIP Switches (simple on/off) - --+----------------------------------------------------------------------- - 1 | Buchhaltung / Bookkeeping. - 2 | Nicht verwendet / Not used. - 3 | Ohne Zahlen (Wien) / No numbers (Vienna). - 4 | Nicht verwendet / Not used. - 5 | Nicht verwendet / Not used. - 6 | Richtige Antwort wird angezeigt / Right answer is shown. - 7 | Frage wird bei Einsatz angezeigt / Question is shown when bet is made. - 8 | Spiel mit Einsatzwahl / Game with betting. - --+----------------------------------------------------------------------- - -*/ -ROM_START( funquiz ) /* Fun World Quiz */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "kqu_6.bin", 0xc000, 0x4000, CRC(50f0e586) SHA1(85ce5b95283113e2ac94fd882c57ce1b26135ed0) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_FILL( 0x0000, 0x4000, 0xff) - ROM_LOAD( "q_3.bin", 0x4000, 0x4000, CRC(0dafa07a) SHA1(5d6fa842c617f92fad14a597396249d5a4d28c9a) ) - ROM_FILL( 0x8000, 0x4000, 0xff) - ROM_LOAD( "q_2.bin", 0xc000, 0x4000, CRC(ce07c6e1) SHA1(6b77a9198e29c195d983b856e8826e8174945321) ) - - /* One unpopulated questions socket... Maybe sport_1 is missing */ - ROM_REGION( 0x100000, "questions", ROMREGION_ERASEFF ) - - /* 01 - Allgemein */ - ROM_LOAD( "allg_1.bin", 0x00000, 0x8000, CRC(1351cf56) SHA1(50e89c3e6d256bcf7f1d3c0dbef935e4e8561096) ) - ROM_LOAD( "allg_2.bin", 0x08000, 0x8000, CRC(021492a4) SHA1(b59e1303f17c9e5af05a808118ae729205690bb2) ) - ROM_LOAD( "allg_3.bin", 0x10000, 0x8000, CRC(de8e055f) SHA1(593fce143ee5994087bbac8b51ac7e2d02e8701c) ) - ROM_LOAD( "allg_4.bin", 0x18000, 0x8000, CRC(5c87177a) SHA1(a8a8318165008cb3295e25d4b4d38146f44a32fc) ) // this one has the category in the rom in ALL caps, is it official? - ROM_LOAD( "allg_5.bin", 0x20000, 0x8000, CRC(83056686) SHA1(00f14ded371751d54a391bf583d940b32ddeae58) ) - - /* 02 - Geschichte */ - ROM_LOAD( "gesch_1.bin", 0x28000, 0x8000, CRC(6f785938) SHA1(1e3df7c262d8cb7d7981c9d424d4c1361fe55b50) ) - ROM_LOAD( "gesch_2.bin", 0x30000, 0x8000, CRC(3363c0ba) SHA1(f1a2a86e6abc73dd9312fa744b6929fae138e219) ) - - /* 03 - Geographie */ - ROM_LOAD( "geo_1.bin", 0x38000, 0x8000, CRC(504da831) SHA1(4bef7bed4d300400c094cb30e9af55d3c6f47c29) ) - ROM_LOAD( "geo_2.bin", 0x40000, 0x8000, CRC(7c563119) SHA1(9f3ae3ba3e4f60d9ea4b5c95aa5aaada8bb446a3) ) - - /* 04 - Technik */ - ROM_LOAD( "tech_1.bin", 0x48000, 0x8000, CRC(cf5b9edc) SHA1(f1085c9915d21c4da581d06c9568d2bb47d467ed) ) - - /* 05 - Sport */ - ROM_LOAD( "sport_2.bin", 0x50000, 0x8000, CRC(7accde63) SHA1(75ec3a02368d3a07d48ef9a9ff4ca7f8cf7798e2) ) - - /* 07 - Pop */ - ROM_LOAD( "pop_1.bin", 0x58000, 0x8000, CRC(5c74781e) SHA1(0a50a706fd397bb220e31f1a7adaa4204b242888) ) - ROM_LOAD( "pop_2.bin", 0x60000, 0x8000, CRC(10103648) SHA1(6fdc1aa4dcc8919e46def1c19adc2b9686c0f72d) ) - - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(f990a9ae) SHA1(f7133798b5f20dd5b8dbe5d1a6876341710d93a8) ) -ROM_END - -/* - Fun World Quiz. - 12-11-1990 - - CPU Brick: - - Ricoh RP65C02G - - M27128A - - logic... - -*/ -ROM_START( funquiza ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "a.ic12", 0xc000, 0x4000, CRC(e3b1fa5d) SHA1(3479db70249fd37b6e932d563b41550f910721c8) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "q3.ic7", 0x0000, 0x8000, CRC(7fe77d14) SHA1(0cc7395e1cdabd98206a2caa1cb6a1e165e56434) ) - ROM_LOAD( "q2.ic6", 0x8000, 0x8000, CRC(bc4f1b8f) SHA1(5af1423d2d1c698141848a6d6864cd2f4a54ca1c) ) - - ROM_REGION( 0x100000, "questions", ROMREGION_ERASEFF ) - - /* 01 - Allgemein */ - ROM_LOAD( "allg1.bin", 0x00000, 0x8000, CRC(1351cf56) SHA1(50e89c3e6d256bcf7f1d3c0dbef935e4e8561096) ) - ROM_LOAD( "allg2.bin", 0x08000, 0x8000, CRC(021492a4) SHA1(b59e1303f17c9e5af05a808118ae729205690bb2) ) - ROM_LOAD( "allg3.bin", 0x10000, 0x8000, CRC(4eb29de3) SHA1(5c5d47959c06261ab51fc4e821bff0fe41ac9176) ) - ROM_LOAD( "allg4.bin", 0x18000, 0x8000, CRC(5c87177a) SHA1(a8a8318165008cb3295e25d4b4d38146f44a32fc) ) - ROM_LOAD( "allg5.bin", 0x20000, 0x8000, CRC(83056686) SHA1(00f14ded371751d54a391bf583d940b32ddeae58) ) - - /* 02 - Technik */ - ROM_LOAD( "tech1.bin", 0x28000, 0x8000, CRC(cf5b9edc) SHA1(f1085c9915d21c4da581d06c9568d2bb47d467ed) ) - - /* 03 - Sport */ - ROM_LOAD( "sp1.bin", 0x30000, 0x8000, CRC(20fb1261) SHA1(ad029f1a2b19365543c77fcd1103f6c5783c9f68) ) - ROM_LOAD( "sp2.bin", 0x38000, 0x8000, CRC(1988f5b7) SHA1(969ae64796e432c04862cb8c159e419a4793e9f0) ) - - /* 04 - Film - Unterhaltung */ - ROM_LOAD( "unterh1.bin", 0x40000, 0x8000, CRC(996e7adc) SHA1(7b271cdb6ef555d31c2b17c6104bd30cd2eabcb3) ) - - /* 05 - Geographie */ - ROM_LOAD( "geo1.bin", 0x48000, 0x8000, CRC(504da831) SHA1(4bef7bed4d300400c094cb30e9af55d3c6f47c29) ) - ROM_LOAD( "geo2.bin", 0x50000, 0x8000, CRC(7c563119) SHA1(9f3ae3ba3e4f60d9ea4b5c95aa5aaada8bb446a3) ) - ROM_LOAD( "geo3.bin", 0x58000, 0x8000, CRC(7c563119) SHA1(9f3ae3ba3e4f60d9ea4b5c95aa5aaada8bb446a3) ) - - /* 06 - Pop */ - ROM_LOAD( "pop_1.bin", 0x60000, 0x8000, CRC(5c74781e) SHA1(0a50a706fd397bb220e31f1a7adaa4204b242888) ) - ROM_LOAD( "pop_2.bin", 0x68000, 0x8000, CRC(10103648) SHA1(6fdc1aa4dcc8919e46def1c19adc2b9686c0f72d) ) - - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "m3-7649-5.bin", 0x0000, 0x0200, CRC(f990a9ae) SHA1(f7133798b5f20dd5b8dbe5d1a6876341710d93a8) ) -ROM_END - -/* - Fun World Quiz. - 27-04-1990 - -*/ -ROM_START( funquizb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "a.bin", 0xc000, 0x4000, CRC(e3b1fa5d) SHA1(3479db70249fd37b6e932d563b41550f910721c8) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_FILL( 0x0000, 0x4000, 0xff) - ROM_LOAD( "q3.c7", 0x4000, 0x4000, CRC(0dafa07a) SHA1(5d6fa842c617f92fad14a597396249d5a4d28c9a) ) - ROM_FILL( 0x8000, 0x4000, 0xff) - ROM_LOAD( "q2.c6", 0xc000, 0x4000, CRC(ce07c6e1) SHA1(6b77a9198e29c195d983b856e8826e8174945321) ) - - ROM_REGION( 0x100000, "questions", ROMREGION_ERASEFF ) - - /* 01 - Allgemein */ - ROM_LOAD( "allg1.bin", 0x00000, 0x8000, CRC(1351cf56) SHA1(50e89c3e6d256bcf7f1d3c0dbef935e4e8561096) ) - ROM_LOAD( "allg2.bin", 0x08000, 0x8000, CRC(021492a4) SHA1(b59e1303f17c9e5af05a808118ae729205690bb2) ) - ROM_LOAD( "allg3.bin", 0x10000, 0x8000, CRC(de8e055f) SHA1(593fce143ee5994087bbac8b51ac7e2d02e8701c) ) - ROM_LOAD( "allg4.bin", 0x18000, 0x8000, CRC(5c87177a) SHA1(a8a8318165008cb3295e25d4b4d38146f44a32fc) ) - ROM_LOAD( "allg5.bin", 0x20000, 0x8000, CRC(83056686) SHA1(00f14ded371751d54a391bf583d940b32ddeae58) ) - - /* 02 - Technik */ - ROM_LOAD( "tech1.bin", 0x28000, 0x8000, CRC(cf5b9edc) SHA1(f1085c9915d21c4da581d06c9568d2bb47d467ed) ) - - /* 03 - Sport */ - ROM_LOAD( "sport1.bin", 0x30000, 0x8000, CRC(b351c745) SHA1(3b64d8e935eb4cd5bdf82934983b3ffab465257a) ) - ROM_LOAD( "sport2.bin", 0x38000, 0x8000, CRC(7accde63) SHA1(75ec3a02368d3a07d48ef9a9ff4ca7f8cf7798e2) ) - - /* 04 - Film - Unterhaltung */ - ROM_LOAD( "unt1.bin", 0x40000, 0x8000, CRC(996e7adc) SHA1(7b271cdb6ef555d31c2b17c6104bd30cd2eabcb3) ) - - /* 05 - Geographie */ - ROM_LOAD( "geo1.bin", 0x48000, 0x8000, CRC(504da831) SHA1(4bef7bed4d300400c094cb30e9af55d3c6f47c29) ) - ROM_LOAD( "geo2.bin", 0x50000, 0x8000, CRC(7c563119) SHA1(9f3ae3ba3e4f60d9ea4b5c95aa5aaada8bb446a3) ) - ROM_LOAD( "geo3.bin", 0x58000, 0x8000, CRC(7c563119) SHA1(9f3ae3ba3e4f60d9ea4b5c95aa5aaada8bb446a3) ) - - /* 06 - Pop */ - ROM_LOAD( "pop1.bin", 0x60000, 0x8000, CRC(5c74781e) SHA1(0a50a706fd397bb220e31f1a7adaa4204b242888) ) - ROM_LOAD( "pop2.bin", 0x68000, 0x8000, CRC(10103648) SHA1(6fdc1aa4dcc8919e46def1c19adc2b9686c0f72d) ) - - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "m3-7649-5.bin", 0x0000, 0x0200, CRC(f990a9ae) SHA1(f7133798b5f20dd5b8dbe5d1a6876341710d93a8) ) -ROM_END - - -/* - Witch Royal - by Video Klein - - Original Video Klein PCB - with CPU box. - -*/ -ROM_START( witchryl ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "hn58c256.bin", 0x8000, 0x8000, CRC(b89a47b9) SHA1(11fcdd5756f2998748d2f1084b1db459e90126df) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.u11", 0x0000, 0x8000, CRC(7edc8f44) SHA1(cabad613fa8a72dc12587d19a72bc9c6861486bd) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "3.u4", 0x8000, 0x8000, CRC(5e4a0d59) SHA1(08eb9b1a617a7b2e6f87377819dba07082cf38b4) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "witchryl_nvram.bin", 0x0000, 0x0800, CRC(98366bed) SHA1(279a5ce4639b8b2ac29146b32512615253c45991) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "27s29.u26", 0x0000, 0x0200, CRC(8bc86f48) SHA1(4c677ab9314a1f571e35104b22659e6811aeb194) ) -ROM_END - - -/* - Admiral Club Card (Novo Play) - Novomatic, 1986. - - Hardware Fun World/Impera/TAB... - Seems close to Royal Vegas Joker Card. - -*/ - -ROM_START( novoplay ) /* Similar to Royal Vegas Joker Card */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "np1_run.bin", 0x8000, 0x8000, CRC(4078d695) SHA1(d0e39064250733968044aec216040fe62fecc880) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "np1_ch2.bin", 0x0000, 0x8000, CRC(188d6fad) SHA1(3bc9bab24d8c7beed0c5f491c19a004ca7d719a1) ) - ROM_LOAD( "np1_ch1.bin", 0x8000, 0x8000, CRC(fdc3bd67) SHA1(0ec2d5e0b1937849934f98e253e18887af0331e8) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "novoplay_nvram.bin", 0x0000, 0x0800, CRC(92019972) SHA1(e6d1e231cd2ce27e718ed9482dbe9ddc8612eb67) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* PLD address the 2nd half */ - ROM_LOAD( "np1_27s29.bin", 0x0000, 0x0200, CRC(8992aa4d) SHA1(5a0649bff66e7cab1bcbadcdfc74c77a747cc58f) ) -ROM_END - - -/* - Jolly Card (spanish, encrypted) - ------------------------------- - - Rare unknown board with scratched chips. - A daughterboard with a big chip (can barely read 'mexico') - Other can barely read '68' - - 3 roms. - - Graphics are encrypted 'alla blue TAB board. - Program is encrypted through scrambling data lines. - -*/ - -ROM_START( jolycdsp ) /* Encrypted program in a module. Blue TAB PCB encrypted graphics */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ct3.bin", 0x8000, 0x8000, CRC(0c9cbae6) SHA1(4f834370229797cac302a5185ed1e77ef2b7cabb) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "ct2.bin", 0x0000, 0x8000, CRC(7569e719) SHA1(f96e1e72bc13d1888f3868f8d404fd3db94db7b2) ) - ROM_LOAD( "ct1.bin", 0x8000, 0x8000, CRC(8f438635) SHA1(3200e20f4b28173cc2a68d0f87969627570418dc) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "ctunk_nvram.bin", 0x0000, 0x0800, CRC(c55c6706) SHA1(a38ae926f057fb47e48ca841b2d097fc4fd06416) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* Borrowed from the parent set */ - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5ebc5659) SHA1(8d59011a181399682ab6e8ed14f83101e9bfa0c6) ) -ROM_END - - -/* - Unknown encrypted Royal Card - Dino4 hardware with daughterboard (CPU+PLCC) - - 1x Rockwell R65C02P4 CPU (11450-14 Mexico 9802 B54074-2) - 1x Unknown sanded 44 pin PLCC - - 2x 68C21 - 1x 6845 - 1x YM2149F - - 16 Mhz. xtal - - ----------------- - - BP C17C (just after the CRTC init) - - Code checks offset $32F0 for 0xFE, and has two NOPs... Maybe was requested to continue. - Same as China Town. WTH is mapped there? - -*/ - -ROM_START( rcdino4 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ryc_1a.u2", 0x0000, 0x10000, CRC(a22704d6) SHA1(0f5721a042d7ec8f4c9a93b38c2a9e3b2d115fc5) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "m27c512.u2", 0x0000, 0x8000, CRC(915f1e59) SHA1(2eb2a7acca50318eb1775b01a00b1d3c74e1522c) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - ROM_LOAD( "m27c512.u20", 0x8000, 0x8000, CRC(86e55f5a) SHA1(be71301b6887e8cc5924864d0f97b54e0668875e) ) - ROM_IGNORE( 0x8000 ) /* Identical halves. Discarding 2nd half */ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "rcdino4_nvram.bin", 0x0000, 0x0800, CRC(a2dc069e) SHA1(23e296cc0cc0c6f0c34eccffff8c78d2cef2dbae) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29pc.u25", 0x0000, 0x0200, CRC(649e6ccc) SHA1(674a5ea3b4b2e7de766e787debef5f695bff7a40) ) -ROM_END - -/* - China Town - Dino 4 encrypted hardware - - BP C17F - CFD5... - Checks offset $32F0 for 0xFE to continue. Otherwise got in a stuck loop. - WTH is mapped there? - -*/ -ROM_START( chinatow ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ctw-1b.u2", 0x0000, 0x10000, CRC(2cdeb1b6) SHA1(942a4f77b15b0e69de5414ce63c53f4f1ef6ba78) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "27c512.u2", 0x0000, 0x8000, CRC(6ace221f) SHA1(d35a6621d9d9231a844d7043da78035855ebf572) ) - ROM_CONTINUE( 0x0000, 0x8000) /* Discarding 1nd half 0xff filled*/ - ROM_LOAD( "27c512.u20", 0x8000, 0x8000, CRC(efb7f1ec) SHA1(260005526fc9b4087ca03f7cc585e40b6fa007fb) ) - ROM_CONTINUE( 0x8000, 0x8000) /* Discarding 1nd half 0xff filled*/ - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "chinatow_nvram.bin", 0x0000, 0x0800, CRC(eef4c5e7) SHA1(a2d9a9f617d35ccb99236114e5ce3257ad572f49) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29pc.u25", 0x0000, 0x0200, CRC(e7e989be) SHA1(309a5cf169ef04c9daea48967f47c80fb29f2fcf) ) -ROM_END - - -/* - Joker Card from Inter Games (Austria). - - 1x G65SC02P-2 - 2x MC68B21P - 1x MC68B45P - 1x AY38910A/P - 3x NMC27C256Q - 1x Dallas DS1220Y - 1x AM27S29APC - 1x LM380N - 1x Crystal 16.0000 MHz. - - The hardware has way different architecture. - - Video RAM splitted in two well separated offsets: - Video RAM at $2000 and Attr/Color Ram at $5000 mirrored at $7000. - - PIAs at $3200 and $3400. - AY8910 at $3000-$3001. - CRTC at... $3000-$3001 too!!!. - - There are multiple buffers and compare from some registers, - reminding the way some hardwares handle inputs without PIAs. - - Some jumps to hardware errors were patched till we can understand - a bit better the hardware behaviour. - - Bipolar PROM has the first half empty, so will black the screen - after any attempt of ROM swap. - - A lot of reverse-engineering was needed to get this game working... -*/ -ROM_START( intrgmes ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "bonus-off_5b87d19c.bin", 0x8000, 0x8000, CRC(03a4d1ef) SHA1(375ae1de5e6e4a7a6d6cedfd08902826fa62f93b) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "ig2ch2.bin", 0x0000, 0x8000, CRC(52f0bc70) SHA1(cd9ba34efb438c9610551900c3de2a09aea76cb9) ) - ROM_LOAD( "ig2ch1.bin", 0x8000, 0x8000, CRC(8fc7d74e) SHA1(bf7ee7ef5c95877fe82fb6e04a5d8ab211fc730c) ) - - ROM_REGION( 0x1000, "nvram", 0 ) // Default NVRAM. - ROM_LOAD( "intrgmes_nvram.bin", 0x0000, 0x0800, CRC(7ce7c42c) SHA1(da5b2fbecd83ae87616f3c65fc0d6fd05f9fe7c5) ) - ROM_LOAD( "ds1220y.bin", 0x0800, 0x0800, CRC(7bc4554e) SHA1(c9ad1651e673f8edd0fd354b1098db8f27697d18) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "am27s29.bin", 0x0000, 0x0200, CRC(8992aa4d) SHA1(5a0649bff66e7cab1bcbadcdfc74c77a747cc58f) ) -ROM_END - - -// http://www.citylan.it/wiki/images/6/69/1189_PCB_component_side.jpg -ROM_START( royalcrd_nes ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "me2.bin", 0x0000, 0x10000, CRC(2144efab) SHA1(47fef8e0d2b05869e667731fdaf535722b9a8f19)) // this is one (or more?) Royal Card programs, with (c)1991 TAB Austria in them - - ROM_REGION( 0x20000, "gfx1", 0 ) // these are (encrypted?) GFX ROMS - ROM_LOAD( "me3.bin", 0x00000, 0x10000, CRC(398a6f7c) SHA1(126048c75ab5df421f9dd2e39c6b68e15bf54f38) ) - ROM_LOAD( "me4.bin", 0x10000, 0x10000, CRC(6f84222a) SHA1(eee8e46d464211914cb99d15fd9f7dd4aa009664) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "24c04.bin", 0x0000, 0x0200, CRC(e349687c) SHA1(1e6da87ba771baacc7687524158a1db8b789b673) ) - ROM_REGION( 0x0200, "proms2", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(5377c680) SHA1(33857bbbfebfce28b8a68c69e030bf560a701e83) ) - - // and this is just an untouched NES multigame.. - ROM_REGION( 0x0100000, "nes_prg", 0 ) - ROM_LOAD( "me0.bin", 0x0000, 0x0100000, CRC(83a4e841) SHA1(280e1a26737fe0b90dd19be706df89e09ef84c77) ) // == 64 in 1 [a1][p1].prg nes:mc_64a 64 in 1 (Alt Games) - ROM_REGION( 0x80000, "nes_chr", 0 ) - ROM_LOAD( "me1.bin", 0x0000, 0x80000, CRC(7114b404) SHA1(0f5a206af25725b2e97c404a616e341f15925431) ) // == 64 in 1 [a1][p1].chr nes:mc_64a 64 in 1 (Alt Games) -ROM_END - -// http://www.citylan.it/wiki/images/5/54/1188_PCB_component_side.jpg -ROM_START( royalcrd_msx ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "me2.bin", 0x0000, 0x20000, CRC(4968fe51) SHA1(ae120f40c97e099c3f65b802c51838673958e87e) ) // this is one (or more?) Royal Card programs, with (c)1991 TAB Austria in them (2nd half is empty) - - ROM_REGION( 0x20000, "gfx1", 0 ) // these are (encrypted?) GFX ROMS - ROM_LOAD( "me3.bin", 0x00000, 0x10000, CRC(398a6f7c) SHA1(126048c75ab5df421f9dd2e39c6b68e15bf54f38) ) - ROM_LOAD( "me4.bin", 0x10000, 0x10000, CRC(b536d59c) SHA1(8050f87c3352d7501611c49e83e34e800f28c9a7) ) // BADADDR xxxxxx-xxxxxxxxx , should probably just match above set - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "24c04.bin", 0x0000, 0x0200, CRC(2a1e8abe) SHA1(639a704f25af02597ead2e69d15ac47953c27f09) ) - - // some kind of MSX multigame? - ROM_REGION( 0x0100000, "msx_prg", 0 ) - ROM_LOAD( "me0.bin", 0x0000, 0x10000, CRC(bd5be18b) SHA1(b43a176db0522bcda0a17dd0c210c987dc380c97) ) // weird pattern? might be bad if not a lookup table? BADADDR -------xxxxxxxxx - ROM_LOAD( "me1.bin", 0x0000, 0x40000, CRC(2152c6b7) SHA1(e512e29f4a899cc3f91a446141fd4432a487228f) ) -ROM_END - - -/* - Unknown Funworld A7-11 game - - CPU epoxy brick marked "Funworld A7-11", with: - 1x RP65C02A - 2x Toshiba TC5565PL1-12 - 1x Toshiba TMM24128AP - 1x PAL16L8B-2CN - 3x TTL's... - - PCB components: - - 2x Hitachi HD68B21P - 1x Hitachi HD46505SP-2 - 1x GI AY-3-8910A - - 1x Toshiba TC5565APL-10 - 1x Hitachi HD6116LP-3 - 2x Toshiba TMM27256AD-20 - 1x Harris M3-7649A-5 Bipolar PROM. - - 1x Xtal 16.000 MHz. - 1x 3.6V lithium battery. - 1x 8 DIP switches bank. - -*/ -ROM_START( fw_a7_11 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tmm24128ap.bin", 0xc000, 0x4000, CRC(67ac1337) SHA1(896bd30d4b061f08b8eeeb36aaceb7859f342eaf) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "e-3.bin", 0x0000, 0x8000, CRC(d34f0e63) SHA1(5984248331ec632b665f60ad553b74916630d4d3) ) - ROM_LOAD( "e-2.bin", 0x8000, 0x8000, CRC(16aebfb3) SHA1(3a2c587b2c31341a83ec9e0f9dd188d4bb63e764) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "m3-7649a-5.bin", 0x0000, 0x0200, CRC(f990a9ae) SHA1(f7133798b5f20dd5b8dbe5d1a6876341710d93a8) ) - - ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "pal16l8b-2cn_block.bin", 0x0000, 0x0117, NO_DUMP ) -ROM_END - -ROM_START( fw_a7_11a ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "tmm24128ap.bin", 0xc000, 0x4000, CRC(28126b0f) SHA1(e2baa643c1858cd3ea53abf801fc9ab1a1e3ff9b) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "2.bin", 0x0000, 0x8000, CRC(d34f0e63) SHA1(5984248331ec632b665f60ad553b74916630d4d3) ) - ROM_LOAD( "1.bin", 0x8000, 0x8000, CRC(16aebfb3) SHA1(3a2c587b2c31341a83ec9e0f9dd188d4bb63e764) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "m3-7649a-5.bin", 0x0000, 0x0200, CRC(f990a9ae) SHA1(f7133798b5f20dd5b8dbe5d1a6876341710d93a8) ) - - ROM_REGION( 0x0200, "plds", 0 ) /* Cracked PLD */ - ROM_LOAD( "pal16l8acn_block.bin", 0x0000, 0x0117, CRC(fcda7872) SHA1(60acdb968e6229a8f71c2e29d22e132906a65bd5) ) -ROM_END - -/* - Unknown Funworld A0-1 game - CPU epoxy brick marked "Funworld A0-1". -*/ -ROM_START( fw_a0_1 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "d27128.bin", 0xc000, 0x4000, CRC(67ac1337) SHA1(896bd30d4b061f08b8eeeb36aaceb7859f342eaf) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "10.bin", 0x0000, 0x8000, CRC(d34f0e63) SHA1(5984248331ec632b665f60ad553b74916630d4d3) ) - ROM_LOAD( "9.bin", 0x8000, 0x8000, CRC(16aebfb3) SHA1(3a2c587b2c31341a83ec9e0f9dd188d4bb63e764) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "n82s147n.bin", 0x0000, 0x0200, CRC(f990a9ae) SHA1(f7133798b5f20dd5b8dbe5d1a6876341710d93a8) ) -ROM_END - -/* - Joker Card / Multi Card - Funworld. - - This game is running in a derivative hardware with epoxy CPU brick. - CPU is a 65C02, with two 5565 RAMs and one 27128 ROM. - Also there are present some PLD and logic. (see above). - - The main program is inside the battery backed RAM, and need to be dumped. - These RAMs are connected to the mainboard battery, so once the Brick is unplugged, - the battery stops to feed the RAM and the program just vanish. - - From factory, they used the central connector to plug a module with the game program, - and then the code inside the ROM check for offset $4000 onward if the module is - present through some sort of checksum. If the module is present, the code will - copy the range 4000-7fff (the game program inside the external module) to the - 8000-bfff location, where is the battery backed RAM inside the brick. - - We need to find a new working board and reverse the central connector, to construct - some interface that allows us to dump the content of the internal battery backed RAM. - - For debug purposes, we plugged an external game code from another similar game, that - matches all calls from the original ROM code. We suspect is the same code with different - language (English instead German). With this external code the game is completely playable. - - ---- - - CPU epoxy brick marked "76AF". - - Epoxy Brick contents: - - - CPU: 1x Ricoh RP65C02A. - - RAM: 2x Toshiba TC5565APL-10. - - ROM: 1x Intel D27128A. - - PLD: 1x PAL16L8B. - - - LOGIC: 1x HD74HC241P. - 1x M74LS245P. - 1x SN74LS139N. - -*/ -ROM_START( jokcrdep ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "e-1.bin", 0xc000, 0x4000, CRC(67ac1337) SHA1(896bd30d4b061f08b8eeeb36aaceb7859f342eaf) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "200_zg_2.bin", 0x0000, 0x8000, CRC(ba994fc3) SHA1(95d2a802c38d7249f10eb2bbe46edfb9b14b6faa) ) - ROM_LOAD( "200_zg_1.bin", 0x8000, 0x8000, CRC(367db105) SHA1(400b82dc9e0be4c17a02add009aab3c43dd901f8) ) - - ROM_REGION( 0x0800, "nvram", 0 ) - ROM_LOAD( "joker_nvram.bin", 0x0000, 0x0800, CRC(92019972) SHA1(E6D1E231CD2CE27E718ED9482DBE9DDC8612EB67) ) // Default NVRAM. - - ROM_REGION( 0x4000, "nvram1", 0 ) - ROM_LOAD( "e-0.bin", 0x0000, 0x4000, BAD_DUMP CRC(8FD42F3B) SHA1(208209761DE046189070B88AD4340C8D7FF55F1F) ) // Internal suicide program. Taken from Novo Play. - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "sn82s147n.bin", 0x0000, 0x0200, CRC(f990a9ae) SHA1(f7133798b5f20dd5b8dbe5d1a6876341710d93a8) ) -ROM_END - - -/************************** -* Driver Initialization * -**************************/ - -void funworld_state::init_tabblue() -{ -/**************************************************************************************************** - - +-------------------------+ - | Blue TAB PCB Decryption | - +-------------------------+ - - It performs by byte nibble a boolean XOR against the same value shifted to the right, then shift - the result to the left, carring the less significant bit and losing the most significant one. - - - Encrypted nibble: 0 1 2 3 4 5 6 7 8 9 A B C D E F - Bits: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 - ------------------------------------------------------------------------------------------------- - Bits: 0000 0011 0110 0101 1100 1111 1010 1001 1000 1011 1110 1101 0100 0111 0010 0001 - Decrypted nibble: 0 3 6 5 C F A 9 8 B E D 4 7 2 1 - - -*****************************************************************************************************/ - - int x, na, nb, nad, nbd; - uint8_t *src = memregion( "gfx1" )->base(); - - - for (x=0x0000; x < 0x10000; x++) - { - na = src[x] & 0xf0; /* nibble A */ - nb = src[x] << 4; /* nibble B */ - - nad = (na ^ (na >> 1)) << 1; /* nibble A decrypted */ - nbd = ((nb ^ (nb >> 1)) >> 3) & 0x0f; /* nibble B decrypted */ - - src[x] = nad + nbd; /* decrypted byte */ - } -} - - -void magicrd2_state::init_magicd2b() -{ - /***************************************************************** - - For a serie of Mexican Rockwell's 65c02 - seems that opcode 0x91 is STA ($zp) instead of STA ($zp),y - ...or is patched with the correct opcode (0x92) by PLDs... - - In offset $C1C4, the code is trying to initialize both PIAs - putting value 0x34 in $0800-$0803 & $0A00-$0A03. - - The code use STA ($zp),y (opcode 0x91). As soon as register 'y' - increments, almost all writes go out of range. - - ******************************************************************/ - uint8_t *ROM = memregion("maincpu")->base(); - - ROM[0xc1c6] = 0x92; -} - - -void magicrd2_state::init_magicd2c() -{ - /*** same as blue TAB PCB, with the magicd2a patch ***/ - int x, na, nb, nad, nbd; - uint8_t *src = memregion( "gfx1" )->base(); - uint8_t *ROM = memregion("maincpu")->base(); - - for (x=0x0000; x < 0x10000; x++) - { - na = src[x] & 0xf0; /* nibble A */ - nb = src[x] << 4; /* nibble B */ - - nad = (na ^ (na >> 1)) << 1; /* nibble A decrypted */ - nbd = ((nb ^ (nb >> 1)) >> 3) & 0x0f; /* nibble B decrypted */ - - src[x] = nad + nbd; /* decrypted byte */ - } - - ROM[0xc1c6] = 0x92; -} - - -void funworld_state::init_mongolnw() -{ - /* temporary patch to avoid hardware errors for debug purposes */ - uint8_t *ROM = memregion("maincpu")->base(); - - ROM[0x9115] = 0xa5; - - /* prevents one test from triggering hardware error */ - ROM[0xb8f3] = 0xff; -} - - -void funworld_state::init_soccernw() -{ -/* temporary patch to avoid hardware errors for debug purposes */ - uint8_t *ROM = memregion("maincpu")->base(); - - ROM[0x80b2] = 0xa9; - ROM[0x80b3] = 0x00; - ROM[0x9115] = 0xa5; - -/* prevent one test from triggering hardware error */ - ROM[0xb8f3] = 0xff; -} - - -void funworld_state::init_saloon() -/************************************************* - - LEOPARDO 5 Hardware - ------------------- - - Special thanks to Andreas Naive, that - figured out the address encryption. - - Program: - Low 8 bits of address are scrambled. - Also the values have bits 0 & 2 bitswapped. - - GFX: - Low 11 bits of address are scrambled. - - Color: - Data has bits 2-3-5-6-7 scrambled. - Address has the 8 lower bits scrambled. - -*************************************************/ -{ - uint8_t *rom = memregion("maincpu")->base(); - int size = memregion("maincpu")->bytes(); - int start = 0x8000; - - uint8_t *gfxrom = memregion("gfx1")->base(); - int sizeg = memregion("gfx1")->bytes(); - - uint8_t *prom = memregion("proms")->base(); - int sizep = memregion("proms")->bytes(); - - popmessage(" Please: Start with <2> and <Z> buttons pressed to run system properly"); - - - /***************************** - * Program ROM decryption * - *****************************/ - - /* data lines swap: 76543210 -> 76543012 */ - - for (int i = start; i < size; i++) - { - rom[i] = bitswap<8>(rom[i], 7, 6, 5, 4, 3, 0, 1, 2); - } - - { - std::vector<uint8_t> buffer(size); - memcpy(&buffer[0], rom, size); - - /* address lines swap: fedcba9876543210 -> fedcba9820134567 */ - - for (int i = start; i < size; i++) - { - int a = ((i & 0xff00) | bitswap<8>(i & 0xff, 2, 0, 1, 3, 4, 5, 6, 7)); - rom[a] = buffer[i]; - } - - } - - - /****************************** - * Graphics ROM decryption * - ******************************/ - - { - std::vector<uint8_t> buffer(sizeg); - memcpy(&buffer[0], gfxrom, sizeg); - - /* address lines swap: fedcba9876543210 -> fedcb67584a39012 */ - - for (int i = 0; i < sizeg; i++) - { - int a = bitswap<16>(i, 15, 14, 13, 12, 11, 6, 7, 5, 8, 4, 10, 3, 9, 0, 1, 2); - gfxrom[a] = buffer[i]; - } - } - - - /**************************** - * Color PROM decryption * - ****************************/ - - /* data lines swap: 76543210 -> 23546710 */ - - { - std::vector<uint8_t> buffer; - for (int i = 0; i < sizep; i++) - { - buffer.push_back(bitswap<8>(prom[i], 2, 3, 5, 4, 6, 7, 1, 0)); - } - - /* address lines swap: fedcba9876543210 -> fedcba9487652013 */ - for (int i = 0; i < sizep; i++) - { - int a = bitswap<16>(i, 15, 14, 13, 12, 11, 10, 9, 4, 8, 7, 6, 5, 2, 0, 1, 3); - prom[a] = buffer[i]; - } - } - - m_palette->update(); - - - // inversion for i2c clock generation in i2c_rx routine - rom[0xbf23] = 0x60; // ex 70h - rom[0xbf2a] = 0x70; // ex 60h - -} - - -void funworld_state::init_dino4() -/***************************************************** - - DINO 4 hardware. - - Program ROM data & address lines are swapped, - hardcoded in the board. - - GFX ROMs address lines are also swapped, but they - are connected to 2 PLDs that handle the encryption. - - Color PROM is straight. - - All PLD's are read protected. - -******************************************************/ -{ - uint8_t *rom = memregion("maincpu")->base(); - int size = memregion("maincpu")->bytes(); - int start = 0x8000; - - uint8_t *gfxrom = memregion("gfx1")->base(); - int sizeg = memregion("gfx1")->bytes(); - - /***************************** - * Program ROM decryption * - *****************************/ - - /* data lines swap: 76543210 -> 76543120 */ - - for (int i = start; i < size; i++) - { - rom[i] = bitswap<8>(rom[i], 7, 6, 5, 4, 3, 1, 2, 0); - } - - { - std::vector<uint8_t> buffer(size); - memcpy(&buffer[0], rom, size); - - /* address lines swap: fedcba9876543210 -> fedcba9867543210 */ - for (int i = start; i < size; i++) - { - int a = bitswap<16>(i, 15, 13, 14, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); - rom[a] = buffer[i]; - } - } - - - /****************************** - * Graphics ROM decryption * - ******************************/ - - { - std::vector<uint8_t> buffer(sizeg); - memcpy(&buffer[0], gfxrom, sizeg); - - /* address lines swap: fedcba9876543210 -> fedcb67584a39012 */ - - for (int i = 0; i < sizeg; i++) - { - int a = bitswap<16>(i, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 4, 5, 3, 2, 1, 0); - gfxrom[a] = buffer[i]; - } - } -} - - -void funworld_state::init_ctunk() -/********************************************************* - - CTUNK: Rare board with blue TAB board encryption scheme - plus a daughterboard for program encryption. - -*********************************************************/ -{ - uint8_t *rom = memregion("maincpu")->base(); - int size = memregion("maincpu")->bytes(); - int start = 0x8000; - - /***************************** - * Program ROM decryption * - *****************************/ - - /* data lines swap: 76543210 -> 56734012 */ - - for (int i = start; i < size; i++) - { - rom[i] = bitswap<8>(rom[i], 5, 6, 7, 3, 4, 0, 1, 2); - } - - //buffer = std::make_unique<uint8_t[]>(size); - //memcpy(buffer, rom, size); - - - /***************************** - * Graphics ROMs decryption * - *****************************/ - - uint8_t *src = memregion( "gfx1" )->base(); - //uint8_t *ROM = memregion("maincpu")->base(); - for (int x = 0x0000; x < 0x10000; x++) - { - int na = src[x] & 0xf0; /* nibble A */ - int nb = src[x] << 4; /* nibble B */ - - int nad = (na ^ (na >> 1)) << 1; /* nibble A decrypted */ - int nbd = ((nb ^ (nb >> 1)) >> 3) & 0x0f; /* nibble B decrypted */ - - src[x] = nad + nbd; /* decrypted byte */ - } -} - - -static void decrypt_rcdino4(uint8_t *rom, int size, uint8_t *gfxrom, int sizeg, uint8_t *src) -{ - /***************************** - * Program ROM decryption * - *****************************/ - - /* data lines swap: 76543210 -> 76543120 */ - { - std::vector<uint8_t> buffer; - for (int i = 0; i < size; i++) - { - buffer.push_back(bitswap<8>(rom[i], 7, 6, 5, 4, 3, 1, 2, 0)); - } - - /* address lines swap: fedcba9876543210 -> fedcba9867543210 */ - - for (int i = 0; i < size; i++) - { - int a = bitswap<16>(i, 15, 13, 14, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); - rom[a] = buffer[i]; - } - - } - - /****************************** - * Graphics ROM decryption * - ******************************/ - - { - std::vector<uint8_t> buffer(sizeg); - memcpy(&buffer[0], gfxrom, sizeg); - - /* address lines swap: fedcba9876543210 -> fedcb67584a39012 */ - - for (int i = 0; i < sizeg; i++) - { - int a = bitswap<16>(i, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 4, 5, 3, 2, 1, 0); - gfxrom[a] = buffer[i]; - } - } - - /* d4-d5 data lines swap, plus a XOR with 0x81, implemented in two steps for an easy view */ - - for (int x = 0x0000; x < 0x10000; x++) - { - src[x] = bitswap<8>(src[x], 7, 6, 4, 5, 3, 2, 1, 0); - src[x] = src[x] ^ 0x81; - } - -} - - - -static uint8_t rcdino4_add[] = -{ -/* 0 1 2 3 4 5 6 7 8 9 a b c d e f*/ -/*0*/ 1, 9, 9, 9, 9, 2, 9, 9, 1, 2, 1, 9, 9, 3, 9, 9, -/*1*/ 2, 2, 9, 9, 9, 9, 9, 9, 1, 9, 1, 9, 9, 9, 9, 9, -/*2*/ 3, 9, 9, 9, 9, 2, 2, 9, 1, 2, 1, 9, 9, 3, 3, 9, -/*3*/ 2, 9, 9, 9, 9, 9, 9, 9, 1, 9, 1, 9, 9, 3, 9, 9, -/*4*/ 1, 9, 9, 9, 9, 2, 9, 9, 1, 2, 1, 9, 3, 3, 9, 9, -/*5*/ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 9, 9, 9, 9, 9, -/*6*/ 1, 9, 9, 9, 2, 2, 9, 9, 1, 2, 1, 9, 3, 3, 3, 9, -/*7*/ 9, 2, 9, 9, 9, 9, 9, 9, 9, 3, 1, 9, 9, 3, 9, 9, -/*8*/ 2, 9, 9, 9, 2, 2, 2, 9, 1, 9, 1, 9, 9, 3, 3, 9, -/*9*/ 2, 2, 9, 9, 9, 2, 9, 9, 1, 3, 9, 9, 3, 3, 3, 9, -/*a*/ 2, 9, 2, 9, 2, 2, 2, 9, 1, 2, 1, 9, 9, 3, 3, 2, -/*b*/ 2, 2, 9, 9, 9, 2, 9, 9, 9, 3, 9, 9, 9, 3, 9, 9, -/*c*/ 2, 9, 9, 9, 2, 2, 2, 9, 1, 2, 1, 9, 3, 3, 3, 9, -/*d*/ 2, 9, 9, 9, 9, 9, 9, 9, 1, 9, 1, 9, 9, 3, 9, 9, -/*e*/ 2, 9, 9, 9, 2, 9, 2, 9, 1, 2, 1, 9, 3, 9, 3, 9, -/*f*/ 2, 9, 9, 9, 9, 2, 9, 9, 1, 3, 1, 9, 9, 3, 9, 9 -}; - -static uint8_t rcdino4_keys40[] = -{ -/* 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d*/ - 0x36, 0x54, 0x47, 0x6b, 0xce, 0x95, 0xa2, 0x66, 0x3a, 0x46, 0x53, 0xd7, 0xc4, 0xa4, -/* 4e 4f*/ - 0x00, 0x00, -/* 50*/ - 0x56 -}; - -static uint8_t rcdino4_keys80[] = -{ -/* 81 82 83 84 85 */ - 0xb8, 0x32, 0x1c, 0x23, 0xe2, -/* 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* 92 93 94 95 96 97 */ - 0x4c, 0x00, 0x3d, 0x00, 0xd9, 0x16, -/* 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* a4 a5 a6*/ - 0x5e, 0x73, 0x69, -/* a7 a8 a9*/ - 0x00, 0x00, 0x00, -/* aa*/ - 0xa6, -/* ab ac ad ae af*/ - 0x00, 0x00, 0x00, 0x00, 0x00, -/* b0 b1*/ - 0xc3, 0x40, -/* b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* c3 c4 c5*/ - 0x92, 0xb7, 0x24, -/* c6 c7 c8 c9*/ - 0x00, 0x00, 0x00, 0x00, -/* ca*/ - 0x62, -/* cb cc cd ce cf*/ - 0x00, 0x00, 0x00, 0x00, 0x00, -/* d0*/ - 0x84, -/* d1*/ - 0x00, -/* d2*/ - 0xaa, -/* d3 d4 d5*/ - 0x00, 0x00, 0x00, -/* d6*/ - 0xea, -/* d7 d8 d9 da db dc dd de df*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* e0*/ - 0x17, -/* e1 e2 e3*/ - 0x00, 0x00, 0x00, -/* e4*/ - 0xc0, -/* e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7*/ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -/* f8 f9 fa fb fc fd fe*/ - 0x06, 0x1e, 0x28, 0x5a, 0xcf, 0x79, 0x11 -}; - -void chinatow_state::init_rcdino4() -{ - /***************************************************** - - Dino4 hardware with CPU+PLCC daughterboard - - Program ROM data & address lines are swapped. - GFX ROMs address lines are swapped and data encrypted. - - Color PROM seems straight. - - ******************************************************/ - uint8_t *rom = memregion("maincpu")->base(); - - decrypt_rcdino4(rom, memregion("maincpu")->bytes(), memregion("gfx1")->base(), memregion("gfx1")->bytes(), memregion( "gfx1" )->base()); - - int j = 0; - for (int i = 0x40; i < (0x40 + ARRAY_LENGTH(rcdino4_keys40));) - { - uint8_t key = rcdino4_keys40[i - 0x40]; - - do - { - uint8_t c = rom[(i << 8) + j] ^ key; - int add = rcdino4_add[c]; - - if (add == 9) - { - ++j; - } - else - { - rom[(i << 8) + j] = c; - j += add; - } - } - - while (j < 0x100); - - j &= 0xff; - ++i; - } - - j = 1; - int i = 0x81; - - do - { - uint8_t key = rcdino4_keys80[i - 0x81]; - - do - { - uint8_t c = rom[(i << 8) + j] ^ key; - int add = rcdino4_add[c]; - - if (((i == 0x81) - && (j >= 0xa3) && (j <= 0xb1) /* text string */ - ) - || ((i == 0x82) - && (j >= 0x35) && (j <= 0x53) /* table of addresses */ - ) - || ((i == 0x85) - && (j >= 0x7e) && (j <= 0x8d) /* '0'-'9', 'A'-'F' */ - ) - || ((i == 0x94) - && (((j >= 0x4a) && (j <= 0x86)) /* zeroes */ - || ((j >= 0xbf) && (j <= 0xc1)) /* set of masks */ - ) - ) - || ((i == 0x96) - && (j >= 0x39) && (j <= 0x3e) /* set of masks */ - ) - || ((i == 0xa6) - && (j >= 0x30) && (j <= 0x32) /* set of masks */ - ) - || ((i == 0xaa) - && (j >= 0xf2) /* table of addresses */ - ) - || ((i == 0xc3) - && (j >= 0x70) && (j <= 0xaf) /* set of masks */ - ) - || ((i == 0xc4) - && (j >= 0xdc) /* zeroes and things */ - ) - || ((i == 0xd0) - && (j >= 0xd2) /* text and zeroes */ - ) - || ((i == 0xd2) - && ((j <= 0x2f) /* text and zeroes */ - || ((j >= 0x84) && (j <= 0xaf)) /* text and zeroes */ - ) - ) - || (add == 9) - ) - { - ++j; - } - else - { - rom[(i << 8) + j] = c; - j += add; - } - } - while (j < 0x100); - - j &= 0xff; - - do {} while (((++i - 0x81) < ARRAY_LENGTH(rcdino4_keys80)) - && !rcdino4_keys80[i - 0x81]); - - if ((i - 0x81) == ARRAY_LENGTH(rcdino4_keys80)) - { - break; - } - - if ((i == 0xa4) - || (i == 0xb0) - || (i == 0xf8) - ) - { - j = 0; /* re-align offset after skipping some pages */ - } - } - while (1); -} - -void chinatow_state::init_rcdinch() -{ - /***************************************************** - - Dino4 hardware with CPU+PLCC daughterboard - - Less encryption than rc4dino - - ******************************************************/ - decrypt_rcdino4(memregion("maincpu")->base(), memregion("maincpu")->bytes(), memregion("gfx1")->base(), memregion("gfx1")->bytes(), memregion( "gfx1" )->base()); -} - - -void funworld_state::init_jolycdig() -{ - // covering two values in ROM space checked for hardware errors. - // maybe some virtual or physically mapped there. - - uint8_t *rom = memregion("maincpu")->base(); - - rom[0xe825] = 0xff; // checks for #$45, ascii E. - rom[0xe826] = 0xff; // checks for #$56, ascii V. -} - - -void intergames_state::driver_init() -{ - // NOP'ing some values in ROM space to avoid the hardware error. - - uint8_t *rom = memregion("maincpu")->base(); - - rom[0xadc5] = 0xea; - rom[0xadc6] = 0xea; - - rom[0xadd2] = 0xea; - rom[0xadd3] = 0xea; - - rom[0xade6] = 0xea; - rom[0xade7] = 0xea; - - rom[0xadf8] = 0xea; - rom[0xadf9] = 0xea; - - rom[0xae16] = 0xea; - rom[0xae17] = 0xea; - - rom[0xaead] = 0xea; - rom[0xaeae] = 0xea; - rom[0xaeaf] = 0xea; - -// verify checksum against values stored at 07F2-07F3. -// rom[0xaf69] = 0xea; -// rom[0xaf6a] = 0xea; -// rom[0xaf6b] = 0xea; - -} - - -/********************************************** -* Game Drivers * -**********************************************/ - -/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ - -// Jolly Card based... -GAMEL( 1985, jollycrd, 0, fw1stpal, funworld, funworld_state, empty_init, ROT0, "TAB Austria", "Jolly Card (German, set 1)", 0, layout_jollycrd ) -GAMEL( 1985, jollycrda, jollycrd, fw1stpal, funworld, funworld_state, empty_init, ROT0, "TAB Austria", "Jolly Card (German, set 2)", 0, layout_jollycrd ) -GAMEL( 1985, jolyc3x3, jollycrd, fw1stpal, funworld, funworld_state, empty_init, ROT0, "TAB Austria", "Jolly Card (3x3 deal)", 0, layout_jollycrd ) -GAMEL( 1993, jolycmzs, jollycrd, cuoreuno, jolyc980, funworld_state, empty_init, ROT0, "MZS Tech", "Jolly Card Professional 2.0 (MZS Tech)", 0, layout_jollycrd ) -GAMEL( 2000, jolyc980, jollycrd, cuoreuno, jolyc980, funworld_state, empty_init, ROT0, "Spale Soft", "Jolly Card Professional 2.0 (Spale Soft)", 0, layout_jollycrd ) -GAMEL( 1998, jolycdev, jollycrd, fw1stpal, funworld, funworld_state, empty_init, ROT0, "TAB Austria / Evona Electronic", "Jolly Card (Evona Electronic)", 0, layout_jollycrd ) -GAMEL( 1985, jolyccra, jollycrd, cuoreuno, jolycdcr, funworld_state, empty_init, ROT0, "TAB Austria", "Jolly Card (Croatian, set 1)", 0, layout_jollycrd ) -GAMEL( 1993, jolyccrb, jollycrd, cuoreuno, jolycdcr, funworld_state, empty_init, ROT0, "Soft Design", "Jolly Card (Croatian, set 2)", 0, layout_jollycrd ) -GAMEL( 1985, sjcd2kx3, jollycrd, fw1stpal, funworld, funworld_state, empty_init, ROT0, "M.P.", "Super Joly 2000 - 3x", 0, layout_jollycrd ) -GAMEL( 1986, jolycdab, jollycrd, fw1stpal, funworld, funworld_state, empty_init, ROT0, "Inter Games", "Jolly Card (German, Fun World, bootleg)", 0, layout_jollycrd ) -GAMEL( 1992, jolycdsp, jollycrd, cuoreuno, jolycdit, funworld_state, init_ctunk, ROT0, "TAB Austria", "Jolly Card (Spanish, blue TAB board, encrypted)", 0, layout_royalcrd ) -GAMEL( 1990, jolycdid, jollycrd, cuoreuno, jolycdcr, funworld_state, empty_init, ROT0, "bootleg", "Jolly Card (Italian, different colors, set 1)", 0, layout_jollycrd ) // italian, CPLD, different colors. -GAMEL( 1990, jolycdie, jollycrd, cuoreuno, jolycdib, funworld_state, empty_init, ROT0, "bootleg", "Jolly Card (Italian, different colors, set 2)", 0, layout_jollycrd ) // not from TAB blue PCB. -GAMEL( 1990, jolycdif, jollycrd, cuoreuno, jolycdib, funworld_state, empty_init, ROT0, "bootleg", "Jolly Card (Italian, bootleg, set 1)", 0, layout_jollycrd ) // italian, CPLD. doesn't need nvram init. -GAMEL( 1993, jolycdig, jollycrd, cuoreuno, jolycdib, funworld_state, init_jolycdig, ROT0, "bootleg", "Jolly Card (Italian, bootleg, set 2)", 0, layout_jollycrd ) // italian, CPLD. needs nvram. -GAMEL( 1990, jolycdih, jollycrd, cuoreuno, jolycdib, funworld_state, empty_init, ROT0, "bootleg", "Jolly Card (Italian, bootleg, set 3)", 0, layout_jollycrd ) - -// Bonus Card based... -GAMEL( 1986, bonuscrd, 0, fw2ndpal, bonuscrd, funworld_state, empty_init, ROT0, "Fun World", "Bonus Card (German)", MACHINE_IMPERFECT_COLORS, layout_bonuscrd ) // use fw1stpal machine for green background -GAMEL( 1986, bonuscrda, bonuscrd, fw2ndpal, bonuscrd, funworld_state, empty_init, ROT0, "Fun World", "Bonus Card (German, ATG Electronic hack)", MACHINE_IMPERFECT_COLORS, layout_bonuscrd ) // use fw1stpal machine for green background -GAMEL( 1986, bigdeal, bonuscrd, fw2ndpal, bigdeal, funworld_state, empty_init, ROT0, "Fun World", "Big Deal (Hungarian, set 1)", MACHINE_IMPERFECT_COLORS, layout_bonuscrd ) -GAMEL( 1986, bigdealb, bonuscrd, fw2ndpal, bigdeal, funworld_state, empty_init, ROT0, "Fun World", "Big Deal (Hungarian, set 2)", MACHINE_IMPERFECT_COLORS, layout_bonuscrd ) - -// CMC Italian jamma PCB's... -GAMEL( 1996, cuoreuno, 0, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Cuore 1 (Italian)", 0, layout_jollycrd ) -GAMEL( 1997, elephfam, 0, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Elephant Family (Italian, new)", 0, layout_jollycrd ) -GAMEL( 1996, elephfmb, elephfam, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Elephant Family (Italian, old)", 0, layout_jollycrd ) -GAMEL( 1996, pool10, 0, cuoreuno, pool10, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 1)", 0, layout_jollycrd ) -GAMEL( 1996, pool10b, pool10, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 2)", 0, layout_jollycrd ) -GAMEL( 1996, pool10c, pool10, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 3)", 0, layout_jollycrd ) -GAMEL( 1997, pool10d, pool10, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 4)", 0, layout_jollycrd ) -GAMEL( 1997, pool10f, pool10, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 5)", 0, layout_jollycrd ) -GAMEL( 1996, pool10g, pool10, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 6)", 0, layout_jollycrd ) -GAMEL( 1996, pool10h, pool10, cuoreuno, pool10, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 7)", 0, layout_jollycrd ) -GAMEL( 1997, pool10i, pool10, cuoreuno, pool10, funworld_state, empty_init, ROT0, "C.M.C.", "Pool 10 (Italian, set 8)", 0, layout_jollycrd ) -GAMEL( 1996, pool10j, pool10, cuoreuno, pool10, funworld_state, empty_init, ROT0, "bootleg (R.B.)", "Pool 10 (Italian, set 9)", 0, layout_jollycrd ) -GAMEL( 1998, biliard, pool10, cuoreuno, pool10, funworld_state, empty_init, ROT0, "bootleg", "New Biliard 98 (Pool 10 hack)", 0, layout_jollycrd ) -GAMEL( 2001, royal, pool10, royalcd1, royal, funworld_state, empty_init, ROT0, "<unknown>", "Royal (Pool 10 hack)", 0, layout_jollycrd ) -GAMEL( 1997, tortufam, 0, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Tortuga Family (Italian)", 0, layout_jollycrd ) -GAMEL( 1996, potgame, 0, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Pot Game (Italian)", 0, layout_jollycrd ) -GAMEL( 1996, bottle10, 0, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Bottle 10 (Italian, set 1)", 0, layout_jollycrd ) -GAMEL( 1996, bottl10b, bottle10, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "C.M.C.", "Bottle 10 (Italian, set 2)", 0, layout_jollycrd ) -GAMEL( 1998, lunapark, 0, lunapark, lunapark, lunapark_state, empty_init, ROT0, "<unknown>", "Luna Park (set 1, dual program)", 0, layout_jollycrd ) // mirrored video RAM (4000/5000 to 6000/7000). -GAMEL( 1998, lunaparkb, lunapark, lunapark, lunapark, lunapark_state, empty_init, ROT0, "<unknown>", "Luna Park (set 2, dual program)", 0, layout_jollycrd ) // mirrored video RAM (4000/5000 to 6000/7000). -GAMEL( 1998, lunaparkc, lunapark, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "<unknown>", "Luna Park (set 3)", 0, layout_jollycrd ) // regular video RAM 6000/7000. -GAMEL( 1998, crystal, 0, cuoreuno, cuoreuno, funworld_state, empty_init, ROT0, "J.C.D. srl", "Crystal Colours (CMC hardware)", 0, layout_jollycrd ) - -// Royal Card based... -GAMEL( 1991, royalcrd, 0, royalcd2, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (German, set 1)", 0, layout_jollycrd ) -GAMEL( 1991, royalcrda, royalcrd, royalcd2, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (German, set 2)", 0, layout_jollycrd ) -GAMEL( 1991, royalcrdb, royalcrd, royalcd1, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (German/Polish, set 3)", 0, layout_jollycrd ) -GAMEL( 1991, royalcrdc, royalcrd, royalcd2, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (German, set 4)", 0, layout_jollycrd ) -GAMEL( 1991, royalcrdd, royalcrd, royalcd1, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (German, set 5)", 0, layout_royalcrd ) -GAMEL( 1991, royalcrde, royalcrd, royalcd1, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (German, set 6)", 0, layout_jollycrd ) -GAMEL( 1991, royalcrdt, royalcrd, royalcd1, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (TAB original)", 0, layout_jollycrd ) -GAMEL( 1990, royalcrdg, royalcrd, royalcd1, royalcrd, funworld_state, empty_init, ROT0, "bootleg", "Royal Card (German, set 7, CMC C1030 HW)", 0, layout_jollycrd ) // big CPLD -GAMEL( 1991, royalcrdh, royalcrd, royalcd2, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (German, set 8)", 0, layout_jollycrd ) -GAMEL( 1991, royalcdfr, royalcrd, royalcd1, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Royal Card (French)", 0, layout_jollycrd ) -GAME( 1993, royalcrdp, royalcrd, cuoreuno, royalcrd, funworld_state, empty_init, ROT0, "Digital Dreams", "Royal Card v2.0 Professional", 0 ) -GAMEL( 199?, royaljp, royalcrd, royalcd1, royaljp, funworld_state, init_tabblue, ROT0, "TAB / Video Klein","Royal Card / Royal Jackpot (with a third draw)(encrypted)", 0, layout_jollycrd ) -GAMEL( 199?, witchryl, 0, witchryl, witchryl, funworld_state, empty_init, ROT0, "Video Klein", "Witch Royal (Export version 2.1)", 0, layout_jollycrd ) - -// Lucky Lady based... -GAMEL( 1991, lluck3x3, royalcrd, cuoreuno, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Lucky Lady (3x3 deal)", 0, layout_jollycrd ) -GAMEL( 1991, lluck4x1, royalcrd, royalcd1, royalcrd, funworld_state, empty_init, ROT0, "TAB Austria", "Lucky Lady (4x1 aces)", 0, layout_jollycrd ) - -// Magic Card 2 based... -GAMEL( 1996, magicrd2, 0, magicrd2, magicrd2, magicrd2_state, empty_init, ROT0, "Impera", "Magic Card II (Bulgarian)", 0, layout_jollycrd ) -GAMEL( 1996, magicrd2a, magicrd2, magicrd2, magicrd2, magicrd2_state, empty_init, ROT0, "Impera", "Magic Card II (Nov, Yugoslavian)", 0, layout_jollycrd ) -GAME( 1996, magicrd2b, magicrd2, magicrd2, magicrd2, magicrd2_state, init_magicd2b, ROT0, "Impera", "Magic Card II (green TAB or Impera board)", 0 ) -GAME( 1996, magicrd2c, magicrd2, magicrd2, magicrd2, magicrd2_state, init_magicd2c, ROT0, "Impera", "Magic Card II (blue TAB board, encrypted)", 0 ) - -// Joker Card based... -GAMEL( 1993, vegasslw, 0, fw2ndpal, vegasslw, funworld_state, empty_init, ROT0, "Fun World", "Royal Vegas Joker Card (slow deal)", 0, layout_jollycrd ) -GAMEL( 1993, vegasfst, vegasslw, fw2ndpal, vegasfst, funworld_state, empty_init, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal)", 0, layout_jollycrd ) -GAMEL( 1993, vegasfte, vegasslw, fw2ndpal, vegasfte, funworld_state, empty_init, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal, English gfx)", 0, layout_jollycrd ) -GAMEL( 1993, vegasmil, vegasslw, fw2ndpal, vegasmil, funworld_state, empty_init, ROT0, "Mile", "Royal Vegas Joker Card (fast deal, Mile)", 0, layout_jollycrd ) - -// Jolly Joker based... -GAMEL( 198?, jolyjokr, 0, fw1stpal, funworld, funworld_state, empty_init, ROT0, "Impera", "Jolly Joker (98bet, set 1)", 0, layout_jollycrd ) -GAMEL( 198?, jolyjokra, jolyjokr, fw1stpal, jolyjokra, funworld_state, empty_init, ROT0, "Impera", "Jolly Joker (98bet, set 2)", 0, layout_jollycrd ) -GAMEL( 198?, jolyjokrb, jolyjokr, fw1stpal, funworld, funworld_state, empty_init, ROT0, "Impera", "Jolly Joker (40bet, Croatian hack)", 0, layout_jollycrd ) -GAMEL( 198?, jolyjokrc, jolyjokr, fw1stpal, funworld, funworld_state, empty_init, ROT0, "Apple Time", "Jolly Joker (Apple Time)", MACHINE_NOT_WORKING, layout_jollycrd ) // bad program ROM... - -// Encrypted games... -GAME( 1992, multiwin, 0, multiwin, funworld, multiwin_state, driver_init, ROT0, "Fun World", "Multi Win (Ver.0167, encrypted)", 0 ) -GAME( 1993, powercrd, 0, powercrd, funworld, powercrd_state, empty_init, ROT0, "Fun World", "Power Card (Ver 0263, encrypted)", 0 ) // clone of Bonus Card. -GAME( 1993, megacard, 0, megacard, funworld, megacard_state, empty_init, ROT0, "Fun World", "Mega Card (Ver.0210, encrypted)", 0 ) -GAME( 1993, jokercrd, 0, jokercrd, funworld, jokercrd_state, empty_init, ROT0, "Amatic Trading", "Joker Card 300 (Ver.A267BC, encrypted)", 0 ) -GAME( 1991, royalcrdf, royalcrd, royalcrdf,royalcrdf, royalcrdf_state,driver_init, ROT0, "Evona Electronic","Royal Card (Evona, Polish, encrypted)", 0 ) -GAME( 198?, saloon, 0, saloon, saloon, funworld_state, init_saloon, ROT0, "<unknown>", "Saloon (French, encrypted)", 0 ) -GAME( 198?, nevadafw, 0, saloon, saloon, funworld_state, init_saloon, ROT0, "<unknown>", "Nevada (French, encrypted)", 0 ) - -// Encrypted TAB blue PCB... -GAMEL( 199?, jolycdit, jollycrd, cuoreuno, jolycdit, funworld_state, init_tabblue, ROT0, "bootleg", "Jolly Card (Italian, blue TAB board, encrypted)", 0, layout_royalcrd ) -GAMEL( 1990, jolycdib, jollycrd, cuoreuno, jolycdib, funworld_state, init_tabblue, ROT0, "bootleg", "Jolly Card (Italian, encrypted bootleg, set 1)", 0, layout_jollycrd ) // not a real TAB blue PCB -GAMEL( 1993, jolycdic, jollycrd, cuoreuno, jolycdic, funworld_state, init_tabblue, ROT0, "bootleg", "Jolly Card (Italian, encrypted bootleg, set 2)", 0, layout_jollycrd ) // not a real TAB blue PCB - -// Dino 4 encrypted hardware... -GAMEL( 1997, pool10e, pool10, cuoreuno, cuoreuno, funworld_state, init_dino4, ROT0, "C.M.C.", "Pool 10 (Italian, Dino 4 hardware, encrypted)", 0, layout_jollycrd ) -GAME( 1998, rcdino4, 0, rcdino4, rcdino4, chinatow_state, init_rcdino4, ROT0, "<unknown>", "Royal Card (Italian, Dino 4 hardware, encrypted)",0 ) -GAMEL( 1998, chinatow, 0, chinatow, chinatow, chinatow_state, init_rcdinch, ROT0, "<unknown>", "China Town (Ver 1B, Dino4 HW)", 0, layout_jollycrd ) - -// MCU based games... -GAME( 199?, mongolnw, 0, royalcd1, royalcrd, funworld_state, init_mongolnw, ROT0, "<unknown>", "Mongolfier New (Italian)", MACHINE_UNEMULATED_PROTECTION ) -GAME( 199?, soccernw, 0, royalcd1, royalcrd, funworld_state, init_soccernw, ROT0, "<unknown>", "Soccer New (Italian)", MACHINE_UNEMULATED_PROTECTION ) - -// Quiz games... -GAME( 199?, funquiz, 0, funquiz, funquiz, funworld_state, empty_init, ROT0, "Fun World", "Fun World Quiz (German)", 0 ) -GAME( 1990, funquiza, 0, funquiz, funquiza, funworld_state, empty_init, ROT0, "Fun World", "Fun World Quiz (German, 12-11-1990)", 0 ) -GAME( 1990, funquizb, 0, funquiz, funquiza, funworld_state, empty_init, ROT0, "Fun World", "Fun World Quiz (German, 27-04-1990)", 0 ) - -// Other games... -GAMEL( 1986, novoplay, 0, fw2ndpal, novoplay, funworld_state, empty_init, ROT0, "Admiral/Novomatic","Novo Play Multi Card / Club Card", 0, layout_novoplay ) -GAME( 1991, intrgmes, 0, intrgmes, intrgmes, intergames_state, empty_init, ROT0, "Inter Games", "Joker Card (Inter Games)", 0 ) -GAMEL( 1985, fw_a7_11, 0, fw_brick_2, fw_brick1, funworld_state, empty_init, ROT0, "Fun World", "unknown Fun World A7-11 game 1", MACHINE_NOT_WORKING, layout_jollycrd ) -GAMEL( 1985, fw_a7_11a, fw_a7_11, fw_brick_2, fw_brick1, funworld_state, empty_init, ROT0, "Fun World", "unknown Fun World A7-11 game 2", MACHINE_NOT_WORKING, layout_jollycrd ) -GAMEL( 1991, fw_a0_1, 0, fw_brick_2, fw_brick1, funworld_state, empty_init, ROT0, "Fun World", "unknown Fun World A0-1 game", MACHINE_NOT_WORKING, layout_jollycrd ) -GAMEL( 1991, jokcrdep, 0, fw_brick_2, fw_brick1, funworld_state, empty_init, ROT0, "Fun World", "Joker Card / Multi Card (Epoxy brick CPU)", MACHINE_NOT_WORKING, layout_jollycrd ) - -// These are 2-in-1 stealth boards, they can run the Poker game, or, using completely separate hardware on the same PCB, a NES / MSX Multigames! -GAMEL( 1991, royalcrd_nes, royalcrd, royalcd2, royalcrd, funworld_state, empty_init, ROT0, "bootleg", "Royal Card (stealth with NES multigame)", MACHINE_NOT_WORKING, layout_jollycrd ) -GAMEL( 1991, royalcrd_msx, royalcrd, royalcd2, royalcrd, funworld_state, empty_init, ROT0, "bootleg", "Royal Card (stealth with MSX multigame)", MACHINE_NOT_WORKING, layout_jollycrd ) |