Hello,

Today I'm pushing out release 9 of lDebug, the 86-DOS debugger with the small L 
[1]! Just in time for the next FreeDOS interim release. It collected a few 
changes [2] since March's release 8. This includes several bugfixes and a 
number of other improvements, such as:

Assembling PUSH or POP with memory operands will now default to a size if none 
is given, to make the debugger more compatible to MS-DOS Debug. When specifying 
16-bit unsigned numbers above-or-equal FF80h to the assembler, it can encode 
them as sign-extended 8-bit immediates in some cases. Further, the assembler 
accepts JMP FAR with a single number as implying a destination code segment 
equal to the current assembly segment, a feature copied from MS-DOS Debug. 
Assembling a MOVZX instruction writing to a 32-bit register from a memory 
operand lacking a size is rejected. (If the destination is a 16-bit register 
instead then a byte size is assumed.)

The new MODRM keyword allows to select or depict encodings that the assembler 
wouldn't choose by default. The xchg operand order in both the assembler and 
disassembler match NASM's and NDISASM's now. With a new DAO (Debugger Assembler 
Options) flag the NASM form of LOOP with an ECX or CX operand can be 
disassembled when an ASIZE prefix is found, rather than suffixing a D or W.

Three patch areas are added, currently used only for the TSC Extension for 
lDebug (ELD), to run small code snippets close to exiting or entering the 
debugger upon running a debuggee.

The instsect.com application now ships with the improved FSIBOOT5 protocol for 
the two-stage FAT32 loader. The application itself was improved somewhat, as 
well.

Heatshrink compression of the online help pages is now enabled, shrinking the 
total resident size of the debugger as compared to using the uncompressed 
online help.

The immediate assembler is enabled as well. This feature is inspired by D86. It 
allows you to enter a debugger command that consists of a dot followed by an 
assembly instruction, which will be assembled into a small buffer and ran 
immediately.

Bugs fixed:

* DPMI exit call to int 21h with 32-bit stack would crash. Reported by Japheth.

* Switching modes from DPMI PM to Real/Virtual 86 Mode with non-86-mode 
selector bases for one of the address variables (such as ADS, "Address D 
command Segment/Selector") would crash.

* Linear address specification to G or B commands using "@(" didn't parse 
closing parens correctly.

* BL command display fixed for DPMI with segments not matching current CS.

* Allow a comma between a numeric size expression (after L specifier) and a 
subsequent size keyword.

* Correctly parse device mode command line if it ends in a Line Feed (LF).

* Avoid some memory corruption during device mode init.

* The LBA check of the booted debugger works around a bug in the Xi8088 
ROM-BIOS [3] by setting DS to 40h while calling int 13h function 41h.

* Flat binary file load disabled by default in device mode or resident 
debugger. It'd corrupt memory if no address was specified.

For the exact log of changesets you can consult the Mercurial repo [4]. I also 
write about lDebug changes regularly on my tech blog, the pushbx blog [5]. As 
usual the default, FreeDOS, and SvarDOS packages can be downloaded from our 
server [6].

My suggested blurb for the FreeDOS news:

Today marks another release of the DOS debugger with the small L, lDebug. This 
line-oriented debugger is a fork originally based on the 2008 version 1.13 of 
FreeDOS Debug/X, with a number of additions. Release 9 marks some bugfixes, a 
new revision of the lDebug/lDOS boot protocol for FAT32 drives, and the 
immediate assembler feature now enabled at build time. There's [a longer 
announcement on the freedos-user list]. Get lDebug from [ecm's website] [7] or 
from the mirror at ibiblio's FreeDOS Files Archive.

Regards,
ecm


[1]: https://pushbx.org/ecm/web/#projects-ldebug
[2]: https://pushbx.org/ecm/doc/ldebug.htm#news-r9
[3]: https://www.bttr-software.de/forum/forum_entry.php?id=21275
[4]: https://hg.pushbx.org/ecm/ldebug/shortlog/release9
[5]: https://pushbx.org/ecm/dokuwiki/doku.php?id=blog:pushbx
[6]: https://pushbx.org/ecm/download/ldebug/
[7]: https://pushbx.org/ecm/web/#projects-ldebug
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to