| To HD install:
| 1. Create a !Chocks directory
| 2. Create !Chocks.!Run with the following contents
|     ADFBootFloppy F1045401
| 3. Copy the disc 1 image as !Chocks.F1045401
| 4. Create a !Chocks.!BlackBox directory
| 5. Copy !Format.Sprite from disc 1 as !Chocks.!BlackBox.!Sprites
| 6. Copy !Chocks.!BlackBox as !Chocks.!BlackBox2
| 7. Create a !Chocks.!Chocks directory
| 8. Copy !Chocks.* except the hidden folder, from disc 1 into !Chocks.!Chocks
| 9. Copy !Chocks.!Chocks.!Sprites as !Chocks.!Sprites
|10. Create a !Extras directory
|11. Copy !Extras.!Sprites from disc 1 !Extras.!Sprites on HD
|12. Create !Extras.!Run with the following contents
|     ADFBootFloppy F1045401b
|13. Copy !Maps from disc 2 as !Chocks.!Maps
|
| Extra missions (disc 3)
| 1. Create a !Chocks_2 directory
| 2. Create !Chocks_2.!Run with the following contents
|     ADFBootFloppy F1045403
| 3. Copy the disc 3 image as !Chocks_2.F1045403
| 4. Create a !Chocks_2.!BlackBox2 directory
| 5. Create a !Chocks_2.!Chocks_2 directory
| 6. Copy !Chocks_2.* except the hidden folder from disc 3 into !Chocks_2.!Chocks_2
| 7. Copy !Chocks_2.!Chocks_2.!Sprites as !Chocks_2.!Sprites
| 8. Copy !Maps_2 as !Chocks_2.!Maps_2
| 9. Create a !Chocks_2.!Photos directory
|10. Copy !Format_S.!Sprites_P as !Chocks_2.!Photos.!Sprites
SetEval chock$floppy 0
IF "<Obey$Dir>"="@" THEN SetEval chock$floppy -1
IF chock$floppy THEN Set Obey$Dir ADFS::ChocksAway.$.!Chocks
IfThere <Obey$Dir>.F1045401 THEN ADFMount <Obey$Dir>.F1045401
Set Chocks$Dir <Obey$Dir>
IF NOT chock$floppy THEN Set Chocks$Dir <Chocks$Dir>.!Chocks
Set ChockMaps$Dir <Obey$Dir>.!Maps
Set ChockBlackBox$Dir <Obey$Dir>.!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.SPRITES
SMerge <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>.ChocksAway 9000
ADFCRC 9000 1021A
SetEval fix$up 0
IF ADFFS$CRC=&D4184D16 THEN SetEval fix$up -1
IF NOT fix$up THEN RMKill ZFiler
IF NOT fix$up THEN ERROR ChocksAway disc 1 doesn't match the expected version
IF chock$floppy THEN SetEval fix$up 0
| Run from HD
IF fix$up THEN MEMA 973F "     <Chocks$Dir>" >9767 "     <Chocks$Dir>" >9798 "     <Chocks$Dir>" >97C7 "     <Chocks$Dir>" >97EF "     <Chocks$Dir>"
IF fix$up THEN MEMA 9819 "     <Chocks$Dir>" >9844 "     <Chocks$Dir>" >987B "     <Chocks$Dir>" >9919 "<ChockMaps$Dir>" >995C "<ChockMaps$Dir>"
IF fix$up THEN MEMA 9989 "<ChockMaps$Dir>" >99BE "<ChockMaps$Dir>" >99E4 "<ChockMaps$Dir>" >9C18 "<ChockMaps$Dir>" >9C77 "<ChockMaps$Dir>"
IF fix$up THEN MEMA 9C4A "<ChockMaps$Dir>" >9CA3 "<ChockMaps$Dir>" >9CD6 "<ChockMaps$Dir>" >9D45 "<ChockMaps$Dir>" >9D74 "<ChockMaps$Dir>"
IF fix$up THEN MEMA 9DA1 "<ChockMaps$Dir>" >9DCD "<ChockMaps$Dir>" >9E00 "<ChockMaps$Dir>" >9E6F "<ChockMaps$Dir>" >9E9E "<ChockMaps$Dir>"
IF fix$up THEN MEMA 9ECB "<ChockMaps$Dir>" >9EF7 "<ChockMaps$Dir>" >9F2A "<ChockMaps$Dir>" >A1FD "<ChockMaps$Dir>" >A22F "<ChockMaps$Dir>"
IF fix$up THEN MEMA A25F "<ChockMaps$Dir>" >A295 "<ChockMaps$Dir>" >A41D "<ChockBlackBox$Dir>" >BDEF "<ChockMaps$Dir>" >C7EB "<ChockMaps$Dir>"
IF fix$up THEN MEMA C832 "<ChockMaps$Dir>" >EE4F "     <Chocks$Dir>" >EE77 "     <Chocks$Dir>" >EED1 "     <Chocks$Dir>" >EEF9 "     <Chocks$Dir>"
IF fix$up THEN MEMA F2CE "<ChockBlackBox$Dir>" >F41F "<ChockBlackBox$Dir>" >F53D "<ChockBlackBox$Dir>" >F58E "<ChockBlackBox$Dir>"
IF fix$up THEN MEMA F642 "<ChockBlackBox$Dir>" >F693 "<ChockBlackBox$Dir>" >F8A8 "<ChockBlackBox$Dir>" >F90C "<ChockBlackBox$Dir>"
IF fix$up THEN MEMA FA05 "<ChockBlackBox$Dir>" >FC71 "<ChockBlackBox$Dir>"
IF fix$up THEN MEMA B F02D E7 A3 8C | 6130IF FALSE THEN
IF fix$up THEN MEMA B F5BE "D%=1<<20:" F4 | 6380
IF fix$up THEN MEMA B F7D0 "D%=1<<20:" F4 | 6500
IF fix$up THEN MEMA B FEBB "D%=1<<20:" F4 | 6840
IF fix$up THEN MEMA B FF0A F4 | 6850
| Check Joystick
MEMA B 9004 C8 99 "&EFFC0" B8 "J%:" F4
MEMA B E80F C8 98 3A F4 | Quit cleanly
| Add a delay to key checks
MEMA E700 303DD111 FD3AF53A 303E9120 160DE13A F2DDABB2 54495551 3120EF3A 2C312C39 302C3432 302C302C F23ADB3A 4E494F50 3A524554 434950F2 E63A5943 31312520
MEMA E740 209CC820 3A353532 2C358AF1 223B2935 20455241 20554F59 45525553 554F5920 4E415720 4F542054 49555120 3A223F54 2C358AF1 3B293431 53455922 338A3B22
MEMA E780 34312C32 4E223B29 F13A224F 2C34318A 3B293832 45525022 46205353 22455249 2097C83A 303120B8 352C3233 EF3A3231 F23A3420 454B4F4E BC160D59 4F4AF220
MEMA E7C0 49545359 E73A4B43
| Bugfix: Page Zero Access @ 16FD4
| 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 9618 474F4489 48474946 52563D54 3A343221 32585A55 2152563D 553A3832 3D33585A 33215256 4F4D3A32 563D324E 36332152 54554F3A 32545550 2152563D 563A3034
MEMA 9658 4D554C4F 563D3245 34342152 4549563A 3D253257 34215256 55423A38 3D324646 35215256 4F433A32 4E49544E 3D324555 35215256 424F3A36 5443454A 32534F4E
MEMA 9698 2152563D 030D3036 22FF337A 44414F4C 46444120 303A3A53 212E242E 636F6843 3C2E736B 3E303631 646F432E 22203265 437EC32B 3245444F 84030D25 4C22FF4E
MEMA 96D8 2044414F 53464441 2E303A3A 43212E24 6B636F68 313C2E73 2E3E3036 65646F43 C32B2220 444F437E 413A2545 4F433D25 3A254544 433D2542 3245444F 26D63A25
MEMA 9718 30454342 0DF43A30

ADFForceVSync 4
Set Alias$DISMOUNT -adfs-%DISMOUNT %0
BASIC -quit @00009000,0001021A
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 ChockBlackBox$Dir
UnSet fix$up
UnSet chock$floppy