aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devtools/tasmrecover/tasm/cpp.py2
-rw-r--r--engines/dreamweb/dreamgen.cpp6828
-rw-r--r--engines/dreamweb/runtime.h10
3 files changed, 3420 insertions, 3420 deletions
diff --git a/devtools/tasmrecover/tasm/cpp.py b/devtools/tasmrecover/tasm/cpp.py
index a8d225359b..1e77893f89 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.ds.%s(%d)" %("byte" if size == 1 else "word", g.offset)
+ value = "context.data.%s(%d)" %("byte" if size == 1 else "word", g.offset)
elif self.indirection == -1:
value = "%s" %g.offset
self.indirection = 0
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index bf996f8353..ef05c31e87 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -514,9 +514,9 @@ nofog:
static void receptionist(Context & context) {
checkspeed(context);
if (!context.flags.z()) goto gotrecep;
- context._cmp(context.ds.byte(52), 1);
+ context._cmp(context.data.byte(52), 1);
if (!context.flags.z()) goto notsetcard;
- context._add(context.ds.byte(52), 1);
+ context._add(context.data.byte(52), 1);
context.ds.byte(context.bx+7) = 1;
context.ds.word(context.bx+3) = 64;
notsetcard:
@@ -548,13 +548,13 @@ gotrecep:
context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalkedrecep;
- context.ds.byte(51) = 1;
+ context.data.byte(51) = 1;
nottalkedrecep:
return;
}
static void smokebloke(Context & context) {
- context._cmp(context.ds.byte(41), 0);
+ context._cmp(context.data.byte(41), 0);
if (!context.flags.z()) goto notspokento;
context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
@@ -594,7 +594,7 @@ static void attendant(Context & context) {
context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalked;
- context.ds.byte(48) = 1;
+ context.data.byte(48) = 1;
nottalked:
return;
}
@@ -609,7 +609,7 @@ static void manasleep(Context & context) {
}
static void eden(Context & context) {
- context._cmp(context.ds.byte(42), 0);
+ context._cmp(context.data.byte(42), 0);
if (!context.flags.z()) goto notinbed;
showgamereel(context);
addtopeoplelist(context);
@@ -618,9 +618,9 @@ notinbed:
}
static void edeninbath(Context & context) {
- context._cmp(context.ds.byte(42), 0);
+ context._cmp(context.data.byte(42), 0);
if (context.flags.z()) goto notinbed;
- context._cmp(context.ds.byte(43), 0);
+ context._cmp(context.data.byte(43), 0);
if (!context.flags.z()) goto notinbath;
showgamereel(context);
addtopeoplelist(context);
@@ -645,7 +645,7 @@ static void femalefan(Context & context) {
}
static void louis(Context & context) {
- context._cmp(context.ds.byte(41), 0);
+ context._cmp(context.data.byte(41), 0);
if (!context.flags.z()) goto notlouis1;
showgamereel(context);
addtopeoplelist(context);
@@ -654,7 +654,7 @@ notlouis1:
}
static void louischair(Context & context) {
- context._cmp(context.ds.byte(41), 0);
+ context._cmp(context.data.byte(41), 0);
if (context.flags.z()) goto notlouis2;
checkspeed(context);
if (!context.flags.z()) goto notlouisanim;
@@ -742,7 +742,7 @@ notsmoket2:
context._add(context.ds.word(context.bx+3), 1);
gotsmoket:
showgamereel(context);
- context._cmp(context.ds.byte(46), 1);
+ context._cmp(context.data.byte(46), 1);
if (!context.flags.z()) goto notgotgun;
context.ds.byte(context.bx+7) = 9;
notgotgun:
@@ -763,7 +763,7 @@ static void barwoman(Context & context) {
}
static void interviewer(Context & context) {
- context._cmp(context.ds.word(23), 68);
+ context._cmp(context.data.word(23), 68);
if (!context.flags.z()) goto notgeneralstart;
context._add(context.ds.word(context.bx+3), 1);
notgeneralstart:
@@ -782,13 +782,13 @@ talking:
static void soldier1(Context & context) {
context._cmp(context.ds.word(context.bx+3), 0);
if (context.flags.z()) goto soldierwait;
- context.ds.word(21) = 10;
+ context.data.word(21) = 10;
context._cmp(context.ds.word(context.bx+3), 30);
if (!context.flags.z()) goto notaftersshot;
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 40);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 40);
if (!context.flags.z()) goto gotsoldframe;
- context.ds.byte(56) = 2;
+ context.data.byte(56) = 2;
goto gotsoldframe;
notaftersshot:
checkspeed(context);
@@ -796,16 +796,16 @@ notaftersshot:
context._add(context.ds.word(context.bx+3), 1);
goto gotsoldframe;
soldierwait:
- context._cmp(context.ds.byte(65), 1);
+ context._cmp(context.data.byte(65), 1);
if (!context.flags.z()) goto gotsoldframe;
- context.ds.word(21) = 10;
- context._cmp(context.ds.byte(475), 2);
+ context.data.word(21) = 10;
+ context._cmp(context.data.byte(475), 2);
if (!context.flags.z()) goto gotsoldframe;
- context._cmp(context.ds.byte(133), 4);
+ context._cmp(context.data.byte(133), 4);
if (!context.flags.z()) goto gotsoldframe;
context._add(context.ds.word(context.bx+3), 1);
- context.ds.byte(65) = -1;
- context.ds.byte(64) = 0;
+ context.data.byte(65) = -1;
+ context.data.byte(64) = 0;
gotsoldframe:
showgamereel(context);
addtopeoplelist(context);
@@ -824,22 +824,22 @@ static void rockstar(Context & context) {
context._add(context.ax, 1);
context._cmp(context.ax, 118);
if (!context.flags.z()) goto notbeforedead;
- context.ds.byte(56) = 2;
+ context.data.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.ds.byte(65), 1);
+ context._cmp(context.data.byte(65), 1);
if (!context.flags.z()) goto notgunonrock;
- context.ds.byte(65) = -1;
+ context.data.byte(65) = -1;
context.ax = 123;
goto gotrockframe;
notgunonrock:
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 40);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 40);
if (!context.flags.z()) goto gotrockframe;
- context.ds.byte(64) = 0;
+ context.data.byte(64) = 0;
context.ax = 79;
gotrockframe:
context.ds.word(context.bx+3) = context.ax;
@@ -848,17 +848,17 @@ rockspeed:
context._cmp(context.ds.word(context.bx+3), 78);
if (!context.flags.z()) goto notalkrock;
addtopeoplelist(context);
- context.ds.byte(234) = 2;
- context.ds.word(21) = 0;
+ context.data.byte(234) = 2;
+ context.data.word(21) = 0;
return;
notalkrock:
- context.ds.word(21) = 2;
- context.ds.byte(234) = 0;
- context.al = context.ds.byte(149);
+ context.data.word(21) = 2;
+ context.data.byte(234) = 0;
+ context.al = context.data.byte(149);
context.ds.byte(context.bx+2) = context.al;
return;
rockcombatend:
- context.ds.byte(188) = 45;
+ context.data.byte(188) = 45;
showgamereel(context);
return;
}
@@ -873,10 +873,10 @@ static void helicopter(Context & context) {
context._add(context.ax, 1);
context._cmp(context.ax, 53);
if (!context.flags.z()) goto notbeforehdead;
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 8);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 8);
if (context.flags.c()) goto waitabit;
- context.ds.byte(56) = 2;
+ context.data.byte(56) = 2;
waitabit:
context.ax = 49;
goto gotheliframe;
@@ -884,39 +884,39 @@ notbeforehdead:
context._cmp(context.ax, 9);
if (!context.flags.z()) goto gotheliframe;
context._sub(context.ax, 1);
- context._cmp(context.ds.byte(65), 1);
+ context._cmp(context.data.byte(65), 1);
if (!context.flags.z()) goto notgunonheli;
- context.ds.byte(65) = -1;
+ context.data.byte(65) = -1;
context.ax = 55;
goto gotheliframe;
notgunonheli:
context.ax = 5;
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 20);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 20);
if (!context.flags.z()) goto gotheliframe;
- context.ds.byte(64) = 0;
+ context.data.byte(64) = 0;
context.ax = 9;
gotheliframe:
context.ds.word(context.bx+3) = context.ax;
helispeed:
showgamereel(context);
- context.al = context.ds.byte(148);
+ context.al = context.data.byte(148);
context.ds.byte(context.bx+1) = context.al;
helicombatend:
context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 9);
if (!context.flags.c()) goto notwaitingheli;
- context._cmp(context.ds.byte(64), 7);
+ context._cmp(context.data.byte(64), 7);
if (context.flags.c()) goto notwaitingheli;
- context.ds.byte(234) = 2;
- context.ds.word(21) = 0;
+ context.data.byte(234) = 2;
+ context.data.word(21) = 0;
return;
notwaitingheli:
- context.ds.byte(234) = 0;
- context.ds.word(21) = 2;
+ context.data.byte(234) = 0;
+ context.data.word(21) = 2;
return;
heliwon:
- context.ds.byte(234) = 0;
+ context.data.byte(234) = 0;
return;
}
@@ -928,14 +928,14 @@ static void mugger(Context & context) {
if (context.flags.z()) goto endmugger2;
context._cmp(context.ax, 2);
if (!context.flags.z()) goto havesetwatch;
- context.ds.word(21) = 175*2;
+ context.data.word(21) = 175*2;
havesetwatch:
checkspeed(context);
if (!context.flags.z()) goto notmugger;
context._add(context.ds.word(context.bx+3), 1);
notmugger:
showgamereel(context);
- context.al = context.ds.byte(148);
+ context.al = context.data.byte(148);
context.ds.byte(context.bx+1) = context.al;
return;
endmugger1:
@@ -958,25 +958,25 @@ endmugger1:
context.push(context.es);
context.push(context.bx);
context.ds.word(context.bx+3) = 140;
- context.ds.byte(475) = 2;
- context.ds.byte(477) = 2;
+ context.data.byte(475) = 2;
+ context.data.byte(477) = 2;
findxyfrompath(context);
- context.ds.byte(187) = 1;
+ context.data.byte(187) = 1;
context.al = 'W';
context.ah = 'E';
context.cl = 'T';
context.ch = 'A';
findexobject(context);
- context.ds.byte(99) = context.al;
- context.ds.byte(102) = 4;
+ context.data.byte(99) = context.al;
+ context.data.byte(102) = 4;
removeobfrominv(context);
context.al = 'W';
context.ah = 'E';
context.cl = 'T';
context.ch = 'B';
findexobject(context);
- context.ds.byte(99) = context.al;
- context.ds.byte(102) = 4;
+ context.data.byte(99) = context.al;
+ context.data.byte(102) = 4;
removeobfrominv(context);
makemainscreen(context);
context.al = 48;
@@ -985,7 +985,7 @@ endmugger1:
context.cx = 70;
context.dx = 10;
setuptimeduse(context);
- context.ds.byte(45) = 1;
+ context.data.byte(45) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -1000,8 +1000,8 @@ static void aide(Context & context) {
}
static void businessman(Context & context) {
- context.ds.byte(234) = 0;
- context.ds.word(21) = 2;
+ context.data.byte(234) = 0;
+ context.data.word(21) = 2;
context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 2);
if (!context.flags.z()) goto notfirstbiz;
@@ -1028,23 +1028,23 @@ notfirstbiz:
context._add(context.ax, 1);
context._cmp(context.ax, 48);
if (!context.flags.z()) goto notbeforedeadb;
- context.ds.byte(56) = 2;
+ context.data.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.ds.byte(65), 3);
+ context._cmp(context.data.byte(65), 3);
if (!context.flags.z()) goto notshieldonbus;
- context.ds.byte(65) = -1;
- context.ds.byte(64) = 0;
+ context.data.byte(65) = -1;
+ context.data.byte(64) = 0;
context.ax = 51;
goto gotbusframe;
notshieldonbus:
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 20);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 20);
if (!context.flags.z()) goto gotbusframe;
- context.ds.byte(64) = 0;
+ context.data.byte(64) = 0;
context.ax = 15;
goto gotbusframe;
buscombatwon:
@@ -1060,10 +1060,10 @@ buscombatwon:
turnpathon(context);
context.al = 3;
turnpathoff(context);
- context.ds.byte(475) = 5;
- context.ds.byte(477) = 5;
+ context.data.byte(475) = 5;
+ context.data.byte(477) = 5;
findxyfrompath(context);
- context.ds.byte(187) = 1;
+ context.data.byte(187) = 1;
context.es = context.pop();
context.bx = context.pop();
context.ax = 92;
@@ -1072,19 +1072,19 @@ gotbusframe:
context.ds.word(context.bx+3) = context.ax;
busspeed:
showgamereel(context);
- context.al = context.ds.byte(149);
+ context.al = context.data.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.ds.word(21) = 0;
- context.ds.byte(234) = 2;
+ context.data.word(21) = 0;
+ context.data.byte(234) = 2;
return;
buscombatend:
return;
buscombatwonend:
- context.ds.byte(234) = 0;
- context.ds.word(21) = 0;
+ context.data.byte(234) = 0;
+ context.data.word(21) = 0;
return;
}
@@ -1108,32 +1108,32 @@ notfirstpool:
context._cmp(context.ax, 122);
if (!context.flags.z()) goto notendguard1;
context._sub(context.ax, 1);
- context._cmp(context.ds.byte(65), 2);
+ context._cmp(context.data.byte(65), 2);
if (!context.flags.z()) goto notaxeonpool;
- context.ds.byte(65) = -1;
+ context.data.byte(65) = -1;
context.ax = 122;
goto gotguardframe;
notaxeonpool:
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 40);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 40);
if (!context.flags.z()) goto gotguardframe;
- context.ds.byte(64) = 0;
+ context.data.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.ds.byte(65), 1);
+ context._cmp(context.data.byte(65), 1);
if (!context.flags.z()) goto notgunonpool;
- context.ds.byte(65) = -1;
+ context.data.byte(65) = -1;
context.ax = 147;
goto gotguardframe;
notgunonpool:
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 40);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 40);
if (!context.flags.z()) goto gotguardframe;
- context.ds.byte(64) = 0;
+ context.data.byte(64) = 0;
context.ax = 220;
gotguardframe:
context.ds.word(context.bx+3) = context.ax;
@@ -1144,16 +1144,16 @@ guardspeed:
if (context.flags.z()) goto iswaitingpool;
context._cmp(context.ax, 146);
if (context.flags.z()) goto iswaitingpool;
- context.ds.byte(234) = 0;
- context.ds.word(21) = 2;
+ context.data.byte(234) = 0;
+ context.data.word(21) = 2;
return;
iswaitingpool:
- context.ds.byte(234) = 2;
- context.ds.word(21) = 0;
+ context.data.byte(234) = 2;
+ context.data.word(21) = 0;
return;
combatover1:
- context.ds.word(21) = 0;
- context.ds.byte(234) = 0;
+ context.data.word(21) = 0;
+ context.data.byte(234) = 0;
context.al = 0;
turnpathon(context);
context.al = 1;
@@ -1161,13 +1161,13 @@ combatover1:
return;
combatover2:
showgamereel(context);
- context.ds.word(21) = 2;
- context.ds.byte(234) = 0;
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 100);
+ context.data.word(21) = 2;
+ context.data.byte(234) = 0;
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 100);
if (context.flags.c()) goto doneover2;
- context.ds.word(21) = 0;
- context.ds.byte(56) = 2;
+ context.data.word(21) = 0;
+ context.data.byte(56) = 2;
doneover2:
return;
}
@@ -1179,20 +1179,20 @@ static void security(Context & context) {
if (!context.flags.z()) goto notaftersec;
return;
notaftersec:
- context.ds.word(21) = 10;
+ context.data.word(21) = 10;
checkspeed(context);
if (!context.flags.z()) goto gotsecurframe;
context._add(context.ds.word(context.bx+3), 1);
goto gotsecurframe;
securwait:
- context._cmp(context.ds.byte(65), 1);
+ context._cmp(context.data.byte(65), 1);
if (!context.flags.z()) goto gotsecurframe;
- context.ds.word(21) = 10;
- context._cmp(context.ds.byte(475), 9);
+ context.data.word(21) = 10;
+ context._cmp(context.data.byte(475), 9);
if (!context.flags.z()) goto gotsecurframe;
- context._cmp(context.ds.byte(133), 0);
+ context._cmp(context.data.byte(133), 0);
if (!context.flags.z()) goto gotsecurframe;
- context.ds.byte(65) = -1;
+ context.data.byte(65) = -1;
context._add(context.ds.word(context.bx+3), 1);
gotsecurframe:
showgamereel(context);
@@ -1206,13 +1206,13 @@ static void heavy(Context & context) {
context.ds.byte(context.bx+7) = context.al;
context._cmp(context.ds.word(context.bx+3), 43);
if (context.flags.z()) goto heavywait;
- context.ds.word(21) = 10;
+ context.data.word(21) = 10;
context._cmp(context.ds.word(context.bx+3), 70);
if (!context.flags.z()) goto notafterhshot;
- context._add(context.ds.byte(64), 1);
- context._cmp(context.ds.byte(64), 80);
+ context._add(context.data.byte(64), 1);
+ context._cmp(context.data.byte(64), 80);
if (!context.flags.z()) goto gotheavyframe;
- context.ds.byte(56) = 2;
+ context.data.byte(56) = 2;
goto gotheavyframe;
notafterhshot:
checkspeed(context);
@@ -1220,15 +1220,15 @@ notafterhshot:
context._add(context.ds.word(context.bx+3), 1);
goto gotheavyframe;
heavywait:
- context._cmp(context.ds.byte(65), 1);
+ context._cmp(context.data.byte(65), 1);
if (!context.flags.z()) goto gotheavyframe;
- context._cmp(context.ds.byte(475), 5);
+ context._cmp(context.data.byte(475), 5);
if (!context.flags.z()) goto gotheavyframe;
- context._cmp(context.ds.byte(133), 4);
+ context._cmp(context.data.byte(133), 4);
if (!context.flags.z()) goto gotheavyframe;
- context.ds.byte(65) = -1;
+ context.data.byte(65) = -1;
context._add(context.ds.word(context.bx+3), 1);
- context.ds.byte(64) = 0;
+ context.data.byte(64) = 0;
gotheavyframe:
showgamereel(context);
addtopeoplelist(context);
@@ -1247,11 +1247,11 @@ static void bossman(Context & context) {
context._cmp(context.ax, 41);
if (!context.flags.z()) goto gotallboss;
context.ax = 0;
- context._add(context.ds.byte(46), 1);
+ context._add(context.data.byte(46), 1);
context.ds.byte(context.bx+7) = 10;
goto gotallboss;
firstdes:
- context._cmp(context.ds.byte(46), 1);
+ context._cmp(context.data.byte(46), 1);
if (context.flags.z()) goto gotallboss;
context.push(context.ax);
randomnumber(context);
@@ -1262,7 +1262,7 @@ firstdes:
context.ax = 0;
goto gotallboss;
secdes:
- context._cmp(context.ds.byte(46), 1);
+ context._cmp(context.data.byte(46), 1);
if (context.flags.z()) goto gotallboss;
context.ax = 0;
gotallboss:
@@ -1273,7 +1273,7 @@ notboss:
context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalkedboss;
- context.ds.byte(50) = 1;
+ context.data.byte(50) = 1;
nottalkedboss:
return;
}
@@ -1317,16 +1317,16 @@ cantdrip2:
}
static void keeper(Context & context) {
- context._cmp(context.ds.byte(54), 0);
+ context._cmp(context.data.byte(54), 0);
if (!context.flags.z()) goto notwaiting;
- context._cmp(context.ds.word(23), 190);
+ context._cmp(context.data.word(23), 190);
if (context.flags.c()) goto waiting;
- context._add(context.ds.byte(54), 1);
+ context._add(context.data.byte(54), 1);
context.ah = context.ds.byte(context.bx+7);
context._and(context.ah, 127);
- context._cmp(context.ah, context.ds.byte(66));
+ context._cmp(context.ah, context.data.byte(66));
if (context.flags.z()) goto notdiff;
- context.al = context.ds.byte(66);
+ context.al = context.data.byte(66);
context.ds.byte(context.bx+7) = context.al;
notdiff:
return;
@@ -1379,16 +1379,16 @@ gotintrom1:
context.ds.word(context.bx+3) = context.ax;
context._cmp(context.ax, 121);
if (!context.flags.z()) goto introm1fin;
- context._add(context.ds.byte(139), 1);
+ context._add(context.data.byte(139), 1);
context.push(context.es);
context.push(context.bx);
intro1text(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.ds.byte(139), 8);
+ context._cmp(context.data.byte(139), 8);
if (!context.flags.z()) goto introm1fin;
- context._add(context.ds.byte(149), 10);
- context.ds.byte(186) = 1;
+ context._add(context.data.byte(149), 10);
+ context.data.byte(186) = 1;
introm1fin:
showgamereel(context);
return;
@@ -1446,7 +1446,7 @@ notbang:
slowgates:
context._cmp(context.ax, 120);
if (!context.flags.z()) goto gotgates;
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
context.ax = 119;
gotgates:
context.ds.word(context.bx+3) = context.ax;
@@ -1482,12 +1482,12 @@ static void intromagic3(Context & context) {
context._add(context.ax, 1);
context._cmp(context.ax, 218);
if (!context.flags.z()) goto gotintrom3;
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
gotintrom3:
context.ds.word(context.bx+3) = context.ax;
introm3fin:
showgamereel(context);
- context.al = context.ds.byte(148);
+ context.al = context.data.byte(148);
context.ds.byte(context.bx+1) = context.al;
return;
}
@@ -1499,15 +1499,15 @@ static void intromonks1(Context & context) {
context._add(context.ax, 1);
context._cmp(context.ax, 80);
if (!context.flags.z()) goto notendmonk1;
- context._add(context.ds.byte(149), 10);
- context.ds.byte(186) = 1;
+ context._add(context.data.byte(149), 10);
+ context.data.byte(186) = 1;
showgamereel(context);
return;
notendmonk1:
context._cmp(context.ax, 30);
if (!context.flags.z()) goto gotintromonk1;
- context._sub(context.ds.byte(149), 10);
- context.ds.byte(186) = 1;
+ context._sub(context.data.byte(149), 10);
+ context.data.byte(186) = 1;
context.ax = 51;
gotintromonk1:
context.ds.word(context.bx+3) = context.ax;
@@ -1531,7 +1531,7 @@ waitstep:
context.ds.byte(context.bx+6) = -20;
intromonk1fin:
showgamereel(context);
- context.al = context.ds.byte(149);
+ context.al = context.data.byte(149);
context.ds.byte(context.bx+2) = context.al;
return;
}
@@ -1543,13 +1543,13 @@ static void intromonks2(Context & context) {
context._add(context.ax, 1);
context._cmp(context.ax, 87);
if (!context.flags.z()) goto nottalk1;
- context._add(context.ds.byte(139), 1);
+ context._add(context.data.byte(139), 1);
context.push(context.es);
context.push(context.bx);
monks2text(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.ds.byte(139), 19);
+ context._cmp(context.data.byte(139), 19);
if (!context.flags.z()) goto notlasttalk1;
context.ax = 87;
goto gotintromonk2;
@@ -1559,13 +1559,13 @@ notlasttalk1:
nottalk1:
context._cmp(context.ax, 110);
if (!context.flags.z()) goto notraisearm;
- context._add(context.ds.byte(139), 1);
+ context._add(context.data.byte(139), 1);
context.push(context.es);
context.push(context.bx);
monks2text(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.ds.byte(139), 35);
+ context._cmp(context.data.byte(139), 35);
if (!context.flags.z()) goto notlastraise;
context.ax = 111;
goto gotintromonk2;
@@ -1575,7 +1575,7 @@ notlastraise:
notraisearm:
context._cmp(context.ax, 176);
if (!context.flags.z()) goto notendmonk2;
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
goto gotintromonk2;
notendmonk2:
context._cmp(context.ax, 125);
@@ -1593,7 +1593,7 @@ static void handclap(Context & context) {
}
static void monks2text(Context & context) {
- context._cmp(context.ds.byte(139), 1);
+ context._cmp(context.data.byte(139), 1);
if (!context.flags.z()) goto notmonk2text1;
context.al = 8;
context.bl = 36;
@@ -1601,7 +1601,7 @@ static void monks2text(Context & context) {
context.cx = 100;
goto gotmonks2text;
notmonk2text1:
- context._cmp(context.ds.byte(139), 4);
+ context._cmp(context.data.byte(139), 4);
if (!context.flags.z()) goto notmonk2text2;
context.al = 9;
context.bl = 36;
@@ -1609,7 +1609,7 @@ notmonk2text1:
context.cx = 100;
goto gotmonks2text;
notmonk2text2:
- context._cmp(context.ds.byte(139), 7);
+ context._cmp(context.data.byte(139), 7);
if (!context.flags.z()) goto notmonk2text3;
context.al = 10;
context.bl = 36;
@@ -1617,7 +1617,7 @@ notmonk2text2:
context.cx = 100;
goto gotmonks2text;
notmonk2text3:
- context._cmp(context.ds.byte(139), 10);
+ context._cmp(context.data.byte(139), 10);
if (!context.flags.z()) goto notmonk2text4;
context.al = 11;
context.bl = 0;
@@ -1625,7 +1625,7 @@ notmonk2text3:
context.cx = 100;
goto gotmonks2text;
notmonk2text4:
- context._cmp(context.ds.byte(139), 13);
+ context._cmp(context.data.byte(139), 13);
if (!context.flags.z()) goto notmonk2text5;
context.al = 12;
context.bl = 0;
@@ -1633,7 +1633,7 @@ notmonk2text4:
context.cx = 100;
goto gotmonks2text;
notmonk2text5:
- context._cmp(context.ds.byte(139), 16);
+ context._cmp(context.data.byte(139), 16);
if (!context.flags.z()) goto notmonk2text6;
context.al = 13;
context.bl = 0;
@@ -1641,7 +1641,7 @@ notmonk2text5:
context.cx = 100;
goto gotmonks2text;
notmonk2text6:
- context._cmp(context.ds.byte(139), 19);
+ context._cmp(context.data.byte(139), 19);
if (!context.flags.z()) goto notmonk2text7;
context.al = 14;
context.bl = 36;
@@ -1651,7 +1651,7 @@ notmonk2text6:
context.ah = 82;
{ setuptimedtemp(context); return; };
notmonk2text7:
- context._cmp(context.ds.byte(139), 22);
+ context._cmp(context.data.byte(139), 22);
if (!context.flags.z()) goto notmonk2text8;
context.al = 15;
context.bl = 36;
@@ -1659,7 +1659,7 @@ notmonk2text7:
context.cx = 100;
goto gotmonks2text;
notmonk2text8:
- context._cmp(context.ds.byte(139), 25);
+ context._cmp(context.data.byte(139), 25);
if (!context.flags.z()) goto notmonk2text9;
context.al = 16;
context.bl = 36;
@@ -1667,7 +1667,7 @@ notmonk2text8:
context.cx = 100;
goto gotmonks2text;
notmonk2text9:
- context._cmp(context.ds.byte(139), 28);
+ context._cmp(context.data.byte(139), 28);
if (!context.flags.z()) goto notmonk2text10;
context.al = 17;
context.bl = 36;
@@ -1675,7 +1675,7 @@ notmonk2text9:
context.cx = 100;
goto gotmonks2text;
notmonk2text10:
- context._cmp(context.ds.byte(139), 31);
+ context._cmp(context.data.byte(139), 31);
if (!context.flags.z()) goto notmonk2text11;
context.al = 18;
context.bl = 36;
@@ -1693,7 +1693,7 @@ gotmonks2text:
}
static void intro1text(Context & context) {
- context._cmp(context.ds.byte(139), 2);
+ context._cmp(context.data.byte(139), 2);
if (!context.flags.z()) goto notintro1text1;
context.al = 40;
context.bl = 34;
@@ -1701,7 +1701,7 @@ static void intro1text(Context & context) {
context.cx = 90;
goto gotintro1text;
notintro1text1:
- context._cmp(context.ds.byte(139), 4);
+ context._cmp(context.data.byte(139), 4);
if (!context.flags.z()) goto notintro1text2;
context.al = 41;
context.bl = 34;
@@ -1709,7 +1709,7 @@ notintro1text1:
context.cx = 90;
goto gotintro1text;
notintro1text2:
- context._cmp(context.ds.byte(139), 6);
+ context._cmp(context.data.byte(139), 6);
if (!context.flags.z()) goto notintro1text3;
context.al = 42;
context.bl = 34;
@@ -1783,16 +1783,16 @@ static void monkandryan(Context & context) {
context._add(context.ax, 1);
context._cmp(context.ax, 83);
if (!context.flags.z()) goto gotmonkryan;
- context._add(context.ds.byte(139), 1);
+ context._add(context.data.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.ds.byte(139), 57);
+ context._cmp(context.data.byte(139), 57);
if (!context.flags.z()) goto gotmonkryan;
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
gotmonkryan:
context.ds.word(context.bx+3) = context.ax;
@@ -1808,9 +1808,9 @@ static void endgameseq(Context & context) {
context._add(context.ax, 1);
context._cmp(context.ax, 51);
if (!context.flags.z()) goto gotendseq;
- context._cmp(context.ds.byte(139), 140);
+ context._cmp(context.data.byte(139), 140);
if (context.flags.z()) goto gotendseq;
- context._add(context.ds.byte(139), 1);
+ context._add(context.data.byte(139), 1);
context.push(context.es);
context.push(context.bx);
textforend(context);
@@ -1836,18 +1836,18 @@ notfadedown:
context.push(context.bx);
context.push(context.ax);
fadescreendowns(context);
- context.ds.byte(387) = 7;
- context.ds.byte(388) = 1;
+ context.data.byte(387) = 7;
+ context.data.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.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
notendseq:
showgamereel(context);
- context.al = context.ds.byte(149);
+ context.al = context.data.byte(149);
context.ds.byte(context.bx+2) = context.al;
context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 145);
@@ -1862,17 +1862,17 @@ static void rollendcredits(Context & context) {
context.al = 16;
context.ah = 255;
playchannel0(context);
- context.ds.byte(386) = 7;
- context.ds.byte(387) = 0;
- context.ds.byte(388) = -1;
+ context.data.byte(386) = 7;
+ context.data.byte(387) = 0;
+ context.data.byte(388) = -1;
context.cl = 160;
context.ch = 160;
context.di = 75;
context.bx = 20;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
multiget(context);
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
context.si = 3*2;
context.ax = context.ds.word(context.si);
context.si = context.ax;
@@ -1881,7 +1881,7 @@ static void rollendcredits(Context & context) {
endcredits1:
context.push(context.cx);
context.bx = 10;
- context.cx = context.ds.word(77);
+ context.cx = context.data.word(77);
endcredits2:
context.push(context.cx);
context.push(context.si);
@@ -1893,7 +1893,7 @@ endcredits2:
context.ch = 160;
context.di = 75;
context.bx = 20;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
multiput(context);
vsync(context);
@@ -1912,7 +1912,7 @@ onelot:
context.dx = 161;
context.ax = 0;
printdirect(context);
- context._add(context.bx, context.ds.word(77));
+ context._add(context.bx, context.data.word(77));
context.cx = context.pop();
if (--context.cx) goto onelot;
vsync(context);
@@ -1949,8 +1949,8 @@ gotnext:
static void priest(Context & context) {
context._cmp(context.ds.word(context.bx+3), 8);
if (context.flags.z()) goto priestspoken;
- context.ds.byte(234) = 0;
- context.ds.word(21) = 2;
+ context.data.byte(234) = 0;
+ context.data.word(21) = 2;
checkspeed(context);
if (!context.flags.z()) goto priestwait;
context._add(context.ds.word(context.bx+3), 1);
@@ -1978,7 +1978,7 @@ notendtelly:
}
static void madman(Context & context) {
- context.ds.word(21) = 2;
+ context.data.word(21) = 2;
checkspeed(context);
if (!context.flags.z()) goto nomadspeed;
context.ax = context.ds.word(context.bx+3);
@@ -1994,30 +1994,30 @@ static void madman(Context & context) {
context.ax = context.pop();
context.bx = context.pop();
context.es = context.pop();
- context.ds.byte(64) = -1;
- context.ds.byte(69) = 0;
+ context.data.byte(64) = -1;
+ context.data.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.ds.byte(64), 1);
+ context._add(context.data.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.ds.byte(64), 62);
+ context._cmp(context.data.byte(64), 62);
if (context.flags.c()) goto nomadspeak;
- context._cmp(context.ds.byte(64), 68);
+ context._cmp(context.data.byte(64), 68);
if (context.flags.z()) goto killryan;
- context._cmp(context.ds.byte(65), 8);
+ context._cmp(context.data.byte(65), 8);
if (!context.flags.z()) goto nomadspeak;
- context.ds.byte(64) = 70;
- context.ds.byte(65) = -1;
- context.ds.byte(53) = 1;
+ context.data.byte(64) = 70;
+ context.data.byte(65) = -1;
+ context.data.byte(53) = 1;
context.ax = 67;
goto nomadspeak;
killryan:
@@ -2026,14 +2026,14 @@ nomadspeak:
context.ds.word(context.bx+3) = context.ax;
nomadspeed:
showgamereel(context);
- context.al = context.ds.byte(148);
+ context.al = context.data.byte(148);
context.ds.byte(context.bx+1) = context.al;
madmode(context);
return;
madmanspoken:
- context._cmp(context.ds.byte(391), 1);
+ context._cmp(context.data.byte(391), 1);
if (context.flags.z()) goto alreadywon;
- context.ds.byte(391) = 1;
+ context.data.byte(391) = 1;
context.push(context.es);
context.push(context.bx);
getridoftemptext(context);
@@ -2042,18 +2042,18 @@ madmanspoken:
alreadywon:
return;
ryansded:
- context.ds.byte(56) = 2;
+ context.data.byte(56) = 2;
showgamereel(context);
return;
}
static void madmantext(Context & context) {
- context._cmp(context.ds.byte(64), 61);
+ context._cmp(context.data.byte(64), 61);
if (!context.flags.c()) goto nomadtext;
- context.al = context.ds.byte(64);
+ context.al = context.data.byte(64);
context._and(context.al, 3);
if (!context.flags.z()) goto nomadtext;
- context.al = context.ds.byte(64);
+ context.al = context.data.byte(64);
context._shr(context.al, 1);
context._shr(context.al, 1);
context._add(context.al, 47);
@@ -2068,13 +2068,13 @@ nomadtext:
}
static void madmode(Context & context) {
- context.ds.word(21) = 2;
- context.ds.byte(234) = 0;
- context._cmp(context.ds.byte(64), 63);
+ context.data.word(21) = 2;
+ context.data.byte(234) = 0;
+ context._cmp(context.data.byte(64), 63);
if (context.flags.c()) goto iswatchmad;
- context._cmp(context.ds.byte(64), 68);
+ context._cmp(context.data.byte(64), 68);
if (!context.flags.c()) goto iswatchmad;
- context.ds.byte(234) = 2;
+ context.data.byte(234) = 2;
iswatchmad:
return;
}
@@ -2100,7 +2100,7 @@ nopriesttext:
}
static void textforend(Context & context) {
- context._cmp(context.ds.byte(139), 20);
+ context._cmp(context.data.byte(139), 20);
if (!context.flags.z()) goto notendtext1;
context.al = 0;
context.bl = 34;
@@ -2108,7 +2108,7 @@ static void textforend(Context & context) {
context.cx = 60;
goto gotendtext;
notendtext1:
- context._cmp(context.ds.byte(139), 65);
+ context._cmp(context.data.byte(139), 65);
if (!context.flags.z()) goto notendtext2;
context.al = 1;
context.bl = 34;
@@ -2116,7 +2116,7 @@ notendtext1:
context.cx = 60;
goto gotendtext;
notendtext2:
- context._cmp(context.ds.byte(139), 110);
+ context._cmp(context.data.byte(139), 110);
if (!context.flags.z()) goto notendtext3;
context.al = 2;
context.bl = 34;
@@ -2133,7 +2133,7 @@ gotendtext:
}
static void textformonk(Context & context) {
- context._cmp(context.ds.byte(139), 1);
+ context._cmp(context.data.byte(139), 1);
if (!context.flags.z()) goto notmonktext1;
context.al = 19;
context.bl = 68;
@@ -2141,7 +2141,7 @@ static void textformonk(Context & context) {
context.cx = 120;
goto gotmonktext;
notmonktext1:
- context._cmp(context.ds.byte(139), 5);
+ context._cmp(context.data.byte(139), 5);
if (!context.flags.z()) goto notmonktext2;
context.al = 20;
context.bl = 68;
@@ -2149,7 +2149,7 @@ notmonktext1:
context.cx = 120;
goto gotmonktext;
notmonktext2:
- context._cmp(context.ds.byte(139), 9);
+ context._cmp(context.data.byte(139), 9);
if (!context.flags.z()) goto notmonktext3;
context.al = 21;
context.bl = 48;
@@ -2157,7 +2157,7 @@ notmonktext2:
context.cx = 120;
goto gotmonktext;
notmonktext3:
- context._cmp(context.ds.byte(139), 13);
+ context._cmp(context.data.byte(139), 13);
if (!context.flags.z()) goto notmonktext4;
context.al = 22;
context.bl = 68;
@@ -2165,7 +2165,7 @@ notmonktext3:
context.cx = 120;
goto gotmonktext;
notmonktext4:
- context._cmp(context.ds.byte(139), 17);
+ context._cmp(context.data.byte(139), 17);
if (!context.flags.z()) goto notmonktext5;
context.al = 23;
context.bl = 68;
@@ -2173,7 +2173,7 @@ notmonktext4:
context.cx = 120;
goto gotmonktext;
notmonktext5:
- context._cmp(context.ds.byte(139), 21);
+ context._cmp(context.data.byte(139), 21);
if (!context.flags.z()) goto notmonktext6;
context.al = 24;
context.bl = 68;
@@ -2181,7 +2181,7 @@ notmonktext5:
context.cx = 120;
goto gotmonktext;
notmonktext6:
- context._cmp(context.ds.byte(139), 25);
+ context._cmp(context.data.byte(139), 25);
if (!context.flags.z()) goto notmonktext7;
context.al = 25;
context.bl = 68;
@@ -2189,7 +2189,7 @@ notmonktext6:
context.cx = 120;
goto gotmonktext;
notmonktext7:
- context._cmp(context.ds.byte(139), 29);
+ context._cmp(context.data.byte(139), 29);
if (!context.flags.z()) goto notmonktext8;
context.al = 26;
context.bl = 68;
@@ -2197,7 +2197,7 @@ notmonktext7:
context.cx = 120;
goto gotmonktext;
notmonktext8:
- context._cmp(context.ds.byte(139), 33);
+ context._cmp(context.data.byte(139), 33);
if (!context.flags.z()) goto notmonktext9;
context.al = 27;
context.bl = 68;
@@ -2205,7 +2205,7 @@ notmonktext8:
context.cx = 120;
goto gotmonktext;
notmonktext9:
- context._cmp(context.ds.byte(139), 37);
+ context._cmp(context.data.byte(139), 37);
if (!context.flags.z()) goto notmonktext10;
context.al = 28;
context.bl = 68;
@@ -2213,7 +2213,7 @@ notmonktext9:
context.cx = 120;
goto gotmonktext;
notmonktext10:
- context._cmp(context.ds.byte(139), 41);
+ context._cmp(context.data.byte(139), 41);
if (!context.flags.z()) goto notmonktext11;
context.al = 29;
context.bl = 68;
@@ -2221,7 +2221,7 @@ notmonktext10:
context.cx = 120;
goto gotmonktext;
notmonktext11:
- context._cmp(context.ds.byte(139), 45);
+ context._cmp(context.data.byte(139), 45);
if (!context.flags.z()) goto notmonktext12;
context.al = 30;
context.bl = 68;
@@ -2229,7 +2229,7 @@ notmonktext11:
context.cx = 120;
goto gotmonktext;
notmonktext12:
- context._cmp(context.ds.byte(139), 49);
+ context._cmp(context.data.byte(139), 49);
if (!context.flags.z()) goto notmonktext13;
context.al = 31;
context.bl = 68;
@@ -2237,7 +2237,7 @@ notmonktext12:
context.cx = 220;
goto gotmonktext;
notmonktext13:
- context._cmp(context.ds.byte(139), 53);
+ context._cmp(context.data.byte(139), 53);
if (!context.flags.z()) goto notendtitles;
fadescreendowns(context);
notendtitles:
@@ -2251,7 +2251,7 @@ oktalk:
}
static void drunk(Context & context) {
- context._cmp(context.ds.byte(42), 0);
+ context._cmp(context.data.byte(42), 0);
if (!context.flags.z()) goto trampgone;
context.al = context.ds.byte(context.bx+7);
context._and(context.al, 127);
@@ -2321,7 +2321,7 @@ nocopper:
}
static void sparky(Context & context) {
- context._cmp(context.ds.word(16), 0);
+ context._cmp(context.data.word(16), 0);
if (context.flags.z()) goto animsparky;
context.ds.byte(context.bx+7) = 3;
goto animsparky;
@@ -2348,7 +2348,7 @@ finishsparky:
context.al = context.ds.byte(context.bx+7);
context._and(context.al, 128);
if (context.flags.z()) goto nottalkedsparky;
- context.ds.byte(49) = 1;
+ context.data.byte(49) = 1;
nottalkedsparky:
return;
}
@@ -2364,9 +2364,9 @@ notrainyet:
randomnumber(context);
context._cmp(context.al, 253);
if (context.flags.c()) goto notrainatall;
- context._cmp(context.ds.byte(475), 5);
+ context._cmp(context.data.byte(475), 5);
if (!context.flags.z()) goto notrainatall;
- context._cmp(context.ds.byte(477), 5);
+ context._cmp(context.data.byte(477), 5);
if (!context.flags.z()) goto notrainatall;
context.ax = 5;
gottrainframe:
@@ -2382,15 +2382,15 @@ static void addtopeoplelist(Context & context) {
context.push(context.bx);
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.bx = context.data.word(18);
+ context.es = context.data.word(412);
context.ds.word(context.bx) = context.ax;
context.ax = context.pop();
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.ds.word(18), 5);
+ context._add(context.data.word(18), 5);
return;
}
@@ -2398,20 +2398,20 @@ static void showgamereel(Context & context) {
context.ax = context.ds.word(context.bx+3);
context._cmp(context.ax, 512);
if (!context.flags.c()) goto noshow;
- context.ds.word(239) = context.ax;
+ context.data.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.ds.word(239);
+ context.ax = context.data.word(239);
context.ds.word(context.bx+3) = context.ax;
noshow:
return;
}
static void checkspeed(Context & context) {
- context._cmp(context.ds.byte(65), -1);
+ context._cmp(context.data.byte(65), -1);
if (!context.flags.z()) goto forcenext;
context._add(context.ds.byte(context.bx+6), 1);
context.al = context.ds.byte(context.bx+6);
@@ -2428,7 +2428,7 @@ forcenext:
}
static void clearsprites(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.al = 255;
context.cx = 32*16;
@@ -2437,7 +2437,7 @@ static void clearsprites(Context & context) {
}
static void makesprite(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
_tmp17:
context._cmp(context.ds.byte(context.bx+15), 255);
@@ -2464,11 +2464,11 @@ static void delsprite(Context & context) {
}
static void spriteupdate(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
- context.al = context.ds.byte(63);
+ context.al = context.data.byte(63);
context.ds.byte(context.bx+31) = context.al;
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.cx = 16;
_tmp18:
@@ -2487,7 +2487,7 @@ _tmp18:
_tmp18a:
context.bx = context.pop();
context.cx = context.pop();
- context._cmp(context.ds.byte(186), 1);
+ context._cmp(context.data.byte(186), 1);
if (context.flags.z()) goto _tmp18b;
context._add(context.bx, 32);
if (--context.cx) goto _tmp18;
@@ -2496,11 +2496,11 @@ _tmp18b:
}
static void printsprites(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.cx = 0;
priorityloop:
context.push(context.cx);
- context.ds.byte(182) = context.cl;
+ context.data.byte(182) = context.cl;
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.cx = 16;
prtspriteloop:
@@ -2509,7 +2509,7 @@ prtspriteloop:
context.ax = context.ds.word(context.bx);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto skipsprite;
- context.al = context.ds.byte(182);
+ context.al = context.data.byte(182);
context._cmp(context.al, context.ds.byte(context.bx+23));
if (!context.flags.z()) goto skipsprite;
context._cmp(context.ds.byte(context.bx+31), 1);
@@ -2539,7 +2539,7 @@ static void printasprite(Context & context) {
context.ah = 255;
notnegative1:
context.bx = context.ax;
- context._add(context.bx, context.ds.word(119));
+ context._add(context.bx, context.data.word(119));
context.al = context.ds.byte(context.si+10);
context.ah = 0;
context._cmp(context.al, 220);
@@ -2547,14 +2547,14 @@ notnegative1:
context.ah = 255;
notnegative2:
context.di = context.ax;
- context._add(context.di, context.ds.word(117));
+ context._add(context.di, context.data.word(117));
context.al = context.ds.byte(context.si+15);
context.ah = 0;
context._cmp(context.ds.byte(context.si+30), 0);
if (context.flags.z()) goto steadyframe;
context.ah = 8;
steadyframe:
- context._cmp(context.ds.byte(182), 6);
+ context._cmp(context.data.byte(182), 6);
if (!context.flags.z()) goto notquickp;
notquickp:
showframe(context);
@@ -2589,7 +2589,7 @@ static void checkone(Context & context) {
context.cx = 3;
context._mul(context.cx);
context.si = context.ax;
- context.ds = context.ds.word(412);
+ context.ds = context.data.word(412);
context._add(context.si, 0+(228*13)+32+60+(32*32));
context._lodsw();
context.cx = context.ax;
@@ -2599,30 +2599,30 @@ static void checkone(Context & context) {
}
static void findsource(Context & context) {
- context.ax = context.ds.word(160);
+ context.ax = context.data.word(160);
context._cmp(context.ax, 160);
if (!context.flags.c()) goto over1000;
- context.ds = context.ds.word(430);
- context.ds.word(244) = 0;
+ context.ds = context.data.word(430);
+ context.data.word(244) = 0;
return;
over1000:
context._cmp(context.ax, 320);
if (!context.flags.c()) goto over1001;
- context.ds = context.ds.word(432);
- context.ds.word(244) = 160;
+ context.ds = context.data.word(432);
+ context.data.word(244) = 160;
return;
over1001:
- context.ds = context.ds.word(434);
- context.ds.word(244) = 320;
+ context.ds = context.data.word(434);
+ context.data.word(244) = 320;
return;
}
static void initman(Context & context) {
- context.al = context.ds.byte(151);
- context.ah = context.ds.byte(152);
+ context.al = context.data.byte(151);
+ context.ah = context.data.byte(152);
context.si = context.ax;
context.cx = 49464;
- context.dx = context.ds.word(414);
+ context.dx = context.data.word(414);
context.di = 0;
makesprite(context);
context.ds.byte(context.bx+23) = 4;
@@ -2632,11 +2632,11 @@ static void initman(Context & context) {
}
static void mainman(Context & context) {
- context._cmp(context.ds.byte(187), 1);
+ context._cmp(context.data.byte(187), 1);
if (!context.flags.z()) goto notinnewroom;
- context.ds.byte(187) = 0;
- context.al = context.ds.byte(151);
- context.ah = context.ds.byte(152);
+ context.data.byte(187) = 0;
+ context.al = context.data.byte(151);
+ context.ah = context.data.byte(152);
context.ds.word(context.bx+10) = context.ax;
context.ds.byte(context.bx+29) = 0;
goto executewalk;
@@ -2647,24 +2647,24 @@ notinnewroom:
return;
executewalk:
context.ds.byte(context.bx+22) = 0;
- context.al = context.ds.byte(135);
- context._cmp(context.al, context.ds.byte(133));
+ context.al = context.data.byte(135);
+ context._cmp(context.al, context.data.byte(133));
if (context.flags.z()) goto facingok;
aboutturn(context);
goto notwalk;
facingok:
- context._cmp(context.ds.byte(136), 0);
+ context._cmp(context.data.byte(136), 0);
if (context.flags.z()) goto alreadyturned;
- context._cmp(context.ds.byte(492), 254);
+ context._cmp(context.data.byte(492), 254);
if (!context.flags.z()) goto alreadyturned;
- context.ds.byte(473) = 1;
- context.al = context.ds.byte(133);
- context._cmp(context.al, context.ds.byte(134));
+ context.data.byte(473) = 1;
+ context.al = context.data.byte(133);
+ context._cmp(context.al, context.data.byte(134));
if (!context.flags.z()) goto alreadyturned;
checkforexit(context);
alreadyturned:
- context.ds.byte(136) = 0;
- context._cmp(context.ds.byte(492), 254);
+ context.data.byte(136) = 0;
+ context._cmp(context.data.byte(492), 254);
if (!context.flags.z()) goto walkman;
context.ds.byte(context.bx+29) = 0;
goto notwalk;
@@ -2677,9 +2677,9 @@ walkman:
notanimend1:
context.ds.byte(context.bx+29) = context.al;
walking(context);
- context._cmp(context.ds.byte(492), 254);
+ context._cmp(context.data.byte(492), 254);
if (context.flags.z()) goto afterwalk;
- context.al = context.ds.byte(133);
+ context.al = context.data.byte(133);
context._and(context.al, 1);
if (context.flags.z()) goto isdouble;
context.al = context.ds.byte(context.bx+29);
@@ -2690,18 +2690,18 @@ notanimend1:
isdouble:
walking(context);
afterwalk:
- context._cmp(context.ds.byte(492), 254);
+ context._cmp(context.data.byte(492), 254);
if (!context.flags.z()) goto notwalk;
- context.al = context.ds.byte(135);
- context._cmp(context.al, context.ds.byte(133));
+ context.al = context.data.byte(135);
+ context._cmp(context.al, context.data.byte(133));
if (!context.flags.z()) goto notwalk;
- context.ds.byte(473) = 1;
- context.al = context.ds.byte(133);
- context._cmp(context.al, context.ds.byte(134));
+ context.data.byte(473) = 1;
+ context.al = context.data.byte(133);
+ context._cmp(context.al, context.data.byte(134));
if (!context.flags.z()) goto notwalk;
checkforexit(context);
notwalk:
- context.al = context.ds.byte(133);
+ context.al = context.data.byte(133);
context.ah = 0;
context.di = 1105;
context._add(context.di, context.ax);
@@ -2709,18 +2709,18 @@ notwalk:
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;
+ context.data.byte(151) = context.al;
+ context.data.byte(152) = context.ah;
return;
}
static void aboutturn(Context & context) {
- context._cmp(context.ds.byte(136), 1);
+ context._cmp(context.data.byte(136), 1);
if (context.flags.z()) goto incdir;
- context._cmp(context.ds.byte(136), -1);
+ context._cmp(context.data.byte(136), -1);
if (context.flags.z()) goto decdir;
- context.al = context.ds.byte(133);
- context._sub(context.al, context.ds.byte(135));
+ context.al = context.data.byte(133);
+ context._sub(context.al, context.data.byte(135));
if (!context.flags.c()) goto higher;
context._neg(context.al);
context._cmp(context.al, 4);
@@ -2731,37 +2731,37 @@ higher:
if (!context.flags.c()) goto incdir;
goto decdir;
incdir:
- context.ds.byte(136) = 1;
- context.al = context.ds.byte(133);
+ context.data.byte(136) = 1;
+ context.al = context.data.byte(133);
context._add(context.al, 1);
context._and(context.al, 7);
- context.ds.byte(133) = context.al;
+ context.data.byte(133) = context.al;
context.ds.byte(context.bx+29) = 0;
return;
decdir:
- context.ds.byte(136) = -1;
- context.al = context.ds.byte(133);
+ context.data.byte(136) = -1;
+ context.al = context.data.byte(133);
context._sub(context.al, 1);
context._and(context.al, 7);
- context.ds.byte(133) = context.al;
+ context.data.byte(133) = context.al;
context.ds.byte(context.bx+29) = 0;
return;
}
static void walking(Context & context) {
- context._cmp(context.ds.byte(493), 0);
+ context._cmp(context.data.byte(493), 0);
if (context.flags.z()) goto normalwalk;
- context.al = context.ds.byte(492);
+ context.al = context.data.byte(492);
context._sub(context.al, 1);
- context.ds.byte(492) = context.al;
+ context.data.byte(492) = context.al;
context._cmp(context.al, 200);
if (!context.flags.c()) goto endofline;
goto continuewalk;
normalwalk:
- context.al = context.ds.byte(492);
+ context.al = context.data.byte(492);
context._add(context.al, 1);
- context.ds.byte(492) = context.al;
- context._cmp(context.al, context.ds.byte(494));
+ context.data.byte(492) = context.al;
+ context._cmp(context.al, context.data.byte(494));
if (!context.flags.c()) goto endofline;
continuewalk:
context.ah = 0;
@@ -2779,13 +2779,13 @@ stillline:
context.ds.word(context.bx+10) = context.ax;
return;
endofline:
- 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));
+ 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));
if (context.flags.z()) goto finishedwalk;
- context.al = context.ds.byte(477);
- context.ds.byte(478) = context.al;
+ context.al = context.data.byte(477);
+ context.data.byte(478) = context.al;
context.push(context.es);
context.push(context.bx);
autosetwalk(context);
@@ -2801,42 +2801,42 @@ static void facerightway(Context & context) {
context.push(context.es);
context.push(context.bx);
getroomspaths(context);
- context.al = context.ds.byte(475);
+ context.al = context.data.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.ds.byte(context.bx+7);
- context.ds.byte(135) = context.al;
- context.ds.byte(134) = context.al;
+ context.data.byte(135) = context.al;
+ context.data.byte(134) = context.al;
context.bx = context.pop();
context.es = context.pop();
return;
}
static void checkforexit(Context & context) {
- context.cl = context.ds.byte(151);
+ context.cl = context.data.byte(151);
context._add(context.cl, 12);
- context.ch = context.ds.byte(152);
+ context.ch = context.data.byte(152);
context._add(context.ch, 12);
checkone(context);
- 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.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._test(context.al, 64);
if (context.flags.z()) goto notnewdirect;
- context.al = context.ds.byte(154);
- context.ds.byte(189) = context.al;
+ context.al = context.data.byte(154);
+ context.data.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.ds.byte(184), 2);
+ context._cmp(context.data.byte(184), 2);
if (!context.flags.z()) goto notlouis;
context.bl = 0;
context.push(context.bx);
@@ -2871,17 +2871,17 @@ notravmessage:
context.bl = 68;
context.bh = 64;
setuptimeduse(context);
- context.al = context.ds.byte(133);
+ context.al = context.data.byte(133);
context._add(context.al, 4);
context._and(context.al, 7);
- context.ds.byte(135) = context.al;
+ context.data.byte(135) = context.al;
context.bx = context.pop();
context.es = context.pop();
return;
notlouis:
context.bx = context.pop();
context.es = context.pop();
- context.ds.byte(60) = 1;
+ context.data.byte(60) = 1;
return;
notleave:
context._test(context.al, 4);
@@ -2910,12 +2910,12 @@ notanup:
static void adjustdown(Context & context) {
context.push(context.es);
context.push(context.bx);
- context._add(context.ds.byte(149), 10);
- context.al = context.ds.byte(154);
+ context._add(context.data.byte(149), 10);
+ context.al = context.data.byte(154);
context.cl = 16;
context._mul(context.cl);
context.ds.byte(context.bx+11) = context.al;
- context.ds.byte(186) = 1;
+ context.data.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -2924,12 +2924,12 @@ static void adjustdown(Context & context) {
static void adjustup(Context & context) {
context.push(context.es);
context.push(context.bx);
- context._sub(context.ds.byte(149), 10);
- context.al = context.ds.byte(154);
+ context._sub(context.data.byte(149), 10);
+ context.al = context.data.byte(154);
context.cl = 16;
context._mul(context.cl);
context.ds.byte(context.bx+11) = context.al;
- context.ds.byte(186) = 1;
+ context.data.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -2938,13 +2938,13 @@ static void adjustup(Context & context) {
static void adjustleft(Context & context) {
context.push(context.es);
context.push(context.bx);
- context.ds.byte(153) = 0;
- context._sub(context.ds.byte(148), 11);
- context.al = context.ds.byte(154);
+ context.data.byte(153) = 0;
+ context._sub(context.data.byte(148), 11);
+ context.al = context.data.byte(154);
context.cl = 16;
context._mul(context.cl);
context.ds.byte(context.bx+10) = context.al;
- context.ds.byte(186) = 1;
+ context.data.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -2953,24 +2953,24 @@ static void adjustleft(Context & context) {
static void adjustright(Context & context) {
context.push(context.es);
context.push(context.bx);
- context._add(context.ds.byte(148), 11);
- context.al = context.ds.byte(154);
+ context._add(context.data.byte(148), 11);
+ context.al = context.data.byte(154);
context.cl = 16;
context._mul(context.cl);
context._sub(context.al, 2);
context.ds.byte(context.bx+10) = context.al;
- context.ds.byte(186) = 1;
+ context.data.byte(186) = 1;
context.bx = context.pop();
context.es = context.pop();
return;
}
static void reminders(Context & context) {
- context._cmp(context.ds.byte(184), 24);
+ context._cmp(context.data.byte(184), 24);
if (!context.flags.z()) goto notinedenslift;
- context._cmp(context.ds.byte(148), 44);
+ context._cmp(context.data.byte(148), 44);
if (!context.flags.z()) goto notinedenslift;
- context._cmp(context.ds.byte(2), 0);
+ context._cmp(context.data.byte(2), 0);
if (!context.flags.z()) goto notfirst;
context.al = 'D';
context.ah = 'K';
@@ -2998,7 +2998,7 @@ static void reminders(Context & context) {
compare(context);
if (!context.flags.z()) goto forgotone;
havegotcard:
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
notfirst:
return;
forgotone:
@@ -3014,23 +3014,23 @@ notinedenslift:
}
static void initrain(Context & context) {
- context.es = context.ds.word(412);
+ 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);
context.bx = 1113;
checkmorerain:
context.al = context.ds.byte(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto finishinitrain;
- context._cmp(context.al, context.ds.byte(184));
+ context._cmp(context.al, context.data.byte(184));
if (!context.flags.z()) goto checkrain;
context.al = context.ds.byte(context.bx+1);
- context._cmp(context.al, context.ds.byte(148));
+ context._cmp(context.al, context.data.byte(148));
if (!context.flags.z()) goto checkrain;
context.al = context.ds.byte(context.bx+2);
- context._cmp(context.al, context.ds.byte(149));
+ context._cmp(context.al, context.data.byte(149));
if (!context.flags.z()) goto checkrain;
context.al = context.ds.byte(context.bx+3);
- context.ds.byte(132) = context.al;
+ context.data.byte(132) = context.al;
goto dorain;
checkrain:
context._add(context.bx, 4);
@@ -3041,26 +3041,26 @@ initraintop:
randomnumber(context);
context._and(context.al, 31);
context._add(context.al, 3);
- context._cmp(context.al, context.ds.byte(132));
+ context._cmp(context.al, context.data.byte(132));
if (!context.flags.c()) goto initraintop;
context._add(context.cl, context.al);
- context._cmp(context.cl, context.ds.byte(128));
+ context._cmp(context.cl, context.data.byte(128));
if (!context.flags.c()) goto initrainside;
context.push(context.cx);
splitintolines(context);
context.cx = context.pop();
goto initraintop;
initrainside:
- context.cl = context.ds.byte(128);
+ context.cl = context.data.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.ds.byte(132));
+ context._cmp(context.al, context.data.byte(132));
if (!context.flags.c()) goto initrainside2;
context._add(context.ch, context.al);
- context._cmp(context.ch, context.ds.byte(129));
+ context._cmp(context.ch, context.data.byte(129));
if (!context.flags.c()) goto finishinitrain;
context.push(context.cx);
splitintolines(context);
@@ -3081,7 +3081,7 @@ lookforlinestart:
context._add(context.ch, 1);
context._cmp(context.cl, 0);
if (context.flags.z()) goto endofthisline;
- context._cmp(context.ch, context.ds.byte(129));
+ context._cmp(context.ch, context.data.byte(129));
if (!context.flags.c()) goto endofthisline;
goto lookforlinestart;
foundlinestart:
@@ -3095,7 +3095,7 @@ lookforlineend:
context._add(context.ch, 1);
context._cmp(context.cl, 0);
if (context.flags.z()) goto foundlineend;
- context._cmp(context.ch, context.ds.byte(129));
+ context._cmp(context.ch, context.data.byte(129));
if (!context.flags.c()) goto foundlineend;
context._add(context.bh, 1);
goto lookforlineend;
@@ -3114,7 +3114,7 @@ foundlineend:
context.cx = context.pop();
context._cmp(context.cl, 0);
if (context.flags.z()) goto endofthisline;
- context._cmp(context.ch, context.ds.byte(129));
+ context._cmp(context.ch, context.data.byte(129));
if (!context.flags.c()) goto endofthisline;
goto lookforlinestart;
endofthisline:
@@ -3125,9 +3125,9 @@ static void getblockofpixel(Context & context) {
context.push(context.cx);
context.push(context.es);
context.push(context.di);
- context.ax = context.ds.word(125);
+ context.ax = context.data.word(125);
context._add(context.cl, context.al);
- context.ax = context.ds.word(127);
+ context.ax = context.data.word(127);
context._add(context.ch, context.al);
checkone(context);
context._and(context.cl, 1);
@@ -3145,30 +3145,30 @@ failrain:
}
static void showrain(Context & context) {
- context.ds = context.ds.word(414);
+ context.ds = context.data.word(414);
context.si = 6*58;
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.ds.word(412);
+ context.es = context.data.word(412);
context._cmp(context.ds.byte(context.bx), 255);
if (context.flags.z()) goto nothunder;
morerain:
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context._cmp(context.ds.byte(context.bx), 255);
if (context.flags.z()) goto finishrain;
context.al = context.ds.byte(context.bx+1);
context.ah = 0;
- context._add(context.ax, context.ds.word(119));
- context._add(context.ax, context.ds.word(127));
+ context._add(context.ax, context.data.word(119));
+ context._add(context.ax, context.data.word(127));
context.cx = 320;
context._mul(context.cx);
context.cl = context.ds.byte(context.bx);
context.ch = 0;
context._add(context.ax, context.cx);
- context._add(context.ax, context.ds.word(117));
- context._add(context.ax, context.ds.word(125));
+ context._add(context.ax, context.data.word(117));
+ context._add(context.ax, context.data.word(125));
context.di = context.ax;
context.cl = context.ds.byte(context.bx+2);
context.ch = 0;
@@ -3181,7 +3181,7 @@ morerain:
context._add(context.bx, 6);
context.push(context.si);
context._add(context.si, context.ax);
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.ah = 0;
context.dx = 320-2;
rainloop:
@@ -3199,20 +3199,20 @@ noplot:
context.si = context.pop();
goto morerain;
finishrain:
- context._cmp(context.ds.word(521), 0);
+ context._cmp(context.data.word(521), 0);
if (!context.flags.z()) goto nothunder;
- context._cmp(context.ds.byte(184), 2);
+ context._cmp(context.data.byte(184), 2);
if (!context.flags.z()) goto notlouisthund;
- context._cmp(context.ds.byte(45), 1);
+ context._cmp(context.data.byte(45), 1);
if (!context.flags.z()) goto nothunder;
notlouisthund:
- context._cmp(context.ds.byte(184), 55);
+ context._cmp(context.data.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.ds.byte(507), 6);
+ context._cmp(context.data.byte(507), 6);
if (context.flags.z()) goto isthunder1;
context.al = 4;
isthunder1:
@@ -3222,7 +3222,7 @@ nothunder:
}
static void backobject(Context & context) {
- context.ds = context.ds.word(428);
+ context.ds = context.data.word(428);
context.di = context.ds.word(context.bx+20);
context.al = context.ds.byte(context.bx+18);
context._cmp(context.al, 0);
@@ -3270,7 +3270,7 @@ finishback:
}
static void liftsprite(Context & context) {
- context.al = context.ds.byte(35);
+ context.al = context.data.byte(35);
context._cmp(context.al, 0);
if (context.flags.z()) goto liftclosed;
context._cmp(context.al, 1);
@@ -3289,7 +3289,7 @@ static void liftsprite(Context & context) {
context.ax = context.pop();
goto pokelift;
finishclose:
- context.ds.byte(35) = 0;
+ context.data.byte(35) = 0;
return;
openlift:
context.al = context.ds.byte(context.bx+19);
@@ -3313,46 +3313,46 @@ pokelift:
context.ds.byte(context.di+17) = context.al;
return;
endoflist:
- context.ds.byte(35) = 1;
+ context.data.byte(35) = 1;
return;
liftopen:
- context.al = context.ds.byte(36);
+ context.al = context.data.byte(36);
context.push(context.es);
context.push(context.bx);
turnpathon(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.ds.byte(40), 0);
+ context._cmp(context.data.byte(40), 0);
if (context.flags.z()) goto nocountclose;
- context._sub(context.ds.byte(40), 1);
- context._cmp(context.ds.byte(40), 0);
+ context._sub(context.data.byte(40), 1);
+ context._cmp(context.data.byte(40), 0);
if (!context.flags.z()) goto nocountclose;
- context.ds.byte(35) = 2;
+ context.data.byte(35) = 2;
nocountclose:
context.al = 12;
goto pokelift;
liftclosed:
- context.al = context.ds.byte(36);
+ context.al = context.data.byte(36);
context.push(context.es);
context.push(context.bx);
turnpathoff(context);
context.bx = context.pop();
context.es = context.pop();
- context._cmp(context.ds.byte(39), 0);
+ context._cmp(context.data.byte(39), 0);
if (context.flags.z()) goto nocountopen;
- context._sub(context.ds.byte(39), 1);
- context._cmp(context.ds.byte(39), 0);
+ context._sub(context.data.byte(39), 1);
+ context._cmp(context.data.byte(39), 0);
if (!context.flags.z()) goto nocountopen;
- context.ds.byte(35) = 3;
+ context.data.byte(35) = 3;
nocountopen:
context.al = 0;
goto pokelift;
}
static void liftnoise(Context & context) {
- context._cmp(context.ds.byte(184), 5);
+ context._cmp(context.data.byte(184), 5);
if (context.flags.z()) goto hissnoise;
- context._cmp(context.ds.byte(184), 21);
+ context._cmp(context.data.byte(184), 21);
if (context.flags.z()) goto hissnoise;
playchannel1(context);
return;
@@ -3400,52 +3400,52 @@ gotconst:
}
static void doorway(Context & context) {
- context.ds.byte(193) = -24;
- context.ds.byte(194) = 10;
- context.ds.byte(195) = -30;
- context.ds.byte(196) = 10;
+ context.data.byte(193) = -24;
+ context.data.byte(194) = 10;
+ context.data.byte(195) = -30;
+ context.data.byte(196) = 10;
dodoor(context);
return;
}
static void widedoor(Context & context) {
- context.ds.byte(193) = -24;
- context.ds.byte(194) = 24;
- context.ds.byte(195) = -30;
- context.ds.byte(196) = 24;
+ context.data.byte(193) = -24;
+ context.data.byte(194) = 24;
+ context.data.byte(195) = -30;
+ context.data.byte(196) = 24;
dodoor(context);
return;
}
static void dodoor(Context & context) {
- context.al = context.ds.byte(151);
- context.ah = context.ds.byte(152);
+ context.al = context.data.byte(151);
+ context.ah = context.data.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.ds.byte(193));
+ context._cmp(context.al, context.data.byte(193));
if (!context.flags.c()) goto upordown;
goto shutdoor;
rtofdoor:
context._sub(context.al, context.cl);
- context._cmp(context.al, context.ds.byte(194));
+ context._cmp(context.al, context.data.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.ds.byte(195));
+ context._cmp(context.ah, context.data.byte(195));
if (context.flags.c()) goto shutdoor;
goto opendoor;
botofdoor:
context._sub(context.ah, context.ch);
- context._cmp(context.ah, context.ds.byte(196));
+ context._cmp(context.ah, context.data.byte(196));
if (!context.flags.c()) goto shutdoor;
opendoor:
context.cl = context.ds.byte(context.bx+19);
- context._cmp(context.ds.byte(61), 1);
+ context._cmp(context.data.byte(61), 1);
if (!context.flags.z()) goto notthrough;
context._cmp(context.cl, 0);
if (!context.flags.z()) goto notthrough;
@@ -3455,7 +3455,7 @@ notthrough:
context._cmp(context.cl, 1);
if (!context.flags.z()) goto notdoorsound2;
context.al = 0;
- context._cmp(context.ds.byte(184), 5);
+ context._cmp(context.data.byte(184), 5);
if (!context.flags.z()) goto nothoteldoor2;
context.al = 13;
nothoteldoor2:
@@ -3475,14 +3475,14 @@ atlast1:
context.di = context.pop();
context.ds.byte(context.bx+15) = context.al;
context.ds.byte(context.di+17) = context.al;
- context.ds.byte(61) = 1;
+ context.data.byte(61) = 1;
return;
shutdoor:
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.ds.byte(184), 5);
+ context._cmp(context.data.byte(184), 5);
if (!context.flags.z()) goto nothoteldoor1;
context.al = 13;
nothoteldoor1:
@@ -3502,14 +3502,14 @@ atlast2:
context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notnearly;
- context.ds.byte(61) = 0;
+ context.data.byte(61) = 0;
notnearly:
return;
}
static void lockeddoorway(Context & context) {
- context.al = context.ds.byte(151);
- context.ah = context.ds.byte(152);
+ context.al = context.data.byte(151);
+ context.ah = context.data.byte(152);
context.cl = context.ds.byte(context.bx+10);
context.ch = context.ds.byte(context.bx+11);
context._cmp(context.al, context.cl);
@@ -3534,9 +3534,9 @@ botofdoor2:
context._cmp(context.ah, 12);
if (!context.flags.c()) goto shutdoor2;
opendoor2:
- context._cmp(context.ds.byte(61), 1);
+ context._cmp(context.data.byte(61), 1);
if (context.flags.z()) goto mustbeopen;
- context._cmp(context.ds.byte(37), 1);
+ context._cmp(context.data.byte(37), 1);
if (context.flags.z()) goto shutdoor;
mustbeopen:
context.cl = context.ds.byte(context.bx+19);
@@ -3547,7 +3547,7 @@ mustbeopen:
notdoorsound4:
context._cmp(context.cl, 6);
if (!context.flags.z()) goto noturnonyet;
- context.al = context.ds.byte(38);
+ context.al = context.data.byte(38);
context.push(context.es);
context.push(context.bx);
turnpathon(context);
@@ -3555,7 +3555,7 @@ notdoorsound4:
context.es = context.pop();
noturnonyet:
context.cl = context.ds.byte(context.bx+19);
- context._cmp(context.ds.byte(61), 1);
+ context._cmp(context.data.byte(61), 1);
if (!context.flags.z()) goto notthrough2;
context._cmp(context.cl, 0);
if (!context.flags.z()) goto notthrough2;
@@ -3578,7 +3578,7 @@ atlast3:
context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 5);
if (!context.flags.z()) goto justshutting;
- context.ds.byte(61) = 1;
+ context.data.byte(61) = 1;
justshutting:
return;
shutdoor2:
@@ -3594,7 +3594,7 @@ notdoorsound3:
context.ds.byte(context.bx+19) = context.cl;
atlast4:
context.ch = 0;
- context.ds.byte(61) = 0;
+ context.data.byte(61) = 0;
context.push(context.di);
context._add(context.di, context.cx);
context.al = context.ds.byte(context.di+18);
@@ -3603,13 +3603,13 @@ atlast4:
context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 0);
if (!context.flags.z()) goto notlocky;
- context.al = context.ds.byte(38);
+ context.al = context.data.byte(38);
context.push(context.es);
context.push(context.bx);
turnpathoff(context);
context.bx = context.pop();
context.es = context.pop();
- context.ds.byte(37) = 1;
+ context.data.byte(37) = 1;
notlocky:
return;
/*continuing to unbounded code: shutdoor from dodoor:60-87*/
@@ -3618,7 +3618,7 @@ shutdoor:
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notdoorsound1;
context.al = 1;
- context._cmp(context.ds.byte(184), 5);
+ context._cmp(context.data.byte(184), 5);
if (!context.flags.z()) goto nothoteldoor1;
context.al = 13;
nothoteldoor1:
@@ -3638,20 +3638,20 @@ atlast2:
context.ds.byte(context.di+17) = context.al;
context._cmp(context.cl, 5);
if (!context.flags.z()) goto notnearly;
- context.ds.byte(61) = 0;
+ context.data.byte(61) = 0;
notnearly:
return;
return;
}
static void updatepeople(Context & context) {
- context.es = context.ds.word(412);
+ 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);
- context.ds.word(18) = context.di;
+ context.data.word(18) = context.di;
context.cx = 12*5;
context.al = 255;
while(--context.cx) context._stosb();
- context._add(context.ds.word(138), 1);
+ context._add(context.data.word(138), 1);
context.es = context.cs;
context.bx = 537;
context.di = 1003;
@@ -3659,12 +3659,12 @@ updateloop:
context.al = context.ds.byte(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto endupdate;
- context._cmp(context.al, context.ds.byte(184));
+ context._cmp(context.al, context.data.byte(184));
if (!context.flags.z()) goto notinthisroom;
context.cx = context.ds.word(context.bx+1);
- context._cmp(context.cl, context.ds.byte(148));
+ context._cmp(context.cl, context.data.byte(148));
if (!context.flags.z()) goto notinthisroom;
- context._cmp(context.ch, context.ds.byte(149));
+ context._cmp(context.ch, context.data.byte(149));
if (!context.flags.z()) goto notinthisroom;
context.push(context.di);
context.ax = context.ds.word(context.di);
@@ -3680,12 +3680,12 @@ endupdate:
static void getreelframeax(Context & context) {
context.push(context.ds);
- context.ds.word(160) = context.ax;
+ context.data.word(160) = context.ax;
findsource(context);
context.es = context.ds;
context.ds = context.pop();
- context.ax = context.ds.word(160);
- context._sub(context.ax, context.ds.word(244));
+ context.ax = context.data.word(160);
+ context._sub(context.ax, context.data.word(244));
context._add(context.ax, context.ax);
context.cx = context.ax;
context._add(context.ax, context.ax);
@@ -3714,7 +3714,7 @@ retryreel:
context._cmp(context.al, 255);
if (context.flags.z()) goto normalreel;
dealwithspecial(context);
- context._add(context.ds.word(239), 1);
+ context._add(context.data.word(239), 1);
context.si = context.pop();
context.es = context.pop();
context._add(context.si, 40);
@@ -3742,7 +3742,7 @@ notplot:
}
static void soundonreels(Context & context) {
- context.bl = context.ds.byte(184);
+ context.bl = context.data.byte(184);
context._add(context.bl, context.bl);
context._xor(context.bh, context.bh);
context._add(context.bx, 1254);
@@ -3752,11 +3752,11 @@ reelsoundloop:
context._cmp(context.al, 255);
if (context.flags.z()) goto endreelsound;
context.ax = context.ds.word(context.si+1);
- context._cmp(context.ax, context.ds.word(239));
+ context._cmp(context.ax, context.data.word(239));
if (!context.flags.z()) goto skipreelsound;
- context._cmp(context.ax, context.ds.word(351));
+ context._cmp(context.ax, context.data.word(351));
if (context.flags.z()) goto skipreelsound;
- context.ds.word(351) = context.ax;
+ context.data.word(351) = context.ax;
context.al = context.ds.byte(context.si);
context._cmp(context.al, 64);
if (context.flags.c()) { playchannel1(context); return; };
@@ -3773,26 +3773,26 @@ skipreelsound:
context._add(context.si, 3);
goto reelsoundloop;
endreelsound:
- context.ax = context.ds.word(351);
- context._cmp(context.ax, context.ds.word(239));
+ context.ax = context.data.word(351);
+ context._cmp(context.ax, context.data.word(239));
if (context.flags.z()) goto nochange2;
- context.ds.word(351) = -1;
+ context.data.word(351) = -1;
nochange2:
return;
}
static void reconstruct(Context & context) {
- context._cmp(context.ds.byte(130), 0);
+ context._cmp(context.data.byte(130), 0);
if (context.flags.z()) goto noneedtorecon;
- context.ds.byte(62) = 1;
+ context.data.byte(62) = 1;
drawfloor(context);
spriteupdate(context);
printsprites(context);
- context._cmp(context.ds.byte(184), 20);
+ context._cmp(context.data.byte(184), 20);
if (!context.flags.z()) goto notfudge;
undertextline(context);
notfudge:
- context.ds.byte(130) = 0;
+ context.data.byte(130) = 0;
noneedtorecon:
return;
}
@@ -3803,28 +3803,28 @@ static void dealwithspecial(Context & context) {
if (!context.flags.z()) goto notplset;
context.al = context.ah;
placesetobject(context);
- context.ds.byte(130) = 1;
+ context.data.byte(130) = 1;
return;
notplset:
context._cmp(context.al, 1);
if (!context.flags.z()) goto notremset;
context.al = context.ah;
removesetobject(context);
- context.ds.byte(130) = 1;
+ context.data.byte(130) = 1;
return;
notremset:
context._cmp(context.al, 2);
if (!context.flags.z()) goto notplfree;
context.al = context.ah;
placefreeobject(context);
- context.ds.byte(130) = 1;
+ context.data.byte(130) = 1;
return;
notplfree:
context._cmp(context.al, 3);
if (!context.flags.z()) goto notremfree;
context.al = context.ah;
removefreeobject(context);
- context.ds.byte(130) = 1;
+ context.data.byte(130) = 1;
return;
notremfree:
context._cmp(context.al, 4);
@@ -3834,14 +3834,14 @@ notremfree:
notryanoff:
context._cmp(context.al, 5);
if (!context.flags.z()) goto notryanon;
- context.ds.byte(135) = context.ah;
- context.ds.byte(133) = context.ah;
+ context.data.byte(135) = context.ah;
+ context.data.byte(133) = context.ah;
switchryanon(context);
return;
notryanon:
context._cmp(context.al, 6);
if (!context.flags.z()) goto notchangeloc;
- context.ds.byte(188) = context.ah;
+ context.data.byte(188) = context.ah;
return;
notchangeloc:
movemap(context);
@@ -3851,38 +3851,38 @@ notchangeloc:
static void movemap(Context & context) {
context._cmp(context.ah, 32);
if (!context.flags.z()) goto notmapup2;
- context._sub(context.ds.byte(149), 20);
- context.ds.byte(186) = 1;
+ context._sub(context.data.byte(149), 20);
+ context.data.byte(186) = 1;
return;
notmapup2:
context._cmp(context.ah, 16);
if (!context.flags.z()) goto notmapupspec;
- context._sub(context.ds.byte(149), 10);
- context.ds.byte(186) = 1;
+ context._sub(context.data.byte(149), 10);
+ context.data.byte(186) = 1;
return;
notmapupspec:
context._cmp(context.ah, 8);
if (!context.flags.z()) goto notmapdownspec;
- context._add(context.ds.byte(149), 10);
- context.ds.byte(186) = 1;
+ context._add(context.data.byte(149), 10);
+ context.data.byte(186) = 1;
return;
notmapdownspec:
context._cmp(context.ah, 2);
if (!context.flags.z()) goto notmaprightspec;
- context._add(context.ds.byte(148), 11);
- context.ds.byte(186) = 1;
+ context._add(context.data.byte(148), 11);
+ context.data.byte(186) = 1;
return;
notmaprightspec:
- context._sub(context.ds.byte(148), 11);
- context.ds.byte(186) = 1;
+ context._sub(context.data.byte(148), 11);
+ context.data.byte(186) = 1;
return;
}
static void getreelstart(Context & context) {
- context.ax = context.ds.word(239);
+ context.ax = context.data.word(239);
context.cx = 40;
context._mul(context.cx);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
context.si = context.ax;
context._add(context.si, 0+(36*144));
return;
@@ -3892,37 +3892,37 @@ static void showreelframe(Context & context) {
context.al = context.ds.byte(context.si+2);
context.ah = 0;
context.di = context.ax;
- context._add(context.di, context.ds.word(117));
+ context._add(context.di, context.data.word(117));
context.al = context.ds.byte(context.si+3);
context.bx = context.ax;
- context._add(context.bx, context.ds.word(119));
+ context._add(context.bx, context.data.word(119));
context.ax = context.ds.word(context.si);
- context.ds.word(160) = context.ax;
+ context.data.word(160) = context.ax;
findsource(context);
- context.ax = context.ds.word(160);
- context._sub(context.ax, context.ds.word(244));
+ context.ax = context.data.word(160);
+ context._sub(context.ax, context.data.word(244));
context.ah = 8;
showframe(context);
return;
}
static void deleverything(Context & context) {
- context.al = context.ds.byte(129);
+ context.al = context.data.byte(129);
context.ah = 0;
- context._add(context.ax, context.ds.word(123));
+ context._add(context.ax, context.data.word(123));
context._cmp(context.ax, 182);
if (!context.flags.c()) goto bigroom;
maptopanel(context);
return;
bigroom:
- context._sub(context.ds.byte(129), 8);
+ context._sub(context.data.byte(129), 8);
maptopanel(context);
- context._add(context.ds.byte(129), 8);
+ context._add(context.data.byte(129), 8);
return;
}
static void dumpeverything(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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.ds.word(context.bx);
@@ -3941,8 +3941,8 @@ notskip1:
context.bh = 0;
context.ah = 0;
context.di = context.ax;
- context._add(context.di, context.ds.word(117));
- context._add(context.bx, context.ds.word(119));
+ context._add(context.di, context.data.word(117));
+ context._add(context.bx, context.data.word(119));
multidump(context);
context.ds = context.pop();
context.es = context.pop();
@@ -3964,8 +3964,8 @@ dumpevery2:
context.bh = 0;
context.ah = 0;
context.di = context.ax;
- context._add(context.di, context.ds.word(117));
- context._add(context.bx, context.ds.word(119));
+ context._add(context.di, context.data.word(117));
+ context._add(context.bx, context.data.word(119));
multidump(context);
context.ds = context.pop();
context.es = context.pop();
@@ -3979,7 +3979,7 @@ finishevery2:
static void allocatework(Context & context) {
context.bx = 0x1000;
allocatemem(context);
- context.ds.word(400) = context.ax;
+ context.data.word(400) = context.ax;
return;
}
@@ -4007,20 +4007,20 @@ static void loadpalfromiff(Context & context) {
context.dx = 2494;
openfile(context);
context.cx = 2000;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.dx = 0;
readfromfile(context);
closefile(context);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0x30;
context.cx = 768;
palloop:
context._lodsb();
context._shr(context.al, 1);
context._shr(context.al, 1);
- context._cmp(context.ds.byte(73), 1);
+ context._cmp(context.data.byte(73), 1);
if (!context.flags.z()) goto nought;
context._cmp(context.al, 0);
if (context.flags.z()) goto nought;
@@ -4051,7 +4051,7 @@ static void cls(Context & context) {
static void printundermon(Context & context) {
context.si = (320*43)+76;
context.di = context.si;
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context._add(context.si, 8*320);
context.dx = 0x0a000;
context.ds = context.dx;
@@ -4087,7 +4087,7 @@ static void worktoscreen(Context & context) {
context.si = 0;
context.di = 0;
context.cx = 25;
- context.ds = context.ds.word(400);
+ context.ds = context.data.word(400);
context.dx = 0x0a000;
context.es = context.dx;
dumpallloop:
@@ -4104,38 +4104,38 @@ dumpallloop:
}
static void paneltomap(Context & context) {
- 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.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.si = 0;
- context.cl = context.ds.byte(128);
- context.ch = context.ds.byte(129);
+ context.cl = context.data.byte(128);
+ context.ch = context.data.byte(129);
multiget(context);
return;
}
static void maptopanel(Context & context) {
- 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.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.si = 0;
- context.cl = context.ds.byte(128);
- context.ch = context.ds.byte(129);
+ context.cl = context.data.byte(128);
+ context.ch = context.data.byte(129);
multiput(context);
return;
}
static void dumpmap(Context & context) {
- 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);
+ 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);
multidump(context);
return;
}
@@ -4151,7 +4151,7 @@ static void pixelcheckset(Context & context) {
context.al = context.ds.byte(context.bx+4);
getsetad(context);
context.al = context.ds.byte(context.bx+17);
- context.es = context.ds.word(444);
+ context.es = context.data.word(444);
context.bx = 0;
context.ah = 0;
context.cx = 6;
@@ -4183,25 +4183,25 @@ static void pixelcheckset(Context & context) {
static void createpanel(Context & context) {
context.di = 0;
context.bx = 8;
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
context.di = 160;
context.bx = 8;
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
context.di = 0;
context.bx = 104;
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
context.di = 160;
context.bx = 104;
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.al = 0;
context.ah = 2;
showframe(context);
@@ -4212,13 +4212,13 @@ static void createpanel2(Context & context) {
createpanel(context);
context.di = 0;
context.bx = 0;
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.al = 5;
context.ah = 2;
showframe(context);
context.di = 160;
context.bx = 0;
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.al = 5;
context.ah = 2;
showframe(context);
@@ -4227,7 +4227,7 @@ static void createpanel2(Context & context) {
static void clearwork(Context & context) {
context.ax = 0x0;
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.di = 0;
context.cx = (200*320)/64;
clearloop:
@@ -4268,24 +4268,24 @@ clearloop:
}
static void zoom(Context & context) {
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto inwatching;
- context._cmp(context.ds.byte(8), 1);
+ context._cmp(context.data.byte(8), 1);
if (context.flags.z()) goto zoomswitch;
inwatching:
return;
zoomswitch:
- context._cmp(context.ds.byte(100), 199);
+ context._cmp(context.data.byte(100), 199);
if (context.flags.c()) goto zoomit;
cantzoom:
putunderzoom(context);
return;
zoomit:
- context.ax = context.ds.word(222);
+ context.ax = context.data.word(222);
context._sub(context.ax, 9);
context.cx = 320;
context._mul(context.cx);
- context._add(context.ax, context.ds.word(220));
+ context._add(context.ax, context.data.word(220));
context._sub(context.ax, 11);
context.si = context.ax;
context.ax = 132+4;
@@ -4293,8 +4293,8 @@ zoomit:
context._mul(context.cx);
context._add(context.ax, 8+5);
context.di = context.ax;
- context.es = context.ds.word(400);
- context.ds = context.ds.word(400);
+ context.es = context.data.word(400);
+ context.ds = context.data.word(400);
context.cx = 20;
zoomloop:
context.push(context.cx);
@@ -4310,7 +4310,7 @@ zoomloop2:
context.cx = context.pop();
if (--context.cx) goto zoomloop;
crosshair(context);
- context.ds.byte(75) = 1;
+ context.data.byte(75) = 1;
return;
}
@@ -4319,12 +4319,12 @@ static void delthisone(Context & context) {
context.push(context.ax);
context.al = context.ah;
context.ah = 0;
- context._add(context.ax, context.ds.word(119));
+ context._add(context.ax, context.data.word(119));
context.bx = 320;
context._mul(context.bx);
context.bx = context.pop();
context.bh = 0;
- context._add(context.bx, context.ds.word(117));
+ context._add(context.bx, context.data.word(117));
context._add(context.ax, context.bx);
context.di = context.ax;
context.ax = context.pop();
@@ -4337,8 +4337,8 @@ static void delthisone(Context & context) {
context.bh = 0;
context._add(context.ax, context.bx);
context.si = context.ax;
- context.es = context.ds.word(400);
- context.ds = context.ds.word(402);
+ context.es = context.data.word(400);
+ context.ds = context.data.word(402);
context.dl = context.cl;
context.dh = 0;
context.ax = 320;
@@ -4362,7 +4362,7 @@ static void multiget(Context & context) {
context.bx = 320;
context._mul(context.bx);
context._add(context.di, context.ax);
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.es = context.ds;
context.ds = context.es;
context._xchg(context.di, context.si);
@@ -4406,7 +4406,7 @@ static void multiput(Context & context) {
context.bx = 320;
context._mul(context.bx);
context._add(context.di, context.ax);
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.al = context.cl;
context.ah = 0;
context.dx = 320;
@@ -4445,7 +4445,7 @@ multiloop6:
static void multidump(Context & context) {
context.dx = 0x0a000;
context.es = context.dx;
- context.ds = context.ds.word(400);
+ context.ds = context.data.word(400);
context.ax = context.bx;
context.bx = 320;
context._mul(context.bx);
@@ -4727,17 +4727,17 @@ static void width160(Context & context) {
}
static void doblocks(Context & context) {
- context.es = context.ds.word(400);
- context.ax = context.ds.word(119);
+ context.es = context.data.word(400);
+ context.ax = context.data.word(119);
context.cx = 320;
context._mul(context.cx);
- context.di = context.ds.word(117);
+ context.di = context.data.word(117);
context._add(context.di, context.ax);
- context.al = context.ds.byte(149);
+ context.al = context.data.byte(149);
context.ah = 0;
context.bx = 66;
context._mul(context.bx);
- context.bl = context.ds.byte(148);
+ context.bl = context.data.byte(148);
context.bh = 0;
context._add(context.ax, context.bx);
context.si = 0;
@@ -4750,9 +4750,9 @@ loop120:
loop124:
context.push(context.cx);
context.push(context.di);
- context.ds = context.ds.word(418);
+ context.ds = context.data.word(418);
context._lodsb();
- context.ds = context.ds.word(416);
+ context.ds = context.data.word(416);
context.push(context.si);
context._cmp(context.al, 0);
if (context.flags.z()) goto zeroblock;
@@ -4896,9 +4896,9 @@ notdiffdest:
if (context.flags.z()) goto notprintlist;
context.push(context.ax);
context.ax = context.di;
- context._sub(context.ax, context.ds.word(117));
+ context._sub(context.ax, context.data.word(117));
context.push(context.bx);
- context._sub(context.bx, context.ds.word(119));
+ context._sub(context.bx, context.data.word(119));
context.ah = context.bl;
context.bx = context.pop();
context.ax = context.pop();
@@ -4906,7 +4906,7 @@ notprintlist:
context._test(context.ah, 4);
if (context.flags.z()) goto notflippedx;
context.dx = 320;
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.push(context.cx);
frameoutfx(context);
context.cx = context.pop();
@@ -4915,7 +4915,7 @@ notflippedx:
context._test(context.ah, 2);
if (context.flags.z()) goto notnomask;
context.dx = 320;
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.push(context.cx);
frameoutnm(context);
context.cx = context.pop();
@@ -4924,14 +4924,14 @@ notnomask:
context._test(context.ah, 32);
if (context.flags.z()) goto noeffects;
context.dx = 320;
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.push(context.cx);
frameoutbh(context);
context.cx = context.pop();
return;
noeffects:
context.dx = 320;
- context.es = context.ds.word(400);
+ context.es = context.data.word(400);
context.push(context.cx);
frameoutv(context);
context.cx = context.pop();
@@ -5095,9 +5095,9 @@ backtosolidfx:
}
static void transferinv(Context & context) {
- context.di = context.ds.word(12);
+ context.di = context.data.word(12);
context.push(context.di);
- context.al = context.ds.byte(10);
+ context.al = context.data.byte(10);
context.ah = 0;
context.bx = context.ax;
context._add(context.ax, context.ax);
@@ -5105,12 +5105,12 @@ static void transferinv(Context & context) {
context._add(context.ax, 1);
context.cx = 6;
context._mul(context.cx);
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.bx = 0;
context._add(context.bx, context.ax);
context._add(context.di, 0+2080);
context.push(context.bx);
- context.al = context.ds.byte(90);
+ context.al = context.data.byte(90);
context.ah = 0;
context.bx = context.ax;
context._add(context.ax, context.ax);
@@ -5118,7 +5118,7 @@ static void transferinv(Context & context) {
context._add(context.ax, 1);
context.cx = 6;
context._mul(context.cx);
- context.ds = context.ds.word(446);
+ context.ds = context.data.word(446);
context.bx = 0;
context._add(context.bx, context.ax);
context.si = 0+2080;
@@ -5139,33 +5139,33 @@ static void transferinv(Context & context) {
context.cx = context.pop();
context.ax = context.pop();
context.ds.word(context.bx+2) = context.ax;
- context._add(context.ds.word(12), context.cx);
+ context._add(context.data.word(12), context.cx);
return;
}
static void transfermap(Context & context) {
- context.di = context.ds.word(12);
+ context.di = context.data.word(12);
context.push(context.di);
- context.al = context.ds.byte(10);
+ context.al = context.data.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.ds.word(398);
+ context.es = context.data.word(398);
context.bx = 0;
context._add(context.bx, context.ax);
context._add(context.di, 0+2080);
context.push(context.bx);
- context.al = context.ds.byte(90);
+ context.al = context.data.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.ds.word(446);
+ context.ds = context.data.word(446);
context.bx = 0;
context._add(context.bx, context.ax);
context.si = 0+2080;
@@ -5186,26 +5186,26 @@ static void transfermap(Context & context) {
context.cx = context.pop();
context.ax = context.pop();
context.ds.word(context.bx+2) = context.ax;
- context._add(context.ds.word(12), context.cx);
+ context._add(context.data.word(12), context.cx);
return;
}
static void dofade(Context & context) {
- context._cmp(context.ds.byte(344), 0);
+ context._cmp(context.data.byte(344), 0);
if (context.flags.z()) goto finishfade;
- context.cl = context.ds.byte(345);
+ context.cl = context.data.byte(345);
context.ch = 0;
- context.al = context.ds.byte(343);
+ context.al = context.data.byte(343);
context.ah = 0;
- context.ds = context.ds.word(412);
+ context.ds = context.data.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.ds.byte(345);
- context._add(context.al, context.ds.byte(343));
- context.ds.byte(343) = context.al;
+ context.al = context.data.byte(345);
+ context._add(context.al, context.data.byte(343));
+ context.data.byte(343) = context.al;
context._cmp(context.al, 0);
if (!context.flags.z()) goto finishfade;
fadecalculation(context);
@@ -5214,7 +5214,7 @@ finishfade:
}
static void clearendpal(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.cx = 768;
context.al = 0;
@@ -5223,7 +5223,7 @@ static void clearendpal(Context & context) {
}
static void clearpalette(Context & context) {
- context.ds.byte(344) = 0;
+ context.data.byte(344) = 0;
clearstartpal(context);
dumpcurrent(context);
return;
@@ -5232,15 +5232,15 @@ static void clearpalette(Context & context) {
static void fadescreenup(Context & context) {
clearstartpal(context);
paltoendpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
return;
}
static void fadetowhite(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
context.cx = 768;
context.al = 63;
@@ -5251,15 +5251,15 @@ static void fadetowhite(Context & context) {
context._stosb();
context._stosb();
paltostartpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
return;
}
static void fadefromwhite(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.cx = 768;
context.al = 63;
@@ -5270,20 +5270,20 @@ static void fadefromwhite(Context & context) {
context._stosb();
context._stosb();
paltoendpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
return;
}
static void fadescreenups(Context & context) {
clearstartpal(context);
paltoendpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 64;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 64;
return;
}
@@ -5291,7 +5291,7 @@ static void fadescreendownhalf(Context & context) {
paltostartpal(context);
paltoendpal(context);
context.cx = 768;
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768;
halfend:
context.al = context.ds.byte(context.bx);
@@ -5299,8 +5299,8 @@ halfend:
context.ds.byte(context.bx) = context.al;
context._add(context.bx, 1);
if (--context.cx) goto halfend;
- context.ds = context.ds.word(412);
- context.es = context.ds.word(412);
+ context.ds = context.data.word(412);
+ context.es = context.data.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;
@@ -5309,45 +5309,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.ds.byte(344) = 1;
- context.ds.byte(346) = 31;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 32;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 31;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 32;
return;
}
static void fadescreenuphalf(Context & context) {
endpaltostart(context);
paltoendpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 31;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 32;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 31;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 32;
return;
}
static void fadescreendown(Context & context) {
paltostartpal(context);
clearendpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
return;
}
static void fadescreendowns(Context & context) {
paltostartpal(context);
clearendpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 64;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 64;
return;
}
static void clearstartpal(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3);
context.cx = 256;
wholeloop1:
@@ -5360,39 +5360,39 @@ wholeloop1:
}
static void showgun(Context & context) {
- context.ds.byte(348) = 0;
- context.ds.byte(347) = 0;
- context.ds.byte(349) = 0;
+ context.data.byte(348) = 0;
+ context.data.byte(347) = 0;
+ context.data.byte(349) = 0;
paltostartpal(context);
paltoendpal(context);
greyscalesum(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
context.cx = 130;
hangon(context);
endpaltostart(context);
clearendpal(context);
- context.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
context.cx = 200;
hangon(context);
- context.ds.byte(531) = 34;
+ context.data.byte(531) = 34;
loadroomssample(context);
- context.ds.byte(386) = 0;
+ context.data.byte(386) = 0;
context.dx = 2364;
loadintotemp(context);
createpanel2(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 0;
context.ah = 0;
context.di = 100;
context.bx = 4;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 1;
context.ah = 0;
context.di = 158;
@@ -5423,10 +5423,10 @@ static void rollem(Context & context) {
context.ch = 160;
context.di = 25;
context.bx = 20;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
multiget(context);
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
context.si = 49*2;
context.ax = context.ds.word(context.si);
context.si = context.ax;
@@ -5435,7 +5435,7 @@ static void rollem(Context & context) {
endcredits21:
context.push(context.cx);
context.bx = 10;
- context.cx = context.ds.word(77);
+ context.cx = context.data.word(77);
endcredits22:
context.push(context.cx);
context.push(context.si);
@@ -5447,7 +5447,7 @@ endcredits22:
context.ch = 160;
context.di = 25;
context.bx = 20;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
multiput(context);
vsync(context);
@@ -5466,7 +5466,7 @@ onelot2:
context.dx = 161;
context.ax = 0;
printdirect(context);
- context._add(context.bx, context.ds.word(77));
+ context._add(context.bx, context.data.word(77));
context.cx = context.pop();
if (--context.cx) goto onelot2;
vsync(context);
@@ -5480,7 +5480,7 @@ onelot2:
context.di = context.pop();
context.si = context.pop();
context.cx = context.pop();
- context._cmp(context.ds.byte(392), 1);
+ context._cmp(context.data.byte(392), 1);
if (context.flags.z()) goto endearly2;
context._sub(context.bx, 1);
if (--context.cx) goto endcredits22;
@@ -5494,7 +5494,7 @@ looknext2:
if (context.flags.z()) goto gotnext2;
goto looknext2;
gotnext2:
- context._cmp(context.ds.byte(392), 1);
+ context._cmp(context.data.byte(392), 1);
if (context.flags.z()) goto endearly;
if (--context.cx) goto endcredits21;
context.cx = 120;
@@ -5507,10 +5507,10 @@ endearly:
}
static void fadecalculation(Context & context) {
- context._cmp(context.ds.byte(346), 0);
+ context._cmp(context.data.byte(346), 0);
if (context.flags.z()) goto nomorefading;
- context.bl = context.ds.byte(346);
- context.es = context.ds.word(412);
+ context.bl = context.data.byte(346);
+ context.es = context.data.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;
@@ -5532,15 +5532,15 @@ gotthere:
context._add(context.si, 1);
context._add(context.di, 1);
if (--context.cx) goto fadecolloop;
- context._sub(context.ds.byte(346), 1);
+ context._sub(context.data.byte(346), 1);
return;
nomorefading:
- context.ds.byte(344) = 0;
+ context.data.byte(344) = 0;
return;
}
static void greyscalesum(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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;
@@ -5569,19 +5569,19 @@ greysumloop2:
if (!context.flags.c()) goto greysumloop2;
context.bl = context.al;
context.al = context.bl;
- context.ah = context.ds.byte(348);
+ context.ah = context.data.byte(348);
context._cmp(context.al, 0);
context._add(context.al, context.ah);
noaddr:
context._stosb();
- context.ah = context.ds.byte(347);
+ context.ah = context.data.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.ds.byte(349);
+ context.ah = context.data.byte(349);
context.al = context.bl;
context._cmp(context.al, 0);
if (context.flags.z()) goto noaddb;
@@ -5595,8 +5595,8 @@ noaddb:
}
static void paltostartpal(Context & context) {
- context.es = context.ds.word(412);
- context.ds = context.ds.word(412);
+ context.es = context.data.word(412);
+ context.ds = context.data.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;
@@ -5605,8 +5605,8 @@ static void paltostartpal(Context & context) {
}
static void endpaltostart(Context & context) {
- context.es = context.ds.word(412);
- context.ds = context.ds.word(412);
+ context.es = context.data.word(412);
+ context.ds = context.data.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;
@@ -5615,8 +5615,8 @@ static void endpaltostart(Context & context) {
}
static void startpaltoend(Context & context) {
- context.es = context.ds.word(412);
- context.ds = context.ds.word(412);
+ context.es = context.data.word(412);
+ context.ds = context.data.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;
@@ -5625,8 +5625,8 @@ static void startpaltoend(Context & context) {
}
static void paltoendpal(Context & context) {
- context.es = context.ds.word(412);
- context.ds = context.ds.word(412);
+ context.es = context.data.word(412);
+ context.ds = context.data.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;
@@ -5635,8 +5635,8 @@ static void paltoendpal(Context & context) {
}
static void allpalette(Context & context) {
- context.es = context.ds.word(412);
- context.ds = context.ds.word(412);
+ context.es = context.data.word(412);
+ context.ds = context.data.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;
@@ -5647,7 +5647,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.ds.word(412);
+ context.ds = context.data.word(412);
vsync(context);
context.al = 0;
context.cx = 128;
@@ -5662,7 +5662,7 @@ static void dumpcurrent(Context & context) {
static void fadedownmon(Context & context) {
paltostartpal(context);
paltoendpal(context);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5670,10 +5670,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.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
context.cx = 64;
hangon(context);
return;
@@ -5682,7 +5682,7 @@ static void fadedownmon(Context & context) {
static void fadeupmon(Context & context) {
paltostartpal(context);
paltoendpal(context);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5690,10 +5690,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.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
context.cx = 128;
hangon(context);
return;
@@ -5702,7 +5702,7 @@ static void fadeupmon(Context & context) {
static void fadeupmonfirst(Context & context) {
paltostartpal(context);
paltoendpal(context);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5710,10 +5710,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.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
context.cx = 64;
hangon(context);
context.al = 26;
@@ -5725,7 +5725,7 @@ static void fadeupmonfirst(Context & context) {
static void fadeupyellows(Context & context) {
paltoendpal(context);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(231*3);
context.cx = 3*8;
context.ax = 0;
@@ -5733,10 +5733,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.ds.byte(344) = 1;
- context.ds.byte(346) = 63;
- context.ds.byte(343) = 0;
- context.ds.byte(345) = 128;
+ context.data.byte(344) = 1;
+ context.data.byte(346) = 63;
+ context.data.byte(343) = 0;
+ context.data.byte(345) = 128;
context.cx = 128;
hangon(context);
return;
@@ -5744,7 +5744,7 @@ static void fadeupyellows(Context & context) {
static void initialmoncols(Context & context) {
paltostartpal(context);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(230*3);
context.cx = 3*9;
context.ax = 0;
@@ -5752,7 +5752,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.ds.word(412);
+ context.ds = context.data.word(412);
context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+(230*3);
context.al = 230;
context.cx = 18;
@@ -5773,24 +5773,24 @@ static void endgame(Context & context) {
monkspeaking(context);
gettingshot(context);
getridoftemptext(context);
- context.ds.byte(387) = 7;
- context.ds.byte(388) = 1;
+ context.data.byte(387) = 7;
+ context.data.byte(388) = 1;
context.cx = 200;
hangon(context);
return;
}
static void monkspeaking(Context & context) {
- context.ds.byte(531) = 35;
+ context.data.byte(531) = 35;
loadroomssample(context);
context.dx = 2377;
loadintotemp(context);
clearwork(context);
showmonk(context);
worktoscreen(context);
- context.ds.byte(386) = 7;
- context.ds.byte(388) = -1;
- context.ds.byte(387) = 0;
+ context.data.byte(386) = 7;
+ context.data.byte(388) = -1;
+ context.data.byte(387) = 0;
context.al = 12;
context.ah = 255;
playchannel0(context);
@@ -5803,7 +5803,7 @@ nextmonkspeak:
context.ah = 0;
context.si = context.ax;
context._add(context.si, context.si);
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
context.ax = context.ds.word(context.si);
context._add(context.ax, 66*2);
context.si = context.ax;
@@ -5829,8 +5829,8 @@ nextbit:
context._add(context.al, 1);
context._cmp(context.al, 44);
if (!context.flags.z()) goto nextmonkspeak;
- context.ds.byte(388) = 1;
- context.ds.byte(387) = 7;
+ context.data.byte(388) = 1;
+ context.data.byte(387) = 7;
fadescreendowns(context);
context.cx = 300;
hangon(context);
@@ -5843,18 +5843,18 @@ static void showmonk(Context & context) {
context.ah = 128;
context.di = 160;
context.bx = 72;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
return;
}
static void gettingshot(Context & context) {
- context.ds.byte(188) = 55;
+ context.data.byte(188) = 55;
clearpalette(context);
loadintroroom(context);
fadescreenups(context);
- context.ds.byte(387) = 0;
- context.ds.byte(388) = -1;
+ context.data.byte(387) = 0;
+ context.data.byte(388) = -1;
runendseq(context);
clearbeforeload(context);
return;
@@ -5887,7 +5887,7 @@ hangonloope:
context.push(context.cx);
vsync(context);
context.cx = context.pop();
- context._cmp(context.ds.byte(392), 1);
+ context._cmp(context.data.byte(392), 1);
if (context.flags.z()) goto hangonearly;
if (--context.cx) goto hangonloope;
return;
@@ -5902,28 +5902,28 @@ static void intro(Context & context) {
loadtemptext(context);
loadpalfromiff(context);
setmode(context);
- context.ds.byte(188) = 50;
+ context.data.byte(188) = 50;
clearpalette(context);
loadintroroom(context);
- context.ds.byte(386) = 7;
- context.ds.byte(388) = -1;
- context.ds.byte(387) = 0;
+ context.data.byte(386) = 7;
+ context.data.byte(388) = -1;
+ context.data.byte(387) = 0;
context.al = 12;
context.ah = 255;
playchannel0(context);
fadescreenups(context);
runintroseq(context);
clearbeforeload(context);
- context.ds.byte(188) = 52;
+ context.data.byte(188) = 52;
loadintroroom(context);
runintroseq(context);
clearbeforeload(context);
- context.ds.byte(188) = 53;
+ context.data.byte(188) = 53;
loadintroroom(context);
runintroseq(context);
clearbeforeload(context);
allpalette(context);
- context.ds.byte(188) = 54;
+ context.data.byte(188) = 54;
loadintroroom(context);
runintroseq(context);
getridoftemptext(context);
@@ -5932,14 +5932,14 @@ static void intro(Context & context) {
}
static void runintroseq(Context & context) {
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
moreintroseq:
vsync(context);
- context._cmp(context.ds.byte(392), 1);
+ context._cmp(context.data.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
spriteupdate(context);
vsync(context);
- context._cmp(context.ds.byte(392), 1);
+ context._cmp(context.data.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
deleverything(context);
printsprites(context);
@@ -5947,14 +5947,14 @@ moreintroseq:
afterintroroom(context);
usetimedtext(context);
vsync(context);
- context._cmp(context.ds.byte(392), 1);
+ context._cmp(context.data.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
dumpmap(context);
dumptimedtext(context);
vsync(context);
- context._cmp(context.ds.byte(392), 1);
+ context._cmp(context.data.byte(392), 1);
if (context.flags.z()) goto earlyendrun;
- context._cmp(context.ds.byte(103), 1);
+ context._cmp(context.data.byte(103), 1);
if (!context.flags.z()) goto moreintroseq;
return;
earlyendrun:
@@ -5967,7 +5967,7 @@ earlyendrun:
static void runendseq(Context & context) {
atmospheres(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
moreendseq:
vsync(context);
spriteupdate(context);
@@ -5981,23 +5981,23 @@ moreendseq:
dumpmap(context);
dumptimedtext(context);
vsync(context);
- context._cmp(context.ds.byte(103), 1);
+ context._cmp(context.data.byte(103), 1);
if (!context.flags.z()) goto moreendseq;
return;
}
static void loadintroroom(Context & context) {
- context.ds.byte(139) = 0;
- context.ds.byte(9) = 255;
+ context.data.byte(139) = 0;
+ context.data.byte(9) = 255;
loadroom(context);
- context.ds.word(121) = 72;
- context.ds.word(123) = 16;
+ context.data.word(121) = 72;
+ context.data.word(123) = 16;
clearsprites(context);
- context.ds.byte(61) = 0;
- context.ds.byte(142) = '0';
- context.ds.byte(105) = 0;
+ context.data.byte(61) = 0;
+ context.data.byte(142) = '0';
+ context.data.byte(105) = 0;
clearwork(context);
- context.ds.byte(62) = 1;
+ context.data.byte(62) = 1;
drawfloor(context);
reelsonscreen(context);
spriteupdate(context);
@@ -6007,9 +6007,9 @@ static void loadintroroom(Context & context) {
}
static void realcredits(Context & context) {
- context.ds.byte(531) = 33;
+ context.data.byte(531) = 33;
loadroomssample(context);
- context.ds.byte(386) = 0;
+ context.data.byte(386) = 0;
mode640x480(context);
context.cx = 35;
hangon(context);
@@ -6104,13 +6104,13 @@ static void printchar(Context & context) {
context.push(context.ax);
context._sub(context.al, 32);
context.ah = 0;
- context._add(context.ax, context.ds.word(71));
+ context._add(context.ax, context.data.word(71));
showframe(context);
context.ax = context.pop();
context.di = context.pop();
context.bx = context.pop();
context.si = context.pop();
- context._cmp(context.ds.byte(72), 0);
+ context._cmp(context.data.byte(72), 0);
if (!context.flags.z()) goto nokern;
kernchars(context);
nokern:
@@ -6146,9 +6146,9 @@ kernit:
}
static void printslow(Context & context) {
- context.ds.byte(231) = 1;
- context.ds.byte(234) = 3;
- context.ds = context.ds.word(404);
+ context.data.byte(231) = 1;
+ context.data.byte(234) = 3;
+ context.ds = context.data.word(404);
printloopslow6:
context.push(context.bx);
context.push(context.di);
@@ -6187,9 +6187,9 @@ printloopslow5:
context.push(context.es);
context.push(context.si);
modifychar(context);
- context.ds.word(71) = 91;
+ context.data.word(71) = 91;
printboth(context);
- context.ds.word(71) = 0;
+ context.data.word(71) = 0;
context.si = context.pop();
context.es = context.pop();
context.cx = context.pop();
@@ -6199,14 +6199,14 @@ printloopslow5:
waitframes(context);
context._cmp(context.ax, 0);
if (context.flags.z()) goto keepgoing;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.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.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (!context.flags.z()) goto finishslow2;
afterslow:
context.es = context.pop();
@@ -6250,7 +6250,7 @@ static void waitframes(Context & context) {
vsync(context);
dumppointer(context);
delpointer(context);
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context.ds = context.pop();
context.si = context.pop();
context.es = context.pop();
@@ -6277,8 +6277,8 @@ static void printboth(Context & context) {
}
static void printdirect(Context & context) {
- context.ds.word(84) = context.di;
- context.ds = context.ds.word(268);
+ context.data.word(84) = context.di;
+ context.ds = context.data.word(268);
printloop6:
context.push(context.bx);
context.push(context.di);
@@ -6296,14 +6296,14 @@ printloop5:
context.push(context.es);
modifychar(context);
printchar(context);
- context.ds.word(84) = context.di;
+ context.data.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.ds.word(77));
+ context._add(context.bx, context.data.word(77));
goto printloop6;
finishdirct:
context.dx = context.pop();
@@ -6313,12 +6313,12 @@ finishdirct:
}
static void monprint(Context & context) {
- context.ds.byte(72) = 1;
+ context.data.byte(72) = 1;
context.si = context.bx;
context.dl = 166;
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
- context.ds = context.ds.word(406);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
+ context.ds = context.data.word(406);
printloop8:
context.push(context.bx);
context.push(context.di);
@@ -6347,9 +6347,9 @@ nottrigger:
context.push(context.es);
modifychar(context);
printchar(context);
- context.ds.word(312) = context.di;
- context.ds.word(314) = context.bx;
- context.ds.word(138) = 1;
+ context.data.word(312) = context.di;
+ context.data.word(314) = context.bx;
+ context.data.word(138) = 1;
printcurs(context);
vsync(context);
context.push(context.si);
@@ -6374,7 +6374,7 @@ finishmon2:
context.di = context.pop();
context.bx = context.pop();
scrollmonitor(context);
- context.ds.word(312) = context.di;
+ context.data.word(312) = context.di;
goto printloop8;
finishmon:
context.dx = context.pop();
@@ -6382,12 +6382,12 @@ finishmon:
context.bx = context.pop();
context._cmp(context.al, '%');
if (!context.flags.z()) goto nottrigger2;
- context.ds.byte(55) = context.ah;
+ context.data.byte(55) = context.ah;
nottrigger2:
- context.ds.word(312) = context.di;
+ context.data.word(312) = context.di;
scrollmonitor(context);
context.bx = context.si;
- context.ds.byte(72) = 0;
+ context.data.byte(72) = 0;
return;
}
@@ -6512,7 +6512,7 @@ getloop:
context.push(context.ax);
context._sub(context.al, 32);
context.ah = 0;
- context._add(context.ax, context.ds.word(71));
+ context._add(context.ax, context.data.word(71));
context._add(context.ax, context.ax);
context.si = context.ax;
context._add(context.ax, context.ax);
@@ -6590,11 +6590,11 @@ nomod:
}
static void fillryan(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32;
findallryan(context);
context.si = 0+(228*13)+32;
- context.al = context.ds.byte(19);
+ context.al = context.data.byte(19);
context.ah = 0;
context.cx = 20;
context._mul(context.cx);
@@ -6641,7 +6641,7 @@ static void fillopen(Context & context) {
lessthanapage:
context.al = 1;
context.push(context.ax);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13);
findallopen(context);
context.si = 0+(228*13);
@@ -6680,7 +6680,7 @@ static void findallryan(Context & context) {
while(--context.cx) context._stosw();
context.di = context.pop();
context.cl = 4;
- context.ds = context.ds.word(398);
+ context.ds = context.data.word(398);
context.bx = 0+2080+30000;
context.ch = 0;
findryanloop:
@@ -6711,9 +6711,9 @@ static void findallopen(Context & context) {
context.ax = 0x0ffff;
while(--context.cx) context._stosw();
context.di = context.pop();
- context.cl = context.ds.byte(110);
- context.dl = context.ds.byte(111);
- context.ds = context.ds.word(398);
+ context.cl = context.data.byte(110);
+ context.dl = context.data.byte(111);
+ context.ds = context.data.word(398);
context.bx = 0+2080+30000;
context.ch = 0;
findopen1:
@@ -6721,10 +6721,10 @@ findopen1:
if (!context.flags.z()) goto findopen2;
context._cmp(context.ds.byte(context.bx+2), context.dl);
if (!context.flags.z()) goto findopen2;
- context._cmp(context.ds.byte(111), 4);
+ context._cmp(context.data.byte(111), 4);
if (context.flags.z()) goto noloccheck;
context.al = context.ds.byte(context.bx+5);
- context._cmp(context.al, context.ds.byte(184));
+ context._cmp(context.al, context.data.byte(184));
if (!context.flags.z()) goto findopen2;
noloccheck:
context.al = context.ds.byte(context.bx+4);
@@ -6741,10 +6741,10 @@ findopen2:
context._add(context.ch, 1);
context._cmp(context.ch, 114);
if (!context.flags.z()) goto findopen1;
- context.cl = context.ds.byte(110);
- context.dl = context.ds.byte(111);
+ context.cl = context.data.byte(110);
+ context.dl = context.data.byte(111);
context.push(context.dx);
- context.ds = context.ds.word(426);
+ context.ds = context.data.word(426);
context.dx = context.pop();
context.bx = 0;
context.ch = 0;
@@ -6778,7 +6778,7 @@ static void obtoinv(Context & context) {
context.push(context.ax);
context.push(context.di);
context.push(context.bx);
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context._sub(context.di, 2);
context._sub(context.bx, 1);
context.al = 10;
@@ -6792,10 +6792,10 @@ static void obtoinv(Context & context) {
context.push(context.bx);
context.push(context.di);
context.push(context.ax);
- context.ds = context.ds.word(398);
+ context.ds = context.data.word(398);
context._cmp(context.ah, 4);
if (context.flags.z()) goto isanextra;
- context.ds = context.ds.word(446);
+ context.ds = context.data.word(446);
isanextra:
context.cl = context.al;
context._add(context.al, context.al);
@@ -6813,7 +6813,7 @@ isanextra:
isitworn(context);
context.bx = context.pop();
if (!context.flags.z()) goto finishfill;
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context._sub(context.di, 3);
context._sub(context.bx, 2);
context.al = 7;
@@ -6844,18 +6844,18 @@ static void makeworn(Context & context) {
}
static void examineob(Context & context) {
- context.ds.byte(234) = 0;
- context.ds.word(328) = 0;
+ context.data.byte(234) = 0;
+ context.data.word(328) = 0;
examineagain:
- 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;
+ 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;
createpanel(context);
showpanel(context);
showman(context);
@@ -6864,7 +6864,7 @@ examineagain:
obpicture(context);
describeob(context);
undertextline(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -6876,41 +6876,41 @@ waitexam:
dumppointer(context);
dumptextline(context);
delpointer(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
context.bx = 2494;
- context._cmp(context.ds.byte(104), 0);
+ context._cmp(context.data.byte(104), 0);
if (context.flags.z()) goto notuseinv;
context.bx = 2556;
- context._cmp(context.ds.byte(104), 1);
+ context._cmp(context.data.byte(104), 1);
if (context.flags.z()) goto notuseinv;
context.bx = 2618;
notuseinv:
checkcoords(context);
- context._cmp(context.ds.byte(108), 0);
+ context._cmp(context.data.byte(108), 0);
if (context.flags.z()) goto norex;
goto examineagain;
norex:
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto waitexam;
- context.ds.byte(106) = 0;
- context._cmp(context.ds.word(21), 0);
+ context.data.byte(106) = 0;
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto iswatching;
- context._cmp(context.ds.byte(188), 255);
+ context._cmp(context.data.byte(188), 255);
if (!context.flags.z()) goto justgetback;
iswatching:
makemainscreen(context);
- context.ds.byte(104) = 0;
- context.ds.byte(110) = 255;
+ context.data.byte(104) = 0;
+ context.data.byte(110) = 255;
return;
justgetback:
- context.ds.byte(104) = 0;
- context.ds.byte(110) = 255;
+ context.data.byte(104) = 0;
+ context.data.byte(110) = 255;
return;
}
static void makemainscreen(Context & context) {
createpanel(context);
- context.ds.byte(62) = 1;
+ context.data.byte(62) = 1;
drawfloor(context);
spriteupdate(context);
printsprites(context);
@@ -6918,16 +6918,16 @@ static void makemainscreen(Context & context) {
showicon(context);
getunderzoom(context);
undertextline(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
animpointer(context);
worktoscreenm(context);
- context.ds.byte(100) = 200;
- context.ds.byte(131) = 0;
+ context.data.byte(100) = 200;
+ context.data.byte(131) = 0;
return;
}
static void getbackfromob(Context & context) {
- context._cmp(context.ds.byte(106), 1);
+ context._cmp(context.data.byte(106), 1);
if (!context.flags.z()) goto notheldob;
blank(context);
return;
@@ -6937,25 +6937,25 @@ notheldob:
}
static void incryanpage(Context & context) {
- context._cmp(context.ds.byte(100), 222);
+ context._cmp(context.data.byte(100), 222);
if (context.flags.z()) goto alreadyincryan;
- context.ds.byte(100) = 222;
+ context.data.byte(100) = 222;
context.al = 31;
commandonly(context);
alreadyincryan:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.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.ds.word(198);
+ context.ax = context.data.word(198);
context._sub(context.ax, 80+167);
- context.ds.byte(19) = -1;
+ context.data.byte(19) = -1;
findnewpage:
- context._add(context.ds.byte(19), 1);
+ context._add(context.data.byte(19), 1);
context._sub(context.ax, 18);
if (!context.flags.c()) goto findnewpage;
delpointer(context);
@@ -6968,32 +6968,32 @@ findnewpage:
}
static void openinv(Context & context) {
- context.ds.byte(104) = 1;
+ context.data.byte(104) = 1;
context.al = 61;
context.di = 80;
context.bx = 58-10;
context.dl = 240;
printmessage(context);
fillryan(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
return;
}
static void showryanpage(Context & context) {
- context.ds = context.ds.word(408);
+ context.ds = context.data.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.ds.byte(19));
+ context._add(context.al, context.data.byte(19));
context.push(context.ax);
- context.al = context.ds.byte(19);
+ context.al = context.data.byte(19);
context.ah = 0;
context.cx = 18;
context._mul(context.cx);
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 80+167;
context._add(context.di, context.ax);
context.bx = 58-12;
@@ -7004,8 +7004,8 @@ static void showryanpage(Context & context) {
}
static void openob(Context & context) {
- context.al = context.ds.byte(110);
- context.ah = context.ds.byte(111);
+ context.al = context.data.byte(110);
+ context.ah = context.data.byte(111);
context.di = 5674;
copyname(context);
context.di = 80;
@@ -7013,7 +7013,7 @@ static void openob(Context & context) {
context.al = 62;
context.dl = 240;
printmessage(context);
- context.di = context.ds.word(84);
+ context.di = context.data.word(84);
context._add(context.di, 5);
context.bx = 58+86;
context.es = context.cs;
@@ -7035,18 +7035,18 @@ static void openob(Context & context) {
}
static void obicons(Context & context) {
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
getanyad(context);
context._cmp(context.al, 255);
if (context.flags.z()) goto cantopenit;
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.di = 210;
context.bx = 1;
context.al = 4;
context.ah = 0;
showframe(context);
cantopenit:
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.di = 260;
context.bx = 1;
context.al = 1;
@@ -7056,7 +7056,7 @@ cantopenit:
}
static void examicon(Context & context) {
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context.di = 254;
context.bx = 5;
context.al = 3;
@@ -7066,13 +7066,13 @@ static void examicon(Context & context) {
}
static void obpicture(Context & context) {
- context.al = context.ds.byte(99);
- context.ah = context.ds.byte(102);
+ context.al = context.data.byte(99);
+ context.ah = context.data.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.ds.word(446);
+ context.ds = context.data.word(446);
context.di = 160;
context.bx = 68;
context.cl = context.al;
@@ -7085,7 +7085,7 @@ static void obpicture(Context & context) {
setframe:
return;
exframe:
- context.ds = context.ds.word(398);
+ context.ds = context.data.word(398);
context.di = 160;
context.bx = 68;
context.cl = context.al;
@@ -7101,18 +7101,18 @@ static void describeob(Context & context) {
getobtextstart(context);
context.di = 33;
context.bx = 92;
- context._cmp(context.ds.byte(102), 1);
+ context._cmp(context.data.byte(102), 1);
if (!context.flags.z()) goto notsetd;
context.bx = 82;
notsetd:
context.dl = 241;
context.ah = 16;
- context.ds.word(71) = 91+91;
+ context.data.word(71) = 91+91;
printdirect(context);
- context.ds.word(71) = 0;
+ context.data.word(71) = 0;
context.di = 36;
context.bx = 104;
- context._cmp(context.ds.byte(102), 1);
+ context._cmp(context.data.byte(102), 1);
if (!context.flags.z()) goto notsetd2;
context.bx = 94;
notsetd2:
@@ -7129,16 +7129,16 @@ notsetd2:
static void additionaltext(Context & context) {
context._add(context.bx, 10);
context.push(context.bx);
- context.al = context.ds.byte(99);
- context.ah = context.ds.byte(102);
+ context.al = context.data.byte(99);
+ context.ah = context.data.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.ds.byte(99);
- context.ah = context.ds.byte(102);
+ context.al = context.data.byte(99);
+ context.ah = context.data.byte(102);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -7168,8 +7168,8 @@ fullcup:
}
static void obsthatdothings(Context & context) {
- context.al = context.ds.byte(99);
- context.ah = context.ds.byte(102);
+ context.al = context.data.byte(99);
+ context.ah = context.data.byte(102);
context.cl = 'M';
context.ch = 'E';
context.dl = 'M';
@@ -7190,21 +7190,21 @@ notlouiscard:
}
static void getobtextstart(Context & context) {
- context.es = context.ds.word(438);
+ context.es = context.data.word(438);
context.si = 0;
context.cx = 0+(82*2);
- context._cmp(context.ds.byte(102), 2);
+ context._cmp(context.data.byte(102), 2);
if (context.flags.z()) goto describe;
- context.es = context.ds.word(440);
+ context.es = context.data.word(440);
context.si = 0;
context.cx = 0+(130*2);
- context._cmp(context.ds.byte(102), 1);
+ context._cmp(context.data.byte(102), 1);
if (context.flags.z()) goto describe;
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.si = 0+2080+30000+(16*114);
context.cx = 0+2080+30000+(16*114)+((114+2)*2);
describe:
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.si, context.ax);
@@ -7218,7 +7218,7 @@ tryagain:
context.al = context.ds.byte(context.si);
context.cx = context.si;
context.si = context.pop();
- context._cmp(context.ds.byte(102), 1);
+ context._cmp(context.data.byte(102), 1);
if (!context.flags.z()) goto cantmakeoneup;
context._cmp(context.al, 0);
if (context.flags.z()) goto findsometext;
@@ -7283,31 +7283,31 @@ endofcolon:
}
static void inventory(Context & context) {
- context._cmp(context.ds.byte(56), 1);
+ context._cmp(context.data.byte(56), 1);
if (context.flags.z()) goto iswatchinv;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (context.flags.z()) goto notwatchinv;
iswatchinv:
blank(context);
return;
notwatchinv:
- context._cmp(context.ds.byte(100), 239);
+ context._cmp(context.data.byte(100), 239);
if (context.flags.z()) goto alreadyopinv;
- context.ds.byte(100) = 239;
+ context.data.byte(100) = 239;
context.al = 32;
commandonly(context);
alreadyopinv:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto cantopinv;
context._and(context.ax, 1);
if (!context.flags.z()) goto doopeninv;
cantopinv:
return;
doopeninv:
- context.ds.word(328) = 0;
- context.ds.byte(234) = 0;
- context.ds.byte(237) = 0;
+ context.data.word(328) = 0;
+ context.data.byte(234) = 0;
+ context.data.byte(237) = 0;
animpointer(context);
createpanel(context);
showpanel(context);
@@ -7315,26 +7315,26 @@ doopeninv:
showman(context);
showexit(context);
undertextline(context);
- context.ds.byte(106) = 0;
- context.ds.byte(104) = 2;
+ context.data.byte(106) = 0;
+ context.data.byte(104) = 2;
openinv(context);
readmouse(context);
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.ds.byte(110) = 255;
+ context.data.byte(110) = 255;
goto waitexam;
/*continuing to unbounded code: examineagain from examineob:3-66*/
examineagain:
- 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;
+ 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;
createpanel(context);
showpanel(context);
showman(context);
@@ -7343,7 +7343,7 @@ examineagain:
obpicture(context);
describeob(context);
undertextline(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -7355,35 +7355,35 @@ waitexam:
dumppointer(context);
dumptextline(context);
delpointer(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
context.bx = 2494;
- context._cmp(context.ds.byte(104), 0);
+ context._cmp(context.data.byte(104), 0);
if (context.flags.z()) goto notuseinv;
context.bx = 2556;
- context._cmp(context.ds.byte(104), 1);
+ context._cmp(context.data.byte(104), 1);
if (context.flags.z()) goto notuseinv;
context.bx = 2618;
notuseinv:
checkcoords(context);
- context._cmp(context.ds.byte(108), 0);
+ context._cmp(context.data.byte(108), 0);
if (context.flags.z()) goto norex;
goto examineagain;
norex:
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto waitexam;
- context.ds.byte(106) = 0;
- context._cmp(context.ds.word(21), 0);
+ context.data.byte(106) = 0;
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto iswatching;
- context._cmp(context.ds.byte(188), 255);
+ context._cmp(context.data.byte(188), 255);
if (!context.flags.z()) goto justgetback;
iswatching:
makemainscreen(context);
- context.ds.byte(104) = 0;
- context.ds.byte(110) = 255;
+ context.data.byte(104) = 0;
+ context.data.byte(110) = 255;
return;
justgetback:
- context.ds.byte(104) = 0;
- context.ds.byte(110) = 255;
+ context.data.byte(104) = 0;
+ context.data.byte(110) = 255;
return;
examlist:
invlist1:
@@ -7393,9 +7393,9 @@ withlist1:
}
static void setpickup(Context & context) {
- context._cmp(context.ds.byte(102), 1);
+ context._cmp(context.data.byte(102), 1);
if (context.flags.z()) goto cantpick;
- context._cmp(context.ds.byte(102), 3);
+ context._cmp(context.data.byte(102), 3);
if (context.flags.z()) goto cantpick;
getanyad(context);
context.al = context.ds.byte(context.bx+2);
@@ -7405,18 +7405,18 @@ cantpick:
blank(context);
return;
canpick:
- context._cmp(context.ds.byte(100), 209);
+ context._cmp(context.data.byte(100), 209);
if (context.flags.z()) goto alreadysp;
- context.ds.byte(100) = 209;
- context.bl = context.ds.byte(99);
- context.bh = context.ds.byte(102);
+ context.data.byte(100) = 209;
+ context.bl = context.data.byte(99);
+ context.bh = context.data.byte(102);
context.al = 33;
commandwithob(context);
alreadysp:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._cmp(context.ax, 1);
if (!context.flags.z()) goto nosetpick;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (!context.flags.z()) goto dosetpick;
nosetpick:
return;
@@ -7426,16 +7426,16 @@ dosetpick:
showman(context);
showexit(context);
examicon(context);
- context.ds.byte(106) = 1;
- context.ds.byte(104) = 2;
- context._cmp(context.ds.byte(102), 4);
+ context.data.byte(106) = 1;
+ context.data.byte(104) = 2;
+ context._cmp(context.data.byte(102), 4);
if (context.flags.z()) goto pickupexob;
- context.al = context.ds.byte(99);
- context.ds.byte(89) = context.al;
- context.ds.byte(110) = 255;
+ context.al = context.data.byte(99);
+ context.data.byte(89) = context.al;
+ context.data.byte(110) = 255;
transfertoex(context);
- context.ds.byte(89) = context.al;
- context.ds.byte(102) = 4;
+ context.data.byte(89) = context.al;
+ context.data.byte(102) = 4;
geteitherad(context);
context.ds.byte(context.bx+2) = 20;
context.ds.byte(context.bx+3) = 255;
@@ -7443,22 +7443,22 @@ dosetpick:
worktoscreenm(context);
return;
pickupexob:
- context.al = context.ds.byte(99);
- context.ds.byte(89) = context.al;
- context.ds.byte(110) = 255;
+ context.al = context.data.byte(99);
+ context.data.byte(89) = context.al;
+ context.data.byte(110) = 255;
openinv(context);
worktoscreenm(context);
return;
}
static void examinventory(Context & context) {
- context._cmp(context.ds.byte(100), 249);
+ context._cmp(context.data.byte(100), 249);
if (context.flags.z()) goto alreadyexinv;
- context.ds.byte(100) = 249;
+ context.data.byte(100) = 249;
context.al = 32;
commandonly(context);
alreadyexinv:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (!context.flags.z()) goto doexinv;
return;
@@ -7468,8 +7468,8 @@ doexinv:
showman(context);
showexit(context);
examicon(context);
- context.ds.byte(106) = 0;
- context.ds.byte(104) = 2;
+ context.data.byte(106) = 0;
+ context.data.byte(104) = 2;
openinv(context);
worktoscreenm(context);
return;
@@ -7478,10 +7478,10 @@ doexinv:
static void reexfrominv(Context & context) {
findinvpos(context);
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;
+ context.data.byte(100) = context.ah;
+ context.data.byte(99) = context.al;
+ context.data.byte(108) = 1;
+ context.data.byte(234) = 0;
return;
}
@@ -7489,62 +7489,62 @@ static void reexfromopen(Context & context) {
return;
findopenpos(context);
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;
+ context.data.byte(100) = context.ah;
+ context.data.byte(99) = context.al;
+ context.data.byte(108) = 1;
+ context.data.byte(234) = 0;
return;
}
static void swapwithinv(Context & context) {
- context.al = context.ds.byte(89);
- context.ah = context.ds.byte(102);
- context._cmp(context.ax, context.ds.word(94));
+ context.al = context.data.byte(89);
+ context.ah = context.data.byte(102);
+ context._cmp(context.ax, context.data.word(94));
if (!context.flags.z()) goto difsub7;
- context._cmp(context.ds.byte(100), 243);
+ context._cmp(context.data.byte(100), 243);
if (context.flags.z()) goto alreadyswap1;
- context.ds.byte(100) = 243;
+ context.data.byte(100) = 243;
difsub7:
- context.ds.word(94) = context.ax;
+ context.data.word(94) = context.ax;
context.bx = context.ax;
context.al = 34;
commandwithob(context);
alreadyswap1:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.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.ds.byte(102);
- context.al = context.ds.byte(89);
+ context.ah = context.data.byte(102);
+ context.al = context.data.byte(89);
context.push(context.ax);
findinvpos(context);
context.ax = context.ds.word(context.bx);
- context.ds.byte(89) = context.al;
- context.ds.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
geteitherad(context);
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.bl = context.data.byte(89);
+ context.bh = context.data.byte(102);
context.ax = context.pop();
- context.ds.byte(102) = context.ah;
- context.ds.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
context.push(context.bx);
findinvpos(context);
delpointer(context);
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
geteitherad(context);
context.ds.byte(context.bx+2) = 4;
context.ds.byte(context.bx+3) = 255;
- context.al = context.ds.byte(107);
+ context.al = context.data.byte(107);
context.ds.byte(context.bx+4) = context.al;
context.ax = context.pop();
- context.ds.byte(102) = context.ah;
- context.ds.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
fillryan(context);
readmouse(context);
showpointer(context);
@@ -7554,21 +7554,21 @@ doswap1:
}
static void swapwithopen(Context & context) {
- context.al = context.ds.byte(89);
- context.ah = context.ds.byte(102);
- context._cmp(context.ax, context.ds.word(94));
+ context.al = context.data.byte(89);
+ context.ah = context.data.byte(102);
+ context._cmp(context.ax, context.data.word(94));
if (!context.flags.z()) goto difsub8;
- context._cmp(context.ds.byte(100), 242);
+ context._cmp(context.data.byte(100), 242);
if (context.flags.z()) goto alreadyswap2;
- context.ds.byte(100) = 242;
+ context.data.byte(100) = 242;
difsub8:
- context.ds.word(94) = context.ax;
+ context.data.word(94) = context.ax;
context.bx = context.ax;
context.al = 34;
commandwithob(context);
alreadyswap2:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto cantswap2;
context._and(context.ax, 1);
if (!context.flags.z()) goto doswap2;
@@ -7582,11 +7582,11 @@ doswap2:
return;
notwornswap:
delpointer(context);
- context.al = context.ds.byte(89);
- context._cmp(context.al, context.ds.byte(110));
+ context.al = context.data.byte(89);
+ context._cmp(context.al, context.data.byte(110));
if (!context.flags.z()) goto isntsame2;
- context.al = context.ds.byte(102);
- context._cmp(context.al, context.ds.byte(111));
+ context.al = context.data.byte(102);
+ context._cmp(context.al, context.data.byte(111));
if (!context.flags.z()) goto isntsame2;
errormessage1(context);
return;
@@ -7596,13 +7596,13 @@ isntsame2:
if (context.flags.z()) goto sizeok2;
return;
sizeok2:
- context.ah = context.ds.byte(102);
- context.al = context.ds.byte(89);
+ context.ah = context.data.byte(102);
+ context.al = context.data.byte(89);
context.push(context.ax);
findopenpos(context);
context.ax = context.ds.word(context.bx);
- context.ds.byte(89) = context.al;
- context.ds.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
context._cmp(context.ah, 4);
if (!context.flags.z()) goto makeswapex;
geteitherad(context);
@@ -7611,31 +7611,31 @@ sizeok2:
goto actuallyswap;
makeswapex:
transfertoex(context);
- context.ds.byte(89) = context.al;
- context.ds.byte(102) = 4;
+ context.data.byte(89) = context.al;
+ context.data.byte(102) = 4;
geteitherad(context);
context.ds.byte(context.bx+2) = 20;
context.ds.byte(context.bx+3) = 255;
actuallyswap:
- context.bl = context.ds.byte(89);
- context.bh = context.ds.byte(102);
+ context.bl = context.data.byte(89);
+ context.bh = context.data.byte(102);
context.ax = context.pop();
- context.ds.byte(102) = context.ah;
- context.ds.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
context.push(context.bx);
findopenpos(context);
geteitherad(context);
- context.al = context.ds.byte(111);
+ context.al = context.data.byte(111);
context.ds.byte(context.bx+2) = context.al;
- context.al = context.ds.byte(110);
+ context.al = context.data.byte(110);
context.ds.byte(context.bx+3) = context.al;
- context.al = context.ds.byte(107);
+ context.al = context.data.byte(107);
context.ds.byte(context.bx+4) = context.al;
- context.al = context.ds.byte(184);
+ context.al = context.data.byte(184);
context.ds.byte(context.bx+5) = context.al;
context.ax = context.pop();
- context.ds.byte(102) = context.ah;
- context.ds.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
fillopen(context);
fillryan(context);
undertextline(context);
@@ -7648,7 +7648,7 @@ actuallyswap:
}
static void intoinv(Context & context) {
- context._cmp(context.ds.byte(106), 0);
+ context._cmp(context.data.byte(106), 0);
if (!context.flags.z()) goto notout;
outofinv(context);
return;
@@ -7660,21 +7660,21 @@ notout:
swapwithinv(context);
return;
canplace1:
- context.al = context.ds.byte(89);
- context.ah = context.ds.byte(102);
- context._cmp(context.ax, context.ds.word(94));
+ context.al = context.data.byte(89);
+ context.ah = context.data.byte(102);
+ context._cmp(context.ax, context.data.word(94));
if (!context.flags.z()) goto difsub1;
- context._cmp(context.ds.byte(100), 220);
+ context._cmp(context.data.byte(100), 220);
if (context.flags.z()) goto alreadyplce;
- context.ds.byte(100) = 220;
+ context.data.byte(100) = 220;
difsub1:
- context.ds.word(94) = context.ax;
+ context.data.word(94) = context.ax;
context.bx = context.ax;
context.al = 35;
commandwithob(context);
alreadyplce:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notletgo2;
context._and(context.ax, 1);
if (!context.flags.z()) goto doplace;
@@ -7682,13 +7682,13 @@ notletgo2:
return;
doplace:
delpointer(context);
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
getexad(context);
context.ds.byte(context.bx+2) = 4;
context.ds.byte(context.bx+3) = 255;
- context.al = context.ds.byte(107);
+ context.al = context.data.byte(107);
context.ds.byte(context.bx+4) = context.al;
- context.ds.byte(106) = 0;
+ context.data.byte(106) = 0;
fillryan(context);
readmouse(context);
showpointer(context);
@@ -7699,9 +7699,9 @@ doplace:
}
static void deletetaken(Context & context) {
- context.es = context.ds.word(426);
- context.ah = context.ds.byte(184);
- context.ds = context.ds.word(398);
+ context.es = context.data.word(426);
+ context.ah = context.data.byte(184);
+ context.ds = context.data.word(398);
context.si = 0+2080+30000;
context.cx = 114;
takenloop:
@@ -7729,25 +7729,25 @@ static void outofinv(Context & context) {
blank(context);
return;
canpick2:
- context.bx = context.ds.word(202);
+ context.bx = context.data.word(202);
context._cmp(context.bx, 2);
if (!context.flags.z()) goto canpick2a;
reexfrominv(context);
return;
canpick2a:
- context._cmp(context.ax, context.ds.word(94));
+ context._cmp(context.ax, context.data.word(94));
if (!context.flags.z()) goto difsub3;
- context._cmp(context.ds.byte(100), 221);
+ context._cmp(context.data.byte(100), 221);
if (context.flags.z()) goto alreadygrab;
- context.ds.byte(100) = 221;
+ context.data.byte(100) = 221;
difsub3:
- context.ds.word(94) = context.ax;
+ context.data.word(94) = context.ax;
context.bx = context.ax;
context.al = 36;
commandwithob(context);
alreadygrab:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notletgo;
context._and(context.ax, 1);
if (!context.flags.z()) goto dograb;
@@ -7755,11 +7755,11 @@ notletgo:
return;
dograb:
delpointer(context);
- context.ds.byte(106) = 1;
+ context.data.byte(106) = 1;
findinvpos(context);
context.ax = context.ds.word(context.bx);
- context.ds.byte(89) = context.al;
- context.ds.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
getexad(context);
context.ds.byte(context.bx+2) = 20;
context.ds.byte(context.bx+3) = 255;
@@ -7777,7 +7777,7 @@ static void getfreead(Context & context) {
context.cl = 4;
context._shl(context.ax, context.cl);
context.bx = context.ax;
- context.es = context.ds.word(426);
+ context.es = context.data.word(426);
return;
}
@@ -7786,39 +7786,39 @@ static void getexad(Context & context) {
context.bx = 16;
context._mul(context.bx);
context.bx = context.ax;
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context._add(context.bx, 0+2080+30000);
return;
}
static void geteitherad(Context & context) {
- context._cmp(context.ds.byte(102), 4);
+ context._cmp(context.data.byte(102), 4);
if (context.flags.z()) goto isinexlist;
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
getfreead(context);
return;
isinexlist:
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
getexad(context);
return;
}
static void getanyad(Context & context) {
- context._cmp(context.ds.byte(102), 4);
+ context._cmp(context.data.byte(102), 4);
if (context.flags.z()) goto isex;
- context._cmp(context.ds.byte(102), 2);
+ context._cmp(context.data.byte(102), 2);
if (context.flags.z()) goto isfree;
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
getsetad(context);
context.ax = context.ds.word(context.bx+4);
return;
isfree:
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
getfreead(context);
context.ax = context.ds.word(context.bx+7);
return;
isex:
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
getexad(context);
context.ax = context.ds.word(context.bx+7);
return;
@@ -7840,21 +7840,21 @@ isex3:
}
static void getopenedsize(Context & context) {
- context._cmp(context.ds.byte(111), 4);
+ context._cmp(context.data.byte(111), 4);
if (context.flags.z()) goto isex2;
- context._cmp(context.ds.byte(111), 2);
+ context._cmp(context.data.byte(111), 2);
if (context.flags.z()) goto isfree2;
- context.al = context.ds.byte(110);
+ context.al = context.data.byte(110);
getsetad(context);
context.ax = context.ds.word(context.bx+3);
return;
isfree2:
- context.al = context.ds.byte(110);
+ context.al = context.data.byte(110);
getfreead(context);
context.ax = context.ds.word(context.bx+7);
return;
isex2:
- context.al = context.ds.byte(110);
+ context.al = context.data.byte(110);
getexad(context);
context.ax = context.ds.word(context.bx+7);
return;
@@ -7865,40 +7865,40 @@ static void getsetad(Context & context) {
context.bx = 64;
context._mul(context.bx);
context.bx = context.ax;
- context.es = context.ds.word(428);
+ context.es = context.data.word(428);
return;
}
static void findinvpos(Context & context) {
- context.cx = context.ds.word(198);
+ context.cx = context.data.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.ds.word(200);
+ context.cx = context.data.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.ds.byte(19);
+ context.al = context.data.byte(19);
context.ah = 0;
context.cx = 10;
context._mul(context.cx);
context._add(context.bx, context.ax);
context.al = context.bl;
- context.ds.byte(107) = context.al;
+ context.data.byte(107) = context.al;
context._add(context.bx, context.bx);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context._add(context.bx, 0+(228*13)+32);
return;
}
static void findopenpos(Context & context) {
- context.cx = context.ds.word(198);
+ context.cx = context.data.word(198);
context._sub(context.cx, 80);
context.bx = -1;
findopenp1:
@@ -7906,26 +7906,26 @@ findopenp1:
context._sub(context.cx, 44);
if (!context.flags.c()) goto findopenp1;
context.al = context.bl;
- context.ds.byte(107) = context.al;
+ context.data.byte(107) = context.al;
context._add(context.bx, context.bx);
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context._add(context.bx, 0+(228*13));
return;
}
static void dropobject(Context & context) {
- context._cmp(context.ds.byte(100), 223);
+ context._cmp(context.data.byte(100), 223);
if (context.flags.z()) goto alreadydrop;
- context.ds.byte(100) = 223;
- context._cmp(context.ds.byte(106), 0);
+ context.data.byte(100) = 223;
+ context._cmp(context.data.byte(106), 0);
if (context.flags.z()) { blank(context); return; };
- context.bl = context.ds.byte(89);
- context.bh = context.ds.byte(102);
+ context.bl = context.data.byte(89);
+ context.bh = context.data.byte(102);
context.al = 37;
commandwithob(context);
alreadydrop:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nodrop;
context._and(context.ax, 1);
if (!context.flags.z()) goto dodrop;
@@ -7938,11 +7938,11 @@ dodrop:
wornerror(context);
return;
nowornerror:
- context._cmp(context.ds.byte(184), 47);
+ context._cmp(context.data.byte(184), 47);
if (context.flags.z()) goto nodrop2;
- context.cl = context.ds.byte(151);
+ context.cl = context.data.byte(151);
context._add(context.cl, 12);
- context.ch = context.ds.byte(152);
+ context.ch = context.data.byte(152);
context._add(context.ch, 12);
checkone(context);
context._cmp(context.cl, 2);
@@ -7951,14 +7951,14 @@ nodrop2:
droperror(context);
return;
nodroperror:
- context._cmp(context.ds.byte(128), 64);
+ context._cmp(context.data.byte(128), 64);
if (!context.flags.z()) goto notinlift;
- context._cmp(context.ds.byte(129), 64);
+ context._cmp(context.data.byte(129), 64);
if (!context.flags.z()) goto notinlift;
droperror(context);
return;
notinlift:
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
context.ah = 4;
context.cl = 'G';
context.ch = 'U';
@@ -7966,7 +7966,7 @@ notinlift:
context.dh = 'A';
compare(context);
if (context.flags.z()) { cantdrop(context); return; };
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
context.ah = 4;
context.cl = 'S';
context.ch = 'H';
@@ -7974,38 +7974,38 @@ notinlift:
context.dh = 'D';
compare(context);
if (context.flags.z()) { cantdrop(context); return; };
- context.ds.byte(102) = 4;
- context.al = context.ds.byte(89);
+ context.data.byte(102) = 4;
+ context.al = context.data.byte(89);
getexad(context);
context.ds.byte(context.bx+2) = 0;
- context.al = context.ds.byte(151);
+ context.al = context.data.byte(151);
context._add(context.al, 4);
context.cl = 4;
context._shr(context.al, context.cl);
- context._add(context.al, context.ds.byte(148));
- context.ah = context.ds.byte(152);
+ context._add(context.al, context.data.byte(148));
+ context.ah = context.data.byte(152);
context._add(context.ah, 8);
context.cl = 4;
context._shr(context.ah, context.cl);
- context._add(context.ah, context.ds.byte(149));
+ context._add(context.ah, context.data.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.al = context.data.byte(151);
context._add(context.al, 4);
context._and(context.al, 15);
- context.ah = context.ds.byte(152);
+ context.ah = context.data.byte(152);
context._add(context.ah, 8);
context._and(context.ah, 15);
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.data.byte(106) = 0;
+ context.al = context.data.byte(184);
context.ds.byte(context.bx) = context.al;
return;
}
static void droperror(Context & context) {
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8018,13 +8018,13 @@ static void droperror(Context & context) {
showpanel(context);
showman(context);
examicon(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
worktoscreenm(context);
return;
}
static void cantdrop(Context & context) {
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8037,13 +8037,13 @@ static void cantdrop(Context & context) {
showpanel(context);
showman(context);
examicon(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
worktoscreenm(context);
return;
}
static void wornerror(Context & context) {
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8056,17 +8056,17 @@ static void wornerror(Context & context) {
showpanel(context);
showman(context);
examicon(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
worktoscreenm(context);
return;
}
static void removeobfrominv(Context & context) {
- context._cmp(context.ds.byte(99), 100);
+ context._cmp(context.data.byte(99), 100);
if (context.flags.z()) goto obnotexist;
getanyad(context);
context.di = context.bx;
- context.cl = context.ds.byte(99);
+ context.cl = context.data.byte(99);
context.ch = 0;
deleteexobject(context);
obnotexist:
@@ -8074,33 +8074,33 @@ obnotexist:
}
static void selectopenob(Context & context) {
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
getanyad(context);
context._cmp(context.al, 255);
if (!context.flags.z()) goto canopenit1;
blank(context);
return;
canopenit1:
- context._cmp(context.ds.byte(100), 224);
+ context._cmp(context.data.byte(100), 224);
if (context.flags.z()) goto alreadyopob;
- context.ds.byte(100) = 224;
- context.bl = context.ds.byte(99);
- context.bh = context.ds.byte(102);
+ context.data.byte(100) = 224;
+ context.bl = context.data.byte(99);
+ context.bh = context.data.byte(102);
context.al = 38;
commandwithob(context);
alreadyopob:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.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.ds.byte(99);
- context.ds.byte(110) = context.al;
- context.al = context.ds.byte(102);
- context.ds.byte(111) = context.al;
+ context.al = context.data.byte(99);
+ context.data.byte(110) = context.al;
+ context.al = context.data.byte(102);
+ context.data.byte(111) = context.al;
createpanel(context);
showpanel(context);
showman(context);
@@ -8117,9 +8117,9 @@ doopenob:
}
static void useopened(Context & context) {
- context._cmp(context.ds.byte(110), 255);
+ context._cmp(context.data.byte(110), 255);
if (context.flags.z()) goto cannotuseopen;
- context._cmp(context.ds.byte(106), 0);
+ context._cmp(context.data.byte(106), 0);
if (!context.flags.z()) goto notout2;
outofopen(context);
return;
@@ -8132,26 +8132,26 @@ notout2:
cannotuseopen:
return;
canplace3:
- context._cmp(context.ds.byte(106), 1);
+ context._cmp(context.data.byte(106), 1);
if (context.flags.z()) goto intoopen;
blank(context);
return;
intoopen:
- context.al = context.ds.byte(89);
- context.ah = context.ds.byte(102);
- context._cmp(context.ax, context.ds.word(94));
+ context.al = context.data.byte(89);
+ context.ah = context.data.byte(102);
+ context._cmp(context.ax, context.data.word(94));
if (!context.flags.z()) goto difsub2;
- context._cmp(context.ds.byte(100), 227);
+ context._cmp(context.data.byte(100), 227);
if (context.flags.z()) goto alreadyplc2;
- context.ds.byte(100) = 227;
+ context.data.byte(100) = 227;
difsub2:
- context.ds.word(94) = context.ax;
+ context.data.word(94) = context.ax;
context.bx = context.ax;
context.al = 35;
commandwithob(context);
alreadyplc2:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notletgo3;
context._cmp(context.ax, 1);
if (context.flags.z()) goto doplace2;
@@ -8165,11 +8165,11 @@ doplace2:
return;
notworntoopen:
delpointer(context);
- context.al = context.ds.byte(89);
- context._cmp(context.al, context.ds.byte(110));
+ context.al = context.data.byte(89);
+ context._cmp(context.al, context.data.byte(110));
if (!context.flags.z()) goto isntsame;
- context.al = context.ds.byte(102);
- context._cmp(context.al, context.ds.byte(111));
+ context.al = context.data.byte(102);
+ context._cmp(context.al, context.data.byte(111));
if (!context.flags.z()) goto isntsame;
errormessage1(context);
return;
@@ -8179,16 +8179,16 @@ isntsame:
if (context.flags.z()) goto sizeok1;
return;
sizeok1:
- context.ds.byte(106) = 0;
- context.al = context.ds.byte(89);
+ context.data.byte(106) = 0;
+ context.al = context.data.byte(89);
geteitherad(context);
- context.al = context.ds.byte(111);
+ context.al = context.data.byte(111);
context.ds.byte(context.bx+2) = context.al;
- context.al = context.ds.byte(110);
+ context.al = context.data.byte(110);
context.ds.byte(context.bx+3) = context.al;
- context.al = context.ds.byte(107);
+ context.al = context.data.byte(107);
context.ds.byte(context.bx+4) = context.al;
- context.al = context.ds.byte(184);
+ context.al = context.data.byte(184);
context.ds.byte(context.bx+5) = context.al;
fillopen(context);
undertextline(context);
@@ -8225,7 +8225,7 @@ static void errormessage1(Context & context) {
}
static void errormessage2(Context & context) {
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
delpointer(context);
context.di = 76;
context.bx = 21;
@@ -8273,7 +8273,7 @@ static void errormessage3(Context & context) {
static void checkobjectsize(Context & context) {
getopenedsize(context);
context.push(context.ax);
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
geteitherad(context);
context.al = context.ds.byte(context.bx+9);
context.cx = context.pop();
@@ -8312,7 +8312,7 @@ sizeok:
}
static void outofopen(Context & context) {
- context._cmp(context.ds.byte(110), 255);
+ context._cmp(context.data.byte(110), 255);
if (context.flags.z()) goto cantuseopen;
findopenpos(context);
context.ax = context.ds.word(context.bx);
@@ -8322,19 +8322,19 @@ cantuseopen:
blank(context);
return;
canpick4:
- context._cmp(context.ax, context.ds.word(94));
+ context._cmp(context.ax, context.data.word(94));
if (!context.flags.z()) goto difsub4;
- context._cmp(context.ds.byte(100), 228);
+ context._cmp(context.data.byte(100), 228);
if (context.flags.z()) goto alreadygrb;
- context.ds.byte(100) = 228;
+ context.data.byte(100) = 228;
difsub4:
- context.ds.word(94) = context.ax;
+ context.data.word(94) = context.ax;
context.bx = context.ax;
context.al = 36;
commandwithob(context);
alreadygrb:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notletgo4;
context._cmp(context.ax, 1);
if (context.flags.z()) goto dogrb;
@@ -8345,11 +8345,11 @@ notletgo4:
return;
dogrb:
delpointer(context);
- context.ds.byte(106) = 1;
+ context.data.byte(106) = 1;
findopenpos(context);
context.ax = context.ds.word(context.bx);
- context.ds.byte(89) = context.al;
- context.ds.byte(102) = context.ah;
+ context.data.byte(89) = context.al;
+ context.data.byte(102) = context.ah;
context._cmp(context.ah, 4);
if (!context.flags.z()) goto makeintoex;
geteitherad(context);
@@ -8358,8 +8358,8 @@ dogrb:
goto actuallyout;
makeintoex:
transfertoex(context);
- context.ds.byte(89) = context.al;
- context.ds.byte(102) = 4;
+ context.data.byte(89) = context.al;
+ context.data.byte(102) = 4;
geteitherad(context);
context.ds.byte(context.bx+2) = 20;
context.ds.byte(context.bx+3) = 255;
@@ -8377,37 +8377,37 @@ actuallyout:
static void transfertoex(Context & context) {
emergencypurge(context);
getexpos(context);
- context.al = context.ds.byte(10);
+ context.al = context.data.byte(10);
context.push(context.ax);
context.push(context.di);
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
context.ah = 0;
context.bx = 16;
context._mul(context.bx);
- context.ds = context.ds.word(426);
+ context.ds = context.data.word(426);
context.si = context.ax;
context.cx = 8;
while(--context.cx) context._movsw();
context.di = context.pop();
- context.al = context.ds.byte(184);
+ context.al = context.data.byte(184);
context.ds.byte(context.di) = context.al;
context.ds.byte(context.di+11) = context.al;
- context.al = context.ds.byte(89);
+ context.al = context.data.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.al = context.data.byte(107);
context.ds.byte(context.di+4) = context.al;
- context.al = context.ds.byte(89);
- context.ds.byte(90) = context.al;
+ context.al = context.data.byte(89);
+ context.data.byte(90) = context.al;
transfermap(context);
transferinv(context);
transfertext(context);
- context.al = context.ds.byte(89);
+ context.al = context.data.byte(89);
context.ah = 0;
context.bx = 16;
context._mul(context.bx);
- context.ds = context.ds.word(426);
+ context.ds = context.data.word(426);
context.si = context.ax;
context.ds.byte(context.si+2) = 254;
pickupconts(context);
@@ -8419,10 +8419,10 @@ static void pickupconts(Context & context) {
context.al = context.ds.byte(context.si+7);
context._cmp(context.al, 255);
if (context.flags.z()) goto notopenable;
- 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.al = context.data.byte(89);
+ context.ah = context.data.byte(102);
+ context.dl = context.data.byte(10);
+ context.es = context.data.word(426);
context.bx = 0;
context.cx = 0;
pickupcontloop:
@@ -8435,7 +8435,7 @@ pickupcontloop:
if (!context.flags.z()) goto notinsidethis;
context._cmp(context.ds.byte(context.bx+3), context.al);
if (!context.flags.z()) goto notinsidethis;
- context.ds.byte(90) = context.cl;
+ context.data.byte(90) = context.cl;
transfercontoex(context);
notinsidethis:
context.ax = context.pop();
@@ -8465,10 +8465,10 @@ static void transfercontoex(Context & context) {
while(--context.cx) context._movsw();
context.di = context.pop();
context.dx = context.pop();
- context.al = context.ds.byte(184);
+ context.al = context.data.byte(184);
context.ds.byte(context.di) = context.al;
context.ds.byte(context.di+11) = context.al;
- context.al = context.ds.byte(90);
+ context.al = context.data.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;
@@ -8482,19 +8482,19 @@ static void transfercontoex(Context & context) {
}
static void transfertext(Context & context) {
- context.es = context.ds.word(398);
- context.al = context.ds.byte(10);
+ context.es = context.data.word(398);
+ context.al = context.data.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.ds.word(14);
+ context.di = context.data.word(14);
context.ds.word(context.bx) = context.di;
context._add(context.di, 0+2080+30000+(16*114)+((114+2)*2));
- context.al = context.ds.byte(90);
+ context.al = context.data.byte(90);
context.ah = 0;
context._add(context.ax, context.ax);
- context.ds = context.ds.word(438);
+ context.ds = context.data.word(438);
context.bx = 0;
context._add(context.bx, context.ax);
context.si = 0+(82*2);
@@ -8503,14 +8503,14 @@ static void transfertext(Context & context) {
moretext:
context._lodsb();
context._stosb();
- context._add(context.ds.word(14), 1);
+ context._add(context.data.word(14), 1);
context._cmp(context.al, 0);
if (!context.flags.z()) goto moretext;
return;
}
static void getexpos(Context & context) {
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.al = 0;
context.di = 0+2080+30000;
tryanotherex:
@@ -8521,13 +8521,13 @@ tryanotherex:
context._cmp(context.al, 114);
if (!context.flags.z()) goto tryanotherex;
foundnewex:
- context.ds.byte(10) = context.al;
+ context.data.byte(10) = context.al;
return;
}
static void purgealocation(Context & context) {
context.push(context.ax);
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.di = 0+2080+30000;
context.bx = context.pop();
context.cx = 0;
@@ -8555,14 +8555,14 @@ dontpurge:
static void emergencypurge(Context & context) {
checkpurgeagain:
- context.ax = context.ds.word(12);
+ context.ax = context.data.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.ds.word(14);
+ context.ax = context.data.word(14);
context._add(context.ax, 400);
context._cmp(context.ax, 18000);
if (context.flags.c()) goto notneartextend;
@@ -8573,9 +8573,9 @@ notneartextend:
}
static void purgeanitem(Context & context) {
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.di = 0+2080+30000;
- context.bl = context.ds.byte(184);
+ context.bl = context.data.byte(184);
context.cx = 0;
lookforpurge:
context.al = context.ds.byte(context.di+2);
@@ -8596,7 +8596,7 @@ cantpurge:
context._cmp(context.cx, 114);
if (!context.flags.z()) goto lookforpurge;
context.di = 0+2080+30000;
- context.bl = context.ds.byte(184);
+ context.bl = context.data.byte(184);
context.cx = 0;
lookforpurge2:
context.al = context.ds.byte(context.di+2);
@@ -8681,7 +8681,7 @@ static void deleteexframe(Context & context) {
context.ds = context.es;
while(--context.cx) context._movsb();
context.bx = context.pop();
- context._sub(context.ds.word(12), context.bx);
+ context._sub(context.data.word(12), context.bx);
context.si = context.pop();
context.cx = 114*3;
context.di = 0;
@@ -8722,7 +8722,7 @@ findlenextext:
context._sub(context.cx, context.bx);
while(--context.cx) context._movsb();
context.bx = context.pop();
- context._sub(context.ds.word(14), context.bx);
+ context._sub(context.data.word(14), context.bx);
context.si = context.pop();
context.cx = 114;
context.di = 0+2080+30000+(16*114);
@@ -8741,7 +8741,7 @@ beforethistext:
static void blockget(Context & context) {
context.ah = context.al;
context.al = 0;
- context.ds = context.ds.word(416);
+ context.ds = context.data.word(416);
context.si = 0+192;
context._add(context.si, context.ax);
return;
@@ -8759,7 +8759,7 @@ static void drawfloor(Context & context) {
showallex(context);
paneltomap(context);
initrain(context);
- context.ds.byte(62) = 0;
+ context.data.byte(62) = 0;
context.bx = context.pop();
context.es = context.pop();
return;
@@ -8776,8 +8776,8 @@ static void calcmapad(Context & context) {
context.ax.cbw();
context.bx = 8;
context._mul(context.bx);
- context._add(context.ax, context.ds.word(121));
- context.ds.word(117) = context.ax;
+ context._add(context.ax, context.data.word(121));
+ context.data.word(117) = context.ax;
context.dx = context.pop();
context.cx = context.pop();
context.al = 10;
@@ -8787,13 +8787,13 @@ static void calcmapad(Context & context) {
context.ax.cbw();
context.bx = 8;
context._mul(context.bx);
- context._add(context.ax, context.ds.word(123));
- context.ds.word(119) = context.ax;
+ context._add(context.ax, context.data.word(123));
+ context.data.word(119) = context.ax;
return;
}
static void getdimension(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32);
context.ch = 0;
dimloop1:
@@ -8845,14 +8845,14 @@ finishdim4:
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
- context.ds.word(125) = context.ax;
+ context.data.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.ds.word(127) = context.ax;
+ context.data.word(127) = context.ax;
context._sub(context.dl, context.cl);
context._sub(context.dh, context.ch);
context.al = context.dl;
@@ -8861,14 +8861,14 @@ finishdim4:
context._shl(context.ax, 1);
context._shl(context.ax, 1);
context._shl(context.ax, 1);
- context.ds.byte(128) = context.al;
+ context.data.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.ds.byte(129) = context.al;
+ context.data.byte(129) = context.al;
return;
}
@@ -8903,13 +8903,13 @@ gotlength:
}
static void drawflags(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.di = 0+(228*13)+32+60+(32*32);
- context.al = context.ds.byte(149);
+ context.al = context.data.byte(149);
context.ah = 0;
context.cx = 66;
context._mul(context.cx);
- context.bl = context.ds.byte(148);
+ context.bl = context.data.byte(148);
context.bh = 0;
context._add(context.ax, context.bx);
context.si = 0;
@@ -8919,9 +8919,9 @@ _tmp28:
context.push(context.cx);
context.cx = 11;
_tmp28a:
- context.ds = context.ds.word(418);
+ context.ds = context.data.word(418);
context._lodsb();
- context.ds = context.ds.word(416);
+ context.ds = context.data.word(416);
context.push(context.si);
context.push(context.ax);
context.ah = 0;
@@ -8940,9 +8940,9 @@ _tmp28a:
}
static void eraseoldobs(Context & context) {
- context._cmp(context.ds.byte(62), 0);
+ context._cmp(context.data.byte(62), 0);
if (context.flags.z()) goto donterase;
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768;
context.cx = 16;
oberase:
@@ -8965,21 +8965,21 @@ donterase:
}
static void showallobs(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32);
- context.ds.word(18) = context.bx;
+ context.data.word(18) = context.bx;
context.di = context.bx;
context.cx = 128*5;
context.al = 255;
while(--context.cx) context._stosb();
- context.es = context.ds.word(444);
- context.ds.word(166) = context.es;
+ context.es = context.data.word(444);
+ context.data.word(166) = context.es;
context.ax = 0;
- context.ds.word(164) = context.ax;
+ context.data.word(164) = context.ax;
context.ax = 0+2080;
- context.ds.word(162) = context.ax;
- context.ds.byte(181) = 0;
- context.ds = context.ds.word(428);
+ context.data.word(162) = context.ax;
+ context.data.byte(181) = 0;
+ context.ds = context.data.word(428);
context.si = 0;
context.cx = 128;
showobsloop:
@@ -8987,14 +8987,14 @@ showobsloop:
context.push(context.si);
context.push(context.si);
context._add(context.si, 58);
- context.es = context.ds.word(428);
+ context.es = context.data.word(428);
getmapad(context);
context.si = context.pop();
context._cmp(context.ch, 0);
if (context.flags.z()) goto blankframe;
context.al = context.ds.byte(context.si+18);
context.ah = 0;
- context.ds.word(160) = context.ax;
+ context.data.word(160) = context.ax;
context._cmp(context.al, 255);
if (context.flags.z()) goto blankframe;
context.push(context.es);
@@ -9011,31 +9011,31 @@ showobsloop:
if (context.flags.z()) goto animating;
context._cmp(context.ds.byte(context.si+5), 6);
if (context.flags.z()) goto animating;
- context.ax = context.ds.word(160);
+ context.ax = context.data.word(160);
context.ah = 0;
- context._add(context.di, context.ds.word(117));
- context._add(context.bx, context.ds.word(119));
+ context._add(context.di, context.data.word(117));
+ context._add(context.bx, context.data.word(119));
showframe(context);
goto drawnsetob;
animating:
makebackob(context);
drawnsetob:
- 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.si = context.data.word(18);
+ context.es = context.data.word(412);
+ context.al = context.data.byte(179);
+ context.ah = context.data.byte(180);
context.ds.word(context.si) = context.ax;
context.cx = context.ax;
- context.ax = context.ds.word(176);
+ context.ax = context.data.word(176);
context._add(context.al, context.cl);
context._add(context.ah, context.ch);
context.ds.word(context.si+2) = context.ax;
- context.al = context.ds.byte(181);
+ context.al = context.data.byte(181);
context.ds.byte(context.si+4) = context.al;
context._add(context.si, 5);
- context.ds.word(18) = context.si;
+ context.data.word(18) = context.si;
blankframe:
- context._add(context.ds.byte(181), 1);
+ context._add(context.data.byte(181), 1);
context.si = context.pop();
context.cx = context.pop();
context._add(context.si, 64);
@@ -9047,19 +9047,19 @@ finishedsetobs:
}
static void makebackob(Context & context) {
- context._cmp(context.ds.byte(62), 0);
+ context._cmp(context.data.byte(62), 0);
if (context.flags.z()) goto nomake;
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.ds.word(168);
- context.bx = context.ds.word(170);
+ context.ax = context.data.word(168);
+ context.bx = context.data.word(170);
context.ah = context.bl;
context.si = context.ax;
context.cx = 49520;
- context.dx = context.ds.word(444);
+ context.dx = context.data.word(444);
context.di = 0;
makesprite(context);
context.ax = context.pop();
@@ -9080,61 +9080,61 @@ nomake:
}
static void showallfree(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5);
- context.ds.word(18) = context.bx;
+ context.data.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.ds.word(446);
- context.ds.word(166) = context.es;
+ context.es = context.data.word(446);
+ context.data.word(166) = context.es;
context.ax = 0;
- context.ds.word(164) = context.ax;
+ context.data.word(164) = context.ax;
context.ax = 0+2080;
- context.ds.word(162) = context.ax;
+ context.data.word(162) = context.ax;
context.al = 0;
- context.ds.byte(158) = context.al;
- context.ds = context.ds.word(426);
+ context.data.byte(158) = context.al;
+ context.ds = context.data.word(426);
context.si = 2;
context.cx = 0;
loop127:
context.push(context.cx);
context.push(context.si);
context.push(context.si);
- context.es = context.ds.word(426);
+ context.es = context.data.word(426);
getmapad(context);
context.si = context.pop();
context._cmp(context.ch, 0);
if (context.flags.z()) goto over138;
- context.al = context.ds.byte(158);
+ context.al = context.data.byte(158);
context.ah = 0;
context.dx = context.ax;
context._add(context.ax, context.ax);
context._add(context.ax, context.dx);
- context.ds.word(160) = context.ax;
+ context.data.word(160) = context.ax;
context.push(context.es);
context.push(context.si);
calcfrframe(context);
- context.es = context.ds.word(402);
- context.ds = context.ds.word(166);
+ context.es = context.data.word(402);
+ context.ds = context.data.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.ds.word(160);
+ context.ax = context.data.word(160);
context.ah = 0;
- context._add(context.di, context.ds.word(117));
- context._add(context.bx, context.ds.word(119));
+ context._add(context.di, context.data.word(117));
+ context._add(context.bx, context.data.word(119));
showframe(context);
- 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.si = context.data.word(18);
+ context.es = context.data.word(412);
+ context.al = context.data.byte(179);
+ context.ah = context.data.byte(180);
context.ds.word(context.si) = context.ax;
context.cx = context.ax;
- context.ax = context.ds.word(176);
+ context.ax = context.data.word(176);
context._add(context.al, context.cl);
context._add(context.ah, context.ch);
context.ds.word(context.si+2) = context.ax;
@@ -9144,9 +9144,9 @@ loop127:
context.push(context.ax);
context.ds.byte(context.si+4) = context.cl;
context._add(context.si, 5);
- context.ds.word(18) = context.si;
+ context.data.word(18) = context.si;
over138:
- context._add(context.ds.byte(158), 1);
+ context._add(context.data.byte(158), 1);
context.si = context.pop();
context.cx = context.pop();
context._add(context.si, 16);
@@ -9159,66 +9159,66 @@ finfree:
}
static void showallex(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.word(412);
context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5);
- context.ds.word(18) = context.bx;
+ context.data.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.ds.word(398);
- context.ds.word(166) = context.es;
+ context.es = context.data.word(398);
+ context.data.word(166) = context.es;
context.ax = 0;
- context.ds.word(164) = context.ax;
+ context.data.word(164) = context.ax;
context.ax = 0+2080;
- context.ds.word(162) = context.ax;
- context.ds.byte(157) = 0;
+ context.data.word(162) = context.ax;
+ context.data.byte(157) = 0;
context.si = 0+2080+30000+2;
context.cx = 0;
exloop:
context.push(context.cx);
context.push(context.si);
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.push(context.si);
context.ch = 0;
context._cmp(context.ds.byte(context.si), 255);
if (context.flags.z()) goto notinroom;
context.al = context.ds.byte(context.si-2);
- context._cmp(context.al, context.ds.byte(184));
+ context._cmp(context.al, context.data.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.ds.byte(157);
+ context.al = context.data.byte(157);
context.ah = 0;
context.dx = context.ax;
context._add(context.ax, context.ax);
context._add(context.ax, context.dx);
- context.ds.word(160) = context.ax;
+ context.data.word(160) = context.ax;
context.push(context.es);
context.push(context.si);
calcfrframe(context);
- context.es = context.ds.word(402);
- context.ds = context.ds.word(166);
+ context.es = context.data.word(402);
+ context.ds = context.data.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.ds.word(160);
+ context.ax = context.data.word(160);
context.ah = 0;
- context._add(context.di, context.ds.word(117));
- context._add(context.bx, context.ds.word(119));
+ context._add(context.di, context.data.word(117));
+ context._add(context.bx, context.data.word(119));
showframe(context);
- 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.si = context.data.word(18);
+ context.es = context.data.word(412);
+ context.al = context.data.byte(179);
+ context.ah = context.data.byte(180);
context.ds.word(context.si) = context.ax;
context.cx = context.ax;
- context.ax = context.ds.word(176);
+ context.ax = context.data.word(176);
context._add(context.al, context.cl);
context._add(context.ah, context.ch);
context.ds.word(context.si+2) = context.ax;
@@ -9228,9 +9228,9 @@ notinroom:
context.push(context.ax);
context.ds.byte(context.si+4) = context.cl;
context._add(context.si, 5);
- context.ds.word(18) = context.si;
+ context.data.word(18) = context.si;
blankex:
- context._add(context.ds.byte(157), 1);
+ context._add(context.data.byte(157), 1);
context.si = context.pop();
context.cx = context.pop();
context._add(context.si, 16);
@@ -9243,11 +9243,11 @@ finex:
}
static void calcfrframe(Context & context) {
- context.dx = context.ds.word(166);
- context.ax = context.ds.word(162);
+ context.dx = context.data.word(166);
+ context.ax = context.data.word(162);
context.push(context.ax);
- context.cx = context.ds.word(164);
- context.ax = context.ds.word(160);
+ context.cx = context.data.word(164);
+ context.ax = context.data.word(160);
context.ds = context.dx;
context.bx = 6;
context._mul(context.bx);
@@ -9259,33 +9259,33 @@ static void calcfrframe(Context & context) {
context.bx = context.pop();
context.push(context.dx);
context._add(context.ax, context.bx);
- context.ds.word(178) = context.ax;
- context.ds.word(176) = context.cx;
+ context.data.word(178) = context.ax;
+ context.data.word(176) = context.cx;
context.ax = context.pop();
context.push(context.ax);
context.ah = 0;
- context.ds.word(172) = context.ax;
+ context.data.word(172) = context.ax;
context.ax = context.pop();
context.al = context.ah;
context.ah = 0;
- context.ds.word(174) = context.ax;
+ context.data.word(174) = context.ax;
return;
nullframe:
context.ax = context.pop();
context.cx = 0;
- context.ds.word(176) = context.cx;
+ context.data.word(176) = context.cx;
return;
}
static void finalframe(Context & context) {
- 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);
+ 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);
return;
}
@@ -9305,11 +9305,11 @@ static void getmapad(Context & context) {
getxad(context);
context._cmp(context.ch, 0);
if (context.flags.z()) goto over146;
- context.ds.word(168) = context.ax;
+ context.data.word(168) = context.ax;
getyad(context);
context._cmp(context.ch, 0);
if (context.flags.z()) goto over146;
- context.ds.word(170) = context.ax;
+ context.data.word(170) = context.ax;
context.ch = 1;
over146:
return;
@@ -9324,7 +9324,7 @@ static void getxad(Context & context) {
context._add(context.si, 1);
context._cmp(context.cl, 0);
if (!context.flags.z()) goto over148;
- context._sub(context.al, context.ds.byte(148));
+ context._sub(context.al, context.data.byte(148));
if (context.flags.c()) goto over148;
context._cmp(context.al, 11);
if (!context.flags.c()) goto over148;
@@ -9344,7 +9344,7 @@ static void getyad(Context & context) {
context._add(context.si, 1);
context.ah = context.ds.byte(context.si);
context._add(context.si, 1);
- context._sub(context.al, context.ds.byte(149));
+ context._sub(context.al, context.data.byte(149));
if (context.flags.c()) goto over147;
context._cmp(context.al, 10);
if (!context.flags.c()) goto over147;
@@ -9360,40 +9360,40 @@ over147:
}
static void autolook(Context & context) {
- context.ax = context.ds.word(198);
- context._cmp(context.ax, context.ds.word(214));
+ context.ax = context.data.word(198);
+ context._cmp(context.ax, context.data.word(214));
if (!context.flags.z()) goto diffmouse;
- context.ax = context.ds.word(200);
- context._cmp(context.ax, context.ds.word(216));
+ context.ax = context.data.word(200);
+ context._cmp(context.ax, context.data.word(216));
if (!context.flags.z()) goto diffmouse;
- context._sub(context.ds.word(98), 1);
- context._cmp(context.ds.word(98), 0);
+ context._sub(context.data.word(98), 1);
+ context._cmp(context.data.word(98), 0);
if (!context.flags.z()) goto noautolook;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto noautolook;
dolook(context);
noautolook:
return;
diffmouse:
- context.ds.word(98) = 1000;
+ context.data.word(98) = 1000;
return;
}
static void look(Context & context) {
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(234), 2);
+ context._cmp(context.data.byte(234), 2);
if (context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 241);
+ context._cmp(context.data.byte(100), 241);
if (context.flags.z()) goto alreadylook;
- context.ds.byte(100) = 241;
+ context.data.byte(100) = 241;
context.al = 25;
commandonly(context);
alreadylook:
- context._cmp(context.ds.word(202), 1);
+ context._cmp(context.data.word(202), 1);
if (!context.flags.z()) goto nolook;
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nolook;
dolook(context);
nolook:
@@ -9405,19 +9405,19 @@ static void dolook(Context & context) {
showicon(context);
undertextline(context);
worktoscreenm(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
dumptextline(context);
- context.bl = context.ds.byte(185);
+ context.bl = context.data.byte(185);
context._and(context.bl, 31);
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.ds.word(436);
+ context.es = context.data.word(436);
context._add(context.bx, 0);
context.si = context.ds.word(context.bx);
context._add(context.si, 0+(38*2));
findnextcolon(context);
context.di = 66;
- context._cmp(context.ds.byte(184), 50);
+ context._cmp(context.data.byte(184), 50);
if (context.flags.c()) goto notdream3;
context.di = 40;
notdream3:
@@ -9429,17 +9429,17 @@ notdream3:
context.cx = 400;
hangonp(context);
afterlook:
- context.ds.byte(234) = 0;
- context.ds.byte(100) = 0;
+ context.data.byte(234) = 0;
+ context.data.byte(100) = 0;
redrawmainscrn(context);
worktoscreenm(context);
return;
}
static void redrawmainscrn(Context & context) {
- context.ds.word(328) = 0;
+ context.data.word(328) = 0;
createpanel(context);
- context.ds.byte(62) = 0;
+ context.data.byte(62) = 0;
drawfloor(context);
printsprites(context);
reelsonscreen(context);
@@ -9447,40 +9447,40 @@ static void redrawmainscrn(Context & context) {
getunderzoom(context);
undertextline(context);
readmouse(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
return;
}
static void getback1(Context & context) {
- context._cmp(context.ds.byte(106), 0);
+ context._cmp(context.data.byte(106), 0);
if (context.flags.z()) goto notgotobject;
blank(context);
return;
notgotobject:
- context._cmp(context.ds.byte(100), 202);
+ context._cmp(context.data.byte(100), 202);
if (context.flags.z()) goto alreadyget;
- context.ds.byte(100) = 202;
+ context.data.byte(100) = 202;
context.al = 26;
commandonly(context);
alreadyget:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nogetback;
context._and(context.ax, 1);
if (!context.flags.z()) goto dogetback;
nogetback:
return;
dogetback:
- context.ds.byte(103) = 1;
- context.ds.byte(106) = 0;
+ context.data.byte(103) = 1;
+ context.data.byte(106) = 0;
return;
}
static void talk(Context & context) {
- context.ds.byte(246) = 0;
- context.ds.byte(237) = 0;
- context.al = context.ds.byte(99);
- context.ds.byte(247) = context.al;
+ context.data.byte(246) = 0;
+ context.data.byte(237) = 0;
+ context.al = context.data.byte(99);
+ context.data.byte(247) = context.al;
createpanel(context);
showpanel(context);
showman(context);
@@ -9488,7 +9488,7 @@ static void talk(Context & context) {
undertextline(context);
convicons(context);
starttalk(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -9500,15 +9500,15 @@ waittalk:
vsync(context);
dumppointer(context);
dumptextline(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
context.bx = 2660;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto waittalk;
finishtalk:
- context.bx = context.ds.word(249);
+ context.bx = context.data.word(249);
context.es = context.cs;
- context._cmp(context.ds.byte(246), 4);
+ context._cmp(context.data.byte(246), 4);
if (context.flags.c()) goto notnexttalk;
context.al = context.ds.byte(context.bx+7);
context._or(context.al, 128);
@@ -9516,25 +9516,25 @@ finishtalk:
notnexttalk:
redrawmainscrn(context);
worktoscreenm(context);
- context._cmp(context.ds.byte(383), 1);
+ context._cmp(context.data.byte(383), 1);
if (!context.flags.z()) goto nospeech;
cancelch1(context);
- context.ds.byte(388) = -1;
- context.ds.byte(387) = 0;
+ context.data.byte(388) = -1;
+ context.data.byte(387) = 0;
nospeech:
return;
}
static void convicons(Context & context) {
- context.al = context.ds.byte(247);
+ context.al = context.data.byte(247);
context._and(context.al, 127);
getpersframe(context);
context.di = 234;
context.bx = 2;
- context.ds.word(160) = context.ax;
+ context.data.word(160) = context.ax;
findsource(context);
- context.ax = context.ds.word(160);
- context._sub(context.ax, context.ds.word(244));
+ context.ax = context.data.word(160);
+ context._sub(context.ax, context.data.word(244));
context.ah = 0;
showframe(context);
return;
@@ -9544,25 +9544,25 @@ static void getpersframe(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.ds.word(448);
+ context.es = context.data.word(448);
context._add(context.bx, 0);
context.ax = context.ds.word(context.bx);
return;
}
static void starttalk(Context & context) {
- context.ds.byte(245) = 0;
- context.al = context.ds.byte(247);
+ context.data.byte(245) = 0;
+ context.al = context.data.byte(247);
context._and(context.al, 127);
getpersontext(context);
- context.ds.word(71) = 91+91;
+ context.data.word(71) = 91+91;
context.di = 66;
context.bx = 64;
context.dl = 241;
context.al = 0;
context.ah = 79;
printdirect(context);
- context.ds.word(71) = 0;
+ context.data.word(71) = 0;
context.di = 66;
context.bx = 80;
context.dl = 241;
@@ -9578,7 +9578,7 @@ static void getpersontext(Context & context) {
context.cx = 64*2;
context._mul(context.cx);
context.si = context.ax;
- context.es = context.ds.word(448);
+ context.es = context.data.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
context.ax = context.ds.word(context.si);
@@ -9588,30 +9588,30 @@ static void getpersontext(Context & context) {
}
static void moretalk(Context & context) {
- context._cmp(context.ds.byte(245), 0);
+ context._cmp(context.data.byte(245), 0);
if (context.flags.z()) goto canmore;
redes(context);
return;
canmore:
- context._cmp(context.ds.byte(100), 215);
+ context._cmp(context.data.byte(100), 215);
if (context.flags.z()) goto alreadymore;
- context.ds.byte(100) = 215;
+ context.data.byte(100) = 215;
context.al = 49;
commandonly(context);
alreadymore:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nomore;
context._and(context.ax, 1);
if (!context.flags.z()) goto domoretalk;
nomore:
return;
domoretalk:
- context.ds.byte(245) = 2;
- context.ds.byte(246) = 4;
- context._cmp(context.ds.byte(247), 100);
+ context.data.byte(245) = 2;
+ context.data.byte(246) = 4;
+ context._cmp(context.data.byte(247), 100);
if (context.flags.c()) goto notsecondpart;
- context.ds.byte(246) = 48;
+ context.data.byte(246) = 48;
notsecondpart:
dosometalk(context);
return;
@@ -9619,19 +9619,19 @@ notsecondpart:
static void dosometalk(Context & context) {
watchtalk:
- context.al = context.ds.byte(246);
- context.al = context.ds.byte(247);
+ context.al = context.data.byte(246);
+ context.al = context.data.byte(247);
context._and(context.al, 127);
context.ah = 0;
context.cx = 64;
context._mul(context.cx);
context.cx = context.ax;
- context.al = context.ds.byte(246);
+ context.al = context.data.byte(246);
context.ah = 0;
context._add(context.ax, context.cx);
context._add(context.ax, context.ax);
context.si = context.ax;
- context.es = context.ds.word(448);
+ context.es = context.data.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
context.ax = context.ds.word(context.si);
@@ -9654,24 +9654,24 @@ watchtalk:
context.al = 0;
context.ah = 0;
printdirect(context);
- context.ds.byte(234) = 3;
+ context.data.byte(234) = 3;
worktoscreenm(context);
context.cx = 180;
hangonpq(context);
- context._add(context.ds.byte(246), 1);
- context.al = context.ds.byte(246);
- context.al = context.ds.byte(247);
+ context._add(context.data.byte(246), 1);
+ context.al = context.data.byte(246);
+ context.al = context.data.byte(247);
context._and(context.al, 127);
context.ah = 0;
context.cx = 64;
context._mul(context.cx);
context.cx = context.ax;
- context.al = context.ds.byte(246);
+ context.al = context.data.byte(246);
context.ah = 0;
context._add(context.ax, context.cx);
context._add(context.ax, context.ax);
context.si = context.ax;
- context.es = context.ds.word(448);
+ context.es = context.data.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
context.ax = context.ds.word(context.si);
@@ -9698,20 +9698,20 @@ watchtalk:
context.al = 0;
context.ah = 0;
printdirect(context);
- context.ds.byte(234) = 3;
+ context.data.byte(234) = 3;
worktoscreenm(context);
context.cx = 180;
hangonpq(context);
skiptalk:
- context._add(context.ds.byte(246), 1);
+ context._add(context.data.byte(246), 1);
goto watchtalk;
endwatchtalk:
- context.ds.byte(234) = 0;
+ context.data.byte(234) = 0;
return;
}
static void hangonpq(Context & context) {
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
context.bx = 0;
hangloopq:
context.push(context.cx);
@@ -9727,48 +9727,48 @@ hangloopq:
checkcoords(context);
context.bx = context.pop();
context.cx = context.pop();
- context._cmp(context.ds.byte(103), 1);
+ context._cmp(context.data.byte(103), 1);
if (context.flags.z()) goto quitconv;
- context._cmp(context.ds.byte(383), 1);
+ context._cmp(context.data.byte(383), 1);
if (!context.flags.z()) goto notspeaking;
- context._cmp(context.ds.byte(515), 255);
+ context._cmp(context.data.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.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto hangloopq;
- context._cmp(context.ds.word(212), 0);
+ context._cmp(context.data.word(212), 0);
if (!context.flags.z()) goto hangloopq;
finishconv:
delpointer(context);
- context.ds.byte(234) = 0;
+ context.data.byte(234) = 0;
return;
quitconv:
delpointer(context);
- context.ds.byte(234) = 0;
+ context.data.byte(234) = 0;
context.ax = context.pop();
cancelch1(context);
return;
}
static void redes(Context & context) {
- context._cmp(context.ds.byte(515), 255);
+ context._cmp(context.data.byte(515), 255);
if (!context.flags.z()) goto cantredes;
- context._cmp(context.ds.byte(245), 2);
+ context._cmp(context.data.byte(245), 2);
if (context.flags.z()) goto canredes;
cantredes:
blank(context);
return;
canredes:
- context._cmp(context.ds.byte(100), 217);
+ context._cmp(context.data.byte(100), 217);
if (context.flags.z()) goto alreadyreds;
- context.ds.byte(100) = 217;
+ context.data.byte(100) = 217;
context.al = 50;
commandonly(context);
alreadyreds:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (!context.flags.z()) goto doredes;
return;
@@ -9788,27 +9788,27 @@ doredes:
}
static void newplace(Context & context) {
- context._cmp(context.ds.byte(60), 1);
+ context._cmp(context.data.byte(60), 1);
if (context.flags.z()) goto istravel;
- context._cmp(context.ds.byte(189), -1);
+ context._cmp(context.data.byte(189), -1);
if (!context.flags.z()) goto isautoloc;
return;
isautoloc:
- context.al = context.ds.byte(189);
- context.ds.byte(188) = context.al;
- context.ds.byte(189) = -1;
+ context.al = context.data.byte(189);
+ context.data.byte(188) = context.al;
+ context.data.byte(189) = -1;
return;
istravel:
- context.ds.byte(60) = 0;
+ context.data.byte(60) = 0;
selectlocation(context);
return;
}
static void selectlocation(Context & context) {
- context.ds.byte(237) = 0;
+ context.data.byte(237) = 0;
clearbeforeload(context);
- context.ds.byte(103) = 0;
- context.ds.byte(231) = 22;
+ context.data.byte(103) = 0;
+ context.data.byte(231) = 22;
readcitypic(context);
showcity(context);
getridoftemp(context);
@@ -9820,15 +9820,15 @@ static void selectlocation(Context & context) {
showexit(context);
locationpic(context);
undertextline(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
readmouse(context);
- context.ds.byte(231) = 0;
+ context.data.byte(231) = 0;
showpointer(context);
worktoscreen(context);
context.al = 9;
context.ah = 255;
playchannel0(context);
- context.ds.byte(188) = 255;
+ context.data.byte(188) = 255;
select:
delpointer(context);
readmouse(context);
@@ -9836,42 +9836,42 @@ select:
vsync(context);
dumppointer(context);
dumptextline(context);
- context._cmp(context.ds.byte(103), 1);
+ context._cmp(context.data.byte(103), 1);
if (context.flags.z()) goto quittravel;
context.bx = 2714;
checkcoords(context);
- context._cmp(context.ds.byte(188), 255);
+ context._cmp(context.data.byte(188), 255);
if (context.flags.z()) goto select;
- context.al = context.ds.byte(188);
- context._cmp(context.al, context.ds.byte(9));
+ context.al = context.data.byte(188);
+ context._cmp(context.al, context.data.byte(9));
if (context.flags.z()) goto quittravel;
getridoftemp(context);
getridoftemp2(context);
getridoftemp3(context);
- context.es = context.ds.word(456);
+ context.es = context.data.word(456);
deallocatemem(context);
return;
quittravel:
- context.al = context.ds.byte(184);
- context.ds.byte(188) = context.al;
- context.ds.byte(103) = 0;
+ context.al = context.data.byte(184);
+ context.data.byte(188) = context.al;
+ context.data.byte(103) = 0;
getridoftemp(context);
getridoftemp2(context);
getridoftemp3(context);
- context.es = context.ds.word(456);
+ context.es = context.data.word(456);
deallocatemem(context);
return;
}
static void showcity(Context & context) {
clearwork(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 57;
context.bx = 32;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 120+57;
context.bx = 32;
context.al = 1;
@@ -9881,25 +9881,25 @@ static void showcity(Context & context) {
}
static void lookatplace(Context & context) {
- context._cmp(context.ds.byte(100), 224);
+ context._cmp(context.data.byte(100), 224);
if (context.flags.z()) goto alreadyinfo;
- context.ds.byte(100) = 224;
+ context.data.byte(100) = 224;
context.al = 27;
commandonly(context);
alreadyinfo:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto noinfo;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto noinfo;
- context.bl = context.ds.byte(183);
+ context.bl = context.data.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.ds.word(462);
+ context.ds = context.data.word(462);
context.al = 0;
context.ah = 0;
context.di = 60;
@@ -9918,7 +9918,7 @@ alreadyinfo:
context.bx = context.pop();
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.ds.word(456);
+ context.es = context.data.word(456);
context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
findnextcolon(context);
@@ -9932,8 +9932,8 @@ alreadyinfo:
context.cx = 500;
hangonp(context);
afterinfo:
- context.ds.byte(234) = 0;
- context.ds.byte(231) = 0;
+ context.data.byte(234) = 0;
+ context.data.byte(231) = 0;
putundercentre(context);
worktoscreenm(context);
noinfo:
@@ -9943,7 +9943,7 @@ noinfo:
static void getundercentre(Context & context) {
context.di = 58;
context.bx = 72;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
context.cl = 254;
context.ch = 110;
@@ -9954,7 +9954,7 @@ static void getundercentre(Context & context) {
static void putundercentre(Context & context) {
context.di = 58;
context.bx = 72;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
context.cl = 254;
context.ch = 110;
@@ -9970,12 +9970,12 @@ static void locationpic(Context & context) {
context.di = 0;
context._cmp(context.al, 6);
if (!context.flags.c()) goto secondlot;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context._add(context.al, 4);
goto gotgraphic;
secondlot:
context._sub(context.al, 6);
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
gotgraphic:
context._add(context.di, 104);
context.bx = 138+14;
@@ -9983,20 +9983,20 @@ gotgraphic:
showframe(context);
context.si = context.pop();
context.es = context.pop();
- context.al = context.ds.byte(183);
- context._cmp(context.al, context.ds.byte(184));
+ context.al = context.data.byte(183);
+ context._cmp(context.al, context.data.byte(184));
if (!context.flags.z()) goto notinthisone;
context.al = 3;
context.di = 104;
context.bx = 140+14;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.ah = 0;
showframe(context);
notinthisone:
- context.bl = context.ds.byte(183);
+ context.bl = context.data.byte(183);
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.ds.word(456);
+ context.es = context.data.word(456);
context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
context.di = 50;
@@ -10009,7 +10009,7 @@ notinthisone:
}
static void getdestinfo(Context & context) {
- context.al = context.ds.byte(183);
+ context.al = context.data.byte(183);
context.ah = 0;
context.push(context.ax);
context.dx = context.ds;
@@ -10030,19 +10030,19 @@ static void getdestinfo(Context & context) {
static void showarrows(Context & context) {
context.di = 116-12;
context.bx = 16;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 0;
context.ah = 0;
showframe(context);
context.di = 226+12;
context.bx = 16;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 1;
context.ah = 0;
showframe(context);
context.di = 280;
context.bx = 14;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 2;
context.ah = 0;
showframe(context);
@@ -10051,27 +10051,27 @@ static void showarrows(Context & context) {
static void nextdest(Context & context) {
duok:
- context._cmp(context.ds.byte(100), 218);
+ context._cmp(context.data.byte(100), 218);
if (context.flags.z()) goto alreadydu;
- context.ds.byte(100) = 218;
+ context.data.byte(100) = 218;
context.al = 28;
commandonly(context);
alreadydu:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto nodu;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nodu;
searchdestup:
- context._add(context.ds.byte(183), 1);
- context._cmp(context.ds.byte(183), 15);
+ context._add(context.data.byte(183), 1);
+ context._cmp(context.data.byte(183), 15);
if (!context.flags.z()) goto notlastdest;
- context.ds.byte(183) = 0;
+ context.data.byte(183) = 0;
notlastdest:
getdestinfo(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto searchdestup;
- context.ds.byte(109) = 1;
+ context.data.byte(109) = 1;
deltextline(context);
delpointer(context);
showpanel(context);
@@ -10089,27 +10089,27 @@ nodu:
static void lastdest(Context & context) {
ddok:
- context._cmp(context.ds.byte(100), 219);
+ context._cmp(context.data.byte(100), 219);
if (context.flags.z()) goto alreadydd;
- context.ds.byte(100) = 219;
+ context.data.byte(100) = 219;
context.al = 29;
commandonly(context);
alreadydd:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto nodd;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nodd;
searchdestdown:
- context._sub(context.ds.byte(183), 1);
- context._cmp(context.ds.byte(183), -1);
+ context._sub(context.data.byte(183), 1);
+ context._cmp(context.data.byte(183), -1);
if (!context.flags.z()) goto notfirstdest;
- context.ds.byte(183) = 15;
+ context.data.byte(183) = 15;
notfirstdest:
getdestinfo(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto searchdestdown;
- context.ds.byte(109) = 1;
+ context.data.byte(109) = 1;
deltextline(context);
delpointer(context);
showpanel(context);
@@ -10126,20 +10126,20 @@ nodd:
}
static void destselect(Context & context) {
- context._cmp(context.ds.byte(100), 222);
+ context._cmp(context.data.byte(100), 222);
if (context.flags.z()) goto alreadytrav;
- context.ds.byte(100) = 222;
+ context.data.byte(100) = 222;
context.al = 30;
commandonly(context);
alreadytrav:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto notrav;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notrav;
getdestinfo(context);
- context.al = context.ds.byte(183);
- context.ds.byte(188) = context.al;
+ context.al = context.data.byte(183);
+ context.data.byte(188) = context.al;
notrav:
return;
}
@@ -10228,7 +10228,7 @@ static void readcitypic(Context & context) {
}
static void usemon(Context & context) {
- context.ds.byte(55) = 0;
+ context.data.byte(55) = 0;
context.es = context.cs;
context.di = 2895+1;
context.cx = 12;
@@ -10267,8 +10267,8 @@ keyloop:
turnonpower(context);
fadeupyellows(context);
fadeupmonfirst(context);
- context.ds.word(318) = 76;
- context.ds.word(320) = 141;
+ context.data.word(318) = 76;
+ context.data.word(320) = 141;
context.al = 1;
monmessage(context);
context.cx = 120;
@@ -10283,34 +10283,34 @@ keyloop:
hangoncurs(context);
printlogo(context);
scrollmonitor(context);
- context.ds.word(394) = 0;
- context.ds.word(396) = 0;
+ context.data.word(394) = 0;
+ context.data.word(396) = 0;
moreinput:
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
context.push(context.di);
context.push(context.bx);
input(context);
context.bx = context.pop();
context.di = context.pop();
- context.ds.word(318) = context.di;
- context.ds.word(320) = context.bx;
+ context.data.word(318) = context.di;
+ context.data.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.ds.word(466);
+ context.es = context.data.word(466);
deallocatemem(context);
- context.es = context.ds.word(468);
+ context.es = context.data.word(468);
deallocatemem(context);
- context.es = context.ds.word(470);
+ context.es = context.data.word(470);
deallocatemem(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
context.al = 26;
playchannel1(context);
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
restoreall(context);
redrawmainscrn(context);
worktoscreenm(context);
@@ -10320,25 +10320,25 @@ endmon:
static void printoutermon(Context & context) {
context.di = 40;
context.bx = 32;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 1;
context.ah = 0;
showframe(context);
context.di = 264;
context.bx = 32;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 2;
context.ah = 0;
showframe(context);
context.di = 40;
context.bx = 12;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 3;
context.ah = 0;
showframe(context);
context.di = 40;
context.bx = 164;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 4;
context.ah = 0;
showframe(context);
@@ -10346,7 +10346,7 @@ static void printoutermon(Context & context) {
}
static void loadpersonal(Context & context) {
- context.al = context.ds.byte(9);
+ context.al = context.data.byte(9);
context.dx = 2065;
context._cmp(context.al, 0);
if (context.flags.z()) goto foundpersonal;
@@ -10363,7 +10363,7 @@ foundpersonal:
context.cl = 4;
context._shr(context.bx, context.cl);
allocatemem(context);
- context.ds.word(466) = context.ax;
+ context.data.word(466) = context.ax;
context.ds = context.ax;
context.cx = context.pop();
context.dx = 0;
@@ -10373,7 +10373,7 @@ foundpersonal:
}
static void loadnews(Context & context) {
- context.al = context.ds.byte(34);
+ context.al = context.data.byte(34);
context.dx = 2091;
context._cmp(context.al, 0);
if (context.flags.z()) goto foundnews;
@@ -10392,7 +10392,7 @@ foundnews:
context.cl = 4;
context._shr(context.bx, context.cl);
allocatemem(context);
- context.ds.word(468) = context.ax;
+ context.data.word(468) = context.ax;
context.ds = context.ax;
context.cx = context.pop();
context.dx = 0;
@@ -10424,7 +10424,7 @@ gotcart:
context.cl = 4;
context._shr(context.bx, context.cl);
allocatemem(context);
- context.ds.word(470) = context.ax;
+ context.data.word(470) = context.ax;
context.ds = context.ax;
context.cx = context.pop();
context.dx = 0;
@@ -10490,7 +10490,7 @@ chosenaccess:
static void powerlighton(Context & context) {
context.di = 257+4;
context.bx = 182;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 6;
context.ah = 0;
context.push(context.di);
@@ -10507,7 +10507,7 @@ static void powerlighton(Context & context) {
static void powerlightoff(Context & context) {
context.di = 257+4;
context.bx = 182;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 5;
context.ah = 0;
context.push(context.di);
@@ -10524,7 +10524,7 @@ static void powerlightoff(Context & context) {
static void accesslighton(Context & context) {
context.di = 74;
context.bx = 182;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 8;
context.ah = 0;
context.push(context.di);
@@ -10541,7 +10541,7 @@ static void accesslighton(Context & context) {
static void accesslightoff(Context & context) {
context.di = 74;
context.bx = 182;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 7;
context.ah = 0;
context.push(context.di);
@@ -10558,7 +10558,7 @@ static void accesslightoff(Context & context) {
static void locklighton(Context & context) {
context.di = 56;
context.bx = 182;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 10;
context.ah = 0;
context.push(context.di);
@@ -10575,7 +10575,7 @@ static void locklighton(Context & context) {
static void locklightoff(Context & context) {
context.di = 56;
context.bx = 182;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 9;
context.ah = 0;
context.push(context.di);
@@ -10595,50 +10595,50 @@ static void input(Context & context) {
context.cx = 64;
context.al = 0;
while(--context.cx) context._stosb();
- context.ds.word(316) = 0;
+ context.data.word(316) = 0;
context.al = '>';
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
- context.ds = context.ds.word(406);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
+ context.ds = context.data.word(406);
context.ah = 0;
printchar(context);
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
context.cl = 6;
context.ch = 8;
multidump(context);
- 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;
+ 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;
waitkey:
printcurs(context);
vsync(context);
delcurs(context);
readkey(context);
- context.al = context.ds.byte(142);
+ context.al = context.data.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.ds.word(316), 0);
+ context._cmp(context.data.word(316), 0);
if (context.flags.z()) goto waitkey;
delchar(context);
goto waitkey;
notdel:
- context._cmp(context.ds.word(316), 28);
+ context._cmp(context.data.word(316), 28);
if (context.flags.z()) goto waitkey;
- context._cmp(context.ds.byte(142), 32);
+ context._cmp(context.data.byte(142), 32);
if (!context.flags.z()) goto notleadingspace;
- context._cmp(context.ds.word(316), 0);
+ context._cmp(context.data.word(316), 0);
if (context.flags.z()) goto waitkey;
notleadingspace:
makecaps(context);
context.es = context.cs;
- context.si = context.ds.word(316);
+ context.si = context.data.word(316);
context._add(context.si, context.si);
context._add(context.si, 7944);
context.ds.byte(context.si) = context.al;
@@ -10647,10 +10647,10 @@ notleadingspace:
context.push(context.ax);
context.push(context.es);
context.push(context.si);
- 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.di = context.data.word(318);
+ context.bx = context.data.word(320);
+ context.ds = context.data.word(402);
+ context.ax = context.data.word(316);
context._xchg(context.al, context.ah);
context.si = context.ax;
context.cl = 8;
@@ -10661,18 +10661,18 @@ notleadingspace:
context.ax = context.pop();
context.push(context.es);
context.push(context.si);
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
- context.ds = context.ds.word(406);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
+ context.ds = context.data.word(406);
context.ah = 0;
printchar(context);
context.si = context.pop();
context.es = context.pop();
context.ds.byte(context.si+1) = context.cl;
context.ch = 0;
- context._add(context.ds.word(318), context.cx);
- context._add(context.ds.word(316), 1);
- context._add(context.ds.word(312), context.cx);
+ context._add(context.data.word(318), context.cx);
+ context._add(context.data.word(316), 1);
+ context._add(context.data.word(312), context.cx);
goto waitkey;
endofinput:
return;
@@ -10687,27 +10687,27 @@ notupperc:
}
static void delchar(Context & context) {
- context._sub(context.ds.word(316), 1);
- context.si = context.ds.word(316);
+ context._sub(context.data.word(316), 1);
+ context.si = context.data.word(316);
context._add(context.si, context.si);
context.es = context.cs;
context._add(context.si, 7944);
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._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._xchg(context.al, context.ah);
context.si = context.ax;
context.cl = 8;
context.ch = 8;
multiput(context);
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
context.cl = context.al;
context.ch = 8;
multidump(context);
@@ -10803,7 +10803,7 @@ static void dircom(Context & context) {
dirfile(context);
return;
dirroot:
- context.ds.byte(269) = 0;
+ context.data.byte(269) = 0;
context.ds = context.cs;
context.si = 2885;
context._add(context.si, 1);
@@ -10816,11 +10816,11 @@ dirroot:
scrollmonitor(context);
context.al = 9;
monmessage(context);
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
searchforfiles(context);
- context.es = context.ds.word(468);
+ context.es = context.data.word(468);
searchforfiles(context);
- context.es = context.ds.word(470);
+ context.es = context.data.word(470);
searchforfiles(context);
scrollmonitor(context);
return;
@@ -10889,15 +10889,15 @@ notyetassigned:
scrollmonitor(context);
context.al = 15;
monmessage(context);
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
context.push(context.di);
context.push(context.bx);
input(context);
context.bx = context.pop();
context.di = context.pop();
- context.ds.word(318) = context.di;
- context.ds.word(320) = context.bx;
+ context.data.word(318) = context.di;
+ context.data.word(320) = context.bx;
context.bx = context.pop();
context.es = context.pop();
context.push(context.es);
@@ -10972,22 +10972,22 @@ static void read(Context & context) {
okcom:
context.es = context.cs;
context.di = 2895;
- context.ax = context.ds.word(466);
- context.ds.word(324) = context.ax;
+ context.ax = context.data.word(466);
+ context.data.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.ds.word(468);
- context.ds.word(324) = context.ax;
+ context.ax = context.data.word(468);
+ context.data.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.ds.word(470);
- context.ds.word(324) = context.ax;
+ context.ax = context.data.word(470);
+ context.data.word(324) = context.ax;
context.ds = context.ax;
context.si = 66*2;
searchforstring(context);
@@ -11004,12 +11004,12 @@ foundfile2:
keyok1:
context.es = context.cs;
context.di = 2883;
- context.ds = context.ds.word(324);
+ context.ds = context.data.word(324);
searchforstring(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto findtopictext;
- context.al = context.ds.byte(270);
- context.ds.byte(269) = context.al;
+ context.al = context.data.byte(270);
+ context.data.byte(269) = context.al;
context.al = 11;
monmessage(context);
return;
@@ -11048,7 +11048,7 @@ static void dirfile(Context & context) {
context.ds.byte(context.di) = context.al;
context.push(context.es);
context.push(context.di);
- context.ds = context.ds.word(466);
+ context.ds = context.data.word(466);
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
@@ -11057,7 +11057,7 @@ static void dirfile(Context & context) {
context.es = context.pop();
context.push(context.es);
context.push(context.di);
- context.ds = context.ds.word(468);
+ context.ds = context.data.word(468);
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
@@ -11066,7 +11066,7 @@ static void dirfile(Context & context) {
context.es = context.pop();
context.push(context.es);
context.push(context.di);
- context.ds = context.ds.word(470);
+ context.ds = context.data.word(470);
context.si = 66*2;
searchforstring(context);
context._cmp(context.al, 0);
@@ -11118,15 +11118,15 @@ static void getkeyandlogo(Context & context) {
context._add(context.bx, 1);
context.al = context.ds.byte(context.bx);
context._sub(context.al, 48);
- context.ds.byte(271) = context.al;
+ context.data.byte(271) = context.al;
context._add(context.bx, 2);
context.al = context.ds.byte(context.bx);
context._sub(context.al, 48);
- context.ds.byte(276) = context.al;
+ context.data.byte(276) = context.al;
context._add(context.bx, 1);
context.push(context.es);
context.push(context.bx);
- context.al = context.ds.byte(276);
+ context.al = context.data.byte(276);
context.ah = 0;
context.cx = 26;
context._mul(context.cx);
@@ -11152,8 +11152,8 @@ static void getkeyandlogo(Context & context) {
keyok:
context.bx = context.pop();
context.es = context.pop();
- context.al = context.ds.byte(271);
- context.ds.byte(269) = context.al;
+ context.al = context.data.byte(271);
+ context.data.byte(269) = context.al;
context.al = 0;
return;
}
@@ -11240,10 +11240,10 @@ static void scrollmonitor(Context & context) {
context.push(context.es);
context.push(context.ds);
printlogo(context);
- context.di = context.ds.word(318);
- context.bx = context.ds.word(320);
+ context.di = context.data.word(318);
+ context.bx = context.data.word(320);
printundermon(context);
- context.ax = context.ds.word(320);
+ context.ax = context.data.word(320);
worktoscreen(context);
context.al = 25;
playchannel1(context);
@@ -11259,11 +11259,11 @@ static void scrollmonitor(Context & context) {
}
static void lockmon(Context & context) {
- context._cmp(context.ds.byte(392), 57);
+ context._cmp(context.data.byte(392), 57);
if (!context.flags.z()) goto notlock;
locklighton(context);
lockloop:
- context._cmp(context.ds.byte(392), 57);
+ context._cmp(context.data.byte(392), 57);
if (context.flags.z()) goto lockloop;
locklightoff(context);
notlock:
@@ -11271,10 +11271,10 @@ notlock:
}
static void monitorlogo(Context & context) {
- context.al = context.ds.byte(269);
- context._cmp(context.al, context.ds.byte(270));
+ context.al = context.data.byte(269);
+ context._cmp(context.al, context.data.byte(270));
if (context.flags.z()) goto notnewlogo;
- context.ds.byte(270) = context.al;
+ context.data.byte(270) = context.al;
printlogo(context);
printundermon(context);
worktoscreen(context);
@@ -11293,7 +11293,7 @@ notnewlogo:
static void printlogo(Context & context) {
context.di = 56;
context.bx = 32;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 0;
context.ah = 0;
showframe(context);
@@ -11312,7 +11312,7 @@ curfileloop:
context._add(context.si, 1);
context.push(context.si);
modifychar(context);
- context.ds = context.ds.word(406);
+ context.ds = context.data.word(406);
context.ah = 0;
printchar(context);
context.si = context.pop();
@@ -11322,7 +11322,7 @@ finishfile:
}
static void monmessage(Context & context) {
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
context.bx = 66*2;
context.cl = context.al;
context.ch = 0;
@@ -11337,7 +11337,7 @@ monmessageloop:
}
static void processtrigger(Context & context) {
- context._cmp(context.ds.byte(55), '1');
+ context._cmp(context.data.byte(55), '1');
if (!context.flags.z()) goto notfirsttrigger;
context.al = 8;
setlocation(context);
@@ -11345,7 +11345,7 @@ static void processtrigger(Context & context) {
triggermessage(context);
return;
notfirsttrigger:
- context._cmp(context.ds.byte(55), '2');
+ context._cmp(context.data.byte(55), '2');
if (!context.flags.z()) goto notsecondtrigger;
context.al = 9;
setlocation(context);
@@ -11353,7 +11353,7 @@ notfirsttrigger:
triggermessage(context);
return;
notsecondtrigger:
- context._cmp(context.ds.byte(55), '3');
+ context._cmp(context.data.byte(55), '3');
if (!context.flags.z()) goto notthirdtrigger;
context.al = 2;
setlocation(context);
@@ -11369,7 +11369,7 @@ static void triggermessage(Context & context) {
context.bx = 153;
context.cl = 200;
context.ch = 63;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
multiget(context);
context.ax = context.pop();
@@ -11388,11 +11388,11 @@ static void triggermessage(Context & context) {
context.bx = 153;
context.cl = 200;
context.ch = 63;
- context.ds = context.ds.word(402);
+ context.ds = context.data.word(402);
context.si = 0;
multiput(context);
worktoscreen(context);
- context.ds.byte(55) = 0;
+ context.data.byte(55) = 0;
return;
}
@@ -11403,13 +11403,13 @@ static void printcurs(Context & context) {
context.push(context.dx);
context.push(context.bx);
context.push(context.es);
- context.di = context.ds.word(312);
- context.bx = context.ds.word(314);
+ context.di = context.data.word(312);
+ context.bx = context.data.word(314);
context.cl = 6;
context.ch = 8;
context._sub(context.bx, 3);
context.ch = 11;
- context.ds = context.ds.word(412);
+ context.ds = context.data.word(412);
context.si = 0;
context.push(context.di);
context.push(context.bx);
@@ -11418,14 +11418,14 @@ static void printcurs(Context & context) {
context.di = context.pop();
context.push(context.bx);
context.push(context.di);
- context._add(context.ds.word(138), 1);
- context.ax = context.ds.word(138);
+ context._add(context.data.word(138), 1);
+ context.ax = context.data.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.ds.word(406);
+ context.ds = context.data.word(406);
showframe(context);
flashcurs:
context.di = context.pop();
@@ -11450,8 +11450,8 @@ static void delcurs(Context & context) {
context.push(context.ds);
context.push(context.dx);
context.push(context.si);
- context.di = context.ds.word(312);
- context.bx = context.ds.word(314);
+ context.di = context.data.word(312);
+ context.bx = context.data.word(314);
context.cl = 6;
context.ch = 8;
context._sub(context.bx, 3);
@@ -11459,7 +11459,7 @@ static void delcurs(Context & context) {
context.push(context.di);
context.push(context.bx);
context.push(context.cx);
- context.ds = context.ds.word(412);
+ context.ds = context.data.word(412);
context.si = 0;
multiput(context);
context.cx = context.pop();
@@ -11477,17 +11477,17 @@ finishcurdel:
}
static void useobject(Context & context) {
- context.ds.byte(95) = 255;
- context._cmp(context.ds.byte(100), 229);
+ context.data.byte(95) = 255;
+ context._cmp(context.data.byte(100), 229);
if (context.flags.z()) goto alreadyuse;
- context.ds.byte(100) = 229;
- context.bl = context.ds.byte(99);
- context.bh = context.ds.byte(102);
+ context.data.byte(100) = 229;
+ context.bl = context.data.byte(99);
+ context.bh = context.data.byte(102);
context.al = 51;
commandwithob(context);
alreadyuse:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nouse;
context._and(context.ax, 1);
if (!context.flags.z()) goto douse;
@@ -11499,13 +11499,13 @@ douse:
}
static void useroutine(Context & context) {
- context._cmp(context.ds.byte(184), 50);
+ context._cmp(context.data.byte(184), 50);
if (context.flags.c()) goto nodream7;
- context._cmp(context.ds.byte(232), 0);
+ context._cmp(context.data.byte(232), 0);
if (!context.flags.z()) goto powerok;
return;
powerok:
- context.ds.byte(232) = 0;
+ context.data.byte(232) = 0;
nodream7:
getanyad(context);
context.dx = context.ds;
@@ -11569,7 +11569,7 @@ cantuse2:
context.cx = 50;
hangonp(context);
putbackobstuff(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
return;
}
@@ -11582,21 +11582,21 @@ static void wheelsound(Context & context) {
}
static void runtap(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto tapwith;
withwhat(context);
return;
tapwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.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.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -11609,7 +11609,7 @@ tapwith:
putbackobstuff(context);
return;
fillcupfromtap:
- context.al = context.ds.byte(95);
+ context.al = context.data.byte(95);
getexad(context);
context.ds.byte(context.bx+15) = 'F'-'A';
context.al = 8;
@@ -11636,9 +11636,9 @@ static void playguitar(Context & context) {
}
static void hotelcontrol(Context & context) {
- context._cmp(context.ds.byte(184), 21);
+ context._cmp(context.data.byte(184), 21);
if (!context.flags.z()) goto notrightcont;
- context._cmp(context.ds.byte(148), 33);
+ context._cmp(context.data.byte(148), 33);
if (!context.flags.z()) goto notrightcont;
showfirstuse(context);
putbackobstuff(context);
@@ -11658,14 +11658,14 @@ static void hotelbell(Context & context) {
}
static void opentomb(Context & context) {
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showfirstuse(context);
- 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;
+ 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;
return;
}
@@ -11673,7 +11673,7 @@ static void usetrainer(Context & context) {
getanyad(context);
context._cmp(context.ds.byte(context.bx+2), 4);
if (!context.flags.z()) goto notheldtrainer;
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
makeworn(context);
showseconduse(context);
putbackobstuff(context);
@@ -11703,21 +11703,21 @@ static void nothelderror(Context & context) {
}
static void usepipe(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto pipewith;
withwhat(context);
return;
pipewith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.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.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -11734,7 +11734,7 @@ fillcup:
context.al = 36;
showpuztext(context);
putbackobstuff(context);
- context.al = context.ds.byte(95);
+ context.al = context.data.byte(95);
getexad(context);
context.ds.byte(context.bx+15) = 'F'-'A';
return;
@@ -11747,35 +11747,35 @@ alreadyfull:
}
static void usefullcart(Context & context) {
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
context.al = 2;
- context.ah = context.ds.byte(185);
+ context.ah = context.data.byte(185);
context._add(context.ah, 6);
turnanypathon(context);
- context.ds.byte(475) = 4;
- context.ds.byte(133) = 4;
- context.ds.byte(135) = 4;
- context.ds.byte(477) = 4;
+ context.data.byte(475) = 4;
+ context.data.byte(133) = 4;
+ context.data.byte(135) = 4;
+ context.data.byte(477) = 4;
findxyfrompath(context);
- context.ds.byte(187) = 1;
+ context.data.byte(187) = 1;
showfirstuse(context);
- 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;
+ 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;
return;
}
static void useplinth(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto plinthwith;
withwhat(context);
return;
plinthwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'D';
context.ch = 'K';
context.dl = 'E';
@@ -11786,16 +11786,16 @@ plinthwith:
putbackobstuff(context);
return;
isrightkey:
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showseconduse(context);
- 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;
+ 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;
return;
}
@@ -11803,63 +11803,63 @@ static void chewy(Context & context) {
showfirstuse(context);
getanyad(context);
context.ds.byte(context.bx+2) = 255;
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
static void useladder(Context & context) {
showfirstuse(context);
- context._sub(context.ds.byte(148), 11);
+ context._sub(context.data.byte(148), 11);
findroominloc(context);
- 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;
+ 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;
findxyfrompath(context);
- context.ds.byte(187) = 1;
- context.ds.byte(103) = 1;
+ context.data.byte(187) = 1;
+ context.data.byte(103) = 1;
return;
}
static void useladderb(Context & context) {
showfirstuse(context);
- context._add(context.ds.byte(148), 11);
+ context._add(context.data.byte(148), 11);
findroominloc(context);
- 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;
+ 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;
findxyfrompath(context);
- context.ds.byte(187) = 1;
- context.ds.byte(103) = 1;
+ context.data.byte(187) = 1;
+ context.data.byte(103) = 1;
return;
}
static void slabdoora(Context & context) {
showfirstuse(context);
- 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);
+ 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);
if (!context.flags.z()) goto slabawrong;
- context._add(context.ds.byte(2), 1);
- context.ds.word(21) = 60;
- context.ds.word(25) = 42;
- context.ds.byte(188) = 47;
+ context._add(context.data.byte(2), 1);
+ context.data.word(21) = 60;
+ context.data.word(25) = 42;
+ context.data.byte(188) = 47;
return;
slabawrong:
- context.ds.word(21) = 40;
- context.ds.word(25) = 34;
- context.ds.byte(27) = 1;
- context.ds.byte(26) = 1;
+ context.data.word(21) = 40;
+ context.data.word(25) = 34;
+ context.data.byte(27) = 1;
+ context.data.byte(26) = 1;
return;
}
static void slabdoorb(Context & context) {
- context._cmp(context.ds.byte(66), 1);
+ context._cmp(context.data.byte(66), 1);
if (!context.flags.z()) goto slabbwrong;
context.al = 'S';
context.ah = 'H';
@@ -11874,120 +11874,120 @@ static void slabdoorb(Context & context) {
return;
gotcrystal:
showfirstuse(context);
- 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;
+ 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;
return;
slabbwrong:
showfirstuse(context);
- 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;
+ 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;
return;
}
static void slabdoord(Context & context) {
showfirstuse(context);
- 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);
+ 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);
if (!context.flags.z()) goto slabcwrong;
- context._add(context.ds.byte(2), 1);
- context.ds.word(21) = 60;
- context.ds.word(25) = 102;
- context.ds.byte(188) = 47;
+ context._add(context.data.byte(2), 1);
+ context.data.word(21) = 60;
+ context.data.word(25) = 102;
+ context.data.byte(188) = 47;
return;
slabcwrong:
- context.ds.word(21) = 40;
- context.ds.word(25) = 94;
- context.ds.byte(27) = 1;
- context.ds.byte(26) = 1;
+ context.data.word(21) = 40;
+ context.data.word(25) = 94;
+ context.data.byte(27) = 1;
+ context.data.byte(26) = 1;
return;
}
static void slabdoorc(Context & context) {
showfirstuse(context);
- 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);
+ 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);
if (!context.flags.z()) goto slabdwrong;
- context._add(context.ds.byte(2), 1);
- context.ds.word(21) = 60;
- context.ds.word(25) = 135;
- context.ds.byte(188) = 47;
+ context._add(context.data.byte(2), 1);
+ context.data.word(21) = 60;
+ context.data.word(25) = 135;
+ context.data.byte(188) = 47;
return;
slabdwrong:
- context.ds.word(21) = 40;
- context.ds.word(25) = 127;
- context.ds.byte(27) = 1;
- context.ds.byte(26) = 1;
+ context.data.word(21) = 40;
+ context.data.word(25) = 127;
+ context.data.byte(27) = 1;
+ context.data.byte(26) = 1;
return;
}
static void slabdoore(Context & context) {
showfirstuse(context);
- 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);
+ 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);
if (!context.flags.z()) goto slabewrong;
- context._add(context.ds.byte(2), 1);
- context.ds.word(21) = 60;
- context.ds.word(25) = 168;
- context.ds.byte(188) = 47;
+ context._add(context.data.byte(2), 1);
+ context.data.word(21) = 60;
+ context.data.word(25) = 168;
+ context.data.byte(188) = 47;
return;
slabewrong:
- context.ds.word(21) = 40;
- context.ds.word(25) = 160;
- context.ds.byte(27) = 1;
- context.ds.byte(26) = 1;
+ context.data.word(21) = 40;
+ context.data.word(25) = 160;
+ context.data.byte(27) = 1;
+ context.data.byte(26) = 1;
return;
}
static void slabdoorf(Context & context) {
showfirstuse(context);
- 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);
+ 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);
if (!context.flags.z()) goto slabfwrong;
- context._add(context.ds.byte(2), 1);
- context.ds.word(21) = 60;
- context.ds.word(25) = 197;
- context.ds.byte(188) = 47;
+ context._add(context.data.byte(2), 1);
+ context.data.word(21) = 60;
+ context.data.word(25) = 197;
+ context.data.byte(188) = 47;
return;
slabfwrong:
- context.ds.word(21) = 40;
- context.ds.word(25) = 189;
- context.ds.byte(27) = 1;
- context.ds.byte(26) = 1;
+ context.data.word(21) = 40;
+ context.data.word(25) = 189;
+ context.data.byte(27) = 1;
+ context.data.byte(26) = 1;
return;
}
static void useslab(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto slabwith;
withwhat(context);
return;
slabwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'J';
context.ch = 'E';
context.dl = 'W';
@@ -12000,10 +12000,10 @@ slabwith:
putbackobstuff(context);
return;
nextslab:
- context.al = context.ds.byte(95);
+ context.al = context.data.byte(95);
getexad(context);
context.ds.byte(context.bx+2) = 0;
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
context.push(context.ax);
removesetobject(context);
context.ax = context.pop();
@@ -12015,26 +12015,26 @@ nextslab:
if (!context.flags.z()) goto notlastslab;
context.al = 0;
turnpathon(context);
- 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;
+ 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;
notlastslab:
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showfirstuse(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
static void usecart(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto cartwith;
withwhat(context);
return;
cartwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'R';
context.ch = 'O';
context.dl = 'C';
@@ -12047,31 +12047,31 @@ cartwith:
putbackobstuff(context);
return;
nextcart:
- context.al = context.ds.byte(95);
+ context.al = context.data.byte(95);
getexad(context);
context.ds.byte(context.bx+2) = 0;
- context.al = context.ds.byte(99);
+ context.al = context.data.byte(99);
context.push(context.ax);
removesetobject(context);
context.ax = context.pop();
context._add(context.al, 1);
placesetobject(context);
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
context.al = 17;
playchannel1(context);
showfirstuse(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
static void useclearbox(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto clearboxwith;
withwhat(context);
return;
clearboxwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'R';
context.ch = 'A';
context.dl = 'I';
@@ -12084,57 +12084,57 @@ clearboxwith:
putbackobstuff(context);
return;
openbox:
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showfirstuse(context);
- 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;
+ 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;
return;
}
static void usecoveredbox(Context & context) {
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showfirstuse(context);
- 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;
+ 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;
return;
}
static void userailing(Context & context) {
showfirstuse(context);
- 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;
+ 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;
return;
}
static void useopenbox(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto openboxwith;
withwhat(context);
return;
openboxwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.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.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'P';
@@ -12144,21 +12144,21 @@ openboxwith:
showfirstuse(context);
return;
destoryopenbox:
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
context.cx = 300;
context.al = 37;
showpuztext(context);
- context.al = context.ds.byte(95);
+ context.al = context.data.byte(95);
getexad(context);
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.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.al = 4;
turnpathon(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
openboxwrong:
context.cx = 300;
@@ -12169,11 +12169,11 @@ openboxwrong:
}
static void wearwatch(Context & context) {
- context._cmp(context.ds.byte(3), 1);
+ context._cmp(context.data.byte(3), 1);
if (context.flags.z()) goto wearingwatch;
showfirstuse(context);
- context.ds.byte(3) = 1;
- context.ds.byte(103) = 1;
+ context.data.byte(3) = 1;
+ context.data.byte(103) = 1;
getanyad(context);
makeworn(context);
return;
@@ -12184,11 +12184,11 @@ wearingwatch:
}
static void wearshades(Context & context) {
- context._cmp(context.ds.byte(4), 1);
+ context._cmp(context.data.byte(4), 1);
if (context.flags.z()) goto wearingshades;
- context.ds.byte(4) = 1;
+ context.data.byte(4) = 1;
showfirstuse(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
getanyad(context);
makeworn(context);
return;
@@ -12199,17 +12199,17 @@ wearingshades:
}
static void sitdowninbar(Context & context) {
- context._cmp(context.ds.byte(32), -1);
+ context._cmp(context.data.byte(32), -1);
if (!context.flags.z()) goto satdown;
showfirstuse(context);
- 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;
+ 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;
return;
satdown:
showseconduse(context);
@@ -12219,23 +12219,23 @@ satdown:
static void usechurchhole(Context & context) {
showfirstuse(context);
- 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;
+ 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;
return;
}
static void usehole(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto holewith;
withwhat(context);
return;
holewith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'H';
context.ch = 'N';
context.dl = 'D';
@@ -12251,11 +12251,11 @@ righthand:
showfirstuse(context);
context.al = 86;
removesetobject(context);
- context.al = context.ds.byte(95);
+ context.al = context.data.byte(95);
getexad(context);
context.ds.byte(context.bx+2) = 255;
- context.ds.byte(47) = 1;
- context.ds.byte(103) = 1;
+ context.data.byte(47) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12274,43 +12274,43 @@ static void usealtar(Context & context) {
findexobject(context);
context._cmp(context.al, 114);
if (context.flags.z()) goto thingsonaltar;
- context._cmp(context.ds.byte(47), 1);
+ context._cmp(context.data.byte(47), 1);
if (context.flags.z()) goto movealtar;
context.cx = 300;
context.al = 23;
showpuztext(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
movealtar:
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showseconduse(context);
- 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.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.al = 47;
context.bl = 52;
context.bh = 76;
context.cx = 32;
context.dx = 98;
setuptimeduse(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
thingsonaltar:
showfirstuse(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
static void opentvdoor(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto tvdoorwith;
withwhat(context);
return;
tvdoorwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'U';
context.ch = 'L';
context.dl = 'O';
@@ -12324,8 +12324,8 @@ tvdoorwith:
return;
keyontv:
showfirstuse(context);
- context.ds.byte(37) = 0;
- context.ds.byte(103) = 1;
+ context.data.byte(37) = 0;
+ context.data.byte(103) = 1;
return;
}
@@ -12333,7 +12333,7 @@ static void usedryer(Context & context) {
context.al = 12;
playchannel1(context);
showfirstuse(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12343,7 +12343,7 @@ static void openlouis(Context & context) {
context.cl = 3;
context.ch = 8;
entercode(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12362,17 +12362,17 @@ static void openyourneighbour(Context & context) {
context.cl = 255;
context.ch = 255;
entercode(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
static void usewindow(Context & context) {
- context._cmp(context.ds.byte(475), 6);
+ context._cmp(context.data.byte(475), 6);
if (!context.flags.z()) goto notonbalc;
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showfirstuse(context);
- context.ds.byte(188) = 29;
- context.ds.byte(103) = 1;
+ context.data.byte(188) = 29;
+ context.data.byte(103) = 1;
return;
notonbalc:
showseconduse(context);
@@ -12396,19 +12396,19 @@ static void usebalcony(Context & context) {
turnpathoff(context);
context.al = 5;
turnpathoff(context);
- context._add(context.ds.byte(2), 1);
- context.ds.byte(475) = 6;
- context.ds.byte(478) = 6;
- context.ds.byte(477) = 6;
+ context._add(context.data.byte(2), 1);
+ context.data.byte(475) = 6;
+ context.data.byte(478) = 6;
+ context.data.byte(477) = 6;
findxyfrompath(context);
switchryanoff(context);
- 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;
+ 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;
return;
}
@@ -12418,7 +12418,7 @@ static void openryan(Context & context) {
context.cl = 0;
context.ch = 6;
entercode(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12428,7 +12428,7 @@ static void openpoolboss(Context & context) {
context.cl = 2;
context.ch = 2;
entercode(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12438,7 +12438,7 @@ static void openeden(Context & context) {
context.cl = 6;
context.ch = 5;
entercode(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12448,7 +12448,7 @@ static void opensarters(Context & context) {
context.cl = 3;
context.ch = 3;
entercode(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12476,13 +12476,13 @@ static void drawitall(Context & context) {
}
static void openhoteldoor(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto hoteldoorwith;
withwhat(context);
return;
hoteldoorwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'K';
context.ch = 'E';
context.dl = 'Y';
@@ -12498,19 +12498,19 @@ keyonhotel1:
context.al = 16;
playchannel1(context);
showfirstuse(context);
- context.ds.byte(37) = 0;
- context.ds.byte(103) = 1;
+ context.data.byte(37) = 0;
+ context.data.byte(103) = 1;
return;
}
static void openhoteldoor2(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto hoteldoorwith2;
withwhat(context);
return;
hoteldoorwith2:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'K';
context.ch = 'E';
context.dl = 'Y';
@@ -12531,13 +12531,13 @@ keyonhotel2:
}
static void grafittidoor(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto grafwith;
withwhat(context);
return;
grafwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'A';
context.ch = 'P';
context.dl = 'E';
@@ -12556,16 +12556,16 @@ dograf:
}
static void trapdoor(Context & context) {
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
showfirstuse(context);
switchryanoff(context);
- 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;
+ 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;
return;
}
@@ -12573,10 +12573,10 @@ static void callhotellift(Context & context) {
context.al = 12;
playchannel1(context);
showfirstuse(context);
- context.ds.byte(39) = 8;
- context.ds.byte(103) = 1;
- context.ds.byte(478) = 5;
- context.ds.byte(477) = 5;
+ context.data.byte(39) = 8;
+ context.data.byte(103) = 1;
+ context.data.byte(478) = 5;
+ context.data.byte(477) = 5;
autosetwalk(context);
context.al = 4;
turnpathon(context);
@@ -12585,19 +12585,19 @@ static void callhotellift(Context & context) {
static void calledenslift(Context & context) {
showfirstuse(context);
- context.ds.byte(39) = 8;
- context.ds.byte(103) = 1;
+ context.data.byte(39) = 8;
+ context.data.byte(103) = 1;
context.al = 2;
turnpathon(context);
return;
}
static void calledensdlift(Context & context) {
- context._cmp(context.ds.byte(35), 1);
+ context._cmp(context.data.byte(35), 1);
if (context.flags.z()) goto edensdhere;
showfirstuse(context);
- context.ds.byte(39) = 8;
- context.ds.byte(103) = 1;
+ context.data.byte(39) = 8;
+ context.data.byte(103) = 1;
context.al = 2;
turnpathon(context);
return;
@@ -12608,13 +12608,13 @@ edensdhere:
}
static void usepoolreader(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto poolwith;
withwhat(context);
return;
poolwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'M';
context.ch = 'E';
context.dl = 'M';
@@ -12627,7 +12627,7 @@ poolwith:
putbackobstuff(context);
return;
openpool:
- context._cmp(context.ds.byte(48), 1);
+ context._cmp(context.data.byte(48), 1);
if (context.flags.z()) goto canopenpool;
showseconduse(context);
putbackobstuff(context);
@@ -12636,19 +12636,19 @@ canopenpool:
context.al = 17;
playchannel1(context);
showfirstuse(context);
- context.ds.byte(39) = 6;
- context.ds.byte(103) = 1;
+ context.data.byte(39) = 6;
+ context.data.byte(103) = 1;
return;
}
static void uselighter(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gotlighterwith;
withwhat(context);
return;
gotlighterwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'S';
context.ch = 'M';
context.dl = 'K';
@@ -12662,10 +12662,10 @@ cigarette:
context.cx = 300;
context.al = 9;
showpuztext(context);
- context.al = context.ds.byte(95);
+ context.al = context.data.byte(95);
getexad(context);
context.ds.byte(context.bx+2) = 255;
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -12681,13 +12681,13 @@ static void showseconduse(Context & context) {
}
static void usecardreader1(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gotreader1with;
withwhat(context);
return;
gotreader1with:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'C';
context.ch = 'S';
context.dl = 'H';
@@ -12700,9 +12700,9 @@ gotreader1with:
putbackobstuff(context);
return;
correctcard:
- context._cmp(context.ds.byte(49), 0);
+ context._cmp(context.data.byte(49), 0);
if (context.flags.z()) goto notyet;
- context._cmp(context.ds.word(16), 0);
+ context._cmp(context.data.word(16), 0);
if (context.flags.z()) goto getscash;
context.cx = 300;
context.al = 17;
@@ -12715,9 +12715,9 @@ getscash:
context.cx = 300;
context.al = 18;
showpuztext(context);
- context._add(context.ds.byte(2), 1);
- context.ds.word(16) = 12432;
- context.ds.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
+ context.data.word(16) = 12432;
+ context.data.byte(103) = 1;
return;
notyet:
showfirstuse(context);
@@ -12726,13 +12726,13 @@ notyet:
}
static void usecardreader2(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gotreader2with;
withwhat(context);
return;
gotreader2with:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'C';
context.ch = 'S';
context.dl = 'H';
@@ -12745,11 +12745,11 @@ gotreader2with:
putbackobstuff(context);
return;
correctcard2:
- context._cmp(context.ds.byte(50), 0);
+ context._cmp(context.data.byte(50), 0);
if (context.flags.z()) goto notyetboss;
- context._cmp(context.ds.word(16), 0);
+ context._cmp(context.data.word(16), 0);
if (context.flags.z()) goto nocash;
- context._cmp(context.ds.byte(46), 2);
+ context._cmp(context.data.byte(46), 2);
if (context.flags.z()) goto alreadygotnew;
context.al = 18;
playchannel1(context);
@@ -12758,10 +12758,10 @@ correctcard2:
showpuztext(context);
context.al = 94;
placesetobject(context);
- context.ds.byte(46) = 1;
- context._sub(context.ds.word(16), 2000);
- context._add(context.ds.byte(2), 1);
- context.ds.byte(103) = 1;
+ context.data.byte(46) = 1;
+ context._sub(context.data.word(16), 2000);
+ context._add(context.data.byte(2), 1);
+ context.data.byte(103) = 1;
return;
nocash:
context.cx = 300;
@@ -12782,13 +12782,13 @@ notyetboss:
}
static void usecardreader3(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gotreader3with;
withwhat(context);
return;
gotreader3with:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'C';
context.ch = 'S';
context.dl = 'H';
@@ -12801,19 +12801,19 @@ gotreader3with:
putbackobstuff(context);
return;
rightcard:
- context._cmp(context.ds.byte(51), 0);
+ context._cmp(context.data.byte(51), 0);
if (context.flags.z()) goto notyetrecep;
- context._cmp(context.ds.byte(52), 0);
+ context._cmp(context.data.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.ds.byte(2), 1);
- context._sub(context.ds.word(16), 8300);
- context.ds.byte(52) = 1;
- context.ds.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
+ context._sub(context.data.word(16), 8300);
+ context.data.byte(52) = 1;
+ context.data.byte(103) = 1;
return;
alreadyusedit:
context.cx = 300;
@@ -12836,11 +12836,11 @@ static void usecashcard(Context & context) {
showman(context);
context.di = 114;
context.bx = 120-3;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 39;
context.ah = 0;
showframe(context);
- context.ax = context.ds.word(16);
+ context.ax = context.data.word(16);
moneypoke(context);
getobtextstart(context);
nextcolon(context);
@@ -12855,7 +12855,7 @@ static void usecashcard(Context & context) {
context.bx = 155;
context.es = context.cs;
context.si = 3385;
- context.ds.word(71) = 91*2+75;
+ context.data.word(71) = 91*2+75;
context.al = 0;
context.ah = 0;
context.dl = 240;
@@ -12864,12 +12864,12 @@ static void usecashcard(Context & context) {
context.bx = 155;
context.es = context.cs;
context.si = 3390;
- context.ds.word(71) = 91*2+85;
+ context.data.word(71) = 91*2+85;
context.al = 0;
context.ah = 0;
context.dl = 240;
printdirect(context);
- context.ds.word(71) = 0;
+ context.data.word(71) = 0;
worktoscreenm(context);
context.cx = 400;
hangonp(context);
@@ -12880,13 +12880,13 @@ static void usecashcard(Context & context) {
}
static void lookatcard(Context & context) {
- context.ds.byte(131) = 1;
+ context.data.byte(131) = 1;
getridofreels(context);
loadkeypad(context);
createpanel2(context);
context.di = 160;
context.bx = 80;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 42;
context.ah = 128;
showframe(context);
@@ -12908,7 +12908,7 @@ static void lookatcard(Context & context) {
createpanel2(context);
context.di = 160;
context.bx = 80;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 42;
context.ah = 128;
showframe(context);
@@ -12923,7 +12923,7 @@ static void lookatcard(Context & context) {
worktoscreenm(context);
context.cx = 200;
hangonw(context);
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
getridoftemp(context);
restorereels(context);
putbackobstuff(context);
@@ -12970,31 +12970,31 @@ numberpoke3:
}
static void usecontrol(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gotcontrolwith;
withwhat(context);
return;
gotcontrolwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.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.ds.byte(184), 21);
+ context._cmp(context.data.byte(184), 21);
if (!context.flags.z()) goto balls;
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.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.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'A';
context.ch = 'X';
context.dl = 'E';
@@ -13008,26 +13008,26 @@ balls:
rightkey:
context.al = 16;
playchannel1(context);
- context._cmp(context.ds.byte(9), 21);
+ context._cmp(context.data.byte(9), 21);
if (context.flags.z()) goto goingdown;
context.cx = 300;
context.al = 0;
showpuztext(context);
- 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;
+ 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;
return;
goingdown:
context.cx = 300;
context.al = 3;
showpuztext(context);
- 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;
+ 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;
return;
jimmycontrols:
context.al = 50;
@@ -13047,41 +13047,41 @@ jimmycontrols:
context.cx = 300;
context.al = 10;
showpuztext(context);
- context._add(context.ds.byte(2), 1);
- context.ds.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
+ context.data.byte(103) = 1;
return;
axeoncontrols:
context.cx = 300;
context.al = 16;
showpuztext(context);
- context._add(context.ds.byte(2), 1);
+ context._add(context.data.byte(2), 1);
putbackobstuff(context);
return;
}
static void usehatch(Context & context) {
showfirstuse(context);
- context.ds.byte(188) = 40;
- context.ds.byte(103) = 1;
+ context.data.byte(188) = 40;
+ context.data.byte(103) = 1;
return;
}
static void usewire(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gotwirewith;
withwhat(context);
return;
gotwirewith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.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.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'A';
context.ch = 'X';
context.dl = 'E';
@@ -13107,8 +13107,8 @@ wireknife:
context.cx = 300;
context.al = 11;
showpuztext(context);
- context._add(context.ds.byte(2), 1);
- context.ds.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
+ context.data.byte(103) = 1;
return;
}
@@ -13124,21 +13124,21 @@ static void usehandle(Context & context) {
context.cx = 300;
context.al = 12;
showpuztext(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
havecutwire:
context.cx = 300;
context.al = 13;
showpuztext(context);
- context.ds.byte(188) = 22;
- context.ds.byte(103) = 1;
+ context.data.byte(188) = 22;
+ context.data.byte(103) = 1;
return;
}
static void useelevator1(Context & context) {
showfirstuse(context);
selectlocation(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
@@ -13154,47 +13154,47 @@ static void showfirstuse(Context & context) {
static void useelevator3(Context & context) {
showfirstuse(context);
- 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;
+ 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;
return;
}
static void useelevator4(Context & context) {
showfirstuse(context);
- 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;
+ 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;
return;
}
static void useelevator2(Context & context) {
- context._cmp(context.ds.byte(9), 23);
+ context._cmp(context.data.byte(9), 23);
if (context.flags.z()) goto inpoolhall;
showfirstuse(context);
- 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;
+ 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;
return;
inpoolhall:
showfirstuse(context);
- 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;
+ 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;
return;
}
@@ -13203,20 +13203,20 @@ static void useelevator5(Context & context) {
placesetobject(context);
context.al = 0;
removesetobject(context);
- 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;
+ 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;
return;
}
static void usekey(Context & context) {
- context._cmp(context.ds.byte(9), 5);
+ context._cmp(context.data.byte(9), 5);
if (context.flags.z()) goto usekey1;
- context._cmp(context.ds.byte(9), 30);
+ context._cmp(context.data.byte(9), 30);
if (context.flags.z()) goto usekey1;
- context._cmp(context.ds.byte(9), 21);
+ context._cmp(context.data.byte(9), 21);
if (context.flags.z()) goto usekey2;
context.cx = 200;
context.al = 1;
@@ -13224,25 +13224,25 @@ static void usekey(Context & context) {
putbackobstuff(context);
return;
usekey1:
- context._cmp(context.ds.byte(148), 22);
+ context._cmp(context.data.byte(148), 22);
if (!context.flags.z()) goto wrongroom1;
- context._cmp(context.ds.byte(149), 10);
+ context._cmp(context.data.byte(149), 10);
if (!context.flags.z()) goto wrongroom1;
context.cx = 300;
context.al = 0;
showpuztext(context);
- context.ds.byte(40) = 100;
- context.ds.byte(103) = 1;
+ context.data.byte(40) = 100;
+ context.data.byte(103) = 1;
return;
usekey2:
- context._cmp(context.ds.byte(148), 11);
+ context._cmp(context.data.byte(148), 11);
if (!context.flags.z()) goto wrongroom1;
- context._cmp(context.ds.byte(149), 10);
+ context._cmp(context.data.byte(149), 10);
if (!context.flags.z()) goto wrongroom1;
context.cx = 300;
context.al = 3;
showpuztext(context);
- context.ds.byte(188) = 30;
+ context.data.byte(188) = 30;
context.al = 2;
fadescreendown(context);
showfirstuse(context);
@@ -13257,7 +13257,7 @@ wrongroom1:
}
static void usestereo(Context & context) {
- context._cmp(context.ds.byte(9), 0);
+ context._cmp(context.data.byte(9), 0);
if (context.flags.z()) goto stereook;
context.cx = 400;
context.al = 4;
@@ -13265,9 +13265,9 @@ static void usestereo(Context & context) {
putbackobstuff(context);
return;
stereook:
- context._cmp(context.ds.byte(148), 11);
+ context._cmp(context.data.byte(148), 11);
if (!context.flags.z()) goto stereonotok;
- context._cmp(context.ds.byte(149), 0);
+ context._cmp(context.data.byte(149), 0);
if (context.flags.z()) goto stereook2;
stereonotok:
context.cx = 400;
@@ -13314,8 +13314,8 @@ stereoon:
}
static void usecooker(Context & context) {
- context.al = context.ds.byte(99);
- context.ah = context.ds.byte(102);
+ context.al = context.data.byte(99);
+ context.ah = context.data.byte(102);
checkinside(context);
context._cmp(context.cl, 114);
if (!context.flags.z()) goto foodinside;
@@ -13329,14 +13329,14 @@ foodinside:
}
static void useaxe(Context & context) {
- context._cmp(context.ds.byte(184), 22);
+ context._cmp(context.data.byte(184), 22);
if (!context.flags.z()) goto notinpool;
- context._cmp(context.ds.byte(149), 10);
+ context._cmp(context.data.byte(149), 10);
if (context.flags.z()) goto axeondoor;
showseconduse(context);
- context._add(context.ds.byte(2), 1);
- context.ds.byte(65) = 2;
- context.ds.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
+ context.data.byte(65) = 2;
+ context.data.byte(103) = 1;
removeobfrominv(context);
return;
notinpool:
@@ -13347,25 +13347,25 @@ axeondoor:
context.al = 15;
context.cx = 300;
showpuztext(context);
- 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;
+ 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;
return;
return;
}
static void useelvdoor(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gotdoorwith;
withwhat(context);
return;
gotdoorwith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'A';
context.ch = 'X';
context.dl = 'E';
@@ -13381,13 +13381,13 @@ axeondoor:
context.al = 15;
context.cx = 300;
showpuztext(context);
- 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;
+ 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;
return;
}
@@ -13396,8 +13396,8 @@ static void withwhat(Context & context) {
showpanel(context);
showman(context);
showexit(context);
- context.al = context.ds.byte(99);
- context.ah = context.ds.byte(102);
+ context.al = context.data.byte(99);
+ context.ah = context.data.byte(102);
context.es = context.cs;
context.di = 5674;
copyname(context);
@@ -13407,7 +13407,7 @@ static void withwhat(Context & context) {
context.al = 63;
context.ah = 2;
printmessage2(context);
- context.di = context.ds.word(84);
+ context.di = context.data.word(84);
context._add(context.di, 5);
context.bx = 21;
context.es = context.cs;
@@ -13416,7 +13416,7 @@ static void withwhat(Context & context) {
context.al = 0;
context.ah = 0;
printdirect(context);
- context.di = context.ds.word(84);
+ context.di = context.data.word(84);
context._add(context.di, 5);
context.bx = 21;
context.dl = 200;
@@ -13424,12 +13424,12 @@ static void withwhat(Context & context) {
context.ah = 3;
printmessage2(context);
fillryan(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.ds.byte(104) = 2;
+ context.data.byte(104) = 2;
return;
}
@@ -13441,21 +13441,21 @@ static void selectob(Context & context) {
blank(context);
return;
canselectob:
- context.ds.byte(95) = context.al;
- context.ds.byte(96) = context.ah;
- context._cmp(context.ax, context.ds.word(94));
+ context.data.byte(95) = context.al;
+ context.data.byte(96) = context.ah;
+ context._cmp(context.ax, context.data.word(94));
if (!context.flags.z()) goto diffsub3;
- context._cmp(context.ds.byte(100), 221);
+ context._cmp(context.data.byte(100), 221);
if (context.flags.z()) goto alreadyselob;
- context.ds.byte(100) = 221;
+ context.data.byte(100) = 221;
diffsub3:
- context.ds.word(94) = context.ax;
+ context.data.word(94) = context.ax;
context.bx = context.ax;
context.al = 0;
commandwithob(context);
alreadyselob:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notselob;
context._and(context.ax, 1);
if (!context.flags.z()) goto doselob;
@@ -13463,7 +13463,7 @@ notselob:
return;
doselob:
delpointer(context);
- context.ds.byte(104) = 0;
+ context.data.byte(104) = 0;
useroutine(context);
return;
}
@@ -13490,7 +13490,7 @@ static void findsetobject(Context & context) {
context._sub(context.ah, 'A');
context._sub(context.cl, 'A');
context._sub(context.ch, 'A');
- context.es = context.ds.word(428);
+ context.es = context.data.word(428);
context.bx = 0;
context.dl = 0;
findsetloop:
@@ -13518,7 +13518,7 @@ static void findexobject(Context & context) {
context._sub(context.ah, 'A');
context._sub(context.cl, 'A');
context._sub(context.ch, 'A');
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.bx = 0+2080+30000;
context.dl = 0;
findexloop:
@@ -13546,7 +13546,7 @@ static void isryanholding(Context & context) {
context._sub(context.ah, 'A');
context._sub(context.cl, 'A');
context._sub(context.ch, 'A');
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.bx = 0+2080+30000;
context.dl = 0;
searchinv:
@@ -13574,7 +13574,7 @@ nofindininv:
}
static void checkinside(Context & context) {
- context.es = context.ds.word(398);
+ context.es = context.data.word(398);
context.bx = 0+2080+30000;
context.cl = 0;
insideloop:
@@ -13620,7 +13620,7 @@ static void putbackobstuff(Context & context) {
obpicture(context);
describeob(context);
undertextline(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
readmouse(context);
showpointer(context);
worktoscreen(context);
@@ -13655,7 +13655,7 @@ static void findpuztext(Context & context) {
context.ah = 0;
context.si = context.ax;
context._add(context.si, context.si);
- context.es = context.ds.word(454);
+ context.es = context.data.word(454);
context.ax = context.ds.word(context.si);
context._add(context.ax, 66*2);
context.si = context.ax;
@@ -13725,8 +13725,8 @@ 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.ds.word(412);
- context.ah = context.ds.byte(184);
+ context.es = context.data.word(412);
+ context.ah = context.data.byte(184);
changeloop:
context._cmp(context.ds.byte(context.bx), 255);
if (context.flags.z()) goto haventfound;
@@ -13749,17 +13749,17 @@ haventfound:
}
static void switchryanon(Context & context) {
- context.ds.byte(63) = 255;
+ context.data.byte(63) = 255;
return;
}
static void switchryanoff(Context & context) {
- context.ds.byte(63) = 1;
+ context.data.byte(63) = 1;
return;
}
static void setallchanges(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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.ds.word(context.bx);
@@ -13767,7 +13767,7 @@ setallloop:
if (context.flags.z()) goto endsetloop;
context.cx = context.ds.word(context.bx+2);
context._add(context.bx, 4);
- context._cmp(context.ah, context.ds.byte(184));
+ context._cmp(context.ah, context.data.byte(184));
if (!context.flags.z()) goto setallloop;
context.push(context.es);
context.push(context.bx);
@@ -13799,7 +13799,7 @@ path:
context.bx = context.pop();
context._add(context.bx, context.ax);
context._add(context.bx, 0);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
context.cx = context.pop();
context.ds.byte(context.bx+6) = context.cl;
nopath:
@@ -13822,20 +13822,20 @@ beenpickedup:
}
static void autoappear(Context & context) {
- context._cmp(context.ds.byte(9), 32);
+ context._cmp(context.data.byte(9), 32);
if (!context.flags.z()) goto notinalley;
context.al = 5;
resetlocation(context);
context.al = 10;
setlocation(context);
- context.ds.byte(183) = 10;
+ context.data.byte(183) = 10;
return;
notinalley:
- context._cmp(context.ds.byte(184), 24);
+ context._cmp(context.data.byte(184), 24);
if (!context.flags.z()) goto notinedens;
- context._cmp(context.ds.byte(42), 1);
+ context._cmp(context.data.byte(42), 1);
if (!context.flags.z()) goto edenspart2;
- context._add(context.ds.byte(42), 1);
+ context._add(context.data.byte(42), 1);
context.al = 44;
placesetobject(context);
context.al = 18;
@@ -13854,7 +13854,7 @@ notinalley:
removesetobject(context);
return;
edenspart2:
- context._cmp(context.ds.byte(43), 1);
+ context._cmp(context.data.byte(43), 1);
if (!context.flags.z()) goto notedens2;
context.al = 44;
removesetobject(context);
@@ -13862,23 +13862,23 @@ edenspart2:
removesetobject(context);
context.al = 55;
placesetobject(context);
- context._add(context.ds.byte(43), 1);
+ context._add(context.data.byte(43), 1);
notedens2:
return;
notinedens:
- context._cmp(context.ds.byte(184), 25);
+ context._cmp(context.data.byte(184), 25);
if (!context.flags.z()) goto notonsartroof;
- context.ds.byte(34) = 3;
+ context.data.byte(34) = 3;
context.al = 6;
resetlocation(context);
context.al = 11;
setlocation(context);
- context.ds.byte(183) = 11;
+ context.data.byte(183) = 11;
return;
notonsartroof:
- context._cmp(context.ds.byte(184), 2);
+ context._cmp(context.data.byte(184), 2);
if (!context.flags.z()) goto notinlouiss;
- context._cmp(context.ds.byte(41), 0);
+ context._cmp(context.data.byte(41), 0);
if (context.flags.z()) goto notinlouiss;
context.al = 23;
placesetobject(context);
@@ -13887,153 +13887,153 @@ notinlouiss:
}
static void getundertimed(Context & context) {
- context.al = context.ds.byte(335);
+ context.al = context.data.byte(335);
context._sub(context.al, 3);
context.ah = 0;
context.bx = context.ax;
- context.al = context.ds.byte(336);
+ context.al = context.data.byte(336);
context.ah = 0;
context.di = context.ax;
context.ch = 30;
context.cl = 240;
- context.ds = context.ds.word(412);
+ 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);
multiget(context);
return;
}
static void putundertimed(Context & context) {
- context.al = context.ds.byte(335);
+ context.al = context.data.byte(335);
context._sub(context.al, 3);
context.ah = 0;
context.bx = context.ax;
- context.al = context.ds.byte(336);
+ context.al = context.data.byte(336);
context.ah = 0;
context.di = context.ax;
context.ch = 30;
context.cl = 240;
- context.ds = context.ds.word(412);
+ 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);
multiput(context);
return;
}
static void dumptimedtext(Context & context) {
- context._cmp(context.ds.byte(337), 1);
+ context._cmp(context.data.byte(337), 1);
if (!context.flags.z()) goto nodumptimed;
- context.al = context.ds.byte(335);
+ context.al = context.data.byte(335);
context._sub(context.al, 3);
context.ah = 0;
context.bx = context.ax;
- context.al = context.ds.byte(336);
+ context.al = context.data.byte(336);
context.ah = 0;
context.di = context.ax;
context.cl = 240;
context.ch = 30;
multidump(context);
- context.ds.byte(337) = 0;
+ context.data.byte(337) = 0;
nodumptimed:
return;
}
static void setuptimeduse(Context & context) {
- context._cmp(context.ds.word(328), 0);
+ context._cmp(context.data.word(328), 0);
if (!context.flags.z()) goto cantsetup;
- context.ds.byte(335) = context.bh;
- context.ds.byte(336) = context.bl;
- context.ds.word(330) = context.cx;
+ context.data.byte(335) = context.bh;
+ context.data.byte(336) = context.bl;
+ context.data.word(330) = context.cx;
context._add(context.dx, context.cx);
- context.ds.word(328) = context.dx;
+ context.data.word(328) = context.dx;
context.bl = context.al;
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.ds.word(454);
+ context.es = context.data.word(454);
context.cx = 66*2;
context.ax = context.ds.word(context.bx);
context._add(context.ax, context.cx);
context.bx = context.ax;
- context.ds.word(332) = context.es;
- context.ds.word(334) = context.bx;
+ context.data.word(332) = context.es;
+ context.data.word(334) = context.bx;
cantsetup:
return;
}
static void setuptimedtemp(Context & context) {
- context._cmp(context.ds.word(328), 0);
+ context._cmp(context.data.word(328), 0);
if (!context.flags.z()) goto cantsetup2;
- context.ds.byte(335) = context.bh;
- context.ds.byte(336) = context.bl;
- context.ds.word(330) = context.cx;
+ context.data.byte(335) = context.bh;
+ context.data.byte(336) = context.bl;
+ context.data.word(330) = context.cx;
context._add(context.dx, context.cx);
- context.ds.word(328) = context.dx;
+ context.data.word(328) = context.dx;
context.bl = context.al;
context.bh = 0;
context._add(context.bx, context.bx);
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
context.cx = 66*2;
context.ax = context.ds.word(context.bx);
context._add(context.ax, context.cx);
context.bx = context.ax;
- context.ds.word(332) = context.es;
- context.ds.word(334) = context.bx;
+ context.data.word(332) = context.es;
+ context.data.word(334) = context.bx;
cantsetup2:
return;
}
static void usetimedtext(Context & context) {
- context._cmp(context.ds.word(328), 0);
+ context._cmp(context.data.word(328), 0);
if (context.flags.z()) goto notext;
- context._sub(context.ds.word(328), 1);
- context._cmp(context.ds.word(328), 0);
+ context._sub(context.data.word(328), 1);
+ context._cmp(context.data.word(328), 0);
if (context.flags.z()) goto deltimedtext;
- context.ax = context.ds.word(328);
- context._cmp(context.ax, context.ds.word(330));
+ context.ax = context.data.word(328);
+ context._cmp(context.ax, context.data.word(330));
if (context.flags.z()) goto firsttimed;
if (!context.flags.c()) goto notext;
goto notfirsttimed;
firsttimed:
getundertimed(context);
notfirsttimed:
- context.bl = context.ds.byte(335);
+ context.bl = context.data.byte(335);
context.bh = 0;
- context.al = context.ds.byte(336);
+ context.al = context.data.byte(336);
context.ah = 0;
context.di = context.ax;
- context.es = context.ds.word(332);
- context.si = context.ds.word(334);
+ context.es = context.data.word(332);
+ context.si = context.data.word(334);
context.dl = 237;
context.ah = 0;
printdirect(context);
- context.ds.byte(337) = 1;
+ context.data.byte(337) = 1;
notext:
return;
deltimedtext:
putundertimed(context);
- context.ds.byte(337) = 1;
+ context.data.byte(337) = 1;
return;
}
static void edenscdplayer(Context & context) {
showfirstuse(context);
- 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;
+ 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;
return;
}
static void usewall(Context & context) {
showfirstuse(context);
- context._cmp(context.ds.byte(475), 3);
+ context._cmp(context.data.byte(475), 3);
if (context.flags.z()) goto gobackover;
- 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.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.al = 3;
turnpathon(context);
context.al = 4;
@@ -14046,19 +14046,19 @@ static void usewall(Context & context) {
turnpathoff(context);
context.al = 5;
turnpathoff(context);
- context.ds.byte(475) = 3;
- context.ds.byte(477) = 3;
+ context.data.byte(475) = 3;
+ context.data.byte(477) = 3;
findxyfrompath(context);
- context.ds.byte(187) = 1;
+ context.data.byte(187) = 1;
switchryanoff(context);
return;
gobackover:
- 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.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.al = 3;
turnpathoff(context);
context.al = 4;
@@ -14071,22 +14071,22 @@ gobackover:
turnpathon(context);
context.al = 5;
turnpathon(context);
- context.ds.byte(475) = 5;
- context.ds.byte(477) = 5;
+ context.data.byte(475) = 5;
+ context.data.byte(477) = 5;
findxyfrompath(context);
- context.ds.byte(187) = 1;
+ context.data.byte(187) = 1;
switchryanoff(context);
return;
}
static void usechurchgate(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto gatewith;
withwhat(context);
return;
gatewith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'C';
context.ch = 'U';
context.dl = 'T';
@@ -14100,16 +14100,16 @@ gatewith:
return;
cutgate:
showfirstuse(context);
- 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.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.al = 3;
turnpathon(context);
- context._cmp(context.ds.byte(44), 0);
+ context._cmp(context.data.byte(44), 0);
if (context.flags.z()) goto notopenchurch;
context.al = 2;
turnpathon(context);
@@ -14118,153 +14118,153 @@ notopenchurch:
}
static void usegun(Context & context) {
- context._cmp(context.ds.byte(102), 4);
+ context._cmp(context.data.byte(102), 4);
if (context.flags.z()) goto istakengun;
showseconduse(context);
putbackobstuff(context);
return;
istakengun:
- context._cmp(context.ds.byte(184), 22);
+ context._cmp(context.data.byte(184), 22);
if (!context.flags.z()) goto notinpoolroom;
context.cx = 300;
context.al = 34;
showpuztext(context);
- context.ds.byte(65) = 1;
- context.ds.byte(64) = 39;
- context.ds.byte(103) = 1;
- context._add(context.ds.byte(2), 1);
+ context.data.byte(65) = 1;
+ context.data.byte(64) = 39;
+ context.data.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
return;
notinpoolroom:
- context._cmp(context.ds.byte(184), 25);
+ context._cmp(context.data.byte(184), 25);
if (!context.flags.z()) goto nothelicopter;
context.cx = 300;
context.al = 34;
showpuztext(context);
- 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);
+ 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);
return;
nothelicopter:
- context._cmp(context.ds.byte(184), 27);
+ context._cmp(context.data.byte(184), 27);
if (!context.flags.z()) goto notinrockroom;
context.cx = 300;
context.al = 46;
showpuztext(context);
- 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);
+ 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);
return;
notinrockroom:
- context._cmp(context.ds.byte(184), 8);
+ context._cmp(context.data.byte(184), 8);
if (!context.flags.z()) goto notbystudio;
- context._cmp(context.ds.byte(148), 22);
+ context._cmp(context.data.byte(148), 22);
if (!context.flags.z()) goto notbystudio;
- context._cmp(context.ds.byte(149), 40);
+ context._cmp(context.data.byte(149), 40);
if (!context.flags.z()) goto notbystudio;
context.al = 92;
issetobonmap(context);
if (context.flags.z()) goto notbystudio;
- context._cmp(context.ds.byte(475), 9);
+ context._cmp(context.data.byte(475), 9);
if (context.flags.z()) goto notbystudio;
- context.ds.byte(478) = 9;
- context.ds.byte(477) = 9;
+ context.data.byte(478) = 9;
+ context.data.byte(477) = 9;
autosetwalk(context);
- context.ds.byte(65) = 1;
- context.ds.byte(103) = 1;
- context._add(context.ds.byte(2), 1);
+ context.data.byte(65) = 1;
+ context.data.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
return;
notbystudio:
- context._cmp(context.ds.byte(184), 6);
+ context._cmp(context.data.byte(184), 6);
if (!context.flags.z()) goto notsarters;
- context._cmp(context.ds.byte(148), 11);
+ context._cmp(context.data.byte(148), 11);
if (!context.flags.z()) goto notsarters;
- context._cmp(context.ds.byte(149), 20);
+ context._cmp(context.data.byte(149), 20);
if (!context.flags.z()) goto notsarters;
context.al = 5;
issetobonmap(context);
if (!context.flags.z()) goto notsarters;
- context.ds.byte(478) = 1;
- context.ds.byte(477) = 1;
+ context.data.byte(478) = 1;
+ context.data.byte(477) = 1;
autosetwalk(context);
context.al = 5;
removesetobject(context);
context.al = 6;
placesetobject(context);
context.al = 1;
- context.ah = context.ds.byte(185);
+ context.ah = context.data.byte(185);
context._sub(context.ah, 1);
turnanypathon(context);
- 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);
+ 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);
return;
notsarters:
- context._cmp(context.ds.byte(184), 29);
+ context._cmp(context.data.byte(184), 29);
if (!context.flags.z()) goto notaide;
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
context.al = 13;
resetlocation(context);
context.al = 12;
setlocation(context);
- context.ds.byte(183) = 12;
- context.ds.byte(478) = 2;
- context.ds.byte(477) = 2;
+ context.data.byte(183) = 12;
+ context.data.byte(478) = 2;
+ context.data.byte(477) = 2;
autosetwalk(context);
- 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);
+ 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);
return;
notaide:
- context._cmp(context.ds.byte(184), 23);
+ context._cmp(context.data.byte(184), 23);
if (!context.flags.z()) goto notwithboss;
- context._cmp(context.ds.byte(148), 0);
+ context._cmp(context.data.byte(148), 0);
if (!context.flags.z()) goto notwithboss;
- context._cmp(context.ds.byte(149), 50);
+ context._cmp(context.data.byte(149), 50);
if (!context.flags.z()) goto notwithboss;
- context._cmp(context.ds.byte(475), 5);
+ context._cmp(context.data.byte(475), 5);
if (context.flags.z()) goto pathokboss;
- context.ds.byte(478) = 5;
- context.ds.byte(477) = 5;
+ context.data.byte(478) = 5;
+ context.data.byte(477) = 5;
autosetwalk(context);
pathokboss:
- context.ds.byte(65) = 1;
- context.ds.byte(103) = 1;
+ context.data.byte(65) = 1;
+ context.data.byte(103) = 1;
return;
notwithboss:
- context._cmp(context.ds.byte(184), 8);
+ context._cmp(context.data.byte(184), 8);
if (!context.flags.z()) goto nottvsoldier;
- context._cmp(context.ds.byte(148), 11);
+ context._cmp(context.data.byte(148), 11);
if (!context.flags.z()) goto nottvsoldier;
- context._cmp(context.ds.byte(149), 10);
+ context._cmp(context.data.byte(149), 10);
if (!context.flags.z()) goto nottvsoldier;
- context._cmp(context.ds.byte(475), 2);
+ context._cmp(context.data.byte(475), 2);
if (context.flags.z()) goto pathoktv;
- context.ds.byte(478) = 2;
- context.ds.byte(477) = 2;
+ context.data.byte(478) = 2;
+ context.data.byte(477) = 2;
autosetwalk(context);
pathoktv:
- context.ds.byte(65) = 1;
- context.ds.byte(103) = 1;
+ context.data.byte(65) = 1;
+ context.data.byte(103) = 1;
return;
nottvsoldier:
showfirstuse(context);
@@ -14273,14 +14273,14 @@ nottvsoldier:
}
static void useshield(Context & context) {
- context._cmp(context.ds.byte(184), 20);
+ context._cmp(context.data.byte(184), 20);
if (!context.flags.z()) goto notinsartroom;
- context._cmp(context.ds.byte(64), 0);
+ context._cmp(context.data.byte(64), 0);
if (context.flags.z()) goto notinsartroom;
- context.ds.byte(65) = 3;
+ context.data.byte(65) = 3;
showseconduse(context);
- context.ds.byte(103) = 1;
- context._add(context.ds.byte(2), 1);
+ context.data.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
removeobfrominv(context);
return;
notinsartroom:
@@ -14295,20 +14295,20 @@ static void usebuttona(Context & context) {
if (context.flags.z()) goto donethisbit;
showfirstuse(context);
context.al = 0;
- context.ah = context.ds.byte(185);
+ context.ah = context.data.byte(185);
context._sub(context.ah, 1);
turnanypathon(context);
context.al = 9;
removesetobject(context);
context.al = 95;
placesetobject(context);
- 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);
+ 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);
return;
donethisbit:
showseconduse(context);
@@ -14317,21 +14317,21 @@ donethisbit:
}
static void useplate(Context & context) {
- context._cmp(context.ds.byte(95), 255);
+ context._cmp(context.data.byte(95), 255);
if (!context.flags.z()) goto platewith;
withwhat(context);
return;
platewith:
- context.al = context.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.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.ds.byte(95);
- context.ah = context.ds.byte(96);
+ context.al = context.data.byte(95);
+ context.ah = context.data.byte(96);
context.cl = 'K';
context.ch = 'N';
context.dl = 'F';
@@ -14355,8 +14355,8 @@ unscrewplate:
removesetobject(context);
context.al = 0;
placefreeobject(context);
- context._add(context.ds.byte(2), 1);
- context.ds.byte(103) = 1;
+ context._add(context.data.byte(2), 1);
+ context.data.byte(103) = 1;
return;
triedknife:
context.cx = 300;
@@ -14380,19 +14380,19 @@ static void usewinch(Context & context) {
context.dh = 'E';
compare(context);
if (!context.flags.z()) goto nowinch;
- 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);
+ 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);
return;
nowinch:
showfirstuse(context);
@@ -14401,8 +14401,8 @@ nowinch:
}
static void entercode(Context & context) {
- context.ds.word(284) = context.ax;
- context.ds.word(286) = context.cx;
+ context.data.word(284) = context.ax;
+ context.data.word(286) = context.cx;
getridofreels(context);
loadkeypad(context);
createpanel(context);
@@ -14413,20 +14413,20 @@ static void entercode(Context & context) {
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.ds.word(280) = 0;
- context.ds.byte(103) = 0;
+ context.data.word(280) = 0;
+ context.data.byte(103) = 0;
keypadloop:
delpointer(context);
readmouse(context);
showkeypad(context);
showpointer(context);
- context._cmp(context.ds.byte(282), 0);
+ context._cmp(context.data.byte(282), 0);
if (context.flags.z()) goto nopresses;
- context._sub(context.ds.byte(282), 1);
+ context._sub(context.data.byte(282), 1);
goto afterpress;
nopresses:
- context.ds.byte(278) = 255;
- context.ds.byte(281) = 255;
+ context.data.byte(278) = 255;
+ context.data.byte(281) = 255;
vsync(context);
afterpress:
dumppointer(context);
@@ -14434,37 +14434,37 @@ afterpress:
dumptextline(context);
context.bx = 3393;
checkcoords(context);
- context._cmp(context.ds.byte(103), 1);
+ context._cmp(context.data.byte(103), 1);
if (context.flags.z()) goto numberright;
- context._cmp(context.ds.byte(287), 1);
+ context._cmp(context.data.byte(287), 1);
if (!context.flags.z()) goto notendkey;
- context._cmp(context.ds.byte(37), 0);
+ context._cmp(context.data.byte(37), 0);
if (context.flags.z()) goto numberright;
goto keypadloop;
notendkey:
- context._cmp(context.ds.byte(282), 40);
+ context._cmp(context.data.byte(282), 40);
if (!context.flags.z()) goto keypadloop;
addtopresslist(context);
- context._cmp(context.ds.byte(278), 11);
+ context._cmp(context.data.byte(278), 11);
if (!context.flags.z()) goto keypadloop;
- context.ax = context.ds.word(284);
- context.cx = context.ds.word(286);
+ context.ax = context.data.word(284);
+ context.cx = context.data.word(286);
isitright(context);
if (!context.flags.z()) goto incorrect;
- context.ds.byte(37) = 0;
+ context.data.byte(37) = 0;
context.al = 11;
playchannel1(context);
- context.ds.byte(287) = 120;
- context.ds.word(280) = 0;
+ context.data.byte(287) = 120;
+ context.data.word(280) = 0;
goto keypadloop;
incorrect:
context.al = 11;
playchannel1(context);
- context.ds.byte(287) = 120;
- context.ds.word(280) = 0;
+ context.data.byte(287) = 120;
+ context.data.word(280) = 0;
goto keypadloop;
numberright:
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
getridoftemp(context);
restorereels(context);
redrawmainscrn(context);
@@ -14479,38 +14479,38 @@ static void loadkeypad(Context & context) {
}
static void quitkey(Context & context) {
- context._cmp(context.ds.byte(100), 222);
+ context._cmp(context.data.byte(100), 222);
if (context.flags.z()) goto alreadyqk;
- context.ds.byte(100) = 222;
+ context.data.byte(100) = 222;
context.al = 4;
commandonly(context);
alreadyqk:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notqk;
context._and(context.ax, 1);
if (!context.flags.z()) goto doqk;
notqk:
return;
doqk:
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
static void addtopresslist(Context & context) {
- context._cmp(context.ds.word(280), 5);
+ context._cmp(context.data.word(280), 5);
if (context.flags.z()) goto nomorekeys;
- context.al = context.ds.byte(278);
+ context.al = context.data.byte(278);
context._cmp(context.al, 10);
if (!context.flags.z()) goto not10;
context.al = 0;
not10:
- context.bx = context.ds.word(280);
+ context.bx = context.data.word(280);
context.dx = context.ds;
context.es = context.dx;
context._add(context.bx, 8350);
context.ds.byte(context.bx) = context.al;
- context._add(context.ds.word(280), 1);
+ context._add(context.data.word(280), 1);
nomorekeys:
return;
}
@@ -14584,27 +14584,27 @@ static void buttonenter(Context & context) {
static void buttonpress(Context & context) {
context.ch = context.cl;
context._add(context.ch, 100);
- context._cmp(context.ds.byte(100), context.ch);
+ context._cmp(context.data.byte(100), context.ch);
if (context.flags.z()) goto alreadyb;
- context.ds.byte(100) = context.ch;
+ context.data.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.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notb;
context._and(context.ax, 1);
if (!context.flags.z()) goto dob;
notb:
return;
dob:
- context.ds.byte(278) = context.cl;
+ context.data.byte(278) = context.cl;
context._add(context.cl, 21);
- context.ds.byte(281) = context.cl;
- context.ds.byte(282) = 40;
+ context.data.byte(281) = context.cl;
+ context.data.byte(282) = 40;
context._cmp(context.cl, 32);
if (context.flags.z()) goto nonoise;
context.al = 10;
@@ -14616,13 +14616,13 @@ nonoise:
static void showouterpad(Context & context) {
context.di = 36+112-3;
context.bx = 72-4;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 1;
context.ah = 0;
showframe(context);
context.di = 36+112+74;
context.bx = 72+76;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.al = 37;
context.ah = 0;
showframe(context);
@@ -14674,23 +14674,23 @@ static void showkeypad(Context & context) {
context.di = 36+112+31;
context.bx = 72+59;
singlekey(context);
- context._cmp(context.ds.byte(287), 0);
+ context._cmp(context.data.byte(287), 0);
if (context.flags.z()) goto notenter;
- context._sub(context.ds.byte(287), 1);
+ context._sub(context.data.byte(287), 1);
context.al = 36;
context.bx = 72-1+63;
- context._cmp(context.ds.byte(37), 0);
+ context._cmp(context.data.byte(37), 0);
if (!context.flags.z()) goto changelight;
context.al = 41;
context.bx = 72+4+63;
changelight:
- context._cmp(context.ds.byte(287), 60);
+ context._cmp(context.data.byte(287), 60);
if (context.flags.c()) goto gotlight;
- context._cmp(context.ds.byte(287), 100);
+ context._cmp(context.data.byte(287), 100);
if (!context.flags.c()) goto gotlight;
context._sub(context.al, 1);
gotlight:
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.ah = 0;
context.di = 36+112+60;
showframe(context);
@@ -14699,14 +14699,14 @@ notenter:
}
static void singlekey(Context & context) {
- context._cmp(context.ds.byte(281), context.al);
+ context._cmp(context.data.byte(281), context.al);
if (!context.flags.z()) goto gotkey;
context._add(context.al, 11);
- context._cmp(context.ds.byte(282), 8);
+ context._cmp(context.data.byte(282), 8);
if (!context.flags.c()) goto gotkey;
context._sub(context.al, 11);
gotkey:
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context._sub(context.al, 20);
context.ah = 0;
showframe(context);
@@ -14728,24 +14728,24 @@ static void usemenu(Context & context) {
createpanel(context);
showpanel(context);
showicon(context);
- context.ds.byte(62) = 0;
+ context.data.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.ds.word(460);
+ context.ds = context.data.word(460);
showframe(context);
getundermenu(context);
context.al = 5;
context.ah = 0;
context.di = 80+40+54;
context.bx = 60+72;
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
showframe(context);
worktoscreenm(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
menuloop:
delpointer(context);
putundermenu(context);
@@ -14758,9 +14758,9 @@ menuloop:
dumptextline(context);
context.bx = 3525;
checkcoords(context);
- context._cmp(context.ds.byte(103), 1);
+ context._cmp(context.data.byte(103), 1);
if (!context.flags.z()) goto menuloop;
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
redrawmainscrn(context);
getridoftemp(context);
getridoftemp2(context);
@@ -14785,7 +14785,7 @@ static void getundermenu(Context & context) {
context.bx = 60;
context.cl = 48;
context.ch = 48;
- context.ds = context.ds.word(412);
+ 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);
multiget(context);
return;
@@ -14796,7 +14796,7 @@ static void putundermenu(Context & context) {
context.bx = 60;
context.cl = 48;
context.ch = 48;
- context.ds = context.ds.word(412);
+ 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);
multiput(context);
return;
@@ -14807,41 +14807,41 @@ static void showoutermenu(Context & context) {
context.ah = 0;
context.di = 80+40-34;
context.bx = 60-40;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
context.al = 41;
context.ah = 0;
context.di = 80+40+64-34;
context.bx = 60-40;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
context.al = 42;
context.ah = 0;
context.di = 80+40-26;
context.bx = 60+57-40;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
context.al = 43;
context.ah = 0;
context.di = 80+40+64-26;
context.bx = 60+57-40;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
return;
}
static void showmenu(Context & context) {
- context._add(context.ds.byte(290), 1);
- context._cmp(context.ds.byte(290), 37*2);
+ context._add(context.data.byte(290), 1);
+ context._cmp(context.data.byte(290), 37*2);
if (!context.flags.z()) goto menuframeok;
- context.ds.byte(290) = 0;
+ context.data.byte(290) = 0;
menuframeok:
- context.al = context.ds.byte(290);
+ context.al = context.data.byte(290);
context._shr(context.al, 1);
context.ah = 0;
context.di = 80+40;
context.bx = 60;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
return;
}
@@ -14855,13 +14855,13 @@ static void loadmenu(Context & context) {
}
static void viewfolder(Context & context) {
- context.ds.byte(131) = 1;
+ context.data.byte(131) = 1;
getridofall(context);
loadfolder(context);
- context.ds.byte(288) = 0;
+ context.data.byte(288) = 0;
showfolder(context);
worktoscreenm(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
folderloop:
delpointer(context);
readmouse(context);
@@ -14871,9 +14871,9 @@ folderloop:
dumptextline(context);
context.bx = 3547;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto folderloop;
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
getridoftemp(context);
getridoftemp2(context);
getridoftemp3(context);
@@ -14885,30 +14885,30 @@ folderloop:
}
static void nextfolder(Context & context) {
- context._cmp(context.ds.byte(288), 12);
+ context._cmp(context.data.byte(288), 12);
if (!context.flags.z()) goto cannextf;
blank(context);
return;
cannextf:
- context._cmp(context.ds.byte(100), 201);
+ context._cmp(context.data.byte(100), 201);
if (context.flags.z()) goto alreadynextf;
- context.ds.byte(100) = 201;
+ context.data.byte(100) = 201;
context.al = 16;
commandonly(context);
alreadynextf:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.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.ds.byte(288), 1);
+ context._add(context.data.byte(288), 1);
folderhints(context);
delpointer(context);
showfolder(context);
- context.ds.word(202) = 0;
+ context.data.word(202) = 0;
context.bx = 3547;
checkcoords(context);
worktoscreenm(context);
@@ -14916,9 +14916,9 @@ donextf:
}
static void folderhints(Context & context) {
- context._cmp(context.ds.byte(288), 5);
+ context._cmp(context.data.byte(288), 5);
if (!context.flags.z()) goto notaideadd;
- context._cmp(context.ds.byte(44), 1);
+ context._cmp(context.data.byte(44), 1);
if (context.flags.z()) goto notaideadd;
context.al = 13;
getlocation(context);
@@ -14939,7 +14939,7 @@ static void folderhints(Context & context) {
hangonp(context);
return;
notaideadd:
- context._cmp(context.ds.byte(288), 9);
+ context._cmp(context.data.byte(288), 9);
if (!context.flags.z()) goto notaristoadd;
context.al = 7;
getlocation(context);
@@ -14963,31 +14963,31 @@ notaristoadd:
}
static void lastfolder(Context & context) {
- context._cmp(context.ds.byte(288), 0);
+ context._cmp(context.data.byte(288), 0);
if (!context.flags.z()) goto canlastf;
blank(context);
return;
canlastf:
- context._cmp(context.ds.byte(100), 202);
+ context._cmp(context.data.byte(100), 202);
if (context.flags.z()) goto alreadylastf;
- context.ds.byte(100) = 202;
+ context.data.byte(100) = 202;
context.al = 17;
commandonly(context);
alreadylastf:
- context._cmp(context.ds.byte(288), 0);
+ context._cmp(context.data.byte(288), 0);
if (context.flags.z()) goto notlastf;
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.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.ds.byte(288), 1);
+ context._sub(context.data.byte(288), 1);
delpointer(context);
showfolder(context);
- context.ds.word(202) = 0;
+ context.data.word(202) = 0;
context.bx = 3547;
checkcoords(context);
worktoscreenm(context);
@@ -15009,41 +15009,41 @@ static void loadfolder(Context & context) {
}
static void showfolder(Context & context) {
- context.ds.byte(100) = 255;
- context._cmp(context.ds.byte(288), 0);
+ context.data.byte(100) = 255;
+ context._cmp(context.data.byte(288), 0);
if (context.flags.z()) goto closedfolder;
usetempcharset(context);
createpanel2(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 0;
context.bx = 0;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 143;
context.bx = 0;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 0;
context.bx = 92;
context.al = 2;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 143;
context.bx = 92;
context.al = 3;
context.ah = 0;
showframe(context);
folderexit(context);
- context._cmp(context.ds.byte(288), 1);
+ context._cmp(context.data.byte(288), 1);
if (context.flags.z()) goto noleftpage;
showleftpage(context);
noleftpage:
- context._cmp(context.ds.byte(288), 12);
+ context._cmp(context.data.byte(288), 12);
if (context.flags.z()) goto norightpage;
showrightpage(context);
norightpage:
@@ -15052,13 +15052,13 @@ norightpage:
return;
closedfolder:
createpanel2(context);
- context.ds = context.ds.word(462);
+ context.ds = context.data.word(462);
context.di = 143-28;
context.bx = 0;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(462);
+ context.ds = context.data.word(462);
context.di = 143-28;
context.bx = 92;
context.al = 1;
@@ -15070,7 +15070,7 @@ closedfolder:
}
static void folderexit(Context & context) {
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
context.di = 296;
context.bx = 178;
context.al = 6;
@@ -15080,7 +15080,7 @@ static void folderexit(Context & context) {
}
static void showleftpage(Context & context) {
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
context.di = 0;
context.bx = 12;
context.al = 3;
@@ -15091,7 +15091,7 @@ static void showleftpage(Context & context) {
leftpageloop:
context.push(context.cx);
context.push(context.bx);
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
context.di = 0;
context.al = 4;
context.ah = 0;
@@ -15100,21 +15100,21 @@ leftpageloop:
context.cx = context.pop();
context._add(context.bx, 16);
if (--context.cx) goto leftpageloop;
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
context.di = 0;
context.al = 5;
context.ah = 0;
showframe(context);
- context.ds.word(77) = 8;
- context.ds.word(71) = 91;
- context.ds.byte(72) = 1;
- context.bl = context.ds.byte(288);
+ context.data.word(77) = 8;
+ context.data.word(71) = 91;
+ context.data.byte(72) = 1;
+ context.bl = context.data.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.ds.word(466);
+ context.es = context.data.word(466);
context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
context.di = 2;
@@ -15125,16 +15125,16 @@ twolotsleft:
context.push(context.cx);
contleftpage:
printdirect(context);
- context._add(context.bx, context.ds.word(77));
+ context._add(context.bx, context.data.word(77));
context._cmp(context.al, 0);
if (!context.flags.z()) goto contleftpage;
context.cx = context.pop();
if (--context.cx) goto twolotsleft;
- 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.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.di = (48*320)+2;
context.si = (48*320)+2+130;
context.cx = 120;
@@ -15161,7 +15161,7 @@ flipfolderline:
}
static void showrightpage(Context & context) {
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
context.di = 143;
context.bx = 12;
context.al = 0;
@@ -15172,7 +15172,7 @@ static void showrightpage(Context & context) {
rightpageloop:
context.push(context.cx);
context.push(context.bx);
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
context.di = 143;
context.al = 1;
context.ah = 0;
@@ -15181,19 +15181,19 @@ rightpageloop:
context.cx = context.pop();
context._add(context.bx, 16);
if (--context.cx) goto rightpageloop;
- context.ds = context.ds.word(460);
+ context.ds = context.data.word(460);
context.di = 143;
context.al = 2;
context.ah = 0;
showframe(context);
- context.ds.word(77) = 8;
- context.ds.byte(72) = 1;
- context.bl = context.ds.byte(288);
+ context.data.word(77) = 8;
+ context.data.byte(72) = 1;
+ context.bl = context.data.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.ds.word(466);
+ context.es = context.data.word(466);
context.si = context.ds.word(context.bx);
context._add(context.si, 66*2);
context.di = 152;
@@ -15204,30 +15204,30 @@ twolotsright:
context.push(context.cx);
contrightpage:
printdirect(context);
- context._add(context.bx, context.ds.word(77));
+ context._add(context.bx, context.data.word(77));
context._cmp(context.al, 0);
if (!context.flags.z()) goto contrightpage;
context.cx = context.pop();
if (--context.cx) goto twolotsright;
- context.ds.byte(72) = 0;
- context.ds.word(77) = 10;
+ context.data.byte(72) = 0;
+ context.data.word(77) = 10;
return;
}
static void entersymbol(Context & context) {
- context.ds.byte(131) = 1;
+ context.data.byte(131) = 1;
getridofreels(context);
context.dx = 2351;
loadintotemp(context);
- context.ds.byte(291) = 24;
- context.ds.byte(293) = 0;
- context.ds.byte(294) = 24;
- context.ds.byte(296) = 0;
+ context.data.byte(291) = 24;
+ context.data.byte(293) = 0;
+ context.data.byte(294) = 24;
+ context.data.byte(296) = 0;
redrawmainscrn(context);
showsymbol(context);
undertextline(context);
worktoscreenm(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
symbolloop:
delpointer(context);
updatesymboltop(context);
@@ -15241,21 +15241,21 @@ symbolloop:
dumpsymbol(context);
context.bx = 3589;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto symbolloop;
- context._cmp(context.ds.byte(295), 3);
+ context._cmp(context.data.byte(295), 3);
if (!context.flags.z()) goto symbolwrong;
- context._cmp(context.ds.byte(292), 5);
+ context._cmp(context.data.byte(292), 5);
if (!context.flags.z()) goto symbolwrong;
context.al = 43;
removesetobject(context);
context.al = 46;
placesetobject(context);
- context.ah = context.ds.byte(185);
+ context.ah = context.data.byte(185);
context._add(context.ah, 12);
context.al = 0;
turnanypathon(context);
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
redrawmainscrn(context);
getridoftemp(context);
restorereels(context);
@@ -15268,11 +15268,11 @@ symbolwrong:
removesetobject(context);
context.al = 43;
placesetobject(context);
- context.ah = context.ds.byte(185);
+ context.ah = context.data.byte(185);
context._add(context.ah, 12);
context.al = 0;
turnanypathoff(context);
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
redrawmainscrn(context);
getridoftemp(context);
restorereels(context);
@@ -15281,94 +15281,94 @@ symbolwrong:
}
static void quitsymbol(Context & context) {
- context._cmp(context.ds.byte(291), 24);
+ context._cmp(context.data.byte(291), 24);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(294), 24);
+ context._cmp(context.data.byte(294), 24);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 222);
+ context._cmp(context.data.byte(100), 222);
if (context.flags.z()) goto alreadyqs;
- context.ds.byte(100) = 222;
+ context.data.byte(100) = 222;
context.al = 18;
commandonly(context);
alreadyqs:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto notqs;
context._and(context.ax, 1);
if (!context.flags.z()) goto doqs;
notqs:
return;
doqs:
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
return;
}
static void settopleft(Context & context) {
- context._cmp(context.ds.byte(293), 0);
+ context._cmp(context.data.byte(293), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 210);
+ context._cmp(context.data.byte(100), 210);
if (context.flags.z()) goto alreadytopl;
- context.ds.byte(100) = 210;
+ context.data.byte(100) = 210;
context.al = 19;
commandonly(context);
alreadytopl:
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto notopleft;
- context.ds.byte(293) = -1;
+ context.data.byte(293) = -1;
notopleft:
return;
}
static void settopright(Context & context) {
- context._cmp(context.ds.byte(293), 0);
+ context._cmp(context.data.byte(293), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 211);
+ context._cmp(context.data.byte(100), 211);
if (context.flags.z()) goto alreadytopr;
- context.ds.byte(100) = 211;
+ context.data.byte(100) = 211;
context.al = 20;
commandonly(context);
alreadytopr:
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto notopright;
- context.ds.byte(293) = 1;
+ context.data.byte(293) = 1;
notopright:
return;
}
static void setbotleft(Context & context) {
- context._cmp(context.ds.byte(296), 0);
+ context._cmp(context.data.byte(296), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 212);
+ context._cmp(context.data.byte(100), 212);
if (context.flags.z()) goto alreadybotl;
- context.ds.byte(100) = 212;
+ context.data.byte(100) = 212;
context.al = 21;
commandonly(context);
alreadybotl:
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto nobotleft;
- context.ds.byte(296) = -1;
+ context.data.byte(296) = -1;
nobotleft:
return;
}
static void setbotright(Context & context) {
- context._cmp(context.ds.byte(296), 0);
+ context._cmp(context.data.byte(296), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 213);
+ context._cmp(context.data.byte(100), 213);
if (context.flags.z()) goto alreadybotr;
- context.ds.byte(100) = 213;
+ context.data.byte(100) = 213;
context.al = 22;
commandonly(context);
alreadybotr:
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto nobotright;
- context.ds.byte(296) = 1;
+ context.data.byte(296) = 1;
nobotright:
return;
}
static void dumpsymbol(Context & context) {
- context.ds.byte(109) = 0;
+ context.data.byte(109) = 0;
context.di = 64;
context.bx = 56+20;
context.cl = 104;
@@ -15382,15 +15382,15 @@ static void showsymbol(Context & context) {
context.ah = 0;
context.di = 64;
context.bx = 56;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
- context.al = context.ds.byte(291);
+ context.al = context.data.byte(291);
context.ah = 0;
context.di = context.ax;
context._add(context.di, 64-44);
- context.al = context.ds.byte(292);
+ context.al = context.data.byte(292);
context.bx = 56+20;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.ah = 32;
context.push(context.ax);
context.push(context.di);
@@ -15415,14 +15415,14 @@ static void showsymbol(Context & context) {
nextsymbol(context);
context._add(context.di, 49);
showframe(context);
- context.al = context.ds.byte(294);
+ context.al = context.data.byte(294);
context.ah = 0;
context.di = context.ax;
context._add(context.di, 64-44);
- context.al = context.ds.byte(295);
+ context.al = context.data.byte(295);
context._add(context.al, 6);
context.bx = 56+49;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.ah = 32;
context.push(context.ax);
context.push(context.di);
@@ -15466,88 +15466,88 @@ botwrap:
}
static void updatesymboltop(Context & context) {
- context._cmp(context.ds.byte(293), 0);
+ context._cmp(context.data.byte(293), 0);
if (context.flags.z()) goto topfinished;
- context._cmp(context.ds.byte(293), -1);
+ context._cmp(context.data.byte(293), -1);
if (context.flags.z()) goto backwards;
- context._add(context.ds.byte(291), 1);
- context._cmp(context.ds.byte(291), 49);
+ context._add(context.data.byte(291), 1);
+ context._cmp(context.data.byte(291), 49);
if (!context.flags.z()) goto notwrapfor;
- context.ds.byte(291) = 0;
- context._sub(context.ds.byte(292), 1);
- context._cmp(context.ds.byte(292), -1);
+ context.data.byte(291) = 0;
+ context._sub(context.data.byte(292), 1);
+ context._cmp(context.data.byte(292), -1);
if (!context.flags.z()) goto topfinished;
- context.ds.byte(292) = 5;
+ context.data.byte(292) = 5;
return;
notwrapfor:
- context._cmp(context.ds.byte(291), 24);
+ context._cmp(context.data.byte(291), 24);
if (!context.flags.z()) goto topfinished;
- context.ds.byte(293) = 0;
+ context.data.byte(293) = 0;
return;
backwards:
- context._sub(context.ds.byte(291), 1);
- context._cmp(context.ds.byte(291), -1);
+ context._sub(context.data.byte(291), 1);
+ context._cmp(context.data.byte(291), -1);
if (!context.flags.z()) goto notwrapback;
- context.ds.byte(291) = 48;
- context._add(context.ds.byte(292), 1);
- context._cmp(context.ds.byte(292), 6);
+ context.data.byte(291) = 48;
+ context._add(context.data.byte(292), 1);
+ context._cmp(context.data.byte(292), 6);
if (!context.flags.z()) goto topfinished;
- context.ds.byte(292) = 0;
+ context.data.byte(292) = 0;
return;
notwrapback:
- context._cmp(context.ds.byte(291), 24);
+ context._cmp(context.data.byte(291), 24);
if (!context.flags.z()) goto topfinished;
- context.ds.byte(293) = 0;
+ context.data.byte(293) = 0;
topfinished:
return;
}
static void updatesymbolbot(Context & context) {
- context._cmp(context.ds.byte(296), 0);
+ context._cmp(context.data.byte(296), 0);
if (context.flags.z()) goto botfinished;
- context._cmp(context.ds.byte(296), -1);
+ context._cmp(context.data.byte(296), -1);
if (context.flags.z()) goto backwardsbot;
- context._add(context.ds.byte(294), 1);
- context._cmp(context.ds.byte(294), 49);
+ context._add(context.data.byte(294), 1);
+ context._cmp(context.data.byte(294), 49);
if (!context.flags.z()) goto notwrapforb;
- context.ds.byte(294) = 0;
- context._sub(context.ds.byte(295), 1);
- context._cmp(context.ds.byte(295), -1);
+ context.data.byte(294) = 0;
+ context._sub(context.data.byte(295), 1);
+ context._cmp(context.data.byte(295), -1);
if (!context.flags.z()) goto botfinished;
- context.ds.byte(295) = 5;
+ context.data.byte(295) = 5;
return;
notwrapforb:
- context._cmp(context.ds.byte(294), 24);
+ context._cmp(context.data.byte(294), 24);
if (!context.flags.z()) goto botfinished;
- context.ds.byte(296) = 0;
+ context.data.byte(296) = 0;
return;
backwardsbot:
- context._sub(context.ds.byte(294), 1);
- context._cmp(context.ds.byte(294), -1);
+ context._sub(context.data.byte(294), 1);
+ context._cmp(context.data.byte(294), -1);
if (!context.flags.z()) goto notwrapbackb;
- context.ds.byte(294) = 48;
- context._add(context.ds.byte(295), 1);
- context._cmp(context.ds.byte(295), 6);
+ context.data.byte(294) = 48;
+ context._add(context.data.byte(295), 1);
+ context._cmp(context.data.byte(295), 6);
if (!context.flags.z()) goto botfinished;
- context.ds.byte(295) = 0;
+ context.data.byte(295) = 0;
return;
notwrapbackb:
- context._cmp(context.ds.byte(294), 24);
+ context._cmp(context.data.byte(294), 24);
if (!context.flags.z()) goto botfinished;
- context.ds.byte(296) = 0;
+ context.data.byte(296) = 0;
botfinished:
return;
}
static void dumpsymbox(Context & context) {
- context._cmp(context.ds.word(303), -1);
+ context._cmp(context.data.word(303), -1);
if (context.flags.z()) goto nodumpsym;
- context.di = context.ds.word(303);
- context.bx = context.ds.word(305);
+ context.di = context.data.word(303);
+ context.bx = context.data.word(305);
context.cl = 30;
context.ch = 77;
multidump(context);
- context.ds.word(303) = -1;
+ context.data.word(303) = -1;
nodumpsym:
return;
}
@@ -15569,7 +15569,7 @@ static void usediary(Context & context) {
showpointer(context);
worktoscreen(context);
delpointer(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
diaryloop:
delpointer(context);
readmouse(context);
@@ -15581,13 +15581,13 @@ diaryloop:
dumptextline(context);
context.bx = 3651;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto diaryloop;
getridoftemp(context);
getridoftemptext(context);
getridoftempcharset(context);
restorereels(context);
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
redrawmainscrn(context);
worktoscreenm(context);
return;
@@ -15600,52 +15600,52 @@ static void showdiary(Context & context) {
context.ah = 0;
context.di = 68+24;
context.bx = 48+12+37;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
context.al = 2;
context.ah = 0;
context.di = 68+24+176;
context.bx = 48+12+108;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
return;
}
static void showdiarykeys(Context & context) {
- context._cmp(context.ds.byte(282), 0);
+ context._cmp(context.data.byte(282), 0);
if (context.flags.z()) goto nokeyatall;
- context._sub(context.ds.byte(282), 1);
- context._cmp(context.ds.byte(282), 0);
+ context._sub(context.data.byte(282), 1);
+ context._cmp(context.data.byte(282), 0);
if (context.flags.z()) goto nokeyatall;
- context._cmp(context.ds.byte(278), 'N');
+ context._cmp(context.data.byte(278), 'N');
if (!context.flags.z()) goto nokeyn;
context.al = 3;
- context._cmp(context.ds.byte(282), 1);
+ context._cmp(context.data.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.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
- context._cmp(context.ds.byte(282), 1);
+ context._cmp(context.data.byte(282), 1);
if (!context.flags.z()) goto notshown;
showdiarypage(context);
notshown:
return;
nokeyn:
context.al = 5;
- context._cmp(context.ds.byte(282), 1);
+ context._cmp(context.data.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.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
- context._cmp(context.ds.byte(282), 1);
+ context._cmp(context.data.byte(282), 1);
if (!context.flags.z()) goto notshowp;
showdiarypage(context);
notshowp:
@@ -15655,13 +15655,13 @@ nokeyatall:
}
static void dumpdiarykeys(Context & context) {
- context._cmp(context.ds.byte(282), 1);
+ context._cmp(context.data.byte(282), 1);
if (!context.flags.z()) goto notdumpdiary;
- context._cmp(context.ds.byte(43), 1);
+ context._cmp(context.data.byte(43), 1);
if (context.flags.z()) goto notsartadd;
- context._cmp(context.ds.byte(289), 5);
+ context._cmp(context.data.byte(289), 5);
if (!context.flags.z()) goto notsartadd;
- context._cmp(context.ds.byte(289), 5);
+ context._cmp(context.data.byte(289), 5);
if (!context.flags.z()) goto notsartadd;
context.al = 6;
getlocation(context);
@@ -15708,53 +15708,53 @@ notdumpdiary:
}
static void diarykeyp(Context & context) {
- context._cmp(context.ds.byte(100), 214);
+ context._cmp(context.data.byte(100), 214);
if (context.flags.z()) goto alreadykeyp;
- context.ds.byte(100) = 214;
+ context.data.byte(100) = 214;
context.al = 23;
commandonly(context);
alreadykeyp:
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto notkeyp;
- context.ax = context.ds.word(212);
- context._cmp(context.ax, context.ds.word(202));
+ context.ax = context.data.word(212);
+ context._cmp(context.ax, context.data.word(202));
if (context.flags.z()) goto notkeyp;
- context._cmp(context.ds.byte(282), 0);
+ context._cmp(context.data.byte(282), 0);
if (!context.flags.z()) goto notkeyp;
context.al = 16;
playchannel1(context);
- context.ds.byte(282) = 12;
- context.ds.byte(278) = 'P';
- context._sub(context.ds.byte(289), 1);
- context._cmp(context.ds.byte(289), -1);
+ context.data.byte(282) = 12;
+ context.data.byte(278) = 'P';
+ context._sub(context.data.byte(289), 1);
+ context._cmp(context.data.byte(289), -1);
if (!context.flags.z()) goto notkeyp;
- context.ds.byte(289) = 11;
+ context.data.byte(289) = 11;
notkeyp:
return;
}
static void diarykeyn(Context & context) {
- context._cmp(context.ds.byte(100), 213);
+ context._cmp(context.data.byte(100), 213);
if (context.flags.z()) goto alreadykeyn;
- context.ds.byte(100) = 213;
+ context.data.byte(100) = 213;
context.al = 23;
commandonly(context);
alreadykeyn:
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto notkeyn;
- context.ax = context.ds.word(212);
- context._cmp(context.ax, context.ds.word(202));
+ context.ax = context.data.word(212);
+ context._cmp(context.ax, context.data.word(202));
if (context.flags.z()) goto notkeyn;
- context._cmp(context.ds.byte(282), 0);
+ context._cmp(context.data.byte(282), 0);
if (!context.flags.z()) goto notkeyn;
context.al = 16;
playchannel1(context);
- context.ds.byte(282) = 12;
- context.ds.byte(278) = 'N';
- context._add(context.ds.byte(289), 1);
- context._cmp(context.ds.byte(289), 12);
+ context.data.byte(282) = 12;
+ context.data.byte(278) = 'N';
+ context._add(context.data.byte(289), 1);
+ context._cmp(context.data.byte(289), 12);
if (!context.flags.z()) goto notkeyn;
- context.ds.byte(289) = 0;
+ context.data.byte(289) = 0;
notkeyn:
return;
}
@@ -15764,17 +15764,17 @@ static void showdiarypage(Context & context) {
context.ah = 0;
context.di = 68+24;
context.bx = 48+12;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
showframe(context);
- context.al = context.ds.byte(289);
+ context.al = context.data.byte(289);
findtext1(context);
- context.ds.byte(72) = 1;
+ context.data.byte(72) = 1;
usetempcharset(context);
context.di = 68+24+48;
context.bx = 48+12+16;
context.dl = 240;
context.ah = 16;
- context.ds.word(71) = 91+91;
+ context.data.word(71) = 91+91;
printdirect(context);
context.di = 68+24+129;
context.bx = 48+12+16;
@@ -15786,8 +15786,8 @@ static void showdiarypage(Context & context) {
context.dl = 240;
context.ah = 16;
printdirect(context);
- context.ds.byte(72) = 0;
- context.ds.word(71) = 0;
+ context.data.byte(72) = 0;
+ context.data.word(71) = 0;
usecharset1(context);
return;
}
@@ -15796,7 +15796,7 @@ static void findtext1(Context & context) {
context.ah = 0;
context.si = context.ax;
context._add(context.si, context.si);
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
context.ax = context.ds.word(context.si);
context._add(context.ax, 66*2);
context.si = context.ax;
@@ -15804,29 +15804,29 @@ static void findtext1(Context & context) {
}
static void zoomonoff(Context & context) {
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(234), 2);
+ context._cmp(context.data.byte(234), 2);
if (context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 222);
+ context._cmp(context.data.byte(100), 222);
if (context.flags.z()) goto alreadyonoff;
- context.ds.byte(100) = 222;
+ context.data.byte(100) = 222;
context.al = 39;
commandonly(context);
alreadyonoff:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.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.ds.byte(8);
+ context.al = context.data.byte(8);
context._xor(context.al, 1);
- context.ds.byte(8) = context.al;
+ context.data.byte(8) = context.al;
createpanel(context);
- context.ds.byte(62) = 0;
+ context.data.byte(62) = 0;
drawfloor(context);
printsprites(context);
reelsonscreen(context);
@@ -15841,18 +15841,18 @@ dozoomonoff:
}
static void saveload(Context & context) {
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(234), 2);
+ context._cmp(context.data.byte(234), 2);
if (context.flags.z()) { blank(context); return; };
- context._cmp(context.ds.byte(100), 253);
+ context._cmp(context.data.byte(100), 253);
if (context.flags.z()) goto alreadyops;
- context.ds.byte(100) = 253;
+ context.data.byte(100) = 253;
context.al = 43;
commandonly(context);
alreadyops:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto noops;
context._and(context.ax, 1);
if (context.flags.z()) goto noops;
@@ -15862,11 +15862,11 @@ noops:
}
static void dosaveload(Context & context) {
- 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;
+ 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;
clearwork(context);
createpanel2(context);
undertextline(context);
@@ -15881,7 +15881,7 @@ restartops:
showmainops(context);
worktoscreenm(context);
donefirstops:
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
waitops:
readmouse(context);
showpointer(context);
@@ -15891,27 +15891,27 @@ waitops:
delpointer(context);
context.bx = 3693;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto waitops;
- context._cmp(context.ds.byte(103), 2);
+ context._cmp(context.data.byte(103), 2);
if (context.flags.z()) goto restartops;
- context.ds.word(79) = 13;
- context.ds.word(81) = 182;
- context.ds.byte(82) = 240;
- context._cmp(context.ds.byte(103), 4);
+ context.data.word(79) = 13;
+ context.data.word(81) = 182;
+ context.data.byte(82) = 240;
+ context._cmp(context.data.byte(103), 4);
if (context.flags.z()) goto justret;
getridoftemp(context);
restoreall(context);
redrawmainscrn(context);
worktoscreenm(context);
- context.ds.byte(100) = 200;
+ context.data.byte(100) = 200;
justret:
- context.ds.byte(131) = 0;
+ context.data.byte(131) = 0;
return;
}
static void getbackfromops(Context & context) {
- context._cmp(context.ds.byte(56), 2);
+ context._cmp(context.data.byte(56), 2);
if (context.flags.z()) goto opsblock1;
getback1(context);
return;
@@ -15921,19 +15921,19 @@ opsblock1:
}
static void showmainops(Context & context) {
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+10;
context.bx = 52+10;
context.al = 8;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+59;
context.bx = 52+30;
context.al = 7;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
@@ -15943,25 +15943,25 @@ static void showmainops(Context & context) {
}
static void showdiscops(Context & context) {
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+10;
context.bx = 52+10;
context.al = 9;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+59;
context.bx = 52+30;
context.al = 10;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+176+2;
context.bx = 52+60-4;
context.al = 5;
@@ -15977,30 +15977,30 @@ static void loadsavebox(Context & context) {
}
static void loadgame(Context & context) {
- context._cmp(context.ds.byte(100), 246);
+ context._cmp(context.data.byte(100), 246);
if (context.flags.z()) goto alreadyload;
- context.ds.byte(100) = 246;
+ context.data.byte(100) = 246;
context.al = 41;
commandonly(context);
alreadyload:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto noload;
context._cmp(context.ax, 1);
if (context.flags.z()) goto doload;
noload:
return;
doload:
- context.ds.byte(340) = 1;
+ context.data.byte(340) = 1;
showopbox(context);
showloadops(context);
- context.ds.byte(341) = 0;
+ context.data.byte(341) = 0;
showslots(context);
shownames(context);
- context.ds.byte(231) = 0;
+ context.data.byte(231) = 0;
worktoscreenm(context);
namestoold(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
loadops:
delpointer(context);
readmouse(context);
@@ -16010,9 +16010,9 @@ loadops:
dumptextline(context);
context.bx = 3735;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto loadops;
- context._cmp(context.ds.byte(103), 2);
+ context._cmp(context.data.byte(103), 2);
if (context.flags.z()) goto quitloaded;
getridoftemp(context);
context.dx = context.ds;
@@ -16020,30 +16020,30 @@ loadops:
context.bx = 7782;
startloading(context);
loadroomssample(context);
- context.ds.byte(74) = 1;
- context.ds.byte(188) = 255;
+ context.data.byte(74) = 1;
+ context.data.byte(188) = 255;
clearsprites(context);
initman(context);
initrain(context);
- context.ds.word(79) = 13;
- context.ds.word(81) = 182;
- context.ds.byte(82) = 240;
+ context.data.word(79) = 13;
+ context.data.word(81) = 182;
+ context.data.byte(82) = 240;
startup(context);
worktoscreen(context);
- context.ds.byte(103) = 4;
+ context.data.byte(103) = 4;
quitloaded:
return;
}
static void getbacktoops(Context & context) {
- context._cmp(context.ds.byte(100), 201);
+ context._cmp(context.data.byte(100), 201);
if (context.flags.z()) goto alreadygetops;
- context.ds.byte(100) = 201;
+ context.data.byte(100) = 201;
context.al = 42;
commandonly(context);
alreadygetops:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nogetbackops;
context._and(context.ax, 1);
if (!context.flags.z()) goto dogetbackops;
@@ -16051,19 +16051,19 @@ nogetbackops:
return;
dogetbackops:
oldtonames(context);
- context.ds.byte(103) = 2;
+ context.data.byte(103) = 2;
return;
}
static void discops(Context & context) {
- context._cmp(context.ds.byte(100), 249);
+ context._cmp(context.data.byte(100), 249);
if (context.flags.z()) goto alreadydiscops;
- context.ds.byte(100) = 249;
+ context.data.byte(100) = 249;
context.al = 43;
commandonly(context);
alreadydiscops:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto nodiscops;
context._and(context.ax, 1);
if (!context.flags.z()) goto dodiscops;
@@ -16071,12 +16071,12 @@ nodiscops:
return;
dodiscops:
scanfornames(context);
- context.ds.byte(340) = 2;
+ context.data.byte(340) = 2;
showopbox(context);
showdiscops(context);
- context.ds.byte(341) = 0;
+ context.data.byte(341) = 0;
worktoscreenm(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
discopsloop:
delpointer(context);
readmouse(context);
@@ -16086,39 +16086,39 @@ discopsloop:
dumptextline(context);
context.bx = 3777;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto discopsloop;
return;
}
static void savegame(Context & context) {
- context._cmp(context.ds.byte(56), 2);
+ context._cmp(context.data.byte(56), 2);
if (!context.flags.z()) goto cansaveok;
blank(context);
return;
cansaveok:
- context._cmp(context.ds.byte(100), 247);
+ context._cmp(context.data.byte(100), 247);
if (context.flags.z()) goto alreadysave;
- context.ds.byte(100) = 247;
+ context.data.byte(100) = 247;
context.al = 44;
commandonly(context);
alreadysave:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (!context.flags.z()) goto dosave;
return;
dosave:
- context.ds.byte(340) = 2;
+ context.data.byte(340) = 2;
showopbox(context);
showsaveops(context);
- context.ds.byte(341) = 0;
+ context.data.byte(341) = 0;
showslots(context);
shownames(context);
worktoscreenm(context);
namestoold(context);
- context.ds.word(394) = 0;
- context.ds.word(396) = 0;
- context.ds.byte(103) = 0;
+ context.data.word(394) = 0;
+ context.data.word(396) = 0;
+ context.data.byte(103) = 0;
saveops:
delpointer(context);
checkinput(context);
@@ -16129,25 +16129,25 @@ saveops:
dumptextline(context);
context.bx = 3819;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto saveops;
return;
}
static void actualsave(Context & context) {
- context._cmp(context.ds.byte(100), 222);
+ context._cmp(context.data.byte(100), 222);
if (context.flags.z()) goto alreadyactsave;
- context.ds.byte(100) = 222;
+ context.data.byte(100) = 222;
context.al = 44;
commandonly(context);
alreadyactsave:
- context.ax = context.ds.word(202);
+ context.ax = context.data.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.ds.byte(341);
+ context.al = context.data.byte(341);
context.ah = 0;
context.cx = 17;
context._mul(context.cx);
@@ -16155,7 +16155,7 @@ alreadyactsave:
context._add(context.si, 1);
context._cmp(context.ds.byte(context.si), 0);
if (context.flags.z()) goto noactsave;
- context.al = context.ds.byte(9);
+ context.al = context.data.byte(9);
context.ah = 0;
context.cx = 32;
context._mul(context.cx);
@@ -16167,49 +16167,49 @@ alreadyactsave:
context.es = context.cs;
context.cx = 16;
while(--context.cx) context._movsw();
- context.al = context.ds.byte(531);
+ context.al = context.data.byte(531);
context.ds.byte(context.bx+13) = context.al;
- context.al = context.ds.byte(148);
+ context.al = context.data.byte(148);
context.ds.byte(context.bx+15) = context.al;
- context.al = context.ds.byte(149);
+ context.al = context.data.byte(149);
context.ds.byte(context.bx+16) = context.al;
- context.al = context.ds.byte(35);
+ context.al = context.data.byte(35);
context.ds.byte(context.bx+20) = context.al;
- context.al = context.ds.byte(475);
+ context.al = context.data.byte(475);
context.ds.byte(context.bx+21) = context.al;
- context.al = context.ds.byte(133);
+ context.al = context.data.byte(133);
context.ds.byte(context.bx+22) = context.al;
context.al = 255;
context.ds.byte(context.bx+27) = context.al;
saveposition(context);
getridoftemp(context);
restoreall(context);
- context.ds.word(79) = 13;
- context.ds.word(81) = 182;
- context.ds.byte(82) = 240;
+ context.data.word(79) = 13;
+ context.data.word(81) = 182;
+ context.data.byte(82) = 240;
redrawmainscrn(context);
worktoscreenm(context);
- context.ds.byte(103) = 4;
+ context.data.byte(103) = 4;
noactsave:
return;
}
static void actualload(Context & context) {
- context._cmp(context.ds.byte(100), 221);
+ context._cmp(context.data.byte(100), 221);
if (context.flags.z()) goto alreadyactload;
- context.ds.byte(100) = 221;
+ context.data.byte(100) = 221;
context.al = 41;
commandonly(context);
alreadyactload:
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.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.ds.byte(341);
+ context.al = context.data.byte(341);
context.ah = 0;
context.cx = 17;
context._mul(context.cx);
@@ -16218,48 +16218,48 @@ alreadyactload:
context._cmp(context.ds.byte(context.si), 0);
if (context.flags.z()) goto notactload;
loadposition(context);
- context.ds.byte(103) = 1;
+ context.data.byte(103) = 1;
notactload:
return;
}
static void selectslot2(Context & context) {
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto noselslot2;
- context.ds.byte(340) = 2;
+ context.data.byte(340) = 2;
noselslot2:
selectslot(context);
return;
}
static void checkinput(Context & context) {
- context._cmp(context.ds.byte(340), 3);
+ context._cmp(context.data.byte(340), 3);
if (context.flags.z()) goto nokeypress;
readkey(context);
- context.al = context.ds.byte(142);
+ context.al = context.data.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.ds.byte(340) = 3;
+ context.data.byte(340) = 3;
goto afterkey;
notret:
context._cmp(context.al, 8);
if (!context.flags.z()) goto nodel2;
- context._cmp(context.ds.byte(342), 0);
+ context._cmp(context.data.byte(342), 0);
if (context.flags.z()) goto nokeypress;
getnamepos(context);
- context._sub(context.ds.byte(342), 1);
+ context._sub(context.data.byte(342), 1);
context.ds.byte(context.bx) = 0;
context.ds.byte(context.bx+1) = 1;
goto afterkey;
nodel2:
spacepress:
- context._cmp(context.ds.byte(342), 14);
+ context._cmp(context.data.byte(342), 14);
if (context.flags.z()) goto nokeypress;
getnamepos(context);
- context._add(context.ds.byte(342), 1);
- context.al = context.ds.byte(142);
+ context._add(context.data.byte(342), 1);
+ context.al = context.data.byte(142);
context.ds.byte(context.bx+1) = context.al;
context.ds.byte(context.bx+2) = 0;
context.ds.byte(context.bx+3) = 1;
@@ -16276,7 +16276,7 @@ afterkey:
}
static void getnamepos(Context & context) {
- context.al = context.ds.byte(341);
+ context.al = context.data.byte(341);
context.ah = 0;
context.cx = 17;
context._mul(context.cx);
@@ -16284,20 +16284,20 @@ static void getnamepos(Context & context) {
context.es = context.dx;
context.bx = 8367;
context._add(context.bx, context.ax);
- context.al = context.ds.byte(342);
+ context.al = context.data.byte(342);
context.ah = 0;
context._add(context.bx, context.ax);
return;
}
static void showopbox(Context & context) {
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60;
context.bx = 52;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60;
context.bx = 52+55;
context.al = 4;
@@ -16307,13 +16307,13 @@ static void showopbox(Context & context) {
}
static void showloadops(Context & context) {
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+176+2;
context.bx = 52+60-4;
context.al = 5;
@@ -16328,13 +16328,13 @@ static void showloadops(Context & context) {
}
static void showsaveops(Context & context) {
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+128+4;
context.bx = 52+12;
context.al = 1;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+176+2;
context.bx = 52+60-4;
context.al = 5;
@@ -16349,35 +16349,35 @@ static void showsaveops(Context & context) {
}
static void selectslot(Context & context) {
- context._cmp(context.ds.byte(100), 244);
+ context._cmp(context.data.byte(100), 244);
if (context.flags.z()) goto alreadysel;
- context.ds.byte(100) = 244;
+ context.data.byte(100) = 244;
context.al = 45;
commandonly(context);
alreadysel:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._cmp(context.ax, 1);
if (!context.flags.z()) goto noselslot;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto noselslot;
- context._cmp(context.ds.byte(340), 3);
+ context._cmp(context.data.byte(340), 3);
if (!context.flags.z()) goto notnocurs;
- context._sub(context.ds.byte(340), 1);
+ context._sub(context.data.byte(340), 1);
notnocurs:
oldtonames(context);
- context.ax = context.ds.word(200);
+ context.ax = context.data.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.ds.byte(341) = context.cl;
+ context.data.byte(341) = context.cl;
delpointer(context);
showopbox(context);
showslots(context);
shownames(context);
- context._cmp(context.ds.byte(340), 1);
+ context._cmp(context.data.byte(340), 1);
if (context.flags.z()) goto isloadmode;
showsaveops(context);
readmouse(context);
@@ -16400,7 +16400,7 @@ static void showslots(Context & context) {
context.di = 60+7;
context.bx = 52+8;
context.al = 2;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.ah = 0;
showframe(context);
context.di = 60+10;
@@ -16410,10 +16410,10 @@ slotloop:
context.push(context.cx);
context.push(context.di);
context.push(context.bx);
- context._cmp(context.cl, context.ds.byte(341));
+ context._cmp(context.cl, context.data.byte(341));
if (!context.flags.z()) goto nomatchslot;
context.al = 3;
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.ah = 0;
showframe(context);
nomatchslot:
@@ -16441,9 +16441,9 @@ shownameloop:
context.push(context.bx);
context.push(context.si);
context.al = 4;
- context._cmp(context.cl, context.ds.byte(341));
+ context._cmp(context.cl, context.data.byte(341));
if (!context.flags.z()) goto nomatchslot2;
- context._cmp(context.ds.byte(340), 2);
+ context._cmp(context.data.byte(340), 2);
if (!context.flags.z()) goto loadmode;
context.dx = context.si;
context.cx = 15;
@@ -16455,7 +16455,7 @@ zerostill:
if (!context.flags.z()) goto foundcharacter;
goto zerostill;
foundcharacter:
- context.ds.byte(342) = context.cl;
+ context.data.byte(342) = context.cl;
context.ds.byte(context.si) = '/';
context.ds.byte(context.si+1) = 0;
context.push(context.si);
@@ -16471,9 +16471,9 @@ loadmode:
context.al = 0;
context.dl = 200;
context.ah = 0;
- context.ds.word(71) = 91;
+ context.data.word(71) = 91;
printdirect(context);
- context.ds.word(71) = 0;
+ context.data.word(71) = 0;
goto afterprintname;
nomatchslot2:
context.dl = 200;
@@ -16497,7 +16497,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.ds.word(412);
+ context.es = context.data.word(412);
context.cx = 17*4;
while(--context.cx) context._movsb();
return;
@@ -16507,7 +16507,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.ds.word(412);
+ context.ds = context.data.word(412);
context.cx = 17*4;
while(--context.cx) context._movsb();
return;
@@ -16519,7 +16519,7 @@ static void makeheader(Context & context) {
context.di = 5952;
context.ax = 17;
storeit(context);
- context.ax = 68-context.ds.byte(1);
+ context.ax = 68-context.data.byte(1);
storeit(context);
context.ax = 0+2080+30000+(16*114)+((114+2)*2)+18000;
storeit(context);
@@ -16527,7 +16527,7 @@ static void makeheader(Context & context) {
storeit(context);
context.ax = 48;
storeit(context);
- context.ax = 991-context.ds.byte(537);
+ context.ax = 991-context.data.byte(537);
storeit(context);
return;
}
@@ -16559,18 +16559,18 @@ static void decide(Context & context) {
setmode(context);
loadpalfromiff(context);
clearpalette(context);
- 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;
+ 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;
loadsavebox(context);
showdecisions(context);
worktoscreen(context);
fadescreenup(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
waitdecide:
readmouse(context);
showpointer(context);
@@ -16580,22 +16580,22 @@ waitdecide:
delpointer(context);
context.bx = 4884;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto waitdecide;
- context._cmp(context.ds.byte(103), 4);
+ context._cmp(context.data.byte(103), 4);
if (context.flags.z()) goto hasloadedroom;
getridoftemp(context);
hasloadedroom:
- context.ds.word(79) = 13;
- context.ds.word(81) = 182;
- context.ds.byte(82) = 240;
+ context.data.word(79) = 13;
+ context.data.word(81) = 182;
+ context.data.byte(82) = 240;
return;
}
static void showdecisions(Context & context) {
createpanel2(context);
showopbox(context);
- context.ds = context.ds.word(458);
+ context.ds = context.data.word(458);
context.di = 60+17;
context.bx = 52+13;
context.al = 6;
@@ -16606,31 +16606,31 @@ static void showdecisions(Context & context) {
}
static void newgame(Context & context) {
- context._cmp(context.ds.byte(100), 251);
+ context._cmp(context.data.byte(100), 251);
if (context.flags.z()) goto alreadynewgame;
- context.ds.byte(100) = 251;
+ context.data.byte(100) = 251;
context.al = 47;
commandonly(context);
alreadynewgame:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._cmp(context.ax, 1);
if (!context.flags.z()) goto nonewgame;
- context.ds.byte(103) = 3;
+ context.data.byte(103) = 3;
nonewgame:
return;
}
static void doload(Context & context) {
- context.ds.byte(340) = 1;
+ context.data.byte(340) = 1;
showopbox(context);
showloadops(context);
- context.ds.byte(341) = 0;
+ context.data.byte(341) = 0;
showslots(context);
shownames(context);
- context.ds.byte(231) = 0;
+ context.data.byte(231) = 0;
worktoscreenm(context);
namestoold(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
loadops:
delpointer(context);
readmouse(context);
@@ -16640,9 +16640,9 @@ loadops:
dumptextline(context);
context.bx = 3735;
checkcoords(context);
- context._cmp(context.ds.byte(103), 0);
+ context._cmp(context.data.byte(103), 0);
if (context.flags.z()) goto loadops;
- context._cmp(context.ds.byte(103), 2);
+ context._cmp(context.data.byte(103), 2);
if (context.flags.z()) goto quitloaded;
getridoftemp(context);
context.dx = context.ds;
@@ -16650,37 +16650,37 @@ loadops:
context.bx = 7782;
startloading(context);
loadroomssample(context);
- context.ds.byte(74) = 1;
- context.ds.byte(188) = 255;
+ context.data.byte(74) = 1;
+ context.data.byte(188) = 255;
clearsprites(context);
initman(context);
initrain(context);
- context.ds.word(79) = 13;
- context.ds.word(81) = 182;
- context.ds.byte(82) = 240;
+ context.data.word(79) = 13;
+ context.data.word(81) = 182;
+ context.data.byte(82) = 240;
startup(context);
worktoscreen(context);
- context.ds.byte(103) = 4;
+ context.data.byte(103) = 4;
quitloaded:
return;
}
static void loadold(Context & context) {
- context._cmp(context.ds.byte(100), 252);
+ context._cmp(context.data.byte(100), 252);
if (context.flags.z()) goto alreadyloadold;
- context.ds.byte(100) = 252;
+ context.data.byte(100) = 252;
context.al = 48;
commandonly(context);
alreadyloadold:
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._and(context.ax, 1);
if (context.flags.z()) goto noloadold;
doload(context);
- context._cmp(context.ds.byte(103), 4);
+ context._cmp(context.data.byte(103), 4);
if (context.flags.z()) goto noloadold;
showdecisions(context);
worktoscreenm(context);
- context.ds.byte(103) = 0;
+ context.data.byte(103) = 0;
noloadold:
return;
}
@@ -16727,39 +16727,39 @@ tensc:
}
static void trysoundalloc(Context & context) {
- context._cmp(context.ds.byte(358), 1);
+ context._cmp(context.data.byte(358), 1);
if (context.flags.z()) goto gotsoundbuff;
- context._add(context.ds.byte(357), 1);
+ context._add(context.data.byte(357), 1);
context.bx = (16384+2048)/16;
allocatemem(context);
- context.ds.word(353) = context.ax;
+ context.data.word(353) = context.ax;
context.push(context.ax);
context.al = context.ah;
context.cl = 4;
context._shr(context.al, context.cl);
- context.ds.byte(356) = context.al;
+ context.data.byte(356) = context.al;
context.ax = context.pop();
context.cl = 4;
context._shl(context.ax, context.cl);
- context.ds.word(355) = context.ax;
+ context.data.word(355) = context.ax;
context._cmp(context.ax, 0x0b7ff);
if (!context.flags.c()) goto soundfail;
- context.es = context.ds.word(353);
+ context.es = context.data.word(353);
context.di = 0;
context.cx = 16384/2;
context.ax = 0x7f7f;
while(--context.cx) context._stosw();
- context.ds.byte(358) = 1;
+ context.data.byte(358) = 1;
return;
soundfail:
- context.es = context.ds.word(353);
+ context.es = context.data.word(353);
deallocatemem(context);
gotsoundbuff:
return;
}
static void playchannel0(Context & context) {
- context._cmp(context.ds.byte(378), 255);
+ context._cmp(context.data.byte(378), 255);
if (context.flags.z()) goto dontbother4;
context.push(context.es);
context.push(context.ds);
@@ -16767,14 +16767,14 @@ static void playchannel0(Context & context) {
context.push(context.cx);
context.push(context.di);
context.push(context.si);
- context.ds.byte(507) = context.al;
- context.es = context.ds.word(420);
+ context.data.byte(507) = context.al;
+ context.es = context.data.word(420);
context._cmp(context.al, 12);
if (context.flags.c()) goto notsecondbank;
- context.es = context.ds.word(422);
+ context.es = context.data.word(422);
context._sub(context.al, 12);
notsecondbank:
- context.ds.byte(508) = context.ah;
+ context.data.byte(508) = context.ah;
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
@@ -16782,19 +16782,19 @@ notsecondbank:
context._add(context.bx, context.ax);
context.al = context.ds.byte(context.bx);
context.ah = 0;
- context.ds.word(502) = context.ax;
+ context.data.word(502) = context.ax;
context.ax = context.ds.word(context.bx+1);
- context.ds.word(504) = context.ax;
+ context.data.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);
+ context.data.word(506) = context.ax;
+ context._cmp(context.data.byte(508), 0);
if (context.flags.z()) goto nosetloop;
- 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;
+ 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;
nosetloop:
context.si = context.pop();
context.di = context.pop();
@@ -16807,9 +16807,9 @@ dontbother4:
}
static void playchannel1(Context & context) {
- context._cmp(context.ds.byte(378), 255);
+ context._cmp(context.data.byte(378), 255);
if (context.flags.z()) goto dontbother5;
- context._cmp(context.ds.byte(515), 7);
+ context._cmp(context.data.byte(515), 7);
if (context.flags.z()) goto dontbother5;
context.push(context.es);
context.push(context.ds);
@@ -16817,11 +16817,11 @@ static void playchannel1(Context & context) {
context.push(context.cx);
context.push(context.di);
context.push(context.si);
- context.ds.byte(515) = context.al;
- context.es = context.ds.word(420);
+ context.data.byte(515) = context.al;
+ context.es = context.data.word(420);
context._cmp(context.al, 12);
if (context.flags.c()) goto notsecondbank1;
- context.es = context.ds.word(422);
+ context.es = context.data.word(422);
context._sub(context.al, 12);
notsecondbank1:
context.ah = 0;
@@ -16831,11 +16831,11 @@ notsecondbank1:
context._add(context.bx, context.ax);
context.al = context.ds.byte(context.bx);
context.ah = 0;
- context.ds.word(517) = context.ax;
+ context.data.word(517) = context.ax;
context.ax = context.ds.word(context.bx+1);
- context.ds.word(519) = context.ax;
+ context.data.word(519) = context.ax;
context.ax = context.ds.word(context.bx+3);
- context.ds.word(521) = context.ax;
+ context.data.word(521) = context.ax;
context.si = context.pop();
context.di = context.pop();
context.cx = context.pop();
@@ -16849,102 +16849,102 @@ dontbother5:
static void makenextblock(Context & context) {
volumeadjust(context);
loopchannel0(context);
- context._cmp(context.ds.word(521), 0);
+ context._cmp(context.data.word(521), 0);
if (context.flags.z()) goto mightbeonlych0;
- context._cmp(context.ds.word(506), 0);
+ context._cmp(context.data.word(506), 0);
if (context.flags.z()) goto mightbeonlych1;
- context._sub(context.ds.word(506), 1);
- context._sub(context.ds.word(521), 1);
+ context._sub(context.data.word(506), 1);
+ context._sub(context.data.word(521), 1);
bothchannels(context);
return;
mightbeonlych1:
- context.ds.byte(507) = 255;
- context._cmp(context.ds.word(521), 0);
+ context.data.byte(507) = 255;
+ context._cmp(context.data.word(521), 0);
if (context.flags.z()) goto notch1only;
- context._sub(context.ds.word(521), 1);
+ context._sub(context.data.word(521), 1);
channel1only(context);
notch1only:
return;
mightbeonlych0:
- context.ds.byte(515) = 255;
- context._cmp(context.ds.word(506), 0);
+ context.data.byte(515) = 255;
+ context._cmp(context.data.word(506), 0);
if (context.flags.z()) goto notch0only;
- context._sub(context.ds.word(506), 1);
+ context._sub(context.data.word(506), 1);
channel0only(context);
return;
notch0only:
- context.es = context.ds.word(353);
- context.di = context.ds.word(525);
+ context.es = context.data.word(353);
+ context.di = context.data.word(525);
context.cx = 1024;
context.ax = 0x7f7f;
while(--context.cx) context._stosw();
context._and(context.di, 16384-1);
- context.ds.word(525) = context.di;
+ context.data.word(525) = context.di;
return;
}
static void volumeadjust(Context & context) {
- context.al = context.ds.byte(388);
+ context.al = context.data.byte(388);
context._cmp(context.al, 0);
if (context.flags.z()) goto volok;
- context.al = context.ds.byte(386);
- context._cmp(context.al, context.ds.byte(387));
+ context.al = context.data.byte(386);
+ context._cmp(context.al, context.data.byte(387));
if (context.flags.z()) goto volfinish;
- context._add(context.ds.byte(389), 64);
+ context._add(context.data.byte(389), 64);
if (!context.flags.z()) goto volok;
- context.al = context.ds.byte(386);
- context._add(context.al, context.ds.byte(388));
- context.ds.byte(386) = context.al;
+ context.al = context.data.byte(386);
+ context._add(context.al, context.data.byte(388));
+ context.data.byte(386) = context.al;
return;
volfinish:
- context.ds.byte(388) = 0;
+ context.data.byte(388) = 0;
volok:
return;
}
static void loopchannel0(Context & context) {
- context._cmp(context.ds.word(506), 0);
+ context._cmp(context.data.word(506), 0);
if (!context.flags.z()) goto notloop;
- context._cmp(context.ds.byte(508), 0);
+ context._cmp(context.data.byte(508), 0);
if (context.flags.z()) goto notloop;
- context._cmp(context.ds.byte(508), 255);
+ context._cmp(context.data.byte(508), 255);
if (context.flags.z()) goto endlessloop;
- context._sub(context.ds.byte(508), 1);
+ context._sub(context.data.byte(508), 1);
endlessloop:
- 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;
+ 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;
return;
notloop:
return;
}
static void cancelch0(Context & context) {
- context.ds.byte(508) = 0;
- context.ds.word(506) = 0;
- context.ds.byte(507) = 255;
+ context.data.byte(508) = 0;
+ context.data.word(506) = 0;
+ context.data.byte(507) = 255;
return;
}
static void cancelch1(Context & context) {
- context.ds.word(521) = 0;
- context.ds.byte(515) = 255;
+ context.data.word(521) = 0;
+ context.data.byte(515) = 255;
return;
}
static void channel0tran(Context & context) {
- context._cmp(context.ds.byte(386), 0);
+ context._cmp(context.data.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.ds.byte(386);
+ context.bh = context.data.byte(386);
context.bl = 0;
context._add(context.bx, 16384-256);
volloop:
@@ -16959,7 +16959,7 @@ volloop:
}
static void domix(Context & context) {
- context._cmp(context.ds.byte(386), 0);
+ context._cmp(context.data.byte(386), 0);
if (!context.flags.z()) goto lowvolumemix;
slow:
context._lodsb();
@@ -17004,7 +17004,7 @@ nodistort:
lowvolumemix:
context._lodsb();
context.push(context.bx);
- context.bh = context.ds.byte(386);
+ context.bh = context.data.byte(386);
context._add(context.bh, 63);
context.bl = context.al;
context.al = context.ds.byte(context.bx);
@@ -17051,7 +17051,7 @@ doneit:
}
static void entrytexts(Context & context) {
- context._cmp(context.ds.byte(9), 21);
+ context._cmp(context.data.byte(9), 21);
if (!context.flags.z()) goto notloc15;
context.al = 28;
context.cx = 60;
@@ -17061,7 +17061,7 @@ static void entrytexts(Context & context) {
setuptimeduse(context);
return;
notloc15:
- context._cmp(context.ds.byte(9), 30);
+ context._cmp(context.data.byte(9), 30);
if (!context.flags.z()) goto notloc43;
context.al = 27;
context.cx = 60;
@@ -17071,7 +17071,7 @@ notloc15:
setuptimeduse(context);
return;
notloc43:
- context._cmp(context.ds.byte(9), 23);
+ context._cmp(context.data.byte(9), 23);
if (!context.flags.z()) goto notloc23;
context.al = 29;
context.cx = 60;
@@ -17081,7 +17081,7 @@ notloc43:
setuptimeduse(context);
return;
notloc23:
- context._cmp(context.ds.byte(9), 31);
+ context._cmp(context.data.byte(9), 31);
if (!context.flags.z()) goto notloc44;
context.al = 30;
context.cx = 60;
@@ -17091,7 +17091,7 @@ notloc23:
setuptimeduse(context);
return;
notloc44:
- context._cmp(context.ds.byte(9), 20);
+ context._cmp(context.data.byte(9), 20);
if (!context.flags.z()) goto notsarters2;
context.al = 31;
context.cx = 60;
@@ -17101,7 +17101,7 @@ notloc44:
setuptimeduse(context);
return;
notsarters2:
- context._cmp(context.ds.byte(9), 24);
+ context._cmp(context.data.byte(9), 24);
if (!context.flags.z()) goto notedenlob;
context.al = 32;
context.cx = 60;
@@ -17111,7 +17111,7 @@ notsarters2:
setuptimeduse(context);
return;
notedenlob:
- context._cmp(context.ds.byte(9), 34);
+ context._cmp(context.data.byte(9), 34);
if (!context.flags.z()) goto noteden2;
context.al = 33;
context.cx = 60;
@@ -17125,71 +17125,71 @@ noteden2:
}
static void entryanims(Context & context) {
- context.ds.word(23) = -1;
- context.ds.byte(32) = -1;
- context._cmp(context.ds.byte(9), 33);
+ context.data.word(23) = -1;
+ context.data.byte(32) = -1;
+ context._cmp(context.data.byte(9), 33);
if (!context.flags.z()) goto notinthebeach;
switchryanoff(context);
- 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;
+ 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;
return;
notinthebeach:
- context._cmp(context.ds.byte(9), 44);
+ context._cmp(context.data.byte(9), 44);
if (!context.flags.z()) goto notsparkys;
context.al = 8;
resetlocation(context);
- 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;
+ 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;
switchryanoff(context);
return;
notsparkys:
- context._cmp(context.ds.byte(9), 22);
+ context._cmp(context.data.byte(9), 22);
if (!context.flags.z()) goto notinthelift;
- 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;
+ 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;
switchryanoff(context);
return;
notinthelift:
- context._cmp(context.ds.byte(9), 26);
+ context._cmp(context.data.byte(9), 26);
if (!context.flags.z()) goto notunderchurch;
- context.ds.byte(292) = 2;
- context.ds.byte(295) = 1;
+ context.data.byte(292) = 2;
+ context.data.byte(295) = 1;
return;
notunderchurch:
- context._cmp(context.ds.byte(9), 45);
+ context._cmp(context.data.byte(9), 45);
if (!context.flags.z()) goto notenterdream;
- 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;
+ 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;
switchryanoff(context);
return;
notenterdream:
- context._cmp(context.ds.byte(184), 46);
+ context._cmp(context.data.byte(184), 46);
if (!context.flags.z()) goto notcrystal;
- context._cmp(context.ds.byte(43), 1);
+ context._cmp(context.data.byte(43), 1);
if (!context.flags.z()) goto notcrystal;
context.al = 0;
removefreeobject(context);
return;
notcrystal:
- context._cmp(context.ds.byte(9), 9);
+ context._cmp(context.data.byte(9), 9);
if (!context.flags.z()) goto nottopchurch;
context.al = 2;
checkifpathison(context);
if (context.flags.z()) goto nottopchurch;
- context._cmp(context.ds.byte(44), 0);
+ context._cmp(context.data.byte(44), 0);
if (context.flags.z()) goto nottopchurch;
context.al = 3;
checkifpathison(context);
@@ -17203,7 +17203,7 @@ makedoorsopen:
placesetobject(context);
return;
nottopchurch:
- context._cmp(context.ds.byte(9), 47);
+ context._cmp(context.data.byte(9), 47);
if (!context.flags.z()) goto notdreamcentre;
context.al = 4;
placesetobject(context);
@@ -17211,30 +17211,30 @@ nottopchurch:
placesetobject(context);
return;
notdreamcentre:
- context._cmp(context.ds.byte(9), 38);
+ context._cmp(context.data.byte(9), 38);
if (!context.flags.z()) goto notcarpark;
- 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;
+ 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;
switchryanoff(context);
return;
notcarpark:
- context._cmp(context.ds.byte(9), 32);
+ context._cmp(context.data.byte(9), 32);
if (!context.flags.z()) goto notalley;
- 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;
+ 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;
switchryanoff(context);
return;
notalley:
- context._cmp(context.ds.byte(9), 24);
+ context._cmp(context.data.byte(9), 24);
if (!context.flags.z()) goto notedensagain;
context.al = 2;
- context.ah = context.ds.byte(185);
+ context.ah = context.data.byte(185);
context._sub(context.ah, 1);
turnanypathon(context);
notedensagain:
@@ -17242,7 +17242,7 @@ notedensagain:
}
static void initialinv(Context & context) {
- context._cmp(context.ds.byte(184), 24);
+ context._cmp(context.data.byte(184), 24);
if (context.flags.z()) goto isedens;
return;
isedens:
@@ -17271,20 +17271,20 @@ isedens:
context.al = 16;
context.ah = 2;
pickupob(context);
- 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;
+ 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;
switchryanoff(context);
return;
}
static void pickupob(Context & context) {
- context.ds.byte(107) = context.ah;
- context.ds.byte(102) = 2;
- context.ds.byte(89) = context.al;
- context.ds.byte(99) = context.al;
+ context.data.byte(107) = context.ah;
+ context.data.byte(102) = 2;
+ context.data.byte(89) = context.al;
+ context.data.byte(99) = context.al;
getanyad(context);
transfertoex(context);
return;
@@ -17295,10 +17295,10 @@ static void checkforemm(Context & context) {
}
static void checkbasemem(Context & context) {
- context.bx = context.ds.word(534);
+ context.bx = context.data.word(534);
context._cmp(context.bx, 0x9360);
if (!context.flags.c()) goto enoughmem;
- context.ds.byte(532) = 5;
+ context.data.byte(532) = 5;
{ quickquit(context); return; };
enoughmem:
return;
@@ -17307,86 +17307,86 @@ enoughmem:
static void allocatebuffers(Context & context) {
context.bx = 0+2080+30000+(16*114)+((114+2)*2)+18000/16;
allocatemem(context);
- context.ds.word(398) = context.ax;
+ context.data.word(398) = context.ax;
trysoundalloc(context);
context.bx = 0+(66*60)/16;
allocatemem(context);
- context.ds.word(418) = context.ax;
+ context.data.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.ds.byte(537)+68-context.ds.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.data.byte(537)+68-context.data.byte(1)/16;
allocatemem(context);
- context.ds.word(412) = context.ax;
+ context.data.word(412) = context.ax;
trysoundalloc(context);
context.bx = 16*80/16;
allocatemem(context);
- context.ds.word(426) = context.ax;
+ context.data.word(426) = context.ax;
trysoundalloc(context);
context.bx = 64*128/16;
allocatemem(context);
- context.ds.word(428) = context.ax;
+ context.data.word(428) = context.ax;
trysoundalloc(context);
context.bx = 22*8*20*8/16;
allocatemem(context);
- context.ds.word(402) = context.ax;
+ context.data.word(402) = context.ax;
allocatework(context);
context.bx = 2048/16;
allocatemem(context);
- context.ds.word(420) = context.ax;
+ context.data.word(420) = context.ax;
context.bx = 2048/16;
allocatemem(context);
- context.ds.word(422) = context.ax;
+ context.data.word(422) = context.ax;
return;
}
static void clearbuffers(Context & context) {
- 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.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.ax = 0;
context.di = 0;
while(--context.cx) context._stosw();
- context.es = context.ds.word(398);
+ context.es = context.data.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.ds.word(412);
+ 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);
context.ds = context.cs;
context.si = 537;
- context.cx = 991-context.ds.byte(537);
+ context.cx = 991-context.data.byte(537);
while(--context.cx) context._movsb();
- 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.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.ds = context.cs;
context.si = 1;
- context.cx = 68-context.ds.byte(1);
+ context.cx = 68-context.data.byte(1);
while(--context.cx) context._movsb();
clearchanges(context);
return;
}
static void clearchanges(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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.ds.word(412);
+ 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);
context.es = context.cs;
context.di = 537;
- context.cx = 991-context.ds.byte(537);
+ context.cx = 991-context.data.byte(537);
while(--context.cx) context._movsb();
- 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.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.es = context.cs;
context.di = 1;
- context.cx = 68-context.ds.byte(1);
+ context.cx = 68-context.data.byte(1);
while(--context.cx) context._movsb();
- context.ds.byte(10) = 0;
- context.ds.word(12) = 0;
- context.ds.word(14) = 0;
- context.es = context.ds.word(398);
+ context.data.byte(10) = 0;
+ context.data.word(12) = 0;
+ context.data.word(14) = 0;
+ context.es = context.data.word(398);
context.cx = 0+2080+30000+(16*114)+((114+2)*2)+18000/2;
context.ax = 0x0ffff;
context.di = 0;
@@ -17407,48 +17407,48 @@ static void clearchanges(Context & context) {
}
static void clearbeforeload(Context & context) {
- context._cmp(context.ds.byte(74), 1);
+ context._cmp(context.data.byte(74), 1);
if (!context.flags.z()) goto noclear;
clearreels(context);
clearrest(context);
- context.ds.byte(74) = 0;
+ context.data.byte(74) = 0;
noclear:
return;
}
static void clearreels(Context & context) {
- context.es = context.ds.word(430);
+ context.es = context.data.word(430);
deallocatemem(context);
- context.es = context.ds.word(432);
+ context.es = context.data.word(432);
deallocatemem(context);
- context.es = context.ds.word(434);
+ context.es = context.data.word(434);
deallocatemem(context);
return;
}
static void clearrest(Context & context) {
- context.es = context.ds.word(418);
+ context.es = context.data.word(418);
context.cx = 66*60/2;
context.ax = 0;
context.di = 0;
while(--context.cx) context._stosw();
- context.es = context.ds.word(416);
+ context.es = context.data.word(416);
deallocatemem(context);
- context.es = context.ds.word(444);
+ context.es = context.data.word(444);
deallocatemem(context);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
deallocatemem(context);
- context.es = context.ds.word(448);
+ context.es = context.data.word(448);
deallocatemem(context);
- context.es = context.ds.word(440);
+ context.es = context.data.word(440);
deallocatemem(context);
- context.es = context.ds.word(442);
+ context.es = context.data.word(442);
deallocatemem(context);
- context.es = context.ds.word(436);
+ context.es = context.data.word(436);
deallocatemem(context);
- context.es = context.ds.word(446);
+ context.es = context.data.word(446);
deallocatemem(context);
- context.es = context.ds.word(438);
+ context.es = context.data.word(438);
deallocatemem(context);
return;
}
@@ -17486,13 +17486,13 @@ lookattail:
issoundint:
context.al = context.ds.byte(context.bx+1);
context._sub(context.al, '0');
- context.ds.byte(378) = context.al;
+ context.data.byte(378) = context.al;
context._add(context.bx, 1);
goto lookattail;
isdma:
context.al = context.ds.byte(context.bx+1);
context._sub(context.al, '0');
- context.ds.byte(379) = context.al;
+ context.data.byte(379) = context.al;
context._add(context.bx, 1);
goto lookattail;
isbaseadd:
@@ -17503,16 +17503,16 @@ isbaseadd:
context.cl = 4;
context._shl(context.ax, context.cl);
context._add(context.ax, 0x200);
- context.ds.word(372) = context.ax;
+ context.data.word(372) = context.ax;
context.cx = context.pop();
context._add(context.bx, 1);
goto lookattail;
isbright:
- context.ds.byte(73) = 1;
+ context.data.byte(73) = 1;
context._add(context.bx, 1);
goto lookattail;
isnosound:
- context.ds.byte(378) = 255;
+ context.data.byte(378) = 255;
context._add(context.bx, 1);
goto lookattail;
endtail:
@@ -17520,10 +17520,10 @@ endtail:
}
static void startup(Context & context) {
- context.ds.byte(142) = 0;
- context.ds.byte(105) = 0;
+ context.data.byte(142) = 0;
+ context.data.byte(105) = 0;
createpanel(context);
- context.ds.byte(62) = 1;
+ context.data.byte(62) = 1;
drawfloor(context);
showicon(context);
getunderzoom(context);
@@ -17537,11 +17537,11 @@ static void startup(Context & context) {
static void startup1(Context & context) {
clearpalette(context);
- context.ds.byte(61) = 0;
- context.ds.byte(142) = '0';
- context.ds.byte(105) = 0;
+ context.data.byte(61) = 0;
+ context.data.byte(142) = '0';
+ context.data.byte(105) = 0;
createpanel(context);
- context.ds.byte(62) = 1;
+ context.data.byte(62) = 1;
drawfloor(context);
showicon(context);
getunderzoom(context);
@@ -17560,9 +17560,9 @@ static void screenupdate(Context & context) {
mainscreen(context);
animpointer(context);
showpointer(context);
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto iswatchingmode;
- context._cmp(context.ds.byte(188), 255);
+ context._cmp(context.data.byte(188), 255);
if (!context.flags.z()) goto finishearly;
iswatchingmode:
vsync(context);
@@ -17575,7 +17575,7 @@ iswatchingmode:
watchcount(context);
zoom(context);
showpointer(context);
- context._cmp(context.ds.byte(391), 0);
+ context._cmp(context.data.byte(391), 0);
if (!context.flags.z()) goto finishearly;
vsync(context);
readmouse2(context);
@@ -17604,74 +17604,74 @@ finishearly:
}
static void watchreel(Context & context) {
- context._cmp(context.ds.word(23), -1);
+ context._cmp(context.data.word(23), -1);
if (context.flags.z()) goto notplayingreel;
- context.al = context.ds.byte(475);
- context._cmp(context.al, context.ds.byte(477));
+ context.al = context.data.byte(475);
+ context._cmp(context.al, context.data.byte(477));
if (!context.flags.z()) goto waitstopwalk;
- context.al = context.ds.byte(135);
- context._cmp(context.al, context.ds.byte(133));
+ context.al = context.data.byte(135);
+ context._cmp(context.al, context.data.byte(133));
if (context.flags.z()) goto notwatchpath;
waitstopwalk:
return;
notwatchpath:
- context._sub(context.ds.byte(26), 1);
- context._cmp(context.ds.byte(26), -1);
+ context._sub(context.data.byte(26), 1);
+ context._cmp(context.data.byte(26), -1);
if (!context.flags.z()) goto showwatchreel;
- 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));
+ 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));
if (!context.flags.z()) goto ismorereel;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto showwatchreel;
- context.ds.word(23) = -1;
- context.ds.byte(32) = -1;
- context._cmp(context.ds.word(29), -1);
+ context.data.word(23) = -1;
+ context.data.byte(32) = -1;
+ context._cmp(context.data.word(29), -1);
if (context.flags.z()) goto nomorereel;
- context.ds.byte(32) = 1;
+ context.data.byte(32) = 1;
goto notplayingreel;
ismorereel:
- context._add(context.ds.word(23), 1);
+ context._add(context.data.word(23), 1);
showwatchreel:
- context.ax = context.ds.word(23);
- context.ds.word(239) = context.ax;
+ context.ax = context.data.word(23);
+ context.data.word(239) = context.ax;
plotreel(context);
- context.ax = context.ds.word(239);
- context.ds.word(23) = context.ax;
+ context.ax = context.data.word(239);
+ context.data.word(23) = context.ax;
checkforshake(context);
nomorereel:
return;
notplayingreel:
- context._cmp(context.ds.byte(32), 1);
+ context._cmp(context.data.byte(32), 1);
if (!context.flags.z()) goto notholdingreel;
- context.ax = context.ds.word(29);
- context.ds.word(239) = context.ax;
+ context.ax = context.data.word(29);
+ context.data.word(239) = context.ax;
plotreel(context);
return;
notholdingreel:
- context._cmp(context.ds.byte(32), 2);
+ context._cmp(context.data.byte(32), 2);
if (!context.flags.z()) goto notreleasehold;
- context._sub(context.ds.byte(26), 1);
- context._cmp(context.ds.byte(26), -1);
+ context._sub(context.data.byte(26), 1);
+ context._cmp(context.data.byte(26), -1);
if (!context.flags.z()) goto notlastspeed2;
- context.al = context.ds.byte(27);
- context.ds.byte(26) = context.al;
- context._add(context.ds.word(29), 1);
+ context.al = context.data.byte(27);
+ context.data.byte(26) = context.al;
+ context._add(context.data.word(29), 1);
notlastspeed2:
- context.ax = context.ds.word(29);
- context._cmp(context.ax, context.ds.word(31));
+ context.ax = context.data.word(29);
+ context._cmp(context.ax, context.data.word(31));
if (!context.flags.z()) goto ismorereel2;
- 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;
+ 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;
autosetwalk(context);
return;
ismorereel2:
- context.ax = context.ds.word(29);
- context.ds.word(239) = context.ax;
+ context.ax = context.data.word(29);
+ context.data.word(239) = context.ax;
plotreel(context);
return;
notreleasehold:
@@ -17679,22 +17679,22 @@ notreleasehold:
}
static void checkforshake(Context & context) {
- context._cmp(context.ds.byte(184), 26);
+ context._cmp(context.data.byte(184), 26);
if (!context.flags.z()) goto notstartshake;
context._cmp(context.ax, 104);
if (!context.flags.z()) goto notstartshake;
- context.ds.byte(68) = -1;
+ context.data.byte(68) = -1;
notstartshake:
return;
}
static void watchcount(Context & context) {
- context._cmp(context.ds.byte(3), 0);
+ context._cmp(context.data.byte(3), 0);
if (context.flags.z()) goto nowatchworn;
- context._add(context.ds.byte(146), 1);
- context._cmp(context.ds.byte(146), 9);
+ context._add(context.data.byte(146), 1);
+ context._cmp(context.data.byte(146), 9);
if (context.flags.z()) goto flashdots;
- context._cmp(context.ds.byte(146), 18);
+ context._cmp(context.data.byte(146), 18);
if (context.flags.z()) goto uptime;
nowatchworn:
return;
@@ -17702,89 +17702,89 @@ flashdots:
context.ax = 91*3+21;
context.di = 268+4;
context.bx = 21;
- context.ds = context.ds.word(404);
+ context.ds = context.data.word(404);
showframe(context);
goto finishwatch;
uptime:
- context.ds.byte(146) = 0;
- context._add(context.ds.byte(5), 1);
- context._cmp(context.ds.byte(5), 60);
+ context.data.byte(146) = 0;
+ context._add(context.data.byte(5), 1);
+ context._cmp(context.data.byte(5), 60);
if (!context.flags.z()) goto finishtime;
- context.ds.byte(5) = 0;
- context._add(context.ds.byte(6), 1);
- context._cmp(context.ds.byte(6), 60);
+ context.data.byte(5) = 0;
+ context._add(context.data.byte(6), 1);
+ context._cmp(context.data.byte(6), 60);
if (!context.flags.z()) goto finishtime;
- context.ds.byte(6) = 0;
- context._add(context.ds.byte(7), 1);
- context._cmp(context.ds.byte(7), 24);
+ context.data.byte(6) = 0;
+ context._add(context.data.byte(7), 1);
+ context._cmp(context.data.byte(7), 24);
if (!context.flags.z()) goto finishtime;
- context.ds.byte(7) = 0;
+ context.data.byte(7) = 0;
finishtime:
showtime(context);
finishwatch:
- context.ds.byte(266) = 1;
+ context.data.byte(266) = 1;
return;
}
static void showtime(Context & context) {
- context._cmp(context.ds.byte(3), 0);
+ context._cmp(context.data.byte(3), 0);
if (context.flags.z()) goto nowatch;
- context.al = context.ds.byte(5);
+ context.al = context.data.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.ds.word(404);
+ context.ds = context.data.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.ds.word(404);
+ context.ds = context.data.word(404);
context.di = 282+9;
context.bx = 21;
showframe(context);
- context.al = context.ds.byte(6);
+ context.al = context.data.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.ds.word(404);
+ context.ds = context.data.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.ds.word(404);
+ context.ds = context.data.word(404);
context.di = 270+11;
context.bx = 21;
showframe(context);
- context.al = context.ds.byte(7);
+ context.al = context.data.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.ds.word(404);
+ context.ds = context.data.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.ds.word(404);
+ context.ds = context.data.word(404);
context.di = 256+11;
context.bx = 21;
showframe(context);
context.ax = 91*3+20;
- context.ds = context.ds.word(404);
+ context.ds = context.data.word(404);
context.di = 267+5;
context.bx = 21;
showframe(context);
@@ -17793,14 +17793,14 @@ nowatch:
}
static void dumpwatch(Context & context) {
- context._cmp(context.ds.byte(266), 1);
+ context._cmp(context.data.byte(266), 1);
if (!context.flags.z()) goto nodumpwatch;
context.di = 256;
context.bx = 21;
context.cl = 40;
context.ch = 12;
multidump(context);
- context.ds.byte(266) = 0;
+ context.data.byte(266) = 0;
nodumpwatch:
return;
}
@@ -17905,57 +17905,57 @@ noconvnum:
static void walkandexamine(Context & context) {
finishedwalking(context);
if (!context.flags.z()) goto noobselect;
- 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);
+ 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);
if (context.flags.z()) goto noobselect;
examineob(context);
return;
wantstowalk:
setwalk(context);
- context.ds.byte(473) = 1;
+ context.data.byte(473) = 1;
noobselect:
return;
diff:
- context.ds.byte(99) = context.al;
- context.ds.byte(100) = context.ah;
+ context.data.byte(99) = context.al;
+ context.data.byte(100) = context.ah;
diff2:
- context._cmp(context.ds.byte(492), 254);
+ context._cmp(context.data.byte(492), 254);
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto middleofwalk;
- context.al = context.ds.byte(133);
- context._cmp(context.al, context.ds.byte(135));
+ context.al = context.data.byte(133);
+ context._cmp(context.al, context.data.byte(135));
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (!context.flags.z()) goto notblock;
- context.bl = context.ds.byte(475);
- context._cmp(context.bl, context.ds.byte(474));
+ context.bl = context.data.byte(475);
+ context._cmp(context.bl, context.data.byte(474));
if (!context.flags.z()) goto dontcheck;
- context.cl = context.ds.byte(151);
+ context.cl = context.data.byte(151);
context._add(context.cl, 12);
- context.ch = context.ds.byte(152);
+ context.ch = context.data.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.ds.byte(153), 2);
+ context._cmp(context.data.byte(153), 2);
if (context.flags.c()) goto isblock;
- context._cmp(context.ds.byte(153), 128);
+ context._cmp(context.data.byte(153), 128);
if (!context.flags.c()) goto isblock;
goto toofaraway;
notblock:
- context.bl = context.ds.byte(475);
- context._cmp(context.bl, context.ds.byte(474));
+ context.bl = context.data.byte(475);
+ context._cmp(context.bl, context.data.byte(474));
if (!context.flags.z()) goto toofaraway;
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (context.flags.z()) goto isblock;
- context._cmp(context.ds.byte(100), 5);
+ context._cmp(context.data.byte(100), 5);
if (context.flags.z()) goto isaperson;
examineobtext(context);
return;
@@ -17974,14 +17974,14 @@ toofaraway:
}
static void mainscreen(Context & context) {
- context.ds.byte(237) = 0;
+ context.data.byte(237) = 0;
context.bx = 4949;
- context._cmp(context.ds.byte(3), 1);
+ context._cmp(context.data.byte(3), 1);
if (context.flags.z()) goto checkmain;
context.bx = 5011;
checkmain:
checkcoords(context);
- context._cmp(context.ds.byte(306), 0);
+ context._cmp(context.data.byte(306), 0);
if (context.flags.z()) goto finishmain;
walkandexamine(context);
finishmain:
@@ -17989,26 +17989,26 @@ finishmain:
}
static void madmanrun(Context & context) {
- context._cmp(context.ds.byte(9), 14);
+ context._cmp(context.data.byte(9), 14);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.ds.byte(148), 22);
+ context._cmp(context.data.byte(148), 22);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.ds.byte(234), 2);
+ context._cmp(context.data.byte(234), 2);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.ds.byte(53), 0);
+ context._cmp(context.data.byte(53), 0);
if (!context.flags.z()) { identifyob(context); return; };
- context._cmp(context.ds.byte(100), 211);
+ context._cmp(context.data.byte(100), 211);
if (context.flags.z()) goto alreadyrun;
- context.ds.byte(100) = 211;
+ context.data.byte(100) = 211;
context.al = 52;
commandonly(context);
alreadyrun:
- context._cmp(context.ds.word(202), 1);
+ context._cmp(context.data.word(202), 1);
if (!context.flags.z()) goto norun;
- context.ax = context.ds.word(202);
- context._cmp(context.ax, context.ds.word(212));
+ context.ax = context.data.word(202);
+ context._cmp(context.ax, context.data.word(212));
if (context.flags.z()) goto norun;
- context.ds.byte(65) = 8;
+ context.data.byte(65) = 8;
norun:
return;
}
@@ -18019,16 +18019,16 @@ loop048:
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto nonefound;
context.push(context.bx);
- context._cmp(context.ds.word(198), context.ax);
+ context._cmp(context.data.word(198), context.ax);
if (context.flags.l()) goto over045;
context.ax = context.ds.word(context.bx+2);
- context._cmp(context.ds.word(198), context.ax);
+ context._cmp(context.data.word(198), context.ax);
if (!context.flags.ge()) goto over045;
context.ax = context.ds.word(context.bx+4);
- context._cmp(context.ds.word(200), context.ax);
+ context._cmp(context.data.word(200), context.ax);
if (context.flags.l()) goto over045;
context.ax = context.ds.word(context.bx+6);
- context._cmp(context.ds.word(200), context.ax);
+ context._cmp(context.data.word(200), context.ax);
if (!context.flags.ge()) goto over045;
context.ax = context.ds.word(context.bx+8);
__dispatch_call(context, context.ax);
@@ -18044,31 +18044,31 @@ nonefound:
}
static void identifyob(Context & context) {
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) { blank(context); return; };
- context.ax = context.ds.word(198);
- context._sub(context.ax, context.ds.word(117));
+ context.ax = context.data.word(198);
+ context._sub(context.ax, context.data.word(117));
context._cmp(context.ax, 22*8);
if (context.flags.c()) goto notover1;
blank(context);
return;
notover1:
- context.bx = context.ds.word(200);
- context._sub(context.bx, context.ds.word(119));
+ context.bx = context.data.word(200);
+ context._sub(context.bx, context.data.word(119));
context._cmp(context.bx, 20*8);
if (context.flags.c()) goto notover2;
blank(context);
return;
notover2:
- context.ds.byte(237) = 1;
+ context.data.byte(237) = 1;
context.ah = context.bl;
context.push(context.ax);
findpathofpoint(context);
- context.ds.byte(474) = context.dl;
+ context.data.byte(474) = context.dl;
context.ax = context.pop();
context.push(context.ax);
findfirstpath(context);
- context.ds.byte(476) = context.al;
+ context.data.byte(476) = context.al;
context.ax = context.pop();
checkifex(context);
if (!context.flags.z()) goto finishidentify;
@@ -18078,16 +18078,16 @@ notover2:
if (!context.flags.z()) goto finishidentify;
checkifset(context);
if (!context.flags.z()) goto finishidentify;
- context.ax = context.ds.word(198);
- context._sub(context.ax, context.ds.word(117));
+ context.ax = context.data.word(198);
+ context._sub(context.ax, context.data.word(117));
context.cl = context.al;
- context.ax = context.ds.word(200);
- context._sub(context.ax, context.ds.word(119));
+ context.ax = context.data.word(200);
+ context._sub(context.ax, context.data.word(119));
context.ch = context.al;
checkone(context);
context._cmp(context.al, 0);
if (context.flags.z()) goto nothingund;
- context._cmp(context.ds.byte(56), 1);
+ context._cmp(context.data.byte(56), 1);
if (context.flags.z()) goto nothingund;
context.ah = 3;
obname(context);
@@ -18099,7 +18099,7 @@ nothingund:
}
static void checkifperson(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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:
@@ -18110,7 +18110,7 @@ identifyreel:
context.push(context.bx);
context.push(context.ax);
context.ax = context.ds.word(context.bx+0);
- context.ds.word(239) = context.ax;
+ context.data.word(239) = context.ax;
getreelstart(context);
context._cmp(context.ds.word(context.si+2), 0x0ffff);
if (!context.flags.z()) goto notblankpers;
@@ -18139,7 +18139,7 @@ notblankpers:
if (!context.flags.c()) goto notareelid;
context.cx = context.pop();
context.ax = context.ds.word(context.bx+2);
- context.ds.word(249) = context.ax;
+ context.data.word(249) = context.ax;
context.al = context.ds.byte(context.bx+4);
context.ah = 5;
obname(context);
@@ -18155,7 +18155,7 @@ notareelid:
}
static void checkifset(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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:
@@ -18188,7 +18188,7 @@ notasetid:
}
static void checkifex(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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:
@@ -18217,7 +18217,7 @@ notanexid:
}
static void checkiffree(Context & context) {
- context.es = context.ds.word(412);
+ context.es = context.data.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:
@@ -18254,7 +18254,7 @@ static void isitdescribed(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.ds.word(440);
+ context.es = context.data.word(440);
context._add(context.bx, 0);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(130*2));
@@ -18271,8 +18271,8 @@ static void isitdescribed(Context & context) {
static void findpathofpoint(Context & context) {
context.push(context.ax);
context.bx = 0;
- context.es = context.ds.word(450);
- context.al = context.ds.byte(185);
+ context.es = context.data.word(450);
+ context.al = context.data.byte(185);
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
@@ -18309,8 +18309,8 @@ gotvalidpath:
static void findfirstpath(Context & context) {
context.push(context.ax);
context.bx = 0;
- context.es = context.ds.word(450);
- context.al = context.ds.byte(185);
+ context.es = context.data.word(450);
+ context.al = context.data.byte(185);
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
@@ -18347,7 +18347,7 @@ static void turnpathon(Context & context) {
context.push(context.ax);
context.push(context.ax);
context.cl = 255;
- context.ch = context.ds.byte(185);
+ context.ch = context.data.byte(185);
context._add(context.ch, 100);
findormake(context);
context.ax = context.pop();
@@ -18370,7 +18370,7 @@ static void turnpathoff(Context & context) {
context.push(context.ax);
context.push(context.ax);
context.cl = 0;
- context.ch = context.ds.byte(185);
+ context.ch = context.data.byte(185);
context._add(context.ch, 100);
findormake(context);
context.ax = context.pop();
@@ -18401,7 +18401,7 @@ static void turnanypathon(Context & context) {
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
context.ax = context.pop();
@@ -18427,7 +18427,7 @@ static void turnanypathoff(Context & context) {
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
context.ax = context.pop();
@@ -18456,27 +18456,27 @@ static void checkifpathison(Context & context) {
}
static void afternewroom(Context & context) {
- context._cmp(context.ds.byte(186), 0);
+ context._cmp(context.data.byte(186), 0);
if (context.flags.z()) goto notnew;
- context.ds.word(328) = 0;
+ context.data.word(328) = 0;
createpanel(context);
- context.ds.byte(100) = 0;
+ context.data.byte(100) = 0;
findroominloc(context);
- context._cmp(context.ds.byte(63), 1);
+ context._cmp(context.data.byte(63), 1);
if (context.flags.z()) goto ryansoff;
- context.al = context.ds.byte(151);
+ context.al = context.data.byte(151);
context._add(context.al, 12);
- context.ah = context.ds.byte(152);
+ context.ah = context.data.byte(152);
context._add(context.ah, 12);
findpathofpoint(context);
- context.ds.byte(475) = context.dl;
+ context.data.byte(475) = context.dl;
findxyfrompath(context);
- context.ds.byte(187) = 1;
+ context.data.byte(187) = 1;
ryansoff:
- context.ds.byte(62) = 1;
+ context.data.byte(62) = 1;
drawfloor(context);
- context.ds.word(98) = 160;
- context.ds.byte(186) = 0;
+ context.data.word(98) = 160;
+ context.data.byte(186) = 0;
showicon(context);
spriteupdate(context);
printsprites(context);
@@ -18494,50 +18494,50 @@ notnew:
}
static void atmospheres(Context & context) {
- context.cl = context.ds.byte(148);
- context.ch = context.ds.byte(149);
+ context.cl = context.data.byte(148);
+ context.ch = context.data.byte(149);
context.bx = 5073;
nextatmos:
context.al = context.ds.byte(context.bx);
context._cmp(context.al, 255);
if (context.flags.z()) goto nomoreatmos;
- context._cmp(context.al, context.ds.byte(184));
+ context._cmp(context.al, context.data.byte(184));
if (!context.flags.z()) goto wrongatmos;
context.ax = context.ds.word(context.bx+1);
context._cmp(context.ax, context.cx);
if (!context.flags.z()) goto wrongatmos;
context.ax = context.ds.word(context.bx+3);
- context._cmp(context.al, context.ds.byte(507));
+ context._cmp(context.al, context.data.byte(507));
if (context.flags.z()) goto playingalready;
- context._cmp(context.ds.byte(9), 45);
+ context._cmp(context.data.byte(9), 45);
if (!context.flags.z()) goto notweb;
- context._cmp(context.ds.word(23), 45);
+ context._cmp(context.data.word(23), 45);
if (context.flags.z()) goto wrongatmos;
notweb:
playchannel0(context);
- context._cmp(context.ds.byte(184), 2);
- context._cmp(context.ds.byte(149), 0);
+ context._cmp(context.data.byte(184), 2);
+ context._cmp(context.data.byte(149), 0);
if (context.flags.z()) goto fullvol;
if (!context.flags.z()) goto notlouisvol;
- context._cmp(context.ds.byte(149), 10);
+ context._cmp(context.data.byte(149), 10);
if (!context.flags.z()) goto notlouisvol;
- context._cmp(context.ds.byte(148), 22);
+ context._cmp(context.data.byte(148), 22);
if (!context.flags.z()) goto notlouisvol;
- context.ds.byte(386) = 5;
+ context.data.byte(386) = 5;
notlouisvol:
playingalready:
- context._cmp(context.ds.byte(184), 2);
+ context._cmp(context.data.byte(184), 2);
if (!context.flags.z()) goto notlouisvol2;
- context._cmp(context.ds.byte(148), 22);
+ context._cmp(context.data.byte(148), 22);
if (context.flags.z()) goto louisvol;
- context._cmp(context.ds.byte(148), 11);
+ context._cmp(context.data.byte(148), 11);
if (!context.flags.z()) goto notlouisvol2;
fullvol:
- context.ds.byte(386) = 0;
+ context.data.byte(386) = 0;
notlouisvol2:
return;
louisvol:
- context.ds.byte(386) = 5;
+ context.data.byte(386) = 5;
return;
wrongatmos:
context._add(context.bx, 5);
@@ -18548,126 +18548,126 @@ nomoreatmos:
}
static void walkintoroom(Context & context) {
- context._cmp(context.ds.byte(9), 14);
+ context._cmp(context.data.byte(9), 14);
if (!context.flags.z()) goto notlair;
- context._cmp(context.ds.byte(148), 22);
+ context._cmp(context.data.byte(148), 22);
if (!context.flags.z()) goto notlair;
- context.ds.byte(478) = 1;
- context.ds.byte(477) = 1;
+ context.data.byte(478) = 1;
+ context.data.byte(477) = 1;
autosetwalk(context);
notlair:
return;
}
static void afterintroroom(Context & context) {
- context._cmp(context.ds.byte(186), 0);
+ context._cmp(context.data.byte(186), 0);
if (context.flags.z()) goto notnewintro;
clearwork(context);
findroominloc(context);
- context.ds.byte(62) = 1;
+ context.data.byte(62) = 1;
drawfloor(context);
reelsonscreen(context);
spriteupdate(context);
printsprites(context);
worktoscreen(context);
- context.ds.byte(186) = 0;
+ context.data.byte(186) = 0;
notnewintro:
return;
}
static void obname(Context & context) {
- context._cmp(context.ds.byte(473), 0);
+ context._cmp(context.data.byte(473), 0);
if (context.flags.z()) goto notnewpath;
- context.ds.byte(473) = 0;
+ context.data.byte(473) = 0;
goto diff;
notnewpath:
- context._cmp(context.ah, context.ds.byte(100));
+ context._cmp(context.ah, context.data.byte(100));
if (context.flags.z()) goto notdiffob;
goto diff;
notdiffob:
- context._cmp(context.al, context.ds.byte(99));
+ context._cmp(context.al, context.data.byte(99));
if (!context.flags.z()) goto diff;
- context._cmp(context.ds.byte(306), 1);
+ context._cmp(context.data.byte(306), 1);
if (context.flags.z()) goto walkandexamine;
- context._cmp(context.ds.word(202), 0);
+ context._cmp(context.data.word(202), 0);
if (context.flags.z()) goto noobselect;
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (!context.flags.z()) goto isntblock;
- context._cmp(context.ds.byte(153), 2);
+ context._cmp(context.data.byte(153), 2);
if (context.flags.c()) goto noobselect;
isntblock:
- context.bl = context.ds.byte(475);
- context._cmp(context.bl, context.ds.byte(474));
+ context.bl = context.data.byte(475);
+ context._cmp(context.bl, context.data.byte(474));
if (!context.flags.z()) goto wantstowalk;
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (context.flags.z()) goto wantstowalk;
finishedwalking(context);
if (!context.flags.z()) goto noobselect;
- context._cmp(context.ds.byte(100), 5);
+ context._cmp(context.data.byte(100), 5);
if (context.flags.z()) goto wantstotalk;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto noobselect;
examineob(context);
return;
wantstotalk:
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto noobselect;
talk(context);
return;
walkandexamine:
finishedwalking(context);
if (!context.flags.z()) goto noobselect;
- 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);
+ 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);
if (context.flags.z()) goto noobselect;
examineob(context);
return;
wantstowalk:
setwalk(context);
- context.ds.byte(473) = 1;
+ context.data.byte(473) = 1;
noobselect:
return;
diff:
- context.ds.byte(99) = context.al;
- context.ds.byte(100) = context.ah;
+ context.data.byte(99) = context.al;
+ context.data.byte(100) = context.ah;
diff2:
- context._cmp(context.ds.byte(492), 254);
+ context._cmp(context.data.byte(492), 254);
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (!context.flags.z()) goto middleofwalk;
- context.al = context.ds.byte(133);
- context._cmp(context.al, context.ds.byte(135));
+ context.al = context.data.byte(133);
+ context._cmp(context.al, context.data.byte(135));
if (!context.flags.z()) goto middleofwalk;
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (!context.flags.z()) goto notblock;
- context.bl = context.ds.byte(475);
- context._cmp(context.bl, context.ds.byte(474));
+ context.bl = context.data.byte(475);
+ context._cmp(context.bl, context.data.byte(474));
if (!context.flags.z()) goto dontcheck;
- context.cl = context.ds.byte(151);
+ context.cl = context.data.byte(151);
context._add(context.cl, 12);
- context.ch = context.ds.byte(152);
+ context.ch = context.data.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.ds.byte(153), 2);
+ context._cmp(context.data.byte(153), 2);
if (context.flags.c()) goto isblock;
- context._cmp(context.ds.byte(153), 128);
+ context._cmp(context.data.byte(153), 128);
if (!context.flags.c()) goto isblock;
goto toofaraway;
notblock:
- context.bl = context.ds.byte(475);
- context._cmp(context.bl, context.ds.byte(474));
+ context.bl = context.data.byte(475);
+ context._cmp(context.bl, context.data.byte(474));
if (!context.flags.z()) goto toofaraway;
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (context.flags.z()) goto isblock;
- context._cmp(context.ds.byte(100), 5);
+ context._cmp(context.data.byte(100), 5);
if (context.flags.z()) goto isaperson;
examineobtext(context);
return;
@@ -18686,17 +18686,17 @@ toofaraway:
}
static void finishedwalking(Context & context) {
- context._cmp(context.ds.byte(492), 254);
+ context._cmp(context.data.byte(492), 254);
if (!context.flags.z()) goto iswalking;
- context.al = context.ds.byte(133);
- context._cmp(context.al, context.ds.byte(135));
+ context.al = context.data.byte(133);
+ context._cmp(context.al, context.data.byte(135));
iswalking:
return;
}
static void examineobtext(Context & context) {
- context.bl = context.ds.byte(99);
- context.bh = context.ds.byte(100);
+ context.bl = context.data.byte(99);
+ context.bh = context.data.byte(100);
context.al = 1;
commandwithob(context);
return;
@@ -18725,13 +18725,13 @@ static void commandwithob(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.ds.word(452);
+ context.es = context.data.word(452);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
- context.di = context.ds.word(79);
- context.bx = context.ds.word(81);
- context.dl = context.ds.byte(82);
+ context.di = context.data.word(79);
+ context.bx = context.data.word(81);
+ context.dl = context.data.byte(82);
context.al = 0;
context.ah = 0;
printdirect(context);
@@ -18739,19 +18739,19 @@ static void commandwithob(Context & context) {
context.di = 5674;
copyname(context);
context.ax = context.pop();
- context.di = context.ds.word(84);
+ context.di = context.data.word(84);
context._cmp(context.al, 0);
if (context.flags.z()) goto noadd;
context._add(context.di, 5);
noadd:
- context.bx = context.ds.word(81);
+ context.bx = context.data.word(81);
context.es = context.cs;
context.si = 5674;
- context.dl = context.ds.byte(82);
+ context.dl = context.data.byte(82);
context.al = 0;
context.ah = 0;
printdirect(context);
- context.ds.byte(109) = 1;
+ context.data.byte(109) = 1;
return;
}
@@ -18776,17 +18776,17 @@ static void commandonly(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.ds.word(452);
+ context.es = context.data.word(452);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
- context.di = context.ds.word(79);
- context.bx = context.ds.word(81);
- context.dl = context.ds.byte(82);
+ context.di = context.data.word(79);
+ context.bx = context.data.word(81);
+ context.dl = context.data.byte(82);
context.al = 0;
context.ah = 0;
printdirect(context);
- context.ds.byte(109) = 1;
+ context.data.byte(109) = 1;
return;
}
@@ -18797,7 +18797,7 @@ static void printmessage(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.ds.word(452);
+ context.es = context.data.word(452);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
@@ -18818,7 +18818,7 @@ static void printmessage2(Context & context) {
context.ah = 0;
context._add(context.ax, context.ax);
context.bx = context.ax;
- context.es = context.ds.word(452);
+ context.es = context.data.word(452);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 66*2);
context.si = context.ax;
@@ -18839,63 +18839,63 @@ searchmess:
}
static void blocknametext(Context & context) {
- context.bl = context.ds.byte(99);
- context.bh = context.ds.byte(100);
+ context.bl = context.data.byte(99);
+ context.bh = context.data.byte(100);
context.al = 0;
commandwithob(context);
return;
}
static void personnametext(Context & context) {
- context.bl = context.ds.byte(99);
+ context.bl = context.data.byte(99);
context._and(context.bl, 127);
- context.bh = context.ds.byte(100);
+ context.bh = context.data.byte(100);
context.al = 2;
commandwithob(context);
return;
}
static void walktotext(Context & context) {
- context.bl = context.ds.byte(99);
- context.bh = context.ds.byte(100);
+ context.bl = context.data.byte(99);
+ context.bh = context.data.byte(100);
context.al = 3;
commandwithob(context);
return;
}
static void getflagunderp(Context & context) {
- 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.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.ch = context.al;
checkone(context);
- context.ds.byte(153) = context.cl;
- context.ds.byte(154) = context.ch;
+ context.data.byte(153) = context.cl;
+ context.data.byte(154) = context.ch;
return;
}
static void setwalk(Context & context) {
- context._cmp(context.ds.byte(492), 254);
+ context._cmp(context.data.byte(492), 254);
if (!context.flags.z()) goto alreadywalking;
- context.al = context.ds.byte(474);
- context._cmp(context.al, context.ds.byte(475));
+ context.al = context.data.byte(474);
+ context._cmp(context.al, context.data.byte(475));
if (context.flags.z()) goto cantwalk2;
- context._cmp(context.ds.byte(32), 1);
+ context._cmp(context.data.byte(32), 1);
if (context.flags.z()) goto holdingreel;
- context._cmp(context.ds.byte(32), 2);
+ context._cmp(context.data.byte(32), 2);
if (context.flags.z()) goto cantwalk;
- context.ds.byte(478) = context.al;
- context.ds.byte(477) = context.al;
- context._cmp(context.ds.word(202), 2);
+ context.data.byte(478) = context.al;
+ context.data.byte(477) = context.al;
+ context._cmp(context.data.word(202), 2);
if (!context.flags.z()) goto notwalkandexam;
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (context.flags.z()) goto notwalkandexam;
- 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;
+ 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;
notwalkandexam:
autosetwalk(context);
cantwalk:
@@ -18904,25 +18904,25 @@ cantwalk2:
facerightway(context);
return;
alreadywalking:
- context.al = context.ds.byte(474);
- context.ds.byte(477) = context.al;
+ context.al = context.data.byte(474);
+ context.data.byte(477) = context.al;
return;
holdingreel:
- context.ds.byte(33) = context.al;
- context.ds.byte(32) = 2;
+ context.data.byte(33) = context.al;
+ context.data.byte(32) = 2;
return;
}
static void autosetwalk(Context & context) {
- context.al = context.ds.byte(475);
- context._cmp(context.ds.byte(477), context.al);
+ context.al = context.data.byte(475);
+ context._cmp(context.data.byte(477), context.al);
if (!context.flags.z()) goto notsamealready;
return;
notsamealready:
getroomspaths(context);
checkdest(context);
context.push(context.bx);
- context.al = context.ds.byte(475);
+ context.al = context.data.byte(475);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
@@ -18931,13 +18931,13 @@ notsamealready:
context.al = context.ds.byte(context.bx);
context.ah = 0;
context._sub(context.ax, 12);
- context.ds.word(480) = context.ax;
+ context.data.word(480) = context.ax;
context.al = context.ds.byte(context.bx+1);
context.ah = 0;
context._sub(context.ax, 12);
- context.ds.word(482) = context.ax;
+ context.data.word(482) = context.ax;
context.bx = context.pop();
- context.al = context.ds.byte(478);
+ context.al = context.data.byte(478);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
@@ -18946,33 +18946,33 @@ notsamealready:
context.al = context.ds.byte(context.bx);
context.ah = 0;
context._sub(context.ax, 12);
- context.ds.word(484) = context.ax;
+ context.data.word(484) = context.ax;
context.al = context.ds.byte(context.bx+1);
context.ah = 0;
context._sub(context.ax, 12);
- context.ds.word(486) = context.ax;
+ context.data.word(486) = context.ax;
bresenhams(context);
- context._cmp(context.ds.byte(493), 0);
+ context._cmp(context.data.byte(493), 0);
if (context.flags.z()) goto normalline;
- context.al = context.ds.byte(494);
+ context.al = context.data.byte(494);
context._sub(context.al, 1);
- context.ds.byte(492) = context.al;
- context.ds.byte(493) = 1;
+ context.data.byte(492) = context.al;
+ context.data.byte(493) = 1;
return;
normalline:
- context.ds.byte(492) = 0;
+ context.data.byte(492) = 0;
return;
}
static void checkdest(Context & context) {
context.push(context.bx);
context._add(context.bx, 12*8);
- context.ah = context.ds.byte(475);
+ context.ah = context.data.byte(475);
context.cl = 4;
context._shl(context.ah, context.cl);
- context.al = context.ds.byte(478);
+ context.al = context.data.byte(478);
context.cl = 24;
- context.ch = context.ds.byte(478);
+ context.ch = context.data.byte(478);
checkdestloop:
context.dh = context.ds.byte(context.bx);
context._and(context.dh, 0xf0);
@@ -18982,7 +18982,7 @@ checkdestloop:
if (!context.flags.z()) goto nextcheck;
context.al = context.ds.byte(context.bx+1);
context._and(context.al, 15);
- context.ds.byte(478) = context.al;
+ context.data.byte(478) = context.al;
context.bx = context.pop();
return;
nextcheck:
@@ -19006,7 +19006,7 @@ nextcheck2:
context._add(context.bx, 2);
context._sub(context.cl, 1);
if (!context.flags.z()) goto checkdestloop;
- context.ds.byte(478) = context.ch;
+ context.data.byte(478) = context.ch;
context.bx = context.pop();
return;
}
@@ -19017,60 +19017,60 @@ static void bresenhams(Context & context) {
context.es = context.dx;
context.di = 8344;
context.si = 1;
- context.ds.byte(493) = 0;
- context.cx = context.ds.word(484);
- context._sub(context.cx, context.ds.word(480));
+ context.data.byte(493) = 0;
+ context.cx = context.data.word(484);
+ context._sub(context.cx, context.data.word(480));
if (context.flags.z()) goto vertline;
if (!context.flags.s()) goto line1;
context._neg(context.cx);
- 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;
+ 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;
line1:
- context.bx = context.ds.word(486);
- context._sub(context.bx, context.ds.word(482));
+ context.bx = context.data.word(486);
+ context._sub(context.bx, context.data.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.ds.byte(491) = 0;
+ context.data.byte(491) = 0;
context._cmp(context.bx, context.cx);
if (context.flags.le()) goto line4;
- context.ds.byte(491) = 1;
+ context.data.byte(491) = 1;
context._xchg(context.bx, context.cx);
line4:
context._shl(context.bx, 1);
- context.ds.word(488) = context.bx;
+ context.data.word(488) = context.bx;
context._sub(context.bx, context.cx);
context.si = context.bx;
context._sub(context.bx, context.cx);
- context.ds.word(490) = context.bx;
- context.ax = context.ds.word(480);
- context.bx = context.ds.word(482);
+ context.data.word(490) = context.bx;
+ context.ax = context.data.word(480);
+ context.bx = context.data.word(482);
context.ah = context.bl;
context._add(context.cx, 1);
context.bx = context.pop();
- context._cmp(context.ds.byte(491), 1);
+ context._cmp(context.data.byte(491), 1);
if (context.flags.z()) goto hislope;
goto loslope;
vertline:
- context.ax = context.ds.word(482);
- context.bx = context.ds.word(486);
+ context.ax = context.data.word(482);
+ context.bx = context.data.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.ds.byte(493) = 1;
+ context.data.byte(493) = 1;
line31:
context._add(context.cx, 1);
- context.bx = context.ds.word(480);
+ context.bx = context.data.word(480);
context._xchg(context.ax, context.bx);
context.ah = context.bl;
context.bx = context.si;
@@ -19080,8 +19080,8 @@ line32:
if (--context.cx) goto line32;
goto lineexit;
horizline:
- context.ax = context.ds.word(480);
- context.bx = context.ds.word(482);
+ context.ax = context.data.word(480);
+ context.bx = context.data.word(482);
context.ah = context.bl;
context._add(context.cx, 1);
horizloop:
@@ -19095,11 +19095,11 @@ loloop:
context._add(context.al, 1);
context._or(context.si, context.si);
if (!context.flags.s()) goto line12;
- context._add(context.si, context.ds.word(488));
+ context._add(context.si, context.data.word(488));
if (--context.cx) goto loloop;
goto lineexit;
line12:
- context._add(context.si, context.ds.word(490));
+ context._add(context.si, context.data.word(490));
context._add(context.ah, context.bl);
if (--context.cx) goto loloop;
goto lineexit;
@@ -19109,33 +19109,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.ds.word(488));
+ context._add(context.si, context.data.word(488));
if (--context.cx) goto hiloop;
goto lineexit;
line23:
- context._add(context.si, context.ds.word(490));
+ context._add(context.si, context.data.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.ds.byte(494) = context.al;
+ context.data.byte(494) = context.al;
return;
}
static void workoutframes(Context & context) {
- context.bx = context.ds.word(480);
+ context.bx = context.data.word(480);
context._add(context.bx, 32);
- context.ax = context.ds.word(484);
+ context.ax = context.data.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.ds.word(482);
+ context.cx = context.data.word(482);
context._add(context.cx, 32);
- context.ax = context.ds.word(486);
+ context.ax = context.data.word(486);
context._add(context.ax, 32);
context._sub(context.cx, context.ax);
if (!context.flags.c()) goto notneg2;
@@ -19159,16 +19159,16 @@ tendstohoriz:
context.dl = 1;
goto gotquad;
gotquad:
- context.bx = context.ds.word(480);
+ context.bx = context.data.word(480);
context._add(context.bx, 32);
- context.ax = context.ds.word(484);
+ context.ax = context.data.word(484);
context._add(context.ax, 32);
context._sub(context.bx, context.ax);
if (context.flags.c()) goto isinright;
isinleft:
- context.cx = context.ds.word(482);
+ context.cx = context.data.word(482);
context._add(context.cx, 32);
- context.ax = context.ds.word(486);
+ context.ax = context.data.word(486);
context._add(context.ax, 32);
context._sub(context.cx, context.ax);
if (!context.flags.c()) goto topleft;
@@ -19182,9 +19182,9 @@ topleft:
context._add(context.dl, 6);
goto success;
isinright:
- context.cx = context.ds.word(482);
+ context.cx = context.data.word(482);
context._add(context.cx, 32);
- context.ax = context.ds.word(486);
+ context.ax = context.data.word(486);
context._add(context.ax, 32);
context._sub(context.cx, context.ax);
if (!context.flags.c()) goto botright;
@@ -19197,17 +19197,17 @@ botright:
noswap2:
success:
context._and(context.dl, 7);
- context.ds.byte(135) = context.dl;
- context.ds.byte(136) = 0;
+ context.data.byte(135) = context.dl;
+ context.data.byte(136) = 0;
return;
}
static void getroomspaths(Context & context) {
- context.al = context.ds.byte(185);
+ context.al = context.data.byte(185);
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
return;
@@ -19252,7 +19252,7 @@ static void findobname(Context & context) {
context.bx = 64*2;
context._mul(context.bx);
context.si = context.ax;
- context.ds = context.ds.word(448);
+ context.ds = context.data.word(448);
context._add(context.si, 0+24);
context.cx = 0+24+(1026*2);
context.ax = context.ds.word(context.si);
@@ -19263,7 +19263,7 @@ static void findobname(Context & context) {
notpersonname:
context._cmp(context.ah, 4);
if (!context.flags.z()) goto notextraname;
- context.ds = context.ds.word(398);
+ context.ds = context.data.word(398);
context._add(context.bx, 0+2080+30000+(16*114));
context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+2080+30000+(16*114)+((114+2)*2));
@@ -19272,7 +19272,7 @@ notpersonname:
notextraname:
context._cmp(context.ah, 2);
if (!context.flags.z()) goto notfreename;
- context.ds = context.ds.word(438);
+ context.ds = context.data.word(438);
context._add(context.bx, 0);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(82*2));
@@ -19281,14 +19281,14 @@ notextraname:
notfreename:
context._cmp(context.ah, 1);
if (!context.flags.z()) goto notsetname;
- context.ds = context.ds.word(440);
+ context.ds = context.data.word(440);
context._add(context.bx, 0);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(130*2));
context.si = context.ax;
return;
notsetname:
- context.ds = context.ds.word(442);
+ context.ds = context.data.word(442);
context._add(context.bx, 0);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(98*2));
@@ -19297,7 +19297,7 @@ notsetname:
}
static void showicon(Context & context) {
- context._cmp(context.ds.byte(184), 50);
+ context._cmp(context.data.byte(184), 50);
if (!context.flags.c()) goto isdream1;
showpanel(context);
showman(context);
@@ -19306,37 +19306,37 @@ static void showicon(Context & context) {
zoomicon(context);
return;
isdream1:
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 72;
context.bx = 2;
context.al = 45;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 72+47;
context.bx = 2;
context.al = 46;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 69-10;
context.bx = 21;
context.al = 49;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 160+88;
context.bx = 2;
context.al = 45;
context.ah = 4;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 160+43;
context.bx = 2;
context.al = 46;
context.ah = 4;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 160+101;
context.bx = 21;
context.al = 49;
@@ -19347,25 +19347,25 @@ isdream1:
}
static void middlepanel(Context & context) {
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 72+47+20;
context.bx = 0;
context.al = 48;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 72+19;
context.bx = 21;
context.al = 47;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 160+23;
context.bx = 0;
context.al = 48;
context.ah = 4;
showframe(context);
- context.ds = context.ds.word(464);
+ context.ds = context.data.word(464);
context.di = 160+71;
context.bx = 21;
context.al = 47;
@@ -19375,21 +19375,21 @@ static void middlepanel(Context & context) {
}
static void showman(Context & context) {
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 0;
context.bx = 0;
context.al = 0;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 0;
context.bx = 114;
context.al = 1;
context.ah = 0;
showframe(context);
- context._cmp(context.ds.byte(4), 0);
+ context._cmp(context.data.byte(4), 0);
if (context.flags.z()) goto notverycool;
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 28;
context.bx = 25;
context.al = 2;
@@ -19400,13 +19400,13 @@ notverycool:
}
static void showpanel(Context & context) {
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 72;
context.bx = 0;
context.al = 19;
context.ah = 0;
showframe(context);
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 192;
context.bx = 0;
context.al = 19;
@@ -19421,48 +19421,48 @@ static void roomname(Context & context) {
context.al = 53;
context.dl = 240;
printmessage(context);
- context.bl = context.ds.byte(185);
+ context.bl = context.data.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.ds.word(436);
+ context.es = context.data.word(436);
context._add(context.bx, 0);
context.ax = context.ds.word(context.bx);
context._add(context.ax, 0+(38*2));
context.si = context.ax;
- context.ds.word(77) = 7;
+ context.data.word(77) = 7;
context.di = 88;
context.bx = 25;
context.dl = 120;
- context._cmp(context.ds.byte(3), 1);
+ context._cmp(context.data.byte(3), 1);
if (context.flags.z()) goto gotpl;
context.dl = 160;
gotpl:
context.al = 0;
context.ah = 0;
printdirect(context);
- context.ds.word(77) = 10;
+ context.data.word(77) = 10;
usecharset1(context);
return;
}
static void usecharset1(Context & context) {
- context.ax = context.ds.word(404);
- context.ds.word(268) = context.ax;
+ context.ax = context.data.word(404);
+ context.data.word(268) = context.ax;
return;
}
static void usetempcharset(Context & context) {
- context.ax = context.ds.word(406);
- context.ds.word(268) = context.ax;
+ context.ax = context.data.word(406);
+ context.data.word(268) = context.ax;
return;
}
static void showexit(Context & context) {
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 274;
context.bx = 154;
context.al = 11;
@@ -19473,12 +19473,12 @@ static void showexit(Context & context) {
static void panelicons1(Context & context) {
context.di = 0;
- context._cmp(context.ds.byte(3), 1);
+ context._cmp(context.data.byte(3), 1);
if (context.flags.z()) goto watchison;
context.di = 48;
watchison:
context.push(context.di);
- context.ds = context.ds.word(410);
+ context.ds = context.data.word(410);
context._add(context.di, 204);
context.bx = 4;
context.al = 2;
@@ -19486,9 +19486,9 @@ watchison:
showframe(context);
context.di = context.pop();
context.push(context.di);
- context._cmp(context.ds.byte(8), 1);
+ context._cmp(context.data.byte(8), 1);
if (context.flags.z()) goto zoomisoff;
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context._add(context.di, 228);
context.bx = 8;
context.al = 5;
@@ -19501,9 +19501,9 @@ zoomisoff:
}
static void showwatch(Context & context) {
- context._cmp(context.ds.byte(3), 0);
+ context._cmp(context.data.byte(3), 0);
if (context.flags.z()) goto nowristwatch;
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 250;
context.bx = 1;
context.al = 6;
@@ -19515,9 +19515,9 @@ nowristwatch:
}
static void zoomicon(Context & context) {
- context._cmp(context.ds.byte(8), 0);
+ context._cmp(context.data.byte(8), 0);
if (context.flags.z()) goto nozoom1;
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 8;
context.bx = 132-1;
context.al = 8;
@@ -19528,20 +19528,20 @@ nozoom1:
}
static void showblink(Context & context) {
- context._cmp(context.ds.byte(131), 1);
+ context._cmp(context.data.byte(131), 1);
if (context.flags.z()) goto finblink1;
- context._add(context.ds.byte(472), 1);
- context._cmp(context.ds.byte(4), 0);
+ context._add(context.data.byte(472), 1);
+ context._cmp(context.data.byte(4), 0);
if (!context.flags.z()) goto finblink1;
- context._cmp(context.ds.byte(184), 50);
+ context._cmp(context.data.byte(184), 50);
if (!context.flags.c()) goto eyesshut;
- context.al = context.ds.byte(472);
+ context.al = context.data.byte(472);
context._cmp(context.al, 3);
if (!context.flags.z()) goto finblink1;
- context.ds.byte(472) = 0;
- context.al = context.ds.byte(471);
+ context.data.byte(472) = 0;
+ context.al = context.data.byte(471);
context._add(context.al, 1);
- context.ds.byte(471) = context.al;
+ context.data.byte(471) = context.al;
context._cmp(context.al, 6);
if (context.flags.c()) goto nomorethan6;
context.al = 6;
@@ -19550,7 +19550,7 @@ nomorethan6:
context.bx = 5691;
context._add(context.bx, context.ax);
context.al = context.ds.byte(context.bx);
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.di = 44;
context.bx = 32;
context.ah = 0;
@@ -19562,11 +19562,11 @@ eyesshut:
}
static void dumpblink(Context & context) {
- context._cmp(context.ds.byte(4), 0);
+ context._cmp(context.data.byte(4), 0);
if (!context.flags.z()) goto nodumpeye;
- context._cmp(context.ds.byte(472), 0);
+ context._cmp(context.data.byte(472), 0);
if (!context.flags.z()) goto nodumpeye;
- context.al = context.ds.byte(471);
+ context.al = context.data.byte(471);
context._cmp(context.al, 6);
if (!context.flags.c()) goto nodumpeye;
context.push(context.ds);
@@ -19591,9 +19591,9 @@ static void worktoscreenm(Context & context) {
}
static void blank(Context & context) {
- context._cmp(context.ds.byte(100), 199);
+ context._cmp(context.data.byte(100), 199);
if (context.flags.z()) goto alreadyblnk;
- context.ds.byte(100) = 199;
+ context.data.byte(100) = 199;
context.al = 0;
commandonly(context);
alreadyblnk:
@@ -19612,14 +19612,14 @@ static void hangonp(Context & context) {
context._add(context.cx, context.cx);
context.ax = context.pop();
context._add(context.cx, context.ax);
- context.ds.word(138) = 0;
- context.al = context.ds.byte(231);
- context.ah = context.ds.byte(106);
+ context.data.word(138) = 0;
+ context.al = context.data.byte(231);
+ context.ah = context.data.byte(106);
context.push(context.ax);
- context.ds.byte(234) = 3;
- context.ds.byte(106) = 0;
+ context.data.byte(234) = 3;
+ context.data.byte(106) = 0;
context.push(context.cx);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
readmouse(context);
animpointer(context);
showpointer(context);
@@ -19635,19 +19635,19 @@ hangloop:
vsync(context);
dumppointer(context);
context.cx = context.pop();
- context.ax = context.ds.word(202);
+ context.ax = context.data.word(202);
context._cmp(context.ax, 0);
if (context.flags.z()) goto notpressed;
- context._cmp(context.ax, context.ds.word(212));
+ context._cmp(context.ax, context.data.word(212));
if (!context.flags.z()) goto getoutofit;
notpressed:
if (--context.cx) goto hangloop;
getoutofit:
delpointer(context);
context.ax = context.pop();
- context.ds.byte(231) = context.al;
- context.ds.byte(106) = context.ah;
- context.ds.byte(234) = 0;
+ context.data.byte(231) = context.al;
+ context.data.byte(106) = context.ah;
+ context.data.byte(234) = 0;
return;
}
@@ -19679,7 +19679,7 @@ monloop1:
static void getunderzoom(Context & context) {
context.di = 8+5;
context.bx = 132+4;
- context.ds = context.ds.word(412);
+ 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);
context.cl = 46;
context.ch = 40;
@@ -19688,7 +19688,7 @@ static void getunderzoom(Context & context) {
}
static void dumpzoom(Context & context) {
- context._cmp(context.ds.byte(8), 1);
+ context._cmp(context.data.byte(8), 1);
if (!context.flags.z()) goto notzoomon;
context.di = 8+5;
context.bx = 132+4;
@@ -19702,7 +19702,7 @@ notzoomon:
static void putunderzoom(Context & context) {
context.di = 8+5;
context.bx = 132+4;
- context.ds = context.ds.word(412);
+ 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);
context.cl = 46;
context.ch = 40;
@@ -19711,12 +19711,12 @@ static void putunderzoom(Context & context) {
}
static void crosshair(Context & context) {
- context._cmp(context.ds.byte(100), 3);
+ context._cmp(context.data.byte(100), 3);
if (context.flags.z()) goto nocross;
- context._cmp(context.ds.byte(100), 10);
+ context._cmp(context.data.byte(100), 10);
if (!context.flags.c()) goto nocross;
- context.es = context.ds.word(400);
- context.ds = context.ds.word(408);
+ context.es = context.data.word(400);
+ context.ds = context.data.word(408);
context.di = 8+24;
context.bx = 132+19;
context.al = 9;
@@ -19724,8 +19724,8 @@ static void crosshair(Context & context) {
showframe(context);
return;
nocross:
- context.es = context.ds.word(400);
- context.ds = context.ds.word(408);
+ context.es = context.data.word(400);
+ context.ds = context.data.word(408);
context.di = 8+24;
context.bx = 132+19;
context.al = 29;
@@ -19736,16 +19736,16 @@ nocross:
static void showpointer(Context & context) {
showblink(context);
- 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);
+ 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);
if (context.flags.z()) goto itsanobject;
context.push(context.bx);
context.push(context.di);
- context.ds = context.ds.word(408);
- context.al = context.ds.byte(231);
+ context.ds = context.data.word(408);
+ context.al = context.data.byte(231);
context._add(context.al, 20);
context.ah = 0;
context._add(context.ax, context.ax);
@@ -19761,10 +19761,10 @@ notsmallx:
if (!context.flags.c()) goto notsmally;
context.ch = 12;
notsmally:
- context.ds.byte(227) = context.cl;
- context.ds.byte(228) = context.ch;
+ context.data.byte(227) = context.cl;
+ context.data.byte(228) = context.ch;
context.push(context.ds);
- context.ds = context.ds.word(412);
+ context.ds = context.data.word(412);
context.si = 0+(228*13)+32+60;
multiget(context);
context.ds = context.pop();
@@ -19772,7 +19772,7 @@ notsmally:
context.bx = context.pop();
context.push(context.di);
context.push(context.bx);
- context.al = context.ds.byte(231);
+ context.al = context.data.byte(231);
context._add(context.al, 20);
context.ah = 0;
showframe(context);
@@ -19780,11 +19780,11 @@ notsmally:
context.di = context.pop();
return;
itsanobject:
- context.al = context.ds.byte(89);
- context.ds = context.ds.word(398);
- context._cmp(context.ds.byte(102), 4);
+ context.al = context.data.byte(89);
+ context.ds = context.data.word(398);
+ context._cmp(context.data.byte(102), 4);
if (context.flags.z()) goto itsfrominv;
- context.ds = context.ds.word(446);
+ context.ds = context.data.word(446);
itsfrominv:
context.cl = context.al;
context._add(context.al, context.al);
@@ -19806,8 +19806,8 @@ notsmallx2:
if (!context.flags.c()) goto notsmally2;
context.ch = 12;
notsmally2:
- context.ds.byte(227) = context.cl;
- context.ds.byte(228) = context.ch;
+ context.data.byte(227) = context.cl;
+ context.data.byte(228) = context.ch;
context.ax = context.pop();
context.push(context.di);
context.push(context.bx);
@@ -19818,13 +19818,13 @@ notsmally2:
context.al = context.cl;
context.ah = 0;
context._shr(context.ax, 1);
- context._sub(context.ds.word(220), context.ax);
+ context._sub(context.data.word(220), context.ax);
context._sub(context.di, context.ax);
context.al = context.ch;
context._shr(context.ax, 1);
- context._sub(context.ds.word(222), context.ax);
+ context._sub(context.data.word(222), context.ax);
context._sub(context.bx, context.ax);
- context.ds = context.ds.word(412);
+ context.ds = context.data.word(412);
context.si = 0+(228*13)+32+60;
multiget(context);
context.ds = context.pop();
@@ -19835,7 +19835,7 @@ notsmally2:
showframe(context);
context.bx = context.pop();
context.di = context.pop();
- context.ds = context.ds.word(408);
+ context.ds = context.data.word(408);
context.al = 3;
context.ah = 128;
showframe(context);
@@ -19843,20 +19843,20 @@ notsmally2:
}
static void delpointer(Context & context) {
- context.ax = context.ds.word(220);
+ context.ax = context.data.word(220);
context._cmp(context.ax, 0x0ffff);
if (context.flags.z()) goto nevershown;
- 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.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.si = 0+(228*13)+32+60;
- context.di = context.ds.word(224);
- context.bx = context.ds.word(226);
+ context.di = context.data.word(224);
+ context.bx = context.data.word(226);
multiput(context);
nevershown:
return;
@@ -19864,30 +19864,30 @@ nevershown:
static void dumppointer(Context & context) {
dumpblink(context);
- context.cl = context.ds.byte(229);
- context.ch = context.ds.byte(230);
- context.di = context.ds.word(224);
- context.bx = context.ds.word(226);
+ context.cl = context.data.byte(229);
+ context.ch = context.data.byte(230);
+ context.di = context.data.word(224);
+ context.bx = context.data.word(226);
multidump(context);
- context.bx = context.ds.word(222);
- context.di = context.ds.word(220);
- context._cmp(context.di, context.ds.word(224));
+ context.bx = context.data.word(222);
+ context.di = context.data.word(220);
+ context._cmp(context.di, context.data.word(224));
if (!context.flags.z()) goto difffound;
- context._cmp(context.bx, context.ds.word(226));
+ context._cmp(context.bx, context.data.word(226));
if (context.flags.z()) goto notboth;
difffound:
- context.cl = context.ds.byte(227);
- context.ch = context.ds.byte(228);
+ context.cl = context.data.byte(227);
+ context.ch = context.data.byte(228);
multidump(context);
notboth:
return;
}
static void undertextline(Context & context) {
- context.di = context.ds.word(79);
- context.bx = context.ds.word(81);
+ context.di = context.data.word(79);
+ context.bx = context.data.word(81);
context._sub(context.bx, 3);
- context.ds = context.ds.word(412);
+ context.ds = context.data.word(412);
context.si = 0;
context.cl = 228;
context.ch = 13;
@@ -19896,10 +19896,10 @@ static void undertextline(Context & context) {
}
static void deltextline(Context & context) {
- context.di = context.ds.word(79);
- context.bx = context.ds.word(81);
+ context.di = context.data.word(79);
+ context.bx = context.data.word(81);
context._sub(context.bx, 3);
- context.ds = context.ds.word(412);
+ context.ds = context.data.word(412);
context.si = 0;
context.cl = 228;
context.ch = 13;
@@ -19908,11 +19908,11 @@ static void deltextline(Context & context) {
}
static void dumptextline(Context & context) {
- context._cmp(context.ds.byte(109), 1);
+ context._cmp(context.data.byte(109), 1);
if (!context.flags.z()) goto nodumptextline;
- context.ds.byte(109) = 0;
- context.di = context.ds.word(79);
- context.bx = context.ds.word(81);
+ context.data.byte(109) = 0;
+ context.di = context.data.word(79);
+ context.bx = context.data.word(81);
context._sub(context.bx, 3);
context.cl = 228;
context.ch = 13;
@@ -19922,19 +19922,19 @@ nodumptextline:
}
static void animpointer(Context & context) {
- context._cmp(context.ds.byte(234), 2);
+ context._cmp(context.data.byte(234), 2);
if (context.flags.z()) goto combathand;
- context._cmp(context.ds.byte(234), 3);
+ context._cmp(context.data.byte(234), 3);
if (context.flags.z()) goto mousehand;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (context.flags.z()) goto notwatchpoint;
- context.ds.byte(231) = 11;
+ context.data.byte(231) = 11;
return;
notwatchpoint:
- context.ds.byte(231) = 0;
- context._cmp(context.ds.byte(237), 0);
+ context.data.byte(231) = 0;
+ context._cmp(context.data.byte(237), 0);
if (context.flags.z()) goto gothand;
- context._cmp(context.ds.byte(476), 0);
+ context._cmp(context.data.byte(476), 0);
if (context.flags.z()) goto gothand;
arrow:
getflagunderp(context);
@@ -19942,133 +19942,133 @@ arrow:
if (context.flags.c()) goto gothand;
context._cmp(context.cl, 128);
if (!context.flags.c()) goto gothand;
- context.ds.byte(231) = 3;
+ context.data.byte(231) = 3;
context._test(context.cl, 4);
if (!context.flags.z()) goto gothand;
- context.ds.byte(231) = 4;
+ context.data.byte(231) = 4;
context._test(context.cl, 16);
if (!context.flags.z()) goto gothand;
- context.ds.byte(231) = 5;
+ context.data.byte(231) = 5;
context._test(context.cl, 2);
if (!context.flags.z()) goto gothand;
- context.ds.byte(231) = 6;
+ context.data.byte(231) = 6;
context._test(context.cl, 8);
if (!context.flags.z()) goto gothand;
- context.ds.byte(231) = 8;
+ context.data.byte(231) = 8;
gothand:
return;
mousehand:
- context._cmp(context.ds.byte(235), 0);
+ context._cmp(context.data.byte(235), 0);
if (context.flags.z()) goto rightspeed3;
- context._sub(context.ds.byte(235), 1);
+ context._sub(context.data.byte(235), 1);
goto finflashmouse;
rightspeed3:
- context.ds.byte(235) = 5;
- context._add(context.ds.byte(236), 1);
- context._cmp(context.ds.byte(236), 16);
+ context.data.byte(235) = 5;
+ context._add(context.data.byte(236), 1);
+ context._cmp(context.data.byte(236), 16);
if (!context.flags.z()) goto finflashmouse;
- context.ds.byte(236) = 0;
+ context.data.byte(236) = 0;
finflashmouse:
- context.al = context.ds.byte(236);
+ context.al = context.data.byte(236);
context.ah = 0;
context.bx = 5698;
context._add(context.bx, context.ax);
context.al = context.ds.byte(context.bx);
- context.ds.byte(231) = context.al;
+ context.data.byte(231) = context.al;
return;
combathand:
- context.ds.byte(231) = 0;
- context._cmp(context.ds.byte(184), 14);
+ context.data.byte(231) = 0;
+ context._cmp(context.data.byte(184), 14);
if (!context.flags.z()) goto notarrow;
- context._cmp(context.ds.byte(100), 211);
+ context._cmp(context.data.byte(100), 211);
if (!context.flags.z()) goto notarrow;
- context.ds.byte(231) = 5;
+ context.data.byte(231) = 5;
notarrow:
return;
}
static void readmouse(Context & context) {
- 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;
+ 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;
mousecall(context);
- context.ds.word(198) = context.cx;
- context.ds.word(200) = context.dx;
- context.ds.word(202) = context.bx;
+ context.data.word(198) = context.cx;
+ context.data.word(200) = context.dx;
+ context.data.word(202) = context.bx;
return;
}
static void readmouse1(Context & context) {
- context.ax = context.ds.word(198);
- context.ds.word(214) = context.ax;
- context.ax = context.ds.word(200);
- context.ds.word(216) = 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;
mousecall(context);
- context.ds.word(198) = context.cx;
- context.ds.word(200) = context.dx;
- context.ds.word(204) = context.bx;
+ context.data.word(198) = context.cx;
+ context.data.word(200) = context.dx;
+ context.data.word(204) = context.bx;
return;
}
static void readmouse2(Context & context) {
- context.ax = context.ds.word(198);
- context.ds.word(214) = context.ax;
- context.ax = context.ds.word(200);
- context.ds.word(216) = 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;
mousecall(context);
- context.ds.word(198) = context.cx;
- context.ds.word(200) = context.dx;
- context.ds.word(206) = context.bx;
+ context.data.word(198) = context.cx;
+ context.data.word(200) = context.dx;
+ context.data.word(206) = context.bx;
return;
}
static void readmouse3(Context & context) {
- context.ax = context.ds.word(198);
- context.ds.word(214) = context.ax;
- context.ax = context.ds.word(200);
- context.ds.word(216) = 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;
mousecall(context);
- context.ds.word(198) = context.cx;
- context.ds.word(200) = context.dx;
- context.ds.word(208) = context.bx;
+ context.data.word(198) = context.cx;
+ context.data.word(200) = context.dx;
+ context.data.word(208) = context.bx;
return;
}
static void readmouse4(Context & context) {
- 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;
+ 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;
mousecall(context);
- 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.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._or(context.bx, context.ax);
- context.ds.word(202) = context.bx;
+ context.data.word(202) = context.bx;
return;
}
static void readkey(Context & context) {
- context.bx = context.ds.word(396);
- context._cmp(context.bx, context.ds.word(394));
+ context.bx = context.data.word(396);
+ context._cmp(context.bx, context.data.word(394));
if (context.flags.z()) goto nokey;
context._add(context.bx, 1);
context._and(context.bx, 15);
- context.ds.word(396) = context.bx;
+ context.data.word(396) = context.bx;
context.di = 5715;
context._add(context.di, context.bx);
context.al = context.ds.byte(context.di);
- context.ds.byte(142) = context.al;
+ context.data.byte(142) = context.al;
return;
nokey:
- context.ds.byte(142) = 0;
+ context.data.byte(142) = 0;
return;
}
@@ -20124,34 +20124,34 @@ hangonloop:
static void loadtraveltext(Context & context) {
context.dx = 2247;
standardload(context);
- context.ds.word(456) = context.ax;
+ context.data.word(456) = context.ax;
return;
}
static void loadintotemp(Context & context) {
context.ds = context.cs;
standardload(context);
- context.ds.word(458) = context.ax;
+ context.data.word(458) = context.ax;
return;
}
static void loadintotemp2(Context & context) {
context.ds = context.cs;
standardload(context);
- context.ds.word(460) = context.ax;
+ context.data.word(460) = context.ax;
return;
}
static void loadintotemp3(Context & context) {
context.ds = context.cs;
standardload(context);
- context.ds.word(462) = context.ax;
+ context.data.word(462) = context.ax;
return;
}
static void loadtempcharset(Context & context) {
standardload(context);
- context.ds.word(406) = context.ax;
+ context.data.word(406) = context.ax;
return;
}
@@ -20175,21 +20175,21 @@ static void standardload(Context & context) {
static void loadtemptext(Context & context) {
standardload(context);
- context.ds.word(466) = context.ax;
+ context.data.word(466) = context.ax;
return;
}
static void loadroom(Context & context) {
- 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;
+ 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;
getroomdata(context);
startloading(context);
loadroomssample(context);
@@ -20200,13 +20200,13 @@ static void loadroom(Context & context) {
}
static void loadroomssample(Context & context) {
- context.al = context.ds.byte(531);
+ context.al = context.data.byte(531);
context._cmp(context.al, 255);
if (context.flags.z()) goto loadedalready;
- context._cmp(context.al, context.ds.byte(530));
+ context._cmp(context.al, context.data.byte(530));
if (context.flags.z()) goto loadedalready;
- context.ds.byte(530) = context.al;
- context.al = context.ds.byte(530);
+ context.data.byte(530) = context.al;
+ context.al = context.data.byte(530);
context.cl = '0';
twodigitnum(context);
context.di = 1909;
@@ -20219,50 +20219,50 @@ loadedalready:
}
static void getridofreels(Context & context) {
- context._cmp(context.ds.byte(74), 0);
+ context._cmp(context.data.byte(74), 0);
if (context.flags.z()) goto dontgetrid;
- context.es = context.ds.word(430);
+ context.es = context.data.word(430);
deallocatemem(context);
- context.es = context.ds.word(432);
+ context.es = context.data.word(432);
deallocatemem(context);
- context.es = context.ds.word(434);
+ context.es = context.data.word(434);
deallocatemem(context);
dontgetrid:
return;
}
static void getridofall(Context & context) {
- context.es = context.ds.word(416);
+ context.es = context.data.word(416);
deallocatemem(context);
- context.es = context.ds.word(444);
+ context.es = context.data.word(444);
deallocatemem(context);
- context.es = context.ds.word(430);
+ context.es = context.data.word(430);
deallocatemem(context);
- context.es = context.ds.word(432);
+ context.es = context.data.word(432);
deallocatemem(context);
- context.es = context.ds.word(434);
+ context.es = context.data.word(434);
deallocatemem(context);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
deallocatemem(context);
- context.es = context.ds.word(448);
+ context.es = context.data.word(448);
deallocatemem(context);
- context.es = context.ds.word(440);
+ context.es = context.data.word(440);
deallocatemem(context);
- context.es = context.ds.word(442);
+ context.es = context.data.word(442);
deallocatemem(context);
- context.es = context.ds.word(436);
+ context.es = context.data.word(436);
deallocatemem(context);
- context.es = context.ds.word(446);
+ context.es = context.data.word(446);
deallocatemem(context);
- context.es = context.ds.word(438);
+ context.es = context.data.word(438);
deallocatemem(context);
return;
}
static void restorereels(Context & context) {
- context._cmp(context.ds.byte(74), 0);
+ context._cmp(context.data.byte(74), 0);
if (context.flags.z()) goto dontrestore;
- context.al = context.ds.byte(184);
+ context.al = context.data.byte(184);
getroomdata(context);
context.dx = context.bx;
openfile(context);
@@ -20272,17 +20272,17 @@ static void restorereels(Context & context) {
dontloadseg(context);
dontloadseg(context);
allocateload(context);
- context.ds.word(430) = context.ax;
+ context.data.word(430) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(432) = context.ax;
+ context.data.word(432) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(434) = context.ax;
+ context.data.word(434) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
@@ -20292,17 +20292,17 @@ dontrestore:
}
static void restoreall(Context & context) {
- context.al = context.ds.byte(9);
+ context.al = context.data.byte(9);
getroomdata(context);
context.dx = context.bx;
openfile(context);
readheader(context);
allocateload(context);
context.ds = context.ax;
- context.ds.word(416) = context.ax;
+ context.data.word(416) = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.ds.word(400);
+ context.ds = context.data.word(400);
context.dx = 0;
context.cx = 132*66;
context.al = 0;
@@ -20310,59 +20310,59 @@ static void restoreall(Context & context) {
loadseg(context);
sortoutmap(context);
allocateload(context);
- context.ds.word(444) = context.ax;
+ context.data.word(444) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
dontloadseg(context);
allocateload(context);
- context.ds.word(430) = context.ax;
+ context.data.word(430) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(432) = context.ax;
+ context.data.word(432) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(434) = context.ax;
+ context.data.word(434) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(450) = context.ax;
+ context.data.word(450) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(448) = context.ax;
+ context.data.word(448) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(440) = context.ax;
+ context.data.word(440) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(442) = context.ax;
+ context.data.word(442) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(436) = context.ax;
+ context.data.word(436) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(446) = context.ax;
+ context.data.word(446) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
dontloadseg(context);
allocateload(context);
- context.ds.word(438) = context.ax;
+ context.data.word(438) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
@@ -20374,9 +20374,9 @@ static void restoreall(Context & context) {
static void sortoutmap(Context & context) {
context.push(context.es);
context.push(context.di);
- context.ds = context.ds.word(400);
+ context.ds = context.data.word(400);
context.si = 0;
- context.es = context.ds.word(418);
+ context.es = context.data.word(418);
context.di = 0;
context.cx = 60;
blimey:
@@ -20394,43 +20394,43 @@ blimey:
}
static void startloading(Context & context) {
- context.ds.byte(64) = 0;
+ context.data.byte(64) = 0;
context.al = context.ds.byte(context.bx+13);
- context.ds.byte(531) = context.al;
+ context.data.byte(531) = context.al;
context.al = context.ds.byte(context.bx+15);
- context.ds.byte(148) = context.al;
+ context.data.byte(148) = context.al;
context.al = context.ds.byte(context.bx+16);
- context.ds.byte(149) = context.al;
+ context.data.byte(149) = context.al;
context.al = context.ds.byte(context.bx+20);
- context.ds.byte(35) = context.al;
+ context.data.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.data.byte(475) = context.al;
+ context.data.byte(478) = context.al;
+ context.data.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.data.byte(133) = context.al;
+ context.data.byte(135) = context.al;
context.al = context.ds.byte(context.bx+23);
- context.ds.byte(39) = context.al;
+ context.data.byte(39) = context.al;
context.al = context.ds.byte(context.bx+24);
- context.ds.byte(36) = context.al;
+ context.data.byte(36) = context.al;
context.al = context.ds.byte(context.bx+25);
- context.ds.byte(38) = context.al;
- context.ds.byte(65) = -1;
+ context.data.byte(38) = context.al;
+ context.data.byte(65) = -1;
context.al = context.ds.byte(context.bx+27);
context.push(context.ax);
context.al = context.ds.byte(context.bx+31);
- context.ah = context.ds.byte(184);
- context.ds.byte(184) = context.al;
+ context.ah = context.data.byte(184);
+ context.data.byte(184) = context.al;
context.dx = context.bx;
openfile(context);
readheader(context);
allocateload(context);
context.ds = context.ax;
- context.ds.word(416) = context.ax;
+ context.data.word(416) = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.ds.word(400);
+ context.ds = context.data.word(400);
context.dx = 0;
context.cx = 132*66;
context.al = 0;
@@ -20438,69 +20438,69 @@ static void startloading(Context & context) {
loadseg(context);
sortoutmap(context);
allocateload(context);
- context.ds.word(444) = context.ax;
+ context.data.word(444) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.ds.word(428);
+ context.ds = context.data.word(428);
context.dx = 0;
context.cx = 64*128;
context.al = 255;
fillspace(context);
loadseg(context);
allocateload(context);
- context.ds.word(430) = context.ax;
+ context.data.word(430) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(432) = context.ax;
+ context.data.word(432) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(434) = context.ax;
+ context.data.word(434) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(450) = context.ax;
+ context.data.word(450) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(448) = context.ax;
+ context.data.word(448) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(440) = context.ax;
+ context.data.word(440) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(442) = context.ax;
+ context.data.word(442) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(436) = context.ax;
+ context.data.word(436) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
allocateload(context);
- context.ds.word(446) = context.ax;
+ context.data.word(446) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
- context.ds = context.ds.word(426);
+ context.ds = context.data.word(426);
context.dx = 0;
context.cx = 16*80;
context.al = 255;
fillspace(context);
loadseg(context);
allocateload(context);
- context.ds.word(438) = context.ax;
+ context.data.word(438) = context.ax;
context.ds = context.ax;
context.dx = 0;
loadseg(context);
@@ -20509,17 +20509,17 @@ static void startloading(Context & context) {
deletetaken(context);
setallchanges(context);
autoappear(context);
- context.al = context.ds.byte(188);
+ context.al = context.data.byte(188);
getroomdata(context);
- 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.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.ax = context.pop();
context._cmp(context.al, 255);
if (context.flags.z()) goto dontwalkin;
- context.ds.byte(475) = context.al;
+ context.data.byte(475) = context.al;
context.push(context.bx);
autosetwalk(context);
context.bx = context.pop();
@@ -20546,7 +20546,7 @@ lookx2:
context.ah = 0;
context.cx = 144;
context._mul(context.cx);
- context.es = context.ds.word(450);
+ context.es = context.data.word(450);
context.bx = 0;
context._add(context.bx, context.ax);
context.ax = context.pop();
@@ -20562,7 +20562,7 @@ lookx2:
static void findxyfrompath(Context & context) {
getroomspaths(context);
- context.al = context.ds.byte(475);
+ context.al = context.data.byte(475);
context.ah = 0;
context._add(context.ax, context.ax);
context._add(context.ax, context.ax);
@@ -20571,25 +20571,25 @@ static void findxyfrompath(Context & context) {
context.ax = context.ds.word(context.bx);
context._sub(context.al, 12);
context._sub(context.ah, 12);
- context.ds.byte(151) = context.al;
- context.ds.byte(152) = context.ah;
+ context.data.byte(151) = context.al;
+ context.data.byte(152) = context.ah;
return;
}
static void findroominloc(Context & context) {
- context.al = context.ds.byte(149);
+ context.al = context.data.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.ds.byte(148);
+ context.al = context.data.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.ds.byte(185) = context.cl;
+ context.data.byte(185) = context.cl;
return;
}
@@ -20605,7 +20605,7 @@ static void getroomdata(Context & context) {
static void readheader(Context & context) {
context.ds = context.cs;
context.dx = 5881;
- context.cx = 5958-context.ds.byte(5881);
+ context.cx = 5958-context.data.byte(5881);
readfromfile(context);
context.es = context.cs;
context.di = 5952;
@@ -20642,37 +20642,37 @@ static void fillspace(Context & context) {
}
static void getridoftemp(Context & context) {
- context.es = context.ds.word(458);
+ context.es = context.data.word(458);
deallocatemem(context);
return;
}
static void getridoftemptext(Context & context) {
- context.es = context.ds.word(466);
+ context.es = context.data.word(466);
deallocatemem(context);
return;
}
static void getridoftemp2(Context & context) {
- context.es = context.ds.word(460);
+ context.es = context.data.word(460);
deallocatemem(context);
return;
}
static void getridoftemp3(Context & context) {
- context.es = context.ds.word(462);
+ context.es = context.data.word(462);
deallocatemem(context);
return;
}
static void getridoftempcharset(Context & context) {
- context.es = context.ds.word(406);
+ context.es = context.data.word(406);
deallocatemem(context);
return;
}
static void getridoftempsp(Context & context) {
- context.es = context.ds.word(464);
+ context.es = context.data.word(464);
deallocatemem(context);
return;
}
@@ -20680,30 +20680,30 @@ static void getridoftempsp(Context & context) {
static void readsetdata(Context & context) {
context.dx = 1870;
standardload(context);
- context.ds.word(404) = context.ax;
+ context.data.word(404) = context.ax;
context.dx = 1935;
standardload(context);
- context.ds.word(408) = context.ax;
+ context.data.word(408) = context.ax;
context.dx = 1948;
standardload(context);
- context.ds.word(410) = context.ax;
+ context.data.word(410) = context.ax;
context.dx = 1832;
standardload(context);
- context.ds.word(414) = context.ax;
+ context.data.word(414) = context.ax;
context.dx = 2234;
standardload(context);
- context.ds.word(454) = context.ax;
+ context.data.word(454) = context.ax;
context.dx = 2286;
standardload(context);
- 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);
+ 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);
if (context.flags.z()) goto novolumeload;
context.dx = 2299;
openfile(context);
context.cx = 2048-256;
- context.ds = context.ds.word(353);
+ context.ds = context.data.word(353);
context.dx = 16384;
readfromfile(context);
closefile(context);
@@ -20725,7 +20725,7 @@ static void dreamweb(Context & context) {
clearpalette(context);
set16colpalette(context);
readsetdata(context);
- context.ds.byte(391) = 0;
+ context.data.byte(391) = 0;
context.dx = 1922;
loadsample(context);
setsoundoff(context);
@@ -20741,7 +20741,7 @@ dodecisions:
cls(context);
setmode(context);
decide(context);
- context._cmp(context.ds.byte(103), 4);
+ context._cmp(context.data.byte(103), 4);
if (context.flags.z()) goto mainloop;
titles(context);
credits(context);
@@ -20749,22 +20749,22 @@ playgame:
clearchanges(context);
setmode(context);
loadpalfromiff(context);
- context.ds.byte(9) = 255;
- context.ds.byte(67) = 1;
- context.ds.byte(188) = 35;
- context.ds.byte(386) = 7;
+ context.data.byte(9) = 255;
+ context.data.byte(67) = 1;
+ context.data.byte(188) = 35;
+ context.data.byte(386) = 7;
loadroom(context);
clearsprites(context);
initman(context);
entrytexts(context);
entryanims(context);
- context.ds.byte(183) = 3;
+ context.data.byte(183) = 3;
initialinv(context);
- context.ds.byte(153) = 32;
+ context.data.byte(153) = 32;
startup1(context);
- context.ds.byte(387) = 0;
- context.ds.byte(388) = -1;
- context.ds.byte(100) = 255;
+ context.data.byte(387) = 0;
+ context.data.byte(388) = -1;
+ context.data.byte(100) = 255;
goto mainloop;
loadnew:
clearbeforeload(context);
@@ -20773,36 +20773,36 @@ loadnew:
initman(context);
entrytexts(context);
entryanims(context);
- context.ds.byte(188) = 255;
+ context.data.byte(188) = 255;
startup(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
worktoscreenm(context);
goto mainloop;
alreadyloaded:
- context.ds.byte(188) = 255;
+ context.data.byte(188) = 255;
clearsprites(context);
initman(context);
startup(context);
- context.ds.byte(100) = 255;
+ context.data.byte(100) = 255;
mainloop:
screenupdate(context);
- context._cmp(context.ds.byte(391), 0);
+ context._cmp(context.data.byte(391), 0);
if (!context.flags.z()) goto endofgame;
- context._cmp(context.ds.byte(56), 1);
+ context._cmp(context.data.byte(56), 1);
if (context.flags.z()) goto gameover;
- context._cmp(context.ds.byte(56), 2);
+ context._cmp(context.data.byte(56), 2);
if (context.flags.z()) goto gameover;
- context._cmp(context.ds.word(21), 0);
+ context._cmp(context.data.word(21), 0);
if (context.flags.z()) goto notwatching;
- context.al = context.ds.byte(477);
- context._cmp(context.al, context.ds.byte(475));
+ context.al = context.data.byte(477);
+ context._cmp(context.al, context.data.byte(475));
if (!context.flags.z()) goto mainloop;
- context._sub(context.ds.word(21), 1);
+ context._sub(context.data.word(21), 1);
if (!context.flags.z()) goto mainloop;
notwatching:
- context._cmp(context.ds.byte(56), 4);
+ context._cmp(context.data.byte(56), 4);
if (context.flags.z()) goto gameover;
- context._cmp(context.ds.byte(188), 255);
+ context._cmp(context.data.byte(188), 255);
if (!context.flags.z()) goto loadnew;
goto mainloop;
gameover:
diff --git a/engines/dreamweb/runtime.h b/engines/dreamweb/runtime.h
index 30bd043fd4..d1c65114cf 100644
--- a/engines/dreamweb/runtime.h
+++ b/engines/dreamweb/runtime.h
@@ -60,7 +60,6 @@ public:
inline WordRef(Common::Array<uint8> &data, unsigned index) : _data(data.begin() + index), _index(index) {
assert(index + 1 < data.size());
_value = _data[0] | (_data[1] << 8);
- debug(1, "word ref %d -> 0x%04x", _index, _value);
}
inline WordRef& operator=(const WordRef &ref) {
@@ -78,11 +77,9 @@ public:
}
inline ~WordRef() {
- debug(1, "writing %d -> 0x%04x", _index, _value);
_data[0] = _value & 0xff;
_data[1] = _value >> 8;
_value = _data[0] | (_data[1] << 8);
- debug(1, "word ref result %d -> 0x%04x", _index, _value);
}
};
@@ -131,6 +128,7 @@ public:
}
inline WordRef word(unsigned index) {
+ //debug(1, "getting word ref for %04x:%d", _value, index);
assert(_segment != 0);
return _segment->word(index);
}
@@ -186,14 +184,16 @@ public:
LowPartOfRegister dl;
HighPartOfRegister dh;
- SegmentRef cs, ds, es;
+ SegmentRef cs, ds, es, data;
+ //data == fake segment register always pointing to data segment
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) {
+ inline Context(): al(ax), ah(ax), bl(bx), bh(bx), cl(cx), ch(cx), dl(dx), dh(dx), cs(this), ds(this), es(this), data(this) {
_segments[kDefaultDataSegment] = Segment();
cs.reset(kDefaultDataSegment);
ds.reset(kDefaultDataSegment);
es.reset(kDefaultDataSegment);
+ data.reset(kDefaultDataSegment);
}
SegmentRef getSegment(uint16 value) {