mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
HACK: return 0xffff for the current program counter while fetching the vector as the segag80r protection currently relies on it. Reduce the number of extraneous reads that the segag80r protection performs. [smf]
This commit is contained in:
parent
acc42e344d
commit
b5f03f4ef9
@ -3126,6 +3126,8 @@ OP(op,ff) { rst(0x38);
|
||||
|
||||
void z80_device::take_nmi()
|
||||
{
|
||||
PRVPC = 0xffff; // HACK: segag80r protection kludge
|
||||
|
||||
/* Check if processor was halted */
|
||||
leave_halt();
|
||||
|
||||
@ -3146,6 +3148,8 @@ void z80_device::take_interrupt()
|
||||
{
|
||||
int irq_vector;
|
||||
|
||||
PRVPC = 0xffff; // HACK: segag80r protection kludge
|
||||
|
||||
/* Check if processor was halted */
|
||||
leave_halt();
|
||||
|
||||
@ -3230,6 +3234,8 @@ void z80_device::take_interrupt()
|
||||
|
||||
void nsc800_device::take_interrupt_nsc800()
|
||||
{
|
||||
PRVPC = 0xffff; // HACK: segag80r protection kludge
|
||||
|
||||
/* Check if processor was halted */
|
||||
leave_halt();
|
||||
|
||||
|
@ -172,8 +172,8 @@ offs_t segag80r_state::decrypt_offset(address_space &space, offs_t offset)
|
||||
if ((uint16_t)pc == 0xffff || space.read_byte(pc) != 0x32)
|
||||
return offset;
|
||||
|
||||
/* fetch the low byte of the address and munge it */
|
||||
return (offset & 0xff00) | (*m_decrypt)(pc, space.read_byte(pc + 1));
|
||||
/* munge the low byte of the address */
|
||||
return (offset & 0xff00) | (*m_decrypt)(pc, offset & 0xff);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(segag80r_state::mainram_w)
|
||||
|
Loading…
Reference in New Issue
Block a user