| To HD install:
| 1. Install via !Install on disc 1
| 2. Copy the disc 1 floppy image as !Saloon.F1031901
| 3. Replace the contents of !Saloon.!Run with
|  ADFBootFloppy F1031901

IfThere <Obey$Dir>.F1031901 THEN ADFMount <Obey$Dir>.F1031901
IfThere <Obey$Dir>.SETMODE THEN ELSE Set Obey$Dir ADFS::Saloon1.$.!SALOON
IfThere <Obey$Dir>.SETMODE THEN ELSE ADFReserveMemory 750

| Keys    Joystick
| S       B8 (Start) - Start engine
| Up      B6 (RB)    - Up gear
| Down    B5 (LB)    - Down gear
| Adjust  B1         - Accelerate
| Menu    B2         - Brake
| H       B4         - Handbrake
ADFJoystickMouse J1 M=B2 A=B1
|USBJoystick_MapADC 0 0 2
|USBJoystick_MapADC 1 0 1 0 255
|USBJoystick_MapADC 2 0 0
ADFJoystickKeys J1 B8=61 B5=99 B6=89 B4=65

HideCommandWindow
Set SALOON$DIR <Obey$Dir>
Set SALOON2$DIR <SALOON$DIR>.PROTECT
Set SALOON3$DIR <SALOON$DIR>.DISC2
Set Disc1$Dir <SALOON2$Dir>.
IF ADFFS$OSVersion>=&35000 THEN ADFRemapVideoMemory 13 160 ELSE ScreenSize 160
IF ADFFS$OSVersion>=&35000 THEN WimpSlot -min 1500K -max 1500K ELSE WimpSlot -min 630K -max 1500K
LOAD <SALOON2$DIR>.MECHANIC 10000
ADFCRC 10000 10798 2EC5E766 PROTECT.MECHANIC
| Decrypt ROBIN
LOAD <SALOON2$DIR>.MECHANIC 8000
MEMA 10000 8008 DE8 E51F0010 E51F4010 E280102C E4D02001 E5D13000 E0833002 E4C13001 E2544001 1AFFFFF9 EF000011 | ADD
MEMA 10030 E51F0038 E51F4038 E280102C E4D02001 E5D13000 E0233002 E4C13001 E2544001 1AFFFFF9 EF000011 | EOR
MEMA 10060 E51F0068 E51F4068 E280102C E4D02001 E5D13000 E0433002 E4C13001 E2544001 1AFFFFF9 EF000011 | SUB
MEMA 10090 E51F0098 E51F4098 E2801030 E4D02001 E5D13000 E0233002 E22330FF E4C13001 E2544001 1AFFFFF8 EF000011 | EOR FF

GO 10008
MEMA 10000 803C DB0
GO 10030
MEMA 10000 8070 D78
GO 10060
MEMA 10000 80A4 D40
GO 10060
MEMA 10000 80D8 D08
GO 10060
MEMA 10000 810C C0C
GO 10090
| Remove prompt for disc 1
MEMA 823C E1A00000
| Prevent vectors being taken over
MEMA 82E4 E8FD801F >8464 E1A00000 >8478 EF020020 E8FD8000
| Fix FileV vector code
MEMA 88F0 EA000000 88F8 E92D4000 E51FE010 E13E0000 08BD8000 E50F001C >8914 E1A00000 >8930 18BD8000 EF020008 E50FE04C 68BD8000
StoreCSD
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT 0
ADFInsertModule 8160 C84
PRINT <SALOON2$DIR>.RACECHAR
RMLoad <SALOON2$DIR>.EN1
RMLoad <SALOON2$DIR>.EN2
RMLoad <SALOON2$DIR>.EN3
RMLoad <SALOON2$DIR>.GEAR
RMLoad <SALOON2$DIR>.SKID
RMLoad <SALOON2$DIR>.SCREAM
RMLoad <SALOON2$DIR>.THUD
RMLoad <SALOON2$DIR>.HORN
IfThere <Obey$Dir>.F1032201 THEN ADFMount <Obey$Dir>.F1032201
ECHO <22><&8D>
FX 112,1
FX 113,2
ECHO <12>
FX 112,1
FX 113,2
KEY 0 860QUIT|MRUN|F|M
ECHO <21>
FX 225,1
FX 21,0
FX 138,0,128
BASIC -load <SALOON2$DIR>.OBJECT
ADFClipScreen 5:4 0 22
ADFScreenBorders ON
| Fix illegal instructions
KEY 0 33870OSCLI"LOAD |<SALOON2$Dir>.CODE "+STR$~CODE|M33880L%=51725:FORX%=CODE TO CODE+L% STEP 4:IF!X%=&E96D4000 THEN !X%=&E92D4000:NEXT ELSE NEXT|MRUN|F|M
ECHO <21>
FX 21,0
FX 138,0,128
BASIC -load <SALOON2$DIR>.RACE
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT
IF ADFFS$OSVersion>=&35000 THEN ADFRemapVideoMemory
UnSet SALOON$DIR
UnSet SALOON2$DIR
UnSet SALOON3$DIR
UnSet Disc1$Dir
UnSet Key$0
ADFScreenBorders OFF
ADFClipScreen
IF "<Obey$Dir>"="ADFS::Saloon1.$.!SALOON" THEN ADFReserveMemory 0
RestoreCSD