home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best Objectech Shareware Selections
/
UNTITLED.iso
/
boss
/
grap
/
util
/
006
/
dmpmem.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-10-28
|
1KB
|
50 lines
uses dos;
const
hx:array[0..15] of char='0123456789ABCDEF';
var
x,y:word;
f:file;
t:text;
rp:registers;
function hex4(w:word):string;
begin
hex4:=hx[w shr 12]+hx[hi(w) and 15]+hx[lo(w) shr 4]+hx[w and 15];
end;
begin
x:=$c000;
while x<$f000 do
begin
if memw[x:0]=$aa55 then
begin
y:=mem[x:2];
assign(f,'dmp'+hex4(x)+'.rom');
rewrite(f,512);
if y>63 then
begin
blockwrite(f,mem[x:0],64);
inc(x,2048);
dec(y,64);
end;
blockwrite(f,mem[x:0],y);
close(f);
inc(x,y shl 5);
end
else inc(x,128);
end;
assign(t,'vectors.rom');
rewrite(t);
writeln(t,'INT 10h = '+hex4(memw[0:$42])+':'+hex4(memw[0:$40]));
writeln(t,'INT 6Dh = '+hex4(memw[0:$1b6])+':'+hex4(memw[0:$1b4]));
writeln(t,'State Table = '+hex4(memw[0:$4aa])+':'+hex4(memw[0:$4a8]));
for x:=0 to 7 do
begin
rp.ax:=$1130;
rp.bh:=x;
intr(16,rp);
writeln(t,'FNT'+chr(x+48)+' = '+hex4(rp.es)+':'+hex4(rp.bp));
end;
close(t);
end.