Yes folks, as amazing as it may seem, that infamous behemoth called Microsoft actually did us all a Favour by including a very useful little assembler program in DOS called DEBUG!

I'm in the process of gathering together some resources detailing this little-known utility (Thanks Lord X) to help those who want to learn more than most.

    Some other resources:
  1. LEO - /pub/comp/platforms/pc/msdos/programming/asm/debug
  2. Using DEBUG to Start a Low-Level Format.

You can prepare little DEBUG scripts/programs to feed DEBUG in any text editor (good old EDIT should do the trick). Here are a couple Lord X posted to alt.2600 for a cold and warm boot:

coldboot.asm
N COLDBOOT.COM
A 100
MOV AX,0040
MOV DS,AX
MOV WORD PTR [0072],FFFF
CLI
JMP F000:FFF0

R CX
11
W
Q

Note: make sure you include that space between the JMP and R CX otherise you'll be rebooting your computer for sure. :-)


warmboot.asm
N WARMBOOT.COM
A 100
MOV AX,0040
MOV DS,AX
MOV WORD PTR [0072],1234
CLI
JMP F000:FFF0

R CX
11
W
Q


There's something to mull over. Now, of course you need not name the .com files the same name as the .asm. If you should so choose, you could break out your ASCII character tables and enter in some invisible character as the name... Haven't tried this yet, but it should work.

Any other contributions would be greatly appreciated.