diff options
Diffstat (limited to 'src/mame/drivers/ampoker2.cpp')
-rw-r--r-- | src/mame/drivers/ampoker2.cpp | 1541 |
1 files changed, 0 insertions, 1541 deletions
diff --git a/src/mame/drivers/ampoker2.cpp b/src/mame/drivers/ampoker2.cpp deleted file mode 100644 index c216303d114..00000000000 --- a/src/mame/drivers/ampoker2.cpp +++ /dev/null @@ -1,1541 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Roberto Fresca, Grull Osgo -/******************************************************************************** - - AMERICAN POKER 2 - ---------------- - - Company: Novomatic. - Year: 1990. - - Driver by Roberto Fresca & Grull Osgo. - - - --- Supported Sets --- - - Set Name | Relation | Description - ---------+----------+------------------------------------ - ampoker2 | parent | American Poker II. - ampkr2b1 | clone | American Poker II (bootleg, set 1). - ampkr2b2 | clone | American Poker II (bootleg, set 2). - ampkr2b3 | clone | American Poker II (bootleg, set 3). - ampkr2b4 | clone | American Poker II (bootleg, set 4). - ampkr228 | clone | American Poker II (iamp2 v28). - pkrdewin | clone | Poker De Win. - ampkr95 | clone | American Poker 95. - videomat | clone | Videomat (polish bootleg). - rabbitpk | clone | Rabbit Poker / Arizona Poker 1.1? (with PIC) - sigmapkr | parent | Sigma Poker. - sigma2k | parent | Sigma Poker 2000. - piccolop | parent | Piccolo Poker 100. - arizna10 | clone | Arizona Poker 1.1? (with PIC) - -********************************************************************************* - - Game Notes... - ------------- - - American Poker II uses a standard deck of 52 cards plus 1 Joker card. - The Joker card substitutes for any card. The player places a bet for - the 1st hand deal and can then choose to buy a 2nd draw. - - The win combination Jacks or Better is only paid if a 2nd draw is bought. - - - Operation... - - To 'init' (boot) the machine: - 1) Turn ON the Operator Key (9). - 2) Keep pressed the DOOR key (W). You are entering the Operator Mode. - 3) Turn OFF the Operator Key (9). - 4) Reset the machine. (you must reset manually the machine due to watchdog issues). - - The set ampkr2b3 has a special init code/key: - - 1) Turn ON the Supervisor Key (0). - 2) Enter the following sequence: HOLD1, HOLD5, HOLD4, HOLD3, HOLD2 and HOLD3. - 3) Wait till the Supervisor Mode appear, and turn OFF the Supervisor Key (0). - 4) Reset the machine. (you must reset manually the machine due to watchdog issues). - - ...The key is produced taking 6 bytes at offset 0x5d40 XORed with their respective pairs - at offset 0x5d50, resulting the sequence of HOLD keys to init the machine. - - - Operator Mode: - Press '9' once to turn ON the Operator Key. You can find the interim meters (Page 1). - Press HOLD3 to clear the meters. Press '9' again to turn OFF the Operator Key. - Reset the machine to enter the Game Mode. - - Supervisor Mode: - Press '0' once to turn ON the Supervisor Key. You can find the permanent meters (Page 1 to 5). - HOLD1, HOLD3 and HOLD5 are the valid keys to navigate through the mode. Press '0' again to turn - OFF the Operator Key. - Reset the machine to enter the Game Mode. - - To access both modes, no credits should be placed in the machine. - - - From Novomatic web site: - - "1990 - American Poker II kommt auf den Markt und wird als - 'The Legend' in die Geschichte des Glücksspiels eingehen." - - "1990 - American Poker II comes on the market and is known as - 'The Legend' in the history of gaming." - - ---- - - Sigma Poker: - This poker game was also sold as "upgrade kit" for American Poker II Taiwanese boards. - The game has a lot of improvements. New graphics, sounds, bonus, and a totally new - 'double-up' feature. Very addictive, in fact. - - Sigma only released 2 games for this hardware: Sigma Poker and Sigma Poker 2000. - Both games need some modifications to the original board to be installed. - The rest of Sigma poker games (2001 onwards) were developed for B-52 mainboards. - (2x 6809; HD63484 video controller). - - - Sigma Poker 2000: - - This game has better graphics and use 4 times more tiles than other games running - on this hardware. To manage this, the game use 2 extra bits from the color RAM. - - To init the game: - - 1) Turn ON the Supervisor Key (0). - 2) Press HOLD5 3 times to enter into page 4 (setup) of the supervisor menu. - 3) Press HOLD3 to navigate between options, and highlight "Clear All Informations" - 4) Keep pressed HOLD1 for more than 3 seconds. - 5) Turn OFF the Supervisor Key (0). - - - Piccolo Poker 100: - - To 'init' (boot) the machine: - 1) Turn ON the Operator Key (9). - 2) Press the DOOR key (O). You are entering the Operator Mode. - 3) Turn OFF the Operator Key (9). - 4) Reset the machine. (sometimes you must reset manually the machine due to watchdog issues). - - If you win some credits, you'll be on troubles due to unemulated hopper. - Just discharge the credits one by one pressing quickly the door switch (O) - If you want to play without the hopper issues, just leave the door open (O). In this mode, - the game is playable but doesn't contabilize in the meters. - - -********************************************************************************* - - *** Technical Notes *** - - - DIP Switches - ------------ - - DIP1 Remote Credits - OFF x100 - ON x50 - - DIP2 Auto Hold - OFF Off - ON On - - DIP3 DIP4 Rate Tables (*) - OFF OFF RATE: 1 2 3 4 5 10 20 30 40 50 - OFF ON RATE: 5 10 15 20 25 30 35 40 50 100 - ON OFF RATE: 5 10 15 20 25 30 35 40 45 50 - ON ON RATE: 10 20 30 40 50 60 70 80 90 100 - - DIP6 Take Winnings (On Double Up) - OFF Take Part (10 Credits steps) - ON Take All - - DIP8 Jackpot - OFF Off - ON On - - (*) Working only in ampkr95. - - - Hardware Notes: - -------------- - - - CPU: 1x Z80 @ 3 MHz. - - Video: TTL Logic Raster - 6 MHz Dot Clock. - - Osc: 6.000 MHz Xtal. - - RAM: 1x 6116 (4Kx8) Static RAM. - - VRAM 2x 2016 (4Kx8) Static RAM. - - I/O: 8x 74LS251; 8x 74LS259 (Multiplex 8 Ports > 1 Bit). - - PRG ROMs: 1x 27C512 (64Kx8) EPROM or similar. - - GFX ROMs: 1x 27C128 (16Kx8) EPROM or similar. - - Color PROM: 1x 82S147AN. - - Sound: 1x AY-3-8910. - - Backup Battery: 1x NI-CD 3.6 Volt. - - DIP Switches: 1x 8 switches. - - Watchdog: 1x TL7705 (Texas Instruments). Refresh: 200 Ms. - - - Taiwanese PCB Layout: - ________________________________________________________________________________ - | | - | ______ _________ _________ ______________ _________ __________ | - | | XTAL | | 74LS04 | | 74LS138 | | | | 74LS163 | |PALCE16V8H| | - | | 6MHz | |_________| |_________| | UM6116-2 | |_________| |__________| | - | |______| _________ _________ |______________| _________ ________ __ | - | | 74LS74A | | DM7407N | _______________ | 74LS163 | | 74LS00 ||74|| - | |_________| |_________| | | |_________| |________||LS|| - | ____________________ _________ | 27C512 | _________ ________ |08|| - || | | MC14020 | |_______________| | 74LS163 | | 74LS157||__|| - || NI-CD 3.6V BATTERY | |_________| |_________| |________| | - ||____________________| __________ _____________ _________ ________ | - |____ | 74LS244 | | 74LS245 | | 74LS163 | | 74LS157| | - | |__________| |_____________| |_________| |________| | - ____| | - |_28_ ______________________ _________ ________ | - |____ | - Z80A - | | 74LS74 | | 74LS157| | - |____ | TMPZ84C00AP-6 | |_________| |________| | - |____ |______________________| __________ __________ | - |____ ___________ ____________ |PALCE16V8H||D4016CX-20| | - |____ | 74LS244N | | 74LS259N | |__________||__________| | - |____ |___________| |____________| ________ __________ | - |____ ___________ __________ | 74LS02 | |D4016CX-20| | - |____ | TD62003AP | | 74LS251P | |________| |__________| | - |____ |___________| |__________| ____________________ | - |____ ___________ __________ |AY-3-8910 / YM2149F | | - |____ | 74LS259N | | 74LS251P | | or KC89C72 | | - |____ |___________| |__________| |____________________| | - |____ ___________ __________ __________ _________ | - |____ | 74LS259N | | 74LS251P | | 82S147AN | | 74LS245 | | - |____ |___________| |__________| |__________| |_________| | - |____ ___________ __________ _________ | - |____ | 74LS259N | | 74LS251P | | 74LS377 | | - |____ |___________| |__________| |_________| | - |____ ___________ __________ _________ | - |____ ________ | TD62003AP | | 74LS251P | | 74LS377 | | - |____ |12345678| |___________| |__________| |_________| | - |____ |________| __________ _________ _________ | - |____ DSW1 | 74LS194 | | 74LS194 | | 74LS245 | | - |____ |__________| |_________| |_________| | - |____ | - |____ ______ ________________ _____________ _________ | - |_01_ |TL7705| |01 oooooooooo 10| | 27C128 | | 74LS377 | | - | |______| |________________| | D27128D | |_________| | - ____| CONNECTOR1 |_____________| | - | | - |________________________________________________________________________________| - - - The main clock (6 MHz.) is generated with a crystal and 74LS04 inverters. This frequency is - used as the pixel clock, then is divided by 2 in a flip-flop (7474) and again to the video - stage like DOT/2 (the video hardware uses a 3 MHz clock synchronous to the pixel clock). - - Once again this 3 MHz clock signal is further divided by 2 through a flip-flop (7474) to get - the 1.5 MHz for the AY8910. - - The 4020 is clocked at 1.5 MHz. The Q10 output (pin 14) is approximately 1464.84 Hz. Using - an oscilloscope, I measured a value of 60 uS = 1538 Hz. We used a NMI period of 1536 Hz due - to a better binary composition (1024+512). - - Inputs/Outputs are driven through 74LS251 and 74LS259 multiplexers. Each one handles 1 bit - from data bus, and there are many devices as addressed ports (8x 74LS251 and 8x 74LS259). - - Input ports are mapped to offsets 0xC410 through 0xC417. Output ports are mapped to 0xC4000 - to 0xC407 and are polled/updated during NMI. - - These 1-bit controls are relative to buttons, keys, lights and counters. Other output ports - like watchdog or PSG (AY8910) are operated directly. - - - Resistor Network - ---------------- - - The following diagram is related to Taiwanese and Argentine PCBs. - - 82S147AN - +---------+ - | | 470 - | O1-Pin06|---/\/\/\----+---> BLUE - | | 220 | - | O2-Pin07|---/\/\/\----+ - | | 1K - | O3-Pin08|---/\/\/\----+---> GREEN - | | 470 | - | O4-Pin09|---/\/\/\----+ - | | 220 | - | O5-Pin11|---/\/\/\----+ - | | 1K - | O6-Pin12|---/\/\/\----+---> RED - | | 470 | - | O7-Pin13|---/\/\/\----+ - | | 220 | - | O8-Pin14|---/\/\/\----+ - | | - +---------+ - - All colors are directly routed to the edge connector. - There are not pull-up or pull-down resistors. - - -********************************************************************************* - - --- DRIVER UPDATES --- - - - [2018-12-02] - - - Fixed the NVRAM size to 0x800. - - - [2018-11-10] - - Piccolo Poker 100 from Admiral/Novomatic. - - Protection understood, documented, and completelly simulated. - - Removed the ugly patch/hack in the driver_init that formerly allows to boot. - - Some clean-ups... - - Added technical notes. - - - (2010-10 till 2018-10: untracked changes) - - - [2010-09-28] - - Piccolo Poker 100 from Admiral/Novomatic. - - Added a workaround to get the game booting. - - Created inputs from the scratch. - - Promoted to 'working'. - - Added technical and game notes. - - - [2009-08-17] - - - Added Rabbit Poker / Arizona Poker? set (with GAL22V10 and PIC16F84A). - - Added proper decryption algorithms. - - Updated technical notes. - - - [2008-10-07] - - Improved the button-lamps layout to all games. Now are more realistic. - - - [2008-06-09] - - Added Videomat (polish bootleg). - - - [2008-06-02] - - - Reworked the input system for Sigma Poker 2000. - - Promoted Sigma Poker 2000 to 'WORKING' state. - - Updated technical notes. - - - [2008-05-23] - - - Reworked the color routines switching to resnet system. - - Added a resistor network diagram. - - Switch to pre-defined crystal value. - - Changed the WATCHDOG_TIME_INIT to be based on milliseconds instead of hertz. - - Other minor cleanup/fixes. - - Updated technical notes. - - - [2007-11-15] - - ******** REWRITE ******** - - - Crystal documented via #define. - - CPU and sound clocks derived from #defined crystal value. - - Reworked TILE_GET_INFO to handle the proper tiles/color codes. - - Added the correct GFX dump to sigma2k. - - Added proper TILE_GET_INFO, VIDEO_START, GFX_LAYOUT, GFXDECODE and MACHINE to sigma2k. - - Fixed interrupts (NMI). - - Corrected AY8910 frequency to 1.5 MHz to match the real thing. - - Arranged the AY8910 volume in all games avoiding clips. - - Corrected the screen visible area. - - Added NVRAM support. - - Reworked the memory map, mapping all the hardware I/O ports. - - Reworked the Inputs for all sets. - - Added implementation of Operator and Supervisor Keys. - - Fixed some timing troubles. - - Mapped the input buttons in the same way I mapped them in other poker games. - - Added partial DIP switch support with diplocations to all sets. - - - Removed the hack in DRIVER_INIT. - - Hooked write handlers for output ports. - - Added watchdog routines. - - Dumped, hooked, wired and decoded the color PROM in all sets. Colors are perfect. - - Modified the refresh rate to 60 fps according to hardware measurements. - - Cleaned up and renamed all sets, defining parent-clone relationship. - - Wired the lamps for all sets. Created their respective layouts. - - Updated flags in game drivers. - - Splitted the driver to driver/video. - - Other minor fixes. - - - New set dumped/added: American Poker 95. - - New set dumped/added: American Poker 2 (bootleg, set 1). - - New set dumped/added: Sigma Poker. - - New set dumped/added: Sigma Poker 2000. - - - Rewritten the technical notes from the scratch (still in progress). - - Added a PCB layout to the technical notes. - - - - *** TODO *** - - - Find why the watchdog sometimes stop to work. - - Analyze the write to port 0x21 after reset. - - Proper lamps for Piccolo Poker. - - Hopper emulation. - - -*********************************************************************************/ - -#include "emu.h" -#include "includes/ampoker2.h" - -#include "cpu/z80/z80.h" -#include "machine/nvram.h" -#include "sound/ay8910.h" -#include "screen.h" -#include "speaker.h" - -#include "ampoker2.lh" -#include "sigmapkr.lh" - - -#define MASTER_CLOCK XTAL(6'000'000) - - -void ampoker2_state::machine_start() -{ - m_lamps.resolve(); -} - -/********************** -* Read/Write Handlers * -* - Output Ports - * -*********************** - - - There are only five bits wired for each Port - - PORT ADDRESS BIT0 BIT1 BIT2 BIT3 BIT4 - ------------------------------------------------------------------- - - 0x30 - 0xc000 ---- ---- ---- ---- ---- - 0x31 - 0xc001 ---- L.Bet/Red L.Hold4 L.Hold2 Twr.Yell - 0x32 - 0xc002 ---- ---- ---- L.Hold3 ---- - 0x33 - 0xc003 ---- ---- ---- ---- ---- - 0x34 - 0xc004 ---- ---- ---- ---- L.Black - 0x35 - 0xc005 ---- ---- ---- ---- ---- - 0x36 - 0xc006 Twr.Grn. L.Hold5 L.Deal L.Hold1 ---- - 0x37 - 0xc007 ---- ---- ---- WatchDog ---- - - - --- Lamps wiring (done) --- - - L0 = DEAL / TAKE - L1 = RED / BET - L2 = BLACK - L3 = HOLD 1 - L4 = HOLD 2 - L5 = HOLD 3 - L6 = HOLD 4 - L7 = HOLD 5 - L8 = TOWER YELLOW (not in lay) - L9 = TOWER GREEN (not in lay) - - - --- Counters wiring --- - - C0 = METER 1 - REMOTE IN - C1 = METER 2 - TOTAL OUT - C2 = METER 3 - TOTAL IN - C3 = METER 4 - BILLS - C4 = METER 5 - JACKPOT - C5 = METER 6 - CASH BOX - C6 = METER 7 - GAMES - C7 = METER 8 - ? - - - --- Devices wiring --- - - D0 = Enable Coin to Hopper / Diverter - D1 = Enable Coin 1 / Acceptor - D2 = Enable Coin 2 - D3 = Enable Coin 3 - D4 = Enable Coin 4 / Bill Reader - D5 = Hopper 1 Enable - D6 = Hopper 2 Enable (Optional) - D7 = Hopper 1 2 Enable - - - --- Unused wiring --- - - U0 = Pin 15A (ULN2064) - U1 = Pin 17C (ULN2064) - U2 = Pin 19A (ULN2064) - U3 = Pin 6C (ULN2064) - U4 = Pin 13C - U5 = Pin 14A - -*/ - -WRITE8_MEMBER(ampoker2_state::port30_w) -/*------------------------------------------------- - PORT_30 C000H ;OUTPUT PORT 30H ---------------------------------------------------- - BIT 0 = - BIT 1 = - BIT 2 = - BIT 3 = - BIT 4 = ---------------------------------------------------*/ -{ -} - - -WRITE8_MEMBER(ampoker2_state::port31_w) -/*------------------------------------------------- - PORT_31 C001H ;OUTPUT PORT 31H ---------------------------------------------------- - BIT 0 = - BIT 1 = LAMP_1 ;Lamp 1 (RED) - BIT 2 = LAMP_6 ;Lamp 6 (HOLD4) - BIT 3 = LAMP_4 ;Lamp 4 (HOLD2) - BIT 4 = TWL_YELL ;Tower Light YELLOW ---------------------------------------------------*/ -{ - m_lamps[1] = BIT(data, 1); // BET/RED - m_lamps[6] = BIT(data, 2); // HOLD 4 - m_lamps[4] = BIT(data, 3); // HOLD 2 - m_lamps[8] = BIT(data, 4); // TWR.YELLOW -} - - -WRITE8_MEMBER(ampoker2_state::port32_w) -/*------------------------------------------------- - PORT_32 C002H ;OUTPUT PORT 32H ---------------------------------------------------- - BIT 0 = - BIT 1 = - BIT 2 = - BIT 3 = LAMP_5 ;Lamp 5 (HOLD3) - BIT 4 = ---------------------------------------------------*/ -{ - m_lamps[5] = BIT(data, 3); // HOLD3 -} - - -WRITE8_MEMBER(ampoker2_state::port33_w) -/*------------------------------------------------- - PORT_33 C003H ;OUTPUT PORT 33H ---------------------------------------------------- - BIT 0 = - BIT 1 = - BIT 2 = - BIT 3 = - BIT 4 = ---------------------------------------------------*/ -{ -} - - -WRITE8_MEMBER(ampoker2_state::port34_w) -/*------------------------------------------------- - PORT_34 C004H ;OUTPUT PORT 34H ---------------------------------------------------- - BIT 0 = - BIT 1 = - BIT 2 = - BIT 3 = - BIT 4 = LAMP_2 ;Lamp 3 (BLACK) ---------------------------------------------------*/ -{ - m_lamps[2] = BIT(data, 4); // BLACK -} - - -WRITE8_MEMBER(ampoker2_state::port35_w) -/*------------------------------------------------- - PORT_35 C005H ;OUTPUT PORT 35H ---------------------------------------------------- - BIT 0 = - BIT 1 = - BIT 2 = - BIT 3 = - BIT 4 = ---------------------------------------------------*/ -{ -} - - -WRITE8_MEMBER(ampoker2_state::port36_w) -/*------------------------------------------------- - PORT_36 C006H ;OUTPUT PORT 36H ---------------------------------------------------- - BIT 0 = TWL_GREEN ;Tower Light GREEN - BIT 1 = - BIT 2 = LAMP_9 ;Lamp 9 (HOLD5) - BIT 3 = LAMP_0 ;Lamp 0 (DEAL) - BIT 4 = LAMP_3 ;Lamp 3 (HOLD1) ---------------------------------------------------*/ -{ - m_lamps[9] = BIT(data, 0); // TWR.GREEN - m_lamps[7] = BIT(data, 2); // HOLD 5 - m_lamps[0] = BIT(data, 3); // DEAL - m_lamps[3] = BIT(data, 4); // HOLD 1 -} - - -WRITE8_MEMBER(ampoker2_state::watchdog_reset_w) -/*------------------------------------------------- - PORT_37 C007H ;OUTPUT PORT 37H ---------------------------------------------------- - BIT 3 = W_DOG ;WATCHDOG. ---------------------------------------------------*/ -{ - /* watchdog sometimes stop to work */ - - if (((data >> 3) & 0x01) == 0) /* check for refresh value (0x08) */ - { - m_watchdog->watchdog_reset(); -// popmessage("%02x", data); - } - else - { -// popmessage("%02x", data); - } -} - - -/************************* -* Memory map information * -*************************/ - -void ampoker2_state::program_map(address_map &map) -{ - map(0x0000, 0xbfff).rom(); - map(0xc000, 0xc7ff).ram().share("nvram"); - map(0xe000, 0xefff).ram().w(FUNC(ampoker2_state::videoram_w)).share("videoram"); -} - -void ampoker2_state::io_map(address_map &map) -{ - map.global_mask(0xff); - map(0x08, 0x0f).nopw(); /* inexistent in the real hardware */ - map(0x10, 0x10).portr("IN0"); - map(0x11, 0x11).portr("IN1"); - map(0x12, 0x12).portr("IN2"); - map(0x13, 0x13).portr("IN3"); - map(0x14, 0x14).portr("IN4"); - map(0x15, 0x15).portr("IN5"); - map(0x16, 0x16).portr("IN6"); - map(0x17, 0x17).portr("IN7"); -// map(0x21, 0x21).nopw(); /* undocumented, write 0x1a after each reset */ - map(0x30, 0x30).w(FUNC(ampoker2_state::port30_w)); /* see write handlers */ - map(0x31, 0x31).w(FUNC(ampoker2_state::port31_w)); /* see write handlers */ - map(0x32, 0x32).w(FUNC(ampoker2_state::port32_w)); /* see write handlers */ - map(0x33, 0x33).w(FUNC(ampoker2_state::port33_w)); /* see write handlers */ - map(0x34, 0x34).w(FUNC(ampoker2_state::port34_w)); /* see write handlers */ - map(0x35, 0x35).w(FUNC(ampoker2_state::port35_w)); /* see write handlers */ - map(0x36, 0x36).w(FUNC(ampoker2_state::port36_w)); /* see write handlers */ - map(0x37, 0x37).w(FUNC(ampoker2_state::watchdog_reset_w)); - map(0x38, 0x39).w("aysnd", FUNC(ay8910_device::address_data_w)); - map(0x3A, 0x3A).r("aysnd", FUNC(ay8910_device::data_r)); -} - -/* - - Rabbit Poker writes... - - 12dc W \ Writing to the PIC?... The program doesn't seems to poll it. - 12dd W / - - Something is going wrong here. 12xx is ROM space. Put a BP on 12e5 and - you can see the NVRAM checking routine (NVRAM = c000-cfff) - -'maincpu' (000012E5): unmapped program memory byte write to 000012DC = E5 -'maincpu' (000012E5): unmapped program memory byte write to 000012DD = 12 -'maincpu' (000012F0): unmapped program memory byte write to 000012DC = F0 -'maincpu' (000012F0): unmapped program memory byte write to 000012DD = 12 -'maincpu' (000012F0): unmapped program memory byte write to 000012DC = F0 -'maincpu' (000012F0): unmapped program memory byte write to 000012DD = 12 -'maincpu' (000012F0): unmapped program memory byte write to 000012DC = F0 -'maincpu' (000012F0): unmapped program memory byte write to 000012DD = 12 -'maincpu' (000012F0): unmapped program memory byte write to 000012DC = F0 -'maincpu' (000012F0): unmapped program memory byte write to 000012DD = 12 -'maincpu' (000012F0): unmapped program memory byte write to 000012DC = F0 -'maincpu' (000012F0): unmapped program memory byte write to 000012DD = 12 -'maincpu' (000012F0): unmapped program memory byte write to 000012DC = F0 -'maincpu' (000012F0): unmapped program memory byte write to 000012DD = 12 -'maincpu' (000012F2): unmapped program memory byte write to 000012DC = F2 -'maincpu' (000012F2): unmapped program memory byte write to 000012DD = 12 - -*/ - -/************************* -* Input ports * -*************************/ - -static INPUT_PORTS_START( ampoker2 ) - PORT_START("IN0") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper 1") PORT_CODE(KEYCODE_Y) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) - - PORT_START("IN1") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Operator Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, "Remote Mode" ) - PORT_DIPSETTING( 0x08, "Mode 1" ) - PORT_DIPSETTING( 0x00, "Mode 2" ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) - - PORT_START("IN2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RTS") PORT_CODE(KEYCODE_U) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Switch") - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) - - PORT_START("IN3") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Out") PORT_CODE(KEYCODE_G) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Supervisor Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, "Remote Credits" ) PORT_DIPLOCATION("SW1:1") /* DSW1 */ - PORT_DIPSETTING( 0x08, "Cred x 100" ) PORT_CONDITION("IN1", 0x08, EQUALS,0x08) - PORT_DIPSETTING( 0x00, "Cred x 50" ) PORT_CONDITION("IN1", 0x08, EQUALS,0x08) - PORT_DIPSETTING( 0x08, "Cred x 20" ) PORT_CONDITION("IN1", 0x08, EQUALS,0x00) /* x100 in ampkr95 */ - PORT_DIPSETTING( 0x00, "Remote Off" ) PORT_CONDITION("IN1", 0x08, EQUALS,0x00) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Black Card") - - PORT_START("IN4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* not used */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Low") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) - PORT_DIPNAME( 0x08, 0x08, "Auto Hold" ) PORT_DIPLOCATION("SW1:2") /* DSW2 */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take") - - PORT_START("IN5") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Return Line") PORT_CODE(KEYCODE_J) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("TILT") - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) - - PORT_START("IN6") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Red Card / Bet") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) - - PORT_START("IN7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_VBLANK("screen") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credit") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) - PORT_DIPNAME( 0x08, 0x08, "Jackpot" ) PORT_DIPLOCATION("SW1:8") /* DSW8 */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_4) -INPUT_PORTS_END - -static INPUT_PORTS_START( ampkr95 ) - PORT_START("IN0") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper 1") PORT_CODE(KEYCODE_Y) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) - - PORT_START("IN1") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Operator Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, "Remote Mode" ) - PORT_DIPSETTING( 0x08, "Mode 1" ) - PORT_DIPSETTING( 0x00, "Mode 2" ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) - - PORT_START("IN2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RTS") PORT_CODE(KEYCODE_U) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Switch") - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Payout") - - PORT_START("IN3") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Out") PORT_CODE(KEYCODE_G) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Supervisor Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, "Remote Credits" ) PORT_DIPLOCATION("SW1:1") /* DSW1 */ - PORT_DIPSETTING( 0x08, "Cred x 100" ) PORT_CONDITION("IN1",0x08,EQUALS,0x08) - PORT_DIPSETTING( 0x00, "Cred x 50" ) PORT_CONDITION("IN1",0x08,EQUALS,0x08) - PORT_DIPSETTING( 0x08, "Cred x 100" ) PORT_CONDITION("IN1",0x08,EQUALS,0x00) /* x100 in ampkr95 */ - PORT_DIPSETTING( 0x00, "Remote Off" ) PORT_CONDITION("IN1",0x08,EQUALS,0x00) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Black Card") - - PORT_START("IN4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* not used */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Low") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) - PORT_DIPNAME( 0x08, 0x08, "Auto Hold" ) PORT_DIPLOCATION("SW1:2") /* DSW2 */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take") - - PORT_START("IN5") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Return Line") PORT_CODE(KEYCODE_J) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("TILT") - PORT_DIPNAME( 0x08, 0x08, "Rate Table SW1" ) PORT_DIPLOCATION("SW1:3") /* DSW3 (should be arranged with DSW4) */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) - - PORT_START("IN6") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Bet / Red") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) - PORT_DIPNAME( 0x08, 0x08, "Rate Table SW2" ) PORT_DIPLOCATION("SW1:4") /* DSW4 (should be arranged with DSW3) */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) - - PORT_START("IN7") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not used */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credit") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) - PORT_DIPNAME( 0x08, 0x08, "Jackpot" ) PORT_DIPLOCATION("SW1:8") /* DSW8 */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_4) -INPUT_PORTS_END - -static INPUT_PORTS_START( sigmapkr ) - PORT_START("IN0") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper 1") PORT_CODE(KEYCODE_Y) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) - - PORT_START("IN1") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Operator Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, "Remote Mode" ) - PORT_DIPSETTING( 0x08, "Mode 1" ) - PORT_DIPSETTING( 0x00, "Mode 2" ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) - - PORT_START("IN2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("RTS") PORT_CODE(KEYCODE_U) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Switch") - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Payout") - - PORT_START("IN3") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Out") PORT_CODE(KEYCODE_G) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Supervisor Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, "Remote Credits" ) PORT_DIPLOCATION("SW1:1") /* DSW1 */ - PORT_DIPSETTING( 0x08, "Cred x 100" ) PORT_CONDITION("IN1",0x08,EQUALS,0x08) - PORT_DIPSETTING( 0x00, "Cred x 50" ) PORT_CONDITION("IN1",0x08,EQUALS,0x08) - PORT_DIPSETTING( 0x08, "Cred x 100" ) PORT_CONDITION("IN1",0x08,EQUALS,0x00) /* x100 in ampkr95 */ - PORT_DIPSETTING( 0x00, "Remote Off" ) PORT_CONDITION("IN1",0x08,EQUALS,0x00) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double") - - PORT_START("IN4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* not used */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Low") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) - PORT_DIPNAME( 0x08, 0x08, "Auto Hold" ) PORT_DIPLOCATION("SW1:2") /* DSW2 */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take") - - PORT_START("IN5") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Return Line") PORT_CODE(KEYCODE_J) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("TILT") - PORT_DIPNAME( 0x08, 0x08, "Rate Table SW1" ) PORT_DIPLOCATION("SW1:3") /* DSW3 (should be arranged with DSW4) */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) - - PORT_START("IN6") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) - PORT_DIPNAME( 0x08, 0x08, "Rate Table SW2" ) PORT_DIPLOCATION("SW1:4") /* DSW4 (should be arranged with DSW3) */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) - - PORT_START("IN7") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not used */ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credit") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) - PORT_DIPNAME( 0x08, 0x08, "Jackpot" ) PORT_DIPLOCATION("SW1:8") /* DSW8 */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_4) -INPUT_PORTS_END - -static INPUT_PORTS_START( sigma2k ) - PORT_START("IN0") - 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_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Operator Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) - - 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_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("IN3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Supervisor Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_HALF ) PORT_NAME("Half Gamble") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("IN4") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("IN5") - 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_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("IN6") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("IN7") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Credits In") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Clear Credits") PORT_CODE(KEYCODE_4) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) -INPUT_PORTS_END - -static INPUT_PORTS_START( piccolop ) - PORT_START("IN0") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN0-2") PORT_CODE(KEYCODE_1_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) - - PORT_START("IN1") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal/Take") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Operator Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN1-5") PORT_CODE(KEYCODE_2_PAD) - - PORT_START("IN2") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN2-2") PORT_CODE(KEYCODE_3_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Door Switch") - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) - - PORT_START("IN3") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Out") PORT_CODE(KEYCODE_G) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Supervisor Key") PORT_TOGGLE - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) - - PORT_START("IN4") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Low") PORT_CODE(KEYCODE_H) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Red") - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) - - PORT_START("IN5") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Return Line") PORT_CODE(KEYCODE_J) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("TILT") - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Black") - - PORT_START("IN6") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN6-2") PORT_CODE(KEYCODE_4_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN6-3") PORT_CODE(KEYCODE_5_PAD) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) // protection... fixed low by hardware to be always active. - - PORT_START("IN7") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN) // lack of v-sync if low - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN7-2") PORT_CODE(KEYCODE_6_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("IN7-3") PORT_CODE(KEYCODE_7_PAD) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Coin Refill") PORT_CODE(KEYCODE_R) -INPUT_PORTS_END - - -/************************* -* Graphics Layouts * -*************************/ - -static const gfx_layout charlayout = -{ - 8, 8, - 1024, - 2, - { 0, 4 }, - { 0, 1, 2, 3, 8, 9, 10, 11 }, - { 0*8, 2*8, 4*8, 6*8, 8*8, 10*8, 12*8, 14*8 }, - 16*8 -}; - -static const gfx_layout s2k_charlayout = -{ - 8, 8, - 4096, - 2, - { 0, 4 }, - { 0, 1, 2, 3, 8, 9, 10, 11 }, - { 0*8, 2*8, 4*8, 6*8, 8*8, 10*8, 12*8, 14*8 }, - 16*8 -}; - - -/****************************** -* Graphics Decode Information * -******************************/ - -static GFXDECODE_START( gfx_ampoker2 ) - GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 128 ) -GFXDECODE_END - -static GFXDECODE_START( gfx_sigma2k ) - GFXDECODE_ENTRY( "gfx1", 0x0000, s2k_charlayout, 0, 128 ) -GFXDECODE_END - -/************************* -* Machine Driver * -*************************/ - -void ampoker2_state::ampoker2(machine_config &config) -{ - /* basic machine hardware */ - Z80(config, m_maincpu, MASTER_CLOCK/2); /* 3 MHz */ - m_maincpu->set_addrmap(AS_PROGRAM, &oker2_state::program_map); - m_maincpu->set_addrmap(AS_IO, &oker2_state::io_map); - m_maincpu->set_periodic_int(FUNC(ampoker2_state::nmi_line_pulse), attotime::from_hz(1536)); - - WATCHDOG_TIMER(config, m_watchdog).set_time(attotime::from_msec(200)); /* 200 ms, measured */ - - NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - - /* video hardware */ - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); - screen.set_refresh_hz(60); - /* if VBLANK is used, the watchdog timer stop to work. - screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); - */ - screen.set_size(64*8, 32*8); - screen.set_visarea(20*8, 56*8-1, 2*8, 32*8-1); - screen.set_screen_update(FUNC(ampoker2_state::screen_update)); - screen.set_palette("palette"); - - GFXDECODE(config, m_gfxdecode, "palette", gfx_ampoker2); - PALETTE(config, "palette", FUNC(ampoker2_state::ampoker2_palette), 512); - - /* sound hardware */ - SPEAKER(config, "mono").front_center(); - AY8910(config, "aysnd", MASTER_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 0.30); /* 1.5 MHz, measured */ -} - -void ampoker2_state::sigma2k(machine_config &config) -{ - ampoker2(config); - - /* video hardware */ - m_gfxdecode->set_info(gfx_sigma2k); - MCFG_VIDEO_START_OVERRIDE(ampoker2_state, sigma2k) -} - - -/************************* -* Rom Load * -*************************/ - -ROM_START( ampoker2 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "poker9.003", 0x4000, 0x8000, CRC(a31221fc) SHA1(4a8bdd8ce8d5bff7e7cfc4ae91e27c1d366dc54d) ) - ROM_COPY( "maincpu", 0x8000, 0x0000, 0x4000 ) /* poker9.003 contains the 16K halves swapped around */ - ROM_LOAD( "poker9.002", 0x8000, 0x4000, CRC(bfde5bce) SHA1(c7c7ca2268694015e8ec673e8fa5c48043086d3f) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "poker9.028", 0x0000, 0x4000, CRC(65bccb40) SHA1(75f154a2aaf9f9be62e0e1dd8cbe630b9ea0145c) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -ROM_START( ampkr2b1 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "airl-v00.512", 0x0000, 0x10000, CRC(e5953bf4) SHA1(291367431e3b21b57704228c63e4da853e6d25b7) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "ampoker.u47", 0x0000, 0x4000, CRC(cefed6c7) SHA1(79591339eab2712b432dfe89929dbc97000a13d2) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -ROM_START( ampkr2b2 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rom9.u6", 0x0000, 0x10000, CRC(820a491d) SHA1(36654aacac010e7c086dd18d4e0ca5d959b9044f) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "rom0.u47", 0x0000, 0x4000, CRC(cefed6c7) SHA1(79591339eab2712b432dfe89929dbc97000a13d2) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -ROM_START( ampkr2b3 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ampoker.u6", 0x0000, 0x10000, CRC(d7b055bd) SHA1(f5231d2ec80f740eabedaba07547ccbb977accc1) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "ampoker.u47", 0x0000, 0x4000, CRC(cefed6c7) SHA1(79591339eab2712b432dfe89929dbc97000a13d2) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -ROM_START( ampkr2b4 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "9.bin", 0x0000, 0x10000, CRC(657fa846) SHA1(1ef8fea81627b86aab6f682919d7432c57816e5f) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "ampoker.u47", 0x0000, 0x4000, CRC(cefed6c7) SHA1(79591339eab2712b432dfe89929dbc97000a13d2) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -ROM_START( ampkr95 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "amp95rus.u6", 0x0000, 0x10000, CRC(6ec74b2b) SHA1(2dca05bc111071f1407dd524b67b5a3dc5848c70) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "ampoker.u47", 0x0000, 0x4000, CRC(cefed6c7) SHA1(79591339eab2712b432dfe89929dbc97000a13d2) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -/* - iamp2 v28 - -- Taiwanese board. -- Original Novomatic program?? -- Gfx set seems from a bootleg... -- No scroll in the attract. -- Analysis page in operator/supervisor mode. -- Min-Max bet, and a kind of 3-strings password given in supervisor mode. - -*/ -ROM_START( ampkr228 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "9.u6", 0x0000, 0x10000, CRC(747316cf) SHA1(7c2bb7a1a28e421a27f743eefe3c8878967ce4a9) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "0.u47", 0x0000, 0x4000, CRC(cefed6c7) SHA1(79591339eab2712b432dfe89929dbc97000a13d2) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) - - ROM_REGION( 0x400, "plds", 0 ) - ROM_LOAD( "gal16v8a_bad.u41", 0x0000, 0x0117, CRC(a26ba7e6) SHA1(fd22ccb1ff3bf6956f300668ecd8cfe699182b39) ) - ROM_LOAD( "gal16v8b.u8", 0x0200, 0x0117, CRC(7edb3276) SHA1(1302aec1d9703e6ce9da77fc7a0613e7eff1ccb5) ) -ROM_END - -ROM_START( pkrdewin ) - ROM_REGION( 0x14000, "maincpu", 0 ) - ROM_LOAD( "poker7.001", 0x4000, 0x10000, CRC(eca16b9e) SHA1(5063d733721457ab3b08caafbe8d33b2cbe4f88b) ) - ROM_COPY( "maincpu", 0x8000, 0x0000, 0x4000 ) /* poker7.001 contains the 1st and 2nd 16K quarters swapped */ - ROM_COPY( "maincpu", 0x10000, 0x8000, 0x4000 ) /* poker7.001 contains the 1st and 2nd 16K quarters swapped */ - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "poker7.002", 0x0000, 0x4000, CRC(65bccb40) SHA1(75f154a2aaf9f9be62e0e1dd8cbe630b9ea0145c) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -ROM_START( videomat ) /* polish bootleg */ - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "rom.bin", 0x0000, 0x10000, CRC(910cd941) SHA1(350ca70370c5082901343d0c0c1424729d77b006) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "rom0.u47", 0x0000, 0x4000, CRC(cefed6c7) SHA1(79591339eab2712b432dfe89929dbc97000a13d2) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - - -/* - - Piccolo Poker (Admiral, licensed by Novomatic). - Seems a interesting American Poker II variant. - - Roms have swapped halves. Rechecked on PCB. - - The protection is based on a stuck bit at RAM offset $C416. - $C416 is the RAM image of input port 16h. Seems that bit6 is - fixed active by hardware and is checked by the program when - the game initializes and when the operator & supervisor keys - are active. - - The contents of this RAM offset is AND'ed with 0xE0 to clear - the previous values, and then compared with 0x40 to check if - this input line (inexistent in other hardware) is active. - - 1382: 41 ld b,c - 1383: 80 add a,b - 1384: 00 nop ------\ - 1385: 00 nop | Obvious patch... - 1386: 00 nop | Dunno what was there originally. - 1387: 00 nop ------/ - 1388: 3E 08 ld a,$08 - 138A: D3 37 out ($37),a ; Sets bit3 to keep happy the watchdog reset. - 138C: 32 01 C0 ld ($C001),a - 138F: 18 FE jr $138F ; INFINITE LOOP ---> THE TRAP. - - 1541: 21 16 C4 ld hl,$C416 ; Load $C416 into HL... - 1544: CB 4E bit 1,(hl) - 1546: 7E ld a,(hl) ; Load the $C416 contents... - 1547: E6 E0 and $E0 ; AND $E0 (clear the five inputs) - 1549: FE 40 cp $40 ; Compare with $40. Is the bit6 active? - 154B: C2 88 13 jp nz,$1388 ; Not?... Jumps to the TRAP. The game freezes. - - 154E: FD 21 AA C0 ld iy,$C0AA ; Else continue... - 1552: 11 16 C5 ld de,$C516 - 1555: 21 88 57 ld hl,$5788 - 1558: 06 08 ld b,$08 - 155A: 1A ld a,(de) - 155B: BE cp (hl) - 155C: C2 13 2A jp nz,$2A13 - -*/ - -ROM_START( piccolop ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "v4.1.bin", 0x4000, 0x4000, CRC(ae092c43) SHA1(191e233310d59d3b4eb71c7081799835efcae069) ) - ROM_CONTINUE( 0x0000, 0x4000) - ROM_LOAD( "v4.2.bin", 0xc000, 0x4000, CRC(69fb6fd5) SHA1(e95c2793aaa11b9501ca544dd0a045e8e7bc52bf) ) - ROM_CONTINUE( 0x8000, 0x4000) - - ROM_REGION( 0x8000, "gfx1", 0 ) - ROM_LOAD( "zei_8.11.bin", 0x4000, 0x4000, CRC(1b003672) SHA1(e58bd58023f332c30851204491b7e0bd7c5d9631) ) - ROM_CONTINUE( 0x0000, 0x4000) - - ROM_REGION( 0x200, "proms", 0 ) /* not dumped. using the ampoker2 one instead */ - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - - -/* - Rabbit Poker, or Arizona Poker 1.1 ?? - - American Poker 2 board - program rom on small daughter board - with GAL22V10 and PIC16F84A - prom not dumped - -*/ - -ROM_START( rabbitpk ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "poldi_ren.u6", 0x0000, 0x10000, CRC(ef0d5b47) SHA1(5d209c803ab8ced08953d24202a364ce1aa677c2) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "poldi_graf.u47", 0x0000, 0x4000, CRC(f1807f39) SHA1(631645272c7508104749e0ff1357bd74098851d5) ) - - ROM_REGION( 0x200, "proms", 0 ) /* not dumped. using the ampoker2 one instead */ - ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) ) -ROM_END - -/* -Arizona 10. This one has way more Italian text than rabbitpk. Also has Arizona in the graphics ROM, instead of Rabbit. - -PCB is marked: "029 lc" on component side ("LC" is the Italian for "Lato Componenti" which translates to "Components Side") -PCB is marked: "029 ls" and "PKR 92" on solder side ("LS" is the Italian for "Lato Saldature" which translates to "Solders Side") -PCB is labeled: "8/98rb013" on component side - -Devices -1x TMPZ84C00AP-6 u1 8-bit Microprocessor - main -1x KC89C72 u11 Programmable Sound Generator - sound -1x PIC16F84-04/P on small piggyback at u6 8bit CMOS Microcontroller (internal ROM not dumped) -1x TDA2003 u16 Audio Amplifier - sound -1x oscillator 6.000MHz oz1 - -ROMs -1x NM27C256 2 dumped -1x M27C512 1 dumped -1x AM27S29APC u48 dumped - -RAMs -1x MB8416A-15L u39,u40 -1x LC3517B-15 u7 - -PLDs -2x PALCE16V8H-25-PC/4 u8,u41 read protected -1x GAL22V10D-25LP on small piggyback at u6 read protected - -Others -1x 28x2 JAMMA edge connector -1x 10 legs connector (CN1) -1x trimmer (volume)(P1) -1x 8 DIP switches bank (DIP) -1x battery 3.6V (BAT1) -*/ - -ROM_START( arizna10 ) - ROM_REGION( 0x10000, "maincpu", 0 ) // on small piggyback at u6 - ROM_LOAD( "1.u6", 0x0000, 0x10000, CRC(f34efd2b) SHA1(2d42aaf5980c5ca3687b37f7c8411482eaf4751d) ) - - ROM_REGION( 0x8000, "gfx1", 0 ) - ROM_LOAD( "2.u47", 0x0000, 0x8000, CRC(eb71182a) SHA1(e138a6fdf9f11df5bd992f3ecf0e8c52abde4106) ) // 1ST AND 2ND HALF IDENTICAL - - ROM_REGION( 0x880, "pic", 0 ) // on small piggyback at u6 - ROM_LOAD( "pic16f84_code.u6", 0x000, 0x800, NO_DUMP ) - ROM_LOAD( "pic16f84_data.u6", 0x800, 0x080, NO_DUMP ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "am27s29apc.u48", 0x0000, 0x0200, CRC(c4b59342) SHA1(df52b41c9aa99ddc8ae94ac55978f2e80ca4cba9) ) - - ROM_REGION( 0x700, "plds", ROMREGION_ERASEFF ) - ROM_LOAD( "palce16v8h.u8", 0x000, 0x117, NO_DUMP ) - ROM_LOAD( "palce16v8h.u41", 0x200, 0x117, NO_DUMP ) - ROM_LOAD( "gal22v10d.u6", 0x400, 0x2e5, NO_DUMP ) // on small piggyback at u6 -ROM_END - - -/******** Sigma sets ********/ - -ROM_START( sigmapkr ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sigmapkr.u6", 0x0000, 0x10000, CRC(aa3f429a) SHA1(8c82e86de7280590ba157860cbf9783f893f8554) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "sigmapkr.u47", 0x0000, 0x4000, CRC(49eb69a8) SHA1(22be5870d501d229aa56fb18146ec0d8f8eea72e) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an_spkr.u48", 0x0000, 0x0200, CRC(3d8683d0) SHA1(1d99cd89db1b3c8e14bdafab05d1f70ad5bc604d) ) -ROM_END - - -ROM_START( sigma2k ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "sigma2k.u6", 0x0000, 0x10000, CRC(608d1771) SHA1(0ec94d780565472c7e68da7e3ce19aea3f1ab4a5) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "sigma2k.u47", 0x0000, 0x10000, CRC(3ed7b9df) SHA1(788a90ffa6cb0bfebf607815a695a5afe930945c) ) - - ROM_REGION( 0x200, "proms", 0 ) - ROM_LOAD( "82s147an_s2k.u48", 0x0000, 0x0200, CRC(715361cc) SHA1(cac239399c9ec5d7498e49a906fb5b934ef7f4dc) ) -ROM_END - - -/************************* -* Driver Init * -*************************/ - -void ampoker2_state::init_rabbitpk() -{ - uint8_t *ROM = memregion("maincpu")->base(); - int size = memregion("maincpu")->bytes(); - - for (int i = 0x0000; i < size; i++) - { - uint8_t x = ROM[i]; - - if(i & 0x04) x ^= 0xc4; - if(i & 0x08) x ^= 0x45; - if(i & 0x10) x ^= 0xc6; - if(i & 0x20) x ^= 0x03; - if(i & 0x40) x ^= 0x83; - - ROM[i] = bitswap<8>(x, 1, 2, 5, 4, 3, 0, 7, 6); - } -} - - -/************************* -* Game Drivers * -*************************/ - -// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT -GAMEL( 1990, ampoker2, 0, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "Novomatic", "American Poker II", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "bootleg", "American Poker II (bootleg, set 1)", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "bootleg", "American Poker II (bootleg, set 2)", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "bootleg", "American Poker II (bootleg, set 3)", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "bootleg", "American Poker II (bootleg, set 4)", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "bootleg?", "American Poker II (iamp2 v28)", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, ampoker2_state, empty_init, ROT0, "bootleg", "American Poker 95", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "bootleg", "Poker De Win", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, ampoker2_state, empty_init, ROT0, "bootleg", "Videomat (Polish bootleg)", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAME( 1991, piccolop, ampoker2, ampoker2, piccolop, ampoker2_state, empty_init, ROT0, "Admiral/Novomatic", "Piccolo Poker 100", MACHINE_SUPPORTS_SAVE ) -GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, ampoker2_state, init_rabbitpk, ROT0, "bootleg", "Rabbit Poker (Arizona Poker v1.1?)", MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) -GAMEL( 1995, arizna10, ampoker2, ampoker2, ampoker2, ampoker2_state, init_rabbitpk, ROT0, "bootleg (Ri.Bi)", "Arizona 10 (v1.1)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE, layout_ampoker2 ) // undumped PIC for protection? - -// different games not based on american poker 2 -GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, ampoker2_state, empty_init, ROT0, "Sigma Inc.", "Sigma Poker", MACHINE_SUPPORTS_SAVE, layout_sigmapkr ) -GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, ampoker2_state, empty_init, ROT0, "Sigma Inc.", "Sigma Poker 2000", MACHINE_SUPPORTS_SAVE, layout_sigmapkr ) |