Set Obey$Dir ADFS::0.$.!GBAhd
HideCommandWindow
LOAD <Obey$Dir>.resources.mode 8000
ADFCFC 8000 80F0 FD7BD7B9 resources.mode
IF ADFFS$OSVersion>=&35000 THEN ADFRemapVideoMemory 9 104 ELSE ScreenSize 104
ECHO <22><9>
RMAFree 88
SpriteFree 32
RAMFSFree 64

Set GBA$Dir <Obey$Dir>
Set Sound$Dir <GBA$Dir>.music.sounds
Set Sound2$Dir <GBA$Dir>.!Disc2.sounds
Set Music2$Dir <GBA$Dir>.!Disc2.music
WimpSlot -min 700K -max 700K
RMLoad ADFFS:trackers.exsound

IF ADFFS$OSVersion>=&35000 THEN ADFEmulateRISCOS 2.0
IF ADFFS$CPUID>=&A10 THEN GOARM4JIT 0
RMLoad <GBA$Dir>.resources.unsquash
RMLoad <GBA$Dir>.resources.effects
RMLoad <GBA$Dir>.resources.mode
Load <GBA$Dir>.resources.charset

| GBAmode needs to set HBSR / HBER
Set Key$0 PAGE=&AF300|MSYS "OS_Module",18,"GBAmode" TO ,,,C%:C%!&80=&11A0F00E:C%!&8C=&11A0F00E:FOR L%=&E4 TO &B0 STEP -4:!(C%+L%+8)=C%!L%:NEXT:C%!&98=&E28F401C:C%!&B0=&880D8000:C%!&B4=&943B8000|M
Set Key$1 LOAD "|<GBA$Dir|>.protect.!Loader0"|M130MODE99
IF ADFFS$OSVersion>=&35000 THEN Set Key$1 <Key$1>:D%=&3400000:!D%=&880D8000:!D%=&943B8000:!D%=&8C070000:!D%=&903B0000
Set Key$1 <Key$1>|M460QUIT|M*unset key$*|MRUN|F|M
ECHO <21>
FX 225,1
FX 21,0
FX 138,0,128
FX 138,0,129
BASIC
Set Key$0 PAGE=&AF300|MLOAD "|<GBA$Dir|>.protect.!RunImage"|M
| Swap frames, before setting HDSR / HDER
IF ADFFS$OSVersion>=&35000 THEN Set Key$0 <Key$0>270!&AC214=&E1A00000:!&AC4F4=&EAFFFF5C|M
Set Key$0 <Key$0>5170QUIT|MRUN|F|M
ECHO <21>
FX 21,0
FX 138,0,128
BASIC
RMKill GBAmode
IF ADFFS$CPUID>=&A10 THEN GOARM4JIT
IF ADFFS$OSVersion>=&35000 THEN ADFRemapVideoMemory
IF ADFFS$OSVersion>=&35000 THEN ADFEmulateRISCOS
RMKill ExSound