summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Roberto Fresca <robertof@mamedev.org>2009-08-18 03:24:22 +0000
committer Roberto Fresca <robertof@mamedev.org>2009-08-18 03:24:22 +0000
commit5787281248755399b54fbca69e2b6210610a4ec4 (patch)
treea910d9c5dce5b8694b3f64c30f692bb83021f826 /src
parent2f4be161bde979991e8fc449a188b652cb159b05 (diff)
American Poker II driver...
- Added Rabbit Poker / Arizona Poker? set (with GAL22V10 and PIC16F84A). - Added proper decryption algorithms. - Updated technical notes. New games marked as GAME_NOT_WORKING ------------------------------------ Rabbit Poker (Arizona Poker v1.1?) [Roberto Fresca, Andreas Naive, Tomasz Slanina]
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/ampoker2.c115
-rw-r--r--src/mame/mamedriv.c1
-rw-r--r--src/mame/video/ampoker2.c1
3 files changed, 105 insertions, 12 deletions
diff --git a/src/mame/drivers/ampoker2.c b/src/mame/drivers/ampoker2.c
index da08bfa9149..b3fd0b60d85 100644
--- a/src/mame/drivers/ampoker2.c
+++ b/src/mame/drivers/ampoker2.c
@@ -23,6 +23,7 @@
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.
@@ -278,6 +279,13 @@
--- DRIVER UPDATES ---
+ [2009-08-17]
+
+ - Added Rabbit Poker / Arizona Poker? set (with a PIC).
+ - Added proper decryption algorithms.
+ - Updated technical notes.
+
+
[2008-10-07]
- Improved the button-lamps layout to all games. Now are more realistic.
@@ -603,6 +611,34 @@ static ADDRESS_MAP_START( ampoker2_io_map, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x3A, 0x3A) AM_DEVREAD("ay", ay8910_r)
ADDRESS_MAP_END
+/*
+
+ Rabbit Poker writes...
+
+ 12dc W \ Writting 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 *
@@ -1208,20 +1244,75 @@ ROM_START( sigma2k )
ROM_LOAD( "82s147an_s2k.u48", 0x0000, 0x0200, CRC(715361cc) SHA1(cac239399c9ec5d7498e49a906fb5b934ef7f4dc) )
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
+
+
+/*************************
+* Driver Init *
+*************************/
+
+static DRIVER_INIT( rabbitpk )
+{
+
+ UINT8 *rom = memory_region(machine, "maincpu");
+ UINT8 *buffer;
+ int size = memory_region_length(machine, "maincpu");
+ int start = 0;
+ int i;
+
+ UINT8 dec_base[32] =
+ {
+ 0x00, 0x43, 0x45, 0x06, 0xc3, 0x80, 0x86, 0xc5,
+ 0x84, 0xc7, 0xc1, 0x82, 0x47, 0x04, 0x02, 0x41,
+ 0x86, 0xc5, 0xc3, 0x80, 0x45, 0x06, 0x00, 0x43,
+ 0x02, 0x41, 0x47, 0x04, 0xc1, 0x82, 0x84, 0xc7
+ };
+
+ for (i = start; i < size; i++)
+ {
+ rom[i] = BITSWAP8(rom[i], 1, 2, 5, 4, 3, 0, 7, 6) ^ dec_base[(i >> 2) & 0x1f];
+ }
+
+ buffer = alloc_array_or_die(UINT8, size);
+ memcpy(buffer, rom, size);
+
+ free(buffer);
+}
+
/*************************
* Game Drivers *
*************************/
-/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1990, ampoker2, 0, ampoker2, ampoker2, 0, ROT0, "Novomatic", "American Poker II", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg?", "American Poker II (iamp2 v28)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, 0, ROT0, "bootleg", "American Poker 95", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "Poker De Win", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "Videomat (polish bootleg)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, 0, ROT0, "Sigma Inc.", "Sigma Poker", GAME_SUPPORTS_SAVE, layout_sigmapkr )
-GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, 0, ROT0, "Sigma Inc.", "Sigma Poker 2000", GAME_SUPPORTS_SAVE, layout_sigmapkr )
+/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
+GAMEL( 1990, ampoker2, 0, ampoker2, ampoker2, 0, ROT0, "Novomatic", "American Poker II", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg?", "American Poker II (iamp2 v28)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, 0, ROT0, "bootleg", "American Poker 95", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "Poker De Win", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "Videomat (polish bootleg)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, rabbitpk, ROT0, "bootleg", "Rabbit Poker (Arizona Poker v1.1?)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
+GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, 0, ROT0, "Sigma Inc.", "Sigma Poker", GAME_SUPPORTS_SAVE, layout_sigmapkr )
+GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, 0, ROT0, "Sigma Inc.", "Sigma Poker 2000", GAME_SUPPORTS_SAVE, layout_sigmapkr )
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
index 8249baa8624..463d625aef4 100644
--- a/src/mame/mamedriv.c
+++ b/src/mame/mamedriv.c
@@ -8854,6 +8854,7 @@ Other Sun games
DRIVER( pkrdewin ) /* 1990 bootleg */
DRIVER( ampkr95 ) /* 1995 bootleg */
DRIVER( videomat ) /* 1990 bootleg */
+ DRIVER( rabbitpk ) /* 1990 bootleg */
DRIVER( sigmapkr ) /* (c) 1995 Sigma */
DRIVER( sigma2k ) /* (c) 2000 Sigma */
DRIVER( sidewndr ) /* (c) 1981? ACE */
diff --git a/src/mame/video/ampoker2.c b/src/mame/video/ampoker2.c
index e18fcfc9cdc..29c10ff12a4 100644
--- a/src/mame/video/ampoker2.c
+++ b/src/mame/video/ampoker2.c
@@ -23,6 +23,7 @@
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.