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