IF "<Obey$Dir>"="@" THEN Set Obey$Dir ADFS::CanFodder.!Cannon

Set Can$Dir <Obey$Dir>
Set Floppy$Dir adfs::0.$

IF ADFFS$CPUID>=&A10 THEN ADFRemapVideoMemory 9 80 ELSE ScreenSize 80
IF ADFFS$CPUID<&A10 THEN ECHO <22><9>

WimpSlot -min 1200k -max 1200k
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT 0

| Fix page zero access bug:
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F4678 E5990008 EA00FE5F
IF ADFFS$CPUID>=&A10 THEN MEMA 134000 E3390000 03E00000 15990008 EAFF019A

| Fix bug in code: LDRB R0,[R6,#5] should be LDRB R0,[R9,#5]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA 124040 E5D60005 E5D90005
| Fix bug in code: LDR R0,[R7,#2] should be LDR R0,[R6,#2]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F8298 E5970002 E5960002
| Fix bug in code: LDR R14,[R7,#52] should be LDR R0,[R6,#52]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F82A4 E597E034 E596E034
| Fix bug in code: LDR R0,[R7,#6] should be LDR R0,[R6,#6]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F82B0 E5970006 E5960006
| Fix bug in code: LDR R14,[R7,#56] should be LDR R0,[R6,#56]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F82BC E597E038 E596E038

| Speed up decoding
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA 12A008 E38DD812 E38DD813
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA 12A014 E38CC812 E38CC813

Echo Cannon Fodder Loading. Please wait.....
ADFJoystickMouse J1 S=B1 M=B2 A=B3
ADFClipScreen 10:7
Run <Can$Dir>.Loader
ADFJoystickMouse
ADFClipScreen
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT
IF ADFFS$CPUID>=&A10 THEN ADFRemapVideoMemory
UnSet Can$Dir
UnSet Floppy$Dir