IF "<Obey$Dir>"="@" THEN Set Obey$Dir ADFS::ChocksAway.$.!Extras
IfThere <Obey$Dir>.^.!Chocks.F1045401 THEN ADFMount <Obey$Dir>.^.!Chocks.F1045401
Set Chocks$Dir <Obey$Dir>.^.!Chocks.!Chocks
Set ChockMaps$Dir <Obey$Dir>.^.!Chocks.!Maps
Set ChockM2$Dir <ChockMaps$Dir>
Set ChockBlackBox$Dir <Obey$Dir>.^.!Chocks.!BlackBox
ScreenSize 160
SpriteFree 56
RMAFree 120
HideCommandWindow
WimpSlot -min 720K -max 720K
ADFScreenLoad <Chocks$Dir>.!Piccy
ECHO <19><1><24><255><255><255>
ADFPause 100
RMLoad ADFFS:extras.JoyMod
IF ADFFS$OSVersion>=&35000 THEN GOARM3JIT 0
RMLoad <Chocks$Dir>.SOUNDS.GUNMD2
RMLoad <Chocks$Dir>.SOUNDS.WHEELMD
RMLoad <Chocks$Dir>.SOUNDS.EXPLODEMD2
RMLoad <Chocks$Dir>.SOUNDS.EXPLODEMD3
RMLoad <Chocks$Dir>.SOUNDS.ENGINE
SLoad <Chocks$Dir>.SPRITES.2PLAYER
<Chocks$Dir>.SPRITES.CHOCKCHAR
LOAD <Chocks$Dir>.ZFiler 10000
ADFCRC 10000 10144 441BFE4F ZFiler
| Load init code from disc
MEMA 10128 E3A0500C >10138 E2555001 1AFFFFFA EF000011
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.<160>.ChockExtra 9000
ADFCRC 9000 B9E4
SetEval fix$up 0
IF ADFFS$CRC=&998DE837 THEN SetEval fix$up -1
IF NOT fix$up THEN RMKill ZFiler
IF NOT fix$up THEN ERROR ChocksExtra doesn't match the expected version
IF "<Obey$Dir>"="ADFS::ChocksAway.$.!Extras" THEN SetEval fix$up 0
| Run from HD
IF fix$up THEN MEMA 955F "     <Chocks$Dir>" >9590 "     <Chocks$Dir>" >95BF "     <Chocks$Dir>" >95E7 "     <Chocks$Dir>" >9611 "     <Chocks$Dir>"
IF fix$up THEN MEMA 963C "     <Chocks$Dir>" >9673 "     <Chocks$Dir>" >9BC5 "     <Chocks$Dir>" >9C36 "<ChockMaps$Dir>" >9C64 "<ChockMaps$Dir>"
IF fix$up THEN MEMA 9C90 "<ChockMaps$Dir>" >9DD6 "<ChockMaps$Dir>" >9E09 "<ChockMaps$Dir>" >9E3A "<ChockMaps$Dir>" >9E71 "<ChockMaps$Dir>"
IF fix$up THEN MEMA 9F6E "<ChockMaps$Dir>" >9FA1 "<ChockMaps$Dir>" >9FD2 "<ChockMaps$Dir>" >A009 "<ChockMaps$Dir>" >A3E7 "<ChockM2$Dir>"
IF fix$up THEN MEMA B862 "     <Chocks$Dir>" >B88A "     <Chocks$Dir>" >B8E7 "     <Chocks$Dir>" >B90F "     <Chocks$Dir>"
| Check Joystick
MEMA B 9004 C8 99 "&EFFC0" B8 "J%:" F4
MEMA B B72F C8 98 3A F4 | Quit cleanly
| Bugfix: Unaligned writes @ 1C174, 1C304, 20620
| Bugfix: Unset memptr @ CODE%+1EDC (should point to +67FC)
MEMA BCE00 E92D400F E28FE034 E8BE000C E3320000 17803002 1AFFFFFB E8BE000C E3320000 17813002 1AFFFFFB E8BD800F
MEMA BCE40 13C0 E28030B0 1550 E28050B0 586C E58E30B0 5870 E58E30B4 1E8C E1A00000 1EDC 215AC 0 0 5E64 5988000 0
MEMA 9468 4F564B80 454D554C 52563D32 3A343421 57454956 563D2532 38342152 4655423A 563D3246 32352152 4E4F433A 554E4954 563D3245 36352152 4A424F3A 4E544345
MEMA 94A8 3D32534F 36215256 B2020D30 4C22FF33 2044414F 53464441 2E303A3A 43212E24 6B636F68 313C2E73 2E3E3036 65646F43 2B222032 4F437EC3 25324544 31B3020D
MEMA 94E8 4F4C22FF 41204441 3A534644 242E303A 6843212E 736B636F 36313C2E 432E3E30 2065646F 7EC32B22 45444F43 B4020D25 2099C815 69465A22 5F72656C 22746553
MEMA 9528 020D312C 25412ABC 444F433D 423A2545 4F433D25 25324544 4226D63A 30304543 5320DE3A 45524150 30303120

ADFForceVSync 4
Set Alias$DISMOUNT -adfs-%DISMOUNT %0
BASIC -quit @00009000,0000B9E4
UnSet Alias$DISMOUNT
SNew
FX 20
ADFForceVSync 0
X RMKill ZFiler
X RMKill JoyMod
X RMKill GUNMD2
X RMKill WHEELMD
X RMKill EXPLODEMD2
X RMKill EXPLODEMD3
X RMKill ENGINE
IF ADFFS$OSVersion>=&35000 THEN GOARM3JIT
UnSet Chocks$Dir
UnSet ChockMaps$Dir
UnSet ChockM2$Di
UnSet ChockBlackBox$Dir
UnSet fix$up