mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +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);
|
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)
|
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;
|
int A;
|
||||||
UINT8 *rom;
|
UINT8 *rom;
|
||||||
|
|
||||||
DRIVER_INIT_CALL(bank00);
|
|
||||||
|
|
||||||
/* additionally to the usual protection, all the program ROMs have data lines */
|
/* additionally to the usual protection, all the program ROMs have data lines */
|
||||||
/* D0 and D1 swapped. */
|
/* D0 and D1 swapped. */
|
||||||
rom = m_maincpu_region->base();
|
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)
|
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);
|
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)
|
DRIVER_INIT_MEMBER(system1_state,sega315_5177_s2)
|
||||||
{
|
{
|
||||||
// 315-5177
|
DRIVER_INIT_CALL(sega315_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(bank0c);
|
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