Support for 40-column displays in the R, U, D, and E commands
Expression types
The QA and QB and QC and QD commands
RC buffer commands
The RVP and RVD commands
The device driver mode
The conditionally debuggable lCDebug build option
Dual code segments build option
Sharing serial IRQs
The TAKEN and NOTTAKEN keywords
Debugger exception areas and AMIS private function 33h
The CLR operator
Variables to control the default length of U and D commands
INSTALL and UNINSTALL commands
Descriptor modification commands
Query patch support for bootloaded mode
MMX support commands fixed
IF EXISTS R variable THEN
command
lDebugX in PM handles 32-bit offsets correctly more often, detects use of 32-bit offsets from limits > FFFFh
Use of the scratch selector works in some cases where it would have failed
R write memory variable command doesn't crash for values ending in FFFFh anymore
A range parameter can be ended by a semicolon comment indicator
Interrupt 19h call while in application mode now sets up registers to terminate the process on the next trace step
Current PSP is read and written using the SDA even in PM
Empty binaries now cause an error even if the DOS incorrectly handles them (FreeDOS kernel bug)
No longer crash in init if there's no UMCB but int 21.5803 is supported
Do not crash in init if int 2Fh is not initialised
WHILE condition not checked if pass or non-pass permanent breakpoint runs
The ldebug.txt file is now converted to CR LF line endings immediately after Halibut has created it
Command line tail in PSP also set up for loading .BIN files
Empty /C switch does not cause an error
Terminate properly on reaching the end of a stdin file
AAM and AAD do not display an operand in disassembly if it would be 0A
RC buffer execution is aborted by a Control-C
XMS Protected Mode entrypoint is no longer used by default
r f .
works
Bootloaded sector read that crosses a 64 KiB DMA boundary copies correct amount of data from transfer buffer
u(bootldpunit).(bootldppart)
works even if LDP is a diskette file system
Serial IRQ handler passes on call if its IRQ isn't set in the In-Service Register of the PIC
RC command line parsing skips leading blanks
Double slash without subsequent command line allowed for BOOT PROTOCOL
command
E and A commands in PM display original selector even if actually writing through the debugger's scratch selector
C command never uses debugger's scratch selector (and does not display it either)
Do not fault if scratch selector got a low limit in some way
BOOT PROTOCOL
command always allows use of ENTRY and BPB parameters
Allow all address specifications for M command
Disassemble mov
with segreg and memory operand as always m16
Allow operators between ??
and ::
in H command
Allow single-digit interrupt number for RIxxy variables
Disabling string instruction simulation now assumes count as 1 for the access variables
Operand size prefix disassembled as part of a push
or pop
with segreg
Do not simulate string instruction on U command
lDebugX preserves scratch selector across getexpression
calls
lDebugX TSR command works in PM
Set sleep delta limit to 5 to work around idle function needing more than 1 timer tick
Allow bootloaded debugger to access small FAT32 file systems (below 64 Ki clusters)
Q or QA could fail due to corrupting the client stack in the PM interrupt 21h handler
Access variables for int
instructions select size based on mode, ignore operand-size of the instruction
Fix S command error if search mask is longer than search area
Support EXECUTING
keyword on non-386 machines
Allow access to VD
variable using R command
Creating a process resets the DTA
Bootloaded init relocation could corrupt part of the debugger in an unlikely case
RM command and MMxy register reads work