- Faked VIA, SCCRd, SCCWr base addressed to scratch memory area in

EMUL_OP_INSTALL_DRIVERS
This commit is contained in:
gbeauche 2001-01-30 07:27:23 +00:00
parent e94d644b19
commit 9b2ed3594e
2 changed files with 21 additions and 2 deletions

View File

@ -3,8 +3,11 @@ Bugs:
- Something still seems to be wrong with the UAE FPU (Calculator and scroll - Something still seems to be wrong with the UAE FPU (Calculator and scroll
bars in MacOS 8 don't work properly), Lauri has fixed this and it has to bars in MacOS 8 don't work properly), Lauri has fixed this and it has to
be integrated into the main sources be integrated into the main sources
- Unix: real addressing mode: something is still deadly wrong there though it - Real memory addressing: something is still wrong in the Unix part, though
works for example under Linux/i386. it works under Linux/i386
- Direct or real memory addressing: need to disable initialization of VIA,
SCCRd and SCCWr to invalid memory regions instead of patching them in
EMUL_OP_INSTALL_DRIVERS
General: General:
- Sony: rdVerify, Tag Buffer, DskErr - Sony: rdVerify, Tag Buffer, DskErr

View File

@ -248,6 +248,22 @@ void EmulOp(uint16 opcode, M68kRegisters *r)
WriteMacInt8(asc_regs + 0x800, 0x0f); // Set ASC version number WriteMacInt8(asc_regs + 0x800, 0x0f); // Set ASC version number
WriteMacInt32(0xcc0, asc_regs); // Set ASCBase WriteMacInt32(0xcc0, asc_regs); // Set ASCBase
} }
#if (REAL_ADDRESSING || DIRECT_ADDRESSING) && defined(USE_SCRATCHMEM_SUBTERFUGE)
extern uint8 *ScratchMem;
// Set VIA base address to scratch memory area
D(bug("Patch VIA base address [0x%x] to ScratchMem\n", ReadMacInt32(0x1d4)));
WriteMacInt32(0x1d4, Host2MacAddr(ScratchMem));
// Set SCCRd base address to scratch memory area
D(bug("Patch SCCRd base address [0x%x] to ScratchMem\n", ReadMacInt32(0x1d8)));
WriteMacInt32(0x1d8, Host2MacAddr(ScratchMem));
// Set SCCWr base address to scratch memory area
D(bug("Patch SCCWr base address [0x%x] to ScratchMem\n", ReadMacInt32(0x1dc)));
WriteMacInt32(0x1dc, Host2MacAddr(ScratchMem));
#endif
break; break;
} }