Posted by odjo on March 18, 2000 at 08:05:34:
In reply to: Gameflow, tombPC.dat etc posted by Jantje on March 17, 2000 at 10:00:31:
> I'm sorry, but since I'm not a progammer I don't understand it...
Hi Jantje, I wrote a short debug script for you.
This script is not for extracting ASCII strings from tombpc.dat,
but simply dumps the whole xor'ed tombpc.dat. you'll see what i was
talking about, and you may even want to write a tombpc.dat program.
In some version of tombpc.dat a kind of "metacharacters" are used to
represent, for example, French accent or German umlaut.
# make some directory and you get into it.
C:\>mkdir \WORK
C:\>cd \WORK
# copy tombpc.dat to current directory for your convenience.
C:\WORK>copy somewhere\tombpc.dat .
1 file(s) copied
# load tombpc.dat to see its size ( R: show register command ),
# then quit debug ( Q ).
C:\WORK>debug tombpc.dat
-r
AX=0000 BX=0000 CX=0930 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=13D1 ES=13D1 SS=13D1 CS=13D1 IP=0100 NV UP EI PL NZ NA PO NC
13D1:0100 0300 ADD AX,[BX+SI] DS:0000=20CD
-q
# register pair bx:cx has the file size of tombpc.dat, in this case 00000930
# you must remember cx value ( for this instance of TRLA demo, 0930 ).
# save below as text file named as, for example, debug.scr.
# edit debug.scr replacing TWO "NNNN" by the cx value you inspected just now.
# in my case the first line becomes "m0100 l0930 0200" and the line
# last but one "d0 l0930".
----- cut here and save it as DEBUG.SCR -----
m0100 lNNNN 0200
a0100
or cx, cx
jnz 0105
int 3
mov ax, cs
add ax, 0020
mov ds, ax
mov es, ax
xor si, si
mov di, si
mov ah, [017e]
push cx
lodsb
xor al, ah
stosb
loop 0117
pop cx
int 3
g=0100
d0 lNNNN
q
----- cut here and save it as DEBUG.SCR -----
# check debug.scr once more, then you type this command with redirection:
C:\>debug tombpc.dat < debug.scr > debug.log
# examine debug.log on text editor.
odjo