aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devtools/tasmrecover/tasm/cpp.py8
-rw-r--r--engines/dreamweb/dreamgen.cpp8390
-rw-r--r--engines/dreamweb/runtime.h35
3 files changed, 4225 insertions, 4208 deletions
diff --git a/devtools/tasmrecover/tasm/cpp.py b/devtools/tasmrecover/tasm/cpp.py
index d63f568d78..f9afe48fd8 100644
--- a/devtools/tasmrecover/tasm/cpp.py
+++ b/devtools/tasmrecover/tasm/cpp.py
@@ -63,7 +63,7 @@ namespace %s {
if size == 0:
raise Exception("invalid var '%s' size %u" %(name, size))
if self.indirection == 0:
- value = "context.data.%s(%d)" %("byte" if size == 1 else "word", g.offset)
+ value = "context.ds.%s(%d)" %("byte" if size == 1 else "word", g.offset)
elif self.indirection == -1:
value = "%s" %g.offset
self.indirection = 0
@@ -161,9 +161,9 @@ namespace %s {
if indirection == 1:
if size == 1:
- expr = "context.data.byte(%s)" %expr
+ expr = "context.ds.byte(%s)" %expr
elif size == 2:
- expr = "context.data.word(%s)" %expr
+ expr = "context.ds.word(%s)" %expr
else:
expr = "@invalid size 0"
elif indirection == 0:
@@ -505,7 +505,7 @@ namespace %s {
n += 1
if (n & 0xf) == 0:
data_impl += "\n\t\t"
- data_impl += "};\n\tcontext.data.assign(src, src + sizeof(src))"
+ data_impl += "};\n\tcontext.ds.assign(src, src + sizeof(src))"
hid = "TASMRECOVER_%s_STUBS_H__" %self.namespace.upper()
self.hd.write("""#ifndef %s
#define %s
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 6d45fbfd80..3ec12c1363 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -483,7 +483,7 @@ static void intro3text(Context &context);
static void intro1text(Context &context);
static void alleybarksound(Context & context) {
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._sub(context.ax, 1);
context._cmp(context.ax, 0);
if (!context.flags.z()) goto nobark;
@@ -495,7 +495,7 @@ static void alleybarksound(Context & context) {
context.bx = context.pop();
context.ax = 1000;
nobark:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
return;
}
@@ -516,49 +516,49 @@ nofog:
static void receptionist(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto gotrecep;
- context._cmp(context.data.byte(52), 1);
+ context._cmp(context.ds.byte(52), 1);
if (!context.flags.z()) goto notsetcard;
- context._add(context.data.byte(52), 1);
- context.data.byte(context.bx+7) = 1;
- context.data.word(context.bx+3) = 64;
+ context._add(context.ds.byte(52), 1);
+ context.ds.byte(context.bx+7) = 1;
+ context.ds.word(context.bx+3) = 64;
notsetcard:
- context._cmp(context.data.word(context.bx+3), 58);
+ context._cmp(context.ds.word(context.bx+3), 58);
if (!context.flags.z()) goto notdes1;
randomnumber(context);
context._cmp(context.al, 30);
if (context.flags.c()) goto notdes2;
- context.data.word(context.bx+3) = 55;
+ context.ds.word(context.bx+3) = 55;
goto gotrecep;
notdes1:
- context._cmp(context.data.word(context.bx+3), 60);
+ context._cmp(context.ds.word(context.bx+3), 60);
if (!context.flags.z()) goto notdes2;
randomnumber(context);
context._cmp(context.al, 240);
if (context.flags.c()) goto gotrecep;
- context.data.word(context.bx+3) = 53;
+ context.ds.word(context.bx+3) = 53;
goto gotrecep;
notdes2:
- context._cmp(context.data.word(context.bx+3), 88);
+ context._cmp(context.ds.word(context.bx+3), 88);
if (!context.flags.z()) goto notendcard;
- context.data.word(context.bx+3) = 53;
+ context.ds.word(context.bx+3) = 53;
goto gotrecep;
notendcard:
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
gotrecep:
showgamereel(context);
addtopeoplelist(context);
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalkedrecep;
- context.data.byte(51) = 1;
+ context.ds.byte(51) = 1;
nottalkedrecep:
return;
}
static void smokebloke(Context & context) {
- context._cmp(context.data.byte(41), 0);
+ context._cmp(context.ds.byte(41), 0);
if (!context.flags.z()) goto notspokento;
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto notspokento;
context.push(context.es);
@@ -570,20 +570,20 @@ static void smokebloke(Context & context) {
notspokento:
checkspeed(context);
if (!context.flags.z()) goto gotsmokeb;
- context._cmp(context.data.word(context.bx+3), 100);
+ context._cmp(context.ds.word(context.bx+3), 100);
if (!context.flags.z()) goto notsmokeb1;
randomnumber(context);
context._cmp(context.al, 30);
if (context.flags.c()) goto notsmokeb2;
- context.data.word(context.bx+3) = 96;
+ context.ds.word(context.bx+3) = 96;
goto gotsmokeb;
notsmokeb1:
- context._cmp(context.data.word(context.bx+3), 117);
+ context._cmp(context.ds.word(context.bx+3), 117);
if (!context.flags.z()) goto notsmokeb2;
- context.data.word(context.bx+3) = 96;
+ context.ds.word(context.bx+3) = 96;
goto gotsmokeb;
notsmokeb2:
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
gotsmokeb:
showgamereel(context);
addtopeoplelist(context);
@@ -593,25 +593,25 @@ gotsmokeb:
static void attendant(Context & context) {
showgamereel(context);
addtopeoplelist(context);
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalked;
- context.data.byte(48) = 1;
+ context.ds.byte(48) = 1;
nottalked:
return;
}
static void manasleep(Context & context) {
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 127);
- context.data.byte(context.bx+7) = context.al;
+ context.ds.byte(context.bx+7) = context.al;
showgamereel(context);
addtopeoplelist(context);
return;
}
static void eden(Context & context) {
- context._cmp(context.data.byte(42), 0);
+ context._cmp(context.ds.byte(42), 0);
if (!context.flags.z()) goto notinbed;
showgamereel(context);
addtopeoplelist(context);
@@ -620,9 +620,9 @@ notinbed:
}
static void edeninbath(Context & context) {
- context._cmp(context.data.byte(42), 0);
+ context._cmp(context.ds.byte(42), 0);
if (context.flags.z()) goto notinbed;
- context._cmp(context.data.byte(43), 0);
+ context._cmp(context.ds.byte(43), 0);
if (!context.flags.z()) goto notinbath;
showgamereel(context);
addtopeoplelist(context);
@@ -647,7 +647,7 @@ static void femalefan(Context & context) {
}
static void louis(Context & context) {
- context._cmp(context.data.byte(41), 0);
+ context._cmp(context.ds.byte(41), 0);
if (!context.flags.z()) goto notlouis1;
showgamereel(context);
addtopeoplelist(context);
@@ -656,26 +656,26 @@ notlouis1:
}
static void louischair(Context & context) {
- context._cmp(context.data.byte(41), 0);
+ context._cmp(context.ds.byte(41), 0);
if (context.flags.z()) goto notlouis2;
checkspeed(context);
if (!context.flags.z()) goto notlouisanim;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 191);
if (context.flags.z()) goto restartlouis;
context._cmp(context.ax, 185);
if (context.flags.z()) goto randomlouis;
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
goto notlouisanim;
randomlouis:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
randomnumber(context);
context._cmp(context.al, 245);
if (!context.flags.c()) goto notlouisanim;
restartlouis:
context.ax = 182;
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
notlouisanim:
showgamereel(context);
addtopeoplelist(context);
@@ -684,9 +684,9 @@ notlouis2:
}
static void manasleep2(Context & context) {
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 127);
- context.data.byte(context.bx+7) = context.al;
+ context.ds.byte(context.bx+7) = context.al;
showgamereel(context);
addtopeoplelist(context);
return;
@@ -707,18 +707,18 @@ static void tattooman(Context & context) {
static void drinker(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto gotdrinker;
- context._add(context.data.word(context.bx+3), 1);
- context._cmp(context.data.word(context.bx+3), 115);
+ context._add(context.ds.word(context.bx+3), 1);
+ context._cmp(context.ds.word(context.bx+3), 115);
if (!context.flags.z()) goto notdrinker1;
- context.data.word(context.bx+3) = 105;
+ context.ds.word(context.bx+3) = 105;
goto gotdrinker;
notdrinker1:
- context._cmp(context.data.word(context.bx+3), 106);
+ context._cmp(context.ds.word(context.bx+3), 106);
if (!context.flags.z()) goto gotdrinker;
randomnumber(context);
context._cmp(context.al, 3);
if (context.flags.c()) goto gotdrinker;
- context.data.word(context.bx+3) = 105;
+ context.ds.word(context.bx+3) = 105;
gotdrinker:
showgamereel(context);
addtopeoplelist(context);
@@ -728,25 +728,25 @@ gotdrinker:
static void bartender(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto gotsmoket;
- context._cmp(context.data.word(context.bx+3), 86);
+ context._cmp(context.ds.word(context.bx+3), 86);
if (!context.flags.z()) goto notsmoket1;
randomnumber(context);
context._cmp(context.al, 18);
if (context.flags.c()) goto notsmoket2;
- context.data.word(context.bx+3) = 81;
+ context.ds.word(context.bx+3) = 81;
goto gotsmoket;
notsmoket1:
- context._cmp(context.data.word(context.bx+3), 103);
+ context._cmp(context.ds.word(context.bx+3), 103);
if (!context.flags.z()) goto notsmoket2;
- context.data.word(context.bx+3) = 81;
+ context.ds.word(context.bx+3) = 81;
goto gotsmoket;
notsmoket2:
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
gotsmoket:
showgamereel(context);
- context._cmp(context.data.byte(46), 1);
+ context._cmp(context.ds.byte(46), 1);
if (!context.flags.z()) goto notgotgun;
- context.data.byte(context.bx+7) = 9;
+ context.ds.byte(context.bx+7) = 9;
notgotgun:
addtopeoplelist(context);
return;
@@ -765,49 +765,49 @@ static void barwoman(Context & context) {
}
static void interviewer(Context & context) {
- context._cmp(context.data.word(23), 68);
+ context._cmp(context.ds.word(23), 68);
if (!context.flags.z()) goto notgeneralstart;
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
notgeneralstart:
- context._cmp(context.data.word(context.bx+3), 250);
+ context._cmp(context.ds.word(context.bx+3), 250);
if (context.flags.z()) goto talking;
checkspeed(context);
if (!context.flags.z()) goto talking;
- context._cmp(context.data.word(context.bx+3), 259);
+ context._cmp(context.ds.word(context.bx+3), 259);
if (context.flags.z()) goto talking;
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
talking:
showgamereel(context);
return;
}
static void soldier1(Context & context) {
- context._cmp(context.data.word(context.bx+3), 0);
+ context._cmp(context.ds.word(context.bx+3), 0);
if (context.flags.z()) goto soldierwait;
- context.data.word(21) = 10;
- context._cmp(context.data.word(context.bx+3), 30);
+ context.ds.word(21) = 10;
+ context._cmp(context.ds.word(context.bx+3), 30);
if (!context.flags.z()) goto notaftersshot;
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 40);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 40);
if (!context.flags.z()) goto gotsoldframe;
- context.data.byte(56) = 2;
+ context.ds.byte(56) = 2;
goto gotsoldframe;
notaftersshot:
checkspeed(context);
if (!context.flags.z()) goto gotsoldframe;
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
goto gotsoldframe;
soldierwait:
- context._cmp(context.data.byte(65), 1);
+ context._cmp(context.ds.byte(65), 1);
if (!context.flags.z()) goto gotsoldframe;
- context.data.word(21) = 10;
- context._cmp(context.data.byte(475), 2);
+ context.ds.word(21) = 10;
+ context._cmp(context.ds.byte(475), 2);
if (!context.flags.z()) goto gotsoldframe;
- context._cmp(context.data.byte(133), 4);
+ context._cmp(context.ds.byte(133), 4);
if (!context.flags.z()) goto gotsoldframe;
- context._add(context.data.word(context.bx+3), 1);
- context.data.byte(65) = -1;
- context.data.byte(64) = 0;
+ context._add(context.ds.word(context.bx+3), 1);
+ context.ds.byte(65) = -1;
+ context.ds.byte(64) = 0;
gotsoldframe:
showgamereel(context);
addtopeoplelist(context);
@@ -815,70 +815,70 @@ gotsoldframe:
}
static void rockstar(Context & context) {
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 303);
if (context.flags.z()) goto rockcombatend;
context._cmp(context.ax, 118);
if (context.flags.z()) goto rockcombatend;
checkspeed(context);
if (!context.flags.z()) goto rockspeed;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 118);
if (!context.flags.z()) goto notbeforedead;
- context.data.byte(56) = 2;
+ context.ds.byte(56) = 2;
goto gotrockframe;
notbeforedead:
context._cmp(context.ax, 79);
if (!context.flags.z()) goto gotrockframe;
context._sub(context.ax, 1);
- context._cmp(context.data.byte(65), 1);
+ context._cmp(context.ds.byte(65), 1);
if (!context.flags.z()) goto notgunonrock;
- context.data.byte(65) = -1;
+ context.ds.byte(65) = -1;
context.ax = 123;
goto gotrockframe;
notgunonrock:
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 40);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 40);
if (!context.flags.z()) goto gotrockframe;
- context.data.byte(64) = 0;
+ context.ds.byte(64) = 0;
context.ax = 79;
gotrockframe:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
rockspeed:
showgamereel(context);
- context._cmp(context.data.word(context.bx+3), 78);
+ context._cmp(context.ds.word(context.bx+3), 78);
if (!context.flags.z()) goto notalkrock;
addtopeoplelist(context);
- context.data.byte(234) = 2;
- context.data.word(21) = 0;
+ context.ds.byte(234) = 2;
+ context.ds.word(21) = 0;
return;
notalkrock:
- context.data.word(21) = 2;
- context.data.byte(234) = 0;
- context.al = context.data.byte(149);
- context.data.byte(context.bx+2) = context.al;
+ context.ds.word(21) = 2;
+ context.ds.byte(234) = 0;
+ context.al = context.ds.byte(149);
+ context.ds.byte(context.bx+2) = context.al;
return;
rockcombatend:
- context.data.byte(188) = 45;
+ context.ds.byte(188) = 45;
showgamereel(context);
return;
}
static void helicopter(Context & context) {
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 203);
if (context.flags.z()) goto heliwon;
checkspeed(context);
if (!context.flags.z()) goto helispeed;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 53);
if (!context.flags.z()) goto notbeforehdead;
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 8);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 8);
if (context.flags.c()) goto waitabit;
- context.data.byte(56) = 2;
+ context.ds.byte(56) = 2;
waitabit:
context.ax = 49;
goto gotheliframe;
@@ -886,59 +886,59 @@ notbeforehdead:
context._cmp(context.ax, 9);
if (!context.flags.z()) goto gotheliframe;
context._sub(context.ax, 1);
- context._cmp(context.data.byte(65), 1);
+ context._cmp(context.ds.byte(65), 1);
if (!context.flags.z()) goto notgunonheli;
- context.data.byte(65) = -1;
+ context.ds.byte(65) = -1;
context.ax = 55;
goto gotheliframe;
notgunonheli:
context.ax = 5;
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 20);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 20);
if (!context.flags.z()) goto gotheliframe;
- context.data.byte(64) = 0;
+ context.ds.byte(64) = 0;
context.ax = 9;
gotheliframe:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
helispeed:
showgamereel(context);
- context.al = context.data.byte(148);
- context.data.byte(context.bx+1) = context.al;
+ context.al = context.ds.byte(148);
+ context.ds.byte(context.bx+1) = context.al;
helicombatend:
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 9);
if (!context.flags.c()) goto notwaitingheli;
- context._cmp(context.data.byte(64), 7);
+ context._cmp(context.ds.byte(64), 7);
if (context.flags.c()) goto notwaitingheli;
- context.data.byte(234) = 2;
- context.data.word(21) = 0;
+ context.ds.byte(234) = 2;
+ context.ds.word(21) = 0;
return;
notwaitingheli:
- context.data.byte(234) = 0;
- context.data.word(21) = 2;
+ context.ds.byte(234) = 0;
+ context.ds.word(21) = 2;
return;
heliwon:
- context.data.byte(234) = 0;
+ context.ds.byte(234) = 0;
return;
}
static void mugger(Context & context) {
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 138);
if (context.flags.z()) goto endmugger1;
context._cmp(context.ax, 176);
if (context.flags.z()) goto endmugger2;
context._cmp(context.ax, 2);
if (!context.flags.z()) goto havesetwatch;
- context.data.word(21) = 175*2;
+ context.ds.word(21) = 175*2;
havesetwatch:
checkspeed(context);
if (!context.flags.z()) goto notmugger;
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
notmugger:
showgamereel(context);
- context.al = context.data.byte(148);
- context.data.byte(context.bx+1) = context.al;
+ context.al = context.ds.byte(148);
+ context.ds.byte(context.bx+1) = context.al;
return;
endmugger1:
context.push(context.es);
@@ -959,26 +959,26 @@ endmugger1:
context.es = context.pop();
context.push(context.es);
context.push(context.bx);
- context.data.word(context.bx+3) = 140;
- context.data.byte(475) = 2;
- context.data.byte(477) = 2;
+ context.ds.word(context.bx+3) = 140;
+ context.ds.byte(475) = 2;
+ context.ds.byte(477) = 2;
findxyfrompath(context);
- context.data.byte(187) = 1;
+ context.ds.byte(187) = 1;
context.al = 'W';
context.ah = 'E';
context.cl = 'T';
context.ch = 'A';
findexobject(context);
- context.data.byte(99) = context.al;
- context.data.byte(102) = 4;
+ context.ds.byte(99) = context.al;
+ context.ds.byte(102) = 4;
removeobfrominv(context);
context.al = 'W';
context.ah = 'E';
context.cl = 'T';
context.ch = 'B';
findexobject(context);
- context.data.byte(99) = context.al;
- context.data.byte(102) = 4;
+ context.ds.byte(99) = context.al;
+ context.ds.byte(102) = 4;
removeobfrominv(context);
makemainscreen(context);
context.al = 48;
@@ -987,7 +987,7 @@ endmugger1:
context.cx = 70;
context.dx = 10;
setuptimeduse(context);
- context.data.byte(45) = 1;
+ context.ds.byte(45) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -1002,9 +1002,9 @@ static void aide(Context & context) {
}
static void businessman(Context & context) {
- context.data.byte(234) = 0;
- context.data.word(21) = 2;
- context.ax = context.data.word(context.bx+3);
+ context.ds.byte(234) = 0;
+ context.ds.word(21) = 2;
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 2);
if (!context.flags.z()) goto notfirstbiz;
context.push(context.ax);
@@ -1026,27 +1026,27 @@ notfirstbiz:
if (context.flags.z()) goto buscombatend;
checkspeed(context);
if (!context.flags.z()) goto busspeed;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 48);
if (!context.flags.z()) goto notbeforedeadb;
- context.data.byte(56) = 2;
+ context.ds.byte(56) = 2;
goto gotbusframe;
notbeforedeadb:
context._cmp(context.ax, 15);
if (!context.flags.z()) goto buscombatwon;
context._sub(context.ax, 1);
- context._cmp(context.data.byte(65), 3);
+ context._cmp(context.ds.byte(65), 3);
if (!context.flags.z()) goto notshieldonbus;
- context.data.byte(65) = -1;
- context.data.byte(64) = 0;
+ context.ds.byte(65) = -1;
+ context.ds.byte(64) = 0;
context.ax = 51;
goto gotbusframe;
notshieldonbus:
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 20);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 20);
if (!context.flags.z()) goto gotbusframe;
- context.data.byte(64) = 0;
+ context.ds.byte(64) = 0;
context.ax = 15;
goto gotbusframe;
buscombatwon:
@@ -1062,36 +1062,36 @@ buscombatwon:
turnpathon(context);
context.al = 3;
turnpathoff(context);
- context.data.byte(475) = 5;
- context.data.byte(477) = 5;
+ context.ds.byte(475) = 5;
+ context.ds.byte(477) = 5;
findxyfrompath(context);
- context.data.byte(187) = 1;
+ context.ds.byte(187) = 1;
context.es = context.pop();
context.bx = context.pop();
context.ax = 92;
goto gotbusframe;
gotbusframe:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
busspeed:
showgamereel(context);
- context.al = context.data.byte(149);
- context.data.byte(context.bx+2) = context.al;
- context.ax = context.data.word(context.bx+3);
+ context.al = context.ds.byte(149);
+ context.ds.byte(context.bx+2) = context.al;
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 14);
if (!context.flags.z()) goto buscombatend;
- context.data.word(21) = 0;
- context.data.byte(234) = 2;
+ context.ds.word(21) = 0;
+ context.ds.byte(234) = 2;
return;
buscombatend:
return;
buscombatwonend:
- context.data.byte(234) = 0;
- context.data.word(21) = 0;
+ context.ds.byte(234) = 0;
+ context.ds.word(21) = 0;
return;
}
static void poolguard(Context & context) {
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 214);
if (context.flags.z()) goto combatover2;
context._cmp(context.ax, 258);
@@ -1105,57 +1105,57 @@ static void poolguard(Context & context) {
notfirstpool:
checkspeed(context);
if (!context.flags.z()) goto guardspeed;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 122);
if (!context.flags.z()) goto notendguard1;
context._sub(context.ax, 1);
- context._cmp(context.data.byte(65), 2);
+ context._cmp(context.ds.byte(65), 2);
if (!context.flags.z()) goto notaxeonpool;
- context.data.byte(65) = -1;
+ context.ds.byte(65) = -1;
context.ax = 122;
goto gotguardframe;
notaxeonpool:
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 40);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 40);
if (!context.flags.z()) goto gotguardframe;
- context.data.byte(64) = 0;
+ context.ds.byte(64) = 0;
context.ax = 195;
goto gotguardframe;
notendguard1:
context._cmp(context.ax, 147);
if (!context.flags.z()) goto gotguardframe;
context._sub(context.ax, 1);
- context._cmp(context.data.byte(65), 1);
+ context._cmp(context.ds.byte(65), 1);
if (!context.flags.z()) goto notgunonpool;
- context.data.byte(65) = -1;
+ context.ds.byte(65) = -1;
context.ax = 147;
goto gotguardframe;
notgunonpool:
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 40);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 40);
if (!context.flags.z()) goto gotguardframe;
- context.data.byte(64) = 0;
+ context.ds.byte(64) = 0;
context.ax = 220;
gotguardframe:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
guardspeed:
showgamereel(context);
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 121);
if (context.flags.z()) goto iswaitingpool;
context._cmp(context.ax, 146);
if (context.flags.z()) goto iswaitingpool;
- context.data.byte(234) = 0;
- context.data.word(21) = 2;
+ context.ds.byte(234) = 0;
+ context.ds.word(21) = 2;
return;
iswaitingpool:
- context.data.byte(234) = 2;
- context.data.word(21) = 0;
+ context.ds.byte(234) = 2;
+ context.ds.word(21) = 0;
return;
combatover1:
- context.data.word(21) = 0;
- context.data.byte(234) = 0;
+ context.ds.word(21) = 0;
+ context.ds.byte(234) = 0;
context.al = 0;
turnpathon(context);
context.al = 1;
@@ -1163,39 +1163,39 @@ combatover1:
return;
combatover2:
showgamereel(context);
- context.data.word(21) = 2;
- context.data.byte(234) = 0;
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 100);
+ context.ds.word(21) = 2;
+ context.ds.byte(234) = 0;
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 100);
if (context.flags.c()) goto doneover2;
- context.data.word(21) = 0;
- context.data.byte(56) = 2;
+ context.ds.word(21) = 0;
+ context.ds.byte(56) = 2;
doneover2:
return;
}
static void security(Context & context) {
- context._cmp(context.data.word(context.bx+3), 32);
+ context._cmp(context.ds.word(context.bx+3), 32);
if (context.flags.z()) goto securwait;
- context._cmp(context.data.word(context.bx+3), 69);
+ context._cmp(context.ds.word(context.bx+3), 69);
if (!context.flags.z()) goto notaftersec;
return;
notaftersec:
- context.data.word(21) = 10;
+ context.ds.word(21) = 10;
checkspeed(context);
if (!context.flags.z()) goto gotsecurframe;
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
goto gotsecurframe;
securwait:
- context._cmp(context.data.byte(65), 1);
+ context._cmp(context.ds.byte(65), 1);
if (!context.flags.z()) goto gotsecurframe;
- context.data.word(21) = 10;
- context._cmp(context.data.byte(475), 9);
+ context.ds.word(21) = 10;
+ context._cmp(context.ds.byte(475), 9);
if (!context.flags.z()) goto gotsecurframe;
- context._cmp(context.data.byte(133), 0);
+ context._cmp(context.ds.byte(133), 0);
if (!context.flags.z()) goto gotsecurframe;
- context.data.byte(65) = -1;
- context._add(context.data.word(context.bx+3), 1);
+ context.ds.byte(65) = -1;
+ context._add(context.ds.word(context.bx+3), 1);
gotsecurframe:
showgamereel(context);
addtopeoplelist(context);
@@ -1203,34 +1203,34 @@ gotsecurframe:
}
static void heavy(Context & context) {
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 127);
- context.data.byte(context.bx+7) = context.al;
- context._cmp(context.data.word(context.bx+3), 43);
+ context.ds.byte(context.bx+7) = context.al;
+ context._cmp(context.ds.word(context.bx+3), 43);
if (context.flags.z()) goto heavywait;
- context.data.word(21) = 10;
- context._cmp(context.data.word(context.bx+3), 70);
+ context.ds.word(21) = 10;
+ context._cmp(context.ds.word(context.bx+3), 70);
if (!context.flags.z()) goto notafterhshot;
- context._add(context.data.byte(64), 1);
- context._cmp(context.data.byte(64), 80);
+ context._add(context.ds.byte(64), 1);
+ context._cmp(context.ds.byte(64), 80);
if (!context.flags.z()) goto gotheavyframe;
- context.data.byte(56) = 2;
+ context.ds.byte(56) = 2;
goto gotheavyframe;
notafterhshot:
checkspeed(context);
if (!context.flags.z()) goto gotheavyframe;
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
goto gotheavyframe;
heavywait:
- context._cmp(context.data.byte(65), 1);
+ context._cmp(context.ds.byte(65), 1);
if (!context.flags.z()) goto gotheavyframe;
- context._cmp(context.data.byte(475), 5);
+ context._cmp(context.ds.byte(475), 5);
if (!context.flags.z()) goto gotheavyframe;
- context._cmp(context.data.byte(133), 4);
+ context._cmp(context.ds.byte(133), 4);
if (!context.flags.z()) goto gotheavyframe;
- context.data.byte(65) = -1;
- context._add(context.data.word(context.bx+3), 1);
- context.data.byte(64) = 0;
+ context.ds.byte(65) = -1;
+ context._add(context.ds.word(context.bx+3), 1);
+ context.ds.byte(64) = 0;
gotheavyframe:
showgamereel(context);
addtopeoplelist(context);
@@ -1240,7 +1240,7 @@ gotheavyframe:
static void bossman(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto notboss;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 4);
if (context.flags.z()) goto firstdes;
@@ -1249,11 +1249,11 @@ static void bossman(Context & context) {
context._cmp(context.ax, 41);
if (!context.flags.z()) goto gotallboss;
context.ax = 0;
- context._add(context.data.byte(46), 1);
- context.data.byte(context.bx+7) = 10;
+ context._add(context.ds.byte(46), 1);
+ context.ds.byte(context.bx+7) = 10;
goto gotallboss;
firstdes:
- context._cmp(context.data.byte(46), 1);
+ context._cmp(context.ds.byte(46), 1);
if (context.flags.z()) goto gotallboss;
context.push(context.ax);
randomnumber(context);
@@ -1264,18 +1264,18 @@ firstdes:
context.ax = 0;
goto gotallboss;
secdes:
- context._cmp(context.data.byte(46), 1);
+ context._cmp(context.ds.byte(46), 1);
if (context.flags.z()) goto gotallboss;
context.ax = 0;
gotallboss:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
notboss:
showgamereel(context);
addtopeoplelist(context);
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalkedboss;
- context.data.byte(50) = 1;
+ context.ds.byte(50) = 1;
nottalkedboss:
return;
}
@@ -1289,10 +1289,10 @@ gameragain:
context._cmp(context.al, 5);
if (!context.flags.c()) goto gameragain;
context._add(context.al, 20);
- context._cmp(context.al, context.data.byte(context.bx+3));
+ context._cmp(context.al, context.ds.byte(context.bx+3));
if (context.flags.z()) goto gameragain;
context.ah = 0;
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
gamerfin:
showgamereel(context);
addtopeoplelist(context);
@@ -1319,17 +1319,17 @@ cantdrip2:
}
static void keeper(Context & context) {
- context._cmp(context.data.byte(54), 0);
+ context._cmp(context.ds.byte(54), 0);
if (!context.flags.z()) goto notwaiting;
- context._cmp(context.data.word(23), 190);
+ context._cmp(context.ds.word(23), 190);
if (context.flags.c()) goto waiting;
- context._add(context.data.byte(54), 1);
- context.ah = context.data.byte(context.bx+7);
+ context._add(context.ds.byte(54), 1);
+ context.ah = context.ds.byte(context.bx+7);
context._and(context.ah, 127);
- context._cmp(context.ah, context.data.byte(66));
+ context._cmp(context.ah, context.ds.byte(66));
if (context.flags.z()) goto notdiff;
- context.al = context.data.byte(66);
- context.data.byte(context.bx+7) = context.al;
+ context.al = context.ds.byte(66);
+ context.ds.byte(context.bx+7) = context.al;
notdiff:
return;
notwaiting:
@@ -1342,13 +1342,13 @@ waiting:
static void candles1(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto candle1;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 44);
if (!context.flags.z()) goto notendcandle1;
context.ax = 39;
notendcandle1:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
candle1:
showgamereel(context);
return;
@@ -1357,13 +1357,13 @@ candle1:
static void smallcandle(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto smallcandlef;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 37);
if (!context.flags.z()) goto notendsmallcandle;
context.ax = 25;
notendsmallcandle:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
smallcandlef:
showgamereel(context);
return;
@@ -1372,25 +1372,25 @@ smallcandlef:
static void intromagic1(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto introm1fin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 145);
if (!context.flags.z()) goto gotintrom1;
context.ax = 121;
gotintrom1:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
context._cmp(context.ax, 121);
if (!context.flags.z()) goto introm1fin;
- context._add(context.data.byte(139), 1);
+ context._add(context.ds.byte(139), 1);
context.push(context.es);
context.push(context.bx);
intro1text(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.data.byte(139), 8);
+ context._cmp(context.ds.byte(139), 8);
if (!context.flags.z()) goto introm1fin;
- context._add(context.data.byte(149), 10);
- context.data.byte(186) = 1;
+ context._add(context.ds.byte(149), 10);
+ context.ds.byte(186) = 1;
introm1fin:
showgamereel(context);
return;
@@ -1399,13 +1399,13 @@ introm1fin:
static void candles(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto candlesfin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 167);
if (!context.flags.z()) goto gotcandles;
context.ax = 162;
gotcandles:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
candlesfin:
showgamereel(context);
return;
@@ -1414,13 +1414,13 @@ candlesfin:
static void candles2(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto candles2fin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 238);
if (!context.flags.z()) goto gotcandles2;
context.ax = 233;
gotcandles2:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
candles2fin:
showgamereel(context);
return;
@@ -1429,7 +1429,7 @@ candles2fin:
static void gates(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto gatesfin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 116);
if (!context.flags.z()) goto notbang;
@@ -1444,14 +1444,14 @@ static void gates(Context & context) {
notbang:
context._cmp(context.ax, 110);
if (context.flags.c()) goto slowgates;
- context.data.byte(context.bx+5) = 2;
+ context.ds.byte(context.bx+5) = 2;
slowgates:
context._cmp(context.ax, 120);
if (!context.flags.z()) goto gotgates;
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
context.ax = 119;
gotgates:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
context.push(context.es);
context.push(context.bx);
intro3text(context);
@@ -1465,13 +1465,13 @@ gatesfin:
static void intromagic2(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto introm2fin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 216);
if (!context.flags.z()) goto gotintrom2;
context.ax = 192;
gotintrom2:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
introm2fin:
showgamereel(context);
return;
@@ -1480,39 +1480,39 @@ introm2fin:
static void intromagic3(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto introm3fin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 218);
if (!context.flags.z()) goto gotintrom3;
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
gotintrom3:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
introm3fin:
showgamereel(context);
- context.al = context.data.byte(148);
- context.data.byte(context.bx+1) = context.al;
+ context.al = context.ds.byte(148);
+ context.ds.byte(context.bx+1) = context.al;
return;
}
static void intromonks1(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto intromonk1fin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 80);
if (!context.flags.z()) goto notendmonk1;
- context._add(context.data.byte(149), 10);
- context.data.byte(186) = 1;
+ context._add(context.ds.byte(149), 10);
+ context.ds.byte(186) = 1;
showgamereel(context);
return;
notendmonk1:
context._cmp(context.ax, 30);
if (!context.flags.z()) goto gotintromonk1;
- context._sub(context.data.byte(149), 10);
- context.data.byte(186) = 1;
+ context._sub(context.ds.byte(149), 10);
+ context.ds.byte(186) = 1;
context.ax = 51;
gotintromonk1:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
context._cmp(context.ax, 5);
if (context.flags.z()) goto waitstep;
context._cmp(context.ax, 15);
@@ -1530,28 +1530,28 @@ waitstep:
intro2text(context);
context.bx = context.pop();
context.es = context.pop();
- context.data.byte(context.bx+6) = -20;
+ context.ds.byte(context.bx+6) = -20;
intromonk1fin:
showgamereel(context);
- context.al = context.data.byte(149);
- context.data.byte(context.bx+2) = context.al;
+ context.al = context.ds.byte(149);
+ context.ds.byte(context.bx+2) = context.al;
return;
}
static void intromonks2(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto intromonk2fin;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 87);
if (!context.flags.z()) goto nottalk1;
- context._add(context.data.byte(139), 1);
+ context._add(context.ds.byte(139), 1);
context.push(context.es);
context.push(context.bx);
monks2text(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.data.byte(139), 19);
+ context._cmp(context.ds.byte(139), 19);
if (!context.flags.z()) goto notlasttalk1;
context.ax = 87;
goto gotintromonk2;
@@ -1561,13 +1561,13 @@ notlasttalk1:
nottalk1:
context._cmp(context.ax, 110);
if (!context.flags.z()) goto notraisearm;
- context._add(context.data.byte(139), 1);
+ context._add(context.ds.byte(139), 1);
context.push(context.es);
context.push(context.bx);
monks2text(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.data.byte(139), 35);
+ context._cmp(context.ds.byte(139), 35);
if (!context.flags.z()) goto notlastraise;
context.ax = 111;
goto gotintromonk2;
@@ -1577,14 +1577,14 @@ notlastraise:
notraisearm:
context._cmp(context.ax, 176);
if (!context.flags.z()) goto notendmonk2;
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
goto gotintromonk2;
notendmonk2:
context._cmp(context.ax, 125);
if (!context.flags.z()) goto gotintromonk2;
context.ax = 140;
gotintromonk2:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
intromonk2fin:
showgamereel(context);
return;
@@ -1595,7 +1595,7 @@ static void handclap(Context & context) {
}
static void monks2text(Context & context) {
- context._cmp(context.data.byte(139), 1);
+ context._cmp(context.ds.byte(139), 1);
if (!context.flags.z()) goto notmonk2text1;
context.al = 8;
context.bl = 36;
@@ -1603,7 +1603,7 @@ static void monks2text(Context & context) {
context.cx = 100;
goto gotmonks2text;
notmonk2text1:
- context._cmp(context.data.byte(139), 4);
+ context._cmp(context.ds.byte(139), 4);
if (!context.flags.z()) goto notmonk2text2;
context.al = 9;
context.bl = 36;
@@ -1611,7 +1611,7 @@ notmonk2text1:
context.cx = 100;
goto gotmonks2text;
notmonk2text2:
- context._cmp(context.data.byte(139), 7);
+ context._cmp(context.ds.byte(139), 7);
if (!context.flags.z()) goto notmonk2text3;
context.al = 10;
context.bl = 36;
@@ -1619,7 +1619,7 @@ notmonk2text2:
context.cx = 100;
goto gotmonks2text;
notmonk2text3:
- context._cmp(context.data.byte(139), 10);
+ context._cmp(context.ds.byte(139), 10);
if (!context.flags.z()) goto notmonk2text4;
context.al = 11;
context.bl = 0;
@@ -1627,7 +1627,7 @@ notmonk2text3:
context.cx = 100;
goto gotmonks2text;
notmonk2text4:
- context._cmp(context.data.byte(139), 13);
+ context._cmp(context.ds.byte(139), 13);
if (!context.flags.z()) goto notmonk2text5;
context.al = 12;
context.bl = 0;
@@ -1635,7 +1635,7 @@ notmonk2text4:
context.cx = 100;
goto gotmonks2text;
notmonk2text5:
- context._cmp(context.data.byte(139), 16);
+ context._cmp(context.ds.byte(139), 16);
if (!context.flags.z()) goto notmonk2text6;
context.al = 13;
context.bl = 0;
@@ -1643,7 +1643,7 @@ notmonk2text5:
context.cx = 100;
goto gotmonks2text;
notmonk2text6:
- context._cmp(context.data.byte(139), 19);
+ context._cmp(context.ds.byte(139), 19);
if (!context.flags.z()) goto notmonk2text7;
context.al = 14;
context.bl = 36;
@@ -1653,7 +1653,7 @@ notmonk2text6:
context.ah = 82;
{ setuptimedtemp(context); return; };
notmonk2text7:
- context._cmp(context.data.byte(139), 22);
+ context._cmp(context.ds.byte(139), 22);
if (!context.flags.z()) goto notmonk2text8;
context.al = 15;
context.bl = 36;
@@ -1661,7 +1661,7 @@ notmonk2text7:
context.cx = 100;
goto gotmonks2text;
notmonk2text8:
- context._cmp(context.data.byte(139), 25);
+ context._cmp(context.ds.byte(139), 25);
if (!context.flags.z()) goto notmonk2text9;
context.al = 16;
context.bl = 36;
@@ -1669,7 +1669,7 @@ notmonk2text8:
context.cx = 100;
goto gotmonks2text;
notmonk2text9:
- context._cmp(context.data.byte(139), 28);
+ context._cmp(context.ds.byte(139), 28);
if (!context.flags.z()) goto notmonk2text10;
context.al = 17;
context.bl = 36;
@@ -1677,7 +1677,7 @@ notmonk2text9:
context.cx = 100;
goto gotmonks2text;
notmonk2text10:
- context._cmp(context.data.byte(139), 31);
+ context._cmp(context.ds.byte(139), 31);
if (!context.flags.z()) goto notmonk2text11;
context.al = 18;
context.bl = 36;
@@ -1695,7 +1695,7 @@ gotmonks2text:
}
static void intro1text(Context & context) {
- context._cmp(context.data.byte(139), 2);
+ context._cmp(context.ds.byte(139), 2);
if (!context.flags.z()) goto notintro1text1;
context.al = 40;
context.bl = 34;
@@ -1703,7 +1703,7 @@ static void intro1text(Context & context) {
context.cx = 90;
goto gotintro1text;
notintro1text1:
- context._cmp(context.data.byte(139), 4);
+ context._cmp(context.ds.byte(139), 4);
if (!context.flags.z()) goto notintro1text2;
context.al = 41;
context.bl = 34;
@@ -1711,7 +1711,7 @@ notintro1text1:
context.cx = 90;
goto gotintro1text;
notintro1text2:
- context._cmp(context.data.byte(139), 6);
+ context._cmp(context.ds.byte(139), 6);
if (!context.flags.z()) goto notintro1text3;
context.al = 42;
context.bl = 34;
@@ -1781,23 +1781,23 @@ gotintro3text:
static void monkandryan(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto notmonkryan;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 83);
if (!context.flags.z()) goto gotmonkryan;
- context._add(context.data.byte(139), 1);
+ context._add(context.ds.byte(139), 1);
context.push(context.es);
context.push(context.bx);
textformonk(context);
context.bx = context.pop();
context.es = context.pop();
context.ax = 77;
- context._cmp(context.data.byte(139), 57);
+ context._cmp(context.ds.byte(139), 57);
if (!context.flags.z()) goto gotmonkryan;
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
gotmonkryan:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
notmonkryan:
showgamereel(context);
return;
@@ -1806,13 +1806,13 @@ notmonkryan:
static void endgameseq(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto notendseq;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 51);
if (!context.flags.z()) goto gotendseq;
- context._cmp(context.data.byte(139), 140);
+ context._cmp(context.ds.byte(139), 140);
if (context.flags.z()) goto gotendseq;
- context._add(context.data.byte(139), 1);
+ context._add(context.ds.byte(139), 1);
context.push(context.es);
context.push(context.bx);
textforend(context);
@@ -1820,7 +1820,7 @@ static void endgameseq(Context & context) {
context.es = context.pop();
context.ax = 50;
gotendseq:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
context._cmp(context.ax, 134);
if (!context.flags.z()) goto notfadedown;
context.push(context.es);
@@ -1838,23 +1838,23 @@ notfadedown:
context.push(context.bx);
context.push(context.ax);
fadescreendowns(context);
- context.data.byte(387) = 7;
- context.data.byte(388) = 1;
+ context.ds.byte(387) = 7;
+ context.ds.byte(388) = 1;
context.ax = context.pop();
context.bx = context.pop();
context.es = context.pop();
notfadeend:
context._cmp(context.ax, 340);
if (!context.flags.z()) goto notendseq;
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
notendseq:
showgamereel(context);
- context.al = context.data.byte(149);
- context.data.byte(context.bx+2) = context.al;
- context.ax = context.data.word(context.bx+3);
+ context.al = context.ds.byte(149);
+ context.ds.byte(context.bx+2) = context.al;
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 145);
if (!context.flags.z()) goto notendcreds;
- context.data.word(context.bx+3) = 146;
+ context.ds.word(context.bx+3) = 146;
rollendcredits(context);
notendcreds:
return;
@@ -1864,26 +1864,26 @@ static void rollendcredits(Context & context) {
context.al = 16;
context.ah = 255;
playchannel0(context);
- context.data.byte(386) = 7;
- context.data.byte(387) = 0;
- context.data.byte(388) = -1;
+ context.ds.byte(386) = 7;
+ context.ds.byte(387) = 0;
+ context.ds.byte(388) = -1;
context.cl = 160;
context.ch = 160;
context.di = 75;
context.bx = 20;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
multiget(context);
- context.es = context.data.word(466);
+ context.es = context.ds.word(466);
context.si = 3*2;
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context.si = context.ax;
context._add(context.si, 66*2);
context.cx = 254;
endcredits1:
context.push(context.cx);
context.bx = 10;
- context.cx = context.data.word(77);
+ context.cx = context.ds.word(77);
endcredits2:
context.push(context.cx);
context.push(context.si);
@@ -1895,7 +1895,7 @@ endcredits2:
context.ch = 160;
context.di = 75;
context.bx = 20;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
multiput(context);
vsync(context);
@@ -1914,7 +1914,7 @@ onelot:
context.dx = 161;
context.ax = 0;
printdirect(context);
- context._add(context.bx, context.data.word(77));
+ context._add(context.bx, context.ds.word(77));
context.cx = context.pop();
if (--context.cx) goto onelot;
vsync(context);
@@ -1932,7 +1932,7 @@ onelot:
if (--context.cx) goto endcredits2;
context.cx = context.pop();
looknext:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 1);
context._cmp(context.al, ':');
if (context.flags.z()) goto gotnext;
@@ -1949,13 +1949,13 @@ gotnext:
}
static void priest(Context & context) {
- context._cmp(context.data.word(context.bx+3), 8);
+ context._cmp(context.ds.word(context.bx+3), 8);
if (context.flags.z()) goto priestspoken;
- context.data.byte(234) = 0;
- context.data.word(21) = 2;
+ context.ds.byte(234) = 0;
+ context.ds.word(21) = 2;
checkspeed(context);
if (!context.flags.z()) goto priestwait;
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
context.push(context.es);
context.push(context.bx);
priesttext(context);
@@ -1968,22 +1968,22 @@ priestspoken:
}
static void madmanstelly(Context & context) {
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 307);
if (!context.flags.z()) goto notendtelly;
context.ax = 300;
notendtelly:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
showgamereel(context);
return;
}
static void madman(Context & context) {
- context.data.word(21) = 2;
+ context.ds.word(21) = 2;
checkspeed(context);
if (!context.flags.z()) goto nomadspeed;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 364);
if (!context.flags.c()) goto ryansded;
context._cmp(context.ax, 10);
@@ -1996,46 +1996,46 @@ static void madman(Context & context) {
context.ax = context.pop();
context.bx = context.pop();
context.es = context.pop();
- context.data.byte(64) = -1;
- context.data.byte(69) = 0;
+ context.ds.byte(64) = -1;
+ context.ds.byte(69) = 0;
notfirstmad:
context._add(context.ax, 1);
context._cmp(context.ax, 294);
if (context.flags.z()) goto madmanspoken;
context._cmp(context.ax, 66);
if (!context.flags.z()) goto nomadspeak;
- context._add(context.data.byte(64), 1);
+ context._add(context.ds.byte(64), 1);
context.push(context.es);
context.push(context.bx);
madmantext(context);
context.bx = context.pop();
context.es = context.pop();
context.ax = 53;
- context._cmp(context.data.byte(64), 62);
+ context._cmp(context.ds.byte(64), 62);
if (context.flags.c()) goto nomadspeak;
- context._cmp(context.data.byte(64), 68);
+ context._cmp(context.ds.byte(64), 68);
if (context.flags.z()) goto killryan;
- context._cmp(context.data.byte(65), 8);
+ context._cmp(context.ds.byte(65), 8);
if (!context.flags.z()) goto nomadspeak;
- context.data.byte(64) = 70;
- context.data.byte(65) = -1;
- context.data.byte(53) = 1;
+ context.ds.byte(64) = 70;
+ context.ds.byte(65) = -1;
+ context.ds.byte(53) = 1;
context.ax = 67;
goto nomadspeak;
killryan:
context.ax = 310;
nomadspeak:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
nomadspeed:
showgamereel(context);
- context.al = context.data.byte(148);
- context.data.byte(context.bx+1) = context.al;
+ context.al = context.ds.byte(148);
+ context.ds.byte(context.bx+1) = context.al;
madmode(context);
return;
madmanspoken:
- context._cmp(context.data.byte(391), 1);
+ context._cmp(context.ds.byte(391), 1);
if (context.flags.z()) goto alreadywon;
- context.data.byte(391) = 1;
+ context.ds.byte(391) = 1;
context.push(context.es);
context.push(context.bx);
getridoftemptext(context);
@@ -2044,18 +2044,18 @@ madmanspoken:
alreadywon:
return;
ryansded:
- context.data.byte(56) = 2;
+ context.ds.byte(56) = 2;
showgamereel(context);
return;
}
static void madmantext(Context & context) {
- context._cmp(context.data.byte(64), 61);
+ context._cmp(context.ds.byte(64), 61);
if (!context.flags.c()) goto nomadtext;
- context.al = context.data.byte(64);
+ context.al = context.ds.byte(64);
context._and(context.al, 3);
if (!context.flags.z()) goto nomadtext;
- context.al = context.data.byte(64);
+ context.al = context.ds.byte(64);
context._shr(context.al, 1);
context._shr(context.al, 1);
context._add(context.al, 47);
@@ -2070,26 +2070,26 @@ nomadtext:
}
static void madmode(Context & context) {
- context.data.word(21) = 2;
- context.data.byte(234) = 0;
- context._cmp(context.data.byte(64), 63);
+ context.ds.word(21) = 2;
+ context.ds.byte(234) = 0;
+ context._cmp(context.ds.byte(64), 63);
if (context.flags.c()) goto iswatchmad;
- context._cmp(context.data.byte(64), 68);
+ context._cmp(context.ds.byte(64), 68);
if (!context.flags.c()) goto iswatchmad;
- context.data.byte(234) = 2;
+ context.ds.byte(234) = 2;
iswatchmad:
return;
}
static void priesttext(Context & context) {
- context._cmp(context.data.word(context.bx+3), 2);
+ context._cmp(context.ds.word(context.bx+3), 2);
if (context.flags.c()) goto nopriesttext;
- context._cmp(context.data.word(context.bx+3), 7);
+ context._cmp(context.ds.word(context.bx+3), 7);
if (!context.flags.c()) goto nopriesttext;
- context.al = context.data.byte(context.bx+3);
+ context.al = context.ds.byte(context.bx+3);
context._and(context.al, 1);
if (!context.flags.z()) goto nopriesttext;
- context.al = context.data.byte(context.bx+3);
+ context.al = context.ds.byte(context.bx+3);
context._shr(context.al, 1);
context._add(context.al, 50);
context.bl = 72;
@@ -2102,7 +2102,7 @@ nopriesttext:
}
static void textforend(Context & context) {
- context._cmp(context.data.byte(139), 20);
+ context._cmp(context.ds.byte(139), 20);
if (!context.flags.z()) goto notendtext1;
context.al = 0;
context.bl = 34;
@@ -2110,7 +2110,7 @@ static void textforend(Context & context) {
context.cx = 60;
goto gotendtext;
notendtext1:
- context._cmp(context.data.byte(139), 65);
+ context._cmp(context.ds.byte(139), 65);
if (!context.flags.z()) goto notendtext2;
context.al = 1;
context.bl = 34;
@@ -2118,7 +2118,7 @@ notendtext1:
context.cx = 60;
goto gotendtext;
notendtext2:
- context._cmp(context.data.byte(139), 110);
+ context._cmp(context.ds.byte(139), 110);
if (!context.flags.z()) goto notendtext3;
context.al = 2;
context.bl = 34;
@@ -2135,7 +2135,7 @@ gotendtext:
}
static void textformonk(Context & context) {
- context._cmp(context.data.byte(139), 1);
+ context._cmp(context.ds.byte(139), 1);
if (!context.flags.z()) goto notmonktext1;
context.al = 19;
context.bl = 68;
@@ -2143,7 +2143,7 @@ static void textformonk(Context & context) {
context.cx = 120;
goto gotmonktext;
notmonktext1:
- context._cmp(context.data.byte(139), 5);
+ context._cmp(context.ds.byte(139), 5);
if (!context.flags.z()) goto notmonktext2;
context.al = 20;
context.bl = 68;
@@ -2151,7 +2151,7 @@ notmonktext1:
context.cx = 120;
goto gotmonktext;
notmonktext2:
- context._cmp(context.data.byte(139), 9);
+ context._cmp(context.ds.byte(139), 9);
if (!context.flags.z()) goto notmonktext3;
context.al = 21;
context.bl = 48;
@@ -2159,7 +2159,7 @@ notmonktext2:
context.cx = 120;
goto gotmonktext;
notmonktext3:
- context._cmp(context.data.byte(139), 13);
+ context._cmp(context.ds.byte(139), 13);
if (!context.flags.z()) goto notmonktext4;
context.al = 22;
context.bl = 68;
@@ -2167,7 +2167,7 @@ notmonktext3:
context.cx = 120;
goto gotmonktext;
notmonktext4:
- context._cmp(context.data.byte(139), 17);
+ context._cmp(context.ds.byte(139), 17);
if (!context.flags.z()) goto notmonktext5;
context.al = 23;
context.bl = 68;
@@ -2175,7 +2175,7 @@ notmonktext4:
context.cx = 120;
goto gotmonktext;
notmonktext5:
- context._cmp(context.data.byte(139), 21);
+ context._cmp(context.ds.byte(139), 21);
if (!context.flags.z()) goto notmonktext6;
context.al = 24;
context.bl = 68;
@@ -2183,7 +2183,7 @@ notmonktext5:
context.cx = 120;
goto gotmonktext;
notmonktext6:
- context._cmp(context.data.byte(139), 25);
+ context._cmp(context.ds.byte(139), 25);
if (!context.flags.z()) goto notmonktext7;
context.al = 25;
context.bl = 68;
@@ -2191,7 +2191,7 @@ notmonktext6:
context.cx = 120;
goto gotmonktext;
notmonktext7:
- context._cmp(context.data.byte(139), 29);
+ context._cmp(context.ds.byte(139), 29);
if (!context.flags.z()) goto notmonktext8;
context.al = 26;
context.bl = 68;
@@ -2199,7 +2199,7 @@ notmonktext7:
context.cx = 120;
goto gotmonktext;
notmonktext8:
- context._cmp(context.data.byte(139), 33);
+ context._cmp(context.ds.byte(139), 33);
if (!context.flags.z()) goto notmonktext9;
context.al = 27;
context.bl = 68;
@@ -2207,7 +2207,7 @@ notmonktext8:
context.cx = 120;
goto gotmonktext;
notmonktext9:
- context._cmp(context.data.byte(139), 37);
+ context._cmp(context.ds.byte(139), 37);
if (!context.flags.z()) goto notmonktext10;
context.al = 28;
context.bl = 68;
@@ -2215,7 +2215,7 @@ notmonktext9:
context.cx = 120;
goto gotmonktext;
notmonktext10:
- context._cmp(context.data.byte(139), 41);
+ context._cmp(context.ds.byte(139), 41);
if (!context.flags.z()) goto notmonktext11;
context.al = 29;
context.bl = 68;
@@ -2223,7 +2223,7 @@ notmonktext10:
context.cx = 120;
goto gotmonktext;
notmonktext11:
- context._cmp(context.data.byte(139), 45);
+ context._cmp(context.ds.byte(139), 45);
if (!context.flags.z()) goto notmonktext12;
context.al = 30;
context.bl = 68;
@@ -2231,7 +2231,7 @@ notmonktext11:
context.cx = 120;
goto gotmonktext;
notmonktext12:
- context._cmp(context.data.byte(139), 49);
+ context._cmp(context.ds.byte(139), 49);
if (!context.flags.z()) goto notmonktext13;
context.al = 31;
context.bl = 68;
@@ -2239,7 +2239,7 @@ notmonktext12:
context.cx = 220;
goto gotmonktext;
notmonktext13:
- context._cmp(context.data.byte(139), 53);
+ context._cmp(context.ds.byte(139), 53);
if (!context.flags.z()) goto notendtitles;
fadescreendowns(context);
notendtitles:
@@ -2253,11 +2253,11 @@ oktalk:
}
static void drunk(Context & context) {
- context._cmp(context.data.byte(42), 0);
+ context._cmp(context.ds.byte(42), 0);
if (!context.flags.z()) goto trampgone;
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 127);
- context.data.byte(context.bx+7) = context.al;
+ context.ds.byte(context.bx+7) = context.al;
showgamereel(context);
addtopeoplelist(context);
trampgone:
@@ -2268,7 +2268,7 @@ static void advisor(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto noadvisor;
goto noadvisor;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 123);
if (!context.flags.z()) goto notendadvis;
@@ -2285,7 +2285,7 @@ notendadvis:
if (context.flags.c()) goto gotadvframe;
context.ax = 106;
gotadvframe:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
noadvisor:
showgamereel(context);
addtopeoplelist(context);
@@ -2295,7 +2295,7 @@ noadvisor:
static void copper(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto nocopper;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._add(context.ax, 1);
context._cmp(context.ax, 94);
if (!context.flags.z()) goto notendcopper;
@@ -2315,7 +2315,7 @@ mightwait:
if (context.flags.c()) goto gotcopframe;
context._sub(context.ax, 1);
gotcopframe:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
nocopper:
showgamereel(context);
addtopeoplelist(context);
@@ -2323,41 +2323,41 @@ nocopper:
}
static void sparky(Context & context) {
- context._cmp(context.data.word(16), 0);
+ context._cmp(context.ds.word(16), 0);
if (context.flags.z()) goto animsparky;
- context.data.byte(context.bx+7) = 3;
+ context.ds.byte(context.bx+7) = 3;
goto animsparky;
animsparky:
checkspeed(context);
if (!context.flags.z()) goto finishsparky;
- context._cmp(context.data.word(context.bx+3), 34);
+ context._cmp(context.ds.word(context.bx+3), 34);
if (!context.flags.z()) goto notsparky1;
randomnumber(context);
context._cmp(context.al, 30);
if (context.flags.c()) goto dosparky;
- context.data.word(context.bx+3) = 27;
+ context.ds.word(context.bx+3) = 27;
goto finishsparky;
notsparky1:
- context._cmp(context.data.word(context.bx+3), 48);
+ context._cmp(context.ds.word(context.bx+3), 48);
if (!context.flags.z()) goto dosparky;
- context.data.word(context.bx+3) = 27;
+ context.ds.word(context.bx+3) = 27;
goto finishsparky;
dosparky:
- context._add(context.data.word(context.bx+3), 1);
+ context._add(context.ds.word(context.bx+3), 1);
finishsparky:
showgamereel(context);
addtopeoplelist(context);
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalkedsparky;
- context.data.byte(49) = 1;
+ context.ds.byte(49) = 1;
nottalkedsparky:
return;
}
static void train(Context & context) {
return;
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 21);
if (!context.flags.c()) goto notrainyet;
context._add(context.ax, 1);
@@ -2366,13 +2366,13 @@ notrainyet:
randomnumber(context);
context._cmp(context.al, 253);
if (context.flags.c()) goto notrainatall;
- context._cmp(context.data.byte(475), 5);
+ context._cmp(context.ds.byte(475), 5);
if (!context.flags.z()) goto notrainatall;
- context._cmp(context.data.byte(477), 5);
+ context._cmp(context.ds.byte(477), 5);
if (!context.flags.z()) goto notrainatall;
context.ax = 5;
gottrainframe:
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
showgamereel(context);
notrainatall:
return;
@@ -2382,45 +2382,45 @@ static void addtopeoplelist(Context & context) {
context.push(context.es);
context.push(context.bx);
context.push(context.bx);
- context.cl = context.data.byte(context.bx+7);
- context.ax = context.data.word(context.bx+3);
- context.bx = context.data.word(18);
- context.es = context.data.word(412);
- context.data.word(context.bx) = context.ax;
+ context.cl = context.ds.byte(context.bx+7);
+ context.ax = context.ds.word(context.bx+3);
+ context.bx = context.ds.word(18);
+ context.es = context.ds.word(412);
+ context.ds.word(context.bx) = context.ax;
context.ax = context.pop();
- context.data.word(context.bx+2) = context.ax;
- context.data.byte(context.bx+4) = context.cl;
+ context.ds.word(context.bx+2) = context.ax;
+ context.ds.byte(context.bx+4) = context.cl;
context.bx = context.pop();
context.es = context.pop();
- context._add(context.data.word(18), 5);
+ context._add(context.ds.word(18), 5);
return;
}
static void showgamereel(Context & context) {
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 512);
if (!context.flags.c()) goto noshow;
- context.data.word(239) = context.ax;
+ context.ds.word(239) = context.ax;
context.push(context.es);
context.push(context.bx);
plotreel(context);
context.bx = context.pop();
context.es = context.pop();
- context.ax = context.data.word(239);
- context.data.word(context.bx+3) = context.ax;
+ context.ax = context.ds.word(239);
+ context.ds.word(context.bx+3) = context.ax;
noshow:
return;
}
static void checkspeed(Context & context) {
- context._cmp(context.data.byte(65), -1);
+ context._cmp(context.ds.byte(65), -1);
if (!context.flags.z()) goto forcenext;
- context._add(context.data.byte(context.bx+6), 1);
- context.al = context.data.byte(context.bx+6);
- context._cmp(context.al, context.data.byte(context.bx+5));
+ context._add(context.ds.byte(context.bx+6), 1);
+ context.al = context.ds.byte(context.bx+6);
+ context._cmp(context.al, context.ds.byte(context.bx+5));
if (!context.flags.z()) goto notspeed;
context.al = 0;
- context.data.byte(context.bx+6) = context.al;
+ context.ds.byte(context.bx+6) = context.al;
context._cmp(context.al, context.al);
notspeed:
return;
@@ -2430,7 +2430,7 @@ forcenext:
}
static void clearsprites(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.al = 255;
context.cx = 32*16;
@@ -2439,21 +2439,21 @@ static void clearsprites(Context & context) {
}
static void makesprite(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
_tmp17:
- context._cmp(context.data.byte(context.bx+15), 255);
+ context._cmp(context.ds.byte(context.bx+15), 255);
if (context.flags.z()) goto _tmp17a;
context._add(context.bx, 32);
goto _tmp17;
_tmp17a:
- context.data.word(context.bx) = context.cx;
- context.data.word(context.bx+10) = context.si;
- context.data.word(context.bx+6) = context.dx;
- context.data.word(context.bx+8) = context.di;
- context.data.word(context.bx+2) = 0x0ffff;
- context.data.byte(context.bx+15) = 0;
- context.data.byte(context.bx+18) = 0;
+ context.ds.word(context.bx) = context.cx;
+ context.ds.word(context.bx+10) = context.si;
+ context.ds.word(context.bx+6) = context.dx;
+ context.ds.word(context.bx+8) = context.di;
+ context.ds.word(context.bx+2) = 0x0ffff;
+ context.ds.byte(context.bx+15) = 0;
+ context.ds.byte(context.bx+18) = 0;
return;
}
@@ -2466,30 +2466,30 @@ static void delsprite(Context & context) {
}
static void spriteupdate(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
- context.al = context.data.byte(63);
- context.data.byte(context.bx+31) = context.al;
- context.es = context.data.word(412);
+ context.al = context.ds.byte(63);
+ context.ds.byte(context.bx+31) = context.al;
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.cx = 16;
_tmp18:
context.push(context.cx);
context.push(context.bx);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto _tmp18a;
context.push(context.es);
context.push(context.ds);
- context.cx = context.data.word(context.bx+2);
- context.data.word(context.bx+24) = context.cx;
+ context.cx = context.ds.word(context.bx+2);
+ context.ds.word(context.bx+24) = context.cx;
__dispatch_call(context, context.ax);
context.ds = context.pop();
context.es = context.pop();
_tmp18a:
context.bx = context.pop();
context.cx = context.pop();
- context._cmp(context.data.byte(186), 1);
+ context._cmp(context.ds.byte(186), 1);
if (context.flags.z()) goto _tmp18b;
context._add(context.bx, 32);
if (--context.cx) goto _tmp18;
@@ -2498,23 +2498,23 @@ _tmp18b:
}
static void printsprites(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.cx = 0;
priorityloop:
context.push(context.cx);
- context.data.byte(182) = context.cl;
+ context.ds.byte(182) = context.cl;
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.cx = 16;
prtspriteloop:
context.push(context.cx);
context.push(context.bx);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto skipsprite;
- context.al = context.data.byte(182);
- context._cmp(context.al, context.data.byte(context.bx+23));
+ context.al = context.ds.byte(182);
+ context._cmp(context.al, context.ds.byte(context.bx+23));
if (!context.flags.z()) goto skipsprite;
- context._cmp(context.data.byte(context.bx+31), 1);
+ context._cmp(context.ds.byte(context.bx+31), 1);
if (context.flags.z()) goto skipsprite;
printasprite(context);
skipsprite:
@@ -2533,30 +2533,30 @@ static void printasprite(Context & context) {
context.push(context.es);
context.push(context.bx);
context.si = context.bx;
- context.ds = context.data.word(context.si+6);
- context.al = context.data.byte(context.si+11);
+ context.ds = context.ds.word(context.si+6);
+ context.al = context.ds.byte(context.si+11);
context.ah = 0;
context._cmp(context.al, 220);
if (context.flags.c()) goto notnegative1;
context.ah = 255;
notnegative1:
context.bx = context.ax;
- context._add(context.bx, context.data.word(119));
- context.al = context.data.byte(context.si+10);
+ context._add(context.bx, context.ds.word(119));
+ context.al = context.ds.byte(context.si+10);
context.ah = 0;
context._cmp(context.al, 220);
if (context.flags.c()) goto notnegative2;
context.ah = 255;
notnegative2:
context.di = context.ax;
- context._add(context.di, context.data.word(117));
- context.al = context.data.byte(context.si+15);
+ context._add(context.di, context.ds.word(117));
+ context.al = context.ds.byte(context.si+15);
context.ah = 0;
- context._cmp(context.data.byte(context.si+30), 0);
+ context._cmp(context.ds.byte(context.si+30), 0);
if (context.flags.z()) goto steadyframe;
context.ah = 8;
steadyframe:
- context._cmp(context.data.byte(182), 6);
+ context._cmp(context.ds.byte(182), 6);
if (!context.flags.z()) goto notquickp;
notquickp:
showframe(context);
@@ -2591,7 +2591,7 @@ static void checkone(Context & context) {
context.cx = 3;
context._mul(context.cx);
context.si = context.ax;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context._add(context.si, 0+(228*13)+32+60+(32*32));
context._lodsw();
context.cx = context.ax;
@@ -2601,90 +2601,90 @@ static void checkone(Context & context) {
}
static void findsource(Context & context) {
- context.ax = context.data.word(160);
+ context.ax = context.ds.word(160);
context._cmp(context.ax, 160);
if (!context.flags.c()) goto over1000;
- context.ds = context.data.word(430);
- context.data.word(244) = 0;
+ context.ds = context.ds.word(430);
+ context.ds.word(244) = 0;
return;
over1000:
context._cmp(context.ax, 320);
if (!context.flags.c()) goto over1001;
- context.ds = context.data.word(432);
- context.data.word(244) = 160;
+ context.ds = context.ds.word(432);
+ context.ds.word(244) = 160;
return;
over1001:
- context.ds = context.data.word(434);
- context.data.word(244) = 320;
+ context.ds = context.ds.word(434);
+ context.ds.word(244) = 320;
return;
}
static void initman(Context & context) {
- context.al = context.data.byte(151);
- context.ah = context.data.byte(152);
+ context.al = context.ds.byte(151);
+ context.ah = context.ds.byte(152);
context.si = context.ax;
context.cx = 49464;
- context.dx = context.data.word(414);
+ context.dx = context.ds.word(414);
context.di = 0;
makesprite(context);
- context.data.byte(context.bx+23) = 4;
- context.data.byte(context.bx+22) = 0;
- context.data.byte(context.bx+29) = 0;
+ context.ds.byte(context.bx+23) = 4;
+ context.ds.byte(context.bx+22) = 0;
+ context.ds.byte(context.bx+29) = 0;
return;
}
static void mainman(Context & context) {
- context._cmp(context.data.byte(187), 1);
+ context._cmp(context.ds.byte(187), 1);
if (!context.flags.z()) goto notinnewroom;
- context.data.byte(187) = 0;
- context.al = context.data.byte(151);
- context.ah = context.data.byte(152);
- context.data.word(context.bx+10) = context.ax;
- context.data.byte(context.bx+29) = 0;
+ context.ds.byte(187) = 0;
+ context.al = context.ds.byte(151);
+ context.ah = context.ds.byte(152);
+ context.ds.word(context.bx+10) = context.ax;
+ context.ds.byte(context.bx+29) = 0;
goto executewalk;
notinnewroom:
- context._sub(context.data.byte(context.bx+22), 1);
- context._cmp(context.data.byte(context.bx+22), -1);
+ context._sub(context.ds.byte(context.bx+22), 1);
+ context._cmp(context.ds.byte(context.bx+22), -1);
if (context.flags.z()) goto executewalk;
return;
executewalk:
- context.data.byte(context.bx+22) = 0;
- context.al = context.data.byte(135);
- context._cmp(context.al, context.data.byte(133));
+ context.ds.byte(context.bx+22) = 0;
+ context.al = context.ds.byte(135);
+ context._cmp(context.al, context.ds.byte(133));
if (context.flags.z()) goto facingok;
aboutturn(context);
goto notwalk;
facingok:
- context._cmp(context.data.byte(136), 0);
+ context._cmp(context.ds.byte(136), 0);
if (context.flags.z()) goto alreadyturned;
- context._cmp(context.data.byte(492), 254);
+ context._cmp(context.ds.byte(492), 254);
if (!context.flags.z()) goto alreadyturned;
- context.data.byte(473) = 1;
- context.al = context.data.byte(133);
- context._cmp(context.al, context.data.byte(134));
+ context.ds.byte(473) = 1;
+ context.al = context.ds.byte(133);
+ context._cmp(context.al, context.ds.byte(134));
if (!context.flags.z()) goto alreadyturned;
checkforexit(context);
alreadyturned:
- context.data.byte(136) = 0;
- context._cmp(context.data.byte(492), 254);
+ context.ds.byte(136) = 0;
+ context._cmp(context.ds.byte(492), 254);
if (!context.flags.z()) goto walkman;
- context.data.byte(context.bx+29) = 0;
+ context.ds.byte(context.bx+29) = 0;
goto notwalk;
walkman:
- context.al = context.data.byte(context.bx+29);
+ context.al = context.ds.byte(context.bx+29);
context._add(context.al, 1);
context._cmp(context.al, 11);
if (!context.flags.z()) goto notanimend1;
context.al = 1;
notanimend1:
- context.data.byte(context.bx+29) = context.al;
+ context.ds.byte(context.bx+29) = context.al;
walking(context);
- context._cmp(context.data.byte(492), 254);
+ context._cmp(context.ds.byte(492), 254);
if (context.flags.z()) goto afterwalk;
- context.al = context.data.byte(133);
+ context.al = context.ds.byte(133);
context._and(context.al, 1);
if (context.flags.z()) goto isdouble;
- context.al = context.data.byte(context.bx+29);
+ context.al = context.ds.byte(context.bx+29);
context._cmp(context.al, 2);
if (context.flags.z()) goto afterwalk;
context._cmp(context.al, 7);
@@ -2692,37 +2692,37 @@ notanimend1:
isdouble:
walking(context);
afterwalk:
- context._cmp(context.data.byte(492), 254);
+ context._cmp(context.ds.byte(492), 254);
if (!context.flags.z()) goto notwalk;
- context.al = context.data.byte(135);
- context._cmp(context.al, context.data.byte(133));
+ context.al = context.ds.byte(135);
+ context._cmp(context.al, context.ds.byte(133));
if (!context.flags.z()) goto notwalk;
- context.data.byte(473) = 1;
- context.al = context.data.byte(133);
- context._cmp(context.al, context.data.byte(134));
+ context.ds.byte(473) = 1;
+ context.al = context.ds.byte(133);
+ context._cmp(context.al, context.ds.byte(134));
if (!context.flags.z()) goto notwalk;
checkforexit(context);
notwalk:
- context.al = context.data.byte(133);
+ context.al = context.ds.byte(133);
context.ah = 0;
context.di = 1105;
context._add(context.di, context.ax);
- context.al = context.data.byte(context.di);
- context._add(context.al, context.data.byte(context.bx+29));
- context.data.byte(context.bx+15) = context.al;
- context.ax = context.data.word(context.bx+10);
- context.data.byte(151) = context.al;
- context.data.byte(152) = context.ah;
+ context.al = context.ds.byte(context.di);
+ context._add(context.al, context.ds.byte(context.bx+29));
+ context.ds.byte(context.bx+15) = context.al;
+ context.ax = context.ds.word(context.bx+10);
+ context.ds.byte(151) = context.al;
+ context.ds.byte(152) = context.ah;
return;
}
static void aboutturn(Context & context) {
- context._cmp(context.data.byte(136), 1);
+ context._cmp(context.ds.byte(136), 1);
if (context.flags.z()) goto incdir;
- context._cmp(context.data.byte(136), -1);
+ context._cmp(context.ds.byte(136), -1);
if (context.flags.z()) goto decdir;
- context.al = context.data.byte(133);
- context._sub(context.al, context.data.byte(135));
+ context.al = context.ds.byte(133);
+ context._sub(context.al, context.ds.byte(135));
if (!context.flags.c()) goto higher;
context._neg(context.al);
context._cmp(context.al, 4);
@@ -2733,37 +2733,37 @@ higher:
if (!context.flags.c()) goto incdir;
goto decdir;
incdir:
- context.data.byte(136) = 1;
- context.al = context.data.byte(133);
+ context.ds.byte(136) = 1;
+ context.al = context.ds.byte(133);
context._add(context.al, 1);
context._and(context.al, 7);
- context.data.byte(133) = context.al;
- context.data.byte(context.bx+29) = 0;
+ context.ds.byte(133) = context.al;
+ context.ds.byte(context.bx+29) = 0;
return;
decdir:
- context.data.byte(136) = -1;
- context.al = context.data.byte(133);
+ context.ds.byte(136) = -1;
+ context.al = context.ds.byte(133);
context._sub(context.al, 1);
context._and(context.al, 7);
- context.data.byte(133) = context.al;
- context.data.byte(context.bx+29) = 0;
+ context.ds.byte(133) = context.al;
+ context.ds.byte(context.bx+29) = 0;
return;
}
static void walking(Context & context) {
- context._cmp(context.data.byte(493), 0);
+ context._cmp(context.ds.byte(493), 0);
if (context.flags.z()) goto normalwalk;
- context.al = context.data.byte(492);
+ context.al = context.ds.byte(492);
context._sub(context.al, 1);
- context.data.byte(492) = context.al;
+ context.ds.byte(492) = context.al;
context._cmp(context.al, 200);
if (!context.flags.c()) goto endofline;
goto continuewalk;
normalwalk:
- context.al = context.data.byte(492);
+ context.al = context.ds.byte(492);
context._add(context.al, 1);
- context.data.byte(492) = context.al;
- context._cmp(context.al, context.data.byte(494));
+ context.ds.byte(492) = context.al;
+ context._cmp(context.al, context.ds.byte(494));
if (!context.flags.c()) goto endofline;
continuewalk:
context.ah = 0;
@@ -2774,20 +2774,20 @@ continuewalk:
context.es = context.dx;
context.bx = 8344;
context._add(context.bx, context.ax);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context.bx = context.pop();
context.es = context.pop();
stillline:
- context.data.word(context.bx+10) = context.ax;
+ context.ds.word(context.bx+10) = context.ax;
return;
endofline:
- context.data.byte(492) = 254;
- context.al = context.data.byte(478);
- context.data.byte(475) = context.al;
- context._cmp(context.al, context.data.byte(477));
+ context.ds.byte(492) = 254;
+ context.al = context.ds.byte(478);
+ context.ds.byte(475) = context.al;
+ context._cmp(context.al, context.ds.byte(477));
if (context.flags.z()) goto finishedwalk;
- context.al = context.data.byte(477);
- context.data.byte(478) = context.al;
+ context.al = context.ds.byte(477);
+ context.ds.byte(478) = context.al;
context.push(context.es);
context.push(context.bx);
autosetwalk(context);
@@ -2803,42 +2803,42 @@ static void facerightway(Context & context) {
context.push(context.es);
context.push(context.bx);
getroomspaths(context);
- context.al = context.data.byte(475);
+ context.al = context.ds.byte(475);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx+7);
- context.data.byte(135) = context.al;
- context.data.byte(134) = context.al;
+ context.al = context.ds.byte(context.bx+7);
+ context.ds.byte(135) = context.al;
+ context.ds.byte(134) = context.al;
context.bx = context.pop();
context.es = context.pop();
return;
}
static void checkforexit(Context & context) {
- context.cl = context.data.byte(151);
+ context.cl = context.ds.byte(151);
context._add(context.cl, 12);
- context.ch = context.data.byte(152);
+ context.ch = context.ds.byte(152);
context._add(context.ch, 12);
checkone(context);
- context.data.byte(153) = context.cl;
- context.data.byte(154) = context.ch;
- context.data.byte(155) = context.dl;
- context.data.byte(156) = context.dh;
- context.al = context.data.byte(153);
+ context.ds.byte(153) = context.cl;
+ context.ds.byte(154) = context.ch;
+ context.ds.byte(155) = context.dl;
+ context.ds.byte(156) = context.dh;
+ context.al = context.ds.byte(153);
context._test(context.al, 64);
if (context.flags.z()) goto notnewdirect;
- context.al = context.data.byte(154);
- context.data.byte(189) = context.al;
+ context.al = context.ds.byte(154);
+ context.ds.byte(189) = context.al;
return;
notnewdirect:
context._test(context.al, 32);
if (context.flags.z()) goto notleave;
context.push(context.es);
context.push(context.bx);
- context._cmp(context.data.byte(184), 2);
+ context._cmp(context.ds.byte(184), 2);
if (!context.flags.z()) goto notlouis;
context.bl = 0;
context.push(context.bx);
@@ -2873,17 +2873,17 @@ notravmessage:
context.bl = 68;
context.bh = 64;
setuptimeduse(context);
- context.al = context.data.byte(133);
+ context.al = context.ds.byte(133);
context._add(context.al, 4);
context._and(context.al, 7);
- context.data.byte(135) = context.al;
+ context.ds.byte(135) = context.al;
context.bx = context.pop();
context.es = context.pop();
return;
notlouis:
context.bx = context.pop();
context.es = context.pop();
- context.data.byte(60) = 1;
+ context.ds.byte(60) = 1;
return;
notleave:
context._test(context.al, 4);
@@ -2912,12 +2912,12 @@ notanup:
static void adjustdown(Context & context) {
context.push(context.es);
context.push(context.bx);
- context._add(context.data.byte(149), 10);
- context.al = context.data.byte(154);
+ context._add(context.ds.byte(149), 10);
+ context.al = context.ds.byte(154);
context.cl = 16;
context._mul(context.cl);
- context.data.byte(context.bx+11) = context.al;
- context.data.byte(186) = 1;
+ context.ds.byte(context.bx+11) = context.al;
+ context.ds.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -2926,12 +2926,12 @@ static void adjustdown(Context & context) {
static void adjustup(Context & context) {
context.push(context.es);
context.push(context.bx);
- context._sub(context.data.byte(149), 10);
- context.al = context.data.byte(154);
+ context._sub(context.ds.byte(149), 10);
+ context.al = context.ds.byte(154);
context.cl = 16;
context._mul(context.cl);
- context.data.byte(context.bx+11) = context.al;
- context.data.byte(186) = 1;
+ context.ds.byte(context.bx+11) = context.al;
+ context.ds.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -2940,13 +2940,13 @@ static void adjustup(Context & context) {
static void adjustleft(Context & context) {
context.push(context.es);
context.push(context.bx);
- context.data.byte(153) = 0;
- context._sub(context.data.byte(148), 11);
- context.al = context.data.byte(154);
+ context.ds.byte(153) = 0;
+ context._sub(context.ds.byte(148), 11);
+ context.al = context.ds.byte(154);
context.cl = 16;
context._mul(context.cl);
- context.data.byte(context.bx+10) = context.al;
- context.data.byte(186) = 1;
+ context.ds.byte(context.bx+10) = context.al;
+ context.ds.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -2955,24 +2955,24 @@ static void adjustleft(Context & context) {
static void adjustright(Context & context) {
context.push(context.es);
context.push(context.bx);
- context._add(context.data.byte(148), 11);
- context.al = context.data.byte(154);
+ context._add(context.ds.byte(148), 11);
+ context.al = context.ds.byte(154);
context.cl = 16;
context._mul(context.cl);
context._sub(context.al, 2);
- context.data.byte(context.bx+10) = context.al;
- context.data.byte(186) = 1;
+ context.ds.byte(context.bx+10) = context.al;
+ context.ds.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
}
static void reminders(Context & context) {
- context._cmp(context.data.byte(184), 24);
+ context._cmp(context.ds.byte(184), 24);
if (!context.flags.z()) goto notinedenslift;
- context._cmp(context.data.byte(148), 44);
+ context._cmp(context.ds.byte(148), 44);
if (!context.flags.z()) goto notinedenslift;
- context._cmp(context.data.byte(2), 0);
+ context._cmp(context.ds.byte(2), 0);
if (!context.flags.z()) goto notfirst;
context.al = 'D';
context.ah = 'K';
@@ -2987,7 +2987,7 @@ static void reminders(Context & context) {
findexobject(context);
context._cmp(context.al, 114);
if (context.flags.z()) goto forgotone;
- context.ax = context.data.word(context.bx+2);
+ context.ax = context.ds.word(context.bx+2);
context._cmp(context.al, 4);
if (!context.flags.z()) goto forgotone;
context._cmp(context.ah, 255);
@@ -3000,7 +3000,7 @@ static void reminders(Context & context) {
compare(context);
if (!context.flags.z()) goto forgotone;
havegotcard:
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
notfirst:
return;
forgotone:
@@ -3016,23 +3016,23 @@ notinedenslift:
}
static void initrain(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30);
context.bx = 1113;
checkmorerain:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto finishinitrain;
- context._cmp(context.al, context.data.byte(184));
+ context._cmp(context.al, context.ds.byte(184));
if (!context.flags.z()) goto checkrain;
- context.al = context.data.byte(context.bx+1);
- context._cmp(context.al, context.data.byte(148));
+ context.al = context.ds.byte(context.bx+1);
+ context._cmp(context.al, context.ds.byte(148));
if (!context.flags.z()) goto checkrain;
- context.al = context.data.byte(context.bx+2);
- context._cmp(context.al, context.data.byte(149));
+ context.al = context.ds.byte(context.bx+2);
+ context._cmp(context.al, context.ds.byte(149));
if (!context.flags.z()) goto checkrain;
- context.al = context.data.byte(context.bx+3);
- context.data.byte(132) = context.al;
+ context.al = context.ds.byte(context.bx+3);
+ context.ds.byte(132) = context.al;
goto dorain;
checkrain:
context._add(context.bx, 4);
@@ -3043,26 +3043,26 @@ initraintop:
randomnumber(context);
context._and(context.al, 31);
context._add(context.al, 3);
- context._cmp(context.al, context.data.byte(132));
+ context._cmp(context.al, context.ds.byte(132));
if (!context.flags.c()) goto initraintop;
context._add(context.cl, context.al);
- context._cmp(context.cl, context.data.byte(128));
+ context._cmp(context.cl, context.ds.byte(128));
if (!context.flags.c()) goto initrainside;
context.push(context.cx);
splitintolines(context);
context.cx = context.pop();
goto initraintop;
initrainside:
- context.cl = context.data.byte(128);
+ context.cl = context.ds.byte(128);
context._sub(context.cl, 1);
initrainside2:
randomnumber(context);
context._and(context.al, 31);
context._add(context.al, 3);
- context._cmp(context.al, context.data.byte(132));
+ context._cmp(context.al, context.ds.byte(132));
if (!context.flags.c()) goto initrainside2;
context._add(context.ch, context.al);
- context._cmp(context.ch, context.data.byte(129));
+ context._cmp(context.ch, context.ds.byte(129));
if (!context.flags.c()) goto finishinitrain;
context.push(context.cx);
splitintolines(context);
@@ -3083,11 +3083,11 @@ lookforlinestart:
context._add(context.ch, 1);
context._cmp(context.cl, 0);
if (context.flags.z()) goto endofthisline;
- context._cmp(context.ch, context.data.byte(129));
+ context._cmp(context.ch, context.ds.byte(129));
if (!context.flags.c()) goto endofthisline;
goto lookforlinestart;
foundlinestart:
- context.data.word(context.di) = context.cx;
+ context.ds.word(context.di) = context.cx;
context.bh = 1;
lookforlineend:
getblockofpixel(context);
@@ -3097,26 +3097,26 @@ lookforlineend:
context._add(context.ch, 1);
context._cmp(context.cl, 0);
if (context.flags.z()) goto foundlineend;
- context._cmp(context.ch, context.data.byte(129));
+ context._cmp(context.ch, context.ds.byte(129));
if (!context.flags.c()) goto foundlineend;
context._add(context.bh, 1);
goto lookforlineend;
foundlineend:
context.push(context.cx);
- context.data.byte(context.di+2) = context.bh;
+ context.ds.byte(context.di+2) = context.bh;
randomnumber(context);
- context.data.byte(context.di+3) = context.al;
+ context.ds.byte(context.di+3) = context.al;
randomnumber(context);
- context.data.byte(context.di+4) = context.al;
+ context.ds.byte(context.di+4) = context.al;
randomnumber(context);
context._and(context.al, 3);
context._add(context.al, 4);
- context.data.byte(context.di+5) = context.al;
+ context.ds.byte(context.di+5) = context.al;
context._add(context.di, 6);
context.cx = context.pop();
context._cmp(context.cl, 0);
if (context.flags.z()) goto endofthisline;
- context._cmp(context.ch, context.data.byte(129));
+ context._cmp(context.ch, context.ds.byte(129));
if (!context.flags.c()) goto endofthisline;
goto lookforlinestart;
endofthisline:
@@ -3127,9 +3127,9 @@ static void getblockofpixel(Context & context) {
context.push(context.cx);
context.push(context.es);
context.push(context.di);
- context.ax = context.data.word(125);
+ context.ax = context.ds.word(125);
context._add(context.cl, context.al);
- context.ax = context.data.word(127);
+ context.ax = context.ds.word(127);
context._add(context.ch, context.al);
checkone(context);
context._and(context.cl, 1);
@@ -3147,43 +3147,43 @@ failrain:
}
static void showrain(Context & context) {
- context.ds = context.data.word(414);
+ context.ds = context.ds.word(414);
context.si = 6*58;
- context.ax = context.data.word(context.si+2);
+ context.ax = context.ds.word(context.si+2);
context.si = context.ax;
context._add(context.si, 2080);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30);
- context.es = context.data.word(412);
- context._cmp(context.data.byte(context.bx), 255);
+ context.es = context.ds.word(412);
+ context._cmp(context.ds.byte(context.bx), 255);
if (context.flags.z()) goto nothunder;
morerain:
- context.es = context.data.word(412);
- context._cmp(context.data.byte(context.bx), 255);
+ context.es = context.ds.word(412);
+ context._cmp(context.ds.byte(context.bx), 255);
if (context.flags.z()) goto finishrain;
- context.al = context.data.byte(context.bx+1);
+ context.al = context.ds.byte(context.bx+1);
context.ah = 0;
- context._add(context.ax, context.data.word(119));
- context._add(context.ax, context.data.word(127));
+ context._add(context.ax, context.ds.word(119));
+ context._add(context.ax, context.ds.word(127));
context.cx = 320;
context._mul(context.cx);
- context.cl = context.data.byte(context.bx);
+ context.cl = context.ds.byte(context.bx);
context.ch = 0;
context._add(context.ax, context.cx);
- context._add(context.ax, context.data.word(117));
- context._add(context.ax, context.data.word(125));
+ context._add(context.ax, context.ds.word(117));
+ context._add(context.ax, context.ds.word(125));
context.di = context.ax;
- context.cl = context.data.byte(context.bx+2);
+ context.cl = context.ds.byte(context.bx+2);
context.ch = 0;
- context.ax = context.data.word(context.bx+3);
- context.dl = context.data.byte(context.bx+5);
+ context.ax = context.ds.word(context.bx+3);
+ context.dl = context.ds.byte(context.bx+5);
context.dh = 0;
context._sub(context.ax, context.dx);
context._and(context.ax, 511);
- context.data.word(context.bx+3) = context.ax;
+ context.ds.word(context.bx+3) = context.ax;
context._add(context.bx, 6);
context.push(context.si);
context._add(context.si, context.ax);
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.ah = 0;
context.dx = 320-2;
rainloop:
@@ -3201,20 +3201,20 @@ noplot:
context.si = context.pop();
goto morerain;
finishrain:
- context._cmp(context.data.word(521), 0);
+ context._cmp(context.ds.word(521), 0);
if (!context.flags.z()) goto nothunder;
- context._cmp(context.data.byte(184), 2);
+ context._cmp(context.ds.byte(184), 2);
if (!context.flags.z()) goto notlouisthund;
- context._cmp(context.data.byte(45), 1);
+ context._cmp(context.ds.byte(45), 1);
if (!context.flags.z()) goto nothunder;
notlouisthund:
- context._cmp(context.data.byte(184), 55);
+ context._cmp(context.ds.byte(184), 55);
if (context.flags.z()) goto nothunder;
randomnum1(context);
context._cmp(context.al, 1);
if (!context.flags.c()) goto nothunder;
context.al = 7;
- context._cmp(context.data.byte(507), 6);
+ context._cmp(context.ds.byte(507), 6);
if (context.flags.z()) goto isthunder1;
context.al = 4;
isthunder1:
@@ -3224,18 +3224,18 @@ nothunder:
}
static void backobject(Context & context) {
- context.ds = context.data.word(428);
- context.di = context.data.word(context.bx+20);
- context.al = context.data.byte(context.bx+18);
+ context.ds = context.ds.word(428);
+ context.di = context.ds.word(context.bx+20);
+ context.al = context.ds.byte(context.bx+18);
context._cmp(context.al, 0);
if (context.flags.z()) goto _tmp48z;
context._sub(context.al, 1);
- context.data.byte(context.bx+18) = context.al;
+ context.ds.byte(context.bx+18) = context.al;
goto finishback;
_tmp48z:
- context.al = context.data.byte(context.di+7);
- context.data.byte(context.bx+18) = context.al;
- context.al = context.data.byte(context.di+8);
+ context.al = context.ds.byte(context.di+7);
+ context.ds.byte(context.bx+18) = context.al;
+ context.al = context.ds.byte(context.di+8);
context._cmp(context.al, 6);
if (!context.flags.z()) goto notwidedoor;
widedoor(context);
@@ -3272,14 +3272,14 @@ finishback:
}
static void liftsprite(Context & context) {
- context.al = context.data.byte(35);
+ context.al = context.ds.byte(35);
context._cmp(context.al, 0);
if (context.flags.z()) goto liftclosed;
context._cmp(context.al, 1);
if (context.flags.z()) goto liftopen;
context._cmp(context.al, 3);
if (context.flags.z()) goto openlift;
- context.al = context.data.byte(context.bx+19);
+ context.al = context.ds.byte(context.bx+19);
context._cmp(context.al, 0);
if (context.flags.z()) goto finishclose;
context._sub(context.al, 1);
@@ -3291,10 +3291,10 @@ static void liftsprite(Context & context) {
context.ax = context.pop();
goto pokelift;
finishclose:
- context.data.byte(35) = 0;
+ context.ds.byte(35) = 0;
return;
openlift:
- context.al = context.data.byte(context.bx+19);
+ context.al = context.ds.byte(context.bx+19);
context._cmp(context.al, 12);
if (context.flags.z()) goto endoflist;
context._add(context.al, 1);
@@ -3305,56 +3305,56 @@ openlift:
liftnoise(context);
context.ax = context.pop();
pokelift:
- context.data.byte(context.bx+19) = context.al;
+ context.ds.byte(context.bx+19) = context.al;
context.ah = 0;
context.push(context.di);
context._add(context.di, context.ax);
- context.al = context.data.byte(context.di+18);
+ context.al = context.ds.byte(context.di+18);
context.di = context.pop();
- context.data.byte(context.bx+15) = context.al;
- context.data.byte(context.di+17) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
+ context.ds.byte(context.di+17) = context.al;
return;
endoflist:
- context.data.byte(35) = 1;
+ context.ds.byte(35) = 1;
return;
liftopen:
- context.al = context.data.byte(36);
+ context.al = context.ds.byte(36);
context.push(context.es);
context.push(context.bx);
turnpathon(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.data.byte(40), 0);
+ context._cmp(context.ds.byte(40), 0);
if (context.flags.z()) goto nocountclose;
- context._sub(context.data.byte(40), 1);
- context._cmp(context.data.byte(40), 0);
+ context._sub(context.ds.byte(40), 1);
+ context._cmp(context.ds.byte(40), 0);
if (!context.flags.z()) goto nocountclose;
- context.data.byte(35) = 2;
+ context.ds.byte(35) = 2;
nocountclose:
context.al = 12;
goto pokelift;
liftclosed:
- context.al = context.data.byte(36);
+ context.al = context.ds.byte(36);
context.push(context.es);
context.push(context.bx);
turnpathoff(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.data.byte(39), 0);
+ context._cmp(context.ds.byte(39), 0);
if (context.flags.z()) goto nocountopen;
- context._sub(context.data.byte(39), 1);
- context._cmp(context.data.byte(39), 0);
+ context._sub(context.ds.byte(39), 1);
+ context._cmp(context.ds.byte(39), 0);
if (!context.flags.z()) goto nocountopen;
- context.data.byte(35) = 3;
+ context.ds.byte(35) = 3;
nocountopen:
context.al = 0;
goto pokelift;
}
static void liftnoise(Context & context) {
- context._cmp(context.data.byte(184), 5);
+ context._cmp(context.ds.byte(184), 5);
if (context.flags.z()) goto hissnoise;
- context._cmp(context.data.byte(184), 21);
+ context._cmp(context.ds.byte(184), 21);
if (context.flags.z()) goto hissnoise;
playchannel1(context);
return;
@@ -3370,84 +3370,84 @@ static void random(Context & context) {
context._and(context.ax, 7);
context._add(context.di, 18);
context._add(context.di, context.ax);
- context.al = context.data.byte(context.di);
+ context.al = context.ds.byte(context.di);
context.di = context.pop();
- context.data.byte(context.bx+15) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
return;
}
static void steady(Context & context) {
- context.al = context.data.byte(context.di+18);
- context.data.byte(context.di+17) = context.al;
- context.data.byte(context.bx+15) = context.al;
+ context.al = context.ds.byte(context.di+18);
+ context.ds.byte(context.di+17) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
return;
}
static void constant(Context & context) {
- context._add(context.data.byte(context.bx+19), 1);
- context.cl = context.data.byte(context.bx+19);
+ context._add(context.ds.byte(context.bx+19), 1);
+ context.cl = context.ds.byte(context.bx+19);
context.ch = 0;
context._add(context.di, context.cx);
- context._cmp(context.data.byte(context.di+18), 255);
+ context._cmp(context.ds.byte(context.di+18), 255);
if (!context.flags.z()) goto gotconst;
context._sub(context.di, context.cx);
context.cx = 0;
- context.data.byte(context.bx+19) = context.cl;
+ context.ds.byte(context.bx+19) = context.cl;
gotconst:
- context.al = context.data.byte(context.di+18);
+ context.al = context.ds.byte(context.di+18);
context._sub(context.di, context.cx);
- context.data.byte(context.bx+15) = context.al;
- context.data.byte(context.di+17) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
+ context.ds.byte(context.di+17) = context.al;
return;
}
static void doorway(Context & context) {
- context.data.byte(193) = -24;
- context.data.byte(194) = 10;
- context.data.byte(195) = -30;
- context.data.byte(196) = 10;
+ context.ds.byte(193) = -24;
+ context.ds.byte(194) = 10;
+ context.ds.byte(195) = -30;
+ context.ds.byte(196) = 10;
dodoor(context);
return;
}
static void widedoor(Context & context) {
- context.data.byte(193) = -24;
- context.data.byte(194) = 24;
- context.data.byte(195) = -30;
- context.data.byte(196) = 24;
+ context.ds.byte(193) = -24;
+ context.ds.byte(194) = 24;
+ context.ds.byte(195) = -30;
+ context.ds.byte(196) = 24;
dodoor(context);
return;
}
static void dodoor(Context & context) {
- context.al = context.data.byte(151);
- context.ah = context.data.byte(152);
- context.cl = context.data.byte(context.bx+10);
- context.ch = context.data.byte(context.bx+11);
+ context.al = context.ds.byte(151);
+ context.ah = context.ds.byte(152);
+ context.cl = context.ds.byte(context.bx+10);
+ context.ch = context.ds.byte(context.bx+11);
context._cmp(context.al, context.cl);
if (!context.flags.c()) goto rtofdoor;
context._sub(context.al, context.cl);
- context._cmp(context.al, context.data.byte(193));
+ context._cmp(context.al, context.ds.byte(193));
if (!context.flags.c()) goto upordown;
goto shutdoor;
rtofdoor:
context._sub(context.al, context.cl);
- context._cmp(context.al, context.data.byte(194));
+ context._cmp(context.al, context.ds.byte(194));
if (!context.flags.c()) goto shutdoor;
upordown:
context._cmp(context.ah, context.ch);
if (!context.flags.c()) goto botofdoor;
context._sub(context.ah, context.ch);
- context._cmp(context.ah, context.data.byte(195));
+ context._cmp(context.ah, context.ds.byte(195));
if (context.flags.c()) goto shutdoor;
goto opendoor;
botofdoor:
context._sub(context.ah, context.ch);
- context._cmp(context.ah, context.data.byte(196));
+ context._cmp(context.ah, context.ds.byte(196));
if (!context.flags.c()) goto shutdoor;
opendoor:
- context.cl = context.data.byte(context.bx+19);
- context._cmp(context.data.byte(61), 1);
+ context.cl = context.ds.byte(context.bx+19);
+ context._cmp(context.ds.byte(61), 1);
if (!context.flags.z()) goto notthrough;
context._cmp(context.cl, 0);
if (!context.flags.z()) goto notthrough;
@@ -3457,7 +3457,7 @@ notthrough:
context._cmp(context.cl, 1);
if (!context.flags.z()) goto notdoorsound2;
context.al = 0;
- context._cmp(context.data.byte(184), 5);
+ context._cmp(context.ds.byte(184), 5);
if (!context.flags.z()) goto nothoteldoor2;
context.al = 13;
nothoteldoor2:
@@ -3466,25 +3466,25 @@ notdoorsound2:
context.ch = 0;
context.push(context.di);
context._add(context.di, context.cx);
- context.al = context.data.byte(context.di+18);
+ context.al = context.ds.byte(context.di+18);
context._cmp(context.al, 255);
if (!context.flags.z()) goto atlast1;
context._sub(context.di, 1);
context._sub(context.cl, 1);
atlast1:
- context.data.byte(context.bx+19) = context.cl;
- context.al = context.data.byte(context.di+18);
+ context.ds.byte(context.bx+19) = context.cl;
+ context.al = context.ds.byte(context.di+18);
context.di = context.pop();
- context.data.byte(context.bx+15) = context.al;
- context.data.byte(context.di+17) = context.al;
- context.data.byte(61) = 1;
+ context.ds.byte(context.bx+15) = context.al;
+ context.ds.byte(context.di+17) = context.al;
+ context.ds.byte(61) = 1;
return;
shutdoor:
- context.cl = context.data.byte(context.bx+19);
+ context.cl = context.ds.byte(context.bx+19);
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notdoorsound1;
context.al = 1;
- context._cmp(context.data.byte(184), 5);
+ context._cmp(context.ds.byte(184), 5);
if (!context.flags.z()) goto nothoteldoor1;
context.al = 13;
nothoteldoor1:
@@ -3493,27 +3493,27 @@ notdoorsound1:
context._cmp(context.cl, 0);
if (context.flags.z()) goto atlast2;
context._sub(context.cl, 1);
- context.data.byte(context.bx+19) = context.cl;
+ context.ds.byte(context.bx+19) = context.cl;
atlast2:
context.ch = 0;
context.push(context.di);
context._add(context.di, context.cx);
- context.al = context.data.byte(context.di+18);
+ context.al = context.ds.byte(context.di+18);
context.di = context.pop();
- context.data.byte(context.bx+15) = context.al;
- context.data.byte(context.di+17) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
+ context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notnearly;
- context.data.byte(61) = 0;
+ context.ds.byte(61) = 0;
notnearly:
return;
}
static void lockeddoorway(Context & context) {
- context.al = context.data.byte(151);
- context.ah = context.data.byte(152);
- context.cl = context.data.byte(context.bx+10);
- context.ch = context.data.byte(context.bx+11);
+ context.al = context.ds.byte(151);
+ context.ah = context.ds.byte(152);
+ context.cl = context.ds.byte(context.bx+10);
+ context.ch = context.ds.byte(context.bx+11);
context._cmp(context.al, context.cl);
if (!context.flags.c()) goto rtofdoor2;
context._sub(context.al, context.cl);
@@ -3536,12 +3536,12 @@ botofdoor2:
context._cmp(context.ah, 12);
if (!context.flags.c()) goto shutdoor2;
opendoor2:
- context._cmp(context.data.byte(61), 1);
+ context._cmp(context.ds.byte(61), 1);
if (context.flags.z()) goto mustbeopen;
- context._cmp(context.data.byte(37), 1);
+ context._cmp(context.ds.byte(37), 1);
if (context.flags.z()) goto shutdoor;
mustbeopen:
- context.cl = context.data.byte(context.bx+19);
+ context.cl = context.ds.byte(context.bx+19);
context._cmp(context.cl, 1);
if (!context.flags.z()) goto notdoorsound4;
context.al = 0;
@@ -3549,15 +3549,15 @@ mustbeopen:
notdoorsound4:
context._cmp(context.cl, 6);
if (!context.flags.z()) goto noturnonyet;
- context.al = context.data.byte(38);
+ context.al = context.ds.byte(38);
context.push(context.es);
context.push(context.bx);
turnpathon(context);
context.bx = context.pop();
context.es = context.pop();
noturnonyet:
- context.cl = context.data.byte(context.bx+19);
- context._cmp(context.data.byte(61), 1);
+ context.cl = context.ds.byte(context.bx+19);
+ context._cmp(context.ds.byte(61), 1);
if (!context.flags.z()) goto notthrough2;
context._cmp(context.cl, 0);
if (!context.flags.z()) goto notthrough2;
@@ -3567,24 +3567,24 @@ notthrough2:
context.ch = 0;
context.push(context.di);
context._add(context.di, context.cx);
- context.al = context.data.byte(context.di+18);
+ context.al = context.ds.byte(context.di+18);
context._cmp(context.al, 255);
if (!context.flags.z()) goto atlast3;
context._sub(context.di, 1);
context._sub(context.cl, 1);
atlast3:
- context.data.byte(context.bx+19) = context.cl;
- context.al = context.data.byte(context.di+18);
+ context.ds.byte(context.bx+19) = context.cl;
+ context.al = context.ds.byte(context.di+18);
context.di = context.pop();
- context.data.byte(context.bx+15) = context.al;
- context.data.byte(context.di+17) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
+ context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 5);
if (!context.flags.z()) goto justshutting;
- context.data.byte(61) = 1;
+ context.ds.byte(61) = 1;
justshutting:
return;
shutdoor2:
- context.cl = context.data.byte(context.bx+19);
+ context.cl = context.ds.byte(context.bx+19);
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notdoorsound3;
context.al = 1;
@@ -3593,34 +3593,34 @@ notdoorsound3:
context._cmp(context.cl, 0);
if (context.flags.z()) goto atlast4;
context._sub(context.cl, 1);
- context.data.byte(context.bx+19) = context.cl;
+ context.ds.byte(context.bx+19) = context.cl;
atlast4:
context.ch = 0;
- context.data.byte(61) = 0;
+ context.ds.byte(61) = 0;
context.push(context.di);
context._add(context.di, context.cx);
- context.al = context.data.byte(context.di+18);
+ context.al = context.ds.byte(context.di+18);
context.di = context.pop();
- context.data.byte(context.bx+15) = context.al;
- context.data.byte(context.di+17) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
+ context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 0);
if (!context.flags.z()) goto notlocky;
- context.al = context.data.byte(38);
+ context.al = context.ds.byte(38);
context.push(context.es);
context.push(context.bx);
turnpathoff(context);
context.bx = context.pop();
context.es = context.pop();
- context.data.byte(37) = 1;
+ context.ds.byte(37) = 1;
notlocky:
return;
/*continuing to unbounded code: shutdoor from dodoor:60-87*/
shutdoor:
- context.cl = context.data.byte(context.bx+19);
+ context.cl = context.ds.byte(context.bx+19);
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notdoorsound1;
context.al = 1;
- context._cmp(context.data.byte(184), 5);
+ context._cmp(context.ds.byte(184), 5);
if (!context.flags.z()) goto nothoteldoor1;
context.al = 13;
nothoteldoor1:
@@ -3629,47 +3629,47 @@ notdoorsound1:
context._cmp(context.cl, 0);
if (context.flags.z()) goto atlast2;
context._sub(context.cl, 1);
- context.data.byte(context.bx+19) = context.cl;
+ context.ds.byte(context.bx+19) = context.cl;
atlast2:
context.ch = 0;
context.push(context.di);
context._add(context.di, context.cx);
- context.al = context.data.byte(context.di+18);
+ context.al = context.ds.byte(context.di+18);
context.di = context.pop();
- context.data.byte(context.bx+15) = context.al;
- context.data.byte(context.di+17) = context.al;
+ context.ds.byte(context.bx+15) = context.al;
+ context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notnearly;
- context.data.byte(61) = 0;
+ context.ds.byte(61) = 0;
notnearly:
return;
return;
}
static void updatepeople(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5);
- context.data.word(18) = context.di;
+ context.ds.word(18) = context.di;
context.cx = 12*5;
context.al = 255;
while(--context.cx) context._stosb();
- context._add(context.data.word(138), 1);
+ context._add(context.ds.word(138), 1);
context.es = context.cs;
context.bx = 537;
context.di = 1003;
updateloop:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto endupdate;
- context._cmp(context.al, context.data.byte(184));
+ context._cmp(context.al, context.ds.byte(184));
if (!context.flags.z()) goto notinthisroom;
- context.cx = context.data.word(context.bx+1);
- context._cmp(context.cl, context.data.byte(148));
+ context.cx = context.ds.word(context.bx+1);
+ context._cmp(context.cl, context.ds.byte(148));
if (!context.flags.z()) goto notinthisroom;
- context._cmp(context.ch, context.data.byte(149));
+ context._cmp(context.ch, context.ds.byte(149));
if (!context.flags.z()) goto notinthisroom;
context.push(context.di);
- context.ax = context.data.word(context.di);
+ context.ax = context.ds.word(context.di);
__dispatch_call(context, context.ax);
context.di = context.pop();
notinthisroom:
@@ -3682,12 +3682,12 @@ endupdate:
static void getreelframeax(Context & context) {
context.push(context.ds);
- context.data.word(160) = context.ax;
+ context.ds.word(160) = context.ax;
findsource(context);
context.es = context.ds;
context.ds = context.pop();
- context.ax = context.data.word(160);
- context._sub(context.ax, context.data.word(244));
+ context.ax = context.ds.word(160);
+ context._sub(context.ax, context.ds.word(244));
context._add(context.ax, context.ax);
context.cx = context.ax;
context._add(context.ax, context.ax);
@@ -3710,13 +3710,13 @@ static void plotreel(Context & context) {
retryreel:
context.push(context.es);
context.push(context.si);
- context.ax = context.data.word(context.si+2);
+ context.ax = context.ds.word(context.si+2);
context._cmp(context.al, 220);
if (context.flags.c()) goto normalreel;
context._cmp(context.al, 255);
if (context.flags.z()) goto normalreel;
dealwithspecial(context);
- context._add(context.data.word(239), 1);
+ context._add(context.ds.word(239), 1);
context.si = context.pop();
context.es = context.pop();
context._add(context.si, 40);
@@ -3727,7 +3727,7 @@ plotloop:
context.push(context.cx);
context.push(context.es);
context.push(context.si);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto notplot;
showreelframe(context);
@@ -3744,22 +3744,22 @@ notplot:
}
static void soundonreels(Context & context) {
- context.bl = context.data.byte(184);
+ context.bl = context.ds.byte(184);
context._add(context.bl, context.bl);
context._xor(context.bh, context.bh);
context._add(context.bx, 1254);
- context.si = context.data.word(context.bx);
+ context.si = context.ds.word(context.bx);
reelsoundloop:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._cmp(context.al, 255);
if (context.flags.z()) goto endreelsound;
- context.ax = context.data.word(context.si+1);
- context._cmp(context.ax, context.data.word(239));
+ context.ax = context.ds.word(context.si+1);
+ context._cmp(context.ax, context.ds.word(239));
if (!context.flags.z()) goto skipreelsound;
- context._cmp(context.ax, context.data.word(351));
+ context._cmp(context.ax, context.ds.word(351));
if (context.flags.z()) goto skipreelsound;
- context.data.word(351) = context.ax;
- context.al = context.data.byte(context.si);
+ context.ds.word(351) = context.ax;
+ context.al = context.ds.byte(context.si);
context._cmp(context.al, 64);
if (context.flags.c()) { playchannel1(context); return; };
context._cmp(context.al, 128);
@@ -3775,26 +3775,26 @@ skipreelsound:
context._add(context.si, 3);
goto reelsoundloop;
endreelsound:
- context.ax = context.data.word(351);
- context._cmp(context.ax, context.data.word(239));
+ context.ax = context.ds.word(351);
+ context._cmp(context.ax, context.ds.word(239));
if (context.flags.z()) goto nochange2;
- context.data.word(351) = -1;
+ context.ds.word(351) = -1;
nochange2:
return;
}
static void reconstruct(Context & context) {
- context._cmp(context.data.byte(130), 0);
+ context._cmp(context.ds.byte(130), 0);
if (context.flags.z()) goto noneedtorecon;
- context.data.byte(62) = 1;
+ context.ds.byte(62) = 1;
drawfloor(context);
spriteupdate(context);
printsprites(context);
- context._cmp(context.data.byte(184), 20);
+ context._cmp(context.ds.byte(184), 20);
if (!context.flags.z()) goto notfudge;
undertextline(context);
notfudge:
- context.data.byte(130) = 0;
+ context.ds.byte(130) = 0;
noneedtorecon:
return;
}
@@ -3805,28 +3805,28 @@ static void dealwithspecial(Context & context) {
if (!context.flags.z()) goto notplset;
context.al = context.ah;
placesetobject(context);
- context.data.byte(130) = 1;
+ context.ds.byte(130) = 1;
return;
notplset:
context._cmp(context.al, 1);
if (!context.flags.z()) goto notremset;
context.al = context.ah;
removesetobject(context);
- context.data.byte(130) = 1;
+ context.ds.byte(130) = 1;
return;
notremset:
context._cmp(context.al, 2);
if (!context.flags.z()) goto notplfree;
context.al = context.ah;
placefreeobject(context);
- context.data.byte(130) = 1;
+ context.ds.byte(130) = 1;
return;
notplfree:
context._cmp(context.al, 3);
if (!context.flags.z()) goto notremfree;
context.al = context.ah;
removefreeobject(context);
- context.data.byte(130) = 1;
+ context.ds.byte(130) = 1;
return;
notremfree:
context._cmp(context.al, 4);
@@ -3836,14 +3836,14 @@ notremfree:
notryanoff:
context._cmp(context.al, 5);
if (!context.flags.z()) goto notryanon;
- context.data.byte(135) = context.ah;
- context.data.byte(133) = context.ah;
+ context.ds.byte(135) = context.ah;
+ context.ds.byte(133) = context.ah;
switchryanon(context);
return;
notryanon:
context._cmp(context.al, 6);
if (!context.flags.z()) goto notchangeloc;
- context.data.byte(188) = context.ah;
+ context.ds.byte(188) = context.ah;
return;
notchangeloc:
movemap(context);
@@ -3853,87 +3853,87 @@ notchangeloc:
static void movemap(Context & context) {
context._cmp(context.ah, 32);
if (!context.flags.z()) goto notmapup2;
- context._sub(context.data.byte(149), 20);
- context.data.byte(186) = 1;
+ context._sub(context.ds.byte(149), 20);
+ context.ds.byte(186) = 1;
return;
notmapup2:
context._cmp(context.ah, 16);
if (!context.flags.z()) goto notmapupspec;
- context._sub(context.data.byte(149), 10);
- context.data.byte(186) = 1;
+ context._sub(context.ds.byte(149), 10);
+ context.ds.byte(186) = 1;
return;
notmapupspec:
context._cmp(context.ah, 8);
if (!context.flags.z()) goto notmapdownspec;
- context._add(context.data.byte(149), 10);
- context.data.byte(186) = 1;
+ context._add(context.ds.byte(149), 10);
+ context.ds.byte(186) = 1;
return;
notmapdownspec:
context._cmp(context.ah, 2);
if (!context.flags.z()) goto notmaprightspec;
- context._add(context.data.byte(148), 11);
- context.data.byte(186) = 1;
+ context._add(context.ds.byte(148), 11);
+ context.ds.byte(186) = 1;
return;
notmaprightspec:
- context._sub(context.data.byte(148), 11);
- context.data.byte(186) = 1;
+ context._sub(context.ds.byte(148), 11);
+ context.ds.byte(186) = 1;
return;
}
static void getreelstart(Context & context) {
- context.ax = context.data.word(239);
+ context.ax = context.ds.word(239);
context.cx = 40;
context._mul(context.cx);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
context.si = context.ax;
context._add(context.si, 0+(36*144));
return;
}
static void showreelframe(Context & context) {
- context.al = context.data.byte(context.si+2);
+ context.al = context.ds.byte(context.si+2);
context.ah = 0;
context.di = context.ax;
- context._add(context.di, context.data.word(117));
- context.al = context.data.byte(context.si+3);
+ context._add(context.di, context.ds.word(117));
+ context.al = context.ds.byte(context.si+3);
context.bx = context.ax;
- context._add(context.bx, context.data.word(119));
- context.ax = context.data.word(context.si);
- context.data.word(160) = context.ax;
+ context._add(context.bx, context.ds.word(119));
+ context.ax = context.ds.word(context.si);
+ context.ds.word(160) = context.ax;
findsource(context);
- context.ax = context.data.word(160);
- context._sub(context.ax, context.data.word(244));
+ context.ax = context.ds.word(160);
+ context._sub(context.ax, context.ds.word(244));
context.ah = 8;
showframe(context);
return;
}
static void deleverything(Context & context) {
- context.al = context.data.byte(129);
+ context.al = context.ds.byte(129);
context.ah = 0;
- context._add(context.ax, context.data.word(123));
+ context._add(context.ax, context.ds.word(123));
context._cmp(context.ax, 182);
if (!context.flags.c()) goto bigroom;
maptopanel(context);
return;
bigroom:
- context._sub(context.data.byte(129), 8);
+ context._sub(context.ds.byte(129), 8);
maptopanel(context);
- context._add(context.data.byte(129), 8);
+ context._add(context.ds.byte(129), 8);
return;
}
static void dumpeverything(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40);
dumpevery1:
- context.ax = context.data.word(context.bx);
- context.cx = context.data.word(context.bx+2);
+ context.ax = context.ds.word(context.bx);
+ context.cx = context.ds.word(context.bx+2);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto finishevery1;
- context._cmp(context.ax, context.data.word(context.bx+(40*5)));
+ context._cmp(context.ax, context.ds.word(context.bx+(40*5)));
if (!context.flags.z()) goto notskip1;
- context._cmp(context.cx, context.data.word(context.bx+(40*5)+2));
+ context._cmp(context.cx, context.ds.word(context.bx+(40*5)+2));
if (context.flags.z()) goto skip1;
notskip1:
context.push(context.bx);
@@ -3943,8 +3943,8 @@ notskip1:
context.bh = 0;
context.ah = 0;
context.di = context.ax;
- context._add(context.di, context.data.word(117));
- context._add(context.bx, context.data.word(119));
+ context._add(context.di, context.ds.word(117));
+ context._add(context.bx, context.ds.word(119));
multidump(context);
context.ds = context.pop();
context.es = context.pop();
@@ -3955,8 +3955,8 @@ skip1:
finishevery1:
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(40*5);
dumpevery2:
- context.ax = context.data.word(context.bx);
- context.cx = context.data.word(context.bx+2);
+ context.ax = context.ds.word(context.bx);
+ context.cx = context.ds.word(context.bx+2);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto finishevery2;
context.push(context.bx);
@@ -3966,8 +3966,8 @@ dumpevery2:
context.bh = 0;
context.ah = 0;
context.di = context.ax;
- context._add(context.di, context.data.word(117));
- context._add(context.bx, context.data.word(119));
+ context._add(context.di, context.ds.word(117));
+ context._add(context.bx, context.ds.word(119));
multidump(context);
context.ds = context.pop();
context.es = context.pop();
@@ -3981,7 +3981,7 @@ finishevery2:
static void allocatework(Context & context) {
context.bx = 0x1000;
allocatemem(context);
- context.data.word(400) = context.ax;
+ context.ds.word(400) = context.ax;
return;
}
@@ -4009,20 +4009,20 @@ static void loadpalfromiff(Context & context) {
context.dx = 2494;
openfile(context);
context.cx = 2000;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.dx = 0;
readfromfile(context);
closefile(context);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0x30;
context.cx = 768;
palloop:
context._lodsb();
context._shr(context.al, 1);
context._shr(context.al, 1);
- context._cmp(context.data.byte(73), 1);
+ context._cmp(context.ds.byte(73), 1);
if (!context.flags.z()) goto nought;
context._cmp(context.al, 0);
if (context.flags.z()) goto nought;
@@ -4053,7 +4053,7 @@ static void cls(Context & context) {
static void printundermon(Context & context) {
context.si = (320*43)+76;
context.di = context.si;
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context._add(context.si, 8*320);
context.dx = 0x0a000;
context.ds = context.dx;
@@ -4089,7 +4089,7 @@ static void worktoscreen(Context & context) {
context.si = 0;
context.di = 0;
context.cx = 25;
- context.ds = context.data.word(400);
+ context.ds = context.ds.word(400);
context.dx = 0x0a000;
context.es = context.dx;
dumpallloop:
@@ -4106,54 +4106,54 @@ dumpallloop:
}
static void paneltomap(Context & context) {
- context.di = context.data.word(125);
- context._add(context.di, context.data.word(117));
- context.bx = context.data.word(127);
- context._add(context.bx, context.data.word(119));
- context.ds = context.data.word(402);
+ context.di = context.ds.word(125);
+ context._add(context.di, context.ds.word(117));
+ context.bx = context.ds.word(127);
+ context._add(context.bx, context.ds.word(119));
+ context.ds = context.ds.word(402);
context.si = 0;
- context.cl = context.data.byte(128);
- context.ch = context.data.byte(129);
+ context.cl = context.ds.byte(128);
+ context.ch = context.ds.byte(129);
multiget(context);
return;
}
static void maptopanel(Context & context) {
- context.di = context.data.word(125);
- context._add(context.di, context.data.word(117));
- context.bx = context.data.word(127);
- context._add(context.bx, context.data.word(119));
- context.ds = context.data.word(402);
+ context.di = context.ds.word(125);
+ context._add(context.di, context.ds.word(117));
+ context.bx = context.ds.word(127);
+ context._add(context.bx, context.ds.word(119));
+ context.ds = context.ds.word(402);
context.si = 0;
- context.cl = context.data.byte(128);
- context.ch = context.data.byte(129);
+ context.cl = context.ds.byte(128);
+ context.ch = context.ds.byte(129);
multiput(context);
return;
}
static void dumpmap(Context & context) {
- context.di = context.data.word(125);
- context._add(context.di, context.data.word(117));
- context.bx = context.data.word(127);
- context._add(context.bx, context.data.word(119));
- context.cl = context.data.byte(128);
- context.ch = context.data.byte(129);
+ context.di = context.ds.word(125);
+ context._add(context.di, context.ds.word(117));
+ context.bx = context.ds.word(127);
+ context._add(context.bx, context.ds.word(119));
+ context.cl = context.ds.byte(128);
+ context.ch = context.ds.byte(129);
multidump(context);
return;
}
static void pixelcheckset(Context & context) {
context.push(context.ax);
- context._sub(context.al, context.data.byte(context.bx));
- context._sub(context.ah, context.data.byte(context.bx+1));
+ context._sub(context.al, context.ds.byte(context.bx));
+ context._sub(context.ah, context.ds.byte(context.bx+1));
context.push(context.es);
context.push(context.bx);
context.push(context.cx);
context.push(context.ax);
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
getsetad(context);
- context.al = context.data.byte(context.bx+17);
- context.es = context.data.word(444);
+ context.al = context.ds.byte(context.bx+17);
+ context.es = context.ds.word(444);
context.bx = 0;
context.ah = 0;
context.cx = 6;
@@ -4163,16 +4163,16 @@ static void pixelcheckset(Context & context) {
context.push(context.ax);
context.al = context.ah;
context.ah = 0;
- context.cl = context.data.byte(context.bx);
+ context.cl = context.ds.byte(context.bx);
context.ch = 0;
context._mul(context.cx);
context.cx = context.pop();
context.ch = 0;
context._add(context.ax, context.cx);
- context._add(context.ax, context.data.word(context.bx+2));
+ context._add(context.ax, context.ds.word(context.bx+2));
context.bx = context.ax;
context._add(context.bx, 0+2080);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.dl = context.al;
context.cx = context.pop();
context.bx = context.pop();
@@ -4185,25 +4185,25 @@ static void pixelcheckset(Context & context) {
static void createpanel(Context & context) {
context.di = 0;
context.bx = 8;
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
context.di = 160;
context.bx = 8;
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
context.di = 0;
context.bx = 104;
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
context.di = 160;
context.bx = 104;
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
@@ -4214,13 +4214,13 @@ static void createpanel2(Context & context) {
createpanel(context);
context.di = 0;
context.bx = 0;
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.al = 5;
context.ah = 2;
showframe(context);
context.di = 160;
context.bx = 0;
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.al = 5;
context.ah = 2;
showframe(context);
@@ -4229,7 +4229,7 @@ static void createpanel2(Context & context) {
static void clearwork(Context & context) {
context.ax = 0x0;
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.di = 0;
context.cx = (200*320)/64;
clearloop:
@@ -4270,24 +4270,24 @@ clearloop:
}
static void zoom(Context & context) {
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto inwatching;
- context._cmp(context.data.byte(8), 1);
+ context._cmp(context.ds.byte(8), 1);
if (context.flags.z()) goto zoomswitch;
inwatching:
return;
zoomswitch:
- context._cmp(context.data.byte(100), 199);
+ context._cmp(context.ds.byte(100), 199);
if (context.flags.c()) goto zoomit;
cantzoom:
putunderzoom(context);
return;
zoomit:
- context.ax = context.data.word(222);
+ context.ax = context.ds.word(222);
context._sub(context.ax, 9);
context.cx = 320;
context._mul(context.cx);
- context._add(context.ax, context.data.word(220));
+ context._add(context.ax, context.ds.word(220));
context._sub(context.ax, 11);
context.si = context.ax;
context.ax = 132+4;
@@ -4295,8 +4295,8 @@ zoomit:
context._mul(context.cx);
context._add(context.ax, 8+5);
context.di = context.ax;
- context.es = context.data.word(400);
- context.ds = context.data.word(400);
+ context.es = context.ds.word(400);
+ context.ds = context.ds.word(400);
context.cx = 20;
zoomloop:
context.push(context.cx);
@@ -4305,14 +4305,14 @@ zoomloop2:
context._lodsb();
context.ah = context.al;
context._stosw();
- context.data.word(context.di+320-2) = context.ax;
+ context.ds.word(context.di+320-2) = context.ax;
if (--context.cx) goto zoomloop2;
context._add(context.si, 320-23);
context._add(context.di, 320-46+320);
context.cx = context.pop();
if (--context.cx) goto zoomloop;
crosshair(context);
- context.data.byte(75) = 1;
+ context.ds.byte(75) = 1;
return;
}
@@ -4321,12 +4321,12 @@ static void delthisone(Context & context) {
context.push(context.ax);
context.al = context.ah;
context.ah = 0;
- context._add(context.ax, context.data.word(119));
+ context._add(context.ax, context.ds.word(119));
context.bx = 320;
context._mul(context.bx);
context.bx = context.pop();
context.bh = 0;
- context._add(context.bx, context.data.word(117));
+ context._add(context.bx, context.ds.word(117));
context._add(context.ax, context.bx);
context.di = context.ax;
context.ax = context.pop();
@@ -4339,8 +4339,8 @@ static void delthisone(Context & context) {
context.bh = 0;
context._add(context.ax, context.bx);
context.si = context.ax;
- context.es = context.data.word(400);
- context.ds = context.data.word(402);
+ context.es = context.ds.word(400);
+ context.ds = context.ds.word(402);
context.dl = context.cl;
context.dh = 0;
context.ax = 320;
@@ -4364,7 +4364,7 @@ static void multiget(Context & context) {
context.bx = 320;
context._mul(context.bx);
context._add(context.di, context.ax);
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.es = context.ds;
context.ds = context.es;
context._xchg(context.di, context.si);
@@ -4408,7 +4408,7 @@ static void multiput(Context & context) {
context.bx = 320;
context._mul(context.bx);
context._add(context.di, context.ax);
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.al = context.cl;
context.ah = 0;
context.dx = 320;
@@ -4447,7 +4447,7 @@ multiloop6:
static void multidump(Context & context) {
context.dx = 0x0a000;
context.es = context.dx;
- context.ds = context.data.word(400);
+ context.ds = context.ds.word(400);
context.ax = context.bx;
context.bx = 320;
context._mul(context.bx);
@@ -4729,17 +4729,17 @@ static void width160(Context & context) {
}
static void doblocks(Context & context) {
- context.es = context.data.word(400);
- context.ax = context.data.word(119);
+ context.es = context.ds.word(400);
+ context.ax = context.ds.word(119);
context.cx = 320;
context._mul(context.cx);
- context.di = context.data.word(117);
+ context.di = context.ds.word(117);
context._add(context.di, context.ax);
- context.al = context.data.byte(149);
+ context.al = context.ds.byte(149);
context.ah = 0;
context.bx = 66;
context._mul(context.bx);
- context.bl = context.data.byte(148);
+ context.bl = context.ds.byte(148);
context.bh = 0;
context._add(context.ax, context.bx);
context.si = 0;
@@ -4752,9 +4752,9 @@ loop120:
loop124:
context.push(context.cx);
context.push(context.di);
- context.ds = context.data.word(418);
+ context.ds = context.ds.word(418);
context._lodsb();
- context.ds = context.data.word(416);
+ context.ds = context.ds.word(416);
context.push(context.si);
context._cmp(context.al, 0);
if (context.flags.z()) goto zeroblock;
@@ -4852,22 +4852,22 @@ static void showframe(Context & context) {
context.si = context.cx;
context._add(context.cx, context.cx);
context._add(context.si, context.cx);
- context._cmp(context.data.word(context.si), 0);
+ context._cmp(context.ds.word(context.si), 0);
if (!context.flags.z()) goto notblankshow;
context.cx = 0;
return;
notblankshow:
context._test(context.ah, 128);
if (!context.flags.z()) goto skipoffsets;
- context.al = context.data.byte(context.si+4);
+ context.al = context.ds.byte(context.si+4);
context.ah = 0;
context._add(context.di, context.ax);
- context.al = context.data.byte(context.si+5);
+ context.al = context.ds.byte(context.si+5);
context.ah = 0;
context._add(context.bx, context.ax);
skipoffsets:
- context.cx = context.data.word(context.si+0);
- context.ax = context.data.word(context.si+2);
+ context.cx = context.ds.word(context.si+0);
+ context.ax = context.ds.word(context.si+2);
context._add(context.ax, 2080);
context.si = context.ax;
context.ax = context.pop();
@@ -4898,9 +4898,9 @@ notdiffdest:
if (context.flags.z()) goto notprintlist;
context.push(context.ax);
context.ax = context.di;
- context._sub(context.ax, context.data.word(117));
+ context._sub(context.ax, context.ds.word(117));
context.push(context.bx);
- context._sub(context.bx, context.data.word(119));
+ context._sub(context.bx, context.ds.word(119));
context.ah = context.bl;
context.bx = context.pop();
context.ax = context.pop();
@@ -4908,7 +4908,7 @@ notprintlist:
context._test(context.ah, 4);
if (context.flags.z()) goto notflippedx;
context.dx = 320;
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.push(context.cx);
frameoutfx(context);
context.cx = context.pop();
@@ -4917,7 +4917,7 @@ notflippedx:
context._test(context.ah, 2);
if (context.flags.z()) goto notnomask;
context.dx = 320;
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.push(context.cx);
frameoutnm(context);
context.cx = context.pop();
@@ -4926,14 +4926,14 @@ notnomask:
context._test(context.ah, 32);
if (context.flags.z()) goto noeffects;
context.dx = 320;
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.push(context.cx);
frameoutbh(context);
context.cx = context.pop();
return;
noeffects:
context.dx = 320;
- context.es = context.data.word(400);
+ context.es = context.ds.word(400);
context.push(context.cx);
frameoutv(context);
context.cx = context.pop();
@@ -5038,7 +5038,7 @@ bhloop2:
context.ch = 0;
context.ah = 255;
bhloop1:
- context._cmp(context.data.byte(context.di), context.ah);
+ context._cmp(context.ds.byte(context.di), context.ah);
if (!context.flags.z()) goto nofill;
context._movsb();
if (--context.cx) goto bhloop1;
@@ -5086,7 +5086,7 @@ frameloopfx3:
context._cmp(context.al, 0);
if (context.flags.z()) goto backtootherfx;
backtosolidfx:
- context.data.byte(context.di) = context.al;
+ context.ds.byte(context.di) = context.al;
context._sub(context.di, 1);
if (--context.cx) goto frameloopfx3;
context.cx = context.pop();
@@ -5097,9 +5097,9 @@ backtosolidfx:
}
static void transferinv(Context & context) {
- context.di = context.data.word(12);
+ context.di = context.ds.word(12);
context.push(context.di);
- context.al = context.data.byte(10);
+ context.al = context.ds.byte(10);
context.ah = 0;
context.bx = context.ax;
context._add(context.ax, context.ax);
@@ -5107,12 +5107,12 @@ static void transferinv(Context & context) {
context._add(context.ax, 1);
context.cx = 6;
context._mul(context.cx);
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.bx = 0;
context._add(context.bx, context.ax);
context._add(context.di, 0+2080);
context.push(context.bx);
- context.al = context.data.byte(90);
+ context.al = context.ds.byte(90);
context.ah = 0;
context.bx = context.ax;
context._add(context.ax, context.ax);
@@ -5120,94 +5120,94 @@ static void transferinv(Context & context) {
context._add(context.ax, 1);
context.cx = 6;
context._mul(context.cx);
- context.ds = context.data.word(446);
+ context.ds = context.ds.word(446);
context.bx = 0;
context._add(context.bx, context.ax);
context.si = 0+2080;
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.ah = 0;
- context.cl = context.data.byte(context.bx+1);
+ context.cl = context.ds.byte(context.bx+1);
context.ch = 0;
- context._add(context.si, context.data.word(context.bx+2));
- context.dx = context.data.word(context.bx+4);
+ context._add(context.si, context.ds.word(context.bx+2));
+ context.dx = context.ds.word(context.bx+4);
context.bx = context.pop();
- context.data.byte(context.bx+0) = context.al;
- context.data.byte(context.bx+1) = context.cl;
- context.data.word(context.bx+4) = context.dx;
+ context.ds.byte(context.bx+0) = context.al;
+ context.ds.byte(context.bx+1) = context.cl;
+ context.ds.word(context.bx+4) = context.dx;
context._mul(context.cx);
context.cx = context.ax;
context.push(context.cx);
while(--context.cx) context._movsb();
context.cx = context.pop();
context.ax = context.pop();
- context.data.word(context.bx+2) = context.ax;
- context._add(context.data.word(12), context.cx);
+ context.ds.word(context.bx+2) = context.ax;
+ context._add(context.ds.word(12), context.cx);
return;
}
static void transfermap(Context & context) {
- context.di = context.data.word(12);
+ context.di = context.ds.word(12);
context.push(context.di);
- context.al = context.data.byte(10);
+ context.al = context.ds.byte(10);
context.ah = 0;
context.bx = context.ax;
context._add(context.ax, context.ax);
context._add(context.ax, context.bx);
context.cx = 6;
context._mul(context.cx);
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.bx = 0;
context._add(context.bx, context.ax);
context._add(context.di, 0+2080);
context.push(context.bx);
- context.al = context.data.byte(90);
+ context.al = context.ds.byte(90);
context.ah = 0;
context.bx = context.ax;
context._add(context.ax, context.ax);
context._add(context.ax, context.bx);
context.cx = 6;
context._mul(context.cx);
- context.ds = context.data.word(446);
+ context.ds = context.ds.word(446);
context.bx = 0;
context._add(context.bx, context.ax);
context.si = 0+2080;
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.ah = 0;
- context.cl = context.data.byte(context.bx+1);
+ context.cl = context.ds.byte(context.bx+1);
context.ch = 0;
- context._add(context.si, context.data.word(context.bx+2));
- context.dx = context.data.word(context.bx+4);
+ context._add(context.si, context.ds.word(context.bx+2));
+ context.dx = context.ds.word(context.bx+4);
context.bx = context.pop();
- context.data.byte(context.bx+0) = context.al;
- context.data.byte(context.bx+1) = context.cl;
- context.data.word(context.bx+4) = context.dx;
+ context.ds.byte(context.bx+0) = context.al;
+ context.ds.byte(context.bx+1) = context.cl;
+ context.ds.word(context.bx+4) = context.dx;
context._mul(context.cx);
context.cx = context.ax;
context.push(context.cx);
while(--context.cx) context._movsb();
context.cx = context.pop();
context.ax = context.pop();
- context.data.word(context.bx+2) = context.ax;
- context._add(context.data.word(12), context.cx);
+ context.ds.word(context.bx+2) = context.ax;
+ context._add(context.ds.word(12), context.cx);
return;
}
static void dofade(Context & context) {
- context._cmp(context.data.byte(344), 0);
+ context._cmp(context.ds.byte(344), 0);
if (context.flags.z()) goto finishfade;
- context.cl = context.data.byte(345);
+ context.cl = context.ds.byte(345);
context.ch = 0;
- context.al = context.data.byte(343);
+ context.al = context.ds.byte(343);
context.ah = 0;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3);
context._add(context.si, context.ax);
context._add(context.si, context.ax);
context._add(context.si, context.ax);
showgroup(context);
- context.al = context.data.byte(345);
- context._add(context.al, context.data.byte(343));
- context.data.byte(343) = context.al;
+ context.al = context.ds.byte(345);
+ context._add(context.al, context.ds.byte(343));
+ context.ds.byte(343) = context.al;
context._cmp(context.al, 0);
if (!context.flags.z()) goto finishfade;
fadecalculation(context);
@@ -5216,7 +5216,7 @@ finishfade:
}
static void clearendpal(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.cx = 768;
context.al = 0;
@@ -5225,7 +5225,7 @@ static void clearendpal(Context & context) {
}
static void clearpalette(Context & context) {
- context.data.byte(344) = 0;
+ context.ds.byte(344) = 0;
clearstartpal(context);
dumpcurrent(context);
return;
@@ -5234,15 +5234,15 @@ static void clearpalette(Context & context) {
static void fadescreenup(Context & context) {
clearstartpal(context);
paltoendpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
return;
}
static void fadetowhite(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.cx = 768;
context.al = 63;
@@ -5253,15 +5253,15 @@ static void fadetowhite(Context & context) {
context._stosb();
context._stosb();
paltostartpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
return;
}
static void fadefromwhite(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.cx = 768;
context.al = 63;
@@ -5272,20 +5272,20 @@ static void fadefromwhite(Context & context) {
context._stosb();
context._stosb();
paltoendpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
return;
}
static void fadescreenups(Context & context) {
clearstartpal(context);
paltoendpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 64;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 64;
return;
}
@@ -5293,16 +5293,16 @@ static void fadescreendownhalf(Context & context) {
paltostartpal(context);
paltoendpal(context);
context.cx = 768;
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
halfend:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._shr(context.al, 1);
- context.data.byte(context.bx) = context.al;
+ context.ds.byte(context.bx) = context.al;
context._add(context.bx, 1);
if (--context.cx) goto halfend;
- context.ds = context.data.word(412);
- context.es = context.data.word(412);
+ context.ds = context.ds.word(412);
+ context.es = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+(56*3);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(56*3);
context.cx = 3*5;
@@ -5311,45 +5311,45 @@ halfend:
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(77*3);
context.cx = 3*2;
while(--context.cx) context._movsb();
- context.data.byte(344) = 1;
- context.data.byte(346) = 31;
- context.data.byte(343) = 0;
- context.data.byte(345) = 32;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 31;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 32;
return;
}
static void fadescreenuphalf(Context & context) {
endpaltostart(context);
paltoendpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 31;
- context.data.byte(343) = 0;
- context.data.byte(345) = 32;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 31;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 32;
return;
}
static void fadescreendown(Context & context) {
paltostartpal(context);
clearendpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
return;
}
static void fadescreendowns(Context & context) {
paltostartpal(context);
clearendpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 64;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 64;
return;
}
static void clearstartpal(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.cx = 256;
wholeloop1:
@@ -5362,39 +5362,39 @@ wholeloop1:
}
static void showgun(Context & context) {
- context.data.byte(348) = 0;
- context.data.byte(347) = 0;
- context.data.byte(349) = 0;
+ context.ds.byte(348) = 0;
+ context.ds.byte(347) = 0;
+ context.ds.byte(349) = 0;
paltostartpal(context);
paltoendpal(context);
greyscalesum(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
context.cx = 130;
hangon(context);
endpaltostart(context);
clearendpal(context);
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
context.cx = 200;
hangon(context);
- context.data.byte(531) = 34;
+ context.ds.byte(531) = 34;
loadroomssample(context);
- context.data.byte(386) = 0;
+ context.ds.byte(386) = 0;
context.dx = 2364;
loadintotemp(context);
createpanel2(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 0;
context.ah = 0;
context.di = 100;
context.bx = 4;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 1;
context.ah = 0;
context.di = 158;
@@ -5425,19 +5425,19 @@ static void rollem(Context & context) {
context.ch = 160;
context.di = 25;
context.bx = 20;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
multiget(context);
- context.es = context.data.word(466);
+ context.es = context.ds.word(466);
context.si = 49*2;
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context.si = context.ax;
context._add(context.si, 66*2);
context.cx = 80;
endcredits21:
context.push(context.cx);
context.bx = 10;
- context.cx = context.data.word(77);
+ context.cx = context.ds.word(77);
endcredits22:
context.push(context.cx);
context.push(context.si);
@@ -5449,7 +5449,7 @@ endcredits22:
context.ch = 160;
context.di = 25;
context.bx = 20;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
multiput(context);
vsync(context);
@@ -5468,7 +5468,7 @@ onelot2:
context.dx = 161;
context.ax = 0;
printdirect(context);
- context._add(context.bx, context.data.word(77));
+ context._add(context.bx, context.ds.word(77));
context.cx = context.pop();
if (--context.cx) goto onelot2;
vsync(context);
@@ -5482,13 +5482,13 @@ onelot2:
context.di = context.pop();
context.si = context.pop();
context.cx = context.pop();
- context._cmp(context.data.byte(392), 1);
+ context._cmp(context.ds.byte(392), 1);
if (context.flags.z()) goto endearly2;
context._sub(context.bx, 1);
if (--context.cx) goto endcredits22;
context.cx = context.pop();
looknext2:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 1);
context._cmp(context.al, ':');
if (context.flags.z()) goto gotnext2;
@@ -5496,7 +5496,7 @@ looknext2:
if (context.flags.z()) goto gotnext2;
goto looknext2;
gotnext2:
- context._cmp(context.data.byte(392), 1);
+ context._cmp(context.ds.byte(392), 1);
if (context.flags.z()) goto endearly;
if (--context.cx) goto endcredits21;
context.cx = 120;
@@ -5509,57 +5509,57 @@ endearly:
}
static void fadecalculation(Context & context) {
- context._cmp(context.data.byte(346), 0);
+ context._cmp(context.ds.byte(346), 0);
if (context.flags.z()) goto nomorefading;
- context.bl = context.data.byte(346);
- context.es = context.data.word(412);
+ context.bl = context.ds.byte(346);
+ context.es = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.cx = 768;
fadecolloop:
- context.al = context.data.byte(context.si);
- context.ah = context.data.byte(context.di);
+ context.al = context.ds.byte(context.si);
+ context.ah = context.ds.byte(context.di);
context._cmp(context.al, context.ah);
if (context.flags.z()) goto gotthere;
if (context.flags.c()) goto lesscolour;
- context._sub(context.data.byte(context.si), 1);
+ context._sub(context.ds.byte(context.si), 1);
goto gotthere;
lesscolour:
context._cmp(context.bl, context.ah);
if (context.flags.z()) goto withit;
if (!context.flags.c()) goto gotthere;
withit:
- context._add(context.data.byte(context.si), 1);
+ context._add(context.ds.byte(context.si), 1);
gotthere:
context._add(context.si, 1);
context._add(context.di, 1);
if (--context.cx) goto fadecolloop;
- context._sub(context.data.byte(346), 1);
+ context._sub(context.ds.byte(346), 1);
return;
nomorefading:
- context.data.byte(344) = 0;
+ context.ds.byte(344) = 0;
return;
}
static void greyscalesum(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768;
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.cx = 256;
greysumloop1:
context.push(context.cx);
context.bx = 0;
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context.ah = 0;
context.cx = 20;
context._mul(context.cx);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.si+1);
+ context.al = context.ds.byte(context.si+1);
context.ah = 0;
context.cx = 59;
context._mul(context.cx);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.si+2);
+ context.al = context.ds.byte(context.si+2);
context.ah = 0;
context.cx = 11;
context._mul(context.cx);
@@ -5571,19 +5571,19 @@ greysumloop2:
if (!context.flags.c()) goto greysumloop2;
context.bl = context.al;
context.al = context.bl;
- context.ah = context.data.byte(348);
+ context.ah = context.ds.byte(348);
context._cmp(context.al, 0);
context._add(context.al, context.ah);
noaddr:
context._stosb();
- context.ah = context.data.byte(347);
+ context.ah = context.ds.byte(347);
context.al = context.bl;
context._cmp(context.al, 0);
if (context.flags.z()) goto noaddg;
context._add(context.al, context.ah);
noaddg:
context._stosb();
- context.ah = context.data.byte(349);
+ context.ah = context.ds.byte(349);
context.al = context.bl;
context._cmp(context.al, 0);
if (context.flags.z()) goto noaddb;
@@ -5597,8 +5597,8 @@ noaddb:
}
static void paltostartpal(Context & context) {
- context.es = context.data.word(412);
- context.ds = context.data.word(412);
+ context.es = context.ds.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768;
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.cx = 768/2;
@@ -5607,8 +5607,8 @@ static void paltostartpal(Context & context) {
}
static void endpaltostart(Context & context) {
- context.es = context.data.word(412);
- context.ds = context.data.word(412);
+ context.es = context.ds.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.cx = 768/2;
@@ -5617,8 +5617,8 @@ static void endpaltostart(Context & context) {
}
static void startpaltoend(Context & context) {
- context.es = context.data.word(412);
- context.ds = context.data.word(412);
+ context.es = context.ds.word(412);
+ context.ds = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.cx = 768/2;
@@ -5627,8 +5627,8 @@ static void startpaltoend(Context & context) {
}
static void paltoendpal(Context & context) {
- context.es = context.data.word(412);
- context.ds = context.data.word(412);
+ context.es = context.ds.word(412);
+ context.ds = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768;
context.cx = 768/2;
@@ -5637,8 +5637,8 @@ static void paltoendpal(Context & context) {
}
static void allpalette(Context & context) {
- context.es = context.data.word(412);
- context.ds = context.data.word(412);
+ context.es = context.ds.word(412);
+ context.ds = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768;
context.cx = 768/2;
@@ -5649,7 +5649,7 @@ static void allpalette(Context & context) {
static void dumpcurrent(Context & context) {
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3);
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
vsync(context);
context.al = 0;
context.cx = 128;
@@ -5664,7 +5664,7 @@ static void dumpcurrent(Context & context) {
static void fadedownmon(Context & context) {
paltostartpal(context);
paltoendpal(context);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5672,10 +5672,10 @@ static void fadedownmon(Context & context) {
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(246*3);
context._stosb();
context._stosw();
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
context.cx = 64;
hangon(context);
return;
@@ -5684,7 +5684,7 @@ static void fadedownmon(Context & context) {
static void fadeupmon(Context & context) {
paltostartpal(context);
paltoendpal(context);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5692,10 +5692,10 @@ static void fadeupmon(Context & context) {
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(246*3);
context._stosb();
context._stosw();
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
context.cx = 128;
hangon(context);
return;
@@ -5704,7 +5704,7 @@ static void fadeupmon(Context & context) {
static void fadeupmonfirst(Context & context) {
paltostartpal(context);
paltoendpal(context);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5712,10 +5712,10 @@ static void fadeupmonfirst(Context & context) {
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(246*3);
context._stosb();
context._stosw();
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
context.cx = 64;
hangon(context);
context.al = 26;
@@ -5727,7 +5727,7 @@ static void fadeupmonfirst(Context & context) {
static void fadeupyellows(Context & context) {
paltoendpal(context);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5735,10 +5735,10 @@ static void fadeupyellows(Context & context) {
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(246*3);
context._stosb();
context._stosw();
- context.data.byte(344) = 1;
- context.data.byte(346) = 63;
- context.data.byte(343) = 0;
- context.data.byte(345) = 128;
+ context.ds.byte(344) = 1;
+ context.ds.byte(346) = 63;
+ context.ds.byte(343) = 0;
+ context.ds.byte(345) = 128;
context.cx = 128;
hangon(context);
return;
@@ -5746,7 +5746,7 @@ static void fadeupyellows(Context & context) {
static void initialmoncols(Context & context) {
paltostartpal(context);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(230*3);
context.cx = 3*9;
context.ax = 0;
@@ -5754,7 +5754,7 @@ static void initialmoncols(Context & context) {
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(246*3);
context._stosb();
context._stosw();
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+(230*3);
context.al = 230;
context.cx = 18;
@@ -5775,24 +5775,24 @@ static void endgame(Context & context) {
monkspeaking(context);
gettingshot(context);
getridoftemptext(context);
- context.data.byte(387) = 7;
- context.data.byte(388) = 1;
+ context.ds.byte(387) = 7;
+ context.ds.byte(388) = 1;
context.cx = 200;
hangon(context);
return;
}
static void monkspeaking(Context & context) {
- context.data.byte(531) = 35;
+ context.ds.byte(531) = 35;
loadroomssample(context);
context.dx = 2377;
loadintotemp(context);
clearwork(context);
showmonk(context);
worktoscreen(context);
- context.data.byte(386) = 7;
- context.data.byte(388) = -1;
- context.data.byte(387) = 0;
+ context.ds.byte(386) = 7;
+ context.ds.byte(388) = -1;
+ context.ds.byte(387) = 0;
context.al = 12;
context.ah = 255;
playchannel0(context);
@@ -5805,8 +5805,8 @@ nextmonkspeak:
context.ah = 0;
context.si = context.ax;
context._add(context.si, context.si);
- context.es = context.data.word(466);
- context.ax = context.data.word(context.si);
+ context.es = context.ds.word(466);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, 66*2);
context.si = context.ax;
nextbit:
@@ -5831,8 +5831,8 @@ nextbit:
context._add(context.al, 1);
context._cmp(context.al, 44);
if (!context.flags.z()) goto nextmonkspeak;
- context.data.byte(388) = 1;
- context.data.byte(387) = 7;
+ context.ds.byte(388) = 1;
+ context.ds.byte(387) = 7;
fadescreendowns(context);
context.cx = 300;
hangon(context);
@@ -5845,18 +5845,18 @@ static void showmonk(Context & context) {
context.ah = 128;
context.di = 160;
context.bx = 72;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
return;
}
static void gettingshot(Context & context) {
- context.data.byte(188) = 55;
+ context.ds.byte(188) = 55;
clearpalette(context);
loadintroroom(context);
fadescreenups(context);
- context.data.byte(387) = 0;
- context.data.byte(388) = -1;
+ context.ds.byte(387) = 0;
+ context.ds.byte(388) = -1;
runendseq(context);
clearbeforeload(context);
return;
@@ -5889,7 +5889,7 @@ hangonloope:
context.push(context.cx);
vsync(context);
context.cx = context.pop();
- context._cmp(context.data.byte(392), 1);
+ context._cmp(context.ds.byte(392), 1);
if (context.flags.z()) goto hangonearly;
if (--context.cx) goto hangonloope;
return;
@@ -5904,28 +5904,28 @@ static void intro(Context & context) {
loadtemptext(context);
loadpalfromiff(context);
setmode(context);
- context.data.byte(188) = 50;
+ context.ds.byte(188) = 50;
clearpalette(context);
loadintroroom(context);
- context.data.byte(386) = 7;
- context.data.byte(388) = -1;
- context.data.byte(387) = 0;
+ context.ds.byte(386) = 7;
+ context.ds.byte(388) = -1;
+ context.ds.byte(387) = 0;
context.al = 12;
context.ah = 255;
playchannel0(context);
fadescreenups(context);
runintroseq(context);
clearbeforeload(context);
- context.data.byte(188) = 52;
+ context.ds.byte(188) = 52;
loadintroroom(context);
runintroseq(context);
clearbeforeload(context);
- context.data.byte(188) = 53;
+ context.ds.byte(188) = 53;
loadintroroom(context);
runintroseq(context);
clearbeforeload(context);
allpalette(context);
- context.data.byte(188) = 54;
+ context.ds.byte(188) = 54;
loadintroroom(context);
runintroseq(context);
getridoftemptext(context);
@@ -5934,14 +5934,14 @@ static void intro(Context & context) {
}
static void runintroseq(Context & context) {
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
moreintroseq:
vsync(context);
- context._cmp(context.data.byte(392), 1);
+ context._cmp(context.ds.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
spriteupdate(context);
vsync(context);
- context._cmp(context.data.byte(392), 1);
+ context._cmp(context.ds.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
deleverything(context);
printsprites(context);
@@ -5949,14 +5949,14 @@ moreintroseq:
afterintroroom(context);
usetimedtext(context);
vsync(context);
- context._cmp(context.data.byte(392), 1);
+ context._cmp(context.ds.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
dumpmap(context);
dumptimedtext(context);
vsync(context);
- context._cmp(context.data.byte(392), 1);
+ context._cmp(context.ds.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
- context._cmp(context.data.byte(103), 1);
+ context._cmp(context.ds.byte(103), 1);
if (!context.flags.z()) goto moreintroseq;
return;
earlyendrun:
@@ -5969,7 +5969,7 @@ earlyendrun:
static void runendseq(Context & context) {
atmospheres(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
moreendseq:
vsync(context);
spriteupdate(context);
@@ -5983,23 +5983,23 @@ moreendseq:
dumpmap(context);
dumptimedtext(context);
vsync(context);
- context._cmp(context.data.byte(103), 1);
+ context._cmp(context.ds.byte(103), 1);
if (!context.flags.z()) goto moreendseq;
return;
}
static void loadintroroom(Context & context) {
- context.data.byte(139) = 0;
- context.data.byte(9) = 255;
+ context.ds.byte(139) = 0;
+ context.ds.byte(9) = 255;
loadroom(context);
- context.data.word(121) = 72;
- context.data.word(123) = 16;
+ context.ds.word(121) = 72;
+ context.ds.word(123) = 16;
clearsprites(context);
- context.data.byte(61) = 0;
- context.data.byte(142) = '0';
- context.data.byte(105) = 0;
+ context.ds.byte(61) = 0;
+ context.ds.byte(142) = '0';
+ context.ds.byte(105) = 0;
clearwork(context);
- context.data.byte(62) = 1;
+ context.ds.byte(62) = 1;
drawfloor(context);
reelsonscreen(context);
spriteupdate(context);
@@ -6009,9 +6009,9 @@ static void loadintroroom(Context & context) {
}
static void realcredits(Context & context) {
- context.data.byte(531) = 33;
+ context.ds.byte(531) = 33;
loadroomssample(context);
- context.data.byte(386) = 0;
+ context.ds.byte(386) = 0;
mode640x480(context);
context.cx = 35;
hangon(context);
@@ -6106,13 +6106,13 @@ static void printchar(Context & context) {
context.push(context.ax);
context._sub(context.al, 32);
context.ah = 0;
- context._add(context.ax, context.data.word(71));
+ context._add(context.ax, context.ds.word(71));
showframe(context);
context.ax = context.pop();
context.di = context.pop();
context.bx = context.pop();
context.si = context.pop();
- context._cmp(context.data.byte(72), 0);
+ context._cmp(context.ds.byte(72), 0);
if (!context.flags.z()) goto nokern;
kernchars(context);
nokern:
@@ -6148,9 +6148,9 @@ kernit:
}
static void printslow(Context & context) {
- context.data.byte(231) = 1;
- context.data.byte(234) = 3;
- context.ds = context.data.word(404);
+ context.ds.byte(231) = 1;
+ context.ds.byte(234) = 3;
+ context.ds = context.ds.word(404);
printloopslow6:
context.push(context.bx);
context.push(context.di);
@@ -6161,7 +6161,7 @@ printloopslow5:
context.push(context.cx);
context.push(context.si);
context.push(context.es);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context.push(context.bx);
context.push(context.cx);
context.push(context.es);
@@ -6174,7 +6174,7 @@ printloopslow5:
context.es = context.pop();
context.cx = context.pop();
context.bx = context.pop();
- context.ax = context.data.word(context.si+1);
+ context.ax = context.ds.word(context.si+1);
context._add(context.si, 1);
context._cmp(context.al, 0);
if (context.flags.z()) goto finishslow;
@@ -6189,9 +6189,9 @@ printloopslow5:
context.push(context.es);
context.push(context.si);
modifychar(context);
- context.data.word(71) = 91;
+ context.ds.word(71) = 91;
printboth(context);
- context.data.word(71) = 0;
+ context.ds.word(71) = 0;
context.si = context.pop();
context.es = context.pop();
context.cx = context.pop();
@@ -6201,14 +6201,14 @@ printloopslow5:
waitframes(context);
context._cmp(context.ax, 0);
if (context.flags.z()) goto keepgoing;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (!context.flags.z()) goto finishslow2;
keepgoing:
waitframes(context);
noslow:
context._cmp(context.ax, 0);
if (context.flags.z()) goto afterslow;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (!context.flags.z()) goto finishslow2;
afterslow:
context.es = context.pop();
@@ -6252,7 +6252,7 @@ static void waitframes(Context & context) {
vsync(context);
dumppointer(context);
delpointer(context);
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context.ds = context.pop();
context.si = context.pop();
context.es = context.pop();
@@ -6279,8 +6279,8 @@ static void printboth(Context & context) {
}
static void printdirect(Context & context) {
- context.data.word(84) = context.di;
- context.ds = context.data.word(268);
+ context.ds.word(84) = context.di;
+ context.ds = context.ds.word(268);
printloop6:
context.push(context.bx);
context.push(context.di);
@@ -6288,7 +6288,7 @@ printloop6:
getnumber(context);
context.ch = 0;
printloop5:
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.si, 1);
context._cmp(context.al, 0);
if (context.flags.z()) goto finishdirct;
@@ -6298,14 +6298,14 @@ printloop5:
context.push(context.es);
modifychar(context);
printchar(context);
- context.data.word(84) = context.di;
+ context.ds.word(84) = context.di;
context.es = context.pop();
context.cx = context.pop();
if (--context.cx) goto printloop5;
context.dx = context.pop();
context.di = context.pop();
context.bx = context.pop();
- context._add(context.bx, context.data.word(77));
+ context._add(context.bx, context.ds.word(77));
goto printloop6;
finishdirct:
context.dx = context.pop();
@@ -6315,12 +6315,12 @@ finishdirct:
}
static void monprint(Context & context) {
- context.data.byte(72) = 1;
+ context.ds.byte(72) = 1;
context.si = context.bx;
context.dl = 166;
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
- context.ds = context.data.word(406);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
+ context.ds = context.ds.word(406);
printloop8:
context.push(context.bx);
context.push(context.di);
@@ -6328,7 +6328,7 @@ printloop8:
getnumber(context);
context.ch = 0;
printloop7:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 1);
context._cmp(context.al, ':');
if (context.flags.z()) goto finishmon2;
@@ -6340,7 +6340,7 @@ printloop7:
if (context.flags.z()) goto finishmon;
context._cmp(context.al, '%');
if (!context.flags.z()) goto nottrigger;
- context.ah = context.data.byte(context.si);
+ context.ah = context.ds.byte(context.si);
context._add(context.si, 1);
context._add(context.si, 1);
goto finishmon;
@@ -6349,9 +6349,9 @@ nottrigger:
context.push(context.es);
modifychar(context);
printchar(context);
- context.data.word(312) = context.di;
- context.data.word(314) = context.bx;
- context.data.word(138) = 1;
+ context.ds.word(312) = context.di;
+ context.ds.word(314) = context.bx;
+ context.ds.word(138) = 1;
printcurs(context);
vsync(context);
context.push(context.si);
@@ -6376,7 +6376,7 @@ finishmon2:
context.di = context.pop();
context.bx = context.pop();
scrollmonitor(context);
- context.data.word(312) = context.di;
+ context.ds.word(312) = context.di;
goto printloop8;
finishmon:
context.dx = context.pop();
@@ -6384,12 +6384,12 @@ finishmon:
context.bx = context.pop();
context._cmp(context.al, '%');
if (!context.flags.z()) goto nottrigger2;
- context.data.byte(55) = context.ah;
+ context.ds.byte(55) = context.ah;
nottrigger2:
- context.data.word(312) = context.di;
+ context.ds.word(312) = context.di;
scrollmonitor(context);
context.bx = context.si;
- context.data.byte(72) = 0;
+ context.ds.byte(72) = 0;
return;
}
@@ -6499,7 +6499,7 @@ notcent2:
static void getnextword(Context & context) {
context.bx = 0;
getloop:
- context.ax = context.data.word(context.di);
+ context.ax = context.ds.word(context.di);
context._add(context.di, 1);
context._add(context.bh, 1);
context._cmp(context.al, ':');
@@ -6514,12 +6514,12 @@ getloop:
context.push(context.ax);
context._sub(context.al, 32);
context.ah = 0;
- context._add(context.ax, context.data.word(71));
+ context._add(context.ax, context.ds.word(71));
context._add(context.ax, context.ax);
context.si = context.ax;
context._add(context.ax, context.ax);
context._add(context.si, context.ax);
- context.cl = context.data.byte(context.si+0);
+ context.cl = context.ds.byte(context.si+0);
context.ax = context.pop();
kernchars(context);
context._add(context.bl, context.cl);
@@ -6592,11 +6592,11 @@ nomod:
}
static void fillryan(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32;
findallryan(context);
context.si = 0+(228*13)+32;
- context.al = context.data.byte(19);
+ context.al = context.ds.byte(19);
context.ah = 0;
context.cx = 20;
context._mul(context.cx);
@@ -6613,7 +6613,7 @@ ryanloop1:
context.push(context.cx);
context.push(context.di);
context.push(context.bx);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.si, 2);
context.push(context.si);
context.push(context.es);
@@ -6643,7 +6643,7 @@ static void fillopen(Context & context) {
lessthanapage:
context.al = 1;
context.push(context.ax);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13);
findallopen(context);
context.si = 0+(228*13);
@@ -6654,7 +6654,7 @@ openloop1:
context.push(context.cx);
context.push(context.di);
context.push(context.bx);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.si, 2);
context.push(context.si);
context.push(context.es);
@@ -6682,15 +6682,15 @@ static void findallryan(Context & context) {
while(--context.cx) context._stosw();
context.di = context.pop();
context.cl = 4;
- context.ds = context.data.word(398);
+ context.ds = context.ds.word(398);
context.bx = 0+2080+30000;
context.ch = 0;
findryanloop:
- context._cmp(context.data.byte(context.bx+2), context.cl);
+ context._cmp(context.ds.byte(context.bx+2), context.cl);
if (!context.flags.z()) goto notinryaninv;
- context._cmp(context.data.byte(context.bx+3), 255);
+ context._cmp(context.ds.byte(context.bx+3), 255);
if (!context.flags.z()) goto notinryaninv;
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
context.ah = 0;
context.push(context.di);
context._add(context.di, context.ax);
@@ -6713,23 +6713,23 @@ static void findallopen(Context & context) {
context.ax = 0x0ffff;
while(--context.cx) context._stosw();
context.di = context.pop();
- context.cl = context.data.byte(110);
- context.dl = context.data.byte(111);
- context.ds = context.data.word(398);
+ context.cl = context.ds.byte(110);
+ context.dl = context.ds.byte(111);
+ context.ds = context.ds.word(398);
context.bx = 0+2080+30000;
context.ch = 0;
findopen1:
- context._cmp(context.data.byte(context.bx+3), context.cl);
+ context._cmp(context.ds.byte(context.bx+3), context.cl);
if (!context.flags.z()) goto findopen2;
- context._cmp(context.data.byte(context.bx+2), context.dl);
+ context._cmp(context.ds.byte(context.bx+2), context.dl);
if (!context.flags.z()) goto findopen2;
- context._cmp(context.data.byte(111), 4);
+ context._cmp(context.ds.byte(111), 4);
if (context.flags.z()) goto noloccheck;
- context.al = context.data.byte(context.bx+5);
- context._cmp(context.al, context.data.byte(184));
+ context.al = context.ds.byte(context.bx+5);
+ context._cmp(context.al, context.ds.byte(184));
if (!context.flags.z()) goto findopen2;
noloccheck:
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
context.ah = 0;
context.push(context.di);
context._add(context.di, context.ax);
@@ -6743,19 +6743,19 @@ findopen2:
context._add(context.ch, 1);
context._cmp(context.ch, 114);
if (!context.flags.z()) goto findopen1;
- context.cl = context.data.byte(110);
- context.dl = context.data.byte(111);
+ context.cl = context.ds.byte(110);
+ context.dl = context.ds.byte(111);
context.push(context.dx);
- context.ds = context.data.word(426);
+ context.ds = context.ds.word(426);
context.dx = context.pop();
context.bx = 0;
context.ch = 0;
findopen1a:
- context._cmp(context.data.byte(context.bx+3), context.cl);
+ context._cmp(context.ds.byte(context.bx+3), context.cl);
if (!context.flags.z()) goto findopen2a;
- context._cmp(context.data.byte(context.bx+2), context.dl);
+ context._cmp(context.ds.byte(context.bx+2), context.dl);
if (!context.flags.z()) goto findopen2a;
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
context.ah = 0;
context.push(context.di);
context._add(context.di, context.ax);
@@ -6780,7 +6780,7 @@ static void obtoinv(Context & context) {
context.push(context.ax);
context.push(context.di);
context.push(context.bx);
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context._sub(context.di, 2);
context._sub(context.bx, 1);
context.al = 10;
@@ -6794,10 +6794,10 @@ static void obtoinv(Context & context) {
context.push(context.bx);
context.push(context.di);
context.push(context.ax);
- context.ds = context.data.word(398);
+ context.ds = context.ds.word(398);
context._cmp(context.ah, 4);
if (context.flags.z()) goto isanextra;
- context.ds = context.data.word(446);
+ context.ds = context.ds.word(446);
isanextra:
context.cl = context.al;
context._add(context.al, context.al);
@@ -6815,7 +6815,7 @@ isanextra:
isitworn(context);
context.bx = context.pop();
if (!context.flags.z()) goto finishfill;
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context._sub(context.di, 3);
context._sub(context.bx, 2);
context.al = 7;
@@ -6830,34 +6830,34 @@ finishfill:
}
static void isitworn(Context & context) {
- context.al = context.data.byte(context.bx+12);
+ context.al = context.ds.byte(context.bx+12);
context._cmp(context.al, 'W'-'A');
if (!context.flags.z()) goto notworn;
- context.al = context.data.byte(context.bx+13);
+ context.al = context.ds.byte(context.bx+13);
context._cmp(context.al, 'E'-'A');
notworn:
return;
}
static void makeworn(Context & context) {
- context.data.byte(context.bx+12) = 'W'-'A';
- context.data.byte(context.bx+13) = 'E'-'A';
+ context.ds.byte(context.bx+12) = 'W'-'A';
+ context.ds.byte(context.bx+13) = 'E'-'A';
return;
}
static void examineob(Context & context) {
- context.data.byte(234) = 0;
- context.data.word(328) = 0;
+ context.ds.byte(234) = 0;
+ context.ds.word(328) = 0;
examineagain:
- context.data.byte(237) = 0;
- context.data.byte(108) = 0;
- context.data.byte(110) = 255;
- context.data.byte(111) = 255;
- context.data.byte(104) = 0;
- context.al = context.data.byte(100);
- context.data.byte(102) = context.al;
- context.data.byte(89) = 0;
- context.data.byte(231) = 0;
+ context.ds.byte(237) = 0;
+ context.ds.byte(108) = 0;
+ context.ds.byte(110) = 255;
+ context.ds.byte(111) = 255;
+ context.ds.byte(104) = 0;
+ context.al = context.ds.byte(100);
+ context.ds.byte(102) = context.al;
+ context.ds.byte(89) = 0;
+ context.ds.byte(231) = 0;
createpanel(context);
showpanel(context);
showman(context);
@@ -6866,7 +6866,7 @@ examineagain:
obpicture(context);
describeob(context);
undertextline(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -6878,41 +6878,41 @@ waitexam:
dumppointer(context);
dumptextline(context);
delpointer(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
context.bx = 2494;
- context._cmp(context.data.byte(104), 0);
+ context._cmp(context.ds.byte(104), 0);
if (context.flags.z()) goto notuseinv;
context.bx = 2556;
- context._cmp(context.data.byte(104), 1);
+ context._cmp(context.ds.byte(104), 1);
if (context.flags.z()) goto notuseinv;
context.bx = 2618;
notuseinv:
checkcoords(context);
- context._cmp(context.data.byte(108), 0);
+ context._cmp(context.ds.byte(108), 0);
if (context.flags.z()) goto norex;
goto examineagain;
norex:
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto waitexam;
- context.data.byte(106) = 0;
- context._cmp(context.data.word(21), 0);
+ context.ds.byte(106) = 0;
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto iswatching;
- context._cmp(context.data.byte(188), 255);
+ context._cmp(context.ds.byte(188), 255);
if (!context.flags.z()) goto justgetback;
iswatching:
makemainscreen(context);
- context.data.byte(104) = 0;
- context.data.byte(110) = 255;
+ context.ds.byte(104) = 0;
+ context.ds.byte(110) = 255;
return;
justgetback:
- context.data.byte(104) = 0;
- context.data.byte(110) = 255;
+ context.ds.byte(104) = 0;
+ context.ds.byte(110) = 255;
return;
}
static void makemainscreen(Context & context) {
createpanel(context);
- context.data.byte(62) = 1;
+ context.ds.byte(62) = 1;
drawfloor(context);
spriteupdate(context);
printsprites(context);
@@ -6920,16 +6920,16 @@ static void makemainscreen(Context & context) {
showicon(context);
getunderzoom(context);
undertextline(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
animpointer(context);
worktoscreenm(context);
- context.data.byte(100) = 200;
- context.data.byte(131) = 0;
+ context.ds.byte(100) = 200;
+ context.ds.byte(131) = 0;
return;
}
static void getbackfromob(Context & context) {
- context._cmp(context.data.byte(106), 1);
+ context._cmp(context.ds.byte(106), 1);
if (!context.flags.z()) goto notheldob;
blank(context);
return;
@@ -6939,25 +6939,25 @@ notheldob:
}
static void incryanpage(Context & context) {
- context._cmp(context.data.byte(100), 222);
+ context._cmp(context.ds.byte(100), 222);
if (context.flags.z()) goto alreadyincryan;
- context.data.byte(100) = 222;
+ context.ds.byte(100) = 222;
context.al = 31;
commandonly(context);
alreadyincryan:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto noincryan;
context._and(context.ax, 1);
if (!context.flags.z()) goto doincryan;
noincryan:
return;
doincryan:
- context.ax = context.data.word(198);
+ context.ax = context.ds.word(198);
context._sub(context.ax, 80+167);
- context.data.byte(19) = -1;
+ context.ds.byte(19) = -1;
findnewpage:
- context._add(context.data.byte(19), 1);
+ context._add(context.ds.byte(19), 1);
context._sub(context.ax, 18);
if (!context.flags.c()) goto findnewpage;
delpointer(context);
@@ -6970,32 +6970,32 @@ findnewpage:
}
static void openinv(Context & context) {
- context.data.byte(104) = 1;
+ context.ds.byte(104) = 1;
context.al = 61;
context.di = 80;
context.bx = 58-10;
context.dl = 240;
printmessage(context);
fillryan(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
return;
}
static void showryanpage(Context & context) {
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 80+167;
context.bx = 58-12;
context.al = 12;
context.ah = 0;
showframe(context);
context.al = 13;
- context._add(context.al, context.data.byte(19));
+ context._add(context.al, context.ds.byte(19));
context.push(context.ax);
- context.al = context.data.byte(19);
+ context.al = context.ds.byte(19);
context.ah = 0;
context.cx = 18;
context._mul(context.cx);
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 80+167;
context._add(context.di, context.ax);
context.bx = 58-12;
@@ -7006,8 +7006,8 @@ static void showryanpage(Context & context) {
}
static void openob(Context & context) {
- context.al = context.data.byte(110);
- context.ah = context.data.byte(111);
+ context.al = context.ds.byte(110);
+ context.ah = context.ds.byte(111);
context.di = 5674;
copyname(context);
context.di = 80;
@@ -7015,7 +7015,7 @@ static void openob(Context & context) {
context.al = 62;
context.dl = 240;
printmessage(context);
- context.di = context.data.word(84);
+ context.di = context.ds.word(84);
context._add(context.di, 5);
context.bx = 58+86;
context.es = context.cs;
@@ -7032,23 +7032,23 @@ static void openob(Context & context) {
context._mul(context.cx);
context._add(context.ax, 80);
context.bx = 2588;
- context.data.word(context.bx) = context.ax;
+ context.ds.word(context.bx) = context.ax;
return;
}
static void obicons(Context & context) {
- context.al = context.data.byte(99);
+ context.al = context.ds.byte(99);
getanyad(context);
context._cmp(context.al, 255);
if (context.flags.z()) goto cantopenit;
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.di = 210;
context.bx = 1;
context.al = 4;
context.ah = 0;
showframe(context);
cantopenit:
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.di = 260;
context.bx = 1;
context.al = 1;
@@ -7058,7 +7058,7 @@ cantopenit:
}
static void examicon(Context & context) {
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context.di = 254;
context.bx = 5;
context.al = 3;
@@ -7068,13 +7068,13 @@ static void examicon(Context & context) {
}
static void obpicture(Context & context) {
- context.al = context.data.byte(99);
- context.ah = context.data.byte(102);
+ context.al = context.ds.byte(99);
+ context.ah = context.ds.byte(102);
context._cmp(context.ah, 1);
if (context.flags.z()) goto setframe;
context._cmp(context.ah, 4);
if (context.flags.z()) goto exframe;
- context.ds = context.data.word(446);
+ context.ds = context.ds.word(446);
context.di = 160;
context.bx = 68;
context.cl = context.al;
@@ -7087,7 +7087,7 @@ static void obpicture(Context & context) {
setframe:
return;
exframe:
- context.ds = context.data.word(398);
+ context.ds = context.ds.word(398);
context.di = 160;
context.bx = 68;
context.cl = context.al;
@@ -7103,18 +7103,18 @@ static void describeob(Context & context) {
getobtextstart(context);
context.di = 33;
context.bx = 92;
- context._cmp(context.data.byte(102), 1);
+ context._cmp(context.ds.byte(102), 1);
if (!context.flags.z()) goto notsetd;
context.bx = 82;
notsetd:
context.dl = 241;
context.ah = 16;
- context.data.word(71) = 91+91;
+ context.ds.word(71) = 91+91;
printdirect(context);
- context.data.word(71) = 0;
+ context.ds.word(71) = 0;
context.di = 36;
context.bx = 104;
- context._cmp(context.data.byte(102), 1);
+ context._cmp(context.ds.byte(102), 1);
if (!context.flags.z()) goto notsetd2;
context.bx = 94;
notsetd2:
@@ -7131,16 +7131,16 @@ notsetd2:
static void additionaltext(Context & context) {
context._add(context.bx, 10);
context.push(context.bx);
- context.al = context.data.byte(99);
- context.ah = context.data.byte(102);
+ context.al = context.ds.byte(99);
+ context.ah = context.ds.byte(102);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
context.dh = 'E';
compare(context);
if (context.flags.z()) goto emptycup;
- context.al = context.data.byte(99);
- context.ah = context.data.byte(102);
+ context.al = context.ds.byte(99);
+ context.ah = context.ds.byte(102);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -7170,8 +7170,8 @@ fullcup:
}
static void obsthatdothings(Context & context) {
- context.al = context.data.byte(99);
- context.ah = context.data.byte(102);
+ context.al = context.ds.byte(99);
+ context.ah = context.ds.byte(102);
context.cl = 'M';
context.ch = 'E';
context.dl = 'M';
@@ -7192,35 +7192,35 @@ notlouiscard:
}
static void getobtextstart(Context & context) {
- context.es = context.data.word(438);
+ context.es = context.ds.word(438);
context.si = 0;
context.cx = 0+(82*2);
- context._cmp(context.data.byte(102), 2);
+ context._cmp(context.ds.byte(102), 2);
if (context.flags.z()) goto describe;
- context.es = context.data.word(440);
+ context.es = context.ds.word(440);
context.si = 0;
context.cx = 0+(130*2);
- context._cmp(context.data.byte(102), 1);
+ context._cmp(context.ds.byte(102), 1);
if (context.flags.z()) goto describe;
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.si = 0+2080+30000+(16*114);
context.cx = 0+2080+30000+(16*114)+((114+2)*2);
describe:
- context.al = context.data.byte(99);
+ context.al = context.ds.byte(99);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.si, context.ax);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, context.cx);
context.si = context.ax;
context.bx = context.ax;
tryagain:
context.push(context.si);
findnextcolon(context);
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context.cx = context.si;
context.si = context.pop();
- context._cmp(context.data.byte(102), 1);
+ context._cmp(context.ds.byte(102), 1);
if (!context.flags.z()) goto cantmakeoneup;
context._cmp(context.al, 0);
if (context.flags.z()) goto findsometext;
@@ -7238,9 +7238,9 @@ static void searchforsame(Context & context) {
context.si = context.cx;
searchagain:
context._add(context.si, 1);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
search:
- context._cmp(context.data.byte(context.si), context.al);
+ context._cmp(context.ds.byte(context.si), context.al);
if (context.flags.z()) goto gotstartletter;
context._add(context.cx, 1);
context._add(context.si, 1);
@@ -7255,8 +7255,8 @@ gotstartletter:
keepchecking:
context._add(context.si, 1);
context._add(context.bx, 1);
- context.al = context.data.byte(context.bx);
- context.ah = context.data.byte(context.si);
+ context.al = context.ds.byte(context.bx);
+ context.ah = context.ds.byte(context.si);
context._cmp(context.al, ':');
if (context.flags.z()) goto foundmatch;
context._cmp(context.al, 0);
@@ -7274,7 +7274,7 @@ foundmatch:
static void findnextcolon(Context & context) {
isntcolon:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 1);
context._cmp(context.al, 0);
if (context.flags.z()) goto endofcolon;
@@ -7285,31 +7285,31 @@ endofcolon:
}
static void inventory(Context & context) {
- context._cmp(context.data.byte(56), 1);
+ context._cmp(context.ds.byte(56), 1);
if (context.flags.z()) goto iswatchinv;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (context.flags.z()) goto notwatchinv;
iswatchinv:
blank(context);
return;
notwatchinv:
- context._cmp(context.data.byte(100), 239);
+ context._cmp(context.ds.byte(100), 239);
if (context.flags.z()) goto alreadyopinv;
- context.data.byte(100) = 239;
+ context.ds.byte(100) = 239;
context.al = 32;
commandonly(context);
alreadyopinv:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto cantopinv;
context._and(context.ax, 1);
if (!context.flags.z()) goto doopeninv;
cantopinv:
return;
doopeninv:
- context.data.word(328) = 0;
- context.data.byte(234) = 0;
- context.data.byte(237) = 0;
+ context.ds.word(328) = 0;
+ context.ds.byte(234) = 0;
+ context.ds.byte(237) = 0;
animpointer(context);
createpanel(context);
showpanel(context);
@@ -7317,26 +7317,26 @@ doopeninv:
showman(context);
showexit(context);
undertextline(context);
- context.data.byte(106) = 0;
- context.data.byte(104) = 2;
+ context.ds.byte(106) = 0;
+ context.ds.byte(104) = 2;
openinv(context);
readmouse(context);
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.data.byte(110) = 255;
+ context.ds.byte(110) = 255;
goto waitexam;
/*continuing to unbounded code: examineagain from examineob:3-66*/
examineagain:
- context.data.byte(237) = 0;
- context.data.byte(108) = 0;
- context.data.byte(110) = 255;
- context.data.byte(111) = 255;
- context.data.byte(104) = 0;
- context.al = context.data.byte(100);
- context.data.byte(102) = context.al;
- context.data.byte(89) = 0;
- context.data.byte(231) = 0;
+ context.ds.byte(237) = 0;
+ context.ds.byte(108) = 0;
+ context.ds.byte(110) = 255;
+ context.ds.byte(111) = 255;
+ context.ds.byte(104) = 0;
+ context.al = context.ds.byte(100);
+ context.ds.byte(102) = context.al;
+ context.ds.byte(89) = 0;
+ context.ds.byte(231) = 0;
createpanel(context);
showpanel(context);
showman(context);
@@ -7345,7 +7345,7 @@ examineagain:
obpicture(context);
describeob(context);
undertextline(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -7357,35 +7357,35 @@ waitexam:
dumppointer(context);
dumptextline(context);
delpointer(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
context.bx = 2494;
- context._cmp(context.data.byte(104), 0);
+ context._cmp(context.ds.byte(104), 0);
if (context.flags.z()) goto notuseinv;
context.bx = 2556;
- context._cmp(context.data.byte(104), 1);
+ context._cmp(context.ds.byte(104), 1);
if (context.flags.z()) goto notuseinv;
context.bx = 2618;
notuseinv:
checkcoords(context);
- context._cmp(context.data.byte(108), 0);
+ context._cmp(context.ds.byte(108), 0);
if (context.flags.z()) goto norex;
goto examineagain;
norex:
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto waitexam;
- context.data.byte(106) = 0;
- context._cmp(context.data.word(21), 0);
+ context.ds.byte(106) = 0;
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto iswatching;
- context._cmp(context.data.byte(188), 255);
+ context._cmp(context.ds.byte(188), 255);
if (!context.flags.z()) goto justgetback;
iswatching:
makemainscreen(context);
- context.data.byte(104) = 0;
- context.data.byte(110) = 255;
+ context.ds.byte(104) = 0;
+ context.ds.byte(110) = 255;
return;
justgetback:
- context.data.byte(104) = 0;
- context.data.byte(110) = 255;
+ context.ds.byte(104) = 0;
+ context.ds.byte(110) = 255;
return;
examlist:
invlist1:
@@ -7395,30 +7395,30 @@ withlist1:
}
static void setpickup(Context & context) {
- context._cmp(context.data.byte(102), 1);
+ context._cmp(context.ds.byte(102), 1);
if (context.flags.z()) goto cantpick;
- context._cmp(context.data.byte(102), 3);
+ context._cmp(context.ds.byte(102), 3);
if (context.flags.z()) goto cantpick;
getanyad(context);
- context.al = context.data.byte(context.bx+2);
+ context.al = context.ds.byte(context.bx+2);
context._cmp(context.al, 4);
if (!context.flags.z()) goto canpick;
cantpick:
blank(context);
return;
canpick:
- context._cmp(context.data.byte(100), 209);
+ context._cmp(context.ds.byte(100), 209);
if (context.flags.z()) goto alreadysp;
- context.data.byte(100) = 209;
- context.bl = context.data.byte(99);
- context.bh = context.data.byte(102);
+ context.ds.byte(100) = 209;
+ context.bl = context.ds.byte(99);
+ context.bh = context.ds.byte(102);
context.al = 33;
commandwithob(context);
alreadysp:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._cmp(context.ax, 1);
if (!context.flags.z()) goto nosetpick;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (!context.flags.z()) goto dosetpick;
nosetpick:
return;
@@ -7428,39 +7428,39 @@ dosetpick:
showman(context);
showexit(context);
examicon(context);
- context.data.byte(106) = 1;
- context.data.byte(104) = 2;
- context._cmp(context.data.byte(102), 4);
+ context.ds.byte(106) = 1;
+ context.ds.byte(104) = 2;
+ context._cmp(context.ds.byte(102), 4);
if (context.flags.z()) goto pickupexob;
- context.al = context.data.byte(99);
- context.data.byte(89) = context.al;
- context.data.byte(110) = 255;
+ context.al = context.ds.byte(99);
+ context.ds.byte(89) = context.al;
+ context.ds.byte(110) = 255;
transfertoex(context);
- context.data.byte(89) = context.al;
- context.data.byte(102) = 4;
+ context.ds.byte(89) = context.al;
+ context.ds.byte(102) = 4;
geteitherad(context);
- context.data.byte(context.bx+2) = 20;
- context.data.byte(context.bx+3) = 255;
+ context.ds.byte(context.bx+2) = 20;
+ context.ds.byte(context.bx+3) = 255;
openinv(context);
worktoscreenm(context);
return;
pickupexob:
- context.al = context.data.byte(99);
- context.data.byte(89) = context.al;
- context.data.byte(110) = 255;
+ context.al = context.ds.byte(99);
+ context.ds.byte(89) = context.al;
+ context.ds.byte(110) = 255;
openinv(context);
worktoscreenm(context);
return;
}
static void examinventory(Context & context) {
- context._cmp(context.data.byte(100), 249);
+ context._cmp(context.ds.byte(100), 249);
if (context.flags.z()) goto alreadyexinv;
- context.data.byte(100) = 249;
+ context.ds.byte(100) = 249;
context.al = 32;
commandonly(context);
alreadyexinv:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (!context.flags.z()) goto doexinv;
return;
@@ -7470,8 +7470,8 @@ doexinv:
showman(context);
showexit(context);
examicon(context);
- context.data.byte(106) = 0;
- context.data.byte(104) = 2;
+ context.ds.byte(106) = 0;
+ context.ds.byte(104) = 2;
openinv(context);
worktoscreenm(context);
return;
@@ -7479,74 +7479,74 @@ doexinv:
static void reexfrominv(Context & context) {
findinvpos(context);
- context.ax = context.data.word(context.bx);
- context.data.byte(100) = context.ah;
- context.data.byte(99) = context.al;
- context.data.byte(108) = 1;
- context.data.byte(234) = 0;
+ context.ax = context.ds.word(context.bx);
+ context.ds.byte(100) = context.ah;
+ context.ds.byte(99) = context.al;
+ context.ds.byte(108) = 1;
+ context.ds.byte(234) = 0;
return;
}
static void reexfromopen(Context & context) {
return;
findopenpos(context);
- context.ax = context.data.word(context.bx);
- context.data.byte(100) = context.ah;
- context.data.byte(99) = context.al;
- context.data.byte(108) = 1;
- context.data.byte(234) = 0;
+ context.ax = context.ds.word(context.bx);
+ context.ds.byte(100) = context.ah;
+ context.ds.byte(99) = context.al;
+ context.ds.byte(108) = 1;
+ context.ds.byte(234) = 0;
return;
}
static void swapwithinv(Context & context) {
- context.al = context.data.byte(89);
- context.ah = context.data.byte(102);
- context._cmp(context.ax, context.data.word(94));
+ context.al = context.ds.byte(89);
+ context.ah = context.ds.byte(102);
+ context._cmp(context.ax, context.ds.word(94));
if (!context.flags.z()) goto difsub7;
- context._cmp(context.data.byte(100), 243);
+ context._cmp(context.ds.byte(100), 243);
if (context.flags.z()) goto alreadyswap1;
- context.data.byte(100) = 243;
+ context.ds.byte(100) = 243;
difsub7:
- context.data.word(94) = context.ax;
+ context.ds.word(94) = context.ax;
context.bx = context.ax;
context.al = 34;
commandwithob(context);
alreadyswap1:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto cantswap1;
context._and(context.ax, 1);
if (!context.flags.z()) goto doswap1;
cantswap1:
return;
doswap1:
- context.ah = context.data.byte(102);
- context.al = context.data.byte(89);
+ context.ah = context.ds.byte(102);
+ context.al = context.ds.byte(89);
context.push(context.ax);
findinvpos(context);
- context.ax = context.data.word(context.bx);
- context.data.byte(89) = context.al;
- context.data.byte(102) = context.ah;
+ context.ax = context.ds.word(context.bx);
+ context.ds.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
geteitherad(context);
- context.data.byte(context.bx+2) = 20;
- context.data.byte(context.bx+3) = 255;
- context.bl = context.data.byte(89);
- context.bh = context.data.byte(102);
+ context.ds.byte(context.bx+2) = 20;
+ context.ds.byte(context.bx+3) = 255;
+ context.bl = context.ds.byte(89);
+ context.bh = context.ds.byte(102);
context.ax = context.pop();
- context.data.byte(102) = context.ah;
- context.data.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
+ context.ds.byte(89) = context.al;
context.push(context.bx);
findinvpos(context);
delpointer(context);
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
geteitherad(context);
- context.data.byte(context.bx+2) = 4;
- context.data.byte(context.bx+3) = 255;
- context.al = context.data.byte(107);
- context.data.byte(context.bx+4) = context.al;
+ context.ds.byte(context.bx+2) = 4;
+ context.ds.byte(context.bx+3) = 255;
+ context.al = context.ds.byte(107);
+ context.ds.byte(context.bx+4) = context.al;
context.ax = context.pop();
- context.data.byte(102) = context.ah;
- context.data.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
+ context.ds.byte(89) = context.al;
fillryan(context);
readmouse(context);
showpointer(context);
@@ -7556,21 +7556,21 @@ doswap1:
}
static void swapwithopen(Context & context) {
- context.al = context.data.byte(89);
- context.ah = context.data.byte(102);
- context._cmp(context.ax, context.data.word(94));
+ context.al = context.ds.byte(89);
+ context.ah = context.ds.byte(102);
+ context._cmp(context.ax, context.ds.word(94));
if (!context.flags.z()) goto difsub8;
- context._cmp(context.data.byte(100), 242);
+ context._cmp(context.ds.byte(100), 242);
if (context.flags.z()) goto alreadyswap2;
- context.data.byte(100) = 242;
+ context.ds.byte(100) = 242;
difsub8:
- context.data.word(94) = context.ax;
+ context.ds.word(94) = context.ax;
context.bx = context.ax;
context.al = 34;
commandwithob(context);
alreadyswap2:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto cantswap2;
context._and(context.ax, 1);
if (!context.flags.z()) goto doswap2;
@@ -7584,11 +7584,11 @@ doswap2:
return;
notwornswap:
delpointer(context);
- context.al = context.data.byte(89);
- context._cmp(context.al, context.data.byte(110));
+ context.al = context.ds.byte(89);
+ context._cmp(context.al, context.ds.byte(110));
if (!context.flags.z()) goto isntsame2;
- context.al = context.data.byte(102);
- context._cmp(context.al, context.data.byte(111));
+ context.al = context.ds.byte(102);
+ context._cmp(context.al, context.ds.byte(111));
if (!context.flags.z()) goto isntsame2;
errormessage1(context);
return;
@@ -7598,46 +7598,46 @@ isntsame2:
if (context.flags.z()) goto sizeok2;
return;
sizeok2:
- context.ah = context.data.byte(102);
- context.al = context.data.byte(89);
+ context.ah = context.ds.byte(102);
+ context.al = context.ds.byte(89);
context.push(context.ax);
findopenpos(context);
- context.ax = context.data.word(context.bx);
- context.data.byte(89) = context.al;
- context.data.byte(102) = context.ah;
+ context.ax = context.ds.word(context.bx);
+ context.ds.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
context._cmp(context.ah, 4);
if (!context.flags.z()) goto makeswapex;
geteitherad(context);
- context.data.byte(context.bx+2) = 20;
- context.data.byte(context.bx+3) = 255;
+ context.ds.byte(context.bx+2) = 20;
+ context.ds.byte(context.bx+3) = 255;
goto actuallyswap;
makeswapex:
transfertoex(context);
- context.data.byte(89) = context.al;
- context.data.byte(102) = 4;
+ context.ds.byte(89) = context.al;
+ context.ds.byte(102) = 4;
geteitherad(context);
- context.data.byte(context.bx+2) = 20;
- context.data.byte(context.bx+3) = 255;
+ context.ds.byte(context.bx+2) = 20;
+ context.ds.byte(context.bx+3) = 255;
actuallyswap:
- context.bl = context.data.byte(89);
- context.bh = context.data.byte(102);
+ context.bl = context.ds.byte(89);
+ context.bh = context.ds.byte(102);
context.ax = context.pop();
- context.data.byte(102) = context.ah;
- context.data.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
+ context.ds.byte(89) = context.al;
context.push(context.bx);
findopenpos(context);
geteitherad(context);
- context.al = context.data.byte(111);
- context.data.byte(context.bx+2) = context.al;
- context.al = context.data.byte(110);
- context.data.byte(context.bx+3) = context.al;
- context.al = context.data.byte(107);
- context.data.byte(context.bx+4) = context.al;
- context.al = context.data.byte(184);
- context.data.byte(context.bx+5) = context.al;
+ context.al = context.ds.byte(111);
+ context.ds.byte(context.bx+2) = context.al;
+ context.al = context.ds.byte(110);
+ context.ds.byte(context.bx+3) = context.al;
+ context.al = context.ds.byte(107);
+ context.ds.byte(context.bx+4) = context.al;
+ context.al = context.ds.byte(184);
+ context.ds.byte(context.bx+5) = context.al;
context.ax = context.pop();
- context.data.byte(102) = context.ah;
- context.data.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
+ context.ds.byte(89) = context.al;
fillopen(context);
fillryan(context);
undertextline(context);
@@ -7650,33 +7650,33 @@ actuallyswap:
}
static void intoinv(Context & context) {
- context._cmp(context.data.byte(106), 0);
+ context._cmp(context.ds.byte(106), 0);
if (!context.flags.z()) goto notout;
outofinv(context);
return;
notout:
findinvpos(context);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto canplace1;
swapwithinv(context);
return;
canplace1:
- context.al = context.data.byte(89);
- context.ah = context.data.byte(102);
- context._cmp(context.ax, context.data.word(94));
+ context.al = context.ds.byte(89);
+ context.ah = context.ds.byte(102);
+ context._cmp(context.ax, context.ds.word(94));
if (!context.flags.z()) goto difsub1;
- context._cmp(context.data.byte(100), 220);
+ context._cmp(context.ds.byte(100), 220);
if (context.flags.z()) goto alreadyplce;
- context.data.byte(100) = 220;
+ context.ds.byte(100) = 220;
difsub1:
- context.data.word(94) = context.ax;
+ context.ds.word(94) = context.ax;
context.bx = context.ax;
context.al = 35;
commandwithob(context);
alreadyplce:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notletgo2;
context._and(context.ax, 1);
if (!context.flags.z()) goto doplace;
@@ -7684,13 +7684,13 @@ notletgo2:
return;
doplace:
delpointer(context);
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
getexad(context);
- context.data.byte(context.bx+2) = 4;
- context.data.byte(context.bx+3) = 255;
- context.al = context.data.byte(107);
- context.data.byte(context.bx+4) = context.al;
- context.data.byte(106) = 0;
+ context.ds.byte(context.bx+2) = 4;
+ context.ds.byte(context.bx+3) = 255;
+ context.al = context.ds.byte(107);
+ context.ds.byte(context.bx+4) = context.al;
+ context.ds.byte(106) = 0;
fillryan(context);
readmouse(context);
showpointer(context);
@@ -7701,22 +7701,22 @@ doplace:
}
static void deletetaken(Context & context) {
- context.es = context.data.word(426);
- context.ah = context.data.byte(184);
- context.ds = context.data.word(398);
+ context.es = context.ds.word(426);
+ context.ah = context.ds.byte(184);
+ context.ds = context.ds.word(398);
context.si = 0+2080+30000;
context.cx = 114;
takenloop:
- context.al = context.data.byte(context.si+11);
+ context.al = context.ds.byte(context.si+11);
context._cmp(context.al, context.ah);
if (!context.flags.z()) goto notinhere;
- context.bl = context.data.byte(context.si+1);
+ context.bl = context.ds.byte(context.si+1);
context.bh = 0;
context._add(context.bx, context.bx);
context._add(context.bx, context.bx);
context._add(context.bx, context.bx);
context._add(context.bx, context.bx);
- context.data.byte(context.bx+2) = 254;
+ context.ds.byte(context.bx+2) = 254;
notinhere:
context._add(context.si, 16);
if (--context.cx) goto takenloop;
@@ -7725,31 +7725,31 @@ notinhere:
static void outofinv(Context & context) {
findinvpos(context);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.al, 255);
if (!context.flags.z()) goto canpick2;
blank(context);
return;
canpick2:
- context.bx = context.data.word(202);
+ context.bx = context.ds.word(202);
context._cmp(context.bx, 2);
if (!context.flags.z()) goto canpick2a;
reexfrominv(context);
return;
canpick2a:
- context._cmp(context.ax, context.data.word(94));
+ context._cmp(context.ax, context.ds.word(94));
if (!context.flags.z()) goto difsub3;
- context._cmp(context.data.byte(100), 221);
+ context._cmp(context.ds.byte(100), 221);
if (context.flags.z()) goto alreadygrab;
- context.data.byte(100) = 221;
+ context.ds.byte(100) = 221;
difsub3:
- context.data.word(94) = context.ax;
+ context.ds.word(94) = context.ax;
context.bx = context.ax;
context.al = 36;
commandwithob(context);
alreadygrab:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notletgo;
context._and(context.ax, 1);
if (!context.flags.z()) goto dograb;
@@ -7757,14 +7757,14 @@ notletgo:
return;
dograb:
delpointer(context);
- context.data.byte(106) = 1;
+ context.ds.byte(106) = 1;
findinvpos(context);
- context.ax = context.data.word(context.bx);
- context.data.byte(89) = context.al;
- context.data.byte(102) = context.ah;
+ context.ax = context.ds.word(context.bx);
+ context.ds.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
getexad(context);
- context.data.byte(context.bx+2) = 20;
- context.data.byte(context.bx+3) = 255;
+ context.ds.byte(context.bx+2) = 20;
+ context.ds.byte(context.bx+3) = 255;
fillryan(context);
readmouse(context);
showpointer(context);
@@ -7779,7 +7779,7 @@ static void getfreead(Context & context) {
context.cl = 4;
context._shl(context.ax, context.cl);
context.bx = context.ax;
- context.es = context.data.word(426);
+ context.es = context.ds.word(426);
return;
}
@@ -7788,41 +7788,41 @@ static void getexad(Context & context) {
context.bx = 16;
context._mul(context.bx);
context.bx = context.ax;
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context._add(context.bx, 0+2080+30000);
return;
}
static void geteitherad(Context & context) {
- context._cmp(context.data.byte(102), 4);
+ context._cmp(context.ds.byte(102), 4);
if (context.flags.z()) goto isinexlist;
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
getfreead(context);
return;
isinexlist:
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
getexad(context);
return;
}
static void getanyad(Context & context) {
- context._cmp(context.data.byte(102), 4);
+ context._cmp(context.ds.byte(102), 4);
if (context.flags.z()) goto isex;
- context._cmp(context.data.byte(102), 2);
+ context._cmp(context.ds.byte(102), 2);
if (context.flags.z()) goto isfree;
- context.al = context.data.byte(99);
+ context.al = context.ds.byte(99);
getsetad(context);
- context.ax = context.data.word(context.bx+4);
+ context.ax = context.ds.word(context.bx+4);
return;
isfree:
- context.al = context.data.byte(99);
+ context.al = context.ds.byte(99);
getfreead(context);
- context.ax = context.data.word(context.bx+7);
+ context.ax = context.ds.word(context.bx+7);
return;
isex:
- context.al = context.data.byte(99);
+ context.al = context.ds.byte(99);
getexad(context);
- context.ax = context.data.word(context.bx+7);
+ context.ax = context.ds.word(context.bx+7);
return;
}
@@ -7842,23 +7842,23 @@ isex3:
}
static void getopenedsize(Context & context) {
- context._cmp(context.data.byte(111), 4);
+ context._cmp(context.ds.byte(111), 4);
if (context.flags.z()) goto isex2;
- context._cmp(context.data.byte(111), 2);
+ context._cmp(context.ds.byte(111), 2);
if (context.flags.z()) goto isfree2;
- context.al = context.data.byte(110);
+ context.al = context.ds.byte(110);
getsetad(context);
- context.ax = context.data.word(context.bx+3);
+ context.ax = context.ds.word(context.bx+3);
return;
isfree2:
- context.al = context.data.byte(110);
+ context.al = context.ds.byte(110);
getfreead(context);
- context.ax = context.data.word(context.bx+7);
+ context.ax = context.ds.word(context.bx+7);
return;
isex2:
- context.al = context.data.byte(110);
+ context.al = context.ds.byte(110);
getexad(context);
- context.ax = context.data.word(context.bx+7);
+ context.ax = context.ds.word(context.bx+7);
return;
}
@@ -7867,40 +7867,40 @@ static void getsetad(Context & context) {
context.bx = 64;
context._mul(context.bx);
context.bx = context.ax;
- context.es = context.data.word(428);
+ context.es = context.ds.word(428);
return;
}
static void findinvpos(Context & context) {
- context.cx = context.data.word(198);
+ context.cx = context.ds.word(198);
context._sub(context.cx, 80);
context.bx = -1;
findinv1:
context._add(context.bx, 1);
context._sub(context.cx, 44);
if (!context.flags.c()) goto findinv1;
- context.cx = context.data.word(200);
+ context.cx = context.ds.word(200);
context._sub(context.cx, 58);
context._sub(context.bx, 5);
findinv2:
context._add(context.bx, 5);
context._sub(context.cx, 44);
if (!context.flags.c()) goto findinv2;
- context.al = context.data.byte(19);
+ context.al = context.ds.byte(19);
context.ah = 0;
context.cx = 10;
context._mul(context.cx);
context._add(context.bx, context.ax);
context.al = context.bl;
- context.data.byte(107) = context.al;
+ context.ds.byte(107) = context.al;
context._add(context.bx, context.bx);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context._add(context.bx, 0+(228*13)+32);
return;
}
static void findopenpos(Context & context) {
- context.cx = context.data.word(198);
+ context.cx = context.ds.word(198);
context._sub(context.cx, 80);
context.bx = -1;
findopenp1:
@@ -7908,26 +7908,26 @@ findopenp1:
context._sub(context.cx, 44);
if (!context.flags.c()) goto findopenp1;
context.al = context.bl;
- context.data.byte(107) = context.al;
+ context.ds.byte(107) = context.al;
context._add(context.bx, context.bx);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context._add(context.bx, 0+(228*13));
return;
}
static void dropobject(Context & context) {
- context._cmp(context.data.byte(100), 223);
+ context._cmp(context.ds.byte(100), 223);
if (context.flags.z()) goto alreadydrop;
- context.data.byte(100) = 223;
- context._cmp(context.data.byte(106), 0);
+ context.ds.byte(100) = 223;
+ context._cmp(context.ds.byte(106), 0);
if (context.flags.z()) { blank(context); return; };
- context.bl = context.data.byte(89);
- context.bh = context.data.byte(102);
+ context.bl = context.ds.byte(89);
+ context.bh = context.ds.byte(102);
context.al = 37;
commandwithob(context);
alreadydrop:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nodrop;
context._and(context.ax, 1);
if (!context.flags.z()) goto dodrop;
@@ -7940,11 +7940,11 @@ dodrop:
wornerror(context);
return;
nowornerror:
- context._cmp(context.data.byte(184), 47);
+ context._cmp(context.ds.byte(184), 47);
if (context.flags.z()) goto nodrop2;
- context.cl = context.data.byte(151);
+ context.cl = context.ds.byte(151);
context._add(context.cl, 12);
- context.ch = context.data.byte(152);
+ context.ch = context.ds.byte(152);
context._add(context.ch, 12);
checkone(context);
context._cmp(context.cl, 2);
@@ -7953,14 +7953,14 @@ nodrop2:
droperror(context);
return;
nodroperror:
- context._cmp(context.data.byte(128), 64);
+ context._cmp(context.ds.byte(128), 64);
if (!context.flags.z()) goto notinlift;
- context._cmp(context.data.byte(129), 64);
+ context._cmp(context.ds.byte(129), 64);
if (!context.flags.z()) goto notinlift;
droperror(context);
return;
notinlift:
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
context.ah = 4;
context.cl = 'G';
context.ch = 'U';
@@ -7968,7 +7968,7 @@ notinlift:
context.dh = 'A';
compare(context);
if (context.flags.z()) { cantdrop(context); return; };
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
context.ah = 4;
context.cl = 'S';
context.ch = 'H';
@@ -7976,38 +7976,38 @@ notinlift:
context.dh = 'D';
compare(context);
if (context.flags.z()) { cantdrop(context); return; };
- context.data.byte(102) = 4;
- context.al = context.data.byte(89);
+ context.ds.byte(102) = 4;
+ context.al = context.ds.byte(89);
getexad(context);
- context.data.byte(context.bx+2) = 0;
- context.al = context.data.byte(151);
+ context.ds.byte(context.bx+2) = 0;
+ context.al = context.ds.byte(151);
context._add(context.al, 4);
context.cl = 4;
context._shr(context.al, context.cl);
- context._add(context.al, context.data.byte(148));
- context.ah = context.data.byte(152);
+ context._add(context.al, context.ds.byte(148));
+ context.ah = context.ds.byte(152);
context._add(context.ah, 8);
context.cl = 4;
context._shr(context.ah, context.cl);
- context._add(context.ah, context.data.byte(149));
- context.data.byte(context.bx+3) = context.al;
- context.data.byte(context.bx+5) = context.ah;
- context.al = context.data.byte(151);
+ context._add(context.ah, context.ds.byte(149));
+ context.ds.byte(context.bx+3) = context.al;
+ context.ds.byte(context.bx+5) = context.ah;
+ context.al = context.ds.byte(151);
context._add(context.al, 4);
context._and(context.al, 15);
- context.ah = context.data.byte(152);
+ context.ah = context.ds.byte(152);
context._add(context.ah, 8);
context._and(context.ah, 15);
- context.data.byte(context.bx+4) = context.al;
- context.data.byte(context.bx+6) = context.ah;
- context.data.byte(106) = 0;
- context.al = context.data.byte(184);
- context.data.byte(context.bx) = context.al;
+ context.ds.byte(context.bx+4) = context.al;
+ context.ds.byte(context.bx+6) = context.ah;
+ context.ds.byte(106) = 0;
+ context.al = context.ds.byte(184);
+ context.ds.byte(context.bx) = context.al;
return;
}
static void droperror(Context & context) {
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8020,13 +8020,13 @@ static void droperror(Context & context) {
showpanel(context);
showman(context);
examicon(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
worktoscreenm(context);
return;
}
static void cantdrop(Context & context) {
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8039,13 +8039,13 @@ static void cantdrop(Context & context) {
showpanel(context);
showman(context);
examicon(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
worktoscreenm(context);
return;
}
static void wornerror(Context & context) {
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8058,17 +8058,17 @@ static void wornerror(Context & context) {
showpanel(context);
showman(context);
examicon(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
worktoscreenm(context);
return;
}
static void removeobfrominv(Context & context) {
- context._cmp(context.data.byte(99), 100);
+ context._cmp(context.ds.byte(99), 100);
if (context.flags.z()) goto obnotexist;
getanyad(context);
context.di = context.bx;
- context.cl = context.data.byte(99);
+ context.cl = context.ds.byte(99);
context.ch = 0;
deleteexobject(context);
obnotexist:
@@ -8076,33 +8076,33 @@ obnotexist:
}
static void selectopenob(Context & context) {
- context.al = context.data.byte(99);
+ context.al = context.ds.byte(99);
getanyad(context);
context._cmp(context.al, 255);
if (!context.flags.z()) goto canopenit1;
blank(context);
return;
canopenit1:
- context._cmp(context.data.byte(100), 224);
+ context._cmp(context.ds.byte(100), 224);
if (context.flags.z()) goto alreadyopob;
- context.data.byte(100) = 224;
- context.bl = context.data.byte(99);
- context.bh = context.data.byte(102);
+ context.ds.byte(100) = 224;
+ context.bl = context.ds.byte(99);
+ context.bh = context.ds.byte(102);
context.al = 38;
commandwithob(context);
alreadyopob:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto noopenob;
context._and(context.ax, 1);
if (!context.flags.z()) goto doopenob;
noopenob:
return;
doopenob:
- context.al = context.data.byte(99);
- context.data.byte(110) = context.al;
- context.al = context.data.byte(102);
- context.data.byte(111) = context.al;
+ context.al = context.ds.byte(99);
+ context.ds.byte(110) = context.al;
+ context.al = context.ds.byte(102);
+ context.ds.byte(111) = context.al;
createpanel(context);
showpanel(context);
showman(context);
@@ -8119,41 +8119,41 @@ doopenob:
}
static void useopened(Context & context) {
- context._cmp(context.data.byte(110), 255);
+ context._cmp(context.ds.byte(110), 255);
if (context.flags.z()) goto cannotuseopen;
- context._cmp(context.data.byte(106), 0);
+ context._cmp(context.ds.byte(106), 0);
if (!context.flags.z()) goto notout2;
outofopen(context);
return;
notout2:
findopenpos(context);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto canplace3;
swapwithopen(context);
cannotuseopen:
return;
canplace3:
- context._cmp(context.data.byte(106), 1);
+ context._cmp(context.ds.byte(106), 1);
if (context.flags.z()) goto intoopen;
blank(context);
return;
intoopen:
- context.al = context.data.byte(89);
- context.ah = context.data.byte(102);
- context._cmp(context.ax, context.data.word(94));
+ context.al = context.ds.byte(89);
+ context.ah = context.ds.byte(102);
+ context._cmp(context.ax, context.ds.word(94));
if (!context.flags.z()) goto difsub2;
- context._cmp(context.data.byte(100), 227);
+ context._cmp(context.ds.byte(100), 227);
if (context.flags.z()) goto alreadyplc2;
- context.data.byte(100) = 227;
+ context.ds.byte(100) = 227;
difsub2:
- context.data.word(94) = context.ax;
+ context.ds.word(94) = context.ax;
context.bx = context.ax;
context.al = 35;
commandwithob(context);
alreadyplc2:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notletgo3;
context._cmp(context.ax, 1);
if (context.flags.z()) goto doplace2;
@@ -8167,11 +8167,11 @@ doplace2:
return;
notworntoopen:
delpointer(context);
- context.al = context.data.byte(89);
- context._cmp(context.al, context.data.byte(110));
+ context.al = context.ds.byte(89);
+ context._cmp(context.al, context.ds.byte(110));
if (!context.flags.z()) goto isntsame;
- context.al = context.data.byte(102);
- context._cmp(context.al, context.data.byte(111));
+ context.al = context.ds.byte(102);
+ context._cmp(context.al, context.ds.byte(111));
if (!context.flags.z()) goto isntsame;
errormessage1(context);
return;
@@ -8181,17 +8181,17 @@ isntsame:
if (context.flags.z()) goto sizeok1;
return;
sizeok1:
- context.data.byte(106) = 0;
- context.al = context.data.byte(89);
+ context.ds.byte(106) = 0;
+ context.al = context.ds.byte(89);
geteitherad(context);
- context.al = context.data.byte(111);
- context.data.byte(context.bx+2) = context.al;
- context.al = context.data.byte(110);
- context.data.byte(context.bx+3) = context.al;
- context.al = context.data.byte(107);
- context.data.byte(context.bx+4) = context.al;
- context.al = context.data.byte(184);
- context.data.byte(context.bx+5) = context.al;
+ context.al = context.ds.byte(111);
+ context.ds.byte(context.bx+2) = context.al;
+ context.al = context.ds.byte(110);
+ context.ds.byte(context.bx+3) = context.al;
+ context.al = context.ds.byte(107);
+ context.ds.byte(context.bx+4) = context.al;
+ context.al = context.ds.byte(184);
+ context.ds.byte(context.bx+5) = context.al;
fillopen(context);
undertextline(context);
readmouse(context);
@@ -8227,7 +8227,7 @@ static void errormessage1(Context & context) {
}
static void errormessage2(Context & context) {
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8275,9 +8275,9 @@ static void errormessage3(Context & context) {
static void checkobjectsize(Context & context) {
getopenedsize(context);
context.push(context.ax);
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
geteitherad(context);
- context.al = context.data.byte(context.bx+9);
+ context.al = context.ds.byte(context.bx+9);
context.cx = context.pop();
context._cmp(context.al, 255);
if (!context.flags.z()) goto notunsized;
@@ -8314,29 +8314,29 @@ sizeok:
}
static void outofopen(Context & context) {
- context._cmp(context.data.byte(110), 255);
+ context._cmp(context.ds.byte(110), 255);
if (context.flags.z()) goto cantuseopen;
findopenpos(context);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.al, 255);
if (!context.flags.z()) goto canpick4;
cantuseopen:
blank(context);
return;
canpick4:
- context._cmp(context.ax, context.data.word(94));
+ context._cmp(context.ax, context.ds.word(94));
if (!context.flags.z()) goto difsub4;
- context._cmp(context.data.byte(100), 228);
+ context._cmp(context.ds.byte(100), 228);
if (context.flags.z()) goto alreadygrb;
- context.data.byte(100) = 228;
+ context.ds.byte(100) = 228;
difsub4:
- context.data.word(94) = context.ax;
+ context.ds.word(94) = context.ax;
context.bx = context.ax;
context.al = 36;
commandwithob(context);
alreadygrb:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notletgo4;
context._cmp(context.ax, 1);
if (context.flags.z()) goto dogrb;
@@ -8347,24 +8347,24 @@ notletgo4:
return;
dogrb:
delpointer(context);
- context.data.byte(106) = 1;
+ context.ds.byte(106) = 1;
findopenpos(context);
- context.ax = context.data.word(context.bx);
- context.data.byte(89) = context.al;
- context.data.byte(102) = context.ah;
+ context.ax = context.ds.word(context.bx);
+ context.ds.byte(89) = context.al;
+ context.ds.byte(102) = context.ah;
context._cmp(context.ah, 4);
if (!context.flags.z()) goto makeintoex;
geteitherad(context);
- context.data.byte(context.bx+2) = 20;
- context.data.byte(context.bx+3) = 255;
+ context.ds.byte(context.bx+2) = 20;
+ context.ds.byte(context.bx+3) = 255;
goto actuallyout;
makeintoex:
transfertoex(context);
- context.data.byte(89) = context.al;
- context.data.byte(102) = 4;
+ context.ds.byte(89) = context.al;
+ context.ds.byte(102) = 4;
geteitherad(context);
- context.data.byte(context.bx+2) = 20;
- context.data.byte(context.bx+3) = 255;
+ context.ds.byte(context.bx+2) = 20;
+ context.ds.byte(context.bx+3) = 255;
actuallyout:
fillopen(context);
undertextline(context);
@@ -8379,52 +8379,52 @@ actuallyout:
static void transfertoex(Context & context) {
emergencypurge(context);
getexpos(context);
- context.al = context.data.byte(10);
+ context.al = context.ds.byte(10);
context.push(context.ax);
context.push(context.di);
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
context.ah = 0;
context.bx = 16;
context._mul(context.bx);
- context.ds = context.data.word(426);
+ context.ds = context.ds.word(426);
context.si = context.ax;
context.cx = 8;
while(--context.cx) context._movsw();
context.di = context.pop();
- context.al = context.data.byte(184);
- context.data.byte(context.di) = context.al;
- context.data.byte(context.di+11) = context.al;
- context.al = context.data.byte(89);
- context.data.byte(context.di+1) = context.al;
- context.data.byte(context.di+2) = 4;
- context.data.byte(context.di+3) = 255;
- context.al = context.data.byte(107);
- context.data.byte(context.di+4) = context.al;
- context.al = context.data.byte(89);
- context.data.byte(90) = context.al;
+ context.al = context.ds.byte(184);
+ context.ds.byte(context.di) = context.al;
+ context.ds.byte(context.di+11) = context.al;
+ context.al = context.ds.byte(89);
+ context.ds.byte(context.di+1) = context.al;
+ context.ds.byte(context.di+2) = 4;
+ context.ds.byte(context.di+3) = 255;
+ context.al = context.ds.byte(107);
+ context.ds.byte(context.di+4) = context.al;
+ context.al = context.ds.byte(89);
+ context.ds.byte(90) = context.al;
transfermap(context);
transferinv(context);
transfertext(context);
- context.al = context.data.byte(89);
+ context.al = context.ds.byte(89);
context.ah = 0;
context.bx = 16;
context._mul(context.bx);
- context.ds = context.data.word(426);
+ context.ds = context.ds.word(426);
context.si = context.ax;
- context.data.byte(context.si+2) = 254;
+ context.ds.byte(context.si+2) = 254;
pickupconts(context);
context.ax = context.pop();
return;
}
static void pickupconts(Context & context) {
- context.al = context.data.byte(context.si+7);
+ context.al = context.ds.byte(context.si+7);
context._cmp(context.al, 255);
if (context.flags.z()) goto notopenable;
- context.al = context.data.byte(89);
- context.ah = context.data.byte(102);
- context.dl = context.data.byte(10);
- context.es = context.data.word(426);
+ context.al = context.ds.byte(89);
+ context.ah = context.ds.byte(102);
+ context.dl = context.ds.byte(10);
+ context.es = context.ds.word(426);
context.bx = 0;
context.cx = 0;
pickupcontloop:
@@ -8433,11 +8433,11 @@ pickupcontloop:
context.push(context.bx);
context.push(context.dx);
context.push(context.ax);
- context._cmp(context.data.byte(context.bx+2), context.ah);
+ context._cmp(context.ds.byte(context.bx+2), context.ah);
if (!context.flags.z()) goto notinsidethis;
- context._cmp(context.data.byte(context.bx+3), context.al);
+ context._cmp(context.ds.byte(context.bx+3), context.al);
if (!context.flags.z()) goto notinsidethis;
- context.data.byte(90) = context.cl;
+ context.ds.byte(90) = context.cl;
transfercontoex(context);
notinsidethis:
context.ax = context.pop();
@@ -8467,76 +8467,76 @@ static void transfercontoex(Context & context) {
while(--context.cx) context._movsw();
context.di = context.pop();
context.dx = context.pop();
- context.al = context.data.byte(184);
- context.data.byte(context.di) = context.al;
- context.data.byte(context.di+11) = context.al;
- context.al = context.data.byte(90);
- context.data.byte(context.di+1) = context.al;
- context.data.byte(context.di+3) = context.dl;
- context.data.byte(context.di+2) = 4;
+ context.al = context.ds.byte(184);
+ context.ds.byte(context.di) = context.al;
+ context.ds.byte(context.di+11) = context.al;
+ context.al = context.ds.byte(90);
+ context.ds.byte(context.di+1) = context.al;
+ context.ds.byte(context.di+3) = context.dl;
+ context.ds.byte(context.di+2) = 4;
transfermap(context);
transferinv(context);
transfertext(context);
context.si = context.pop();
context.ds = context.pop();
- context.data.byte(context.si+2) = 255;
+ context.ds.byte(context.si+2) = 255;
return;
}
static void transfertext(Context & context) {
- context.es = context.data.word(398);
- context.al = context.data.byte(10);
+ context.es = context.ds.word(398);
+ context.al = context.ds.byte(10);
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = 0+2080+30000+(16*114);
context._add(context.bx, context.ax);
- context.di = context.data.word(14);
- context.data.word(context.bx) = context.di;
+ context.di = context.ds.word(14);
+ context.ds.word(context.bx) = context.di;
context._add(context.di, 0+2080+30000+(16*114)+((114+2)*2));
- context.al = context.data.byte(90);
+ context.al = context.ds.byte(90);
context.ah = 0;
context._add(context.ax, context.ax);
- context.ds = context.data.word(438);
+ context.ds = context.ds.word(438);
context.bx = 0;
context._add(context.bx, context.ax);
context.si = 0+(82*2);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.si, context.ax);
moretext:
context._lodsb();
context._stosb();
- context._add(context.data.word(14), 1);
+ context._add(context.ds.word(14), 1);
context._cmp(context.al, 0);
if (!context.flags.z()) goto moretext;
return;
}
static void getexpos(Context & context) {
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.al = 0;
context.di = 0+2080+30000;
tryanotherex:
- context._cmp(context.data.byte(context.di+2), 255);
+ context._cmp(context.ds.byte(context.di+2), 255);
if (context.flags.z()) goto foundnewex;
context._add(context.di, 16);
context._add(context.al, 1);
context._cmp(context.al, 114);
if (!context.flags.z()) goto tryanotherex;
foundnewex:
- context.data.byte(10) = context.al;
+ context.ds.byte(10) = context.al;
return;
}
static void purgealocation(Context & context) {
context.push(context.ax);
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.di = 0+2080+30000;
context.bx = context.pop();
context.cx = 0;
purgeloc:
- context._cmp(context.bl, context.data.byte(context.di+0));
+ context._cmp(context.bl, context.ds.byte(context.di+0));
if (!context.flags.z()) goto dontpurge;
- context._cmp(context.data.byte(context.di+2), 0);
+ context._cmp(context.ds.byte(context.di+2), 0);
if (!context.flags.z()) goto dontpurge;
context.push(context.di);
context.push(context.es);
@@ -8557,14 +8557,14 @@ dontpurge:
static void emergencypurge(Context & context) {
checkpurgeagain:
- context.ax = context.data.word(12);
+ context.ax = context.ds.word(12);
context._add(context.ax, 4000);
context._cmp(context.ax, 30000);
if (context.flags.c()) goto notnearframeend;
purgeanitem(context);
goto checkpurgeagain;
notnearframeend:
- context.ax = context.data.word(14);
+ context.ax = context.ds.word(14);
context._add(context.ax, 400);
context._cmp(context.ax, 18000);
if (context.flags.c()) goto notneartextend;
@@ -8575,20 +8575,20 @@ notneartextend:
}
static void purgeanitem(Context & context) {
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.di = 0+2080+30000;
- context.bl = context.data.byte(184);
+ context.bl = context.ds.byte(184);
context.cx = 0;
lookforpurge:
- context.al = context.data.byte(context.di+2);
+ context.al = context.ds.byte(context.di+2);
context._cmp(context.al, 0);
if (!context.flags.z()) goto cantpurge;
- context._cmp(context.data.byte(context.di+12), 2);
+ context._cmp(context.ds.byte(context.di+12), 2);
if (context.flags.z()) goto iscup;
- context._cmp(context.data.byte(context.di+12), 255);
+ context._cmp(context.ds.byte(context.di+12), 255);
if (!context.flags.z()) goto cantpurge;
iscup:
- context._cmp(context.data.byte(context.di+11), context.bl);
+ context._cmp(context.ds.byte(context.di+11), context.bl);
if (context.flags.z()) goto cantpurge;
deleteexobject(context);
return;
@@ -8598,13 +8598,13 @@ cantpurge:
context._cmp(context.cx, 114);
if (!context.flags.z()) goto lookforpurge;
context.di = 0+2080+30000;
- context.bl = context.data.byte(184);
+ context.bl = context.ds.byte(184);
context.cx = 0;
lookforpurge2:
- context.al = context.data.byte(context.di+2);
+ context.al = context.ds.byte(context.di+2);
context._cmp(context.al, 0);
if (!context.flags.z()) goto cantpurge2;
- context._cmp(context.data.byte(context.di+12), 255);
+ context._cmp(context.ds.byte(context.di+12), 255);
if (!context.flags.z()) goto cantpurge2;
deleteexobject(context);
return;
@@ -8643,7 +8643,7 @@ static void deleteexobject(Context & context) {
context.di = 0+2080+30000;
context.cx = 0;
deleteconts:
- context._cmp(context.data.word(context.di+2), context.bx);
+ context._cmp(context.ds.word(context.di+2), context.bx);
if (!context.flags.z()) goto notinsideex;
context.push(context.bx);
context.push(context.cx);
@@ -8667,33 +8667,33 @@ static void deleteexframe(Context & context) {
context._add(context.di, context.ax);
context._add(context.ax, context.ax);
context._add(context.di, context.ax);
- context.al = context.data.byte(context.di);
+ context.al = context.ds.byte(context.di);
context.ah = 0;
- context.cl = context.data.byte(context.di+1);
+ context.cl = context.ds.byte(context.di+1);
context.ch = 0;
context._mul(context.cx);
- context.si = context.data.word(context.di+2);
+ context.si = context.ds.word(context.di+2);
context.push(context.si);
context._add(context.si, 0+2080);
context.cx = 30000;
- context._sub(context.cx, context.data.word(context.di+2));
+ context._sub(context.cx, context.ds.word(context.di+2));
context.di = context.si;
context._add(context.si, context.ax);
context.push(context.ax);
context.ds = context.es;
while(--context.cx) context._movsb();
context.bx = context.pop();
- context._sub(context.data.word(12), context.bx);
+ context._sub(context.ds.word(12), context.bx);
context.si = context.pop();
context.cx = 114*3;
context.di = 0;
shuffleadsdown:
- context.ax = context.data.word(context.di+2);
+ context.ax = context.ds.word(context.di+2);
context._cmp(context.ax, context.si);
if (context.flags.c()) goto beforethisone;
context._sub(context.ax, context.bx);
beforethisone:
- context.data.word(context.di+2) = context.ax;
+ context.ds.word(context.di+2) = context.ax;
context._add(context.di, 6);
if (--context.cx) goto shuffleadsdown;
return;
@@ -8704,14 +8704,14 @@ static void deleteextext(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.di, context.ax);
- context.ax = context.data.word(context.di);
+ context.ax = context.ds.word(context.di);
context.si = context.ax;
context.di = context.ax;
context._add(context.si, 0+2080+30000+(16*114)+((114+2)*2));
context._add(context.di, 0+2080+30000+(16*114)+((114+2)*2));
context.ax = 0;
findlenextext:
- context.cl = context.data.byte(context.si);
+ context.cl = context.ds.byte(context.si);
context._add(context.ax, 1);
context._add(context.si, 1);
context._cmp(context.cl, 0);
@@ -8724,17 +8724,17 @@ findlenextext:
context._sub(context.cx, context.bx);
while(--context.cx) context._movsb();
context.bx = context.pop();
- context._sub(context.data.word(14), context.bx);
+ context._sub(context.ds.word(14), context.bx);
context.si = context.pop();
context.cx = 114;
context.di = 0+2080+30000+(16*114);
shuffletextads:
- context.ax = context.data.word(context.di);
+ context.ax = context.ds.word(context.di);
context._cmp(context.ax, context.si);
if (context.flags.c()) goto beforethistext;
context._sub(context.ax, context.bx);
beforethistext:
- context.data.word(context.di) = context.ax;
+ context.ds.word(context.di) = context.ax;
context._add(context.di, 2);
if (--context.cx) goto shuffletextads;
return;
@@ -8743,7 +8743,7 @@ beforethistext:
static void blockget(Context & context) {
context.ah = context.al;
context.al = 0;
- context.ds = context.data.word(416);
+ context.ds = context.ds.word(416);
context.si = 0+192;
context._add(context.si, context.ax);
return;
@@ -8761,7 +8761,7 @@ static void drawfloor(Context & context) {
showallex(context);
paneltomap(context);
initrain(context);
- context.data.byte(62) = 0;
+ context.ds.byte(62) = 0;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -8778,8 +8778,8 @@ static void calcmapad(Context & context) {
context.ax.cbw();
context.bx = 8;
context._mul(context.bx);
- context._add(context.ax, context.data.word(121));
- context.data.word(117) = context.ax;
+ context._add(context.ax, context.ds.word(121));
+ context.ds.word(117) = context.ax;
context.dx = context.pop();
context.cx = context.pop();
context.al = 10;
@@ -8789,13 +8789,13 @@ static void calcmapad(Context & context) {
context.ax.cbw();
context.bx = 8;
context._mul(context.bx);
- context._add(context.ax, context.data.word(123));
- context.data.word(119) = context.ax;
+ context._add(context.ax, context.ds.word(123));
+ context.ds.word(119) = context.ax;
return;
}
static void getdimension(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32);
context.ch = 0;
dimloop1:
@@ -8847,14 +8847,14 @@ finishdim4:
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
- context.data.word(125) = context.ax;
+ context.ds.word(125) = context.ax;
context.al = context.ch;
context.ah = 0;
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
- context.data.word(127) = context.ax;
+ context.ds.word(127) = context.ax;
context._sub(context.dl, context.cl);
context._sub(context.dh, context.ch);
context.al = context.dl;
@@ -8863,21 +8863,21 @@ finishdim4:
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
- context.data.byte(128) = context.al;
+ context.ds.byte(128) = context.al;
context.al = context.dh;
context.ah = 0;
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
- context.data.byte(129) = context.al;
+ context.ds.byte(129) = context.al;
return;
}
static void addalong(Context & context) {
context.ah = 11;
addloop:
- context._cmp(context.data.byte(context.bx), 0);
+ context._cmp(context.ds.byte(context.bx), 0);
if (!context.flags.z()) goto gotalong;
context._add(context.bx, 3);
context._sub(context.ah, 1);
@@ -8892,7 +8892,7 @@ gotalong:
static void addlength(Context & context) {
context.ah = 10;
addloop2:
- context._cmp(context.data.byte(context.bx), 0);
+ context._cmp(context.ds.byte(context.bx), 0);
if (!context.flags.z()) goto gotlength;
context._add(context.bx, 3*11);
context._sub(context.ah, 1);
@@ -8905,13 +8905,13 @@ gotlength:
}
static void drawflags(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32);
- context.al = context.data.byte(149);
+ context.al = context.ds.byte(149);
context.ah = 0;
context.cx = 66;
context._mul(context.cx);
- context.bl = context.data.byte(148);
+ context.bl = context.ds.byte(148);
context.bh = 0;
context._add(context.ax, context.bx);
context.si = 0;
@@ -8921,9 +8921,9 @@ _tmp28:
context.push(context.cx);
context.cx = 11;
_tmp28a:
- context.ds = context.data.word(418);
+ context.ds = context.ds.word(418);
context._lodsb();
- context.ds = context.data.word(416);
+ context.ds = context.ds.word(416);
context.push(context.si);
context.push(context.ax);
context.ah = 0;
@@ -8942,15 +8942,15 @@ _tmp28a:
}
static void eraseoldobs(Context & context) {
- context._cmp(context.data.byte(62), 0);
+ context._cmp(context.ds.byte(62), 0);
if (context.flags.z()) goto donterase;
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.cx = 16;
oberase:
context.push(context.cx);
context.push(context.bx);
- context.ax = context.data.word(context.bx+20);
+ context.ax = context.ds.word(context.bx+20);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto notthisob;
context.di = context.bx;
@@ -8967,21 +8967,21 @@ donterase:
}
static void showallobs(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32);
- context.data.word(18) = context.bx;
+ context.ds.word(18) = context.bx;
context.di = context.bx;
context.cx = 128*5;
context.al = 255;
while(--context.cx) context._stosb();
- context.es = context.data.word(444);
- context.data.word(166) = context.es;
+ context.es = context.ds.word(444);
+ context.ds.word(166) = context.es;
context.ax = 0;
- context.data.word(164) = context.ax;
+ context.ds.word(164) = context.ax;
context.ax = 0+2080;
- context.data.word(162) = context.ax;
- context.data.byte(181) = 0;
- context.ds = context.data.word(428);
+ context.ds.word(162) = context.ax;
+ context.ds.byte(181) = 0;
+ context.ds = context.ds.word(428);
context.si = 0;
context.cx = 128;
showobsloop:
@@ -8989,14 +8989,14 @@ showobsloop:
context.push(context.si);
context.push(context.si);
context._add(context.si, 58);
- context.es = context.data.word(428);
+ context.es = context.ds.word(428);
getmapad(context);
context.si = context.pop();
context._cmp(context.ch, 0);
if (context.flags.z()) goto blankframe;
- context.al = context.data.byte(context.si+18);
+ context.al = context.ds.byte(context.si+18);
context.ah = 0;
- context.data.word(160) = context.ax;
+ context.ds.word(160) = context.ax;
context._cmp(context.al, 255);
if (context.flags.z()) goto blankframe;
context.push(context.es);
@@ -9005,39 +9005,39 @@ showobsloop:
finalframe(context);
context.si = context.pop();
context.es = context.pop();
- context.al = context.data.byte(context.si+18);
- context.data.byte(context.si+17) = context.al;
- context._cmp(context.data.byte(context.si+8), 0);
+ context.al = context.ds.byte(context.si+18);
+ context.ds.byte(context.si+17) = context.al;
+ context._cmp(context.ds.byte(context.si+8), 0);
if (!context.flags.z()) goto animating;
- context._cmp(context.data.byte(context.si+5), 5);
+ context._cmp(context.ds.byte(context.si+5), 5);
if (context.flags.z()) goto animating;
- context._cmp(context.data.byte(context.si+5), 6);
+ context._cmp(context.ds.byte(context.si+5), 6);
if (context.flags.z()) goto animating;
- context.ax = context.data.word(160);
+ context.ax = context.ds.word(160);
context.ah = 0;
- context._add(context.di, context.data.word(117));
- context._add(context.bx, context.data.word(119));
+ context._add(context.di, context.ds.word(117));
+ context._add(context.bx, context.ds.word(119));
showframe(context);
goto drawnsetob;
animating:
makebackob(context);
drawnsetob:
- context.si = context.data.word(18);
- context.es = context.data.word(412);
- context.al = context.data.byte(179);
- context.ah = context.data.byte(180);
- context.data.word(context.si) = context.ax;
+ context.si = context.ds.word(18);
+ context.es = context.ds.word(412);
+ context.al = context.ds.byte(179);
+ context.ah = context.ds.byte(180);
+ context.ds.word(context.si) = context.ax;
context.cx = context.ax;
- context.ax = context.data.word(176);
+ context.ax = context.ds.word(176);
context._add(context.al, context.cl);
context._add(context.ah, context.ch);
- context.data.word(context.si+2) = context.ax;
- context.al = context.data.byte(181);
- context.data.byte(context.si+4) = context.al;
+ context.ds.word(context.si+2) = context.ax;
+ context.al = context.ds.byte(181);
+ context.ds.byte(context.si+4) = context.al;
context._add(context.si, 5);
- context.data.word(18) = context.si;
+ context.ds.word(18) = context.si;
blankframe:
- context._add(context.data.byte(181), 1);
+ context._add(context.ds.byte(181), 1);
context.si = context.pop();
context.cx = context.pop();
context._add(context.si, 64);
@@ -9049,106 +9049,106 @@ finishedsetobs:
}
static void makebackob(Context & context) {
- context._cmp(context.data.byte(62), 0);
+ context._cmp(context.ds.byte(62), 0);
if (context.flags.z()) goto nomake;
- context.al = context.data.byte(context.si+5);
- context.ah = context.data.byte(context.si+8);
+ context.al = context.ds.byte(context.si+5);
+ context.ah = context.ds.byte(context.si+8);
context.push(context.si);
context.push(context.ax);
context.push(context.si);
- context.ax = context.data.word(168);
- context.bx = context.data.word(170);
+ context.ax = context.ds.word(168);
+ context.bx = context.ds.word(170);
context.ah = context.bl;
context.si = context.ax;
context.cx = 49520;
- context.dx = context.data.word(444);
+ context.dx = context.ds.word(444);
context.di = 0;
makesprite(context);
context.ax = context.pop();
- context.data.word(context.bx+20) = context.ax;
+ context.ds.word(context.bx+20) = context.ax;
context.ax = context.pop();
context._cmp(context.al, 255);
if (!context.flags.z()) goto usedpriority;
context.al = 0;
usedpriority:
- context.data.byte(context.bx+23) = context.al;
- context.data.byte(context.bx+30) = context.ah;
- context.data.byte(context.bx+16) = 0;
- context.data.byte(context.bx+18) = 0;
- context.data.byte(context.bx+19) = 0;
+ context.ds.byte(context.bx+23) = context.al;
+ context.ds.byte(context.bx+30) = context.ah;
+ context.ds.byte(context.bx+16) = 0;
+ context.ds.byte(context.bx+18) = 0;
+ context.ds.byte(context.bx+19) = 0;
context.si = context.pop();
nomake:
return;
}
static void showallfree(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5);
- context.data.word(18) = context.bx;
+ context.ds.word(18) = context.bx;
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5);
context.cx = 80*5;
context.al = 255;
while(--context.cx) context._stosb();
- context.es = context.data.word(446);
- context.data.word(166) = context.es;
+ context.es = context.ds.word(446);
+ context.ds.word(166) = context.es;
context.ax = 0;
- context.data.word(164) = context.ax;
+ context.ds.word(164) = context.ax;
context.ax = 0+2080;
- context.data.word(162) = context.ax;
+ context.ds.word(162) = context.ax;
context.al = 0;
- context.data.byte(158) = context.al;
- context.ds = context.data.word(426);
+ context.ds.byte(158) = context.al;
+ context.ds = context.ds.word(426);
context.si = 2;
context.cx = 0;
loop127:
context.push(context.cx);
context.push(context.si);
context.push(context.si);
- context.es = context.data.word(426);
+ context.es = context.ds.word(426);
getmapad(context);
context.si = context.pop();
context._cmp(context.ch, 0);
if (context.flags.z()) goto over138;
- context.al = context.data.byte(158);
+ context.al = context.ds.byte(158);
context.ah = 0;
context.dx = context.ax;
context._add(context.ax, context.ax);
context._add(context.ax, context.dx);
- context.data.word(160) = context.ax;
+ context.ds.word(160) = context.ax;
context.push(context.es);
context.push(context.si);
calcfrframe(context);
- context.es = context.data.word(402);
- context.ds = context.data.word(166);
+ context.es = context.ds.word(402);
+ context.ds = context.ds.word(166);
finalframe(context);
context.si = context.pop();
context.es = context.pop();
context._cmp(context.cx, 0);
if (context.flags.z()) goto over138;
- context.ax = context.data.word(160);
+ context.ax = context.ds.word(160);
context.ah = 0;
- context._add(context.di, context.data.word(117));
- context._add(context.bx, context.data.word(119));
+ context._add(context.di, context.ds.word(117));
+ context._add(context.bx, context.ds.word(119));
showframe(context);
- context.si = context.data.word(18);
- context.es = context.data.word(412);
- context.al = context.data.byte(179);
- context.ah = context.data.byte(180);
- context.data.word(context.si) = context.ax;
+ context.si = context.ds.word(18);
+ context.es = context.ds.word(412);
+ context.al = context.ds.byte(179);
+ context.ah = context.ds.byte(180);
+ context.ds.word(context.si) = context.ax;
context.cx = context.ax;
- context.ax = context.data.word(176);
+ context.ax = context.ds.word(176);
context._add(context.al, context.cl);
context._add(context.ah, context.ch);
- context.data.word(context.si+2) = context.ax;
+ context.ds.word(context.si+2) = context.ax;
context.ax = context.pop();
context.cx = context.pop();
context.push(context.cx);
context.push(context.ax);
- context.data.byte(context.si+4) = context.cl;
+ context.ds.byte(context.si+4) = context.cl;
context._add(context.si, 5);
- context.data.word(18) = context.si;
+ context.ds.word(18) = context.si;
over138:
- context._add(context.data.byte(158), 1);
+ context._add(context.ds.byte(158), 1);
context.si = context.pop();
context.cx = context.pop();
context._add(context.si, 16);
@@ -9161,78 +9161,78 @@ finfree:
}
static void showallex(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5);
- context.data.word(18) = context.bx;
+ context.ds.word(18) = context.bx;
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5);
context.cx = 100*5;
context.al = 255;
while(--context.cx) context._stosb();
- context.es = context.data.word(398);
- context.data.word(166) = context.es;
+ context.es = context.ds.word(398);
+ context.ds.word(166) = context.es;
context.ax = 0;
- context.data.word(164) = context.ax;
+ context.ds.word(164) = context.ax;
context.ax = 0+2080;
- context.data.word(162) = context.ax;
- context.data.byte(157) = 0;
+ context.ds.word(162) = context.ax;
+ context.ds.byte(157) = 0;
context.si = 0+2080+30000+2;
context.cx = 0;
exloop:
context.push(context.cx);
context.push(context.si);
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.push(context.si);
context.ch = 0;
- context._cmp(context.data.byte(context.si), 255);
+ context._cmp(context.ds.byte(context.si), 255);
if (context.flags.z()) goto notinroom;
- context.al = context.data.byte(context.si-2);
- context._cmp(context.al, context.data.byte(184));
+ context.al = context.ds.byte(context.si-2);
+ context._cmp(context.al, context.ds.byte(184));
if (!context.flags.z()) goto notinroom;
getmapad(context);
notinroom:
context.si = context.pop();
context._cmp(context.ch, 0);
if (context.flags.z()) goto blankex;
- context.al = context.data.byte(157);
+ context.al = context.ds.byte(157);
context.ah = 0;
context.dx = context.ax;
context._add(context.ax, context.ax);
context._add(context.ax, context.dx);
- context.data.word(160) = context.ax;
+ context.ds.word(160) = context.ax;
context.push(context.es);
context.push(context.si);
calcfrframe(context);
- context.es = context.data.word(402);
- context.ds = context.data.word(166);
+ context.es = context.ds.word(402);
+ context.ds = context.ds.word(166);
finalframe(context);
context.si = context.pop();
context.es = context.pop();
context._cmp(context.cx, 0);
if (context.flags.z()) goto blankex;
- context.ax = context.data.word(160);
+ context.ax = context.ds.word(160);
context.ah = 0;
- context._add(context.di, context.data.word(117));
- context._add(context.bx, context.data.word(119));
+ context._add(context.di, context.ds.word(117));
+ context._add(context.bx, context.ds.word(119));
showframe(context);
- context.si = context.data.word(18);
- context.es = context.data.word(412);
- context.al = context.data.byte(179);
- context.ah = context.data.byte(180);
- context.data.word(context.si) = context.ax;
+ context.si = context.ds.word(18);
+ context.es = context.ds.word(412);
+ context.al = context.ds.byte(179);
+ context.ah = context.ds.byte(180);
+ context.ds.word(context.si) = context.ax;
context.cx = context.ax;
- context.ax = context.data.word(176);
+ context.ax = context.ds.word(176);
context._add(context.al, context.cl);
context._add(context.ah, context.ch);
- context.data.word(context.si+2) = context.ax;
+ context.ds.word(context.si+2) = context.ax;
context.ax = context.pop();
context.cx = context.pop();
context.push(context.cx);
context.push(context.ax);
- context.data.byte(context.si+4) = context.cl;
+ context.ds.byte(context.si+4) = context.cl;
context._add(context.si, 5);
- context.data.word(18) = context.si;
+ context.ds.word(18) = context.si;
blankex:
- context._add(context.data.byte(157), 1);
+ context._add(context.ds.byte(157), 1);
context.si = context.pop();
context.cx = context.pop();
context._add(context.si, 16);
@@ -9245,49 +9245,49 @@ finex:
}
static void calcfrframe(Context & context) {
- context.dx = context.data.word(166);
- context.ax = context.data.word(162);
+ context.dx = context.ds.word(166);
+ context.ax = context.ds.word(162);
context.push(context.ax);
- context.cx = context.data.word(164);
- context.ax = context.data.word(160);
+ context.cx = context.ds.word(164);
+ context.ax = context.ds.word(160);
context.ds = context.dx;
context.bx = 6;
context._mul(context.bx);
context._add(context.ax, context.cx);
context.bx = context.ax;
- context.cx = context.data.word(context.bx);
- context.ax = context.data.word(context.bx+2);
- context.dx = context.data.word(context.bx+4);
+ context.cx = context.ds.word(context.bx);
+ context.ax = context.ds.word(context.bx+2);
+ context.dx = context.ds.word(context.bx+4);
context.bx = context.pop();
context.push(context.dx);
context._add(context.ax, context.bx);
- context.data.word(178) = context.ax;
- context.data.word(176) = context.cx;
+ context.ds.word(178) = context.ax;
+ context.ds.word(176) = context.cx;
context.ax = context.pop();
context.push(context.ax);
context.ah = 0;
- context.data.word(172) = context.ax;
+ context.ds.word(172) = context.ax;
context.ax = context.pop();
context.al = context.ah;
context.ah = 0;
- context.data.word(174) = context.ax;
+ context.ds.word(174) = context.ax;
return;
nullframe:
context.ax = context.pop();
context.cx = 0;
- context.data.word(176) = context.cx;
+ context.ds.word(176) = context.cx;
return;
}
static void finalframe(Context & context) {
- context.ax = context.data.word(170);
- context._add(context.ax, context.data.word(174));
- context.bx = context.data.word(168);
- context._add(context.bx, context.data.word(172));
- context.data.byte(179) = context.bl;
- context.data.byte(180) = context.al;
- context.di = context.data.word(168);
- context.bx = context.data.word(170);
+ context.ax = context.ds.word(170);
+ context._add(context.ax, context.ds.word(174));
+ context.bx = context.ds.word(168);
+ context._add(context.bx, context.ds.word(172));
+ context.ds.byte(179) = context.bl;
+ context.ds.byte(180) = context.al;
+ context.di = context.ds.word(168);
+ context.bx = context.ds.word(170);
return;
}
@@ -9307,26 +9307,26 @@ static void getmapad(Context & context) {
getxad(context);
context._cmp(context.ch, 0);
if (context.flags.z()) goto over146;
- context.data.word(168) = context.ax;
+ context.ds.word(168) = context.ax;
getyad(context);
context._cmp(context.ch, 0);
if (context.flags.z()) goto over146;
- context.data.word(170) = context.ax;
+ context.ds.word(170) = context.ax;
context.ch = 1;
over146:
return;
}
static void getxad(Context & context) {
- context.cl = context.data.byte(context.si);
+ context.cl = context.ds.byte(context.si);
context._add(context.si, 1);
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 1);
- context.ah = context.data.byte(context.si);
+ context.ah = context.ds.byte(context.si);
context._add(context.si, 1);
context._cmp(context.cl, 0);
if (!context.flags.z()) goto over148;
- context._sub(context.al, context.data.byte(148));
+ context._sub(context.al, context.ds.byte(148));
if (context.flags.c()) goto over148;
context._cmp(context.al, 11);
if (!context.flags.c()) goto over148;
@@ -9342,11 +9342,11 @@ over148:
}
static void getyad(Context & context) {
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 1);
- context.ah = context.data.byte(context.si);
+ context.ah = context.ds.byte(context.si);
context._add(context.si, 1);
- context._sub(context.al, context.data.byte(149));
+ context._sub(context.al, context.ds.byte(149));
if (context.flags.c()) goto over147;
context._cmp(context.al, 10);
if (!context.flags.c()) goto over147;
@@ -9362,40 +9362,40 @@ over147:
}
static void autolook(Context & context) {
- context.ax = context.data.word(198);
- context._cmp(context.ax, context.data.word(214));
+ context.ax = context.ds.word(198);
+ context._cmp(context.ax, context.ds.word(214));
if (!context.flags.z()) goto diffmouse;
- context.ax = context.data.word(200);
- context._cmp(context.ax, context.data.word(216));
+ context.ax = context.ds.word(200);
+ context._cmp(context.ax, context.ds.word(216));
if (!context.flags.z()) goto diffmouse;
- context._sub(context.data.word(98), 1);
- context._cmp(context.data.word(98), 0);
+ context._sub(context.ds.word(98), 1);
+ context._cmp(context.ds.word(98), 0);
if (!context.flags.z()) goto noautolook;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto noautolook;
dolook(context);
noautolook:
return;
diffmouse:
- context.data.word(98) = 1000;
+ context.ds.word(98) = 1000;
return;
}
static void look(Context & context) {
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(234), 2);
+ context._cmp(context.ds.byte(234), 2);
if (context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 241);
+ context._cmp(context.ds.byte(100), 241);
if (context.flags.z()) goto alreadylook;
- context.data.byte(100) = 241;
+ context.ds.byte(100) = 241;
context.al = 25;
commandonly(context);
alreadylook:
- context._cmp(context.data.word(202), 1);
+ context._cmp(context.ds.word(202), 1);
if (!context.flags.z()) goto nolook;
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nolook;
dolook(context);
nolook:
@@ -9407,19 +9407,19 @@ static void dolook(Context & context) {
showicon(context);
undertextline(context);
worktoscreenm(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
dumptextline(context);
- context.bl = context.data.byte(185);
+ context.bl = context.ds.byte(185);
context._and(context.bl, 31);
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(436);
+ context.es = context.ds.word(436);
context._add(context.bx, 0);
- context.si = context.data.word(context.bx);
+ context.si = context.ds.word(context.bx);
context._add(context.si, 0+(38*2));
findnextcolon(context);
context.di = 66;
- context._cmp(context.data.byte(184), 50);
+ context._cmp(context.ds.byte(184), 50);
if (context.flags.c()) goto notdream3;
context.di = 40;
notdream3:
@@ -9431,17 +9431,17 @@ notdream3:
context.cx = 400;
hangonp(context);
afterlook:
- context.data.byte(234) = 0;
- context.data.byte(100) = 0;
+ context.ds.byte(234) = 0;
+ context.ds.byte(100) = 0;
redrawmainscrn(context);
worktoscreenm(context);
return;
}
static void redrawmainscrn(Context & context) {
- context.data.word(328) = 0;
+ context.ds.word(328) = 0;
createpanel(context);
- context.data.byte(62) = 0;
+ context.ds.byte(62) = 0;
drawfloor(context);
printsprites(context);
reelsonscreen(context);
@@ -9449,40 +9449,40 @@ static void redrawmainscrn(Context & context) {
getunderzoom(context);
undertextline(context);
readmouse(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
return;
}
static void getback1(Context & context) {
- context._cmp(context.data.byte(106), 0);
+ context._cmp(context.ds.byte(106), 0);
if (context.flags.z()) goto notgotobject;
blank(context);
return;
notgotobject:
- context._cmp(context.data.byte(100), 202);
+ context._cmp(context.ds.byte(100), 202);
if (context.flags.z()) goto alreadyget;
- context.data.byte(100) = 202;
+ context.ds.byte(100) = 202;
context.al = 26;
commandonly(context);
alreadyget:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nogetback;
context._and(context.ax, 1);
if (!context.flags.z()) goto dogetback;
nogetback:
return;
dogetback:
- context.data.byte(103) = 1;
- context.data.byte(106) = 0;
+ context.ds.byte(103) = 1;
+ context.ds.byte(106) = 0;
return;
}
static void talk(Context & context) {
- context.data.byte(246) = 0;
- context.data.byte(237) = 0;
- context.al = context.data.byte(99);
- context.data.byte(247) = context.al;
+ context.ds.byte(246) = 0;
+ context.ds.byte(237) = 0;
+ context.al = context.ds.byte(99);
+ context.ds.byte(247) = context.al;
createpanel(context);
showpanel(context);
showman(context);
@@ -9490,7 +9490,7 @@ static void talk(Context & context) {
undertextline(context);
convicons(context);
starttalk(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -9502,41 +9502,41 @@ waittalk:
vsync(context);
dumppointer(context);
dumptextline(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
context.bx = 2660;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto waittalk;
finishtalk:
- context.bx = context.data.word(249);
+ context.bx = context.ds.word(249);
context.es = context.cs;
- context._cmp(context.data.byte(246), 4);
+ context._cmp(context.ds.byte(246), 4);
if (context.flags.c()) goto notnexttalk;
- context.al = context.data.byte(context.bx+7);
+ context.al = context.ds.byte(context.bx+7);
context._or(context.al, 128);
- context.data.byte(context.bx+7) = context.al;
+ context.ds.byte(context.bx+7) = context.al;
notnexttalk:
redrawmainscrn(context);
worktoscreenm(context);
- context._cmp(context.data.byte(383), 1);
+ context._cmp(context.ds.byte(383), 1);
if (!context.flags.z()) goto nospeech;
cancelch1(context);
- context.data.byte(388) = -1;
- context.data.byte(387) = 0;
+ context.ds.byte(388) = -1;
+ context.ds.byte(387) = 0;
nospeech:
return;
}
static void convicons(Context & context) {
- context.al = context.data.byte(247);
+ context.al = context.ds.byte(247);
context._and(context.al, 127);
getpersframe(context);
context.di = 234;
context.bx = 2;
- context.data.word(160) = context.ax;
+ context.ds.word(160) = context.ax;
findsource(context);
- context.ax = context.data.word(160);
- context._sub(context.ax, context.data.word(244));
+ context.ax = context.ds.word(160);
+ context._sub(context.ax, context.ds.word(244));
context.ah = 0;
showframe(context);
return;
@@ -9546,25 +9546,25 @@ static void getpersframe(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.data.word(448);
+ context.es = context.ds.word(448);
context._add(context.bx, 0);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
return;
}
static void starttalk(Context & context) {
- context.data.byte(245) = 0;
- context.al = context.data.byte(247);
+ context.ds.byte(245) = 0;
+ context.al = context.ds.byte(247);
context._and(context.al, 127);
getpersontext(context);
- context.data.word(71) = 91+91;
+ context.ds.word(71) = 91+91;
context.di = 66;
context.bx = 64;
context.dl = 241;
context.al = 0;
context.ah = 79;
printdirect(context);
- context.data.word(71) = 0;
+ context.ds.word(71) = 0;
context.di = 66;
context.bx = 80;
context.dl = 241;
@@ -9580,40 +9580,40 @@ static void getpersontext(Context & context) {
context.cx = 64*2;
context._mul(context.cx);
context.si = context.ax;
- context.es = context.data.word(448);
+ context.es = context.ds.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, context.cx);
context.si = context.ax;
return;
}
static void moretalk(Context & context) {
- context._cmp(context.data.byte(245), 0);
+ context._cmp(context.ds.byte(245), 0);
if (context.flags.z()) goto canmore;
redes(context);
return;
canmore:
- context._cmp(context.data.byte(100), 215);
+ context._cmp(context.ds.byte(100), 215);
if (context.flags.z()) goto alreadymore;
- context.data.byte(100) = 215;
+ context.ds.byte(100) = 215;
context.al = 49;
commandonly(context);
alreadymore:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nomore;
context._and(context.ax, 1);
if (!context.flags.z()) goto domoretalk;
nomore:
return;
domoretalk:
- context.data.byte(245) = 2;
- context.data.byte(246) = 4;
- context._cmp(context.data.byte(247), 100);
+ context.ds.byte(245) = 2;
+ context.ds.byte(246) = 4;
+ context._cmp(context.ds.byte(247), 100);
if (context.flags.c()) goto notsecondpart;
- context.data.byte(246) = 48;
+ context.ds.byte(246) = 48;
notsecondpart:
dosometalk(context);
return;
@@ -9621,25 +9621,25 @@ notsecondpart:
static void dosometalk(Context & context) {
watchtalk:
- context.al = context.data.byte(246);
- context.al = context.data.byte(247);
+ context.al = context.ds.byte(246);
+ context.al = context.ds.byte(247);
context._and(context.al, 127);
context.ah = 0;
context.cx = 64;
context._mul(context.cx);
context.cx = context.ax;
- context.al = context.data.byte(246);
+ context.al = context.ds.byte(246);
context.ah = 0;
context._add(context.ax, context.cx);
context._add(context.ax, context.ax);
context.si = context.ax;
- context.es = context.data.word(448);
+ context.es = context.ds.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, context.cx);
context.si = context.ax;
- context._cmp(context.data.byte(context.si), 0);
+ context._cmp(context.ds.byte(context.si), 0);
if (context.flags.z()) goto endwatchtalk;
context.push(context.es);
context.push(context.si);
@@ -9656,34 +9656,34 @@ watchtalk:
context.al = 0;
context.ah = 0;
printdirect(context);
- context.data.byte(234) = 3;
+ context.ds.byte(234) = 3;
worktoscreenm(context);
context.cx = 180;
hangonpq(context);
- context._add(context.data.byte(246), 1);
- context.al = context.data.byte(246);
- context.al = context.data.byte(247);
+ context._add(context.ds.byte(246), 1);
+ context.al = context.ds.byte(246);
+ context.al = context.ds.byte(247);
context._and(context.al, 127);
context.ah = 0;
context.cx = 64;
context._mul(context.cx);
context.cx = context.ax;
- context.al = context.data.byte(246);
+ context.al = context.ds.byte(246);
context.ah = 0;
context._add(context.ax, context.cx);
context._add(context.ax, context.ax);
context.si = context.ax;
- context.es = context.data.word(448);
+ context.es = context.ds.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, context.cx);
context.si = context.ax;
- context._cmp(context.data.byte(context.si), 0);
+ context._cmp(context.ds.byte(context.si), 0);
if (context.flags.z()) goto endwatchtalk;
- context._cmp(context.data.byte(context.si), ':');
+ context._cmp(context.ds.byte(context.si), ':');
if (context.flags.z()) goto skiptalk;
- context._cmp(context.data.byte(context.si), 32);
+ context._cmp(context.ds.byte(context.si), 32);
if (context.flags.z()) goto skiptalk;
context.push(context.es);
context.push(context.si);
@@ -9700,20 +9700,20 @@ watchtalk:
context.al = 0;
context.ah = 0;
printdirect(context);
- context.data.byte(234) = 3;
+ context.ds.byte(234) = 3;
worktoscreenm(context);
context.cx = 180;
hangonpq(context);
skiptalk:
- context._add(context.data.byte(246), 1);
+ context._add(context.ds.byte(246), 1);
goto watchtalk;
endwatchtalk:
- context.data.byte(234) = 0;
+ context.ds.byte(234) = 0;
return;
}
static void hangonpq(Context & context) {
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
context.bx = 0;
hangloopq:
context.push(context.cx);
@@ -9729,48 +9729,48 @@ hangloopq:
checkcoords(context);
context.bx = context.pop();
context.cx = context.pop();
- context._cmp(context.data.byte(103), 1);
+ context._cmp(context.ds.byte(103), 1);
if (context.flags.z()) goto quitconv;
- context._cmp(context.data.byte(383), 1);
+ context._cmp(context.ds.byte(383), 1);
if (!context.flags.z()) goto notspeaking;
- context._cmp(context.data.byte(515), 255);
+ context._cmp(context.ds.byte(515), 255);
if (!context.flags.z()) goto notspeaking;
context._add(context.bx, 1);
context._cmp(context.bx, 40);
if (context.flags.z()) goto finishconv;
notspeaking:
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto hangloopq;
- context._cmp(context.data.word(212), 0);
+ context._cmp(context.ds.word(212), 0);
if (!context.flags.z()) goto hangloopq;
finishconv:
delpointer(context);
- context.data.byte(234) = 0;
+ context.ds.byte(234) = 0;
return;
quitconv:
delpointer(context);
- context.data.byte(234) = 0;
+ context.ds.byte(234) = 0;
context.ax = context.pop();
cancelch1(context);
return;
}
static void redes(Context & context) {
- context._cmp(context.data.byte(515), 255);
+ context._cmp(context.ds.byte(515), 255);
if (!context.flags.z()) goto cantredes;
- context._cmp(context.data.byte(245), 2);
+ context._cmp(context.ds.byte(245), 2);
if (context.flags.z()) goto canredes;
cantredes:
blank(context);
return;
canredes:
- context._cmp(context.data.byte(100), 217);
+ context._cmp(context.ds.byte(100), 217);
if (context.flags.z()) goto alreadyreds;
- context.data.byte(100) = 217;
+ context.ds.byte(100) = 217;
context.al = 50;
commandonly(context);
alreadyreds:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (!context.flags.z()) goto doredes;
return;
@@ -9790,27 +9790,27 @@ doredes:
}
static void newplace(Context & context) {
- context._cmp(context.data.byte(60), 1);
+ context._cmp(context.ds.byte(60), 1);
if (context.flags.z()) goto istravel;
- context._cmp(context.data.byte(189), -1);
+ context._cmp(context.ds.byte(189), -1);
if (!context.flags.z()) goto isautoloc;
return;
isautoloc:
- context.al = context.data.byte(189);
- context.data.byte(188) = context.al;
- context.data.byte(189) = -1;
+ context.al = context.ds.byte(189);
+ context.ds.byte(188) = context.al;
+ context.ds.byte(189) = -1;
return;
istravel:
- context.data.byte(60) = 0;
+ context.ds.byte(60) = 0;
selectlocation(context);
return;
}
static void selectlocation(Context & context) {
- context.data.byte(237) = 0;
+ context.ds.byte(237) = 0;
clearbeforeload(context);
- context.data.byte(103) = 0;
- context.data.byte(231) = 22;
+ context.ds.byte(103) = 0;
+ context.ds.byte(231) = 22;
readcitypic(context);
showcity(context);
getridoftemp(context);
@@ -9822,15 +9822,15 @@ static void selectlocation(Context & context) {
showexit(context);
locationpic(context);
undertextline(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
readmouse(context);
- context.data.byte(231) = 0;
+ context.ds.byte(231) = 0;
showpointer(context);
worktoscreen(context);
context.al = 9;
context.ah = 255;
playchannel0(context);
- context.data.byte(188) = 255;
+ context.ds.byte(188) = 255;
select:
delpointer(context);
readmouse(context);
@@ -9838,42 +9838,42 @@ select:
vsync(context);
dumppointer(context);
dumptextline(context);
- context._cmp(context.data.byte(103), 1);
+ context._cmp(context.ds.byte(103), 1);
if (context.flags.z()) goto quittravel;
context.bx = 2714;
checkcoords(context);
- context._cmp(context.data.byte(188), 255);
+ context._cmp(context.ds.byte(188), 255);
if (context.flags.z()) goto select;
- context.al = context.data.byte(188);
- context._cmp(context.al, context.data.byte(9));
+ context.al = context.ds.byte(188);
+ context._cmp(context.al, context.ds.byte(9));
if (context.flags.z()) goto quittravel;
getridoftemp(context);
getridoftemp2(context);
getridoftemp3(context);
- context.es = context.data.word(456);
+ context.es = context.ds.word(456);
deallocatemem(context);
return;
quittravel:
- context.al = context.data.byte(184);
- context.data.byte(188) = context.al;
- context.data.byte(103) = 0;
+ context.al = context.ds.byte(184);
+ context.ds.byte(188) = context.al;
+ context.ds.byte(103) = 0;
getridoftemp(context);
getridoftemp2(context);
getridoftemp3(context);
- context.es = context.data.word(456);
+ context.es = context.ds.word(456);
deallocatemem(context);
return;
}
static void showcity(Context & context) {
clearwork(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 57;
context.bx = 32;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 120+57;
context.bx = 32;
context.al = 1;
@@ -9883,25 +9883,25 @@ static void showcity(Context & context) {
}
static void lookatplace(Context & context) {
- context._cmp(context.data.byte(100), 224);
+ context._cmp(context.ds.byte(100), 224);
if (context.flags.z()) goto alreadyinfo;
- context.data.byte(100) = 224;
+ context.ds.byte(100) = 224;
context.al = 27;
commandonly(context);
alreadyinfo:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto noinfo;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto noinfo;
- context.bl = context.data.byte(183);
+ context.bl = context.ds.byte(183);
context._cmp(context.bl, 15);
if (!context.flags.c()) goto noinfo;
context.push(context.bx);
delpointer(context);
deltextline(context);
getundercentre(context);
- context.ds = context.data.word(462);
+ context.ds = context.ds.word(462);
context.al = 0;
context.ah = 0;
context.di = 60;
@@ -9920,8 +9920,8 @@ alreadyinfo:
context.bx = context.pop();
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(456);
- context.si = context.data.word(context.bx);
+ context.es = context.ds.word(456);
+ context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
findnextcolon(context);
context.di = 63;
@@ -9934,8 +9934,8 @@ alreadyinfo:
context.cx = 500;
hangonp(context);
afterinfo:
- context.data.byte(234) = 0;
- context.data.byte(231) = 0;
+ context.ds.byte(234) = 0;
+ context.ds.byte(231) = 0;
putundercentre(context);
worktoscreenm(context);
noinfo:
@@ -9945,7 +9945,7 @@ noinfo:
static void getundercentre(Context & context) {
context.di = 58;
context.bx = 72;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
context.cl = 254;
context.ch = 110;
@@ -9956,7 +9956,7 @@ static void getundercentre(Context & context) {
static void putundercentre(Context & context) {
context.di = 58;
context.bx = 72;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
context.cl = 254;
context.ch = 110;
@@ -9966,18 +9966,18 @@ static void putundercentre(Context & context) {
static void locationpic(Context & context) {
getdestinfo(context);
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context.push(context.es);
context.push(context.si);
context.di = 0;
context._cmp(context.al, 6);
if (!context.flags.c()) goto secondlot;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context._add(context.al, 4);
goto gotgraphic;
secondlot:
context._sub(context.al, 6);
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
gotgraphic:
context._add(context.di, 104);
context.bx = 138+14;
@@ -9985,21 +9985,21 @@ gotgraphic:
showframe(context);
context.si = context.pop();
context.es = context.pop();
- context.al = context.data.byte(183);
- context._cmp(context.al, context.data.byte(184));
+ context.al = context.ds.byte(183);
+ context._cmp(context.al, context.ds.byte(184));
if (!context.flags.z()) goto notinthisone;
context.al = 3;
context.di = 104;
context.bx = 140+14;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.ah = 0;
showframe(context);
notinthisone:
- context.bl = context.data.byte(183);
+ context.bl = context.ds.byte(183);
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(456);
- context.si = context.data.word(context.bx);
+ context.es = context.ds.word(456);
+ context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
context.di = 50;
context.bx = 20;
@@ -10011,14 +10011,14 @@ notinthisone:
}
static void getdestinfo(Context & context) {
- context.al = context.data.byte(183);
+ context.al = context.ds.byte(183);
context.ah = 0;
context.push(context.ax);
context.dx = context.ds;
context.es = context.dx;
context.si = 7798;
context._add(context.si, context.ax);
- context.cl = context.data.byte(context.si);
+ context.cl = context.ds.byte(context.si);
context.ax = context.pop();
context.push(context.cx);
context.dx = context.ds;
@@ -10032,19 +10032,19 @@ static void getdestinfo(Context & context) {
static void showarrows(Context & context) {
context.di = 116-12;
context.bx = 16;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 0;
context.ah = 0;
showframe(context);
context.di = 226+12;
context.bx = 16;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 1;
context.ah = 0;
showframe(context);
context.di = 280;
context.bx = 14;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 2;
context.ah = 0;
showframe(context);
@@ -10053,27 +10053,27 @@ static void showarrows(Context & context) {
static void nextdest(Context & context) {
duok:
- context._cmp(context.data.byte(100), 218);
+ context._cmp(context.ds.byte(100), 218);
if (context.flags.z()) goto alreadydu;
- context.data.byte(100) = 218;
+ context.ds.byte(100) = 218;
context.al = 28;
commandonly(context);
alreadydu:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto nodu;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nodu;
searchdestup:
- context._add(context.data.byte(183), 1);
- context._cmp(context.data.byte(183), 15);
+ context._add(context.ds.byte(183), 1);
+ context._cmp(context.ds.byte(183), 15);
if (!context.flags.z()) goto notlastdest;
- context.data.byte(183) = 0;
+ context.ds.byte(183) = 0;
notlastdest:
getdestinfo(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto searchdestup;
- context.data.byte(109) = 1;
+ context.ds.byte(109) = 1;
deltextline(context);
delpointer(context);
showpanel(context);
@@ -10091,27 +10091,27 @@ nodu:
static void lastdest(Context & context) {
ddok:
- context._cmp(context.data.byte(100), 219);
+ context._cmp(context.ds.byte(100), 219);
if (context.flags.z()) goto alreadydd;
- context.data.byte(100) = 219;
+ context.ds.byte(100) = 219;
context.al = 29;
commandonly(context);
alreadydd:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto nodd;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nodd;
searchdestdown:
- context._sub(context.data.byte(183), 1);
- context._cmp(context.data.byte(183), -1);
+ context._sub(context.ds.byte(183), 1);
+ context._cmp(context.ds.byte(183), -1);
if (!context.flags.z()) goto notfirstdest;
- context.data.byte(183) = 15;
+ context.ds.byte(183) = 15;
notfirstdest:
getdestinfo(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto searchdestdown;
- context.data.byte(109) = 1;
+ context.ds.byte(109) = 1;
deltextline(context);
delpointer(context);
showpanel(context);
@@ -10128,20 +10128,20 @@ nodd:
}
static void destselect(Context & context) {
- context._cmp(context.data.byte(100), 222);
+ context._cmp(context.ds.byte(100), 222);
if (context.flags.z()) goto alreadytrav;
- context.data.byte(100) = 222;
+ context.ds.byte(100) = 222;
context.al = 30;
commandonly(context);
alreadytrav:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto notrav;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notrav;
getdestinfo(context);
- context.al = context.data.byte(183);
- context.data.byte(188) = context.al;
+ context.al = context.ds.byte(183);
+ context.ds.byte(188) = context.al;
notrav:
return;
}
@@ -10152,7 +10152,7 @@ static void getlocation(Context & context) {
context.dx = context.ds;
context.es = context.dx;
context._add(context.bx, 7798);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
return;
}
@@ -10162,7 +10162,7 @@ static void setlocation(Context & context) {
context.dx = context.ds;
context.es = context.dx;
context._add(context.bx, 7798);
- context.data.byte(context.bx) = 1;
+ context.ds.byte(context.bx) = 1;
return;
}
@@ -10209,7 +10209,7 @@ clearedlocations:
context.dx = context.ds;
context.es = context.dx;
context._add(context.bx, 7798);
- context.data.byte(context.bx) = 0;
+ context.ds.byte(context.bx) = 0;
return;
}
@@ -10230,7 +10230,7 @@ static void readcitypic(Context & context) {
}
static void usemon(Context & context) {
- context.data.byte(55) = 0;
+ context.ds.byte(55) = 0;
context.es = context.cs;
context.di = 2895+1;
context.cx = 12;
@@ -10243,11 +10243,11 @@ static void usemon(Context & context) {
while(--context.cx) context._stosb();
context.es = context.cs;
context.di = 2807;
- context.data.byte(context.di) = 1;
+ context.ds.byte(context.di) = 1;
context._add(context.di, 26);
context.cx = 3;
keyloop:
- context.data.byte(context.di) = 0;
+ context.ds.byte(context.di) = 0;
context._add(context.di, 26);
if (--context.cx) goto keyloop;
createpanel(context);
@@ -10269,8 +10269,8 @@ keyloop:
turnonpower(context);
fadeupyellows(context);
fadeupmonfirst(context);
- context.data.word(318) = 76;
- context.data.word(320) = 141;
+ context.ds.word(318) = 76;
+ context.ds.word(320) = 141;
context.al = 1;
monmessage(context);
context.cx = 120;
@@ -10285,34 +10285,34 @@ keyloop:
hangoncurs(context);
printlogo(context);
scrollmonitor(context);
- context.data.word(394) = 0;
- context.data.word(396) = 0;
+ context.ds.word(394) = 0;
+ context.ds.word(396) = 0;
moreinput:
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
context.push(context.di);
context.push(context.bx);
input(context);
context.bx = context.pop();
context.di = context.pop();
- context.data.word(318) = context.di;
- context.data.word(320) = context.bx;
+ context.ds.word(318) = context.di;
+ context.ds.word(320) = context.bx;
execcommand(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto moreinput;
endmon:
getridoftemp(context);
getridoftempcharset(context);
- context.es = context.data.word(466);
+ context.es = context.ds.word(466);
deallocatemem(context);
- context.es = context.data.word(468);
+ context.es = context.ds.word(468);
deallocatemem(context);
- context.es = context.data.word(470);
+ context.es = context.ds.word(470);
deallocatemem(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
context.al = 26;
playchannel1(context);
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
restoreall(context);
redrawmainscrn(context);
worktoscreenm(context);
@@ -10322,25 +10322,25 @@ endmon:
static void printoutermon(Context & context) {
context.di = 40;
context.bx = 32;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 1;
context.ah = 0;
showframe(context);
context.di = 264;
context.bx = 32;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 2;
context.ah = 0;
showframe(context);
context.di = 40;
context.bx = 12;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 3;
context.ah = 0;
showframe(context);
context.di = 40;
context.bx = 164;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 4;
context.ah = 0;
showframe(context);
@@ -10348,7 +10348,7 @@ static void printoutermon(Context & context) {
}
static void loadpersonal(Context & context) {
- context.al = context.data.byte(9);
+ context.al = context.ds.byte(9);
context.dx = 2065;
context._cmp(context.al, 0);
if (context.flags.z()) goto foundpersonal;
@@ -10360,12 +10360,12 @@ static void loadpersonal(Context & context) {
foundpersonal:
openfile(context);
readheader(context);
- context.bx = context.data.word(context.di);
+ context.bx = context.ds.word(context.di);
context.push(context.bx);
context.cl = 4;
context._shr(context.bx, context.cl);
allocatemem(context);
- context.data.word(466) = context.ax;
+ context.ds.word(466) = context.ax;
context.ds = context.ax;
context.cx = context.pop();
context.dx = 0;
@@ -10375,7 +10375,7 @@ foundpersonal:
}
static void loadnews(Context & context) {
- context.al = context.data.byte(34);
+ context.al = context.ds.byte(34);
context.dx = 2091;
context._cmp(context.al, 0);
if (context.flags.z()) goto foundnews;
@@ -10389,12 +10389,12 @@ static void loadnews(Context & context) {
foundnews:
openfile(context);
readheader(context);
- context.bx = context.data.word(context.di);
+ context.bx = context.ds.word(context.di);
context.push(context.bx);
context.cl = 4;
context._shr(context.bx, context.cl);
allocatemem(context);
- context.data.word(468) = context.ax;
+ context.ds.word(468) = context.ax;
context.ds = context.ax;
context.cx = context.pop();
context.dx = 0;
@@ -10421,12 +10421,12 @@ static void loadcart(Context & context) {
gotcart:
openfile(context);
readheader(context);
- context.bx = context.data.word(context.di);
+ context.bx = context.ds.word(context.di);
context.push(context.bx);
context.cl = 4;
context._shr(context.bx, context.cl);
allocatemem(context);
- context.data.word(470) = context.ax;
+ context.ds.word(470) = context.ax;
context.ds = context.ax;
context.cx = context.pop();
context.dx = 0;
@@ -10445,7 +10445,7 @@ static void lookininterface(Context & context) {
checkinside(context);
context._cmp(context.cl, 114);
if (context.flags.z()) goto emptyinterface;
- context.al = context.data.byte(context.bx+15);
+ context.al = context.ds.byte(context.bx+15);
context._add(context.al, 1);
return;
emptyinterface:
@@ -10492,7 +10492,7 @@ chosenaccess:
static void powerlighton(Context & context) {
context.di = 257+4;
context.bx = 182;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 6;
context.ah = 0;
context.push(context.di);
@@ -10509,7 +10509,7 @@ static void powerlighton(Context & context) {
static void powerlightoff(Context & context) {
context.di = 257+4;
context.bx = 182;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 5;
context.ah = 0;
context.push(context.di);
@@ -10526,7 +10526,7 @@ static void powerlightoff(Context & context) {
static void accesslighton(Context & context) {
context.di = 74;
context.bx = 182;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 8;
context.ah = 0;
context.push(context.di);
@@ -10543,7 +10543,7 @@ static void accesslighton(Context & context) {
static void accesslightoff(Context & context) {
context.di = 74;
context.bx = 182;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 7;
context.ah = 0;
context.push(context.di);
@@ -10560,7 +10560,7 @@ static void accesslightoff(Context & context) {
static void locklighton(Context & context) {
context.di = 56;
context.bx = 182;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 10;
context.ah = 0;
context.push(context.di);
@@ -10577,7 +10577,7 @@ static void locklighton(Context & context) {
static void locklightoff(Context & context) {
context.di = 56;
context.bx = 182;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 9;
context.ah = 0;
context.push(context.di);
@@ -10597,62 +10597,62 @@ static void input(Context & context) {
context.cx = 64;
context.al = 0;
while(--context.cx) context._stosb();
- context.data.word(316) = 0;
+ context.ds.word(316) = 0;
context.al = '>';
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
- context.ds = context.data.word(406);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
+ context.ds = context.ds.word(406);
context.ah = 0;
printchar(context);
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
context.cl = 6;
context.ch = 8;
multidump(context);
- context._add(context.data.word(318), 6);
- context.ax = context.data.word(318);
- context.data.word(312) = context.ax;
- context.ax = context.data.word(320);
- context.data.word(314) = context.ax;
+ context._add(context.ds.word(318), 6);
+ context.ax = context.ds.word(318);
+ context.ds.word(312) = context.ax;
+ context.ax = context.ds.word(320);
+ context.ds.word(314) = context.ax;
waitkey:
printcurs(context);
vsync(context);
delcurs(context);
readkey(context);
- context.al = context.data.byte(142);
+ context.al = context.ds.byte(142);
context._cmp(context.al, 0);
if (context.flags.z()) goto waitkey;
context._cmp(context.al, 13);
if (context.flags.z()) goto endofinput;
context._cmp(context.al, 8);
if (!context.flags.z()) goto notdel;
- context._cmp(context.data.word(316), 0);
+ context._cmp(context.ds.word(316), 0);
if (context.flags.z()) goto waitkey;
delchar(context);
goto waitkey;
notdel:
- context._cmp(context.data.word(316), 28);
+ context._cmp(context.ds.word(316), 28);
if (context.flags.z()) goto waitkey;
- context._cmp(context.data.byte(142), 32);
+ context._cmp(context.ds.byte(142), 32);
if (!context.flags.z()) goto notleadingspace;
- context._cmp(context.data.word(316), 0);
+ context._cmp(context.ds.word(316), 0);
if (context.flags.z()) goto waitkey;
notleadingspace:
makecaps(context);
context.es = context.cs;
- context.si = context.data.word(316);
+ context.si = context.ds.word(316);
context._add(context.si, context.si);
context._add(context.si, 7944);
- context.data.byte(context.si) = context.al;
+ context.ds.byte(context.si) = context.al;
context._cmp(context.al, 'Z'+1);
if (!context.flags.c()) goto waitkey;
context.push(context.ax);
context.push(context.es);
context.push(context.si);
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
- context.ds = context.data.word(402);
- context.ax = context.data.word(316);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
+ context.ds = context.ds.word(402);
+ context.ax = context.ds.word(316);
context._xchg(context.al, context.ah);
context.si = context.ax;
context.cl = 8;
@@ -10663,18 +10663,18 @@ notleadingspace:
context.ax = context.pop();
context.push(context.es);
context.push(context.si);
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
- context.ds = context.data.word(406);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
+ context.ds = context.ds.word(406);
context.ah = 0;
printchar(context);
context.si = context.pop();
context.es = context.pop();
- context.data.byte(context.si+1) = context.cl;
+ context.ds.byte(context.si+1) = context.cl;
context.ch = 0;
- context._add(context.data.word(318), context.cx);
- context._add(context.data.word(316), 1);
- context._add(context.data.word(312), context.cx);
+ context._add(context.ds.word(318), context.cx);
+ context._add(context.ds.word(316), 1);
+ context._add(context.ds.word(312), context.cx);
goto waitkey;
endofinput:
return;
@@ -10689,27 +10689,27 @@ notupperc:
}
static void delchar(Context & context) {
- context._sub(context.data.word(316), 1);
- context.si = context.data.word(316);
+ context._sub(context.ds.word(316), 1);
+ context.si = context.ds.word(316);
context._add(context.si, context.si);
context.es = context.cs;
context._add(context.si, 7944);
- context.data.byte(context.si) = 0;
- context.al = context.data.byte(context.si+1);
- context.ah = 0;
- context._sub(context.data.word(318), context.ax);
- context._sub(context.data.word(312), context.ax);
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
- context.ds = context.data.word(402);
- context.ax = context.data.word(316);
+ context.ds.byte(context.si) = 0;
+ context.al = context.ds.byte(context.si+1);
+ context.ah = 0;
+ context._sub(context.ds.word(318), context.ax);
+ context._sub(context.ds.word(312), context.ax);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
+ context.ds = context.ds.word(402);
+ context.ax = context.ds.word(316);
context._xchg(context.al, context.ah);
context.si = context.ax;
context.cl = 8;
context.ch = 8;
multiput(context);
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
context.cl = context.al;
context.ch = 8;
multidump(context);
@@ -10721,7 +10721,7 @@ static void execcommand(Context & context) {
context.bx = 2776;
context.ds = context.cs;
context.si = 7944;
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._cmp(context.al, 0);
if (!context.flags.z()) goto notblankinp;
scrollmonitor(context);
@@ -10732,9 +10732,9 @@ comloop:
context.push(context.bx);
context.push(context.si);
comloop2:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 2);
- context.ah = context.data.byte(context.bx);
+ context.ah = context.ds.byte(context.bx);
context._add(context.bx, 1);
context._cmp(context.ah, 32);
if (context.flags.z()) goto foundcom;
@@ -10800,12 +10800,12 @@ static void dircom(Context & context) {
context.cx = 30;
randomaccess(context);
parser(context);
- context._cmp(context.data.byte(context.di+1), 0);
+ context._cmp(context.ds.byte(context.di+1), 0);
if (context.flags.z()) goto dirroot;
dirfile(context);
return;
dirroot:
- context.data.byte(269) = 0;
+ context.ds.byte(269) = 0;
context.ds = context.cs;
context.si = 2885;
context._add(context.si, 1);
@@ -10818,11 +10818,11 @@ dirroot:
scrollmonitor(context);
context.al = 9;
monmessage(context);
- context.es = context.data.word(466);
+ context.es = context.ds.word(466);
searchforfiles(context);
- context.es = context.data.word(468);
+ context.es = context.ds.word(468);
searchforfiles(context);
- context.es = context.data.word(470);
+ context.es = context.ds.word(470);
searchforfiles(context);
scrollmonitor(context);
return;
@@ -10831,7 +10831,7 @@ dirroot:
static void searchforfiles(Context & context) {
context.bx = 66*2;
directloop1:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._add(context.bx, 1);
context._cmp(context.al, '*');
if (context.flags.z()) goto endofdir;
@@ -10860,7 +10860,7 @@ signonloop2:
context._cmp(context.al, 32);
if (context.flags.z()) goto foundsign;
makecaps(context);
- context.ah = context.data.byte(context.di);
+ context.ah = context.ds.byte(context.di);
context._add(context.di, 1);
context._cmp(context.al, context.ah);
if (!context.flags.z()) goto nomatch;
@@ -10880,7 +10880,7 @@ foundsign:
context.cx = context.pop();
context.bx = context.si;
context.es = context.ds;
- context._cmp(context.data.byte(context.bx), 0);
+ context._cmp(context.ds.byte(context.bx), 0);
if (context.flags.z()) goto notyetassigned;
context.al = 17;
monmessage(context);
@@ -10891,15 +10891,15 @@ notyetassigned:
scrollmonitor(context);
context.al = 15;
monmessage(context);
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
context.push(context.di);
context.push(context.bx);
input(context);
context.bx = context.pop();
context.di = context.pop();
- context.data.word(318) = context.di;
- context.data.word(320) = context.bx;
+ context.ds.word(318) = context.di;
+ context.ds.word(320) = context.bx;
context.bx = context.pop();
context.es = context.pop();
context.push(context.es);
@@ -10909,7 +10909,7 @@ notyetassigned:
context.si = 7944;
checkpass:
context._lodsw();
- context.ah = context.data.byte(context.bx);
+ context.ah = context.ds.byte(context.bx);
context._add(context.bx, 1);
context._cmp(context.ah, 32);
if (context.flags.z()) goto passpassed;
@@ -10934,7 +10934,7 @@ passpassed:
scrollmonitor(context);
context.bx = context.pop();
context.es = context.pop();
- context.data.byte(context.bx) = 1;
+ context.ds.byte(context.bx) = 1;
return;
}
@@ -10950,7 +10950,7 @@ static void showkeys(Context & context) {
keysloop:
context.push(context.cx);
context.push(context.bx);
- context._cmp(context.data.byte(context.bx), 0);
+ context._cmp(context.ds.byte(context.bx), 0);
if (context.flags.z()) goto notheld;
context._add(context.bx, 14);
monprint(context);
@@ -10967,29 +10967,29 @@ static void read(Context & context) {
context.cx = 40;
randomaccess(context);
parser(context);
- context._cmp(context.data.byte(context.di+1), 0);
+ context._cmp(context.ds.byte(context.di+1), 0);
if (!context.flags.z()) goto okcom;
neterror(context);
return;
okcom:
context.es = context.cs;
context.di = 2895;
- context.ax = context.data.word(466);
- context.data.word(324) = context.ax;
+ context.ax = context.ds.word(466);
+ context.ds.word(324) = context.ax;
context.ds = context.ax;
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto foundfile2;
- context.ax = context.data.word(468);
- context.data.word(324) = context.ax;
+ context.ax = context.ds.word(468);
+ context.ds.word(324) = context.ax;
context.ds = context.ax;
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto foundfile2;
- context.ax = context.data.word(470);
- context.data.word(324) = context.ax;
+ context.ax = context.ds.word(470);
+ context.ds.word(324) = context.ax;
context.ds = context.ax;
context.si = 66*2;
searchforstring(context);
@@ -11006,12 +11006,12 @@ foundfile2:
keyok1:
context.es = context.cs;
context.di = 2883;
- context.ds = context.data.word(324);
+ context.ds = context.ds.word(324);
searchforstring(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto findtopictext;
- context.al = context.data.byte(270);
- context.data.byte(269) = context.al;
+ context.al = context.ds.byte(270);
+ context.ds.byte(269) = context.al;
context.al = 11;
monmessage(context);
return;
@@ -11025,7 +11025,7 @@ findtopictext:
context.es = context.pop();
moretopic:
monprint(context);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._cmp(context.al, 34);
if (context.flags.z()) goto endoftopic;
context._cmp(context.al, '=');
@@ -11047,10 +11047,10 @@ endoftopic:
static void dirfile(Context & context) {
context.al = 34;
- context.data.byte(context.di) = context.al;
+ context.ds.byte(context.di) = context.al;
context.push(context.es);
context.push(context.di);
- context.ds = context.data.word(466);
+ context.ds = context.ds.word(466);
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
@@ -11059,7 +11059,7 @@ static void dirfile(Context & context) {
context.es = context.pop();
context.push(context.es);
context.push(context.di);
- context.ds = context.data.word(468);
+ context.ds = context.ds.word(468);
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
@@ -11068,7 +11068,7 @@ static void dirfile(Context & context) {
context.es = context.pop();
context.push(context.es);
context.push(context.di);
- context.ds = context.data.word(470);
+ context.ds = context.ds.word(470);
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
@@ -11101,7 +11101,7 @@ keyok2:
context.bx = context.pop();
context.es = context.pop();
directloop2:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._add(context.bx, 1);
context._cmp(context.al, 34);
if (context.flags.z()) goto endofdir2;
@@ -11118,24 +11118,24 @@ endofdir2:
static void getkeyandlogo(Context & context) {
context._add(context.bx, 1);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._sub(context.al, 48);
- context.data.byte(271) = context.al;
+ context.ds.byte(271) = context.al;
context._add(context.bx, 2);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._sub(context.al, 48);
- context.data.byte(276) = context.al;
+ context.ds.byte(276) = context.al;
context._add(context.bx, 1);
context.push(context.es);
context.push(context.bx);
- context.al = context.data.byte(276);
+ context.al = context.ds.byte(276);
context.ah = 0;
context.cx = 26;
context._mul(context.cx);
context.es = context.cs;
context.bx = 2807;
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._cmp(context.al, 1);
if (context.flags.z()) goto keyok;
context.push(context.bx);
@@ -11154,14 +11154,14 @@ static void getkeyandlogo(Context & context) {
keyok:
context.bx = context.pop();
context.es = context.pop();
- context.al = context.data.byte(271);
- context.data.byte(269) = context.al;
+ context.al = context.ds.byte(271);
+ context.ds.byte(269) = context.al;
context.al = 0;
return;
}
static void searchforstring(Context & context) {
- context.dl = context.data.byte(context.di);
+ context.dl = context.ds.byte(context.di);
context.cx = context.di;
restartlook:
context.di = context.cx;
@@ -11177,7 +11177,7 @@ keeplooking:
context._cmp(context.al, 34);
if (context.flags.z()) goto notfound;
nofindingtopic:
- context.ah = context.data.byte(context.di);
+ context.ah = context.ds.byte(context.di);
context._cmp(context.al, context.dl);
if (!context.flags.z()) goto notbracket;
context._add(context.dh, 1);
@@ -11242,10 +11242,10 @@ static void scrollmonitor(Context & context) {
context.push(context.es);
context.push(context.ds);
printlogo(context);
- context.di = context.data.word(318);
- context.bx = context.data.word(320);
+ context.di = context.ds.word(318);
+ context.bx = context.ds.word(320);
printundermon(context);
- context.ax = context.data.word(320);
+ context.ax = context.ds.word(320);
worktoscreen(context);
context.al = 25;
playchannel1(context);
@@ -11261,11 +11261,11 @@ static void scrollmonitor(Context & context) {
}
static void lockmon(Context & context) {
- context._cmp(context.data.byte(392), 57);
+ context._cmp(context.ds.byte(392), 57);
if (!context.flags.z()) goto notlock;
locklighton(context);
lockloop:
- context._cmp(context.data.byte(392), 57);
+ context._cmp(context.ds.byte(392), 57);
if (context.flags.z()) goto lockloop;
locklightoff(context);
notlock:
@@ -11273,10 +11273,10 @@ notlock:
}
static void monitorlogo(Context & context) {
- context.al = context.data.byte(269);
- context._cmp(context.al, context.data.byte(270));
+ context.al = context.ds.byte(269);
+ context._cmp(context.al, context.ds.byte(270));
if (context.flags.z()) goto notnewlogo;
- context.data.byte(270) = context.al;
+ context.ds.byte(270) = context.al;
printlogo(context);
printundermon(context);
worktoscreen(context);
@@ -11295,7 +11295,7 @@ notnewlogo:
static void printlogo(Context & context) {
context.di = 56;
context.bx = 32;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 0;
context.ah = 0;
showframe(context);
@@ -11308,13 +11308,13 @@ static void showcurrentfile(Context & context) {
context.bx = 37;
context.si = 2895+1;
curfileloop:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._cmp(context.al, 0);
if (context.flags.z()) goto finishfile;
context._add(context.si, 1);
context.push(context.si);
modifychar(context);
- context.ds = context.data.word(406);
+ context.ds = context.ds.word(406);
context.ah = 0;
printchar(context);
context.si = context.pop();
@@ -11324,12 +11324,12 @@ finishfile:
}
static void monmessage(Context & context) {
- context.es = context.data.word(466);
+ context.es = context.ds.word(466);
context.bx = 66*2;
context.cl = context.al;
context.ch = 0;
monmessageloop:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._add(context.bx, 1);
context._cmp(context.al, '+');
if (!context.flags.z()) goto monmessageloop;
@@ -11339,7 +11339,7 @@ monmessageloop:
}
static void processtrigger(Context & context) {
- context._cmp(context.data.byte(55), '1');
+ context._cmp(context.ds.byte(55), '1');
if (!context.flags.z()) goto notfirsttrigger;
context.al = 8;
setlocation(context);
@@ -11347,7 +11347,7 @@ static void processtrigger(Context & context) {
triggermessage(context);
return;
notfirsttrigger:
- context._cmp(context.data.byte(55), '2');
+ context._cmp(context.ds.byte(55), '2');
if (!context.flags.z()) goto notsecondtrigger;
context.al = 9;
setlocation(context);
@@ -11355,7 +11355,7 @@ notfirsttrigger:
triggermessage(context);
return;
notsecondtrigger:
- context._cmp(context.data.byte(55), '3');
+ context._cmp(context.ds.byte(55), '3');
if (!context.flags.z()) goto notthirdtrigger;
context.al = 2;
setlocation(context);
@@ -11371,7 +11371,7 @@ static void triggermessage(Context & context) {
context.bx = 153;
context.cl = 200;
context.ch = 63;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
multiget(context);
context.ax = context.pop();
@@ -11390,11 +11390,11 @@ static void triggermessage(Context & context) {
context.bx = 153;
context.cl = 200;
context.ch = 63;
- context.ds = context.data.word(402);
+ context.ds = context.ds.word(402);
context.si = 0;
multiput(context);
worktoscreen(context);
- context.data.byte(55) = 0;
+ context.ds.byte(55) = 0;
return;
}
@@ -11405,13 +11405,13 @@ static void printcurs(Context & context) {
context.push(context.dx);
context.push(context.bx);
context.push(context.es);
- context.di = context.data.word(312);
- context.bx = context.data.word(314);
+ context.di = context.ds.word(312);
+ context.bx = context.ds.word(314);
context.cl = 6;
context.ch = 8;
context._sub(context.bx, 3);
context.ch = 11;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0;
context.push(context.di);
context.push(context.bx);
@@ -11420,14 +11420,14 @@ static void printcurs(Context & context) {
context.di = context.pop();
context.push(context.bx);
context.push(context.di);
- context._add(context.data.word(138), 1);
- context.ax = context.data.word(138);
+ context._add(context.ds.word(138), 1);
+ context.ax = context.ds.word(138);
context._and(context.al, 16);
if (!context.flags.z()) goto flashcurs;
context.al = '/';
context._sub(context.al, 32);
context.ah = 0;
- context.ds = context.data.word(406);
+ context.ds = context.ds.word(406);
showframe(context);
flashcurs:
context.di = context.pop();
@@ -11452,8 +11452,8 @@ static void delcurs(Context & context) {
context.push(context.ds);
context.push(context.dx);
context.push(context.si);
- context.di = context.data.word(312);
- context.bx = context.data.word(314);
+ context.di = context.ds.word(312);
+ context.bx = context.ds.word(314);
context.cl = 6;
context.ch = 8;
context._sub(context.bx, 3);
@@ -11461,7 +11461,7 @@ static void delcurs(Context & context) {
context.push(context.di);
context.push(context.bx);
context.push(context.cx);
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0;
multiput(context);
context.cx = context.pop();
@@ -11479,17 +11479,17 @@ finishcurdel:
}
static void useobject(Context & context) {
- context.data.byte(95) = 255;
- context._cmp(context.data.byte(100), 229);
+ context.ds.byte(95) = 255;
+ context._cmp(context.ds.byte(100), 229);
if (context.flags.z()) goto alreadyuse;
- context.data.byte(100) = 229;
- context.bl = context.data.byte(99);
- context.bh = context.data.byte(102);
+ context.ds.byte(100) = 229;
+ context.bl = context.ds.byte(99);
+ context.bh = context.ds.byte(102);
context.al = 51;
commandwithob(context);
alreadyuse:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nouse;
context._and(context.ax, 1);
if (!context.flags.z()) goto douse;
@@ -11501,13 +11501,13 @@ douse:
}
static void useroutine(Context & context) {
- context._cmp(context.data.byte(184), 50);
+ context._cmp(context.ds.byte(184), 50);
if (context.flags.c()) goto nodream7;
- context._cmp(context.data.byte(232), 0);
+ context._cmp(context.ds.byte(232), 0);
if (!context.flags.z()) goto powerok;
return;
powerok:
- context.data.byte(232) = 0;
+ context.ds.byte(232) = 0;
nodream7:
getanyad(context);
context.dx = context.ds;
@@ -11517,19 +11517,19 @@ checkuselist:
context.push(context.si);
context._lodsb();
context._sub(context.al, 'A');
- context._cmp(context.al, context.data.byte(context.bx+12));
+ context._cmp(context.al, context.ds.byte(context.bx+12));
if (!context.flags.z()) goto failed;
context._lodsb();
context._sub(context.al, 'A');
- context._cmp(context.al, context.data.byte(context.bx+13));
+ context._cmp(context.al, context.ds.byte(context.bx+13));
if (!context.flags.z()) goto failed;
context._lodsb();
context._sub(context.al, 'A');
- context._cmp(context.al, context.data.byte(context.bx+14));
+ context._cmp(context.al, context.ds.byte(context.bx+14));
if (!context.flags.z()) goto failed;
context._lodsb();
context._sub(context.al, 'A');
- context._cmp(context.al, context.data.byte(context.bx+15));
+ context._cmp(context.al, context.ds.byte(context.bx+15));
if (!context.flags.z()) goto failed;
context._lodsw();
context.si = context.pop();
@@ -11538,7 +11538,7 @@ checkuselist:
failed:
context.si = context.pop();
context._add(context.si, 6);
- context._cmp(context.data.byte(context.si), 140);
+ context._cmp(context.ds.byte(context.si), 140);
if (!context.flags.z()) goto checkuselist;
delpointer(context);
getobtextstart(context);
@@ -11548,7 +11548,7 @@ failed:
findnextcolon(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto cantuse2;
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._cmp(context.al, 0);
if (context.flags.z()) goto cantuse2;
usetext(context);
@@ -11571,7 +11571,7 @@ cantuse2:
context.cx = 50;
hangonp(context);
putbackobstuff(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
return;
}
@@ -11584,21 +11584,21 @@ static void wheelsound(Context & context) {
}
static void runtap(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto tapwith;
withwhat(context);
return;
tapwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
context.dh = 'E';
compare(context);
if (context.flags.z()) goto fillcupfromtap;
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -11611,9 +11611,9 @@ tapwith:
putbackobstuff(context);
return;
fillcupfromtap:
- context.al = context.data.byte(95);
+ context.al = context.ds.byte(95);
getexad(context);
- context.data.byte(context.bx+15) = 'F'-'A';
+ context.ds.byte(context.bx+15) = 'F'-'A';
context.al = 8;
playchannel1(context);
context.cx = 300;
@@ -11638,9 +11638,9 @@ static void playguitar(Context & context) {
}
static void hotelcontrol(Context & context) {
- context._cmp(context.data.byte(184), 21);
+ context._cmp(context.ds.byte(184), 21);
if (!context.flags.z()) goto notrightcont;
- context._cmp(context.data.byte(148), 33);
+ context._cmp(context.ds.byte(148), 33);
if (!context.flags.z()) goto notrightcont;
showfirstuse(context);
putbackobstuff(context);
@@ -11660,22 +11660,22 @@ static void hotelbell(Context & context) {
}
static void opentomb(Context & context) {
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showfirstuse(context);
- context.data.word(21) = 35*2;
- context.data.word(23) = 1;
- context.data.word(25) = 33;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 35*2;
+ context.ds.word(23) = 1;
+ context.ds.word(25) = 33;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void usetrainer(Context & context) {
getanyad(context);
- context._cmp(context.data.byte(context.bx+2), 4);
+ context._cmp(context.ds.byte(context.bx+2), 4);
if (!context.flags.z()) goto notheldtrainer;
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
makeworn(context);
showseconduse(context);
putbackobstuff(context);
@@ -11705,21 +11705,21 @@ static void nothelderror(Context & context) {
}
static void usepipe(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto pipewith;
withwhat(context);
return;
pipewith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
context.dh = 'E';
compare(context);
if (context.flags.z()) goto fillcup;
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -11736,9 +11736,9 @@ fillcup:
context.al = 36;
showpuztext(context);
putbackobstuff(context);
- context.al = context.data.byte(95);
+ context.al = context.ds.byte(95);
getexad(context);
- context.data.byte(context.bx+15) = 'F'-'A';
+ context.ds.byte(context.bx+15) = 'F'-'A';
return;
alreadyfull:
context.cx = 300;
@@ -11749,35 +11749,35 @@ alreadyfull:
}
static void usefullcart(Context & context) {
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
context.al = 2;
- context.ah = context.data.byte(185);
+ context.ah = context.ds.byte(185);
context._add(context.ah, 6);
turnanypathon(context);
- context.data.byte(475) = 4;
- context.data.byte(133) = 4;
- context.data.byte(135) = 4;
- context.data.byte(477) = 4;
+ context.ds.byte(475) = 4;
+ context.ds.byte(133) = 4;
+ context.ds.byte(135) = 4;
+ context.ds.byte(477) = 4;
findxyfrompath(context);
- context.data.byte(187) = 1;
+ context.ds.byte(187) = 1;
showfirstuse(context);
- context.data.word(21) = 72*2;
- context.data.word(23) = 58;
- context.data.word(25) = 142;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 72*2;
+ context.ds.word(23) = 58;
+ context.ds.word(25) = 142;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void useplinth(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto plinthwith;
withwhat(context);
return;
plinthwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'D';
context.ch = 'K';
context.dl = 'E';
@@ -11788,80 +11788,80 @@ plinthwith:
putbackobstuff(context);
return;
isrightkey:
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showseconduse(context);
- context.data.word(21) = 220;
- context.data.word(23) = 0;
- context.data.word(25) = 104;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
- context.al = context.data.byte(67);
- context.data.byte(188) = context.al;
+ context.ds.word(21) = 220;
+ context.ds.word(23) = 0;
+ context.ds.word(25) = 104;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
+ context.al = context.ds.byte(67);
+ context.ds.byte(188) = context.al;
return;
}
static void chewy(Context & context) {
showfirstuse(context);
getanyad(context);
- context.data.byte(context.bx+2) = 255;
- context.data.byte(103) = 1;
+ context.ds.byte(context.bx+2) = 255;
+ context.ds.byte(103) = 1;
return;
}
static void useladder(Context & context) {
showfirstuse(context);
- context._sub(context.data.byte(148), 11);
+ context._sub(context.ds.byte(148), 11);
findroominloc(context);
- context.data.byte(133) = 6;
- context.data.byte(135) = 6;
- context.data.byte(475) = 0;
- context.data.byte(478) = 0;
- context.data.byte(477) = 0;
+ context.ds.byte(133) = 6;
+ context.ds.byte(135) = 6;
+ context.ds.byte(475) = 0;
+ context.ds.byte(478) = 0;
+ context.ds.byte(477) = 0;
findxyfrompath(context);
- context.data.byte(187) = 1;
- context.data.byte(103) = 1;
+ context.ds.byte(187) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void useladderb(Context & context) {
showfirstuse(context);
- context._add(context.data.byte(148), 11);
+ context._add(context.ds.byte(148), 11);
findroominloc(context);
- context.data.byte(133) = 2;
- context.data.byte(135) = 2;
- context.data.byte(475) = 1;
- context.data.byte(478) = 1;
- context.data.byte(477) = 1;
+ context.ds.byte(133) = 2;
+ context.ds.byte(135) = 2;
+ context.ds.byte(475) = 1;
+ context.ds.byte(478) = 1;
+ context.ds.byte(477) = 1;
findxyfrompath(context);
- context.data.byte(187) = 1;
- context.data.byte(103) = 1;
+ context.ds.byte(187) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void slabdoora(Context & context) {
showfirstuse(context);
- context.data.byte(103) = 1;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(23) = 13;
- context._cmp(context.data.byte(66), 3);
+ context.ds.byte(103) = 1;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(23) = 13;
+ context._cmp(context.ds.byte(66), 3);
if (!context.flags.z()) goto slabawrong;
- context._add(context.data.byte(2), 1);
- context.data.word(21) = 60;
- context.data.word(25) = 42;
- context.data.byte(188) = 47;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(21) = 60;
+ context.ds.word(25) = 42;
+ context.ds.byte(188) = 47;
return;
slabawrong:
- context.data.word(21) = 40;
- context.data.word(25) = 34;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 40;
+ context.ds.word(25) = 34;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
}
static void slabdoorb(Context & context) {
- context._cmp(context.data.byte(66), 1);
+ context._cmp(context.ds.byte(66), 1);
if (!context.flags.z()) goto slabbwrong;
context.al = 'S';
context.ah = 'H';
@@ -11876,120 +11876,120 @@ static void slabdoorb(Context & context) {
return;
gotcrystal:
showfirstuse(context);
- context._add(context.data.byte(2), 1);
- context.data.byte(103) = 1;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(23) = 44;
- context.data.word(21) = 60;
- context.data.word(25) = 71;
- context.data.byte(188) = 47;
+ context._add(context.ds.byte(2), 1);
+ context.ds.byte(103) = 1;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(23) = 44;
+ context.ds.word(21) = 60;
+ context.ds.word(25) = 71;
+ context.ds.byte(188) = 47;
return;
slabbwrong:
showfirstuse(context);
- context.data.byte(103) = 1;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(23) = 44;
- context.data.word(21) = 40;
- context.data.word(25) = 63;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.byte(103) = 1;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(23) = 44;
+ context.ds.word(21) = 40;
+ context.ds.word(25) = 63;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
}
static void slabdoord(Context & context) {
showfirstuse(context);
- context.data.byte(103) = 1;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(23) = 75;
- context._cmp(context.data.byte(66), 0);
+ context.ds.byte(103) = 1;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(23) = 75;
+ context._cmp(context.ds.byte(66), 0);
if (!context.flags.z()) goto slabcwrong;
- context._add(context.data.byte(2), 1);
- context.data.word(21) = 60;
- context.data.word(25) = 102;
- context.data.byte(188) = 47;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(21) = 60;
+ context.ds.word(25) = 102;
+ context.ds.byte(188) = 47;
return;
slabcwrong:
- context.data.word(21) = 40;
- context.data.word(25) = 94;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 40;
+ context.ds.word(25) = 94;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
}
static void slabdoorc(Context & context) {
showfirstuse(context);
- context.data.byte(103) = 1;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(23) = 108;
- context._cmp(context.data.byte(66), 4);
+ context.ds.byte(103) = 1;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(23) = 108;
+ context._cmp(context.ds.byte(66), 4);
if (!context.flags.z()) goto slabdwrong;
- context._add(context.data.byte(2), 1);
- context.data.word(21) = 60;
- context.data.word(25) = 135;
- context.data.byte(188) = 47;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(21) = 60;
+ context.ds.word(25) = 135;
+ context.ds.byte(188) = 47;
return;
slabdwrong:
- context.data.word(21) = 40;
- context.data.word(25) = 127;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 40;
+ context.ds.word(25) = 127;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
}
static void slabdoore(Context & context) {
showfirstuse(context);
- context.data.byte(103) = 1;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(23) = 141;
- context._cmp(context.data.byte(66), 5);
+ context.ds.byte(103) = 1;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(23) = 141;
+ context._cmp(context.ds.byte(66), 5);
if (!context.flags.z()) goto slabewrong;
- context._add(context.data.byte(2), 1);
- context.data.word(21) = 60;
- context.data.word(25) = 168;
- context.data.byte(188) = 47;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(21) = 60;
+ context.ds.word(25) = 168;
+ context.ds.byte(188) = 47;
return;
slabewrong:
- context.data.word(21) = 40;
- context.data.word(25) = 160;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 40;
+ context.ds.word(25) = 160;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
}
static void slabdoorf(Context & context) {
showfirstuse(context);
- context.data.byte(103) = 1;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(23) = 171;
- context._cmp(context.data.byte(66), 2);
+ context.ds.byte(103) = 1;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(23) = 171;
+ context._cmp(context.ds.byte(66), 2);
if (!context.flags.z()) goto slabfwrong;
- context._add(context.data.byte(2), 1);
- context.data.word(21) = 60;
- context.data.word(25) = 197;
- context.data.byte(188) = 47;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(21) = 60;
+ context.ds.word(25) = 197;
+ context.ds.byte(188) = 47;
return;
slabfwrong:
- context.data.word(21) = 40;
- context.data.word(25) = 189;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 40;
+ context.ds.word(25) = 189;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
}
static void useslab(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto slabwith;
withwhat(context);
return;
slabwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'J';
context.ch = 'E';
context.dl = 'W';
@@ -12002,10 +12002,10 @@ slabwith:
putbackobstuff(context);
return;
nextslab:
- context.al = context.data.byte(95);
+ context.al = context.ds.byte(95);
getexad(context);
- context.data.byte(context.bx+2) = 0;
- context.al = context.data.byte(99);
+ context.ds.byte(context.bx+2) = 0;
+ context.al = context.ds.byte(99);
context.push(context.ax);
removesetobject(context);
context.ax = context.pop();
@@ -12017,26 +12017,26 @@ nextslab:
if (!context.flags.z()) goto notlastslab;
context.al = 0;
turnpathon(context);
- context.data.word(21) = 22;
- context.data.word(23) = 35;
- context.data.word(25) = 48;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 22;
+ context.ds.word(23) = 35;
+ context.ds.word(25) = 48;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
notlastslab:
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showfirstuse(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void usecart(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto cartwith;
withwhat(context);
return;
cartwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'R';
context.ch = 'O';
context.dl = 'C';
@@ -12049,31 +12049,31 @@ cartwith:
putbackobstuff(context);
return;
nextcart:
- context.al = context.data.byte(95);
+ context.al = context.ds.byte(95);
getexad(context);
- context.data.byte(context.bx+2) = 0;
- context.al = context.data.byte(99);
+ context.ds.byte(context.bx+2) = 0;
+ context.al = context.ds.byte(99);
context.push(context.ax);
removesetobject(context);
context.ax = context.pop();
context._add(context.al, 1);
placesetobject(context);
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
context.al = 17;
playchannel1(context);
showfirstuse(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void useclearbox(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto clearboxwith;
withwhat(context);
return;
clearboxwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'R';
context.ch = 'A';
context.dl = 'I';
@@ -12086,57 +12086,57 @@ clearboxwith:
putbackobstuff(context);
return;
openbox:
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showfirstuse(context);
- context.data.word(21) = 80;
- context.data.word(23) = 67;
- context.data.word(25) = 105;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 80;
+ context.ds.word(23) = 67;
+ context.ds.word(25) = 105;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void usecoveredbox(Context & context) {
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showfirstuse(context);
- context.data.word(21) = 50;
- context.data.word(23) = 41;
- context.data.word(25) = 66;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 50;
+ context.ds.word(23) = 41;
+ context.ds.word(25) = 66;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void userailing(Context & context) {
showfirstuse(context);
- context.data.word(21) = 80;
- context.data.word(23) = 0;
- context.data.word(25) = 30;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
- context.data.byte(56) = 4;
+ context.ds.word(21) = 80;
+ context.ds.word(23) = 0;
+ context.ds.word(25) = 30;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
+ context.ds.byte(56) = 4;
return;
}
static void useopenbox(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto openboxwith;
withwhat(context);
return;
openboxwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
context.dh = 'F';
compare(context);
if (context.flags.z()) goto destoryopenbox;
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -12146,21 +12146,21 @@ openboxwith:
showfirstuse(context);
return;
destoryopenbox:
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
context.cx = 300;
context.al = 37;
showpuztext(context);
- context.al = context.data.byte(95);
+ context.al = context.ds.byte(95);
getexad(context);
- context.data.byte(context.bx+15) = 'E'-'A';
- context.data.word(21) = 140;
- context.data.word(23) = 105;
- context.data.word(25) = 181;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.byte(context.bx+15) = 'E'-'A';
+ context.ds.word(21) = 140;
+ context.ds.word(23) = 105;
+ context.ds.word(25) = 181;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
context.al = 4;
turnpathon(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
openboxwrong:
context.cx = 300;
@@ -12171,11 +12171,11 @@ openboxwrong:
}
static void wearwatch(Context & context) {
- context._cmp(context.data.byte(3), 1);
+ context._cmp(context.ds.byte(3), 1);
if (context.flags.z()) goto wearingwatch;
showfirstuse(context);
- context.data.byte(3) = 1;
- context.data.byte(103) = 1;
+ context.ds.byte(3) = 1;
+ context.ds.byte(103) = 1;
getanyad(context);
makeworn(context);
return;
@@ -12186,11 +12186,11 @@ wearingwatch:
}
static void wearshades(Context & context) {
- context._cmp(context.data.byte(4), 1);
+ context._cmp(context.ds.byte(4), 1);
if (context.flags.z()) goto wearingshades;
- context.data.byte(4) = 1;
+ context.ds.byte(4) = 1;
showfirstuse(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
getanyad(context);
makeworn(context);
return;
@@ -12201,17 +12201,17 @@ wearingshades:
}
static void sitdowninbar(Context & context) {
- context._cmp(context.data.byte(32), -1);
+ context._cmp(context.ds.byte(32), -1);
if (!context.flags.z()) goto satdown;
showfirstuse(context);
- context.data.word(21) = 50;
- context.data.word(23) = 55;
- context.data.word(25) = 71;
- context.data.word(29) = 73;
- context.data.word(31) = 83;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 50;
+ context.ds.word(23) = 55;
+ context.ds.word(25) = 71;
+ context.ds.word(29) = 73;
+ context.ds.word(31) = 83;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
satdown:
showseconduse(context);
@@ -12221,23 +12221,23 @@ satdown:
static void usechurchhole(Context & context) {
showfirstuse(context);
- context.data.byte(103) = 1;
- context.data.word(21) = 28;
- context.data.word(23) = 13;
- context.data.word(25) = 26;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.byte(103) = 1;
+ context.ds.word(21) = 28;
+ context.ds.word(23) = 13;
+ context.ds.word(25) = 26;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
}
static void usehole(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto holewith;
withwhat(context);
return;
holewith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'H';
context.ch = 'N';
context.dl = 'D';
@@ -12253,11 +12253,11 @@ righthand:
showfirstuse(context);
context.al = 86;
removesetobject(context);
- context.al = context.data.byte(95);
+ context.al = context.ds.byte(95);
getexad(context);
- context.data.byte(context.bx+2) = 255;
- context.data.byte(47) = 1;
- context.data.byte(103) = 1;
+ context.ds.byte(context.bx+2) = 255;
+ context.ds.byte(47) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12276,43 +12276,43 @@ static void usealtar(Context & context) {
findexobject(context);
context._cmp(context.al, 114);
if (context.flags.z()) goto thingsonaltar;
- context._cmp(context.data.byte(47), 1);
+ context._cmp(context.ds.byte(47), 1);
if (context.flags.z()) goto movealtar;
context.cx = 300;
context.al = 23;
showpuztext(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
movealtar:
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showseconduse(context);
- context.data.word(21) = 160;
- context.data.word(23) = 81;
- context.data.word(25) = 174;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 160;
+ context.ds.word(23) = 81;
+ context.ds.word(25) = 174;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
context.al = 47;
context.bl = 52;
context.bh = 76;
context.cx = 32;
context.dx = 98;
setuptimeduse(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
thingsonaltar:
showfirstuse(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void opentvdoor(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto tvdoorwith;
withwhat(context);
return;
tvdoorwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'U';
context.ch = 'L';
context.dl = 'O';
@@ -12326,8 +12326,8 @@ tvdoorwith:
return;
keyontv:
showfirstuse(context);
- context.data.byte(37) = 0;
- context.data.byte(103) = 1;
+ context.ds.byte(37) = 0;
+ context.ds.byte(103) = 1;
return;
}
@@ -12335,7 +12335,7 @@ static void usedryer(Context & context) {
context.al = 12;
playchannel1(context);
showfirstuse(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12345,13 +12345,13 @@ static void openlouis(Context & context) {
context.cl = 3;
context.ch = 8;
entercode(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void nextcolon(Context & context) {
lookcolon:
- context.al = context.data.byte(context.si);
+ context.al = context.ds.byte(context.si);
context._add(context.si, 1);
context._cmp(context.al, ':');
if (!context.flags.z()) goto lookcolon;
@@ -12364,17 +12364,17 @@ static void openyourneighbour(Context & context) {
context.cl = 255;
context.ch = 255;
entercode(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void usewindow(Context & context) {
- context._cmp(context.data.byte(475), 6);
+ context._cmp(context.ds.byte(475), 6);
if (!context.flags.z()) goto notonbalc;
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showfirstuse(context);
- context.data.byte(188) = 29;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 29;
+ context.ds.byte(103) = 1;
return;
notonbalc:
showseconduse(context);
@@ -12398,19 +12398,19 @@ static void usebalcony(Context & context) {
turnpathoff(context);
context.al = 5;
turnpathoff(context);
- context._add(context.data.byte(2), 1);
- context.data.byte(475) = 6;
- context.data.byte(478) = 6;
- context.data.byte(477) = 6;
+ context._add(context.ds.byte(2), 1);
+ context.ds.byte(475) = 6;
+ context.ds.byte(478) = 6;
+ context.ds.byte(477) = 6;
findxyfrompath(context);
switchryanoff(context);
- context.data.byte(187) = 1;
- context.data.word(21) = 30*2;
- context.data.word(23) = 183;
- context.data.word(25) = 212;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.byte(187) = 1;
+ context.ds.word(21) = 30*2;
+ context.ds.word(23) = 183;
+ context.ds.word(25) = 212;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12420,7 +12420,7 @@ static void openryan(Context & context) {
context.cl = 0;
context.ch = 6;
entercode(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12430,7 +12430,7 @@ static void openpoolboss(Context & context) {
context.cl = 2;
context.ch = 2;
entercode(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12440,7 +12440,7 @@ static void openeden(Context & context) {
context.cl = 6;
context.ch = 5;
entercode(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12450,7 +12450,7 @@ static void opensarters(Context & context) {
context.cl = 3;
context.ch = 3;
entercode(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12458,13 +12458,13 @@ static void isitright(Context & context) {
context.bx = context.ds;
context.es = context.bx;
context.bx = 8350;
- context._cmp(context.data.byte(context.bx+0), context.al);
+ context._cmp(context.ds.byte(context.bx+0), context.al);
if (!context.flags.z()) goto notright;
- context._cmp(context.data.byte(context.bx+1), context.ah);
+ context._cmp(context.ds.byte(context.bx+1), context.ah);
if (!context.flags.z()) goto notright;
- context._cmp(context.data.byte(context.bx+2), context.cl);
+ context._cmp(context.ds.byte(context.bx+2), context.cl);
if (!context.flags.z()) goto notright;
- context._cmp(context.data.byte(context.bx+3), context.ch);
+ context._cmp(context.ds.byte(context.bx+3), context.ch);
notright:
return;
}
@@ -12478,13 +12478,13 @@ static void drawitall(Context & context) {
}
static void openhoteldoor(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto hoteldoorwith;
withwhat(context);
return;
hoteldoorwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'K';
context.ch = 'E';
context.dl = 'Y';
@@ -12500,19 +12500,19 @@ keyonhotel1:
context.al = 16;
playchannel1(context);
showfirstuse(context);
- context.data.byte(37) = 0;
- context.data.byte(103) = 1;
+ context.ds.byte(37) = 0;
+ context.ds.byte(103) = 1;
return;
}
static void openhoteldoor2(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto hoteldoorwith2;
withwhat(context);
return;
hoteldoorwith2:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'K';
context.ch = 'E';
context.dl = 'Y';
@@ -12533,13 +12533,13 @@ keyonhotel2:
}
static void grafittidoor(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto grafwith;
withwhat(context);
return;
grafwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'A';
context.ch = 'P';
context.dl = 'E';
@@ -12558,16 +12558,16 @@ dograf:
}
static void trapdoor(Context & context) {
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
showfirstuse(context);
switchryanoff(context);
- context.data.word(21) = 20*2;
- context.data.word(23) = 181;
- context.data.word(25) = 197;
- context.data.byte(188) = 26;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 20*2;
+ context.ds.word(23) = 181;
+ context.ds.word(25) = 197;
+ context.ds.byte(188) = 26;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -12575,10 +12575,10 @@ static void callhotellift(Context & context) {
context.al = 12;
playchannel1(context);
showfirstuse(context);
- context.data.byte(39) = 8;
- context.data.byte(103) = 1;
- context.data.byte(478) = 5;
- context.data.byte(477) = 5;
+ context.ds.byte(39) = 8;
+ context.ds.byte(103) = 1;
+ context.ds.byte(478) = 5;
+ context.ds.byte(477) = 5;
autosetwalk(context);
context.al = 4;
turnpathon(context);
@@ -12587,19 +12587,19 @@ static void callhotellift(Context & context) {
static void calledenslift(Context & context) {
showfirstuse(context);
- context.data.byte(39) = 8;
- context.data.byte(103) = 1;
+ context.ds.byte(39) = 8;
+ context.ds.byte(103) = 1;
context.al = 2;
turnpathon(context);
return;
}
static void calledensdlift(Context & context) {
- context._cmp(context.data.byte(35), 1);
+ context._cmp(context.ds.byte(35), 1);
if (context.flags.z()) goto edensdhere;
showfirstuse(context);
- context.data.byte(39) = 8;
- context.data.byte(103) = 1;
+ context.ds.byte(39) = 8;
+ context.ds.byte(103) = 1;
context.al = 2;
turnpathon(context);
return;
@@ -12610,13 +12610,13 @@ edensdhere:
}
static void usepoolreader(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto poolwith;
withwhat(context);
return;
poolwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'M';
context.ch = 'E';
context.dl = 'M';
@@ -12629,7 +12629,7 @@ poolwith:
putbackobstuff(context);
return;
openpool:
- context._cmp(context.data.byte(48), 1);
+ context._cmp(context.ds.byte(48), 1);
if (context.flags.z()) goto canopenpool;
showseconduse(context);
putbackobstuff(context);
@@ -12638,19 +12638,19 @@ canopenpool:
context.al = 17;
playchannel1(context);
showfirstuse(context);
- context.data.byte(39) = 6;
- context.data.byte(103) = 1;
+ context.ds.byte(39) = 6;
+ context.ds.byte(103) = 1;
return;
}
static void uselighter(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gotlighterwith;
withwhat(context);
return;
gotlighterwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'S';
context.ch = 'M';
context.dl = 'K';
@@ -12664,10 +12664,10 @@ cigarette:
context.cx = 300;
context.al = 9;
showpuztext(context);
- context.al = context.data.byte(95);
+ context.al = context.ds.byte(95);
getexad(context);
- context.data.byte(context.bx+2) = 255;
- context.data.byte(103) = 1;
+ context.ds.byte(context.bx+2) = 255;
+ context.ds.byte(103) = 1;
return;
}
@@ -12683,13 +12683,13 @@ static void showseconduse(Context & context) {
}
static void usecardreader1(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gotreader1with;
withwhat(context);
return;
gotreader1with:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'S';
context.dl = 'H';
@@ -12702,9 +12702,9 @@ gotreader1with:
putbackobstuff(context);
return;
correctcard:
- context._cmp(context.data.byte(49), 0);
+ context._cmp(context.ds.byte(49), 0);
if (context.flags.z()) goto notyet;
- context._cmp(context.data.word(16), 0);
+ context._cmp(context.ds.word(16), 0);
if (context.flags.z()) goto getscash;
context.cx = 300;
context.al = 17;
@@ -12717,9 +12717,9 @@ getscash:
context.cx = 300;
context.al = 18;
showpuztext(context);
- context._add(context.data.byte(2), 1);
- context.data.word(16) = 12432;
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(16) = 12432;
+ context.ds.byte(103) = 1;
return;
notyet:
showfirstuse(context);
@@ -12728,13 +12728,13 @@ notyet:
}
static void usecardreader2(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gotreader2with;
withwhat(context);
return;
gotreader2with:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'S';
context.dl = 'H';
@@ -12747,11 +12747,11 @@ gotreader2with:
putbackobstuff(context);
return;
correctcard2:
- context._cmp(context.data.byte(50), 0);
+ context._cmp(context.ds.byte(50), 0);
if (context.flags.z()) goto notyetboss;
- context._cmp(context.data.word(16), 0);
+ context._cmp(context.ds.word(16), 0);
if (context.flags.z()) goto nocash;
- context._cmp(context.data.byte(46), 2);
+ context._cmp(context.ds.byte(46), 2);
if (context.flags.z()) goto alreadygotnew;
context.al = 18;
playchannel1(context);
@@ -12760,10 +12760,10 @@ correctcard2:
showpuztext(context);
context.al = 94;
placesetobject(context);
- context.data.byte(46) = 1;
- context._sub(context.data.word(16), 2000);
- context._add(context.data.byte(2), 1);
- context.data.byte(103) = 1;
+ context.ds.byte(46) = 1;
+ context._sub(context.ds.word(16), 2000);
+ context._add(context.ds.byte(2), 1);
+ context.ds.byte(103) = 1;
return;
nocash:
context.cx = 300;
@@ -12784,13 +12784,13 @@ notyetboss:
}
static void usecardreader3(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gotreader3with;
withwhat(context);
return;
gotreader3with:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'S';
context.dl = 'H';
@@ -12803,19 +12803,19 @@ gotreader3with:
putbackobstuff(context);
return;
rightcard:
- context._cmp(context.data.byte(51), 0);
+ context._cmp(context.ds.byte(51), 0);
if (context.flags.z()) goto notyetrecep;
- context._cmp(context.data.byte(52), 0);
+ context._cmp(context.ds.byte(52), 0);
if (!context.flags.z()) goto alreadyusedit;
context.al = 16;
playchannel1(context);
context.cx = 300;
context.al = 25;
showpuztext(context);
- context._add(context.data.byte(2), 1);
- context._sub(context.data.word(16), 8300);
- context.data.byte(52) = 1;
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context._sub(context.ds.word(16), 8300);
+ context.ds.byte(52) = 1;
+ context.ds.byte(103) = 1;
return;
alreadyusedit:
context.cx = 300;
@@ -12838,11 +12838,11 @@ static void usecashcard(Context & context) {
showman(context);
context.di = 114;
context.bx = 120-3;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 39;
context.ah = 0;
showframe(context);
- context.ax = context.data.word(16);
+ context.ax = context.ds.word(16);
moneypoke(context);
getobtextstart(context);
nextcolon(context);
@@ -12857,7 +12857,7 @@ static void usecashcard(Context & context) {
context.bx = 155;
context.es = context.cs;
context.si = 3385;
- context.data.word(71) = 91*2+75;
+ context.ds.word(71) = 91*2+75;
context.al = 0;
context.ah = 0;
context.dl = 240;
@@ -12866,12 +12866,12 @@ static void usecashcard(Context & context) {
context.bx = 155;
context.es = context.cs;
context.si = 3390;
- context.data.word(71) = 91*2+85;
+ context.ds.word(71) = 91*2+85;
context.al = 0;
context.ah = 0;
context.dl = 240;
printdirect(context);
- context.data.word(71) = 0;
+ context.ds.word(71) = 0;
worktoscreenm(context);
context.cx = 400;
hangonp(context);
@@ -12882,13 +12882,13 @@ static void usecashcard(Context & context) {
}
static void lookatcard(Context & context) {
- context.data.byte(131) = 1;
+ context.ds.byte(131) = 1;
getridofreels(context);
loadkeypad(context);
createpanel2(context);
context.di = 160;
context.bx = 80;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 42;
context.ah = 128;
showframe(context);
@@ -12910,7 +12910,7 @@ static void lookatcard(Context & context) {
createpanel2(context);
context.di = 160;
context.bx = 80;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 42;
context.ah = 128;
showframe(context);
@@ -12925,7 +12925,7 @@ static void lookatcard(Context & context) {
worktoscreenm(context);
context.cx = 200;
hangonw(context);
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
getridoftemp(context);
restorereels(context);
putbackobstuff(context);
@@ -12940,7 +12940,7 @@ numberpoke0:
context._sub(context.ax, 10000);
if (!context.flags.c()) goto numberpoke0;
context._add(context.ax, 10000);
- context.data.byte(context.bx) = context.cl;
+ context.ds.byte(context.bx) = context.cl;
context._add(context.bx, 1);
context.cl = 48-1;
numberpoke1:
@@ -12948,7 +12948,7 @@ numberpoke1:
context._sub(context.ax, 1000);
if (!context.flags.c()) goto numberpoke1;
context._add(context.ax, 1000);
- context.data.byte(context.bx) = context.cl;
+ context.ds.byte(context.bx) = context.cl;
context._add(context.bx, 1);
context.cl = 48-1;
numberpoke2:
@@ -12956,7 +12956,7 @@ numberpoke2:
context._sub(context.ax, 100);
if (!context.flags.c()) goto numberpoke2;
context._add(context.ax, 100);
- context.data.byte(context.bx) = context.cl;
+ context.ds.byte(context.bx) = context.cl;
context._add(context.bx, 1);
context.cl = 48-1;
numberpoke3:
@@ -12964,39 +12964,39 @@ numberpoke3:
context._sub(context.ax, 10);
if (!context.flags.c()) goto numberpoke3;
context._add(context.ax, 10);
- context.data.byte(context.bx) = context.cl;
+ context.ds.byte(context.bx) = context.cl;
context.bx = 3390;
context._add(context.al, 48);
- context.data.byte(context.bx) = context.al;
+ context.ds.byte(context.bx) = context.al;
return;
}
static void usecontrol(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gotcontrolwith;
withwhat(context);
return;
gotcontrolwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'K';
context.ch = 'E';
context.dl = 'Y';
context.dh = 'A';
compare(context);
if (context.flags.z()) goto rightkey;
- context._cmp(context.data.byte(184), 21);
+ context._cmp(context.ds.byte(184), 21);
if (!context.flags.z()) goto balls;
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'K';
context.ch = 'N';
context.dl = 'F';
context.dh = 'E';
compare(context);
if (context.flags.z()) goto jimmycontrols;
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'A';
context.ch = 'X';
context.dl = 'E';
@@ -13010,26 +13010,26 @@ balls:
rightkey:
context.al = 16;
playchannel1(context);
- context._cmp(context.data.byte(9), 21);
+ context._cmp(context.ds.byte(9), 21);
if (context.flags.z()) goto goingdown;
context.cx = 300;
context.al = 0;
showpuztext(context);
- context.data.byte(188) = 21;
- context.data.byte(40) = 8;
- context.data.byte(39) = 0;
- context.data.word(21) = 80;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 21;
+ context.ds.byte(40) = 8;
+ context.ds.byte(39) = 0;
+ context.ds.word(21) = 80;
+ context.ds.byte(103) = 1;
return;
goingdown:
context.cx = 300;
context.al = 3;
showpuztext(context);
- context.data.byte(188) = 30;
- context.data.byte(40) = 8;
- context.data.byte(39) = 0;
- context.data.word(21) = 80;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 30;
+ context.ds.byte(40) = 8;
+ context.ds.byte(39) = 0;
+ context.ds.word(21) = 80;
+ context.ds.byte(103) = 1;
return;
jimmycontrols:
context.al = 50;
@@ -13049,41 +13049,41 @@ jimmycontrols:
context.cx = 300;
context.al = 10;
showpuztext(context);
- context._add(context.data.byte(2), 1);
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context.ds.byte(103) = 1;
return;
axeoncontrols:
context.cx = 300;
context.al = 16;
showpuztext(context);
- context._add(context.data.byte(2), 1);
+ context._add(context.ds.byte(2), 1);
putbackobstuff(context);
return;
}
static void usehatch(Context & context) {
showfirstuse(context);
- context.data.byte(188) = 40;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 40;
+ context.ds.byte(103) = 1;
return;
}
static void usewire(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gotwirewith;
withwhat(context);
return;
gotwirewith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'K';
context.ch = 'N';
context.dl = 'F';
context.dh = 'E';
compare(context);
if (context.flags.z()) goto wireknife;
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'A';
context.ch = 'X';
context.dl = 'E';
@@ -13109,8 +13109,8 @@ wireknife:
context.cx = 300;
context.al = 11;
showpuztext(context);
- context._add(context.data.byte(2), 1);
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context.ds.byte(103) = 1;
return;
}
@@ -13120,27 +13120,27 @@ static void usehandle(Context & context) {
context.cl = 'T';
context.ch = 'W';
findsetobject(context);
- context.al = context.data.byte(context.bx+58);
+ context.al = context.ds.byte(context.bx+58);
context._cmp(context.al, 255);
if (!context.flags.z()) goto havecutwire;
context.cx = 300;
context.al = 12;
showpuztext(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
havecutwire:
context.cx = 300;
context.al = 13;
showpuztext(context);
- context.data.byte(188) = 22;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 22;
+ context.ds.byte(103) = 1;
return;
}
static void useelevator1(Context & context) {
showfirstuse(context);
selectlocation(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -13156,47 +13156,47 @@ static void showfirstuse(Context & context) {
static void useelevator3(Context & context) {
showfirstuse(context);
- context.data.byte(40) = 20;
- context.data.byte(188) = 34;
- context.data.word(23) = 46;
- context.data.word(25) = 63;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.word(21) = 80;
- context.data.byte(103) = 1;
+ context.ds.byte(40) = 20;
+ context.ds.byte(188) = 34;
+ context.ds.word(23) = 46;
+ context.ds.word(25) = 63;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.word(21) = 80;
+ context.ds.byte(103) = 1;
return;
}
static void useelevator4(Context & context) {
showfirstuse(context);
- context.data.word(23) = 0;
- context.data.word(25) = 11;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(40) = 20;
- context.data.word(21) = 80;
- context.data.byte(103) = 1;
- context.data.byte(188) = 24;
+ context.ds.word(23) = 0;
+ context.ds.word(25) = 11;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(40) = 20;
+ context.ds.word(21) = 80;
+ context.ds.byte(103) = 1;
+ context.ds.byte(188) = 24;
return;
}
static void useelevator2(Context & context) {
- context._cmp(context.data.byte(9), 23);
+ context._cmp(context.ds.byte(9), 23);
if (context.flags.z()) goto inpoolhall;
showfirstuse(context);
- context.data.byte(188) = 23;
- context.data.byte(40) = 20;
- context.data.byte(39) = 0;
- context.data.word(21) = 80;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 23;
+ context.ds.byte(40) = 20;
+ context.ds.byte(39) = 0;
+ context.ds.word(21) = 80;
+ context.ds.byte(103) = 1;
return;
inpoolhall:
showfirstuse(context);
- context.data.byte(188) = 31;
- context.data.byte(40) = 20;
- context.data.byte(39) = 0;
- context.data.word(21) = 80;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 31;
+ context.ds.byte(40) = 20;
+ context.ds.byte(39) = 0;
+ context.ds.word(21) = 80;
+ context.ds.byte(103) = 1;
return;
}
@@ -13205,20 +13205,20 @@ static void useelevator5(Context & context) {
placesetobject(context);
context.al = 0;
removesetobject(context);
- context.data.byte(188) = 20;
- context.data.word(21) = 80;
- context.data.byte(35) = 1;
- context.data.byte(40) = 8;
- context.data.byte(103) = 1;
+ context.ds.byte(188) = 20;
+ context.ds.word(21) = 80;
+ context.ds.byte(35) = 1;
+ context.ds.byte(40) = 8;
+ context.ds.byte(103) = 1;
return;
}
static void usekey(Context & context) {
- context._cmp(context.data.byte(9), 5);
+ context._cmp(context.ds.byte(9), 5);
if (context.flags.z()) goto usekey1;
- context._cmp(context.data.byte(9), 30);
+ context._cmp(context.ds.byte(9), 30);
if (context.flags.z()) goto usekey1;
- context._cmp(context.data.byte(9), 21);
+ context._cmp(context.ds.byte(9), 21);
if (context.flags.z()) goto usekey2;
context.cx = 200;
context.al = 1;
@@ -13226,25 +13226,25 @@ static void usekey(Context & context) {
putbackobstuff(context);
return;
usekey1:
- context._cmp(context.data.byte(148), 22);
+ context._cmp(context.ds.byte(148), 22);
if (!context.flags.z()) goto wrongroom1;
- context._cmp(context.data.byte(149), 10);
+ context._cmp(context.ds.byte(149), 10);
if (!context.flags.z()) goto wrongroom1;
context.cx = 300;
context.al = 0;
showpuztext(context);
- context.data.byte(40) = 100;
- context.data.byte(103) = 1;
+ context.ds.byte(40) = 100;
+ context.ds.byte(103) = 1;
return;
usekey2:
- context._cmp(context.data.byte(148), 11);
+ context._cmp(context.ds.byte(148), 11);
if (!context.flags.z()) goto wrongroom1;
- context._cmp(context.data.byte(149), 10);
+ context._cmp(context.ds.byte(149), 10);
if (!context.flags.z()) goto wrongroom1;
context.cx = 300;
context.al = 3;
showpuztext(context);
- context.data.byte(188) = 30;
+ context.ds.byte(188) = 30;
context.al = 2;
fadescreendown(context);
showfirstuse(context);
@@ -13259,7 +13259,7 @@ wrongroom1:
}
static void usestereo(Context & context) {
- context._cmp(context.data.byte(9), 0);
+ context._cmp(context.ds.byte(9), 0);
if (context.flags.z()) goto stereook;
context.cx = 400;
context.al = 4;
@@ -13267,9 +13267,9 @@ static void usestereo(Context & context) {
putbackobstuff(context);
return;
stereook:
- context._cmp(context.data.byte(148), 11);
+ context._cmp(context.ds.byte(148), 11);
if (!context.flags.z()) goto stereonotok;
- context._cmp(context.data.byte(149), 0);
+ context._cmp(context.ds.byte(149), 0);
if (context.flags.z()) goto stereook2;
stereonotok:
context.cx = 400;
@@ -13293,13 +13293,13 @@ stereook2:
putbackobstuff(context);
getanyad(context);
context.al = 255;
- context.data.byte(context.bx+10) = context.al;
+ context.ds.byte(context.bx+10) = context.al;
return;
cdinside:
getanyad(context);
- context.al = context.data.byte(context.bx+10);
+ context.al = context.ds.byte(context.bx+10);
context._xor(context.al, 1);
- context.data.byte(context.bx+10) = context.al;
+ context.ds.byte(context.bx+10) = context.al;
context._cmp(context.al, 255);
if (context.flags.z()) goto stereoon;
context.al = 7;
@@ -13316,8 +13316,8 @@ stereoon:
}
static void usecooker(Context & context) {
- context.al = context.data.byte(99);
- context.ah = context.data.byte(102);
+ context.al = context.ds.byte(99);
+ context.ah = context.ds.byte(102);
checkinside(context);
context._cmp(context.cl, 114);
if (!context.flags.z()) goto foodinside;
@@ -13331,14 +13331,14 @@ foodinside:
}
static void useaxe(Context & context) {
- context._cmp(context.data.byte(184), 22);
+ context._cmp(context.ds.byte(184), 22);
if (!context.flags.z()) goto notinpool;
- context._cmp(context.data.byte(149), 10);
+ context._cmp(context.ds.byte(149), 10);
if (context.flags.z()) goto axeondoor;
showseconduse(context);
- context._add(context.data.byte(2), 1);
- context.data.byte(65) = 2;
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context.ds.byte(65) = 2;
+ context.ds.byte(103) = 1;
removeobfrominv(context);
return;
notinpool:
@@ -13349,25 +13349,25 @@ axeondoor:
context.al = 15;
context.cx = 300;
showpuztext(context);
- context._add(context.data.byte(2), 1);
- context.data.word(21) = 46*2;
- context.data.word(23) = 31;
- context.data.word(25) = 77;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(21) = 46*2;
+ context.ds.word(23) = 31;
+ context.ds.word(25) = 77;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
return;
}
static void useelvdoor(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gotdoorwith;
withwhat(context);
return;
gotdoorwith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'A';
context.ch = 'X';
context.dl = 'E';
@@ -13383,13 +13383,13 @@ axeondoor:
context.al = 15;
context.cx = 300;
showpuztext(context);
- context._add(context.data.byte(2), 1);
- context.data.word(21) = 46*2;
- context.data.word(23) = 31;
- context.data.word(25) = 77;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context.ds.word(21) = 46*2;
+ context.ds.word(23) = 31;
+ context.ds.word(25) = 77;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
@@ -13398,8 +13398,8 @@ static void withwhat(Context & context) {
showpanel(context);
showman(context);
showexit(context);
- context.al = context.data.byte(99);
- context.ah = context.data.byte(102);
+ context.al = context.ds.byte(99);
+ context.ah = context.ds.byte(102);
context.es = context.cs;
context.di = 5674;
copyname(context);
@@ -13409,7 +13409,7 @@ static void withwhat(Context & context) {
context.al = 63;
context.ah = 2;
printmessage2(context);
- context.di = context.data.word(84);
+ context.di = context.ds.word(84);
context._add(context.di, 5);
context.bx = 21;
context.es = context.cs;
@@ -13418,7 +13418,7 @@ static void withwhat(Context & context) {
context.al = 0;
context.ah = 0;
printdirect(context);
- context.di = context.data.word(84);
+ context.di = context.ds.word(84);
context._add(context.di, 5);
context.bx = 21;
context.dl = 200;
@@ -13426,38 +13426,38 @@ static void withwhat(Context & context) {
context.ah = 3;
printmessage2(context);
fillryan(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.data.byte(104) = 2;
+ context.ds.byte(104) = 2;
return;
}
static void selectob(Context & context) {
findinvpos(context);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.al, 255);
if (!context.flags.z()) goto canselectob;
blank(context);
return;
canselectob:
- context.data.byte(95) = context.al;
- context.data.byte(96) = context.ah;
- context._cmp(context.ax, context.data.word(94));
+ context.ds.byte(95) = context.al;
+ context.ds.byte(96) = context.ah;
+ context._cmp(context.ax, context.ds.word(94));
if (!context.flags.z()) goto diffsub3;
- context._cmp(context.data.byte(100), 221);
+ context._cmp(context.ds.byte(100), 221);
if (context.flags.z()) goto alreadyselob;
- context.data.byte(100) = 221;
+ context.ds.byte(100) = 221;
diffsub3:
- context.data.word(94) = context.ax;
+ context.ds.word(94) = context.ax;
context.bx = context.ax;
context.al = 0;
commandwithob(context);
alreadyselob:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notselob;
context._and(context.ax, 1);
if (!context.flags.z()) goto doselob;
@@ -13465,7 +13465,7 @@ notselob:
return;
doselob:
delpointer(context);
- context.data.byte(104) = 0;
+ context.ds.byte(104) = 0;
useroutine(context);
return;
}
@@ -13480,9 +13480,9 @@ static void compare(Context & context) {
getanyaddir(context);
context.dx = context.pop();
context.cx = context.pop();
- context._cmp(context.data.word(context.bx+12), context.cx);
+ context._cmp(context.ds.word(context.bx+12), context.cx);
if (!context.flags.z()) goto comparefin;
- context._cmp(context.data.word(context.bx+14), context.dx);
+ context._cmp(context.ds.word(context.bx+14), context.dx);
comparefin:
return;
}
@@ -13492,17 +13492,17 @@ static void findsetobject(Context & context) {
context._sub(context.ah, 'A');
context._sub(context.cl, 'A');
context._sub(context.ch, 'A');
- context.es = context.data.word(428);
+ context.es = context.ds.word(428);
context.bx = 0;
context.dl = 0;
findsetloop:
- context._cmp(context.al, context.data.byte(context.bx+12));
+ context._cmp(context.al, context.ds.byte(context.bx+12));
if (!context.flags.z()) goto nofind;
- context._cmp(context.ah, context.data.byte(context.bx+13));
+ context._cmp(context.ah, context.ds.byte(context.bx+13));
if (!context.flags.z()) goto nofind;
- context._cmp(context.cl, context.data.byte(context.bx+14));
+ context._cmp(context.cl, context.ds.byte(context.bx+14));
if (!context.flags.z()) goto nofind;
- context._cmp(context.ch, context.data.byte(context.bx+15));
+ context._cmp(context.ch, context.ds.byte(context.bx+15));
if (!context.flags.z()) goto nofind;
context.al = context.dl;
return;
@@ -13520,17 +13520,17 @@ static void findexobject(Context & context) {
context._sub(context.ah, 'A');
context._sub(context.cl, 'A');
context._sub(context.ch, 'A');
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.bx = 0+2080+30000;
context.dl = 0;
findexloop:
- context._cmp(context.al, context.data.byte(context.bx+12));
+ context._cmp(context.al, context.ds.byte(context.bx+12));
if (!context.flags.z()) goto nofindex;
- context._cmp(context.ah, context.data.byte(context.bx+13));
+ context._cmp(context.ah, context.ds.byte(context.bx+13));
if (!context.flags.z()) goto nofindex;
- context._cmp(context.cl, context.data.byte(context.bx+14));
+ context._cmp(context.cl, context.ds.byte(context.bx+14));
if (!context.flags.z()) goto nofindex;
- context._cmp(context.ch, context.data.byte(context.bx+15));
+ context._cmp(context.ch, context.ds.byte(context.bx+15));
if (!context.flags.z()) goto nofindex;
context.al = context.dl;
return;
@@ -13548,19 +13548,19 @@ static void isryanholding(Context & context) {
context._sub(context.ah, 'A');
context._sub(context.cl, 'A');
context._sub(context.ch, 'A');
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.bx = 0+2080+30000;
context.dl = 0;
searchinv:
- context._cmp(context.data.byte(context.bx+2), 4);
+ context._cmp(context.ds.byte(context.bx+2), 4);
if (!context.flags.z()) goto nofindininv;
- context._cmp(context.al, context.data.byte(context.bx+12));
+ context._cmp(context.al, context.ds.byte(context.bx+12));
if (!context.flags.z()) goto nofindininv;
- context._cmp(context.ah, context.data.byte(context.bx+13));
+ context._cmp(context.ah, context.ds.byte(context.bx+13));
if (!context.flags.z()) goto nofindininv;
- context._cmp(context.cl, context.data.byte(context.bx+14));
+ context._cmp(context.cl, context.ds.byte(context.bx+14));
if (!context.flags.z()) goto nofindininv;
- context._cmp(context.ch, context.data.byte(context.bx+15));
+ context._cmp(context.ch, context.ds.byte(context.bx+15));
if (!context.flags.z()) goto nofindininv;
context.al = context.dl;
context._cmp(context.al, 114);
@@ -13576,13 +13576,13 @@ nofindininv:
}
static void checkinside(Context & context) {
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.bx = 0+2080+30000;
context.cl = 0;
insideloop:
- context._cmp(context.al, context.data.byte(context.bx+3));
+ context._cmp(context.al, context.ds.byte(context.bx+3));
if (!context.flags.z()) goto notfoundinside;
- context._cmp(context.ah, context.data.byte(context.bx+2));
+ context._cmp(context.ah, context.ds.byte(context.bx+2));
if (!context.flags.z()) goto notfoundinside;
return;
notfoundinside:
@@ -13622,7 +13622,7 @@ static void putbackobstuff(Context & context) {
obpicture(context);
describeob(context);
undertextline(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -13657,8 +13657,8 @@ static void findpuztext(Context & context) {
context.ah = 0;
context.si = context.ax;
context._add(context.si, context.si);
- context.es = context.data.word(454);
- context.ax = context.data.word(context.si);
+ context.es = context.ds.word(454);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, 66*2);
context.si = context.ax;
return;
@@ -13671,7 +13671,7 @@ static void placesetobject(Context & context) {
context.ch = 0;
findormake(context);
getsetad(context);
- context.data.byte(context.bx+58) = 0;
+ context.ds.byte(context.bx+58) = 0;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -13684,7 +13684,7 @@ static void removesetobject(Context & context) {
context.ch = 0;
findormake(context);
getsetad(context);
- context.data.byte(context.bx+58) = 255;
+ context.ds.byte(context.bx+58) = 255;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -13694,7 +13694,7 @@ static void issetobonmap(Context & context) {
context.push(context.es);
context.push(context.bx);
getsetad(context);
- context.al = context.data.byte(context.bx+58);
+ context.al = context.ds.byte(context.bx+58);
context.bx = context.pop();
context.es = context.pop();
context._cmp(context.al, 0);
@@ -13708,7 +13708,7 @@ static void placefreeobject(Context & context) {
context.ch = 1;
findormake(context);
getfreead(context);
- context.data.byte(context.bx+2) = 0;
+ context.ds.byte(context.bx+2) = 0;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -13718,7 +13718,7 @@ static void removefreeobject(Context & context) {
context.push(context.es);
context.push(context.bx);
getfreead(context);
- context.data.byte(context.bx+2) = 255;
+ context.ds.byte(context.bx+2) = 255;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -13727,49 +13727,49 @@ static void removefreeobject(Context & context) {
static void findormake(Context & context) {
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80);
context.push(context.ax);
- context.es = context.data.word(412);
- context.ah = context.data.byte(184);
+ context.es = context.ds.word(412);
+ context.ah = context.ds.byte(184);
changeloop:
- context._cmp(context.data.byte(context.bx), 255);
+ context._cmp(context.ds.byte(context.bx), 255);
if (context.flags.z()) goto haventfound;
- context._cmp(context.ax, context.data.word(context.bx));
+ context._cmp(context.ax, context.ds.word(context.bx));
if (!context.flags.z()) goto nofoundchange;
- context._cmp(context.ch, context.data.byte(context.bx+3));
+ context._cmp(context.ch, context.ds.byte(context.bx+3));
if (context.flags.z()) goto foundchange;
nofoundchange:
context._add(context.bx, 4);
goto changeloop;
foundchange:
context.ax = context.pop();
- context.data.byte(context.bx+2) = context.cl;
+ context.ds.byte(context.bx+2) = context.cl;
return;
haventfound:
- context.data.word(context.bx) = context.ax;
- context.data.word(context.bx+2) = context.cx;
+ context.ds.word(context.bx) = context.ax;
+ context.ds.word(context.bx+2) = context.cx;
context.ax = context.pop();
return;
}
static void switchryanon(Context & context) {
- context.data.byte(63) = 255;
+ context.ds.byte(63) = 255;
return;
}
static void switchryanoff(Context & context) {
- context.data.byte(63) = 1;
+ context.ds.byte(63) = 1;
return;
}
static void setallchanges(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80);
setallloop:
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto endsetloop;
- context.cx = context.data.word(context.bx+2);
+ context.cx = context.ds.word(context.bx+2);
context._add(context.bx, 4);
- context._cmp(context.ah, context.data.byte(184));
+ context._cmp(context.ah, context.ds.byte(184));
if (!context.flags.z()) goto setallloop;
context.push(context.es);
context.push(context.bx);
@@ -13801,43 +13801,43 @@ path:
context.bx = context.pop();
context._add(context.bx, context.ax);
context._add(context.bx, 0);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
context.cx = context.pop();
- context.data.byte(context.bx+6) = context.cl;
+ context.ds.byte(context.bx+6) = context.cl;
nopath:
return;
object:
context.push(context.cx);
getsetad(context);
context.cx = context.pop();
- context.data.byte(context.bx+58) = context.cl;
+ context.ds.byte(context.bx+58) = context.cl;
return;
freeobject:
context.push(context.cx);
getfreead(context);
context.cx = context.pop();
- context._cmp(context.data.byte(context.bx+2), 255);
+ context._cmp(context.ds.byte(context.bx+2), 255);
if (!context.flags.z()) goto beenpickedup;
- context.data.byte(context.bx+2) = context.cl;
+ context.ds.byte(context.bx+2) = context.cl;
beenpickedup:
return;
}
static void autoappear(Context & context) {
- context._cmp(context.data.byte(9), 32);
+ context._cmp(context.ds.byte(9), 32);
if (!context.flags.z()) goto notinalley;
context.al = 5;
resetlocation(context);
context.al = 10;
setlocation(context);
- context.data.byte(183) = 10;
+ context.ds.byte(183) = 10;
return;
notinalley:
- context._cmp(context.data.byte(184), 24);
+ context._cmp(context.ds.byte(184), 24);
if (!context.flags.z()) goto notinedens;
- context._cmp(context.data.byte(42), 1);
+ context._cmp(context.ds.byte(42), 1);
if (!context.flags.z()) goto edenspart2;
- context._add(context.data.byte(42), 1);
+ context._add(context.ds.byte(42), 1);
context.al = 44;
placesetobject(context);
context.al = 18;
@@ -13856,7 +13856,7 @@ notinalley:
removesetobject(context);
return;
edenspart2:
- context._cmp(context.data.byte(43), 1);
+ context._cmp(context.ds.byte(43), 1);
if (!context.flags.z()) goto notedens2;
context.al = 44;
removesetobject(context);
@@ -13864,23 +13864,23 @@ edenspart2:
removesetobject(context);
context.al = 55;
placesetobject(context);
- context._add(context.data.byte(43), 1);
+ context._add(context.ds.byte(43), 1);
notedens2:
return;
notinedens:
- context._cmp(context.data.byte(184), 25);
+ context._cmp(context.ds.byte(184), 25);
if (!context.flags.z()) goto notonsartroof;
- context.data.byte(34) = 3;
+ context.ds.byte(34) = 3;
context.al = 6;
resetlocation(context);
context.al = 11;
setlocation(context);
- context.data.byte(183) = 11;
+ context.ds.byte(183) = 11;
return;
notonsartroof:
- context._cmp(context.data.byte(184), 2);
+ context._cmp(context.ds.byte(184), 2);
if (!context.flags.z()) goto notinlouiss;
- context._cmp(context.data.byte(41), 0);
+ context._cmp(context.ds.byte(41), 0);
if (context.flags.z()) goto notinlouiss;
context.al = 23;
placesetobject(context);
@@ -13889,153 +13889,153 @@ notinlouiss:
}
static void getundertimed(Context & context) {
- context.al = context.data.byte(335);
+ context.al = context.ds.byte(335);
context._sub(context.al, 3);
context.ah = 0;
context.bx = context.ax;
- context.al = context.data.byte(336);
+ context.al = context.ds.byte(336);
context.ah = 0;
context.di = context.ax;
context.ch = 30;
context.cl = 240;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4);
multiget(context);
return;
}
static void putundertimed(Context & context) {
- context.al = context.data.byte(335);
+ context.al = context.ds.byte(335);
context._sub(context.al, 3);
context.ah = 0;
context.bx = context.ax;
- context.al = context.data.byte(336);
+ context.al = context.ds.byte(336);
context.ah = 0;
context.di = context.ax;
context.ch = 30;
context.cl = 240;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4);
multiput(context);
return;
}
static void dumptimedtext(Context & context) {
- context._cmp(context.data.byte(337), 1);
+ context._cmp(context.ds.byte(337), 1);
if (!context.flags.z()) goto nodumptimed;
- context.al = context.data.byte(335);
+ context.al = context.ds.byte(335);
context._sub(context.al, 3);
context.ah = 0;
context.bx = context.ax;
- context.al = context.data.byte(336);
+ context.al = context.ds.byte(336);
context.ah = 0;
context.di = context.ax;
context.cl = 240;
context.ch = 30;
multidump(context);
- context.data.byte(337) = 0;
+ context.ds.byte(337) = 0;
nodumptimed:
return;
}
static void setuptimeduse(Context & context) {
- context._cmp(context.data.word(328), 0);
+ context._cmp(context.ds.word(328), 0);
if (!context.flags.z()) goto cantsetup;
- context.data.byte(335) = context.bh;
- context.data.byte(336) = context.bl;
- context.data.word(330) = context.cx;
+ context.ds.byte(335) = context.bh;
+ context.ds.byte(336) = context.bl;
+ context.ds.word(330) = context.cx;
context._add(context.dx, context.cx);
- context.data.word(328) = context.dx;
+ context.ds.word(328) = context.dx;
context.bl = context.al;
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(454);
+ context.es = context.ds.word(454);
context.cx = 66*2;
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, context.cx);
context.bx = context.ax;
- context.data.word(332) = context.es;
- context.data.word(334) = context.bx;
+ context.ds.word(332) = context.es;
+ context.ds.word(334) = context.bx;
cantsetup:
return;
}
static void setuptimedtemp(Context & context) {
- context._cmp(context.data.word(328), 0);
+ context._cmp(context.ds.word(328), 0);
if (!context.flags.z()) goto cantsetup2;
- context.data.byte(335) = context.bh;
- context.data.byte(336) = context.bl;
- context.data.word(330) = context.cx;
+ context.ds.byte(335) = context.bh;
+ context.ds.byte(336) = context.bl;
+ context.ds.word(330) = context.cx;
context._add(context.dx, context.cx);
- context.data.word(328) = context.dx;
+ context.ds.word(328) = context.dx;
context.bl = context.al;
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(466);
+ context.es = context.ds.word(466);
context.cx = 66*2;
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, context.cx);
context.bx = context.ax;
- context.data.word(332) = context.es;
- context.data.word(334) = context.bx;
+ context.ds.word(332) = context.es;
+ context.ds.word(334) = context.bx;
cantsetup2:
return;
}
static void usetimedtext(Context & context) {
- context._cmp(context.data.word(328), 0);
+ context._cmp(context.ds.word(328), 0);
if (context.flags.z()) goto notext;
- context._sub(context.data.word(328), 1);
- context._cmp(context.data.word(328), 0);
+ context._sub(context.ds.word(328), 1);
+ context._cmp(context.ds.word(328), 0);
if (context.flags.z()) goto deltimedtext;
- context.ax = context.data.word(328);
- context._cmp(context.ax, context.data.word(330));
+ context.ax = context.ds.word(328);
+ context._cmp(context.ax, context.ds.word(330));
if (context.flags.z()) goto firsttimed;
if (!context.flags.c()) goto notext;
goto notfirsttimed;
firsttimed:
getundertimed(context);
notfirsttimed:
- context.bl = context.data.byte(335);
+ context.bl = context.ds.byte(335);
context.bh = 0;
- context.al = context.data.byte(336);
+ context.al = context.ds.byte(336);
context.ah = 0;
context.di = context.ax;
- context.es = context.data.word(332);
- context.si = context.data.word(334);
+ context.es = context.ds.word(332);
+ context.si = context.ds.word(334);
context.dl = 237;
context.ah = 0;
printdirect(context);
- context.data.byte(337) = 1;
+ context.ds.byte(337) = 1;
notext:
return;
deltimedtext:
putundertimed(context);
- context.data.byte(337) = 1;
+ context.ds.byte(337) = 1;
return;
}
static void edenscdplayer(Context & context) {
showfirstuse(context);
- context.data.word(21) = 18*2;
- context.data.word(23) = 25;
- context.data.word(25) = 42;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 18*2;
+ context.ds.word(23) = 25;
+ context.ds.word(25) = 42;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void usewall(Context & context) {
showfirstuse(context);
- context._cmp(context.data.byte(475), 3);
+ context._cmp(context.ds.byte(475), 3);
if (context.flags.z()) goto gobackover;
- context.data.word(21) = 30*2;
- context.data.word(23) = 2;
- context.data.word(25) = 31;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 30*2;
+ context.ds.word(23) = 2;
+ context.ds.word(25) = 31;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
context.al = 3;
turnpathon(context);
context.al = 4;
@@ -14048,19 +14048,19 @@ static void usewall(Context & context) {
turnpathoff(context);
context.al = 5;
turnpathoff(context);
- context.data.byte(475) = 3;
- context.data.byte(477) = 3;
+ context.ds.byte(475) = 3;
+ context.ds.byte(477) = 3;
findxyfrompath(context);
- context.data.byte(187) = 1;
+ context.ds.byte(187) = 1;
switchryanoff(context);
return;
gobackover:
- context.data.word(21) = 30*2;
- context.data.word(23) = 34;
- context.data.word(25) = 60;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
+ context.ds.word(21) = 30*2;
+ context.ds.word(23) = 34;
+ context.ds.word(25) = 60;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
context.al = 3;
turnpathoff(context);
context.al = 4;
@@ -14073,22 +14073,22 @@ gobackover:
turnpathon(context);
context.al = 5;
turnpathon(context);
- context.data.byte(475) = 5;
- context.data.byte(477) = 5;
+ context.ds.byte(475) = 5;
+ context.ds.byte(477) = 5;
findxyfrompath(context);
- context.data.byte(187) = 1;
+ context.ds.byte(187) = 1;
switchryanoff(context);
return;
}
static void usechurchgate(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto gatewith;
withwhat(context);
return;
gatewith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'T';
@@ -14102,16 +14102,16 @@ gatewith:
return;
cutgate:
showfirstuse(context);
- context.data.word(21) = 64*2;
- context.data.word(23) = 4;
- context.data.word(25) = 70;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.word(21) = 64*2;
+ context.ds.word(23) = 4;
+ context.ds.word(25) = 70;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
context.al = 3;
turnpathon(context);
- context._cmp(context.data.byte(44), 0);
+ context._cmp(context.ds.byte(44), 0);
if (context.flags.z()) goto notopenchurch;
context.al = 2;
turnpathon(context);
@@ -14120,153 +14120,153 @@ notopenchurch:
}
static void usegun(Context & context) {
- context._cmp(context.data.byte(102), 4);
+ context._cmp(context.ds.byte(102), 4);
if (context.flags.z()) goto istakengun;
showseconduse(context);
putbackobstuff(context);
return;
istakengun:
- context._cmp(context.data.byte(184), 22);
+ context._cmp(context.ds.byte(184), 22);
if (!context.flags.z()) goto notinpoolroom;
context.cx = 300;
context.al = 34;
showpuztext(context);
- context.data.byte(65) = 1;
- context.data.byte(64) = 39;
- context.data.byte(103) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.byte(65) = 1;
+ context.ds.byte(64) = 39;
+ context.ds.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
return;
notinpoolroom:
- context._cmp(context.data.byte(184), 25);
+ context._cmp(context.ds.byte(184), 25);
if (!context.flags.z()) goto nothelicopter;
context.cx = 300;
context.al = 34;
showpuztext(context);
- context.data.byte(65) = 1;
- context.data.byte(64) = 19;
- context.data.byte(103) = 1;
- context.data.byte(66) = 2;
- context.data.byte(67) = 38;
- context.data.byte(43) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.byte(65) = 1;
+ context.ds.byte(64) = 19;
+ context.ds.byte(103) = 1;
+ context.ds.byte(66) = 2;
+ context.ds.byte(67) = 38;
+ context.ds.byte(43) = 1;
+ context._add(context.ds.byte(2), 1);
return;
nothelicopter:
- context._cmp(context.data.byte(184), 27);
+ context._cmp(context.ds.byte(184), 27);
if (!context.flags.z()) goto notinrockroom;
context.cx = 300;
context.al = 46;
showpuztext(context);
- context.data.byte(234) = 2;
- context.data.byte(41) = 1;
- context.data.byte(65) = 1;
- context.data.byte(34) = 1;
- context.data.byte(103) = 1;
- context.data.byte(67) = 32;
- context.data.byte(66) = 0;
- context._add(context.data.byte(2), 1);
+ context.ds.byte(234) = 2;
+ context.ds.byte(41) = 1;
+ context.ds.byte(65) = 1;
+ context.ds.byte(34) = 1;
+ context.ds.byte(103) = 1;
+ context.ds.byte(67) = 32;
+ context.ds.byte(66) = 0;
+ context._add(context.ds.byte(2), 1);
return;
notinrockroom:
- context._cmp(context.data.byte(184), 8);
+ context._cmp(context.ds.byte(184), 8);
if (!context.flags.z()) goto notbystudio;
- context._cmp(context.data.byte(148), 22);
+ context._cmp(context.ds.byte(148), 22);
if (!context.flags.z()) goto notbystudio;
- context._cmp(context.data.byte(149), 40);
+ context._cmp(context.ds.byte(149), 40);
if (!context.flags.z()) goto notbystudio;
context.al = 92;
issetobonmap(context);
if (context.flags.z()) goto notbystudio;
- context._cmp(context.data.byte(475), 9);
+ context._cmp(context.ds.byte(475), 9);
if (context.flags.z()) goto notbystudio;
- context.data.byte(478) = 9;
- context.data.byte(477) = 9;
+ context.ds.byte(478) = 9;
+ context.ds.byte(477) = 9;
autosetwalk(context);
- context.data.byte(65) = 1;
- context.data.byte(103) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.byte(65) = 1;
+ context.ds.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
return;
notbystudio:
- context._cmp(context.data.byte(184), 6);
+ context._cmp(context.ds.byte(184), 6);
if (!context.flags.z()) goto notsarters;
- context._cmp(context.data.byte(148), 11);
+ context._cmp(context.ds.byte(148), 11);
if (!context.flags.z()) goto notsarters;
- context._cmp(context.data.byte(149), 20);
+ context._cmp(context.ds.byte(149), 20);
if (!context.flags.z()) goto notsarters;
context.al = 5;
issetobonmap(context);
if (!context.flags.z()) goto notsarters;
- context.data.byte(478) = 1;
- context.data.byte(477) = 1;
+ context.ds.byte(478) = 1;
+ context.ds.byte(477) = 1;
autosetwalk(context);
context.al = 5;
removesetobject(context);
context.al = 6;
placesetobject(context);
context.al = 1;
- context.ah = context.data.byte(185);
+ context.ah = context.ds.byte(185);
context._sub(context.ah, 1);
turnanypathon(context);
- context.data.byte(35) = 1;
- context.data.word(21) = 40*2;
- context.data.word(23) = 4;
- context.data.word(25) = 43;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.byte(35) = 1;
+ context.ds.word(21) = 40*2;
+ context.ds.word(23) = 4;
+ context.ds.word(25) = 43;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
return;
notsarters:
- context._cmp(context.data.byte(184), 29);
+ context._cmp(context.ds.byte(184), 29);
if (!context.flags.z()) goto notaide;
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
context.al = 13;
resetlocation(context);
context.al = 12;
setlocation(context);
- context.data.byte(183) = 12;
- context.data.byte(478) = 2;
- context.data.byte(477) = 2;
+ context.ds.byte(183) = 12;
+ context.ds.byte(478) = 2;
+ context.ds.byte(477) = 2;
autosetwalk(context);
- context.data.word(21) = 164*2;
- context.data.word(23) = 3;
- context.data.word(25) = 164;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(44) = 1;
- context.data.byte(66) = 3;
- context.data.byte(67) = 33;
- context._add(context.data.byte(2), 1);
+ context.ds.word(21) = 164*2;
+ context.ds.word(23) = 3;
+ context.ds.word(25) = 164;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(44) = 1;
+ context.ds.byte(66) = 3;
+ context.ds.byte(67) = 33;
+ context._add(context.ds.byte(2), 1);
return;
notaide:
- context._cmp(context.data.byte(184), 23);
+ context._cmp(context.ds.byte(184), 23);
if (!context.flags.z()) goto notwithboss;
- context._cmp(context.data.byte(148), 0);
+ context._cmp(context.ds.byte(148), 0);
if (!context.flags.z()) goto notwithboss;
- context._cmp(context.data.byte(149), 50);
+ context._cmp(context.ds.byte(149), 50);
if (!context.flags.z()) goto notwithboss;
- context._cmp(context.data.byte(475), 5);
+ context._cmp(context.ds.byte(475), 5);
if (context.flags.z()) goto pathokboss;
- context.data.byte(478) = 5;
- context.data.byte(477) = 5;
+ context.ds.byte(478) = 5;
+ context.ds.byte(477) = 5;
autosetwalk(context);
pathokboss:
- context.data.byte(65) = 1;
- context.data.byte(103) = 1;
+ context.ds.byte(65) = 1;
+ context.ds.byte(103) = 1;
return;
notwithboss:
- context._cmp(context.data.byte(184), 8);
+ context._cmp(context.ds.byte(184), 8);
if (!context.flags.z()) goto nottvsoldier;
- context._cmp(context.data.byte(148), 11);
+ context._cmp(context.ds.byte(148), 11);
if (!context.flags.z()) goto nottvsoldier;
- context._cmp(context.data.byte(149), 10);
+ context._cmp(context.ds.byte(149), 10);
if (!context.flags.z()) goto nottvsoldier;
- context._cmp(context.data.byte(475), 2);
+ context._cmp(context.ds.byte(475), 2);
if (context.flags.z()) goto pathoktv;
- context.data.byte(478) = 2;
- context.data.byte(477) = 2;
+ context.ds.byte(478) = 2;
+ context.ds.byte(477) = 2;
autosetwalk(context);
pathoktv:
- context.data.byte(65) = 1;
- context.data.byte(103) = 1;
+ context.ds.byte(65) = 1;
+ context.ds.byte(103) = 1;
return;
nottvsoldier:
showfirstuse(context);
@@ -14275,14 +14275,14 @@ nottvsoldier:
}
static void useshield(Context & context) {
- context._cmp(context.data.byte(184), 20);
+ context._cmp(context.ds.byte(184), 20);
if (!context.flags.z()) goto notinsartroom;
- context._cmp(context.data.byte(64), 0);
+ context._cmp(context.ds.byte(64), 0);
if (context.flags.z()) goto notinsartroom;
- context.data.byte(65) = 3;
+ context.ds.byte(65) = 3;
showseconduse(context);
- context.data.byte(103) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
removeobfrominv(context);
return;
notinsartroom:
@@ -14297,20 +14297,20 @@ static void usebuttona(Context & context) {
if (context.flags.z()) goto donethisbit;
showfirstuse(context);
context.al = 0;
- context.ah = context.data.byte(185);
+ context.ah = context.ds.byte(185);
context._sub(context.ah, 1);
turnanypathon(context);
context.al = 9;
removesetobject(context);
context.al = 95;
placesetobject(context);
- context.data.word(21) = 15*2;
- context.data.word(23) = 71;
- context.data.word(25) = 85;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(103) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.word(21) = 15*2;
+ context.ds.word(23) = 71;
+ context.ds.word(25) = 85;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
return;
donethisbit:
showseconduse(context);
@@ -14319,21 +14319,21 @@ donethisbit:
}
static void useplate(Context & context) {
- context._cmp(context.data.byte(95), 255);
+ context._cmp(context.ds.byte(95), 255);
if (!context.flags.z()) goto platewith;
withwhat(context);
return;
platewith:
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'S';
context.ch = 'C';
context.dl = 'R';
context.dh = 'W';
compare(context);
if (context.flags.z()) goto unscrewplate;
- context.al = context.data.byte(95);
- context.ah = context.data.byte(96);
+ context.al = context.ds.byte(95);
+ context.ah = context.ds.byte(96);
context.cl = 'K';
context.ch = 'N';
context.dl = 'F';
@@ -14357,8 +14357,8 @@ unscrewplate:
removesetobject(context);
context.al = 0;
placefreeobject(context);
- context._add(context.data.byte(2), 1);
- context.data.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
+ context.ds.byte(103) = 1;
return;
triedknife:
context.cx = 300;
@@ -14382,19 +14382,19 @@ static void usewinch(Context & context) {
context.dh = 'E';
compare(context);
if (!context.flags.z()) goto nowinch;
- context.data.word(21) = 217*2;
- context.data.word(23) = 0;
- context.data.word(25) = 217;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
- context.data.byte(183) = 1;
- context.data.byte(188) = 45;
- context.data.byte(66) = 1;
- context.data.byte(67) = 44;
- context.data.byte(42) = 1;
- context.data.byte(34) = 2;
- context.data.byte(103) = 1;
- context._add(context.data.byte(2), 1);
+ context.ds.word(21) = 217*2;
+ context.ds.word(23) = 0;
+ context.ds.word(25) = 217;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
+ context.ds.byte(183) = 1;
+ context.ds.byte(188) = 45;
+ context.ds.byte(66) = 1;
+ context.ds.byte(67) = 44;
+ context.ds.byte(42) = 1;
+ context.ds.byte(34) = 2;
+ context.ds.byte(103) = 1;
+ context._add(context.ds.byte(2), 1);
return;
nowinch:
showfirstuse(context);
@@ -14403,8 +14403,8 @@ nowinch:
}
static void entercode(Context & context) {
- context.data.word(284) = context.ax;
- context.data.word(286) = context.cx;
+ context.ds.word(284) = context.ax;
+ context.ds.word(286) = context.cx;
getridofreels(context);
loadkeypad(context);
createpanel(context);
@@ -14415,20 +14415,20 @@ static void entercode(Context & context) {
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.data.word(280) = 0;
- context.data.byte(103) = 0;
+ context.ds.word(280) = 0;
+ context.ds.byte(103) = 0;
keypadloop:
delpointer(context);
readmouse(context);
showkeypad(context);
showpointer(context);
- context._cmp(context.data.byte(282), 0);
+ context._cmp(context.ds.byte(282), 0);
if (context.flags.z()) goto nopresses;
- context._sub(context.data.byte(282), 1);
+ context._sub(context.ds.byte(282), 1);
goto afterpress;
nopresses:
- context.data.byte(278) = 255;
- context.data.byte(281) = 255;
+ context.ds.byte(278) = 255;
+ context.ds.byte(281) = 255;
vsync(context);
afterpress:
dumppointer(context);
@@ -14436,37 +14436,37 @@ afterpress:
dumptextline(context);
context.bx = 3393;
checkcoords(context);
- context._cmp(context.data.byte(103), 1);
+ context._cmp(context.ds.byte(103), 1);
if (context.flags.z()) goto numberright;
- context._cmp(context.data.byte(287), 1);
+ context._cmp(context.ds.byte(287), 1);
if (!context.flags.z()) goto notendkey;
- context._cmp(context.data.byte(37), 0);
+ context._cmp(context.ds.byte(37), 0);
if (context.flags.z()) goto numberright;
goto keypadloop;
notendkey:
- context._cmp(context.data.byte(282), 40);
+ context._cmp(context.ds.byte(282), 40);
if (!context.flags.z()) goto keypadloop;
addtopresslist(context);
- context._cmp(context.data.byte(278), 11);
+ context._cmp(context.ds.byte(278), 11);
if (!context.flags.z()) goto keypadloop;
- context.ax = context.data.word(284);
- context.cx = context.data.word(286);
+ context.ax = context.ds.word(284);
+ context.cx = context.ds.word(286);
isitright(context);
if (!context.flags.z()) goto incorrect;
- context.data.byte(37) = 0;
+ context.ds.byte(37) = 0;
context.al = 11;
playchannel1(context);
- context.data.byte(287) = 120;
- context.data.word(280) = 0;
+ context.ds.byte(287) = 120;
+ context.ds.word(280) = 0;
goto keypadloop;
incorrect:
context.al = 11;
playchannel1(context);
- context.data.byte(287) = 120;
- context.data.word(280) = 0;
+ context.ds.byte(287) = 120;
+ context.ds.word(280) = 0;
goto keypadloop;
numberright:
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
getridoftemp(context);
restorereels(context);
redrawmainscrn(context);
@@ -14481,38 +14481,38 @@ static void loadkeypad(Context & context) {
}
static void quitkey(Context & context) {
- context._cmp(context.data.byte(100), 222);
+ context._cmp(context.ds.byte(100), 222);
if (context.flags.z()) goto alreadyqk;
- context.data.byte(100) = 222;
+ context.ds.byte(100) = 222;
context.al = 4;
commandonly(context);
alreadyqk:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notqk;
context._and(context.ax, 1);
if (!context.flags.z()) goto doqk;
notqk:
return;
doqk:
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void addtopresslist(Context & context) {
- context._cmp(context.data.word(280), 5);
+ context._cmp(context.ds.word(280), 5);
if (context.flags.z()) goto nomorekeys;
- context.al = context.data.byte(278);
+ context.al = context.ds.byte(278);
context._cmp(context.al, 10);
if (!context.flags.z()) goto not10;
context.al = 0;
not10:
- context.bx = context.data.word(280);
+ context.bx = context.ds.word(280);
context.dx = context.ds;
context.es = context.dx;
context._add(context.bx, 8350);
- context.data.byte(context.bx) = context.al;
- context._add(context.data.word(280), 1);
+ context.ds.byte(context.bx) = context.al;
+ context._add(context.ds.word(280), 1);
nomorekeys:
return;
}
@@ -14586,27 +14586,27 @@ static void buttonenter(Context & context) {
static void buttonpress(Context & context) {
context.ch = context.cl;
context._add(context.ch, 100);
- context._cmp(context.data.byte(100), context.ch);
+ context._cmp(context.ds.byte(100), context.ch);
if (context.flags.z()) goto alreadyb;
- context.data.byte(100) = context.ch;
+ context.ds.byte(100) = context.ch;
context.al = context.cl;
context._add(context.al, 4);
context.push(context.cx);
commandonly(context);
context.cx = context.pop();
alreadyb:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notb;
context._and(context.ax, 1);
if (!context.flags.z()) goto dob;
notb:
return;
dob:
- context.data.byte(278) = context.cl;
+ context.ds.byte(278) = context.cl;
context._add(context.cl, 21);
- context.data.byte(281) = context.cl;
- context.data.byte(282) = 40;
+ context.ds.byte(281) = context.cl;
+ context.ds.byte(282) = 40;
context._cmp(context.cl, 32);
if (context.flags.z()) goto nonoise;
context.al = 10;
@@ -14618,13 +14618,13 @@ nonoise:
static void showouterpad(Context & context) {
context.di = 36+112-3;
context.bx = 72-4;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 1;
context.ah = 0;
showframe(context);
context.di = 36+112+74;
context.bx = 72+76;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.al = 37;
context.ah = 0;
showframe(context);
@@ -14676,23 +14676,23 @@ static void showkeypad(Context & context) {
context.di = 36+112+31;
context.bx = 72+59;
singlekey(context);
- context._cmp(context.data.byte(287), 0);
+ context._cmp(context.ds.byte(287), 0);
if (context.flags.z()) goto notenter;
- context._sub(context.data.byte(287), 1);
+ context._sub(context.ds.byte(287), 1);
context.al = 36;
context.bx = 72-1+63;
- context._cmp(context.data.byte(37), 0);
+ context._cmp(context.ds.byte(37), 0);
if (!context.flags.z()) goto changelight;
context.al = 41;
context.bx = 72+4+63;
changelight:
- context._cmp(context.data.byte(287), 60);
+ context._cmp(context.ds.byte(287), 60);
if (context.flags.c()) goto gotlight;
- context._cmp(context.data.byte(287), 100);
+ context._cmp(context.ds.byte(287), 100);
if (!context.flags.c()) goto gotlight;
context._sub(context.al, 1);
gotlight:
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.ah = 0;
context.di = 36+112+60;
showframe(context);
@@ -14701,14 +14701,14 @@ notenter:
}
static void singlekey(Context & context) {
- context._cmp(context.data.byte(281), context.al);
+ context._cmp(context.ds.byte(281), context.al);
if (!context.flags.z()) goto gotkey;
context._add(context.al, 11);
- context._cmp(context.data.byte(282), 8);
+ context._cmp(context.ds.byte(282), 8);
if (!context.flags.c()) goto gotkey;
context._sub(context.al, 11);
gotkey:
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context._sub(context.al, 20);
context.ah = 0;
showframe(context);
@@ -14730,24 +14730,24 @@ static void usemenu(Context & context) {
createpanel(context);
showpanel(context);
showicon(context);
- context.data.byte(62) = 0;
+ context.ds.byte(62) = 0;
drawfloor(context);
printsprites(context);
context.al = 4;
context.ah = 0;
context.di = 80+40-48;
context.bx = 60-4;
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
showframe(context);
getundermenu(context);
context.al = 5;
context.ah = 0;
context.di = 80+40+54;
context.bx = 60+72;
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
showframe(context);
worktoscreenm(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
menuloop:
delpointer(context);
putundermenu(context);
@@ -14760,9 +14760,9 @@ menuloop:
dumptextline(context);
context.bx = 3525;
checkcoords(context);
- context._cmp(context.data.byte(103), 1);
+ context._cmp(context.ds.byte(103), 1);
if (!context.flags.z()) goto menuloop;
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
redrawmainscrn(context);
getridoftemp(context);
getridoftemp2(context);
@@ -14787,7 +14787,7 @@ static void getundermenu(Context & context) {
context.bx = 60;
context.cl = 48;
context.ch = 48;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4);
multiget(context);
return;
@@ -14798,7 +14798,7 @@ static void putundermenu(Context & context) {
context.bx = 60;
context.cl = 48;
context.ch = 48;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4);
multiput(context);
return;
@@ -14809,41 +14809,41 @@ static void showoutermenu(Context & context) {
context.ah = 0;
context.di = 80+40-34;
context.bx = 60-40;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
context.al = 41;
context.ah = 0;
context.di = 80+40+64-34;
context.bx = 60-40;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
context.al = 42;
context.ah = 0;
context.di = 80+40-26;
context.bx = 60+57-40;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
context.al = 43;
context.ah = 0;
context.di = 80+40+64-26;
context.bx = 60+57-40;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
return;
}
static void showmenu(Context & context) {
- context._add(context.data.byte(290), 1);
- context._cmp(context.data.byte(290), 37*2);
+ context._add(context.ds.byte(290), 1);
+ context._cmp(context.ds.byte(290), 37*2);
if (!context.flags.z()) goto menuframeok;
- context.data.byte(290) = 0;
+ context.ds.byte(290) = 0;
menuframeok:
- context.al = context.data.byte(290);
+ context.al = context.ds.byte(290);
context._shr(context.al, 1);
context.ah = 0;
context.di = 80+40;
context.bx = 60;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
return;
}
@@ -14857,13 +14857,13 @@ static void loadmenu(Context & context) {
}
static void viewfolder(Context & context) {
- context.data.byte(131) = 1;
+ context.ds.byte(131) = 1;
getridofall(context);
loadfolder(context);
- context.data.byte(288) = 0;
+ context.ds.byte(288) = 0;
showfolder(context);
worktoscreenm(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
folderloop:
delpointer(context);
readmouse(context);
@@ -14873,9 +14873,9 @@ folderloop:
dumptextline(context);
context.bx = 3547;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto folderloop;
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
getridoftemp(context);
getridoftemp2(context);
getridoftemp3(context);
@@ -14887,30 +14887,30 @@ folderloop:
}
static void nextfolder(Context & context) {
- context._cmp(context.data.byte(288), 12);
+ context._cmp(context.ds.byte(288), 12);
if (!context.flags.z()) goto cannextf;
blank(context);
return;
cannextf:
- context._cmp(context.data.byte(100), 201);
+ context._cmp(context.ds.byte(100), 201);
if (context.flags.z()) goto alreadynextf;
- context.data.byte(100) = 201;
+ context.ds.byte(100) = 201;
context.al = 16;
commandonly(context);
alreadynextf:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notnextf;
context._cmp(context.ax, 1);
if (context.flags.z()) goto donextf;
notnextf:
return;
donextf:
- context._add(context.data.byte(288), 1);
+ context._add(context.ds.byte(288), 1);
folderhints(context);
delpointer(context);
showfolder(context);
- context.data.word(202) = 0;
+ context.ds.word(202) = 0;
context.bx = 3547;
checkcoords(context);
worktoscreenm(context);
@@ -14918,9 +14918,9 @@ donextf:
}
static void folderhints(Context & context) {
- context._cmp(context.data.byte(288), 5);
+ context._cmp(context.ds.byte(288), 5);
if (!context.flags.z()) goto notaideadd;
- context._cmp(context.data.byte(44), 1);
+ context._cmp(context.ds.byte(44), 1);
if (context.flags.z()) goto notaideadd;
context.al = 13;
getlocation(context);
@@ -14941,7 +14941,7 @@ static void folderhints(Context & context) {
hangonp(context);
return;
notaideadd:
- context._cmp(context.data.byte(288), 9);
+ context._cmp(context.ds.byte(288), 9);
if (!context.flags.z()) goto notaristoadd;
context.al = 7;
getlocation(context);
@@ -14965,31 +14965,31 @@ notaristoadd:
}
static void lastfolder(Context & context) {
- context._cmp(context.data.byte(288), 0);
+ context._cmp(context.ds.byte(288), 0);
if (!context.flags.z()) goto canlastf;
blank(context);
return;
canlastf:
- context._cmp(context.data.byte(100), 202);
+ context._cmp(context.ds.byte(100), 202);
if (context.flags.z()) goto alreadylastf;
- context.data.byte(100) = 202;
+ context.ds.byte(100) = 202;
context.al = 17;
commandonly(context);
alreadylastf:
- context._cmp(context.data.byte(288), 0);
+ context._cmp(context.ds.byte(288), 0);
if (context.flags.z()) goto notlastf;
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notlastf;
context._cmp(context.ax, 1);
if (context.flags.z()) goto dolastf;
notlastf:
return;
dolastf:
- context._sub(context.data.byte(288), 1);
+ context._sub(context.ds.byte(288), 1);
delpointer(context);
showfolder(context);
- context.data.word(202) = 0;
+ context.ds.word(202) = 0;
context.bx = 3547;
checkcoords(context);
worktoscreenm(context);
@@ -15011,41 +15011,41 @@ static void loadfolder(Context & context) {
}
static void showfolder(Context & context) {
- context.data.byte(100) = 255;
- context._cmp(context.data.byte(288), 0);
+ context.ds.byte(100) = 255;
+ context._cmp(context.ds.byte(288), 0);
if (context.flags.z()) goto closedfolder;
usetempcharset(context);
createpanel2(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 0;
context.bx = 0;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 143;
context.bx = 0;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 0;
context.bx = 92;
context.al = 2;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 143;
context.bx = 92;
context.al = 3;
context.ah = 0;
showframe(context);
folderexit(context);
- context._cmp(context.data.byte(288), 1);
+ context._cmp(context.ds.byte(288), 1);
if (context.flags.z()) goto noleftpage;
showleftpage(context);
noleftpage:
- context._cmp(context.data.byte(288), 12);
+ context._cmp(context.ds.byte(288), 12);
if (context.flags.z()) goto norightpage;
showrightpage(context);
norightpage:
@@ -15054,13 +15054,13 @@ norightpage:
return;
closedfolder:
createpanel2(context);
- context.ds = context.data.word(462);
+ context.ds = context.ds.word(462);
context.di = 143-28;
context.bx = 0;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(462);
+ context.ds = context.ds.word(462);
context.di = 143-28;
context.bx = 92;
context.al = 1;
@@ -15072,7 +15072,7 @@ closedfolder:
}
static void folderexit(Context & context) {
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
context.di = 296;
context.bx = 178;
context.al = 6;
@@ -15082,7 +15082,7 @@ static void folderexit(Context & context) {
}
static void showleftpage(Context & context) {
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
context.di = 0;
context.bx = 12;
context.al = 3;
@@ -15093,7 +15093,7 @@ static void showleftpage(Context & context) {
leftpageloop:
context.push(context.cx);
context.push(context.bx);
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
context.di = 0;
context.al = 4;
context.ah = 0;
@@ -15102,22 +15102,22 @@ leftpageloop:
context.cx = context.pop();
context._add(context.bx, 16);
if (--context.cx) goto leftpageloop;
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
context.di = 0;
context.al = 5;
context.ah = 0;
showframe(context);
- context.data.word(77) = 8;
- context.data.word(71) = 91;
- context.data.byte(72) = 1;
- context.bl = context.data.byte(288);
+ context.ds.word(77) = 8;
+ context.ds.word(71) = 91;
+ context.ds.byte(72) = 1;
+ context.bl = context.ds.byte(288);
context._sub(context.bl, 1);
context._sub(context.bl, 1);
context._add(context.bl, context.bl);
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(466);
- context.si = context.data.word(context.bx);
+ context.es = context.ds.word(466);
+ context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
context.di = 2;
context.bx = 48;
@@ -15127,16 +15127,16 @@ twolotsleft:
context.push(context.cx);
contleftpage:
printdirect(context);
- context._add(context.bx, context.data.word(77));
+ context._add(context.bx, context.ds.word(77));
context._cmp(context.al, 0);
if (!context.flags.z()) goto contleftpage;
context.cx = context.pop();
if (--context.cx) goto twolotsleft;
- context.data.byte(72) = 0;
- context.data.word(71) = 0;
- context.data.word(77) = 10;
- context.es = context.data.word(400);
- context.ds = context.data.word(400);
+ context.ds.byte(72) = 0;
+ context.ds.word(71) = 0;
+ context.ds.word(77) = 10;
+ context.es = context.ds.word(400);
+ context.ds = context.ds.word(400);
context.di = (48*320)+2;
context.si = (48*320)+2+130;
context.cx = 120;
@@ -15146,10 +15146,10 @@ flipfolder:
context.push(context.si);
context.cx = 65;
flipfolderline:
- context.al = context.data.byte(context.di);
- context.ah = context.data.byte(context.si);
- context.data.byte(context.di) = context.ah;
- context.data.byte(context.si) = context.al;
+ context.al = context.ds.byte(context.di);
+ context.ah = context.ds.byte(context.si);
+ context.ds.byte(context.di) = context.ah;
+ context.ds.byte(context.si) = context.al;
context._sub(context.si, 1);
context._add(context.di, 1);
if (--context.cx) goto flipfolderline;
@@ -15163,7 +15163,7 @@ flipfolderline:
}
static void showrightpage(Context & context) {
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
context.di = 143;
context.bx = 12;
context.al = 0;
@@ -15174,7 +15174,7 @@ static void showrightpage(Context & context) {
rightpageloop:
context.push(context.cx);
context.push(context.bx);
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
context.di = 143;
context.al = 1;
context.ah = 0;
@@ -15183,20 +15183,20 @@ rightpageloop:
context.cx = context.pop();
context._add(context.bx, 16);
if (--context.cx) goto rightpageloop;
- context.ds = context.data.word(460);
+ context.ds = context.ds.word(460);
context.di = 143;
context.al = 2;
context.ah = 0;
showframe(context);
- context.data.word(77) = 8;
- context.data.byte(72) = 1;
- context.bl = context.data.byte(288);
+ context.ds.word(77) = 8;
+ context.ds.byte(72) = 1;
+ context.bl = context.ds.byte(288);
context._sub(context.bl, 1);
context._add(context.bl, context.bl);
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(466);
- context.si = context.data.word(context.bx);
+ context.es = context.ds.word(466);
+ context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
context.di = 152;
context.bx = 48;
@@ -15206,30 +15206,30 @@ twolotsright:
context.push(context.cx);
contrightpage:
printdirect(context);
- context._add(context.bx, context.data.word(77));
+ context._add(context.bx, context.ds.word(77));
context._cmp(context.al, 0);
if (!context.flags.z()) goto contrightpage;
context.cx = context.pop();
if (--context.cx) goto twolotsright;
- context.data.byte(72) = 0;
- context.data.word(77) = 10;
+ context.ds.byte(72) = 0;
+ context.ds.word(77) = 10;
return;
}
static void entersymbol(Context & context) {
- context.data.byte(131) = 1;
+ context.ds.byte(131) = 1;
getridofreels(context);
context.dx = 2351;
loadintotemp(context);
- context.data.byte(291) = 24;
- context.data.byte(293) = 0;
- context.data.byte(294) = 24;
- context.data.byte(296) = 0;
+ context.ds.byte(291) = 24;
+ context.ds.byte(293) = 0;
+ context.ds.byte(294) = 24;
+ context.ds.byte(296) = 0;
redrawmainscrn(context);
showsymbol(context);
undertextline(context);
worktoscreenm(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
symbolloop:
delpointer(context);
updatesymboltop(context);
@@ -15243,21 +15243,21 @@ symbolloop:
dumpsymbol(context);
context.bx = 3589;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto symbolloop;
- context._cmp(context.data.byte(295), 3);
+ context._cmp(context.ds.byte(295), 3);
if (!context.flags.z()) goto symbolwrong;
- context._cmp(context.data.byte(292), 5);
+ context._cmp(context.ds.byte(292), 5);
if (!context.flags.z()) goto symbolwrong;
context.al = 43;
removesetobject(context);
context.al = 46;
placesetobject(context);
- context.ah = context.data.byte(185);
+ context.ah = context.ds.byte(185);
context._add(context.ah, 12);
context.al = 0;
turnanypathon(context);
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
redrawmainscrn(context);
getridoftemp(context);
restorereels(context);
@@ -15270,11 +15270,11 @@ symbolwrong:
removesetobject(context);
context.al = 43;
placesetobject(context);
- context.ah = context.data.byte(185);
+ context.ah = context.ds.byte(185);
context._add(context.ah, 12);
context.al = 0;
turnanypathoff(context);
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
redrawmainscrn(context);
getridoftemp(context);
restorereels(context);
@@ -15283,94 +15283,94 @@ symbolwrong:
}
static void quitsymbol(Context & context) {
- context._cmp(context.data.byte(291), 24);
+ context._cmp(context.ds.byte(291), 24);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(294), 24);
+ context._cmp(context.ds.byte(294), 24);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 222);
+ context._cmp(context.ds.byte(100), 222);
if (context.flags.z()) goto alreadyqs;
- context.data.byte(100) = 222;
+ context.ds.byte(100) = 222;
context.al = 18;
commandonly(context);
alreadyqs:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notqs;
context._and(context.ax, 1);
if (!context.flags.z()) goto doqs;
notqs:
return;
doqs:
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
return;
}
static void settopleft(Context & context) {
- context._cmp(context.data.byte(293), 0);
+ context._cmp(context.ds.byte(293), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 210);
+ context._cmp(context.ds.byte(100), 210);
if (context.flags.z()) goto alreadytopl;
- context.data.byte(100) = 210;
+ context.ds.byte(100) = 210;
context.al = 19;
commandonly(context);
alreadytopl:
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto notopleft;
- context.data.byte(293) = -1;
+ context.ds.byte(293) = -1;
notopleft:
return;
}
static void settopright(Context & context) {
- context._cmp(context.data.byte(293), 0);
+ context._cmp(context.ds.byte(293), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 211);
+ context._cmp(context.ds.byte(100), 211);
if (context.flags.z()) goto alreadytopr;
- context.data.byte(100) = 211;
+ context.ds.byte(100) = 211;
context.al = 20;
commandonly(context);
alreadytopr:
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto notopright;
- context.data.byte(293) = 1;
+ context.ds.byte(293) = 1;
notopright:
return;
}
static void setbotleft(Context & context) {
- context._cmp(context.data.byte(296), 0);
+ context._cmp(context.ds.byte(296), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 212);
+ context._cmp(context.ds.byte(100), 212);
if (context.flags.z()) goto alreadybotl;
- context.data.byte(100) = 212;
+ context.ds.byte(100) = 212;
context.al = 21;
commandonly(context);
alreadybotl:
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto nobotleft;
- context.data.byte(296) = -1;
+ context.ds.byte(296) = -1;
nobotleft:
return;
}
static void setbotright(Context & context) {
- context._cmp(context.data.byte(296), 0);
+ context._cmp(context.ds.byte(296), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 213);
+ context._cmp(context.ds.byte(100), 213);
if (context.flags.z()) goto alreadybotr;
- context.data.byte(100) = 213;
+ context.ds.byte(100) = 213;
context.al = 22;
commandonly(context);
alreadybotr:
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto nobotright;
- context.data.byte(296) = 1;
+ context.ds.byte(296) = 1;
nobotright:
return;
}
static void dumpsymbol(Context & context) {
- context.data.byte(109) = 0;
+ context.ds.byte(109) = 0;
context.di = 64;
context.bx = 56+20;
context.cl = 104;
@@ -15384,15 +15384,15 @@ static void showsymbol(Context & context) {
context.ah = 0;
context.di = 64;
context.bx = 56;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
- context.al = context.data.byte(291);
+ context.al = context.ds.byte(291);
context.ah = 0;
context.di = context.ax;
context._add(context.di, 64-44);
- context.al = context.data.byte(292);
+ context.al = context.ds.byte(292);
context.bx = 56+20;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.ah = 32;
context.push(context.ax);
context.push(context.di);
@@ -15417,14 +15417,14 @@ static void showsymbol(Context & context) {
nextsymbol(context);
context._add(context.di, 49);
showframe(context);
- context.al = context.data.byte(294);
+ context.al = context.ds.byte(294);
context.ah = 0;
context.di = context.ax;
context._add(context.di, 64-44);
- context.al = context.data.byte(295);
+ context.al = context.ds.byte(295);
context._add(context.al, 6);
context.bx = 56+49;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.ah = 32;
context.push(context.ax);
context.push(context.di);
@@ -15468,88 +15468,88 @@ botwrap:
}
static void updatesymboltop(Context & context) {
- context._cmp(context.data.byte(293), 0);
+ context._cmp(context.ds.byte(293), 0);
if (context.flags.z()) goto topfinished;
- context._cmp(context.data.byte(293), -1);
+ context._cmp(context.ds.byte(293), -1);
if (context.flags.z()) goto backwards;
- context._add(context.data.byte(291), 1);
- context._cmp(context.data.byte(291), 49);
+ context._add(context.ds.byte(291), 1);
+ context._cmp(context.ds.byte(291), 49);
if (!context.flags.z()) goto notwrapfor;
- context.data.byte(291) = 0;
- context._sub(context.data.byte(292), 1);
- context._cmp(context.data.byte(292), -1);
+ context.ds.byte(291) = 0;
+ context._sub(context.ds.byte(292), 1);
+ context._cmp(context.ds.byte(292), -1);
if (!context.flags.z()) goto topfinished;
- context.data.byte(292) = 5;
+ context.ds.byte(292) = 5;
return;
notwrapfor:
- context._cmp(context.data.byte(291), 24);
+ context._cmp(context.ds.byte(291), 24);
if (!context.flags.z()) goto topfinished;
- context.data.byte(293) = 0;
+ context.ds.byte(293) = 0;
return;
backwards:
- context._sub(context.data.byte(291), 1);
- context._cmp(context.data.byte(291), -1);
+ context._sub(context.ds.byte(291), 1);
+ context._cmp(context.ds.byte(291), -1);
if (!context.flags.z()) goto notwrapback;
- context.data.byte(291) = 48;
- context._add(context.data.byte(292), 1);
- context._cmp(context.data.byte(292), 6);
+ context.ds.byte(291) = 48;
+ context._add(context.ds.byte(292), 1);
+ context._cmp(context.ds.byte(292), 6);
if (!context.flags.z()) goto topfinished;
- context.data.byte(292) = 0;
+ context.ds.byte(292) = 0;
return;
notwrapback:
- context._cmp(context.data.byte(291), 24);
+ context._cmp(context.ds.byte(291), 24);
if (!context.flags.z()) goto topfinished;
- context.data.byte(293) = 0;
+ context.ds.byte(293) = 0;
topfinished:
return;
}
static void updatesymbolbot(Context & context) {
- context._cmp(context.data.byte(296), 0);
+ context._cmp(context.ds.byte(296), 0);
if (context.flags.z()) goto botfinished;
- context._cmp(context.data.byte(296), -1);
+ context._cmp(context.ds.byte(296), -1);
if (context.flags.z()) goto backwardsbot;
- context._add(context.data.byte(294), 1);
- context._cmp(context.data.byte(294), 49);
+ context._add(context.ds.byte(294), 1);
+ context._cmp(context.ds.byte(294), 49);
if (!context.flags.z()) goto notwrapforb;
- context.data.byte(294) = 0;
- context._sub(context.data.byte(295), 1);
- context._cmp(context.data.byte(295), -1);
+ context.ds.byte(294) = 0;
+ context._sub(context.ds.byte(295), 1);
+ context._cmp(context.ds.byte(295), -1);
if (!context.flags.z()) goto botfinished;
- context.data.byte(295) = 5;
+ context.ds.byte(295) = 5;
return;
notwrapforb:
- context._cmp(context.data.byte(294), 24);
+ context._cmp(context.ds.byte(294), 24);
if (!context.flags.z()) goto botfinished;
- context.data.byte(296) = 0;
+ context.ds.byte(296) = 0;
return;
backwardsbot:
- context._sub(context.data.byte(294), 1);
- context._cmp(context.data.byte(294), -1);
+ context._sub(context.ds.byte(294), 1);
+ context._cmp(context.ds.byte(294), -1);
if (!context.flags.z()) goto notwrapbackb;
- context.data.byte(294) = 48;
- context._add(context.data.byte(295), 1);
- context._cmp(context.data.byte(295), 6);
+ context.ds.byte(294) = 48;
+ context._add(context.ds.byte(295), 1);
+ context._cmp(context.ds.byte(295), 6);
if (!context.flags.z()) goto botfinished;
- context.data.byte(295) = 0;
+ context.ds.byte(295) = 0;
return;
notwrapbackb:
- context._cmp(context.data.byte(294), 24);
+ context._cmp(context.ds.byte(294), 24);
if (!context.flags.z()) goto botfinished;
- context.data.byte(296) = 0;
+ context.ds.byte(296) = 0;
botfinished:
return;
}
static void dumpsymbox(Context & context) {
- context._cmp(context.data.word(303), -1);
+ context._cmp(context.ds.word(303), -1);
if (context.flags.z()) goto nodumpsym;
- context.di = context.data.word(303);
- context.bx = context.data.word(305);
+ context.di = context.ds.word(303);
+ context.bx = context.ds.word(305);
context.cl = 30;
context.ch = 77;
multidump(context);
- context.data.word(303) = -1;
+ context.ds.word(303) = -1;
nodumpsym:
return;
}
@@ -15571,7 +15571,7 @@ static void usediary(Context & context) {
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
diaryloop:
delpointer(context);
readmouse(context);
@@ -15583,13 +15583,13 @@ diaryloop:
dumptextline(context);
context.bx = 3651;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto diaryloop;
getridoftemp(context);
getridoftemptext(context);
getridoftempcharset(context);
restorereels(context);
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
redrawmainscrn(context);
worktoscreenm(context);
return;
@@ -15602,52 +15602,52 @@ static void showdiary(Context & context) {
context.ah = 0;
context.di = 68+24;
context.bx = 48+12+37;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
context.al = 2;
context.ah = 0;
context.di = 68+24+176;
context.bx = 48+12+108;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
return;
}
static void showdiarykeys(Context & context) {
- context._cmp(context.data.byte(282), 0);
+ context._cmp(context.ds.byte(282), 0);
if (context.flags.z()) goto nokeyatall;
- context._sub(context.data.byte(282), 1);
- context._cmp(context.data.byte(282), 0);
+ context._sub(context.ds.byte(282), 1);
+ context._cmp(context.ds.byte(282), 0);
if (context.flags.z()) goto nokeyatall;
- context._cmp(context.data.byte(278), 'N');
+ context._cmp(context.ds.byte(278), 'N');
if (!context.flags.z()) goto nokeyn;
context.al = 3;
- context._cmp(context.data.byte(282), 1);
+ context._cmp(context.ds.byte(282), 1);
if (context.flags.z()) goto gotkeyn;
context.al = 4;
gotkeyn:
context.ah = 0;
context.di = 68+24+94;
context.bx = 48+12+97;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
- context._cmp(context.data.byte(282), 1);
+ context._cmp(context.ds.byte(282), 1);
if (!context.flags.z()) goto notshown;
showdiarypage(context);
notshown:
return;
nokeyn:
context.al = 5;
- context._cmp(context.data.byte(282), 1);
+ context._cmp(context.ds.byte(282), 1);
if (context.flags.z()) goto gotkeyp;
context.al = 6;
gotkeyp:
context.ah = 0;
context.di = 68+24+151;
context.bx = 48+12+71;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
- context._cmp(context.data.byte(282), 1);
+ context._cmp(context.ds.byte(282), 1);
if (!context.flags.z()) goto notshowp;
showdiarypage(context);
notshowp:
@@ -15657,13 +15657,13 @@ nokeyatall:
}
static void dumpdiarykeys(Context & context) {
- context._cmp(context.data.byte(282), 1);
+ context._cmp(context.ds.byte(282), 1);
if (!context.flags.z()) goto notdumpdiary;
- context._cmp(context.data.byte(43), 1);
+ context._cmp(context.ds.byte(43), 1);
if (context.flags.z()) goto notsartadd;
- context._cmp(context.data.byte(289), 5);
+ context._cmp(context.ds.byte(289), 5);
if (!context.flags.z()) goto notsartadd;
- context._cmp(context.data.byte(289), 5);
+ context._cmp(context.ds.byte(289), 5);
if (!context.flags.z()) goto notsartadd;
context.al = 6;
getlocation(context);
@@ -15710,53 +15710,53 @@ notdumpdiary:
}
static void diarykeyp(Context & context) {
- context._cmp(context.data.byte(100), 214);
+ context._cmp(context.ds.byte(100), 214);
if (context.flags.z()) goto alreadykeyp;
- context.data.byte(100) = 214;
+ context.ds.byte(100) = 214;
context.al = 23;
commandonly(context);
alreadykeyp:
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto notkeyp;
- context.ax = context.data.word(212);
- context._cmp(context.ax, context.data.word(202));
+ context.ax = context.ds.word(212);
+ context._cmp(context.ax, context.ds.word(202));
if (context.flags.z()) goto notkeyp;
- context._cmp(context.data.byte(282), 0);
+ context._cmp(context.ds.byte(282), 0);
if (!context.flags.z()) goto notkeyp;
context.al = 16;
playchannel1(context);
- context.data.byte(282) = 12;
- context.data.byte(278) = 'P';
- context._sub(context.data.byte(289), 1);
- context._cmp(context.data.byte(289), -1);
+ context.ds.byte(282) = 12;
+ context.ds.byte(278) = 'P';
+ context._sub(context.ds.byte(289), 1);
+ context._cmp(context.ds.byte(289), -1);
if (!context.flags.z()) goto notkeyp;
- context.data.byte(289) = 11;
+ context.ds.byte(289) = 11;
notkeyp:
return;
}
static void diarykeyn(Context & context) {
- context._cmp(context.data.byte(100), 213);
+ context._cmp(context.ds.byte(100), 213);
if (context.flags.z()) goto alreadykeyn;
- context.data.byte(100) = 213;
+ context.ds.byte(100) = 213;
context.al = 23;
commandonly(context);
alreadykeyn:
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto notkeyn;
- context.ax = context.data.word(212);
- context._cmp(context.ax, context.data.word(202));
+ context.ax = context.ds.word(212);
+ context._cmp(context.ax, context.ds.word(202));
if (context.flags.z()) goto notkeyn;
- context._cmp(context.data.byte(282), 0);
+ context._cmp(context.ds.byte(282), 0);
if (!context.flags.z()) goto notkeyn;
context.al = 16;
playchannel1(context);
- context.data.byte(282) = 12;
- context.data.byte(278) = 'N';
- context._add(context.data.byte(289), 1);
- context._cmp(context.data.byte(289), 12);
+ context.ds.byte(282) = 12;
+ context.ds.byte(278) = 'N';
+ context._add(context.ds.byte(289), 1);
+ context._cmp(context.ds.byte(289), 12);
if (!context.flags.z()) goto notkeyn;
- context.data.byte(289) = 0;
+ context.ds.byte(289) = 0;
notkeyn:
return;
}
@@ -15766,17 +15766,17 @@ static void showdiarypage(Context & context) {
context.ah = 0;
context.di = 68+24;
context.bx = 48+12;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
showframe(context);
- context.al = context.data.byte(289);
+ context.al = context.ds.byte(289);
findtext1(context);
- context.data.byte(72) = 1;
+ context.ds.byte(72) = 1;
usetempcharset(context);
context.di = 68+24+48;
context.bx = 48+12+16;
context.dl = 240;
context.ah = 16;
- context.data.word(71) = 91+91;
+ context.ds.word(71) = 91+91;
printdirect(context);
context.di = 68+24+129;
context.bx = 48+12+16;
@@ -15788,8 +15788,8 @@ static void showdiarypage(Context & context) {
context.dl = 240;
context.ah = 16;
printdirect(context);
- context.data.byte(72) = 0;
- context.data.word(71) = 0;
+ context.ds.byte(72) = 0;
+ context.ds.word(71) = 0;
usecharset1(context);
return;
}
@@ -15798,37 +15798,37 @@ static void findtext1(Context & context) {
context.ah = 0;
context.si = context.ax;
context._add(context.si, context.si);
- context.es = context.data.word(466);
- context.ax = context.data.word(context.si);
+ context.es = context.ds.word(466);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, 66*2);
context.si = context.ax;
return;
}
static void zoomonoff(Context & context) {
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(234), 2);
+ context._cmp(context.ds.byte(234), 2);
if (context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 222);
+ context._cmp(context.ds.byte(100), 222);
if (context.flags.z()) goto alreadyonoff;
- context.data.byte(100) = 222;
+ context.ds.byte(100) = 222;
context.al = 39;
commandonly(context);
alreadyonoff:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nozoomonoff;
context._and(context.ax, 1);
if (!context.flags.z()) goto dozoomonoff;
nozoomonoff:
return;
dozoomonoff:
- context.al = context.data.byte(8);
+ context.al = context.ds.byte(8);
context._xor(context.al, 1);
- context.data.byte(8) = context.al;
+ context.ds.byte(8) = context.al;
createpanel(context);
- context.data.byte(62) = 0;
+ context.ds.byte(62) = 0;
drawfloor(context);
printsprites(context);
reelsonscreen(context);
@@ -15843,18 +15843,18 @@ dozoomonoff:
}
static void saveload(Context & context) {
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(234), 2);
+ context._cmp(context.ds.byte(234), 2);
if (context.flags.z()) { blank(context); return; };
- context._cmp(context.data.byte(100), 253);
+ context._cmp(context.ds.byte(100), 253);
if (context.flags.z()) goto alreadyops;
- context.data.byte(100) = 253;
+ context.ds.byte(100) = 253;
context.al = 43;
commandonly(context);
alreadyops:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto noops;
context._and(context.ax, 1);
if (context.flags.z()) goto noops;
@@ -15864,11 +15864,11 @@ noops:
}
static void dosaveload(Context & context) {
- context.data.byte(231) = 0;
- context.data.word(79) = 70;
- context.data.word(81) = 182-8;
- context.data.byte(82) = 181;
- context.data.byte(131) = 1;
+ context.ds.byte(231) = 0;
+ context.ds.word(79) = 70;
+ context.ds.word(81) = 182-8;
+ context.ds.byte(82) = 181;
+ context.ds.byte(131) = 1;
clearwork(context);
createpanel2(context);
undertextline(context);
@@ -15883,7 +15883,7 @@ restartops:
showmainops(context);
worktoscreenm(context);
donefirstops:
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
waitops:
readmouse(context);
showpointer(context);
@@ -15893,27 +15893,27 @@ waitops:
delpointer(context);
context.bx = 3693;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto waitops;
- context._cmp(context.data.byte(103), 2);
+ context._cmp(context.ds.byte(103), 2);
if (context.flags.z()) goto restartops;
- context.data.word(79) = 13;
- context.data.word(81) = 182;
- context.data.byte(82) = 240;
- context._cmp(context.data.byte(103), 4);
+ context.ds.word(79) = 13;
+ context.ds.word(81) = 182;
+ context.ds.byte(82) = 240;
+ context._cmp(context.ds.byte(103), 4);
if (context.flags.z()) goto justret;
getridoftemp(context);
restoreall(context);
redrawmainscrn(context);
worktoscreenm(context);
- context.data.byte(100) = 200;
+ context.ds.byte(100) = 200;
justret:
- context.data.byte(131) = 0;
+ context.ds.byte(131) = 0;
return;
}
static void getbackfromops(Context & context) {
- context._cmp(context.data.byte(56), 2);
+ context._cmp(context.ds.byte(56), 2);
if (context.flags.z()) goto opsblock1;
getback1(context);
return;
@@ -15923,19 +15923,19 @@ opsblock1:
}
static void showmainops(Context & context) {
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+10;
context.bx = 52+10;
context.al = 8;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+59;
context.bx = 52+30;
context.al = 7;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
@@ -15945,25 +15945,25 @@ static void showmainops(Context & context) {
}
static void showdiscops(Context & context) {
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+10;
context.bx = 52+10;
context.al = 9;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+59;
context.bx = 52+30;
context.al = 10;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+176+2;
context.bx = 52+60-4;
context.al = 5;
@@ -15979,30 +15979,30 @@ static void loadsavebox(Context & context) {
}
static void loadgame(Context & context) {
- context._cmp(context.data.byte(100), 246);
+ context._cmp(context.ds.byte(100), 246);
if (context.flags.z()) goto alreadyload;
- context.data.byte(100) = 246;
+ context.ds.byte(100) = 246;
context.al = 41;
commandonly(context);
alreadyload:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto noload;
context._cmp(context.ax, 1);
if (context.flags.z()) goto doload;
noload:
return;
doload:
- context.data.byte(340) = 1;
+ context.ds.byte(340) = 1;
showopbox(context);
showloadops(context);
- context.data.byte(341) = 0;
+ context.ds.byte(341) = 0;
showslots(context);
shownames(context);
- context.data.byte(231) = 0;
+ context.ds.byte(231) = 0;
worktoscreenm(context);
namestoold(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
loadops:
delpointer(context);
readmouse(context);
@@ -16012,9 +16012,9 @@ loadops:
dumptextline(context);
context.bx = 3735;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto loadops;
- context._cmp(context.data.byte(103), 2);
+ context._cmp(context.ds.byte(103), 2);
if (context.flags.z()) goto quitloaded;
getridoftemp(context);
context.dx = context.ds;
@@ -16022,30 +16022,30 @@ loadops:
context.bx = 7782;
startloading(context);
loadroomssample(context);
- context.data.byte(74) = 1;
- context.data.byte(188) = 255;
+ context.ds.byte(74) = 1;
+ context.ds.byte(188) = 255;
clearsprites(context);
initman(context);
initrain(context);
- context.data.word(79) = 13;
- context.data.word(81) = 182;
- context.data.byte(82) = 240;
+ context.ds.word(79) = 13;
+ context.ds.word(81) = 182;
+ context.ds.byte(82) = 240;
startup(context);
worktoscreen(context);
- context.data.byte(103) = 4;
+ context.ds.byte(103) = 4;
quitloaded:
return;
}
static void getbacktoops(Context & context) {
- context._cmp(context.data.byte(100), 201);
+ context._cmp(context.ds.byte(100), 201);
if (context.flags.z()) goto alreadygetops;
- context.data.byte(100) = 201;
+ context.ds.byte(100) = 201;
context.al = 42;
commandonly(context);
alreadygetops:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nogetbackops;
context._and(context.ax, 1);
if (!context.flags.z()) goto dogetbackops;
@@ -16053,19 +16053,19 @@ nogetbackops:
return;
dogetbackops:
oldtonames(context);
- context.data.byte(103) = 2;
+ context.ds.byte(103) = 2;
return;
}
static void discops(Context & context) {
- context._cmp(context.data.byte(100), 249);
+ context._cmp(context.ds.byte(100), 249);
if (context.flags.z()) goto alreadydiscops;
- context.data.byte(100) = 249;
+ context.ds.byte(100) = 249;
context.al = 43;
commandonly(context);
alreadydiscops:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto nodiscops;
context._and(context.ax, 1);
if (!context.flags.z()) goto dodiscops;
@@ -16073,12 +16073,12 @@ nodiscops:
return;
dodiscops:
scanfornames(context);
- context.data.byte(340) = 2;
+ context.ds.byte(340) = 2;
showopbox(context);
showdiscops(context);
- context.data.byte(341) = 0;
+ context.ds.byte(341) = 0;
worktoscreenm(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
discopsloop:
delpointer(context);
readmouse(context);
@@ -16088,39 +16088,39 @@ discopsloop:
dumptextline(context);
context.bx = 3777;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto discopsloop;
return;
}
static void savegame(Context & context) {
- context._cmp(context.data.byte(56), 2);
+ context._cmp(context.ds.byte(56), 2);
if (!context.flags.z()) goto cansaveok;
blank(context);
return;
cansaveok:
- context._cmp(context.data.byte(100), 247);
+ context._cmp(context.ds.byte(100), 247);
if (context.flags.z()) goto alreadysave;
- context.data.byte(100) = 247;
+ context.ds.byte(100) = 247;
context.al = 44;
commandonly(context);
alreadysave:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (!context.flags.z()) goto dosave;
return;
dosave:
- context.data.byte(340) = 2;
+ context.ds.byte(340) = 2;
showopbox(context);
showsaveops(context);
- context.data.byte(341) = 0;
+ context.ds.byte(341) = 0;
showslots(context);
shownames(context);
worktoscreenm(context);
namestoold(context);
- context.data.word(394) = 0;
- context.data.word(396) = 0;
- context.data.byte(103) = 0;
+ context.ds.word(394) = 0;
+ context.ds.word(396) = 0;
+ context.ds.byte(103) = 0;
saveops:
delpointer(context);
checkinput(context);
@@ -16131,33 +16131,33 @@ saveops:
dumptextline(context);
context.bx = 3819;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto saveops;
return;
}
static void actualsave(Context & context) {
- context._cmp(context.data.byte(100), 222);
+ context._cmp(context.ds.byte(100), 222);
if (context.flags.z()) goto alreadyactsave;
- context.data.byte(100) = 222;
+ context.ds.byte(100) = 222;
context.al = 44;
commandonly(context);
alreadyactsave:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto noactsave;
context.dx = context.ds;
context.ds = context.dx;
context.si = 8367;
- context.al = context.data.byte(341);
+ context.al = context.ds.byte(341);
context.ah = 0;
context.cx = 17;
context._mul(context.cx);
context._add(context.si, context.ax);
context._add(context.si, 1);
- context._cmp(context.data.byte(context.si), 0);
+ context._cmp(context.ds.byte(context.si), 0);
if (context.flags.z()) goto noactsave;
- context.al = context.data.byte(9);
+ context.al = context.ds.byte(9);
context.ah = 0;
context.cx = 32;
context._mul(context.cx);
@@ -16169,102 +16169,102 @@ alreadyactsave:
context.es = context.cs;
context.cx = 16;
while(--context.cx) context._movsw();
- context.al = context.data.byte(531);
- context.data.byte(context.bx+13) = context.al;
- context.al = context.data.byte(148);
- context.data.byte(context.bx+15) = context.al;
- context.al = context.data.byte(149);
- context.data.byte(context.bx+16) = context.al;
- context.al = context.data.byte(35);
- context.data.byte(context.bx+20) = context.al;
- context.al = context.data.byte(475);
- context.data.byte(context.bx+21) = context.al;
- context.al = context.data.byte(133);
- context.data.byte(context.bx+22) = context.al;
+ context.al = context.ds.byte(531);
+ context.ds.byte(context.bx+13) = context.al;
+ context.al = context.ds.byte(148);
+ context.ds.byte(context.bx+15) = context.al;
+ context.al = context.ds.byte(149);
+ context.ds.byte(context.bx+16) = context.al;
+ context.al = context.ds.byte(35);
+ context.ds.byte(context.bx+20) = context.al;
+ context.al = context.ds.byte(475);
+ context.ds.byte(context.bx+21) = context.al;
+ context.al = context.ds.byte(133);
+ context.ds.byte(context.bx+22) = context.al;
context.al = 255;
- context.data.byte(context.bx+27) = context.al;
+ context.ds.byte(context.bx+27) = context.al;
saveposition(context);
getridoftemp(context);
restoreall(context);
- context.data.word(79) = 13;
- context.data.word(81) = 182;
- context.data.byte(82) = 240;
+ context.ds.word(79) = 13;
+ context.ds.word(81) = 182;
+ context.ds.byte(82) = 240;
redrawmainscrn(context);
worktoscreenm(context);
- context.data.byte(103) = 4;
+ context.ds.byte(103) = 4;
noactsave:
return;
}
static void actualload(Context & context) {
- context._cmp(context.data.byte(100), 221);
+ context._cmp(context.ds.byte(100), 221);
if (context.flags.z()) goto alreadyactload;
- context.data.byte(100) = 221;
+ context.ds.byte(100) = 221;
context.al = 41;
commandonly(context);
alreadyactload:
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto notactload;
context._cmp(context.ax, 1);
if (!context.flags.z()) goto notactload;
context.dx = context.ds;
context.ds = context.dx;
context.si = 8367;
- context.al = context.data.byte(341);
+ context.al = context.ds.byte(341);
context.ah = 0;
context.cx = 17;
context._mul(context.cx);
context._add(context.si, context.ax);
context._add(context.si, 1);
- context._cmp(context.data.byte(context.si), 0);
+ context._cmp(context.ds.byte(context.si), 0);
if (context.flags.z()) goto notactload;
loadposition(context);
- context.data.byte(103) = 1;
+ context.ds.byte(103) = 1;
notactload:
return;
}
static void selectslot2(Context & context) {
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto noselslot2;
- context.data.byte(340) = 2;
+ context.ds.byte(340) = 2;
noselslot2:
selectslot(context);
return;
}
static void checkinput(Context & context) {
- context._cmp(context.data.byte(340), 3);
+ context._cmp(context.ds.byte(340), 3);
if (context.flags.z()) goto nokeypress;
readkey(context);
- context.al = context.data.byte(142);
+ context.al = context.ds.byte(142);
context._cmp(context.al, 0);
if (context.flags.z()) goto nokeypress;
context._cmp(context.al, 13);
if (!context.flags.z()) goto notret;
- context.data.byte(340) = 3;
+ context.ds.byte(340) = 3;
goto afterkey;
notret:
context._cmp(context.al, 8);
if (!context.flags.z()) goto nodel2;
- context._cmp(context.data.byte(342), 0);
+ context._cmp(context.ds.byte(342), 0);
if (context.flags.z()) goto nokeypress;
getnamepos(context);
- context._sub(context.data.byte(342), 1);
- context.data.byte(context.bx) = 0;
- context.data.byte(context.bx+1) = 1;
+ context._sub(context.ds.byte(342), 1);
+ context.ds.byte(context.bx) = 0;
+ context.ds.byte(context.bx+1) = 1;
goto afterkey;
nodel2:
spacepress:
- context._cmp(context.data.byte(342), 14);
+ context._cmp(context.ds.byte(342), 14);
if (context.flags.z()) goto nokeypress;
getnamepos(context);
- context._add(context.data.byte(342), 1);
- context.al = context.data.byte(142);
- context.data.byte(context.bx+1) = context.al;
- context.data.byte(context.bx+2) = 0;
- context.data.byte(context.bx+3) = 1;
+ context._add(context.ds.byte(342), 1);
+ context.al = context.ds.byte(142);
+ context.ds.byte(context.bx+1) = context.al;
+ context.ds.byte(context.bx+2) = 0;
+ context.ds.byte(context.bx+3) = 1;
goto afterkey;
nokeypress:
return;
@@ -16278,7 +16278,7 @@ afterkey:
}
static void getnamepos(Context & context) {
- context.al = context.data.byte(341);
+ context.al = context.ds.byte(341);
context.ah = 0;
context.cx = 17;
context._mul(context.cx);
@@ -16286,20 +16286,20 @@ static void getnamepos(Context & context) {
context.es = context.dx;
context.bx = 8367;
context._add(context.bx, context.ax);
- context.al = context.data.byte(342);
+ context.al = context.ds.byte(342);
context.ah = 0;
context._add(context.bx, context.ax);
return;
}
static void showopbox(Context & context) {
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60;
context.bx = 52;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60;
context.bx = 52+55;
context.al = 4;
@@ -16309,13 +16309,13 @@ static void showopbox(Context & context) {
}
static void showloadops(Context & context) {
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+176+2;
context.bx = 52+60-4;
context.al = 5;
@@ -16330,13 +16330,13 @@ static void showloadops(Context & context) {
}
static void showsaveops(Context & context) {
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+176+2;
context.bx = 52+60-4;
context.al = 5;
@@ -16351,35 +16351,35 @@ static void showsaveops(Context & context) {
}
static void selectslot(Context & context) {
- context._cmp(context.data.byte(100), 244);
+ context._cmp(context.ds.byte(100), 244);
if (context.flags.z()) goto alreadysel;
- context.data.byte(100) = 244;
+ context.ds.byte(100) = 244;
context.al = 45;
commandonly(context);
alreadysel:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._cmp(context.ax, 1);
if (!context.flags.z()) goto noselslot;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto noselslot;
- context._cmp(context.data.byte(340), 3);
+ context._cmp(context.ds.byte(340), 3);
if (!context.flags.z()) goto notnocurs;
- context._sub(context.data.byte(340), 1);
+ context._sub(context.ds.byte(340), 1);
notnocurs:
oldtonames(context);
- context.ax = context.data.word(200);
+ context.ax = context.ds.word(200);
context._sub(context.ax, 52+4);
context.cl = -1;
getslotnum:
context._add(context.cl, 1);
context._sub(context.ax, 11);
if (!context.flags.c()) goto getslotnum;
- context.data.byte(341) = context.cl;
+ context.ds.byte(341) = context.cl;
delpointer(context);
showopbox(context);
showslots(context);
shownames(context);
- context._cmp(context.data.byte(340), 1);
+ context._cmp(context.ds.byte(340), 1);
if (context.flags.z()) goto isloadmode;
showsaveops(context);
readmouse(context);
@@ -16402,7 +16402,7 @@ static void showslots(Context & context) {
context.di = 60+7;
context.bx = 52+8;
context.al = 2;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.ah = 0;
showframe(context);
context.di = 60+10;
@@ -16412,10 +16412,10 @@ slotloop:
context.push(context.cx);
context.push(context.di);
context.push(context.bx);
- context._cmp(context.cl, context.data.byte(341));
+ context._cmp(context.cl, context.ds.byte(341));
if (!context.flags.z()) goto nomatchslot;
context.al = 3;
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.ah = 0;
showframe(context);
nomatchslot:
@@ -16443,9 +16443,9 @@ shownameloop:
context.push(context.bx);
context.push(context.si);
context.al = 4;
- context._cmp(context.cl, context.data.byte(341));
+ context._cmp(context.cl, context.ds.byte(341));
if (!context.flags.z()) goto nomatchslot2;
- context._cmp(context.data.byte(340), 2);
+ context._cmp(context.ds.byte(340), 2);
if (!context.flags.z()) goto loadmode;
context.dx = context.si;
context.cx = 15;
@@ -16453,29 +16453,29 @@ shownameloop:
zerostill:
context._sub(context.si, 1);
context._sub(context.cl, 1);
- context._cmp(context.data.byte(context.si), 1);
+ context._cmp(context.ds.byte(context.si), 1);
if (!context.flags.z()) goto foundcharacter;
goto zerostill;
foundcharacter:
- context.data.byte(342) = context.cl;
- context.data.byte(context.si) = '/';
- context.data.byte(context.si+1) = 0;
+ context.ds.byte(342) = context.cl;
+ context.ds.byte(context.si) = '/';
+ context.ds.byte(context.si+1) = 0;
context.push(context.si);
context.si = context.dx;
context.dl = 200;
context.ah = 0;
printdirect(context);
context.si = context.pop();
- context.data.byte(context.si) = 0;
- context.data.byte(context.si+1) = 1;
+ context.ds.byte(context.si) = 0;
+ context.ds.byte(context.si+1) = 1;
goto afterprintname;
loadmode:
context.al = 0;
context.dl = 200;
context.ah = 0;
- context.data.word(71) = 91;
+ context.ds.word(71) = 91;
printdirect(context);
- context.data.word(71) = 0;
+ context.ds.word(71) = 0;
goto afterprintname;
nomatchslot2:
context.dl = 200;
@@ -16499,7 +16499,7 @@ static void namestoold(Context & context) {
context.ds = context.cs;
context.si = 8367;
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5);
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.cx = 17*4;
while(--context.cx) context._movsb();
return;
@@ -16509,7 +16509,7 @@ static void oldtonames(Context & context) {
context.es = context.cs;
context.di = 8367;
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5);
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.cx = 17*4;
while(--context.cx) context._movsb();
return;
@@ -16521,7 +16521,7 @@ static void makeheader(Context & context) {
context.di = 5952;
context.ax = 17;
storeit(context);
- context.ax = 68-context.data.byte(1);
+ context.ax = 68-context.ds.byte(1);
storeit(context);
context.ax = 0+2080+30000+(16*114)+((114+2)*2)+18000;
storeit(context);
@@ -16529,7 +16529,7 @@ static void makeheader(Context & context) {
storeit(context);
context.ax = 48;
storeit(context);
- context.ax = 991-context.data.byte(537);
+ context.ax = 991-context.ds.byte(537);
storeit(context);
return;
}
@@ -16547,7 +16547,7 @@ static void findlen(Context & context) {
context._sub(context.bx, 1);
context._add(context.bx, context.ax);
nextone:
- context._cmp(context.cl, context.data.byte(context.bx));
+ context._cmp(context.cl, context.ds.byte(context.bx));
if (!context.flags.z()) goto foundlen;
context._sub(context.bx, 1);
context._sub(context.ax, 1);
@@ -16561,18 +16561,18 @@ static void decide(Context & context) {
setmode(context);
loadpalfromiff(context);
clearpalette(context);
- context.data.byte(234) = 0;
- context.data.word(21) = 0;
- context.data.byte(231) = 0;
- context.data.word(79) = 70;
- context.data.word(81) = 182-8;
- context.data.byte(82) = 181;
- context.data.byte(131) = 1;
+ context.ds.byte(234) = 0;
+ context.ds.word(21) = 0;
+ context.ds.byte(231) = 0;
+ context.ds.word(79) = 70;
+ context.ds.word(81) = 182-8;
+ context.ds.byte(82) = 181;
+ context.ds.byte(131) = 1;
loadsavebox(context);
showdecisions(context);
worktoscreen(context);
fadescreenup(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
waitdecide:
readmouse(context);
showpointer(context);
@@ -16582,22 +16582,22 @@ waitdecide:
delpointer(context);
context.bx = 4884;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto waitdecide;
- context._cmp(context.data.byte(103), 4);
+ context._cmp(context.ds.byte(103), 4);
if (context.flags.z()) goto hasloadedroom;
getridoftemp(context);
hasloadedroom:
- context.data.word(79) = 13;
- context.data.word(81) = 182;
- context.data.byte(82) = 240;
+ context.ds.word(79) = 13;
+ context.ds.word(81) = 182;
+ context.ds.byte(82) = 240;
return;
}
static void showdecisions(Context & context) {
createpanel2(context);
showopbox(context);
- context.ds = context.data.word(458);
+ context.ds = context.ds.word(458);
context.di = 60+17;
context.bx = 52+13;
context.al = 6;
@@ -16608,31 +16608,31 @@ static void showdecisions(Context & context) {
}
static void newgame(Context & context) {
- context._cmp(context.data.byte(100), 251);
+ context._cmp(context.ds.byte(100), 251);
if (context.flags.z()) goto alreadynewgame;
- context.data.byte(100) = 251;
+ context.ds.byte(100) = 251;
context.al = 47;
commandonly(context);
alreadynewgame:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._cmp(context.ax, 1);
if (!context.flags.z()) goto nonewgame;
- context.data.byte(103) = 3;
+ context.ds.byte(103) = 3;
nonewgame:
return;
}
static void doload(Context & context) {
- context.data.byte(340) = 1;
+ context.ds.byte(340) = 1;
showopbox(context);
showloadops(context);
- context.data.byte(341) = 0;
+ context.ds.byte(341) = 0;
showslots(context);
shownames(context);
- context.data.byte(231) = 0;
+ context.ds.byte(231) = 0;
worktoscreenm(context);
namestoold(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
loadops:
delpointer(context);
readmouse(context);
@@ -16642,9 +16642,9 @@ loadops:
dumptextline(context);
context.bx = 3735;
checkcoords(context);
- context._cmp(context.data.byte(103), 0);
+ context._cmp(context.ds.byte(103), 0);
if (context.flags.z()) goto loadops;
- context._cmp(context.data.byte(103), 2);
+ context._cmp(context.ds.byte(103), 2);
if (context.flags.z()) goto quitloaded;
getridoftemp(context);
context.dx = context.ds;
@@ -16652,37 +16652,37 @@ loadops:
context.bx = 7782;
startloading(context);
loadroomssample(context);
- context.data.byte(74) = 1;
- context.data.byte(188) = 255;
+ context.ds.byte(74) = 1;
+ context.ds.byte(188) = 255;
clearsprites(context);
initman(context);
initrain(context);
- context.data.word(79) = 13;
- context.data.word(81) = 182;
- context.data.byte(82) = 240;
+ context.ds.word(79) = 13;
+ context.ds.word(81) = 182;
+ context.ds.byte(82) = 240;
startup(context);
worktoscreen(context);
- context.data.byte(103) = 4;
+ context.ds.byte(103) = 4;
quitloaded:
return;
}
static void loadold(Context & context) {
- context._cmp(context.data.byte(100), 252);
+ context._cmp(context.ds.byte(100), 252);
if (context.flags.z()) goto alreadyloadold;
- context.data.byte(100) = 252;
+ context.ds.byte(100) = 252;
context.al = 48;
commandonly(context);
alreadyloadold:
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto noloadold;
doload(context);
- context._cmp(context.data.byte(103), 4);
+ context._cmp(context.ds.byte(103), 4);
if (context.flags.z()) goto noloadold;
showdecisions(context);
worktoscreenm(context);
- context.data.byte(103) = 0;
+ context.ds.byte(103) = 0;
noloadold:
return;
}
@@ -16690,17 +16690,17 @@ noloadold:
static void createname(Context & context) {
context.push(context.ax);
context.di = 4932;
- context.data.byte(context.di+0) = context.dl;
- context.data.byte(context.di+3) = context.cl;
+ context.ds.byte(context.di+0) = context.dl;
+ context.ds.byte(context.di+3) = context.cl;
context.al = context.dh;
context.ah = '0'-1;
findten:
context._add(context.ah, 1);
context._sub(context.al, 10);
if (!context.flags.c()) goto findten;
- context.data.byte(context.di+1) = context.ah;
+ context.ds.byte(context.di+1) = context.ah;
context._add(context.al, 10+'0');
- context.data.byte(context.di+2) = context.al;
+ context.ds.byte(context.di+2) = context.al;
context.ax = context.pop();
context.cl = '0'-1;
thousandsc:
@@ -16708,60 +16708,60 @@ thousandsc:
context._sub(context.ax, 1000);
if (!context.flags.c()) goto thousandsc;
context._add(context.ax, 1000);
- context.data.byte(context.di+4) = context.cl;
+ context.ds.byte(context.di+4) = context.cl;
context.cl = '0'-1;
hundredsc:
context._add(context.cl, 1);
context._sub(context.ax, 100);
if (!context.flags.c()) goto hundredsc;
context._add(context.ax, 100);
- context.data.byte(context.di+5) = context.cl;
+ context.ds.byte(context.di+5) = context.cl;
context.cl = '0'-1;
tensc:
context._add(context.cl, 1);
context._sub(context.ax, 10);
if (!context.flags.c()) goto tensc;
context._add(context.ax, 10);
- context.data.byte(context.di+6) = context.cl;
+ context.ds.byte(context.di+6) = context.cl;
context._add(context.al, '0');
- context.data.byte(context.di+7) = context.al;
+ context.ds.byte(context.di+7) = context.al;
return;
}
static void trysoundalloc(Context & context) {
- context._cmp(context.data.byte(358), 1);
+ context._cmp(context.ds.byte(358), 1);
if (context.flags.z()) goto gotsoundbuff;
- context._add(context.data.byte(357), 1);
+ context._add(context.ds.byte(357), 1);
context.bx = (16384+2048)/16;
allocatemem(context);
- context.data.word(353) = context.ax;
+ context.ds.word(353) = context.ax;
context.push(context.ax);
context.al = context.ah;
context.cl = 4;
context._shr(context.al, context.cl);
- context.data.byte(356) = context.al;
+ context.ds.byte(356) = context.al;
context.ax = context.pop();
context.cl = 4;
context._shl(context.ax, context.cl);
- context.data.word(355) = context.ax;
+ context.ds.word(355) = context.ax;
context._cmp(context.ax, 0x0b7ff);
if (!context.flags.c()) goto soundfail;
- context.es = context.data.word(353);
+ context.es = context.ds.word(353);
context.di = 0;
context.cx = 16384/2;
context.ax = 0x7f7f;
while(--context.cx) context._stosw();
- context.data.byte(358) = 1;
+ context.ds.byte(358) = 1;
return;
soundfail:
- context.es = context.data.word(353);
+ context.es = context.ds.word(353);
deallocatemem(context);
gotsoundbuff:
return;
}
static void playchannel0(Context & context) {
- context._cmp(context.data.byte(378), 255);
+ context._cmp(context.ds.byte(378), 255);
if (context.flags.z()) goto dontbother4;
context.push(context.es);
context.push(context.ds);
@@ -16769,34 +16769,34 @@ static void playchannel0(Context & context) {
context.push(context.cx);
context.push(context.di);
context.push(context.si);
- context.data.byte(507) = context.al;
- context.es = context.data.word(420);
+ context.ds.byte(507) = context.al;
+ context.es = context.ds.word(420);
context._cmp(context.al, 12);
if (context.flags.c()) goto notsecondbank;
- context.es = context.data.word(422);
+ context.es = context.ds.word(422);
context._sub(context.al, 12);
notsecondbank:
- context.data.byte(508) = context.ah;
+ context.ds.byte(508) = context.ah;
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx);
- context.ah = 0;
- context.data.word(502) = context.ax;
- context.ax = context.data.word(context.bx+1);
- context.data.word(504) = context.ax;
- context.ax = context.data.word(context.bx+3);
- context.data.word(506) = context.ax;
- context._cmp(context.data.byte(508), 0);
+ context.al = context.ds.byte(context.bx);
+ context.ah = 0;
+ context.ds.word(502) = context.ax;
+ context.ax = context.ds.word(context.bx+1);
+ context.ds.word(504) = context.ax;
+ context.ax = context.ds.word(context.bx+3);
+ context.ds.word(506) = context.ax;
+ context._cmp(context.ds.byte(508), 0);
if (context.flags.z()) goto nosetloop;
- context.ax = context.data.word(502);
- context.data.word(510) = context.ax;
- context.ax = context.data.word(504);
- context.data.word(512) = context.ax;
- context.ax = context.data.word(506);
- context.data.word(514) = context.ax;
+ context.ax = context.ds.word(502);
+ context.ds.word(510) = context.ax;
+ context.ax = context.ds.word(504);
+ context.ds.word(512) = context.ax;
+ context.ax = context.ds.word(506);
+ context.ds.word(514) = context.ax;
nosetloop:
context.si = context.pop();
context.di = context.pop();
@@ -16809,9 +16809,9 @@ dontbother4:
}
static void playchannel1(Context & context) {
- context._cmp(context.data.byte(378), 255);
+ context._cmp(context.ds.byte(378), 255);
if (context.flags.z()) goto dontbother5;
- context._cmp(context.data.byte(515), 7);
+ context._cmp(context.ds.byte(515), 7);
if (context.flags.z()) goto dontbother5;
context.push(context.es);
context.push(context.ds);
@@ -16819,11 +16819,11 @@ static void playchannel1(Context & context) {
context.push(context.cx);
context.push(context.di);
context.push(context.si);
- context.data.byte(515) = context.al;
- context.es = context.data.word(420);
+ context.ds.byte(515) = context.al;
+ context.es = context.ds.word(420);
context._cmp(context.al, 12);
if (context.flags.c()) goto notsecondbank1;
- context.es = context.data.word(422);
+ context.es = context.ds.word(422);
context._sub(context.al, 12);
notsecondbank1:
context.ah = 0;
@@ -16831,13 +16831,13 @@ notsecondbank1:
context.bx = context.ax;
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.ah = 0;
- context.data.word(517) = context.ax;
- context.ax = context.data.word(context.bx+1);
- context.data.word(519) = context.ax;
- context.ax = context.data.word(context.bx+3);
- context.data.word(521) = context.ax;
+ context.ds.word(517) = context.ax;
+ context.ax = context.ds.word(context.bx+1);
+ context.ds.word(519) = context.ax;
+ context.ax = context.ds.word(context.bx+3);
+ context.ds.word(521) = context.ax;
context.si = context.pop();
context.di = context.pop();
context.cx = context.pop();
@@ -16851,121 +16851,121 @@ dontbother5:
static void makenextblock(Context & context) {
volumeadjust(context);
loopchannel0(context);
- context._cmp(context.data.word(521), 0);
+ context._cmp(context.ds.word(521), 0);
if (context.flags.z()) goto mightbeonlych0;
- context._cmp(context.data.word(506), 0);
+ context._cmp(context.ds.word(506), 0);
if (context.flags.z()) goto mightbeonlych1;
- context._sub(context.data.word(506), 1);
- context._sub(context.data.word(521), 1);
+ context._sub(context.ds.word(506), 1);
+ context._sub(context.ds.word(521), 1);
bothchannels(context);
return;
mightbeonlych1:
- context.data.byte(507) = 255;
- context._cmp(context.data.word(521), 0);
+ context.ds.byte(507) = 255;
+ context._cmp(context.ds.word(521), 0);
if (context.flags.z()) goto notch1only;
- context._sub(context.data.word(521), 1);
+ context._sub(context.ds.word(521), 1);
channel1only(context);
notch1only:
return;
mightbeonlych0:
- context.data.byte(515) = 255;
- context._cmp(context.data.word(506), 0);
+ context.ds.byte(515) = 255;
+ context._cmp(context.ds.word(506), 0);
if (context.flags.z()) goto notch0only;
- context._sub(context.data.word(506), 1);
+ context._sub(context.ds.word(506), 1);
channel0only(context);
return;
notch0only:
- context.es = context.data.word(353);
- context.di = context.data.word(525);
+ context.es = context.ds.word(353);
+ context.di = context.ds.word(525);
context.cx = 1024;
context.ax = 0x7f7f;
while(--context.cx) context._stosw();
context._and(context.di, 16384-1);
- context.data.word(525) = context.di;
+ context.ds.word(525) = context.di;
return;
}
static void volumeadjust(Context & context) {
- context.al = context.data.byte(388);
+ context.al = context.ds.byte(388);
context._cmp(context.al, 0);
if (context.flags.z()) goto volok;
- context.al = context.data.byte(386);
- context._cmp(context.al, context.data.byte(387));
+ context.al = context.ds.byte(386);
+ context._cmp(context.al, context.ds.byte(387));
if (context.flags.z()) goto volfinish;
- context._add(context.data.byte(389), 64);
+ context._add(context.ds.byte(389), 64);
if (!context.flags.z()) goto volok;
- context.al = context.data.byte(386);
- context._add(context.al, context.data.byte(388));
- context.data.byte(386) = context.al;
+ context.al = context.ds.byte(386);
+ context._add(context.al, context.ds.byte(388));
+ context.ds.byte(386) = context.al;
return;
volfinish:
- context.data.byte(388) = 0;
+ context.ds.byte(388) = 0;
volok:
return;
}
static void loopchannel0(Context & context) {
- context._cmp(context.data.word(506), 0);
+ context._cmp(context.ds.word(506), 0);
if (!context.flags.z()) goto notloop;
- context._cmp(context.data.byte(508), 0);
+ context._cmp(context.ds.byte(508), 0);
if (context.flags.z()) goto notloop;
- context._cmp(context.data.byte(508), 255);
+ context._cmp(context.ds.byte(508), 255);
if (context.flags.z()) goto endlessloop;
- context._sub(context.data.byte(508), 1);
+ context._sub(context.ds.byte(508), 1);
endlessloop:
- context.ax = context.data.word(510);
- context.data.word(502) = context.ax;
- context.ax = context.data.word(512);
- context.data.word(504) = context.ax;
- context.ax = context.data.word(506);
- context._add(context.ax, context.data.word(514));
- context.data.word(506) = context.ax;
+ context.ax = context.ds.word(510);
+ context.ds.word(502) = context.ax;
+ context.ax = context.ds.word(512);
+ context.ds.word(504) = context.ax;
+ context.ax = context.ds.word(506);
+ context._add(context.ax, context.ds.word(514));
+ context.ds.word(506) = context.ax;
return;
notloop:
return;
}
static void cancelch0(Context & context) {
- context.data.byte(508) = 0;
- context.data.word(506) = 0;
- context.data.byte(507) = 255;
+ context.ds.byte(508) = 0;
+ context.ds.word(506) = 0;
+ context.ds.byte(507) = 255;
return;
}
static void cancelch1(Context & context) {
- context.data.word(521) = 0;
- context.data.byte(515) = 255;
+ context.ds.word(521) = 0;
+ context.ds.byte(515) = 255;
return;
}
static void channel0tran(Context & context) {
- context._cmp(context.data.byte(386), 0);
+ context._cmp(context.ds.byte(386), 0);
if (!context.flags.z()) goto lowvolumetran;
context.cx = 1024;
while(--context.cx) context._movsw();
return;
lowvolumetran:
context.cx = 1024;
- context.bh = context.data.byte(386);
+ context.bh = context.ds.byte(386);
context.bl = 0;
context._add(context.bx, 16384-256);
volloop:
context._lodsw();
context.bl = context.al;
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.bl = context.ah;
- context.ah = context.data.byte(context.bx);
+ context.ah = context.ds.byte(context.bx);
context._stosw();
if (--context.cx) goto volloop;
return;
}
static void domix(Context & context) {
- context._cmp(context.data.byte(386), 0);
+ context._cmp(context.ds.byte(386), 0);
if (!context.flags.z()) goto lowvolumemix;
slow:
context._lodsb();
- context.ah = context.data.byte(context.bx);
+ context.ah = context.ds.byte(context.bx);
context._add(context.bx, 1);
context._cmp(context.al, context.dh);
if (!context.flags.c()) goto toplot;
@@ -17006,12 +17006,12 @@ nodistort:
lowvolumemix:
context._lodsb();
context.push(context.bx);
- context.bh = context.data.byte(386);
+ context.bh = context.ds.byte(386);
context._add(context.bh, 63);
context.bl = context.al;
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.bx = context.pop();
- context.ah = context.data.byte(context.bx);
+ context.ah = context.ds.byte(context.bx);
context._add(context.bx, 1);
context._cmp(context.al, context.dh);
if (!context.flags.c()) goto toplotv;
@@ -17053,7 +17053,7 @@ doneit:
}
static void entrytexts(Context & context) {
- context._cmp(context.data.byte(9), 21);
+ context._cmp(context.ds.byte(9), 21);
if (!context.flags.z()) goto notloc15;
context.al = 28;
context.cx = 60;
@@ -17063,7 +17063,7 @@ static void entrytexts(Context & context) {
setuptimeduse(context);
return;
notloc15:
- context._cmp(context.data.byte(9), 30);
+ context._cmp(context.ds.byte(9), 30);
if (!context.flags.z()) goto notloc43;
context.al = 27;
context.cx = 60;
@@ -17073,7 +17073,7 @@ notloc15:
setuptimeduse(context);
return;
notloc43:
- context._cmp(context.data.byte(9), 23);
+ context._cmp(context.ds.byte(9), 23);
if (!context.flags.z()) goto notloc23;
context.al = 29;
context.cx = 60;
@@ -17083,7 +17083,7 @@ notloc43:
setuptimeduse(context);
return;
notloc23:
- context._cmp(context.data.byte(9), 31);
+ context._cmp(context.ds.byte(9), 31);
if (!context.flags.z()) goto notloc44;
context.al = 30;
context.cx = 60;
@@ -17093,7 +17093,7 @@ notloc23:
setuptimeduse(context);
return;
notloc44:
- context._cmp(context.data.byte(9), 20);
+ context._cmp(context.ds.byte(9), 20);
if (!context.flags.z()) goto notsarters2;
context.al = 31;
context.cx = 60;
@@ -17103,7 +17103,7 @@ notloc44:
setuptimeduse(context);
return;
notsarters2:
- context._cmp(context.data.byte(9), 24);
+ context._cmp(context.ds.byte(9), 24);
if (!context.flags.z()) goto notedenlob;
context.al = 32;
context.cx = 60;
@@ -17113,7 +17113,7 @@ notsarters2:
setuptimeduse(context);
return;
notedenlob:
- context._cmp(context.data.byte(9), 34);
+ context._cmp(context.ds.byte(9), 34);
if (!context.flags.z()) goto noteden2;
context.al = 33;
context.cx = 60;
@@ -17127,71 +17127,71 @@ noteden2:
}
static void entryanims(Context & context) {
- context.data.word(23) = -1;
- context.data.byte(32) = -1;
- context._cmp(context.data.byte(9), 33);
+ context.ds.word(23) = -1;
+ context.ds.byte(32) = -1;
+ context._cmp(context.ds.byte(9), 33);
if (!context.flags.z()) goto notinthebeach;
switchryanoff(context);
- context.data.word(21) = 76*2;
- context.data.word(23) = 0;
- context.data.word(25) = 76;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 76*2;
+ context.ds.word(23) = 0;
+ context.ds.word(25) = 76;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
return;
notinthebeach:
- context._cmp(context.data.byte(9), 44);
+ context._cmp(context.ds.byte(9), 44);
if (!context.flags.z()) goto notsparkys;
context.al = 8;
resetlocation(context);
- context.data.word(21) = 50*2;
- context.data.word(23) = 247;
- context.data.word(25) = 297;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 50*2;
+ context.ds.word(23) = 247;
+ context.ds.word(25) = 297;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
switchryanoff(context);
return;
notsparkys:
- context._cmp(context.data.byte(9), 22);
+ context._cmp(context.ds.byte(9), 22);
if (!context.flags.z()) goto notinthelift;
- context.data.word(21) = 31*2;
- context.data.word(23) = 0;
- context.data.word(25) = 30;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 31*2;
+ context.ds.word(23) = 0;
+ context.ds.word(25) = 30;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
switchryanoff(context);
return;
notinthelift:
- context._cmp(context.data.byte(9), 26);
+ context._cmp(context.ds.byte(9), 26);
if (!context.flags.z()) goto notunderchurch;
- context.data.byte(292) = 2;
- context.data.byte(295) = 1;
+ context.ds.byte(292) = 2;
+ context.ds.byte(295) = 1;
return;
notunderchurch:
- context._cmp(context.data.byte(9), 45);
+ context._cmp(context.ds.byte(9), 45);
if (!context.flags.z()) goto notenterdream;
- context.data.byte(54) = 0;
- context.data.word(21) = 296;
- context.data.word(23) = 45;
- context.data.word(25) = 198;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.byte(54) = 0;
+ context.ds.word(21) = 296;
+ context.ds.word(23) = 45;
+ context.ds.word(25) = 198;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
switchryanoff(context);
return;
notenterdream:
- context._cmp(context.data.byte(184), 46);
+ context._cmp(context.ds.byte(184), 46);
if (!context.flags.z()) goto notcrystal;
- context._cmp(context.data.byte(43), 1);
+ context._cmp(context.ds.byte(43), 1);
if (!context.flags.z()) goto notcrystal;
context.al = 0;
removefreeobject(context);
return;
notcrystal:
- context._cmp(context.data.byte(9), 9);
+ context._cmp(context.ds.byte(9), 9);
if (!context.flags.z()) goto nottopchurch;
context.al = 2;
checkifpathison(context);
if (context.flags.z()) goto nottopchurch;
- context._cmp(context.data.byte(44), 0);
+ context._cmp(context.ds.byte(44), 0);
if (context.flags.z()) goto nottopchurch;
context.al = 3;
checkifpathison(context);
@@ -17205,7 +17205,7 @@ makedoorsopen:
placesetobject(context);
return;
nottopchurch:
- context._cmp(context.data.byte(9), 47);
+ context._cmp(context.ds.byte(9), 47);
if (!context.flags.z()) goto notdreamcentre;
context.al = 4;
placesetobject(context);
@@ -17213,30 +17213,30 @@ nottopchurch:
placesetobject(context);
return;
notdreamcentre:
- context._cmp(context.data.byte(9), 38);
+ context._cmp(context.ds.byte(9), 38);
if (!context.flags.z()) goto notcarpark;
- context.data.word(21) = 57*2;
- context.data.word(23) = 4;
- context.data.word(25) = 57;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 57*2;
+ context.ds.word(23) = 4;
+ context.ds.word(25) = 57;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
switchryanoff(context);
return;
notcarpark:
- context._cmp(context.data.byte(9), 32);
+ context._cmp(context.ds.byte(9), 32);
if (!context.flags.z()) goto notalley;
- context.data.word(21) = 66*2;
- context.data.word(23) = 0;
- context.data.word(25) = 66;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.word(21) = 66*2;
+ context.ds.word(23) = 0;
+ context.ds.word(25) = 66;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
switchryanoff(context);
return;
notalley:
- context._cmp(context.data.byte(9), 24);
+ context._cmp(context.ds.byte(9), 24);
if (!context.flags.z()) goto notedensagain;
context.al = 2;
- context.ah = context.data.byte(185);
+ context.ah = context.ds.byte(185);
context._sub(context.ah, 1);
turnanypathon(context);
notedensagain:
@@ -17244,7 +17244,7 @@ notedensagain:
}
static void initialinv(Context & context) {
- context._cmp(context.data.byte(184), 24);
+ context._cmp(context.ds.byte(184), 24);
if (context.flags.z()) goto isedens;
return;
isedens:
@@ -17273,20 +17273,20 @@ isedens:
context.al = 16;
context.ah = 2;
pickupob(context);
- context.data.byte(32) = 1;
- context.data.word(29) = 0;
- context.data.word(31) = 6;
- context.data.byte(27) = 1;
- context.data.byte(26) = 1;
+ context.ds.byte(32) = 1;
+ context.ds.word(29) = 0;
+ context.ds.word(31) = 6;
+ context.ds.byte(27) = 1;
+ context.ds.byte(26) = 1;
switchryanoff(context);
return;
}
static void pickupob(Context & context) {
- context.data.byte(107) = context.ah;
- context.data.byte(102) = 2;
- context.data.byte(89) = context.al;
- context.data.byte(99) = context.al;
+ context.ds.byte(107) = context.ah;
+ context.ds.byte(102) = 2;
+ context.ds.byte(89) = context.al;
+ context.ds.byte(99) = context.al;
getanyad(context);
transfertoex(context);
return;
@@ -17297,10 +17297,10 @@ static void checkforemm(Context & context) {
}
static void checkbasemem(Context & context) {
- context.bx = context.data.word(534);
+ context.bx = context.ds.word(534);
context._cmp(context.bx, 0x9360);
if (!context.flags.c()) goto enoughmem;
- context.data.byte(532) = 5;
+ context.ds.byte(532) = 5;
{ quickquit(context); return; };
enoughmem:
return;
@@ -17309,86 +17309,86 @@ enoughmem:
static void allocatebuffers(Context & context) {
context.bx = 0+2080+30000+(16*114)+((114+2)*2)+18000/16;
allocatemem(context);
- context.data.word(398) = context.ax;
+ context.ds.word(398) = context.ax;
trysoundalloc(context);
context.bx = 0+(66*60)/16;
allocatemem(context);
- context.data.word(418) = context.ax;
+ context.ds.word(418) = context.ax;
trysoundalloc(context);
- context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537)+68-context.data.byte(1)/16;
+ context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537)+68-context.ds.byte(1)/16;
allocatemem(context);
- context.data.word(412) = context.ax;
+ context.ds.word(412) = context.ax;
trysoundalloc(context);
context.bx = 16*80/16;
allocatemem(context);
- context.data.word(426) = context.ax;
+ context.ds.word(426) = context.ax;
trysoundalloc(context);
context.bx = 64*128/16;
allocatemem(context);
- context.data.word(428) = context.ax;
+ context.ds.word(428) = context.ax;
trysoundalloc(context);
context.bx = 22*8*20*8/16;
allocatemem(context);
- context.data.word(402) = context.ax;
+ context.ds.word(402) = context.ax;
allocatework(context);
context.bx = 2048/16;
allocatemem(context);
- context.data.word(420) = context.ax;
+ context.ds.word(420) = context.ax;
context.bx = 2048/16;
allocatemem(context);
- context.data.word(422) = context.ax;
+ context.ds.word(422) = context.ax;
return;
}
static void clearbuffers(Context & context) {
- context.es = context.data.word(412);
- context.cx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537)+68-context.data.byte(1)/2;
+ context.es = context.ds.word(412);
+ context.cx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537)+68-context.ds.byte(1)/2;
context.ax = 0;
context.di = 0;
while(--context.cx) context._stosw();
- context.es = context.data.word(398);
+ context.es = context.ds.word(398);
context.cx = 0+2080+30000+(16*114)+((114+2)*2)+18000/2;
context.ax = 0x0ffff;
context.di = 0;
while(--context.cx) context._stosw();
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64);
context.ds = context.cs;
context.si = 537;
- context.cx = 991-context.data.byte(537);
+ context.cx = 991-context.ds.byte(537);
while(--context.cx) context._movsb();
- context.es = context.data.word(412);
- context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537);
+ context.es = context.ds.word(412);
+ context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537);
context.ds = context.cs;
context.si = 1;
- context.cx = 68-context.data.byte(1);
+ context.cx = 68-context.ds.byte(1);
while(--context.cx) context._movsb();
clearchanges(context);
return;
}
static void clearchanges(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.cx = 250*2;
context.ax = 0x0ffff;
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80);
while(--context.cx) context._stosw();
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64);
context.es = context.cs;
context.di = 537;
- context.cx = 991-context.data.byte(537);
+ context.cx = 991-context.ds.byte(537);
while(--context.cx) context._movsb();
- context.ds = context.data.word(412);
- context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537);
+ context.ds = context.ds.word(412);
+ context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537);
context.es = context.cs;
context.di = 1;
- context.cx = 68-context.data.byte(1);
+ context.cx = 68-context.ds.byte(1);
while(--context.cx) context._movsb();
- context.data.byte(10) = 0;
- context.data.word(12) = 0;
- context.data.word(14) = 0;
- context.es = context.data.word(398);
+ context.ds.byte(10) = 0;
+ context.ds.word(12) = 0;
+ context.ds.word(14) = 0;
+ context.es = context.ds.word(398);
context.cx = 0+2080+30000+(16*114)+((114+2)*2)+18000/2;
context.ax = 0x0ffff;
context.di = 0;
@@ -17409,85 +17409,85 @@ static void clearchanges(Context & context) {
}
static void clearbeforeload(Context & context) {
- context._cmp(context.data.byte(74), 1);
+ context._cmp(context.ds.byte(74), 1);
if (!context.flags.z()) goto noclear;
clearreels(context);
clearrest(context);
- context.data.byte(74) = 0;
+ context.ds.byte(74) = 0;
noclear:
return;
}
static void clearreels(Context & context) {
- context.es = context.data.word(430);
+ context.es = context.ds.word(430);
deallocatemem(context);
- context.es = context.data.word(432);
+ context.es = context.ds.word(432);
deallocatemem(context);
- context.es = context.data.word(434);
+ context.es = context.ds.word(434);
deallocatemem(context);
return;
}
static void clearrest(Context & context) {
- context.es = context.data.word(418);
+ context.es = context.ds.word(418);
context.cx = 66*60/2;
context.ax = 0;
context.di = 0;
while(--context.cx) context._stosw();
- context.es = context.data.word(416);
+ context.es = context.ds.word(416);
deallocatemem(context);
- context.es = context.data.word(444);
+ context.es = context.ds.word(444);
deallocatemem(context);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
deallocatemem(context);
- context.es = context.data.word(448);
+ context.es = context.ds.word(448);
deallocatemem(context);
- context.es = context.data.word(440);
+ context.es = context.ds.word(440);
deallocatemem(context);
- context.es = context.data.word(442);
+ context.es = context.ds.word(442);
deallocatemem(context);
- context.es = context.data.word(436);
+ context.es = context.ds.word(436);
deallocatemem(context);
- context.es = context.data.word(446);
+ context.es = context.ds.word(446);
deallocatemem(context);
- context.es = context.data.word(438);
+ context.es = context.ds.word(438);
deallocatemem(context);
return;
}
static void seecommandtail(Context & context) {
- context.data.word(372) = 0x220;
- context.data.byte(378) = 5;
- context.data.byte(379) = 1;
- context.data.byte(73) = 0;
+ context.ds.word(372) = 0x220;
+ context.ds.byte(378) = 5;
+ context.ds.byte(379) = 1;
+ context.ds.byte(73) = 0;
context.bx = 2;
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context.dx = context.es;
context._sub(context.ax, context.dx);
- context.data.word(534) = context.ax;
+ context.ds.word(534) = context.ax;
context.bx = 0x02c;
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context.push(context.es);
context.push(context.bx);
context.es = context.ax;
context.bx = 0;
findblaster:
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.ax, 0);
if (context.flags.z()) goto endofenvironment;
context._cmp(context.al, 'B');
if (!context.flags.z()) goto notblast;
context._cmp(context.ah, 'L');
if (!context.flags.z()) goto notblast;
- context._cmp(context.data.byte(context.bx+2), 'A');
+ context._cmp(context.ds.byte(context.bx+2), 'A');
if (!context.flags.z()) goto notblast;
- context._cmp(context.data.byte(context.bx+3), 'S');
+ context._cmp(context.ds.byte(context.bx+3), 'S');
if (!context.flags.z()) goto notblast;
- context._cmp(context.data.byte(context.bx+4), 'T');
+ context._cmp(context.ds.byte(context.bx+4), 'T');
if (!context.flags.z()) goto notblast;
- context._cmp(context.data.byte(context.bx+5), 'E');
+ context._cmp(context.ds.byte(context.bx+5), 'E');
if (!context.flags.z()) goto notblast;
- context._cmp(context.data.byte(context.bx+6), 'R');
+ context._cmp(context.ds.byte(context.bx+6), 'R');
if (!context.flags.z()) goto notblast;
context._add(context.bx, 7);
parseblaster(context);
@@ -17505,7 +17505,7 @@ endofenvironment:
static void parseblaster(Context & context) {
lookattail:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._cmp(context.al, 0);
if (context.flags.z()) goto endtail;
context._cmp(context.al, 13);
@@ -17534,35 +17534,35 @@ lookattail:
if (--context.cx) goto lookattail;
return;
issoundint:
- context.al = context.data.byte(context.bx+1);
+ context.al = context.ds.byte(context.bx+1);
context._sub(context.al, '0');
- context.data.byte(378) = context.al;
+ context.ds.byte(378) = context.al;
context._add(context.bx, 1);
goto lookattail;
isdma:
- context.al = context.data.byte(context.bx+1);
+ context.al = context.ds.byte(context.bx+1);
context._sub(context.al, '0');
- context.data.byte(379) = context.al;
+ context.ds.byte(379) = context.al;
context._add(context.bx, 1);
goto lookattail;
isbaseadd:
context.push(context.cx);
- context.al = context.data.byte(context.bx+2);
+ context.al = context.ds.byte(context.bx+2);
context._sub(context.al, '0');
context.ah = 0;
context.cl = 4;
context._shl(context.ax, context.cl);
context._add(context.ax, 0x200);
- context.data.word(372) = context.ax;
+ context.ds.word(372) = context.ax;
context.cx = context.pop();
context._add(context.bx, 1);
goto lookattail;
isbright:
- context.data.byte(73) = 1;
+ context.ds.byte(73) = 1;
context._add(context.bx, 1);
goto lookattail;
isnosound:
- context.data.byte(378) = 255;
+ context.ds.byte(378) = 255;
context._add(context.bx, 1);
goto lookattail;
endtail:
@@ -17570,10 +17570,10 @@ endtail:
}
static void startup(Context & context) {
- context.data.byte(142) = 0;
- context.data.byte(105) = 0;
+ context.ds.byte(142) = 0;
+ context.ds.byte(105) = 0;
createpanel(context);
- context.data.byte(62) = 1;
+ context.ds.byte(62) = 1;
drawfloor(context);
showicon(context);
getunderzoom(context);
@@ -17587,11 +17587,11 @@ static void startup(Context & context) {
static void startup1(Context & context) {
clearpalette(context);
- context.data.byte(61) = 0;
- context.data.byte(142) = '0';
- context.data.byte(105) = 0;
+ context.ds.byte(61) = 0;
+ context.ds.byte(142) = '0';
+ context.ds.byte(105) = 0;
createpanel(context);
- context.data.byte(62) = 1;
+ context.ds.byte(62) = 1;
drawfloor(context);
showicon(context);
getunderzoom(context);
@@ -17610,9 +17610,9 @@ static void screenupdate(Context & context) {
mainscreen(context);
animpointer(context);
showpointer(context);
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto iswatchingmode;
- context._cmp(context.data.byte(188), 255);
+ context._cmp(context.ds.byte(188), 255);
if (!context.flags.z()) goto finishearly;
iswatchingmode:
vsync(context);
@@ -17625,7 +17625,7 @@ iswatchingmode:
watchcount(context);
zoom(context);
showpointer(context);
- context._cmp(context.data.byte(391), 0);
+ context._cmp(context.ds.byte(391), 0);
if (!context.flags.z()) goto finishearly;
vsync(context);
readmouse2(context);
@@ -17654,74 +17654,74 @@ finishearly:
}
static void watchreel(Context & context) {
- context._cmp(context.data.word(23), -1);
+ context._cmp(context.ds.word(23), -1);
if (context.flags.z()) goto notplayingreel;
- context.al = context.data.byte(475);
- context._cmp(context.al, context.data.byte(477));
+ context.al = context.ds.byte(475);
+ context._cmp(context.al, context.ds.byte(477));
if (!context.flags.z()) goto waitstopwalk;
- context.al = context.data.byte(135);
- context._cmp(context.al, context.data.byte(133));
+ context.al = context.ds.byte(135);
+ context._cmp(context.al, context.ds.byte(133));
if (context.flags.z()) goto notwatchpath;
waitstopwalk:
return;
notwatchpath:
- context._sub(context.data.byte(26), 1);
- context._cmp(context.data.byte(26), -1);
+ context._sub(context.ds.byte(26), 1);
+ context._cmp(context.ds.byte(26), -1);
if (!context.flags.z()) goto showwatchreel;
- context.al = context.data.byte(27);
- context.data.byte(26) = context.al;
- context.ax = context.data.word(23);
- context._cmp(context.ax, context.data.word(25));
+ context.al = context.ds.byte(27);
+ context.ds.byte(26) = context.al;
+ context.ax = context.ds.word(23);
+ context._cmp(context.ax, context.ds.word(25));
if (!context.flags.z()) goto ismorereel;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto showwatchreel;
- context.data.word(23) = -1;
- context.data.byte(32) = -1;
- context._cmp(context.data.word(29), -1);
+ context.ds.word(23) = -1;
+ context.ds.byte(32) = -1;
+ context._cmp(context.ds.word(29), -1);
if (context.flags.z()) goto nomorereel;
- context.data.byte(32) = 1;
+ context.ds.byte(32) = 1;
goto notplayingreel;
ismorereel:
- context._add(context.data.word(23), 1);
+ context._add(context.ds.word(23), 1);
showwatchreel:
- context.ax = context.data.word(23);
- context.data.word(239) = context.ax;
+ context.ax = context.ds.word(23);
+ context.ds.word(239) = context.ax;
plotreel(context);
- context.ax = context.data.word(239);
- context.data.word(23) = context.ax;
+ context.ax = context.ds.word(239);
+ context.ds.word(23) = context.ax;
checkforshake(context);
nomorereel:
return;
notplayingreel:
- context._cmp(context.data.byte(32), 1);
+ context._cmp(context.ds.byte(32), 1);
if (!context.flags.z()) goto notholdingreel;
- context.ax = context.data.word(29);
- context.data.word(239) = context.ax;
+ context.ax = context.ds.word(29);
+ context.ds.word(239) = context.ax;
plotreel(context);
return;
notholdingreel:
- context._cmp(context.data.byte(32), 2);
+ context._cmp(context.ds.byte(32), 2);
if (!context.flags.z()) goto notreleasehold;
- context._sub(context.data.byte(26), 1);
- context._cmp(context.data.byte(26), -1);
+ context._sub(context.ds.byte(26), 1);
+ context._cmp(context.ds.byte(26), -1);
if (!context.flags.z()) goto notlastspeed2;
- context.al = context.data.byte(27);
- context.data.byte(26) = context.al;
- context._add(context.data.word(29), 1);
+ context.al = context.ds.byte(27);
+ context.ds.byte(26) = context.al;
+ context._add(context.ds.word(29), 1);
notlastspeed2:
- context.ax = context.data.word(29);
- context._cmp(context.ax, context.data.word(31));
+ context.ax = context.ds.word(29);
+ context._cmp(context.ax, context.ds.word(31));
if (!context.flags.z()) goto ismorereel2;
- context.data.word(29) = -1;
- context.data.byte(32) = -1;
- context.al = context.data.byte(33);
- context.data.byte(478) = context.al;
- context.data.byte(477) = context.al;
+ context.ds.word(29) = -1;
+ context.ds.byte(32) = -1;
+ context.al = context.ds.byte(33);
+ context.ds.byte(478) = context.al;
+ context.ds.byte(477) = context.al;
autosetwalk(context);
return;
ismorereel2:
- context.ax = context.data.word(29);
- context.data.word(239) = context.ax;
+ context.ax = context.ds.word(29);
+ context.ds.word(239) = context.ax;
plotreel(context);
return;
notreleasehold:
@@ -17729,22 +17729,22 @@ notreleasehold:
}
static void checkforshake(Context & context) {
- context._cmp(context.data.byte(184), 26);
+ context._cmp(context.ds.byte(184), 26);
if (!context.flags.z()) goto notstartshake;
context._cmp(context.ax, 104);
if (!context.flags.z()) goto notstartshake;
- context.data.byte(68) = -1;
+ context.ds.byte(68) = -1;
notstartshake:
return;
}
static void watchcount(Context & context) {
- context._cmp(context.data.byte(3), 0);
+ context._cmp(context.ds.byte(3), 0);
if (context.flags.z()) goto nowatchworn;
- context._add(context.data.byte(146), 1);
- context._cmp(context.data.byte(146), 9);
+ context._add(context.ds.byte(146), 1);
+ context._cmp(context.ds.byte(146), 9);
if (context.flags.z()) goto flashdots;
- context._cmp(context.data.byte(146), 18);
+ context._cmp(context.ds.byte(146), 18);
if (context.flags.z()) goto uptime;
nowatchworn:
return;
@@ -17752,89 +17752,89 @@ flashdots:
context.ax = 91*3+21;
context.di = 268+4;
context.bx = 21;
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
showframe(context);
goto finishwatch;
uptime:
- context.data.byte(146) = 0;
- context._add(context.data.byte(5), 1);
- context._cmp(context.data.byte(5), 60);
+ context.ds.byte(146) = 0;
+ context._add(context.ds.byte(5), 1);
+ context._cmp(context.ds.byte(5), 60);
if (!context.flags.z()) goto finishtime;
- context.data.byte(5) = 0;
- context._add(context.data.byte(6), 1);
- context._cmp(context.data.byte(6), 60);
+ context.ds.byte(5) = 0;
+ context._add(context.ds.byte(6), 1);
+ context._cmp(context.ds.byte(6), 60);
if (!context.flags.z()) goto finishtime;
- context.data.byte(6) = 0;
- context._add(context.data.byte(7), 1);
- context._cmp(context.data.byte(7), 24);
+ context.ds.byte(6) = 0;
+ context._add(context.ds.byte(7), 1);
+ context._cmp(context.ds.byte(7), 24);
if (!context.flags.z()) goto finishtime;
- context.data.byte(7) = 0;
+ context.ds.byte(7) = 0;
finishtime:
showtime(context);
finishwatch:
- context.data.byte(266) = 1;
+ context.ds.byte(266) = 1;
return;
}
static void showtime(Context & context) {
- context._cmp(context.data.byte(3), 0);
+ context._cmp(context.ds.byte(3), 0);
if (context.flags.z()) goto nowatch;
- context.al = context.data.byte(5);
+ context.al = context.ds.byte(5);
context.cl = 0;
twodigitnum(context);
context.push(context.ax);
context.al = context.ah;
context.ah = 0;
context._add(context.ax, 91*3+10);
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
context.di = 282+5;
context.bx = 21;
showframe(context);
context.ax = context.pop();
context.ah = 0;
context._add(context.ax, 91*3+10);
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
context.di = 282+9;
context.bx = 21;
showframe(context);
- context.al = context.data.byte(6);
+ context.al = context.ds.byte(6);
context.cl = 0;
twodigitnum(context);
context.push(context.ax);
context.al = context.ah;
context.ah = 0;
context._add(context.ax, 91*3);
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
context.di = 270+5;
context.bx = 21;
showframe(context);
context.ax = context.pop();
context.ah = 0;
context._add(context.ax, 91*3);
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
context.di = 270+11;
context.bx = 21;
showframe(context);
- context.al = context.data.byte(7);
+ context.al = context.ds.byte(7);
context.cl = 0;
twodigitnum(context);
context.push(context.ax);
context.al = context.ah;
context.ah = 0;
context._add(context.ax, 91*3);
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
context.di = 256+5;
context.bx = 21;
showframe(context);
context.ax = context.pop();
context.ah = 0;
context._add(context.ax, 91*3);
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
context.di = 256+11;
context.bx = 21;
showframe(context);
context.ax = 91*3+20;
- context.ds = context.data.word(404);
+ context.ds = context.ds.word(404);
context.di = 267+5;
context.bx = 21;
showframe(context);
@@ -17843,14 +17843,14 @@ nowatch:
}
static void dumpwatch(Context & context) {
- context._cmp(context.data.byte(266), 1);
+ context._cmp(context.ds.byte(266), 1);
if (!context.flags.z()) goto nodumpwatch;
context.di = 256;
context.bx = 21;
context.cl = 40;
context.ch = 12;
multidump(context);
- context.data.byte(266) = 0;
+ context.ds.byte(266) = 0;
nodumpwatch:
return;
}
@@ -17862,11 +17862,11 @@ static void showbyte(Context & context) {
context._shr(context.dl, 1);
context._shr(context.dl, 1);
onedigit(context);
- context.data.byte(context.di) = context.dl;
+ context.ds.byte(context.di) = context.dl;
context.dl = context.al;
context._and(context.dl, 15);
onedigit(context);
- context.data.byte(context.di+1) = context.dl;
+ context.ds.byte(context.di+1) = context.dl;
context._add(context.di, 3);
return;
}
@@ -17904,7 +17904,7 @@ word1:
if (!context.flags.c()) goto word1;
context._add(context.ax, context.bx);
convnum(context);
- context.data.byte(context.di) = context.cl;
+ context.ds.byte(context.di) = context.cl;
context.bx = 1000;
context.cl = 47;
word2:
@@ -17913,7 +17913,7 @@ word2:
if (!context.flags.c()) goto word2;
context._add(context.ax, context.bx);
convnum(context);
- context.data.byte(context.di+1) = context.cl;
+ context.ds.byte(context.di+1) = context.cl;
context.bx = 100;
context.cl = 47;
word3:
@@ -17922,7 +17922,7 @@ word3:
if (!context.flags.c()) goto word3;
context._add(context.ax, context.bx);
convnum(context);
- context.data.byte(context.di+2) = context.cl;
+ context.ds.byte(context.di+2) = context.cl;
context.bx = 10;
context.cl = 47;
word4:
@@ -17931,11 +17931,11 @@ word4:
if (!context.flags.c()) goto word4;
context._add(context.ax, context.bx);
convnum(context);
- context.data.byte(context.di+3) = context.cl;
+ context.ds.byte(context.di+3) = context.cl;
context._add(context.al, 48);
context.cl = context.al;
convnum(context);
- context.data.byte(context.di+4) = context.cl;
+ context.ds.byte(context.di+4) = context.cl;
return;
}
@@ -17955,57 +17955,57 @@ noconvnum:
static void walkandexamine(Context & context) {
finishedwalking(context);
if (!context.flags.z()) goto noobselect;
- context.al = context.data.byte(307);
- context.data.byte(100) = context.al;
- context.al = context.data.byte(308);
- context.data.byte(99) = context.al;
- context.data.byte(306) = 0;
- context._cmp(context.data.byte(100), 5);
+ context.al = context.ds.byte(307);
+ context.ds.byte(100) = context.al;
+ context.al = context.ds.byte(308);
+ context.ds.byte(99) = context.al;
+ context.ds.byte(306) = 0;
+ context._cmp(context.ds.byte(100), 5);
if (context.flags.z()) goto noobselect;
examineob(context);
return;
wantstowalk:
setwalk(context);
- context.data.byte(473) = 1;
+ context.ds.byte(473) = 1;
noobselect:
return;
diff:
- context.data.byte(99) = context.al;
- context.data.byte(100) = context.ah;
+ context.ds.byte(99) = context.al;
+ context.ds.byte(100) = context.ah;
diff2:
- context._cmp(context.data.byte(492), 254);
+ context._cmp(context.ds.byte(492), 254);
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto middleofwalk;
- context.al = context.data.byte(133);
- context._cmp(context.al, context.data.byte(135));
+ context.al = context.ds.byte(133);
+ context._cmp(context.al, context.ds.byte(135));
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (!context.flags.z()) goto notblock;
- context.bl = context.data.byte(475);
- context._cmp(context.bl, context.data.byte(474));
+ context.bl = context.ds.byte(475);
+ context._cmp(context.bl, context.ds.byte(474));
if (!context.flags.z()) goto dontcheck;
- context.cl = context.data.byte(151);
+ context.cl = context.ds.byte(151);
context._add(context.cl, 12);
- context.ch = context.data.byte(152);
+ context.ch = context.ds.byte(152);
context._add(context.ch, 12);
checkone(context);
context._cmp(context.cl, 2);
if (context.flags.c()) goto isblock;
dontcheck:
getflagunderp(context);
- context._cmp(context.data.byte(153), 2);
+ context._cmp(context.ds.byte(153), 2);
if (context.flags.c()) goto isblock;
- context._cmp(context.data.byte(153), 128);
+ context._cmp(context.ds.byte(153), 128);
if (!context.flags.c()) goto isblock;
goto toofaraway;
notblock:
- context.bl = context.data.byte(475);
- context._cmp(context.bl, context.data.byte(474));
+ context.bl = context.ds.byte(475);
+ context._cmp(context.bl, context.ds.byte(474));
if (!context.flags.z()) goto toofaraway;
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (context.flags.z()) goto isblock;
- context._cmp(context.data.byte(100), 5);
+ context._cmp(context.ds.byte(100), 5);
if (context.flags.z()) goto isaperson;
examineobtext(context);
return;
@@ -18024,14 +18024,14 @@ toofaraway:
}
static void mainscreen(Context & context) {
- context.data.byte(237) = 0;
+ context.ds.byte(237) = 0;
context.bx = 4949;
- context._cmp(context.data.byte(3), 1);
+ context._cmp(context.ds.byte(3), 1);
if (context.flags.z()) goto checkmain;
context.bx = 5011;
checkmain:
checkcoords(context);
- context._cmp(context.data.byte(306), 0);
+ context._cmp(context.ds.byte(306), 0);
if (context.flags.z()) goto finishmain;
walkandexamine(context);
finishmain:
@@ -18039,48 +18039,48 @@ finishmain:
}
static void madmanrun(Context & context) {
- context._cmp(context.data.byte(9), 14);
+ context._cmp(context.ds.byte(9), 14);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.data.byte(148), 22);
+ context._cmp(context.ds.byte(148), 22);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.data.byte(234), 2);
+ context._cmp(context.ds.byte(234), 2);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.data.byte(53), 0);
+ context._cmp(context.ds.byte(53), 0);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.data.byte(100), 211);
+ context._cmp(context.ds.byte(100), 211);
if (context.flags.z()) goto alreadyrun;
- context.data.byte(100) = 211;
+ context.ds.byte(100) = 211;
context.al = 52;
commandonly(context);
alreadyrun:
- context._cmp(context.data.word(202), 1);
+ context._cmp(context.ds.word(202), 1);
if (!context.flags.z()) goto norun;
- context.ax = context.data.word(202);
- context._cmp(context.ax, context.data.word(212));
+ context.ax = context.ds.word(202);
+ context._cmp(context.ax, context.ds.word(212));
if (context.flags.z()) goto norun;
- context.data.byte(65) = 8;
+ context.ds.byte(65) = 8;
norun:
return;
}
static void checkcoords(Context & context) {
loop048:
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto nonefound;
context.push(context.bx);
- context._cmp(context.data.word(198), context.ax);
+ context._cmp(context.ds.word(198), context.ax);
if (context.flags.l()) goto over045;
- context.ax = context.data.word(context.bx+2);
- context._cmp(context.data.word(198), context.ax);
+ context.ax = context.ds.word(context.bx+2);
+ context._cmp(context.ds.word(198), context.ax);
if (!context.flags.ge()) goto over045;
- context.ax = context.data.word(context.bx+4);
- context._cmp(context.data.word(200), context.ax);
+ context.ax = context.ds.word(context.bx+4);
+ context._cmp(context.ds.word(200), context.ax);
if (context.flags.l()) goto over045;
- context.ax = context.data.word(context.bx+6);
- context._cmp(context.data.word(200), context.ax);
+ context.ax = context.ds.word(context.bx+6);
+ context._cmp(context.ds.word(200), context.ax);
if (!context.flags.ge()) goto over045;
- context.ax = context.data.word(context.bx+8);
+ context.ax = context.ds.word(context.bx+8);
__dispatch_call(context, context.ax);
finished:
context.ax = context.pop();
@@ -18094,31 +18094,31 @@ nonefound:
}
static void identifyob(Context & context) {
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context.ax = context.data.word(198);
- context._sub(context.ax, context.data.word(117));
+ context.ax = context.ds.word(198);
+ context._sub(context.ax, context.ds.word(117));
context._cmp(context.ax, 22*8);
if (context.flags.c()) goto notover1;
blank(context);
return;
notover1:
- context.bx = context.data.word(200);
- context._sub(context.bx, context.data.word(119));
+ context.bx = context.ds.word(200);
+ context._sub(context.bx, context.ds.word(119));
context._cmp(context.bx, 20*8);
if (context.flags.c()) goto notover2;
blank(context);
return;
notover2:
- context.data.byte(237) = 1;
+ context.ds.byte(237) = 1;
context.ah = context.bl;
context.push(context.ax);
findpathofpoint(context);
- context.data.byte(474) = context.dl;
+ context.ds.byte(474) = context.dl;
context.ax = context.pop();
context.push(context.ax);
findfirstpath(context);
- context.data.byte(476) = context.al;
+ context.ds.byte(476) = context.al;
context.ax = context.pop();
checkifex(context);
if (!context.flags.z()) goto finishidentify;
@@ -18128,16 +18128,16 @@ notover2:
if (!context.flags.z()) goto finishidentify;
checkifset(context);
if (!context.flags.z()) goto finishidentify;
- context.ax = context.data.word(198);
- context._sub(context.ax, context.data.word(117));
+ context.ax = context.ds.word(198);
+ context._sub(context.ax, context.ds.word(117));
context.cl = context.al;
- context.ax = context.data.word(200);
- context._sub(context.ax, context.data.word(119));
+ context.ax = context.ds.word(200);
+ context._sub(context.ax, context.ds.word(119));
context.ch = context.al;
checkone(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto nothingund;
- context._cmp(context.data.byte(56), 1);
+ context._cmp(context.ds.byte(56), 1);
if (context.flags.z()) goto nothingund;
context.ah = 3;
obname(context);
@@ -18149,33 +18149,33 @@ nothingund:
}
static void checkifperson(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5);
context.cx = 12;
identifyreel:
context.push(context.cx);
- context._cmp(context.data.byte(context.bx+4), 255);
+ context._cmp(context.ds.byte(context.bx+4), 255);
if (context.flags.z()) goto notareelid;
context.push(context.es);
context.push(context.bx);
context.push(context.ax);
- context.ax = context.data.word(context.bx+0);
- context.data.word(239) = context.ax;
+ context.ax = context.ds.word(context.bx+0);
+ context.ds.word(239) = context.ax;
getreelstart(context);
- context._cmp(context.data.word(context.si+2), 0x0ffff);
+ context._cmp(context.ds.word(context.si+2), 0x0ffff);
if (!context.flags.z()) goto notblankpers;
context._add(context.si, 5);
notblankpers:
- context.cx = context.data.word(context.si+2);
- context.ax = context.data.word(context.si+0);
+ context.cx = context.ds.word(context.si+2);
+ context.ax = context.ds.word(context.si+0);
context.push(context.cx);
getreelframeax(context);
context.cx = context.pop();
- context._add(context.cl, context.data.byte(context.bx+4));
- context._add(context.ch, context.data.byte(context.bx+5));
+ context._add(context.cl, context.ds.byte(context.bx+4));
+ context._add(context.ch, context.ds.byte(context.bx+5));
context.dx = context.cx;
- context._add(context.dl, context.data.byte(context.bx+0));
- context._add(context.dh, context.data.byte(context.bx+1));
+ context._add(context.dl, context.ds.byte(context.bx+0));
+ context._add(context.dh, context.ds.byte(context.bx+1));
context.ax = context.pop();
context.bx = context.pop();
context.es = context.pop();
@@ -18188,9 +18188,9 @@ notblankpers:
context._cmp(context.ah, context.dh);
if (!context.flags.c()) goto notareelid;
context.cx = context.pop();
- context.ax = context.data.word(context.bx+2);
- context.data.word(249) = context.ax;
- context.al = context.data.byte(context.bx+4);
+ context.ax = context.ds.word(context.bx+2);
+ context.ds.word(249) = context.ax;
+ context.al = context.ds.byte(context.bx+4);
context.ah = 5;
obname(context);
context.al = 0;
@@ -18205,25 +18205,25 @@ notareelid:
}
static void checkifset(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(127*5);
context.cx = 127;
identifyset:
- context._cmp(context.data.byte(context.bx+4), 255);
+ context._cmp(context.ds.byte(context.bx+4), 255);
if (context.flags.z()) goto notasetid;
- context._cmp(context.al, context.data.byte(context.bx));
+ context._cmp(context.al, context.ds.byte(context.bx));
if (context.flags.c()) goto notasetid;
- context._cmp(context.al, context.data.byte(context.bx+2));
+ context._cmp(context.al, context.ds.byte(context.bx+2));
if (!context.flags.c()) goto notasetid;
- context._cmp(context.ah, context.data.byte(context.bx+1));
+ context._cmp(context.ah, context.ds.byte(context.bx+1));
if (context.flags.c()) goto notasetid;
- context._cmp(context.ah, context.data.byte(context.bx+3));
+ context._cmp(context.ah, context.ds.byte(context.bx+3));
if (!context.flags.c()) goto notasetid;
pixelcheckset(context);
if (context.flags.z()) goto notasetid;
isitdescribed(context);
if (context.flags.z()) goto notasetid;
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
context.ah = 1;
obname(context);
context.al = 0;
@@ -18238,21 +18238,21 @@ notasetid:
}
static void checkifex(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(99*5);
context.cx = 99;
identifyex:
- context._cmp(context.data.byte(context.bx+4), 255);
+ context._cmp(context.ds.byte(context.bx+4), 255);
if (context.flags.z()) goto notanexid;
- context._cmp(context.al, context.data.byte(context.bx));
+ context._cmp(context.al, context.ds.byte(context.bx));
if (context.flags.c()) goto notanexid;
- context._cmp(context.al, context.data.byte(context.bx+2));
+ context._cmp(context.al, context.ds.byte(context.bx+2));
if (!context.flags.c()) goto notanexid;
- context._cmp(context.ah, context.data.byte(context.bx+1));
+ context._cmp(context.ah, context.ds.byte(context.bx+1));
if (context.flags.c()) goto notanexid;
- context._cmp(context.ah, context.data.byte(context.bx+3));
+ context._cmp(context.ah, context.ds.byte(context.bx+3));
if (!context.flags.c()) goto notanexid;
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
context.ah = 4;
obname(context);
context.al = 1;
@@ -18267,21 +18267,21 @@ notanexid:
}
static void checkiffree(Context & context) {
- context.es = context.data.word(412);
+ context.es = context.ds.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(79*5);
context.cx = 79;
identifyfree:
- context._cmp(context.data.byte(context.bx+4), 255);
+ context._cmp(context.ds.byte(context.bx+4), 255);
if (context.flags.z()) goto notafreeid;
- context._cmp(context.al, context.data.byte(context.bx));
+ context._cmp(context.al, context.ds.byte(context.bx));
if (context.flags.c()) goto notafreeid;
- context._cmp(context.al, context.data.byte(context.bx+2));
+ context._cmp(context.al, context.ds.byte(context.bx+2));
if (!context.flags.c()) goto notafreeid;
- context._cmp(context.ah, context.data.byte(context.bx+1));
+ context._cmp(context.ah, context.ds.byte(context.bx+1));
if (context.flags.c()) goto notafreeid;
- context._cmp(context.ah, context.data.byte(context.bx+3));
+ context._cmp(context.ah, context.ds.byte(context.bx+3));
if (!context.flags.c()) goto notafreeid;
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
context.ah = 2;
obname(context);
context.al = 0;
@@ -18300,16 +18300,16 @@ static void isitdescribed(Context & context) {
context.push(context.cx);
context.push(context.es);
context.push(context.bx);
- context.al = context.data.byte(context.bx+4);
+ context.al = context.ds.byte(context.bx+4);
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.data.word(440);
+ context.es = context.ds.word(440);
context._add(context.bx, 0);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(130*2));
context.bx = context.ax;
- context.dl = context.data.byte(context.bx);
+ context.dl = context.ds.byte(context.bx);
context.bx = context.pop();
context.es = context.pop();
context.cx = context.pop();
@@ -18321,8 +18321,8 @@ static void isitdescribed(Context & context) {
static void findpathofpoint(Context & context) {
context.push(context.ax);
context.bx = 0;
- context.es = context.data.word(450);
- context.al = context.data.byte(185);
+ context.es = context.ds.word(450);
+ context.al = context.ds.byte(185);
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
@@ -18330,17 +18330,17 @@ static void findpathofpoint(Context & context) {
context.cx = context.pop();
context.dl = 0;
pathloop:
- context.al = context.data.byte(context.bx+6);
+ context.al = context.ds.byte(context.bx+6);
context._cmp(context.al, 255);
if (!context.flags.z()) goto flunkedit;
- context.ax = context.data.word(context.bx+2);
+ context.ax = context.ds.word(context.bx+2);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto flunkedit;
context._cmp(context.cl, context.al);
if (context.flags.c()) goto flunkedit;
context._cmp(context.ch, context.ah);
if (context.flags.c()) goto flunkedit;
- context.ax = context.data.word(context.bx+4);
+ context.ax = context.ds.word(context.bx+4);
context._cmp(context.cl, context.al);
if (!context.flags.c()) goto flunkedit;
context._cmp(context.ch, context.ah);
@@ -18359,8 +18359,8 @@ gotvalidpath:
static void findfirstpath(Context & context) {
context.push(context.ax);
context.bx = 0;
- context.es = context.data.word(450);
- context.al = context.data.byte(185);
+ context.es = context.ds.word(450);
+ context.al = context.ds.byte(185);
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
@@ -18368,14 +18368,14 @@ static void findfirstpath(Context & context) {
context.cx = context.pop();
context.dl = 0;
fpathloop:
- context.ax = context.data.word(context.bx+2);
+ context.ax = context.ds.word(context.bx+2);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto nofirst;
context._cmp(context.cl, context.al);
if (context.flags.c()) goto nofirst;
context._cmp(context.ch, context.ah);
if (context.flags.c()) goto nofirst;
- context.ax = context.data.word(context.bx+4);
+ context.ax = context.ds.word(context.bx+4);
context._cmp(context.cl, context.al);
if (!context.flags.c()) goto nofirst;
context._cmp(context.ch, context.ah);
@@ -18389,7 +18389,7 @@ nofirst:
context.al = 0;
return;
gotfirst:
- context.al = context.data.byte(context.bx+6);
+ context.al = context.ds.byte(context.bx+6);
return;
}
@@ -18397,7 +18397,7 @@ static void turnpathon(Context & context) {
context.push(context.ax);
context.push(context.ax);
context.cl = 255;
- context.ch = context.data.byte(185);
+ context.ch = context.ds.byte(185);
context._add(context.ch, 100);
findormake(context);
context.ax = context.pop();
@@ -18411,7 +18411,7 @@ static void turnpathon(Context & context) {
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
context.al = 255;
- context.data.byte(context.bx+6) = context.al;
+ context.ds.byte(context.bx+6) = context.al;
nopathon:
return;
}
@@ -18420,7 +18420,7 @@ static void turnpathoff(Context & context) {
context.push(context.ax);
context.push(context.ax);
context.cl = 0;
- context.ch = context.data.byte(185);
+ context.ch = context.ds.byte(185);
context._add(context.ch, 100);
findormake(context);
context.ax = context.pop();
@@ -18434,7 +18434,7 @@ static void turnpathoff(Context & context) {
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
context.al = 0;
- context.data.byte(context.bx+6) = context.al;
+ context.ds.byte(context.bx+6) = context.al;
nopathoff:
return;
}
@@ -18451,7 +18451,7 @@ static void turnanypathon(Context & context) {
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
context.ax = context.pop();
@@ -18461,7 +18461,7 @@ static void turnanypathon(Context & context) {
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
context.al = 255;
- context.data.byte(context.bx+6) = context.al;
+ context.ds.byte(context.bx+6) = context.al;
return;
}
@@ -18477,7 +18477,7 @@ static void turnanypathoff(Context & context) {
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
context.ax = context.pop();
@@ -18487,7 +18487,7 @@ static void turnanypathoff(Context & context) {
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
context.al = 0;
- context.data.byte(context.bx+6) = context.al;
+ context.ds.byte(context.bx+6) = context.al;
return;
}
@@ -18500,33 +18500,33 @@ static void checkifpathison(Context & context) {
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx+6);
+ context.al = context.ds.byte(context.bx+6);
context._cmp(context.al, 255);
return;
}
static void afternewroom(Context & context) {
- context._cmp(context.data.byte(186), 0);
+ context._cmp(context.ds.byte(186), 0);
if (context.flags.z()) goto notnew;
- context.data.word(328) = 0;
+ context.ds.word(328) = 0;
createpanel(context);
- context.data.byte(100) = 0;
+ context.ds.byte(100) = 0;
findroominloc(context);
- context._cmp(context.data.byte(63), 1);
+ context._cmp(context.ds.byte(63), 1);
if (context.flags.z()) goto ryansoff;
- context.al = context.data.byte(151);
+ context.al = context.ds.byte(151);
context._add(context.al, 12);
- context.ah = context.data.byte(152);
+ context.ah = context.ds.byte(152);
context._add(context.ah, 12);
findpathofpoint(context);
- context.data.byte(475) = context.dl;
+ context.ds.byte(475) = context.dl;
findxyfrompath(context);
- context.data.byte(187) = 1;
+ context.ds.byte(187) = 1;
ryansoff:
- context.data.byte(62) = 1;
+ context.ds.byte(62) = 1;
drawfloor(context);
- context.data.word(98) = 160;
- context.data.byte(186) = 0;
+ context.ds.word(98) = 160;
+ context.ds.byte(186) = 0;
showicon(context);
spriteupdate(context);
printsprites(context);
@@ -18544,50 +18544,50 @@ notnew:
}
static void atmospheres(Context & context) {
- context.cl = context.data.byte(148);
- context.ch = context.data.byte(149);
+ context.cl = context.ds.byte(148);
+ context.ch = context.ds.byte(149);
context.bx = 5073;
nextatmos:
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto nomoreatmos;
- context._cmp(context.al, context.data.byte(184));
+ context._cmp(context.al, context.ds.byte(184));
if (!context.flags.z()) goto wrongatmos;
- context.ax = context.data.word(context.bx+1);
+ context.ax = context.ds.word(context.bx+1);
context._cmp(context.ax, context.cx);
if (!context.flags.z()) goto wrongatmos;
- context.ax = context.data.word(context.bx+3);
- context._cmp(context.al, context.data.byte(507));
+ context.ax = context.ds.word(context.bx+3);
+ context._cmp(context.al, context.ds.byte(507));
if (context.flags.z()) goto playingalready;
- context._cmp(context.data.byte(9), 45);
+ context._cmp(context.ds.byte(9), 45);
if (!context.flags.z()) goto notweb;
- context._cmp(context.data.word(23), 45);
+ context._cmp(context.ds.word(23), 45);
if (context.flags.z()) goto wrongatmos;
notweb:
playchannel0(context);
- context._cmp(context.data.byte(184), 2);
- context._cmp(context.data.byte(149), 0);
+ context._cmp(context.ds.byte(184), 2);
+ context._cmp(context.ds.byte(149), 0);
if (context.flags.z()) goto fullvol;
if (!context.flags.z()) goto notlouisvol;
- context._cmp(context.data.byte(149), 10);
+ context._cmp(context.ds.byte(149), 10);
if (!context.flags.z()) goto notlouisvol;
- context._cmp(context.data.byte(148), 22);
+ context._cmp(context.ds.byte(148), 22);
if (!context.flags.z()) goto notlouisvol;
- context.data.byte(386) = 5;
+ context.ds.byte(386) = 5;
notlouisvol:
playingalready:
- context._cmp(context.data.byte(184), 2);
+ context._cmp(context.ds.byte(184), 2);
if (!context.flags.z()) goto notlouisvol2;
- context._cmp(context.data.byte(148), 22);
+ context._cmp(context.ds.byte(148), 22);
if (context.flags.z()) goto louisvol;
- context._cmp(context.data.byte(148), 11);
+ context._cmp(context.ds.byte(148), 11);
if (!context.flags.z()) goto notlouisvol2;
fullvol:
- context.data.byte(386) = 0;
+ context.ds.byte(386) = 0;
notlouisvol2:
return;
louisvol:
- context.data.byte(386) = 5;
+ context.ds.byte(386) = 5;
return;
wrongatmos:
context._add(context.bx, 5);
@@ -18598,126 +18598,126 @@ nomoreatmos:
}
static void walkintoroom(Context & context) {
- context._cmp(context.data.byte(9), 14);
+ context._cmp(context.ds.byte(9), 14);
if (!context.flags.z()) goto notlair;
- context._cmp(context.data.byte(148), 22);
+ context._cmp(context.ds.byte(148), 22);
if (!context.flags.z()) goto notlair;
- context.data.byte(478) = 1;
- context.data.byte(477) = 1;
+ context.ds.byte(478) = 1;
+ context.ds.byte(477) = 1;
autosetwalk(context);
notlair:
return;
}
static void afterintroroom(Context & context) {
- context._cmp(context.data.byte(186), 0);
+ context._cmp(context.ds.byte(186), 0);
if (context.flags.z()) goto notnewintro;
clearwork(context);
findroominloc(context);
- context.data.byte(62) = 1;
+ context.ds.byte(62) = 1;
drawfloor(context);
reelsonscreen(context);
spriteupdate(context);
printsprites(context);
worktoscreen(context);
- context.data.byte(186) = 0;
+ context.ds.byte(186) = 0;
notnewintro:
return;
}
static void obname(Context & context) {
- context._cmp(context.data.byte(473), 0);
+ context._cmp(context.ds.byte(473), 0);
if (context.flags.z()) goto notnewpath;
- context.data.byte(473) = 0;
+ context.ds.byte(473) = 0;
goto diff;
notnewpath:
- context._cmp(context.ah, context.data.byte(100));
+ context._cmp(context.ah, context.ds.byte(100));
if (context.flags.z()) goto notdiffob;
goto diff;
notdiffob:
- context._cmp(context.al, context.data.byte(99));
+ context._cmp(context.al, context.ds.byte(99));
if (!context.flags.z()) goto diff;
- context._cmp(context.data.byte(306), 1);
+ context._cmp(context.ds.byte(306), 1);
if (context.flags.z()) goto walkandexamine;
- context._cmp(context.data.word(202), 0);
+ context._cmp(context.ds.word(202), 0);
if (context.flags.z()) goto noobselect;
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (!context.flags.z()) goto isntblock;
- context._cmp(context.data.byte(153), 2);
+ context._cmp(context.ds.byte(153), 2);
if (context.flags.c()) goto noobselect;
isntblock:
- context.bl = context.data.byte(475);
- context._cmp(context.bl, context.data.byte(474));
+ context.bl = context.ds.byte(475);
+ context._cmp(context.bl, context.ds.byte(474));
if (!context.flags.z()) goto wantstowalk;
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (context.flags.z()) goto wantstowalk;
finishedwalking(context);
if (!context.flags.z()) goto noobselect;
- context._cmp(context.data.byte(100), 5);
+ context._cmp(context.ds.byte(100), 5);
if (context.flags.z()) goto wantstotalk;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto noobselect;
examineob(context);
return;
wantstotalk:
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto noobselect;
talk(context);
return;
walkandexamine:
finishedwalking(context);
if (!context.flags.z()) goto noobselect;
- context.al = context.data.byte(307);
- context.data.byte(100) = context.al;
- context.al = context.data.byte(308);
- context.data.byte(99) = context.al;
- context.data.byte(306) = 0;
- context._cmp(context.data.byte(100), 5);
+ context.al = context.ds.byte(307);
+ context.ds.byte(100) = context.al;
+ context.al = context.ds.byte(308);
+ context.ds.byte(99) = context.al;
+ context.ds.byte(306) = 0;
+ context._cmp(context.ds.byte(100), 5);
if (context.flags.z()) goto noobselect;
examineob(context);
return;
wantstowalk:
setwalk(context);
- context.data.byte(473) = 1;
+ context.ds.byte(473) = 1;
noobselect:
return;
diff:
- context.data.byte(99) = context.al;
- context.data.byte(100) = context.ah;
+ context.ds.byte(99) = context.al;
+ context.ds.byte(100) = context.ah;
diff2:
- context._cmp(context.data.byte(492), 254);
+ context._cmp(context.ds.byte(492), 254);
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (!context.flags.z()) goto middleofwalk;
- context.al = context.data.byte(133);
- context._cmp(context.al, context.data.byte(135));
+ context.al = context.ds.byte(133);
+ context._cmp(context.al, context.ds.byte(135));
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (!context.flags.z()) goto notblock;
- context.bl = context.data.byte(475);
- context._cmp(context.bl, context.data.byte(474));
+ context.bl = context.ds.byte(475);
+ context._cmp(context.bl, context.ds.byte(474));
if (!context.flags.z()) goto dontcheck;
- context.cl = context.data.byte(151);
+ context.cl = context.ds.byte(151);
context._add(context.cl, 12);
- context.ch = context.data.byte(152);
+ context.ch = context.ds.byte(152);
context._add(context.ch, 12);
checkone(context);
context._cmp(context.cl, 2);
if (context.flags.c()) goto isblock;
dontcheck:
getflagunderp(context);
- context._cmp(context.data.byte(153), 2);
+ context._cmp(context.ds.byte(153), 2);
if (context.flags.c()) goto isblock;
- context._cmp(context.data.byte(153), 128);
+ context._cmp(context.ds.byte(153), 128);
if (!context.flags.c()) goto isblock;
goto toofaraway;
notblock:
- context.bl = context.data.byte(475);
- context._cmp(context.bl, context.data.byte(474));
+ context.bl = context.ds.byte(475);
+ context._cmp(context.bl, context.ds.byte(474));
if (!context.flags.z()) goto toofaraway;
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (context.flags.z()) goto isblock;
- context._cmp(context.data.byte(100), 5);
+ context._cmp(context.ds.byte(100), 5);
if (context.flags.z()) goto isaperson;
examineobtext(context);
return;
@@ -18736,17 +18736,17 @@ toofaraway:
}
static void finishedwalking(Context & context) {
- context._cmp(context.data.byte(492), 254);
+ context._cmp(context.ds.byte(492), 254);
if (!context.flags.z()) goto iswalking;
- context.al = context.data.byte(133);
- context._cmp(context.al, context.data.byte(135));
+ context.al = context.ds.byte(133);
+ context._cmp(context.al, context.ds.byte(135));
iswalking:
return;
}
static void examineobtext(Context & context) {
- context.bl = context.data.byte(99);
- context.bh = context.data.byte(100);
+ context.bl = context.ds.byte(99);
+ context.bh = context.ds.byte(100);
context.al = 1;
commandwithob(context);
return;
@@ -18775,13 +18775,13 @@ static void commandwithob(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.data.word(452);
- context.ax = context.data.word(context.bx);
+ context.es = context.ds.word(452);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
- context.di = context.data.word(79);
- context.bx = context.data.word(81);
- context.dl = context.data.byte(82);
+ context.di = context.ds.word(79);
+ context.bx = context.ds.word(81);
+ context.dl = context.ds.byte(82);
context.al = 0;
context.ah = 0;
printdirect(context);
@@ -18789,19 +18789,19 @@ static void commandwithob(Context & context) {
context.di = 5674;
copyname(context);
context.ax = context.pop();
- context.di = context.data.word(84);
+ context.di = context.ds.word(84);
context._cmp(context.al, 0);
if (context.flags.z()) goto noadd;
context._add(context.di, 5);
noadd:
- context.bx = context.data.word(81);
+ context.bx = context.ds.word(81);
context.es = context.cs;
context.si = 5674;
- context.dl = context.data.byte(82);
+ context.dl = context.ds.byte(82);
context.al = 0;
context.ah = 0;
printdirect(context);
- context.data.byte(109) = 1;
+ context.ds.byte(109) = 1;
return;
}
@@ -18826,17 +18826,17 @@ static void commandonly(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.data.word(452);
- context.ax = context.data.word(context.bx);
+ context.es = context.ds.word(452);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
- context.di = context.data.word(79);
- context.bx = context.data.word(81);
- context.dl = context.data.byte(82);
+ context.di = context.ds.word(79);
+ context.bx = context.ds.word(81);
+ context.dl = context.ds.byte(82);
context.al = 0;
context.ah = 0;
printdirect(context);
- context.data.byte(109) = 1;
+ context.ds.byte(109) = 1;
return;
}
@@ -18847,8 +18847,8 @@ static void printmessage(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.data.word(452);
- context.ax = context.data.word(context.bx);
+ context.es = context.ds.word(452);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
context.di = context.pop();
@@ -18868,8 +18868,8 @@ static void printmessage2(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.data.word(452);
- context.ax = context.data.word(context.bx);
+ context.es = context.ds.word(452);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
context.ax = context.pop();
@@ -18889,63 +18889,63 @@ searchmess:
}
static void blocknametext(Context & context) {
- context.bl = context.data.byte(99);
- context.bh = context.data.byte(100);
+ context.bl = context.ds.byte(99);
+ context.bh = context.ds.byte(100);
context.al = 0;
commandwithob(context);
return;
}
static void personnametext(Context & context) {
- context.bl = context.data.byte(99);
+ context.bl = context.ds.byte(99);
context._and(context.bl, 127);
- context.bh = context.data.byte(100);
+ context.bh = context.ds.byte(100);
context.al = 2;
commandwithob(context);
return;
}
static void walktotext(Context & context) {
- context.bl = context.data.byte(99);
- context.bh = context.data.byte(100);
+ context.bl = context.ds.byte(99);
+ context.bh = context.ds.byte(100);
context.al = 3;
commandwithob(context);
return;
}
static void getflagunderp(Context & context) {
- context.cx = context.data.word(198);
- context._sub(context.cx, context.data.word(117));
- context.ax = context.data.word(200);
- context._sub(context.ax, context.data.word(119));
+ context.cx = context.ds.word(198);
+ context._sub(context.cx, context.ds.word(117));
+ context.ax = context.ds.word(200);
+ context._sub(context.ax, context.ds.word(119));
context.ch = context.al;
checkone(context);
- context.data.byte(153) = context.cl;
- context.data.byte(154) = context.ch;
+ context.ds.byte(153) = context.cl;
+ context.ds.byte(154) = context.ch;
return;
}
static void setwalk(Context & context) {
- context._cmp(context.data.byte(492), 254);
+ context._cmp(context.ds.byte(492), 254);
if (!context.flags.z()) goto alreadywalking;
- context.al = context.data.byte(474);
- context._cmp(context.al, context.data.byte(475));
+ context.al = context.ds.byte(474);
+ context._cmp(context.al, context.ds.byte(475));
if (context.flags.z()) goto cantwalk2;
- context._cmp(context.data.byte(32), 1);
+ context._cmp(context.ds.byte(32), 1);
if (context.flags.z()) goto holdingreel;
- context._cmp(context.data.byte(32), 2);
+ context._cmp(context.ds.byte(32), 2);
if (context.flags.z()) goto cantwalk;
- context.data.byte(478) = context.al;
- context.data.byte(477) = context.al;
- context._cmp(context.data.word(202), 2);
+ context.ds.byte(478) = context.al;
+ context.ds.byte(477) = context.al;
+ context._cmp(context.ds.word(202), 2);
if (!context.flags.z()) goto notwalkandexam;
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (context.flags.z()) goto notwalkandexam;
- context.data.byte(306) = 1;
- context.al = context.data.byte(100);
- context.data.byte(307) = context.al;
- context.al = context.data.byte(99);
- context.data.byte(308) = context.al;
+ context.ds.byte(306) = 1;
+ context.al = context.ds.byte(100);
+ context.ds.byte(307) = context.al;
+ context.al = context.ds.byte(99);
+ context.ds.byte(308) = context.al;
notwalkandexam:
autosetwalk(context);
cantwalk:
@@ -18954,95 +18954,95 @@ cantwalk2:
facerightway(context);
return;
alreadywalking:
- context.al = context.data.byte(474);
- context.data.byte(477) = context.al;
+ context.al = context.ds.byte(474);
+ context.ds.byte(477) = context.al;
return;
holdingreel:
- context.data.byte(33) = context.al;
- context.data.byte(32) = 2;
+ context.ds.byte(33) = context.al;
+ context.ds.byte(32) = 2;
return;
}
static void autosetwalk(Context & context) {
- context.al = context.data.byte(475);
- context._cmp(context.data.byte(477), context.al);
+ context.al = context.ds.byte(475);
+ context._cmp(context.ds.byte(477), context.al);
if (!context.flags.z()) goto notsamealready;
return;
notsamealready:
getroomspaths(context);
checkdest(context);
context.push(context.bx);
- context.al = context.data.byte(475);
+ context.al = context.ds.byte(475);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.ah = 0;
context._sub(context.ax, 12);
- context.data.word(480) = context.ax;
- context.al = context.data.byte(context.bx+1);
+ context.ds.word(480) = context.ax;
+ context.al = context.ds.byte(context.bx+1);
context.ah = 0;
context._sub(context.ax, 12);
- context.data.word(482) = context.ax;
+ context.ds.word(482) = context.ax;
context.bx = context.pop();
- context.al = context.data.byte(478);
+ context.al = context.ds.byte(478);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx);
+ context.al = context.ds.byte(context.bx);
context.ah = 0;
context._sub(context.ax, 12);
- context.data.word(484) = context.ax;
- context.al = context.data.byte(context.bx+1);
+ context.ds.word(484) = context.ax;
+ context.al = context.ds.byte(context.bx+1);
context.ah = 0;
context._sub(context.ax, 12);
- context.data.word(486) = context.ax;
+ context.ds.word(486) = context.ax;
bresenhams(context);
- context._cmp(context.data.byte(493), 0);
+ context._cmp(context.ds.byte(493), 0);
if (context.flags.z()) goto normalline;
- context.al = context.data.byte(494);
+ context.al = context.ds.byte(494);
context._sub(context.al, 1);
- context.data.byte(492) = context.al;
- context.data.byte(493) = 1;
+ context.ds.byte(492) = context.al;
+ context.ds.byte(493) = 1;
return;
normalline:
- context.data.byte(492) = 0;
+ context.ds.byte(492) = 0;
return;
}
static void checkdest(Context & context) {
context.push(context.bx);
context._add(context.bx, 12*8);
- context.ah = context.data.byte(475);
+ context.ah = context.ds.byte(475);
context.cl = 4;
context._shl(context.ah, context.cl);
- context.al = context.data.byte(478);
+ context.al = context.ds.byte(478);
context.cl = 24;
- context.ch = context.data.byte(478);
+ context.ch = context.ds.byte(478);
checkdestloop:
- context.dh = context.data.byte(context.bx);
+ context.dh = context.ds.byte(context.bx);
context._and(context.dh, 0xf0);
- context.dl = context.data.byte(context.bx);
+ context.dl = context.ds.byte(context.bx);
context._and(context.dl, 0xf);
context._cmp(context.ax, context.dx);
if (!context.flags.z()) goto nextcheck;
- context.al = context.data.byte(context.bx+1);
+ context.al = context.ds.byte(context.bx+1);
context._and(context.al, 15);
- context.data.byte(478) = context.al;
+ context.ds.byte(478) = context.al;
context.bx = context.pop();
return;
nextcheck:
- context.dl = context.data.byte(context.bx);
+ context.dl = context.ds.byte(context.bx);
context._and(context.dl, 0xf0);
context._shr(context.dl, 1);
context._shr(context.dl, 1);
context._shr(context.dl, 1);
context._shr(context.dl, 1);
- context.dh = context.data.byte(context.bx);
+ context.dh = context.ds.byte(context.bx);
context._and(context.dh, 0xf);
context._shl(context.dh, 1);
context._shl(context.dh, 1);
@@ -19050,13 +19050,13 @@ nextcheck:
context._shl(context.dh, 1);
context._cmp(context.ax, context.dx);
if (!context.flags.z()) goto nextcheck2;
- context.ch = context.data.byte(context.bx+1);
+ context.ch = context.ds.byte(context.bx+1);
context._and(context.ch, 15);
nextcheck2:
context._add(context.bx, 2);
context._sub(context.cl, 1);
if (!context.flags.z()) goto checkdestloop;
- context.data.byte(478) = context.ch;
+ context.ds.byte(478) = context.ch;
context.bx = context.pop();
return;
}
@@ -19067,60 +19067,60 @@ static void bresenhams(Context & context) {
context.es = context.dx;
context.di = 8344;
context.si = 1;
- context.data.byte(493) = 0;
- context.cx = context.data.word(484);
- context._sub(context.cx, context.data.word(480));
+ context.ds.byte(493) = 0;
+ context.cx = context.ds.word(484);
+ context._sub(context.cx, context.ds.word(480));
if (context.flags.z()) goto vertline;
if (!context.flags.s()) goto line1;
context._neg(context.cx);
- context.bx = context.data.word(484);
- context._xchg(context.bx, context.data.word(480));
- context.data.word(484) = context.bx;
- context.bx = context.data.word(486);
- context._xchg(context.bx, context.data.word(482));
- context.data.word(486) = context.bx;
- context.data.byte(493) = 1;
+ context.bx = context.ds.word(484);
+ context._xchg(context.bx, context.ds.word(480));
+ context.ds.word(484) = context.bx;
+ context.bx = context.ds.word(486);
+ context._xchg(context.bx, context.ds.word(482));
+ context.ds.word(486) = context.bx;
+ context.ds.byte(493) = 1;
line1:
- context.bx = context.data.word(486);
- context._sub(context.bx, context.data.word(482));
+ context.bx = context.ds.word(486);
+ context._sub(context.bx, context.ds.word(482));
if (context.flags.z()) goto horizline;
if (!context.flags.s()) goto line3;
context._neg(context.bx);
context._neg(context.si);
line3:
context.push(context.si);
- context.data.byte(491) = 0;
+ context.ds.byte(491) = 0;
context._cmp(context.bx, context.cx);
if (context.flags.le()) goto line4;
- context.data.byte(491) = 1;
+ context.ds.byte(491) = 1;
context._xchg(context.bx, context.cx);
line4:
context._shl(context.bx, 1);
- context.data.word(488) = context.bx;
+ context.ds.word(488) = context.bx;
context._sub(context.bx, context.cx);
context.si = context.bx;
context._sub(context.bx, context.cx);
- context.data.word(490) = context.bx;
- context.ax = context.data.word(480);
- context.bx = context.data.word(482);
+ context.ds.word(490) = context.bx;
+ context.ax = context.ds.word(480);
+ context.bx = context.ds.word(482);
context.ah = context.bl;
context._add(context.cx, 1);
context.bx = context.pop();
- context._cmp(context.data.byte(491), 1);
+ context._cmp(context.ds.byte(491), 1);
if (context.flags.z()) goto hislope;
goto loslope;
vertline:
- context.ax = context.data.word(482);
- context.bx = context.data.word(486);
+ context.ax = context.ds.word(482);
+ context.bx = context.ds.word(486);
context.cx = context.bx;
context._sub(context.cx, context.ax);
if (!context.flags.ge()) goto line31;
context._neg(context.cx);
context.ax = context.bx;
- context.data.byte(493) = 1;
+ context.ds.byte(493) = 1;
line31:
context._add(context.cx, 1);
- context.bx = context.data.word(480);
+ context.bx = context.ds.word(480);
context._xchg(context.ax, context.bx);
context.ah = context.bl;
context.bx = context.si;
@@ -19130,8 +19130,8 @@ line32:
if (--context.cx) goto line32;
goto lineexit;
horizline:
- context.ax = context.data.word(480);
- context.bx = context.data.word(482);
+ context.ax = context.ds.word(480);
+ context.bx = context.ds.word(482);
context.ah = context.bl;
context._add(context.cx, 1);
horizloop:
@@ -19145,11 +19145,11 @@ loloop:
context._add(context.al, 1);
context._or(context.si, context.si);
if (!context.flags.s()) goto line12;
- context._add(context.si, context.data.word(488));
+ context._add(context.si, context.ds.word(488));
if (--context.cx) goto loloop;
goto lineexit;
line12:
- context._add(context.si, context.data.word(490));
+ context._add(context.si, context.ds.word(490));
context._add(context.ah, context.bl);
if (--context.cx) goto loloop;
goto lineexit;
@@ -19159,33 +19159,33 @@ hiloop:
context._add(context.ah, context.bl);
context._or(context.si, context.si);
if (!context.flags.s()) goto line23;
- context._add(context.si, context.data.word(488));
+ context._add(context.si, context.ds.word(488));
if (--context.cx) goto hiloop;
goto lineexit;
line23:
- context._add(context.si, context.data.word(490));
+ context._add(context.si, context.ds.word(490));
context._add(context.al, 1);
if (--context.cx) goto hiloop;
lineexit:
context._sub(context.di, 8344);
context.ax = context.di;
context._shr(context.ax, 1);
- context.data.byte(494) = context.al;
+ context.ds.byte(494) = context.al;
return;
}
static void workoutframes(Context & context) {
- context.bx = context.data.word(480);
+ context.bx = context.ds.word(480);
context._add(context.bx, 32);
- context.ax = context.data.word(484);
+ context.ax = context.ds.word(484);
context._add(context.ax, 32);
context._sub(context.bx, context.ax);
if (!context.flags.c()) goto notneg1;
context._neg(context.bx);
notneg1:
- context.cx = context.data.word(482);
+ context.cx = context.ds.word(482);
context._add(context.cx, 32);
- context.ax = context.data.word(486);
+ context.ax = context.ds.word(486);
context._add(context.ax, 32);
context._sub(context.cx, context.ax);
if (!context.flags.c()) goto notneg2;
@@ -19209,16 +19209,16 @@ tendstohoriz:
context.dl = 1;
goto gotquad;
gotquad:
- context.bx = context.data.word(480);
+ context.bx = context.ds.word(480);
context._add(context.bx, 32);
- context.ax = context.data.word(484);
+ context.ax = context.ds.word(484);
context._add(context.ax, 32);
context._sub(context.bx, context.ax);
if (context.flags.c()) goto isinright;
isinleft:
- context.cx = context.data.word(482);
+ context.cx = context.ds.word(482);
context._add(context.cx, 32);
- context.ax = context.data.word(486);
+ context.ax = context.ds.word(486);
context._add(context.ax, 32);
context._sub(context.cx, context.ax);
if (!context.flags.c()) goto topleft;
@@ -19232,9 +19232,9 @@ topleft:
context._add(context.dl, 6);
goto success;
isinright:
- context.cx = context.data.word(482);
+ context.cx = context.ds.word(482);
context._add(context.cx, 32);
- context.ax = context.data.word(486);
+ context.ax = context.ds.word(486);
context._add(context.ax, 32);
context._sub(context.cx, context.ax);
if (!context.flags.c()) goto botright;
@@ -19247,17 +19247,17 @@ botright:
noswap2:
success:
context._and(context.dl, 7);
- context.data.byte(135) = context.dl;
- context.data.byte(136) = 0;
+ context.ds.byte(135) = context.dl;
+ context.ds.byte(136) = 0;
return;
}
static void getroomspaths(Context & context) {
- context.al = context.data.byte(185);
+ context.al = context.ds.byte(185);
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
return;
@@ -19302,10 +19302,10 @@ static void findobname(Context & context) {
context.bx = 64*2;
context._mul(context.bx);
context.si = context.ax;
- context.ds = context.data.word(448);
+ context.ds = context.ds.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
- context.ax = context.data.word(context.si);
+ context.ax = context.ds.word(context.si);
context._add(context.ax, context.cx);
context.si = context.ax;
context.ax = context.pop();
@@ -19313,41 +19313,41 @@ static void findobname(Context & context) {
notpersonname:
context._cmp(context.ah, 4);
if (!context.flags.z()) goto notextraname;
- context.ds = context.data.word(398);
+ context.ds = context.ds.word(398);
context._add(context.bx, 0+2080+30000+(16*114));
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+2080+30000+(16*114)+((114+2)*2));
context.si = context.ax;
return;
notextraname:
context._cmp(context.ah, 2);
if (!context.flags.z()) goto notfreename;
- context.ds = context.data.word(438);
+ context.ds = context.ds.word(438);
context._add(context.bx, 0);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(82*2));
context.si = context.ax;
return;
notfreename:
context._cmp(context.ah, 1);
if (!context.flags.z()) goto notsetname;
- context.ds = context.data.word(440);
+ context.ds = context.ds.word(440);
context._add(context.bx, 0);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(130*2));
context.si = context.ax;
return;
notsetname:
- context.ds = context.data.word(442);
+ context.ds = context.ds.word(442);
context._add(context.bx, 0);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(98*2));
context.si = context.ax;
return;
}
static void showicon(Context & context) {
- context._cmp(context.data.byte(184), 50);
+ context._cmp(context.ds.byte(184), 50);
if (!context.flags.c()) goto isdream1;
showpanel(context);
showman(context);
@@ -19356,37 +19356,37 @@ static void showicon(Context & context) {
zoomicon(context);
return;
isdream1:
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 72;
context.bx = 2;
context.al = 45;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 72+47;
context.bx = 2;
context.al = 46;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 69-10;
context.bx = 21;
context.al = 49;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 160+88;
context.bx = 2;
context.al = 45;
context.ah = 4;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 160+43;
context.bx = 2;
context.al = 46;
context.ah = 4;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 160+101;
context.bx = 21;
context.al = 49;
@@ -19397,25 +19397,25 @@ isdream1:
}
static void middlepanel(Context & context) {
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 72+47+20;
context.bx = 0;
context.al = 48;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 72+19;
context.bx = 21;
context.al = 47;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 160+23;
context.bx = 0;
context.al = 48;
context.ah = 4;
showframe(context);
- context.ds = context.data.word(464);
+ context.ds = context.ds.word(464);
context.di = 160+71;
context.bx = 21;
context.al = 47;
@@ -19425,21 +19425,21 @@ static void middlepanel(Context & context) {
}
static void showman(Context & context) {
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 0;
context.bx = 0;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 0;
context.bx = 114;
context.al = 1;
context.ah = 0;
showframe(context);
- context._cmp(context.data.byte(4), 0);
+ context._cmp(context.ds.byte(4), 0);
if (context.flags.z()) goto notverycool;
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 28;
context.bx = 25;
context.al = 2;
@@ -19450,13 +19450,13 @@ notverycool:
}
static void showpanel(Context & context) {
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 72;
context.bx = 0;
context.al = 19;
context.ah = 0;
showframe(context);
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 192;
context.bx = 0;
context.al = 19;
@@ -19471,48 +19471,48 @@ static void roomname(Context & context) {
context.al = 53;
context.dl = 240;
printmessage(context);
- context.bl = context.data.byte(185);
+ context.bl = context.ds.byte(185);
context._cmp(context.bl, 32);
if (context.flags.c()) goto notover32;
context._sub(context.bl, 32);
notover32:
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.data.word(436);
+ context.es = context.ds.word(436);
context._add(context.bx, 0);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(38*2));
context.si = context.ax;
- context.data.word(77) = 7;
+ context.ds.word(77) = 7;
context.di = 88;
context.bx = 25;
context.dl = 120;
- context._cmp(context.data.byte(3), 1);
+ context._cmp(context.ds.byte(3), 1);
if (context.flags.z()) goto gotpl;
context.dl = 160;
gotpl:
context.al = 0;
context.ah = 0;
printdirect(context);
- context.data.word(77) = 10;
+ context.ds.word(77) = 10;
usecharset1(context);
return;
}
static void usecharset1(Context & context) {
- context.ax = context.data.word(404);
- context.data.word(268) = context.ax;
+ context.ax = context.ds.word(404);
+ context.ds.word(268) = context.ax;
return;
}
static void usetempcharset(Context & context) {
- context.ax = context.data.word(406);
- context.data.word(268) = context.ax;
+ context.ax = context.ds.word(406);
+ context.ds.word(268) = context.ax;
return;
}
static void showexit(Context & context) {
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 274;
context.bx = 154;
context.al = 11;
@@ -19523,12 +19523,12 @@ static void showexit(Context & context) {
static void panelicons1(Context & context) {
context.di = 0;
- context._cmp(context.data.byte(3), 1);
+ context._cmp(context.ds.byte(3), 1);
if (context.flags.z()) goto watchison;
context.di = 48;
watchison:
context.push(context.di);
- context.ds = context.data.word(410);
+ context.ds = context.ds.word(410);
context._add(context.di, 204);
context.bx = 4;
context.al = 2;
@@ -19536,9 +19536,9 @@ watchison:
showframe(context);
context.di = context.pop();
context.push(context.di);
- context._cmp(context.data.byte(8), 1);
+ context._cmp(context.ds.byte(8), 1);
if (context.flags.z()) goto zoomisoff;
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context._add(context.di, 228);
context.bx = 8;
context.al = 5;
@@ -19551,9 +19551,9 @@ zoomisoff:
}
static void showwatch(Context & context) {
- context._cmp(context.data.byte(3), 0);
+ context._cmp(context.ds.byte(3), 0);
if (context.flags.z()) goto nowristwatch;
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 250;
context.bx = 1;
context.al = 6;
@@ -19565,9 +19565,9 @@ nowristwatch:
}
static void zoomicon(Context & context) {
- context._cmp(context.data.byte(8), 0);
+ context._cmp(context.ds.byte(8), 0);
if (context.flags.z()) goto nozoom1;
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.di = 8;
context.bx = 132-1;
context.al = 8;
@@ -19578,20 +19578,20 @@ nozoom1:
}
static void showblink(Context & context) {
- context._cmp(context.data.byte(131), 1);
+ context._cmp(context.ds.byte(131), 1);
if (context.flags.z()) goto finblink1;
- context._add(context.data.byte(472), 1);
- context._cmp(context.data.byte(4), 0);
+ context._add(context.ds.byte(472), 1);
+ context._cmp(context.ds.byte(4), 0);
if (!context.flags.z()) goto finblink1;
- context._cmp(context.data.byte(184), 50);
+ context._cmp(context.ds.byte(184), 50);
if (!context.flags.c()) goto eyesshut;
- context.al = context.data.byte(472);
+ context.al = context.ds.byte(472);
context._cmp(context.al, 3);
if (!context.flags.z()) goto finblink1;
- context.data.byte(472) = 0;
- context.al = context.data.byte(471);
+ context.ds.byte(472) = 0;
+ context.al = context.ds.byte(471);
context._add(context.al, 1);
- context.data.byte(471) = context.al;
+ context.ds.byte(471) = context.al;
context._cmp(context.al, 6);
if (context.flags.c()) goto nomorethan6;
context.al = 6;
@@ -19599,8 +19599,8 @@ nomorethan6:
context.ah = 0;
context.bx = 5691;
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx);
- context.ds = context.data.word(408);
+ context.al = context.ds.byte(context.bx);
+ context.ds = context.ds.word(408);
context.di = 44;
context.bx = 32;
context.ah = 0;
@@ -19612,11 +19612,11 @@ eyesshut:
}
static void dumpblink(Context & context) {
- context._cmp(context.data.byte(4), 0);
+ context._cmp(context.ds.byte(4), 0);
if (!context.flags.z()) goto nodumpeye;
- context._cmp(context.data.byte(472), 0);
+ context._cmp(context.ds.byte(472), 0);
if (!context.flags.z()) goto nodumpeye;
- context.al = context.data.byte(471);
+ context.al = context.ds.byte(471);
context._cmp(context.al, 6);
if (!context.flags.c()) goto nodumpeye;
context.push(context.ds);
@@ -19641,9 +19641,9 @@ static void worktoscreenm(Context & context) {
}
static void blank(Context & context) {
- context._cmp(context.data.byte(100), 199);
+ context._cmp(context.ds.byte(100), 199);
if (context.flags.z()) goto alreadyblnk;
- context.data.byte(100) = 199;
+ context.ds.byte(100) = 199;
context.al = 0;
commandonly(context);
alreadyblnk:
@@ -19662,14 +19662,14 @@ static void hangonp(Context & context) {
context._add(context.cx, context.cx);
context.ax = context.pop();
context._add(context.cx, context.ax);
- context.data.word(138) = 0;
- context.al = context.data.byte(231);
- context.ah = context.data.byte(106);
+ context.ds.word(138) = 0;
+ context.al = context.ds.byte(231);
+ context.ah = context.ds.byte(106);
context.push(context.ax);
- context.data.byte(234) = 3;
- context.data.byte(106) = 0;
+ context.ds.byte(234) = 3;
+ context.ds.byte(106) = 0;
context.push(context.cx);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
readmouse(context);
animpointer(context);
showpointer(context);
@@ -19685,19 +19685,19 @@ hangloop:
vsync(context);
dumppointer(context);
context.cx = context.pop();
- context.ax = context.data.word(202);
+ context.ax = context.ds.word(202);
context._cmp(context.ax, 0);
if (context.flags.z()) goto notpressed;
- context._cmp(context.ax, context.data.word(212));
+ context._cmp(context.ax, context.ds.word(212));
if (!context.flags.z()) goto getoutofit;
notpressed:
if (--context.cx) goto hangloop;
getoutofit:
delpointer(context);
context.ax = context.pop();
- context.data.byte(231) = context.al;
- context.data.byte(106) = context.ah;
- context.data.byte(234) = 0;
+ context.ds.byte(231) = context.al;
+ context.ds.byte(106) = context.ah;
+ context.ds.byte(234) = 0;
return;
}
@@ -19729,7 +19729,7 @@ monloop1:
static void getunderzoom(Context & context) {
context.di = 8+5;
context.bx = 132+4;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5);
context.cl = 46;
context.ch = 40;
@@ -19738,7 +19738,7 @@ static void getunderzoom(Context & context) {
}
static void dumpzoom(Context & context) {
- context._cmp(context.data.byte(8), 1);
+ context._cmp(context.ds.byte(8), 1);
if (!context.flags.z()) goto notzoomon;
context.di = 8+5;
context.bx = 132+4;
@@ -19752,7 +19752,7 @@ notzoomon:
static void putunderzoom(Context & context) {
context.di = 8+5;
context.bx = 132+4;
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5);
context.cl = 46;
context.ch = 40;
@@ -19761,12 +19761,12 @@ static void putunderzoom(Context & context) {
}
static void crosshair(Context & context) {
- context._cmp(context.data.byte(100), 3);
+ context._cmp(context.ds.byte(100), 3);
if (context.flags.z()) goto nocross;
- context._cmp(context.data.byte(100), 10);
+ context._cmp(context.ds.byte(100), 10);
if (!context.flags.c()) goto nocross;
- context.es = context.data.word(400);
- context.ds = context.data.word(408);
+ context.es = context.ds.word(400);
+ context.ds = context.ds.word(408);
context.di = 8+24;
context.bx = 132+19;
context.al = 9;
@@ -19774,8 +19774,8 @@ static void crosshair(Context & context) {
showframe(context);
return;
nocross:
- context.es = context.data.word(400);
- context.ds = context.data.word(408);
+ context.es = context.ds.word(400);
+ context.ds = context.ds.word(408);
context.di = 8+24;
context.bx = 132+19;
context.al = 29;
@@ -19786,23 +19786,23 @@ nocross:
static void showpointer(Context & context) {
showblink(context);
- context.di = context.data.word(198);
- context.data.word(220) = context.di;
- context.bx = context.data.word(200);
- context.data.word(222) = context.bx;
- context._cmp(context.data.byte(106), 1);
+ context.di = context.ds.word(198);
+ context.ds.word(220) = context.di;
+ context.bx = context.ds.word(200);
+ context.ds.word(222) = context.bx;
+ context._cmp(context.ds.byte(106), 1);
if (context.flags.z()) goto itsanobject;
context.push(context.bx);
context.push(context.di);
- context.ds = context.data.word(408);
- context.al = context.data.byte(231);
+ context.ds = context.ds.word(408);
+ context.al = context.ds.byte(231);
context._add(context.al, 20);
context.ah = 0;
context._add(context.ax, context.ax);
context.si = context.ax;
context._add(context.ax, context.ax);
context._add(context.si, context.ax);
- context.cx = context.data.word(context.si);
+ context.cx = context.ds.word(context.si);
context._cmp(context.cl, 12);
if (!context.flags.c()) goto notsmallx;
context.cl = 12;
@@ -19811,10 +19811,10 @@ notsmallx:
if (!context.flags.c()) goto notsmally;
context.ch = 12;
notsmally:
- context.data.byte(227) = context.cl;
- context.data.byte(228) = context.ch;
+ context.ds.byte(227) = context.cl;
+ context.ds.byte(228) = context.ch;
context.push(context.ds);
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60;
multiget(context);
context.ds = context.pop();
@@ -19822,7 +19822,7 @@ notsmally:
context.bx = context.pop();
context.push(context.di);
context.push(context.bx);
- context.al = context.data.byte(231);
+ context.al = context.ds.byte(231);
context._add(context.al, 20);
context.ah = 0;
showframe(context);
@@ -19830,11 +19830,11 @@ notsmally:
context.di = context.pop();
return;
itsanobject:
- context.al = context.data.byte(89);
- context.ds = context.data.word(398);
- context._cmp(context.data.byte(102), 4);
+ context.al = context.ds.byte(89);
+ context.ds = context.ds.word(398);
+ context._cmp(context.ds.byte(102), 4);
if (context.flags.z()) goto itsfrominv;
- context.ds = context.data.word(446);
+ context.ds = context.ds.word(446);
itsfrominv:
context.cl = context.al;
context._add(context.al, context.al);
@@ -19847,7 +19847,7 @@ itsfrominv:
context._add(context.ax, context.ax);
context._add(context.si, context.ax);
context.ax = 2080;
- context.cx = context.data.word(context.si);
+ context.cx = context.ds.word(context.si);
context._cmp(context.cl, 12);
if (!context.flags.c()) goto notsmallx2;
context.cl = 12;
@@ -19856,8 +19856,8 @@ notsmallx2:
if (!context.flags.c()) goto notsmally2;
context.ch = 12;
notsmally2:
- context.data.byte(227) = context.cl;
- context.data.byte(228) = context.ch;
+ context.ds.byte(227) = context.cl;
+ context.ds.byte(228) = context.ch;
context.ax = context.pop();
context.push(context.di);
context.push(context.bx);
@@ -19868,13 +19868,13 @@ notsmally2:
context.al = context.cl;
context.ah = 0;
context._shr(context.ax, 1);
- context._sub(context.data.word(220), context.ax);
+ context._sub(context.ds.word(220), context.ax);
context._sub(context.di, context.ax);
context.al = context.ch;
context._shr(context.ax, 1);
- context._sub(context.data.word(222), context.ax);
+ context._sub(context.ds.word(222), context.ax);
context._sub(context.bx, context.ax);
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60;
multiget(context);
context.ds = context.pop();
@@ -19885,7 +19885,7 @@ notsmally2:
showframe(context);
context.bx = context.pop();
context.di = context.pop();
- context.ds = context.data.word(408);
+ context.ds = context.ds.word(408);
context.al = 3;
context.ah = 128;
showframe(context);
@@ -19893,20 +19893,20 @@ notsmally2:
}
static void delpointer(Context & context) {
- context.ax = context.data.word(220);
+ context.ax = context.ds.word(220);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto nevershown;
- context.data.word(224) = context.ax;
- context.ax = context.data.word(222);
- context.data.word(226) = context.ax;
- context.cl = context.data.byte(227);
- context.data.byte(229) = context.cl;
- context.ch = context.data.byte(228);
- context.data.byte(230) = context.ch;
- context.ds = context.data.word(412);
+ context.ds.word(224) = context.ax;
+ context.ax = context.ds.word(222);
+ context.ds.word(226) = context.ax;
+ context.cl = context.ds.byte(227);
+ context.ds.byte(229) = context.cl;
+ context.ch = context.ds.byte(228);
+ context.ds.byte(230) = context.ch;
+ context.ds = context.ds.word(412);
context.si = 0+(228*13)+32+60;
- context.di = context.data.word(224);
- context.bx = context.data.word(226);
+ context.di = context.ds.word(224);
+ context.bx = context.ds.word(226);
multiput(context);
nevershown:
return;
@@ -19914,30 +19914,30 @@ nevershown:
static void dumppointer(Context & context) {
dumpblink(context);
- context.cl = context.data.byte(229);
- context.ch = context.data.byte(230);
- context.di = context.data.word(224);
- context.bx = context.data.word(226);
+ context.cl = context.ds.byte(229);
+ context.ch = context.ds.byte(230);
+ context.di = context.ds.word(224);
+ context.bx = context.ds.word(226);
multidump(context);
- context.bx = context.data.word(222);
- context.di = context.data.word(220);
- context._cmp(context.di, context.data.word(224));
+ context.bx = context.ds.word(222);
+ context.di = context.ds.word(220);
+ context._cmp(context.di, context.ds.word(224));
if (!context.flags.z()) goto difffound;
- context._cmp(context.bx, context.data.word(226));
+ context._cmp(context.bx, context.ds.word(226));
if (context.flags.z()) goto notboth;
difffound:
- context.cl = context.data.byte(227);
- context.ch = context.data.byte(228);
+ context.cl = context.ds.byte(227);
+ context.ch = context.ds.byte(228);
multidump(context);
notboth:
return;
}
static void undertextline(Context & context) {
- context.di = context.data.word(79);
- context.bx = context.data.word(81);
+ context.di = context.ds.word(79);
+ context.bx = context.ds.word(81);
context._sub(context.bx, 3);
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0;
context.cl = 228;
context.ch = 13;
@@ -19946,10 +19946,10 @@ static void undertextline(Context & context) {
}
static void deltextline(Context & context) {
- context.di = context.data.word(79);
- context.bx = context.data.word(81);
+ context.di = context.ds.word(79);
+ context.bx = context.ds.word(81);
context._sub(context.bx, 3);
- context.ds = context.data.word(412);
+ context.ds = context.ds.word(412);
context.si = 0;
context.cl = 228;
context.ch = 13;
@@ -19958,11 +19958,11 @@ static void deltextline(Context & context) {
}
static void dumptextline(Context & context) {
- context._cmp(context.data.byte(109), 1);
+ context._cmp(context.ds.byte(109), 1);
if (!context.flags.z()) goto nodumptextline;
- context.data.byte(109) = 0;
- context.di = context.data.word(79);
- context.bx = context.data.word(81);
+ context.ds.byte(109) = 0;
+ context.di = context.ds.word(79);
+ context.bx = context.ds.word(81);
context._sub(context.bx, 3);
context.cl = 228;
context.ch = 13;
@@ -19972,19 +19972,19 @@ nodumptextline:
}
static void animpointer(Context & context) {
- context._cmp(context.data.byte(234), 2);
+ context._cmp(context.ds.byte(234), 2);
if (context.flags.z()) goto combathand;
- context._cmp(context.data.byte(234), 3);
+ context._cmp(context.ds.byte(234), 3);
if (context.flags.z()) goto mousehand;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (context.flags.z()) goto notwatchpoint;
- context.data.byte(231) = 11;
+ context.ds.byte(231) = 11;
return;
notwatchpoint:
- context.data.byte(231) = 0;
- context._cmp(context.data.byte(237), 0);
+ context.ds.byte(231) = 0;
+ context._cmp(context.ds.byte(237), 0);
if (context.flags.z()) goto gothand;
- context._cmp(context.data.byte(476), 0);
+ context._cmp(context.ds.byte(476), 0);
if (context.flags.z()) goto gothand;
arrow:
getflagunderp(context);
@@ -19992,133 +19992,133 @@ arrow:
if (context.flags.c()) goto gothand;
context._cmp(context.cl, 128);
if (!context.flags.c()) goto gothand;
- context.data.byte(231) = 3;
+ context.ds.byte(231) = 3;
context._test(context.cl, 4);
if (!context.flags.z()) goto gothand;
- context.data.byte(231) = 4;
+ context.ds.byte(231) = 4;
context._test(context.cl, 16);
if (!context.flags.z()) goto gothand;
- context.data.byte(231) = 5;
+ context.ds.byte(231) = 5;
context._test(context.cl, 2);
if (!context.flags.z()) goto gothand;
- context.data.byte(231) = 6;
+ context.ds.byte(231) = 6;
context._test(context.cl, 8);
if (!context.flags.z()) goto gothand;
- context.data.byte(231) = 8;
+ context.ds.byte(231) = 8;
gothand:
return;
mousehand:
- context._cmp(context.data.byte(235), 0);
+ context._cmp(context.ds.byte(235), 0);
if (context.flags.z()) goto rightspeed3;
- context._sub(context.data.byte(235), 1);
+ context._sub(context.ds.byte(235), 1);
goto finflashmouse;
rightspeed3:
- context.data.byte(235) = 5;
- context._add(context.data.byte(236), 1);
- context._cmp(context.data.byte(236), 16);
+ context.ds.byte(235) = 5;
+ context._add(context.ds.byte(236), 1);
+ context._cmp(context.ds.byte(236), 16);
if (!context.flags.z()) goto finflashmouse;
- context.data.byte(236) = 0;
+ context.ds.byte(236) = 0;
finflashmouse:
- context.al = context.data.byte(236);
+ context.al = context.ds.byte(236);
context.ah = 0;
context.bx = 5698;
context._add(context.bx, context.ax);
- context.al = context.data.byte(context.bx);
- context.data.byte(231) = context.al;
+ context.al = context.ds.byte(context.bx);
+ context.ds.byte(231) = context.al;
return;
combathand:
- context.data.byte(231) = 0;
- context._cmp(context.data.byte(184), 14);
+ context.ds.byte(231) = 0;
+ context._cmp(context.ds.byte(184), 14);
if (!context.flags.z()) goto notarrow;
- context._cmp(context.data.byte(100), 211);
+ context._cmp(context.ds.byte(100), 211);
if (!context.flags.z()) goto notarrow;
- context.data.byte(231) = 5;
+ context.ds.byte(231) = 5;
notarrow:
return;
}
static void readmouse(Context & context) {
- context.ax = context.data.word(202);
- context.data.word(212) = context.ax;
- context.ax = context.data.word(198);
- context.data.word(214) = context.ax;
- context.ax = context.data.word(200);
- context.data.word(216) = context.ax;
+ context.ax = context.ds.word(202);
+ context.ds.word(212) = context.ax;
+ context.ax = context.ds.word(198);
+ context.ds.word(214) = context.ax;
+ context.ax = context.ds.word(200);
+ context.ds.word(216) = context.ax;
mousecall(context);
- context.data.word(198) = context.cx;
- context.data.word(200) = context.dx;
- context.data.word(202) = context.bx;
+ context.ds.word(198) = context.cx;
+ context.ds.word(200) = context.dx;
+ context.ds.word(202) = context.bx;
return;
}
static void readmouse1(Context & context) {
- context.ax = context.data.word(198);
- context.data.word(214) = context.ax;
- context.ax = context.data.word(200);
- context.data.word(216) = context.ax;
+ context.ax = context.ds.word(198);
+ context.ds.word(214) = context.ax;
+ context.ax = context.ds.word(200);
+ context.ds.word(216) = context.ax;
mousecall(context);
- context.data.word(198) = context.cx;
- context.data.word(200) = context.dx;
- context.data.word(204) = context.bx;
+ context.ds.word(198) = context.cx;
+ context.ds.word(200) = context.dx;
+ context.ds.word(204) = context.bx;
return;
}
static void readmouse2(Context & context) {
- context.ax = context.data.word(198);
- context.data.word(214) = context.ax;
- context.ax = context.data.word(200);
- context.data.word(216) = context.ax;
+ context.ax = context.ds.word(198);
+ context.ds.word(214) = context.ax;
+ context.ax = context.ds.word(200);
+ context.ds.word(216) = context.ax;
mousecall(context);
- context.data.word(198) = context.cx;
- context.data.word(200) = context.dx;
- context.data.word(206) = context.bx;
+ context.ds.word(198) = context.cx;
+ context.ds.word(200) = context.dx;
+ context.ds.word(206) = context.bx;
return;
}
static void readmouse3(Context & context) {
- context.ax = context.data.word(198);
- context.data.word(214) = context.ax;
- context.ax = context.data.word(200);
- context.data.word(216) = context.ax;
+ context.ax = context.ds.word(198);
+ context.ds.word(214) = context.ax;
+ context.ax = context.ds.word(200);
+ context.ds.word(216) = context.ax;
mousecall(context);
- context.data.word(198) = context.cx;
- context.data.word(200) = context.dx;
- context.data.word(208) = context.bx;
+ context.ds.word(198) = context.cx;
+ context.ds.word(200) = context.dx;
+ context.ds.word(208) = context.bx;
return;
}
static void readmouse4(Context & context) {
- context.ax = context.data.word(202);
- context.data.word(212) = context.ax;
- context.ax = context.data.word(198);
- context.data.word(214) = context.ax;
- context.ax = context.data.word(200);
- context.data.word(216) = context.ax;
+ context.ax = context.ds.word(202);
+ context.ds.word(212) = context.ax;
+ context.ax = context.ds.word(198);
+ context.ds.word(214) = context.ax;
+ context.ax = context.ds.word(200);
+ context.ds.word(216) = context.ax;
mousecall(context);
- context.data.word(198) = context.cx;
- context.data.word(200) = context.dx;
- context.ax = context.data.word(204);
- context._or(context.ax, context.data.word(206));
- context._or(context.ax, context.data.word(208));
+ context.ds.word(198) = context.cx;
+ context.ds.word(200) = context.dx;
+ context.ax = context.ds.word(204);
+ context._or(context.ax, context.ds.word(206));
+ context._or(context.ax, context.ds.word(208));
context._or(context.bx, context.ax);
- context.data.word(202) = context.bx;
+ context.ds.word(202) = context.bx;
return;
}
static void readkey(Context & context) {
- context.bx = context.data.word(396);
- context._cmp(context.bx, context.data.word(394));
+ context.bx = context.ds.word(396);
+ context._cmp(context.bx, context.ds.word(394));
if (context.flags.z()) goto nokey;
context._add(context.bx, 1);
context._and(context.bx, 15);
- context.data.word(396) = context.bx;
+ context.ds.word(396) = context.bx;
context.di = 5715;
context._add(context.di, context.bx);
- context.al = context.data.byte(context.di);
- context.data.byte(142) = context.al;
+ context.al = context.ds.byte(context.di);
+ context.ds.byte(142) = context.al;
return;
nokey:
- context.data.byte(142) = 0;
+ context.ds.byte(142) = 0;
return;
}
@@ -20127,7 +20127,7 @@ static void convertkey(Context & context) {
context.ah = 0;
context.di = 5731;
context._add(context.di, context.ax);
- context.al = context.data.byte(context.di);
+ context.al = context.ds.byte(context.di);
return;
}
@@ -20174,41 +20174,41 @@ hangonloop:
static void loadtraveltext(Context & context) {
context.dx = 2247;
standardload(context);
- context.data.word(456) = context.ax;
+ context.ds.word(456) = context.ax;
return;
}
static void loadintotemp(Context & context) {
context.ds = context.cs;
standardload(context);
- context.data.word(458) = context.ax;
+ context.ds.word(458) = context.ax;
return;
}
static void loadintotemp2(Context & context) {
context.ds = context.cs;
standardload(context);
- context.data.word(460) = context.ax;
+ context.ds.word(460) = context.ax;
return;
}
static void loadintotemp3(Context & context) {
context.ds = context.cs;
standardload(context);
- context.data.word(462) = context.ax;
+ context.ds.word(462) = context.ax;
return;
}
static void loadtempcharset(Context & context) {
standardload(context);
- context.data.word(406) = context.ax;
+ context.ds.word(406) = context.ax;
return;
}
static void standardload(Context & context) {
openfile(context);
readheader(context);
- context.bx = context.data.word(context.di);
+ context.bx = context.ds.word(context.di);
context.push(context.bx);
context.cl = 4;
context._shr(context.bx, context.cl);
@@ -20225,21 +20225,21 @@ static void standardload(Context & context) {
static void loadtemptext(Context & context) {
standardload(context);
- context.data.word(466) = context.ax;
+ context.ds.word(466) = context.ax;
return;
}
static void loadroom(Context & context) {
- context.data.byte(74) = 1;
- context.data.word(328) = 0;
- context.data.word(138) = 0;
- context.data.word(121) = 104;
- context.data.word(123) = 38;
- context.data.word(79) = 13;
- context.data.word(81) = 182;
- context.data.byte(82) = 240;
- context.al = context.data.byte(188);
- context.data.byte(9) = context.al;
+ context.ds.byte(74) = 1;
+ context.ds.word(328) = 0;
+ context.ds.word(138) = 0;
+ context.ds.word(121) = 104;
+ context.ds.word(123) = 38;
+ context.ds.word(79) = 13;
+ context.ds.word(81) = 182;
+ context.ds.byte(82) = 240;
+ context.al = context.ds.byte(188);
+ context.ds.byte(9) = context.al;
getroomdata(context);
startloading(context);
loadroomssample(context);
@@ -20250,18 +20250,18 @@ static void loadroom(Context & context) {
}
static void loadroomssample(Context & context) {
- context.al = context.data.byte(531);
+ context.al = context.ds.byte(531);
context._cmp(context.al, 255);
if (context.flags.z()) goto loadedalready;
- context._cmp(context.al, context.data.byte(530));
+ context._cmp(context.al, context.ds.byte(530));
if (context.flags.z()) goto loadedalready;
- context.data.byte(530) = context.al;
- context.al = context.data.byte(530);
+ context.ds.byte(530) = context.al;
+ context.al = context.ds.byte(530);
context.cl = '0';
twodigitnum(context);
context.di = 1909;
context._xchg(context.al, context.ah);
- context.data.word(context.di+10) = context.ax;
+ context.ds.word(context.di+10) = context.ax;
context.dx = context.di;
loadsecondsample(context);
loadedalready:
@@ -20269,50 +20269,50 @@ loadedalready:
}
static void getridofreels(Context & context) {
- context._cmp(context.data.byte(74), 0);
+ context._cmp(context.ds.byte(74), 0);
if (context.flags.z()) goto dontgetrid;
- context.es = context.data.word(430);
+ context.es = context.ds.word(430);
deallocatemem(context);
- context.es = context.data.word(432);
+ context.es = context.ds.word(432);
deallocatemem(context);
- context.es = context.data.word(434);
+ context.es = context.ds.word(434);
deallocatemem(context);
dontgetrid:
return;
}
static void getridofall(Context & context) {
- context.es = context.data.word(416);
+ context.es = context.ds.word(416);
deallocatemem(context);
- context.es = context.data.word(444);
+ context.es = context.ds.word(444);
deallocatemem(context);
- context.es = context.data.word(430);
+ context.es = context.ds.word(430);
deallocatemem(context);
- context.es = context.data.word(432);
+ context.es = context.ds.word(432);
deallocatemem(context);
- context.es = context.data.word(434);
+ context.es = context.ds.word(434);
deallocatemem(context);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
deallocatemem(context);
- context.es = context.data.word(448);
+ context.es = context.ds.word(448);
deallocatemem(context);
- context.es = context.data.word(440);
+ context.es = context.ds.word(440);
deallocatemem(context);
- context.es = context.data.word(442);
+ context.es = context.ds.word(442);
deallocatemem(context);
- context.es = context.data.word(436);
+ context.es = context.ds.word(436);
deallocatemem(context);
- context.es = context.data.word(446);
+ context.es = context.ds.word(446);
deallocatemem(context);
- context.es = context.data.word(438);
+ context.es = context.ds.word(438);
deallocatemem(context);
return;
}
static void restorereels(Context & context) {
- context._cmp(context.data.byte(74), 0);
+ context._cmp(context.ds.byte(74), 0);
if (context.flags.z()) goto dontrestore;
- context.al = context.data.byte(184);
+ context.al = context.ds.byte(184);
getroomdata(context);
context.dx = context.bx;
openfile(context);
@@ -20322,17 +20322,17 @@ static void restorereels(Context & context) {
dontloadseg(context);
dontloadseg(context);
allocateload(context);
- context.data.word(430) = context.ax;
+ context.ds.word(430) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(432) = context.ax;
+ context.ds.word(432) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(434) = context.ax;
+ context.ds.word(434) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
@@ -20342,17 +20342,17 @@ dontrestore:
}
static void restoreall(Context & context) {
- context.al = context.data.byte(9);
+ context.al = context.ds.byte(9);
getroomdata(context);
context.dx = context.bx;
openfile(context);
readheader(context);
allocateload(context);
context.ds = context.ax;
- context.data.word(416) = context.ax;
+ context.ds.word(416) = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.data.word(400);
+ context.ds = context.ds.word(400);
context.dx = 0;
context.cx = 132*66;
context.al = 0;
@@ -20360,59 +20360,59 @@ static void restoreall(Context & context) {
loadseg(context);
sortoutmap(context);
allocateload(context);
- context.data.word(444) = context.ax;
+ context.ds.word(444) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
dontloadseg(context);
allocateload(context);
- context.data.word(430) = context.ax;
+ context.ds.word(430) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(432) = context.ax;
+ context.ds.word(432) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(434) = context.ax;
+ context.ds.word(434) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(450) = context.ax;
+ context.ds.word(450) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(448) = context.ax;
+ context.ds.word(448) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(440) = context.ax;
+ context.ds.word(440) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(442) = context.ax;
+ context.ds.word(442) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(436) = context.ax;
+ context.ds.word(436) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(446) = context.ax;
+ context.ds.word(446) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
dontloadseg(context);
allocateload(context);
- context.data.word(438) = context.ax;
+ context.ds.word(438) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
@@ -20424,9 +20424,9 @@ static void restoreall(Context & context) {
static void sortoutmap(Context & context) {
context.push(context.es);
context.push(context.di);
- context.ds = context.data.word(400);
+ context.ds = context.ds.word(400);
context.si = 0;
- context.es = context.data.word(418);
+ context.es = context.ds.word(418);
context.di = 0;
context.cx = 60;
blimey:
@@ -20444,43 +20444,43 @@ blimey:
}
static void startloading(Context & context) {
- context.data.byte(64) = 0;
- context.al = context.data.byte(context.bx+13);
- context.data.byte(531) = context.al;
- context.al = context.data.byte(context.bx+15);
- context.data.byte(148) = context.al;
- context.al = context.data.byte(context.bx+16);
- context.data.byte(149) = context.al;
- context.al = context.data.byte(context.bx+20);
- context.data.byte(35) = context.al;
- context.al = context.data.byte(context.bx+21);
- context.data.byte(475) = context.al;
- context.data.byte(478) = context.al;
- context.data.byte(477) = context.al;
- context.al = context.data.byte(context.bx+22);
- context.data.byte(133) = context.al;
- context.data.byte(135) = context.al;
- context.al = context.data.byte(context.bx+23);
- context.data.byte(39) = context.al;
- context.al = context.data.byte(context.bx+24);
- context.data.byte(36) = context.al;
- context.al = context.data.byte(context.bx+25);
- context.data.byte(38) = context.al;
- context.data.byte(65) = -1;
- context.al = context.data.byte(context.bx+27);
+ context.ds.byte(64) = 0;
+ context.al = context.ds.byte(context.bx+13);
+ context.ds.byte(531) = context.al;
+ context.al = context.ds.byte(context.bx+15);
+ context.ds.byte(148) = context.al;
+ context.al = context.ds.byte(context.bx+16);
+ context.ds.byte(149) = context.al;
+ context.al = context.ds.byte(context.bx+20);
+ context.ds.byte(35) = context.al;
+ context.al = context.ds.byte(context.bx+21);
+ context.ds.byte(475) = context.al;
+ context.ds.byte(478) = context.al;
+ context.ds.byte(477) = context.al;
+ context.al = context.ds.byte(context.bx+22);
+ context.ds.byte(133) = context.al;
+ context.ds.byte(135) = context.al;
+ context.al = context.ds.byte(context.bx+23);
+ context.ds.byte(39) = context.al;
+ context.al = context.ds.byte(context.bx+24);
+ context.ds.byte(36) = context.al;
+ context.al = context.ds.byte(context.bx+25);
+ context.ds.byte(38) = context.al;
+ context.ds.byte(65) = -1;
+ context.al = context.ds.byte(context.bx+27);
context.push(context.ax);
- context.al = context.data.byte(context.bx+31);
- context.ah = context.data.byte(184);
- context.data.byte(184) = context.al;
+ context.al = context.ds.byte(context.bx+31);
+ context.ah = context.ds.byte(184);
+ context.ds.byte(184) = context.al;
context.dx = context.bx;
openfile(context);
readheader(context);
allocateload(context);
context.ds = context.ax;
- context.data.word(416) = context.ax;
+ context.ds.word(416) = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.data.word(400);
+ context.ds = context.ds.word(400);
context.dx = 0;
context.cx = 132*66;
context.al = 0;
@@ -20488,69 +20488,69 @@ static void startloading(Context & context) {
loadseg(context);
sortoutmap(context);
allocateload(context);
- context.data.word(444) = context.ax;
+ context.ds.word(444) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.data.word(428);
+ context.ds = context.ds.word(428);
context.dx = 0;
context.cx = 64*128;
context.al = 255;
fillspace(context);
loadseg(context);
allocateload(context);
- context.data.word(430) = context.ax;
+ context.ds.word(430) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(432) = context.ax;
+ context.ds.word(432) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(434) = context.ax;
+ context.ds.word(434) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(450) = context.ax;
+ context.ds.word(450) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(448) = context.ax;
+ context.ds.word(448) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(440) = context.ax;
+ context.ds.word(440) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(442) = context.ax;
+ context.ds.word(442) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(436) = context.ax;
+ context.ds.word(436) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.data.word(446) = context.ax;
+ context.ds.word(446) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.data.word(426);
+ context.ds = context.ds.word(426);
context.dx = 0;
context.cx = 16*80;
context.al = 255;
fillspace(context);
loadseg(context);
allocateload(context);
- context.data.word(438) = context.ax;
+ context.ds.word(438) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
@@ -20559,17 +20559,17 @@ static void startloading(Context & context) {
deletetaken(context);
setallchanges(context);
autoappear(context);
- context.al = context.data.byte(188);
+ context.al = context.ds.byte(188);
getroomdata(context);
- context.data.byte(65) = -1;
- context.data.byte(56) = 0;
- context.data.word(98) = 160;
- context.data.byte(188) = 255;
- context.data.byte(492) = 254;
+ context.ds.byte(65) = -1;
+ context.ds.byte(56) = 0;
+ context.ds.word(98) = 160;
+ context.ds.byte(188) = 255;
+ context.ds.byte(492) = 254;
context.ax = context.pop();
context._cmp(context.al, 255);
if (context.flags.z()) goto dontwalkin;
- context.data.byte(475) = context.al;
+ context.ds.byte(475) = context.al;
context.push(context.bx);
autosetwalk(context);
context.bx = context.pop();
@@ -20596,7 +20596,7 @@ lookx2:
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.data.word(450);
+ context.es = context.ds.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
context.ax = context.pop();
@@ -20606,40 +20606,40 @@ lookx2:
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
context.al = 0;
- context.data.byte(context.bx+6) = context.al;
+ context.ds.byte(context.bx+6) = context.al;
return;
}
static void findxyfrompath(Context & context) {
getroomspaths(context);
- context.al = context.data.byte(475);
+ context.al = context.ds.byte(475);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
context._add(context.bx, context.ax);
- context.ax = context.data.word(context.bx);
+ context.ax = context.ds.word(context.bx);
context._sub(context.al, 12);
context._sub(context.ah, 12);
- context.data.byte(151) = context.al;
- context.data.byte(152) = context.ah;
+ context.ds.byte(151) = context.al;
+ context.ds.byte(152) = context.ah;
return;
}
static void findroominloc(Context & context) {
- context.al = context.data.byte(149);
+ context.al = context.ds.byte(149);
context.cx = -6;
looky:
context._add(context.cx, 6);
context._sub(context.al, 10);
if (!context.flags.c()) goto looky;
- context.al = context.data.byte(148);
+ context.al = context.ds.byte(148);
context._sub(context.cx, 1);
lookx:
context._add(context.cx, 1);
context._sub(context.al, 11);
if (!context.flags.c()) goto lookx;
- context.data.byte(185) = context.cl;
+ context.ds.byte(185) = context.cl;
return;
}
@@ -20655,7 +20655,7 @@ static void getroomdata(Context & context) {
static void readheader(Context & context) {
context.ds = context.cs;
context.dx = 5881;
- context.cx = 5958-context.data.byte(5881);
+ context.cx = 5958-context.ds.byte(5881);
readfromfile(context);
context.es = context.cs;
context.di = 5952;
@@ -20665,7 +20665,7 @@ static void readheader(Context & context) {
static void allocateload(Context & context) {
context.push(context.es);
context.push(context.di);
- context.bx = context.data.word(context.di);
+ context.bx = context.ds.word(context.di);
context.cl = 4;
context._shr(context.bx, context.cl);
allocatemem(context);
@@ -20692,37 +20692,37 @@ static void fillspace(Context & context) {
}
static void getridoftemp(Context & context) {
- context.es = context.data.word(458);
+ context.es = context.ds.word(458);
deallocatemem(context);
return;
}
static void getridoftemptext(Context & context) {
- context.es = context.data.word(466);
+ context.es = context.ds.word(466);
deallocatemem(context);
return;
}
static void getridoftemp2(Context & context) {
- context.es = context.data.word(460);
+ context.es = context.ds.word(460);
deallocatemem(context);
return;
}
static void getridoftemp3(Context & context) {
- context.es = context.data.word(462);
+ context.es = context.ds.word(462);
deallocatemem(context);
return;
}
static void getridoftempcharset(Context & context) {
- context.es = context.data.word(406);
+ context.es = context.ds.word(406);
deallocatemem(context);
return;
}
static void getridoftempsp(Context & context) {
- context.es = context.data.word(464);
+ context.es = context.ds.word(464);
deallocatemem(context);
return;
}
@@ -20730,30 +20730,30 @@ static void getridoftempsp(Context & context) {
static void readsetdata(Context & context) {
context.dx = 1870;
standardload(context);
- context.data.word(404) = context.ax;
+ context.ds.word(404) = context.ax;
context.dx = 1935;
standardload(context);
- context.data.word(408) = context.ax;
+ context.ds.word(408) = context.ax;
context.dx = 1948;
standardload(context);
- context.data.word(410) = context.ax;
+ context.ds.word(410) = context.ax;
context.dx = 1832;
standardload(context);
- context.data.word(414) = context.ax;
+ context.ds.word(414) = context.ax;
context.dx = 2234;
standardload(context);
- context.data.word(454) = context.ax;
+ context.ds.word(454) = context.ax;
context.dx = 2286;
standardload(context);
- context.data.word(452) = context.ax;
- context.ax = context.data.word(404);
- context.data.word(268) = context.ax;
- context._cmp(context.data.byte(378), 255);
+ context.ds.word(452) = context.ax;
+ context.ax = context.ds.word(404);
+ context.ds.word(268) = context.ax;
+ context._cmp(context.ds.byte(378), 255);
if (context.flags.z()) goto novolumeload;
context.dx = 2299;
openfile(context);
context.cx = 2048-256;
- context.ds = context.data.word(353);
+ context.ds = context.ds.word(353);
context.dx = 16384;
readfromfile(context);
closefile(context);
@@ -20775,7 +20775,7 @@ static void dreamweb(Context & context) {
clearpalette(context);
set16colpalette(context);
readsetdata(context);
- context.data.byte(391) = 0;
+ context.ds.byte(391) = 0;
context.dx = 1922;
loadsample(context);
setsoundoff(context);
@@ -20791,7 +20791,7 @@ dodecisions:
cls(context);
setmode(context);
decide(context);
- context._cmp(context.data.byte(103), 4);
+ context._cmp(context.ds.byte(103), 4);
if (context.flags.z()) goto mainloop;
titles(context);
credits(context);
@@ -20799,22 +20799,22 @@ playgame:
clearchanges(context);
setmode(context);
loadpalfromiff(context);
- context.data.byte(9) = 255;
- context.data.byte(67) = 1;
- context.data.byte(188) = 35;
- context.data.byte(386) = 7;
+ context.ds.byte(9) = 255;
+ context.ds.byte(67) = 1;
+ context.ds.byte(188) = 35;
+ context.ds.byte(386) = 7;
loadroom(context);
clearsprites(context);
initman(context);
entrytexts(context);
entryanims(context);
- context.data.byte(183) = 3;
+ context.ds.byte(183) = 3;
initialinv(context);
- context.data.byte(153) = 32;
+ context.ds.byte(153) = 32;
startup1(context);
- context.data.byte(387) = 0;
- context.data.byte(388) = -1;
- context.data.byte(100) = 255;
+ context.ds.byte(387) = 0;
+ context.ds.byte(388) = -1;
+ context.ds.byte(100) = 255;
goto mainloop;
loadnew:
clearbeforeload(context);
@@ -20823,36 +20823,36 @@ loadnew:
initman(context);
entrytexts(context);
entryanims(context);
- context.data.byte(188) = 255;
+ context.ds.byte(188) = 255;
startup(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
worktoscreenm(context);
goto mainloop;
alreadyloaded:
- context.data.byte(188) = 255;
+ context.ds.byte(188) = 255;
clearsprites(context);
initman(context);
startup(context);
- context.data.byte(100) = 255;
+ context.ds.byte(100) = 255;
mainloop:
screenupdate(context);
- context._cmp(context.data.byte(391), 0);
+ context._cmp(context.ds.byte(391), 0);
if (!context.flags.z()) goto endofgame;
- context._cmp(context.data.byte(56), 1);
+ context._cmp(context.ds.byte(56), 1);
if (context.flags.z()) goto gameover;
- context._cmp(context.data.byte(56), 2);
+ context._cmp(context.ds.byte(56), 2);
if (context.flags.z()) goto gameover;
- context._cmp(context.data.word(21), 0);
+ context._cmp(context.ds.word(21), 0);
if (context.flags.z()) goto notwatching;
- context.al = context.data.byte(477);
- context._cmp(context.al, context.data.byte(475));
+ context.al = context.ds.byte(477);
+ context._cmp(context.al, context.ds.byte(475));
if (!context.flags.z()) goto mainloop;
- context._sub(context.data.word(21), 1);
+ context._sub(context.ds.word(21), 1);
if (!context.flags.z()) goto mainloop;
notwatching:
- context._cmp(context.data.byte(56), 4);
+ context._cmp(context.ds.byte(56), 4);
if (context.flags.z()) goto gameover;
- context._cmp(context.data.byte(188), 255);
+ context._cmp(context.ds.byte(188), 255);
if (!context.flags.z()) goto loadnew;
goto mainloop;
gameover:
@@ -21427,7 +21427,7 @@ void __start(Context &context) {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
- context.data.assign(src, src + sizeof(src)); dreamweb(context); }
+ context.ds.assign(src, src + sizeof(src)); dreamweb(context); }
void __dispatch_call(Context &context, unsigned addr) {
switch(addr) {
diff --git a/engines/dreamweb/runtime.h b/engines/dreamweb/runtime.h
index fb634b6e05..6adcdc73be 100644
--- a/engines/dreamweb/runtime.h
+++ b/engines/dreamweb/runtime.h
@@ -114,12 +114,10 @@ class SegmentRef {
Segment *_segment;
public:
- SegmentRef(Context *ctx): _context(ctx), _value(), _segment() {
+ SegmentRef(Context *ctx, uint16 value = 0, Segment *segment = 0): _context(ctx), _value(value), _segment(segment) {
}
- inline void reset(uint16 value) {
-
- }
+ inline void reset(uint16 value);
inline SegmentRef& operator=(const uint16 id) {
return *this;
@@ -143,6 +141,11 @@ public:
assert(_segment != 0);
return _segment->word(index);
}
+
+ inline void assign(const uint8 *b, const uint8 *e) {
+ assert(_segment != 0);
+ _segment->assign(b, e);
+ }
};
struct Flags {
@@ -174,9 +177,12 @@ struct Flags {
};
class Context {
- Common::HashMap<uint16, Segment> _segments;
+ typedef Common::HashMap<uint16, Segment> SegmentMap;
+ SegmentMap _segments;
public:
+ enum { kDefaultDataSegment };
+
Register ax, dx, bx, cx, si, di;
RegisterPart<kLowPartOfRegister> al;
RegisterPart<kHighPartOfRegister> ah;
@@ -191,9 +197,18 @@ public:
Flags flags;
inline Context(): al(ax), ah(ax), bl(bx), bh(bx), cl(cx), ch(cx), dl(dx), dh(dx), cs(this), ds(this), es(this) {
-
+ _segments[kDefaultDataSegment] = Segment();
+ cs.reset(1);
+ ds.reset(1);
+ es.reset(1);
}
-
+
+ SegmentRef getSegment(uint16 value) {
+ SegmentMap::iterator i = _segments.find(value);
+ assert(i != _segments.end());
+ return SegmentRef(this, value, &i->_value);
+ }
+
inline void _cmp(uint8 a, uint8 b) {
uint8 x = a;
_sub(x, b);
@@ -342,10 +357,12 @@ public:
stack.pop_back();
return v;
}
-
- Segment data;
};
+inline void SegmentRef::reset(uint16 value) {
+ *this = _context->getSegment(value);
+}
+
}
#endif