diff options
Diffstat (limited to 'src/mame/machine/pacplus.cpp')
-rw-r--r-- | src/mame/machine/pacplus.cpp | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/mame/machine/pacplus.cpp b/src/mame/machine/pacplus.cpp deleted file mode 100644 index 67e09c92552..00000000000 --- a/src/mame/machine/pacplus.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Nicola Salmoria -#include "emu.h" -#include "includes/pacman.h" - - -uint8_t pacman_state::pacplus_decrypt(int addr, uint8_t e) -{ - static const uint8_t swap_xor_table[6][9] = - { - { 7,6,5,4,3,2,1,0, 0x00 }, - { 7,6,5,4,3,2,1,0, 0x28 }, - { 6,1,3,2,5,7,0,4, 0x96 }, - { 6,1,5,2,3,7,0,4, 0xbe }, - { 0,3,7,6,4,2,1,5, 0xd5 }, - { 0,3,4,6,7,2,1,5, 0xdd } - }; - static const int picktable[32] = - { - 0,2,4,2,4,0,4,2,2,0,2,2,4,0,4,2, - 2,2,4,0,4,2,4,0,0,4,0,4,4,2,4,2 - }; - uint32_t method = 0; - const uint8_t *tbl; - - - /* pick method from bits 0 2 5 7 9 of the address */ - method = picktable[ - (addr & 0x001) | - ((addr & 0x004) >> 1) | - ((addr & 0x020) >> 3) | - ((addr & 0x080) >> 4) | - ((addr & 0x200) >> 5)]; - - /* switch method if bit 11 of the address is set */ - if ((addr & 0x800) == 0x800) - method ^= 1; - - tbl = swap_xor_table[method]; - return bitswap<8>(e,tbl[0],tbl[1],tbl[2],tbl[3],tbl[4],tbl[5],tbl[6],tbl[7]) ^ tbl[8]; -} - - -void pacman_state::pacplus_decode() -{ - int i; - uint8_t *RAM; - - /* CPU ROMs */ - - RAM = memregion("maincpu")->base(); - for (i = 0; i < 0x4000; i++) - { - RAM[i] = pacplus_decrypt(i,RAM[i]); - } -} |