mirror of
https://github.com/holub/mame
synced 2025-05-03 21:13:18 +03:00
4roses: More program decryption (nw)
This commit is contained in:
parent
cb552d1593
commit
a0dc658589
@ -200,9 +200,11 @@ public:
|
||||
void _4roses(machine_config &config);
|
||||
void rugby(machine_config &config);
|
||||
private:
|
||||
DECLARE_READ8_MEMBER(_4roses_opcode_r);
|
||||
DECLARE_READ8_MEMBER(rugby_opcode_r);
|
||||
|
||||
void _4roses_map(address_map &map);
|
||||
void _4roses_opcodes_map(address_map &map);
|
||||
void rugby_map(address_map &map);
|
||||
void rugby_opcodes_map(address_map &map);
|
||||
|
||||
@ -232,6 +234,22 @@ void _4roses_state::_4roses_map(address_map &map)
|
||||
map(0x6000, 0xffff).rom().region("maincpu", 0x6000);
|
||||
}
|
||||
|
||||
READ8_MEMBER(_4roses_state::_4roses_opcode_r)
|
||||
{
|
||||
uint8_t data = m_maincpu->space(AS_PROGRAM).read_byte(offset);
|
||||
if ((offset & 0x7c00) == 0x6400)
|
||||
data = bitswap<8>(data ^ 0x3f, 3, 4, 2, 5, 1, 6, 0, 7);
|
||||
else if ((offset & 0x7c00) == 0x6000)
|
||||
data = bitswap<8>(data ^ 0x68, 4, 3, 2, 1, 0, 7, 6, 5);
|
||||
return data;
|
||||
}
|
||||
|
||||
void _4roses_state::_4roses_opcodes_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x7fff).r(this, FUNC(_4roses_state::_4roses_opcode_r));
|
||||
map(0x8000, 0xffff).rom().region("maincpu", 0x8000);
|
||||
}
|
||||
|
||||
void _4roses_state::rugby_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x07ff).ram(); // AM_SHARE("nvram")
|
||||
@ -402,6 +420,7 @@ MACHINE_CONFIG_START(_4roses_state::_4roses)
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz, guess */
|
||||
MCFG_CPU_PROGRAM_MAP(_4roses_map)
|
||||
MCFG_CPU_OPCODES_MAP(_4roses_opcodes_map)
|
||||
|
||||
// MCFG_NVRAM_ADD_0FILL("nvram")
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user