--- BasiliskII/src/emul_op.cpp 2000/10/09 17:45:57 1.21 +++ BasiliskII/src/emul_op.cpp 2001/02/02 20:52:57 1.23 @@ -1,7 +1,7 @@ /* * emul_op.cpp - 68k opcodes for ROM patches * - * Basilisk II (C) 1997-2000 Christian Bauer + * Basilisk II (C) 1997-2001 Christian Bauer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -248,6 +248,22 @@ void EmulOp(uint16 opcode, M68kRegisters WriteMacInt8(asc_regs + 0x800, 0x0f); // Set ASC version number 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; }