Hello list!
Today I prepared release 7 of lDebug (small L). lDebug is an advanced
debugger for 86-DOS like systems. It is based on Paul Vojta's and
Japheth's FreeDOS Debug/X, which in turn started out as a clone of
MS-DOS Debug. Like all of these, it operates with a line-based terminal
interface. lDebug expands a lot on the capabilities of its ancestors
however.
Release 7 adds one big feature that's new: The debugger now allocates
space for and allows loading of Extensions for lDebug (ELDs). Several
dozen ELDs have been written so far. They're included in the release in
the bin/ subdirectory (lDebug original packages) or in BIN/ (FreeDOS
package). The ELD architecture was created to allow optional extensions
of the debugger without bogging down the build, particularly the code
segment, with a lot of most likely unused code.
Other than that, some bugfixes have arrived. To summarize from the
manual's list of news [1]:
* The DIL command works now, fixing an embarrassing bug in release 6
for which I provided patches [2].
* The INSTALL command correctly works with the AREAS keyword followed
by another keyword.
* Two bootloaded mode file system read errors were fixed, one when a
file ends exactly on a cluster boundary and another when a FAT12 entry
is read which straddles a sector boundary in the FAT.
* The BOOT PROTOCOL= command with two kernel load files (MS-DOS v6 or
IBM-DOS load protocol) now allows to freely select the second (DOS) file
in any subdirectory of the partition to boot from.
A few new features were added (aside from those implemented by
Extensions for lDebug):
* An INSTALL TOGGLE command to switch certain features on or off.
* A fractional digit sometimes displayed for formatted sizes.
* ::scripts:: and ::config:: keywords can be used in pathnames passed
to Y, EXT, or BOOT DIR commands in bootloaded mode.
* The debugger will allocate a 2 KiB environment block for itself (in
any mode) which is intended for storing Variables for lDebug using the
set.eld and variable.eld.
* The application and device init will try to work with a smaller
initial allocation instead of enforcing a maximum-size ("init max")
layout early on.
Several new switches are now recognised by the application and device
mode init. /X resizes the ELD code instance segment from its default
size, /Y does likewise for the ELD data block area, and /H is the switch
to do the same to the debugger's history buffer. There is also the
undocumented /T switch, described some on the blog [3].
Some little-used features of the debugger were actually thrown out. The
build options _EMS, _RM, and _RN are now disabled by default. They
correspond to the X commands, as well as the RM and RN command. If
desired, then apart from creating a build with the options enabled,
users may instead choose to install the Extensions for lDebug that share
the sources of the disabled commands. They are named x.eld, rm.eld, and
rn.eld. They can be used either as transient ELDs (to run a single
command; requires DOS or bootloaded FS access each time) or installed as
resident ELDs (needs to access the file only for ELD install).
The packages of this release are found on our server [4]. In the fdpkg
subdirectory I placed a FreeDOS package, and in the svardpkg a SvarDOS
binary and sources package each. As usual, all changes are recorded in
the hg (Mercurial) repository, which can be browsed using our hgweb [5].
As a news blurb for the FreeDOS website (and the sourceforge.net news
tracker [6]) I would suggest the following:
lDebug release 7
lDebug (small L) is a DOS debugger based on FreeDOS Debug/X. Today's new
release 7 adds the architecture for Extensions for lDebug, with 52
different ELDs included in the release package. Further, a number of
smaller improvements and fixes are included, several of which make
lDebug better in its bootloaded mode. The application and device mode
init is less memory-hungry than it would be with its prior "init max"
approach. Find more details on [the mailing list], and everything lDebug
at [the lDebug website][7].
Regards,
ecm
[1]: https://pushbx.org/ecm/doc/ldebug.htm#news-r7
[2]:
https://pushbx.org/ecm/dokuwiki/blog/pushbx/2023/0911_live_patching_the_debugger_itself
[3]:
https://pushbx.org/ecm/dokuwiki/blog/pushbx/2023/0911_debugger_relocation_all_switches_explained
[4]: https://pushbx.org/ecm/download/ldebug/
[5]: https://hg.pushbx.org/ecm/ldebug/log/release7
[6]: https://sourceforge.net/p/freedos/news/
[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