From 09cf44d8dc99c0fd4ecae75301fda489810c0a91 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Fri, 30 Jun 2023 06:44:07 +0200 Subject: funworld/supercrd.cpp: last bunch of XOR tables tweaks for now --- src/mame/funworld/supercrd.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mame/funworld/supercrd.cpp b/src/mame/funworld/supercrd.cpp index 0538b2fd18a..3f6a40c0ff9 100644 --- a/src/mame/funworld/supercrd.cpp +++ b/src/mame/funworld/supercrd.cpp @@ -363,7 +363,7 @@ uint8_t supercrd_state::decrypted_opcodes_r(offs_t offset) uint8_t const xor_v = data & 0x07; if (((m_decode_table[offset & 0x03][row][xor_v]) == 0x00) && (data != 0xc5) && (data != 0xcd) && (data != 0xe5) && (data != 0xed)) - LOGUNKOPCODES("at %08x check opcode: %02x\n", offset, data); + LOGUNKOPCODES("at %08x check opcode: %02x !\n", offset, data); return data ^ m_decode_table[offset & 0x03][row][xor_v]; } @@ -1008,17 +1008,17 @@ void supercrd_state::init_supercrd() // TODO: check unknown opcodes { unkn, unkn, unkn, 0x52, unkn, 0x00, 0x53, 0x01 }, // 0xcx and 0xex { 0x51, 0x10, 0x12, 0x41, 0x50, 0x00, 0x50, 0x50 } // 0xdx and 0xfx }, - { // quadrant 1 should be ok, missing decrypted 0x17, 0x44 0x80, 0x81, 0x82, 0x83, 0x85, 0xc4, 0xc7, 0xd0 + { // quadrant 1 should be ok, missing decrypted 0x17, 0x44 0x80, 0x81, 0x82, 0x83, 0x85, 0xc7, 0xd0 { 0x43, 0x51, 0x01, 0x13, 0x51, 0x42, unkn, 0x01 }, // 0x0x and 0x2x { 0x50, 0x43, 0x13, 0x11, unkn, 0x42, 0x12, 0x01 }, // 0x1x and 0x3x { 0x53, 0x10, 0x11, 0x52, 0x51, 0x00, 0x10, 0x13 }, // 0x4x and 0x6x { 0x42, 0x13, 0x13, 0x53, 0x40, 0x52, 0x10, 0x52 }, // 0x5x and 0x7x - { 0x40, 0x43, 0x51, 0x51, 0x51, 0x01, unkn, 0x00 }, // 0x8x and 0xax + { 0x40, 0x43, 0x51, 0x51, 0x51, 0x01, 0x42, 0x00 }, // 0x8x and 0xax { unkn, 0x01, 0x43, 0x02, unkn, 0x53, 0x00, unkn }, // 0x9x and 0xbx { 0x01, 0x02, unkn, 0x50, 0x51, 0x00, 0x51, 0x10 }, // 0xcx and 0xex { 0x42, unkn, unkn, unkn, 0x00, 0x41, unkn, 0x01 } // 0xdx and 0xfx }, - { // quadrants 1,2 should be ok, missing decrypted 0x84, 0x94, 0x96, 0xc7, 0xd7 + { // quadrants 1,2 should be ok, missing decrypted 0x84, 0x94, 0x96, 0xc7, 0xd7 { 0x42, 0x00, 0x43, 0x53, 0x03, 0x53, 0x00, 0x11 }, // 0x0x and 0x2x { 0x13, 0x02, 0x12, 0x11, 0x41, 0x02, 0x50, 0x53 }, // 0x1x and 0x3x { 0x00, 0x12, 0x52, 0x12, 0x03, 0x00, 0x43, 0x43 }, // 0x4x and 0x6x @@ -1050,33 +1050,33 @@ void supercrd_state::init_fruitstr() // TODO: check unknown opcodes uint8_t xor_table[0x04][0x08][0x08] = { - { // quadrants 1, 2 should be ok, missing decrypted 0x82, 0x84, 0x85, 0xd0 + { // quadrants 1, 2, 3 should be ok, missing decrypted 0x84, 0x85 { 0x40, 0x52, 0x53, 0x11, 0x40, 0x02, 0x10, 0x40 }, // 0x0x and 0x2x { 0x11, 0x00, 0x02, 0x43, 0x40, 0x10, 0x02, 0x40 }, // 0x1x and 0x3x { 0x40, 0x03, 0x10, 0x02, 0x02, 0x00, 0x40, 0x43 }, // 0x4x and 0x6x { 0x52, 0x12, 0x41, 0x50, 0x02, 0x00, 0x43, 0x40 }, // 0x5x and 0x7x - { 0x03, unkn, 0x12, 0x42, 0x51, 0x53, 0x51, 0x01 }, // 0x8x and 0xax + { 0x03, 0x51, 0x12, 0x42, 0x51, 0x53, 0x51, 0x01 }, // 0x8x and 0xax { 0x43, 0x52, 0x50, 0x01, 0x50, unkn, 0x00, unkn }, // 0x9x and 0xbx { 0x11, 0x13, 0x53, 0x50, 0x02, 0x00, 0x41, unkn }, // 0xcx and 0xex - { 0x50, 0x50, 0x12, unkn, unkn, 0x41, 0x43, 0x40 } // 0xdx and 0xfx + { 0x50, 0x50, 0x12, 0x51, unkn, 0x41, 0x43, 0x40 } // 0xdx and 0xfx }, { // quadrants 1, 2 should be ok, missing decrypted 0x80, 0x82, 0x83, 0xc4, 0xc7, 0xd0 { 0x42, 0x11, 0x41, 0x51, 0x51, 0x12, 0x10, 0x03 }, // 0x0x and 0x2x { 0x40, 0x12, 0x13, 0x01, 0x42, 0x10, 0x51, 0x03 }, // 0x1x and 0x3x { 0x01, 0x41, 0x11, 0x41, 0x42, 0x00, 0x41, 0x01 }, // 0x4x and 0x6x { 0x10, 0x40, 0x41, 0x02, 0x41, 0x11, 0x02, 0x00 }, // 0x5x and 0x7x - { 0x12, 0x41, 0x50, 0x42, 0x00, unkn, unkn, 0x03 }, // 0x8x and 0xax + { 0x12, 0x41, 0x50, 0x42, 0x01, unkn, unkn, 0x03 }, // 0x8x and 0xax { 0x11, 0x40, 0x02, unkn, 0x52, 0x43, 0x00, 0x40 }, // 0x9x and 0xbx { 0x51, 0x52, unkn, unkn, 0x51, 0x00, 0x40, 0x50 }, // 0xcx and 0xex { 0x13, unkn, 0x10, 0x00, 0x40, 0x01, 0x51, 0x02 } // 0xdx and 0xfx }, - { // quadrants 1, 2 should be ok, missing decrypted 0x80, 0x85, 0xc7, 0xd0 + { // quadrants 1, 2, 3 should be ok, missing decrypted 0x85, 0xc7 { 0x43, 0x12, 0x50, 0x41, 0x53, 0x11, 0x03, 0x51 }, // 0x0x and 0x2x { 0x11, 0x40, 0x10, 0x01, 0x01, 0x11, 0x42, 0x01 }, // 0x1x and 0x3x { 0x00, 0x51, 0x03, 0x40, 0x03, 0x00, 0x02, 0x50 }, // 0x4x and 0x6x { 0x03, 0x51, 0x43, 0x03, 0x01, 0x53, 0x10, 0x50 }, // 0x5x and 0x7x { 0x51, 0x40, 0x51, 0x02, 0x02, 0x52, 0x40, 0x13 }, // 0x8x and 0xax - { unkn, unkn, 0x02, 0x41, 0x42, 0x51, unkn, 0x13 }, // 0x9x and 0xbx + { 0x40, 0x11, 0x02, 0x41, 0x42, 0x51, unkn, 0x13 }, // 0x9x and 0xbx { 0x51, 0x52, 0x02, 0x00, unkn, 0x00, 0x53, 0x13 }, // 0xcx and 0xex { 0x53, 0x13, 0x50, 0x41, 0x53, 0x42, 0x40, 0x02 } // 0xdx and 0xfx }, @@ -1132,14 +1132,14 @@ void supercrd_state::init_gampo() // TODO: check unknown opcodes { unkn, 0x02, 0x02, 0x02, 0x42, 0x00, 0x50, 0x03 }, // 0xcx and 0xex { 0x01, 0x03, 0x53, unkn, 0x00, 0x51, unkn, 0x02 } // 0xdx and 0xfx }, - { // quadrant 1 should be ok, missing decrypted 0x17, 0x44, 0x80, 0x83, 0x96, 0xc4, 0xc7, 0xd0, 0xd7 + { // quadrant 1 should be ok, missing decrypted 0x17, 0x44, 0x80, 0x83, 0x96, 0xc7, 0xd0, 0xd7 { 0x52, 0x02, 0x00, 0x13, 0x43, 0x01, 0x03, unkn }, // 0x0x and 0x2x { 0x02, 0x00, 0x12, 0x51, 0x01, 0x40, 0x42, 0x03 }, // 0x1x and 0x3x { 0x03, 0x10, 0x43, 0x13, 0x43, 0x00, 0x00, 0x41 }, // 0x4x and 0x6x { 0x03, 0x10, 0x41, 0x13, 0x02, 0x43, 0x01, unkn }, // 0x5x and 0x7x { 0x52, 0x50, unkn, 0x41, unkn, unkn, 0x02, 0x52 }, // 0x8x and 0xax { 0x00, 0x00, unkn, unkn, 0x01, unkn, 0x01, 0x10 }, // 0x9x and 0xbx - { 0x41, 0x12, unkn, 0x50, 0x10, 0x00, unkn, 0x53 }, // 0xcx and 0xex + { 0x41, 0x12, unkn, 0x50, 0x10, 0x00, 0x02, 0x53 }, // 0xcx and 0xex { 0x10, 0x10, 0x40, 0x10, 0x12, unkn, 0x50, 0x01 } // 0xdx and 0xfx }, { // quadrants 1, 2 should be ok, missing decrypted 0x94, 0xc7 -- cgit v1.2.3