summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2019-11-16 17:38:19 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2019-11-16 17:38:19 +0100
commit0dc8480a2823542ee50b62be47e1d8fd611ff513 (patch)
tree3d268053ef639281995f4c0367563d4c87e8ba04 /src/mame
parent31ce39b9a04e3a8001ab955f3032ba7626d70eb1 (diff)
pacman.cpp: descrambled clubpacma. Boots but resets during attract (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/pacman.cpp14
-rw-r--r--src/mame/includes/pacman.h1
2 files changed, 12 insertions, 3 deletions
diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp
index 9fc3ea7da13..1a3d3b12b2b 100644
--- a/src/mame/drivers/pacman.cpp
+++ b/src/mame/drivers/pacman.cpp
@@ -7561,7 +7561,7 @@ void pacman_state::init_cannonbp()
void pacman_state::init_pengomc1()
{
- uint8_t* romdata = memregion("maincpu")->base();
+ uint8_t *romdata = memregion("maincpu")->base();
uint8_t buf[0x8000];
memcpy(buf, romdata, 0x8000);
@@ -7570,6 +7570,14 @@ void pacman_state::init_pengomc1()
romdata[i] = buf[i^0xff];
}
+void pacman_state::init_clubpacma()
+{
+ uint8_t *rom = memregion("maincpu")->base();
+
+ for (int i = 0x0000; i < 0xc000; i++)
+ rom[i] = bitswap<8>(rom[i], 6, 7, 5, 4, 3, 2, 1, 0);
+}
+
/*************************************
*
* Game drivers
@@ -7645,8 +7653,8 @@ GAME( 198?, pacmansp, puckman, pacman, pacmansp, pacman_state, empty_init,
GAME( 1989, clubpacm, 0, woodpek, mspacman, pacman_state, empty_init, ROT90, "Miky SRL", "Pacman Club / Club Lambada (Argentina)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
-GAME( 1990, clubpacma, clubpacm, woodpek, mspacman, pacman_state, empty_init, ROT90, "Miky SRL", "Pacman Club (set 1, Argentina)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
-GAME( 1990, clubpacmb, clubpacm, woodpek, mspacman, pacman_state, empty_init, ROT90, "Miky SRL", "Pacman Club (set 2, Argentina)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
+GAME( 1990, clubpacma, clubpacm, woodpek, mspacman, pacman_state, init_clubpacma,ROT90, "Miky SRL", "Pacman Club (set 1, Argentina)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // resets during at title screen
+GAME( 1990, clubpacmb, clubpacm, woodpek, mspacman, pacman_state, empty_init, ROT90, "Miky SRL", "Pacman Club (set 2, Argentina)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) // encrypted
GAME( 1985, jumpshot, 0, pacman, jumpshot, pacman_state, init_jumpshot, ROT90, "Bally Midway", "Jump Shot", MACHINE_SUPPORTS_SAVE )
GAME( 1985, jumpshotp,jumpshot, pacman, jumpshotp,pacman_state, init_jumpshot, ROT90, "Bally Midway", "Jump Shot Engineering Sample", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index a94624ea039..70f7e66659e 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -176,6 +176,7 @@ public:
void init_mschamp();
void init_mbrush();
void init_pengomc1();
+ void init_clubpacma();
TILEMAP_MAPPER_MEMBER(pacman_scan_rows);
TILE_GET_INFO_MEMBER(pacman_get_tile_info);
TILE_GET_INFO_MEMBER(s2650_get_tile_info);