update comments

(from Geoff Chappell blog and RBIL)
This commit is contained in:
Kenneth J Davis 2022-10-15 23:45:32 -04:00
parent 6f6e44e1b5
commit e1b22c7035
No known key found for this signature in database
GPG Key ID: 59D5F216C38F11FD
3 changed files with 20 additions and 9 deletions

View File

@ -79,10 +79,10 @@ typedef struct {
UWORD ps_maxfiles; /* 32 maximum open files */ UWORD ps_maxfiles; /* 32 maximum open files */
UBYTE FAR *ps_filetab; /* 34 open file table pointer */ UBYTE FAR *ps_filetab; /* 34 open file table pointer */
VOID FAR *ps_prevpsp; /* 38 previous psp pointer */ VOID FAR *ps_prevpsp; /* 38 previous psp pointer */
UBYTE ps_fill2; /* 3c unused */ UBYTE ps_dbcs_inputmode; /* 3c unused,see int21/6301h/6302h */
UBYTE ps_truename; /* 3d [unused] append truename flag int2f/B711h */ UBYTE ps_truename; /* 3d unused,append truename flag int2f/B711h */
UBYTE ps_netx_taskid[2]; /* 3e [Novell only field] task id */ UBYTE ps_netx_taskid[2]; /* 3e [Novell only field] task id */
UWORD ps_retdosver; /* 40 [unused] version to return on int21/30h */ UWORD ps_retdosver; /* 40 version to return on int21/30h, defaults to true version */
UWORD pdb_next; /* 42 [Win only field] PSP chain */ UWORD pdb_next; /* 42 [Win only field] PSP chain */
UBYTE ps_fill2b[4]; /* 44 unused, 4 bytes */ UBYTE ps_fill2b[4]; /* 44 unused, 4 bytes */
UBYTE ps_olddos; /* 48 [Win only field] DOS/Win program */ UBYTE ps_olddos; /* 48 [Win only field] DOS/Win program */

View File

@ -142,11 +142,22 @@ VOID ASMCFUNC int21_syscall(iregs FAR * irp)
/* the remaining are FreeDOS extensions */ /* the remaining are FreeDOS extensions */
/* return CPU family */
case 0xfa:
irp->AL = CPULevel;
break;
#if 0 /* unknown if used / usage */
case 0xfb:
#endif
#if 1 /* duplicates DOS 4 int 2F/122Fh, but used by CALLVER */
/* set FreeDOS returned version for int 21.30 from BX */ /* set FreeDOS returned version for int 21.30 from BX */
case 0xfc: case 0xfc:
os_setver_major = irp->BL; os_setver_major = irp->BL;
os_setver_minor = irp->BH; os_setver_minor = irp->BH;
break; break;
#endif
/* Toggle DOS-C rdwrblock trace dump */ /* Toggle DOS-C rdwrblock trace dump */
#ifdef DEBUG #ifdef DEBUG
@ -2545,13 +2556,13 @@ VOID ASMCFUNC int2F_12_handler(struct int2f12regs FAR *pr)
doesn't work!! */ doesn't work!! */
break; break;
case 0x2f: case 0x2f: /* updates version returned by int 21/30h for all processes */
if (r.DX) if (r.DX) /* set returned version from DX */
{ {
os_setver_major = r.DL; os_setver_major = r.DL;
os_setver_minor = r.DH; os_setver_minor = r.DH;
} }
else else /* set returned version from emulated true DOS version */
{ {
os_setver_major = os_major; os_setver_major = os_major;
os_setver_minor = os_minor; os_setver_minor = os_minor;

View File

@ -74,7 +74,7 @@ BootHarddiskSeconds db 0 ;
; The following VERSION resource must be keep in sync with VERSION.H ; The following VERSION resource must be keep in sync with VERSION.H
Version_OemID db 0xFD ; OEM_ID Version_OemID db 0xFD ; OEM_ID
Version_Major db 2 Version_Major db 2
Version_Revision dw 41 ; REVISION_SEQ Version_Revision dw 43 ; REVISION_SEQ
Version_Release dw 1 ; 0=release build, >0=svn# Version_Release dw 1 ; 0=release build, >0=svn#
CheckDebugger: db 0 ; 0 = no check, 1 = check, 2 = assume present CheckDebugger: db 0 ; 0 = no check, 1 = check, 2 = assume present
@ -534,9 +534,9 @@ _nul_dev: ; 0022 device chain root
db 'NUL ' db 'NUL '
global _njoined global _njoined
_njoined db 0 ; 0034 number of joined devices _njoined db 0 ; 0034 number of joined devices
dw 0 ; 0035 DOS 4 pointer to special names (always zero in DOS 5) dw 0 ; 0035 DOS 4 near pointer to special names (always zero in DOS 5) [setver precursor]
global _setverPtr global _setverPtr
_setverPtr dw 0,0 ; 0037 setver list _setverPtr dw 0,0 ; 0037 setver list (far pointer, set by setver driver)
dw 0 ; 003B cs offset for fix a20 dw 0 ; 003B cs offset for fix a20
dw 0 ; 003D psp of last umb exec dw 0 ; 003D psp of last umb exec
global _LoL_nbuffers global _LoL_nbuffers