/*static*/ void teddybb_decode(void) { /*static*/ const UINT8 convtable[32][4] = { // opcode data address // A B C D A B C D { 0x20,0x28,0x00,0x08 }, { 0x80,0x00,0xa0,0x20 }, // ...0...0...0...0 { 0x20,0x28,0x00,0x08 }, { 0xa0,0xa8,0x20,0x28 }, // ...0...0...0...1 { 0x28,0x08,0xa8,0x88 }, { 0xa0,0x80,0xa8,0x88 }, // ...0...0...1...0 { 0xa0,0xa8,0x20,0x28 }, { 0xa0,0x80,0xa8,0x88 }, // ...0...0...1...1 { 0x20,0x28,0x00,0x08 }, { 0x28,0x08,0xa8,0x88 }, // ...0...1...0...0 { 0xa0,0xa8,0x20,0x28 }, { 0xa0,0xa8,0x20,0x28 }, // ...0...1...0...1 { 0xa0,0x80,0xa8,0x88 }, { 0x28,0x08,0xa8,0x88 }, // ...0...1...1...0 { 0xa0,0xa8,0x20,0x28 }, { 0x28,0x08,0xa8,0x88 }, // ...0...1...1...1 { 0x80,0x00,0xa0,0x20 }, { 0x80,0x00,0xa0,0x20 }, // ...1...0...0...0 { 0xa0,0x20,0xa8,0x28 }, { 0xa0,0xa8,0x20,0x28 }, // ...1...0...0...1 { 0xa0,0x20,0xa8,0x28 }, { 0xa0,0x80,0xa8,0x88 }, // ...1...0...1...0 { 0xa0,0x80,0xa8,0x88 }, { 0xa0,0x80,0xa8,0x88 }, // ...1...0...1...1 { 0x80,0x00,0xa0,0x20 }, { 0x20,0x28,0x00,0x08 }, // ...1...1...0...0 { 0xa0,0xa8,0x20,0x28 }, { 0xa0,0x20,0xa8,0x28 }, // ...1...1...0...1 { 0x80,0x00,0xa0,0x20 }, { 0xa0,0x80,0xa8,0x88 }, // ...1...1...1...0 { 0xa0,0xa8,0x20,0x28 }, { 0xa0,0x20,0xa8,0x28 } // ...1...1...1...1 }; sega_decode(convtable); }
DRIVER_INIT_MEMBER(sg1000a_state,chwrestl) { static const UINT8 convtable[32][4] = { /* opcode data address */ /* A B C D A B C D */ { 0x28,0x08,0xa8,0x88 }, { 0x88,0x80,0x08,0x00 }, /* ...0...0...0...0 */ { 0x28,0x08,0xa8,0x88 }, { 0x28,0xa8,0x08,0x88 }, /* ...0...0...0...1 */ { 0x88,0x80,0x08,0x00 }, { 0x88,0x08,0x80,0x00 }, /* ...0...0...1...0 */ { 0x88,0x08,0x80,0x00 }, { 0x28,0xa8,0x08,0x88 }, /* ...0...0...1...1 */ { 0x28,0x08,0xa8,0x88 }, { 0x88,0x80,0x08,0x00 }, /* ...0...1...0...0 */ { 0x88,0x80,0x08,0x00 }, { 0x88,0x80,0x08,0x00 }, /* ...0...1...0...1 */ { 0x88,0x08,0x80,0x00 }, { 0x88,0x08,0x80,0x00 }, /* ...0...1...1...0 */ { 0xa0,0x80,0xa8,0x88 }, { 0xa0,0x80,0xa8,0x88 }, /* ...0...1...1...1 */ { 0x80,0xa0,0x00,0x20 }, { 0x28,0x08,0xa8,0x88 }, /* ...1...0...0...0 */ { 0x28,0xa8,0x08,0x88 }, { 0x28,0x08,0xa8,0x88 }, /* ...1...0...0...1 */ { 0x80,0xa0,0x00,0x20 }, { 0x80,0xa0,0x00,0x20 }, /* ...1...0...1...0 */ { 0x28,0xa8,0x08,0x88 }, { 0x80,0xa0,0x00,0x20 }, /* ...1...0...1...1 */ { 0xa0,0x80,0xa8,0x88 }, { 0x28,0x08,0xa8,0x88 }, /* ...1...1...0...0 */ { 0x80,0xa0,0x00,0x20 }, { 0xa0,0x80,0xa8,0x88 }, /* ...1...1...0...1 */ { 0xa0,0x80,0xa8,0x88 }, { 0x80,0xa0,0x00,0x20 }, /* ...1...1...1...0 */ { 0xa0,0x80,0xa8,0x88 }, { 0xa0,0x80,0xa8,0x88 } /* ...1...1...1...1 */ }; DRIVER_INIT_CALL(sg1000a); sega_decode(memregion("maincpu")->base(), m_decrypted_opcodes, 0x8000, convtable); }