| Install to HD:
| 1. Copy !SWIV to HD
| 3. Replace the contents of !SWIV.!Run with:
|    ADFBootFloppy F1056601
IF "<Obey$Dir>"="@" THEN Set Obey$Dir ADFS::0.$.!Swiv
Set Swiv$Dir <Obey$dir>
StoreCSD
DIR <Swiv$Dir>

RMAFree 200
IF ADFFS$OSVersion>=&35000 THEN RMEnsure QTMTracker   1.43 RMLoad ADFFS:trackers.QTMModule
IF ADFFS$OSVersion>=&35000 THEN RMEnsure MusicModule2 0.06 RMLoad ADFFS:trackers.Musmod2
IF ADFFS$OSVersion>=&35000 THEN Mus2QTM_SWI_Alternative
IF ADFFS$OSVersion>=&35000 THEN Mus2QTM_Linear_Effects 0
IF ADFFS$OSVersion<&35000 THEN RMEnsure MusicModule 1.02 RMLOAD <Swiv$Dir>.MusMod2
Set JSflag 0
IF ADFFS$OSVersion<&50000 THEN RMEnsure Joystick 0.0 Set JSflag 1
IF JSflag>0 THEN RMLoad ADFFS:extras.JoyMod

WimpSlot -min 541k -max 541k
HideCommandWindow
| Unpack game code
LOAD <Swiv$Dir>.Loader 70000
ADFCRC 70000 707B8 490B01E0 Loader
MEMA 7020C E28FE004 E52DE004 >70218 EF000011 >70674 E28FE004 E52DE004 >706B0 E28FE004 E52DE004
MEMA 706C0 E28FE004 E52DE004 >706D0 E28FE004 E52DE004 >706F0 E28FE004 E52DE004 >70710 E28FE004 E52DE004 >70738 E28FE004 E52DE004 I 701EC 70788
GO 701EC
| Fix reads from unset variables
MEMA 19C10 EA01D4FA >8F000 E59C8374 E3380000 0AFE2B15 EAFE2B00 I 8000 2A178
MEMA 2163C EB01B673 >21694 EB01B65D >237F4 EB01AE05 >29D64 EB0194A9 >2A030 EB0193F6 >2A070 EB0193E6
MEMA 8F010 E59B8200 E3380000 11A0F00E E20E807C E79FF008
MEMA 8F068 21670 >8F040 216A8 >8F0A0 23808 >8F090 29D74 >8F05C 2A044 >8F09C 2A174
| Add a delay to the music fade-out loop
MEMA 12378 E3A00002 EF0593CB
| Move game code out of EventV
MEMA 8618 EA021AB8 >8474 E8BD9FFF
MEMA 8F100 EF000042 E2803006 E2804002 E58F30EC E58F40EC E28FE004 E52DE004 EAFDE632 E59F30D8 E59F40D8 EF000042 E1500004 2BFDE54F E1500004 22844002 E1500003 3AFFFFF8 E2833006 EBFDE569 EAFFFFEB
| Switch from IRQv to IRQ1V
MEMA 19B78 E51FF004 >19B80 E3A01C01 >19BB4 E1A00000 >19BBC EA000003 >19BDC E3A01C01
| Bugfix Key debounce code
MEMA 80EC E33100FF 1A000001
| Correct JoyMod Joystick code
MEMA 1E46C E50C0008 EF0EFFC2 E3300000 03A00003 050C0008 E8BD8000 >1E4C8 E330001F 08BD8000
SetEval USB$Joystick 1
RMEnsure USBJoystick 0.0 SetEval USB$Joystick 0
IF USB$Joystick THEN MEMA 1E458 E1A00000 >1E468 E1A00000 | Disable Acorn & Serial Port Joystick if USBJoystick active
UnSet USB$Joystick
| Correct T1 palette swap timer
IF LCDGM$Status OR ADFFS$VIDC20 THEN MEMA 19B40 E1A0E30E >19C3C E1A00300
IF ADFFS$OSVersion>=&50000 THEN MEMA 19C40 E2800D6E
IF ADFFS$VIDC20 THEN MEMA 19C40 E2800D9F
IF LCDGM$Status THEN MEMA 19C40 E2800DBF

IF ADFFS$OSVersion>=&35000 THEN ADFRemapVideoMemory 9 160 ELSE ScreenSize 160
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT 8000 ELSE GO 8000
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT
IF ADFFS$OSVersion>=&35000 THEN ADFRemapVideoMemory
RMKill MusicModule2
IF ADFFS$OSVersion>=&35000 THEN RMKill QTMTracker
IF JSflag>0 THEN RMEnsure Joystick 0.0 Set JSflag 0
IF JSflag>0 THEN RMKill Joystick
Unset JSflag
Unset Swiv$Dir
RestoreCSD