diff options
author | Vladimir | 2011-06-07 00:53:47 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:30:29 +0200 |
commit | 1ee6b0af692d0dc478ad50ec32c8a7144c40ee40 (patch) | |
tree | 967a1bcea0f737bb2882b3c8e91805729e790aed /engines | |
parent | 781d06709f4e5dbc0812c285248a08452f9f7005 (diff) | |
download | scummvm-rg350-1ee6b0af692d0dc478ad50ec32c8a7144c40ee40.tar.gz scummvm-rg350-1ee6b0af692d0dc478ad50ec32c8a7144c40ee40.tar.bz2 scummvm-rg350-1ee6b0af692d0dc478ad50ec32c8a7144c40ee40.zip |
DREAMWEB: get rid of data, added simple segment management
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 8390 | ||||
-rw-r--r-- | engines/dreamweb/runtime.h | 35 |
2 files changed, 4221 insertions, 4204 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 6d45fbfd80..3ec12c1363 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -483,7 +483,7 @@ static void intro3text(Context &context); static void intro1text(Context &context); static void alleybarksound(Context & context) { - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._sub(context.ax, 1); context._cmp(context.ax, 0); if (!context.flags.z()) goto nobark; @@ -495,7 +495,7 @@ static void alleybarksound(Context & context) { context.bx = context.pop(); context.ax = 1000; nobark: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; return; } @@ -516,49 +516,49 @@ nofog: static void receptionist(Context & context) { checkspeed(context); if (!context.flags.z()) goto gotrecep; - context._cmp(context.data.byte(52), 1); + context._cmp(context.ds.byte(52), 1); if (!context.flags.z()) goto notsetcard; - context._add(context.data.byte(52), 1); - context.data.byte(context.bx+7) = 1; - context.data.word(context.bx+3) = 64; + context._add(context.ds.byte(52), 1); + context.ds.byte(context.bx+7) = 1; + context.ds.word(context.bx+3) = 64; notsetcard: - context._cmp(context.data.word(context.bx+3), 58); + context._cmp(context.ds.word(context.bx+3), 58); if (!context.flags.z()) goto notdes1; randomnumber(context); context._cmp(context.al, 30); if (context.flags.c()) goto notdes2; - context.data.word(context.bx+3) = 55; + context.ds.word(context.bx+3) = 55; goto gotrecep; notdes1: - context._cmp(context.data.word(context.bx+3), 60); + context._cmp(context.ds.word(context.bx+3), 60); if (!context.flags.z()) goto notdes2; randomnumber(context); context._cmp(context.al, 240); if (context.flags.c()) goto gotrecep; - context.data.word(context.bx+3) = 53; + context.ds.word(context.bx+3) = 53; goto gotrecep; notdes2: - context._cmp(context.data.word(context.bx+3), 88); + context._cmp(context.ds.word(context.bx+3), 88); if (!context.flags.z()) goto notendcard; - context.data.word(context.bx+3) = 53; + context.ds.word(context.bx+3) = 53; goto gotrecep; notendcard: - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); gotrecep: showgamereel(context); addtopeoplelist(context); - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 128); if (context.flags.z()) goto nottalkedrecep; - context.data.byte(51) = 1; + context.ds.byte(51) = 1; nottalkedrecep: return; } static void smokebloke(Context & context) { - context._cmp(context.data.byte(41), 0); + context._cmp(context.ds.byte(41), 0); if (!context.flags.z()) goto notspokento; - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 128); if (context.flags.z()) goto notspokento; context.push(context.es); @@ -570,20 +570,20 @@ static void smokebloke(Context & context) { notspokento: checkspeed(context); if (!context.flags.z()) goto gotsmokeb; - context._cmp(context.data.word(context.bx+3), 100); + context._cmp(context.ds.word(context.bx+3), 100); if (!context.flags.z()) goto notsmokeb1; randomnumber(context); context._cmp(context.al, 30); if (context.flags.c()) goto notsmokeb2; - context.data.word(context.bx+3) = 96; + context.ds.word(context.bx+3) = 96; goto gotsmokeb; notsmokeb1: - context._cmp(context.data.word(context.bx+3), 117); + context._cmp(context.ds.word(context.bx+3), 117); if (!context.flags.z()) goto notsmokeb2; - context.data.word(context.bx+3) = 96; + context.ds.word(context.bx+3) = 96; goto gotsmokeb; notsmokeb2: - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); gotsmokeb: showgamereel(context); addtopeoplelist(context); @@ -593,25 +593,25 @@ gotsmokeb: static void attendant(Context & context) { showgamereel(context); addtopeoplelist(context); - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 128); if (context.flags.z()) goto nottalked; - context.data.byte(48) = 1; + context.ds.byte(48) = 1; nottalked: return; } static void manasleep(Context & context) { - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 127); - context.data.byte(context.bx+7) = context.al; + context.ds.byte(context.bx+7) = context.al; showgamereel(context); addtopeoplelist(context); return; } static void eden(Context & context) { - context._cmp(context.data.byte(42), 0); + context._cmp(context.ds.byte(42), 0); if (!context.flags.z()) goto notinbed; showgamereel(context); addtopeoplelist(context); @@ -620,9 +620,9 @@ notinbed: } static void edeninbath(Context & context) { - context._cmp(context.data.byte(42), 0); + context._cmp(context.ds.byte(42), 0); if (context.flags.z()) goto notinbed; - context._cmp(context.data.byte(43), 0); + context._cmp(context.ds.byte(43), 0); if (!context.flags.z()) goto notinbath; showgamereel(context); addtopeoplelist(context); @@ -647,7 +647,7 @@ static void femalefan(Context & context) { } static void louis(Context & context) { - context._cmp(context.data.byte(41), 0); + context._cmp(context.ds.byte(41), 0); if (!context.flags.z()) goto notlouis1; showgamereel(context); addtopeoplelist(context); @@ -656,26 +656,26 @@ notlouis1: } static void louischair(Context & context) { - context._cmp(context.data.byte(41), 0); + context._cmp(context.ds.byte(41), 0); if (context.flags.z()) goto notlouis2; checkspeed(context); if (!context.flags.z()) goto notlouisanim; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 191); if (context.flags.z()) goto restartlouis; context._cmp(context.ax, 185); if (context.flags.z()) goto randomlouis; - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; goto notlouisanim; randomlouis: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; randomnumber(context); context._cmp(context.al, 245); if (!context.flags.c()) goto notlouisanim; restartlouis: context.ax = 182; - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; notlouisanim: showgamereel(context); addtopeoplelist(context); @@ -684,9 +684,9 @@ notlouis2: } static void manasleep2(Context & context) { - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 127); - context.data.byte(context.bx+7) = context.al; + context.ds.byte(context.bx+7) = context.al; showgamereel(context); addtopeoplelist(context); return; @@ -707,18 +707,18 @@ static void tattooman(Context & context) { static void drinker(Context & context) { checkspeed(context); if (!context.flags.z()) goto gotdrinker; - context._add(context.data.word(context.bx+3), 1); - context._cmp(context.data.word(context.bx+3), 115); + context._add(context.ds.word(context.bx+3), 1); + context._cmp(context.ds.word(context.bx+3), 115); if (!context.flags.z()) goto notdrinker1; - context.data.word(context.bx+3) = 105; + context.ds.word(context.bx+3) = 105; goto gotdrinker; notdrinker1: - context._cmp(context.data.word(context.bx+3), 106); + context._cmp(context.ds.word(context.bx+3), 106); if (!context.flags.z()) goto gotdrinker; randomnumber(context); context._cmp(context.al, 3); if (context.flags.c()) goto gotdrinker; - context.data.word(context.bx+3) = 105; + context.ds.word(context.bx+3) = 105; gotdrinker: showgamereel(context); addtopeoplelist(context); @@ -728,25 +728,25 @@ gotdrinker: static void bartender(Context & context) { checkspeed(context); if (!context.flags.z()) goto gotsmoket; - context._cmp(context.data.word(context.bx+3), 86); + context._cmp(context.ds.word(context.bx+3), 86); if (!context.flags.z()) goto notsmoket1; randomnumber(context); context._cmp(context.al, 18); if (context.flags.c()) goto notsmoket2; - context.data.word(context.bx+3) = 81; + context.ds.word(context.bx+3) = 81; goto gotsmoket; notsmoket1: - context._cmp(context.data.word(context.bx+3), 103); + context._cmp(context.ds.word(context.bx+3), 103); if (!context.flags.z()) goto notsmoket2; - context.data.word(context.bx+3) = 81; + context.ds.word(context.bx+3) = 81; goto gotsmoket; notsmoket2: - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); gotsmoket: showgamereel(context); - context._cmp(context.data.byte(46), 1); + context._cmp(context.ds.byte(46), 1); if (!context.flags.z()) goto notgotgun; - context.data.byte(context.bx+7) = 9; + context.ds.byte(context.bx+7) = 9; notgotgun: addtopeoplelist(context); return; @@ -765,49 +765,49 @@ static void barwoman(Context & context) { } static void interviewer(Context & context) { - context._cmp(context.data.word(23), 68); + context._cmp(context.ds.word(23), 68); if (!context.flags.z()) goto notgeneralstart; - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); notgeneralstart: - context._cmp(context.data.word(context.bx+3), 250); + context._cmp(context.ds.word(context.bx+3), 250); if (context.flags.z()) goto talking; checkspeed(context); if (!context.flags.z()) goto talking; - context._cmp(context.data.word(context.bx+3), 259); + context._cmp(context.ds.word(context.bx+3), 259); if (context.flags.z()) goto talking; - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); talking: showgamereel(context); return; } static void soldier1(Context & context) { - context._cmp(context.data.word(context.bx+3), 0); + context._cmp(context.ds.word(context.bx+3), 0); if (context.flags.z()) goto soldierwait; - context.data.word(21) = 10; - context._cmp(context.data.word(context.bx+3), 30); + context.ds.word(21) = 10; + context._cmp(context.ds.word(context.bx+3), 30); if (!context.flags.z()) goto notaftersshot; - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 40); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 40); if (!context.flags.z()) goto gotsoldframe; - context.data.byte(56) = 2; + context.ds.byte(56) = 2; goto gotsoldframe; notaftersshot: checkspeed(context); if (!context.flags.z()) goto gotsoldframe; - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); goto gotsoldframe; soldierwait: - context._cmp(context.data.byte(65), 1); + context._cmp(context.ds.byte(65), 1); if (!context.flags.z()) goto gotsoldframe; - context.data.word(21) = 10; - context._cmp(context.data.byte(475), 2); + context.ds.word(21) = 10; + context._cmp(context.ds.byte(475), 2); if (!context.flags.z()) goto gotsoldframe; - context._cmp(context.data.byte(133), 4); + context._cmp(context.ds.byte(133), 4); if (!context.flags.z()) goto gotsoldframe; - context._add(context.data.word(context.bx+3), 1); - context.data.byte(65) = -1; - context.data.byte(64) = 0; + context._add(context.ds.word(context.bx+3), 1); + context.ds.byte(65) = -1; + context.ds.byte(64) = 0; gotsoldframe: showgamereel(context); addtopeoplelist(context); @@ -815,70 +815,70 @@ gotsoldframe: } static void rockstar(Context & context) { - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 303); if (context.flags.z()) goto rockcombatend; context._cmp(context.ax, 118); if (context.flags.z()) goto rockcombatend; checkspeed(context); if (!context.flags.z()) goto rockspeed; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 118); if (!context.flags.z()) goto notbeforedead; - context.data.byte(56) = 2; + context.ds.byte(56) = 2; goto gotrockframe; notbeforedead: context._cmp(context.ax, 79); if (!context.flags.z()) goto gotrockframe; context._sub(context.ax, 1); - context._cmp(context.data.byte(65), 1); + context._cmp(context.ds.byte(65), 1); if (!context.flags.z()) goto notgunonrock; - context.data.byte(65) = -1; + context.ds.byte(65) = -1; context.ax = 123; goto gotrockframe; notgunonrock: - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 40); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 40); if (!context.flags.z()) goto gotrockframe; - context.data.byte(64) = 0; + context.ds.byte(64) = 0; context.ax = 79; gotrockframe: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; rockspeed: showgamereel(context); - context._cmp(context.data.word(context.bx+3), 78); + context._cmp(context.ds.word(context.bx+3), 78); if (!context.flags.z()) goto notalkrock; addtopeoplelist(context); - context.data.byte(234) = 2; - context.data.word(21) = 0; + context.ds.byte(234) = 2; + context.ds.word(21) = 0; return; notalkrock: - context.data.word(21) = 2; - context.data.byte(234) = 0; - context.al = context.data.byte(149); - context.data.byte(context.bx+2) = context.al; + context.ds.word(21) = 2; + context.ds.byte(234) = 0; + context.al = context.ds.byte(149); + context.ds.byte(context.bx+2) = context.al; return; rockcombatend: - context.data.byte(188) = 45; + context.ds.byte(188) = 45; showgamereel(context); return; } static void helicopter(Context & context) { - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 203); if (context.flags.z()) goto heliwon; checkspeed(context); if (!context.flags.z()) goto helispeed; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 53); if (!context.flags.z()) goto notbeforehdead; - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 8); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 8); if (context.flags.c()) goto waitabit; - context.data.byte(56) = 2; + context.ds.byte(56) = 2; waitabit: context.ax = 49; goto gotheliframe; @@ -886,59 +886,59 @@ notbeforehdead: context._cmp(context.ax, 9); if (!context.flags.z()) goto gotheliframe; context._sub(context.ax, 1); - context._cmp(context.data.byte(65), 1); + context._cmp(context.ds.byte(65), 1); if (!context.flags.z()) goto notgunonheli; - context.data.byte(65) = -1; + context.ds.byte(65) = -1; context.ax = 55; goto gotheliframe; notgunonheli: context.ax = 5; - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 20); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 20); if (!context.flags.z()) goto gotheliframe; - context.data.byte(64) = 0; + context.ds.byte(64) = 0; context.ax = 9; gotheliframe: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; helispeed: showgamereel(context); - context.al = context.data.byte(148); - context.data.byte(context.bx+1) = context.al; + context.al = context.ds.byte(148); + context.ds.byte(context.bx+1) = context.al; helicombatend: - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 9); if (!context.flags.c()) goto notwaitingheli; - context._cmp(context.data.byte(64), 7); + context._cmp(context.ds.byte(64), 7); if (context.flags.c()) goto notwaitingheli; - context.data.byte(234) = 2; - context.data.word(21) = 0; + context.ds.byte(234) = 2; + context.ds.word(21) = 0; return; notwaitingheli: - context.data.byte(234) = 0; - context.data.word(21) = 2; + context.ds.byte(234) = 0; + context.ds.word(21) = 2; return; heliwon: - context.data.byte(234) = 0; + context.ds.byte(234) = 0; return; } static void mugger(Context & context) { - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 138); if (context.flags.z()) goto endmugger1; context._cmp(context.ax, 176); if (context.flags.z()) goto endmugger2; context._cmp(context.ax, 2); if (!context.flags.z()) goto havesetwatch; - context.data.word(21) = 175*2; + context.ds.word(21) = 175*2; havesetwatch: checkspeed(context); if (!context.flags.z()) goto notmugger; - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); notmugger: showgamereel(context); - context.al = context.data.byte(148); - context.data.byte(context.bx+1) = context.al; + context.al = context.ds.byte(148); + context.ds.byte(context.bx+1) = context.al; return; endmugger1: context.push(context.es); @@ -959,26 +959,26 @@ endmugger1: context.es = context.pop(); context.push(context.es); context.push(context.bx); - context.data.word(context.bx+3) = 140; - context.data.byte(475) = 2; - context.data.byte(477) = 2; + context.ds.word(context.bx+3) = 140; + context.ds.byte(475) = 2; + context.ds.byte(477) = 2; findxyfrompath(context); - context.data.byte(187) = 1; + context.ds.byte(187) = 1; context.al = 'W'; context.ah = 'E'; context.cl = 'T'; context.ch = 'A'; findexobject(context); - context.data.byte(99) = context.al; - context.data.byte(102) = 4; + context.ds.byte(99) = context.al; + context.ds.byte(102) = 4; removeobfrominv(context); context.al = 'W'; context.ah = 'E'; context.cl = 'T'; context.ch = 'B'; findexobject(context); - context.data.byte(99) = context.al; - context.data.byte(102) = 4; + context.ds.byte(99) = context.al; + context.ds.byte(102) = 4; removeobfrominv(context); makemainscreen(context); context.al = 48; @@ -987,7 +987,7 @@ endmugger1: context.cx = 70; context.dx = 10; setuptimeduse(context); - context.data.byte(45) = 1; + context.ds.byte(45) = 1; context.bx = context.pop(); context.es = context.pop(); return; @@ -1002,9 +1002,9 @@ static void aide(Context & context) { } static void businessman(Context & context) { - context.data.byte(234) = 0; - context.data.word(21) = 2; - context.ax = context.data.word(context.bx+3); + context.ds.byte(234) = 0; + context.ds.word(21) = 2; + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 2); if (!context.flags.z()) goto notfirstbiz; context.push(context.ax); @@ -1026,27 +1026,27 @@ notfirstbiz: if (context.flags.z()) goto buscombatend; checkspeed(context); if (!context.flags.z()) goto busspeed; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 48); if (!context.flags.z()) goto notbeforedeadb; - context.data.byte(56) = 2; + context.ds.byte(56) = 2; goto gotbusframe; notbeforedeadb: context._cmp(context.ax, 15); if (!context.flags.z()) goto buscombatwon; context._sub(context.ax, 1); - context._cmp(context.data.byte(65), 3); + context._cmp(context.ds.byte(65), 3); if (!context.flags.z()) goto notshieldonbus; - context.data.byte(65) = -1; - context.data.byte(64) = 0; + context.ds.byte(65) = -1; + context.ds.byte(64) = 0; context.ax = 51; goto gotbusframe; notshieldonbus: - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 20); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 20); if (!context.flags.z()) goto gotbusframe; - context.data.byte(64) = 0; + context.ds.byte(64) = 0; context.ax = 15; goto gotbusframe; buscombatwon: @@ -1062,36 +1062,36 @@ buscombatwon: turnpathon(context); context.al = 3; turnpathoff(context); - context.data.byte(475) = 5; - context.data.byte(477) = 5; + context.ds.byte(475) = 5; + context.ds.byte(477) = 5; findxyfrompath(context); - context.data.byte(187) = 1; + context.ds.byte(187) = 1; context.es = context.pop(); context.bx = context.pop(); context.ax = 92; goto gotbusframe; gotbusframe: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; busspeed: showgamereel(context); - context.al = context.data.byte(149); - context.data.byte(context.bx+2) = context.al; - context.ax = context.data.word(context.bx+3); + context.al = context.ds.byte(149); + context.ds.byte(context.bx+2) = context.al; + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 14); if (!context.flags.z()) goto buscombatend; - context.data.word(21) = 0; - context.data.byte(234) = 2; + context.ds.word(21) = 0; + context.ds.byte(234) = 2; return; buscombatend: return; buscombatwonend: - context.data.byte(234) = 0; - context.data.word(21) = 0; + context.ds.byte(234) = 0; + context.ds.word(21) = 0; return; } static void poolguard(Context & context) { - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 214); if (context.flags.z()) goto combatover2; context._cmp(context.ax, 258); @@ -1105,57 +1105,57 @@ static void poolguard(Context & context) { notfirstpool: checkspeed(context); if (!context.flags.z()) goto guardspeed; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 122); if (!context.flags.z()) goto notendguard1; context._sub(context.ax, 1); - context._cmp(context.data.byte(65), 2); + context._cmp(context.ds.byte(65), 2); if (!context.flags.z()) goto notaxeonpool; - context.data.byte(65) = -1; + context.ds.byte(65) = -1; context.ax = 122; goto gotguardframe; notaxeonpool: - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 40); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 40); if (!context.flags.z()) goto gotguardframe; - context.data.byte(64) = 0; + context.ds.byte(64) = 0; context.ax = 195; goto gotguardframe; notendguard1: context._cmp(context.ax, 147); if (!context.flags.z()) goto gotguardframe; context._sub(context.ax, 1); - context._cmp(context.data.byte(65), 1); + context._cmp(context.ds.byte(65), 1); if (!context.flags.z()) goto notgunonpool; - context.data.byte(65) = -1; + context.ds.byte(65) = -1; context.ax = 147; goto gotguardframe; notgunonpool: - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 40); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 40); if (!context.flags.z()) goto gotguardframe; - context.data.byte(64) = 0; + context.ds.byte(64) = 0; context.ax = 220; gotguardframe: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; guardspeed: showgamereel(context); - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 121); if (context.flags.z()) goto iswaitingpool; context._cmp(context.ax, 146); if (context.flags.z()) goto iswaitingpool; - context.data.byte(234) = 0; - context.data.word(21) = 2; + context.ds.byte(234) = 0; + context.ds.word(21) = 2; return; iswaitingpool: - context.data.byte(234) = 2; - context.data.word(21) = 0; + context.ds.byte(234) = 2; + context.ds.word(21) = 0; return; combatover1: - context.data.word(21) = 0; - context.data.byte(234) = 0; + context.ds.word(21) = 0; + context.ds.byte(234) = 0; context.al = 0; turnpathon(context); context.al = 1; @@ -1163,39 +1163,39 @@ combatover1: return; combatover2: showgamereel(context); - context.data.word(21) = 2; - context.data.byte(234) = 0; - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 100); + context.ds.word(21) = 2; + context.ds.byte(234) = 0; + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 100); if (context.flags.c()) goto doneover2; - context.data.word(21) = 0; - context.data.byte(56) = 2; + context.ds.word(21) = 0; + context.ds.byte(56) = 2; doneover2: return; } static void security(Context & context) { - context._cmp(context.data.word(context.bx+3), 32); + context._cmp(context.ds.word(context.bx+3), 32); if (context.flags.z()) goto securwait; - context._cmp(context.data.word(context.bx+3), 69); + context._cmp(context.ds.word(context.bx+3), 69); if (!context.flags.z()) goto notaftersec; return; notaftersec: - context.data.word(21) = 10; + context.ds.word(21) = 10; checkspeed(context); if (!context.flags.z()) goto gotsecurframe; - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); goto gotsecurframe; securwait: - context._cmp(context.data.byte(65), 1); + context._cmp(context.ds.byte(65), 1); if (!context.flags.z()) goto gotsecurframe; - context.data.word(21) = 10; - context._cmp(context.data.byte(475), 9); + context.ds.word(21) = 10; + context._cmp(context.ds.byte(475), 9); if (!context.flags.z()) goto gotsecurframe; - context._cmp(context.data.byte(133), 0); + context._cmp(context.ds.byte(133), 0); if (!context.flags.z()) goto gotsecurframe; - context.data.byte(65) = -1; - context._add(context.data.word(context.bx+3), 1); + context.ds.byte(65) = -1; + context._add(context.ds.word(context.bx+3), 1); gotsecurframe: showgamereel(context); addtopeoplelist(context); @@ -1203,34 +1203,34 @@ gotsecurframe: } static void heavy(Context & context) { - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 127); - context.data.byte(context.bx+7) = context.al; - context._cmp(context.data.word(context.bx+3), 43); + context.ds.byte(context.bx+7) = context.al; + context._cmp(context.ds.word(context.bx+3), 43); if (context.flags.z()) goto heavywait; - context.data.word(21) = 10; - context._cmp(context.data.word(context.bx+3), 70); + context.ds.word(21) = 10; + context._cmp(context.ds.word(context.bx+3), 70); if (!context.flags.z()) goto notafterhshot; - context._add(context.data.byte(64), 1); - context._cmp(context.data.byte(64), 80); + context._add(context.ds.byte(64), 1); + context._cmp(context.ds.byte(64), 80); if (!context.flags.z()) goto gotheavyframe; - context.data.byte(56) = 2; + context.ds.byte(56) = 2; goto gotheavyframe; notafterhshot: checkspeed(context); if (!context.flags.z()) goto gotheavyframe; - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); goto gotheavyframe; heavywait: - context._cmp(context.data.byte(65), 1); + context._cmp(context.ds.byte(65), 1); if (!context.flags.z()) goto gotheavyframe; - context._cmp(context.data.byte(475), 5); + context._cmp(context.ds.byte(475), 5); if (!context.flags.z()) goto gotheavyframe; - context._cmp(context.data.byte(133), 4); + context._cmp(context.ds.byte(133), 4); if (!context.flags.z()) goto gotheavyframe; - context.data.byte(65) = -1; - context._add(context.data.word(context.bx+3), 1); - context.data.byte(64) = 0; + context.ds.byte(65) = -1; + context._add(context.ds.word(context.bx+3), 1); + context.ds.byte(64) = 0; gotheavyframe: showgamereel(context); addtopeoplelist(context); @@ -1240,7 +1240,7 @@ gotheavyframe: static void bossman(Context & context) { checkspeed(context); if (!context.flags.z()) goto notboss; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 4); if (context.flags.z()) goto firstdes; @@ -1249,11 +1249,11 @@ static void bossman(Context & context) { context._cmp(context.ax, 41); if (!context.flags.z()) goto gotallboss; context.ax = 0; - context._add(context.data.byte(46), 1); - context.data.byte(context.bx+7) = 10; + context._add(context.ds.byte(46), 1); + context.ds.byte(context.bx+7) = 10; goto gotallboss; firstdes: - context._cmp(context.data.byte(46), 1); + context._cmp(context.ds.byte(46), 1); if (context.flags.z()) goto gotallboss; context.push(context.ax); randomnumber(context); @@ -1264,18 +1264,18 @@ firstdes: context.ax = 0; goto gotallboss; secdes: - context._cmp(context.data.byte(46), 1); + context._cmp(context.ds.byte(46), 1); if (context.flags.z()) goto gotallboss; context.ax = 0; gotallboss: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; notboss: showgamereel(context); addtopeoplelist(context); - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 128); if (context.flags.z()) goto nottalkedboss; - context.data.byte(50) = 1; + context.ds.byte(50) = 1; nottalkedboss: return; } @@ -1289,10 +1289,10 @@ gameragain: context._cmp(context.al, 5); if (!context.flags.c()) goto gameragain; context._add(context.al, 20); - context._cmp(context.al, context.data.byte(context.bx+3)); + context._cmp(context.al, context.ds.byte(context.bx+3)); if (context.flags.z()) goto gameragain; context.ah = 0; - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; gamerfin: showgamereel(context); addtopeoplelist(context); @@ -1319,17 +1319,17 @@ cantdrip2: } static void keeper(Context & context) { - context._cmp(context.data.byte(54), 0); + context._cmp(context.ds.byte(54), 0); if (!context.flags.z()) goto notwaiting; - context._cmp(context.data.word(23), 190); + context._cmp(context.ds.word(23), 190); if (context.flags.c()) goto waiting; - context._add(context.data.byte(54), 1); - context.ah = context.data.byte(context.bx+7); + context._add(context.ds.byte(54), 1); + context.ah = context.ds.byte(context.bx+7); context._and(context.ah, 127); - context._cmp(context.ah, context.data.byte(66)); + context._cmp(context.ah, context.ds.byte(66)); if (context.flags.z()) goto notdiff; - context.al = context.data.byte(66); - context.data.byte(context.bx+7) = context.al; + context.al = context.ds.byte(66); + context.ds.byte(context.bx+7) = context.al; notdiff: return; notwaiting: @@ -1342,13 +1342,13 @@ waiting: static void candles1(Context & context) { checkspeed(context); if (!context.flags.z()) goto candle1; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 44); if (!context.flags.z()) goto notendcandle1; context.ax = 39; notendcandle1: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; candle1: showgamereel(context); return; @@ -1357,13 +1357,13 @@ candle1: static void smallcandle(Context & context) { checkspeed(context); if (!context.flags.z()) goto smallcandlef; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 37); if (!context.flags.z()) goto notendsmallcandle; context.ax = 25; notendsmallcandle: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; smallcandlef: showgamereel(context); return; @@ -1372,25 +1372,25 @@ smallcandlef: static void intromagic1(Context & context) { checkspeed(context); if (!context.flags.z()) goto introm1fin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 145); if (!context.flags.z()) goto gotintrom1; context.ax = 121; gotintrom1: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; context._cmp(context.ax, 121); if (!context.flags.z()) goto introm1fin; - context._add(context.data.byte(139), 1); + context._add(context.ds.byte(139), 1); context.push(context.es); context.push(context.bx); intro1text(context); context.bx = context.pop(); context.es = context.pop(); - context._cmp(context.data.byte(139), 8); + context._cmp(context.ds.byte(139), 8); if (!context.flags.z()) goto introm1fin; - context._add(context.data.byte(149), 10); - context.data.byte(186) = 1; + context._add(context.ds.byte(149), 10); + context.ds.byte(186) = 1; introm1fin: showgamereel(context); return; @@ -1399,13 +1399,13 @@ introm1fin: static void candles(Context & context) { checkspeed(context); if (!context.flags.z()) goto candlesfin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 167); if (!context.flags.z()) goto gotcandles; context.ax = 162; gotcandles: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; candlesfin: showgamereel(context); return; @@ -1414,13 +1414,13 @@ candlesfin: static void candles2(Context & context) { checkspeed(context); if (!context.flags.z()) goto candles2fin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 238); if (!context.flags.z()) goto gotcandles2; context.ax = 233; gotcandles2: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; candles2fin: showgamereel(context); return; @@ -1429,7 +1429,7 @@ candles2fin: static void gates(Context & context) { checkspeed(context); if (!context.flags.z()) goto gatesfin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 116); if (!context.flags.z()) goto notbang; @@ -1444,14 +1444,14 @@ static void gates(Context & context) { notbang: context._cmp(context.ax, 110); if (context.flags.c()) goto slowgates; - context.data.byte(context.bx+5) = 2; + context.ds.byte(context.bx+5) = 2; slowgates: context._cmp(context.ax, 120); if (!context.flags.z()) goto gotgates; - context.data.byte(103) = 1; + context.ds.byte(103) = 1; context.ax = 119; gotgates: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; context.push(context.es); context.push(context.bx); intro3text(context); @@ -1465,13 +1465,13 @@ gatesfin: static void intromagic2(Context & context) { checkspeed(context); if (!context.flags.z()) goto introm2fin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 216); if (!context.flags.z()) goto gotintrom2; context.ax = 192; gotintrom2: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; introm2fin: showgamereel(context); return; @@ -1480,39 +1480,39 @@ introm2fin: static void intromagic3(Context & context) { checkspeed(context); if (!context.flags.z()) goto introm3fin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 218); if (!context.flags.z()) goto gotintrom3; - context.data.byte(103) = 1; + context.ds.byte(103) = 1; gotintrom3: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; introm3fin: showgamereel(context); - context.al = context.data.byte(148); - context.data.byte(context.bx+1) = context.al; + context.al = context.ds.byte(148); + context.ds.byte(context.bx+1) = context.al; return; } static void intromonks1(Context & context) { checkspeed(context); if (!context.flags.z()) goto intromonk1fin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 80); if (!context.flags.z()) goto notendmonk1; - context._add(context.data.byte(149), 10); - context.data.byte(186) = 1; + context._add(context.ds.byte(149), 10); + context.ds.byte(186) = 1; showgamereel(context); return; notendmonk1: context._cmp(context.ax, 30); if (!context.flags.z()) goto gotintromonk1; - context._sub(context.data.byte(149), 10); - context.data.byte(186) = 1; + context._sub(context.ds.byte(149), 10); + context.ds.byte(186) = 1; context.ax = 51; gotintromonk1: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; context._cmp(context.ax, 5); if (context.flags.z()) goto waitstep; context._cmp(context.ax, 15); @@ -1530,28 +1530,28 @@ waitstep: intro2text(context); context.bx = context.pop(); context.es = context.pop(); - context.data.byte(context.bx+6) = -20; + context.ds.byte(context.bx+6) = -20; intromonk1fin: showgamereel(context); - context.al = context.data.byte(149); - context.data.byte(context.bx+2) = context.al; + context.al = context.ds.byte(149); + context.ds.byte(context.bx+2) = context.al; return; } static void intromonks2(Context & context) { checkspeed(context); if (!context.flags.z()) goto intromonk2fin; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 87); if (!context.flags.z()) goto nottalk1; - context._add(context.data.byte(139), 1); + context._add(context.ds.byte(139), 1); context.push(context.es); context.push(context.bx); monks2text(context); context.bx = context.pop(); context.es = context.pop(); - context._cmp(context.data.byte(139), 19); + context._cmp(context.ds.byte(139), 19); if (!context.flags.z()) goto notlasttalk1; context.ax = 87; goto gotintromonk2; @@ -1561,13 +1561,13 @@ notlasttalk1: nottalk1: context._cmp(context.ax, 110); if (!context.flags.z()) goto notraisearm; - context._add(context.data.byte(139), 1); + context._add(context.ds.byte(139), 1); context.push(context.es); context.push(context.bx); monks2text(context); context.bx = context.pop(); context.es = context.pop(); - context._cmp(context.data.byte(139), 35); + context._cmp(context.ds.byte(139), 35); if (!context.flags.z()) goto notlastraise; context.ax = 111; goto gotintromonk2; @@ -1577,14 +1577,14 @@ notlastraise: notraisearm: context._cmp(context.ax, 176); if (!context.flags.z()) goto notendmonk2; - context.data.byte(103) = 1; + context.ds.byte(103) = 1; goto gotintromonk2; notendmonk2: context._cmp(context.ax, 125); if (!context.flags.z()) goto gotintromonk2; context.ax = 140; gotintromonk2: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; intromonk2fin: showgamereel(context); return; @@ -1595,7 +1595,7 @@ static void handclap(Context & context) { } static void monks2text(Context & context) { - context._cmp(context.data.byte(139), 1); + context._cmp(context.ds.byte(139), 1); if (!context.flags.z()) goto notmonk2text1; context.al = 8; context.bl = 36; @@ -1603,7 +1603,7 @@ static void monks2text(Context & context) { context.cx = 100; goto gotmonks2text; notmonk2text1: - context._cmp(context.data.byte(139), 4); + context._cmp(context.ds.byte(139), 4); if (!context.flags.z()) goto notmonk2text2; context.al = 9; context.bl = 36; @@ -1611,7 +1611,7 @@ notmonk2text1: context.cx = 100; goto gotmonks2text; notmonk2text2: - context._cmp(context.data.byte(139), 7); + context._cmp(context.ds.byte(139), 7); if (!context.flags.z()) goto notmonk2text3; context.al = 10; context.bl = 36; @@ -1619,7 +1619,7 @@ notmonk2text2: context.cx = 100; goto gotmonks2text; notmonk2text3: - context._cmp(context.data.byte(139), 10); + context._cmp(context.ds.byte(139), 10); if (!context.flags.z()) goto notmonk2text4; context.al = 11; context.bl = 0; @@ -1627,7 +1627,7 @@ notmonk2text3: context.cx = 100; goto gotmonks2text; notmonk2text4: - context._cmp(context.data.byte(139), 13); + context._cmp(context.ds.byte(139), 13); if (!context.flags.z()) goto notmonk2text5; context.al = 12; context.bl = 0; @@ -1635,7 +1635,7 @@ notmonk2text4: context.cx = 100; goto gotmonks2text; notmonk2text5: - context._cmp(context.data.byte(139), 16); + context._cmp(context.ds.byte(139), 16); if (!context.flags.z()) goto notmonk2text6; context.al = 13; context.bl = 0; @@ -1643,7 +1643,7 @@ notmonk2text5: context.cx = 100; goto gotmonks2text; notmonk2text6: - context._cmp(context.data.byte(139), 19); + context._cmp(context.ds.byte(139), 19); if (!context.flags.z()) goto notmonk2text7; context.al = 14; context.bl = 36; @@ -1653,7 +1653,7 @@ notmonk2text6: context.ah = 82; { setuptimedtemp(context); return; }; notmonk2text7: - context._cmp(context.data.byte(139), 22); + context._cmp(context.ds.byte(139), 22); if (!context.flags.z()) goto notmonk2text8; context.al = 15; context.bl = 36; @@ -1661,7 +1661,7 @@ notmonk2text7: context.cx = 100; goto gotmonks2text; notmonk2text8: - context._cmp(context.data.byte(139), 25); + context._cmp(context.ds.byte(139), 25); if (!context.flags.z()) goto notmonk2text9; context.al = 16; context.bl = 36; @@ -1669,7 +1669,7 @@ notmonk2text8: context.cx = 100; goto gotmonks2text; notmonk2text9: - context._cmp(context.data.byte(139), 28); + context._cmp(context.ds.byte(139), 28); if (!context.flags.z()) goto notmonk2text10; context.al = 17; context.bl = 36; @@ -1677,7 +1677,7 @@ notmonk2text9: context.cx = 100; goto gotmonks2text; notmonk2text10: - context._cmp(context.data.byte(139), 31); + context._cmp(context.ds.byte(139), 31); if (!context.flags.z()) goto notmonk2text11; context.al = 18; context.bl = 36; @@ -1695,7 +1695,7 @@ gotmonks2text: } static void intro1text(Context & context) { - context._cmp(context.data.byte(139), 2); + context._cmp(context.ds.byte(139), 2); if (!context.flags.z()) goto notintro1text1; context.al = 40; context.bl = 34; @@ -1703,7 +1703,7 @@ static void intro1text(Context & context) { context.cx = 90; goto gotintro1text; notintro1text1: - context._cmp(context.data.byte(139), 4); + context._cmp(context.ds.byte(139), 4); if (!context.flags.z()) goto notintro1text2; context.al = 41; context.bl = 34; @@ -1711,7 +1711,7 @@ notintro1text1: context.cx = 90; goto gotintro1text; notintro1text2: - context._cmp(context.data.byte(139), 6); + context._cmp(context.ds.byte(139), 6); if (!context.flags.z()) goto notintro1text3; context.al = 42; context.bl = 34; @@ -1781,23 +1781,23 @@ gotintro3text: static void monkandryan(Context & context) { checkspeed(context); if (!context.flags.z()) goto notmonkryan; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 83); if (!context.flags.z()) goto gotmonkryan; - context._add(context.data.byte(139), 1); + context._add(context.ds.byte(139), 1); context.push(context.es); context.push(context.bx); textformonk(context); context.bx = context.pop(); context.es = context.pop(); context.ax = 77; - context._cmp(context.data.byte(139), 57); + context._cmp(context.ds.byte(139), 57); if (!context.flags.z()) goto gotmonkryan; - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; gotmonkryan: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; notmonkryan: showgamereel(context); return; @@ -1806,13 +1806,13 @@ notmonkryan: static void endgameseq(Context & context) { checkspeed(context); if (!context.flags.z()) goto notendseq; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 51); if (!context.flags.z()) goto gotendseq; - context._cmp(context.data.byte(139), 140); + context._cmp(context.ds.byte(139), 140); if (context.flags.z()) goto gotendseq; - context._add(context.data.byte(139), 1); + context._add(context.ds.byte(139), 1); context.push(context.es); context.push(context.bx); textforend(context); @@ -1820,7 +1820,7 @@ static void endgameseq(Context & context) { context.es = context.pop(); context.ax = 50; gotendseq: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; context._cmp(context.ax, 134); if (!context.flags.z()) goto notfadedown; context.push(context.es); @@ -1838,23 +1838,23 @@ notfadedown: context.push(context.bx); context.push(context.ax); fadescreendowns(context); - context.data.byte(387) = 7; - context.data.byte(388) = 1; + context.ds.byte(387) = 7; + context.ds.byte(388) = 1; context.ax = context.pop(); context.bx = context.pop(); context.es = context.pop(); notfadeend: context._cmp(context.ax, 340); if (!context.flags.z()) goto notendseq; - context.data.byte(103) = 1; + context.ds.byte(103) = 1; notendseq: showgamereel(context); - context.al = context.data.byte(149); - context.data.byte(context.bx+2) = context.al; - context.ax = context.data.word(context.bx+3); + context.al = context.ds.byte(149); + context.ds.byte(context.bx+2) = context.al; + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 145); if (!context.flags.z()) goto notendcreds; - context.data.word(context.bx+3) = 146; + context.ds.word(context.bx+3) = 146; rollendcredits(context); notendcreds: return; @@ -1864,26 +1864,26 @@ static void rollendcredits(Context & context) { context.al = 16; context.ah = 255; playchannel0(context); - context.data.byte(386) = 7; - context.data.byte(387) = 0; - context.data.byte(388) = -1; + context.ds.byte(386) = 7; + context.ds.byte(387) = 0; + context.ds.byte(388) = -1; context.cl = 160; context.ch = 160; context.di = 75; context.bx = 20; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; multiget(context); - context.es = context.data.word(466); + context.es = context.ds.word(466); context.si = 3*2; - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context.si = context.ax; context._add(context.si, 66*2); context.cx = 254; endcredits1: context.push(context.cx); context.bx = 10; - context.cx = context.data.word(77); + context.cx = context.ds.word(77); endcredits2: context.push(context.cx); context.push(context.si); @@ -1895,7 +1895,7 @@ endcredits2: context.ch = 160; context.di = 75; context.bx = 20; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; multiput(context); vsync(context); @@ -1914,7 +1914,7 @@ onelot: context.dx = 161; context.ax = 0; printdirect(context); - context._add(context.bx, context.data.word(77)); + context._add(context.bx, context.ds.word(77)); context.cx = context.pop(); if (--context.cx) goto onelot; vsync(context); @@ -1932,7 +1932,7 @@ onelot: if (--context.cx) goto endcredits2; context.cx = context.pop(); looknext: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 1); context._cmp(context.al, ':'); if (context.flags.z()) goto gotnext; @@ -1949,13 +1949,13 @@ gotnext: } static void priest(Context & context) { - context._cmp(context.data.word(context.bx+3), 8); + context._cmp(context.ds.word(context.bx+3), 8); if (context.flags.z()) goto priestspoken; - context.data.byte(234) = 0; - context.data.word(21) = 2; + context.ds.byte(234) = 0; + context.ds.word(21) = 2; checkspeed(context); if (!context.flags.z()) goto priestwait; - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); context.push(context.es); context.push(context.bx); priesttext(context); @@ -1968,22 +1968,22 @@ priestspoken: } static void madmanstelly(Context & context) { - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 307); if (!context.flags.z()) goto notendtelly; context.ax = 300; notendtelly: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; showgamereel(context); return; } static void madman(Context & context) { - context.data.word(21) = 2; + context.ds.word(21) = 2; checkspeed(context); if (!context.flags.z()) goto nomadspeed; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 364); if (!context.flags.c()) goto ryansded; context._cmp(context.ax, 10); @@ -1996,46 +1996,46 @@ static void madman(Context & context) { context.ax = context.pop(); context.bx = context.pop(); context.es = context.pop(); - context.data.byte(64) = -1; - context.data.byte(69) = 0; + context.ds.byte(64) = -1; + context.ds.byte(69) = 0; notfirstmad: context._add(context.ax, 1); context._cmp(context.ax, 294); if (context.flags.z()) goto madmanspoken; context._cmp(context.ax, 66); if (!context.flags.z()) goto nomadspeak; - context._add(context.data.byte(64), 1); + context._add(context.ds.byte(64), 1); context.push(context.es); context.push(context.bx); madmantext(context); context.bx = context.pop(); context.es = context.pop(); context.ax = 53; - context._cmp(context.data.byte(64), 62); + context._cmp(context.ds.byte(64), 62); if (context.flags.c()) goto nomadspeak; - context._cmp(context.data.byte(64), 68); + context._cmp(context.ds.byte(64), 68); if (context.flags.z()) goto killryan; - context._cmp(context.data.byte(65), 8); + context._cmp(context.ds.byte(65), 8); if (!context.flags.z()) goto nomadspeak; - context.data.byte(64) = 70; - context.data.byte(65) = -1; - context.data.byte(53) = 1; + context.ds.byte(64) = 70; + context.ds.byte(65) = -1; + context.ds.byte(53) = 1; context.ax = 67; goto nomadspeak; killryan: context.ax = 310; nomadspeak: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; nomadspeed: showgamereel(context); - context.al = context.data.byte(148); - context.data.byte(context.bx+1) = context.al; + context.al = context.ds.byte(148); + context.ds.byte(context.bx+1) = context.al; madmode(context); return; madmanspoken: - context._cmp(context.data.byte(391), 1); + context._cmp(context.ds.byte(391), 1); if (context.flags.z()) goto alreadywon; - context.data.byte(391) = 1; + context.ds.byte(391) = 1; context.push(context.es); context.push(context.bx); getridoftemptext(context); @@ -2044,18 +2044,18 @@ madmanspoken: alreadywon: return; ryansded: - context.data.byte(56) = 2; + context.ds.byte(56) = 2; showgamereel(context); return; } static void madmantext(Context & context) { - context._cmp(context.data.byte(64), 61); + context._cmp(context.ds.byte(64), 61); if (!context.flags.c()) goto nomadtext; - context.al = context.data.byte(64); + context.al = context.ds.byte(64); context._and(context.al, 3); if (!context.flags.z()) goto nomadtext; - context.al = context.data.byte(64); + context.al = context.ds.byte(64); context._shr(context.al, 1); context._shr(context.al, 1); context._add(context.al, 47); @@ -2070,26 +2070,26 @@ nomadtext: } static void madmode(Context & context) { - context.data.word(21) = 2; - context.data.byte(234) = 0; - context._cmp(context.data.byte(64), 63); + context.ds.word(21) = 2; + context.ds.byte(234) = 0; + context._cmp(context.ds.byte(64), 63); if (context.flags.c()) goto iswatchmad; - context._cmp(context.data.byte(64), 68); + context._cmp(context.ds.byte(64), 68); if (!context.flags.c()) goto iswatchmad; - context.data.byte(234) = 2; + context.ds.byte(234) = 2; iswatchmad: return; } static void priesttext(Context & context) { - context._cmp(context.data.word(context.bx+3), 2); + context._cmp(context.ds.word(context.bx+3), 2); if (context.flags.c()) goto nopriesttext; - context._cmp(context.data.word(context.bx+3), 7); + context._cmp(context.ds.word(context.bx+3), 7); if (!context.flags.c()) goto nopriesttext; - context.al = context.data.byte(context.bx+3); + context.al = context.ds.byte(context.bx+3); context._and(context.al, 1); if (!context.flags.z()) goto nopriesttext; - context.al = context.data.byte(context.bx+3); + context.al = context.ds.byte(context.bx+3); context._shr(context.al, 1); context._add(context.al, 50); context.bl = 72; @@ -2102,7 +2102,7 @@ nopriesttext: } static void textforend(Context & context) { - context._cmp(context.data.byte(139), 20); + context._cmp(context.ds.byte(139), 20); if (!context.flags.z()) goto notendtext1; context.al = 0; context.bl = 34; @@ -2110,7 +2110,7 @@ static void textforend(Context & context) { context.cx = 60; goto gotendtext; notendtext1: - context._cmp(context.data.byte(139), 65); + context._cmp(context.ds.byte(139), 65); if (!context.flags.z()) goto notendtext2; context.al = 1; context.bl = 34; @@ -2118,7 +2118,7 @@ notendtext1: context.cx = 60; goto gotendtext; notendtext2: - context._cmp(context.data.byte(139), 110); + context._cmp(context.ds.byte(139), 110); if (!context.flags.z()) goto notendtext3; context.al = 2; context.bl = 34; @@ -2135,7 +2135,7 @@ gotendtext: } static void textformonk(Context & context) { - context._cmp(context.data.byte(139), 1); + context._cmp(context.ds.byte(139), 1); if (!context.flags.z()) goto notmonktext1; context.al = 19; context.bl = 68; @@ -2143,7 +2143,7 @@ static void textformonk(Context & context) { context.cx = 120; goto gotmonktext; notmonktext1: - context._cmp(context.data.byte(139), 5); + context._cmp(context.ds.byte(139), 5); if (!context.flags.z()) goto notmonktext2; context.al = 20; context.bl = 68; @@ -2151,7 +2151,7 @@ notmonktext1: context.cx = 120; goto gotmonktext; notmonktext2: - context._cmp(context.data.byte(139), 9); + context._cmp(context.ds.byte(139), 9); if (!context.flags.z()) goto notmonktext3; context.al = 21; context.bl = 48; @@ -2159,7 +2159,7 @@ notmonktext2: context.cx = 120; goto gotmonktext; notmonktext3: - context._cmp(context.data.byte(139), 13); + context._cmp(context.ds.byte(139), 13); if (!context.flags.z()) goto notmonktext4; context.al = 22; context.bl = 68; @@ -2167,7 +2167,7 @@ notmonktext3: context.cx = 120; goto gotmonktext; notmonktext4: - context._cmp(context.data.byte(139), 17); + context._cmp(context.ds.byte(139), 17); if (!context.flags.z()) goto notmonktext5; context.al = 23; context.bl = 68; @@ -2175,7 +2175,7 @@ notmonktext4: context.cx = 120; goto gotmonktext; notmonktext5: - context._cmp(context.data.byte(139), 21); + context._cmp(context.ds.byte(139), 21); if (!context.flags.z()) goto notmonktext6; context.al = 24; context.bl = 68; @@ -2183,7 +2183,7 @@ notmonktext5: context.cx = 120; goto gotmonktext; notmonktext6: - context._cmp(context.data.byte(139), 25); + context._cmp(context.ds.byte(139), 25); if (!context.flags.z()) goto notmonktext7; context.al = 25; context.bl = 68; @@ -2191,7 +2191,7 @@ notmonktext6: context.cx = 120; goto gotmonktext; notmonktext7: - context._cmp(context.data.byte(139), 29); + context._cmp(context.ds.byte(139), 29); if (!context.flags.z()) goto notmonktext8; context.al = 26; context.bl = 68; @@ -2199,7 +2199,7 @@ notmonktext7: context.cx = 120; goto gotmonktext; notmonktext8: - context._cmp(context.data.byte(139), 33); + context._cmp(context.ds.byte(139), 33); if (!context.flags.z()) goto notmonktext9; context.al = 27; context.bl = 68; @@ -2207,7 +2207,7 @@ notmonktext8: context.cx = 120; goto gotmonktext; notmonktext9: - context._cmp(context.data.byte(139), 37); + context._cmp(context.ds.byte(139), 37); if (!context.flags.z()) goto notmonktext10; context.al = 28; context.bl = 68; @@ -2215,7 +2215,7 @@ notmonktext9: context.cx = 120; goto gotmonktext; notmonktext10: - context._cmp(context.data.byte(139), 41); + context._cmp(context.ds.byte(139), 41); if (!context.flags.z()) goto notmonktext11; context.al = 29; context.bl = 68; @@ -2223,7 +2223,7 @@ notmonktext10: context.cx = 120; goto gotmonktext; notmonktext11: - context._cmp(context.data.byte(139), 45); + context._cmp(context.ds.byte(139), 45); if (!context.flags.z()) goto notmonktext12; context.al = 30; context.bl = 68; @@ -2231,7 +2231,7 @@ notmonktext11: context.cx = 120; goto gotmonktext; notmonktext12: - context._cmp(context.data.byte(139), 49); + context._cmp(context.ds.byte(139), 49); if (!context.flags.z()) goto notmonktext13; context.al = 31; context.bl = 68; @@ -2239,7 +2239,7 @@ notmonktext12: context.cx = 220; goto gotmonktext; notmonktext13: - context._cmp(context.data.byte(139), 53); + context._cmp(context.ds.byte(139), 53); if (!context.flags.z()) goto notendtitles; fadescreendowns(context); notendtitles: @@ -2253,11 +2253,11 @@ oktalk: } static void drunk(Context & context) { - context._cmp(context.data.byte(42), 0); + context._cmp(context.ds.byte(42), 0); if (!context.flags.z()) goto trampgone; - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 127); - context.data.byte(context.bx+7) = context.al; + context.ds.byte(context.bx+7) = context.al; showgamereel(context); addtopeoplelist(context); trampgone: @@ -2268,7 +2268,7 @@ static void advisor(Context & context) { checkspeed(context); if (!context.flags.z()) goto noadvisor; goto noadvisor; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 123); if (!context.flags.z()) goto notendadvis; @@ -2285,7 +2285,7 @@ notendadvis: if (context.flags.c()) goto gotadvframe; context.ax = 106; gotadvframe: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; noadvisor: showgamereel(context); addtopeoplelist(context); @@ -2295,7 +2295,7 @@ noadvisor: static void copper(Context & context) { checkspeed(context); if (!context.flags.z()) goto nocopper; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._add(context.ax, 1); context._cmp(context.ax, 94); if (!context.flags.z()) goto notendcopper; @@ -2315,7 +2315,7 @@ mightwait: if (context.flags.c()) goto gotcopframe; context._sub(context.ax, 1); gotcopframe: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; nocopper: showgamereel(context); addtopeoplelist(context); @@ -2323,41 +2323,41 @@ nocopper: } static void sparky(Context & context) { - context._cmp(context.data.word(16), 0); + context._cmp(context.ds.word(16), 0); if (context.flags.z()) goto animsparky; - context.data.byte(context.bx+7) = 3; + context.ds.byte(context.bx+7) = 3; goto animsparky; animsparky: checkspeed(context); if (!context.flags.z()) goto finishsparky; - context._cmp(context.data.word(context.bx+3), 34); + context._cmp(context.ds.word(context.bx+3), 34); if (!context.flags.z()) goto notsparky1; randomnumber(context); context._cmp(context.al, 30); if (context.flags.c()) goto dosparky; - context.data.word(context.bx+3) = 27; + context.ds.word(context.bx+3) = 27; goto finishsparky; notsparky1: - context._cmp(context.data.word(context.bx+3), 48); + context._cmp(context.ds.word(context.bx+3), 48); if (!context.flags.z()) goto dosparky; - context.data.word(context.bx+3) = 27; + context.ds.word(context.bx+3) = 27; goto finishsparky; dosparky: - context._add(context.data.word(context.bx+3), 1); + context._add(context.ds.word(context.bx+3), 1); finishsparky: showgamereel(context); addtopeoplelist(context); - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._and(context.al, 128); if (context.flags.z()) goto nottalkedsparky; - context.data.byte(49) = 1; + context.ds.byte(49) = 1; nottalkedsparky: return; } static void train(Context & context) { return; - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 21); if (!context.flags.c()) goto notrainyet; context._add(context.ax, 1); @@ -2366,13 +2366,13 @@ notrainyet: randomnumber(context); context._cmp(context.al, 253); if (context.flags.c()) goto notrainatall; - context._cmp(context.data.byte(475), 5); + context._cmp(context.ds.byte(475), 5); if (!context.flags.z()) goto notrainatall; - context._cmp(context.data.byte(477), 5); + context._cmp(context.ds.byte(477), 5); if (!context.flags.z()) goto notrainatall; context.ax = 5; gottrainframe: - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; showgamereel(context); notrainatall: return; @@ -2382,45 +2382,45 @@ static void addtopeoplelist(Context & context) { context.push(context.es); context.push(context.bx); context.push(context.bx); - context.cl = context.data.byte(context.bx+7); - context.ax = context.data.word(context.bx+3); - context.bx = context.data.word(18); - context.es = context.data.word(412); - context.data.word(context.bx) = context.ax; + context.cl = context.ds.byte(context.bx+7); + context.ax = context.ds.word(context.bx+3); + context.bx = context.ds.word(18); + context.es = context.ds.word(412); + context.ds.word(context.bx) = context.ax; context.ax = context.pop(); - context.data.word(context.bx+2) = context.ax; - context.data.byte(context.bx+4) = context.cl; + context.ds.word(context.bx+2) = context.ax; + context.ds.byte(context.bx+4) = context.cl; context.bx = context.pop(); context.es = context.pop(); - context._add(context.data.word(18), 5); + context._add(context.ds.word(18), 5); return; } static void showgamereel(Context & context) { - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); context._cmp(context.ax, 512); if (!context.flags.c()) goto noshow; - context.data.word(239) = context.ax; + context.ds.word(239) = context.ax; context.push(context.es); context.push(context.bx); plotreel(context); context.bx = context.pop(); context.es = context.pop(); - context.ax = context.data.word(239); - context.data.word(context.bx+3) = context.ax; + context.ax = context.ds.word(239); + context.ds.word(context.bx+3) = context.ax; noshow: return; } static void checkspeed(Context & context) { - context._cmp(context.data.byte(65), -1); + context._cmp(context.ds.byte(65), -1); if (!context.flags.z()) goto forcenext; - context._add(context.data.byte(context.bx+6), 1); - context.al = context.data.byte(context.bx+6); - context._cmp(context.al, context.data.byte(context.bx+5)); + context._add(context.ds.byte(context.bx+6), 1); + context.al = context.ds.byte(context.bx+6); + context._cmp(context.al, context.ds.byte(context.bx+5)); if (!context.flags.z()) goto notspeed; context.al = 0; - context.data.byte(context.bx+6) = context.al; + context.ds.byte(context.bx+6) = context.al; context._cmp(context.al, context.al); notspeed: return; @@ -2430,7 +2430,7 @@ forcenext: } static void clearsprites(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768; context.al = 255; context.cx = 32*16; @@ -2439,21 +2439,21 @@ static void clearsprites(Context & context) { } static void makesprite(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768; _tmp17: - context._cmp(context.data.byte(context.bx+15), 255); + context._cmp(context.ds.byte(context.bx+15), 255); if (context.flags.z()) goto _tmp17a; context._add(context.bx, 32); goto _tmp17; _tmp17a: - context.data.word(context.bx) = context.cx; - context.data.word(context.bx+10) = context.si; - context.data.word(context.bx+6) = context.dx; - context.data.word(context.bx+8) = context.di; - context.data.word(context.bx+2) = 0x0ffff; - context.data.byte(context.bx+15) = 0; - context.data.byte(context.bx+18) = 0; + context.ds.word(context.bx) = context.cx; + context.ds.word(context.bx+10) = context.si; + context.ds.word(context.bx+6) = context.dx; + context.ds.word(context.bx+8) = context.di; + context.ds.word(context.bx+2) = 0x0ffff; + context.ds.byte(context.bx+15) = 0; + context.ds.byte(context.bx+18) = 0; return; } @@ -2466,30 +2466,30 @@ static void delsprite(Context & context) { } static void spriteupdate(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768; - context.al = context.data.byte(63); - context.data.byte(context.bx+31) = context.al; - context.es = context.data.word(412); + context.al = context.ds.byte(63); + context.ds.byte(context.bx+31) = context.al; + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768; context.cx = 16; _tmp18: context.push(context.cx); context.push(context.bx); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto _tmp18a; context.push(context.es); context.push(context.ds); - context.cx = context.data.word(context.bx+2); - context.data.word(context.bx+24) = context.cx; + context.cx = context.ds.word(context.bx+2); + context.ds.word(context.bx+24) = context.cx; __dispatch_call(context, context.ax); context.ds = context.pop(); context.es = context.pop(); _tmp18a: context.bx = context.pop(); context.cx = context.pop(); - context._cmp(context.data.byte(186), 1); + context._cmp(context.ds.byte(186), 1); if (context.flags.z()) goto _tmp18b; context._add(context.bx, 32); if (--context.cx) goto _tmp18; @@ -2498,23 +2498,23 @@ _tmp18b: } static void printsprites(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.cx = 0; priorityloop: context.push(context.cx); - context.data.byte(182) = context.cl; + context.ds.byte(182) = context.cl; context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768; context.cx = 16; prtspriteloop: context.push(context.cx); context.push(context.bx); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto skipsprite; - context.al = context.data.byte(182); - context._cmp(context.al, context.data.byte(context.bx+23)); + context.al = context.ds.byte(182); + context._cmp(context.al, context.ds.byte(context.bx+23)); if (!context.flags.z()) goto skipsprite; - context._cmp(context.data.byte(context.bx+31), 1); + context._cmp(context.ds.byte(context.bx+31), 1); if (context.flags.z()) goto skipsprite; printasprite(context); skipsprite: @@ -2533,30 +2533,30 @@ static void printasprite(Context & context) { context.push(context.es); context.push(context.bx); context.si = context.bx; - context.ds = context.data.word(context.si+6); - context.al = context.data.byte(context.si+11); + context.ds = context.ds.word(context.si+6); + context.al = context.ds.byte(context.si+11); context.ah = 0; context._cmp(context.al, 220); if (context.flags.c()) goto notnegative1; context.ah = 255; notnegative1: context.bx = context.ax; - context._add(context.bx, context.data.word(119)); - context.al = context.data.byte(context.si+10); + context._add(context.bx, context.ds.word(119)); + context.al = context.ds.byte(context.si+10); context.ah = 0; context._cmp(context.al, 220); if (context.flags.c()) goto notnegative2; context.ah = 255; notnegative2: context.di = context.ax; - context._add(context.di, context.data.word(117)); - context.al = context.data.byte(context.si+15); + context._add(context.di, context.ds.word(117)); + context.al = context.ds.byte(context.si+15); context.ah = 0; - context._cmp(context.data.byte(context.si+30), 0); + context._cmp(context.ds.byte(context.si+30), 0); if (context.flags.z()) goto steadyframe; context.ah = 8; steadyframe: - context._cmp(context.data.byte(182), 6); + context._cmp(context.ds.byte(182), 6); if (!context.flags.z()) goto notquickp; notquickp: showframe(context); @@ -2591,7 +2591,7 @@ static void checkone(Context & context) { context.cx = 3; context._mul(context.cx); context.si = context.ax; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context._add(context.si, 0+(228*13)+32+60+(32*32)); context._lodsw(); context.cx = context.ax; @@ -2601,90 +2601,90 @@ static void checkone(Context & context) { } static void findsource(Context & context) { - context.ax = context.data.word(160); + context.ax = context.ds.word(160); context._cmp(context.ax, 160); if (!context.flags.c()) goto over1000; - context.ds = context.data.word(430); - context.data.word(244) = 0; + context.ds = context.ds.word(430); + context.ds.word(244) = 0; return; over1000: context._cmp(context.ax, 320); if (!context.flags.c()) goto over1001; - context.ds = context.data.word(432); - context.data.word(244) = 160; + context.ds = context.ds.word(432); + context.ds.word(244) = 160; return; over1001: - context.ds = context.data.word(434); - context.data.word(244) = 320; + context.ds = context.ds.word(434); + context.ds.word(244) = 320; return; } static void initman(Context & context) { - context.al = context.data.byte(151); - context.ah = context.data.byte(152); + context.al = context.ds.byte(151); + context.ah = context.ds.byte(152); context.si = context.ax; context.cx = 49464; - context.dx = context.data.word(414); + context.dx = context.ds.word(414); context.di = 0; makesprite(context); - context.data.byte(context.bx+23) = 4; - context.data.byte(context.bx+22) = 0; - context.data.byte(context.bx+29) = 0; + context.ds.byte(context.bx+23) = 4; + context.ds.byte(context.bx+22) = 0; + context.ds.byte(context.bx+29) = 0; return; } static void mainman(Context & context) { - context._cmp(context.data.byte(187), 1); + context._cmp(context.ds.byte(187), 1); if (!context.flags.z()) goto notinnewroom; - context.data.byte(187) = 0; - context.al = context.data.byte(151); - context.ah = context.data.byte(152); - context.data.word(context.bx+10) = context.ax; - context.data.byte(context.bx+29) = 0; + context.ds.byte(187) = 0; + context.al = context.ds.byte(151); + context.ah = context.ds.byte(152); + context.ds.word(context.bx+10) = context.ax; + context.ds.byte(context.bx+29) = 0; goto executewalk; notinnewroom: - context._sub(context.data.byte(context.bx+22), 1); - context._cmp(context.data.byte(context.bx+22), -1); + context._sub(context.ds.byte(context.bx+22), 1); + context._cmp(context.ds.byte(context.bx+22), -1); if (context.flags.z()) goto executewalk; return; executewalk: - context.data.byte(context.bx+22) = 0; - context.al = context.data.byte(135); - context._cmp(context.al, context.data.byte(133)); + context.ds.byte(context.bx+22) = 0; + context.al = context.ds.byte(135); + context._cmp(context.al, context.ds.byte(133)); if (context.flags.z()) goto facingok; aboutturn(context); goto notwalk; facingok: - context._cmp(context.data.byte(136), 0); + context._cmp(context.ds.byte(136), 0); if (context.flags.z()) goto alreadyturned; - context._cmp(context.data.byte(492), 254); + context._cmp(context.ds.byte(492), 254); if (!context.flags.z()) goto alreadyturned; - context.data.byte(473) = 1; - context.al = context.data.byte(133); - context._cmp(context.al, context.data.byte(134)); + context.ds.byte(473) = 1; + context.al = context.ds.byte(133); + context._cmp(context.al, context.ds.byte(134)); if (!context.flags.z()) goto alreadyturned; checkforexit(context); alreadyturned: - context.data.byte(136) = 0; - context._cmp(context.data.byte(492), 254); + context.ds.byte(136) = 0; + context._cmp(context.ds.byte(492), 254); if (!context.flags.z()) goto walkman; - context.data.byte(context.bx+29) = 0; + context.ds.byte(context.bx+29) = 0; goto notwalk; walkman: - context.al = context.data.byte(context.bx+29); + context.al = context.ds.byte(context.bx+29); context._add(context.al, 1); context._cmp(context.al, 11); if (!context.flags.z()) goto notanimend1; context.al = 1; notanimend1: - context.data.byte(context.bx+29) = context.al; + context.ds.byte(context.bx+29) = context.al; walking(context); - context._cmp(context.data.byte(492), 254); + context._cmp(context.ds.byte(492), 254); if (context.flags.z()) goto afterwalk; - context.al = context.data.byte(133); + context.al = context.ds.byte(133); context._and(context.al, 1); if (context.flags.z()) goto isdouble; - context.al = context.data.byte(context.bx+29); + context.al = context.ds.byte(context.bx+29); context._cmp(context.al, 2); if (context.flags.z()) goto afterwalk; context._cmp(context.al, 7); @@ -2692,37 +2692,37 @@ notanimend1: isdouble: walking(context); afterwalk: - context._cmp(context.data.byte(492), 254); + context._cmp(context.ds.byte(492), 254); if (!context.flags.z()) goto notwalk; - context.al = context.data.byte(135); - context._cmp(context.al, context.data.byte(133)); + context.al = context.ds.byte(135); + context._cmp(context.al, context.ds.byte(133)); if (!context.flags.z()) goto notwalk; - context.data.byte(473) = 1; - context.al = context.data.byte(133); - context._cmp(context.al, context.data.byte(134)); + context.ds.byte(473) = 1; + context.al = context.ds.byte(133); + context._cmp(context.al, context.ds.byte(134)); if (!context.flags.z()) goto notwalk; checkforexit(context); notwalk: - context.al = context.data.byte(133); + context.al = context.ds.byte(133); context.ah = 0; context.di = 1105; context._add(context.di, context.ax); - context.al = context.data.byte(context.di); - context._add(context.al, context.data.byte(context.bx+29)); - context.data.byte(context.bx+15) = context.al; - context.ax = context.data.word(context.bx+10); - context.data.byte(151) = context.al; - context.data.byte(152) = context.ah; + context.al = context.ds.byte(context.di); + context._add(context.al, context.ds.byte(context.bx+29)); + context.ds.byte(context.bx+15) = context.al; + context.ax = context.ds.word(context.bx+10); + context.ds.byte(151) = context.al; + context.ds.byte(152) = context.ah; return; } static void aboutturn(Context & context) { - context._cmp(context.data.byte(136), 1); + context._cmp(context.ds.byte(136), 1); if (context.flags.z()) goto incdir; - context._cmp(context.data.byte(136), -1); + context._cmp(context.ds.byte(136), -1); if (context.flags.z()) goto decdir; - context.al = context.data.byte(133); - context._sub(context.al, context.data.byte(135)); + context.al = context.ds.byte(133); + context._sub(context.al, context.ds.byte(135)); if (!context.flags.c()) goto higher; context._neg(context.al); context._cmp(context.al, 4); @@ -2733,37 +2733,37 @@ higher: if (!context.flags.c()) goto incdir; goto decdir; incdir: - context.data.byte(136) = 1; - context.al = context.data.byte(133); + context.ds.byte(136) = 1; + context.al = context.ds.byte(133); context._add(context.al, 1); context._and(context.al, 7); - context.data.byte(133) = context.al; - context.data.byte(context.bx+29) = 0; + context.ds.byte(133) = context.al; + context.ds.byte(context.bx+29) = 0; return; decdir: - context.data.byte(136) = -1; - context.al = context.data.byte(133); + context.ds.byte(136) = -1; + context.al = context.ds.byte(133); context._sub(context.al, 1); context._and(context.al, 7); - context.data.byte(133) = context.al; - context.data.byte(context.bx+29) = 0; + context.ds.byte(133) = context.al; + context.ds.byte(context.bx+29) = 0; return; } static void walking(Context & context) { - context._cmp(context.data.byte(493), 0); + context._cmp(context.ds.byte(493), 0); if (context.flags.z()) goto normalwalk; - context.al = context.data.byte(492); + context.al = context.ds.byte(492); context._sub(context.al, 1); - context.data.byte(492) = context.al; + context.ds.byte(492) = context.al; context._cmp(context.al, 200); if (!context.flags.c()) goto endofline; goto continuewalk; normalwalk: - context.al = context.data.byte(492); + context.al = context.ds.byte(492); context._add(context.al, 1); - context.data.byte(492) = context.al; - context._cmp(context.al, context.data.byte(494)); + context.ds.byte(492) = context.al; + context._cmp(context.al, context.ds.byte(494)); if (!context.flags.c()) goto endofline; continuewalk: context.ah = 0; @@ -2774,20 +2774,20 @@ continuewalk: context.es = context.dx; context.bx = 8344; context._add(context.bx, context.ax); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context.bx = context.pop(); context.es = context.pop(); stillline: - context.data.word(context.bx+10) = context.ax; + context.ds.word(context.bx+10) = context.ax; return; endofline: - context.data.byte(492) = 254; - context.al = context.data.byte(478); - context.data.byte(475) = context.al; - context._cmp(context.al, context.data.byte(477)); + context.ds.byte(492) = 254; + context.al = context.ds.byte(478); + context.ds.byte(475) = context.al; + context._cmp(context.al, context.ds.byte(477)); if (context.flags.z()) goto finishedwalk; - context.al = context.data.byte(477); - context.data.byte(478) = context.al; + context.al = context.ds.byte(477); + context.ds.byte(478) = context.al; context.push(context.es); context.push(context.bx); autosetwalk(context); @@ -2803,42 +2803,42 @@ static void facerightway(Context & context) { context.push(context.es); context.push(context.bx); getroomspaths(context); - context.al = context.data.byte(475); + context.al = context.ds.byte(475); context.ah = 0; context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx+7); - context.data.byte(135) = context.al; - context.data.byte(134) = context.al; + context.al = context.ds.byte(context.bx+7); + context.ds.byte(135) = context.al; + context.ds.byte(134) = context.al; context.bx = context.pop(); context.es = context.pop(); return; } static void checkforexit(Context & context) { - context.cl = context.data.byte(151); + context.cl = context.ds.byte(151); context._add(context.cl, 12); - context.ch = context.data.byte(152); + context.ch = context.ds.byte(152); context._add(context.ch, 12); checkone(context); - context.data.byte(153) = context.cl; - context.data.byte(154) = context.ch; - context.data.byte(155) = context.dl; - context.data.byte(156) = context.dh; - context.al = context.data.byte(153); + context.ds.byte(153) = context.cl; + context.ds.byte(154) = context.ch; + context.ds.byte(155) = context.dl; + context.ds.byte(156) = context.dh; + context.al = context.ds.byte(153); context._test(context.al, 64); if (context.flags.z()) goto notnewdirect; - context.al = context.data.byte(154); - context.data.byte(189) = context.al; + context.al = context.ds.byte(154); + context.ds.byte(189) = context.al; return; notnewdirect: context._test(context.al, 32); if (context.flags.z()) goto notleave; context.push(context.es); context.push(context.bx); - context._cmp(context.data.byte(184), 2); + context._cmp(context.ds.byte(184), 2); if (!context.flags.z()) goto notlouis; context.bl = 0; context.push(context.bx); @@ -2873,17 +2873,17 @@ notravmessage: context.bl = 68; context.bh = 64; setuptimeduse(context); - context.al = context.data.byte(133); + context.al = context.ds.byte(133); context._add(context.al, 4); context._and(context.al, 7); - context.data.byte(135) = context.al; + context.ds.byte(135) = context.al; context.bx = context.pop(); context.es = context.pop(); return; notlouis: context.bx = context.pop(); context.es = context.pop(); - context.data.byte(60) = 1; + context.ds.byte(60) = 1; return; notleave: context._test(context.al, 4); @@ -2912,12 +2912,12 @@ notanup: static void adjustdown(Context & context) { context.push(context.es); context.push(context.bx); - context._add(context.data.byte(149), 10); - context.al = context.data.byte(154); + context._add(context.ds.byte(149), 10); + context.al = context.ds.byte(154); context.cl = 16; context._mul(context.cl); - context.data.byte(context.bx+11) = context.al; - context.data.byte(186) = 1; + context.ds.byte(context.bx+11) = context.al; + context.ds.byte(186) = 1; context.bx = context.pop(); context.es = context.pop(); return; @@ -2926,12 +2926,12 @@ static void adjustdown(Context & context) { static void adjustup(Context & context) { context.push(context.es); context.push(context.bx); - context._sub(context.data.byte(149), 10); - context.al = context.data.byte(154); + context._sub(context.ds.byte(149), 10); + context.al = context.ds.byte(154); context.cl = 16; context._mul(context.cl); - context.data.byte(context.bx+11) = context.al; - context.data.byte(186) = 1; + context.ds.byte(context.bx+11) = context.al; + context.ds.byte(186) = 1; context.bx = context.pop(); context.es = context.pop(); return; @@ -2940,13 +2940,13 @@ static void adjustup(Context & context) { static void adjustleft(Context & context) { context.push(context.es); context.push(context.bx); - context.data.byte(153) = 0; - context._sub(context.data.byte(148), 11); - context.al = context.data.byte(154); + context.ds.byte(153) = 0; + context._sub(context.ds.byte(148), 11); + context.al = context.ds.byte(154); context.cl = 16; context._mul(context.cl); - context.data.byte(context.bx+10) = context.al; - context.data.byte(186) = 1; + context.ds.byte(context.bx+10) = context.al; + context.ds.byte(186) = 1; context.bx = context.pop(); context.es = context.pop(); return; @@ -2955,24 +2955,24 @@ static void adjustleft(Context & context) { static void adjustright(Context & context) { context.push(context.es); context.push(context.bx); - context._add(context.data.byte(148), 11); - context.al = context.data.byte(154); + context._add(context.ds.byte(148), 11); + context.al = context.ds.byte(154); context.cl = 16; context._mul(context.cl); context._sub(context.al, 2); - context.data.byte(context.bx+10) = context.al; - context.data.byte(186) = 1; + context.ds.byte(context.bx+10) = context.al; + context.ds.byte(186) = 1; context.bx = context.pop(); context.es = context.pop(); return; } static void reminders(Context & context) { - context._cmp(context.data.byte(184), 24); + context._cmp(context.ds.byte(184), 24); if (!context.flags.z()) goto notinedenslift; - context._cmp(context.data.byte(148), 44); + context._cmp(context.ds.byte(148), 44); if (!context.flags.z()) goto notinedenslift; - context._cmp(context.data.byte(2), 0); + context._cmp(context.ds.byte(2), 0); if (!context.flags.z()) goto notfirst; context.al = 'D'; context.ah = 'K'; @@ -2987,7 +2987,7 @@ static void reminders(Context & context) { findexobject(context); context._cmp(context.al, 114); if (context.flags.z()) goto forgotone; - context.ax = context.data.word(context.bx+2); + context.ax = context.ds.word(context.bx+2); context._cmp(context.al, 4); if (!context.flags.z()) goto forgotone; context._cmp(context.ah, 255); @@ -3000,7 +3000,7 @@ static void reminders(Context & context) { compare(context); if (!context.flags.z()) goto forgotone; havegotcard: - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); notfirst: return; forgotone: @@ -3016,23 +3016,23 @@ notinedenslift: } static void initrain(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30); context.bx = 1113; checkmorerain: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._cmp(context.al, 255); if (context.flags.z()) goto finishinitrain; - context._cmp(context.al, context.data.byte(184)); + context._cmp(context.al, context.ds.byte(184)); if (!context.flags.z()) goto checkrain; - context.al = context.data.byte(context.bx+1); - context._cmp(context.al, context.data.byte(148)); + context.al = context.ds.byte(context.bx+1); + context._cmp(context.al, context.ds.byte(148)); if (!context.flags.z()) goto checkrain; - context.al = context.data.byte(context.bx+2); - context._cmp(context.al, context.data.byte(149)); + context.al = context.ds.byte(context.bx+2); + context._cmp(context.al, context.ds.byte(149)); if (!context.flags.z()) goto checkrain; - context.al = context.data.byte(context.bx+3); - context.data.byte(132) = context.al; + context.al = context.ds.byte(context.bx+3); + context.ds.byte(132) = context.al; goto dorain; checkrain: context._add(context.bx, 4); @@ -3043,26 +3043,26 @@ initraintop: randomnumber(context); context._and(context.al, 31); context._add(context.al, 3); - context._cmp(context.al, context.data.byte(132)); + context._cmp(context.al, context.ds.byte(132)); if (!context.flags.c()) goto initraintop; context._add(context.cl, context.al); - context._cmp(context.cl, context.data.byte(128)); + context._cmp(context.cl, context.ds.byte(128)); if (!context.flags.c()) goto initrainside; context.push(context.cx); splitintolines(context); context.cx = context.pop(); goto initraintop; initrainside: - context.cl = context.data.byte(128); + context.cl = context.ds.byte(128); context._sub(context.cl, 1); initrainside2: randomnumber(context); context._and(context.al, 31); context._add(context.al, 3); - context._cmp(context.al, context.data.byte(132)); + context._cmp(context.al, context.ds.byte(132)); if (!context.flags.c()) goto initrainside2; context._add(context.ch, context.al); - context._cmp(context.ch, context.data.byte(129)); + context._cmp(context.ch, context.ds.byte(129)); if (!context.flags.c()) goto finishinitrain; context.push(context.cx); splitintolines(context); @@ -3083,11 +3083,11 @@ lookforlinestart: context._add(context.ch, 1); context._cmp(context.cl, 0); if (context.flags.z()) goto endofthisline; - context._cmp(context.ch, context.data.byte(129)); + context._cmp(context.ch, context.ds.byte(129)); if (!context.flags.c()) goto endofthisline; goto lookforlinestart; foundlinestart: - context.data.word(context.di) = context.cx; + context.ds.word(context.di) = context.cx; context.bh = 1; lookforlineend: getblockofpixel(context); @@ -3097,26 +3097,26 @@ lookforlineend: context._add(context.ch, 1); context._cmp(context.cl, 0); if (context.flags.z()) goto foundlineend; - context._cmp(context.ch, context.data.byte(129)); + context._cmp(context.ch, context.ds.byte(129)); if (!context.flags.c()) goto foundlineend; context._add(context.bh, 1); goto lookforlineend; foundlineend: context.push(context.cx); - context.data.byte(context.di+2) = context.bh; + context.ds.byte(context.di+2) = context.bh; randomnumber(context); - context.data.byte(context.di+3) = context.al; + context.ds.byte(context.di+3) = context.al; randomnumber(context); - context.data.byte(context.di+4) = context.al; + context.ds.byte(context.di+4) = context.al; randomnumber(context); context._and(context.al, 3); context._add(context.al, 4); - context.data.byte(context.di+5) = context.al; + context.ds.byte(context.di+5) = context.al; context._add(context.di, 6); context.cx = context.pop(); context._cmp(context.cl, 0); if (context.flags.z()) goto endofthisline; - context._cmp(context.ch, context.data.byte(129)); + context._cmp(context.ch, context.ds.byte(129)); if (!context.flags.c()) goto endofthisline; goto lookforlinestart; endofthisline: @@ -3127,9 +3127,9 @@ static void getblockofpixel(Context & context) { context.push(context.cx); context.push(context.es); context.push(context.di); - context.ax = context.data.word(125); + context.ax = context.ds.word(125); context._add(context.cl, context.al); - context.ax = context.data.word(127); + context.ax = context.ds.word(127); context._add(context.ch, context.al); checkone(context); context._and(context.cl, 1); @@ -3147,43 +3147,43 @@ failrain: } static void showrain(Context & context) { - context.ds = context.data.word(414); + context.ds = context.ds.word(414); context.si = 6*58; - context.ax = context.data.word(context.si+2); + context.ax = context.ds.word(context.si+2); context.si = context.ax; context._add(context.si, 2080); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30); - context.es = context.data.word(412); - context._cmp(context.data.byte(context.bx), 255); + context.es = context.ds.word(412); + context._cmp(context.ds.byte(context.bx), 255); if (context.flags.z()) goto nothunder; morerain: - context.es = context.data.word(412); - context._cmp(context.data.byte(context.bx), 255); + context.es = context.ds.word(412); + context._cmp(context.ds.byte(context.bx), 255); if (context.flags.z()) goto finishrain; - context.al = context.data.byte(context.bx+1); + context.al = context.ds.byte(context.bx+1); context.ah = 0; - context._add(context.ax, context.data.word(119)); - context._add(context.ax, context.data.word(127)); + context._add(context.ax, context.ds.word(119)); + context._add(context.ax, context.ds.word(127)); context.cx = 320; context._mul(context.cx); - context.cl = context.data.byte(context.bx); + context.cl = context.ds.byte(context.bx); context.ch = 0; context._add(context.ax, context.cx); - context._add(context.ax, context.data.word(117)); - context._add(context.ax, context.data.word(125)); + context._add(context.ax, context.ds.word(117)); + context._add(context.ax, context.ds.word(125)); context.di = context.ax; - context.cl = context.data.byte(context.bx+2); + context.cl = context.ds.byte(context.bx+2); context.ch = 0; - context.ax = context.data.word(context.bx+3); - context.dl = context.data.byte(context.bx+5); + context.ax = context.ds.word(context.bx+3); + context.dl = context.ds.byte(context.bx+5); context.dh = 0; context._sub(context.ax, context.dx); context._and(context.ax, 511); - context.data.word(context.bx+3) = context.ax; + context.ds.word(context.bx+3) = context.ax; context._add(context.bx, 6); context.push(context.si); context._add(context.si, context.ax); - context.es = context.data.word(400); + context.es = context.ds.word(400); context.ah = 0; context.dx = 320-2; rainloop: @@ -3201,20 +3201,20 @@ noplot: context.si = context.pop(); goto morerain; finishrain: - context._cmp(context.data.word(521), 0); + context._cmp(context.ds.word(521), 0); if (!context.flags.z()) goto nothunder; - context._cmp(context.data.byte(184), 2); + context._cmp(context.ds.byte(184), 2); if (!context.flags.z()) goto notlouisthund; - context._cmp(context.data.byte(45), 1); + context._cmp(context.ds.byte(45), 1); if (!context.flags.z()) goto nothunder; notlouisthund: - context._cmp(context.data.byte(184), 55); + context._cmp(context.ds.byte(184), 55); if (context.flags.z()) goto nothunder; randomnum1(context); context._cmp(context.al, 1); if (!context.flags.c()) goto nothunder; context.al = 7; - context._cmp(context.data.byte(507), 6); + context._cmp(context.ds.byte(507), 6); if (context.flags.z()) goto isthunder1; context.al = 4; isthunder1: @@ -3224,18 +3224,18 @@ nothunder: } static void backobject(Context & context) { - context.ds = context.data.word(428); - context.di = context.data.word(context.bx+20); - context.al = context.data.byte(context.bx+18); + context.ds = context.ds.word(428); + context.di = context.ds.word(context.bx+20); + context.al = context.ds.byte(context.bx+18); context._cmp(context.al, 0); if (context.flags.z()) goto _tmp48z; context._sub(context.al, 1); - context.data.byte(context.bx+18) = context.al; + context.ds.byte(context.bx+18) = context.al; goto finishback; _tmp48z: - context.al = context.data.byte(context.di+7); - context.data.byte(context.bx+18) = context.al; - context.al = context.data.byte(context.di+8); + context.al = context.ds.byte(context.di+7); + context.ds.byte(context.bx+18) = context.al; + context.al = context.ds.byte(context.di+8); context._cmp(context.al, 6); if (!context.flags.z()) goto notwidedoor; widedoor(context); @@ -3272,14 +3272,14 @@ finishback: } static void liftsprite(Context & context) { - context.al = context.data.byte(35); + context.al = context.ds.byte(35); context._cmp(context.al, 0); if (context.flags.z()) goto liftclosed; context._cmp(context.al, 1); if (context.flags.z()) goto liftopen; context._cmp(context.al, 3); if (context.flags.z()) goto openlift; - context.al = context.data.byte(context.bx+19); + context.al = context.ds.byte(context.bx+19); context._cmp(context.al, 0); if (context.flags.z()) goto finishclose; context._sub(context.al, 1); @@ -3291,10 +3291,10 @@ static void liftsprite(Context & context) { context.ax = context.pop(); goto pokelift; finishclose: - context.data.byte(35) = 0; + context.ds.byte(35) = 0; return; openlift: - context.al = context.data.byte(context.bx+19); + context.al = context.ds.byte(context.bx+19); context._cmp(context.al, 12); if (context.flags.z()) goto endoflist; context._add(context.al, 1); @@ -3305,56 +3305,56 @@ openlift: liftnoise(context); context.ax = context.pop(); pokelift: - context.data.byte(context.bx+19) = context.al; + context.ds.byte(context.bx+19) = context.al; context.ah = 0; context.push(context.di); context._add(context.di, context.ax); - context.al = context.data.byte(context.di+18); + context.al = context.ds.byte(context.di+18); context.di = context.pop(); - context.data.byte(context.bx+15) = context.al; - context.data.byte(context.di+17) = context.al; + context.ds.byte(context.bx+15) = context.al; + context.ds.byte(context.di+17) = context.al; return; endoflist: - context.data.byte(35) = 1; + context.ds.byte(35) = 1; return; liftopen: - context.al = context.data.byte(36); + context.al = context.ds.byte(36); context.push(context.es); context.push(context.bx); turnpathon(context); context.bx = context.pop(); context.es = context.pop(); - context._cmp(context.data.byte(40), 0); + context._cmp(context.ds.byte(40), 0); if (context.flags.z()) goto nocountclose; - context._sub(context.data.byte(40), 1); - context._cmp(context.data.byte(40), 0); + context._sub(context.ds.byte(40), 1); + context._cmp(context.ds.byte(40), 0); if (!context.flags.z()) goto nocountclose; - context.data.byte(35) = 2; + context.ds.byte(35) = 2; nocountclose: context.al = 12; goto pokelift; liftclosed: - context.al = context.data.byte(36); + context.al = context.ds.byte(36); context.push(context.es); context.push(context.bx); turnpathoff(context); context.bx = context.pop(); context.es = context.pop(); - context._cmp(context.data.byte(39), 0); + context._cmp(context.ds.byte(39), 0); if (context.flags.z()) goto nocountopen; - context._sub(context.data.byte(39), 1); - context._cmp(context.data.byte(39), 0); + context._sub(context.ds.byte(39), 1); + context._cmp(context.ds.byte(39), 0); if (!context.flags.z()) goto nocountopen; - context.data.byte(35) = 3; + context.ds.byte(35) = 3; nocountopen: context.al = 0; goto pokelift; } static void liftnoise(Context & context) { - context._cmp(context.data.byte(184), 5); + context._cmp(context.ds.byte(184), 5); if (context.flags.z()) goto hissnoise; - context._cmp(context.data.byte(184), 21); + context._cmp(context.ds.byte(184), 21); if (context.flags.z()) goto hissnoise; playchannel1(context); return; @@ -3370,84 +3370,84 @@ static void random(Context & context) { context._and(context.ax, 7); context._add(context.di, 18); context._add(context.di, context.ax); - context.al = context.data.byte(context.di); + context.al = context.ds.byte(context.di); context.di = context.pop(); - context.data.byte(context.bx+15) = context.al; + context.ds.byte(context.bx+15) = context.al; return; } static void steady(Context & context) { - context.al = context.data.byte(context.di+18); - context.data.byte(context.di+17) = context.al; - context.data.byte(context.bx+15) = context.al; + context.al = context.ds.byte(context.di+18); + context.ds.byte(context.di+17) = context.al; + context.ds.byte(context.bx+15) = context.al; return; } static void constant(Context & context) { - context._add(context.data.byte(context.bx+19), 1); - context.cl = context.data.byte(context.bx+19); + context._add(context.ds.byte(context.bx+19), 1); + context.cl = context.ds.byte(context.bx+19); context.ch = 0; context._add(context.di, context.cx); - context._cmp(context.data.byte(context.di+18), 255); + context._cmp(context.ds.byte(context.di+18), 255); if (!context.flags.z()) goto gotconst; context._sub(context.di, context.cx); context.cx = 0; - context.data.byte(context.bx+19) = context.cl; + context.ds.byte(context.bx+19) = context.cl; gotconst: - context.al = context.data.byte(context.di+18); + context.al = context.ds.byte(context.di+18); context._sub(context.di, context.cx); - context.data.byte(context.bx+15) = context.al; - context.data.byte(context.di+17) = context.al; + context.ds.byte(context.bx+15) = context.al; + context.ds.byte(context.di+17) = context.al; return; } static void doorway(Context & context) { - context.data.byte(193) = -24; - context.data.byte(194) = 10; - context.data.byte(195) = -30; - context.data.byte(196) = 10; + context.ds.byte(193) = -24; + context.ds.byte(194) = 10; + context.ds.byte(195) = -30; + context.ds.byte(196) = 10; dodoor(context); return; } static void widedoor(Context & context) { - context.data.byte(193) = -24; - context.data.byte(194) = 24; - context.data.byte(195) = -30; - context.data.byte(196) = 24; + context.ds.byte(193) = -24; + context.ds.byte(194) = 24; + context.ds.byte(195) = -30; + context.ds.byte(196) = 24; dodoor(context); return; } static void dodoor(Context & context) { - context.al = context.data.byte(151); - context.ah = context.data.byte(152); - context.cl = context.data.byte(context.bx+10); - context.ch = context.data.byte(context.bx+11); + context.al = context.ds.byte(151); + context.ah = context.ds.byte(152); + context.cl = context.ds.byte(context.bx+10); + context.ch = context.ds.byte(context.bx+11); context._cmp(context.al, context.cl); if (!context.flags.c()) goto rtofdoor; context._sub(context.al, context.cl); - context._cmp(context.al, context.data.byte(193)); + context._cmp(context.al, context.ds.byte(193)); if (!context.flags.c()) goto upordown; goto shutdoor; rtofdoor: context._sub(context.al, context.cl); - context._cmp(context.al, context.data.byte(194)); + context._cmp(context.al, context.ds.byte(194)); if (!context.flags.c()) goto shutdoor; upordown: context._cmp(context.ah, context.ch); if (!context.flags.c()) goto botofdoor; context._sub(context.ah, context.ch); - context._cmp(context.ah, context.data.byte(195)); + context._cmp(context.ah, context.ds.byte(195)); if (context.flags.c()) goto shutdoor; goto opendoor; botofdoor: context._sub(context.ah, context.ch); - context._cmp(context.ah, context.data.byte(196)); + context._cmp(context.ah, context.ds.byte(196)); if (!context.flags.c()) goto shutdoor; opendoor: - context.cl = context.data.byte(context.bx+19); - context._cmp(context.data.byte(61), 1); + context.cl = context.ds.byte(context.bx+19); + context._cmp(context.ds.byte(61), 1); if (!context.flags.z()) goto notthrough; context._cmp(context.cl, 0); if (!context.flags.z()) goto notthrough; @@ -3457,7 +3457,7 @@ notthrough: context._cmp(context.cl, 1); if (!context.flags.z()) goto notdoorsound2; context.al = 0; - context._cmp(context.data.byte(184), 5); + context._cmp(context.ds.byte(184), 5); if (!context.flags.z()) goto nothoteldoor2; context.al = 13; nothoteldoor2: @@ -3466,25 +3466,25 @@ notdoorsound2: context.ch = 0; context.push(context.di); context._add(context.di, context.cx); - context.al = context.data.byte(context.di+18); + context.al = context.ds.byte(context.di+18); context._cmp(context.al, 255); if (!context.flags.z()) goto atlast1; context._sub(context.di, 1); context._sub(context.cl, 1); atlast1: - context.data.byte(context.bx+19) = context.cl; - context.al = context.data.byte(context.di+18); + context.ds.byte(context.bx+19) = context.cl; + context.al = context.ds.byte(context.di+18); context.di = context.pop(); - context.data.byte(context.bx+15) = context.al; - context.data.byte(context.di+17) = context.al; - context.data.byte(61) = 1; + context.ds.byte(context.bx+15) = context.al; + context.ds.byte(context.di+17) = context.al; + context.ds.byte(61) = 1; return; shutdoor: - context.cl = context.data.byte(context.bx+19); + context.cl = context.ds.byte(context.bx+19); context._cmp(context.cl, 5); if (!context.flags.z()) goto notdoorsound1; context.al = 1; - context._cmp(context.data.byte(184), 5); + context._cmp(context.ds.byte(184), 5); if (!context.flags.z()) goto nothoteldoor1; context.al = 13; nothoteldoor1: @@ -3493,27 +3493,27 @@ notdoorsound1: context._cmp(context.cl, 0); if (context.flags.z()) goto atlast2; context._sub(context.cl, 1); - context.data.byte(context.bx+19) = context.cl; + context.ds.byte(context.bx+19) = context.cl; atlast2: context.ch = 0; context.push(context.di); context._add(context.di, context.cx); - context.al = context.data.byte(context.di+18); + context.al = context.ds.byte(context.di+18); context.di = context.pop(); - context.data.byte(context.bx+15) = context.al; - context.data.byte(context.di+17) = context.al; + context.ds.byte(context.bx+15) = context.al; + context.ds.byte(context.di+17) = context.al; context._cmp(context.cl, 5); if (!context.flags.z()) goto notnearly; - context.data.byte(61) = 0; + context.ds.byte(61) = 0; notnearly: return; } static void lockeddoorway(Context & context) { - context.al = context.data.byte(151); - context.ah = context.data.byte(152); - context.cl = context.data.byte(context.bx+10); - context.ch = context.data.byte(context.bx+11); + context.al = context.ds.byte(151); + context.ah = context.ds.byte(152); + context.cl = context.ds.byte(context.bx+10); + context.ch = context.ds.byte(context.bx+11); context._cmp(context.al, context.cl); if (!context.flags.c()) goto rtofdoor2; context._sub(context.al, context.cl); @@ -3536,12 +3536,12 @@ botofdoor2: context._cmp(context.ah, 12); if (!context.flags.c()) goto shutdoor2; opendoor2: - context._cmp(context.data.byte(61), 1); + context._cmp(context.ds.byte(61), 1); if (context.flags.z()) goto mustbeopen; - context._cmp(context.data.byte(37), 1); + context._cmp(context.ds.byte(37), 1); if (context.flags.z()) goto shutdoor; mustbeopen: - context.cl = context.data.byte(context.bx+19); + context.cl = context.ds.byte(context.bx+19); context._cmp(context.cl, 1); if (!context.flags.z()) goto notdoorsound4; context.al = 0; @@ -3549,15 +3549,15 @@ mustbeopen: notdoorsound4: context._cmp(context.cl, 6); if (!context.flags.z()) goto noturnonyet; - context.al = context.data.byte(38); + context.al = context.ds.byte(38); context.push(context.es); context.push(context.bx); turnpathon(context); context.bx = context.pop(); context.es = context.pop(); noturnonyet: - context.cl = context.data.byte(context.bx+19); - context._cmp(context.data.byte(61), 1); + context.cl = context.ds.byte(context.bx+19); + context._cmp(context.ds.byte(61), 1); if (!context.flags.z()) goto notthrough2; context._cmp(context.cl, 0); if (!context.flags.z()) goto notthrough2; @@ -3567,24 +3567,24 @@ notthrough2: context.ch = 0; context.push(context.di); context._add(context.di, context.cx); - context.al = context.data.byte(context.di+18); + context.al = context.ds.byte(context.di+18); context._cmp(context.al, 255); if (!context.flags.z()) goto atlast3; context._sub(context.di, 1); context._sub(context.cl, 1); atlast3: - context.data.byte(context.bx+19) = context.cl; - context.al = context.data.byte(context.di+18); + context.ds.byte(context.bx+19) = context.cl; + context.al = context.ds.byte(context.di+18); context.di = context.pop(); - context.data.byte(context.bx+15) = context.al; - context.data.byte(context.di+17) = context.al; + context.ds.byte(context.bx+15) = context.al; + context.ds.byte(context.di+17) = context.al; context._cmp(context.cl, 5); if (!context.flags.z()) goto justshutting; - context.data.byte(61) = 1; + context.ds.byte(61) = 1; justshutting: return; shutdoor2: - context.cl = context.data.byte(context.bx+19); + context.cl = context.ds.byte(context.bx+19); context._cmp(context.cl, 5); if (!context.flags.z()) goto notdoorsound3; context.al = 1; @@ -3593,34 +3593,34 @@ notdoorsound3: context._cmp(context.cl, 0); if (context.flags.z()) goto atlast4; context._sub(context.cl, 1); - context.data.byte(context.bx+19) = context.cl; + context.ds.byte(context.bx+19) = context.cl; atlast4: context.ch = 0; - context.data.byte(61) = 0; + context.ds.byte(61) = 0; context.push(context.di); context._add(context.di, context.cx); - context.al = context.data.byte(context.di+18); + context.al = context.ds.byte(context.di+18); context.di = context.pop(); - context.data.byte(context.bx+15) = context.al; - context.data.byte(context.di+17) = context.al; + context.ds.byte(context.bx+15) = context.al; + context.ds.byte(context.di+17) = context.al; context._cmp(context.cl, 0); if (!context.flags.z()) goto notlocky; - context.al = context.data.byte(38); + context.al = context.ds.byte(38); context.push(context.es); context.push(context.bx); turnpathoff(context); context.bx = context.pop(); context.es = context.pop(); - context.data.byte(37) = 1; + context.ds.byte(37) = 1; notlocky: return; /*continuing to unbounded code: shutdoor from dodoor:60-87*/ shutdoor: - context.cl = context.data.byte(context.bx+19); + context.cl = context.ds.byte(context.bx+19); context._cmp(context.cl, 5); if (!context.flags.z()) goto notdoorsound1; context.al = 1; - context._cmp(context.data.byte(184), 5); + context._cmp(context.ds.byte(184), 5); if (!context.flags.z()) goto nothoteldoor1; context.al = 13; nothoteldoor1: @@ -3629,47 +3629,47 @@ notdoorsound1: context._cmp(context.cl, 0); if (context.flags.z()) goto atlast2; context._sub(context.cl, 1); - context.data.byte(context.bx+19) = context.cl; + context.ds.byte(context.bx+19) = context.cl; atlast2: context.ch = 0; context.push(context.di); context._add(context.di, context.cx); - context.al = context.data.byte(context.di+18); + context.al = context.ds.byte(context.di+18); context.di = context.pop(); - context.data.byte(context.bx+15) = context.al; - context.data.byte(context.di+17) = context.al; + context.ds.byte(context.bx+15) = context.al; + context.ds.byte(context.di+17) = context.al; context._cmp(context.cl, 5); if (!context.flags.z()) goto notnearly; - context.data.byte(61) = 0; + context.ds.byte(61) = 0; notnearly: return; return; } static void updatepeople(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5); - context.data.word(18) = context.di; + context.ds.word(18) = context.di; context.cx = 12*5; context.al = 255; while(--context.cx) context._stosb(); - context._add(context.data.word(138), 1); + context._add(context.ds.word(138), 1); context.es = context.cs; context.bx = 537; context.di = 1003; updateloop: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._cmp(context.al, 255); if (context.flags.z()) goto endupdate; - context._cmp(context.al, context.data.byte(184)); + context._cmp(context.al, context.ds.byte(184)); if (!context.flags.z()) goto notinthisroom; - context.cx = context.data.word(context.bx+1); - context._cmp(context.cl, context.data.byte(148)); + context.cx = context.ds.word(context.bx+1); + context._cmp(context.cl, context.ds.byte(148)); if (!context.flags.z()) goto notinthisroom; - context._cmp(context.ch, context.data.byte(149)); + context._cmp(context.ch, context.ds.byte(149)); if (!context.flags.z()) goto notinthisroom; context.push(context.di); - context.ax = context.data.word(context.di); + context.ax = context.ds.word(context.di); __dispatch_call(context, context.ax); context.di = context.pop(); notinthisroom: @@ -3682,12 +3682,12 @@ endupdate: static void getreelframeax(Context & context) { context.push(context.ds); - context.data.word(160) = context.ax; + context.ds.word(160) = context.ax; findsource(context); context.es = context.ds; context.ds = context.pop(); - context.ax = context.data.word(160); - context._sub(context.ax, context.data.word(244)); + context.ax = context.ds.word(160); + context._sub(context.ax, context.ds.word(244)); context._add(context.ax, context.ax); context.cx = context.ax; context._add(context.ax, context.ax); @@ -3710,13 +3710,13 @@ static void plotreel(Context & context) { retryreel: context.push(context.es); context.push(context.si); - context.ax = context.data.word(context.si+2); + context.ax = context.ds.word(context.si+2); context._cmp(context.al, 220); if (context.flags.c()) goto normalreel; context._cmp(context.al, 255); if (context.flags.z()) goto normalreel; dealwithspecial(context); - context._add(context.data.word(239), 1); + context._add(context.ds.word(239), 1); context.si = context.pop(); context.es = context.pop(); context._add(context.si, 40); @@ -3727,7 +3727,7 @@ plotloop: context.push(context.cx); context.push(context.es); context.push(context.si); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto notplot; showreelframe(context); @@ -3744,22 +3744,22 @@ notplot: } static void soundonreels(Context & context) { - context.bl = context.data.byte(184); + context.bl = context.ds.byte(184); context._add(context.bl, context.bl); context._xor(context.bh, context.bh); context._add(context.bx, 1254); - context.si = context.data.word(context.bx); + context.si = context.ds.word(context.bx); reelsoundloop: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._cmp(context.al, 255); if (context.flags.z()) goto endreelsound; - context.ax = context.data.word(context.si+1); - context._cmp(context.ax, context.data.word(239)); + context.ax = context.ds.word(context.si+1); + context._cmp(context.ax, context.ds.word(239)); if (!context.flags.z()) goto skipreelsound; - context._cmp(context.ax, context.data.word(351)); + context._cmp(context.ax, context.ds.word(351)); if (context.flags.z()) goto skipreelsound; - context.data.word(351) = context.ax; - context.al = context.data.byte(context.si); + context.ds.word(351) = context.ax; + context.al = context.ds.byte(context.si); context._cmp(context.al, 64); if (context.flags.c()) { playchannel1(context); return; }; context._cmp(context.al, 128); @@ -3775,26 +3775,26 @@ skipreelsound: context._add(context.si, 3); goto reelsoundloop; endreelsound: - context.ax = context.data.word(351); - context._cmp(context.ax, context.data.word(239)); + context.ax = context.ds.word(351); + context._cmp(context.ax, context.ds.word(239)); if (context.flags.z()) goto nochange2; - context.data.word(351) = -1; + context.ds.word(351) = -1; nochange2: return; } static void reconstruct(Context & context) { - context._cmp(context.data.byte(130), 0); + context._cmp(context.ds.byte(130), 0); if (context.flags.z()) goto noneedtorecon; - context.data.byte(62) = 1; + context.ds.byte(62) = 1; drawfloor(context); spriteupdate(context); printsprites(context); - context._cmp(context.data.byte(184), 20); + context._cmp(context.ds.byte(184), 20); if (!context.flags.z()) goto notfudge; undertextline(context); notfudge: - context.data.byte(130) = 0; + context.ds.byte(130) = 0; noneedtorecon: return; } @@ -3805,28 +3805,28 @@ static void dealwithspecial(Context & context) { if (!context.flags.z()) goto notplset; context.al = context.ah; placesetobject(context); - context.data.byte(130) = 1; + context.ds.byte(130) = 1; return; notplset: context._cmp(context.al, 1); if (!context.flags.z()) goto notremset; context.al = context.ah; removesetobject(context); - context.data.byte(130) = 1; + context.ds.byte(130) = 1; return; notremset: context._cmp(context.al, 2); if (!context.flags.z()) goto notplfree; context.al = context.ah; placefreeobject(context); - context.data.byte(130) = 1; + context.ds.byte(130) = 1; return; notplfree: context._cmp(context.al, 3); if (!context.flags.z()) goto notremfree; context.al = context.ah; removefreeobject(context); - context.data.byte(130) = 1; + context.ds.byte(130) = 1; return; notremfree: context._cmp(context.al, 4); @@ -3836,14 +3836,14 @@ notremfree: notryanoff: context._cmp(context.al, 5); if (!context.flags.z()) goto notryanon; - context.data.byte(135) = context.ah; - context.data.byte(133) = context.ah; + context.ds.byte(135) = context.ah; + context.ds.byte(133) = context.ah; switchryanon(context); return; notryanon: context._cmp(context.al, 6); if (!context.flags.z()) goto notchangeloc; - context.data.byte(188) = context.ah; + context.ds.byte(188) = context.ah; return; notchangeloc: movemap(context); @@ -3853,87 +3853,87 @@ notchangeloc: static void movemap(Context & context) { context._cmp(context.ah, 32); if (!context.flags.z()) goto notmapup2; - context._sub(context.data.byte(149), 20); - context.data.byte(186) = 1; + context._sub(context.ds.byte(149), 20); + context.ds.byte(186) = 1; return; notmapup2: context._cmp(context.ah, 16); if (!context.flags.z()) goto notmapupspec; - context._sub(context.data.byte(149), 10); - context.data.byte(186) = 1; + context._sub(context.ds.byte(149), 10); + context.ds.byte(186) = 1; return; notmapupspec: context._cmp(context.ah, 8); if (!context.flags.z()) goto notmapdownspec; - context._add(context.data.byte(149), 10); - context.data.byte(186) = 1; + context._add(context.ds.byte(149), 10); + context.ds.byte(186) = 1; return; notmapdownspec: context._cmp(context.ah, 2); if (!context.flags.z()) goto notmaprightspec; - context._add(context.data.byte(148), 11); - context.data.byte(186) = 1; + context._add(context.ds.byte(148), 11); + context.ds.byte(186) = 1; return; notmaprightspec: - context._sub(context.data.byte(148), 11); - context.data.byte(186) = 1; + context._sub(context.ds.byte(148), 11); + context.ds.byte(186) = 1; return; } static void getreelstart(Context & context) { - context.ax = context.data.word(239); + context.ax = context.ds.word(239); context.cx = 40; context._mul(context.cx); - context.es = context.data.word(450); + context.es = context.ds.word(450); context.si = context.ax; context._add(context.si, 0+(36*144)); return; } static void showreelframe(Context & context) { - context.al = context.data.byte(context.si+2); + context.al = context.ds.byte(context.si+2); context.ah = 0; context.di = context.ax; - context._add(context.di, context.data.word(117)); - context.al = context.data.byte(context.si+3); + context._add(context.di, context.ds.word(117)); + context.al = context.ds.byte(context.si+3); context.bx = context.ax; - context._add(context.bx, context.data.word(119)); - context.ax = context.data.word(context.si); - context.data.word(160) = context.ax; + context._add(context.bx, context.ds.word(119)); + context.ax = context.ds.word(context.si); + context.ds.word(160) = context.ax; findsource(context); - context.ax = context.data.word(160); - context._sub(context.ax, context.data.word(244)); + context.ax = context.ds.word(160); + context._sub(context.ax, context.ds.word(244)); context.ah = 8; showframe(context); return; } static void deleverything(Context & context) { - context.al = context.data.byte(129); + context.al = context.ds.byte(129); context.ah = 0; - context._add(context.ax, context.data.word(123)); + context._add(context.ax, context.ds.word(123)); context._cmp(context.ax, 182); if (!context.flags.c()) goto bigroom; maptopanel(context); return; bigroom: - context._sub(context.data.byte(129), 8); + context._sub(context.ds.byte(129), 8); maptopanel(context); - context._add(context.data.byte(129), 8); + context._add(context.ds.byte(129), 8); return; } static void dumpeverything(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40); dumpevery1: - context.ax = context.data.word(context.bx); - context.cx = context.data.word(context.bx+2); + context.ax = context.ds.word(context.bx); + context.cx = context.ds.word(context.bx+2); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto finishevery1; - context._cmp(context.ax, context.data.word(context.bx+(40*5))); + context._cmp(context.ax, context.ds.word(context.bx+(40*5))); if (!context.flags.z()) goto notskip1; - context._cmp(context.cx, context.data.word(context.bx+(40*5)+2)); + context._cmp(context.cx, context.ds.word(context.bx+(40*5)+2)); if (context.flags.z()) goto skip1; notskip1: context.push(context.bx); @@ -3943,8 +3943,8 @@ notskip1: context.bh = 0; context.ah = 0; context.di = context.ax; - context._add(context.di, context.data.word(117)); - context._add(context.bx, context.data.word(119)); + context._add(context.di, context.ds.word(117)); + context._add(context.bx, context.ds.word(119)); multidump(context); context.ds = context.pop(); context.es = context.pop(); @@ -3955,8 +3955,8 @@ skip1: finishevery1: context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(40*5); dumpevery2: - context.ax = context.data.word(context.bx); - context.cx = context.data.word(context.bx+2); + context.ax = context.ds.word(context.bx); + context.cx = context.ds.word(context.bx+2); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto finishevery2; context.push(context.bx); @@ -3966,8 +3966,8 @@ dumpevery2: context.bh = 0; context.ah = 0; context.di = context.ax; - context._add(context.di, context.data.word(117)); - context._add(context.bx, context.data.word(119)); + context._add(context.di, context.ds.word(117)); + context._add(context.bx, context.ds.word(119)); multidump(context); context.ds = context.pop(); context.es = context.pop(); @@ -3981,7 +3981,7 @@ finishevery2: static void allocatework(Context & context) { context.bx = 0x1000; allocatemem(context); - context.data.word(400) = context.ax; + context.ds.word(400) = context.ax; return; } @@ -4009,20 +4009,20 @@ static void loadpalfromiff(Context & context) { context.dx = 2494; openfile(context); context.cx = 2000; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.dx = 0; readfromfile(context); closefile(context); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0x30; context.cx = 768; palloop: context._lodsb(); context._shr(context.al, 1); context._shr(context.al, 1); - context._cmp(context.data.byte(73), 1); + context._cmp(context.ds.byte(73), 1); if (!context.flags.z()) goto nought; context._cmp(context.al, 0); if (context.flags.z()) goto nought; @@ -4053,7 +4053,7 @@ static void cls(Context & context) { static void printundermon(Context & context) { context.si = (320*43)+76; context.di = context.si; - context.es = context.data.word(400); + context.es = context.ds.word(400); context._add(context.si, 8*320); context.dx = 0x0a000; context.ds = context.dx; @@ -4089,7 +4089,7 @@ static void worktoscreen(Context & context) { context.si = 0; context.di = 0; context.cx = 25; - context.ds = context.data.word(400); + context.ds = context.ds.word(400); context.dx = 0x0a000; context.es = context.dx; dumpallloop: @@ -4106,54 +4106,54 @@ dumpallloop: } static void paneltomap(Context & context) { - context.di = context.data.word(125); - context._add(context.di, context.data.word(117)); - context.bx = context.data.word(127); - context._add(context.bx, context.data.word(119)); - context.ds = context.data.word(402); + context.di = context.ds.word(125); + context._add(context.di, context.ds.word(117)); + context.bx = context.ds.word(127); + context._add(context.bx, context.ds.word(119)); + context.ds = context.ds.word(402); context.si = 0; - context.cl = context.data.byte(128); - context.ch = context.data.byte(129); + context.cl = context.ds.byte(128); + context.ch = context.ds.byte(129); multiget(context); return; } static void maptopanel(Context & context) { - context.di = context.data.word(125); - context._add(context.di, context.data.word(117)); - context.bx = context.data.word(127); - context._add(context.bx, context.data.word(119)); - context.ds = context.data.word(402); + context.di = context.ds.word(125); + context._add(context.di, context.ds.word(117)); + context.bx = context.ds.word(127); + context._add(context.bx, context.ds.word(119)); + context.ds = context.ds.word(402); context.si = 0; - context.cl = context.data.byte(128); - context.ch = context.data.byte(129); + context.cl = context.ds.byte(128); + context.ch = context.ds.byte(129); multiput(context); return; } static void dumpmap(Context & context) { - context.di = context.data.word(125); - context._add(context.di, context.data.word(117)); - context.bx = context.data.word(127); - context._add(context.bx, context.data.word(119)); - context.cl = context.data.byte(128); - context.ch = context.data.byte(129); + context.di = context.ds.word(125); + context._add(context.di, context.ds.word(117)); + context.bx = context.ds.word(127); + context._add(context.bx, context.ds.word(119)); + context.cl = context.ds.byte(128); + context.ch = context.ds.byte(129); multidump(context); return; } static void pixelcheckset(Context & context) { context.push(context.ax); - context._sub(context.al, context.data.byte(context.bx)); - context._sub(context.ah, context.data.byte(context.bx+1)); + context._sub(context.al, context.ds.byte(context.bx)); + context._sub(context.ah, context.ds.byte(context.bx+1)); context.push(context.es); context.push(context.bx); context.push(context.cx); context.push(context.ax); - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); getsetad(context); - context.al = context.data.byte(context.bx+17); - context.es = context.data.word(444); + context.al = context.ds.byte(context.bx+17); + context.es = context.ds.word(444); context.bx = 0; context.ah = 0; context.cx = 6; @@ -4163,16 +4163,16 @@ static void pixelcheckset(Context & context) { context.push(context.ax); context.al = context.ah; context.ah = 0; - context.cl = context.data.byte(context.bx); + context.cl = context.ds.byte(context.bx); context.ch = 0; context._mul(context.cx); context.cx = context.pop(); context.ch = 0; context._add(context.ax, context.cx); - context._add(context.ax, context.data.word(context.bx+2)); + context._add(context.ax, context.ds.word(context.bx+2)); context.bx = context.ax; context._add(context.bx, 0+2080); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.dl = context.al; context.cx = context.pop(); context.bx = context.pop(); @@ -4185,25 +4185,25 @@ static void pixelcheckset(Context & context) { static void createpanel(Context & context) { context.di = 0; context.bx = 8; - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.al = 0; context.ah = 2; showframe(context); context.di = 160; context.bx = 8; - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.al = 0; context.ah = 2; showframe(context); context.di = 0; context.bx = 104; - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.al = 0; context.ah = 2; showframe(context); context.di = 160; context.bx = 104; - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.al = 0; context.ah = 2; showframe(context); @@ -4214,13 +4214,13 @@ static void createpanel2(Context & context) { createpanel(context); context.di = 0; context.bx = 0; - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.al = 5; context.ah = 2; showframe(context); context.di = 160; context.bx = 0; - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.al = 5; context.ah = 2; showframe(context); @@ -4229,7 +4229,7 @@ static void createpanel2(Context & context) { static void clearwork(Context & context) { context.ax = 0x0; - context.es = context.data.word(400); + context.es = context.ds.word(400); context.di = 0; context.cx = (200*320)/64; clearloop: @@ -4270,24 +4270,24 @@ clearloop: } static void zoom(Context & context) { - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto inwatching; - context._cmp(context.data.byte(8), 1); + context._cmp(context.ds.byte(8), 1); if (context.flags.z()) goto zoomswitch; inwatching: return; zoomswitch: - context._cmp(context.data.byte(100), 199); + context._cmp(context.ds.byte(100), 199); if (context.flags.c()) goto zoomit; cantzoom: putunderzoom(context); return; zoomit: - context.ax = context.data.word(222); + context.ax = context.ds.word(222); context._sub(context.ax, 9); context.cx = 320; context._mul(context.cx); - context._add(context.ax, context.data.word(220)); + context._add(context.ax, context.ds.word(220)); context._sub(context.ax, 11); context.si = context.ax; context.ax = 132+4; @@ -4295,8 +4295,8 @@ zoomit: context._mul(context.cx); context._add(context.ax, 8+5); context.di = context.ax; - context.es = context.data.word(400); - context.ds = context.data.word(400); + context.es = context.ds.word(400); + context.ds = context.ds.word(400); context.cx = 20; zoomloop: context.push(context.cx); @@ -4305,14 +4305,14 @@ zoomloop2: context._lodsb(); context.ah = context.al; context._stosw(); - context.data.word(context.di+320-2) = context.ax; + context.ds.word(context.di+320-2) = context.ax; if (--context.cx) goto zoomloop2; context._add(context.si, 320-23); context._add(context.di, 320-46+320); context.cx = context.pop(); if (--context.cx) goto zoomloop; crosshair(context); - context.data.byte(75) = 1; + context.ds.byte(75) = 1; return; } @@ -4321,12 +4321,12 @@ static void delthisone(Context & context) { context.push(context.ax); context.al = context.ah; context.ah = 0; - context._add(context.ax, context.data.word(119)); + context._add(context.ax, context.ds.word(119)); context.bx = 320; context._mul(context.bx); context.bx = context.pop(); context.bh = 0; - context._add(context.bx, context.data.word(117)); + context._add(context.bx, context.ds.word(117)); context._add(context.ax, context.bx); context.di = context.ax; context.ax = context.pop(); @@ -4339,8 +4339,8 @@ static void delthisone(Context & context) { context.bh = 0; context._add(context.ax, context.bx); context.si = context.ax; - context.es = context.data.word(400); - context.ds = context.data.word(402); + context.es = context.ds.word(400); + context.ds = context.ds.word(402); context.dl = context.cl; context.dh = 0; context.ax = 320; @@ -4364,7 +4364,7 @@ static void multiget(Context & context) { context.bx = 320; context._mul(context.bx); context._add(context.di, context.ax); - context.es = context.data.word(400); + context.es = context.ds.word(400); context.es = context.ds; context.ds = context.es; context._xchg(context.di, context.si); @@ -4408,7 +4408,7 @@ static void multiput(Context & context) { context.bx = 320; context._mul(context.bx); context._add(context.di, context.ax); - context.es = context.data.word(400); + context.es = context.ds.word(400); context.al = context.cl; context.ah = 0; context.dx = 320; @@ -4447,7 +4447,7 @@ multiloop6: static void multidump(Context & context) { context.dx = 0x0a000; context.es = context.dx; - context.ds = context.data.word(400); + context.ds = context.ds.word(400); context.ax = context.bx; context.bx = 320; context._mul(context.bx); @@ -4729,17 +4729,17 @@ static void width160(Context & context) { } static void doblocks(Context & context) { - context.es = context.data.word(400); - context.ax = context.data.word(119); + context.es = context.ds.word(400); + context.ax = context.ds.word(119); context.cx = 320; context._mul(context.cx); - context.di = context.data.word(117); + context.di = context.ds.word(117); context._add(context.di, context.ax); - context.al = context.data.byte(149); + context.al = context.ds.byte(149); context.ah = 0; context.bx = 66; context._mul(context.bx); - context.bl = context.data.byte(148); + context.bl = context.ds.byte(148); context.bh = 0; context._add(context.ax, context.bx); context.si = 0; @@ -4752,9 +4752,9 @@ loop120: loop124: context.push(context.cx); context.push(context.di); - context.ds = context.data.word(418); + context.ds = context.ds.word(418); context._lodsb(); - context.ds = context.data.word(416); + context.ds = context.ds.word(416); context.push(context.si); context._cmp(context.al, 0); if (context.flags.z()) goto zeroblock; @@ -4852,22 +4852,22 @@ static void showframe(Context & context) { context.si = context.cx; context._add(context.cx, context.cx); context._add(context.si, context.cx); - context._cmp(context.data.word(context.si), 0); + context._cmp(context.ds.word(context.si), 0); if (!context.flags.z()) goto notblankshow; context.cx = 0; return; notblankshow: context._test(context.ah, 128); if (!context.flags.z()) goto skipoffsets; - context.al = context.data.byte(context.si+4); + context.al = context.ds.byte(context.si+4); context.ah = 0; context._add(context.di, context.ax); - context.al = context.data.byte(context.si+5); + context.al = context.ds.byte(context.si+5); context.ah = 0; context._add(context.bx, context.ax); skipoffsets: - context.cx = context.data.word(context.si+0); - context.ax = context.data.word(context.si+2); + context.cx = context.ds.word(context.si+0); + context.ax = context.ds.word(context.si+2); context._add(context.ax, 2080); context.si = context.ax; context.ax = context.pop(); @@ -4898,9 +4898,9 @@ notdiffdest: if (context.flags.z()) goto notprintlist; context.push(context.ax); context.ax = context.di; - context._sub(context.ax, context.data.word(117)); + context._sub(context.ax, context.ds.word(117)); context.push(context.bx); - context._sub(context.bx, context.data.word(119)); + context._sub(context.bx, context.ds.word(119)); context.ah = context.bl; context.bx = context.pop(); context.ax = context.pop(); @@ -4908,7 +4908,7 @@ notprintlist: context._test(context.ah, 4); if (context.flags.z()) goto notflippedx; context.dx = 320; - context.es = context.data.word(400); + context.es = context.ds.word(400); context.push(context.cx); frameoutfx(context); context.cx = context.pop(); @@ -4917,7 +4917,7 @@ notflippedx: context._test(context.ah, 2); if (context.flags.z()) goto notnomask; context.dx = 320; - context.es = context.data.word(400); + context.es = context.ds.word(400); context.push(context.cx); frameoutnm(context); context.cx = context.pop(); @@ -4926,14 +4926,14 @@ notnomask: context._test(context.ah, 32); if (context.flags.z()) goto noeffects; context.dx = 320; - context.es = context.data.word(400); + context.es = context.ds.word(400); context.push(context.cx); frameoutbh(context); context.cx = context.pop(); return; noeffects: context.dx = 320; - context.es = context.data.word(400); + context.es = context.ds.word(400); context.push(context.cx); frameoutv(context); context.cx = context.pop(); @@ -5038,7 +5038,7 @@ bhloop2: context.ch = 0; context.ah = 255; bhloop1: - context._cmp(context.data.byte(context.di), context.ah); + context._cmp(context.ds.byte(context.di), context.ah); if (!context.flags.z()) goto nofill; context._movsb(); if (--context.cx) goto bhloop1; @@ -5086,7 +5086,7 @@ frameloopfx3: context._cmp(context.al, 0); if (context.flags.z()) goto backtootherfx; backtosolidfx: - context.data.byte(context.di) = context.al; + context.ds.byte(context.di) = context.al; context._sub(context.di, 1); if (--context.cx) goto frameloopfx3; context.cx = context.pop(); @@ -5097,9 +5097,9 @@ backtosolidfx: } static void transferinv(Context & context) { - context.di = context.data.word(12); + context.di = context.ds.word(12); context.push(context.di); - context.al = context.data.byte(10); + context.al = context.ds.byte(10); context.ah = 0; context.bx = context.ax; context._add(context.ax, context.ax); @@ -5107,12 +5107,12 @@ static void transferinv(Context & context) { context._add(context.ax, 1); context.cx = 6; context._mul(context.cx); - context.es = context.data.word(398); + context.es = context.ds.word(398); context.bx = 0; context._add(context.bx, context.ax); context._add(context.di, 0+2080); context.push(context.bx); - context.al = context.data.byte(90); + context.al = context.ds.byte(90); context.ah = 0; context.bx = context.ax; context._add(context.ax, context.ax); @@ -5120,94 +5120,94 @@ static void transferinv(Context & context) { context._add(context.ax, 1); context.cx = 6; context._mul(context.cx); - context.ds = context.data.word(446); + context.ds = context.ds.word(446); context.bx = 0; context._add(context.bx, context.ax); context.si = 0+2080; - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.ah = 0; - context.cl = context.data.byte(context.bx+1); + context.cl = context.ds.byte(context.bx+1); context.ch = 0; - context._add(context.si, context.data.word(context.bx+2)); - context.dx = context.data.word(context.bx+4); + context._add(context.si, context.ds.word(context.bx+2)); + context.dx = context.ds.word(context.bx+4); context.bx = context.pop(); - context.data.byte(context.bx+0) = context.al; - context.data.byte(context.bx+1) = context.cl; - context.data.word(context.bx+4) = context.dx; + context.ds.byte(context.bx+0) = context.al; + context.ds.byte(context.bx+1) = context.cl; + context.ds.word(context.bx+4) = context.dx; context._mul(context.cx); context.cx = context.ax; context.push(context.cx); while(--context.cx) context._movsb(); context.cx = context.pop(); context.ax = context.pop(); - context.data.word(context.bx+2) = context.ax; - context._add(context.data.word(12), context.cx); + context.ds.word(context.bx+2) = context.ax; + context._add(context.ds.word(12), context.cx); return; } static void transfermap(Context & context) { - context.di = context.data.word(12); + context.di = context.ds.word(12); context.push(context.di); - context.al = context.data.byte(10); + context.al = context.ds.byte(10); context.ah = 0; context.bx = context.ax; context._add(context.ax, context.ax); context._add(context.ax, context.bx); context.cx = 6; context._mul(context.cx); - context.es = context.data.word(398); + context.es = context.ds.word(398); context.bx = 0; context._add(context.bx, context.ax); context._add(context.di, 0+2080); context.push(context.bx); - context.al = context.data.byte(90); + context.al = context.ds.byte(90); context.ah = 0; context.bx = context.ax; context._add(context.ax, context.ax); context._add(context.ax, context.bx); context.cx = 6; context._mul(context.cx); - context.ds = context.data.word(446); + context.ds = context.ds.word(446); context.bx = 0; context._add(context.bx, context.ax); context.si = 0+2080; - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.ah = 0; - context.cl = context.data.byte(context.bx+1); + context.cl = context.ds.byte(context.bx+1); context.ch = 0; - context._add(context.si, context.data.word(context.bx+2)); - context.dx = context.data.word(context.bx+4); + context._add(context.si, context.ds.word(context.bx+2)); + context.dx = context.ds.word(context.bx+4); context.bx = context.pop(); - context.data.byte(context.bx+0) = context.al; - context.data.byte(context.bx+1) = context.cl; - context.data.word(context.bx+4) = context.dx; + context.ds.byte(context.bx+0) = context.al; + context.ds.byte(context.bx+1) = context.cl; + context.ds.word(context.bx+4) = context.dx; context._mul(context.cx); context.cx = context.ax; context.push(context.cx); while(--context.cx) context._movsb(); context.cx = context.pop(); context.ax = context.pop(); - context.data.word(context.bx+2) = context.ax; - context._add(context.data.word(12), context.cx); + context.ds.word(context.bx+2) = context.ax; + context._add(context.ds.word(12), context.cx); return; } static void dofade(Context & context) { - context._cmp(context.data.byte(344), 0); + context._cmp(context.ds.byte(344), 0); if (context.flags.z()) goto finishfade; - context.cl = context.data.byte(345); + context.cl = context.ds.byte(345); context.ch = 0; - context.al = context.data.byte(343); + context.al = context.ds.byte(343); context.ah = 0; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3); context._add(context.si, context.ax); context._add(context.si, context.ax); context._add(context.si, context.ax); showgroup(context); - context.al = context.data.byte(345); - context._add(context.al, context.data.byte(343)); - context.data.byte(343) = context.al; + context.al = context.ds.byte(345); + context._add(context.al, context.ds.byte(343)); + context.ds.byte(343) = context.al; context._cmp(context.al, 0); if (!context.flags.z()) goto finishfade; fadecalculation(context); @@ -5216,7 +5216,7 @@ finishfade: } static void clearendpal(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; context.cx = 768; context.al = 0; @@ -5225,7 +5225,7 @@ static void clearendpal(Context & context) { } static void clearpalette(Context & context) { - context.data.byte(344) = 0; + context.ds.byte(344) = 0; clearstartpal(context); dumpcurrent(context); return; @@ -5234,15 +5234,15 @@ static void clearpalette(Context & context) { static void fadescreenup(Context & context) { clearstartpal(context); paltoendpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; return; } static void fadetowhite(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; context.cx = 768; context.al = 63; @@ -5253,15 +5253,15 @@ static void fadetowhite(Context & context) { context._stosb(); context._stosb(); paltostartpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; return; } static void fadefromwhite(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3); context.cx = 768; context.al = 63; @@ -5272,20 +5272,20 @@ static void fadefromwhite(Context & context) { context._stosb(); context._stosb(); paltoendpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; return; } static void fadescreenups(Context & context) { clearstartpal(context); paltoendpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 64; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 64; return; } @@ -5293,16 +5293,16 @@ static void fadescreendownhalf(Context & context) { paltostartpal(context); paltoendpal(context); context.cx = 768; - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; halfend: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._shr(context.al, 1); - context.data.byte(context.bx) = context.al; + context.ds.byte(context.bx) = context.al; context._add(context.bx, 1); if (--context.cx) goto halfend; - context.ds = context.data.word(412); - context.es = context.data.word(412); + context.ds = context.ds.word(412); + context.es = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+(56*3); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(56*3); context.cx = 3*5; @@ -5311,45 +5311,45 @@ halfend: context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(77*3); context.cx = 3*2; while(--context.cx) context._movsb(); - context.data.byte(344) = 1; - context.data.byte(346) = 31; - context.data.byte(343) = 0; - context.data.byte(345) = 32; + context.ds.byte(344) = 1; + context.ds.byte(346) = 31; + context.ds.byte(343) = 0; + context.ds.byte(345) = 32; return; } static void fadescreenuphalf(Context & context) { endpaltostart(context); paltoendpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 31; - context.data.byte(343) = 0; - context.data.byte(345) = 32; + context.ds.byte(344) = 1; + context.ds.byte(346) = 31; + context.ds.byte(343) = 0; + context.ds.byte(345) = 32; return; } static void fadescreendown(Context & context) { paltostartpal(context); clearendpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; return; } static void fadescreendowns(Context & context) { paltostartpal(context); clearendpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 64; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 64; return; } static void clearstartpal(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3); context.cx = 256; wholeloop1: @@ -5362,39 +5362,39 @@ wholeloop1: } static void showgun(Context & context) { - context.data.byte(348) = 0; - context.data.byte(347) = 0; - context.data.byte(349) = 0; + context.ds.byte(348) = 0; + context.ds.byte(347) = 0; + context.ds.byte(349) = 0; paltostartpal(context); paltoendpal(context); greyscalesum(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; context.cx = 130; hangon(context); endpaltostart(context); clearendpal(context); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; context.cx = 200; hangon(context); - context.data.byte(531) = 34; + context.ds.byte(531) = 34; loadroomssample(context); - context.data.byte(386) = 0; + context.ds.byte(386) = 0; context.dx = 2364; loadintotemp(context); createpanel2(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 0; context.ah = 0; context.di = 100; context.bx = 4; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 1; context.ah = 0; context.di = 158; @@ -5425,19 +5425,19 @@ static void rollem(Context & context) { context.ch = 160; context.di = 25; context.bx = 20; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; multiget(context); - context.es = context.data.word(466); + context.es = context.ds.word(466); context.si = 49*2; - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context.si = context.ax; context._add(context.si, 66*2); context.cx = 80; endcredits21: context.push(context.cx); context.bx = 10; - context.cx = context.data.word(77); + context.cx = context.ds.word(77); endcredits22: context.push(context.cx); context.push(context.si); @@ -5449,7 +5449,7 @@ endcredits22: context.ch = 160; context.di = 25; context.bx = 20; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; multiput(context); vsync(context); @@ -5468,7 +5468,7 @@ onelot2: context.dx = 161; context.ax = 0; printdirect(context); - context._add(context.bx, context.data.word(77)); + context._add(context.bx, context.ds.word(77)); context.cx = context.pop(); if (--context.cx) goto onelot2; vsync(context); @@ -5482,13 +5482,13 @@ onelot2: context.di = context.pop(); context.si = context.pop(); context.cx = context.pop(); - context._cmp(context.data.byte(392), 1); + context._cmp(context.ds.byte(392), 1); if (context.flags.z()) goto endearly2; context._sub(context.bx, 1); if (--context.cx) goto endcredits22; context.cx = context.pop(); looknext2: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 1); context._cmp(context.al, ':'); if (context.flags.z()) goto gotnext2; @@ -5496,7 +5496,7 @@ looknext2: if (context.flags.z()) goto gotnext2; goto looknext2; gotnext2: - context._cmp(context.data.byte(392), 1); + context._cmp(context.ds.byte(392), 1); if (context.flags.z()) goto endearly; if (--context.cx) goto endcredits21; context.cx = 120; @@ -5509,57 +5509,57 @@ endearly: } static void fadecalculation(Context & context) { - context._cmp(context.data.byte(346), 0); + context._cmp(context.ds.byte(346), 0); if (context.flags.z()) goto nomorefading; - context.bl = context.data.byte(346); - context.es = context.data.word(412); + context.bl = context.ds.byte(346); + context.es = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; context.cx = 768; fadecolloop: - context.al = context.data.byte(context.si); - context.ah = context.data.byte(context.di); + context.al = context.ds.byte(context.si); + context.ah = context.ds.byte(context.di); context._cmp(context.al, context.ah); if (context.flags.z()) goto gotthere; if (context.flags.c()) goto lesscolour; - context._sub(context.data.byte(context.si), 1); + context._sub(context.ds.byte(context.si), 1); goto gotthere; lesscolour: context._cmp(context.bl, context.ah); if (context.flags.z()) goto withit; if (!context.flags.c()) goto gotthere; withit: - context._add(context.data.byte(context.si), 1); + context._add(context.ds.byte(context.si), 1); gotthere: context._add(context.si, 1); context._add(context.di, 1); if (--context.cx) goto fadecolloop; - context._sub(context.data.byte(346), 1); + context._sub(context.ds.byte(346), 1); return; nomorefading: - context.data.byte(344) = 0; + context.ds.byte(344) = 0; return; } static void greyscalesum(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768; context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; context.cx = 256; greysumloop1: context.push(context.cx); context.bx = 0; - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context.ah = 0; context.cx = 20; context._mul(context.cx); context._add(context.bx, context.ax); - context.al = context.data.byte(context.si+1); + context.al = context.ds.byte(context.si+1); context.ah = 0; context.cx = 59; context._mul(context.cx); context._add(context.bx, context.ax); - context.al = context.data.byte(context.si+2); + context.al = context.ds.byte(context.si+2); context.ah = 0; context.cx = 11; context._mul(context.cx); @@ -5571,19 +5571,19 @@ greysumloop2: if (!context.flags.c()) goto greysumloop2; context.bl = context.al; context.al = context.bl; - context.ah = context.data.byte(348); + context.ah = context.ds.byte(348); context._cmp(context.al, 0); context._add(context.al, context.ah); noaddr: context._stosb(); - context.ah = context.data.byte(347); + context.ah = context.ds.byte(347); context.al = context.bl; context._cmp(context.al, 0); if (context.flags.z()) goto noaddg; context._add(context.al, context.ah); noaddg: context._stosb(); - context.ah = context.data.byte(349); + context.ah = context.ds.byte(349); context.al = context.bl; context._cmp(context.al, 0); if (context.flags.z()) goto noaddb; @@ -5597,8 +5597,8 @@ noaddb: } static void paltostartpal(Context & context) { - context.es = context.data.word(412); - context.ds = context.data.word(412); + context.es = context.ds.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768; context.di = 0+(228*13)+32+60+(32*32)+(11*10*3); context.cx = 768/2; @@ -5607,8 +5607,8 @@ static void paltostartpal(Context & context) { } static void endpaltostart(Context & context) { - context.es = context.data.word(412); - context.ds = context.data.word(412); + context.es = context.ds.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; context.di = 0+(228*13)+32+60+(32*32)+(11*10*3); context.cx = 768/2; @@ -5617,8 +5617,8 @@ static void endpaltostart(Context & context) { } static void startpaltoend(Context & context) { - context.es = context.data.word(412); - context.ds = context.data.word(412); + context.es = context.ds.word(412); + context.ds = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; context.si = 0+(228*13)+32+60+(32*32)+(11*10*3); context.cx = 768/2; @@ -5627,8 +5627,8 @@ static void startpaltoend(Context & context) { } static void paltoendpal(Context & context) { - context.es = context.data.word(412); - context.ds = context.data.word(412); + context.es = context.ds.word(412); + context.ds = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768; context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768; context.cx = 768/2; @@ -5637,8 +5637,8 @@ static void paltoendpal(Context & context) { } static void allpalette(Context & context) { - context.es = context.data.word(412); - context.ds = context.data.word(412); + context.es = context.ds.word(412); + context.ds = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768; context.cx = 768/2; @@ -5649,7 +5649,7 @@ static void allpalette(Context & context) { static void dumpcurrent(Context & context) { context.si = 0+(228*13)+32+60+(32*32)+(11*10*3); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); vsync(context); context.al = 0; context.cx = 128; @@ -5664,7 +5664,7 @@ static void dumpcurrent(Context & context) { static void fadedownmon(Context & context) { paltostartpal(context); paltoendpal(context); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(231*3); context.cx = 3*8; context.ax = 0; @@ -5672,10 +5672,10 @@ static void fadedownmon(Context & context) { context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(246*3); context._stosb(); context._stosw(); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; context.cx = 64; hangon(context); return; @@ -5684,7 +5684,7 @@ static void fadedownmon(Context & context) { static void fadeupmon(Context & context) { paltostartpal(context); paltoendpal(context); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(231*3); context.cx = 3*8; context.ax = 0; @@ -5692,10 +5692,10 @@ static void fadeupmon(Context & context) { context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(246*3); context._stosb(); context._stosw(); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; context.cx = 128; hangon(context); return; @@ -5704,7 +5704,7 @@ static void fadeupmon(Context & context) { static void fadeupmonfirst(Context & context) { paltostartpal(context); paltoendpal(context); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(231*3); context.cx = 3*8; context.ax = 0; @@ -5712,10 +5712,10 @@ static void fadeupmonfirst(Context & context) { context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(246*3); context._stosb(); context._stosw(); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; context.cx = 64; hangon(context); context.al = 26; @@ -5727,7 +5727,7 @@ static void fadeupmonfirst(Context & context) { static void fadeupyellows(Context & context) { paltoendpal(context); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(231*3); context.cx = 3*8; context.ax = 0; @@ -5735,10 +5735,10 @@ static void fadeupyellows(Context & context) { context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+(246*3); context._stosb(); context._stosw(); - context.data.byte(344) = 1; - context.data.byte(346) = 63; - context.data.byte(343) = 0; - context.data.byte(345) = 128; + context.ds.byte(344) = 1; + context.ds.byte(346) = 63; + context.ds.byte(343) = 0; + context.ds.byte(345) = 128; context.cx = 128; hangon(context); return; @@ -5746,7 +5746,7 @@ static void fadeupyellows(Context & context) { static void initialmoncols(Context & context) { paltostartpal(context); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(230*3); context.cx = 3*9; context.ax = 0; @@ -5754,7 +5754,7 @@ static void initialmoncols(Context & context) { context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+(246*3); context._stosb(); context._stosw(); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+(230*3); context.al = 230; context.cx = 18; @@ -5775,24 +5775,24 @@ static void endgame(Context & context) { monkspeaking(context); gettingshot(context); getridoftemptext(context); - context.data.byte(387) = 7; - context.data.byte(388) = 1; + context.ds.byte(387) = 7; + context.ds.byte(388) = 1; context.cx = 200; hangon(context); return; } static void monkspeaking(Context & context) { - context.data.byte(531) = 35; + context.ds.byte(531) = 35; loadroomssample(context); context.dx = 2377; loadintotemp(context); clearwork(context); showmonk(context); worktoscreen(context); - context.data.byte(386) = 7; - context.data.byte(388) = -1; - context.data.byte(387) = 0; + context.ds.byte(386) = 7; + context.ds.byte(388) = -1; + context.ds.byte(387) = 0; context.al = 12; context.ah = 255; playchannel0(context); @@ -5805,8 +5805,8 @@ nextmonkspeak: context.ah = 0; context.si = context.ax; context._add(context.si, context.si); - context.es = context.data.word(466); - context.ax = context.data.word(context.si); + context.es = context.ds.word(466); + context.ax = context.ds.word(context.si); context._add(context.ax, 66*2); context.si = context.ax; nextbit: @@ -5831,8 +5831,8 @@ nextbit: context._add(context.al, 1); context._cmp(context.al, 44); if (!context.flags.z()) goto nextmonkspeak; - context.data.byte(388) = 1; - context.data.byte(387) = 7; + context.ds.byte(388) = 1; + context.ds.byte(387) = 7; fadescreendowns(context); context.cx = 300; hangon(context); @@ -5845,18 +5845,18 @@ static void showmonk(Context & context) { context.ah = 128; context.di = 160; context.bx = 72; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); return; } static void gettingshot(Context & context) { - context.data.byte(188) = 55; + context.ds.byte(188) = 55; clearpalette(context); loadintroroom(context); fadescreenups(context); - context.data.byte(387) = 0; - context.data.byte(388) = -1; + context.ds.byte(387) = 0; + context.ds.byte(388) = -1; runendseq(context); clearbeforeload(context); return; @@ -5889,7 +5889,7 @@ hangonloope: context.push(context.cx); vsync(context); context.cx = context.pop(); - context._cmp(context.data.byte(392), 1); + context._cmp(context.ds.byte(392), 1); if (context.flags.z()) goto hangonearly; if (--context.cx) goto hangonloope; return; @@ -5904,28 +5904,28 @@ static void intro(Context & context) { loadtemptext(context); loadpalfromiff(context); setmode(context); - context.data.byte(188) = 50; + context.ds.byte(188) = 50; clearpalette(context); loadintroroom(context); - context.data.byte(386) = 7; - context.data.byte(388) = -1; - context.data.byte(387) = 0; + context.ds.byte(386) = 7; + context.ds.byte(388) = -1; + context.ds.byte(387) = 0; context.al = 12; context.ah = 255; playchannel0(context); fadescreenups(context); runintroseq(context); clearbeforeload(context); - context.data.byte(188) = 52; + context.ds.byte(188) = 52; loadintroroom(context); runintroseq(context); clearbeforeload(context); - context.data.byte(188) = 53; + context.ds.byte(188) = 53; loadintroroom(context); runintroseq(context); clearbeforeload(context); allpalette(context); - context.data.byte(188) = 54; + context.ds.byte(188) = 54; loadintroroom(context); runintroseq(context); getridoftemptext(context); @@ -5934,14 +5934,14 @@ static void intro(Context & context) { } static void runintroseq(Context & context) { - context.data.byte(103) = 0; + context.ds.byte(103) = 0; moreintroseq: vsync(context); - context._cmp(context.data.byte(392), 1); + context._cmp(context.ds.byte(392), 1); if (context.flags.z()) goto earlyendrun; spriteupdate(context); vsync(context); - context._cmp(context.data.byte(392), 1); + context._cmp(context.ds.byte(392), 1); if (context.flags.z()) goto earlyendrun; deleverything(context); printsprites(context); @@ -5949,14 +5949,14 @@ moreintroseq: afterintroroom(context); usetimedtext(context); vsync(context); - context._cmp(context.data.byte(392), 1); + context._cmp(context.ds.byte(392), 1); if (context.flags.z()) goto earlyendrun; dumpmap(context); dumptimedtext(context); vsync(context); - context._cmp(context.data.byte(392), 1); + context._cmp(context.ds.byte(392), 1); if (context.flags.z()) goto earlyendrun; - context._cmp(context.data.byte(103), 1); + context._cmp(context.ds.byte(103), 1); if (!context.flags.z()) goto moreintroseq; return; earlyendrun: @@ -5969,7 +5969,7 @@ earlyendrun: static void runendseq(Context & context) { atmospheres(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; moreendseq: vsync(context); spriteupdate(context); @@ -5983,23 +5983,23 @@ moreendseq: dumpmap(context); dumptimedtext(context); vsync(context); - context._cmp(context.data.byte(103), 1); + context._cmp(context.ds.byte(103), 1); if (!context.flags.z()) goto moreendseq; return; } static void loadintroroom(Context & context) { - context.data.byte(139) = 0; - context.data.byte(9) = 255; + context.ds.byte(139) = 0; + context.ds.byte(9) = 255; loadroom(context); - context.data.word(121) = 72; - context.data.word(123) = 16; + context.ds.word(121) = 72; + context.ds.word(123) = 16; clearsprites(context); - context.data.byte(61) = 0; - context.data.byte(142) = '0'; - context.data.byte(105) = 0; + context.ds.byte(61) = 0; + context.ds.byte(142) = '0'; + context.ds.byte(105) = 0; clearwork(context); - context.data.byte(62) = 1; + context.ds.byte(62) = 1; drawfloor(context); reelsonscreen(context); spriteupdate(context); @@ -6009,9 +6009,9 @@ static void loadintroroom(Context & context) { } static void realcredits(Context & context) { - context.data.byte(531) = 33; + context.ds.byte(531) = 33; loadroomssample(context); - context.data.byte(386) = 0; + context.ds.byte(386) = 0; mode640x480(context); context.cx = 35; hangon(context); @@ -6106,13 +6106,13 @@ static void printchar(Context & context) { context.push(context.ax); context._sub(context.al, 32); context.ah = 0; - context._add(context.ax, context.data.word(71)); + context._add(context.ax, context.ds.word(71)); showframe(context); context.ax = context.pop(); context.di = context.pop(); context.bx = context.pop(); context.si = context.pop(); - context._cmp(context.data.byte(72), 0); + context._cmp(context.ds.byte(72), 0); if (!context.flags.z()) goto nokern; kernchars(context); nokern: @@ -6148,9 +6148,9 @@ kernit: } static void printslow(Context & context) { - context.data.byte(231) = 1; - context.data.byte(234) = 3; - context.ds = context.data.word(404); + context.ds.byte(231) = 1; + context.ds.byte(234) = 3; + context.ds = context.ds.word(404); printloopslow6: context.push(context.bx); context.push(context.di); @@ -6161,7 +6161,7 @@ printloopslow5: context.push(context.cx); context.push(context.si); context.push(context.es); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context.push(context.bx); context.push(context.cx); context.push(context.es); @@ -6174,7 +6174,7 @@ printloopslow5: context.es = context.pop(); context.cx = context.pop(); context.bx = context.pop(); - context.ax = context.data.word(context.si+1); + context.ax = context.ds.word(context.si+1); context._add(context.si, 1); context._cmp(context.al, 0); if (context.flags.z()) goto finishslow; @@ -6189,9 +6189,9 @@ printloopslow5: context.push(context.es); context.push(context.si); modifychar(context); - context.data.word(71) = 91; + context.ds.word(71) = 91; printboth(context); - context.data.word(71) = 0; + context.ds.word(71) = 0; context.si = context.pop(); context.es = context.pop(); context.cx = context.pop(); @@ -6201,14 +6201,14 @@ printloopslow5: waitframes(context); context._cmp(context.ax, 0); if (context.flags.z()) goto keepgoing; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (!context.flags.z()) goto finishslow2; keepgoing: waitframes(context); noslow: context._cmp(context.ax, 0); if (context.flags.z()) goto afterslow; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (!context.flags.z()) goto finishslow2; afterslow: context.es = context.pop(); @@ -6252,7 +6252,7 @@ static void waitframes(Context & context) { vsync(context); dumppointer(context); delpointer(context); - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context.ds = context.pop(); context.si = context.pop(); context.es = context.pop(); @@ -6279,8 +6279,8 @@ static void printboth(Context & context) { } static void printdirect(Context & context) { - context.data.word(84) = context.di; - context.ds = context.data.word(268); + context.ds.word(84) = context.di; + context.ds = context.ds.word(268); printloop6: context.push(context.bx); context.push(context.di); @@ -6288,7 +6288,7 @@ printloop6: getnumber(context); context.ch = 0; printloop5: - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.si, 1); context._cmp(context.al, 0); if (context.flags.z()) goto finishdirct; @@ -6298,14 +6298,14 @@ printloop5: context.push(context.es); modifychar(context); printchar(context); - context.data.word(84) = context.di; + context.ds.word(84) = context.di; context.es = context.pop(); context.cx = context.pop(); if (--context.cx) goto printloop5; context.dx = context.pop(); context.di = context.pop(); context.bx = context.pop(); - context._add(context.bx, context.data.word(77)); + context._add(context.bx, context.ds.word(77)); goto printloop6; finishdirct: context.dx = context.pop(); @@ -6315,12 +6315,12 @@ finishdirct: } static void monprint(Context & context) { - context.data.byte(72) = 1; + context.ds.byte(72) = 1; context.si = context.bx; context.dl = 166; - context.di = context.data.word(318); - context.bx = context.data.word(320); - context.ds = context.data.word(406); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); + context.ds = context.ds.word(406); printloop8: context.push(context.bx); context.push(context.di); @@ -6328,7 +6328,7 @@ printloop8: getnumber(context); context.ch = 0; printloop7: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 1); context._cmp(context.al, ':'); if (context.flags.z()) goto finishmon2; @@ -6340,7 +6340,7 @@ printloop7: if (context.flags.z()) goto finishmon; context._cmp(context.al, '%'); if (!context.flags.z()) goto nottrigger; - context.ah = context.data.byte(context.si); + context.ah = context.ds.byte(context.si); context._add(context.si, 1); context._add(context.si, 1); goto finishmon; @@ -6349,9 +6349,9 @@ nottrigger: context.push(context.es); modifychar(context); printchar(context); - context.data.word(312) = context.di; - context.data.word(314) = context.bx; - context.data.word(138) = 1; + context.ds.word(312) = context.di; + context.ds.word(314) = context.bx; + context.ds.word(138) = 1; printcurs(context); vsync(context); context.push(context.si); @@ -6376,7 +6376,7 @@ finishmon2: context.di = context.pop(); context.bx = context.pop(); scrollmonitor(context); - context.data.word(312) = context.di; + context.ds.word(312) = context.di; goto printloop8; finishmon: context.dx = context.pop(); @@ -6384,12 +6384,12 @@ finishmon: context.bx = context.pop(); context._cmp(context.al, '%'); if (!context.flags.z()) goto nottrigger2; - context.data.byte(55) = context.ah; + context.ds.byte(55) = context.ah; nottrigger2: - context.data.word(312) = context.di; + context.ds.word(312) = context.di; scrollmonitor(context); context.bx = context.si; - context.data.byte(72) = 0; + context.ds.byte(72) = 0; return; } @@ -6499,7 +6499,7 @@ notcent2: static void getnextword(Context & context) { context.bx = 0; getloop: - context.ax = context.data.word(context.di); + context.ax = context.ds.word(context.di); context._add(context.di, 1); context._add(context.bh, 1); context._cmp(context.al, ':'); @@ -6514,12 +6514,12 @@ getloop: context.push(context.ax); context._sub(context.al, 32); context.ah = 0; - context._add(context.ax, context.data.word(71)); + context._add(context.ax, context.ds.word(71)); context._add(context.ax, context.ax); context.si = context.ax; context._add(context.ax, context.ax); context._add(context.si, context.ax); - context.cl = context.data.byte(context.si+0); + context.cl = context.ds.byte(context.si+0); context.ax = context.pop(); kernchars(context); context._add(context.bl, context.cl); @@ -6592,11 +6592,11 @@ nomod: } static void fillryan(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32; findallryan(context); context.si = 0+(228*13)+32; - context.al = context.data.byte(19); + context.al = context.ds.byte(19); context.ah = 0; context.cx = 20; context._mul(context.cx); @@ -6613,7 +6613,7 @@ ryanloop1: context.push(context.cx); context.push(context.di); context.push(context.bx); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.si, 2); context.push(context.si); context.push(context.es); @@ -6643,7 +6643,7 @@ static void fillopen(Context & context) { lessthanapage: context.al = 1; context.push(context.ax); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13); findallopen(context); context.si = 0+(228*13); @@ -6654,7 +6654,7 @@ openloop1: context.push(context.cx); context.push(context.di); context.push(context.bx); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.si, 2); context.push(context.si); context.push(context.es); @@ -6682,15 +6682,15 @@ static void findallryan(Context & context) { while(--context.cx) context._stosw(); context.di = context.pop(); context.cl = 4; - context.ds = context.data.word(398); + context.ds = context.ds.word(398); context.bx = 0+2080+30000; context.ch = 0; findryanloop: - context._cmp(context.data.byte(context.bx+2), context.cl); + context._cmp(context.ds.byte(context.bx+2), context.cl); if (!context.flags.z()) goto notinryaninv; - context._cmp(context.data.byte(context.bx+3), 255); + context._cmp(context.ds.byte(context.bx+3), 255); if (!context.flags.z()) goto notinryaninv; - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); context.ah = 0; context.push(context.di); context._add(context.di, context.ax); @@ -6713,23 +6713,23 @@ static void findallopen(Context & context) { context.ax = 0x0ffff; while(--context.cx) context._stosw(); context.di = context.pop(); - context.cl = context.data.byte(110); - context.dl = context.data.byte(111); - context.ds = context.data.word(398); + context.cl = context.ds.byte(110); + context.dl = context.ds.byte(111); + context.ds = context.ds.word(398); context.bx = 0+2080+30000; context.ch = 0; findopen1: - context._cmp(context.data.byte(context.bx+3), context.cl); + context._cmp(context.ds.byte(context.bx+3), context.cl); if (!context.flags.z()) goto findopen2; - context._cmp(context.data.byte(context.bx+2), context.dl); + context._cmp(context.ds.byte(context.bx+2), context.dl); if (!context.flags.z()) goto findopen2; - context._cmp(context.data.byte(111), 4); + context._cmp(context.ds.byte(111), 4); if (context.flags.z()) goto noloccheck; - context.al = context.data.byte(context.bx+5); - context._cmp(context.al, context.data.byte(184)); + context.al = context.ds.byte(context.bx+5); + context._cmp(context.al, context.ds.byte(184)); if (!context.flags.z()) goto findopen2; noloccheck: - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); context.ah = 0; context.push(context.di); context._add(context.di, context.ax); @@ -6743,19 +6743,19 @@ findopen2: context._add(context.ch, 1); context._cmp(context.ch, 114); if (!context.flags.z()) goto findopen1; - context.cl = context.data.byte(110); - context.dl = context.data.byte(111); + context.cl = context.ds.byte(110); + context.dl = context.ds.byte(111); context.push(context.dx); - context.ds = context.data.word(426); + context.ds = context.ds.word(426); context.dx = context.pop(); context.bx = 0; context.ch = 0; findopen1a: - context._cmp(context.data.byte(context.bx+3), context.cl); + context._cmp(context.ds.byte(context.bx+3), context.cl); if (!context.flags.z()) goto findopen2a; - context._cmp(context.data.byte(context.bx+2), context.dl); + context._cmp(context.ds.byte(context.bx+2), context.dl); if (!context.flags.z()) goto findopen2a; - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); context.ah = 0; context.push(context.di); context._add(context.di, context.ax); @@ -6780,7 +6780,7 @@ static void obtoinv(Context & context) { context.push(context.ax); context.push(context.di); context.push(context.bx); - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context._sub(context.di, 2); context._sub(context.bx, 1); context.al = 10; @@ -6794,10 +6794,10 @@ static void obtoinv(Context & context) { context.push(context.bx); context.push(context.di); context.push(context.ax); - context.ds = context.data.word(398); + context.ds = context.ds.word(398); context._cmp(context.ah, 4); if (context.flags.z()) goto isanextra; - context.ds = context.data.word(446); + context.ds = context.ds.word(446); isanextra: context.cl = context.al; context._add(context.al, context.al); @@ -6815,7 +6815,7 @@ isanextra: isitworn(context); context.bx = context.pop(); if (!context.flags.z()) goto finishfill; - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context._sub(context.di, 3); context._sub(context.bx, 2); context.al = 7; @@ -6830,34 +6830,34 @@ finishfill: } static void isitworn(Context & context) { - context.al = context.data.byte(context.bx+12); + context.al = context.ds.byte(context.bx+12); context._cmp(context.al, 'W'-'A'); if (!context.flags.z()) goto notworn; - context.al = context.data.byte(context.bx+13); + context.al = context.ds.byte(context.bx+13); context._cmp(context.al, 'E'-'A'); notworn: return; } static void makeworn(Context & context) { - context.data.byte(context.bx+12) = 'W'-'A'; - context.data.byte(context.bx+13) = 'E'-'A'; + context.ds.byte(context.bx+12) = 'W'-'A'; + context.ds.byte(context.bx+13) = 'E'-'A'; return; } static void examineob(Context & context) { - context.data.byte(234) = 0; - context.data.word(328) = 0; + context.ds.byte(234) = 0; + context.ds.word(328) = 0; examineagain: - context.data.byte(237) = 0; - context.data.byte(108) = 0; - context.data.byte(110) = 255; - context.data.byte(111) = 255; - context.data.byte(104) = 0; - context.al = context.data.byte(100); - context.data.byte(102) = context.al; - context.data.byte(89) = 0; - context.data.byte(231) = 0; + context.ds.byte(237) = 0; + context.ds.byte(108) = 0; + context.ds.byte(110) = 255; + context.ds.byte(111) = 255; + context.ds.byte(104) = 0; + context.al = context.ds.byte(100); + context.ds.byte(102) = context.al; + context.ds.byte(89) = 0; + context.ds.byte(231) = 0; createpanel(context); showpanel(context); showman(context); @@ -6866,7 +6866,7 @@ examineagain: obpicture(context); describeob(context); undertextline(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; readmouse(context); showpointer(context); worktoscreen(context); @@ -6878,41 +6878,41 @@ waitexam: dumppointer(context); dumptextline(context); delpointer(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; context.bx = 2494; - context._cmp(context.data.byte(104), 0); + context._cmp(context.ds.byte(104), 0); if (context.flags.z()) goto notuseinv; context.bx = 2556; - context._cmp(context.data.byte(104), 1); + context._cmp(context.ds.byte(104), 1); if (context.flags.z()) goto notuseinv; context.bx = 2618; notuseinv: checkcoords(context); - context._cmp(context.data.byte(108), 0); + context._cmp(context.ds.byte(108), 0); if (context.flags.z()) goto norex; goto examineagain; norex: - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto waitexam; - context.data.byte(106) = 0; - context._cmp(context.data.word(21), 0); + context.ds.byte(106) = 0; + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto iswatching; - context._cmp(context.data.byte(188), 255); + context._cmp(context.ds.byte(188), 255); if (!context.flags.z()) goto justgetback; iswatching: makemainscreen(context); - context.data.byte(104) = 0; - context.data.byte(110) = 255; + context.ds.byte(104) = 0; + context.ds.byte(110) = 255; return; justgetback: - context.data.byte(104) = 0; - context.data.byte(110) = 255; + context.ds.byte(104) = 0; + context.ds.byte(110) = 255; return; } static void makemainscreen(Context & context) { createpanel(context); - context.data.byte(62) = 1; + context.ds.byte(62) = 1; drawfloor(context); spriteupdate(context); printsprites(context); @@ -6920,16 +6920,16 @@ static void makemainscreen(Context & context) { showicon(context); getunderzoom(context); undertextline(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; animpointer(context); worktoscreenm(context); - context.data.byte(100) = 200; - context.data.byte(131) = 0; + context.ds.byte(100) = 200; + context.ds.byte(131) = 0; return; } static void getbackfromob(Context & context) { - context._cmp(context.data.byte(106), 1); + context._cmp(context.ds.byte(106), 1); if (!context.flags.z()) goto notheldob; blank(context); return; @@ -6939,25 +6939,25 @@ notheldob: } static void incryanpage(Context & context) { - context._cmp(context.data.byte(100), 222); + context._cmp(context.ds.byte(100), 222); if (context.flags.z()) goto alreadyincryan; - context.data.byte(100) = 222; + context.ds.byte(100) = 222; context.al = 31; commandonly(context); alreadyincryan: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto noincryan; context._and(context.ax, 1); if (!context.flags.z()) goto doincryan; noincryan: return; doincryan: - context.ax = context.data.word(198); + context.ax = context.ds.word(198); context._sub(context.ax, 80+167); - context.data.byte(19) = -1; + context.ds.byte(19) = -1; findnewpage: - context._add(context.data.byte(19), 1); + context._add(context.ds.byte(19), 1); context._sub(context.ax, 18); if (!context.flags.c()) goto findnewpage; delpointer(context); @@ -6970,32 +6970,32 @@ findnewpage: } static void openinv(Context & context) { - context.data.byte(104) = 1; + context.ds.byte(104) = 1; context.al = 61; context.di = 80; context.bx = 58-10; context.dl = 240; printmessage(context); fillryan(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; return; } static void showryanpage(Context & context) { - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 80+167; context.bx = 58-12; context.al = 12; context.ah = 0; showframe(context); context.al = 13; - context._add(context.al, context.data.byte(19)); + context._add(context.al, context.ds.byte(19)); context.push(context.ax); - context.al = context.data.byte(19); + context.al = context.ds.byte(19); context.ah = 0; context.cx = 18; context._mul(context.cx); - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 80+167; context._add(context.di, context.ax); context.bx = 58-12; @@ -7006,8 +7006,8 @@ static void showryanpage(Context & context) { } static void openob(Context & context) { - context.al = context.data.byte(110); - context.ah = context.data.byte(111); + context.al = context.ds.byte(110); + context.ah = context.ds.byte(111); context.di = 5674; copyname(context); context.di = 80; @@ -7015,7 +7015,7 @@ static void openob(Context & context) { context.al = 62; context.dl = 240; printmessage(context); - context.di = context.data.word(84); + context.di = context.ds.word(84); context._add(context.di, 5); context.bx = 58+86; context.es = context.cs; @@ -7032,23 +7032,23 @@ static void openob(Context & context) { context._mul(context.cx); context._add(context.ax, 80); context.bx = 2588; - context.data.word(context.bx) = context.ax; + context.ds.word(context.bx) = context.ax; return; } static void obicons(Context & context) { - context.al = context.data.byte(99); + context.al = context.ds.byte(99); getanyad(context); context._cmp(context.al, 255); if (context.flags.z()) goto cantopenit; - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.di = 210; context.bx = 1; context.al = 4; context.ah = 0; showframe(context); cantopenit: - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.di = 260; context.bx = 1; context.al = 1; @@ -7058,7 +7058,7 @@ cantopenit: } static void examicon(Context & context) { - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context.di = 254; context.bx = 5; context.al = 3; @@ -7068,13 +7068,13 @@ static void examicon(Context & context) { } static void obpicture(Context & context) { - context.al = context.data.byte(99); - context.ah = context.data.byte(102); + context.al = context.ds.byte(99); + context.ah = context.ds.byte(102); context._cmp(context.ah, 1); if (context.flags.z()) goto setframe; context._cmp(context.ah, 4); if (context.flags.z()) goto exframe; - context.ds = context.data.word(446); + context.ds = context.ds.word(446); context.di = 160; context.bx = 68; context.cl = context.al; @@ -7087,7 +7087,7 @@ static void obpicture(Context & context) { setframe: return; exframe: - context.ds = context.data.word(398); + context.ds = context.ds.word(398); context.di = 160; context.bx = 68; context.cl = context.al; @@ -7103,18 +7103,18 @@ static void describeob(Context & context) { getobtextstart(context); context.di = 33; context.bx = 92; - context._cmp(context.data.byte(102), 1); + context._cmp(context.ds.byte(102), 1); if (!context.flags.z()) goto notsetd; context.bx = 82; notsetd: context.dl = 241; context.ah = 16; - context.data.word(71) = 91+91; + context.ds.word(71) = 91+91; printdirect(context); - context.data.word(71) = 0; + context.ds.word(71) = 0; context.di = 36; context.bx = 104; - context._cmp(context.data.byte(102), 1); + context._cmp(context.ds.byte(102), 1); if (!context.flags.z()) goto notsetd2; context.bx = 94; notsetd2: @@ -7131,16 +7131,16 @@ notsetd2: static void additionaltext(Context & context) { context._add(context.bx, 10); context.push(context.bx); - context.al = context.data.byte(99); - context.ah = context.data.byte(102); + context.al = context.ds.byte(99); + context.ah = context.ds.byte(102); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; context.dh = 'E'; compare(context); if (context.flags.z()) goto emptycup; - context.al = context.data.byte(99); - context.ah = context.data.byte(102); + context.al = context.ds.byte(99); + context.ah = context.ds.byte(102); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; @@ -7170,8 +7170,8 @@ fullcup: } static void obsthatdothings(Context & context) { - context.al = context.data.byte(99); - context.ah = context.data.byte(102); + context.al = context.ds.byte(99); + context.ah = context.ds.byte(102); context.cl = 'M'; context.ch = 'E'; context.dl = 'M'; @@ -7192,35 +7192,35 @@ notlouiscard: } static void getobtextstart(Context & context) { - context.es = context.data.word(438); + context.es = context.ds.word(438); context.si = 0; context.cx = 0+(82*2); - context._cmp(context.data.byte(102), 2); + context._cmp(context.ds.byte(102), 2); if (context.flags.z()) goto describe; - context.es = context.data.word(440); + context.es = context.ds.word(440); context.si = 0; context.cx = 0+(130*2); - context._cmp(context.data.byte(102), 1); + context._cmp(context.ds.byte(102), 1); if (context.flags.z()) goto describe; - context.es = context.data.word(398); + context.es = context.ds.word(398); context.si = 0+2080+30000+(16*114); context.cx = 0+2080+30000+(16*114)+((114+2)*2); describe: - context.al = context.data.byte(99); + context.al = context.ds.byte(99); context.ah = 0; context._add(context.ax, context.ax); context._add(context.si, context.ax); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.ax, context.cx); context.si = context.ax; context.bx = context.ax; tryagain: context.push(context.si); findnextcolon(context); - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context.cx = context.si; context.si = context.pop(); - context._cmp(context.data.byte(102), 1); + context._cmp(context.ds.byte(102), 1); if (!context.flags.z()) goto cantmakeoneup; context._cmp(context.al, 0); if (context.flags.z()) goto findsometext; @@ -7238,9 +7238,9 @@ static void searchforsame(Context & context) { context.si = context.cx; searchagain: context._add(context.si, 1); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); search: - context._cmp(context.data.byte(context.si), context.al); + context._cmp(context.ds.byte(context.si), context.al); if (context.flags.z()) goto gotstartletter; context._add(context.cx, 1); context._add(context.si, 1); @@ -7255,8 +7255,8 @@ gotstartletter: keepchecking: context._add(context.si, 1); context._add(context.bx, 1); - context.al = context.data.byte(context.bx); - context.ah = context.data.byte(context.si); + context.al = context.ds.byte(context.bx); + context.ah = context.ds.byte(context.si); context._cmp(context.al, ':'); if (context.flags.z()) goto foundmatch; context._cmp(context.al, 0); @@ -7274,7 +7274,7 @@ foundmatch: static void findnextcolon(Context & context) { isntcolon: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 1); context._cmp(context.al, 0); if (context.flags.z()) goto endofcolon; @@ -7285,31 +7285,31 @@ endofcolon: } static void inventory(Context & context) { - context._cmp(context.data.byte(56), 1); + context._cmp(context.ds.byte(56), 1); if (context.flags.z()) goto iswatchinv; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (context.flags.z()) goto notwatchinv; iswatchinv: blank(context); return; notwatchinv: - context._cmp(context.data.byte(100), 239); + context._cmp(context.ds.byte(100), 239); if (context.flags.z()) goto alreadyopinv; - context.data.byte(100) = 239; + context.ds.byte(100) = 239; context.al = 32; commandonly(context); alreadyopinv: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto cantopinv; context._and(context.ax, 1); if (!context.flags.z()) goto doopeninv; cantopinv: return; doopeninv: - context.data.word(328) = 0; - context.data.byte(234) = 0; - context.data.byte(237) = 0; + context.ds.word(328) = 0; + context.ds.byte(234) = 0; + context.ds.byte(237) = 0; animpointer(context); createpanel(context); showpanel(context); @@ -7317,26 +7317,26 @@ doopeninv: showman(context); showexit(context); undertextline(context); - context.data.byte(106) = 0; - context.data.byte(104) = 2; + context.ds.byte(106) = 0; + context.ds.byte(104) = 2; openinv(context); readmouse(context); showpointer(context); worktoscreen(context); delpointer(context); - context.data.byte(110) = 255; + context.ds.byte(110) = 255; goto waitexam; /*continuing to unbounded code: examineagain from examineob:3-66*/ examineagain: - context.data.byte(237) = 0; - context.data.byte(108) = 0; - context.data.byte(110) = 255; - context.data.byte(111) = 255; - context.data.byte(104) = 0; - context.al = context.data.byte(100); - context.data.byte(102) = context.al; - context.data.byte(89) = 0; - context.data.byte(231) = 0; + context.ds.byte(237) = 0; + context.ds.byte(108) = 0; + context.ds.byte(110) = 255; + context.ds.byte(111) = 255; + context.ds.byte(104) = 0; + context.al = context.ds.byte(100); + context.ds.byte(102) = context.al; + context.ds.byte(89) = 0; + context.ds.byte(231) = 0; createpanel(context); showpanel(context); showman(context); @@ -7345,7 +7345,7 @@ examineagain: obpicture(context); describeob(context); undertextline(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; readmouse(context); showpointer(context); worktoscreen(context); @@ -7357,35 +7357,35 @@ waitexam: dumppointer(context); dumptextline(context); delpointer(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; context.bx = 2494; - context._cmp(context.data.byte(104), 0); + context._cmp(context.ds.byte(104), 0); if (context.flags.z()) goto notuseinv; context.bx = 2556; - context._cmp(context.data.byte(104), 1); + context._cmp(context.ds.byte(104), 1); if (context.flags.z()) goto notuseinv; context.bx = 2618; notuseinv: checkcoords(context); - context._cmp(context.data.byte(108), 0); + context._cmp(context.ds.byte(108), 0); if (context.flags.z()) goto norex; goto examineagain; norex: - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto waitexam; - context.data.byte(106) = 0; - context._cmp(context.data.word(21), 0); + context.ds.byte(106) = 0; + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto iswatching; - context._cmp(context.data.byte(188), 255); + context._cmp(context.ds.byte(188), 255); if (!context.flags.z()) goto justgetback; iswatching: makemainscreen(context); - context.data.byte(104) = 0; - context.data.byte(110) = 255; + context.ds.byte(104) = 0; + context.ds.byte(110) = 255; return; justgetback: - context.data.byte(104) = 0; - context.data.byte(110) = 255; + context.ds.byte(104) = 0; + context.ds.byte(110) = 255; return; examlist: invlist1: @@ -7395,30 +7395,30 @@ withlist1: } static void setpickup(Context & context) { - context._cmp(context.data.byte(102), 1); + context._cmp(context.ds.byte(102), 1); if (context.flags.z()) goto cantpick; - context._cmp(context.data.byte(102), 3); + context._cmp(context.ds.byte(102), 3); if (context.flags.z()) goto cantpick; getanyad(context); - context.al = context.data.byte(context.bx+2); + context.al = context.ds.byte(context.bx+2); context._cmp(context.al, 4); if (!context.flags.z()) goto canpick; cantpick: blank(context); return; canpick: - context._cmp(context.data.byte(100), 209); + context._cmp(context.ds.byte(100), 209); if (context.flags.z()) goto alreadysp; - context.data.byte(100) = 209; - context.bl = context.data.byte(99); - context.bh = context.data.byte(102); + context.ds.byte(100) = 209; + context.bl = context.ds.byte(99); + context.bh = context.ds.byte(102); context.al = 33; commandwithob(context); alreadysp: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._cmp(context.ax, 1); if (!context.flags.z()) goto nosetpick; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (!context.flags.z()) goto dosetpick; nosetpick: return; @@ -7428,39 +7428,39 @@ dosetpick: showman(context); showexit(context); examicon(context); - context.data.byte(106) = 1; - context.data.byte(104) = 2; - context._cmp(context.data.byte(102), 4); + context.ds.byte(106) = 1; + context.ds.byte(104) = 2; + context._cmp(context.ds.byte(102), 4); if (context.flags.z()) goto pickupexob; - context.al = context.data.byte(99); - context.data.byte(89) = context.al; - context.data.byte(110) = 255; + context.al = context.ds.byte(99); + context.ds.byte(89) = context.al; + context.ds.byte(110) = 255; transfertoex(context); - context.data.byte(89) = context.al; - context.data.byte(102) = 4; + context.ds.byte(89) = context.al; + context.ds.byte(102) = 4; geteitherad(context); - context.data.byte(context.bx+2) = 20; - context.data.byte(context.bx+3) = 255; + context.ds.byte(context.bx+2) = 20; + context.ds.byte(context.bx+3) = 255; openinv(context); worktoscreenm(context); return; pickupexob: - context.al = context.data.byte(99); - context.data.byte(89) = context.al; - context.data.byte(110) = 255; + context.al = context.ds.byte(99); + context.ds.byte(89) = context.al; + context.ds.byte(110) = 255; openinv(context); worktoscreenm(context); return; } static void examinventory(Context & context) { - context._cmp(context.data.byte(100), 249); + context._cmp(context.ds.byte(100), 249); if (context.flags.z()) goto alreadyexinv; - context.data.byte(100) = 249; + context.ds.byte(100) = 249; context.al = 32; commandonly(context); alreadyexinv: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (!context.flags.z()) goto doexinv; return; @@ -7470,8 +7470,8 @@ doexinv: showman(context); showexit(context); examicon(context); - context.data.byte(106) = 0; - context.data.byte(104) = 2; + context.ds.byte(106) = 0; + context.ds.byte(104) = 2; openinv(context); worktoscreenm(context); return; @@ -7479,74 +7479,74 @@ doexinv: static void reexfrominv(Context & context) { findinvpos(context); - context.ax = context.data.word(context.bx); - context.data.byte(100) = context.ah; - context.data.byte(99) = context.al; - context.data.byte(108) = 1; - context.data.byte(234) = 0; + context.ax = context.ds.word(context.bx); + context.ds.byte(100) = context.ah; + context.ds.byte(99) = context.al; + context.ds.byte(108) = 1; + context.ds.byte(234) = 0; return; } static void reexfromopen(Context & context) { return; findopenpos(context); - context.ax = context.data.word(context.bx); - context.data.byte(100) = context.ah; - context.data.byte(99) = context.al; - context.data.byte(108) = 1; - context.data.byte(234) = 0; + context.ax = context.ds.word(context.bx); + context.ds.byte(100) = context.ah; + context.ds.byte(99) = context.al; + context.ds.byte(108) = 1; + context.ds.byte(234) = 0; return; } static void swapwithinv(Context & context) { - context.al = context.data.byte(89); - context.ah = context.data.byte(102); - context._cmp(context.ax, context.data.word(94)); + context.al = context.ds.byte(89); + context.ah = context.ds.byte(102); + context._cmp(context.ax, context.ds.word(94)); if (!context.flags.z()) goto difsub7; - context._cmp(context.data.byte(100), 243); + context._cmp(context.ds.byte(100), 243); if (context.flags.z()) goto alreadyswap1; - context.data.byte(100) = 243; + context.ds.byte(100) = 243; difsub7: - context.data.word(94) = context.ax; + context.ds.word(94) = context.ax; context.bx = context.ax; context.al = 34; commandwithob(context); alreadyswap1: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto cantswap1; context._and(context.ax, 1); if (!context.flags.z()) goto doswap1; cantswap1: return; doswap1: - context.ah = context.data.byte(102); - context.al = context.data.byte(89); + context.ah = context.ds.byte(102); + context.al = context.ds.byte(89); context.push(context.ax); findinvpos(context); - context.ax = context.data.word(context.bx); - context.data.byte(89) = context.al; - context.data.byte(102) = context.ah; + context.ax = context.ds.word(context.bx); + context.ds.byte(89) = context.al; + context.ds.byte(102) = context.ah; geteitherad(context); - context.data.byte(context.bx+2) = 20; - context.data.byte(context.bx+3) = 255; - context.bl = context.data.byte(89); - context.bh = context.data.byte(102); + context.ds.byte(context.bx+2) = 20; + context.ds.byte(context.bx+3) = 255; + context.bl = context.ds.byte(89); + context.bh = context.ds.byte(102); context.ax = context.pop(); - context.data.byte(102) = context.ah; - context.data.byte(89) = context.al; + context.ds.byte(102) = context.ah; + context.ds.byte(89) = context.al; context.push(context.bx); findinvpos(context); delpointer(context); - context.al = context.data.byte(89); + context.al = context.ds.byte(89); geteitherad(context); - context.data.byte(context.bx+2) = 4; - context.data.byte(context.bx+3) = 255; - context.al = context.data.byte(107); - context.data.byte(context.bx+4) = context.al; + context.ds.byte(context.bx+2) = 4; + context.ds.byte(context.bx+3) = 255; + context.al = context.ds.byte(107); + context.ds.byte(context.bx+4) = context.al; context.ax = context.pop(); - context.data.byte(102) = context.ah; - context.data.byte(89) = context.al; + context.ds.byte(102) = context.ah; + context.ds.byte(89) = context.al; fillryan(context); readmouse(context); showpointer(context); @@ -7556,21 +7556,21 @@ doswap1: } static void swapwithopen(Context & context) { - context.al = context.data.byte(89); - context.ah = context.data.byte(102); - context._cmp(context.ax, context.data.word(94)); + context.al = context.ds.byte(89); + context.ah = context.ds.byte(102); + context._cmp(context.ax, context.ds.word(94)); if (!context.flags.z()) goto difsub8; - context._cmp(context.data.byte(100), 242); + context._cmp(context.ds.byte(100), 242); if (context.flags.z()) goto alreadyswap2; - context.data.byte(100) = 242; + context.ds.byte(100) = 242; difsub8: - context.data.word(94) = context.ax; + context.ds.word(94) = context.ax; context.bx = context.ax; context.al = 34; commandwithob(context); alreadyswap2: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto cantswap2; context._and(context.ax, 1); if (!context.flags.z()) goto doswap2; @@ -7584,11 +7584,11 @@ doswap2: return; notwornswap: delpointer(context); - context.al = context.data.byte(89); - context._cmp(context.al, context.data.byte(110)); + context.al = context.ds.byte(89); + context._cmp(context.al, context.ds.byte(110)); if (!context.flags.z()) goto isntsame2; - context.al = context.data.byte(102); - context._cmp(context.al, context.data.byte(111)); + context.al = context.ds.byte(102); + context._cmp(context.al, context.ds.byte(111)); if (!context.flags.z()) goto isntsame2; errormessage1(context); return; @@ -7598,46 +7598,46 @@ isntsame2: if (context.flags.z()) goto sizeok2; return; sizeok2: - context.ah = context.data.byte(102); - context.al = context.data.byte(89); + context.ah = context.ds.byte(102); + context.al = context.ds.byte(89); context.push(context.ax); findopenpos(context); - context.ax = context.data.word(context.bx); - context.data.byte(89) = context.al; - context.data.byte(102) = context.ah; + context.ax = context.ds.word(context.bx); + context.ds.byte(89) = context.al; + context.ds.byte(102) = context.ah; context._cmp(context.ah, 4); if (!context.flags.z()) goto makeswapex; geteitherad(context); - context.data.byte(context.bx+2) = 20; - context.data.byte(context.bx+3) = 255; + context.ds.byte(context.bx+2) = 20; + context.ds.byte(context.bx+3) = 255; goto actuallyswap; makeswapex: transfertoex(context); - context.data.byte(89) = context.al; - context.data.byte(102) = 4; + context.ds.byte(89) = context.al; + context.ds.byte(102) = 4; geteitherad(context); - context.data.byte(context.bx+2) = 20; - context.data.byte(context.bx+3) = 255; + context.ds.byte(context.bx+2) = 20; + context.ds.byte(context.bx+3) = 255; actuallyswap: - context.bl = context.data.byte(89); - context.bh = context.data.byte(102); + context.bl = context.ds.byte(89); + context.bh = context.ds.byte(102); context.ax = context.pop(); - context.data.byte(102) = context.ah; - context.data.byte(89) = context.al; + context.ds.byte(102) = context.ah; + context.ds.byte(89) = context.al; context.push(context.bx); findopenpos(context); geteitherad(context); - context.al = context.data.byte(111); - context.data.byte(context.bx+2) = context.al; - context.al = context.data.byte(110); - context.data.byte(context.bx+3) = context.al; - context.al = context.data.byte(107); - context.data.byte(context.bx+4) = context.al; - context.al = context.data.byte(184); - context.data.byte(context.bx+5) = context.al; + context.al = context.ds.byte(111); + context.ds.byte(context.bx+2) = context.al; + context.al = context.ds.byte(110); + context.ds.byte(context.bx+3) = context.al; + context.al = context.ds.byte(107); + context.ds.byte(context.bx+4) = context.al; + context.al = context.ds.byte(184); + context.ds.byte(context.bx+5) = context.al; context.ax = context.pop(); - context.data.byte(102) = context.ah; - context.data.byte(89) = context.al; + context.ds.byte(102) = context.ah; + context.ds.byte(89) = context.al; fillopen(context); fillryan(context); undertextline(context); @@ -7650,33 +7650,33 @@ actuallyswap: } static void intoinv(Context & context) { - context._cmp(context.data.byte(106), 0); + context._cmp(context.ds.byte(106), 0); if (!context.flags.z()) goto notout; outofinv(context); return; notout: findinvpos(context); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.al, 255); if (context.flags.z()) goto canplace1; swapwithinv(context); return; canplace1: - context.al = context.data.byte(89); - context.ah = context.data.byte(102); - context._cmp(context.ax, context.data.word(94)); + context.al = context.ds.byte(89); + context.ah = context.ds.byte(102); + context._cmp(context.ax, context.ds.word(94)); if (!context.flags.z()) goto difsub1; - context._cmp(context.data.byte(100), 220); + context._cmp(context.ds.byte(100), 220); if (context.flags.z()) goto alreadyplce; - context.data.byte(100) = 220; + context.ds.byte(100) = 220; difsub1: - context.data.word(94) = context.ax; + context.ds.word(94) = context.ax; context.bx = context.ax; context.al = 35; commandwithob(context); alreadyplce: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notletgo2; context._and(context.ax, 1); if (!context.flags.z()) goto doplace; @@ -7684,13 +7684,13 @@ notletgo2: return; doplace: delpointer(context); - context.al = context.data.byte(89); + context.al = context.ds.byte(89); getexad(context); - context.data.byte(context.bx+2) = 4; - context.data.byte(context.bx+3) = 255; - context.al = context.data.byte(107); - context.data.byte(context.bx+4) = context.al; - context.data.byte(106) = 0; + context.ds.byte(context.bx+2) = 4; + context.ds.byte(context.bx+3) = 255; + context.al = context.ds.byte(107); + context.ds.byte(context.bx+4) = context.al; + context.ds.byte(106) = 0; fillryan(context); readmouse(context); showpointer(context); @@ -7701,22 +7701,22 @@ doplace: } static void deletetaken(Context & context) { - context.es = context.data.word(426); - context.ah = context.data.byte(184); - context.ds = context.data.word(398); + context.es = context.ds.word(426); + context.ah = context.ds.byte(184); + context.ds = context.ds.word(398); context.si = 0+2080+30000; context.cx = 114; takenloop: - context.al = context.data.byte(context.si+11); + context.al = context.ds.byte(context.si+11); context._cmp(context.al, context.ah); if (!context.flags.z()) goto notinhere; - context.bl = context.data.byte(context.si+1); + context.bl = context.ds.byte(context.si+1); context.bh = 0; context._add(context.bx, context.bx); context._add(context.bx, context.bx); context._add(context.bx, context.bx); context._add(context.bx, context.bx); - context.data.byte(context.bx+2) = 254; + context.ds.byte(context.bx+2) = 254; notinhere: context._add(context.si, 16); if (--context.cx) goto takenloop; @@ -7725,31 +7725,31 @@ notinhere: static void outofinv(Context & context) { findinvpos(context); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.al, 255); if (!context.flags.z()) goto canpick2; blank(context); return; canpick2: - context.bx = context.data.word(202); + context.bx = context.ds.word(202); context._cmp(context.bx, 2); if (!context.flags.z()) goto canpick2a; reexfrominv(context); return; canpick2a: - context._cmp(context.ax, context.data.word(94)); + context._cmp(context.ax, context.ds.word(94)); if (!context.flags.z()) goto difsub3; - context._cmp(context.data.byte(100), 221); + context._cmp(context.ds.byte(100), 221); if (context.flags.z()) goto alreadygrab; - context.data.byte(100) = 221; + context.ds.byte(100) = 221; difsub3: - context.data.word(94) = context.ax; + context.ds.word(94) = context.ax; context.bx = context.ax; context.al = 36; commandwithob(context); alreadygrab: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notletgo; context._and(context.ax, 1); if (!context.flags.z()) goto dograb; @@ -7757,14 +7757,14 @@ notletgo: return; dograb: delpointer(context); - context.data.byte(106) = 1; + context.ds.byte(106) = 1; findinvpos(context); - context.ax = context.data.word(context.bx); - context.data.byte(89) = context.al; - context.data.byte(102) = context.ah; + context.ax = context.ds.word(context.bx); + context.ds.byte(89) = context.al; + context.ds.byte(102) = context.ah; getexad(context); - context.data.byte(context.bx+2) = 20; - context.data.byte(context.bx+3) = 255; + context.ds.byte(context.bx+2) = 20; + context.ds.byte(context.bx+3) = 255; fillryan(context); readmouse(context); showpointer(context); @@ -7779,7 +7779,7 @@ static void getfreead(Context & context) { context.cl = 4; context._shl(context.ax, context.cl); context.bx = context.ax; - context.es = context.data.word(426); + context.es = context.ds.word(426); return; } @@ -7788,41 +7788,41 @@ static void getexad(Context & context) { context.bx = 16; context._mul(context.bx); context.bx = context.ax; - context.es = context.data.word(398); + context.es = context.ds.word(398); context._add(context.bx, 0+2080+30000); return; } static void geteitherad(Context & context) { - context._cmp(context.data.byte(102), 4); + context._cmp(context.ds.byte(102), 4); if (context.flags.z()) goto isinexlist; - context.al = context.data.byte(89); + context.al = context.ds.byte(89); getfreead(context); return; isinexlist: - context.al = context.data.byte(89); + context.al = context.ds.byte(89); getexad(context); return; } static void getanyad(Context & context) { - context._cmp(context.data.byte(102), 4); + context._cmp(context.ds.byte(102), 4); if (context.flags.z()) goto isex; - context._cmp(context.data.byte(102), 2); + context._cmp(context.ds.byte(102), 2); if (context.flags.z()) goto isfree; - context.al = context.data.byte(99); + context.al = context.ds.byte(99); getsetad(context); - context.ax = context.data.word(context.bx+4); + context.ax = context.ds.word(context.bx+4); return; isfree: - context.al = context.data.byte(99); + context.al = context.ds.byte(99); getfreead(context); - context.ax = context.data.word(context.bx+7); + context.ax = context.ds.word(context.bx+7); return; isex: - context.al = context.data.byte(99); + context.al = context.ds.byte(99); getexad(context); - context.ax = context.data.word(context.bx+7); + context.ax = context.ds.word(context.bx+7); return; } @@ -7842,23 +7842,23 @@ isex3: } static void getopenedsize(Context & context) { - context._cmp(context.data.byte(111), 4); + context._cmp(context.ds.byte(111), 4); if (context.flags.z()) goto isex2; - context._cmp(context.data.byte(111), 2); + context._cmp(context.ds.byte(111), 2); if (context.flags.z()) goto isfree2; - context.al = context.data.byte(110); + context.al = context.ds.byte(110); getsetad(context); - context.ax = context.data.word(context.bx+3); + context.ax = context.ds.word(context.bx+3); return; isfree2: - context.al = context.data.byte(110); + context.al = context.ds.byte(110); getfreead(context); - context.ax = context.data.word(context.bx+7); + context.ax = context.ds.word(context.bx+7); return; isex2: - context.al = context.data.byte(110); + context.al = context.ds.byte(110); getexad(context); - context.ax = context.data.word(context.bx+7); + context.ax = context.ds.word(context.bx+7); return; } @@ -7867,40 +7867,40 @@ static void getsetad(Context & context) { context.bx = 64; context._mul(context.bx); context.bx = context.ax; - context.es = context.data.word(428); + context.es = context.ds.word(428); return; } static void findinvpos(Context & context) { - context.cx = context.data.word(198); + context.cx = context.ds.word(198); context._sub(context.cx, 80); context.bx = -1; findinv1: context._add(context.bx, 1); context._sub(context.cx, 44); if (!context.flags.c()) goto findinv1; - context.cx = context.data.word(200); + context.cx = context.ds.word(200); context._sub(context.cx, 58); context._sub(context.bx, 5); findinv2: context._add(context.bx, 5); context._sub(context.cx, 44); if (!context.flags.c()) goto findinv2; - context.al = context.data.byte(19); + context.al = context.ds.byte(19); context.ah = 0; context.cx = 10; context._mul(context.cx); context._add(context.bx, context.ax); context.al = context.bl; - context.data.byte(107) = context.al; + context.ds.byte(107) = context.al; context._add(context.bx, context.bx); - context.es = context.data.word(412); + context.es = context.ds.word(412); context._add(context.bx, 0+(228*13)+32); return; } static void findopenpos(Context & context) { - context.cx = context.data.word(198); + context.cx = context.ds.word(198); context._sub(context.cx, 80); context.bx = -1; findopenp1: @@ -7908,26 +7908,26 @@ findopenp1: context._sub(context.cx, 44); if (!context.flags.c()) goto findopenp1; context.al = context.bl; - context.data.byte(107) = context.al; + context.ds.byte(107) = context.al; context._add(context.bx, context.bx); - context.es = context.data.word(412); + context.es = context.ds.word(412); context._add(context.bx, 0+(228*13)); return; } static void dropobject(Context & context) { - context._cmp(context.data.byte(100), 223); + context._cmp(context.ds.byte(100), 223); if (context.flags.z()) goto alreadydrop; - context.data.byte(100) = 223; - context._cmp(context.data.byte(106), 0); + context.ds.byte(100) = 223; + context._cmp(context.ds.byte(106), 0); if (context.flags.z()) { blank(context); return; }; - context.bl = context.data.byte(89); - context.bh = context.data.byte(102); + context.bl = context.ds.byte(89); + context.bh = context.ds.byte(102); context.al = 37; commandwithob(context); alreadydrop: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nodrop; context._and(context.ax, 1); if (!context.flags.z()) goto dodrop; @@ -7940,11 +7940,11 @@ dodrop: wornerror(context); return; nowornerror: - context._cmp(context.data.byte(184), 47); + context._cmp(context.ds.byte(184), 47); if (context.flags.z()) goto nodrop2; - context.cl = context.data.byte(151); + context.cl = context.ds.byte(151); context._add(context.cl, 12); - context.ch = context.data.byte(152); + context.ch = context.ds.byte(152); context._add(context.ch, 12); checkone(context); context._cmp(context.cl, 2); @@ -7953,14 +7953,14 @@ nodrop2: droperror(context); return; nodroperror: - context._cmp(context.data.byte(128), 64); + context._cmp(context.ds.byte(128), 64); if (!context.flags.z()) goto notinlift; - context._cmp(context.data.byte(129), 64); + context._cmp(context.ds.byte(129), 64); if (!context.flags.z()) goto notinlift; droperror(context); return; notinlift: - context.al = context.data.byte(89); + context.al = context.ds.byte(89); context.ah = 4; context.cl = 'G'; context.ch = 'U'; @@ -7968,7 +7968,7 @@ notinlift: context.dh = 'A'; compare(context); if (context.flags.z()) { cantdrop(context); return; }; - context.al = context.data.byte(89); + context.al = context.ds.byte(89); context.ah = 4; context.cl = 'S'; context.ch = 'H'; @@ -7976,38 +7976,38 @@ notinlift: context.dh = 'D'; compare(context); if (context.flags.z()) { cantdrop(context); return; }; - context.data.byte(102) = 4; - context.al = context.data.byte(89); + context.ds.byte(102) = 4; + context.al = context.ds.byte(89); getexad(context); - context.data.byte(context.bx+2) = 0; - context.al = context.data.byte(151); + context.ds.byte(context.bx+2) = 0; + context.al = context.ds.byte(151); context._add(context.al, 4); context.cl = 4; context._shr(context.al, context.cl); - context._add(context.al, context.data.byte(148)); - context.ah = context.data.byte(152); + context._add(context.al, context.ds.byte(148)); + context.ah = context.ds.byte(152); context._add(context.ah, 8); context.cl = 4; context._shr(context.ah, context.cl); - context._add(context.ah, context.data.byte(149)); - context.data.byte(context.bx+3) = context.al; - context.data.byte(context.bx+5) = context.ah; - context.al = context.data.byte(151); + context._add(context.ah, context.ds.byte(149)); + context.ds.byte(context.bx+3) = context.al; + context.ds.byte(context.bx+5) = context.ah; + context.al = context.ds.byte(151); context._add(context.al, 4); context._and(context.al, 15); - context.ah = context.data.byte(152); + context.ah = context.ds.byte(152); context._add(context.ah, 8); context._and(context.ah, 15); - context.data.byte(context.bx+4) = context.al; - context.data.byte(context.bx+6) = context.ah; - context.data.byte(106) = 0; - context.al = context.data.byte(184); - context.data.byte(context.bx) = context.al; + context.ds.byte(context.bx+4) = context.al; + context.ds.byte(context.bx+6) = context.ah; + context.ds.byte(106) = 0; + context.al = context.ds.byte(184); + context.ds.byte(context.bx) = context.al; return; } static void droperror(Context & context) { - context.data.byte(100) = 255; + context.ds.byte(100) = 255; delpointer(context); context.di = 76; context.bx = 21; @@ -8020,13 +8020,13 @@ static void droperror(Context & context) { showpanel(context); showman(context); examicon(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; worktoscreenm(context); return; } static void cantdrop(Context & context) { - context.data.byte(100) = 255; + context.ds.byte(100) = 255; delpointer(context); context.di = 76; context.bx = 21; @@ -8039,13 +8039,13 @@ static void cantdrop(Context & context) { showpanel(context); showman(context); examicon(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; worktoscreenm(context); return; } static void wornerror(Context & context) { - context.data.byte(100) = 255; + context.ds.byte(100) = 255; delpointer(context); context.di = 76; context.bx = 21; @@ -8058,17 +8058,17 @@ static void wornerror(Context & context) { showpanel(context); showman(context); examicon(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; worktoscreenm(context); return; } static void removeobfrominv(Context & context) { - context._cmp(context.data.byte(99), 100); + context._cmp(context.ds.byte(99), 100); if (context.flags.z()) goto obnotexist; getanyad(context); context.di = context.bx; - context.cl = context.data.byte(99); + context.cl = context.ds.byte(99); context.ch = 0; deleteexobject(context); obnotexist: @@ -8076,33 +8076,33 @@ obnotexist: } static void selectopenob(Context & context) { - context.al = context.data.byte(99); + context.al = context.ds.byte(99); getanyad(context); context._cmp(context.al, 255); if (!context.flags.z()) goto canopenit1; blank(context); return; canopenit1: - context._cmp(context.data.byte(100), 224); + context._cmp(context.ds.byte(100), 224); if (context.flags.z()) goto alreadyopob; - context.data.byte(100) = 224; - context.bl = context.data.byte(99); - context.bh = context.data.byte(102); + context.ds.byte(100) = 224; + context.bl = context.ds.byte(99); + context.bh = context.ds.byte(102); context.al = 38; commandwithob(context); alreadyopob: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto noopenob; context._and(context.ax, 1); if (!context.flags.z()) goto doopenob; noopenob: return; doopenob: - context.al = context.data.byte(99); - context.data.byte(110) = context.al; - context.al = context.data.byte(102); - context.data.byte(111) = context.al; + context.al = context.ds.byte(99); + context.ds.byte(110) = context.al; + context.al = context.ds.byte(102); + context.ds.byte(111) = context.al; createpanel(context); showpanel(context); showman(context); @@ -8119,41 +8119,41 @@ doopenob: } static void useopened(Context & context) { - context._cmp(context.data.byte(110), 255); + context._cmp(context.ds.byte(110), 255); if (context.flags.z()) goto cannotuseopen; - context._cmp(context.data.byte(106), 0); + context._cmp(context.ds.byte(106), 0); if (!context.flags.z()) goto notout2; outofopen(context); return; notout2: findopenpos(context); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.al, 255); if (context.flags.z()) goto canplace3; swapwithopen(context); cannotuseopen: return; canplace3: - context._cmp(context.data.byte(106), 1); + context._cmp(context.ds.byte(106), 1); if (context.flags.z()) goto intoopen; blank(context); return; intoopen: - context.al = context.data.byte(89); - context.ah = context.data.byte(102); - context._cmp(context.ax, context.data.word(94)); + context.al = context.ds.byte(89); + context.ah = context.ds.byte(102); + context._cmp(context.ax, context.ds.word(94)); if (!context.flags.z()) goto difsub2; - context._cmp(context.data.byte(100), 227); + context._cmp(context.ds.byte(100), 227); if (context.flags.z()) goto alreadyplc2; - context.data.byte(100) = 227; + context.ds.byte(100) = 227; difsub2: - context.data.word(94) = context.ax; + context.ds.word(94) = context.ax; context.bx = context.ax; context.al = 35; commandwithob(context); alreadyplc2: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notletgo3; context._cmp(context.ax, 1); if (context.flags.z()) goto doplace2; @@ -8167,11 +8167,11 @@ doplace2: return; notworntoopen: delpointer(context); - context.al = context.data.byte(89); - context._cmp(context.al, context.data.byte(110)); + context.al = context.ds.byte(89); + context._cmp(context.al, context.ds.byte(110)); if (!context.flags.z()) goto isntsame; - context.al = context.data.byte(102); - context._cmp(context.al, context.data.byte(111)); + context.al = context.ds.byte(102); + context._cmp(context.al, context.ds.byte(111)); if (!context.flags.z()) goto isntsame; errormessage1(context); return; @@ -8181,17 +8181,17 @@ isntsame: if (context.flags.z()) goto sizeok1; return; sizeok1: - context.data.byte(106) = 0; - context.al = context.data.byte(89); + context.ds.byte(106) = 0; + context.al = context.ds.byte(89); geteitherad(context); - context.al = context.data.byte(111); - context.data.byte(context.bx+2) = context.al; - context.al = context.data.byte(110); - context.data.byte(context.bx+3) = context.al; - context.al = context.data.byte(107); - context.data.byte(context.bx+4) = context.al; - context.al = context.data.byte(184); - context.data.byte(context.bx+5) = context.al; + context.al = context.ds.byte(111); + context.ds.byte(context.bx+2) = context.al; + context.al = context.ds.byte(110); + context.ds.byte(context.bx+3) = context.al; + context.al = context.ds.byte(107); + context.ds.byte(context.bx+4) = context.al; + context.al = context.ds.byte(184); + context.ds.byte(context.bx+5) = context.al; fillopen(context); undertextline(context); readmouse(context); @@ -8227,7 +8227,7 @@ static void errormessage1(Context & context) { } static void errormessage2(Context & context) { - context.data.byte(100) = 255; + context.ds.byte(100) = 255; delpointer(context); context.di = 76; context.bx = 21; @@ -8275,9 +8275,9 @@ static void errormessage3(Context & context) { static void checkobjectsize(Context & context) { getopenedsize(context); context.push(context.ax); - context.al = context.data.byte(89); + context.al = context.ds.byte(89); geteitherad(context); - context.al = context.data.byte(context.bx+9); + context.al = context.ds.byte(context.bx+9); context.cx = context.pop(); context._cmp(context.al, 255); if (!context.flags.z()) goto notunsized; @@ -8314,29 +8314,29 @@ sizeok: } static void outofopen(Context & context) { - context._cmp(context.data.byte(110), 255); + context._cmp(context.ds.byte(110), 255); if (context.flags.z()) goto cantuseopen; findopenpos(context); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.al, 255); if (!context.flags.z()) goto canpick4; cantuseopen: blank(context); return; canpick4: - context._cmp(context.ax, context.data.word(94)); + context._cmp(context.ax, context.ds.word(94)); if (!context.flags.z()) goto difsub4; - context._cmp(context.data.byte(100), 228); + context._cmp(context.ds.byte(100), 228); if (context.flags.z()) goto alreadygrb; - context.data.byte(100) = 228; + context.ds.byte(100) = 228; difsub4: - context.data.word(94) = context.ax; + context.ds.word(94) = context.ax; context.bx = context.ax; context.al = 36; commandwithob(context); alreadygrb: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notletgo4; context._cmp(context.ax, 1); if (context.flags.z()) goto dogrb; @@ -8347,24 +8347,24 @@ notletgo4: return; dogrb: delpointer(context); - context.data.byte(106) = 1; + context.ds.byte(106) = 1; findopenpos(context); - context.ax = context.data.word(context.bx); - context.data.byte(89) = context.al; - context.data.byte(102) = context.ah; + context.ax = context.ds.word(context.bx); + context.ds.byte(89) = context.al; + context.ds.byte(102) = context.ah; context._cmp(context.ah, 4); if (!context.flags.z()) goto makeintoex; geteitherad(context); - context.data.byte(context.bx+2) = 20; - context.data.byte(context.bx+3) = 255; + context.ds.byte(context.bx+2) = 20; + context.ds.byte(context.bx+3) = 255; goto actuallyout; makeintoex: transfertoex(context); - context.data.byte(89) = context.al; - context.data.byte(102) = 4; + context.ds.byte(89) = context.al; + context.ds.byte(102) = 4; geteitherad(context); - context.data.byte(context.bx+2) = 20; - context.data.byte(context.bx+3) = 255; + context.ds.byte(context.bx+2) = 20; + context.ds.byte(context.bx+3) = 255; actuallyout: fillopen(context); undertextline(context); @@ -8379,52 +8379,52 @@ actuallyout: static void transfertoex(Context & context) { emergencypurge(context); getexpos(context); - context.al = context.data.byte(10); + context.al = context.ds.byte(10); context.push(context.ax); context.push(context.di); - context.al = context.data.byte(89); + context.al = context.ds.byte(89); context.ah = 0; context.bx = 16; context._mul(context.bx); - context.ds = context.data.word(426); + context.ds = context.ds.word(426); context.si = context.ax; context.cx = 8; while(--context.cx) context._movsw(); context.di = context.pop(); - context.al = context.data.byte(184); - context.data.byte(context.di) = context.al; - context.data.byte(context.di+11) = context.al; - context.al = context.data.byte(89); - context.data.byte(context.di+1) = context.al; - context.data.byte(context.di+2) = 4; - context.data.byte(context.di+3) = 255; - context.al = context.data.byte(107); - context.data.byte(context.di+4) = context.al; - context.al = context.data.byte(89); - context.data.byte(90) = context.al; + context.al = context.ds.byte(184); + context.ds.byte(context.di) = context.al; + context.ds.byte(context.di+11) = context.al; + context.al = context.ds.byte(89); + context.ds.byte(context.di+1) = context.al; + context.ds.byte(context.di+2) = 4; + context.ds.byte(context.di+3) = 255; + context.al = context.ds.byte(107); + context.ds.byte(context.di+4) = context.al; + context.al = context.ds.byte(89); + context.ds.byte(90) = context.al; transfermap(context); transferinv(context); transfertext(context); - context.al = context.data.byte(89); + context.al = context.ds.byte(89); context.ah = 0; context.bx = 16; context._mul(context.bx); - context.ds = context.data.word(426); + context.ds = context.ds.word(426); context.si = context.ax; - context.data.byte(context.si+2) = 254; + context.ds.byte(context.si+2) = 254; pickupconts(context); context.ax = context.pop(); return; } static void pickupconts(Context & context) { - context.al = context.data.byte(context.si+7); + context.al = context.ds.byte(context.si+7); context._cmp(context.al, 255); if (context.flags.z()) goto notopenable; - context.al = context.data.byte(89); - context.ah = context.data.byte(102); - context.dl = context.data.byte(10); - context.es = context.data.word(426); + context.al = context.ds.byte(89); + context.ah = context.ds.byte(102); + context.dl = context.ds.byte(10); + context.es = context.ds.word(426); context.bx = 0; context.cx = 0; pickupcontloop: @@ -8433,11 +8433,11 @@ pickupcontloop: context.push(context.bx); context.push(context.dx); context.push(context.ax); - context._cmp(context.data.byte(context.bx+2), context.ah); + context._cmp(context.ds.byte(context.bx+2), context.ah); if (!context.flags.z()) goto notinsidethis; - context._cmp(context.data.byte(context.bx+3), context.al); + context._cmp(context.ds.byte(context.bx+3), context.al); if (!context.flags.z()) goto notinsidethis; - context.data.byte(90) = context.cl; + context.ds.byte(90) = context.cl; transfercontoex(context); notinsidethis: context.ax = context.pop(); @@ -8467,76 +8467,76 @@ static void transfercontoex(Context & context) { while(--context.cx) context._movsw(); context.di = context.pop(); context.dx = context.pop(); - context.al = context.data.byte(184); - context.data.byte(context.di) = context.al; - context.data.byte(context.di+11) = context.al; - context.al = context.data.byte(90); - context.data.byte(context.di+1) = context.al; - context.data.byte(context.di+3) = context.dl; - context.data.byte(context.di+2) = 4; + context.al = context.ds.byte(184); + context.ds.byte(context.di) = context.al; + context.ds.byte(context.di+11) = context.al; + context.al = context.ds.byte(90); + context.ds.byte(context.di+1) = context.al; + context.ds.byte(context.di+3) = context.dl; + context.ds.byte(context.di+2) = 4; transfermap(context); transferinv(context); transfertext(context); context.si = context.pop(); context.ds = context.pop(); - context.data.byte(context.si+2) = 255; + context.ds.byte(context.si+2) = 255; return; } static void transfertext(Context & context) { - context.es = context.data.word(398); - context.al = context.data.byte(10); + context.es = context.ds.word(398); + context.al = context.ds.byte(10); context.ah = 0; context._add(context.ax, context.ax); context.bx = 0+2080+30000+(16*114); context._add(context.bx, context.ax); - context.di = context.data.word(14); - context.data.word(context.bx) = context.di; + context.di = context.ds.word(14); + context.ds.word(context.bx) = context.di; context._add(context.di, 0+2080+30000+(16*114)+((114+2)*2)); - context.al = context.data.byte(90); + context.al = context.ds.byte(90); context.ah = 0; context._add(context.ax, context.ax); - context.ds = context.data.word(438); + context.ds = context.ds.word(438); context.bx = 0; context._add(context.bx, context.ax); context.si = 0+(82*2); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.si, context.ax); moretext: context._lodsb(); context._stosb(); - context._add(context.data.word(14), 1); + context._add(context.ds.word(14), 1); context._cmp(context.al, 0); if (!context.flags.z()) goto moretext; return; } static void getexpos(Context & context) { - context.es = context.data.word(398); + context.es = context.ds.word(398); context.al = 0; context.di = 0+2080+30000; tryanotherex: - context._cmp(context.data.byte(context.di+2), 255); + context._cmp(context.ds.byte(context.di+2), 255); if (context.flags.z()) goto foundnewex; context._add(context.di, 16); context._add(context.al, 1); context._cmp(context.al, 114); if (!context.flags.z()) goto tryanotherex; foundnewex: - context.data.byte(10) = context.al; + context.ds.byte(10) = context.al; return; } static void purgealocation(Context & context) { context.push(context.ax); - context.es = context.data.word(398); + context.es = context.ds.word(398); context.di = 0+2080+30000; context.bx = context.pop(); context.cx = 0; purgeloc: - context._cmp(context.bl, context.data.byte(context.di+0)); + context._cmp(context.bl, context.ds.byte(context.di+0)); if (!context.flags.z()) goto dontpurge; - context._cmp(context.data.byte(context.di+2), 0); + context._cmp(context.ds.byte(context.di+2), 0); if (!context.flags.z()) goto dontpurge; context.push(context.di); context.push(context.es); @@ -8557,14 +8557,14 @@ dontpurge: static void emergencypurge(Context & context) { checkpurgeagain: - context.ax = context.data.word(12); + context.ax = context.ds.word(12); context._add(context.ax, 4000); context._cmp(context.ax, 30000); if (context.flags.c()) goto notnearframeend; purgeanitem(context); goto checkpurgeagain; notnearframeend: - context.ax = context.data.word(14); + context.ax = context.ds.word(14); context._add(context.ax, 400); context._cmp(context.ax, 18000); if (context.flags.c()) goto notneartextend; @@ -8575,20 +8575,20 @@ notneartextend: } static void purgeanitem(Context & context) { - context.es = context.data.word(398); + context.es = context.ds.word(398); context.di = 0+2080+30000; - context.bl = context.data.byte(184); + context.bl = context.ds.byte(184); context.cx = 0; lookforpurge: - context.al = context.data.byte(context.di+2); + context.al = context.ds.byte(context.di+2); context._cmp(context.al, 0); if (!context.flags.z()) goto cantpurge; - context._cmp(context.data.byte(context.di+12), 2); + context._cmp(context.ds.byte(context.di+12), 2); if (context.flags.z()) goto iscup; - context._cmp(context.data.byte(context.di+12), 255); + context._cmp(context.ds.byte(context.di+12), 255); if (!context.flags.z()) goto cantpurge; iscup: - context._cmp(context.data.byte(context.di+11), context.bl); + context._cmp(context.ds.byte(context.di+11), context.bl); if (context.flags.z()) goto cantpurge; deleteexobject(context); return; @@ -8598,13 +8598,13 @@ cantpurge: context._cmp(context.cx, 114); if (!context.flags.z()) goto lookforpurge; context.di = 0+2080+30000; - context.bl = context.data.byte(184); + context.bl = context.ds.byte(184); context.cx = 0; lookforpurge2: - context.al = context.data.byte(context.di+2); + context.al = context.ds.byte(context.di+2); context._cmp(context.al, 0); if (!context.flags.z()) goto cantpurge2; - context._cmp(context.data.byte(context.di+12), 255); + context._cmp(context.ds.byte(context.di+12), 255); if (!context.flags.z()) goto cantpurge2; deleteexobject(context); return; @@ -8643,7 +8643,7 @@ static void deleteexobject(Context & context) { context.di = 0+2080+30000; context.cx = 0; deleteconts: - context._cmp(context.data.word(context.di+2), context.bx); + context._cmp(context.ds.word(context.di+2), context.bx); if (!context.flags.z()) goto notinsideex; context.push(context.bx); context.push(context.cx); @@ -8667,33 +8667,33 @@ static void deleteexframe(Context & context) { context._add(context.di, context.ax); context._add(context.ax, context.ax); context._add(context.di, context.ax); - context.al = context.data.byte(context.di); + context.al = context.ds.byte(context.di); context.ah = 0; - context.cl = context.data.byte(context.di+1); + context.cl = context.ds.byte(context.di+1); context.ch = 0; context._mul(context.cx); - context.si = context.data.word(context.di+2); + context.si = context.ds.word(context.di+2); context.push(context.si); context._add(context.si, 0+2080); context.cx = 30000; - context._sub(context.cx, context.data.word(context.di+2)); + context._sub(context.cx, context.ds.word(context.di+2)); context.di = context.si; context._add(context.si, context.ax); context.push(context.ax); context.ds = context.es; while(--context.cx) context._movsb(); context.bx = context.pop(); - context._sub(context.data.word(12), context.bx); + context._sub(context.ds.word(12), context.bx); context.si = context.pop(); context.cx = 114*3; context.di = 0; shuffleadsdown: - context.ax = context.data.word(context.di+2); + context.ax = context.ds.word(context.di+2); context._cmp(context.ax, context.si); if (context.flags.c()) goto beforethisone; context._sub(context.ax, context.bx); beforethisone: - context.data.word(context.di+2) = context.ax; + context.ds.word(context.di+2) = context.ax; context._add(context.di, 6); if (--context.cx) goto shuffleadsdown; return; @@ -8704,14 +8704,14 @@ static void deleteextext(Context & context) { context.ah = 0; context._add(context.ax, context.ax); context._add(context.di, context.ax); - context.ax = context.data.word(context.di); + context.ax = context.ds.word(context.di); context.si = context.ax; context.di = context.ax; context._add(context.si, 0+2080+30000+(16*114)+((114+2)*2)); context._add(context.di, 0+2080+30000+(16*114)+((114+2)*2)); context.ax = 0; findlenextext: - context.cl = context.data.byte(context.si); + context.cl = context.ds.byte(context.si); context._add(context.ax, 1); context._add(context.si, 1); context._cmp(context.cl, 0); @@ -8724,17 +8724,17 @@ findlenextext: context._sub(context.cx, context.bx); while(--context.cx) context._movsb(); context.bx = context.pop(); - context._sub(context.data.word(14), context.bx); + context._sub(context.ds.word(14), context.bx); context.si = context.pop(); context.cx = 114; context.di = 0+2080+30000+(16*114); shuffletextads: - context.ax = context.data.word(context.di); + context.ax = context.ds.word(context.di); context._cmp(context.ax, context.si); if (context.flags.c()) goto beforethistext; context._sub(context.ax, context.bx); beforethistext: - context.data.word(context.di) = context.ax; + context.ds.word(context.di) = context.ax; context._add(context.di, 2); if (--context.cx) goto shuffletextads; return; @@ -8743,7 +8743,7 @@ beforethistext: static void blockget(Context & context) { context.ah = context.al; context.al = 0; - context.ds = context.data.word(416); + context.ds = context.ds.word(416); context.si = 0+192; context._add(context.si, context.ax); return; @@ -8761,7 +8761,7 @@ static void drawfloor(Context & context) { showallex(context); paneltomap(context); initrain(context); - context.data.byte(62) = 0; + context.ds.byte(62) = 0; context.bx = context.pop(); context.es = context.pop(); return; @@ -8778,8 +8778,8 @@ static void calcmapad(Context & context) { context.ax.cbw(); context.bx = 8; context._mul(context.bx); - context._add(context.ax, context.data.word(121)); - context.data.word(117) = context.ax; + context._add(context.ax, context.ds.word(121)); + context.ds.word(117) = context.ax; context.dx = context.pop(); context.cx = context.pop(); context.al = 10; @@ -8789,13 +8789,13 @@ static void calcmapad(Context & context) { context.ax.cbw(); context.bx = 8; context._mul(context.bx); - context._add(context.ax, context.data.word(123)); - context.data.word(119) = context.ax; + context._add(context.ax, context.ds.word(123)); + context.ds.word(119) = context.ax; return; } static void getdimension(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32); context.ch = 0; dimloop1: @@ -8847,14 +8847,14 @@ finishdim4: context._shl(context.ax, 1); context._shl(context.ax, 1); context._shl(context.ax, 1); - context.data.word(125) = context.ax; + context.ds.word(125) = context.ax; context.al = context.ch; context.ah = 0; context._shl(context.ax, 1); context._shl(context.ax, 1); context._shl(context.ax, 1); context._shl(context.ax, 1); - context.data.word(127) = context.ax; + context.ds.word(127) = context.ax; context._sub(context.dl, context.cl); context._sub(context.dh, context.ch); context.al = context.dl; @@ -8863,21 +8863,21 @@ finishdim4: context._shl(context.ax, 1); context._shl(context.ax, 1); context._shl(context.ax, 1); - context.data.byte(128) = context.al; + context.ds.byte(128) = context.al; context.al = context.dh; context.ah = 0; context._shl(context.ax, 1); context._shl(context.ax, 1); context._shl(context.ax, 1); context._shl(context.ax, 1); - context.data.byte(129) = context.al; + context.ds.byte(129) = context.al; return; } static void addalong(Context & context) { context.ah = 11; addloop: - context._cmp(context.data.byte(context.bx), 0); + context._cmp(context.ds.byte(context.bx), 0); if (!context.flags.z()) goto gotalong; context._add(context.bx, 3); context._sub(context.ah, 1); @@ -8892,7 +8892,7 @@ gotalong: static void addlength(Context & context) { context.ah = 10; addloop2: - context._cmp(context.data.byte(context.bx), 0); + context._cmp(context.ds.byte(context.bx), 0); if (!context.flags.z()) goto gotlength; context._add(context.bx, 3*11); context._sub(context.ah, 1); @@ -8905,13 +8905,13 @@ gotlength: } static void drawflags(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32); - context.al = context.data.byte(149); + context.al = context.ds.byte(149); context.ah = 0; context.cx = 66; context._mul(context.cx); - context.bl = context.data.byte(148); + context.bl = context.ds.byte(148); context.bh = 0; context._add(context.ax, context.bx); context.si = 0; @@ -8921,9 +8921,9 @@ _tmp28: context.push(context.cx); context.cx = 11; _tmp28a: - context.ds = context.data.word(418); + context.ds = context.ds.word(418); context._lodsb(); - context.ds = context.data.word(416); + context.ds = context.ds.word(416); context.push(context.si); context.push(context.ax); context.ah = 0; @@ -8942,15 +8942,15 @@ _tmp28a: } static void eraseoldobs(Context & context) { - context._cmp(context.data.byte(62), 0); + context._cmp(context.ds.byte(62), 0); if (context.flags.z()) goto donterase; - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768; context.cx = 16; oberase: context.push(context.cx); context.push(context.bx); - context.ax = context.data.word(context.bx+20); + context.ax = context.ds.word(context.bx+20); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto notthisob; context.di = context.bx; @@ -8967,21 +8967,21 @@ donterase: } static void showallobs(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32); - context.data.word(18) = context.bx; + context.ds.word(18) = context.bx; context.di = context.bx; context.cx = 128*5; context.al = 255; while(--context.cx) context._stosb(); - context.es = context.data.word(444); - context.data.word(166) = context.es; + context.es = context.ds.word(444); + context.ds.word(166) = context.es; context.ax = 0; - context.data.word(164) = context.ax; + context.ds.word(164) = context.ax; context.ax = 0+2080; - context.data.word(162) = context.ax; - context.data.byte(181) = 0; - context.ds = context.data.word(428); + context.ds.word(162) = context.ax; + context.ds.byte(181) = 0; + context.ds = context.ds.word(428); context.si = 0; context.cx = 128; showobsloop: @@ -8989,14 +8989,14 @@ showobsloop: context.push(context.si); context.push(context.si); context._add(context.si, 58); - context.es = context.data.word(428); + context.es = context.ds.word(428); getmapad(context); context.si = context.pop(); context._cmp(context.ch, 0); if (context.flags.z()) goto blankframe; - context.al = context.data.byte(context.si+18); + context.al = context.ds.byte(context.si+18); context.ah = 0; - context.data.word(160) = context.ax; + context.ds.word(160) = context.ax; context._cmp(context.al, 255); if (context.flags.z()) goto blankframe; context.push(context.es); @@ -9005,39 +9005,39 @@ showobsloop: finalframe(context); context.si = context.pop(); context.es = context.pop(); - context.al = context.data.byte(context.si+18); - context.data.byte(context.si+17) = context.al; - context._cmp(context.data.byte(context.si+8), 0); + context.al = context.ds.byte(context.si+18); + context.ds.byte(context.si+17) = context.al; + context._cmp(context.ds.byte(context.si+8), 0); if (!context.flags.z()) goto animating; - context._cmp(context.data.byte(context.si+5), 5); + context._cmp(context.ds.byte(context.si+5), 5); if (context.flags.z()) goto animating; - context._cmp(context.data.byte(context.si+5), 6); + context._cmp(context.ds.byte(context.si+5), 6); if (context.flags.z()) goto animating; - context.ax = context.data.word(160); + context.ax = context.ds.word(160); context.ah = 0; - context._add(context.di, context.data.word(117)); - context._add(context.bx, context.data.word(119)); + context._add(context.di, context.ds.word(117)); + context._add(context.bx, context.ds.word(119)); showframe(context); goto drawnsetob; animating: makebackob(context); drawnsetob: - context.si = context.data.word(18); - context.es = context.data.word(412); - context.al = context.data.byte(179); - context.ah = context.data.byte(180); - context.data.word(context.si) = context.ax; + context.si = context.ds.word(18); + context.es = context.ds.word(412); + context.al = context.ds.byte(179); + context.ah = context.ds.byte(180); + context.ds.word(context.si) = context.ax; context.cx = context.ax; - context.ax = context.data.word(176); + context.ax = context.ds.word(176); context._add(context.al, context.cl); context._add(context.ah, context.ch); - context.data.word(context.si+2) = context.ax; - context.al = context.data.byte(181); - context.data.byte(context.si+4) = context.al; + context.ds.word(context.si+2) = context.ax; + context.al = context.ds.byte(181); + context.ds.byte(context.si+4) = context.al; context._add(context.si, 5); - context.data.word(18) = context.si; + context.ds.word(18) = context.si; blankframe: - context._add(context.data.byte(181), 1); + context._add(context.ds.byte(181), 1); context.si = context.pop(); context.cx = context.pop(); context._add(context.si, 64); @@ -9049,106 +9049,106 @@ finishedsetobs: } static void makebackob(Context & context) { - context._cmp(context.data.byte(62), 0); + context._cmp(context.ds.byte(62), 0); if (context.flags.z()) goto nomake; - context.al = context.data.byte(context.si+5); - context.ah = context.data.byte(context.si+8); + context.al = context.ds.byte(context.si+5); + context.ah = context.ds.byte(context.si+8); context.push(context.si); context.push(context.ax); context.push(context.si); - context.ax = context.data.word(168); - context.bx = context.data.word(170); + context.ax = context.ds.word(168); + context.bx = context.ds.word(170); context.ah = context.bl; context.si = context.ax; context.cx = 49520; - context.dx = context.data.word(444); + context.dx = context.ds.word(444); context.di = 0; makesprite(context); context.ax = context.pop(); - context.data.word(context.bx+20) = context.ax; + context.ds.word(context.bx+20) = context.ax; context.ax = context.pop(); context._cmp(context.al, 255); if (!context.flags.z()) goto usedpriority; context.al = 0; usedpriority: - context.data.byte(context.bx+23) = context.al; - context.data.byte(context.bx+30) = context.ah; - context.data.byte(context.bx+16) = 0; - context.data.byte(context.bx+18) = 0; - context.data.byte(context.bx+19) = 0; + context.ds.byte(context.bx+23) = context.al; + context.ds.byte(context.bx+30) = context.ah; + context.ds.byte(context.bx+16) = 0; + context.ds.byte(context.bx+18) = 0; + context.ds.byte(context.bx+19) = 0; context.si = context.pop(); nomake: return; } static void showallfree(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5); - context.data.word(18) = context.bx; + context.ds.word(18) = context.bx; context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5); context.cx = 80*5; context.al = 255; while(--context.cx) context._stosb(); - context.es = context.data.word(446); - context.data.word(166) = context.es; + context.es = context.ds.word(446); + context.ds.word(166) = context.es; context.ax = 0; - context.data.word(164) = context.ax; + context.ds.word(164) = context.ax; context.ax = 0+2080; - context.data.word(162) = context.ax; + context.ds.word(162) = context.ax; context.al = 0; - context.data.byte(158) = context.al; - context.ds = context.data.word(426); + context.ds.byte(158) = context.al; + context.ds = context.ds.word(426); context.si = 2; context.cx = 0; loop127: context.push(context.cx); context.push(context.si); context.push(context.si); - context.es = context.data.word(426); + context.es = context.ds.word(426); getmapad(context); context.si = context.pop(); context._cmp(context.ch, 0); if (context.flags.z()) goto over138; - context.al = context.data.byte(158); + context.al = context.ds.byte(158); context.ah = 0; context.dx = context.ax; context._add(context.ax, context.ax); context._add(context.ax, context.dx); - context.data.word(160) = context.ax; + context.ds.word(160) = context.ax; context.push(context.es); context.push(context.si); calcfrframe(context); - context.es = context.data.word(402); - context.ds = context.data.word(166); + context.es = context.ds.word(402); + context.ds = context.ds.word(166); finalframe(context); context.si = context.pop(); context.es = context.pop(); context._cmp(context.cx, 0); if (context.flags.z()) goto over138; - context.ax = context.data.word(160); + context.ax = context.ds.word(160); context.ah = 0; - context._add(context.di, context.data.word(117)); - context._add(context.bx, context.data.word(119)); + context._add(context.di, context.ds.word(117)); + context._add(context.bx, context.ds.word(119)); showframe(context); - context.si = context.data.word(18); - context.es = context.data.word(412); - context.al = context.data.byte(179); - context.ah = context.data.byte(180); - context.data.word(context.si) = context.ax; + context.si = context.ds.word(18); + context.es = context.ds.word(412); + context.al = context.ds.byte(179); + context.ah = context.ds.byte(180); + context.ds.word(context.si) = context.ax; context.cx = context.ax; - context.ax = context.data.word(176); + context.ax = context.ds.word(176); context._add(context.al, context.cl); context._add(context.ah, context.ch); - context.data.word(context.si+2) = context.ax; + context.ds.word(context.si+2) = context.ax; context.ax = context.pop(); context.cx = context.pop(); context.push(context.cx); context.push(context.ax); - context.data.byte(context.si+4) = context.cl; + context.ds.byte(context.si+4) = context.cl; context._add(context.si, 5); - context.data.word(18) = context.si; + context.ds.word(18) = context.si; over138: - context._add(context.data.byte(158), 1); + context._add(context.ds.byte(158), 1); context.si = context.pop(); context.cx = context.pop(); context._add(context.si, 16); @@ -9161,78 +9161,78 @@ finfree: } static void showallex(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5); - context.data.word(18) = context.bx; + context.ds.word(18) = context.bx; context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5); context.cx = 100*5; context.al = 255; while(--context.cx) context._stosb(); - context.es = context.data.word(398); - context.data.word(166) = context.es; + context.es = context.ds.word(398); + context.ds.word(166) = context.es; context.ax = 0; - context.data.word(164) = context.ax; + context.ds.word(164) = context.ax; context.ax = 0+2080; - context.data.word(162) = context.ax; - context.data.byte(157) = 0; + context.ds.word(162) = context.ax; + context.ds.byte(157) = 0; context.si = 0+2080+30000+2; context.cx = 0; exloop: context.push(context.cx); context.push(context.si); - context.es = context.data.word(398); + context.es = context.ds.word(398); context.push(context.si); context.ch = 0; - context._cmp(context.data.byte(context.si), 255); + context._cmp(context.ds.byte(context.si), 255); if (context.flags.z()) goto notinroom; - context.al = context.data.byte(context.si-2); - context._cmp(context.al, context.data.byte(184)); + context.al = context.ds.byte(context.si-2); + context._cmp(context.al, context.ds.byte(184)); if (!context.flags.z()) goto notinroom; getmapad(context); notinroom: context.si = context.pop(); context._cmp(context.ch, 0); if (context.flags.z()) goto blankex; - context.al = context.data.byte(157); + context.al = context.ds.byte(157); context.ah = 0; context.dx = context.ax; context._add(context.ax, context.ax); context._add(context.ax, context.dx); - context.data.word(160) = context.ax; + context.ds.word(160) = context.ax; context.push(context.es); context.push(context.si); calcfrframe(context); - context.es = context.data.word(402); - context.ds = context.data.word(166); + context.es = context.ds.word(402); + context.ds = context.ds.word(166); finalframe(context); context.si = context.pop(); context.es = context.pop(); context._cmp(context.cx, 0); if (context.flags.z()) goto blankex; - context.ax = context.data.word(160); + context.ax = context.ds.word(160); context.ah = 0; - context._add(context.di, context.data.word(117)); - context._add(context.bx, context.data.word(119)); + context._add(context.di, context.ds.word(117)); + context._add(context.bx, context.ds.word(119)); showframe(context); - context.si = context.data.word(18); - context.es = context.data.word(412); - context.al = context.data.byte(179); - context.ah = context.data.byte(180); - context.data.word(context.si) = context.ax; + context.si = context.ds.word(18); + context.es = context.ds.word(412); + context.al = context.ds.byte(179); + context.ah = context.ds.byte(180); + context.ds.word(context.si) = context.ax; context.cx = context.ax; - context.ax = context.data.word(176); + context.ax = context.ds.word(176); context._add(context.al, context.cl); context._add(context.ah, context.ch); - context.data.word(context.si+2) = context.ax; + context.ds.word(context.si+2) = context.ax; context.ax = context.pop(); context.cx = context.pop(); context.push(context.cx); context.push(context.ax); - context.data.byte(context.si+4) = context.cl; + context.ds.byte(context.si+4) = context.cl; context._add(context.si, 5); - context.data.word(18) = context.si; + context.ds.word(18) = context.si; blankex: - context._add(context.data.byte(157), 1); + context._add(context.ds.byte(157), 1); context.si = context.pop(); context.cx = context.pop(); context._add(context.si, 16); @@ -9245,49 +9245,49 @@ finex: } static void calcfrframe(Context & context) { - context.dx = context.data.word(166); - context.ax = context.data.word(162); + context.dx = context.ds.word(166); + context.ax = context.ds.word(162); context.push(context.ax); - context.cx = context.data.word(164); - context.ax = context.data.word(160); + context.cx = context.ds.word(164); + context.ax = context.ds.word(160); context.ds = context.dx; context.bx = 6; context._mul(context.bx); context._add(context.ax, context.cx); context.bx = context.ax; - context.cx = context.data.word(context.bx); - context.ax = context.data.word(context.bx+2); - context.dx = context.data.word(context.bx+4); + context.cx = context.ds.word(context.bx); + context.ax = context.ds.word(context.bx+2); + context.dx = context.ds.word(context.bx+4); context.bx = context.pop(); context.push(context.dx); context._add(context.ax, context.bx); - context.data.word(178) = context.ax; - context.data.word(176) = context.cx; + context.ds.word(178) = context.ax; + context.ds.word(176) = context.cx; context.ax = context.pop(); context.push(context.ax); context.ah = 0; - context.data.word(172) = context.ax; + context.ds.word(172) = context.ax; context.ax = context.pop(); context.al = context.ah; context.ah = 0; - context.data.word(174) = context.ax; + context.ds.word(174) = context.ax; return; nullframe: context.ax = context.pop(); context.cx = 0; - context.data.word(176) = context.cx; + context.ds.word(176) = context.cx; return; } static void finalframe(Context & context) { - context.ax = context.data.word(170); - context._add(context.ax, context.data.word(174)); - context.bx = context.data.word(168); - context._add(context.bx, context.data.word(172)); - context.data.byte(179) = context.bl; - context.data.byte(180) = context.al; - context.di = context.data.word(168); - context.bx = context.data.word(170); + context.ax = context.ds.word(170); + context._add(context.ax, context.ds.word(174)); + context.bx = context.ds.word(168); + context._add(context.bx, context.ds.word(172)); + context.ds.byte(179) = context.bl; + context.ds.byte(180) = context.al; + context.di = context.ds.word(168); + context.bx = context.ds.word(170); return; } @@ -9307,26 +9307,26 @@ static void getmapad(Context & context) { getxad(context); context._cmp(context.ch, 0); if (context.flags.z()) goto over146; - context.data.word(168) = context.ax; + context.ds.word(168) = context.ax; getyad(context); context._cmp(context.ch, 0); if (context.flags.z()) goto over146; - context.data.word(170) = context.ax; + context.ds.word(170) = context.ax; context.ch = 1; over146: return; } static void getxad(Context & context) { - context.cl = context.data.byte(context.si); + context.cl = context.ds.byte(context.si); context._add(context.si, 1); - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 1); - context.ah = context.data.byte(context.si); + context.ah = context.ds.byte(context.si); context._add(context.si, 1); context._cmp(context.cl, 0); if (!context.flags.z()) goto over148; - context._sub(context.al, context.data.byte(148)); + context._sub(context.al, context.ds.byte(148)); if (context.flags.c()) goto over148; context._cmp(context.al, 11); if (!context.flags.c()) goto over148; @@ -9342,11 +9342,11 @@ over148: } static void getyad(Context & context) { - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 1); - context.ah = context.data.byte(context.si); + context.ah = context.ds.byte(context.si); context._add(context.si, 1); - context._sub(context.al, context.data.byte(149)); + context._sub(context.al, context.ds.byte(149)); if (context.flags.c()) goto over147; context._cmp(context.al, 10); if (!context.flags.c()) goto over147; @@ -9362,40 +9362,40 @@ over147: } static void autolook(Context & context) { - context.ax = context.data.word(198); - context._cmp(context.ax, context.data.word(214)); + context.ax = context.ds.word(198); + context._cmp(context.ax, context.ds.word(214)); if (!context.flags.z()) goto diffmouse; - context.ax = context.data.word(200); - context._cmp(context.ax, context.data.word(216)); + context.ax = context.ds.word(200); + context._cmp(context.ax, context.ds.word(216)); if (!context.flags.z()) goto diffmouse; - context._sub(context.data.word(98), 1); - context._cmp(context.data.word(98), 0); + context._sub(context.ds.word(98), 1); + context._cmp(context.ds.word(98), 0); if (!context.flags.z()) goto noautolook; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto noautolook; dolook(context); noautolook: return; diffmouse: - context.data.word(98) = 1000; + context.ds.word(98) = 1000; return; } static void look(Context & context) { - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(234), 2); + context._cmp(context.ds.byte(234), 2); if (context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 241); + context._cmp(context.ds.byte(100), 241); if (context.flags.z()) goto alreadylook; - context.data.byte(100) = 241; + context.ds.byte(100) = 241; context.al = 25; commandonly(context); alreadylook: - context._cmp(context.data.word(202), 1); + context._cmp(context.ds.word(202), 1); if (!context.flags.z()) goto nolook; - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nolook; dolook(context); nolook: @@ -9407,19 +9407,19 @@ static void dolook(Context & context) { showicon(context); undertextline(context); worktoscreenm(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; dumptextline(context); - context.bl = context.data.byte(185); + context.bl = context.ds.byte(185); context._and(context.bl, 31); context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(436); + context.es = context.ds.word(436); context._add(context.bx, 0); - context.si = context.data.word(context.bx); + context.si = context.ds.word(context.bx); context._add(context.si, 0+(38*2)); findnextcolon(context); context.di = 66; - context._cmp(context.data.byte(184), 50); + context._cmp(context.ds.byte(184), 50); if (context.flags.c()) goto notdream3; context.di = 40; notdream3: @@ -9431,17 +9431,17 @@ notdream3: context.cx = 400; hangonp(context); afterlook: - context.data.byte(234) = 0; - context.data.byte(100) = 0; + context.ds.byte(234) = 0; + context.ds.byte(100) = 0; redrawmainscrn(context); worktoscreenm(context); return; } static void redrawmainscrn(Context & context) { - context.data.word(328) = 0; + context.ds.word(328) = 0; createpanel(context); - context.data.byte(62) = 0; + context.ds.byte(62) = 0; drawfloor(context); printsprites(context); reelsonscreen(context); @@ -9449,40 +9449,40 @@ static void redrawmainscrn(Context & context) { getunderzoom(context); undertextline(context); readmouse(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; return; } static void getback1(Context & context) { - context._cmp(context.data.byte(106), 0); + context._cmp(context.ds.byte(106), 0); if (context.flags.z()) goto notgotobject; blank(context); return; notgotobject: - context._cmp(context.data.byte(100), 202); + context._cmp(context.ds.byte(100), 202); if (context.flags.z()) goto alreadyget; - context.data.byte(100) = 202; + context.ds.byte(100) = 202; context.al = 26; commandonly(context); alreadyget: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nogetback; context._and(context.ax, 1); if (!context.flags.z()) goto dogetback; nogetback: return; dogetback: - context.data.byte(103) = 1; - context.data.byte(106) = 0; + context.ds.byte(103) = 1; + context.ds.byte(106) = 0; return; } static void talk(Context & context) { - context.data.byte(246) = 0; - context.data.byte(237) = 0; - context.al = context.data.byte(99); - context.data.byte(247) = context.al; + context.ds.byte(246) = 0; + context.ds.byte(237) = 0; + context.al = context.ds.byte(99); + context.ds.byte(247) = context.al; createpanel(context); showpanel(context); showman(context); @@ -9490,7 +9490,7 @@ static void talk(Context & context) { undertextline(context); convicons(context); starttalk(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; readmouse(context); showpointer(context); worktoscreen(context); @@ -9502,41 +9502,41 @@ waittalk: vsync(context); dumppointer(context); dumptextline(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; context.bx = 2660; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto waittalk; finishtalk: - context.bx = context.data.word(249); + context.bx = context.ds.word(249); context.es = context.cs; - context._cmp(context.data.byte(246), 4); + context._cmp(context.ds.byte(246), 4); if (context.flags.c()) goto notnexttalk; - context.al = context.data.byte(context.bx+7); + context.al = context.ds.byte(context.bx+7); context._or(context.al, 128); - context.data.byte(context.bx+7) = context.al; + context.ds.byte(context.bx+7) = context.al; notnexttalk: redrawmainscrn(context); worktoscreenm(context); - context._cmp(context.data.byte(383), 1); + context._cmp(context.ds.byte(383), 1); if (!context.flags.z()) goto nospeech; cancelch1(context); - context.data.byte(388) = -1; - context.data.byte(387) = 0; + context.ds.byte(388) = -1; + context.ds.byte(387) = 0; nospeech: return; } static void convicons(Context & context) { - context.al = context.data.byte(247); + context.al = context.ds.byte(247); context._and(context.al, 127); getpersframe(context); context.di = 234; context.bx = 2; - context.data.word(160) = context.ax; + context.ds.word(160) = context.ax; findsource(context); - context.ax = context.data.word(160); - context._sub(context.ax, context.data.word(244)); + context.ax = context.ds.word(160); + context._sub(context.ax, context.ds.word(244)); context.ah = 0; showframe(context); return; @@ -9546,25 +9546,25 @@ static void getpersframe(Context & context) { context.ah = 0; context._add(context.ax, context.ax); context.bx = context.ax; - context.es = context.data.word(448); + context.es = context.ds.word(448); context._add(context.bx, 0); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); return; } static void starttalk(Context & context) { - context.data.byte(245) = 0; - context.al = context.data.byte(247); + context.ds.byte(245) = 0; + context.al = context.ds.byte(247); context._and(context.al, 127); getpersontext(context); - context.data.word(71) = 91+91; + context.ds.word(71) = 91+91; context.di = 66; context.bx = 64; context.dl = 241; context.al = 0; context.ah = 79; printdirect(context); - context.data.word(71) = 0; + context.ds.word(71) = 0; context.di = 66; context.bx = 80; context.dl = 241; @@ -9580,40 +9580,40 @@ static void getpersontext(Context & context) { context.cx = 64*2; context._mul(context.cx); context.si = context.ax; - context.es = context.data.word(448); + context.es = context.ds.word(448); context._add(context.si, 0+24); context.cx = 0+24+(1026*2); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.ax, context.cx); context.si = context.ax; return; } static void moretalk(Context & context) { - context._cmp(context.data.byte(245), 0); + context._cmp(context.ds.byte(245), 0); if (context.flags.z()) goto canmore; redes(context); return; canmore: - context._cmp(context.data.byte(100), 215); + context._cmp(context.ds.byte(100), 215); if (context.flags.z()) goto alreadymore; - context.data.byte(100) = 215; + context.ds.byte(100) = 215; context.al = 49; commandonly(context); alreadymore: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nomore; context._and(context.ax, 1); if (!context.flags.z()) goto domoretalk; nomore: return; domoretalk: - context.data.byte(245) = 2; - context.data.byte(246) = 4; - context._cmp(context.data.byte(247), 100); + context.ds.byte(245) = 2; + context.ds.byte(246) = 4; + context._cmp(context.ds.byte(247), 100); if (context.flags.c()) goto notsecondpart; - context.data.byte(246) = 48; + context.ds.byte(246) = 48; notsecondpart: dosometalk(context); return; @@ -9621,25 +9621,25 @@ notsecondpart: static void dosometalk(Context & context) { watchtalk: - context.al = context.data.byte(246); - context.al = context.data.byte(247); + context.al = context.ds.byte(246); + context.al = context.ds.byte(247); context._and(context.al, 127); context.ah = 0; context.cx = 64; context._mul(context.cx); context.cx = context.ax; - context.al = context.data.byte(246); + context.al = context.ds.byte(246); context.ah = 0; context._add(context.ax, context.cx); context._add(context.ax, context.ax); context.si = context.ax; - context.es = context.data.word(448); + context.es = context.ds.word(448); context._add(context.si, 0+24); context.cx = 0+24+(1026*2); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.ax, context.cx); context.si = context.ax; - context._cmp(context.data.byte(context.si), 0); + context._cmp(context.ds.byte(context.si), 0); if (context.flags.z()) goto endwatchtalk; context.push(context.es); context.push(context.si); @@ -9656,34 +9656,34 @@ watchtalk: context.al = 0; context.ah = 0; printdirect(context); - context.data.byte(234) = 3; + context.ds.byte(234) = 3; worktoscreenm(context); context.cx = 180; hangonpq(context); - context._add(context.data.byte(246), 1); - context.al = context.data.byte(246); - context.al = context.data.byte(247); + context._add(context.ds.byte(246), 1); + context.al = context.ds.byte(246); + context.al = context.ds.byte(247); context._and(context.al, 127); context.ah = 0; context.cx = 64; context._mul(context.cx); context.cx = context.ax; - context.al = context.data.byte(246); + context.al = context.ds.byte(246); context.ah = 0; context._add(context.ax, context.cx); context._add(context.ax, context.ax); context.si = context.ax; - context.es = context.data.word(448); + context.es = context.ds.word(448); context._add(context.si, 0+24); context.cx = 0+24+(1026*2); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.ax, context.cx); context.si = context.ax; - context._cmp(context.data.byte(context.si), 0); + context._cmp(context.ds.byte(context.si), 0); if (context.flags.z()) goto endwatchtalk; - context._cmp(context.data.byte(context.si), ':'); + context._cmp(context.ds.byte(context.si), ':'); if (context.flags.z()) goto skiptalk; - context._cmp(context.data.byte(context.si), 32); + context._cmp(context.ds.byte(context.si), 32); if (context.flags.z()) goto skiptalk; context.push(context.es); context.push(context.si); @@ -9700,20 +9700,20 @@ watchtalk: context.al = 0; context.ah = 0; printdirect(context); - context.data.byte(234) = 3; + context.ds.byte(234) = 3; worktoscreenm(context); context.cx = 180; hangonpq(context); skiptalk: - context._add(context.data.byte(246), 1); + context._add(context.ds.byte(246), 1); goto watchtalk; endwatchtalk: - context.data.byte(234) = 0; + context.ds.byte(234) = 0; return; } static void hangonpq(Context & context) { - context.data.byte(103) = 0; + context.ds.byte(103) = 0; context.bx = 0; hangloopq: context.push(context.cx); @@ -9729,48 +9729,48 @@ hangloopq: checkcoords(context); context.bx = context.pop(); context.cx = context.pop(); - context._cmp(context.data.byte(103), 1); + context._cmp(context.ds.byte(103), 1); if (context.flags.z()) goto quitconv; - context._cmp(context.data.byte(383), 1); + context._cmp(context.ds.byte(383), 1); if (!context.flags.z()) goto notspeaking; - context._cmp(context.data.byte(515), 255); + context._cmp(context.ds.byte(515), 255); if (!context.flags.z()) goto notspeaking; context._add(context.bx, 1); context._cmp(context.bx, 40); if (context.flags.z()) goto finishconv; notspeaking: - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto hangloopq; - context._cmp(context.data.word(212), 0); + context._cmp(context.ds.word(212), 0); if (!context.flags.z()) goto hangloopq; finishconv: delpointer(context); - context.data.byte(234) = 0; + context.ds.byte(234) = 0; return; quitconv: delpointer(context); - context.data.byte(234) = 0; + context.ds.byte(234) = 0; context.ax = context.pop(); cancelch1(context); return; } static void redes(Context & context) { - context._cmp(context.data.byte(515), 255); + context._cmp(context.ds.byte(515), 255); if (!context.flags.z()) goto cantredes; - context._cmp(context.data.byte(245), 2); + context._cmp(context.ds.byte(245), 2); if (context.flags.z()) goto canredes; cantredes: blank(context); return; canredes: - context._cmp(context.data.byte(100), 217); + context._cmp(context.ds.byte(100), 217); if (context.flags.z()) goto alreadyreds; - context.data.byte(100) = 217; + context.ds.byte(100) = 217; context.al = 50; commandonly(context); alreadyreds: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (!context.flags.z()) goto doredes; return; @@ -9790,27 +9790,27 @@ doredes: } static void newplace(Context & context) { - context._cmp(context.data.byte(60), 1); + context._cmp(context.ds.byte(60), 1); if (context.flags.z()) goto istravel; - context._cmp(context.data.byte(189), -1); + context._cmp(context.ds.byte(189), -1); if (!context.flags.z()) goto isautoloc; return; isautoloc: - context.al = context.data.byte(189); - context.data.byte(188) = context.al; - context.data.byte(189) = -1; + context.al = context.ds.byte(189); + context.ds.byte(188) = context.al; + context.ds.byte(189) = -1; return; istravel: - context.data.byte(60) = 0; + context.ds.byte(60) = 0; selectlocation(context); return; } static void selectlocation(Context & context) { - context.data.byte(237) = 0; + context.ds.byte(237) = 0; clearbeforeload(context); - context.data.byte(103) = 0; - context.data.byte(231) = 22; + context.ds.byte(103) = 0; + context.ds.byte(231) = 22; readcitypic(context); showcity(context); getridoftemp(context); @@ -9822,15 +9822,15 @@ static void selectlocation(Context & context) { showexit(context); locationpic(context); undertextline(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; readmouse(context); - context.data.byte(231) = 0; + context.ds.byte(231) = 0; showpointer(context); worktoscreen(context); context.al = 9; context.ah = 255; playchannel0(context); - context.data.byte(188) = 255; + context.ds.byte(188) = 255; select: delpointer(context); readmouse(context); @@ -9838,42 +9838,42 @@ select: vsync(context); dumppointer(context); dumptextline(context); - context._cmp(context.data.byte(103), 1); + context._cmp(context.ds.byte(103), 1); if (context.flags.z()) goto quittravel; context.bx = 2714; checkcoords(context); - context._cmp(context.data.byte(188), 255); + context._cmp(context.ds.byte(188), 255); if (context.flags.z()) goto select; - context.al = context.data.byte(188); - context._cmp(context.al, context.data.byte(9)); + context.al = context.ds.byte(188); + context._cmp(context.al, context.ds.byte(9)); if (context.flags.z()) goto quittravel; getridoftemp(context); getridoftemp2(context); getridoftemp3(context); - context.es = context.data.word(456); + context.es = context.ds.word(456); deallocatemem(context); return; quittravel: - context.al = context.data.byte(184); - context.data.byte(188) = context.al; - context.data.byte(103) = 0; + context.al = context.ds.byte(184); + context.ds.byte(188) = context.al; + context.ds.byte(103) = 0; getridoftemp(context); getridoftemp2(context); getridoftemp3(context); - context.es = context.data.word(456); + context.es = context.ds.word(456); deallocatemem(context); return; } static void showcity(Context & context) { clearwork(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 57; context.bx = 32; context.al = 0; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 120+57; context.bx = 32; context.al = 1; @@ -9883,25 +9883,25 @@ static void showcity(Context & context) { } static void lookatplace(Context & context) { - context._cmp(context.data.byte(100), 224); + context._cmp(context.ds.byte(100), 224); if (context.flags.z()) goto alreadyinfo; - context.data.byte(100) = 224; + context.ds.byte(100) = 224; context.al = 27; commandonly(context); alreadyinfo: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (context.flags.z()) goto noinfo; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto noinfo; - context.bl = context.data.byte(183); + context.bl = context.ds.byte(183); context._cmp(context.bl, 15); if (!context.flags.c()) goto noinfo; context.push(context.bx); delpointer(context); deltextline(context); getundercentre(context); - context.ds = context.data.word(462); + context.ds = context.ds.word(462); context.al = 0; context.ah = 0; context.di = 60; @@ -9920,8 +9920,8 @@ alreadyinfo: context.bx = context.pop(); context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(456); - context.si = context.data.word(context.bx); + context.es = context.ds.word(456); + context.si = context.ds.word(context.bx); context._add(context.si, 66*2); findnextcolon(context); context.di = 63; @@ -9934,8 +9934,8 @@ alreadyinfo: context.cx = 500; hangonp(context); afterinfo: - context.data.byte(234) = 0; - context.data.byte(231) = 0; + context.ds.byte(234) = 0; + context.ds.byte(231) = 0; putundercentre(context); worktoscreenm(context); noinfo: @@ -9945,7 +9945,7 @@ noinfo: static void getundercentre(Context & context) { context.di = 58; context.bx = 72; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; context.cl = 254; context.ch = 110; @@ -9956,7 +9956,7 @@ static void getundercentre(Context & context) { static void putundercentre(Context & context) { context.di = 58; context.bx = 72; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; context.cl = 254; context.ch = 110; @@ -9966,18 +9966,18 @@ static void putundercentre(Context & context) { static void locationpic(Context & context) { getdestinfo(context); - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context.push(context.es); context.push(context.si); context.di = 0; context._cmp(context.al, 6); if (!context.flags.c()) goto secondlot; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context._add(context.al, 4); goto gotgraphic; secondlot: context._sub(context.al, 6); - context.ds = context.data.word(460); + context.ds = context.ds.word(460); gotgraphic: context._add(context.di, 104); context.bx = 138+14; @@ -9985,21 +9985,21 @@ gotgraphic: showframe(context); context.si = context.pop(); context.es = context.pop(); - context.al = context.data.byte(183); - context._cmp(context.al, context.data.byte(184)); + context.al = context.ds.byte(183); + context._cmp(context.al, context.ds.byte(184)); if (!context.flags.z()) goto notinthisone; context.al = 3; context.di = 104; context.bx = 140+14; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.ah = 0; showframe(context); notinthisone: - context.bl = context.data.byte(183); + context.bl = context.ds.byte(183); context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(456); - context.si = context.data.word(context.bx); + context.es = context.ds.word(456); + context.si = context.ds.word(context.bx); context._add(context.si, 66*2); context.di = 50; context.bx = 20; @@ -10011,14 +10011,14 @@ notinthisone: } static void getdestinfo(Context & context) { - context.al = context.data.byte(183); + context.al = context.ds.byte(183); context.ah = 0; context.push(context.ax); context.dx = context.ds; context.es = context.dx; context.si = 7798; context._add(context.si, context.ax); - context.cl = context.data.byte(context.si); + context.cl = context.ds.byte(context.si); context.ax = context.pop(); context.push(context.cx); context.dx = context.ds; @@ -10032,19 +10032,19 @@ static void getdestinfo(Context & context) { static void showarrows(Context & context) { context.di = 116-12; context.bx = 16; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 0; context.ah = 0; showframe(context); context.di = 226+12; context.bx = 16; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 1; context.ah = 0; showframe(context); context.di = 280; context.bx = 14; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 2; context.ah = 0; showframe(context); @@ -10053,27 +10053,27 @@ static void showarrows(Context & context) { static void nextdest(Context & context) { duok: - context._cmp(context.data.byte(100), 218); + context._cmp(context.ds.byte(100), 218); if (context.flags.z()) goto alreadydu; - context.data.byte(100) = 218; + context.ds.byte(100) = 218; context.al = 28; commandonly(context); alreadydu: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (context.flags.z()) goto nodu; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nodu; searchdestup: - context._add(context.data.byte(183), 1); - context._cmp(context.data.byte(183), 15); + context._add(context.ds.byte(183), 1); + context._cmp(context.ds.byte(183), 15); if (!context.flags.z()) goto notlastdest; - context.data.byte(183) = 0; + context.ds.byte(183) = 0; notlastdest: getdestinfo(context); context._cmp(context.al, 0); if (context.flags.z()) goto searchdestup; - context.data.byte(109) = 1; + context.ds.byte(109) = 1; deltextline(context); delpointer(context); showpanel(context); @@ -10091,27 +10091,27 @@ nodu: static void lastdest(Context & context) { ddok: - context._cmp(context.data.byte(100), 219); + context._cmp(context.ds.byte(100), 219); if (context.flags.z()) goto alreadydd; - context.data.byte(100) = 219; + context.ds.byte(100) = 219; context.al = 29; commandonly(context); alreadydd: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (context.flags.z()) goto nodd; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nodd; searchdestdown: - context._sub(context.data.byte(183), 1); - context._cmp(context.data.byte(183), -1); + context._sub(context.ds.byte(183), 1); + context._cmp(context.ds.byte(183), -1); if (!context.flags.z()) goto notfirstdest; - context.data.byte(183) = 15; + context.ds.byte(183) = 15; notfirstdest: getdestinfo(context); context._cmp(context.al, 0); if (context.flags.z()) goto searchdestdown; - context.data.byte(109) = 1; + context.ds.byte(109) = 1; deltextline(context); delpointer(context); showpanel(context); @@ -10128,20 +10128,20 @@ nodd: } static void destselect(Context & context) { - context._cmp(context.data.byte(100), 222); + context._cmp(context.ds.byte(100), 222); if (context.flags.z()) goto alreadytrav; - context.data.byte(100) = 222; + context.ds.byte(100) = 222; context.al = 30; commandonly(context); alreadytrav: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (context.flags.z()) goto notrav; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notrav; getdestinfo(context); - context.al = context.data.byte(183); - context.data.byte(188) = context.al; + context.al = context.ds.byte(183); + context.ds.byte(188) = context.al; notrav: return; } @@ -10152,7 +10152,7 @@ static void getlocation(Context & context) { context.dx = context.ds; context.es = context.dx; context._add(context.bx, 7798); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); return; } @@ -10162,7 +10162,7 @@ static void setlocation(Context & context) { context.dx = context.ds; context.es = context.dx; context._add(context.bx, 7798); - context.data.byte(context.bx) = 1; + context.ds.byte(context.bx) = 1; return; } @@ -10209,7 +10209,7 @@ clearedlocations: context.dx = context.ds; context.es = context.dx; context._add(context.bx, 7798); - context.data.byte(context.bx) = 0; + context.ds.byte(context.bx) = 0; return; } @@ -10230,7 +10230,7 @@ static void readcitypic(Context & context) { } static void usemon(Context & context) { - context.data.byte(55) = 0; + context.ds.byte(55) = 0; context.es = context.cs; context.di = 2895+1; context.cx = 12; @@ -10243,11 +10243,11 @@ static void usemon(Context & context) { while(--context.cx) context._stosb(); context.es = context.cs; context.di = 2807; - context.data.byte(context.di) = 1; + context.ds.byte(context.di) = 1; context._add(context.di, 26); context.cx = 3; keyloop: - context.data.byte(context.di) = 0; + context.ds.byte(context.di) = 0; context._add(context.di, 26); if (--context.cx) goto keyloop; createpanel(context); @@ -10269,8 +10269,8 @@ keyloop: turnonpower(context); fadeupyellows(context); fadeupmonfirst(context); - context.data.word(318) = 76; - context.data.word(320) = 141; + context.ds.word(318) = 76; + context.ds.word(320) = 141; context.al = 1; monmessage(context); context.cx = 120; @@ -10285,34 +10285,34 @@ keyloop: hangoncurs(context); printlogo(context); scrollmonitor(context); - context.data.word(394) = 0; - context.data.word(396) = 0; + context.ds.word(394) = 0; + context.ds.word(396) = 0; moreinput: - context.di = context.data.word(318); - context.bx = context.data.word(320); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); context.push(context.di); context.push(context.bx); input(context); context.bx = context.pop(); context.di = context.pop(); - context.data.word(318) = context.di; - context.data.word(320) = context.bx; + context.ds.word(318) = context.di; + context.ds.word(320) = context.bx; execcommand(context); context._cmp(context.al, 0); if (context.flags.z()) goto moreinput; endmon: getridoftemp(context); getridoftempcharset(context); - context.es = context.data.word(466); + context.es = context.ds.word(466); deallocatemem(context); - context.es = context.data.word(468); + context.es = context.ds.word(468); deallocatemem(context); - context.es = context.data.word(470); + context.es = context.ds.word(470); deallocatemem(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; context.al = 26; playchannel1(context); - context.data.byte(131) = 0; + context.ds.byte(131) = 0; restoreall(context); redrawmainscrn(context); worktoscreenm(context); @@ -10322,25 +10322,25 @@ endmon: static void printoutermon(Context & context) { context.di = 40; context.bx = 32; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 1; context.ah = 0; showframe(context); context.di = 264; context.bx = 32; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 2; context.ah = 0; showframe(context); context.di = 40; context.bx = 12; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 3; context.ah = 0; showframe(context); context.di = 40; context.bx = 164; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 4; context.ah = 0; showframe(context); @@ -10348,7 +10348,7 @@ static void printoutermon(Context & context) { } static void loadpersonal(Context & context) { - context.al = context.data.byte(9); + context.al = context.ds.byte(9); context.dx = 2065; context._cmp(context.al, 0); if (context.flags.z()) goto foundpersonal; @@ -10360,12 +10360,12 @@ static void loadpersonal(Context & context) { foundpersonal: openfile(context); readheader(context); - context.bx = context.data.word(context.di); + context.bx = context.ds.word(context.di); context.push(context.bx); context.cl = 4; context._shr(context.bx, context.cl); allocatemem(context); - context.data.word(466) = context.ax; + context.ds.word(466) = context.ax; context.ds = context.ax; context.cx = context.pop(); context.dx = 0; @@ -10375,7 +10375,7 @@ foundpersonal: } static void loadnews(Context & context) { - context.al = context.data.byte(34); + context.al = context.ds.byte(34); context.dx = 2091; context._cmp(context.al, 0); if (context.flags.z()) goto foundnews; @@ -10389,12 +10389,12 @@ static void loadnews(Context & context) { foundnews: openfile(context); readheader(context); - context.bx = context.data.word(context.di); + context.bx = context.ds.word(context.di); context.push(context.bx); context.cl = 4; context._shr(context.bx, context.cl); allocatemem(context); - context.data.word(468) = context.ax; + context.ds.word(468) = context.ax; context.ds = context.ax; context.cx = context.pop(); context.dx = 0; @@ -10421,12 +10421,12 @@ static void loadcart(Context & context) { gotcart: openfile(context); readheader(context); - context.bx = context.data.word(context.di); + context.bx = context.ds.word(context.di); context.push(context.bx); context.cl = 4; context._shr(context.bx, context.cl); allocatemem(context); - context.data.word(470) = context.ax; + context.ds.word(470) = context.ax; context.ds = context.ax; context.cx = context.pop(); context.dx = 0; @@ -10445,7 +10445,7 @@ static void lookininterface(Context & context) { checkinside(context); context._cmp(context.cl, 114); if (context.flags.z()) goto emptyinterface; - context.al = context.data.byte(context.bx+15); + context.al = context.ds.byte(context.bx+15); context._add(context.al, 1); return; emptyinterface: @@ -10492,7 +10492,7 @@ chosenaccess: static void powerlighton(Context & context) { context.di = 257+4; context.bx = 182; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 6; context.ah = 0; context.push(context.di); @@ -10509,7 +10509,7 @@ static void powerlighton(Context & context) { static void powerlightoff(Context & context) { context.di = 257+4; context.bx = 182; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 5; context.ah = 0; context.push(context.di); @@ -10526,7 +10526,7 @@ static void powerlightoff(Context & context) { static void accesslighton(Context & context) { context.di = 74; context.bx = 182; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 8; context.ah = 0; context.push(context.di); @@ -10543,7 +10543,7 @@ static void accesslighton(Context & context) { static void accesslightoff(Context & context) { context.di = 74; context.bx = 182; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 7; context.ah = 0; context.push(context.di); @@ -10560,7 +10560,7 @@ static void accesslightoff(Context & context) { static void locklighton(Context & context) { context.di = 56; context.bx = 182; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 10; context.ah = 0; context.push(context.di); @@ -10577,7 +10577,7 @@ static void locklighton(Context & context) { static void locklightoff(Context & context) { context.di = 56; context.bx = 182; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 9; context.ah = 0; context.push(context.di); @@ -10597,62 +10597,62 @@ static void input(Context & context) { context.cx = 64; context.al = 0; while(--context.cx) context._stosb(); - context.data.word(316) = 0; + context.ds.word(316) = 0; context.al = '>'; - context.di = context.data.word(318); - context.bx = context.data.word(320); - context.ds = context.data.word(406); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); + context.ds = context.ds.word(406); context.ah = 0; printchar(context); - context.di = context.data.word(318); - context.bx = context.data.word(320); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); context.cl = 6; context.ch = 8; multidump(context); - context._add(context.data.word(318), 6); - context.ax = context.data.word(318); - context.data.word(312) = context.ax; - context.ax = context.data.word(320); - context.data.word(314) = context.ax; + context._add(context.ds.word(318), 6); + context.ax = context.ds.word(318); + context.ds.word(312) = context.ax; + context.ax = context.ds.word(320); + context.ds.word(314) = context.ax; waitkey: printcurs(context); vsync(context); delcurs(context); readkey(context); - context.al = context.data.byte(142); + context.al = context.ds.byte(142); context._cmp(context.al, 0); if (context.flags.z()) goto waitkey; context._cmp(context.al, 13); if (context.flags.z()) goto endofinput; context._cmp(context.al, 8); if (!context.flags.z()) goto notdel; - context._cmp(context.data.word(316), 0); + context._cmp(context.ds.word(316), 0); if (context.flags.z()) goto waitkey; delchar(context); goto waitkey; notdel: - context._cmp(context.data.word(316), 28); + context._cmp(context.ds.word(316), 28); if (context.flags.z()) goto waitkey; - context._cmp(context.data.byte(142), 32); + context._cmp(context.ds.byte(142), 32); if (!context.flags.z()) goto notleadingspace; - context._cmp(context.data.word(316), 0); + context._cmp(context.ds.word(316), 0); if (context.flags.z()) goto waitkey; notleadingspace: makecaps(context); context.es = context.cs; - context.si = context.data.word(316); + context.si = context.ds.word(316); context._add(context.si, context.si); context._add(context.si, 7944); - context.data.byte(context.si) = context.al; + context.ds.byte(context.si) = context.al; context._cmp(context.al, 'Z'+1); if (!context.flags.c()) goto waitkey; context.push(context.ax); context.push(context.es); context.push(context.si); - context.di = context.data.word(318); - context.bx = context.data.word(320); - context.ds = context.data.word(402); - context.ax = context.data.word(316); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); + context.ds = context.ds.word(402); + context.ax = context.ds.word(316); context._xchg(context.al, context.ah); context.si = context.ax; context.cl = 8; @@ -10663,18 +10663,18 @@ notleadingspace: context.ax = context.pop(); context.push(context.es); context.push(context.si); - context.di = context.data.word(318); - context.bx = context.data.word(320); - context.ds = context.data.word(406); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); + context.ds = context.ds.word(406); context.ah = 0; printchar(context); context.si = context.pop(); context.es = context.pop(); - context.data.byte(context.si+1) = context.cl; + context.ds.byte(context.si+1) = context.cl; context.ch = 0; - context._add(context.data.word(318), context.cx); - context._add(context.data.word(316), 1); - context._add(context.data.word(312), context.cx); + context._add(context.ds.word(318), context.cx); + context._add(context.ds.word(316), 1); + context._add(context.ds.word(312), context.cx); goto waitkey; endofinput: return; @@ -10689,27 +10689,27 @@ notupperc: } static void delchar(Context & context) { - context._sub(context.data.word(316), 1); - context.si = context.data.word(316); + context._sub(context.ds.word(316), 1); + context.si = context.ds.word(316); context._add(context.si, context.si); context.es = context.cs; context._add(context.si, 7944); - context.data.byte(context.si) = 0; - context.al = context.data.byte(context.si+1); - context.ah = 0; - context._sub(context.data.word(318), context.ax); - context._sub(context.data.word(312), context.ax); - context.di = context.data.word(318); - context.bx = context.data.word(320); - context.ds = context.data.word(402); - context.ax = context.data.word(316); + context.ds.byte(context.si) = 0; + context.al = context.ds.byte(context.si+1); + context.ah = 0; + context._sub(context.ds.word(318), context.ax); + context._sub(context.ds.word(312), context.ax); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); + context.ds = context.ds.word(402); + context.ax = context.ds.word(316); context._xchg(context.al, context.ah); context.si = context.ax; context.cl = 8; context.ch = 8; multiput(context); - context.di = context.data.word(318); - context.bx = context.data.word(320); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); context.cl = context.al; context.ch = 8; multidump(context); @@ -10721,7 +10721,7 @@ static void execcommand(Context & context) { context.bx = 2776; context.ds = context.cs; context.si = 7944; - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._cmp(context.al, 0); if (!context.flags.z()) goto notblankinp; scrollmonitor(context); @@ -10732,9 +10732,9 @@ comloop: context.push(context.bx); context.push(context.si); comloop2: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 2); - context.ah = context.data.byte(context.bx); + context.ah = context.ds.byte(context.bx); context._add(context.bx, 1); context._cmp(context.ah, 32); if (context.flags.z()) goto foundcom; @@ -10800,12 +10800,12 @@ static void dircom(Context & context) { context.cx = 30; randomaccess(context); parser(context); - context._cmp(context.data.byte(context.di+1), 0); + context._cmp(context.ds.byte(context.di+1), 0); if (context.flags.z()) goto dirroot; dirfile(context); return; dirroot: - context.data.byte(269) = 0; + context.ds.byte(269) = 0; context.ds = context.cs; context.si = 2885; context._add(context.si, 1); @@ -10818,11 +10818,11 @@ dirroot: scrollmonitor(context); context.al = 9; monmessage(context); - context.es = context.data.word(466); + context.es = context.ds.word(466); searchforfiles(context); - context.es = context.data.word(468); + context.es = context.ds.word(468); searchforfiles(context); - context.es = context.data.word(470); + context.es = context.ds.word(470); searchforfiles(context); scrollmonitor(context); return; @@ -10831,7 +10831,7 @@ dirroot: static void searchforfiles(Context & context) { context.bx = 66*2; directloop1: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._add(context.bx, 1); context._cmp(context.al, '*'); if (context.flags.z()) goto endofdir; @@ -10860,7 +10860,7 @@ signonloop2: context._cmp(context.al, 32); if (context.flags.z()) goto foundsign; makecaps(context); - context.ah = context.data.byte(context.di); + context.ah = context.ds.byte(context.di); context._add(context.di, 1); context._cmp(context.al, context.ah); if (!context.flags.z()) goto nomatch; @@ -10880,7 +10880,7 @@ foundsign: context.cx = context.pop(); context.bx = context.si; context.es = context.ds; - context._cmp(context.data.byte(context.bx), 0); + context._cmp(context.ds.byte(context.bx), 0); if (context.flags.z()) goto notyetassigned; context.al = 17; monmessage(context); @@ -10891,15 +10891,15 @@ notyetassigned: scrollmonitor(context); context.al = 15; monmessage(context); - context.di = context.data.word(318); - context.bx = context.data.word(320); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); context.push(context.di); context.push(context.bx); input(context); context.bx = context.pop(); context.di = context.pop(); - context.data.word(318) = context.di; - context.data.word(320) = context.bx; + context.ds.word(318) = context.di; + context.ds.word(320) = context.bx; context.bx = context.pop(); context.es = context.pop(); context.push(context.es); @@ -10909,7 +10909,7 @@ notyetassigned: context.si = 7944; checkpass: context._lodsw(); - context.ah = context.data.byte(context.bx); + context.ah = context.ds.byte(context.bx); context._add(context.bx, 1); context._cmp(context.ah, 32); if (context.flags.z()) goto passpassed; @@ -10934,7 +10934,7 @@ passpassed: scrollmonitor(context); context.bx = context.pop(); context.es = context.pop(); - context.data.byte(context.bx) = 1; + context.ds.byte(context.bx) = 1; return; } @@ -10950,7 +10950,7 @@ static void showkeys(Context & context) { keysloop: context.push(context.cx); context.push(context.bx); - context._cmp(context.data.byte(context.bx), 0); + context._cmp(context.ds.byte(context.bx), 0); if (context.flags.z()) goto notheld; context._add(context.bx, 14); monprint(context); @@ -10967,29 +10967,29 @@ static void read(Context & context) { context.cx = 40; randomaccess(context); parser(context); - context._cmp(context.data.byte(context.di+1), 0); + context._cmp(context.ds.byte(context.di+1), 0); if (!context.flags.z()) goto okcom; neterror(context); return; okcom: context.es = context.cs; context.di = 2895; - context.ax = context.data.word(466); - context.data.word(324) = context.ax; + context.ax = context.ds.word(466); + context.ds.word(324) = context.ax; context.ds = context.ax; context.si = 66*2; searchforstring(context); context._cmp(context.al, 0); if (context.flags.z()) goto foundfile2; - context.ax = context.data.word(468); - context.data.word(324) = context.ax; + context.ax = context.ds.word(468); + context.ds.word(324) = context.ax; context.ds = context.ax; context.si = 66*2; searchforstring(context); context._cmp(context.al, 0); if (context.flags.z()) goto foundfile2; - context.ax = context.data.word(470); - context.data.word(324) = context.ax; + context.ax = context.ds.word(470); + context.ds.word(324) = context.ax; context.ds = context.ax; context.si = 66*2; searchforstring(context); @@ -11006,12 +11006,12 @@ foundfile2: keyok1: context.es = context.cs; context.di = 2883; - context.ds = context.data.word(324); + context.ds = context.ds.word(324); searchforstring(context); context._cmp(context.al, 0); if (context.flags.z()) goto findtopictext; - context.al = context.data.byte(270); - context.data.byte(269) = context.al; + context.al = context.ds.byte(270); + context.ds.byte(269) = context.al; context.al = 11; monmessage(context); return; @@ -11025,7 +11025,7 @@ findtopictext: context.es = context.pop(); moretopic: monprint(context); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._cmp(context.al, 34); if (context.flags.z()) goto endoftopic; context._cmp(context.al, '='); @@ -11047,10 +11047,10 @@ endoftopic: static void dirfile(Context & context) { context.al = 34; - context.data.byte(context.di) = context.al; + context.ds.byte(context.di) = context.al; context.push(context.es); context.push(context.di); - context.ds = context.data.word(466); + context.ds = context.ds.word(466); context.si = 66*2; searchforstring(context); context._cmp(context.al, 0); @@ -11059,7 +11059,7 @@ static void dirfile(Context & context) { context.es = context.pop(); context.push(context.es); context.push(context.di); - context.ds = context.data.word(468); + context.ds = context.ds.word(468); context.si = 66*2; searchforstring(context); context._cmp(context.al, 0); @@ -11068,7 +11068,7 @@ static void dirfile(Context & context) { context.es = context.pop(); context.push(context.es); context.push(context.di); - context.ds = context.data.word(470); + context.ds = context.ds.word(470); context.si = 66*2; searchforstring(context); context._cmp(context.al, 0); @@ -11101,7 +11101,7 @@ keyok2: context.bx = context.pop(); context.es = context.pop(); directloop2: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._add(context.bx, 1); context._cmp(context.al, 34); if (context.flags.z()) goto endofdir2; @@ -11118,24 +11118,24 @@ endofdir2: static void getkeyandlogo(Context & context) { context._add(context.bx, 1); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._sub(context.al, 48); - context.data.byte(271) = context.al; + context.ds.byte(271) = context.al; context._add(context.bx, 2); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._sub(context.al, 48); - context.data.byte(276) = context.al; + context.ds.byte(276) = context.al; context._add(context.bx, 1); context.push(context.es); context.push(context.bx); - context.al = context.data.byte(276); + context.al = context.ds.byte(276); context.ah = 0; context.cx = 26; context._mul(context.cx); context.es = context.cs; context.bx = 2807; context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._cmp(context.al, 1); if (context.flags.z()) goto keyok; context.push(context.bx); @@ -11154,14 +11154,14 @@ static void getkeyandlogo(Context & context) { keyok: context.bx = context.pop(); context.es = context.pop(); - context.al = context.data.byte(271); - context.data.byte(269) = context.al; + context.al = context.ds.byte(271); + context.ds.byte(269) = context.al; context.al = 0; return; } static void searchforstring(Context & context) { - context.dl = context.data.byte(context.di); + context.dl = context.ds.byte(context.di); context.cx = context.di; restartlook: context.di = context.cx; @@ -11177,7 +11177,7 @@ keeplooking: context._cmp(context.al, 34); if (context.flags.z()) goto notfound; nofindingtopic: - context.ah = context.data.byte(context.di); + context.ah = context.ds.byte(context.di); context._cmp(context.al, context.dl); if (!context.flags.z()) goto notbracket; context._add(context.dh, 1); @@ -11242,10 +11242,10 @@ static void scrollmonitor(Context & context) { context.push(context.es); context.push(context.ds); printlogo(context); - context.di = context.data.word(318); - context.bx = context.data.word(320); + context.di = context.ds.word(318); + context.bx = context.ds.word(320); printundermon(context); - context.ax = context.data.word(320); + context.ax = context.ds.word(320); worktoscreen(context); context.al = 25; playchannel1(context); @@ -11261,11 +11261,11 @@ static void scrollmonitor(Context & context) { } static void lockmon(Context & context) { - context._cmp(context.data.byte(392), 57); + context._cmp(context.ds.byte(392), 57); if (!context.flags.z()) goto notlock; locklighton(context); lockloop: - context._cmp(context.data.byte(392), 57); + context._cmp(context.ds.byte(392), 57); if (context.flags.z()) goto lockloop; locklightoff(context); notlock: @@ -11273,10 +11273,10 @@ notlock: } static void monitorlogo(Context & context) { - context.al = context.data.byte(269); - context._cmp(context.al, context.data.byte(270)); + context.al = context.ds.byte(269); + context._cmp(context.al, context.ds.byte(270)); if (context.flags.z()) goto notnewlogo; - context.data.byte(270) = context.al; + context.ds.byte(270) = context.al; printlogo(context); printundermon(context); worktoscreen(context); @@ -11295,7 +11295,7 @@ notnewlogo: static void printlogo(Context & context) { context.di = 56; context.bx = 32; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 0; context.ah = 0; showframe(context); @@ -11308,13 +11308,13 @@ static void showcurrentfile(Context & context) { context.bx = 37; context.si = 2895+1; curfileloop: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._cmp(context.al, 0); if (context.flags.z()) goto finishfile; context._add(context.si, 1); context.push(context.si); modifychar(context); - context.ds = context.data.word(406); + context.ds = context.ds.word(406); context.ah = 0; printchar(context); context.si = context.pop(); @@ -11324,12 +11324,12 @@ finishfile: } static void monmessage(Context & context) { - context.es = context.data.word(466); + context.es = context.ds.word(466); context.bx = 66*2; context.cl = context.al; context.ch = 0; monmessageloop: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._add(context.bx, 1); context._cmp(context.al, '+'); if (!context.flags.z()) goto monmessageloop; @@ -11339,7 +11339,7 @@ monmessageloop: } static void processtrigger(Context & context) { - context._cmp(context.data.byte(55), '1'); + context._cmp(context.ds.byte(55), '1'); if (!context.flags.z()) goto notfirsttrigger; context.al = 8; setlocation(context); @@ -11347,7 +11347,7 @@ static void processtrigger(Context & context) { triggermessage(context); return; notfirsttrigger: - context._cmp(context.data.byte(55), '2'); + context._cmp(context.ds.byte(55), '2'); if (!context.flags.z()) goto notsecondtrigger; context.al = 9; setlocation(context); @@ -11355,7 +11355,7 @@ notfirsttrigger: triggermessage(context); return; notsecondtrigger: - context._cmp(context.data.byte(55), '3'); + context._cmp(context.ds.byte(55), '3'); if (!context.flags.z()) goto notthirdtrigger; context.al = 2; setlocation(context); @@ -11371,7 +11371,7 @@ static void triggermessage(Context & context) { context.bx = 153; context.cl = 200; context.ch = 63; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; multiget(context); context.ax = context.pop(); @@ -11390,11 +11390,11 @@ static void triggermessage(Context & context) { context.bx = 153; context.cl = 200; context.ch = 63; - context.ds = context.data.word(402); + context.ds = context.ds.word(402); context.si = 0; multiput(context); worktoscreen(context); - context.data.byte(55) = 0; + context.ds.byte(55) = 0; return; } @@ -11405,13 +11405,13 @@ static void printcurs(Context & context) { context.push(context.dx); context.push(context.bx); context.push(context.es); - context.di = context.data.word(312); - context.bx = context.data.word(314); + context.di = context.ds.word(312); + context.bx = context.ds.word(314); context.cl = 6; context.ch = 8; context._sub(context.bx, 3); context.ch = 11; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0; context.push(context.di); context.push(context.bx); @@ -11420,14 +11420,14 @@ static void printcurs(Context & context) { context.di = context.pop(); context.push(context.bx); context.push(context.di); - context._add(context.data.word(138), 1); - context.ax = context.data.word(138); + context._add(context.ds.word(138), 1); + context.ax = context.ds.word(138); context._and(context.al, 16); if (!context.flags.z()) goto flashcurs; context.al = '/'; context._sub(context.al, 32); context.ah = 0; - context.ds = context.data.word(406); + context.ds = context.ds.word(406); showframe(context); flashcurs: context.di = context.pop(); @@ -11452,8 +11452,8 @@ static void delcurs(Context & context) { context.push(context.ds); context.push(context.dx); context.push(context.si); - context.di = context.data.word(312); - context.bx = context.data.word(314); + context.di = context.ds.word(312); + context.bx = context.ds.word(314); context.cl = 6; context.ch = 8; context._sub(context.bx, 3); @@ -11461,7 +11461,7 @@ static void delcurs(Context & context) { context.push(context.di); context.push(context.bx); context.push(context.cx); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0; multiput(context); context.cx = context.pop(); @@ -11479,17 +11479,17 @@ finishcurdel: } static void useobject(Context & context) { - context.data.byte(95) = 255; - context._cmp(context.data.byte(100), 229); + context.ds.byte(95) = 255; + context._cmp(context.ds.byte(100), 229); if (context.flags.z()) goto alreadyuse; - context.data.byte(100) = 229; - context.bl = context.data.byte(99); - context.bh = context.data.byte(102); + context.ds.byte(100) = 229; + context.bl = context.ds.byte(99); + context.bh = context.ds.byte(102); context.al = 51; commandwithob(context); alreadyuse: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nouse; context._and(context.ax, 1); if (!context.flags.z()) goto douse; @@ -11501,13 +11501,13 @@ douse: } static void useroutine(Context & context) { - context._cmp(context.data.byte(184), 50); + context._cmp(context.ds.byte(184), 50); if (context.flags.c()) goto nodream7; - context._cmp(context.data.byte(232), 0); + context._cmp(context.ds.byte(232), 0); if (!context.flags.z()) goto powerok; return; powerok: - context.data.byte(232) = 0; + context.ds.byte(232) = 0; nodream7: getanyad(context); context.dx = context.ds; @@ -11517,19 +11517,19 @@ checkuselist: context.push(context.si); context._lodsb(); context._sub(context.al, 'A'); - context._cmp(context.al, context.data.byte(context.bx+12)); + context._cmp(context.al, context.ds.byte(context.bx+12)); if (!context.flags.z()) goto failed; context._lodsb(); context._sub(context.al, 'A'); - context._cmp(context.al, context.data.byte(context.bx+13)); + context._cmp(context.al, context.ds.byte(context.bx+13)); if (!context.flags.z()) goto failed; context._lodsb(); context._sub(context.al, 'A'); - context._cmp(context.al, context.data.byte(context.bx+14)); + context._cmp(context.al, context.ds.byte(context.bx+14)); if (!context.flags.z()) goto failed; context._lodsb(); context._sub(context.al, 'A'); - context._cmp(context.al, context.data.byte(context.bx+15)); + context._cmp(context.al, context.ds.byte(context.bx+15)); if (!context.flags.z()) goto failed; context._lodsw(); context.si = context.pop(); @@ -11538,7 +11538,7 @@ checkuselist: failed: context.si = context.pop(); context._add(context.si, 6); - context._cmp(context.data.byte(context.si), 140); + context._cmp(context.ds.byte(context.si), 140); if (!context.flags.z()) goto checkuselist; delpointer(context); getobtextstart(context); @@ -11548,7 +11548,7 @@ failed: findnextcolon(context); context._cmp(context.al, 0); if (context.flags.z()) goto cantuse2; - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._cmp(context.al, 0); if (context.flags.z()) goto cantuse2; usetext(context); @@ -11571,7 +11571,7 @@ cantuse2: context.cx = 50; hangonp(context); putbackobstuff(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; return; } @@ -11584,21 +11584,21 @@ static void wheelsound(Context & context) { } static void runtap(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto tapwith; withwhat(context); return; tapwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; context.dh = 'E'; compare(context); if (context.flags.z()) goto fillcupfromtap; - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; @@ -11611,9 +11611,9 @@ tapwith: putbackobstuff(context); return; fillcupfromtap: - context.al = context.data.byte(95); + context.al = context.ds.byte(95); getexad(context); - context.data.byte(context.bx+15) = 'F'-'A'; + context.ds.byte(context.bx+15) = 'F'-'A'; context.al = 8; playchannel1(context); context.cx = 300; @@ -11638,9 +11638,9 @@ static void playguitar(Context & context) { } static void hotelcontrol(Context & context) { - context._cmp(context.data.byte(184), 21); + context._cmp(context.ds.byte(184), 21); if (!context.flags.z()) goto notrightcont; - context._cmp(context.data.byte(148), 33); + context._cmp(context.ds.byte(148), 33); if (!context.flags.z()) goto notrightcont; showfirstuse(context); putbackobstuff(context); @@ -11660,22 +11660,22 @@ static void hotelbell(Context & context) { } static void opentomb(Context & context) { - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showfirstuse(context); - context.data.word(21) = 35*2; - context.data.word(23) = 1; - context.data.word(25) = 33; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 35*2; + context.ds.word(23) = 1; + context.ds.word(25) = 33; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } static void usetrainer(Context & context) { getanyad(context); - context._cmp(context.data.byte(context.bx+2), 4); + context._cmp(context.ds.byte(context.bx+2), 4); if (!context.flags.z()) goto notheldtrainer; - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); makeworn(context); showseconduse(context); putbackobstuff(context); @@ -11705,21 +11705,21 @@ static void nothelderror(Context & context) { } static void usepipe(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto pipewith; withwhat(context); return; pipewith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; context.dh = 'E'; compare(context); if (context.flags.z()) goto fillcup; - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; @@ -11736,9 +11736,9 @@ fillcup: context.al = 36; showpuztext(context); putbackobstuff(context); - context.al = context.data.byte(95); + context.al = context.ds.byte(95); getexad(context); - context.data.byte(context.bx+15) = 'F'-'A'; + context.ds.byte(context.bx+15) = 'F'-'A'; return; alreadyfull: context.cx = 300; @@ -11749,35 +11749,35 @@ alreadyfull: } static void usefullcart(Context & context) { - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); context.al = 2; - context.ah = context.data.byte(185); + context.ah = context.ds.byte(185); context._add(context.ah, 6); turnanypathon(context); - context.data.byte(475) = 4; - context.data.byte(133) = 4; - context.data.byte(135) = 4; - context.data.byte(477) = 4; + context.ds.byte(475) = 4; + context.ds.byte(133) = 4; + context.ds.byte(135) = 4; + context.ds.byte(477) = 4; findxyfrompath(context); - context.data.byte(187) = 1; + context.ds.byte(187) = 1; showfirstuse(context); - context.data.word(21) = 72*2; - context.data.word(23) = 58; - context.data.word(25) = 142; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 72*2; + context.ds.word(23) = 58; + context.ds.word(25) = 142; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } static void useplinth(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto plinthwith; withwhat(context); return; plinthwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'D'; context.ch = 'K'; context.dl = 'E'; @@ -11788,80 +11788,80 @@ plinthwith: putbackobstuff(context); return; isrightkey: - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showseconduse(context); - context.data.word(21) = 220; - context.data.word(23) = 0; - context.data.word(25) = 104; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; - context.al = context.data.byte(67); - context.data.byte(188) = context.al; + context.ds.word(21) = 220; + context.ds.word(23) = 0; + context.ds.word(25) = 104; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; + context.al = context.ds.byte(67); + context.ds.byte(188) = context.al; return; } static void chewy(Context & context) { showfirstuse(context); getanyad(context); - context.data.byte(context.bx+2) = 255; - context.data.byte(103) = 1; + context.ds.byte(context.bx+2) = 255; + context.ds.byte(103) = 1; return; } static void useladder(Context & context) { showfirstuse(context); - context._sub(context.data.byte(148), 11); + context._sub(context.ds.byte(148), 11); findroominloc(context); - context.data.byte(133) = 6; - context.data.byte(135) = 6; - context.data.byte(475) = 0; - context.data.byte(478) = 0; - context.data.byte(477) = 0; + context.ds.byte(133) = 6; + context.ds.byte(135) = 6; + context.ds.byte(475) = 0; + context.ds.byte(478) = 0; + context.ds.byte(477) = 0; findxyfrompath(context); - context.data.byte(187) = 1; - context.data.byte(103) = 1; + context.ds.byte(187) = 1; + context.ds.byte(103) = 1; return; } static void useladderb(Context & context) { showfirstuse(context); - context._add(context.data.byte(148), 11); + context._add(context.ds.byte(148), 11); findroominloc(context); - context.data.byte(133) = 2; - context.data.byte(135) = 2; - context.data.byte(475) = 1; - context.data.byte(478) = 1; - context.data.byte(477) = 1; + context.ds.byte(133) = 2; + context.ds.byte(135) = 2; + context.ds.byte(475) = 1; + context.ds.byte(478) = 1; + context.ds.byte(477) = 1; findxyfrompath(context); - context.data.byte(187) = 1; - context.data.byte(103) = 1; + context.ds.byte(187) = 1; + context.ds.byte(103) = 1; return; } static void slabdoora(Context & context) { showfirstuse(context); - context.data.byte(103) = 1; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(23) = 13; - context._cmp(context.data.byte(66), 3); + context.ds.byte(103) = 1; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(23) = 13; + context._cmp(context.ds.byte(66), 3); if (!context.flags.z()) goto slabawrong; - context._add(context.data.byte(2), 1); - context.data.word(21) = 60; - context.data.word(25) = 42; - context.data.byte(188) = 47; + context._add(context.ds.byte(2), 1); + context.ds.word(21) = 60; + context.ds.word(25) = 42; + context.ds.byte(188) = 47; return; slabawrong: - context.data.word(21) = 40; - context.data.word(25) = 34; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 40; + context.ds.word(25) = 34; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; } static void slabdoorb(Context & context) { - context._cmp(context.data.byte(66), 1); + context._cmp(context.ds.byte(66), 1); if (!context.flags.z()) goto slabbwrong; context.al = 'S'; context.ah = 'H'; @@ -11876,120 +11876,120 @@ static void slabdoorb(Context & context) { return; gotcrystal: showfirstuse(context); - context._add(context.data.byte(2), 1); - context.data.byte(103) = 1; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(23) = 44; - context.data.word(21) = 60; - context.data.word(25) = 71; - context.data.byte(188) = 47; + context._add(context.ds.byte(2), 1); + context.ds.byte(103) = 1; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(23) = 44; + context.ds.word(21) = 60; + context.ds.word(25) = 71; + context.ds.byte(188) = 47; return; slabbwrong: showfirstuse(context); - context.data.byte(103) = 1; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(23) = 44; - context.data.word(21) = 40; - context.data.word(25) = 63; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.byte(103) = 1; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(23) = 44; + context.ds.word(21) = 40; + context.ds.word(25) = 63; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; } static void slabdoord(Context & context) { showfirstuse(context); - context.data.byte(103) = 1; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(23) = 75; - context._cmp(context.data.byte(66), 0); + context.ds.byte(103) = 1; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(23) = 75; + context._cmp(context.ds.byte(66), 0); if (!context.flags.z()) goto slabcwrong; - context._add(context.data.byte(2), 1); - context.data.word(21) = 60; - context.data.word(25) = 102; - context.data.byte(188) = 47; + context._add(context.ds.byte(2), 1); + context.ds.word(21) = 60; + context.ds.word(25) = 102; + context.ds.byte(188) = 47; return; slabcwrong: - context.data.word(21) = 40; - context.data.word(25) = 94; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 40; + context.ds.word(25) = 94; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; } static void slabdoorc(Context & context) { showfirstuse(context); - context.data.byte(103) = 1; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(23) = 108; - context._cmp(context.data.byte(66), 4); + context.ds.byte(103) = 1; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(23) = 108; + context._cmp(context.ds.byte(66), 4); if (!context.flags.z()) goto slabdwrong; - context._add(context.data.byte(2), 1); - context.data.word(21) = 60; - context.data.word(25) = 135; - context.data.byte(188) = 47; + context._add(context.ds.byte(2), 1); + context.ds.word(21) = 60; + context.ds.word(25) = 135; + context.ds.byte(188) = 47; return; slabdwrong: - context.data.word(21) = 40; - context.data.word(25) = 127; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 40; + context.ds.word(25) = 127; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; } static void slabdoore(Context & context) { showfirstuse(context); - context.data.byte(103) = 1; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(23) = 141; - context._cmp(context.data.byte(66), 5); + context.ds.byte(103) = 1; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(23) = 141; + context._cmp(context.ds.byte(66), 5); if (!context.flags.z()) goto slabewrong; - context._add(context.data.byte(2), 1); - context.data.word(21) = 60; - context.data.word(25) = 168; - context.data.byte(188) = 47; + context._add(context.ds.byte(2), 1); + context.ds.word(21) = 60; + context.ds.word(25) = 168; + context.ds.byte(188) = 47; return; slabewrong: - context.data.word(21) = 40; - context.data.word(25) = 160; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 40; + context.ds.word(25) = 160; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; } static void slabdoorf(Context & context) { showfirstuse(context); - context.data.byte(103) = 1; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(23) = 171; - context._cmp(context.data.byte(66), 2); + context.ds.byte(103) = 1; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(23) = 171; + context._cmp(context.ds.byte(66), 2); if (!context.flags.z()) goto slabfwrong; - context._add(context.data.byte(2), 1); - context.data.word(21) = 60; - context.data.word(25) = 197; - context.data.byte(188) = 47; + context._add(context.ds.byte(2), 1); + context.ds.word(21) = 60; + context.ds.word(25) = 197; + context.ds.byte(188) = 47; return; slabfwrong: - context.data.word(21) = 40; - context.data.word(25) = 189; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 40; + context.ds.word(25) = 189; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; } static void useslab(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto slabwith; withwhat(context); return; slabwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'J'; context.ch = 'E'; context.dl = 'W'; @@ -12002,10 +12002,10 @@ slabwith: putbackobstuff(context); return; nextslab: - context.al = context.data.byte(95); + context.al = context.ds.byte(95); getexad(context); - context.data.byte(context.bx+2) = 0; - context.al = context.data.byte(99); + context.ds.byte(context.bx+2) = 0; + context.al = context.ds.byte(99); context.push(context.ax); removesetobject(context); context.ax = context.pop(); @@ -12017,26 +12017,26 @@ nextslab: if (!context.flags.z()) goto notlastslab; context.al = 0; turnpathon(context); - context.data.word(21) = 22; - context.data.word(23) = 35; - context.data.word(25) = 48; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 22; + context.ds.word(23) = 35; + context.ds.word(25) = 48; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; notlastslab: - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showfirstuse(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } static void usecart(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto cartwith; withwhat(context); return; cartwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'R'; context.ch = 'O'; context.dl = 'C'; @@ -12049,31 +12049,31 @@ cartwith: putbackobstuff(context); return; nextcart: - context.al = context.data.byte(95); + context.al = context.ds.byte(95); getexad(context); - context.data.byte(context.bx+2) = 0; - context.al = context.data.byte(99); + context.ds.byte(context.bx+2) = 0; + context.al = context.ds.byte(99); context.push(context.ax); removesetobject(context); context.ax = context.pop(); context._add(context.al, 1); placesetobject(context); - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); context.al = 17; playchannel1(context); showfirstuse(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } static void useclearbox(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto clearboxwith; withwhat(context); return; clearboxwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'R'; context.ch = 'A'; context.dl = 'I'; @@ -12086,57 +12086,57 @@ clearboxwith: putbackobstuff(context); return; openbox: - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showfirstuse(context); - context.data.word(21) = 80; - context.data.word(23) = 67; - context.data.word(25) = 105; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 80; + context.ds.word(23) = 67; + context.ds.word(25) = 105; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } static void usecoveredbox(Context & context) { - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showfirstuse(context); - context.data.word(21) = 50; - context.data.word(23) = 41; - context.data.word(25) = 66; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 50; + context.ds.word(23) = 41; + context.ds.word(25) = 66; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } static void userailing(Context & context) { showfirstuse(context); - context.data.word(21) = 80; - context.data.word(23) = 0; - context.data.word(25) = 30; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; - context.data.byte(56) = 4; + context.ds.word(21) = 80; + context.ds.word(23) = 0; + context.ds.word(25) = 30; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; + context.ds.byte(56) = 4; return; } static void useopenbox(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto openboxwith; withwhat(context); return; openboxwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; context.dh = 'F'; compare(context); if (context.flags.z()) goto destoryopenbox; - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'U'; context.dl = 'P'; @@ -12146,21 +12146,21 @@ openboxwith: showfirstuse(context); return; destoryopenbox: - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); context.cx = 300; context.al = 37; showpuztext(context); - context.al = context.data.byte(95); + context.al = context.ds.byte(95); getexad(context); - context.data.byte(context.bx+15) = 'E'-'A'; - context.data.word(21) = 140; - context.data.word(23) = 105; - context.data.word(25) = 181; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.byte(context.bx+15) = 'E'-'A'; + context.ds.word(21) = 140; + context.ds.word(23) = 105; + context.ds.word(25) = 181; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; context.al = 4; turnpathon(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; openboxwrong: context.cx = 300; @@ -12171,11 +12171,11 @@ openboxwrong: } static void wearwatch(Context & context) { - context._cmp(context.data.byte(3), 1); + context._cmp(context.ds.byte(3), 1); if (context.flags.z()) goto wearingwatch; showfirstuse(context); - context.data.byte(3) = 1; - context.data.byte(103) = 1; + context.ds.byte(3) = 1; + context.ds.byte(103) = 1; getanyad(context); makeworn(context); return; @@ -12186,11 +12186,11 @@ wearingwatch: } static void wearshades(Context & context) { - context._cmp(context.data.byte(4), 1); + context._cmp(context.ds.byte(4), 1); if (context.flags.z()) goto wearingshades; - context.data.byte(4) = 1; + context.ds.byte(4) = 1; showfirstuse(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; getanyad(context); makeworn(context); return; @@ -12201,17 +12201,17 @@ wearingshades: } static void sitdowninbar(Context & context) { - context._cmp(context.data.byte(32), -1); + context._cmp(context.ds.byte(32), -1); if (!context.flags.z()) goto satdown; showfirstuse(context); - context.data.word(21) = 50; - context.data.word(23) = 55; - context.data.word(25) = 71; - context.data.word(29) = 73; - context.data.word(31) = 83; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 50; + context.ds.word(23) = 55; + context.ds.word(25) = 71; + context.ds.word(29) = 73; + context.ds.word(31) = 83; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; satdown: showseconduse(context); @@ -12221,23 +12221,23 @@ satdown: static void usechurchhole(Context & context) { showfirstuse(context); - context.data.byte(103) = 1; - context.data.word(21) = 28; - context.data.word(23) = 13; - context.data.word(25) = 26; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.byte(103) = 1; + context.ds.word(21) = 28; + context.ds.word(23) = 13; + context.ds.word(25) = 26; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; } static void usehole(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto holewith; withwhat(context); return; holewith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'H'; context.ch = 'N'; context.dl = 'D'; @@ -12253,11 +12253,11 @@ righthand: showfirstuse(context); context.al = 86; removesetobject(context); - context.al = context.data.byte(95); + context.al = context.ds.byte(95); getexad(context); - context.data.byte(context.bx+2) = 255; - context.data.byte(47) = 1; - context.data.byte(103) = 1; + context.ds.byte(context.bx+2) = 255; + context.ds.byte(47) = 1; + context.ds.byte(103) = 1; return; } @@ -12276,43 +12276,43 @@ static void usealtar(Context & context) { findexobject(context); context._cmp(context.al, 114); if (context.flags.z()) goto thingsonaltar; - context._cmp(context.data.byte(47), 1); + context._cmp(context.ds.byte(47), 1); if (context.flags.z()) goto movealtar; context.cx = 300; context.al = 23; showpuztext(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; movealtar: - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showseconduse(context); - context.data.word(21) = 160; - context.data.word(23) = 81; - context.data.word(25) = 174; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 160; + context.ds.word(23) = 81; + context.ds.word(25) = 174; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; context.al = 47; context.bl = 52; context.bh = 76; context.cx = 32; context.dx = 98; setuptimeduse(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; thingsonaltar: showfirstuse(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } static void opentvdoor(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto tvdoorwith; withwhat(context); return; tvdoorwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'U'; context.ch = 'L'; context.dl = 'O'; @@ -12326,8 +12326,8 @@ tvdoorwith: return; keyontv: showfirstuse(context); - context.data.byte(37) = 0; - context.data.byte(103) = 1; + context.ds.byte(37) = 0; + context.ds.byte(103) = 1; return; } @@ -12335,7 +12335,7 @@ static void usedryer(Context & context) { context.al = 12; playchannel1(context); showfirstuse(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } @@ -12345,13 +12345,13 @@ static void openlouis(Context & context) { context.cl = 3; context.ch = 8; entercode(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } static void nextcolon(Context & context) { lookcolon: - context.al = context.data.byte(context.si); + context.al = context.ds.byte(context.si); context._add(context.si, 1); context._cmp(context.al, ':'); if (!context.flags.z()) goto lookcolon; @@ -12364,17 +12364,17 @@ static void openyourneighbour(Context & context) { context.cl = 255; context.ch = 255; entercode(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } static void usewindow(Context & context) { - context._cmp(context.data.byte(475), 6); + context._cmp(context.ds.byte(475), 6); if (!context.flags.z()) goto notonbalc; - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showfirstuse(context); - context.data.byte(188) = 29; - context.data.byte(103) = 1; + context.ds.byte(188) = 29; + context.ds.byte(103) = 1; return; notonbalc: showseconduse(context); @@ -12398,19 +12398,19 @@ static void usebalcony(Context & context) { turnpathoff(context); context.al = 5; turnpathoff(context); - context._add(context.data.byte(2), 1); - context.data.byte(475) = 6; - context.data.byte(478) = 6; - context.data.byte(477) = 6; + context._add(context.ds.byte(2), 1); + context.ds.byte(475) = 6; + context.ds.byte(478) = 6; + context.ds.byte(477) = 6; findxyfrompath(context); switchryanoff(context); - context.data.byte(187) = 1; - context.data.word(21) = 30*2; - context.data.word(23) = 183; - context.data.word(25) = 212; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.byte(187) = 1; + context.ds.word(21) = 30*2; + context.ds.word(23) = 183; + context.ds.word(25) = 212; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } @@ -12420,7 +12420,7 @@ static void openryan(Context & context) { context.cl = 0; context.ch = 6; entercode(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } @@ -12430,7 +12430,7 @@ static void openpoolboss(Context & context) { context.cl = 2; context.ch = 2; entercode(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } @@ -12440,7 +12440,7 @@ static void openeden(Context & context) { context.cl = 6; context.ch = 5; entercode(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } @@ -12450,7 +12450,7 @@ static void opensarters(Context & context) { context.cl = 3; context.ch = 3; entercode(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } @@ -12458,13 +12458,13 @@ static void isitright(Context & context) { context.bx = context.ds; context.es = context.bx; context.bx = 8350; - context._cmp(context.data.byte(context.bx+0), context.al); + context._cmp(context.ds.byte(context.bx+0), context.al); if (!context.flags.z()) goto notright; - context._cmp(context.data.byte(context.bx+1), context.ah); + context._cmp(context.ds.byte(context.bx+1), context.ah); if (!context.flags.z()) goto notright; - context._cmp(context.data.byte(context.bx+2), context.cl); + context._cmp(context.ds.byte(context.bx+2), context.cl); if (!context.flags.z()) goto notright; - context._cmp(context.data.byte(context.bx+3), context.ch); + context._cmp(context.ds.byte(context.bx+3), context.ch); notright: return; } @@ -12478,13 +12478,13 @@ static void drawitall(Context & context) { } static void openhoteldoor(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto hoteldoorwith; withwhat(context); return; hoteldoorwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'K'; context.ch = 'E'; context.dl = 'Y'; @@ -12500,19 +12500,19 @@ keyonhotel1: context.al = 16; playchannel1(context); showfirstuse(context); - context.data.byte(37) = 0; - context.data.byte(103) = 1; + context.ds.byte(37) = 0; + context.ds.byte(103) = 1; return; } static void openhoteldoor2(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto hoteldoorwith2; withwhat(context); return; hoteldoorwith2: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'K'; context.ch = 'E'; context.dl = 'Y'; @@ -12533,13 +12533,13 @@ keyonhotel2: } static void grafittidoor(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto grafwith; withwhat(context); return; grafwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'A'; context.ch = 'P'; context.dl = 'E'; @@ -12558,16 +12558,16 @@ dograf: } static void trapdoor(Context & context) { - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); showfirstuse(context); switchryanoff(context); - context.data.word(21) = 20*2; - context.data.word(23) = 181; - context.data.word(25) = 197; - context.data.byte(188) = 26; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 20*2; + context.ds.word(23) = 181; + context.ds.word(25) = 197; + context.ds.byte(188) = 26; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } @@ -12575,10 +12575,10 @@ static void callhotellift(Context & context) { context.al = 12; playchannel1(context); showfirstuse(context); - context.data.byte(39) = 8; - context.data.byte(103) = 1; - context.data.byte(478) = 5; - context.data.byte(477) = 5; + context.ds.byte(39) = 8; + context.ds.byte(103) = 1; + context.ds.byte(478) = 5; + context.ds.byte(477) = 5; autosetwalk(context); context.al = 4; turnpathon(context); @@ -12587,19 +12587,19 @@ static void callhotellift(Context & context) { static void calledenslift(Context & context) { showfirstuse(context); - context.data.byte(39) = 8; - context.data.byte(103) = 1; + context.ds.byte(39) = 8; + context.ds.byte(103) = 1; context.al = 2; turnpathon(context); return; } static void calledensdlift(Context & context) { - context._cmp(context.data.byte(35), 1); + context._cmp(context.ds.byte(35), 1); if (context.flags.z()) goto edensdhere; showfirstuse(context); - context.data.byte(39) = 8; - context.data.byte(103) = 1; + context.ds.byte(39) = 8; + context.ds.byte(103) = 1; context.al = 2; turnpathon(context); return; @@ -12610,13 +12610,13 @@ edensdhere: } static void usepoolreader(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto poolwith; withwhat(context); return; poolwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'M'; context.ch = 'E'; context.dl = 'M'; @@ -12629,7 +12629,7 @@ poolwith: putbackobstuff(context); return; openpool: - context._cmp(context.data.byte(48), 1); + context._cmp(context.ds.byte(48), 1); if (context.flags.z()) goto canopenpool; showseconduse(context); putbackobstuff(context); @@ -12638,19 +12638,19 @@ canopenpool: context.al = 17; playchannel1(context); showfirstuse(context); - context.data.byte(39) = 6; - context.data.byte(103) = 1; + context.ds.byte(39) = 6; + context.ds.byte(103) = 1; return; } static void uselighter(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gotlighterwith; withwhat(context); return; gotlighterwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'S'; context.ch = 'M'; context.dl = 'K'; @@ -12664,10 +12664,10 @@ cigarette: context.cx = 300; context.al = 9; showpuztext(context); - context.al = context.data.byte(95); + context.al = context.ds.byte(95); getexad(context); - context.data.byte(context.bx+2) = 255; - context.data.byte(103) = 1; + context.ds.byte(context.bx+2) = 255; + context.ds.byte(103) = 1; return; } @@ -12683,13 +12683,13 @@ static void showseconduse(Context & context) { } static void usecardreader1(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gotreader1with; withwhat(context); return; gotreader1with: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'S'; context.dl = 'H'; @@ -12702,9 +12702,9 @@ gotreader1with: putbackobstuff(context); return; correctcard: - context._cmp(context.data.byte(49), 0); + context._cmp(context.ds.byte(49), 0); if (context.flags.z()) goto notyet; - context._cmp(context.data.word(16), 0); + context._cmp(context.ds.word(16), 0); if (context.flags.z()) goto getscash; context.cx = 300; context.al = 17; @@ -12717,9 +12717,9 @@ getscash: context.cx = 300; context.al = 18; showpuztext(context); - context._add(context.data.byte(2), 1); - context.data.word(16) = 12432; - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context.ds.word(16) = 12432; + context.ds.byte(103) = 1; return; notyet: showfirstuse(context); @@ -12728,13 +12728,13 @@ notyet: } static void usecardreader2(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gotreader2with; withwhat(context); return; gotreader2with: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'S'; context.dl = 'H'; @@ -12747,11 +12747,11 @@ gotreader2with: putbackobstuff(context); return; correctcard2: - context._cmp(context.data.byte(50), 0); + context._cmp(context.ds.byte(50), 0); if (context.flags.z()) goto notyetboss; - context._cmp(context.data.word(16), 0); + context._cmp(context.ds.word(16), 0); if (context.flags.z()) goto nocash; - context._cmp(context.data.byte(46), 2); + context._cmp(context.ds.byte(46), 2); if (context.flags.z()) goto alreadygotnew; context.al = 18; playchannel1(context); @@ -12760,10 +12760,10 @@ correctcard2: showpuztext(context); context.al = 94; placesetobject(context); - context.data.byte(46) = 1; - context._sub(context.data.word(16), 2000); - context._add(context.data.byte(2), 1); - context.data.byte(103) = 1; + context.ds.byte(46) = 1; + context._sub(context.ds.word(16), 2000); + context._add(context.ds.byte(2), 1); + context.ds.byte(103) = 1; return; nocash: context.cx = 300; @@ -12784,13 +12784,13 @@ notyetboss: } static void usecardreader3(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gotreader3with; withwhat(context); return; gotreader3with: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'S'; context.dl = 'H'; @@ -12803,19 +12803,19 @@ gotreader3with: putbackobstuff(context); return; rightcard: - context._cmp(context.data.byte(51), 0); + context._cmp(context.ds.byte(51), 0); if (context.flags.z()) goto notyetrecep; - context._cmp(context.data.byte(52), 0); + context._cmp(context.ds.byte(52), 0); if (!context.flags.z()) goto alreadyusedit; context.al = 16; playchannel1(context); context.cx = 300; context.al = 25; showpuztext(context); - context._add(context.data.byte(2), 1); - context._sub(context.data.word(16), 8300); - context.data.byte(52) = 1; - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context._sub(context.ds.word(16), 8300); + context.ds.byte(52) = 1; + context.ds.byte(103) = 1; return; alreadyusedit: context.cx = 300; @@ -12838,11 +12838,11 @@ static void usecashcard(Context & context) { showman(context); context.di = 114; context.bx = 120-3; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 39; context.ah = 0; showframe(context); - context.ax = context.data.word(16); + context.ax = context.ds.word(16); moneypoke(context); getobtextstart(context); nextcolon(context); @@ -12857,7 +12857,7 @@ static void usecashcard(Context & context) { context.bx = 155; context.es = context.cs; context.si = 3385; - context.data.word(71) = 91*2+75; + context.ds.word(71) = 91*2+75; context.al = 0; context.ah = 0; context.dl = 240; @@ -12866,12 +12866,12 @@ static void usecashcard(Context & context) { context.bx = 155; context.es = context.cs; context.si = 3390; - context.data.word(71) = 91*2+85; + context.ds.word(71) = 91*2+85; context.al = 0; context.ah = 0; context.dl = 240; printdirect(context); - context.data.word(71) = 0; + context.ds.word(71) = 0; worktoscreenm(context); context.cx = 400; hangonp(context); @@ -12882,13 +12882,13 @@ static void usecashcard(Context & context) { } static void lookatcard(Context & context) { - context.data.byte(131) = 1; + context.ds.byte(131) = 1; getridofreels(context); loadkeypad(context); createpanel2(context); context.di = 160; context.bx = 80; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 42; context.ah = 128; showframe(context); @@ -12910,7 +12910,7 @@ static void lookatcard(Context & context) { createpanel2(context); context.di = 160; context.bx = 80; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 42; context.ah = 128; showframe(context); @@ -12925,7 +12925,7 @@ static void lookatcard(Context & context) { worktoscreenm(context); context.cx = 200; hangonw(context); - context.data.byte(131) = 0; + context.ds.byte(131) = 0; getridoftemp(context); restorereels(context); putbackobstuff(context); @@ -12940,7 +12940,7 @@ numberpoke0: context._sub(context.ax, 10000); if (!context.flags.c()) goto numberpoke0; context._add(context.ax, 10000); - context.data.byte(context.bx) = context.cl; + context.ds.byte(context.bx) = context.cl; context._add(context.bx, 1); context.cl = 48-1; numberpoke1: @@ -12948,7 +12948,7 @@ numberpoke1: context._sub(context.ax, 1000); if (!context.flags.c()) goto numberpoke1; context._add(context.ax, 1000); - context.data.byte(context.bx) = context.cl; + context.ds.byte(context.bx) = context.cl; context._add(context.bx, 1); context.cl = 48-1; numberpoke2: @@ -12956,7 +12956,7 @@ numberpoke2: context._sub(context.ax, 100); if (!context.flags.c()) goto numberpoke2; context._add(context.ax, 100); - context.data.byte(context.bx) = context.cl; + context.ds.byte(context.bx) = context.cl; context._add(context.bx, 1); context.cl = 48-1; numberpoke3: @@ -12964,39 +12964,39 @@ numberpoke3: context._sub(context.ax, 10); if (!context.flags.c()) goto numberpoke3; context._add(context.ax, 10); - context.data.byte(context.bx) = context.cl; + context.ds.byte(context.bx) = context.cl; context.bx = 3390; context._add(context.al, 48); - context.data.byte(context.bx) = context.al; + context.ds.byte(context.bx) = context.al; return; } static void usecontrol(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gotcontrolwith; withwhat(context); return; gotcontrolwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'K'; context.ch = 'E'; context.dl = 'Y'; context.dh = 'A'; compare(context); if (context.flags.z()) goto rightkey; - context._cmp(context.data.byte(184), 21); + context._cmp(context.ds.byte(184), 21); if (!context.flags.z()) goto balls; - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'K'; context.ch = 'N'; context.dl = 'F'; context.dh = 'E'; compare(context); if (context.flags.z()) goto jimmycontrols; - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'A'; context.ch = 'X'; context.dl = 'E'; @@ -13010,26 +13010,26 @@ balls: rightkey: context.al = 16; playchannel1(context); - context._cmp(context.data.byte(9), 21); + context._cmp(context.ds.byte(9), 21); if (context.flags.z()) goto goingdown; context.cx = 300; context.al = 0; showpuztext(context); - context.data.byte(188) = 21; - context.data.byte(40) = 8; - context.data.byte(39) = 0; - context.data.word(21) = 80; - context.data.byte(103) = 1; + context.ds.byte(188) = 21; + context.ds.byte(40) = 8; + context.ds.byte(39) = 0; + context.ds.word(21) = 80; + context.ds.byte(103) = 1; return; goingdown: context.cx = 300; context.al = 3; showpuztext(context); - context.data.byte(188) = 30; - context.data.byte(40) = 8; - context.data.byte(39) = 0; - context.data.word(21) = 80; - context.data.byte(103) = 1; + context.ds.byte(188) = 30; + context.ds.byte(40) = 8; + context.ds.byte(39) = 0; + context.ds.word(21) = 80; + context.ds.byte(103) = 1; return; jimmycontrols: context.al = 50; @@ -13049,41 +13049,41 @@ jimmycontrols: context.cx = 300; context.al = 10; showpuztext(context); - context._add(context.data.byte(2), 1); - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context.ds.byte(103) = 1; return; axeoncontrols: context.cx = 300; context.al = 16; showpuztext(context); - context._add(context.data.byte(2), 1); + context._add(context.ds.byte(2), 1); putbackobstuff(context); return; } static void usehatch(Context & context) { showfirstuse(context); - context.data.byte(188) = 40; - context.data.byte(103) = 1; + context.ds.byte(188) = 40; + context.ds.byte(103) = 1; return; } static void usewire(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gotwirewith; withwhat(context); return; gotwirewith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'K'; context.ch = 'N'; context.dl = 'F'; context.dh = 'E'; compare(context); if (context.flags.z()) goto wireknife; - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'A'; context.ch = 'X'; context.dl = 'E'; @@ -13109,8 +13109,8 @@ wireknife: context.cx = 300; context.al = 11; showpuztext(context); - context._add(context.data.byte(2), 1); - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context.ds.byte(103) = 1; return; } @@ -13120,27 +13120,27 @@ static void usehandle(Context & context) { context.cl = 'T'; context.ch = 'W'; findsetobject(context); - context.al = context.data.byte(context.bx+58); + context.al = context.ds.byte(context.bx+58); context._cmp(context.al, 255); if (!context.flags.z()) goto havecutwire; context.cx = 300; context.al = 12; showpuztext(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; havecutwire: context.cx = 300; context.al = 13; showpuztext(context); - context.data.byte(188) = 22; - context.data.byte(103) = 1; + context.ds.byte(188) = 22; + context.ds.byte(103) = 1; return; } static void useelevator1(Context & context) { showfirstuse(context); selectlocation(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } @@ -13156,47 +13156,47 @@ static void showfirstuse(Context & context) { static void useelevator3(Context & context) { showfirstuse(context); - context.data.byte(40) = 20; - context.data.byte(188) = 34; - context.data.word(23) = 46; - context.data.word(25) = 63; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.word(21) = 80; - context.data.byte(103) = 1; + context.ds.byte(40) = 20; + context.ds.byte(188) = 34; + context.ds.word(23) = 46; + context.ds.word(25) = 63; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.word(21) = 80; + context.ds.byte(103) = 1; return; } static void useelevator4(Context & context) { showfirstuse(context); - context.data.word(23) = 0; - context.data.word(25) = 11; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(40) = 20; - context.data.word(21) = 80; - context.data.byte(103) = 1; - context.data.byte(188) = 24; + context.ds.word(23) = 0; + context.ds.word(25) = 11; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(40) = 20; + context.ds.word(21) = 80; + context.ds.byte(103) = 1; + context.ds.byte(188) = 24; return; } static void useelevator2(Context & context) { - context._cmp(context.data.byte(9), 23); + context._cmp(context.ds.byte(9), 23); if (context.flags.z()) goto inpoolhall; showfirstuse(context); - context.data.byte(188) = 23; - context.data.byte(40) = 20; - context.data.byte(39) = 0; - context.data.word(21) = 80; - context.data.byte(103) = 1; + context.ds.byte(188) = 23; + context.ds.byte(40) = 20; + context.ds.byte(39) = 0; + context.ds.word(21) = 80; + context.ds.byte(103) = 1; return; inpoolhall: showfirstuse(context); - context.data.byte(188) = 31; - context.data.byte(40) = 20; - context.data.byte(39) = 0; - context.data.word(21) = 80; - context.data.byte(103) = 1; + context.ds.byte(188) = 31; + context.ds.byte(40) = 20; + context.ds.byte(39) = 0; + context.ds.word(21) = 80; + context.ds.byte(103) = 1; return; } @@ -13205,20 +13205,20 @@ static void useelevator5(Context & context) { placesetobject(context); context.al = 0; removesetobject(context); - context.data.byte(188) = 20; - context.data.word(21) = 80; - context.data.byte(35) = 1; - context.data.byte(40) = 8; - context.data.byte(103) = 1; + context.ds.byte(188) = 20; + context.ds.word(21) = 80; + context.ds.byte(35) = 1; + context.ds.byte(40) = 8; + context.ds.byte(103) = 1; return; } static void usekey(Context & context) { - context._cmp(context.data.byte(9), 5); + context._cmp(context.ds.byte(9), 5); if (context.flags.z()) goto usekey1; - context._cmp(context.data.byte(9), 30); + context._cmp(context.ds.byte(9), 30); if (context.flags.z()) goto usekey1; - context._cmp(context.data.byte(9), 21); + context._cmp(context.ds.byte(9), 21); if (context.flags.z()) goto usekey2; context.cx = 200; context.al = 1; @@ -13226,25 +13226,25 @@ static void usekey(Context & context) { putbackobstuff(context); return; usekey1: - context._cmp(context.data.byte(148), 22); + context._cmp(context.ds.byte(148), 22); if (!context.flags.z()) goto wrongroom1; - context._cmp(context.data.byte(149), 10); + context._cmp(context.ds.byte(149), 10); if (!context.flags.z()) goto wrongroom1; context.cx = 300; context.al = 0; showpuztext(context); - context.data.byte(40) = 100; - context.data.byte(103) = 1; + context.ds.byte(40) = 100; + context.ds.byte(103) = 1; return; usekey2: - context._cmp(context.data.byte(148), 11); + context._cmp(context.ds.byte(148), 11); if (!context.flags.z()) goto wrongroom1; - context._cmp(context.data.byte(149), 10); + context._cmp(context.ds.byte(149), 10); if (!context.flags.z()) goto wrongroom1; context.cx = 300; context.al = 3; showpuztext(context); - context.data.byte(188) = 30; + context.ds.byte(188) = 30; context.al = 2; fadescreendown(context); showfirstuse(context); @@ -13259,7 +13259,7 @@ wrongroom1: } static void usestereo(Context & context) { - context._cmp(context.data.byte(9), 0); + context._cmp(context.ds.byte(9), 0); if (context.flags.z()) goto stereook; context.cx = 400; context.al = 4; @@ -13267,9 +13267,9 @@ static void usestereo(Context & context) { putbackobstuff(context); return; stereook: - context._cmp(context.data.byte(148), 11); + context._cmp(context.ds.byte(148), 11); if (!context.flags.z()) goto stereonotok; - context._cmp(context.data.byte(149), 0); + context._cmp(context.ds.byte(149), 0); if (context.flags.z()) goto stereook2; stereonotok: context.cx = 400; @@ -13293,13 +13293,13 @@ stereook2: putbackobstuff(context); getanyad(context); context.al = 255; - context.data.byte(context.bx+10) = context.al; + context.ds.byte(context.bx+10) = context.al; return; cdinside: getanyad(context); - context.al = context.data.byte(context.bx+10); + context.al = context.ds.byte(context.bx+10); context._xor(context.al, 1); - context.data.byte(context.bx+10) = context.al; + context.ds.byte(context.bx+10) = context.al; context._cmp(context.al, 255); if (context.flags.z()) goto stereoon; context.al = 7; @@ -13316,8 +13316,8 @@ stereoon: } static void usecooker(Context & context) { - context.al = context.data.byte(99); - context.ah = context.data.byte(102); + context.al = context.ds.byte(99); + context.ah = context.ds.byte(102); checkinside(context); context._cmp(context.cl, 114); if (!context.flags.z()) goto foodinside; @@ -13331,14 +13331,14 @@ foodinside: } static void useaxe(Context & context) { - context._cmp(context.data.byte(184), 22); + context._cmp(context.ds.byte(184), 22); if (!context.flags.z()) goto notinpool; - context._cmp(context.data.byte(149), 10); + context._cmp(context.ds.byte(149), 10); if (context.flags.z()) goto axeondoor; showseconduse(context); - context._add(context.data.byte(2), 1); - context.data.byte(65) = 2; - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context.ds.byte(65) = 2; + context.ds.byte(103) = 1; removeobfrominv(context); return; notinpool: @@ -13349,25 +13349,25 @@ axeondoor: context.al = 15; context.cx = 300; showpuztext(context); - context._add(context.data.byte(2), 1); - context.data.word(21) = 46*2; - context.data.word(23) = 31; - context.data.word(25) = 77; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context.ds.word(21) = 46*2; + context.ds.word(23) = 31; + context.ds.word(25) = 77; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; return; } static void useelvdoor(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gotdoorwith; withwhat(context); return; gotdoorwith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'A'; context.ch = 'X'; context.dl = 'E'; @@ -13383,13 +13383,13 @@ axeondoor: context.al = 15; context.cx = 300; showpuztext(context); - context._add(context.data.byte(2), 1); - context.data.word(21) = 46*2; - context.data.word(23) = 31; - context.data.word(25) = 77; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context.ds.word(21) = 46*2; + context.ds.word(23) = 31; + context.ds.word(25) = 77; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } @@ -13398,8 +13398,8 @@ static void withwhat(Context & context) { showpanel(context); showman(context); showexit(context); - context.al = context.data.byte(99); - context.ah = context.data.byte(102); + context.al = context.ds.byte(99); + context.ah = context.ds.byte(102); context.es = context.cs; context.di = 5674; copyname(context); @@ -13409,7 +13409,7 @@ static void withwhat(Context & context) { context.al = 63; context.ah = 2; printmessage2(context); - context.di = context.data.word(84); + context.di = context.ds.word(84); context._add(context.di, 5); context.bx = 21; context.es = context.cs; @@ -13418,7 +13418,7 @@ static void withwhat(Context & context) { context.al = 0; context.ah = 0; printdirect(context); - context.di = context.data.word(84); + context.di = context.ds.word(84); context._add(context.di, 5); context.bx = 21; context.dl = 200; @@ -13426,38 +13426,38 @@ static void withwhat(Context & context) { context.ah = 3; printmessage2(context); fillryan(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; readmouse(context); showpointer(context); worktoscreen(context); delpointer(context); - context.data.byte(104) = 2; + context.ds.byte(104) = 2; return; } static void selectob(Context & context) { findinvpos(context); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.al, 255); if (!context.flags.z()) goto canselectob; blank(context); return; canselectob: - context.data.byte(95) = context.al; - context.data.byte(96) = context.ah; - context._cmp(context.ax, context.data.word(94)); + context.ds.byte(95) = context.al; + context.ds.byte(96) = context.ah; + context._cmp(context.ax, context.ds.word(94)); if (!context.flags.z()) goto diffsub3; - context._cmp(context.data.byte(100), 221); + context._cmp(context.ds.byte(100), 221); if (context.flags.z()) goto alreadyselob; - context.data.byte(100) = 221; + context.ds.byte(100) = 221; diffsub3: - context.data.word(94) = context.ax; + context.ds.word(94) = context.ax; context.bx = context.ax; context.al = 0; commandwithob(context); alreadyselob: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notselob; context._and(context.ax, 1); if (!context.flags.z()) goto doselob; @@ -13465,7 +13465,7 @@ notselob: return; doselob: delpointer(context); - context.data.byte(104) = 0; + context.ds.byte(104) = 0; useroutine(context); return; } @@ -13480,9 +13480,9 @@ static void compare(Context & context) { getanyaddir(context); context.dx = context.pop(); context.cx = context.pop(); - context._cmp(context.data.word(context.bx+12), context.cx); + context._cmp(context.ds.word(context.bx+12), context.cx); if (!context.flags.z()) goto comparefin; - context._cmp(context.data.word(context.bx+14), context.dx); + context._cmp(context.ds.word(context.bx+14), context.dx); comparefin: return; } @@ -13492,17 +13492,17 @@ static void findsetobject(Context & context) { context._sub(context.ah, 'A'); context._sub(context.cl, 'A'); context._sub(context.ch, 'A'); - context.es = context.data.word(428); + context.es = context.ds.word(428); context.bx = 0; context.dl = 0; findsetloop: - context._cmp(context.al, context.data.byte(context.bx+12)); + context._cmp(context.al, context.ds.byte(context.bx+12)); if (!context.flags.z()) goto nofind; - context._cmp(context.ah, context.data.byte(context.bx+13)); + context._cmp(context.ah, context.ds.byte(context.bx+13)); if (!context.flags.z()) goto nofind; - context._cmp(context.cl, context.data.byte(context.bx+14)); + context._cmp(context.cl, context.ds.byte(context.bx+14)); if (!context.flags.z()) goto nofind; - context._cmp(context.ch, context.data.byte(context.bx+15)); + context._cmp(context.ch, context.ds.byte(context.bx+15)); if (!context.flags.z()) goto nofind; context.al = context.dl; return; @@ -13520,17 +13520,17 @@ static void findexobject(Context & context) { context._sub(context.ah, 'A'); context._sub(context.cl, 'A'); context._sub(context.ch, 'A'); - context.es = context.data.word(398); + context.es = context.ds.word(398); context.bx = 0+2080+30000; context.dl = 0; findexloop: - context._cmp(context.al, context.data.byte(context.bx+12)); + context._cmp(context.al, context.ds.byte(context.bx+12)); if (!context.flags.z()) goto nofindex; - context._cmp(context.ah, context.data.byte(context.bx+13)); + context._cmp(context.ah, context.ds.byte(context.bx+13)); if (!context.flags.z()) goto nofindex; - context._cmp(context.cl, context.data.byte(context.bx+14)); + context._cmp(context.cl, context.ds.byte(context.bx+14)); if (!context.flags.z()) goto nofindex; - context._cmp(context.ch, context.data.byte(context.bx+15)); + context._cmp(context.ch, context.ds.byte(context.bx+15)); if (!context.flags.z()) goto nofindex; context.al = context.dl; return; @@ -13548,19 +13548,19 @@ static void isryanholding(Context & context) { context._sub(context.ah, 'A'); context._sub(context.cl, 'A'); context._sub(context.ch, 'A'); - context.es = context.data.word(398); + context.es = context.ds.word(398); context.bx = 0+2080+30000; context.dl = 0; searchinv: - context._cmp(context.data.byte(context.bx+2), 4); + context._cmp(context.ds.byte(context.bx+2), 4); if (!context.flags.z()) goto nofindininv; - context._cmp(context.al, context.data.byte(context.bx+12)); + context._cmp(context.al, context.ds.byte(context.bx+12)); if (!context.flags.z()) goto nofindininv; - context._cmp(context.ah, context.data.byte(context.bx+13)); + context._cmp(context.ah, context.ds.byte(context.bx+13)); if (!context.flags.z()) goto nofindininv; - context._cmp(context.cl, context.data.byte(context.bx+14)); + context._cmp(context.cl, context.ds.byte(context.bx+14)); if (!context.flags.z()) goto nofindininv; - context._cmp(context.ch, context.data.byte(context.bx+15)); + context._cmp(context.ch, context.ds.byte(context.bx+15)); if (!context.flags.z()) goto nofindininv; context.al = context.dl; context._cmp(context.al, 114); @@ -13576,13 +13576,13 @@ nofindininv: } static void checkinside(Context & context) { - context.es = context.data.word(398); + context.es = context.ds.word(398); context.bx = 0+2080+30000; context.cl = 0; insideloop: - context._cmp(context.al, context.data.byte(context.bx+3)); + context._cmp(context.al, context.ds.byte(context.bx+3)); if (!context.flags.z()) goto notfoundinside; - context._cmp(context.ah, context.data.byte(context.bx+2)); + context._cmp(context.ah, context.ds.byte(context.bx+2)); if (!context.flags.z()) goto notfoundinside; return; notfoundinside: @@ -13622,7 +13622,7 @@ static void putbackobstuff(Context & context) { obpicture(context); describeob(context); undertextline(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; readmouse(context); showpointer(context); worktoscreen(context); @@ -13657,8 +13657,8 @@ static void findpuztext(Context & context) { context.ah = 0; context.si = context.ax; context._add(context.si, context.si); - context.es = context.data.word(454); - context.ax = context.data.word(context.si); + context.es = context.ds.word(454); + context.ax = context.ds.word(context.si); context._add(context.ax, 66*2); context.si = context.ax; return; @@ -13671,7 +13671,7 @@ static void placesetobject(Context & context) { context.ch = 0; findormake(context); getsetad(context); - context.data.byte(context.bx+58) = 0; + context.ds.byte(context.bx+58) = 0; context.bx = context.pop(); context.es = context.pop(); return; @@ -13684,7 +13684,7 @@ static void removesetobject(Context & context) { context.ch = 0; findormake(context); getsetad(context); - context.data.byte(context.bx+58) = 255; + context.ds.byte(context.bx+58) = 255; context.bx = context.pop(); context.es = context.pop(); return; @@ -13694,7 +13694,7 @@ static void issetobonmap(Context & context) { context.push(context.es); context.push(context.bx); getsetad(context); - context.al = context.data.byte(context.bx+58); + context.al = context.ds.byte(context.bx+58); context.bx = context.pop(); context.es = context.pop(); context._cmp(context.al, 0); @@ -13708,7 +13708,7 @@ static void placefreeobject(Context & context) { context.ch = 1; findormake(context); getfreead(context); - context.data.byte(context.bx+2) = 0; + context.ds.byte(context.bx+2) = 0; context.bx = context.pop(); context.es = context.pop(); return; @@ -13718,7 +13718,7 @@ static void removefreeobject(Context & context) { context.push(context.es); context.push(context.bx); getfreead(context); - context.data.byte(context.bx+2) = 255; + context.ds.byte(context.bx+2) = 255; context.bx = context.pop(); context.es = context.pop(); return; @@ -13727,49 +13727,49 @@ static void removefreeobject(Context & context) { static void findormake(Context & context) { context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80); context.push(context.ax); - context.es = context.data.word(412); - context.ah = context.data.byte(184); + context.es = context.ds.word(412); + context.ah = context.ds.byte(184); changeloop: - context._cmp(context.data.byte(context.bx), 255); + context._cmp(context.ds.byte(context.bx), 255); if (context.flags.z()) goto haventfound; - context._cmp(context.ax, context.data.word(context.bx)); + context._cmp(context.ax, context.ds.word(context.bx)); if (!context.flags.z()) goto nofoundchange; - context._cmp(context.ch, context.data.byte(context.bx+3)); + context._cmp(context.ch, context.ds.byte(context.bx+3)); if (context.flags.z()) goto foundchange; nofoundchange: context._add(context.bx, 4); goto changeloop; foundchange: context.ax = context.pop(); - context.data.byte(context.bx+2) = context.cl; + context.ds.byte(context.bx+2) = context.cl; return; haventfound: - context.data.word(context.bx) = context.ax; - context.data.word(context.bx+2) = context.cx; + context.ds.word(context.bx) = context.ax; + context.ds.word(context.bx+2) = context.cx; context.ax = context.pop(); return; } static void switchryanon(Context & context) { - context.data.byte(63) = 255; + context.ds.byte(63) = 255; return; } static void switchryanoff(Context & context) { - context.data.byte(63) = 1; + context.ds.byte(63) = 1; return; } static void setallchanges(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80); setallloop: - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.al, 255); if (context.flags.z()) goto endsetloop; - context.cx = context.data.word(context.bx+2); + context.cx = context.ds.word(context.bx+2); context._add(context.bx, 4); - context._cmp(context.ah, context.data.byte(184)); + context._cmp(context.ah, context.ds.byte(184)); if (!context.flags.z()) goto setallloop; context.push(context.es); context.push(context.bx); @@ -13801,43 +13801,43 @@ path: context.bx = context.pop(); context._add(context.bx, context.ax); context._add(context.bx, 0); - context.es = context.data.word(450); + context.es = context.ds.word(450); context.cx = context.pop(); - context.data.byte(context.bx+6) = context.cl; + context.ds.byte(context.bx+6) = context.cl; nopath: return; object: context.push(context.cx); getsetad(context); context.cx = context.pop(); - context.data.byte(context.bx+58) = context.cl; + context.ds.byte(context.bx+58) = context.cl; return; freeobject: context.push(context.cx); getfreead(context); context.cx = context.pop(); - context._cmp(context.data.byte(context.bx+2), 255); + context._cmp(context.ds.byte(context.bx+2), 255); if (!context.flags.z()) goto beenpickedup; - context.data.byte(context.bx+2) = context.cl; + context.ds.byte(context.bx+2) = context.cl; beenpickedup: return; } static void autoappear(Context & context) { - context._cmp(context.data.byte(9), 32); + context._cmp(context.ds.byte(9), 32); if (!context.flags.z()) goto notinalley; context.al = 5; resetlocation(context); context.al = 10; setlocation(context); - context.data.byte(183) = 10; + context.ds.byte(183) = 10; return; notinalley: - context._cmp(context.data.byte(184), 24); + context._cmp(context.ds.byte(184), 24); if (!context.flags.z()) goto notinedens; - context._cmp(context.data.byte(42), 1); + context._cmp(context.ds.byte(42), 1); if (!context.flags.z()) goto edenspart2; - context._add(context.data.byte(42), 1); + context._add(context.ds.byte(42), 1); context.al = 44; placesetobject(context); context.al = 18; @@ -13856,7 +13856,7 @@ notinalley: removesetobject(context); return; edenspart2: - context._cmp(context.data.byte(43), 1); + context._cmp(context.ds.byte(43), 1); if (!context.flags.z()) goto notedens2; context.al = 44; removesetobject(context); @@ -13864,23 +13864,23 @@ edenspart2: removesetobject(context); context.al = 55; placesetobject(context); - context._add(context.data.byte(43), 1); + context._add(context.ds.byte(43), 1); notedens2: return; notinedens: - context._cmp(context.data.byte(184), 25); + context._cmp(context.ds.byte(184), 25); if (!context.flags.z()) goto notonsartroof; - context.data.byte(34) = 3; + context.ds.byte(34) = 3; context.al = 6; resetlocation(context); context.al = 11; setlocation(context); - context.data.byte(183) = 11; + context.ds.byte(183) = 11; return; notonsartroof: - context._cmp(context.data.byte(184), 2); + context._cmp(context.ds.byte(184), 2); if (!context.flags.z()) goto notinlouiss; - context._cmp(context.data.byte(41), 0); + context._cmp(context.ds.byte(41), 0); if (context.flags.z()) goto notinlouiss; context.al = 23; placesetobject(context); @@ -13889,153 +13889,153 @@ notinlouiss: } static void getundertimed(Context & context) { - context.al = context.data.byte(335); + context.al = context.ds.byte(335); context._sub(context.al, 3); context.ah = 0; context.bx = context.ax; - context.al = context.data.byte(336); + context.al = context.ds.byte(336); context.ah = 0; context.di = context.ax; context.ch = 30; context.cl = 240; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4); multiget(context); return; } static void putundertimed(Context & context) { - context.al = context.data.byte(335); + context.al = context.ds.byte(335); context._sub(context.al, 3); context.ah = 0; context.bx = context.ax; - context.al = context.data.byte(336); + context.al = context.ds.byte(336); context.ah = 0; context.di = context.ax; context.ch = 30; context.cl = 240; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4); multiput(context); return; } static void dumptimedtext(Context & context) { - context._cmp(context.data.byte(337), 1); + context._cmp(context.ds.byte(337), 1); if (!context.flags.z()) goto nodumptimed; - context.al = context.data.byte(335); + context.al = context.ds.byte(335); context._sub(context.al, 3); context.ah = 0; context.bx = context.ax; - context.al = context.data.byte(336); + context.al = context.ds.byte(336); context.ah = 0; context.di = context.ax; context.cl = 240; context.ch = 30; multidump(context); - context.data.byte(337) = 0; + context.ds.byte(337) = 0; nodumptimed: return; } static void setuptimeduse(Context & context) { - context._cmp(context.data.word(328), 0); + context._cmp(context.ds.word(328), 0); if (!context.flags.z()) goto cantsetup; - context.data.byte(335) = context.bh; - context.data.byte(336) = context.bl; - context.data.word(330) = context.cx; + context.ds.byte(335) = context.bh; + context.ds.byte(336) = context.bl; + context.ds.word(330) = context.cx; context._add(context.dx, context.cx); - context.data.word(328) = context.dx; + context.ds.word(328) = context.dx; context.bl = context.al; context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(454); + context.es = context.ds.word(454); context.cx = 66*2; - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, context.cx); context.bx = context.ax; - context.data.word(332) = context.es; - context.data.word(334) = context.bx; + context.ds.word(332) = context.es; + context.ds.word(334) = context.bx; cantsetup: return; } static void setuptimedtemp(Context & context) { - context._cmp(context.data.word(328), 0); + context._cmp(context.ds.word(328), 0); if (!context.flags.z()) goto cantsetup2; - context.data.byte(335) = context.bh; - context.data.byte(336) = context.bl; - context.data.word(330) = context.cx; + context.ds.byte(335) = context.bh; + context.ds.byte(336) = context.bl; + context.ds.word(330) = context.cx; context._add(context.dx, context.cx); - context.data.word(328) = context.dx; + context.ds.word(328) = context.dx; context.bl = context.al; context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(466); + context.es = context.ds.word(466); context.cx = 66*2; - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, context.cx); context.bx = context.ax; - context.data.word(332) = context.es; - context.data.word(334) = context.bx; + context.ds.word(332) = context.es; + context.ds.word(334) = context.bx; cantsetup2: return; } static void usetimedtext(Context & context) { - context._cmp(context.data.word(328), 0); + context._cmp(context.ds.word(328), 0); if (context.flags.z()) goto notext; - context._sub(context.data.word(328), 1); - context._cmp(context.data.word(328), 0); + context._sub(context.ds.word(328), 1); + context._cmp(context.ds.word(328), 0); if (context.flags.z()) goto deltimedtext; - context.ax = context.data.word(328); - context._cmp(context.ax, context.data.word(330)); + context.ax = context.ds.word(328); + context._cmp(context.ax, context.ds.word(330)); if (context.flags.z()) goto firsttimed; if (!context.flags.c()) goto notext; goto notfirsttimed; firsttimed: getundertimed(context); notfirsttimed: - context.bl = context.data.byte(335); + context.bl = context.ds.byte(335); context.bh = 0; - context.al = context.data.byte(336); + context.al = context.ds.byte(336); context.ah = 0; context.di = context.ax; - context.es = context.data.word(332); - context.si = context.data.word(334); + context.es = context.ds.word(332); + context.si = context.ds.word(334); context.dl = 237; context.ah = 0; printdirect(context); - context.data.byte(337) = 1; + context.ds.byte(337) = 1; notext: return; deltimedtext: putundertimed(context); - context.data.byte(337) = 1; + context.ds.byte(337) = 1; return; } static void edenscdplayer(Context & context) { showfirstuse(context); - context.data.word(21) = 18*2; - context.data.word(23) = 25; - context.data.word(25) = 42; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 18*2; + context.ds.word(23) = 25; + context.ds.word(25) = 42; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; return; } static void usewall(Context & context) { showfirstuse(context); - context._cmp(context.data.byte(475), 3); + context._cmp(context.ds.byte(475), 3); if (context.flags.z()) goto gobackover; - context.data.word(21) = 30*2; - context.data.word(23) = 2; - context.data.word(25) = 31; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 30*2; + context.ds.word(23) = 2; + context.ds.word(25) = 31; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; context.al = 3; turnpathon(context); context.al = 4; @@ -14048,19 +14048,19 @@ static void usewall(Context & context) { turnpathoff(context); context.al = 5; turnpathoff(context); - context.data.byte(475) = 3; - context.data.byte(477) = 3; + context.ds.byte(475) = 3; + context.ds.byte(477) = 3; findxyfrompath(context); - context.data.byte(187) = 1; + context.ds.byte(187) = 1; switchryanoff(context); return; gobackover: - context.data.word(21) = 30*2; - context.data.word(23) = 34; - context.data.word(25) = 60; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; + context.ds.word(21) = 30*2; + context.ds.word(23) = 34; + context.ds.word(25) = 60; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; context.al = 3; turnpathoff(context); context.al = 4; @@ -14073,22 +14073,22 @@ gobackover: turnpathon(context); context.al = 5; turnpathon(context); - context.data.byte(475) = 5; - context.data.byte(477) = 5; + context.ds.byte(475) = 5; + context.ds.byte(477) = 5; findxyfrompath(context); - context.data.byte(187) = 1; + context.ds.byte(187) = 1; switchryanoff(context); return; } static void usechurchgate(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto gatewith; withwhat(context); return; gatewith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'C'; context.ch = 'U'; context.dl = 'T'; @@ -14102,16 +14102,16 @@ gatewith: return; cutgate: showfirstuse(context); - context.data.word(21) = 64*2; - context.data.word(23) = 4; - context.data.word(25) = 70; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; - context._add(context.data.byte(2), 1); + context.ds.word(21) = 64*2; + context.ds.word(23) = 4; + context.ds.word(25) = 70; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; + context._add(context.ds.byte(2), 1); context.al = 3; turnpathon(context); - context._cmp(context.data.byte(44), 0); + context._cmp(context.ds.byte(44), 0); if (context.flags.z()) goto notopenchurch; context.al = 2; turnpathon(context); @@ -14120,153 +14120,153 @@ notopenchurch: } static void usegun(Context & context) { - context._cmp(context.data.byte(102), 4); + context._cmp(context.ds.byte(102), 4); if (context.flags.z()) goto istakengun; showseconduse(context); putbackobstuff(context); return; istakengun: - context._cmp(context.data.byte(184), 22); + context._cmp(context.ds.byte(184), 22); if (!context.flags.z()) goto notinpoolroom; context.cx = 300; context.al = 34; showpuztext(context); - context.data.byte(65) = 1; - context.data.byte(64) = 39; - context.data.byte(103) = 1; - context._add(context.data.byte(2), 1); + context.ds.byte(65) = 1; + context.ds.byte(64) = 39; + context.ds.byte(103) = 1; + context._add(context.ds.byte(2), 1); return; notinpoolroom: - context._cmp(context.data.byte(184), 25); + context._cmp(context.ds.byte(184), 25); if (!context.flags.z()) goto nothelicopter; context.cx = 300; context.al = 34; showpuztext(context); - context.data.byte(65) = 1; - context.data.byte(64) = 19; - context.data.byte(103) = 1; - context.data.byte(66) = 2; - context.data.byte(67) = 38; - context.data.byte(43) = 1; - context._add(context.data.byte(2), 1); + context.ds.byte(65) = 1; + context.ds.byte(64) = 19; + context.ds.byte(103) = 1; + context.ds.byte(66) = 2; + context.ds.byte(67) = 38; + context.ds.byte(43) = 1; + context._add(context.ds.byte(2), 1); return; nothelicopter: - context._cmp(context.data.byte(184), 27); + context._cmp(context.ds.byte(184), 27); if (!context.flags.z()) goto notinrockroom; context.cx = 300; context.al = 46; showpuztext(context); - context.data.byte(234) = 2; - context.data.byte(41) = 1; - context.data.byte(65) = 1; - context.data.byte(34) = 1; - context.data.byte(103) = 1; - context.data.byte(67) = 32; - context.data.byte(66) = 0; - context._add(context.data.byte(2), 1); + context.ds.byte(234) = 2; + context.ds.byte(41) = 1; + context.ds.byte(65) = 1; + context.ds.byte(34) = 1; + context.ds.byte(103) = 1; + context.ds.byte(67) = 32; + context.ds.byte(66) = 0; + context._add(context.ds.byte(2), 1); return; notinrockroom: - context._cmp(context.data.byte(184), 8); + context._cmp(context.ds.byte(184), 8); if (!context.flags.z()) goto notbystudio; - context._cmp(context.data.byte(148), 22); + context._cmp(context.ds.byte(148), 22); if (!context.flags.z()) goto notbystudio; - context._cmp(context.data.byte(149), 40); + context._cmp(context.ds.byte(149), 40); if (!context.flags.z()) goto notbystudio; context.al = 92; issetobonmap(context); if (context.flags.z()) goto notbystudio; - context._cmp(context.data.byte(475), 9); + context._cmp(context.ds.byte(475), 9); if (context.flags.z()) goto notbystudio; - context.data.byte(478) = 9; - context.data.byte(477) = 9; + context.ds.byte(478) = 9; + context.ds.byte(477) = 9; autosetwalk(context); - context.data.byte(65) = 1; - context.data.byte(103) = 1; - context._add(context.data.byte(2), 1); + context.ds.byte(65) = 1; + context.ds.byte(103) = 1; + context._add(context.ds.byte(2), 1); return; notbystudio: - context._cmp(context.data.byte(184), 6); + context._cmp(context.ds.byte(184), 6); if (!context.flags.z()) goto notsarters; - context._cmp(context.data.byte(148), 11); + context._cmp(context.ds.byte(148), 11); if (!context.flags.z()) goto notsarters; - context._cmp(context.data.byte(149), 20); + context._cmp(context.ds.byte(149), 20); if (!context.flags.z()) goto notsarters; context.al = 5; issetobonmap(context); if (!context.flags.z()) goto notsarters; - context.data.byte(478) = 1; - context.data.byte(477) = 1; + context.ds.byte(478) = 1; + context.ds.byte(477) = 1; autosetwalk(context); context.al = 5; removesetobject(context); context.al = 6; placesetobject(context); context.al = 1; - context.ah = context.data.byte(185); + context.ah = context.ds.byte(185); context._sub(context.ah, 1); turnanypathon(context); - context.data.byte(35) = 1; - context.data.word(21) = 40*2; - context.data.word(23) = 4; - context.data.word(25) = 43; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; - context._add(context.data.byte(2), 1); + context.ds.byte(35) = 1; + context.ds.word(21) = 40*2; + context.ds.word(23) = 4; + context.ds.word(25) = 43; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; + context._add(context.ds.byte(2), 1); return; notsarters: - context._cmp(context.data.byte(184), 29); + context._cmp(context.ds.byte(184), 29); if (!context.flags.z()) goto notaide; - context.data.byte(103) = 1; + context.ds.byte(103) = 1; context.al = 13; resetlocation(context); context.al = 12; setlocation(context); - context.data.byte(183) = 12; - context.data.byte(478) = 2; - context.data.byte(477) = 2; + context.ds.byte(183) = 12; + context.ds.byte(478) = 2; + context.ds.byte(477) = 2; autosetwalk(context); - context.data.word(21) = 164*2; - context.data.word(23) = 3; - context.data.word(25) = 164; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(44) = 1; - context.data.byte(66) = 3; - context.data.byte(67) = 33; - context._add(context.data.byte(2), 1); + context.ds.word(21) = 164*2; + context.ds.word(23) = 3; + context.ds.word(25) = 164; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(44) = 1; + context.ds.byte(66) = 3; + context.ds.byte(67) = 33; + context._add(context.ds.byte(2), 1); return; notaide: - context._cmp(context.data.byte(184), 23); + context._cmp(context.ds.byte(184), 23); if (!context.flags.z()) goto notwithboss; - context._cmp(context.data.byte(148), 0); + context._cmp(context.ds.byte(148), 0); if (!context.flags.z()) goto notwithboss; - context._cmp(context.data.byte(149), 50); + context._cmp(context.ds.byte(149), 50); if (!context.flags.z()) goto notwithboss; - context._cmp(context.data.byte(475), 5); + context._cmp(context.ds.byte(475), 5); if (context.flags.z()) goto pathokboss; - context.data.byte(478) = 5; - context.data.byte(477) = 5; + context.ds.byte(478) = 5; + context.ds.byte(477) = 5; autosetwalk(context); pathokboss: - context.data.byte(65) = 1; - context.data.byte(103) = 1; + context.ds.byte(65) = 1; + context.ds.byte(103) = 1; return; notwithboss: - context._cmp(context.data.byte(184), 8); + context._cmp(context.ds.byte(184), 8); if (!context.flags.z()) goto nottvsoldier; - context._cmp(context.data.byte(148), 11); + context._cmp(context.ds.byte(148), 11); if (!context.flags.z()) goto nottvsoldier; - context._cmp(context.data.byte(149), 10); + context._cmp(context.ds.byte(149), 10); if (!context.flags.z()) goto nottvsoldier; - context._cmp(context.data.byte(475), 2); + context._cmp(context.ds.byte(475), 2); if (context.flags.z()) goto pathoktv; - context.data.byte(478) = 2; - context.data.byte(477) = 2; + context.ds.byte(478) = 2; + context.ds.byte(477) = 2; autosetwalk(context); pathoktv: - context.data.byte(65) = 1; - context.data.byte(103) = 1; + context.ds.byte(65) = 1; + context.ds.byte(103) = 1; return; nottvsoldier: showfirstuse(context); @@ -14275,14 +14275,14 @@ nottvsoldier: } static void useshield(Context & context) { - context._cmp(context.data.byte(184), 20); + context._cmp(context.ds.byte(184), 20); if (!context.flags.z()) goto notinsartroom; - context._cmp(context.data.byte(64), 0); + context._cmp(context.ds.byte(64), 0); if (context.flags.z()) goto notinsartroom; - context.data.byte(65) = 3; + context.ds.byte(65) = 3; showseconduse(context); - context.data.byte(103) = 1; - context._add(context.data.byte(2), 1); + context.ds.byte(103) = 1; + context._add(context.ds.byte(2), 1); removeobfrominv(context); return; notinsartroom: @@ -14297,20 +14297,20 @@ static void usebuttona(Context & context) { if (context.flags.z()) goto donethisbit; showfirstuse(context); context.al = 0; - context.ah = context.data.byte(185); + context.ah = context.ds.byte(185); context._sub(context.ah, 1); turnanypathon(context); context.al = 9; removesetobject(context); context.al = 95; placesetobject(context); - context.data.word(21) = 15*2; - context.data.word(23) = 71; - context.data.word(25) = 85; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(103) = 1; - context._add(context.data.byte(2), 1); + context.ds.word(21) = 15*2; + context.ds.word(23) = 71; + context.ds.word(25) = 85; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(103) = 1; + context._add(context.ds.byte(2), 1); return; donethisbit: showseconduse(context); @@ -14319,21 +14319,21 @@ donethisbit: } static void useplate(Context & context) { - context._cmp(context.data.byte(95), 255); + context._cmp(context.ds.byte(95), 255); if (!context.flags.z()) goto platewith; withwhat(context); return; platewith: - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'S'; context.ch = 'C'; context.dl = 'R'; context.dh = 'W'; compare(context); if (context.flags.z()) goto unscrewplate; - context.al = context.data.byte(95); - context.ah = context.data.byte(96); + context.al = context.ds.byte(95); + context.ah = context.ds.byte(96); context.cl = 'K'; context.ch = 'N'; context.dl = 'F'; @@ -14357,8 +14357,8 @@ unscrewplate: removesetobject(context); context.al = 0; placefreeobject(context); - context._add(context.data.byte(2), 1); - context.data.byte(103) = 1; + context._add(context.ds.byte(2), 1); + context.ds.byte(103) = 1; return; triedknife: context.cx = 300; @@ -14382,19 +14382,19 @@ static void usewinch(Context & context) { context.dh = 'E'; compare(context); if (!context.flags.z()) goto nowinch; - context.data.word(21) = 217*2; - context.data.word(23) = 0; - context.data.word(25) = 217; - context.data.byte(27) = 1; - context.data.byte(26) = 1; - context.data.byte(183) = 1; - context.data.byte(188) = 45; - context.data.byte(66) = 1; - context.data.byte(67) = 44; - context.data.byte(42) = 1; - context.data.byte(34) = 2; - context.data.byte(103) = 1; - context._add(context.data.byte(2), 1); + context.ds.word(21) = 217*2; + context.ds.word(23) = 0; + context.ds.word(25) = 217; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; + context.ds.byte(183) = 1; + context.ds.byte(188) = 45; + context.ds.byte(66) = 1; + context.ds.byte(67) = 44; + context.ds.byte(42) = 1; + context.ds.byte(34) = 2; + context.ds.byte(103) = 1; + context._add(context.ds.byte(2), 1); return; nowinch: showfirstuse(context); @@ -14403,8 +14403,8 @@ nowinch: } static void entercode(Context & context) { - context.data.word(284) = context.ax; - context.data.word(286) = context.cx; + context.ds.word(284) = context.ax; + context.ds.word(286) = context.cx; getridofreels(context); loadkeypad(context); createpanel(context); @@ -14415,20 +14415,20 @@ static void entercode(Context & context) { showpointer(context); worktoscreen(context); delpointer(context); - context.data.word(280) = 0; - context.data.byte(103) = 0; + context.ds.word(280) = 0; + context.ds.byte(103) = 0; keypadloop: delpointer(context); readmouse(context); showkeypad(context); showpointer(context); - context._cmp(context.data.byte(282), 0); + context._cmp(context.ds.byte(282), 0); if (context.flags.z()) goto nopresses; - context._sub(context.data.byte(282), 1); + context._sub(context.ds.byte(282), 1); goto afterpress; nopresses: - context.data.byte(278) = 255; - context.data.byte(281) = 255; + context.ds.byte(278) = 255; + context.ds.byte(281) = 255; vsync(context); afterpress: dumppointer(context); @@ -14436,37 +14436,37 @@ afterpress: dumptextline(context); context.bx = 3393; checkcoords(context); - context._cmp(context.data.byte(103), 1); + context._cmp(context.ds.byte(103), 1); if (context.flags.z()) goto numberright; - context._cmp(context.data.byte(287), 1); + context._cmp(context.ds.byte(287), 1); if (!context.flags.z()) goto notendkey; - context._cmp(context.data.byte(37), 0); + context._cmp(context.ds.byte(37), 0); if (context.flags.z()) goto numberright; goto keypadloop; notendkey: - context._cmp(context.data.byte(282), 40); + context._cmp(context.ds.byte(282), 40); if (!context.flags.z()) goto keypadloop; addtopresslist(context); - context._cmp(context.data.byte(278), 11); + context._cmp(context.ds.byte(278), 11); if (!context.flags.z()) goto keypadloop; - context.ax = context.data.word(284); - context.cx = context.data.word(286); + context.ax = context.ds.word(284); + context.cx = context.ds.word(286); isitright(context); if (!context.flags.z()) goto incorrect; - context.data.byte(37) = 0; + context.ds.byte(37) = 0; context.al = 11; playchannel1(context); - context.data.byte(287) = 120; - context.data.word(280) = 0; + context.ds.byte(287) = 120; + context.ds.word(280) = 0; goto keypadloop; incorrect: context.al = 11; playchannel1(context); - context.data.byte(287) = 120; - context.data.word(280) = 0; + context.ds.byte(287) = 120; + context.ds.word(280) = 0; goto keypadloop; numberright: - context.data.byte(131) = 0; + context.ds.byte(131) = 0; getridoftemp(context); restorereels(context); redrawmainscrn(context); @@ -14481,38 +14481,38 @@ static void loadkeypad(Context & context) { } static void quitkey(Context & context) { - context._cmp(context.data.byte(100), 222); + context._cmp(context.ds.byte(100), 222); if (context.flags.z()) goto alreadyqk; - context.data.byte(100) = 222; + context.ds.byte(100) = 222; context.al = 4; commandonly(context); alreadyqk: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notqk; context._and(context.ax, 1); if (!context.flags.z()) goto doqk; notqk: return; doqk: - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } static void addtopresslist(Context & context) { - context._cmp(context.data.word(280), 5); + context._cmp(context.ds.word(280), 5); if (context.flags.z()) goto nomorekeys; - context.al = context.data.byte(278); + context.al = context.ds.byte(278); context._cmp(context.al, 10); if (!context.flags.z()) goto not10; context.al = 0; not10: - context.bx = context.data.word(280); + context.bx = context.ds.word(280); context.dx = context.ds; context.es = context.dx; context._add(context.bx, 8350); - context.data.byte(context.bx) = context.al; - context._add(context.data.word(280), 1); + context.ds.byte(context.bx) = context.al; + context._add(context.ds.word(280), 1); nomorekeys: return; } @@ -14586,27 +14586,27 @@ static void buttonenter(Context & context) { static void buttonpress(Context & context) { context.ch = context.cl; context._add(context.ch, 100); - context._cmp(context.data.byte(100), context.ch); + context._cmp(context.ds.byte(100), context.ch); if (context.flags.z()) goto alreadyb; - context.data.byte(100) = context.ch; + context.ds.byte(100) = context.ch; context.al = context.cl; context._add(context.al, 4); context.push(context.cx); commandonly(context); context.cx = context.pop(); alreadyb: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notb; context._and(context.ax, 1); if (!context.flags.z()) goto dob; notb: return; dob: - context.data.byte(278) = context.cl; + context.ds.byte(278) = context.cl; context._add(context.cl, 21); - context.data.byte(281) = context.cl; - context.data.byte(282) = 40; + context.ds.byte(281) = context.cl; + context.ds.byte(282) = 40; context._cmp(context.cl, 32); if (context.flags.z()) goto nonoise; context.al = 10; @@ -14618,13 +14618,13 @@ nonoise: static void showouterpad(Context & context) { context.di = 36+112-3; context.bx = 72-4; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 1; context.ah = 0; showframe(context); context.di = 36+112+74; context.bx = 72+76; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.al = 37; context.ah = 0; showframe(context); @@ -14676,23 +14676,23 @@ static void showkeypad(Context & context) { context.di = 36+112+31; context.bx = 72+59; singlekey(context); - context._cmp(context.data.byte(287), 0); + context._cmp(context.ds.byte(287), 0); if (context.flags.z()) goto notenter; - context._sub(context.data.byte(287), 1); + context._sub(context.ds.byte(287), 1); context.al = 36; context.bx = 72-1+63; - context._cmp(context.data.byte(37), 0); + context._cmp(context.ds.byte(37), 0); if (!context.flags.z()) goto changelight; context.al = 41; context.bx = 72+4+63; changelight: - context._cmp(context.data.byte(287), 60); + context._cmp(context.ds.byte(287), 60); if (context.flags.c()) goto gotlight; - context._cmp(context.data.byte(287), 100); + context._cmp(context.ds.byte(287), 100); if (!context.flags.c()) goto gotlight; context._sub(context.al, 1); gotlight: - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.ah = 0; context.di = 36+112+60; showframe(context); @@ -14701,14 +14701,14 @@ notenter: } static void singlekey(Context & context) { - context._cmp(context.data.byte(281), context.al); + context._cmp(context.ds.byte(281), context.al); if (!context.flags.z()) goto gotkey; context._add(context.al, 11); - context._cmp(context.data.byte(282), 8); + context._cmp(context.ds.byte(282), 8); if (!context.flags.c()) goto gotkey; context._sub(context.al, 11); gotkey: - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context._sub(context.al, 20); context.ah = 0; showframe(context); @@ -14730,24 +14730,24 @@ static void usemenu(Context & context) { createpanel(context); showpanel(context); showicon(context); - context.data.byte(62) = 0; + context.ds.byte(62) = 0; drawfloor(context); printsprites(context); context.al = 4; context.ah = 0; context.di = 80+40-48; context.bx = 60-4; - context.ds = context.data.word(460); + context.ds = context.ds.word(460); showframe(context); getundermenu(context); context.al = 5; context.ah = 0; context.di = 80+40+54; context.bx = 60+72; - context.ds = context.data.word(460); + context.ds = context.ds.word(460); showframe(context); worktoscreenm(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; menuloop: delpointer(context); putundermenu(context); @@ -14760,9 +14760,9 @@ menuloop: dumptextline(context); context.bx = 3525; checkcoords(context); - context._cmp(context.data.byte(103), 1); + context._cmp(context.ds.byte(103), 1); if (!context.flags.z()) goto menuloop; - context.data.byte(131) = 0; + context.ds.byte(131) = 0; redrawmainscrn(context); getridoftemp(context); getridoftemp2(context); @@ -14787,7 +14787,7 @@ static void getundermenu(Context & context) { context.bx = 60; context.cl = 48; context.ch = 48; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4); multiget(context); return; @@ -14798,7 +14798,7 @@ static void putundermenu(Context & context) { context.bx = 60; context.cl = 48; context.ch = 48; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4); multiput(context); return; @@ -14809,41 +14809,41 @@ static void showoutermenu(Context & context) { context.ah = 0; context.di = 80+40-34; context.bx = 60-40; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); context.al = 41; context.ah = 0; context.di = 80+40+64-34; context.bx = 60-40; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); context.al = 42; context.ah = 0; context.di = 80+40-26; context.bx = 60+57-40; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); context.al = 43; context.ah = 0; context.di = 80+40+64-26; context.bx = 60+57-40; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); return; } static void showmenu(Context & context) { - context._add(context.data.byte(290), 1); - context._cmp(context.data.byte(290), 37*2); + context._add(context.ds.byte(290), 1); + context._cmp(context.ds.byte(290), 37*2); if (!context.flags.z()) goto menuframeok; - context.data.byte(290) = 0; + context.ds.byte(290) = 0; menuframeok: - context.al = context.data.byte(290); + context.al = context.ds.byte(290); context._shr(context.al, 1); context.ah = 0; context.di = 80+40; context.bx = 60; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); return; } @@ -14857,13 +14857,13 @@ static void loadmenu(Context & context) { } static void viewfolder(Context & context) { - context.data.byte(131) = 1; + context.ds.byte(131) = 1; getridofall(context); loadfolder(context); - context.data.byte(288) = 0; + context.ds.byte(288) = 0; showfolder(context); worktoscreenm(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; folderloop: delpointer(context); readmouse(context); @@ -14873,9 +14873,9 @@ folderloop: dumptextline(context); context.bx = 3547; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto folderloop; - context.data.byte(131) = 0; + context.ds.byte(131) = 0; getridoftemp(context); getridoftemp2(context); getridoftemp3(context); @@ -14887,30 +14887,30 @@ folderloop: } static void nextfolder(Context & context) { - context._cmp(context.data.byte(288), 12); + context._cmp(context.ds.byte(288), 12); if (!context.flags.z()) goto cannextf; blank(context); return; cannextf: - context._cmp(context.data.byte(100), 201); + context._cmp(context.ds.byte(100), 201); if (context.flags.z()) goto alreadynextf; - context.data.byte(100) = 201; + context.ds.byte(100) = 201; context.al = 16; commandonly(context); alreadynextf: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notnextf; context._cmp(context.ax, 1); if (context.flags.z()) goto donextf; notnextf: return; donextf: - context._add(context.data.byte(288), 1); + context._add(context.ds.byte(288), 1); folderhints(context); delpointer(context); showfolder(context); - context.data.word(202) = 0; + context.ds.word(202) = 0; context.bx = 3547; checkcoords(context); worktoscreenm(context); @@ -14918,9 +14918,9 @@ donextf: } static void folderhints(Context & context) { - context._cmp(context.data.byte(288), 5); + context._cmp(context.ds.byte(288), 5); if (!context.flags.z()) goto notaideadd; - context._cmp(context.data.byte(44), 1); + context._cmp(context.ds.byte(44), 1); if (context.flags.z()) goto notaideadd; context.al = 13; getlocation(context); @@ -14941,7 +14941,7 @@ static void folderhints(Context & context) { hangonp(context); return; notaideadd: - context._cmp(context.data.byte(288), 9); + context._cmp(context.ds.byte(288), 9); if (!context.flags.z()) goto notaristoadd; context.al = 7; getlocation(context); @@ -14965,31 +14965,31 @@ notaristoadd: } static void lastfolder(Context & context) { - context._cmp(context.data.byte(288), 0); + context._cmp(context.ds.byte(288), 0); if (!context.flags.z()) goto canlastf; blank(context); return; canlastf: - context._cmp(context.data.byte(100), 202); + context._cmp(context.ds.byte(100), 202); if (context.flags.z()) goto alreadylastf; - context.data.byte(100) = 202; + context.ds.byte(100) = 202; context.al = 17; commandonly(context); alreadylastf: - context._cmp(context.data.byte(288), 0); + context._cmp(context.ds.byte(288), 0); if (context.flags.z()) goto notlastf; - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notlastf; context._cmp(context.ax, 1); if (context.flags.z()) goto dolastf; notlastf: return; dolastf: - context._sub(context.data.byte(288), 1); + context._sub(context.ds.byte(288), 1); delpointer(context); showfolder(context); - context.data.word(202) = 0; + context.ds.word(202) = 0; context.bx = 3547; checkcoords(context); worktoscreenm(context); @@ -15011,41 +15011,41 @@ static void loadfolder(Context & context) { } static void showfolder(Context & context) { - context.data.byte(100) = 255; - context._cmp(context.data.byte(288), 0); + context.ds.byte(100) = 255; + context._cmp(context.ds.byte(288), 0); if (context.flags.z()) goto closedfolder; usetempcharset(context); createpanel2(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 0; context.bx = 0; context.al = 0; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 143; context.bx = 0; context.al = 1; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 0; context.bx = 92; context.al = 2; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 143; context.bx = 92; context.al = 3; context.ah = 0; showframe(context); folderexit(context); - context._cmp(context.data.byte(288), 1); + context._cmp(context.ds.byte(288), 1); if (context.flags.z()) goto noleftpage; showleftpage(context); noleftpage: - context._cmp(context.data.byte(288), 12); + context._cmp(context.ds.byte(288), 12); if (context.flags.z()) goto norightpage; showrightpage(context); norightpage: @@ -15054,13 +15054,13 @@ norightpage: return; closedfolder: createpanel2(context); - context.ds = context.data.word(462); + context.ds = context.ds.word(462); context.di = 143-28; context.bx = 0; context.al = 0; context.ah = 0; showframe(context); - context.ds = context.data.word(462); + context.ds = context.ds.word(462); context.di = 143-28; context.bx = 92; context.al = 1; @@ -15072,7 +15072,7 @@ closedfolder: } static void folderexit(Context & context) { - context.ds = context.data.word(460); + context.ds = context.ds.word(460); context.di = 296; context.bx = 178; context.al = 6; @@ -15082,7 +15082,7 @@ static void folderexit(Context & context) { } static void showleftpage(Context & context) { - context.ds = context.data.word(460); + context.ds = context.ds.word(460); context.di = 0; context.bx = 12; context.al = 3; @@ -15093,7 +15093,7 @@ static void showleftpage(Context & context) { leftpageloop: context.push(context.cx); context.push(context.bx); - context.ds = context.data.word(460); + context.ds = context.ds.word(460); context.di = 0; context.al = 4; context.ah = 0; @@ -15102,22 +15102,22 @@ leftpageloop: context.cx = context.pop(); context._add(context.bx, 16); if (--context.cx) goto leftpageloop; - context.ds = context.data.word(460); + context.ds = context.ds.word(460); context.di = 0; context.al = 5; context.ah = 0; showframe(context); - context.data.word(77) = 8; - context.data.word(71) = 91; - context.data.byte(72) = 1; - context.bl = context.data.byte(288); + context.ds.word(77) = 8; + context.ds.word(71) = 91; + context.ds.byte(72) = 1; + context.bl = context.ds.byte(288); context._sub(context.bl, 1); context._sub(context.bl, 1); context._add(context.bl, context.bl); context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(466); - context.si = context.data.word(context.bx); + context.es = context.ds.word(466); + context.si = context.ds.word(context.bx); context._add(context.si, 66*2); context.di = 2; context.bx = 48; @@ -15127,16 +15127,16 @@ twolotsleft: context.push(context.cx); contleftpage: printdirect(context); - context._add(context.bx, context.data.word(77)); + context._add(context.bx, context.ds.word(77)); context._cmp(context.al, 0); if (!context.flags.z()) goto contleftpage; context.cx = context.pop(); if (--context.cx) goto twolotsleft; - context.data.byte(72) = 0; - context.data.word(71) = 0; - context.data.word(77) = 10; - context.es = context.data.word(400); - context.ds = context.data.word(400); + context.ds.byte(72) = 0; + context.ds.word(71) = 0; + context.ds.word(77) = 10; + context.es = context.ds.word(400); + context.ds = context.ds.word(400); context.di = (48*320)+2; context.si = (48*320)+2+130; context.cx = 120; @@ -15146,10 +15146,10 @@ flipfolder: context.push(context.si); context.cx = 65; flipfolderline: - context.al = context.data.byte(context.di); - context.ah = context.data.byte(context.si); - context.data.byte(context.di) = context.ah; - context.data.byte(context.si) = context.al; + context.al = context.ds.byte(context.di); + context.ah = context.ds.byte(context.si); + context.ds.byte(context.di) = context.ah; + context.ds.byte(context.si) = context.al; context._sub(context.si, 1); context._add(context.di, 1); if (--context.cx) goto flipfolderline; @@ -15163,7 +15163,7 @@ flipfolderline: } static void showrightpage(Context & context) { - context.ds = context.data.word(460); + context.ds = context.ds.word(460); context.di = 143; context.bx = 12; context.al = 0; @@ -15174,7 +15174,7 @@ static void showrightpage(Context & context) { rightpageloop: context.push(context.cx); context.push(context.bx); - context.ds = context.data.word(460); + context.ds = context.ds.word(460); context.di = 143; context.al = 1; context.ah = 0; @@ -15183,20 +15183,20 @@ rightpageloop: context.cx = context.pop(); context._add(context.bx, 16); if (--context.cx) goto rightpageloop; - context.ds = context.data.word(460); + context.ds = context.ds.word(460); context.di = 143; context.al = 2; context.ah = 0; showframe(context); - context.data.word(77) = 8; - context.data.byte(72) = 1; - context.bl = context.data.byte(288); + context.ds.word(77) = 8; + context.ds.byte(72) = 1; + context.bl = context.ds.byte(288); context._sub(context.bl, 1); context._add(context.bl, context.bl); context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(466); - context.si = context.data.word(context.bx); + context.es = context.ds.word(466); + context.si = context.ds.word(context.bx); context._add(context.si, 66*2); context.di = 152; context.bx = 48; @@ -15206,30 +15206,30 @@ twolotsright: context.push(context.cx); contrightpage: printdirect(context); - context._add(context.bx, context.data.word(77)); + context._add(context.bx, context.ds.word(77)); context._cmp(context.al, 0); if (!context.flags.z()) goto contrightpage; context.cx = context.pop(); if (--context.cx) goto twolotsright; - context.data.byte(72) = 0; - context.data.word(77) = 10; + context.ds.byte(72) = 0; + context.ds.word(77) = 10; return; } static void entersymbol(Context & context) { - context.data.byte(131) = 1; + context.ds.byte(131) = 1; getridofreels(context); context.dx = 2351; loadintotemp(context); - context.data.byte(291) = 24; - context.data.byte(293) = 0; - context.data.byte(294) = 24; - context.data.byte(296) = 0; + context.ds.byte(291) = 24; + context.ds.byte(293) = 0; + context.ds.byte(294) = 24; + context.ds.byte(296) = 0; redrawmainscrn(context); showsymbol(context); undertextline(context); worktoscreenm(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; symbolloop: delpointer(context); updatesymboltop(context); @@ -15243,21 +15243,21 @@ symbolloop: dumpsymbol(context); context.bx = 3589; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto symbolloop; - context._cmp(context.data.byte(295), 3); + context._cmp(context.ds.byte(295), 3); if (!context.flags.z()) goto symbolwrong; - context._cmp(context.data.byte(292), 5); + context._cmp(context.ds.byte(292), 5); if (!context.flags.z()) goto symbolwrong; context.al = 43; removesetobject(context); context.al = 46; placesetobject(context); - context.ah = context.data.byte(185); + context.ah = context.ds.byte(185); context._add(context.ah, 12); context.al = 0; turnanypathon(context); - context.data.byte(131) = 0; + context.ds.byte(131) = 0; redrawmainscrn(context); getridoftemp(context); restorereels(context); @@ -15270,11 +15270,11 @@ symbolwrong: removesetobject(context); context.al = 43; placesetobject(context); - context.ah = context.data.byte(185); + context.ah = context.ds.byte(185); context._add(context.ah, 12); context.al = 0; turnanypathoff(context); - context.data.byte(131) = 0; + context.ds.byte(131) = 0; redrawmainscrn(context); getridoftemp(context); restorereels(context); @@ -15283,94 +15283,94 @@ symbolwrong: } static void quitsymbol(Context & context) { - context._cmp(context.data.byte(291), 24); + context._cmp(context.ds.byte(291), 24); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(294), 24); + context._cmp(context.ds.byte(294), 24); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 222); + context._cmp(context.ds.byte(100), 222); if (context.flags.z()) goto alreadyqs; - context.data.byte(100) = 222; + context.ds.byte(100) = 222; context.al = 18; commandonly(context); alreadyqs: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notqs; context._and(context.ax, 1); if (!context.flags.z()) goto doqs; notqs: return; doqs: - context.data.byte(103) = 1; + context.ds.byte(103) = 1; return; } static void settopleft(Context & context) { - context._cmp(context.data.byte(293), 0); + context._cmp(context.ds.byte(293), 0); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 210); + context._cmp(context.ds.byte(100), 210); if (context.flags.z()) goto alreadytopl; - context.data.byte(100) = 210; + context.ds.byte(100) = 210; context.al = 19; commandonly(context); alreadytopl: - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto notopleft; - context.data.byte(293) = -1; + context.ds.byte(293) = -1; notopleft: return; } static void settopright(Context & context) { - context._cmp(context.data.byte(293), 0); + context._cmp(context.ds.byte(293), 0); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 211); + context._cmp(context.ds.byte(100), 211); if (context.flags.z()) goto alreadytopr; - context.data.byte(100) = 211; + context.ds.byte(100) = 211; context.al = 20; commandonly(context); alreadytopr: - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto notopright; - context.data.byte(293) = 1; + context.ds.byte(293) = 1; notopright: return; } static void setbotleft(Context & context) { - context._cmp(context.data.byte(296), 0); + context._cmp(context.ds.byte(296), 0); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 212); + context._cmp(context.ds.byte(100), 212); if (context.flags.z()) goto alreadybotl; - context.data.byte(100) = 212; + context.ds.byte(100) = 212; context.al = 21; commandonly(context); alreadybotl: - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto nobotleft; - context.data.byte(296) = -1; + context.ds.byte(296) = -1; nobotleft: return; } static void setbotright(Context & context) { - context._cmp(context.data.byte(296), 0); + context._cmp(context.ds.byte(296), 0); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 213); + context._cmp(context.ds.byte(100), 213); if (context.flags.z()) goto alreadybotr; - context.data.byte(100) = 213; + context.ds.byte(100) = 213; context.al = 22; commandonly(context); alreadybotr: - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto nobotright; - context.data.byte(296) = 1; + context.ds.byte(296) = 1; nobotright: return; } static void dumpsymbol(Context & context) { - context.data.byte(109) = 0; + context.ds.byte(109) = 0; context.di = 64; context.bx = 56+20; context.cl = 104; @@ -15384,15 +15384,15 @@ static void showsymbol(Context & context) { context.ah = 0; context.di = 64; context.bx = 56; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); - context.al = context.data.byte(291); + context.al = context.ds.byte(291); context.ah = 0; context.di = context.ax; context._add(context.di, 64-44); - context.al = context.data.byte(292); + context.al = context.ds.byte(292); context.bx = 56+20; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.ah = 32; context.push(context.ax); context.push(context.di); @@ -15417,14 +15417,14 @@ static void showsymbol(Context & context) { nextsymbol(context); context._add(context.di, 49); showframe(context); - context.al = context.data.byte(294); + context.al = context.ds.byte(294); context.ah = 0; context.di = context.ax; context._add(context.di, 64-44); - context.al = context.data.byte(295); + context.al = context.ds.byte(295); context._add(context.al, 6); context.bx = 56+49; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.ah = 32; context.push(context.ax); context.push(context.di); @@ -15468,88 +15468,88 @@ botwrap: } static void updatesymboltop(Context & context) { - context._cmp(context.data.byte(293), 0); + context._cmp(context.ds.byte(293), 0); if (context.flags.z()) goto topfinished; - context._cmp(context.data.byte(293), -1); + context._cmp(context.ds.byte(293), -1); if (context.flags.z()) goto backwards; - context._add(context.data.byte(291), 1); - context._cmp(context.data.byte(291), 49); + context._add(context.ds.byte(291), 1); + context._cmp(context.ds.byte(291), 49); if (!context.flags.z()) goto notwrapfor; - context.data.byte(291) = 0; - context._sub(context.data.byte(292), 1); - context._cmp(context.data.byte(292), -1); + context.ds.byte(291) = 0; + context._sub(context.ds.byte(292), 1); + context._cmp(context.ds.byte(292), -1); if (!context.flags.z()) goto topfinished; - context.data.byte(292) = 5; + context.ds.byte(292) = 5; return; notwrapfor: - context._cmp(context.data.byte(291), 24); + context._cmp(context.ds.byte(291), 24); if (!context.flags.z()) goto topfinished; - context.data.byte(293) = 0; + context.ds.byte(293) = 0; return; backwards: - context._sub(context.data.byte(291), 1); - context._cmp(context.data.byte(291), -1); + context._sub(context.ds.byte(291), 1); + context._cmp(context.ds.byte(291), -1); if (!context.flags.z()) goto notwrapback; - context.data.byte(291) = 48; - context._add(context.data.byte(292), 1); - context._cmp(context.data.byte(292), 6); + context.ds.byte(291) = 48; + context._add(context.ds.byte(292), 1); + context._cmp(context.ds.byte(292), 6); if (!context.flags.z()) goto topfinished; - context.data.byte(292) = 0; + context.ds.byte(292) = 0; return; notwrapback: - context._cmp(context.data.byte(291), 24); + context._cmp(context.ds.byte(291), 24); if (!context.flags.z()) goto topfinished; - context.data.byte(293) = 0; + context.ds.byte(293) = 0; topfinished: return; } static void updatesymbolbot(Context & context) { - context._cmp(context.data.byte(296), 0); + context._cmp(context.ds.byte(296), 0); if (context.flags.z()) goto botfinished; - context._cmp(context.data.byte(296), -1); + context._cmp(context.ds.byte(296), -1); if (context.flags.z()) goto backwardsbot; - context._add(context.data.byte(294), 1); - context._cmp(context.data.byte(294), 49); + context._add(context.ds.byte(294), 1); + context._cmp(context.ds.byte(294), 49); if (!context.flags.z()) goto notwrapforb; - context.data.byte(294) = 0; - context._sub(context.data.byte(295), 1); - context._cmp(context.data.byte(295), -1); + context.ds.byte(294) = 0; + context._sub(context.ds.byte(295), 1); + context._cmp(context.ds.byte(295), -1); if (!context.flags.z()) goto botfinished; - context.data.byte(295) = 5; + context.ds.byte(295) = 5; return; notwrapforb: - context._cmp(context.data.byte(294), 24); + context._cmp(context.ds.byte(294), 24); if (!context.flags.z()) goto botfinished; - context.data.byte(296) = 0; + context.ds.byte(296) = 0; return; backwardsbot: - context._sub(context.data.byte(294), 1); - context._cmp(context.data.byte(294), -1); + context._sub(context.ds.byte(294), 1); + context._cmp(context.ds.byte(294), -1); if (!context.flags.z()) goto notwrapbackb; - context.data.byte(294) = 48; - context._add(context.data.byte(295), 1); - context._cmp(context.data.byte(295), 6); + context.ds.byte(294) = 48; + context._add(context.ds.byte(295), 1); + context._cmp(context.ds.byte(295), 6); if (!context.flags.z()) goto botfinished; - context.data.byte(295) = 0; + context.ds.byte(295) = 0; return; notwrapbackb: - context._cmp(context.data.byte(294), 24); + context._cmp(context.ds.byte(294), 24); if (!context.flags.z()) goto botfinished; - context.data.byte(296) = 0; + context.ds.byte(296) = 0; botfinished: return; } static void dumpsymbox(Context & context) { - context._cmp(context.data.word(303), -1); + context._cmp(context.ds.word(303), -1); if (context.flags.z()) goto nodumpsym; - context.di = context.data.word(303); - context.bx = context.data.word(305); + context.di = context.ds.word(303); + context.bx = context.ds.word(305); context.cl = 30; context.ch = 77; multidump(context); - context.data.word(303) = -1; + context.ds.word(303) = -1; nodumpsym: return; } @@ -15571,7 +15571,7 @@ static void usediary(Context & context) { showpointer(context); worktoscreen(context); delpointer(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; diaryloop: delpointer(context); readmouse(context); @@ -15583,13 +15583,13 @@ diaryloop: dumptextline(context); context.bx = 3651; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto diaryloop; getridoftemp(context); getridoftemptext(context); getridoftempcharset(context); restorereels(context); - context.data.byte(131) = 0; + context.ds.byte(131) = 0; redrawmainscrn(context); worktoscreenm(context); return; @@ -15602,52 +15602,52 @@ static void showdiary(Context & context) { context.ah = 0; context.di = 68+24; context.bx = 48+12+37; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); context.al = 2; context.ah = 0; context.di = 68+24+176; context.bx = 48+12+108; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); return; } static void showdiarykeys(Context & context) { - context._cmp(context.data.byte(282), 0); + context._cmp(context.ds.byte(282), 0); if (context.flags.z()) goto nokeyatall; - context._sub(context.data.byte(282), 1); - context._cmp(context.data.byte(282), 0); + context._sub(context.ds.byte(282), 1); + context._cmp(context.ds.byte(282), 0); if (context.flags.z()) goto nokeyatall; - context._cmp(context.data.byte(278), 'N'); + context._cmp(context.ds.byte(278), 'N'); if (!context.flags.z()) goto nokeyn; context.al = 3; - context._cmp(context.data.byte(282), 1); + context._cmp(context.ds.byte(282), 1); if (context.flags.z()) goto gotkeyn; context.al = 4; gotkeyn: context.ah = 0; context.di = 68+24+94; context.bx = 48+12+97; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); - context._cmp(context.data.byte(282), 1); + context._cmp(context.ds.byte(282), 1); if (!context.flags.z()) goto notshown; showdiarypage(context); notshown: return; nokeyn: context.al = 5; - context._cmp(context.data.byte(282), 1); + context._cmp(context.ds.byte(282), 1); if (context.flags.z()) goto gotkeyp; context.al = 6; gotkeyp: context.ah = 0; context.di = 68+24+151; context.bx = 48+12+71; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); - context._cmp(context.data.byte(282), 1); + context._cmp(context.ds.byte(282), 1); if (!context.flags.z()) goto notshowp; showdiarypage(context); notshowp: @@ -15657,13 +15657,13 @@ nokeyatall: } static void dumpdiarykeys(Context & context) { - context._cmp(context.data.byte(282), 1); + context._cmp(context.ds.byte(282), 1); if (!context.flags.z()) goto notdumpdiary; - context._cmp(context.data.byte(43), 1); + context._cmp(context.ds.byte(43), 1); if (context.flags.z()) goto notsartadd; - context._cmp(context.data.byte(289), 5); + context._cmp(context.ds.byte(289), 5); if (!context.flags.z()) goto notsartadd; - context._cmp(context.data.byte(289), 5); + context._cmp(context.ds.byte(289), 5); if (!context.flags.z()) goto notsartadd; context.al = 6; getlocation(context); @@ -15710,53 +15710,53 @@ notdumpdiary: } static void diarykeyp(Context & context) { - context._cmp(context.data.byte(100), 214); + context._cmp(context.ds.byte(100), 214); if (context.flags.z()) goto alreadykeyp; - context.data.byte(100) = 214; + context.ds.byte(100) = 214; context.al = 23; commandonly(context); alreadykeyp: - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto notkeyp; - context.ax = context.data.word(212); - context._cmp(context.ax, context.data.word(202)); + context.ax = context.ds.word(212); + context._cmp(context.ax, context.ds.word(202)); if (context.flags.z()) goto notkeyp; - context._cmp(context.data.byte(282), 0); + context._cmp(context.ds.byte(282), 0); if (!context.flags.z()) goto notkeyp; context.al = 16; playchannel1(context); - context.data.byte(282) = 12; - context.data.byte(278) = 'P'; - context._sub(context.data.byte(289), 1); - context._cmp(context.data.byte(289), -1); + context.ds.byte(282) = 12; + context.ds.byte(278) = 'P'; + context._sub(context.ds.byte(289), 1); + context._cmp(context.ds.byte(289), -1); if (!context.flags.z()) goto notkeyp; - context.data.byte(289) = 11; + context.ds.byte(289) = 11; notkeyp: return; } static void diarykeyn(Context & context) { - context._cmp(context.data.byte(100), 213); + context._cmp(context.ds.byte(100), 213); if (context.flags.z()) goto alreadykeyn; - context.data.byte(100) = 213; + context.ds.byte(100) = 213; context.al = 23; commandonly(context); alreadykeyn: - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto notkeyn; - context.ax = context.data.word(212); - context._cmp(context.ax, context.data.word(202)); + context.ax = context.ds.word(212); + context._cmp(context.ax, context.ds.word(202)); if (context.flags.z()) goto notkeyn; - context._cmp(context.data.byte(282), 0); + context._cmp(context.ds.byte(282), 0); if (!context.flags.z()) goto notkeyn; context.al = 16; playchannel1(context); - context.data.byte(282) = 12; - context.data.byte(278) = 'N'; - context._add(context.data.byte(289), 1); - context._cmp(context.data.byte(289), 12); + context.ds.byte(282) = 12; + context.ds.byte(278) = 'N'; + context._add(context.ds.byte(289), 1); + context._cmp(context.ds.byte(289), 12); if (!context.flags.z()) goto notkeyn; - context.data.byte(289) = 0; + context.ds.byte(289) = 0; notkeyn: return; } @@ -15766,17 +15766,17 @@ static void showdiarypage(Context & context) { context.ah = 0; context.di = 68+24; context.bx = 48+12; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); showframe(context); - context.al = context.data.byte(289); + context.al = context.ds.byte(289); findtext1(context); - context.data.byte(72) = 1; + context.ds.byte(72) = 1; usetempcharset(context); context.di = 68+24+48; context.bx = 48+12+16; context.dl = 240; context.ah = 16; - context.data.word(71) = 91+91; + context.ds.word(71) = 91+91; printdirect(context); context.di = 68+24+129; context.bx = 48+12+16; @@ -15788,8 +15788,8 @@ static void showdiarypage(Context & context) { context.dl = 240; context.ah = 16; printdirect(context); - context.data.byte(72) = 0; - context.data.word(71) = 0; + context.ds.byte(72) = 0; + context.ds.word(71) = 0; usecharset1(context); return; } @@ -15798,37 +15798,37 @@ static void findtext1(Context & context) { context.ah = 0; context.si = context.ax; context._add(context.si, context.si); - context.es = context.data.word(466); - context.ax = context.data.word(context.si); + context.es = context.ds.word(466); + context.ax = context.ds.word(context.si); context._add(context.ax, 66*2); context.si = context.ax; return; } static void zoomonoff(Context & context) { - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(234), 2); + context._cmp(context.ds.byte(234), 2); if (context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 222); + context._cmp(context.ds.byte(100), 222); if (context.flags.z()) goto alreadyonoff; - context.data.byte(100) = 222; + context.ds.byte(100) = 222; context.al = 39; commandonly(context); alreadyonoff: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nozoomonoff; context._and(context.ax, 1); if (!context.flags.z()) goto dozoomonoff; nozoomonoff: return; dozoomonoff: - context.al = context.data.byte(8); + context.al = context.ds.byte(8); context._xor(context.al, 1); - context.data.byte(8) = context.al; + context.ds.byte(8) = context.al; createpanel(context); - context.data.byte(62) = 0; + context.ds.byte(62) = 0; drawfloor(context); printsprites(context); reelsonscreen(context); @@ -15843,18 +15843,18 @@ dozoomonoff: } static void saveload(Context & context) { - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(234), 2); + context._cmp(context.ds.byte(234), 2); if (context.flags.z()) { blank(context); return; }; - context._cmp(context.data.byte(100), 253); + context._cmp(context.ds.byte(100), 253); if (context.flags.z()) goto alreadyops; - context.data.byte(100) = 253; + context.ds.byte(100) = 253; context.al = 43; commandonly(context); alreadyops: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto noops; context._and(context.ax, 1); if (context.flags.z()) goto noops; @@ -15864,11 +15864,11 @@ noops: } static void dosaveload(Context & context) { - context.data.byte(231) = 0; - context.data.word(79) = 70; - context.data.word(81) = 182-8; - context.data.byte(82) = 181; - context.data.byte(131) = 1; + context.ds.byte(231) = 0; + context.ds.word(79) = 70; + context.ds.word(81) = 182-8; + context.ds.byte(82) = 181; + context.ds.byte(131) = 1; clearwork(context); createpanel2(context); undertextline(context); @@ -15883,7 +15883,7 @@ restartops: showmainops(context); worktoscreenm(context); donefirstops: - context.data.byte(103) = 0; + context.ds.byte(103) = 0; waitops: readmouse(context); showpointer(context); @@ -15893,27 +15893,27 @@ waitops: delpointer(context); context.bx = 3693; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto waitops; - context._cmp(context.data.byte(103), 2); + context._cmp(context.ds.byte(103), 2); if (context.flags.z()) goto restartops; - context.data.word(79) = 13; - context.data.word(81) = 182; - context.data.byte(82) = 240; - context._cmp(context.data.byte(103), 4); + context.ds.word(79) = 13; + context.ds.word(81) = 182; + context.ds.byte(82) = 240; + context._cmp(context.ds.byte(103), 4); if (context.flags.z()) goto justret; getridoftemp(context); restoreall(context); redrawmainscrn(context); worktoscreenm(context); - context.data.byte(100) = 200; + context.ds.byte(100) = 200; justret: - context.data.byte(131) = 0; + context.ds.byte(131) = 0; return; } static void getbackfromops(Context & context) { - context._cmp(context.data.byte(56), 2); + context._cmp(context.ds.byte(56), 2); if (context.flags.z()) goto opsblock1; getback1(context); return; @@ -15923,19 +15923,19 @@ opsblock1: } static void showmainops(Context & context) { - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+10; context.bx = 52+10; context.al = 8; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+59; context.bx = 52+30; context.al = 7; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+128+4; context.bx = 52+12; context.al = 1; @@ -15945,25 +15945,25 @@ static void showmainops(Context & context) { } static void showdiscops(Context & context) { - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+128+4; context.bx = 52+12; context.al = 1; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+10; context.bx = 52+10; context.al = 9; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+59; context.bx = 52+30; context.al = 10; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+176+2; context.bx = 52+60-4; context.al = 5; @@ -15979,30 +15979,30 @@ static void loadsavebox(Context & context) { } static void loadgame(Context & context) { - context._cmp(context.data.byte(100), 246); + context._cmp(context.ds.byte(100), 246); if (context.flags.z()) goto alreadyload; - context.data.byte(100) = 246; + context.ds.byte(100) = 246; context.al = 41; commandonly(context); alreadyload: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto noload; context._cmp(context.ax, 1); if (context.flags.z()) goto doload; noload: return; doload: - context.data.byte(340) = 1; + context.ds.byte(340) = 1; showopbox(context); showloadops(context); - context.data.byte(341) = 0; + context.ds.byte(341) = 0; showslots(context); shownames(context); - context.data.byte(231) = 0; + context.ds.byte(231) = 0; worktoscreenm(context); namestoold(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; loadops: delpointer(context); readmouse(context); @@ -16012,9 +16012,9 @@ loadops: dumptextline(context); context.bx = 3735; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto loadops; - context._cmp(context.data.byte(103), 2); + context._cmp(context.ds.byte(103), 2); if (context.flags.z()) goto quitloaded; getridoftemp(context); context.dx = context.ds; @@ -16022,30 +16022,30 @@ loadops: context.bx = 7782; startloading(context); loadroomssample(context); - context.data.byte(74) = 1; - context.data.byte(188) = 255; + context.ds.byte(74) = 1; + context.ds.byte(188) = 255; clearsprites(context); initman(context); initrain(context); - context.data.word(79) = 13; - context.data.word(81) = 182; - context.data.byte(82) = 240; + context.ds.word(79) = 13; + context.ds.word(81) = 182; + context.ds.byte(82) = 240; startup(context); worktoscreen(context); - context.data.byte(103) = 4; + context.ds.byte(103) = 4; quitloaded: return; } static void getbacktoops(Context & context) { - context._cmp(context.data.byte(100), 201); + context._cmp(context.ds.byte(100), 201); if (context.flags.z()) goto alreadygetops; - context.data.byte(100) = 201; + context.ds.byte(100) = 201; context.al = 42; commandonly(context); alreadygetops: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nogetbackops; context._and(context.ax, 1); if (!context.flags.z()) goto dogetbackops; @@ -16053,19 +16053,19 @@ nogetbackops: return; dogetbackops: oldtonames(context); - context.data.byte(103) = 2; + context.ds.byte(103) = 2; return; } static void discops(Context & context) { - context._cmp(context.data.byte(100), 249); + context._cmp(context.ds.byte(100), 249); if (context.flags.z()) goto alreadydiscops; - context.data.byte(100) = 249; + context.ds.byte(100) = 249; context.al = 43; commandonly(context); alreadydiscops: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto nodiscops; context._and(context.ax, 1); if (!context.flags.z()) goto dodiscops; @@ -16073,12 +16073,12 @@ nodiscops: return; dodiscops: scanfornames(context); - context.data.byte(340) = 2; + context.ds.byte(340) = 2; showopbox(context); showdiscops(context); - context.data.byte(341) = 0; + context.ds.byte(341) = 0; worktoscreenm(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; discopsloop: delpointer(context); readmouse(context); @@ -16088,39 +16088,39 @@ discopsloop: dumptextline(context); context.bx = 3777; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto discopsloop; return; } static void savegame(Context & context) { - context._cmp(context.data.byte(56), 2); + context._cmp(context.ds.byte(56), 2); if (!context.flags.z()) goto cansaveok; blank(context); return; cansaveok: - context._cmp(context.data.byte(100), 247); + context._cmp(context.ds.byte(100), 247); if (context.flags.z()) goto alreadysave; - context.data.byte(100) = 247; + context.ds.byte(100) = 247; context.al = 44; commandonly(context); alreadysave: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (!context.flags.z()) goto dosave; return; dosave: - context.data.byte(340) = 2; + context.ds.byte(340) = 2; showopbox(context); showsaveops(context); - context.data.byte(341) = 0; + context.ds.byte(341) = 0; showslots(context); shownames(context); worktoscreenm(context); namestoold(context); - context.data.word(394) = 0; - context.data.word(396) = 0; - context.data.byte(103) = 0; + context.ds.word(394) = 0; + context.ds.word(396) = 0; + context.ds.byte(103) = 0; saveops: delpointer(context); checkinput(context); @@ -16131,33 +16131,33 @@ saveops: dumptextline(context); context.bx = 3819; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto saveops; return; } static void actualsave(Context & context) { - context._cmp(context.data.byte(100), 222); + context._cmp(context.ds.byte(100), 222); if (context.flags.z()) goto alreadyactsave; - context.data.byte(100) = 222; + context.ds.byte(100) = 222; context.al = 44; commandonly(context); alreadyactsave: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (context.flags.z()) goto noactsave; context.dx = context.ds; context.ds = context.dx; context.si = 8367; - context.al = context.data.byte(341); + context.al = context.ds.byte(341); context.ah = 0; context.cx = 17; context._mul(context.cx); context._add(context.si, context.ax); context._add(context.si, 1); - context._cmp(context.data.byte(context.si), 0); + context._cmp(context.ds.byte(context.si), 0); if (context.flags.z()) goto noactsave; - context.al = context.data.byte(9); + context.al = context.ds.byte(9); context.ah = 0; context.cx = 32; context._mul(context.cx); @@ -16169,102 +16169,102 @@ alreadyactsave: context.es = context.cs; context.cx = 16; while(--context.cx) context._movsw(); - context.al = context.data.byte(531); - context.data.byte(context.bx+13) = context.al; - context.al = context.data.byte(148); - context.data.byte(context.bx+15) = context.al; - context.al = context.data.byte(149); - context.data.byte(context.bx+16) = context.al; - context.al = context.data.byte(35); - context.data.byte(context.bx+20) = context.al; - context.al = context.data.byte(475); - context.data.byte(context.bx+21) = context.al; - context.al = context.data.byte(133); - context.data.byte(context.bx+22) = context.al; + context.al = context.ds.byte(531); + context.ds.byte(context.bx+13) = context.al; + context.al = context.ds.byte(148); + context.ds.byte(context.bx+15) = context.al; + context.al = context.ds.byte(149); + context.ds.byte(context.bx+16) = context.al; + context.al = context.ds.byte(35); + context.ds.byte(context.bx+20) = context.al; + context.al = context.ds.byte(475); + context.ds.byte(context.bx+21) = context.al; + context.al = context.ds.byte(133); + context.ds.byte(context.bx+22) = context.al; context.al = 255; - context.data.byte(context.bx+27) = context.al; + context.ds.byte(context.bx+27) = context.al; saveposition(context); getridoftemp(context); restoreall(context); - context.data.word(79) = 13; - context.data.word(81) = 182; - context.data.byte(82) = 240; + context.ds.word(79) = 13; + context.ds.word(81) = 182; + context.ds.byte(82) = 240; redrawmainscrn(context); worktoscreenm(context); - context.data.byte(103) = 4; + context.ds.byte(103) = 4; noactsave: return; } static void actualload(Context & context) { - context._cmp(context.data.byte(100), 221); + context._cmp(context.ds.byte(100), 221); if (context.flags.z()) goto alreadyactload; - context.data.byte(100) = 221; + context.ds.byte(100) = 221; context.al = 41; commandonly(context); alreadyactload: - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto notactload; context._cmp(context.ax, 1); if (!context.flags.z()) goto notactload; context.dx = context.ds; context.ds = context.dx; context.si = 8367; - context.al = context.data.byte(341); + context.al = context.ds.byte(341); context.ah = 0; context.cx = 17; context._mul(context.cx); context._add(context.si, context.ax); context._add(context.si, 1); - context._cmp(context.data.byte(context.si), 0); + context._cmp(context.ds.byte(context.si), 0); if (context.flags.z()) goto notactload; loadposition(context); - context.data.byte(103) = 1; + context.ds.byte(103) = 1; notactload: return; } static void selectslot2(Context & context) { - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto noselslot2; - context.data.byte(340) = 2; + context.ds.byte(340) = 2; noselslot2: selectslot(context); return; } static void checkinput(Context & context) { - context._cmp(context.data.byte(340), 3); + context._cmp(context.ds.byte(340), 3); if (context.flags.z()) goto nokeypress; readkey(context); - context.al = context.data.byte(142); + context.al = context.ds.byte(142); context._cmp(context.al, 0); if (context.flags.z()) goto nokeypress; context._cmp(context.al, 13); if (!context.flags.z()) goto notret; - context.data.byte(340) = 3; + context.ds.byte(340) = 3; goto afterkey; notret: context._cmp(context.al, 8); if (!context.flags.z()) goto nodel2; - context._cmp(context.data.byte(342), 0); + context._cmp(context.ds.byte(342), 0); if (context.flags.z()) goto nokeypress; getnamepos(context); - context._sub(context.data.byte(342), 1); - context.data.byte(context.bx) = 0; - context.data.byte(context.bx+1) = 1; + context._sub(context.ds.byte(342), 1); + context.ds.byte(context.bx) = 0; + context.ds.byte(context.bx+1) = 1; goto afterkey; nodel2: spacepress: - context._cmp(context.data.byte(342), 14); + context._cmp(context.ds.byte(342), 14); if (context.flags.z()) goto nokeypress; getnamepos(context); - context._add(context.data.byte(342), 1); - context.al = context.data.byte(142); - context.data.byte(context.bx+1) = context.al; - context.data.byte(context.bx+2) = 0; - context.data.byte(context.bx+3) = 1; + context._add(context.ds.byte(342), 1); + context.al = context.ds.byte(142); + context.ds.byte(context.bx+1) = context.al; + context.ds.byte(context.bx+2) = 0; + context.ds.byte(context.bx+3) = 1; goto afterkey; nokeypress: return; @@ -16278,7 +16278,7 @@ afterkey: } static void getnamepos(Context & context) { - context.al = context.data.byte(341); + context.al = context.ds.byte(341); context.ah = 0; context.cx = 17; context._mul(context.cx); @@ -16286,20 +16286,20 @@ static void getnamepos(Context & context) { context.es = context.dx; context.bx = 8367; context._add(context.bx, context.ax); - context.al = context.data.byte(342); + context.al = context.ds.byte(342); context.ah = 0; context._add(context.bx, context.ax); return; } static void showopbox(Context & context) { - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60; context.bx = 52; context.al = 0; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60; context.bx = 52+55; context.al = 4; @@ -16309,13 +16309,13 @@ static void showopbox(Context & context) { } static void showloadops(Context & context) { - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+128+4; context.bx = 52+12; context.al = 1; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+176+2; context.bx = 52+60-4; context.al = 5; @@ -16330,13 +16330,13 @@ static void showloadops(Context & context) { } static void showsaveops(Context & context) { - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+128+4; context.bx = 52+12; context.al = 1; context.ah = 0; showframe(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+176+2; context.bx = 52+60-4; context.al = 5; @@ -16351,35 +16351,35 @@ static void showsaveops(Context & context) { } static void selectslot(Context & context) { - context._cmp(context.data.byte(100), 244); + context._cmp(context.ds.byte(100), 244); if (context.flags.z()) goto alreadysel; - context.data.byte(100) = 244; + context.ds.byte(100) = 244; context.al = 45; commandonly(context); alreadysel: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._cmp(context.ax, 1); if (!context.flags.z()) goto noselslot; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto noselslot; - context._cmp(context.data.byte(340), 3); + context._cmp(context.ds.byte(340), 3); if (!context.flags.z()) goto notnocurs; - context._sub(context.data.byte(340), 1); + context._sub(context.ds.byte(340), 1); notnocurs: oldtonames(context); - context.ax = context.data.word(200); + context.ax = context.ds.word(200); context._sub(context.ax, 52+4); context.cl = -1; getslotnum: context._add(context.cl, 1); context._sub(context.ax, 11); if (!context.flags.c()) goto getslotnum; - context.data.byte(341) = context.cl; + context.ds.byte(341) = context.cl; delpointer(context); showopbox(context); showslots(context); shownames(context); - context._cmp(context.data.byte(340), 1); + context._cmp(context.ds.byte(340), 1); if (context.flags.z()) goto isloadmode; showsaveops(context); readmouse(context); @@ -16402,7 +16402,7 @@ static void showslots(Context & context) { context.di = 60+7; context.bx = 52+8; context.al = 2; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.ah = 0; showframe(context); context.di = 60+10; @@ -16412,10 +16412,10 @@ slotloop: context.push(context.cx); context.push(context.di); context.push(context.bx); - context._cmp(context.cl, context.data.byte(341)); + context._cmp(context.cl, context.ds.byte(341)); if (!context.flags.z()) goto nomatchslot; context.al = 3; - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.ah = 0; showframe(context); nomatchslot: @@ -16443,9 +16443,9 @@ shownameloop: context.push(context.bx); context.push(context.si); context.al = 4; - context._cmp(context.cl, context.data.byte(341)); + context._cmp(context.cl, context.ds.byte(341)); if (!context.flags.z()) goto nomatchslot2; - context._cmp(context.data.byte(340), 2); + context._cmp(context.ds.byte(340), 2); if (!context.flags.z()) goto loadmode; context.dx = context.si; context.cx = 15; @@ -16453,29 +16453,29 @@ shownameloop: zerostill: context._sub(context.si, 1); context._sub(context.cl, 1); - context._cmp(context.data.byte(context.si), 1); + context._cmp(context.ds.byte(context.si), 1); if (!context.flags.z()) goto foundcharacter; goto zerostill; foundcharacter: - context.data.byte(342) = context.cl; - context.data.byte(context.si) = '/'; - context.data.byte(context.si+1) = 0; + context.ds.byte(342) = context.cl; + context.ds.byte(context.si) = '/'; + context.ds.byte(context.si+1) = 0; context.push(context.si); context.si = context.dx; context.dl = 200; context.ah = 0; printdirect(context); context.si = context.pop(); - context.data.byte(context.si) = 0; - context.data.byte(context.si+1) = 1; + context.ds.byte(context.si) = 0; + context.ds.byte(context.si+1) = 1; goto afterprintname; loadmode: context.al = 0; context.dl = 200; context.ah = 0; - context.data.word(71) = 91; + context.ds.word(71) = 91; printdirect(context); - context.data.word(71) = 0; + context.ds.word(71) = 0; goto afterprintname; nomatchslot2: context.dl = 200; @@ -16499,7 +16499,7 @@ static void namestoold(Context & context) { context.ds = context.cs; context.si = 8367; context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.cx = 17*4; while(--context.cx) context._movsb(); return; @@ -16509,7 +16509,7 @@ static void oldtonames(Context & context) { context.es = context.cs; context.di = 8367; context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.cx = 17*4; while(--context.cx) context._movsb(); return; @@ -16521,7 +16521,7 @@ static void makeheader(Context & context) { context.di = 5952; context.ax = 17; storeit(context); - context.ax = 68-context.data.byte(1); + context.ax = 68-context.ds.byte(1); storeit(context); context.ax = 0+2080+30000+(16*114)+((114+2)*2)+18000; storeit(context); @@ -16529,7 +16529,7 @@ static void makeheader(Context & context) { storeit(context); context.ax = 48; storeit(context); - context.ax = 991-context.data.byte(537); + context.ax = 991-context.ds.byte(537); storeit(context); return; } @@ -16547,7 +16547,7 @@ static void findlen(Context & context) { context._sub(context.bx, 1); context._add(context.bx, context.ax); nextone: - context._cmp(context.cl, context.data.byte(context.bx)); + context._cmp(context.cl, context.ds.byte(context.bx)); if (!context.flags.z()) goto foundlen; context._sub(context.bx, 1); context._sub(context.ax, 1); @@ -16561,18 +16561,18 @@ static void decide(Context & context) { setmode(context); loadpalfromiff(context); clearpalette(context); - context.data.byte(234) = 0; - context.data.word(21) = 0; - context.data.byte(231) = 0; - context.data.word(79) = 70; - context.data.word(81) = 182-8; - context.data.byte(82) = 181; - context.data.byte(131) = 1; + context.ds.byte(234) = 0; + context.ds.word(21) = 0; + context.ds.byte(231) = 0; + context.ds.word(79) = 70; + context.ds.word(81) = 182-8; + context.ds.byte(82) = 181; + context.ds.byte(131) = 1; loadsavebox(context); showdecisions(context); worktoscreen(context); fadescreenup(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; waitdecide: readmouse(context); showpointer(context); @@ -16582,22 +16582,22 @@ waitdecide: delpointer(context); context.bx = 4884; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto waitdecide; - context._cmp(context.data.byte(103), 4); + context._cmp(context.ds.byte(103), 4); if (context.flags.z()) goto hasloadedroom; getridoftemp(context); hasloadedroom: - context.data.word(79) = 13; - context.data.word(81) = 182; - context.data.byte(82) = 240; + context.ds.word(79) = 13; + context.ds.word(81) = 182; + context.ds.byte(82) = 240; return; } static void showdecisions(Context & context) { createpanel2(context); showopbox(context); - context.ds = context.data.word(458); + context.ds = context.ds.word(458); context.di = 60+17; context.bx = 52+13; context.al = 6; @@ -16608,31 +16608,31 @@ static void showdecisions(Context & context) { } static void newgame(Context & context) { - context._cmp(context.data.byte(100), 251); + context._cmp(context.ds.byte(100), 251); if (context.flags.z()) goto alreadynewgame; - context.data.byte(100) = 251; + context.ds.byte(100) = 251; context.al = 47; commandonly(context); alreadynewgame: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._cmp(context.ax, 1); if (!context.flags.z()) goto nonewgame; - context.data.byte(103) = 3; + context.ds.byte(103) = 3; nonewgame: return; } static void doload(Context & context) { - context.data.byte(340) = 1; + context.ds.byte(340) = 1; showopbox(context); showloadops(context); - context.data.byte(341) = 0; + context.ds.byte(341) = 0; showslots(context); shownames(context); - context.data.byte(231) = 0; + context.ds.byte(231) = 0; worktoscreenm(context); namestoold(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; loadops: delpointer(context); readmouse(context); @@ -16642,9 +16642,9 @@ loadops: dumptextline(context); context.bx = 3735; checkcoords(context); - context._cmp(context.data.byte(103), 0); + context._cmp(context.ds.byte(103), 0); if (context.flags.z()) goto loadops; - context._cmp(context.data.byte(103), 2); + context._cmp(context.ds.byte(103), 2); if (context.flags.z()) goto quitloaded; getridoftemp(context); context.dx = context.ds; @@ -16652,37 +16652,37 @@ loadops: context.bx = 7782; startloading(context); loadroomssample(context); - context.data.byte(74) = 1; - context.data.byte(188) = 255; + context.ds.byte(74) = 1; + context.ds.byte(188) = 255; clearsprites(context); initman(context); initrain(context); - context.data.word(79) = 13; - context.data.word(81) = 182; - context.data.byte(82) = 240; + context.ds.word(79) = 13; + context.ds.word(81) = 182; + context.ds.byte(82) = 240; startup(context); worktoscreen(context); - context.data.byte(103) = 4; + context.ds.byte(103) = 4; quitloaded: return; } static void loadold(Context & context) { - context._cmp(context.data.byte(100), 252); + context._cmp(context.ds.byte(100), 252); if (context.flags.z()) goto alreadyloadold; - context.data.byte(100) = 252; + context.ds.byte(100) = 252; context.al = 48; commandonly(context); alreadyloadold: - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._and(context.ax, 1); if (context.flags.z()) goto noloadold; doload(context); - context._cmp(context.data.byte(103), 4); + context._cmp(context.ds.byte(103), 4); if (context.flags.z()) goto noloadold; showdecisions(context); worktoscreenm(context); - context.data.byte(103) = 0; + context.ds.byte(103) = 0; noloadold: return; } @@ -16690,17 +16690,17 @@ noloadold: static void createname(Context & context) { context.push(context.ax); context.di = 4932; - context.data.byte(context.di+0) = context.dl; - context.data.byte(context.di+3) = context.cl; + context.ds.byte(context.di+0) = context.dl; + context.ds.byte(context.di+3) = context.cl; context.al = context.dh; context.ah = '0'-1; findten: context._add(context.ah, 1); context._sub(context.al, 10); if (!context.flags.c()) goto findten; - context.data.byte(context.di+1) = context.ah; + context.ds.byte(context.di+1) = context.ah; context._add(context.al, 10+'0'); - context.data.byte(context.di+2) = context.al; + context.ds.byte(context.di+2) = context.al; context.ax = context.pop(); context.cl = '0'-1; thousandsc: @@ -16708,60 +16708,60 @@ thousandsc: context._sub(context.ax, 1000); if (!context.flags.c()) goto thousandsc; context._add(context.ax, 1000); - context.data.byte(context.di+4) = context.cl; + context.ds.byte(context.di+4) = context.cl; context.cl = '0'-1; hundredsc: context._add(context.cl, 1); context._sub(context.ax, 100); if (!context.flags.c()) goto hundredsc; context._add(context.ax, 100); - context.data.byte(context.di+5) = context.cl; + context.ds.byte(context.di+5) = context.cl; context.cl = '0'-1; tensc: context._add(context.cl, 1); context._sub(context.ax, 10); if (!context.flags.c()) goto tensc; context._add(context.ax, 10); - context.data.byte(context.di+6) = context.cl; + context.ds.byte(context.di+6) = context.cl; context._add(context.al, '0'); - context.data.byte(context.di+7) = context.al; + context.ds.byte(context.di+7) = context.al; return; } static void trysoundalloc(Context & context) { - context._cmp(context.data.byte(358), 1); + context._cmp(context.ds.byte(358), 1); if (context.flags.z()) goto gotsoundbuff; - context._add(context.data.byte(357), 1); + context._add(context.ds.byte(357), 1); context.bx = (16384+2048)/16; allocatemem(context); - context.data.word(353) = context.ax; + context.ds.word(353) = context.ax; context.push(context.ax); context.al = context.ah; context.cl = 4; context._shr(context.al, context.cl); - context.data.byte(356) = context.al; + context.ds.byte(356) = context.al; context.ax = context.pop(); context.cl = 4; context._shl(context.ax, context.cl); - context.data.word(355) = context.ax; + context.ds.word(355) = context.ax; context._cmp(context.ax, 0x0b7ff); if (!context.flags.c()) goto soundfail; - context.es = context.data.word(353); + context.es = context.ds.word(353); context.di = 0; context.cx = 16384/2; context.ax = 0x7f7f; while(--context.cx) context._stosw(); - context.data.byte(358) = 1; + context.ds.byte(358) = 1; return; soundfail: - context.es = context.data.word(353); + context.es = context.ds.word(353); deallocatemem(context); gotsoundbuff: return; } static void playchannel0(Context & context) { - context._cmp(context.data.byte(378), 255); + context._cmp(context.ds.byte(378), 255); if (context.flags.z()) goto dontbother4; context.push(context.es); context.push(context.ds); @@ -16769,34 +16769,34 @@ static void playchannel0(Context & context) { context.push(context.cx); context.push(context.di); context.push(context.si); - context.data.byte(507) = context.al; - context.es = context.data.word(420); + context.ds.byte(507) = context.al; + context.es = context.ds.word(420); context._cmp(context.al, 12); if (context.flags.c()) goto notsecondbank; - context.es = context.data.word(422); + context.es = context.ds.word(422); context._sub(context.al, 12); notsecondbank: - context.data.byte(508) = context.ah; + context.ds.byte(508) = context.ah; context.ah = 0; context._add(context.ax, context.ax); context.bx = context.ax; context._add(context.ax, context.ax); context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx); - context.ah = 0; - context.data.word(502) = context.ax; - context.ax = context.data.word(context.bx+1); - context.data.word(504) = context.ax; - context.ax = context.data.word(context.bx+3); - context.data.word(506) = context.ax; - context._cmp(context.data.byte(508), 0); + context.al = context.ds.byte(context.bx); + context.ah = 0; + context.ds.word(502) = context.ax; + context.ax = context.ds.word(context.bx+1); + context.ds.word(504) = context.ax; + context.ax = context.ds.word(context.bx+3); + context.ds.word(506) = context.ax; + context._cmp(context.ds.byte(508), 0); if (context.flags.z()) goto nosetloop; - context.ax = context.data.word(502); - context.data.word(510) = context.ax; - context.ax = context.data.word(504); - context.data.word(512) = context.ax; - context.ax = context.data.word(506); - context.data.word(514) = context.ax; + context.ax = context.ds.word(502); + context.ds.word(510) = context.ax; + context.ax = context.ds.word(504); + context.ds.word(512) = context.ax; + context.ax = context.ds.word(506); + context.ds.word(514) = context.ax; nosetloop: context.si = context.pop(); context.di = context.pop(); @@ -16809,9 +16809,9 @@ dontbother4: } static void playchannel1(Context & context) { - context._cmp(context.data.byte(378), 255); + context._cmp(context.ds.byte(378), 255); if (context.flags.z()) goto dontbother5; - context._cmp(context.data.byte(515), 7); + context._cmp(context.ds.byte(515), 7); if (context.flags.z()) goto dontbother5; context.push(context.es); context.push(context.ds); @@ -16819,11 +16819,11 @@ static void playchannel1(Context & context) { context.push(context.cx); context.push(context.di); context.push(context.si); - context.data.byte(515) = context.al; - context.es = context.data.word(420); + context.ds.byte(515) = context.al; + context.es = context.ds.word(420); context._cmp(context.al, 12); if (context.flags.c()) goto notsecondbank1; - context.es = context.data.word(422); + context.es = context.ds.word(422); context._sub(context.al, 12); notsecondbank1: context.ah = 0; @@ -16831,13 +16831,13 @@ notsecondbank1: context.bx = context.ax; context._add(context.ax, context.ax); context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.ah = 0; - context.data.word(517) = context.ax; - context.ax = context.data.word(context.bx+1); - context.data.word(519) = context.ax; - context.ax = context.data.word(context.bx+3); - context.data.word(521) = context.ax; + context.ds.word(517) = context.ax; + context.ax = context.ds.word(context.bx+1); + context.ds.word(519) = context.ax; + context.ax = context.ds.word(context.bx+3); + context.ds.word(521) = context.ax; context.si = context.pop(); context.di = context.pop(); context.cx = context.pop(); @@ -16851,121 +16851,121 @@ dontbother5: static void makenextblock(Context & context) { volumeadjust(context); loopchannel0(context); - context._cmp(context.data.word(521), 0); + context._cmp(context.ds.word(521), 0); if (context.flags.z()) goto mightbeonlych0; - context._cmp(context.data.word(506), 0); + context._cmp(context.ds.word(506), 0); if (context.flags.z()) goto mightbeonlych1; - context._sub(context.data.word(506), 1); - context._sub(context.data.word(521), 1); + context._sub(context.ds.word(506), 1); + context._sub(context.ds.word(521), 1); bothchannels(context); return; mightbeonlych1: - context.data.byte(507) = 255; - context._cmp(context.data.word(521), 0); + context.ds.byte(507) = 255; + context._cmp(context.ds.word(521), 0); if (context.flags.z()) goto notch1only; - context._sub(context.data.word(521), 1); + context._sub(context.ds.word(521), 1); channel1only(context); notch1only: return; mightbeonlych0: - context.data.byte(515) = 255; - context._cmp(context.data.word(506), 0); + context.ds.byte(515) = 255; + context._cmp(context.ds.word(506), 0); if (context.flags.z()) goto notch0only; - context._sub(context.data.word(506), 1); + context._sub(context.ds.word(506), 1); channel0only(context); return; notch0only: - context.es = context.data.word(353); - context.di = context.data.word(525); + context.es = context.ds.word(353); + context.di = context.ds.word(525); context.cx = 1024; context.ax = 0x7f7f; while(--context.cx) context._stosw(); context._and(context.di, 16384-1); - context.data.word(525) = context.di; + context.ds.word(525) = context.di; return; } static void volumeadjust(Context & context) { - context.al = context.data.byte(388); + context.al = context.ds.byte(388); context._cmp(context.al, 0); if (context.flags.z()) goto volok; - context.al = context.data.byte(386); - context._cmp(context.al, context.data.byte(387)); + context.al = context.ds.byte(386); + context._cmp(context.al, context.ds.byte(387)); if (context.flags.z()) goto volfinish; - context._add(context.data.byte(389), 64); + context._add(context.ds.byte(389), 64); if (!context.flags.z()) goto volok; - context.al = context.data.byte(386); - context._add(context.al, context.data.byte(388)); - context.data.byte(386) = context.al; + context.al = context.ds.byte(386); + context._add(context.al, context.ds.byte(388)); + context.ds.byte(386) = context.al; return; volfinish: - context.data.byte(388) = 0; + context.ds.byte(388) = 0; volok: return; } static void loopchannel0(Context & context) { - context._cmp(context.data.word(506), 0); + context._cmp(context.ds.word(506), 0); if (!context.flags.z()) goto notloop; - context._cmp(context.data.byte(508), 0); + context._cmp(context.ds.byte(508), 0); if (context.flags.z()) goto notloop; - context._cmp(context.data.byte(508), 255); + context._cmp(context.ds.byte(508), 255); if (context.flags.z()) goto endlessloop; - context._sub(context.data.byte(508), 1); + context._sub(context.ds.byte(508), 1); endlessloop: - context.ax = context.data.word(510); - context.data.word(502) = context.ax; - context.ax = context.data.word(512); - context.data.word(504) = context.ax; - context.ax = context.data.word(506); - context._add(context.ax, context.data.word(514)); - context.data.word(506) = context.ax; + context.ax = context.ds.word(510); + context.ds.word(502) = context.ax; + context.ax = context.ds.word(512); + context.ds.word(504) = context.ax; + context.ax = context.ds.word(506); + context._add(context.ax, context.ds.word(514)); + context.ds.word(506) = context.ax; return; notloop: return; } static void cancelch0(Context & context) { - context.data.byte(508) = 0; - context.data.word(506) = 0; - context.data.byte(507) = 255; + context.ds.byte(508) = 0; + context.ds.word(506) = 0; + context.ds.byte(507) = 255; return; } static void cancelch1(Context & context) { - context.data.word(521) = 0; - context.data.byte(515) = 255; + context.ds.word(521) = 0; + context.ds.byte(515) = 255; return; } static void channel0tran(Context & context) { - context._cmp(context.data.byte(386), 0); + context._cmp(context.ds.byte(386), 0); if (!context.flags.z()) goto lowvolumetran; context.cx = 1024; while(--context.cx) context._movsw(); return; lowvolumetran: context.cx = 1024; - context.bh = context.data.byte(386); + context.bh = context.ds.byte(386); context.bl = 0; context._add(context.bx, 16384-256); volloop: context._lodsw(); context.bl = context.al; - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.bl = context.ah; - context.ah = context.data.byte(context.bx); + context.ah = context.ds.byte(context.bx); context._stosw(); if (--context.cx) goto volloop; return; } static void domix(Context & context) { - context._cmp(context.data.byte(386), 0); + context._cmp(context.ds.byte(386), 0); if (!context.flags.z()) goto lowvolumemix; slow: context._lodsb(); - context.ah = context.data.byte(context.bx); + context.ah = context.ds.byte(context.bx); context._add(context.bx, 1); context._cmp(context.al, context.dh); if (!context.flags.c()) goto toplot; @@ -17006,12 +17006,12 @@ nodistort: lowvolumemix: context._lodsb(); context.push(context.bx); - context.bh = context.data.byte(386); + context.bh = context.ds.byte(386); context._add(context.bh, 63); context.bl = context.al; - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.bx = context.pop(); - context.ah = context.data.byte(context.bx); + context.ah = context.ds.byte(context.bx); context._add(context.bx, 1); context._cmp(context.al, context.dh); if (!context.flags.c()) goto toplotv; @@ -17053,7 +17053,7 @@ doneit: } static void entrytexts(Context & context) { - context._cmp(context.data.byte(9), 21); + context._cmp(context.ds.byte(9), 21); if (!context.flags.z()) goto notloc15; context.al = 28; context.cx = 60; @@ -17063,7 +17063,7 @@ static void entrytexts(Context & context) { setuptimeduse(context); return; notloc15: - context._cmp(context.data.byte(9), 30); + context._cmp(context.ds.byte(9), 30); if (!context.flags.z()) goto notloc43; context.al = 27; context.cx = 60; @@ -17073,7 +17073,7 @@ notloc15: setuptimeduse(context); return; notloc43: - context._cmp(context.data.byte(9), 23); + context._cmp(context.ds.byte(9), 23); if (!context.flags.z()) goto notloc23; context.al = 29; context.cx = 60; @@ -17083,7 +17083,7 @@ notloc43: setuptimeduse(context); return; notloc23: - context._cmp(context.data.byte(9), 31); + context._cmp(context.ds.byte(9), 31); if (!context.flags.z()) goto notloc44; context.al = 30; context.cx = 60; @@ -17093,7 +17093,7 @@ notloc23: setuptimeduse(context); return; notloc44: - context._cmp(context.data.byte(9), 20); + context._cmp(context.ds.byte(9), 20); if (!context.flags.z()) goto notsarters2; context.al = 31; context.cx = 60; @@ -17103,7 +17103,7 @@ notloc44: setuptimeduse(context); return; notsarters2: - context._cmp(context.data.byte(9), 24); + context._cmp(context.ds.byte(9), 24); if (!context.flags.z()) goto notedenlob; context.al = 32; context.cx = 60; @@ -17113,7 +17113,7 @@ notsarters2: setuptimeduse(context); return; notedenlob: - context._cmp(context.data.byte(9), 34); + context._cmp(context.ds.byte(9), 34); if (!context.flags.z()) goto noteden2; context.al = 33; context.cx = 60; @@ -17127,71 +17127,71 @@ noteden2: } static void entryanims(Context & context) { - context.data.word(23) = -1; - context.data.byte(32) = -1; - context._cmp(context.data.byte(9), 33); + context.ds.word(23) = -1; + context.ds.byte(32) = -1; + context._cmp(context.ds.byte(9), 33); if (!context.flags.z()) goto notinthebeach; switchryanoff(context); - context.data.word(21) = 76*2; - context.data.word(23) = 0; - context.data.word(25) = 76; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 76*2; + context.ds.word(23) = 0; + context.ds.word(25) = 76; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; return; notinthebeach: - context._cmp(context.data.byte(9), 44); + context._cmp(context.ds.byte(9), 44); if (!context.flags.z()) goto notsparkys; context.al = 8; resetlocation(context); - context.data.word(21) = 50*2; - context.data.word(23) = 247; - context.data.word(25) = 297; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 50*2; + context.ds.word(23) = 247; + context.ds.word(25) = 297; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; switchryanoff(context); return; notsparkys: - context._cmp(context.data.byte(9), 22); + context._cmp(context.ds.byte(9), 22); if (!context.flags.z()) goto notinthelift; - context.data.word(21) = 31*2; - context.data.word(23) = 0; - context.data.word(25) = 30; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 31*2; + context.ds.word(23) = 0; + context.ds.word(25) = 30; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; switchryanoff(context); return; notinthelift: - context._cmp(context.data.byte(9), 26); + context._cmp(context.ds.byte(9), 26); if (!context.flags.z()) goto notunderchurch; - context.data.byte(292) = 2; - context.data.byte(295) = 1; + context.ds.byte(292) = 2; + context.ds.byte(295) = 1; return; notunderchurch: - context._cmp(context.data.byte(9), 45); + context._cmp(context.ds.byte(9), 45); if (!context.flags.z()) goto notenterdream; - context.data.byte(54) = 0; - context.data.word(21) = 296; - context.data.word(23) = 45; - context.data.word(25) = 198; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.byte(54) = 0; + context.ds.word(21) = 296; + context.ds.word(23) = 45; + context.ds.word(25) = 198; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; switchryanoff(context); return; notenterdream: - context._cmp(context.data.byte(184), 46); + context._cmp(context.ds.byte(184), 46); if (!context.flags.z()) goto notcrystal; - context._cmp(context.data.byte(43), 1); + context._cmp(context.ds.byte(43), 1); if (!context.flags.z()) goto notcrystal; context.al = 0; removefreeobject(context); return; notcrystal: - context._cmp(context.data.byte(9), 9); + context._cmp(context.ds.byte(9), 9); if (!context.flags.z()) goto nottopchurch; context.al = 2; checkifpathison(context); if (context.flags.z()) goto nottopchurch; - context._cmp(context.data.byte(44), 0); + context._cmp(context.ds.byte(44), 0); if (context.flags.z()) goto nottopchurch; context.al = 3; checkifpathison(context); @@ -17205,7 +17205,7 @@ makedoorsopen: placesetobject(context); return; nottopchurch: - context._cmp(context.data.byte(9), 47); + context._cmp(context.ds.byte(9), 47); if (!context.flags.z()) goto notdreamcentre; context.al = 4; placesetobject(context); @@ -17213,30 +17213,30 @@ nottopchurch: placesetobject(context); return; notdreamcentre: - context._cmp(context.data.byte(9), 38); + context._cmp(context.ds.byte(9), 38); if (!context.flags.z()) goto notcarpark; - context.data.word(21) = 57*2; - context.data.word(23) = 4; - context.data.word(25) = 57; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 57*2; + context.ds.word(23) = 4; + context.ds.word(25) = 57; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; switchryanoff(context); return; notcarpark: - context._cmp(context.data.byte(9), 32); + context._cmp(context.ds.byte(9), 32); if (!context.flags.z()) goto notalley; - context.data.word(21) = 66*2; - context.data.word(23) = 0; - context.data.word(25) = 66; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.word(21) = 66*2; + context.ds.word(23) = 0; + context.ds.word(25) = 66; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; switchryanoff(context); return; notalley: - context._cmp(context.data.byte(9), 24); + context._cmp(context.ds.byte(9), 24); if (!context.flags.z()) goto notedensagain; context.al = 2; - context.ah = context.data.byte(185); + context.ah = context.ds.byte(185); context._sub(context.ah, 1); turnanypathon(context); notedensagain: @@ -17244,7 +17244,7 @@ notedensagain: } static void initialinv(Context & context) { - context._cmp(context.data.byte(184), 24); + context._cmp(context.ds.byte(184), 24); if (context.flags.z()) goto isedens; return; isedens: @@ -17273,20 +17273,20 @@ isedens: context.al = 16; context.ah = 2; pickupob(context); - context.data.byte(32) = 1; - context.data.word(29) = 0; - context.data.word(31) = 6; - context.data.byte(27) = 1; - context.data.byte(26) = 1; + context.ds.byte(32) = 1; + context.ds.word(29) = 0; + context.ds.word(31) = 6; + context.ds.byte(27) = 1; + context.ds.byte(26) = 1; switchryanoff(context); return; } static void pickupob(Context & context) { - context.data.byte(107) = context.ah; - context.data.byte(102) = 2; - context.data.byte(89) = context.al; - context.data.byte(99) = context.al; + context.ds.byte(107) = context.ah; + context.ds.byte(102) = 2; + context.ds.byte(89) = context.al; + context.ds.byte(99) = context.al; getanyad(context); transfertoex(context); return; @@ -17297,10 +17297,10 @@ static void checkforemm(Context & context) { } static void checkbasemem(Context & context) { - context.bx = context.data.word(534); + context.bx = context.ds.word(534); context._cmp(context.bx, 0x9360); if (!context.flags.c()) goto enoughmem; - context.data.byte(532) = 5; + context.ds.byte(532) = 5; { quickquit(context); return; }; enoughmem: return; @@ -17309,86 +17309,86 @@ enoughmem: static void allocatebuffers(Context & context) { context.bx = 0+2080+30000+(16*114)+((114+2)*2)+18000/16; allocatemem(context); - context.data.word(398) = context.ax; + context.ds.word(398) = context.ax; trysoundalloc(context); context.bx = 0+(66*60)/16; allocatemem(context); - context.data.word(418) = context.ax; + context.ds.word(418) = context.ax; trysoundalloc(context); - context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537)+68-context.data.byte(1)/16; + context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537)+68-context.ds.byte(1)/16; allocatemem(context); - context.data.word(412) = context.ax; + context.ds.word(412) = context.ax; trysoundalloc(context); context.bx = 16*80/16; allocatemem(context); - context.data.word(426) = context.ax; + context.ds.word(426) = context.ax; trysoundalloc(context); context.bx = 64*128/16; allocatemem(context); - context.data.word(428) = context.ax; + context.ds.word(428) = context.ax; trysoundalloc(context); context.bx = 22*8*20*8/16; allocatemem(context); - context.data.word(402) = context.ax; + context.ds.word(402) = context.ax; allocatework(context); context.bx = 2048/16; allocatemem(context); - context.data.word(420) = context.ax; + context.ds.word(420) = context.ax; context.bx = 2048/16; allocatemem(context); - context.data.word(422) = context.ax; + context.ds.word(422) = context.ax; return; } static void clearbuffers(Context & context) { - context.es = context.data.word(412); - context.cx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537)+68-context.data.byte(1)/2; + context.es = context.ds.word(412); + context.cx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537)+68-context.ds.byte(1)/2; context.ax = 0; context.di = 0; while(--context.cx) context._stosw(); - context.es = context.data.word(398); + context.es = context.ds.word(398); context.cx = 0+2080+30000+(16*114)+((114+2)*2)+18000/2; context.ax = 0x0ffff; context.di = 0; while(--context.cx) context._stosw(); - context.es = context.data.word(412); + context.es = context.ds.word(412); context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64); context.ds = context.cs; context.si = 537; - context.cx = 991-context.data.byte(537); + context.cx = 991-context.ds.byte(537); while(--context.cx) context._movsb(); - context.es = context.data.word(412); - context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537); + context.es = context.ds.word(412); + context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537); context.ds = context.cs; context.si = 1; - context.cx = 68-context.data.byte(1); + context.cx = 68-context.ds.byte(1); while(--context.cx) context._movsb(); clearchanges(context); return; } static void clearchanges(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.cx = 250*2; context.ax = 0x0ffff; context.di = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80); while(--context.cx) context._stosw(); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64); context.es = context.cs; context.di = 537; - context.cx = 991-context.data.byte(537); + context.cx = 991-context.ds.byte(537); while(--context.cx) context._movsb(); - context.ds = context.data.word(412); - context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.data.byte(537); + context.ds = context.ds.word(412); + context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5)+(46*40)+(5*80)+(250*4)+(256*30)+(6*64)+991-context.ds.byte(537); context.es = context.cs; context.di = 1; - context.cx = 68-context.data.byte(1); + context.cx = 68-context.ds.byte(1); while(--context.cx) context._movsb(); - context.data.byte(10) = 0; - context.data.word(12) = 0; - context.data.word(14) = 0; - context.es = context.data.word(398); + context.ds.byte(10) = 0; + context.ds.word(12) = 0; + context.ds.word(14) = 0; + context.es = context.ds.word(398); context.cx = 0+2080+30000+(16*114)+((114+2)*2)+18000/2; context.ax = 0x0ffff; context.di = 0; @@ -17409,85 +17409,85 @@ static void clearchanges(Context & context) { } static void clearbeforeload(Context & context) { - context._cmp(context.data.byte(74), 1); + context._cmp(context.ds.byte(74), 1); if (!context.flags.z()) goto noclear; clearreels(context); clearrest(context); - context.data.byte(74) = 0; + context.ds.byte(74) = 0; noclear: return; } static void clearreels(Context & context) { - context.es = context.data.word(430); + context.es = context.ds.word(430); deallocatemem(context); - context.es = context.data.word(432); + context.es = context.ds.word(432); deallocatemem(context); - context.es = context.data.word(434); + context.es = context.ds.word(434); deallocatemem(context); return; } static void clearrest(Context & context) { - context.es = context.data.word(418); + context.es = context.ds.word(418); context.cx = 66*60/2; context.ax = 0; context.di = 0; while(--context.cx) context._stosw(); - context.es = context.data.word(416); + context.es = context.ds.word(416); deallocatemem(context); - context.es = context.data.word(444); + context.es = context.ds.word(444); deallocatemem(context); - context.es = context.data.word(450); + context.es = context.ds.word(450); deallocatemem(context); - context.es = context.data.word(448); + context.es = context.ds.word(448); deallocatemem(context); - context.es = context.data.word(440); + context.es = context.ds.word(440); deallocatemem(context); - context.es = context.data.word(442); + context.es = context.ds.word(442); deallocatemem(context); - context.es = context.data.word(436); + context.es = context.ds.word(436); deallocatemem(context); - context.es = context.data.word(446); + context.es = context.ds.word(446); deallocatemem(context); - context.es = context.data.word(438); + context.es = context.ds.word(438); deallocatemem(context); return; } static void seecommandtail(Context & context) { - context.data.word(372) = 0x220; - context.data.byte(378) = 5; - context.data.byte(379) = 1; - context.data.byte(73) = 0; + context.ds.word(372) = 0x220; + context.ds.byte(378) = 5; + context.ds.byte(379) = 1; + context.ds.byte(73) = 0; context.bx = 2; - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context.dx = context.es; context._sub(context.ax, context.dx); - context.data.word(534) = context.ax; + context.ds.word(534) = context.ax; context.bx = 0x02c; - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context.push(context.es); context.push(context.bx); context.es = context.ax; context.bx = 0; findblaster: - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.ax, 0); if (context.flags.z()) goto endofenvironment; context._cmp(context.al, 'B'); if (!context.flags.z()) goto notblast; context._cmp(context.ah, 'L'); if (!context.flags.z()) goto notblast; - context._cmp(context.data.byte(context.bx+2), 'A'); + context._cmp(context.ds.byte(context.bx+2), 'A'); if (!context.flags.z()) goto notblast; - context._cmp(context.data.byte(context.bx+3), 'S'); + context._cmp(context.ds.byte(context.bx+3), 'S'); if (!context.flags.z()) goto notblast; - context._cmp(context.data.byte(context.bx+4), 'T'); + context._cmp(context.ds.byte(context.bx+4), 'T'); if (!context.flags.z()) goto notblast; - context._cmp(context.data.byte(context.bx+5), 'E'); + context._cmp(context.ds.byte(context.bx+5), 'E'); if (!context.flags.z()) goto notblast; - context._cmp(context.data.byte(context.bx+6), 'R'); + context._cmp(context.ds.byte(context.bx+6), 'R'); if (!context.flags.z()) goto notblast; context._add(context.bx, 7); parseblaster(context); @@ -17505,7 +17505,7 @@ endofenvironment: static void parseblaster(Context & context) { lookattail: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._cmp(context.al, 0); if (context.flags.z()) goto endtail; context._cmp(context.al, 13); @@ -17534,35 +17534,35 @@ lookattail: if (--context.cx) goto lookattail; return; issoundint: - context.al = context.data.byte(context.bx+1); + context.al = context.ds.byte(context.bx+1); context._sub(context.al, '0'); - context.data.byte(378) = context.al; + context.ds.byte(378) = context.al; context._add(context.bx, 1); goto lookattail; isdma: - context.al = context.data.byte(context.bx+1); + context.al = context.ds.byte(context.bx+1); context._sub(context.al, '0'); - context.data.byte(379) = context.al; + context.ds.byte(379) = context.al; context._add(context.bx, 1); goto lookattail; isbaseadd: context.push(context.cx); - context.al = context.data.byte(context.bx+2); + context.al = context.ds.byte(context.bx+2); context._sub(context.al, '0'); context.ah = 0; context.cl = 4; context._shl(context.ax, context.cl); context._add(context.ax, 0x200); - context.data.word(372) = context.ax; + context.ds.word(372) = context.ax; context.cx = context.pop(); context._add(context.bx, 1); goto lookattail; isbright: - context.data.byte(73) = 1; + context.ds.byte(73) = 1; context._add(context.bx, 1); goto lookattail; isnosound: - context.data.byte(378) = 255; + context.ds.byte(378) = 255; context._add(context.bx, 1); goto lookattail; endtail: @@ -17570,10 +17570,10 @@ endtail: } static void startup(Context & context) { - context.data.byte(142) = 0; - context.data.byte(105) = 0; + context.ds.byte(142) = 0; + context.ds.byte(105) = 0; createpanel(context); - context.data.byte(62) = 1; + context.ds.byte(62) = 1; drawfloor(context); showicon(context); getunderzoom(context); @@ -17587,11 +17587,11 @@ static void startup(Context & context) { static void startup1(Context & context) { clearpalette(context); - context.data.byte(61) = 0; - context.data.byte(142) = '0'; - context.data.byte(105) = 0; + context.ds.byte(61) = 0; + context.ds.byte(142) = '0'; + context.ds.byte(105) = 0; createpanel(context); - context.data.byte(62) = 1; + context.ds.byte(62) = 1; drawfloor(context); showicon(context); getunderzoom(context); @@ -17610,9 +17610,9 @@ static void screenupdate(Context & context) { mainscreen(context); animpointer(context); showpointer(context); - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto iswatchingmode; - context._cmp(context.data.byte(188), 255); + context._cmp(context.ds.byte(188), 255); if (!context.flags.z()) goto finishearly; iswatchingmode: vsync(context); @@ -17625,7 +17625,7 @@ iswatchingmode: watchcount(context); zoom(context); showpointer(context); - context._cmp(context.data.byte(391), 0); + context._cmp(context.ds.byte(391), 0); if (!context.flags.z()) goto finishearly; vsync(context); readmouse2(context); @@ -17654,74 +17654,74 @@ finishearly: } static void watchreel(Context & context) { - context._cmp(context.data.word(23), -1); + context._cmp(context.ds.word(23), -1); if (context.flags.z()) goto notplayingreel; - context.al = context.data.byte(475); - context._cmp(context.al, context.data.byte(477)); + context.al = context.ds.byte(475); + context._cmp(context.al, context.ds.byte(477)); if (!context.flags.z()) goto waitstopwalk; - context.al = context.data.byte(135); - context._cmp(context.al, context.data.byte(133)); + context.al = context.ds.byte(135); + context._cmp(context.al, context.ds.byte(133)); if (context.flags.z()) goto notwatchpath; waitstopwalk: return; notwatchpath: - context._sub(context.data.byte(26), 1); - context._cmp(context.data.byte(26), -1); + context._sub(context.ds.byte(26), 1); + context._cmp(context.ds.byte(26), -1); if (!context.flags.z()) goto showwatchreel; - context.al = context.data.byte(27); - context.data.byte(26) = context.al; - context.ax = context.data.word(23); - context._cmp(context.ax, context.data.word(25)); + context.al = context.ds.byte(27); + context.ds.byte(26) = context.al; + context.ax = context.ds.word(23); + context._cmp(context.ax, context.ds.word(25)); if (!context.flags.z()) goto ismorereel; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto showwatchreel; - context.data.word(23) = -1; - context.data.byte(32) = -1; - context._cmp(context.data.word(29), -1); + context.ds.word(23) = -1; + context.ds.byte(32) = -1; + context._cmp(context.ds.word(29), -1); if (context.flags.z()) goto nomorereel; - context.data.byte(32) = 1; + context.ds.byte(32) = 1; goto notplayingreel; ismorereel: - context._add(context.data.word(23), 1); + context._add(context.ds.word(23), 1); showwatchreel: - context.ax = context.data.word(23); - context.data.word(239) = context.ax; + context.ax = context.ds.word(23); + context.ds.word(239) = context.ax; plotreel(context); - context.ax = context.data.word(239); - context.data.word(23) = context.ax; + context.ax = context.ds.word(239); + context.ds.word(23) = context.ax; checkforshake(context); nomorereel: return; notplayingreel: - context._cmp(context.data.byte(32), 1); + context._cmp(context.ds.byte(32), 1); if (!context.flags.z()) goto notholdingreel; - context.ax = context.data.word(29); - context.data.word(239) = context.ax; + context.ax = context.ds.word(29); + context.ds.word(239) = context.ax; plotreel(context); return; notholdingreel: - context._cmp(context.data.byte(32), 2); + context._cmp(context.ds.byte(32), 2); if (!context.flags.z()) goto notreleasehold; - context._sub(context.data.byte(26), 1); - context._cmp(context.data.byte(26), -1); + context._sub(context.ds.byte(26), 1); + context._cmp(context.ds.byte(26), -1); if (!context.flags.z()) goto notlastspeed2; - context.al = context.data.byte(27); - context.data.byte(26) = context.al; - context._add(context.data.word(29), 1); + context.al = context.ds.byte(27); + context.ds.byte(26) = context.al; + context._add(context.ds.word(29), 1); notlastspeed2: - context.ax = context.data.word(29); - context._cmp(context.ax, context.data.word(31)); + context.ax = context.ds.word(29); + context._cmp(context.ax, context.ds.word(31)); if (!context.flags.z()) goto ismorereel2; - context.data.word(29) = -1; - context.data.byte(32) = -1; - context.al = context.data.byte(33); - context.data.byte(478) = context.al; - context.data.byte(477) = context.al; + context.ds.word(29) = -1; + context.ds.byte(32) = -1; + context.al = context.ds.byte(33); + context.ds.byte(478) = context.al; + context.ds.byte(477) = context.al; autosetwalk(context); return; ismorereel2: - context.ax = context.data.word(29); - context.data.word(239) = context.ax; + context.ax = context.ds.word(29); + context.ds.word(239) = context.ax; plotreel(context); return; notreleasehold: @@ -17729,22 +17729,22 @@ notreleasehold: } static void checkforshake(Context & context) { - context._cmp(context.data.byte(184), 26); + context._cmp(context.ds.byte(184), 26); if (!context.flags.z()) goto notstartshake; context._cmp(context.ax, 104); if (!context.flags.z()) goto notstartshake; - context.data.byte(68) = -1; + context.ds.byte(68) = -1; notstartshake: return; } static void watchcount(Context & context) { - context._cmp(context.data.byte(3), 0); + context._cmp(context.ds.byte(3), 0); if (context.flags.z()) goto nowatchworn; - context._add(context.data.byte(146), 1); - context._cmp(context.data.byte(146), 9); + context._add(context.ds.byte(146), 1); + context._cmp(context.ds.byte(146), 9); if (context.flags.z()) goto flashdots; - context._cmp(context.data.byte(146), 18); + context._cmp(context.ds.byte(146), 18); if (context.flags.z()) goto uptime; nowatchworn: return; @@ -17752,89 +17752,89 @@ flashdots: context.ax = 91*3+21; context.di = 268+4; context.bx = 21; - context.ds = context.data.word(404); + context.ds = context.ds.word(404); showframe(context); goto finishwatch; uptime: - context.data.byte(146) = 0; - context._add(context.data.byte(5), 1); - context._cmp(context.data.byte(5), 60); + context.ds.byte(146) = 0; + context._add(context.ds.byte(5), 1); + context._cmp(context.ds.byte(5), 60); if (!context.flags.z()) goto finishtime; - context.data.byte(5) = 0; - context._add(context.data.byte(6), 1); - context._cmp(context.data.byte(6), 60); + context.ds.byte(5) = 0; + context._add(context.ds.byte(6), 1); + context._cmp(context.ds.byte(6), 60); if (!context.flags.z()) goto finishtime; - context.data.byte(6) = 0; - context._add(context.data.byte(7), 1); - context._cmp(context.data.byte(7), 24); + context.ds.byte(6) = 0; + context._add(context.ds.byte(7), 1); + context._cmp(context.ds.byte(7), 24); if (!context.flags.z()) goto finishtime; - context.data.byte(7) = 0; + context.ds.byte(7) = 0; finishtime: showtime(context); finishwatch: - context.data.byte(266) = 1; + context.ds.byte(266) = 1; return; } static void showtime(Context & context) { - context._cmp(context.data.byte(3), 0); + context._cmp(context.ds.byte(3), 0); if (context.flags.z()) goto nowatch; - context.al = context.data.byte(5); + context.al = context.ds.byte(5); context.cl = 0; twodigitnum(context); context.push(context.ax); context.al = context.ah; context.ah = 0; context._add(context.ax, 91*3+10); - context.ds = context.data.word(404); + context.ds = context.ds.word(404); context.di = 282+5; context.bx = 21; showframe(context); context.ax = context.pop(); context.ah = 0; context._add(context.ax, 91*3+10); - context.ds = context.data.word(404); + context.ds = context.ds.word(404); context.di = 282+9; context.bx = 21; showframe(context); - context.al = context.data.byte(6); + context.al = context.ds.byte(6); context.cl = 0; twodigitnum(context); context.push(context.ax); context.al = context.ah; context.ah = 0; context._add(context.ax, 91*3); - context.ds = context.data.word(404); + context.ds = context.ds.word(404); context.di = 270+5; context.bx = 21; showframe(context); context.ax = context.pop(); context.ah = 0; context._add(context.ax, 91*3); - context.ds = context.data.word(404); + context.ds = context.ds.word(404); context.di = 270+11; context.bx = 21; showframe(context); - context.al = context.data.byte(7); + context.al = context.ds.byte(7); context.cl = 0; twodigitnum(context); context.push(context.ax); context.al = context.ah; context.ah = 0; context._add(context.ax, 91*3); - context.ds = context.data.word(404); + context.ds = context.ds.word(404); context.di = 256+5; context.bx = 21; showframe(context); context.ax = context.pop(); context.ah = 0; context._add(context.ax, 91*3); - context.ds = context.data.word(404); + context.ds = context.ds.word(404); context.di = 256+11; context.bx = 21; showframe(context); context.ax = 91*3+20; - context.ds = context.data.word(404); + context.ds = context.ds.word(404); context.di = 267+5; context.bx = 21; showframe(context); @@ -17843,14 +17843,14 @@ nowatch: } static void dumpwatch(Context & context) { - context._cmp(context.data.byte(266), 1); + context._cmp(context.ds.byte(266), 1); if (!context.flags.z()) goto nodumpwatch; context.di = 256; context.bx = 21; context.cl = 40; context.ch = 12; multidump(context); - context.data.byte(266) = 0; + context.ds.byte(266) = 0; nodumpwatch: return; } @@ -17862,11 +17862,11 @@ static void showbyte(Context & context) { context._shr(context.dl, 1); context._shr(context.dl, 1); onedigit(context); - context.data.byte(context.di) = context.dl; + context.ds.byte(context.di) = context.dl; context.dl = context.al; context._and(context.dl, 15); onedigit(context); - context.data.byte(context.di+1) = context.dl; + context.ds.byte(context.di+1) = context.dl; context._add(context.di, 3); return; } @@ -17904,7 +17904,7 @@ word1: if (!context.flags.c()) goto word1; context._add(context.ax, context.bx); convnum(context); - context.data.byte(context.di) = context.cl; + context.ds.byte(context.di) = context.cl; context.bx = 1000; context.cl = 47; word2: @@ -17913,7 +17913,7 @@ word2: if (!context.flags.c()) goto word2; context._add(context.ax, context.bx); convnum(context); - context.data.byte(context.di+1) = context.cl; + context.ds.byte(context.di+1) = context.cl; context.bx = 100; context.cl = 47; word3: @@ -17922,7 +17922,7 @@ word3: if (!context.flags.c()) goto word3; context._add(context.ax, context.bx); convnum(context); - context.data.byte(context.di+2) = context.cl; + context.ds.byte(context.di+2) = context.cl; context.bx = 10; context.cl = 47; word4: @@ -17931,11 +17931,11 @@ word4: if (!context.flags.c()) goto word4; context._add(context.ax, context.bx); convnum(context); - context.data.byte(context.di+3) = context.cl; + context.ds.byte(context.di+3) = context.cl; context._add(context.al, 48); context.cl = context.al; convnum(context); - context.data.byte(context.di+4) = context.cl; + context.ds.byte(context.di+4) = context.cl; return; } @@ -17955,57 +17955,57 @@ noconvnum: static void walkandexamine(Context & context) { finishedwalking(context); if (!context.flags.z()) goto noobselect; - context.al = context.data.byte(307); - context.data.byte(100) = context.al; - context.al = context.data.byte(308); - context.data.byte(99) = context.al; - context.data.byte(306) = 0; - context._cmp(context.data.byte(100), 5); + context.al = context.ds.byte(307); + context.ds.byte(100) = context.al; + context.al = context.ds.byte(308); + context.ds.byte(99) = context.al; + context.ds.byte(306) = 0; + context._cmp(context.ds.byte(100), 5); if (context.flags.z()) goto noobselect; examineob(context); return; wantstowalk: setwalk(context); - context.data.byte(473) = 1; + context.ds.byte(473) = 1; noobselect: return; diff: - context.data.byte(99) = context.al; - context.data.byte(100) = context.ah; + context.ds.byte(99) = context.al; + context.ds.byte(100) = context.ah; diff2: - context._cmp(context.data.byte(492), 254); + context._cmp(context.ds.byte(492), 254); if (!context.flags.z()) goto middleofwalk; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto middleofwalk; - context.al = context.data.byte(133); - context._cmp(context.al, context.data.byte(135)); + context.al = context.ds.byte(133); + context._cmp(context.al, context.ds.byte(135)); if (!context.flags.z()) goto middleofwalk; - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (!context.flags.z()) goto notblock; - context.bl = context.data.byte(475); - context._cmp(context.bl, context.data.byte(474)); + context.bl = context.ds.byte(475); + context._cmp(context.bl, context.ds.byte(474)); if (!context.flags.z()) goto dontcheck; - context.cl = context.data.byte(151); + context.cl = context.ds.byte(151); context._add(context.cl, 12); - context.ch = context.data.byte(152); + context.ch = context.ds.byte(152); context._add(context.ch, 12); checkone(context); context._cmp(context.cl, 2); if (context.flags.c()) goto isblock; dontcheck: getflagunderp(context); - context._cmp(context.data.byte(153), 2); + context._cmp(context.ds.byte(153), 2); if (context.flags.c()) goto isblock; - context._cmp(context.data.byte(153), 128); + context._cmp(context.ds.byte(153), 128); if (!context.flags.c()) goto isblock; goto toofaraway; notblock: - context.bl = context.data.byte(475); - context._cmp(context.bl, context.data.byte(474)); + context.bl = context.ds.byte(475); + context._cmp(context.bl, context.ds.byte(474)); if (!context.flags.z()) goto toofaraway; - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (context.flags.z()) goto isblock; - context._cmp(context.data.byte(100), 5); + context._cmp(context.ds.byte(100), 5); if (context.flags.z()) goto isaperson; examineobtext(context); return; @@ -18024,14 +18024,14 @@ toofaraway: } static void mainscreen(Context & context) { - context.data.byte(237) = 0; + context.ds.byte(237) = 0; context.bx = 4949; - context._cmp(context.data.byte(3), 1); + context._cmp(context.ds.byte(3), 1); if (context.flags.z()) goto checkmain; context.bx = 5011; checkmain: checkcoords(context); - context._cmp(context.data.byte(306), 0); + context._cmp(context.ds.byte(306), 0); if (context.flags.z()) goto finishmain; walkandexamine(context); finishmain: @@ -18039,48 +18039,48 @@ finishmain: } static void madmanrun(Context & context) { - context._cmp(context.data.byte(9), 14); + context._cmp(context.ds.byte(9), 14); if (!context.flags.z()) { identifyob(context); return; }; - context._cmp(context.data.byte(148), 22); + context._cmp(context.ds.byte(148), 22); if (!context.flags.z()) { identifyob(context); return; }; - context._cmp(context.data.byte(234), 2); + context._cmp(context.ds.byte(234), 2); if (!context.flags.z()) { identifyob(context); return; }; - context._cmp(context.data.byte(53), 0); + context._cmp(context.ds.byte(53), 0); if (!context.flags.z()) { identifyob(context); return; }; - context._cmp(context.data.byte(100), 211); + context._cmp(context.ds.byte(100), 211); if (context.flags.z()) goto alreadyrun; - context.data.byte(100) = 211; + context.ds.byte(100) = 211; context.al = 52; commandonly(context); alreadyrun: - context._cmp(context.data.word(202), 1); + context._cmp(context.ds.word(202), 1); if (!context.flags.z()) goto norun; - context.ax = context.data.word(202); - context._cmp(context.ax, context.data.word(212)); + context.ax = context.ds.word(202); + context._cmp(context.ax, context.ds.word(212)); if (context.flags.z()) goto norun; - context.data.byte(65) = 8; + context.ds.byte(65) = 8; norun: return; } static void checkcoords(Context & context) { loop048: - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto nonefound; context.push(context.bx); - context._cmp(context.data.word(198), context.ax); + context._cmp(context.ds.word(198), context.ax); if (context.flags.l()) goto over045; - context.ax = context.data.word(context.bx+2); - context._cmp(context.data.word(198), context.ax); + context.ax = context.ds.word(context.bx+2); + context._cmp(context.ds.word(198), context.ax); if (!context.flags.ge()) goto over045; - context.ax = context.data.word(context.bx+4); - context._cmp(context.data.word(200), context.ax); + context.ax = context.ds.word(context.bx+4); + context._cmp(context.ds.word(200), context.ax); if (context.flags.l()) goto over045; - context.ax = context.data.word(context.bx+6); - context._cmp(context.data.word(200), context.ax); + context.ax = context.ds.word(context.bx+6); + context._cmp(context.ds.word(200), context.ax); if (!context.flags.ge()) goto over045; - context.ax = context.data.word(context.bx+8); + context.ax = context.ds.word(context.bx+8); __dispatch_call(context, context.ax); finished: context.ax = context.pop(); @@ -18094,31 +18094,31 @@ nonefound: } static void identifyob(Context & context) { - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) { blank(context); return; }; - context.ax = context.data.word(198); - context._sub(context.ax, context.data.word(117)); + context.ax = context.ds.word(198); + context._sub(context.ax, context.ds.word(117)); context._cmp(context.ax, 22*8); if (context.flags.c()) goto notover1; blank(context); return; notover1: - context.bx = context.data.word(200); - context._sub(context.bx, context.data.word(119)); + context.bx = context.ds.word(200); + context._sub(context.bx, context.ds.word(119)); context._cmp(context.bx, 20*8); if (context.flags.c()) goto notover2; blank(context); return; notover2: - context.data.byte(237) = 1; + context.ds.byte(237) = 1; context.ah = context.bl; context.push(context.ax); findpathofpoint(context); - context.data.byte(474) = context.dl; + context.ds.byte(474) = context.dl; context.ax = context.pop(); context.push(context.ax); findfirstpath(context); - context.data.byte(476) = context.al; + context.ds.byte(476) = context.al; context.ax = context.pop(); checkifex(context); if (!context.flags.z()) goto finishidentify; @@ -18128,16 +18128,16 @@ notover2: if (!context.flags.z()) goto finishidentify; checkifset(context); if (!context.flags.z()) goto finishidentify; - context.ax = context.data.word(198); - context._sub(context.ax, context.data.word(117)); + context.ax = context.ds.word(198); + context._sub(context.ax, context.ds.word(117)); context.cl = context.al; - context.ax = context.data.word(200); - context._sub(context.ax, context.data.word(119)); + context.ax = context.ds.word(200); + context._sub(context.ax, context.ds.word(119)); context.ch = context.al; checkone(context); context._cmp(context.al, 0); if (context.flags.z()) goto nothingund; - context._cmp(context.data.byte(56), 1); + context._cmp(context.ds.byte(56), 1); if (context.flags.z()) goto nothingund; context.ah = 3; obname(context); @@ -18149,33 +18149,33 @@ nothingund: } static void checkifperson(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5); context.cx = 12; identifyreel: context.push(context.cx); - context._cmp(context.data.byte(context.bx+4), 255); + context._cmp(context.ds.byte(context.bx+4), 255); if (context.flags.z()) goto notareelid; context.push(context.es); context.push(context.bx); context.push(context.ax); - context.ax = context.data.word(context.bx+0); - context.data.word(239) = context.ax; + context.ax = context.ds.word(context.bx+0); + context.ds.word(239) = context.ax; getreelstart(context); - context._cmp(context.data.word(context.si+2), 0x0ffff); + context._cmp(context.ds.word(context.si+2), 0x0ffff); if (!context.flags.z()) goto notblankpers; context._add(context.si, 5); notblankpers: - context.cx = context.data.word(context.si+2); - context.ax = context.data.word(context.si+0); + context.cx = context.ds.word(context.si+2); + context.ax = context.ds.word(context.si+0); context.push(context.cx); getreelframeax(context); context.cx = context.pop(); - context._add(context.cl, context.data.byte(context.bx+4)); - context._add(context.ch, context.data.byte(context.bx+5)); + context._add(context.cl, context.ds.byte(context.bx+4)); + context._add(context.ch, context.ds.byte(context.bx+5)); context.dx = context.cx; - context._add(context.dl, context.data.byte(context.bx+0)); - context._add(context.dh, context.data.byte(context.bx+1)); + context._add(context.dl, context.ds.byte(context.bx+0)); + context._add(context.dh, context.ds.byte(context.bx+1)); context.ax = context.pop(); context.bx = context.pop(); context.es = context.pop(); @@ -18188,9 +18188,9 @@ notblankpers: context._cmp(context.ah, context.dh); if (!context.flags.c()) goto notareelid; context.cx = context.pop(); - context.ax = context.data.word(context.bx+2); - context.data.word(249) = context.ax; - context.al = context.data.byte(context.bx+4); + context.ax = context.ds.word(context.bx+2); + context.ds.word(249) = context.ax; + context.al = context.ds.byte(context.bx+4); context.ah = 5; obname(context); context.al = 0; @@ -18205,25 +18205,25 @@ notareelid: } static void checkifset(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(127*5); context.cx = 127; identifyset: - context._cmp(context.data.byte(context.bx+4), 255); + context._cmp(context.ds.byte(context.bx+4), 255); if (context.flags.z()) goto notasetid; - context._cmp(context.al, context.data.byte(context.bx)); + context._cmp(context.al, context.ds.byte(context.bx)); if (context.flags.c()) goto notasetid; - context._cmp(context.al, context.data.byte(context.bx+2)); + context._cmp(context.al, context.ds.byte(context.bx+2)); if (!context.flags.c()) goto notasetid; - context._cmp(context.ah, context.data.byte(context.bx+1)); + context._cmp(context.ah, context.ds.byte(context.bx+1)); if (context.flags.c()) goto notasetid; - context._cmp(context.ah, context.data.byte(context.bx+3)); + context._cmp(context.ah, context.ds.byte(context.bx+3)); if (!context.flags.c()) goto notasetid; pixelcheckset(context); if (context.flags.z()) goto notasetid; isitdescribed(context); if (context.flags.z()) goto notasetid; - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); context.ah = 1; obname(context); context.al = 0; @@ -18238,21 +18238,21 @@ notasetid: } static void checkifex(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(99*5); context.cx = 99; identifyex: - context._cmp(context.data.byte(context.bx+4), 255); + context._cmp(context.ds.byte(context.bx+4), 255); if (context.flags.z()) goto notanexid; - context._cmp(context.al, context.data.byte(context.bx)); + context._cmp(context.al, context.ds.byte(context.bx)); if (context.flags.c()) goto notanexid; - context._cmp(context.al, context.data.byte(context.bx+2)); + context._cmp(context.al, context.ds.byte(context.bx+2)); if (!context.flags.c()) goto notanexid; - context._cmp(context.ah, context.data.byte(context.bx+1)); + context._cmp(context.ah, context.ds.byte(context.bx+1)); if (context.flags.c()) goto notanexid; - context._cmp(context.ah, context.data.byte(context.bx+3)); + context._cmp(context.ah, context.ds.byte(context.bx+3)); if (!context.flags.c()) goto notanexid; - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); context.ah = 4; obname(context); context.al = 1; @@ -18267,21 +18267,21 @@ notanexid: } static void checkiffree(Context & context) { - context.es = context.data.word(412); + context.es = context.ds.word(412); context.bx = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(79*5); context.cx = 79; identifyfree: - context._cmp(context.data.byte(context.bx+4), 255); + context._cmp(context.ds.byte(context.bx+4), 255); if (context.flags.z()) goto notafreeid; - context._cmp(context.al, context.data.byte(context.bx)); + context._cmp(context.al, context.ds.byte(context.bx)); if (context.flags.c()) goto notafreeid; - context._cmp(context.al, context.data.byte(context.bx+2)); + context._cmp(context.al, context.ds.byte(context.bx+2)); if (!context.flags.c()) goto notafreeid; - context._cmp(context.ah, context.data.byte(context.bx+1)); + context._cmp(context.ah, context.ds.byte(context.bx+1)); if (context.flags.c()) goto notafreeid; - context._cmp(context.ah, context.data.byte(context.bx+3)); + context._cmp(context.ah, context.ds.byte(context.bx+3)); if (!context.flags.c()) goto notafreeid; - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); context.ah = 2; obname(context); context.al = 0; @@ -18300,16 +18300,16 @@ static void isitdescribed(Context & context) { context.push(context.cx); context.push(context.es); context.push(context.bx); - context.al = context.data.byte(context.bx+4); + context.al = context.ds.byte(context.bx+4); context.ah = 0; context._add(context.ax, context.ax); context.bx = context.ax; - context.es = context.data.word(440); + context.es = context.ds.word(440); context._add(context.bx, 0); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, 0+(130*2)); context.bx = context.ax; - context.dl = context.data.byte(context.bx); + context.dl = context.ds.byte(context.bx); context.bx = context.pop(); context.es = context.pop(); context.cx = context.pop(); @@ -18321,8 +18321,8 @@ static void isitdescribed(Context & context) { static void findpathofpoint(Context & context) { context.push(context.ax); context.bx = 0; - context.es = context.data.word(450); - context.al = context.data.byte(185); + context.es = context.ds.word(450); + context.al = context.ds.byte(185); context.ah = 0; context.cx = 144; context._mul(context.cx); @@ -18330,17 +18330,17 @@ static void findpathofpoint(Context & context) { context.cx = context.pop(); context.dl = 0; pathloop: - context.al = context.data.byte(context.bx+6); + context.al = context.ds.byte(context.bx+6); context._cmp(context.al, 255); if (!context.flags.z()) goto flunkedit; - context.ax = context.data.word(context.bx+2); + context.ax = context.ds.word(context.bx+2); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto flunkedit; context._cmp(context.cl, context.al); if (context.flags.c()) goto flunkedit; context._cmp(context.ch, context.ah); if (context.flags.c()) goto flunkedit; - context.ax = context.data.word(context.bx+4); + context.ax = context.ds.word(context.bx+4); context._cmp(context.cl, context.al); if (!context.flags.c()) goto flunkedit; context._cmp(context.ch, context.ah); @@ -18359,8 +18359,8 @@ gotvalidpath: static void findfirstpath(Context & context) { context.push(context.ax); context.bx = 0; - context.es = context.data.word(450); - context.al = context.data.byte(185); + context.es = context.ds.word(450); + context.al = context.ds.byte(185); context.ah = 0; context.cx = 144; context._mul(context.cx); @@ -18368,14 +18368,14 @@ static void findfirstpath(Context & context) { context.cx = context.pop(); context.dl = 0; fpathloop: - context.ax = context.data.word(context.bx+2); + context.ax = context.ds.word(context.bx+2); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto nofirst; context._cmp(context.cl, context.al); if (context.flags.c()) goto nofirst; context._cmp(context.ch, context.ah); if (context.flags.c()) goto nofirst; - context.ax = context.data.word(context.bx+4); + context.ax = context.ds.word(context.bx+4); context._cmp(context.cl, context.al); if (!context.flags.c()) goto nofirst; context._cmp(context.ch, context.ah); @@ -18389,7 +18389,7 @@ nofirst: context.al = 0; return; gotfirst: - context.al = context.data.byte(context.bx+6); + context.al = context.ds.byte(context.bx+6); return; } @@ -18397,7 +18397,7 @@ static void turnpathon(Context & context) { context.push(context.ax); context.push(context.ax); context.cl = 255; - context.ch = context.data.byte(185); + context.ch = context.ds.byte(185); context._add(context.ch, 100); findormake(context); context.ax = context.pop(); @@ -18411,7 +18411,7 @@ static void turnpathon(Context & context) { context._add(context.ax, context.ax); context._add(context.bx, context.ax); context.al = 255; - context.data.byte(context.bx+6) = context.al; + context.ds.byte(context.bx+6) = context.al; nopathon: return; } @@ -18420,7 +18420,7 @@ static void turnpathoff(Context & context) { context.push(context.ax); context.push(context.ax); context.cl = 0; - context.ch = context.data.byte(185); + context.ch = context.ds.byte(185); context._add(context.ch, 100); findormake(context); context.ax = context.pop(); @@ -18434,7 +18434,7 @@ static void turnpathoff(Context & context) { context._add(context.ax, context.ax); context._add(context.bx, context.ax); context.al = 0; - context.data.byte(context.bx+6) = context.al; + context.ds.byte(context.bx+6) = context.al; nopathoff: return; } @@ -18451,7 +18451,7 @@ static void turnanypathon(Context & context) { context.ah = 0; context.cx = 144; context._mul(context.cx); - context.es = context.data.word(450); + context.es = context.ds.word(450); context.bx = 0; context._add(context.bx, context.ax); context.ax = context.pop(); @@ -18461,7 +18461,7 @@ static void turnanypathon(Context & context) { context._add(context.ax, context.ax); context._add(context.bx, context.ax); context.al = 255; - context.data.byte(context.bx+6) = context.al; + context.ds.byte(context.bx+6) = context.al; return; } @@ -18477,7 +18477,7 @@ static void turnanypathoff(Context & context) { context.ah = 0; context.cx = 144; context._mul(context.cx); - context.es = context.data.word(450); + context.es = context.ds.word(450); context.bx = 0; context._add(context.bx, context.ax); context.ax = context.pop(); @@ -18487,7 +18487,7 @@ static void turnanypathoff(Context & context) { context._add(context.ax, context.ax); context._add(context.bx, context.ax); context.al = 0; - context.data.byte(context.bx+6) = context.al; + context.ds.byte(context.bx+6) = context.al; return; } @@ -18500,33 +18500,33 @@ static void checkifpathison(Context & context) { context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx+6); + context.al = context.ds.byte(context.bx+6); context._cmp(context.al, 255); return; } static void afternewroom(Context & context) { - context._cmp(context.data.byte(186), 0); + context._cmp(context.ds.byte(186), 0); if (context.flags.z()) goto notnew; - context.data.word(328) = 0; + context.ds.word(328) = 0; createpanel(context); - context.data.byte(100) = 0; + context.ds.byte(100) = 0; findroominloc(context); - context._cmp(context.data.byte(63), 1); + context._cmp(context.ds.byte(63), 1); if (context.flags.z()) goto ryansoff; - context.al = context.data.byte(151); + context.al = context.ds.byte(151); context._add(context.al, 12); - context.ah = context.data.byte(152); + context.ah = context.ds.byte(152); context._add(context.ah, 12); findpathofpoint(context); - context.data.byte(475) = context.dl; + context.ds.byte(475) = context.dl; findxyfrompath(context); - context.data.byte(187) = 1; + context.ds.byte(187) = 1; ryansoff: - context.data.byte(62) = 1; + context.ds.byte(62) = 1; drawfloor(context); - context.data.word(98) = 160; - context.data.byte(186) = 0; + context.ds.word(98) = 160; + context.ds.byte(186) = 0; showicon(context); spriteupdate(context); printsprites(context); @@ -18544,50 +18544,50 @@ notnew: } static void atmospheres(Context & context) { - context.cl = context.data.byte(148); - context.ch = context.data.byte(149); + context.cl = context.ds.byte(148); + context.ch = context.ds.byte(149); context.bx = 5073; nextatmos: - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context._cmp(context.al, 255); if (context.flags.z()) goto nomoreatmos; - context._cmp(context.al, context.data.byte(184)); + context._cmp(context.al, context.ds.byte(184)); if (!context.flags.z()) goto wrongatmos; - context.ax = context.data.word(context.bx+1); + context.ax = context.ds.word(context.bx+1); context._cmp(context.ax, context.cx); if (!context.flags.z()) goto wrongatmos; - context.ax = context.data.word(context.bx+3); - context._cmp(context.al, context.data.byte(507)); + context.ax = context.ds.word(context.bx+3); + context._cmp(context.al, context.ds.byte(507)); if (context.flags.z()) goto playingalready; - context._cmp(context.data.byte(9), 45); + context._cmp(context.ds.byte(9), 45); if (!context.flags.z()) goto notweb; - context._cmp(context.data.word(23), 45); + context._cmp(context.ds.word(23), 45); if (context.flags.z()) goto wrongatmos; notweb: playchannel0(context); - context._cmp(context.data.byte(184), 2); - context._cmp(context.data.byte(149), 0); + context._cmp(context.ds.byte(184), 2); + context._cmp(context.ds.byte(149), 0); if (context.flags.z()) goto fullvol; if (!context.flags.z()) goto notlouisvol; - context._cmp(context.data.byte(149), 10); + context._cmp(context.ds.byte(149), 10); if (!context.flags.z()) goto notlouisvol; - context._cmp(context.data.byte(148), 22); + context._cmp(context.ds.byte(148), 22); if (!context.flags.z()) goto notlouisvol; - context.data.byte(386) = 5; + context.ds.byte(386) = 5; notlouisvol: playingalready: - context._cmp(context.data.byte(184), 2); + context._cmp(context.ds.byte(184), 2); if (!context.flags.z()) goto notlouisvol2; - context._cmp(context.data.byte(148), 22); + context._cmp(context.ds.byte(148), 22); if (context.flags.z()) goto louisvol; - context._cmp(context.data.byte(148), 11); + context._cmp(context.ds.byte(148), 11); if (!context.flags.z()) goto notlouisvol2; fullvol: - context.data.byte(386) = 0; + context.ds.byte(386) = 0; notlouisvol2: return; louisvol: - context.data.byte(386) = 5; + context.ds.byte(386) = 5; return; wrongatmos: context._add(context.bx, 5); @@ -18598,126 +18598,126 @@ nomoreatmos: } static void walkintoroom(Context & context) { - context._cmp(context.data.byte(9), 14); + context._cmp(context.ds.byte(9), 14); if (!context.flags.z()) goto notlair; - context._cmp(context.data.byte(148), 22); + context._cmp(context.ds.byte(148), 22); if (!context.flags.z()) goto notlair; - context.data.byte(478) = 1; - context.data.byte(477) = 1; + context.ds.byte(478) = 1; + context.ds.byte(477) = 1; autosetwalk(context); notlair: return; } static void afterintroroom(Context & context) { - context._cmp(context.data.byte(186), 0); + context._cmp(context.ds.byte(186), 0); if (context.flags.z()) goto notnewintro; clearwork(context); findroominloc(context); - context.data.byte(62) = 1; + context.ds.byte(62) = 1; drawfloor(context); reelsonscreen(context); spriteupdate(context); printsprites(context); worktoscreen(context); - context.data.byte(186) = 0; + context.ds.byte(186) = 0; notnewintro: return; } static void obname(Context & context) { - context._cmp(context.data.byte(473), 0); + context._cmp(context.ds.byte(473), 0); if (context.flags.z()) goto notnewpath; - context.data.byte(473) = 0; + context.ds.byte(473) = 0; goto diff; notnewpath: - context._cmp(context.ah, context.data.byte(100)); + context._cmp(context.ah, context.ds.byte(100)); if (context.flags.z()) goto notdiffob; goto diff; notdiffob: - context._cmp(context.al, context.data.byte(99)); + context._cmp(context.al, context.ds.byte(99)); if (!context.flags.z()) goto diff; - context._cmp(context.data.byte(306), 1); + context._cmp(context.ds.byte(306), 1); if (context.flags.z()) goto walkandexamine; - context._cmp(context.data.word(202), 0); + context._cmp(context.ds.word(202), 0); if (context.flags.z()) goto noobselect; - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (!context.flags.z()) goto isntblock; - context._cmp(context.data.byte(153), 2); + context._cmp(context.ds.byte(153), 2); if (context.flags.c()) goto noobselect; isntblock: - context.bl = context.data.byte(475); - context._cmp(context.bl, context.data.byte(474)); + context.bl = context.ds.byte(475); + context._cmp(context.bl, context.ds.byte(474)); if (!context.flags.z()) goto wantstowalk; - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (context.flags.z()) goto wantstowalk; finishedwalking(context); if (!context.flags.z()) goto noobselect; - context._cmp(context.data.byte(100), 5); + context._cmp(context.ds.byte(100), 5); if (context.flags.z()) goto wantstotalk; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto noobselect; examineob(context); return; wantstotalk: - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto noobselect; talk(context); return; walkandexamine: finishedwalking(context); if (!context.flags.z()) goto noobselect; - context.al = context.data.byte(307); - context.data.byte(100) = context.al; - context.al = context.data.byte(308); - context.data.byte(99) = context.al; - context.data.byte(306) = 0; - context._cmp(context.data.byte(100), 5); + context.al = context.ds.byte(307); + context.ds.byte(100) = context.al; + context.al = context.ds.byte(308); + context.ds.byte(99) = context.al; + context.ds.byte(306) = 0; + context._cmp(context.ds.byte(100), 5); if (context.flags.z()) goto noobselect; examineob(context); return; wantstowalk: setwalk(context); - context.data.byte(473) = 1; + context.ds.byte(473) = 1; noobselect: return; diff: - context.data.byte(99) = context.al; - context.data.byte(100) = context.ah; + context.ds.byte(99) = context.al; + context.ds.byte(100) = context.ah; diff2: - context._cmp(context.data.byte(492), 254); + context._cmp(context.ds.byte(492), 254); if (!context.flags.z()) goto middleofwalk; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (!context.flags.z()) goto middleofwalk; - context.al = context.data.byte(133); - context._cmp(context.al, context.data.byte(135)); + context.al = context.ds.byte(133); + context._cmp(context.al, context.ds.byte(135)); if (!context.flags.z()) goto middleofwalk; - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (!context.flags.z()) goto notblock; - context.bl = context.data.byte(475); - context._cmp(context.bl, context.data.byte(474)); + context.bl = context.ds.byte(475); + context._cmp(context.bl, context.ds.byte(474)); if (!context.flags.z()) goto dontcheck; - context.cl = context.data.byte(151); + context.cl = context.ds.byte(151); context._add(context.cl, 12); - context.ch = context.data.byte(152); + context.ch = context.ds.byte(152); context._add(context.ch, 12); checkone(context); context._cmp(context.cl, 2); if (context.flags.c()) goto isblock; dontcheck: getflagunderp(context); - context._cmp(context.data.byte(153), 2); + context._cmp(context.ds.byte(153), 2); if (context.flags.c()) goto isblock; - context._cmp(context.data.byte(153), 128); + context._cmp(context.ds.byte(153), 128); if (!context.flags.c()) goto isblock; goto toofaraway; notblock: - context.bl = context.data.byte(475); - context._cmp(context.bl, context.data.byte(474)); + context.bl = context.ds.byte(475); + context._cmp(context.bl, context.ds.byte(474)); if (!context.flags.z()) goto toofaraway; - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (context.flags.z()) goto isblock; - context._cmp(context.data.byte(100), 5); + context._cmp(context.ds.byte(100), 5); if (context.flags.z()) goto isaperson; examineobtext(context); return; @@ -18736,17 +18736,17 @@ toofaraway: } static void finishedwalking(Context & context) { - context._cmp(context.data.byte(492), 254); + context._cmp(context.ds.byte(492), 254); if (!context.flags.z()) goto iswalking; - context.al = context.data.byte(133); - context._cmp(context.al, context.data.byte(135)); + context.al = context.ds.byte(133); + context._cmp(context.al, context.ds.byte(135)); iswalking: return; } static void examineobtext(Context & context) { - context.bl = context.data.byte(99); - context.bh = context.data.byte(100); + context.bl = context.ds.byte(99); + context.bh = context.ds.byte(100); context.al = 1; commandwithob(context); return; @@ -18775,13 +18775,13 @@ static void commandwithob(Context & context) { context.ah = 0; context._add(context.ax, context.ax); context.bx = context.ax; - context.es = context.data.word(452); - context.ax = context.data.word(context.bx); + context.es = context.ds.word(452); + context.ax = context.ds.word(context.bx); context._add(context.ax, 66*2); context.si = context.ax; - context.di = context.data.word(79); - context.bx = context.data.word(81); - context.dl = context.data.byte(82); + context.di = context.ds.word(79); + context.bx = context.ds.word(81); + context.dl = context.ds.byte(82); context.al = 0; context.ah = 0; printdirect(context); @@ -18789,19 +18789,19 @@ static void commandwithob(Context & context) { context.di = 5674; copyname(context); context.ax = context.pop(); - context.di = context.data.word(84); + context.di = context.ds.word(84); context._cmp(context.al, 0); if (context.flags.z()) goto noadd; context._add(context.di, 5); noadd: - context.bx = context.data.word(81); + context.bx = context.ds.word(81); context.es = context.cs; context.si = 5674; - context.dl = context.data.byte(82); + context.dl = context.ds.byte(82); context.al = 0; context.ah = 0; printdirect(context); - context.data.byte(109) = 1; + context.ds.byte(109) = 1; return; } @@ -18826,17 +18826,17 @@ static void commandonly(Context & context) { context.ah = 0; context._add(context.ax, context.ax); context.bx = context.ax; - context.es = context.data.word(452); - context.ax = context.data.word(context.bx); + context.es = context.ds.word(452); + context.ax = context.ds.word(context.bx); context._add(context.ax, 66*2); context.si = context.ax; - context.di = context.data.word(79); - context.bx = context.data.word(81); - context.dl = context.data.byte(82); + context.di = context.ds.word(79); + context.bx = context.ds.word(81); + context.dl = context.ds.byte(82); context.al = 0; context.ah = 0; printdirect(context); - context.data.byte(109) = 1; + context.ds.byte(109) = 1; return; } @@ -18847,8 +18847,8 @@ static void printmessage(Context & context) { context.ah = 0; context._add(context.ax, context.ax); context.bx = context.ax; - context.es = context.data.word(452); - context.ax = context.data.word(context.bx); + context.es = context.ds.word(452); + context.ax = context.ds.word(context.bx); context._add(context.ax, 66*2); context.si = context.ax; context.di = context.pop(); @@ -18868,8 +18868,8 @@ static void printmessage2(Context & context) { context.ah = 0; context._add(context.ax, context.ax); context.bx = context.ax; - context.es = context.data.word(452); - context.ax = context.data.word(context.bx); + context.es = context.ds.word(452); + context.ax = context.ds.word(context.bx); context._add(context.ax, 66*2); context.si = context.ax; context.ax = context.pop(); @@ -18889,63 +18889,63 @@ searchmess: } static void blocknametext(Context & context) { - context.bl = context.data.byte(99); - context.bh = context.data.byte(100); + context.bl = context.ds.byte(99); + context.bh = context.ds.byte(100); context.al = 0; commandwithob(context); return; } static void personnametext(Context & context) { - context.bl = context.data.byte(99); + context.bl = context.ds.byte(99); context._and(context.bl, 127); - context.bh = context.data.byte(100); + context.bh = context.ds.byte(100); context.al = 2; commandwithob(context); return; } static void walktotext(Context & context) { - context.bl = context.data.byte(99); - context.bh = context.data.byte(100); + context.bl = context.ds.byte(99); + context.bh = context.ds.byte(100); context.al = 3; commandwithob(context); return; } static void getflagunderp(Context & context) { - context.cx = context.data.word(198); - context._sub(context.cx, context.data.word(117)); - context.ax = context.data.word(200); - context._sub(context.ax, context.data.word(119)); + context.cx = context.ds.word(198); + context._sub(context.cx, context.ds.word(117)); + context.ax = context.ds.word(200); + context._sub(context.ax, context.ds.word(119)); context.ch = context.al; checkone(context); - context.data.byte(153) = context.cl; - context.data.byte(154) = context.ch; + context.ds.byte(153) = context.cl; + context.ds.byte(154) = context.ch; return; } static void setwalk(Context & context) { - context._cmp(context.data.byte(492), 254); + context._cmp(context.ds.byte(492), 254); if (!context.flags.z()) goto alreadywalking; - context.al = context.data.byte(474); - context._cmp(context.al, context.data.byte(475)); + context.al = context.ds.byte(474); + context._cmp(context.al, context.ds.byte(475)); if (context.flags.z()) goto cantwalk2; - context._cmp(context.data.byte(32), 1); + context._cmp(context.ds.byte(32), 1); if (context.flags.z()) goto holdingreel; - context._cmp(context.data.byte(32), 2); + context._cmp(context.ds.byte(32), 2); if (context.flags.z()) goto cantwalk; - context.data.byte(478) = context.al; - context.data.byte(477) = context.al; - context._cmp(context.data.word(202), 2); + context.ds.byte(478) = context.al; + context.ds.byte(477) = context.al; + context._cmp(context.ds.word(202), 2); if (!context.flags.z()) goto notwalkandexam; - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (context.flags.z()) goto notwalkandexam; - context.data.byte(306) = 1; - context.al = context.data.byte(100); - context.data.byte(307) = context.al; - context.al = context.data.byte(99); - context.data.byte(308) = context.al; + context.ds.byte(306) = 1; + context.al = context.ds.byte(100); + context.ds.byte(307) = context.al; + context.al = context.ds.byte(99); + context.ds.byte(308) = context.al; notwalkandexam: autosetwalk(context); cantwalk: @@ -18954,95 +18954,95 @@ cantwalk2: facerightway(context); return; alreadywalking: - context.al = context.data.byte(474); - context.data.byte(477) = context.al; + context.al = context.ds.byte(474); + context.ds.byte(477) = context.al; return; holdingreel: - context.data.byte(33) = context.al; - context.data.byte(32) = 2; + context.ds.byte(33) = context.al; + context.ds.byte(32) = 2; return; } static void autosetwalk(Context & context) { - context.al = context.data.byte(475); - context._cmp(context.data.byte(477), context.al); + context.al = context.ds.byte(475); + context._cmp(context.ds.byte(477), context.al); if (!context.flags.z()) goto notsamealready; return; notsamealready: getroomspaths(context); checkdest(context); context.push(context.bx); - context.al = context.data.byte(475); + context.al = context.ds.byte(475); context.ah = 0; context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.ah = 0; context._sub(context.ax, 12); - context.data.word(480) = context.ax; - context.al = context.data.byte(context.bx+1); + context.ds.word(480) = context.ax; + context.al = context.ds.byte(context.bx+1); context.ah = 0; context._sub(context.ax, 12); - context.data.word(482) = context.ax; + context.ds.word(482) = context.ax; context.bx = context.pop(); - context.al = context.data.byte(478); + context.al = context.ds.byte(478); context.ah = 0; context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx); + context.al = context.ds.byte(context.bx); context.ah = 0; context._sub(context.ax, 12); - context.data.word(484) = context.ax; - context.al = context.data.byte(context.bx+1); + context.ds.word(484) = context.ax; + context.al = context.ds.byte(context.bx+1); context.ah = 0; context._sub(context.ax, 12); - context.data.word(486) = context.ax; + context.ds.word(486) = context.ax; bresenhams(context); - context._cmp(context.data.byte(493), 0); + context._cmp(context.ds.byte(493), 0); if (context.flags.z()) goto normalline; - context.al = context.data.byte(494); + context.al = context.ds.byte(494); context._sub(context.al, 1); - context.data.byte(492) = context.al; - context.data.byte(493) = 1; + context.ds.byte(492) = context.al; + context.ds.byte(493) = 1; return; normalline: - context.data.byte(492) = 0; + context.ds.byte(492) = 0; return; } static void checkdest(Context & context) { context.push(context.bx); context._add(context.bx, 12*8); - context.ah = context.data.byte(475); + context.ah = context.ds.byte(475); context.cl = 4; context._shl(context.ah, context.cl); - context.al = context.data.byte(478); + context.al = context.ds.byte(478); context.cl = 24; - context.ch = context.data.byte(478); + context.ch = context.ds.byte(478); checkdestloop: - context.dh = context.data.byte(context.bx); + context.dh = context.ds.byte(context.bx); context._and(context.dh, 0xf0); - context.dl = context.data.byte(context.bx); + context.dl = context.ds.byte(context.bx); context._and(context.dl, 0xf); context._cmp(context.ax, context.dx); if (!context.flags.z()) goto nextcheck; - context.al = context.data.byte(context.bx+1); + context.al = context.ds.byte(context.bx+1); context._and(context.al, 15); - context.data.byte(478) = context.al; + context.ds.byte(478) = context.al; context.bx = context.pop(); return; nextcheck: - context.dl = context.data.byte(context.bx); + context.dl = context.ds.byte(context.bx); context._and(context.dl, 0xf0); context._shr(context.dl, 1); context._shr(context.dl, 1); context._shr(context.dl, 1); context._shr(context.dl, 1); - context.dh = context.data.byte(context.bx); + context.dh = context.ds.byte(context.bx); context._and(context.dh, 0xf); context._shl(context.dh, 1); context._shl(context.dh, 1); @@ -19050,13 +19050,13 @@ nextcheck: context._shl(context.dh, 1); context._cmp(context.ax, context.dx); if (!context.flags.z()) goto nextcheck2; - context.ch = context.data.byte(context.bx+1); + context.ch = context.ds.byte(context.bx+1); context._and(context.ch, 15); nextcheck2: context._add(context.bx, 2); context._sub(context.cl, 1); if (!context.flags.z()) goto checkdestloop; - context.data.byte(478) = context.ch; + context.ds.byte(478) = context.ch; context.bx = context.pop(); return; } @@ -19067,60 +19067,60 @@ static void bresenhams(Context & context) { context.es = context.dx; context.di = 8344; context.si = 1; - context.data.byte(493) = 0; - context.cx = context.data.word(484); - context._sub(context.cx, context.data.word(480)); + context.ds.byte(493) = 0; + context.cx = context.ds.word(484); + context._sub(context.cx, context.ds.word(480)); if (context.flags.z()) goto vertline; if (!context.flags.s()) goto line1; context._neg(context.cx); - context.bx = context.data.word(484); - context._xchg(context.bx, context.data.word(480)); - context.data.word(484) = context.bx; - context.bx = context.data.word(486); - context._xchg(context.bx, context.data.word(482)); - context.data.word(486) = context.bx; - context.data.byte(493) = 1; + context.bx = context.ds.word(484); + context._xchg(context.bx, context.ds.word(480)); + context.ds.word(484) = context.bx; + context.bx = context.ds.word(486); + context._xchg(context.bx, context.ds.word(482)); + context.ds.word(486) = context.bx; + context.ds.byte(493) = 1; line1: - context.bx = context.data.word(486); - context._sub(context.bx, context.data.word(482)); + context.bx = context.ds.word(486); + context._sub(context.bx, context.ds.word(482)); if (context.flags.z()) goto horizline; if (!context.flags.s()) goto line3; context._neg(context.bx); context._neg(context.si); line3: context.push(context.si); - context.data.byte(491) = 0; + context.ds.byte(491) = 0; context._cmp(context.bx, context.cx); if (context.flags.le()) goto line4; - context.data.byte(491) = 1; + context.ds.byte(491) = 1; context._xchg(context.bx, context.cx); line4: context._shl(context.bx, 1); - context.data.word(488) = context.bx; + context.ds.word(488) = context.bx; context._sub(context.bx, context.cx); context.si = context.bx; context._sub(context.bx, context.cx); - context.data.word(490) = context.bx; - context.ax = context.data.word(480); - context.bx = context.data.word(482); + context.ds.word(490) = context.bx; + context.ax = context.ds.word(480); + context.bx = context.ds.word(482); context.ah = context.bl; context._add(context.cx, 1); context.bx = context.pop(); - context._cmp(context.data.byte(491), 1); + context._cmp(context.ds.byte(491), 1); if (context.flags.z()) goto hislope; goto loslope; vertline: - context.ax = context.data.word(482); - context.bx = context.data.word(486); + context.ax = context.ds.word(482); + context.bx = context.ds.word(486); context.cx = context.bx; context._sub(context.cx, context.ax); if (!context.flags.ge()) goto line31; context._neg(context.cx); context.ax = context.bx; - context.data.byte(493) = 1; + context.ds.byte(493) = 1; line31: context._add(context.cx, 1); - context.bx = context.data.word(480); + context.bx = context.ds.word(480); context._xchg(context.ax, context.bx); context.ah = context.bl; context.bx = context.si; @@ -19130,8 +19130,8 @@ line32: if (--context.cx) goto line32; goto lineexit; horizline: - context.ax = context.data.word(480); - context.bx = context.data.word(482); + context.ax = context.ds.word(480); + context.bx = context.ds.word(482); context.ah = context.bl; context._add(context.cx, 1); horizloop: @@ -19145,11 +19145,11 @@ loloop: context._add(context.al, 1); context._or(context.si, context.si); if (!context.flags.s()) goto line12; - context._add(context.si, context.data.word(488)); + context._add(context.si, context.ds.word(488)); if (--context.cx) goto loloop; goto lineexit; line12: - context._add(context.si, context.data.word(490)); + context._add(context.si, context.ds.word(490)); context._add(context.ah, context.bl); if (--context.cx) goto loloop; goto lineexit; @@ -19159,33 +19159,33 @@ hiloop: context._add(context.ah, context.bl); context._or(context.si, context.si); if (!context.flags.s()) goto line23; - context._add(context.si, context.data.word(488)); + context._add(context.si, context.ds.word(488)); if (--context.cx) goto hiloop; goto lineexit; line23: - context._add(context.si, context.data.word(490)); + context._add(context.si, context.ds.word(490)); context._add(context.al, 1); if (--context.cx) goto hiloop; lineexit: context._sub(context.di, 8344); context.ax = context.di; context._shr(context.ax, 1); - context.data.byte(494) = context.al; + context.ds.byte(494) = context.al; return; } static void workoutframes(Context & context) { - context.bx = context.data.word(480); + context.bx = context.ds.word(480); context._add(context.bx, 32); - context.ax = context.data.word(484); + context.ax = context.ds.word(484); context._add(context.ax, 32); context._sub(context.bx, context.ax); if (!context.flags.c()) goto notneg1; context._neg(context.bx); notneg1: - context.cx = context.data.word(482); + context.cx = context.ds.word(482); context._add(context.cx, 32); - context.ax = context.data.word(486); + context.ax = context.ds.word(486); context._add(context.ax, 32); context._sub(context.cx, context.ax); if (!context.flags.c()) goto notneg2; @@ -19209,16 +19209,16 @@ tendstohoriz: context.dl = 1; goto gotquad; gotquad: - context.bx = context.data.word(480); + context.bx = context.ds.word(480); context._add(context.bx, 32); - context.ax = context.data.word(484); + context.ax = context.ds.word(484); context._add(context.ax, 32); context._sub(context.bx, context.ax); if (context.flags.c()) goto isinright; isinleft: - context.cx = context.data.word(482); + context.cx = context.ds.word(482); context._add(context.cx, 32); - context.ax = context.data.word(486); + context.ax = context.ds.word(486); context._add(context.ax, 32); context._sub(context.cx, context.ax); if (!context.flags.c()) goto topleft; @@ -19232,9 +19232,9 @@ topleft: context._add(context.dl, 6); goto success; isinright: - context.cx = context.data.word(482); + context.cx = context.ds.word(482); context._add(context.cx, 32); - context.ax = context.data.word(486); + context.ax = context.ds.word(486); context._add(context.ax, 32); context._sub(context.cx, context.ax); if (!context.flags.c()) goto botright; @@ -19247,17 +19247,17 @@ botright: noswap2: success: context._and(context.dl, 7); - context.data.byte(135) = context.dl; - context.data.byte(136) = 0; + context.ds.byte(135) = context.dl; + context.ds.byte(136) = 0; return; } static void getroomspaths(Context & context) { - context.al = context.data.byte(185); + context.al = context.ds.byte(185); context.ah = 0; context.cx = 144; context._mul(context.cx); - context.es = context.data.word(450); + context.es = context.ds.word(450); context.bx = 0; context._add(context.bx, context.ax); return; @@ -19302,10 +19302,10 @@ static void findobname(Context & context) { context.bx = 64*2; context._mul(context.bx); context.si = context.ax; - context.ds = context.data.word(448); + context.ds = context.ds.word(448); context._add(context.si, 0+24); context.cx = 0+24+(1026*2); - context.ax = context.data.word(context.si); + context.ax = context.ds.word(context.si); context._add(context.ax, context.cx); context.si = context.ax; context.ax = context.pop(); @@ -19313,41 +19313,41 @@ static void findobname(Context & context) { notpersonname: context._cmp(context.ah, 4); if (!context.flags.z()) goto notextraname; - context.ds = context.data.word(398); + context.ds = context.ds.word(398); context._add(context.bx, 0+2080+30000+(16*114)); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, 0+2080+30000+(16*114)+((114+2)*2)); context.si = context.ax; return; notextraname: context._cmp(context.ah, 2); if (!context.flags.z()) goto notfreename; - context.ds = context.data.word(438); + context.ds = context.ds.word(438); context._add(context.bx, 0); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, 0+(82*2)); context.si = context.ax; return; notfreename: context._cmp(context.ah, 1); if (!context.flags.z()) goto notsetname; - context.ds = context.data.word(440); + context.ds = context.ds.word(440); context._add(context.bx, 0); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, 0+(130*2)); context.si = context.ax; return; notsetname: - context.ds = context.data.word(442); + context.ds = context.ds.word(442); context._add(context.bx, 0); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, 0+(98*2)); context.si = context.ax; return; } static void showicon(Context & context) { - context._cmp(context.data.byte(184), 50); + context._cmp(context.ds.byte(184), 50); if (!context.flags.c()) goto isdream1; showpanel(context); showman(context); @@ -19356,37 +19356,37 @@ static void showicon(Context & context) { zoomicon(context); return; isdream1: - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 72; context.bx = 2; context.al = 45; context.ah = 0; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 72+47; context.bx = 2; context.al = 46; context.ah = 0; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 69-10; context.bx = 21; context.al = 49; context.ah = 0; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 160+88; context.bx = 2; context.al = 45; context.ah = 4; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 160+43; context.bx = 2; context.al = 46; context.ah = 4; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 160+101; context.bx = 21; context.al = 49; @@ -19397,25 +19397,25 @@ isdream1: } static void middlepanel(Context & context) { - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 72+47+20; context.bx = 0; context.al = 48; context.ah = 0; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 72+19; context.bx = 21; context.al = 47; context.ah = 0; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 160+23; context.bx = 0; context.al = 48; context.ah = 4; showframe(context); - context.ds = context.data.word(464); + context.ds = context.ds.word(464); context.di = 160+71; context.bx = 21; context.al = 47; @@ -19425,21 +19425,21 @@ static void middlepanel(Context & context) { } static void showman(Context & context) { - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 0; context.bx = 0; context.al = 0; context.ah = 0; showframe(context); - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 0; context.bx = 114; context.al = 1; context.ah = 0; showframe(context); - context._cmp(context.data.byte(4), 0); + context._cmp(context.ds.byte(4), 0); if (context.flags.z()) goto notverycool; - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 28; context.bx = 25; context.al = 2; @@ -19450,13 +19450,13 @@ notverycool: } static void showpanel(Context & context) { - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 72; context.bx = 0; context.al = 19; context.ah = 0; showframe(context); - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 192; context.bx = 0; context.al = 19; @@ -19471,48 +19471,48 @@ static void roomname(Context & context) { context.al = 53; context.dl = 240; printmessage(context); - context.bl = context.data.byte(185); + context.bl = context.ds.byte(185); context._cmp(context.bl, 32); if (context.flags.c()) goto notover32; context._sub(context.bl, 32); notover32: context.bh = 0; context._add(context.bx, context.bx); - context.es = context.data.word(436); + context.es = context.ds.word(436); context._add(context.bx, 0); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._add(context.ax, 0+(38*2)); context.si = context.ax; - context.data.word(77) = 7; + context.ds.word(77) = 7; context.di = 88; context.bx = 25; context.dl = 120; - context._cmp(context.data.byte(3), 1); + context._cmp(context.ds.byte(3), 1); if (context.flags.z()) goto gotpl; context.dl = 160; gotpl: context.al = 0; context.ah = 0; printdirect(context); - context.data.word(77) = 10; + context.ds.word(77) = 10; usecharset1(context); return; } static void usecharset1(Context & context) { - context.ax = context.data.word(404); - context.data.word(268) = context.ax; + context.ax = context.ds.word(404); + context.ds.word(268) = context.ax; return; } static void usetempcharset(Context & context) { - context.ax = context.data.word(406); - context.data.word(268) = context.ax; + context.ax = context.ds.word(406); + context.ds.word(268) = context.ax; return; } static void showexit(Context & context) { - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 274; context.bx = 154; context.al = 11; @@ -19523,12 +19523,12 @@ static void showexit(Context & context) { static void panelicons1(Context & context) { context.di = 0; - context._cmp(context.data.byte(3), 1); + context._cmp(context.ds.byte(3), 1); if (context.flags.z()) goto watchison; context.di = 48; watchison: context.push(context.di); - context.ds = context.data.word(410); + context.ds = context.ds.word(410); context._add(context.di, 204); context.bx = 4; context.al = 2; @@ -19536,9 +19536,9 @@ watchison: showframe(context); context.di = context.pop(); context.push(context.di); - context._cmp(context.data.byte(8), 1); + context._cmp(context.ds.byte(8), 1); if (context.flags.z()) goto zoomisoff; - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context._add(context.di, 228); context.bx = 8; context.al = 5; @@ -19551,9 +19551,9 @@ zoomisoff: } static void showwatch(Context & context) { - context._cmp(context.data.byte(3), 0); + context._cmp(context.ds.byte(3), 0); if (context.flags.z()) goto nowristwatch; - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 250; context.bx = 1; context.al = 6; @@ -19565,9 +19565,9 @@ nowristwatch: } static void zoomicon(Context & context) { - context._cmp(context.data.byte(8), 0); + context._cmp(context.ds.byte(8), 0); if (context.flags.z()) goto nozoom1; - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.di = 8; context.bx = 132-1; context.al = 8; @@ -19578,20 +19578,20 @@ nozoom1: } static void showblink(Context & context) { - context._cmp(context.data.byte(131), 1); + context._cmp(context.ds.byte(131), 1); if (context.flags.z()) goto finblink1; - context._add(context.data.byte(472), 1); - context._cmp(context.data.byte(4), 0); + context._add(context.ds.byte(472), 1); + context._cmp(context.ds.byte(4), 0); if (!context.flags.z()) goto finblink1; - context._cmp(context.data.byte(184), 50); + context._cmp(context.ds.byte(184), 50); if (!context.flags.c()) goto eyesshut; - context.al = context.data.byte(472); + context.al = context.ds.byte(472); context._cmp(context.al, 3); if (!context.flags.z()) goto finblink1; - context.data.byte(472) = 0; - context.al = context.data.byte(471); + context.ds.byte(472) = 0; + context.al = context.ds.byte(471); context._add(context.al, 1); - context.data.byte(471) = context.al; + context.ds.byte(471) = context.al; context._cmp(context.al, 6); if (context.flags.c()) goto nomorethan6; context.al = 6; @@ -19599,8 +19599,8 @@ nomorethan6: context.ah = 0; context.bx = 5691; context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx); - context.ds = context.data.word(408); + context.al = context.ds.byte(context.bx); + context.ds = context.ds.word(408); context.di = 44; context.bx = 32; context.ah = 0; @@ -19612,11 +19612,11 @@ eyesshut: } static void dumpblink(Context & context) { - context._cmp(context.data.byte(4), 0); + context._cmp(context.ds.byte(4), 0); if (!context.flags.z()) goto nodumpeye; - context._cmp(context.data.byte(472), 0); + context._cmp(context.ds.byte(472), 0); if (!context.flags.z()) goto nodumpeye; - context.al = context.data.byte(471); + context.al = context.ds.byte(471); context._cmp(context.al, 6); if (!context.flags.c()) goto nodumpeye; context.push(context.ds); @@ -19641,9 +19641,9 @@ static void worktoscreenm(Context & context) { } static void blank(Context & context) { - context._cmp(context.data.byte(100), 199); + context._cmp(context.ds.byte(100), 199); if (context.flags.z()) goto alreadyblnk; - context.data.byte(100) = 199; + context.ds.byte(100) = 199; context.al = 0; commandonly(context); alreadyblnk: @@ -19662,14 +19662,14 @@ static void hangonp(Context & context) { context._add(context.cx, context.cx); context.ax = context.pop(); context._add(context.cx, context.ax); - context.data.word(138) = 0; - context.al = context.data.byte(231); - context.ah = context.data.byte(106); + context.ds.word(138) = 0; + context.al = context.ds.byte(231); + context.ah = context.ds.byte(106); context.push(context.ax); - context.data.byte(234) = 3; - context.data.byte(106) = 0; + context.ds.byte(234) = 3; + context.ds.byte(106) = 0; context.push(context.cx); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; readmouse(context); animpointer(context); showpointer(context); @@ -19685,19 +19685,19 @@ hangloop: vsync(context); dumppointer(context); context.cx = context.pop(); - context.ax = context.data.word(202); + context.ax = context.ds.word(202); context._cmp(context.ax, 0); if (context.flags.z()) goto notpressed; - context._cmp(context.ax, context.data.word(212)); + context._cmp(context.ax, context.ds.word(212)); if (!context.flags.z()) goto getoutofit; notpressed: if (--context.cx) goto hangloop; getoutofit: delpointer(context); context.ax = context.pop(); - context.data.byte(231) = context.al; - context.data.byte(106) = context.ah; - context.data.byte(234) = 0; + context.ds.byte(231) = context.al; + context.ds.byte(106) = context.ah; + context.ds.byte(234) = 0; return; } @@ -19729,7 +19729,7 @@ monloop1: static void getunderzoom(Context & context) { context.di = 8+5; context.bx = 132+4; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5); context.cl = 46; context.ch = 40; @@ -19738,7 +19738,7 @@ static void getunderzoom(Context & context) { } static void dumpzoom(Context & context) { - context._cmp(context.data.byte(8), 1); + context._cmp(context.ds.byte(8), 1); if (!context.flags.z()) goto notzoomon; context.di = 8+5; context.bx = 132+4; @@ -19752,7 +19752,7 @@ notzoomon: static void putunderzoom(Context & context) { context.di = 8+5; context.bx = 132+4; - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60+(32*32)+(11*10*3)+768+768+768+(32*32)+(128*5)+(80*5)+(100*5)+(12*5); context.cl = 46; context.ch = 40; @@ -19761,12 +19761,12 @@ static void putunderzoom(Context & context) { } static void crosshair(Context & context) { - context._cmp(context.data.byte(100), 3); + context._cmp(context.ds.byte(100), 3); if (context.flags.z()) goto nocross; - context._cmp(context.data.byte(100), 10); + context._cmp(context.ds.byte(100), 10); if (!context.flags.c()) goto nocross; - context.es = context.data.word(400); - context.ds = context.data.word(408); + context.es = context.ds.word(400); + context.ds = context.ds.word(408); context.di = 8+24; context.bx = 132+19; context.al = 9; @@ -19774,8 +19774,8 @@ static void crosshair(Context & context) { showframe(context); return; nocross: - context.es = context.data.word(400); - context.ds = context.data.word(408); + context.es = context.ds.word(400); + context.ds = context.ds.word(408); context.di = 8+24; context.bx = 132+19; context.al = 29; @@ -19786,23 +19786,23 @@ nocross: static void showpointer(Context & context) { showblink(context); - context.di = context.data.word(198); - context.data.word(220) = context.di; - context.bx = context.data.word(200); - context.data.word(222) = context.bx; - context._cmp(context.data.byte(106), 1); + context.di = context.ds.word(198); + context.ds.word(220) = context.di; + context.bx = context.ds.word(200); + context.ds.word(222) = context.bx; + context._cmp(context.ds.byte(106), 1); if (context.flags.z()) goto itsanobject; context.push(context.bx); context.push(context.di); - context.ds = context.data.word(408); - context.al = context.data.byte(231); + context.ds = context.ds.word(408); + context.al = context.ds.byte(231); context._add(context.al, 20); context.ah = 0; context._add(context.ax, context.ax); context.si = context.ax; context._add(context.ax, context.ax); context._add(context.si, context.ax); - context.cx = context.data.word(context.si); + context.cx = context.ds.word(context.si); context._cmp(context.cl, 12); if (!context.flags.c()) goto notsmallx; context.cl = 12; @@ -19811,10 +19811,10 @@ notsmallx: if (!context.flags.c()) goto notsmally; context.ch = 12; notsmally: - context.data.byte(227) = context.cl; - context.data.byte(228) = context.ch; + context.ds.byte(227) = context.cl; + context.ds.byte(228) = context.ch; context.push(context.ds); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60; multiget(context); context.ds = context.pop(); @@ -19822,7 +19822,7 @@ notsmally: context.bx = context.pop(); context.push(context.di); context.push(context.bx); - context.al = context.data.byte(231); + context.al = context.ds.byte(231); context._add(context.al, 20); context.ah = 0; showframe(context); @@ -19830,11 +19830,11 @@ notsmally: context.di = context.pop(); return; itsanobject: - context.al = context.data.byte(89); - context.ds = context.data.word(398); - context._cmp(context.data.byte(102), 4); + context.al = context.ds.byte(89); + context.ds = context.ds.word(398); + context._cmp(context.ds.byte(102), 4); if (context.flags.z()) goto itsfrominv; - context.ds = context.data.word(446); + context.ds = context.ds.word(446); itsfrominv: context.cl = context.al; context._add(context.al, context.al); @@ -19847,7 +19847,7 @@ itsfrominv: context._add(context.ax, context.ax); context._add(context.si, context.ax); context.ax = 2080; - context.cx = context.data.word(context.si); + context.cx = context.ds.word(context.si); context._cmp(context.cl, 12); if (!context.flags.c()) goto notsmallx2; context.cl = 12; @@ -19856,8 +19856,8 @@ notsmallx2: if (!context.flags.c()) goto notsmally2; context.ch = 12; notsmally2: - context.data.byte(227) = context.cl; - context.data.byte(228) = context.ch; + context.ds.byte(227) = context.cl; + context.ds.byte(228) = context.ch; context.ax = context.pop(); context.push(context.di); context.push(context.bx); @@ -19868,13 +19868,13 @@ notsmally2: context.al = context.cl; context.ah = 0; context._shr(context.ax, 1); - context._sub(context.data.word(220), context.ax); + context._sub(context.ds.word(220), context.ax); context._sub(context.di, context.ax); context.al = context.ch; context._shr(context.ax, 1); - context._sub(context.data.word(222), context.ax); + context._sub(context.ds.word(222), context.ax); context._sub(context.bx, context.ax); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60; multiget(context); context.ds = context.pop(); @@ -19885,7 +19885,7 @@ notsmally2: showframe(context); context.bx = context.pop(); context.di = context.pop(); - context.ds = context.data.word(408); + context.ds = context.ds.word(408); context.al = 3; context.ah = 128; showframe(context); @@ -19893,20 +19893,20 @@ notsmally2: } static void delpointer(Context & context) { - context.ax = context.data.word(220); + context.ax = context.ds.word(220); context._cmp(context.ax, 0x0ffff); if (context.flags.z()) goto nevershown; - context.data.word(224) = context.ax; - context.ax = context.data.word(222); - context.data.word(226) = context.ax; - context.cl = context.data.byte(227); - context.data.byte(229) = context.cl; - context.ch = context.data.byte(228); - context.data.byte(230) = context.ch; - context.ds = context.data.word(412); + context.ds.word(224) = context.ax; + context.ax = context.ds.word(222); + context.ds.word(226) = context.ax; + context.cl = context.ds.byte(227); + context.ds.byte(229) = context.cl; + context.ch = context.ds.byte(228); + context.ds.byte(230) = context.ch; + context.ds = context.ds.word(412); context.si = 0+(228*13)+32+60; - context.di = context.data.word(224); - context.bx = context.data.word(226); + context.di = context.ds.word(224); + context.bx = context.ds.word(226); multiput(context); nevershown: return; @@ -19914,30 +19914,30 @@ nevershown: static void dumppointer(Context & context) { dumpblink(context); - context.cl = context.data.byte(229); - context.ch = context.data.byte(230); - context.di = context.data.word(224); - context.bx = context.data.word(226); + context.cl = context.ds.byte(229); + context.ch = context.ds.byte(230); + context.di = context.ds.word(224); + context.bx = context.ds.word(226); multidump(context); - context.bx = context.data.word(222); - context.di = context.data.word(220); - context._cmp(context.di, context.data.word(224)); + context.bx = context.ds.word(222); + context.di = context.ds.word(220); + context._cmp(context.di, context.ds.word(224)); if (!context.flags.z()) goto difffound; - context._cmp(context.bx, context.data.word(226)); + context._cmp(context.bx, context.ds.word(226)); if (context.flags.z()) goto notboth; difffound: - context.cl = context.data.byte(227); - context.ch = context.data.byte(228); + context.cl = context.ds.byte(227); + context.ch = context.ds.byte(228); multidump(context); notboth: return; } static void undertextline(Context & context) { - context.di = context.data.word(79); - context.bx = context.data.word(81); + context.di = context.ds.word(79); + context.bx = context.ds.word(81); context._sub(context.bx, 3); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0; context.cl = 228; context.ch = 13; @@ -19946,10 +19946,10 @@ static void undertextline(Context & context) { } static void deltextline(Context & context) { - context.di = context.data.word(79); - context.bx = context.data.word(81); + context.di = context.ds.word(79); + context.bx = context.ds.word(81); context._sub(context.bx, 3); - context.ds = context.data.word(412); + context.ds = context.ds.word(412); context.si = 0; context.cl = 228; context.ch = 13; @@ -19958,11 +19958,11 @@ static void deltextline(Context & context) { } static void dumptextline(Context & context) { - context._cmp(context.data.byte(109), 1); + context._cmp(context.ds.byte(109), 1); if (!context.flags.z()) goto nodumptextline; - context.data.byte(109) = 0; - context.di = context.data.word(79); - context.bx = context.data.word(81); + context.ds.byte(109) = 0; + context.di = context.ds.word(79); + context.bx = context.ds.word(81); context._sub(context.bx, 3); context.cl = 228; context.ch = 13; @@ -19972,19 +19972,19 @@ nodumptextline: } static void animpointer(Context & context) { - context._cmp(context.data.byte(234), 2); + context._cmp(context.ds.byte(234), 2); if (context.flags.z()) goto combathand; - context._cmp(context.data.byte(234), 3); + context._cmp(context.ds.byte(234), 3); if (context.flags.z()) goto mousehand; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (context.flags.z()) goto notwatchpoint; - context.data.byte(231) = 11; + context.ds.byte(231) = 11; return; notwatchpoint: - context.data.byte(231) = 0; - context._cmp(context.data.byte(237), 0); + context.ds.byte(231) = 0; + context._cmp(context.ds.byte(237), 0); if (context.flags.z()) goto gothand; - context._cmp(context.data.byte(476), 0); + context._cmp(context.ds.byte(476), 0); if (context.flags.z()) goto gothand; arrow: getflagunderp(context); @@ -19992,133 +19992,133 @@ arrow: if (context.flags.c()) goto gothand; context._cmp(context.cl, 128); if (!context.flags.c()) goto gothand; - context.data.byte(231) = 3; + context.ds.byte(231) = 3; context._test(context.cl, 4); if (!context.flags.z()) goto gothand; - context.data.byte(231) = 4; + context.ds.byte(231) = 4; context._test(context.cl, 16); if (!context.flags.z()) goto gothand; - context.data.byte(231) = 5; + context.ds.byte(231) = 5; context._test(context.cl, 2); if (!context.flags.z()) goto gothand; - context.data.byte(231) = 6; + context.ds.byte(231) = 6; context._test(context.cl, 8); if (!context.flags.z()) goto gothand; - context.data.byte(231) = 8; + context.ds.byte(231) = 8; gothand: return; mousehand: - context._cmp(context.data.byte(235), 0); + context._cmp(context.ds.byte(235), 0); if (context.flags.z()) goto rightspeed3; - context._sub(context.data.byte(235), 1); + context._sub(context.ds.byte(235), 1); goto finflashmouse; rightspeed3: - context.data.byte(235) = 5; - context._add(context.data.byte(236), 1); - context._cmp(context.data.byte(236), 16); + context.ds.byte(235) = 5; + context._add(context.ds.byte(236), 1); + context._cmp(context.ds.byte(236), 16); if (!context.flags.z()) goto finflashmouse; - context.data.byte(236) = 0; + context.ds.byte(236) = 0; finflashmouse: - context.al = context.data.byte(236); + context.al = context.ds.byte(236); context.ah = 0; context.bx = 5698; context._add(context.bx, context.ax); - context.al = context.data.byte(context.bx); - context.data.byte(231) = context.al; + context.al = context.ds.byte(context.bx); + context.ds.byte(231) = context.al; return; combathand: - context.data.byte(231) = 0; - context._cmp(context.data.byte(184), 14); + context.ds.byte(231) = 0; + context._cmp(context.ds.byte(184), 14); if (!context.flags.z()) goto notarrow; - context._cmp(context.data.byte(100), 211); + context._cmp(context.ds.byte(100), 211); if (!context.flags.z()) goto notarrow; - context.data.byte(231) = 5; + context.ds.byte(231) = 5; notarrow: return; } static void readmouse(Context & context) { - context.ax = context.data.word(202); - context.data.word(212) = context.ax; - context.ax = context.data.word(198); - context.data.word(214) = context.ax; - context.ax = context.data.word(200); - context.data.word(216) = context.ax; + context.ax = context.ds.word(202); + context.ds.word(212) = context.ax; + context.ax = context.ds.word(198); + context.ds.word(214) = context.ax; + context.ax = context.ds.word(200); + context.ds.word(216) = context.ax; mousecall(context); - context.data.word(198) = context.cx; - context.data.word(200) = context.dx; - context.data.word(202) = context.bx; + context.ds.word(198) = context.cx; + context.ds.word(200) = context.dx; + context.ds.word(202) = context.bx; return; } static void readmouse1(Context & context) { - context.ax = context.data.word(198); - context.data.word(214) = context.ax; - context.ax = context.data.word(200); - context.data.word(216) = context.ax; + context.ax = context.ds.word(198); + context.ds.word(214) = context.ax; + context.ax = context.ds.word(200); + context.ds.word(216) = context.ax; mousecall(context); - context.data.word(198) = context.cx; - context.data.word(200) = context.dx; - context.data.word(204) = context.bx; + context.ds.word(198) = context.cx; + context.ds.word(200) = context.dx; + context.ds.word(204) = context.bx; return; } static void readmouse2(Context & context) { - context.ax = context.data.word(198); - context.data.word(214) = context.ax; - context.ax = context.data.word(200); - context.data.word(216) = context.ax; + context.ax = context.ds.word(198); + context.ds.word(214) = context.ax; + context.ax = context.ds.word(200); + context.ds.word(216) = context.ax; mousecall(context); - context.data.word(198) = context.cx; - context.data.word(200) = context.dx; - context.data.word(206) = context.bx; + context.ds.word(198) = context.cx; + context.ds.word(200) = context.dx; + context.ds.word(206) = context.bx; return; } static void readmouse3(Context & context) { - context.ax = context.data.word(198); - context.data.word(214) = context.ax; - context.ax = context.data.word(200); - context.data.word(216) = context.ax; + context.ax = context.ds.word(198); + context.ds.word(214) = context.ax; + context.ax = context.ds.word(200); + context.ds.word(216) = context.ax; mousecall(context); - context.data.word(198) = context.cx; - context.data.word(200) = context.dx; - context.data.word(208) = context.bx; + context.ds.word(198) = context.cx; + context.ds.word(200) = context.dx; + context.ds.word(208) = context.bx; return; } static void readmouse4(Context & context) { - context.ax = context.data.word(202); - context.data.word(212) = context.ax; - context.ax = context.data.word(198); - context.data.word(214) = context.ax; - context.ax = context.data.word(200); - context.data.word(216) = context.ax; + context.ax = context.ds.word(202); + context.ds.word(212) = context.ax; + context.ax = context.ds.word(198); + context.ds.word(214) = context.ax; + context.ax = context.ds.word(200); + context.ds.word(216) = context.ax; mousecall(context); - context.data.word(198) = context.cx; - context.data.word(200) = context.dx; - context.ax = context.data.word(204); - context._or(context.ax, context.data.word(206)); - context._or(context.ax, context.data.word(208)); + context.ds.word(198) = context.cx; + context.ds.word(200) = context.dx; + context.ax = context.ds.word(204); + context._or(context.ax, context.ds.word(206)); + context._or(context.ax, context.ds.word(208)); context._or(context.bx, context.ax); - context.data.word(202) = context.bx; + context.ds.word(202) = context.bx; return; } static void readkey(Context & context) { - context.bx = context.data.word(396); - context._cmp(context.bx, context.data.word(394)); + context.bx = context.ds.word(396); + context._cmp(context.bx, context.ds.word(394)); if (context.flags.z()) goto nokey; context._add(context.bx, 1); context._and(context.bx, 15); - context.data.word(396) = context.bx; + context.ds.word(396) = context.bx; context.di = 5715; context._add(context.di, context.bx); - context.al = context.data.byte(context.di); - context.data.byte(142) = context.al; + context.al = context.ds.byte(context.di); + context.ds.byte(142) = context.al; return; nokey: - context.data.byte(142) = 0; + context.ds.byte(142) = 0; return; } @@ -20127,7 +20127,7 @@ static void convertkey(Context & context) { context.ah = 0; context.di = 5731; context._add(context.di, context.ax); - context.al = context.data.byte(context.di); + context.al = context.ds.byte(context.di); return; } @@ -20174,41 +20174,41 @@ hangonloop: static void loadtraveltext(Context & context) { context.dx = 2247; standardload(context); - context.data.word(456) = context.ax; + context.ds.word(456) = context.ax; return; } static void loadintotemp(Context & context) { context.ds = context.cs; standardload(context); - context.data.word(458) = context.ax; + context.ds.word(458) = context.ax; return; } static void loadintotemp2(Context & context) { context.ds = context.cs; standardload(context); - context.data.word(460) = context.ax; + context.ds.word(460) = context.ax; return; } static void loadintotemp3(Context & context) { context.ds = context.cs; standardload(context); - context.data.word(462) = context.ax; + context.ds.word(462) = context.ax; return; } static void loadtempcharset(Context & context) { standardload(context); - context.data.word(406) = context.ax; + context.ds.word(406) = context.ax; return; } static void standardload(Context & context) { openfile(context); readheader(context); - context.bx = context.data.word(context.di); + context.bx = context.ds.word(context.di); context.push(context.bx); context.cl = 4; context._shr(context.bx, context.cl); @@ -20225,21 +20225,21 @@ static void standardload(Context & context) { static void loadtemptext(Context & context) { standardload(context); - context.data.word(466) = context.ax; + context.ds.word(466) = context.ax; return; } static void loadroom(Context & context) { - context.data.byte(74) = 1; - context.data.word(328) = 0; - context.data.word(138) = 0; - context.data.word(121) = 104; - context.data.word(123) = 38; - context.data.word(79) = 13; - context.data.word(81) = 182; - context.data.byte(82) = 240; - context.al = context.data.byte(188); - context.data.byte(9) = context.al; + context.ds.byte(74) = 1; + context.ds.word(328) = 0; + context.ds.word(138) = 0; + context.ds.word(121) = 104; + context.ds.word(123) = 38; + context.ds.word(79) = 13; + context.ds.word(81) = 182; + context.ds.byte(82) = 240; + context.al = context.ds.byte(188); + context.ds.byte(9) = context.al; getroomdata(context); startloading(context); loadroomssample(context); @@ -20250,18 +20250,18 @@ static void loadroom(Context & context) { } static void loadroomssample(Context & context) { - context.al = context.data.byte(531); + context.al = context.ds.byte(531); context._cmp(context.al, 255); if (context.flags.z()) goto loadedalready; - context._cmp(context.al, context.data.byte(530)); + context._cmp(context.al, context.ds.byte(530)); if (context.flags.z()) goto loadedalready; - context.data.byte(530) = context.al; - context.al = context.data.byte(530); + context.ds.byte(530) = context.al; + context.al = context.ds.byte(530); context.cl = '0'; twodigitnum(context); context.di = 1909; context._xchg(context.al, context.ah); - context.data.word(context.di+10) = context.ax; + context.ds.word(context.di+10) = context.ax; context.dx = context.di; loadsecondsample(context); loadedalready: @@ -20269,50 +20269,50 @@ loadedalready: } static void getridofreels(Context & context) { - context._cmp(context.data.byte(74), 0); + context._cmp(context.ds.byte(74), 0); if (context.flags.z()) goto dontgetrid; - context.es = context.data.word(430); + context.es = context.ds.word(430); deallocatemem(context); - context.es = context.data.word(432); + context.es = context.ds.word(432); deallocatemem(context); - context.es = context.data.word(434); + context.es = context.ds.word(434); deallocatemem(context); dontgetrid: return; } static void getridofall(Context & context) { - context.es = context.data.word(416); + context.es = context.ds.word(416); deallocatemem(context); - context.es = context.data.word(444); + context.es = context.ds.word(444); deallocatemem(context); - context.es = context.data.word(430); + context.es = context.ds.word(430); deallocatemem(context); - context.es = context.data.word(432); + context.es = context.ds.word(432); deallocatemem(context); - context.es = context.data.word(434); + context.es = context.ds.word(434); deallocatemem(context); - context.es = context.data.word(450); + context.es = context.ds.word(450); deallocatemem(context); - context.es = context.data.word(448); + context.es = context.ds.word(448); deallocatemem(context); - context.es = context.data.word(440); + context.es = context.ds.word(440); deallocatemem(context); - context.es = context.data.word(442); + context.es = context.ds.word(442); deallocatemem(context); - context.es = context.data.word(436); + context.es = context.ds.word(436); deallocatemem(context); - context.es = context.data.word(446); + context.es = context.ds.word(446); deallocatemem(context); - context.es = context.data.word(438); + context.es = context.ds.word(438); deallocatemem(context); return; } static void restorereels(Context & context) { - context._cmp(context.data.byte(74), 0); + context._cmp(context.ds.byte(74), 0); if (context.flags.z()) goto dontrestore; - context.al = context.data.byte(184); + context.al = context.ds.byte(184); getroomdata(context); context.dx = context.bx; openfile(context); @@ -20322,17 +20322,17 @@ static void restorereels(Context & context) { dontloadseg(context); dontloadseg(context); allocateload(context); - context.data.word(430) = context.ax; + context.ds.word(430) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(432) = context.ax; + context.ds.word(432) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(434) = context.ax; + context.ds.word(434) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); @@ -20342,17 +20342,17 @@ dontrestore: } static void restoreall(Context & context) { - context.al = context.data.byte(9); + context.al = context.ds.byte(9); getroomdata(context); context.dx = context.bx; openfile(context); readheader(context); allocateload(context); context.ds = context.ax; - context.data.word(416) = context.ax; + context.ds.word(416) = context.ax; context.dx = 0; loadseg(context); - context.ds = context.data.word(400); + context.ds = context.ds.word(400); context.dx = 0; context.cx = 132*66; context.al = 0; @@ -20360,59 +20360,59 @@ static void restoreall(Context & context) { loadseg(context); sortoutmap(context); allocateload(context); - context.data.word(444) = context.ax; + context.ds.word(444) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); dontloadseg(context); allocateload(context); - context.data.word(430) = context.ax; + context.ds.word(430) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(432) = context.ax; + context.ds.word(432) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(434) = context.ax; + context.ds.word(434) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(450) = context.ax; + context.ds.word(450) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(448) = context.ax; + context.ds.word(448) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(440) = context.ax; + context.ds.word(440) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(442) = context.ax; + context.ds.word(442) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(436) = context.ax; + context.ds.word(436) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(446) = context.ax; + context.ds.word(446) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); dontloadseg(context); allocateload(context); - context.data.word(438) = context.ax; + context.ds.word(438) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); @@ -20424,9 +20424,9 @@ static void restoreall(Context & context) { static void sortoutmap(Context & context) { context.push(context.es); context.push(context.di); - context.ds = context.data.word(400); + context.ds = context.ds.word(400); context.si = 0; - context.es = context.data.word(418); + context.es = context.ds.word(418); context.di = 0; context.cx = 60; blimey: @@ -20444,43 +20444,43 @@ blimey: } static void startloading(Context & context) { - context.data.byte(64) = 0; - context.al = context.data.byte(context.bx+13); - context.data.byte(531) = context.al; - context.al = context.data.byte(context.bx+15); - context.data.byte(148) = context.al; - context.al = context.data.byte(context.bx+16); - context.data.byte(149) = context.al; - context.al = context.data.byte(context.bx+20); - context.data.byte(35) = context.al; - context.al = context.data.byte(context.bx+21); - context.data.byte(475) = context.al; - context.data.byte(478) = context.al; - context.data.byte(477) = context.al; - context.al = context.data.byte(context.bx+22); - context.data.byte(133) = context.al; - context.data.byte(135) = context.al; - context.al = context.data.byte(context.bx+23); - context.data.byte(39) = context.al; - context.al = context.data.byte(context.bx+24); - context.data.byte(36) = context.al; - context.al = context.data.byte(context.bx+25); - context.data.byte(38) = context.al; - context.data.byte(65) = -1; - context.al = context.data.byte(context.bx+27); + context.ds.byte(64) = 0; + context.al = context.ds.byte(context.bx+13); + context.ds.byte(531) = context.al; + context.al = context.ds.byte(context.bx+15); + context.ds.byte(148) = context.al; + context.al = context.ds.byte(context.bx+16); + context.ds.byte(149) = context.al; + context.al = context.ds.byte(context.bx+20); + context.ds.byte(35) = context.al; + context.al = context.ds.byte(context.bx+21); + context.ds.byte(475) = context.al; + context.ds.byte(478) = context.al; + context.ds.byte(477) = context.al; + context.al = context.ds.byte(context.bx+22); + context.ds.byte(133) = context.al; + context.ds.byte(135) = context.al; + context.al = context.ds.byte(context.bx+23); + context.ds.byte(39) = context.al; + context.al = context.ds.byte(context.bx+24); + context.ds.byte(36) = context.al; + context.al = context.ds.byte(context.bx+25); + context.ds.byte(38) = context.al; + context.ds.byte(65) = -1; + context.al = context.ds.byte(context.bx+27); context.push(context.ax); - context.al = context.data.byte(context.bx+31); - context.ah = context.data.byte(184); - context.data.byte(184) = context.al; + context.al = context.ds.byte(context.bx+31); + context.ah = context.ds.byte(184); + context.ds.byte(184) = context.al; context.dx = context.bx; openfile(context); readheader(context); allocateload(context); context.ds = context.ax; - context.data.word(416) = context.ax; + context.ds.word(416) = context.ax; context.dx = 0; loadseg(context); - context.ds = context.data.word(400); + context.ds = context.ds.word(400); context.dx = 0; context.cx = 132*66; context.al = 0; @@ -20488,69 +20488,69 @@ static void startloading(Context & context) { loadseg(context); sortoutmap(context); allocateload(context); - context.data.word(444) = context.ax; + context.ds.word(444) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); - context.ds = context.data.word(428); + context.ds = context.ds.word(428); context.dx = 0; context.cx = 64*128; context.al = 255; fillspace(context); loadseg(context); allocateload(context); - context.data.word(430) = context.ax; + context.ds.word(430) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(432) = context.ax; + context.ds.word(432) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(434) = context.ax; + context.ds.word(434) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(450) = context.ax; + context.ds.word(450) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(448) = context.ax; + context.ds.word(448) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(440) = context.ax; + context.ds.word(440) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(442) = context.ax; + context.ds.word(442) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(436) = context.ax; + context.ds.word(436) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); allocateload(context); - context.data.word(446) = context.ax; + context.ds.word(446) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); - context.ds = context.data.word(426); + context.ds = context.ds.word(426); context.dx = 0; context.cx = 16*80; context.al = 255; fillspace(context); loadseg(context); allocateload(context); - context.data.word(438) = context.ax; + context.ds.word(438) = context.ax; context.ds = context.ax; context.dx = 0; loadseg(context); @@ -20559,17 +20559,17 @@ static void startloading(Context & context) { deletetaken(context); setallchanges(context); autoappear(context); - context.al = context.data.byte(188); + context.al = context.ds.byte(188); getroomdata(context); - context.data.byte(65) = -1; - context.data.byte(56) = 0; - context.data.word(98) = 160; - context.data.byte(188) = 255; - context.data.byte(492) = 254; + context.ds.byte(65) = -1; + context.ds.byte(56) = 0; + context.ds.word(98) = 160; + context.ds.byte(188) = 255; + context.ds.byte(492) = 254; context.ax = context.pop(); context._cmp(context.al, 255); if (context.flags.z()) goto dontwalkin; - context.data.byte(475) = context.al; + context.ds.byte(475) = context.al; context.push(context.bx); autosetwalk(context); context.bx = context.pop(); @@ -20596,7 +20596,7 @@ lookx2: context.ah = 0; context.cx = 144; context._mul(context.cx); - context.es = context.data.word(450); + context.es = context.ds.word(450); context.bx = 0; context._add(context.bx, context.ax); context.ax = context.pop(); @@ -20606,40 +20606,40 @@ lookx2: context._add(context.ax, context.ax); context._add(context.bx, context.ax); context.al = 0; - context.data.byte(context.bx+6) = context.al; + context.ds.byte(context.bx+6) = context.al; return; } static void findxyfrompath(Context & context) { getroomspaths(context); - context.al = context.data.byte(475); + context.al = context.ds.byte(475); context.ah = 0; context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.ax, context.ax); context._add(context.bx, context.ax); - context.ax = context.data.word(context.bx); + context.ax = context.ds.word(context.bx); context._sub(context.al, 12); context._sub(context.ah, 12); - context.data.byte(151) = context.al; - context.data.byte(152) = context.ah; + context.ds.byte(151) = context.al; + context.ds.byte(152) = context.ah; return; } static void findroominloc(Context & context) { - context.al = context.data.byte(149); + context.al = context.ds.byte(149); context.cx = -6; looky: context._add(context.cx, 6); context._sub(context.al, 10); if (!context.flags.c()) goto looky; - context.al = context.data.byte(148); + context.al = context.ds.byte(148); context._sub(context.cx, 1); lookx: context._add(context.cx, 1); context._sub(context.al, 11); if (!context.flags.c()) goto lookx; - context.data.byte(185) = context.cl; + context.ds.byte(185) = context.cl; return; } @@ -20655,7 +20655,7 @@ static void getroomdata(Context & context) { static void readheader(Context & context) { context.ds = context.cs; context.dx = 5881; - context.cx = 5958-context.data.byte(5881); + context.cx = 5958-context.ds.byte(5881); readfromfile(context); context.es = context.cs; context.di = 5952; @@ -20665,7 +20665,7 @@ static void readheader(Context & context) { static void allocateload(Context & context) { context.push(context.es); context.push(context.di); - context.bx = context.data.word(context.di); + context.bx = context.ds.word(context.di); context.cl = 4; context._shr(context.bx, context.cl); allocatemem(context); @@ -20692,37 +20692,37 @@ static void fillspace(Context & context) { } static void getridoftemp(Context & context) { - context.es = context.data.word(458); + context.es = context.ds.word(458); deallocatemem(context); return; } static void getridoftemptext(Context & context) { - context.es = context.data.word(466); + context.es = context.ds.word(466); deallocatemem(context); return; } static void getridoftemp2(Context & context) { - context.es = context.data.word(460); + context.es = context.ds.word(460); deallocatemem(context); return; } static void getridoftemp3(Context & context) { - context.es = context.data.word(462); + context.es = context.ds.word(462); deallocatemem(context); return; } static void getridoftempcharset(Context & context) { - context.es = context.data.word(406); + context.es = context.ds.word(406); deallocatemem(context); return; } static void getridoftempsp(Context & context) { - context.es = context.data.word(464); + context.es = context.ds.word(464); deallocatemem(context); return; } @@ -20730,30 +20730,30 @@ static void getridoftempsp(Context & context) { static void readsetdata(Context & context) { context.dx = 1870; standardload(context); - context.data.word(404) = context.ax; + context.ds.word(404) = context.ax; context.dx = 1935; standardload(context); - context.data.word(408) = context.ax; + context.ds.word(408) = context.ax; context.dx = 1948; standardload(context); - context.data.word(410) = context.ax; + context.ds.word(410) = context.ax; context.dx = 1832; standardload(context); - context.data.word(414) = context.ax; + context.ds.word(414) = context.ax; context.dx = 2234; standardload(context); - context.data.word(454) = context.ax; + context.ds.word(454) = context.ax; context.dx = 2286; standardload(context); - context.data.word(452) = context.ax; - context.ax = context.data.word(404); - context.data.word(268) = context.ax; - context._cmp(context.data.byte(378), 255); + context.ds.word(452) = context.ax; + context.ax = context.ds.word(404); + context.ds.word(268) = context.ax; + context._cmp(context.ds.byte(378), 255); if (context.flags.z()) goto novolumeload; context.dx = 2299; openfile(context); context.cx = 2048-256; - context.ds = context.data.word(353); + context.ds = context.ds.word(353); context.dx = 16384; readfromfile(context); closefile(context); @@ -20775,7 +20775,7 @@ static void dreamweb(Context & context) { clearpalette(context); set16colpalette(context); readsetdata(context); - context.data.byte(391) = 0; + context.ds.byte(391) = 0; context.dx = 1922; loadsample(context); setsoundoff(context); @@ -20791,7 +20791,7 @@ dodecisions: cls(context); setmode(context); decide(context); - context._cmp(context.data.byte(103), 4); + context._cmp(context.ds.byte(103), 4); if (context.flags.z()) goto mainloop; titles(context); credits(context); @@ -20799,22 +20799,22 @@ playgame: clearchanges(context); setmode(context); loadpalfromiff(context); - context.data.byte(9) = 255; - context.data.byte(67) = 1; - context.data.byte(188) = 35; - context.data.byte(386) = 7; + context.ds.byte(9) = 255; + context.ds.byte(67) = 1; + context.ds.byte(188) = 35; + context.ds.byte(386) = 7; loadroom(context); clearsprites(context); initman(context); entrytexts(context); entryanims(context); - context.data.byte(183) = 3; + context.ds.byte(183) = 3; initialinv(context); - context.data.byte(153) = 32; + context.ds.byte(153) = 32; startup1(context); - context.data.byte(387) = 0; - context.data.byte(388) = -1; - context.data.byte(100) = 255; + context.ds.byte(387) = 0; + context.ds.byte(388) = -1; + context.ds.byte(100) = 255; goto mainloop; loadnew: clearbeforeload(context); @@ -20823,36 +20823,36 @@ loadnew: initman(context); entrytexts(context); entryanims(context); - context.data.byte(188) = 255; + context.ds.byte(188) = 255; startup(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; worktoscreenm(context); goto mainloop; alreadyloaded: - context.data.byte(188) = 255; + context.ds.byte(188) = 255; clearsprites(context); initman(context); startup(context); - context.data.byte(100) = 255; + context.ds.byte(100) = 255; mainloop: screenupdate(context); - context._cmp(context.data.byte(391), 0); + context._cmp(context.ds.byte(391), 0); if (!context.flags.z()) goto endofgame; - context._cmp(context.data.byte(56), 1); + context._cmp(context.ds.byte(56), 1); if (context.flags.z()) goto gameover; - context._cmp(context.data.byte(56), 2); + context._cmp(context.ds.byte(56), 2); if (context.flags.z()) goto gameover; - context._cmp(context.data.word(21), 0); + context._cmp(context.ds.word(21), 0); if (context.flags.z()) goto notwatching; - context.al = context.data.byte(477); - context._cmp(context.al, context.data.byte(475)); + context.al = context.ds.byte(477); + context._cmp(context.al, context.ds.byte(475)); if (!context.flags.z()) goto mainloop; - context._sub(context.data.word(21), 1); + context._sub(context.ds.word(21), 1); if (!context.flags.z()) goto mainloop; notwatching: - context._cmp(context.data.byte(56), 4); + context._cmp(context.ds.byte(56), 4); if (context.flags.z()) goto gameover; - context._cmp(context.data.byte(188), 255); + context._cmp(context.ds.byte(188), 255); if (!context.flags.z()) goto loadnew; goto mainloop; gameover: @@ -21427,7 +21427,7 @@ void __start(Context &context) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - context.data.assign(src, src + sizeof(src)); dreamweb(context); } + context.ds.assign(src, src + sizeof(src)); dreamweb(context); } void __dispatch_call(Context &context, unsigned addr) { switch(addr) { diff --git a/engines/dreamweb/runtime.h b/engines/dreamweb/runtime.h index fb634b6e05..6adcdc73be 100644 --- a/engines/dreamweb/runtime.h +++ b/engines/dreamweb/runtime.h @@ -114,12 +114,10 @@ class SegmentRef { Segment *_segment; public: - SegmentRef(Context *ctx): _context(ctx), _value(), _segment() { + SegmentRef(Context *ctx, uint16 value = 0, Segment *segment = 0): _context(ctx), _value(value), _segment(segment) { } - inline void reset(uint16 value) { - - } + inline void reset(uint16 value); inline SegmentRef& operator=(const uint16 id) { return *this; @@ -143,6 +141,11 @@ public: assert(_segment != 0); return _segment->word(index); } + + inline void assign(const uint8 *b, const uint8 *e) { + assert(_segment != 0); + _segment->assign(b, e); + } }; struct Flags { @@ -174,9 +177,12 @@ struct Flags { }; class Context { - Common::HashMap<uint16, Segment> _segments; + typedef Common::HashMap<uint16, Segment> SegmentMap; + SegmentMap _segments; public: + enum { kDefaultDataSegment }; + Register ax, dx, bx, cx, si, di; RegisterPart<kLowPartOfRegister> al; RegisterPart<kHighPartOfRegister> ah; @@ -191,9 +197,18 @@ public: Flags flags; inline Context(): al(ax), ah(ax), bl(bx), bh(bx), cl(cx), ch(cx), dl(dx), dh(dx), cs(this), ds(this), es(this) { - + _segments[kDefaultDataSegment] = Segment(); + cs.reset(1); + ds.reset(1); + es.reset(1); } - + + SegmentRef getSegment(uint16 value) { + SegmentMap::iterator i = _segments.find(value); + assert(i != _segments.end()); + return SegmentRef(this, value, &i->_value); + } + inline void _cmp(uint8 a, uint8 b) { uint8 x = a; _sub(x, b); @@ -342,10 +357,12 @@ public: stack.pop_back(); return v; } - - Segment data; }; +inline void SegmentRef::reset(uint16 value) { + *this = _context->getSegment(value); +} + } #endif |