misc/norautp.cpp: improved norautua to the same level of norautub

This commit is contained in:
Ivan Vangelista 2023-08-06 08:04:28 +02:00
parent a383d36849
commit 11a31d53ff

View File

@ -3730,11 +3730,11 @@ ROM_END
/* /*
The following tables are for the norautua and norautub set. The encryption seems based on substitution tables The following tables are for the norautua and norautub sets. The encryption seems based on substitution tables
chosen by bits 0, 1, 2 and 3 of the address and the M1 line. chosen by bits 0, 1, 2 and 3 of the address and by the M1 line.
However, it is unprobable that games this old and simple use 0x2000 of ROM to hold such large tables, so they can However, it is improbable that games this old and simple use 0x2000 of ROM to hold such large tables, so they can
probably be calculated if the algorithm is identified. probably be calculated if the algorithm is identified.
norautub is closer to norautjo so it mostly works, while norautua diverges somewhat and hits some unknown opcodes. They mostly work, however to be 100% confident the algorithm needs to be figured out or ar least more sets are needed.
*/ */
void norautp_state::init_enc() void norautp_state::init_enc()
@ -3826,7 +3826,7 @@ void norautp_state::init_enc()
{// 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f {// 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f
0x70, 0x7e, unkn, 0xe5, 0xc1, 0xd8, 0xb8, unkn, unkn, unkn, unkn, 0xa5, 0xf3, 0xd3, unkn, 0x79, // 0x0x 0x70, 0x7e, unkn, 0xe5, 0xc1, 0xd8, 0xb8, unkn, unkn, unkn, unkn, 0xa5, 0xf3, 0xd3, unkn, 0x79, // 0x0x
unkn, 0xd2, unkn, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xd5, unkn, 0x7f, unkn, unkn, 0x21, // 0x1x unkn, 0xd2, unkn, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xd5, unkn, 0x7f, unkn, unkn, 0x21, // 0x1x
unkn, unkn, 0xaf, 0x31, unkn, unkn, unkn, 0x71, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xa6, // 0x2x unkn, unkn, 0xaf, 0x31, unkn, unkn, unkn, 0x71, unkn, unkn, unkn, 0x3d, unkn, unkn, unkn, 0xa6, // 0x2x
unkn, unkn, 0x7a, unkn, unkn, 0x37, unkn, unkn, 0xcd, unkn, 0xb1, unkn, 0xfa, unkn, unkn, unkn, // 0x3x unkn, unkn, 0x7a, unkn, unkn, 0x37, unkn, unkn, 0xcd, unkn, 0xb1, unkn, 0xfa, unkn, unkn, unkn, // 0x3x
unkn, unkn, 0x2a, unkn, 0x04, unkn, 0xc8, 0x2f, unkn, 0x1a, unkn, unkn, unkn, unkn, 0xca, unkn, // 0x4x unkn, unkn, 0x2a, unkn, 0x04, unkn, 0xc8, 0x2f, unkn, 0x1a, unkn, unkn, unkn, unkn, 0xca, unkn, // 0x4x
0x30, unkn, unkn, unkn, 0x1d, unkn, unkn, 0x46, 0xb5, unkn, 0x1e, unkn, 0xee, 0xc6, 0xd6, unkn, // 0x5x 0x30, unkn, unkn, unkn, 0x1d, unkn, unkn, 0x46, 0xb5, unkn, 0x1e, unkn, 0xee, 0xc6, 0xd6, unkn, // 0x5x
@ -3932,7 +3932,7 @@ void norautp_state::init_enc()
unkn, unkn, 0x28, 0x24, 0x34, 0xb6, 0xcb, 0x36, 0x6f, 0xea, unkn, unkn, unkn, 0x7e, unkn, unkn, // 0x5x unkn, unkn, 0x28, 0x24, 0x34, 0xb6, 0xcb, 0x36, 0x6f, 0xea, unkn, unkn, unkn, 0x7e, unkn, unkn, // 0x5x
unkn, unkn, unkn, unkn, 0xf7, 0x4e, unkn, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xc8, unkn, // 0x6x unkn, unkn, unkn, unkn, 0xf7, 0x4e, unkn, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xc8, unkn, // 0x6x
0xe6, 0xf5, 0xb7, unkn, unkn, 0xdd, unkn, 0x27, unkn, 0xda, 0x87, unkn, unkn, unkn, 0xa5, unkn, // 0x7x 0xe6, 0xf5, 0xb7, unkn, unkn, 0xdd, unkn, 0x27, unkn, 0xda, 0x87, unkn, unkn, unkn, 0xa5, unkn, // 0x7x
unkn, unkn, 0xf1, unkn, unkn, unkn, unkn, 0x47, unkn, 0xd6, unkn, unkn, 0x0e, unkn, unkn, 0x35, // 0x8x unkn, unkn, 0xf1, unkn, unkn, unkn, unkn, 0x47, unkn, 0xd6, unkn, unkn, 0x0e, 0x78, unkn, 0x35, // 0x8x
unkn, unkn, unkn, 0xd1, 0x22, unkn, unkn, unkn, unkn, 0x2a, unkn, 0x15, unkn, unkn, unkn, unkn, // 0x9x unkn, unkn, unkn, 0xd1, 0x22, unkn, unkn, unkn, unkn, 0x2a, unkn, 0x15, unkn, unkn, unkn, unkn, // 0x9x
0x0c, 0x57, unkn, unkn, unkn, unkn, 0x32, 0x67, unkn, unkn, unkn, unkn, 0x5f, unkn, unkn, unkn, // 0xax 0x0c, 0x57, unkn, unkn, unkn, unkn, 0x32, 0x67, unkn, unkn, unkn, unkn, 0x5f, unkn, unkn, unkn, // 0xax
0x58, unkn, unkn, unkn, unkn, 0x14, unkn, 0x19, 0xe5, 0x2b, 0xaf, unkn, 0x29, unkn, unkn, 0x1d, // 0xbx 0x58, unkn, unkn, unkn, unkn, 0x14, unkn, 0x19, 0xe5, 0x2b, 0xaf, unkn, 0x29, unkn, unkn, 0x1d, // 0xbx
@ -3953,7 +3953,7 @@ void norautp_state::init_enc()
0x12, unkn, unkn, 0xcd, 0xda, 0xfb, unkn, unkn, unkn, unkn, unkn, unkn, 0x35, 0xa1, 0x57, unkn, // 0x6x 0x12, unkn, unkn, 0xcd, 0xda, 0xfb, unkn, unkn, unkn, unkn, unkn, unkn, 0x35, 0xa1, 0x57, unkn, // 0x6x
unkn, 0x7c, unkn, 0x87, 0xab, unkn, unkn, 0x0e, unkn, unkn, 0xc3, unkn, unkn, unkn, 0xb7, unkn, // 0x7x unkn, 0x7c, unkn, 0x87, 0xab, unkn, unkn, 0x0e, unkn, unkn, 0xc3, unkn, unkn, unkn, 0xb7, unkn, // 0x7x
0x79, unkn, unkn, unkn, unkn, 0x16, 0xd7, 0x01, 0x4d, unkn, unkn, 0x36, unkn, 0x58, unkn, 0x30, // 0x8x 0x79, unkn, unkn, unkn, unkn, 0x16, 0xd7, 0x01, 0x4d, unkn, unkn, 0x36, unkn, 0x58, unkn, 0x30, // 0x8x
unkn, unkn, unkn, unkn, 0xe1, unkn, unkn, 0x8e, unkn, 0xb8, unkn, unkn, 0xe7, 0xfd, unkn, unkn, // 0x9x unkn, unkn, unkn, unkn, 0xe1, unkn, 0x81, 0x8e, unkn, 0xb8, unkn, unkn, 0xe7, 0xfd, unkn, unkn, // 0x9x
0xb0, unkn, unkn, unkn, 0xb3, unkn, 0xbe, unkn, unkn, 0xc9, 0x67, unkn, unkn, unkn, unkn, 0x7a, // 0xax 0xb0, unkn, unkn, unkn, 0xb3, unkn, 0xbe, unkn, unkn, 0xc9, 0x67, unkn, unkn, unkn, unkn, 0x7a, // 0xax
unkn, unkn, 0x3c, 0x22, 0x19, 0x2a, 0x5e, unkn, unkn, 0x78, unkn, unkn, unkn, 0x3e, 0x4e, unkn, // 0xbx unkn, unkn, 0x3c, 0x22, 0x19, 0x2a, 0x5e, unkn, unkn, 0x78, unkn, unkn, unkn, 0x3e, 0x4e, unkn, // 0xbx
unkn, 0xe5, unkn, unkn, 0xf2, unkn, unkn, 0xc6, 0x32, unkn, 0xae, unkn, 0x70, unkn, unkn, unkn, // 0xcx unkn, 0xe5, unkn, unkn, 0xf2, unkn, unkn, 0xc6, 0x32, unkn, 0xae, unkn, 0x70, unkn, unkn, unkn, // 0xcx
@ -3977,7 +3977,7 @@ void norautp_state::init_enc()
unkn, unkn, 0xda, unkn, 0x77, 0xf2, unkn, 0xf5, unkn, 0xd3, unkn, unkn, 0x09, unkn, 0x36, unkn, // 0xax unkn, unkn, 0xda, unkn, 0x77, 0xf2, unkn, 0xf5, unkn, 0xd3, unkn, unkn, 0x09, unkn, 0x36, unkn, // 0xax
0x2a, unkn, unkn, unkn, 0x7d, unkn, 0x52, unkn, 0x1e, unkn, 0x0b, unkn, unkn, unkn, unkn, 0xd8, // 0xbx 0x2a, unkn, unkn, unkn, 0x7d, unkn, 0x52, unkn, 0x1e, unkn, 0x0b, unkn, unkn, unkn, unkn, 0xd8, // 0xbx
0xa6, 0x08, 0x7e, unkn, unkn, unkn, 0x01, unkn, unkn, unkn, 0xcd, 0xca, unkn, unkn, 0xdd, unkn, // 0xcx 0xa6, 0x08, 0x7e, unkn, unkn, unkn, 0x01, unkn, unkn, unkn, 0xcd, 0xca, unkn, unkn, 0xdd, unkn, // 0xcx
0x0e, 0xe7, 0x3c, unkn, unkn, 0x7a, unkn, unkn, unkn, unkn, 0x31, unkn, unkn, 0x07, unkn, unkn, // 0xdx 0x0e, 0xe7, 0x3c, unkn, unkn, 0x7a, unkn, unkn, unkn, unkn, 0x31, unkn, unkn, 0x07, 0xc8, unkn, // 0xdx
unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0x0d, 0x46, unkn, 0x11, unkn, 0xdb, unkn, 0x5f, 0x22, // 0xex unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0x0d, 0x46, unkn, 0x11, unkn, 0xdb, unkn, 0x5f, 0x22, // 0xex
unkn, 0x5b, 0xd2, 0x3e, unkn, unkn, unkn, unkn, unkn, 0x13, 0x0a, 0xbb, 0xc9, 0x06, unkn, unkn, // 0xfx unkn, 0x5b, 0xd2, 0x3e, unkn, unkn, unkn, unkn, unkn, 0x13, 0x0a, 0xbb, 0xc9, 0x06, unkn, unkn, // 0xfx
}; };
@ -4008,7 +4008,7 @@ void norautp_state::init_enc()
0xd7, 0x7e, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xb1, unkn, 0xf6, unkn, unkn, unkn, unkn, // 0x1x 0xd7, 0x7e, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xb1, unkn, 0xf6, unkn, unkn, unkn, unkn, // 0x1x
unkn, unkn, unkn, 0x3e, unkn, 0xd0, 0x4a, unkn, unkn, unkn, 0xb2, unkn, unkn, unkn, 0x01, 0xf7, // 0x2x unkn, unkn, unkn, 0x3e, unkn, 0xd0, 0x4a, unkn, unkn, unkn, 0xb2, unkn, unkn, unkn, 0x01, 0xf7, // 0x2x
unkn, unkn, 0xd2, unkn, 0x66, unkn, unkn, unkn, 0xaf, 0x2b, 0x16, unkn, unkn, unkn, 0xe7, 0xfd, // 0x3x unkn, unkn, 0xd2, unkn, 0x66, unkn, unkn, unkn, 0xaf, 0x2b, 0x16, unkn, unkn, unkn, 0xe7, 0xfd, // 0x3x
0xf1, 0x02, 0x7c, unkn, unkn, unkn, unkn, unkn, unkn, 0xea, 0x34, unkn, unkn, unkn, unkn, unkn, // 0x4x 0xf1, 0x02, 0x7c, unkn, unkn, unkn, unkn, unkn, unkn, 0xea, 0x34, unkn, unkn, unkn, 0x3d, unkn, // 0x4x
0xdf, 0xb8, unkn, 0xd6, unkn, unkn, 0x2f, 0x18, 0x1b, unkn, unkn, 0xed, 0x77, 0x4e, 0x7b, unkn, // 0x5x 0xdf, 0xb8, unkn, 0xd6, unkn, unkn, 0x2f, 0x18, 0x1b, unkn, unkn, 0xed, 0x77, 0x4e, 0x7b, unkn, // 0x5x
0x11, unkn, unkn, unkn, 0x79, 0xff, 0x23, unkn, unkn, 0x26, 0x28, 0xfe, unkn, unkn, unkn, 0x57, // 0x6x 0x11, unkn, unkn, unkn, 0x79, 0xff, 0x23, unkn, unkn, 0x26, 0x28, 0xfe, unkn, unkn, unkn, 0x57, // 0x6x
unkn, unkn, unkn, unkn, 0xe6, 0xc5, 0x32, unkn, unkn, 0x1d, unkn, 0xf2, unkn, unkn, 0x7a, unkn, // 0x7x unkn, unkn, unkn, unkn, 0xe6, 0xc5, 0x32, unkn, unkn, 0x1d, unkn, 0xf2, unkn, unkn, 0x7a, unkn, // 0x7x
@ -4197,7 +4197,7 @@ void norautp_state::init_enc()
unkn, 0x06, 0xc8, unkn, unkn, unkn, 0x3c, unkn, 0x6c, unkn, unkn, unkn, 0x11, 0x17, unkn, unkn, // 0x2x unkn, 0x06, 0xc8, unkn, unkn, unkn, 0x3c, unkn, 0x6c, unkn, unkn, unkn, 0x11, 0x17, unkn, unkn, // 0x2x
0x66, unkn, unkn, 0x8a, unkn, 0x09, 0xfb, unkn, unkn, 0xcf, 0xc9, unkn, 0xd4, 0x1f, 0xb0, 0x7c, // 0x3x 0x66, unkn, unkn, 0x8a, unkn, 0x09, 0xfb, unkn, unkn, 0xcf, 0xc9, unkn, 0xd4, 0x1f, 0xb0, 0x7c, // 0x3x
unkn, unkn, 0x04, unkn, 0xff, 0x20, 0x02, 0x60, unkn, unkn, 0x12, 0x84, unkn, 0xef, 0xd7, 0xaa, // 0x4x unkn, unkn, 0x04, unkn, 0xff, 0x20, 0x02, 0x60, unkn, unkn, 0x12, 0x84, unkn, 0xef, 0xd7, 0xaa, // 0x4x
unkn, 0x34, unkn, unkn, unkn, unkn, unkn, 0x49, 0x56, 0xbe, 0x10, 0x4d, 0x7f, unkn, unkn, 0x1d, // 0x5x unkn, 0x34, unkn, unkn, unkn, unkn, unkn, 0x49, 0x56, 0xbe, 0x10, 0x4d, 0x7f, 0x19, unkn, 0x1d, // 0x5x
unkn, unkn, 0xf6, 0x36, unkn, unkn, unkn, unkn, unkn, 0xb6, 0xce, 0xf7, 0xb4, unkn, unkn, 0x43, // 0x6x unkn, unkn, 0xf6, 0x36, unkn, unkn, unkn, unkn, unkn, 0xb6, 0xce, 0xf7, 0xb4, unkn, unkn, 0x43, // 0x6x
unkn, 0x3e, 0x4c, 0xc3, unkn, unkn, unkn, 0x00, unkn, 0x93, unkn, 0x01, 0x16, 0x0f, unkn, unkn, // 0x7x unkn, 0x3e, 0x4c, 0xc3, unkn, unkn, unkn, 0x00, unkn, 0x93, unkn, 0x01, 0x16, 0x0f, unkn, unkn, // 0x7x
unkn, unkn, unkn, unkn, unkn, unkn, 0xba, 0xbf, unkn, 0xad, 0x13, unkn, unkn, unkn, unkn, 0x44, // 0x8x unkn, unkn, unkn, unkn, unkn, unkn, 0xba, 0xbf, unkn, 0xad, 0x13, unkn, unkn, unkn, unkn, 0x44, // 0x8x
@ -4262,12 +4262,12 @@ void norautp_state::init_enc()
0x62, 0x6a, 0x85, unkn, 0xb4, unkn, 0x11, 0x64, 0xd7, unkn, unkn, unkn, 0xa2, 0xe9, 0x7c, 0xca, // 0x7x 0x62, 0x6a, 0x85, unkn, 0xb4, unkn, 0x11, 0x64, 0xd7, unkn, unkn, unkn, 0xa2, 0xe9, 0x7c, 0xca, // 0x7x
unkn, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xc7, 0xb7, 0x18, 0xab, unkn, unkn, 0x2c, 0xa1, // 0x8x unkn, unkn, unkn, unkn, unkn, unkn, unkn, unkn, 0xc7, 0xb7, 0x18, 0xab, unkn, unkn, 0x2c, 0xa1, // 0x8x
0x30, unkn, unkn, 0x73, 0x9c, unkn, 0x25, 0xd6, unkn, 0x03, 0xf4, 0x0b, 0xf0, 0x58, unkn, 0x7d, // 0x9x 0x30, unkn, unkn, 0x73, 0x9c, unkn, 0x25, 0xd6, unkn, 0x03, 0xf4, 0x0b, 0xf0, 0x58, unkn, 0x7d, // 0x9x
unkn, 0x97, unkn, 0xd5, unkn, unkn, unkn, unkn, 0xb6, unkn, 0x57, unkn, 0x55, 0x60, 0x59, unkn, // 0xax unkn, 0x97, 0x14, 0xd5, unkn, unkn, unkn, unkn, 0xb6, unkn, 0x57, unkn, 0x55, 0x60, 0x59, unkn, // 0xax
0x06, 0x42, 0xe8, unkn, 0xc0, 0x20, unkn, unkn, unkn, unkn, unkn, unkn, 0x84, unkn, 0x01, unkn, // 0xbx 0x06, 0x42, 0xe8, unkn, 0xc0, 0x20, unkn, unkn, unkn, unkn, unkn, unkn, 0x84, unkn, 0x01, unkn, // 0xbx
0x0a, 0x09, 0x56, unkn, 0x44, unkn, unkn, 0x49, 0x39, 0xbc, unkn, 0x05, unkn, unkn, unkn, 0x8d, // 0xcx 0x0a, 0x09, 0x56, unkn, 0x44, unkn, unkn, 0x49, 0x39, 0xbc, unkn, 0x05, unkn, unkn, unkn, 0x8d, // 0xcx
0x80, unkn, unkn, 0xcc, 0x41, 0xbf, unkn, 0x50, unkn, 0x65, unkn, 0x15, unkn, unkn, unkn, 0xb0, // 0xdx 0x80, unkn, unkn, 0xcc, 0x41, 0xbf, unkn, 0x50, unkn, 0x65, unkn, 0x15, unkn, unkn, unkn, 0xb0, // 0xdx
0x47, 0x93, unkn, 0x48, 0x5d, unkn, 0x37, unkn, 0x43, 0xfe, 0x40, 0x33, 0x07, 0x10, unkn, 0x76, // 0xex 0x47, 0x93, unkn, 0x48, 0x5d, unkn, 0x37, unkn, 0x43, 0xfe, 0x40, 0x33, 0x07, 0x10, unkn, 0x76, // 0xex
unkn, 0x13, 0xef, 0x3c, unkn, 0x8e, unkn, 0xc3, unkn, unkn, unkn, unkn, unkn, 0x2e, unkn, unkn // 0xfx unkn, 0x13, 0xef, 0x3c, unkn, 0x8e, unkn, 0xc3, unkn, unkn, unkn, 0x7e, unkn, 0x2e, unkn, unkn // 0xfx
}; };
static const uint8_t data_sub_table_09[0x100] = static const uint8_t data_sub_table_09[0x100] =
@ -4293,7 +4293,7 @@ void norautp_state::init_enc()
static const uint8_t data_sub_table_0a[0x100] = static const uint8_t data_sub_table_0a[0x100] =
{// 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f {// 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f
0x20, unkn, unkn, 0x62, 0x69, unkn, unkn, 0xc0, unkn, unkn, 0x98, unkn, unkn, unkn, unkn, 0x0e, // 0x0x 0x20, unkn, unkn, 0x62, 0x69, unkn, unkn, 0xc0, unkn, unkn, 0x98, unkn, unkn, unkn, unkn, 0x0e, // 0x0x
0x70, 0xfe, unkn, unkn, unkn, 0x18, 0x2c, 0x57, unkn, unkn, 0xe9, 0x50, 0x46, 0x16, 0xe6, unkn, // 0x1x 0x70, 0xfe, 0x19, unkn, unkn, 0x18, 0x2c, 0x57, unkn, unkn, 0xe9, 0x50, 0x46, 0x16, 0xe6, unkn, // 0x1x
unkn, unkn, 0x03, unkn, 0xe4, unkn, 0x64, 0xe8, 0xad, unkn, 0x05, 0x0a, 0x21, 0x07, unkn, unkn, // 0x2x unkn, unkn, 0x03, unkn, 0xe4, unkn, 0x64, 0xe8, 0xad, unkn, 0x05, 0x0a, 0x21, 0x07, unkn, unkn, // 0x2x
unkn, 0x0c, 0x56, 0x27, 0x4b, unkn, unkn, 0x80, 0x6c, unkn, unkn, 0x3f, 0x25, 0x63, 0x00, unkn, // 0x3x unkn, 0x0c, 0x56, 0x27, 0x4b, unkn, unkn, 0x80, 0x6c, unkn, unkn, 0x3f, 0x25, 0x63, 0x00, unkn, // 0x3x
0x4e, unkn, 0xd3, 0x41, 0x39, unkn, unkn, 0x09, unkn, 0x2a, unkn, 0x5d, unkn, 0x04, 0xd5, 0x2d, // 0x4x 0x4e, unkn, 0xd3, 0x41, 0x39, unkn, unkn, 0x09, unkn, 0x2a, unkn, 0x5d, unkn, 0x04, 0xd5, 0x2d, // 0x4x
@ -4305,7 +4305,7 @@ void norautp_state::init_enc()
0xd1, unkn, 0x54, unkn, 0x10, 0xbf, unkn, unkn, unkn, 0x1e, 0xc1, unkn, 0x0d, 0x32, 0xc7, unkn, // 0xax 0xd1, unkn, 0x54, unkn, 0x10, 0xbf, unkn, unkn, unkn, 0x1e, 0xc1, unkn, 0x0d, 0x32, 0xc7, unkn, // 0xax
0xcf, unkn, 0x14, unkn, unkn, unkn, unkn, unkn, 0x01, unkn, unkn, unkn, 0x1c, unkn, 0x3c, unkn, // 0xbx 0xcf, unkn, 0x14, unkn, unkn, unkn, unkn, unkn, 0x01, unkn, unkn, unkn, 0x1c, unkn, 0x3c, unkn, // 0xbx
0xa2, 0xf9, 0xb0, 0x44, unkn, 0x24, unkn, unkn, unkn, 0x12, 0x68, 0xe0, 0x11, 0x4d, unkn, 0x13, // 0xcx 0xa2, 0xf9, 0xb0, 0x44, unkn, 0x24, unkn, unkn, unkn, 0x12, 0x68, 0xe0, 0x11, 0x4d, unkn, 0x13, // 0xcx
unkn, 0x94, 0x49, unkn, unkn, unkn, unkn, 0x17, 0x33, unkn, unkn, unkn, unkn, 0xdf, 0xf4, unkn, // 0xdx unkn, 0x94, 0x49, unkn, unkn, unkn, unkn, 0x17, 0x33, unkn, unkn, unkn, unkn, 0xdf, 0xf4, 0xfa, // 0xdx
unkn, unkn, 0x30, unkn, 0x06, unkn, 0x02, unkn, 0x53, unkn, unkn, 0x9a, 0x92, 0x34, unkn, 0x0b, // 0xex unkn, unkn, 0x30, unkn, 0x06, unkn, 0x02, unkn, 0x53, unkn, unkn, 0x9a, 0x92, 0x34, unkn, 0x0b, // 0xex
0x4a, unkn, unkn, 0xc3, 0x4f, 0xf1, unkn, unkn, 0xfc, unkn, 0xef, 0xff, unkn, unkn, unkn, 0x51 // 0xfx 0x4a, unkn, unkn, 0xc3, 0x4f, 0xf1, unkn, unkn, 0xfc, unkn, 0xef, 0xff, unkn, unkn, unkn, 0x51 // 0xfx
}; };