diff options
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 |
commit | 0dc8480a2823542ee50b62be47e1d8fd611ff513 (patch) | |
tree | 3d268053ef639281995f4c0367563d4c87e8ba04 /src/mame | |
parent | 31ce39b9a04e3a8001ab955f3032ba7626d70eb1 (diff) |
pacman.cpp: descrambled clubpacma. Boots but resets during attract (nw)
Diffstat (limited to 'src/mame')
-rw-r--r-- | src/mame/drivers/pacman.cpp | 14 | ||||
-rw-r--r-- | src/mame/includes/pacman.h | 1 |
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); |