mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
code de-duplication (nw)
This commit is contained in:
parent
ab889a6798
commit
48ce595164
@ -5376,37 +5376,11 @@ DRIVER_INIT_MEMBER(system1_state,sega315_5132)
|
||||
sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
|
||||
}
|
||||
|
||||
// todo, collapse with above (this is sega315_5132 with an extra layer, probably bootleg)
|
||||
DRIVER_INIT_MEMBER(system1_state,myherok)
|
||||
{
|
||||
static const UINT8 convtable[32][4] =
|
||||
{
|
||||
/* opcode data address */
|
||||
/* A B C D A B C D */
|
||||
{ 0x20,0x00,0xa0,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...0...0 */
|
||||
{ 0x20,0x00,0xa0,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...0...1 */
|
||||
{ 0xa8,0xa0,0x88,0x80 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...0...1...0 */
|
||||
{ 0x08,0x88,0x00,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...0...0...1...1 */
|
||||
{ 0x20,0x00,0xa0,0x80 }, { 0x28,0xa8,0x08,0x88 }, /* ...0...1...0...0 */
|
||||
{ 0x20,0x00,0xa0,0x80 }, { 0x08,0x88,0x00,0x80 }, /* ...0...1...0...1 */
|
||||
{ 0x28,0xa8,0x08,0x88 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...1...1...0 */
|
||||
{ 0x08,0x88,0x00,0x80 }, { 0xa8,0xa0,0x88,0x80 }, /* ...0...1...1...1 */
|
||||
{ 0x28,0xa8,0x08,0x88 }, { 0x20,0x00,0xa0,0x80 }, /* ...1...0...0...0 */
|
||||
{ 0x80,0xa0,0x88,0xa8 }, { 0x20,0x00,0xa0,0x80 }, /* ...1...0...0...1 */
|
||||
{ 0x80,0xa0,0x88,0xa8 }, { 0x80,0xa0,0x88,0xa8 }, /* ...1...0...1...0 */
|
||||
{ 0xa8,0xa0,0x88,0x80 }, { 0x80,0xa0,0x88,0xa8 }, /* ...1...0...1...1 */
|
||||
{ 0x88,0x80,0x08,0x00 }, { 0x88,0x80,0x08,0x00 }, /* ...1...1...0...0 */
|
||||
{ 0x88,0x80,0x08,0x00 }, { 0x08,0x88,0x00,0x80 }, /* ...1...1...0...1 */
|
||||
{ 0x88,0x80,0x08,0x00 }, { 0xa8,0xa0,0x88,0x80 }, /* ...1...1...1...0 */
|
||||
{ 0x88,0x80,0x08,0x00 }, { 0xa8,0xa0,0x88,0x80 } /* ...1...1...1...1 */
|
||||
};
|
||||
|
||||
|
||||
int A;
|
||||
UINT8 *rom;
|
||||
|
||||
DRIVER_INIT_CALL(bank00);
|
||||
|
||||
/* additionally to the usual protection, all the program ROMs have data lines */
|
||||
/* D0 and D1 swapped. */
|
||||
rom = m_maincpu_region->base();
|
||||
@ -5443,7 +5417,7 @@ DRIVER_INIT_MEMBER(system1_state,myherok)
|
||||
}
|
||||
}
|
||||
|
||||
sega_decode(m_maincpu_region->base(), m_decrypted_opcodes, 0x8000, convtable);
|
||||
DRIVER_INIT_CALL(sega315_5132);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(system1_state,sega315_5162)
|
||||
@ -5536,62 +5510,10 @@ DRIVER_INIT_MEMBER(system1_state,sega315_5177)
|
||||
sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table);
|
||||
}
|
||||
|
||||
// todo, refactor into above
|
||||
DRIVER_INIT_MEMBER(system1_state,sega315_5177_s2)
|
||||
{
|
||||
// 315-5177
|
||||
static const UINT8 xor_table[128] =
|
||||
{
|
||||
0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41,
|
||||
0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40,
|
||||
0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41,
|
||||
0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40,
|
||||
0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41,
|
||||
0x05,0x55,0x50,0x14,
|
||||
|
||||
0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41,
|
||||
0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40,
|
||||
0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41,
|
||||
0x05,0x55,0x50,0x14,0x41,0x45,0x00,0x50,0x54,0x11,0x45,0x40,
|
||||
0x04,0x54,0x51,0x15,0x40,0x44,0x01,0x51,0x55,0x10,0x44,0x41,
|
||||
0x05,0x55,0x50,0x14,
|
||||
};
|
||||
|
||||
static const int swap_table[128] =
|
||||
{
|
||||
0,0,0,0,
|
||||
1,1,1,1,1,
|
||||
2,2,2,2,2,
|
||||
3,3,3,3,
|
||||
4,4,4,4,4,
|
||||
5,5,5,5,5,
|
||||
6,6,6,6,6,
|
||||
7,7,7,7,7,
|
||||
8,8,8,8,
|
||||
9,9,9,9,9,
|
||||
10,10,10,10,10,
|
||||
11,11,11,11,11,
|
||||
12,12,12,12,12,
|
||||
13,13,
|
||||
|
||||
8,8,8,8,
|
||||
9,9,9,9,9,
|
||||
10,10,10,10,10,
|
||||
11,11,11,11,
|
||||
12,12,12,12,12,
|
||||
13,13,13,13,13,
|
||||
14,14,14,14,14,
|
||||
15,15,15,15,15,
|
||||
16,16,16,16,
|
||||
17,17,17,17,17,
|
||||
18,18,18,18,18,
|
||||
19,19,19,19,19,
|
||||
20,20,20,20,20,
|
||||
21,21,
|
||||
};
|
||||
|
||||
DRIVER_INIT_CALL(sega315_5177);
|
||||
DRIVER_INIT_CALL(bank0c);
|
||||
sega_decode_2(m_maincpu_region->base(), m_decrypted_opcodes, xor_table, swap_table);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user