User Tools

Site Tools


blog:pushbx:2024:0917_early_mid_september_work_on_ldebug_edr-dos_and_ldos_instsect

Early mid September work on lDebug, EDR-DOS, and lDOS instsect

2024-09-15

lDebug

During the review I noticed that the AXO variable exists, which is supposed to be for the next address of the _DX command. However, it has several problems:

  • It isn't conditional on the _DX define
  • The dx.eld doesn't install a variable structure for it
  • It actually points at the offset for the AAO variable (a_addr), not the intended variable (x_addr). So it never was functional as intended.

Edited to add:

Enhanced DR-DOS

lDOS instsect

Add a type heuristic, allowing instsect to inspect the boot sector loader for which load protocol it appears to implement. This as yet only uses far jumps, either those presumably transferring control to the next stage (kernel / initial loader) or those early in the FreeDOS loaders to transfer to the relocated sector loader. The latter happens to be immediately before the loadseg variable which controls where the next stage is loaded and what address it is entered at.

The recognised load protocols so far are:

  • lDOS (new), jmp 200h:400h
  • lDOS (old), jmp 70h:400h
  • MS-DOS v7, jmp 70h:200h
  • MS-DOS v6 / IBM-DOS / lDOS (EDR-DOS), jmp 70h:0
  • FreeDOS (FreeDOS), jmp 1FE0h:XXXXh followed by dw 0, 60h
  • FreeDOS (Enhanced DR-DOS), jmp 1FE0h:XXXXh followed by dw 0, 70h
  • FreeDOS (other), jmp 1FE0h:XXXXh followed by dw 0
  • lDOS (FreeDOS), jmp 60h:0

(The parameters marked by XXXXh are wildcards in the search patterns.)

You could leave a comment if you were logged in.
blog/pushbx/2024/0917_early_mid_september_work_on_ldebug_edr-dos_and_ldos_instsect.txt · Last modified: 2024-09-17 20:26:41 +0200 Sep Tue by ecm