Very cool script Paul,

Need to move $CRLF=chr(13)+chr(10) from where it is to under GLOBALs. It is not defined in non-Dell section otherwise and you get a DEBUG.SCR without the CRLFs - hangs the DOS box.

Bryce, (and others)

Debug is used here to dump the information in the BIOS ROM about the computer. The DEBUG.SCR file is a set of keystrokes that we < to DEBUG.EXE and then capture the result.

D is for Dump and it displays memory at a starting address. The range is the amount of mem to dump. The default range is 0x180.

Q is quit. So the script runs DEBUG.EXE, Dumps a small piece of memory and then Quits. The output file is in the format of

Segment:offset/\/\un0ln0/\un1ln1/\...-../\un15ln15/\/\/\c0c1c2....c15CRLF

where
segment:offset = the absolute address
/\ = space
unX = upper nibble of byte X
lnX = lower nibble of byte X
cX = character of byte X

X is the absolute address of the byte. eg:

0ADF:0100 06 F8 96 01 74 09 50 56-9A E0 01 C5 10 5E 58 FF ....t.PV.....^X.

at address 0adf:0100 is byte 0x06 which looks like "." (it doesn't really, but that is what DEBUG.EXE shows for non-displayable characters)

as an aside... 0adf:0100 translates to 0adf0 + 100 = 0aef0 in physical memory. This is the 44,784th btye (prob on the first sim)

I love assembly!

cj