Ok, I did a little in-depth research in the last couple of weeks. And I found this:
SID 1.0 (Concurrent DOS 3.1, Release Date 1983)
- assembles and disassembles 8086 and 8087 opcodes.
- supports symbolic debugging when symbol files in the syntax of Digital Research's RASM-86 assembler were available. Other symbol files are not supported.
SID 2.? (Release Date 1984)
SID 2.? (Release Date 1985)
SID 3.0 (DR-DOS 3.40, 3.41, Release Date 1988)
- Symbolic debugging was somehow still there, but it was broken. The disassembly display of a label with
L.labelname
led to a segment address that differed by 40h. A workaround like L.labelname-40h
doesn't work, because the segment address doesn't change with such a command. This bug was present up to and including SID 3.2.
SID 3.1 (DR-DOS 5.0, Release Date 1990)
- Command filename renamed from "SID86.EXE" to "SID.EXE"
- CS, DS, ES segment registers are preassigned after start. In 3.0 and older all segment registers point to 0000.
- Bug fix for segment overflow. For example when doing a memory dump
DFFFF
SID 3.0 crashes. SID 3.1 and later do not crash.
- SID no longer exits after running a program using the command
G
. Instead, the IP register is reset to the last address that was in the IP register after a single-stepped execution.
- Special debugging support and commands for GEM were removed in SID 3.1.
SID 3.2 (DR-DOS 6.0, Release Date 1991)
- Bug regression. A specific sequence of commands will not be accepted and acknowledged with the message "Invalid parameter". A workaround is to modify the command, e.g. For example, if you want to output a memory dump, you can workaround this bug by using an address calculation instead of a fixed address. For example, instead of
d0100
use d0090+70
.
DEBUG ? (Novell DOS 7.0) (I couldn't find a release version for DEBUG)
- Command filename renamed from "SID.EXE" to "DEBUG.EXE"
- The command syntax has been adapted to DEBUG.EXE from MS-DOS and the syntax of SID dropped. Useful functions that MS-DOS DEBUG.EXE cannot do, such as entering decimal numbers, have been retained.
- The ability to use symbolic debugging has been completely removed.
- Can open files with the command
N
(The N
corresponds to E
in SID 3.2) followed by parameters. The parameters can also be changed after loading by calling N /parametername
. In SID 3.2, it is not possible to specify parameters for the loaded program.
- Macros can be deleted.
- The arithmetic operators * and / are now also allowed.
- The complete instruction set of the Intel 8088 up to the Intel Pentium as well as all instructions of the Intel co-processors are supported. In SID 3.2, support was still limited to 8086 and 8087 instructions when using the command
A
- "Assembly into memory".
- Command history with cursor keys DOWN / UP. SID <= 3.2 was limited to the last command, which could be called again with the F3 key.
- A version specification is no longer displayed and there is none in the DEBUG memory.
I couldn't find any more information.
DEBUG
(1.40 to 1.42) and DR-DOS 7.03DEBUG
(1.51) are further descendants of SID. Matthias Paul’sMPDOSTIP
has some information on changes in various versions, but it has to be pieced together; for example, SID86 crashed on offset overflows, and SID 3.1 fixed that.