#include "old_hardware_setup.h" void oldHardware_takeOver(struct OldHardwareSetup *oldHardwareSetup) { oldHardwareSetup->OldView = ((struct GfxBase *)GfxBase)->ActiView; oldHardwareSetup->OldCopper = (ULONG)((struct GfxBase *)GfxBase)->copinit; oldHardwareSetup->OldDMACON = custom.dmaconr | 0x8000; oldHardwareSetup->OldINTENA = custom.intenar | 0x8000; oldHardwareSetup->OldINTREQ = custom.intreqr | 0x8000; oldHardwareSetup->OldADKCON = custom.adkconr | 0x8000; // disable interrupts custom.intena = 0xc000; custom.intena = 0x3fff; LoadView(NULL); WaitTOF(); WaitTOF(); OwnBlitter(); WaitBlit(); Forbid(); } void oldHardware_giveBack(struct OldHardwareSetup *oldHardwareSetup) { custom.cop1lc = oldHardwareSetup->OldCopper; LoadView(oldHardwareSetup->OldView); custom.dmacon = 0x7FFF; custom.dmacon = oldHardwareSetup->OldDMACON; custom.intena = 0x7FFF; custom.intena = oldHardwareSetup->OldINTENA; custom.intreq = 0x7FFF; custom.intreq = oldHardwareSetup->OldINTREQ; custom.adkcon = 0x7FFF; custom.adkcon = oldHardwareSetup->OldADKCON; WaitTOF(); WaitTOF(); WaitBlit(); DisownBlitter(); Permit(); }