2024-09-15
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:
Edited to add:
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:
jmp 200h:400h
jmp 70h:400h
jmp 70h:200h
jmp 70h:0
jmp 1FE0h:XXXXh
followed by dw 0, 60h
jmp 1FE0h:XXXXh
followed by dw 0, 70h
jmp 1FE0h:XXXXh
followed by dw 0
jmp 60h:0
(The parameters marked by XXXXh are wildcards in the search patterns.)