diff options
-rw-r--r-- | devtools/tasmrecover/tasm/cpp.py | 2 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 6828 | ||||
-rw-r--r-- | engines/dreamweb/runtime.h | 10 |
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) { |