| To install to HD:
| 1. Copy !Pandora to HD
| 2. Copy !Data from disc 2 as !Pandora.!Data
| 3. Copy the disc 1 image as !Pandora.F1027401
| 3. Replace the contents of !Pandora.!Run with:
|  ADFBootFloppy F1027401
IF "<Obey$Dir>"="@" THEN SetEval PB$floppy -1 ELSE SetEval PB$floppy 0
IF PB$floppy THEN Set Obey$Dir ADFS::Pandora1.$.!Pandora
IfThere <Choices$Dir>.Pandora THEN ELSE CDir <Choices$Dir>.Pandora
Set PB$Save <Choices$Dir>.Pandora
Set Merlin$Dir <Obey$Dir>
Set Pandora$Dir <Obey$Dir>.Object
Set PB$DIR <Obey$Dir>.Data
Set PBD$Dir <Obey$Dir>.!Data.
StoreCSD
IF PB$floppy THEN ADFS
IF PB$floppy THEN DIR <Merlin$Dir>
IfThere <Obey$Dir>.F1027401 THEN ADFMount <Obey$Dir>.F1027401
IF ADFFS$CPUID>=&A10 THEN ADFRemapVideoMemory 13 240 ELSE ScreenSize 240
WimpSlot -min 800K -max 800K
SpriteFree 64
| Decrypt Gremlin
LOAD <Pandora$Dir>.TheEarths 11000
ADFCRC 11000 11A00 AB211FC0 Object.TheEarths
LOAD <Pandora$Dir>.TheEarths FFA8
MEMA 1100C E3A00801 E2400050 >11034 EF000011
GO 11000
| Only claim FileV
MEMA 1009C E8FD801F >1011C E1A00000 >10130 EF020020 E8FD8000
| Fix FileV vector code
MEMA 10460 EA000000 >10468 E92D4000 E51FE010 E13E0000 08BD8000 E50F001C >10484 E1A00000 >104A0 18BD8000 EF020008 E50FE04C
MEMA 102B0 EF020008 B >10228 "<Merlin$Dir>." 0
MEMA 10280 E1A0F00E | NOP *<160>
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT 0
| Insert Gremlin into RMA
MEMA FFEC EF000011
GO FFDC
| Load and patch Core
LOAD <Pandora$Dir>.Core 11500
IF NOT PB$floppy THEN MEMA 142A0 "<PBD$Dir>" >15960 "<PBD$Dir>" >15970 "<PBD$Dir>" >15984 "<PBD$Dir>" >15994 "<PBD$Dir>" >250BC EA000015
MEMA 156BC E1A00000 | Don't load Paint
MEMA 13538 E7D43005 >139CC E7D430A5 | Bugfix: LDR should be LDRB
| Bugfix: Unaligned LDM/STM
MEMA 183E4 E3C00003 >18680 E3C00003 >19840 E3C00003 >1977C E3A03D05 E0060293 >1979C E3C00003 >1DCE0 E3C00003 >1DE04 E3C00003
| Bugfix: Page Zero access @ 1AB54 / 1AC08
MEMA 1AB44 B8BD007F >1AB4C E1A00000 >1AB60 E8BD007F
MEMA 1ABF8 B8BD007F >1AC00 E1A00000 >1AC14 E8BD007F
RMLoad <Pandora$Dir>.Protector
| Patch Basic
ECHO <21>
KEY 0 130QUIT|MRUN|F|M
FX 225,1
FX 21,0
FX 138,0,128
BASIC -load <Merlin$Dir>.!Runimage
| Bugfix: Page Zero access in Paint
LOAD <Pandora$Dir>.Paint 8000
MEMA 89F0 E5D4A007 E5D48008 E5D4401B
ADFInsertModule 8000 FBC
IF PB$floppy THEN BASIC -quit <Pandora$Dir>.Basic
| Use paths and add a key debounce
Set PB$1 +CHR$0:SYS WL$,!H%+4,vr% TO ns%:SYS WS$,!H%+4,s1%+&8AC0+&A0-ns%/2,vr%|M
Set PB$2 $vr%="ESC to cancel"+CHR$0:SYS WL$,!H%+4,vr% TO ns%:SYS WS$,!H%+4,s1%+&A3C0+&A0-ns%/2,vr%|M
Set PB$3 OSCLI"LOAD |<PB$Save>."+D$+".
Set PB$4 OSCLI"SAVE |<PB$Save>."+D$+".
KEY 0 280QUIT|M350drive$="|<PBD$Dir>"|M895SYS"ADFFS_KeyDebounce"|M1150DEF PROCdisc(no%):ENDPROC|M1250DEF FNtry_disc(no%):=TRUE|M1670DEF FNdiscokay:=TRUE|M
KEY 1 1750X=OPENIN("|<PB$Save>."+D$+".1"):CLOSE#X:IF X=0 THEN =0 ELSE =-1|MDELETE1870,1910|M1950N%=FNread("|<PB$Save>"):S%=&67C0:T%=0:C%=0|M2060|MDELETE2270,2330|M
KEY 2 2340<PB$3>1 "+STR$~!sa1%|M2350<PB$3>2 "+STR$~!sa3%|M2360<PB$3>3 "+STR$~!fx%|M
KEY 3 2370<PB$3>4 "+STR$~!sa6%|M2380<PB$3>5 "+STR$~!sa8%|M2390|M
KEY 4 DELETE2620,2660|M2700N%=FNread("|<PB$Save>"):S%=&67C0:T%=0:C%=0|M2810|MDELETE3000,3070|M3080IF FNfileexists(D$)=0 THEN OSCLI"CDir |<PB$Save>."+D$|M
KEY 5 3090<PB$4>1 "+STR$~!sa1%+" "+STR$~!sa2%|M3100<PB$4>2 "+STR$~!sa3%+" "+STR$~!sa4%|M
KEY 6 3110<PB$4>3 "+STR$~!fx%+" "+STR$~!sa5%|M3120<PB$4>4 "+STR$~!sa6%+" "+STR$~!sa7%|M3130<PB$4>5 "+STR$~!sa8%+" +800"|M*UnSet Key$*|MRUN|F|M
IF NOT PB$floppy THEN FX 225,1
IF NOT PB$floppy THEN FX 21,0
IF NOT PB$floppy THEN FX 138,0,128
IF NOT PB$floppy THEN FX 138,0,129
IF NOT PB$floppy THEN FX 138,0,130
IF NOT PB$floppy THEN FX 138,0,131
IF NOT PB$floppy THEN FX 138,0,132
IF NOT PB$floppy THEN FX 138,0,133
IF NOT PB$floppy THEN FX 138,0,134
IF NOT PB$floppy THEN ECHO <21>
IF NOT PB$floppy THEN BASIC -load <Pandora$Dir>.Basic
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT
IF ADFFS$CPUID>=&A10 THEN ADFRemapVideoMemory
UnSet PB$*
UnSet Merlin$Dir
UnSet Pandora$Dir
UnSet PBD$Dir
RestoreCSD