Mid late January work (Enhanced DR-DOS, lDebug, lMS-DOS)
Enhanced DR-DOS
A user reported that PC-DOS command.com (after hacking its version check) didn't work correctly running a REN command on EDR-DOS. I was able to reproduce the error, and found that it was present in OpenDOS v7.01 already (but not in DR-DOS v6.00 or Novell DOS v7.00). The bug was that the destination of an FCB rename was stored to the wrong pointer variable, which wasn't helped by the source texts' use of hardcoded offsets from an FDOS parameter block. I described the error in some detail in the changeset message.
I also updated the lDOS version. Rather than "7.01.08 WIP (Month)" it reads "7.01.08 lDOS (Month)" now.
lDebug
lMS-DOS
-
-
-
Split dosseg.nas file into ddataseg.nas and dcodeseg.nas to allow placing other sections between them when needed. (That is, for msbio1.nas.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Support an int 31h entrypoint similar to RxDOS v7.24, transferring from DOSDATA:0 to the end of DOSDATA, then to DOSENTRY, then to DOSCODE. It returns an error unconditionally for now.
-
Support multDOS function 61h (from PTS-DOS) to return address of the first UMCB. Because there is such a large gap between the last function in the dispatch table (2Fh) and this one, we added a special check for it instead of adding it to the table.
-
-
-
-
-
Call lDOS init relocate functions (relocate device after every DEVICE= line, relocate end at the end). This chiefly includes the allocation and linking of UMBs into our UMCB chain, making the UMBs usable for programs that know to ask for them. Also, DOSCODE may be relocated into an UMB now.
Use lDOS memory function
to allocate largest block from two areas in exec.nas, which allows to use LH (eg in FreeCOM) to load programs into the UMA even if the largest LMA block is larger. This is not solved entirely yet, as flat-format (.COM) programs should have their size checked before allocating memory. As is, a small UMB may be allocated despite not being large enough for the program.
-