SetEval chock$floppy 0
IF "<Obey$Dir>"="@" THEN SetEval chock$floppy -1
IF chock$floppy THEN Set Obey$Dir ADFS::Extra_Miss.$.!Chocks_2
IfThere <Obey$Dir>.F1045403 THEN ADFMount <Obey$Dir>.F1045403
Set Chocks$Dir <Obey$Dir>
Set Chocks_2$Dir <Obey$Dir>
IF NOT chock$floppy THEN Set Chocks$Dir <Obey$Dir>.^.!Chocks.!Chocks
IF NOT chock$floppy THEN Set Chocks_2$Dir <Obey$Dir>.!Chocks_2
Set ChockMaps$Dir <Obey$Dir>.^.!Chocks.!Maps
Set ChockMap2$Dir <Obey$Dir>.!Maps_2
Set ChockPhotos$Dir <Obey$Dir>.!Photos
Set ChockBlackBox$Dir <Obey$Dir>.!BlackBox
ScreenSize 160
SpriteFree 56
RMAFree 120
HideCommandWindow
WimpSlot -min 720K -max 720K
SLoad <Chocks_2$Dir>.Sprites
LOAD <Chocks$Dir>.ZFiler 10000
ADFCRC 10000 10144 441BFE4F ZFiler
RMLoad ADFFS:extras.JoyMod
| Load init code from disc
MEMA 10128 E3A0500C >10138 E2555001 1AFFFFFA EF000011
IF ADFFS$OSVersion>=&35000 THEN GOARM3JIT 0
GO 10104
| Fix stack corruption on Initialise
MEMA 10104 EA00000E >101D0 E8BD803F
| Prevent hang on Terminate
MEMA 101FC EF020020 >1020C EF020020 >10220 EF020020 >10234 EF020020 >10244 EF020020 >10254 EF020020 >10258 E1A00000
| Fix stack corruption in FindV handler
MEMA 1047C E92D40C0 >10498 08BDC0C0 >1049C E8BD80C0 >1051C E8BDC0C0
| Insert into RMA
MEMA 8000 E3A0000B E3A01801 E3A0205C E2822B03 EF02001E EF020011
GO 8000
LOAD adfs::0.$.!Chocks_2.<160>.ChocksAway 9000
ADFCRC 9000 1102B
SetEval fix$up 0
IF ADFFS$CRC=&EB694A68 THEN SetEval fix$up -1
IF NOT fix$up THEN RMKill ZFiler
IF NOT fix$up THEN ERROR Extra Missions disc doesn't match the expected version
IF chock$floppy THEN SetEval fix$up 0
| Run from HD
IF fix$up THEN MEMA B 969D "     <Chocks_2$Dir>" >9714 F4 >9753 "     <Chocks$Dir>" >97BB "     <Chocks$Dir>" >99A4 "     <Chocks$Dir>"
IF fix$up THEN MEMA 99CF "     <Chocks$Dir>" >99FB "     <Chocks$Dir>" >9A2A "     <Chocks$Dir>" >9A59 "     <Chocks$Dir>" >9A84 "     <Chocks$Dir>"
IF fix$up THEN MEMA 9AB0 "     <Chocks$Dir>" >9AE1 "     <Chocks$Dir>" >9B10 "     <Chocks$Dir>" >9B38 "     <Chocks$Dir>" >9B62 "     <Chocks$Dir>"
IF fix$up THEN MEMA 9B8D "     <Chocks$Dir>" >9BC4 "     <Chocks$Dir>" >9C71 "  <ChockMap2$Dir>" >9CAC "  <ChockMap2$Dir>" >9CDB "  <ChockMap2$Dir>"
IF fix$up THEN MEMA 9D28 "     <Chocks_2$Dir>" >9FC9 "  <ChockMap2$Dir>" >A005 "  <ChockMap2$Dir>" >A042 "  <ChockMap2$Dir>" >A07F "  <ChockMap2$Dir>"
IF fix$up THEN MEMA A0C7 "  <ChockMap2$Dir>" >A0FE "  <ChockMap2$Dir>" >A144 "  <ChockMap2$Dir>" >A188 "  <ChockMap2$Dir>" >A1DA "  <ChockMap2$Dir>"
IF fix$up THEN MEMA A5BA "<ChockBlackBox$Dir>" >BFB2 "<ChockPhotos$Dir>" >C027 "<ChockPhotos$Dir>" >C10F "<ChockPhotos$Dir>" >CC33 "  <ChockMap2$Dir>"
IF fix$up THEN MEMA CC7C "  <ChockMap2$Dir>" >E780 "     <Chocks$Dir>" >E7A8 "     <Chocks$Dir>" >E802 "     <Chocks$Dir>" >E82A "     <Chocks$Dir>"
IF fix$up THEN MEMA E95E "  <ChockMap2$Dir>" >F276 "<ChockBlackBox$Dir>" >F3C7 "<ChockBlackBox$Dir>" >F510 "<ChockBlackBox$Dir>" >F561 "<ChockBlackBox$Dir>"
IF fix$up THEN MEMA F615 "<ChockBlackBox$Dir>" >F666 "<ChockBlackBox$Dir>" >F87D "<ChockBlackBox$Dir>" >F8E5 "<ChockBlackBox$Dir>"
IF fix$up THEN MEMA F9F6 "<ChockBlackBox$Dir>" >FC91 "<ChockBlackBox$Dir>"
IF fix$up THEN MEMA B EB1E F4 | 6160
IF fix$up THEN MEMA B F591 "D%=1<<20:" F4 | 6990
IF fix$up THEN MEMA B F7A5 "D%=1<<20:" F4 | 7110
IF fix$up THEN MEMA B FDDB "D%=1<<20:" F4 | 7480
IF fix$up THEN MEMA B FE2A F4 | 7490
MEMA B 9670 "A%=CODE%:" D6 "&BCE00" 3A F4 | 350
MEMA B E384 C8 98 3A F4 | Quit cleanly
MEMA B E27C 1B D1 3D 30 3A F5 FD 91 3E 30 3A C8 97 B8 41 25 2C 53 25 3A E1 3A 3A 3A | Added delays to key checks
| Bugfix: Page Zero Access @ 1676C, 16790, 198D8
| Bugfix: Unaligned writes @ 18BD8
MEMA BCE00 E92D4007 E28FE014 E8BE0006 E3310000 17802001 1AFFFFFB E8BD8007
MEMA BCE20 8768 E1A00000 5AEC E1A00000 6070 EBFFFD39 6074 E51FF004 7A4C E3C00003 7A50 E5809000 7A54 E5809640 7A58 E59A9000 7A5C E5809140 7A60 E5809280 7A64 E58093C0 7A68 E5809500 0

ADFForceVSync 4
Set Alias$DISMOUNT -adfs-%DISMOUNT %0
BASIC -quit @00009000,0001102B
UnSet Alias$DISMOUNT
SNew
FX 20
ADFForceVSync 0
X RMKill ZFiler
X RMKill JoyMod
X RMKill GUNMD2
X RMKill WHEELMD
X RMKill EXPLODEMD3
X RMKill ENGINE
X RMKill Explode
IF ADFFS$OSVersion>=&35000 THEN GOARM3JIT
UnSet Chocks$Dir
UnSet ChockMaps$Dir
UnSet Chocks_2$Dir
UnSet ChockMap2$Dir
UnSet ChockPhotos$Dir
UnSet ChockBlackBox$Dir
UnSet fix$up
UnSet chock$floppy