IF "<Obey$Dir>"="@" THEN Set Obey$Dir ADFS::Labyrinth.$.!Labyrinth

Set Labyrinth$Dir <Obey$Dir>
Set Labyrinth$Modules <Obey$Dir>.Modules

WimpSlot -min 321K -max 321K
IF ADFFS$OSVersion>=&50000 THEN GOARM4JIT 0
ECHO <22><13>
| Prevent code elevation
IF ADFFS$OSVersion>=&50000 THEN JITMEMORYA 8B34 EF020016 E1A00000
IF ADFFS$OSVersion>=&50000 THEN JITMEMORYA 8BC8 E13FF00B E1A00000

| Add a Vsync wait, instead of relying on T0
IF ADFFS$OSVersion>=&50000 THEN MEMA 57FE0 E59F0018 E2800001 E3500007 83A00000 E58F0008 83A00013 8F020006 E1A0F00E
IF ADFFS$OSVersion>=&50000 THEN JITMEMORYA 8BB0 BAFFFFE8 EB013D0A

| Correct unpredictable instructions
IF ADFFS$OSVersion>=&50000 THEN JITMEMORYA 10C40 E92D7FFF E92D5FFF
IF ADFFS$OSVersion>=&50000 THEN JITMEMORYA 10C48 E8BD7FFF E8BD5FFF

| Allow ZeriRegister to quit
IF ADFFS$OSVersion>=&50000 THEN JITMEMORYA 1B0 E28F0000 E1A0F00E ZeriRegister

RMEnsure ZeriRegister 0.00 RMLoad <Labyrinth$Modules>.ZRegister
RMEnsure ZeriBeep 1.01 RMLoad <Labyrinth$Modules>.ZBeep
RegisterModule ZeriBeep
<Labyrinth$Dir>.!RunImage
UnregisterModule ZeriBeep
IF ADFFS$OSVersion>=&50000 THEN GOARM4JIT