diff options
-rwxr-xr-x | devtools/tasmrecover/tasm-recover | 1 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 112 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.h | 35 |
3 files changed, 73 insertions, 75 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover index dac600a261..edc4a60be2 100755 --- a/devtools/tasmrecover/tasm-recover +++ b/devtools/tasmrecover/tasm-recover @@ -47,6 +47,7 @@ p = parser(skip_binary_data = [ 'icongraphics0', 'icongraphics1', 'savenames', + 'volumetabname', # keypad.asm 'keypadlist', 'symbollist', diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp index 94658a164b..5b96e7cb86 100644 --- a/engines/dreamweb/dreamgen.cpp +++ b/engines/dreamweb/dreamgen.cpp @@ -2996,14 +2996,14 @@ void DreamGenContext::getDestInfo() { push(ax); dx = data; es = dx; - si = 1287; + si = 1274; _add(si, ax); cl = es.byte(si); ax = pop(); push(cx); dx = data; es = dx; - si = 1303; + si = 1290; _add(si, ax); ax = pop(); } @@ -3055,7 +3055,7 @@ clearedlocations: bx = ax; dx = data; es = dx; - _add(bx, 1287); + _add(bx, 1274); es.byte(bx) = 0; } @@ -3091,7 +3091,7 @@ void DreamGenContext::execCommand() { es = cs; bx = offset_comlist; ds = cs; - si = 1321; + si = 1308; al = ds.byte(si); _cmp(al, 0); if (!flags.z()) @@ -3184,7 +3184,7 @@ dirroot: si = offset_rootdir; _inc(si); es = cs; - di = 1163; + di = 1150; _inc(di); cx = 12; _movsb(cx, true); @@ -3286,7 +3286,7 @@ notyetassigned: push(bx); _add(bx, 2); ds = cs; - si = 1321; + si = 1308; checkpass: _lodsw(); ah = es.byte(bx); @@ -3357,7 +3357,7 @@ void DreamGenContext::read() { return; okcom: es = cs; - di = 1163; + di = 1150; ax = data.word(kTextfile1); data.word(kMonsource) = ax; ds = ax; @@ -3487,7 +3487,7 @@ keyok2: ds = cs; si = offset_operand1+1; es = cs; - di = 1163+1; + di = 1150+1; cx = 12; _movsb(cx, true); monitorLogo(); @@ -3614,7 +3614,7 @@ void DreamGenContext::parser() { al = '='; _stosb(); ds = cs; - si = 1321; + si = 1308; notspace1: _lodsw(); _cmp(al, 32); @@ -5582,7 +5582,7 @@ void DreamGenContext::clearChanges() { di = 0; _stosw(cx, true); es = cs; - di = 1287; + di = 1274; al = 1; _stosb(2); al = 0; @@ -5893,53 +5893,53 @@ void DreamGenContext::__start() { //0x0390: .2.. .... .2.. .... 0x00, 0x32, 0x14, 0x00, 0x0e, 0x21, 0x28, 0x00, 0x00, 0x32, 0x14, 0x00, 0xff, 0x44, 0x52, 0x45, //0x03a0: .2.. .!(. .2.. .DRE - 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x44, 0x52, 0x45, 0x41, 0x4d, 0x57, - //0x03b0: AMWE B.V9 9.DR EAMW - 0x45, 0x42, 0x2e, 0x56, 0x4f, 0x4c, 0x00, 0x00, 0x01, 0x45, 0x58, 0x49, 0x54, 0x20, 0x20, 0x20, - //0x03c0: EB.V OL.. .EXI T - 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x49, 0x53, - //0x03d0: H ELP LIS - 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x03e0: T R EAD - 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, 0x59, 0x53, 0x20, - //0x03f0: LOG ON K EYS - 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, - //0x0400: ..P UBLI C - 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, - //0x0410: P UBLI C .. - 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, 0x52, 0x59, 0x41, - //0x0420: .BLA CKDR AGON RYA - 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, 0x4e, 0x44, 0x52, - //0x0430: N ...H ENDR - 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, 0x20, 0x20, 0x20, - //0x0440: IX L OUIS - 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, 0x20, 0x20, 0x20, - //0x0450: .. .SEP TIMU S - 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, 0xff, 0xff, 0x20, - //0x0460: BEC KETT ... - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x52, 0x4f, - //0x0470: ."RO - 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, 0x20, 0x20, 0x20, - //0x0480: OT ." - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x30, - //0x0490: .000 0.00 - 0x00, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, 0x4e, 0x41, 0x4d, - //0x04a0: .... .$OB JECT NAM - 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - //0x04b0: E ON E - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x10, - //0x04c0: .. - 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, - //0x04d0: .... .... .... .... - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - //0x04e0: .... ...D :... .... + 0x41, 0x4d, 0x57, 0x45, 0x42, 0x2e, 0x56, 0x39, 0x39, 0x00, 0x00, 0x01, 0x45, 0x58, 0x49, 0x54, + //0x03b0: AMWE B.V9 9... EXIT + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x48, 0x45, 0x4c, 0x50, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x03c0: HE LP + 0x4c, 0x49, 0x53, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x45, 0x41, 0x44, 0x20, 0x20, + //0x03d0: LIST RE AD + 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x47, 0x4f, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4b, 0x45, + //0x03e0: LOGO N KE + 0x59, 0x53, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x00, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, + //0x03f0: YS ..PU BLIC + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x20, 0x20, 0x20, + //0x0400: PU BLIC + 0x20, 0x00, 0x00, 0x00, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x20, + //0x0410: ... BLAC KDRA GON + 0x52, 0x59, 0x41, 0x4e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x48, 0x45, + //0x0420: RYAN . ..HE + 0x4e, 0x44, 0x52, 0x49, 0x58, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4c, 0x4f, 0x55, 0x49, 0x53, 0x20, + //0x0430: NDRI X LO UIS + 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x53, 0x45, 0x50, 0x54, 0x49, 0x4d, 0x55, 0x53, + //0x0440: ... SEPT IMUS + 0x20, 0x20, 0x20, 0x20, 0x42, 0x45, 0x43, 0x4b, 0x45, 0x54, 0x54, 0x20, 0x20, 0x20, 0x20, 0x00, + //0x0450: BECK ETT . + 0xff, 0xff, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, + //0x0460: .. . + 0x22, 0x52, 0x4f, 0x4f, 0x54, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x22, 0x20, + //0x0470: "ROO T ." + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x30, 0x30, 0x30, + //0x0480: . 0000 + 0x00, 0x30, 0x30, 0x00, 0x0d, 0x0a, 0x0d, 0x0a, 0x24, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x20, + //0x0490: .00. .... $OBJ ECT + 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x4f, 0x4e, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x04a0: NAME ONE + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + //0x04b0: + 0x20, 0x00, 0x10, 0x12, 0x12, 0x11, 0x10, 0x10, 0x10, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + //0x04c0: ... .... .... .... + 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x44, 0x3a, 0x00, 0x00, 0x00, 0x00, + //0x04d0: .... .... ..D: .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + //0x04e0: .... .... .... .... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, //0x04f0: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, //0x0500: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x02, 0x04, 0x01, 0x0a, 0x09, 0x08, + 0x0a, 0x09, 0x08, 0x06, 0x0b, 0x04, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0510: .... .... .... .... - 0x06, 0x0b, 0x04, 0x07, 0x07, 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, //0x0520: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0530: .... .... .... .... @@ -5953,11 +5953,9 @@ void DreamGenContext::__start() { //0x0570: .... .... .... .... 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //0x0580: .... .... .... .... - 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, 0xff, 0xff, 0xff, 0xff, //0x0590: .... .... .... .... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, - //0x05a0: .... .... .... .... - 0x00, 0x00, }; + 0xff, 0xff, 0x00, 0x00, 0x00, }; ds.assign(src, src + sizeof(src)); dreamweb(); } diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h index ef45dd5a97..6642803b42 100644 --- a/engines/dreamweb/dreamgen.h +++ b/engines/dreamweb/dreamgen.h @@ -32,14 +32,14 @@ namespace DreamGen { -static const uint16 offset_money1poke = 0x0499; -static const uint16 offset_openchangesize = 0x03c7; -static const uint16 offset_comlist = 0x03c9; -static const uint16 offset_money2poke = 0x049e; -static const uint16 offset_commandline = 0x04a6; -static const uint16 offset_rootdir = 0x047d; -static const uint16 offset_keys = 0x0405; -static const uint16 offset_operand1 = 0x046f; +static const uint16 offset_keys = 0x03f8; +static const uint16 offset_money1poke = 0x048c; +static const uint16 offset_commandline = 0x0499; +static const uint16 offset_rootdir = 0x0470; +static const uint16 offset_comlist = 0x03bc; +static const uint16 offset_openchangesize = 0x03ba; +static const uint16 offset_operand1 = 0x0462; +static const uint16 offset_money2poke = 0x0491; static const uint16 kStartvars = 0; static const uint16 kProgresspoints = 1; static const uint16 kWatchon = 2; @@ -389,16 +389,15 @@ static const uint16 kCurrentsample = 482; static const uint16 kRoomssample = 483; static const uint16 kReelroutines = 484; static const uint16 kBasicsample = 941; -static const uint16 kVolumetabname = 954; -static const uint16 kCurrentfile = 1163; -static const uint16 kRoomscango = 1287; -static const uint16 kRoompics = 1303; -static const uint16 kOplist = 1318; -static const uint16 kInputline = 1321; -static const uint16 kPresslist = 1449; -static const uint16 kQuitrequested = 1455; -static const uint16 kSubtitles = 1456; -static const uint16 kForeignrelease = 1457; +static const uint16 kCurrentfile = 1150; +static const uint16 kRoomscango = 1274; +static const uint16 kRoompics = 1290; +static const uint16 kOplist = 1305; +static const uint16 kInputline = 1308; +static const uint16 kPresslist = 1436; +static const uint16 kQuitrequested = 1442; +static const uint16 kSubtitles = 1443; +static const uint16 kForeignrelease = 1444; static const uint16 kBlocktextdat = (0); static const uint16 kPersonframes = (0); static const uint16 kDebuglevel1 = (0); |