| To HD install:
| 1. Copy !Kv to HD
| 2. Replace the contents of !Kv.!Run with:
|  ADFBootFloppy F1021701
IF "<Obey$Dir>"="@" THEN Set Obey$Dir ADFS::KVGame.$.!Kv

IF "<KV$Loaded>" <> "" THEN ERROR 0 Sorry you can't run two copies of KV at the same time
IconSprites <Obey$Dir>.!Sprites
Set Alias$LO. LOAD %%*0
Set KV$Dir <Obey$Dir>
WimpSlot -min 720k -max 720k
LOAD <KV$Dir>.!RunImage 30000
ADFCRC 30000 38B20 9E73AA30 !RunImage
| Decrypt !RunImage
MEMA 8000 7734 313EC E2C73077 E24F0014 E8900007 E5914000 E0244002 E4814004 E2500004 1AFFFFFA EF000011
GO 800C
| Decrypt stage 2
MEMA 31BAC EF000011 I 31B7C 31BB0
GO 31B7C
| Bugfix: Loads a Wimp Template into Page Zero
MEMA 8030 E2812C01 E2813C02
| Exit before calling game code
MEMA 820C E1A00000
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT 8000 ELSE GO 8000
RMLoad <KV$Dir>.Modules.KVMode
Set KV$Version 2
| Bugfix: Page Zero access in Sound Channel handlers
MEMA 829C E51F200C | LDR   R2,&8298
MEMA 82A0 E28F3010 | ADR   R3,&82B8
MEMA 82A4 E8B30003 | LDMIA R3!,{R0-R1}
MEMA 82A8 E3700001 | CMN   R0,#1
MEMA 82AC 17821000 | STRNE R1,[R2,R0]
MEMA 82B0 1AFFFFFB | BNE   &82A4
MEMA 82B4 EF000011 | SWI   "OS_Exit"
MEMA 82B8 11CC     | offset
MEMA 82BC E24F3008 | ADR   R3,PC-8
MEMA 82C0 FFFFFFFF
GO 829C
| Bugfix: UpCallV handler should only check for R0=1 (Media not present)
HideCommandWindow
ECHO <21>
KEY 0 8015code%?&80A6B=&11|M8035code%?&48E37=&11|M6770QUIT|MRUN|F|M
FX 225,1
FX 21,0
FX 138,0,128
BASIC -load @00009000,0000E4AB
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT
UnSet Alias$LO.
UnSet KV$Dir
UnSet KV$Loaded