mirror of https://github.com/FDOS/kernel.git
retry, revert FreeDOS specific variables back to original locations
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/branches/UNSTABLE@1109 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
f9f2461218
commit
304aaa1428
19
hdr/lol.h
19
hdr/lol.h
|
@ -75,20 +75,21 @@ struct lol {
|
||||||
unsigned short uppermem_root;/* 66 Start of umb chain (usually 9fff) */
|
unsigned short uppermem_root;/* 66 Start of umb chain (usually 9fff) */
|
||||||
unsigned short last_para; /* 68 para: start scanning during memalloc */
|
unsigned short last_para; /* 68 para: start scanning during memalloc */
|
||||||
/* FreeDOS specific entries */
|
/* FreeDOS specific entries */
|
||||||
unsigned char os_minor; /* 6a minor DOS version */
|
unsigned char os_setver_minor;/*6a settable minor DOS version */
|
||||||
unsigned char os_major; /* 6b major DOS version */
|
unsigned char os_setver_major;/*6b settable major DOS version */
|
||||||
unsigned char rev_number; /* 6c minor DOS version */
|
unsigned char os_minor; /* 6c minor DOS version */
|
||||||
unsigned char version_flags; /* 6d DOS version flags */
|
unsigned char os_major; /* 6d major DOS version */
|
||||||
struct f_node FAR *f_nodes; /* 6e pointer to the array */
|
unsigned char rev_number; /* 6e minor DOS version */
|
||||||
unsigned short f_nodes_cnt; /* 72 number of allocated f_nodes */
|
unsigned char version_flags; /* 6f DOS version flags */
|
||||||
char *os_release; /* 74 near pointer to os_release string */
|
struct f_node FAR *f_nodes; /* 70 pointer to the array */
|
||||||
|
unsigned short f_nodes_cnt; /* 74 number of allocated f_nodes */
|
||||||
|
char *os_release; /* 76 near pointer to os_release string */
|
||||||
|
/* ANY ITEM BELOW THIS POINT MAY CHANGE */
|
||||||
#ifdef WIN31SUPPORT
|
#ifdef WIN31SUPPORT
|
||||||
unsigned short winInstanced; /* WinInit called */
|
unsigned short winInstanced; /* WinInit called */
|
||||||
unsigned long winStartupInfo[4];
|
unsigned long winStartupInfo[4];
|
||||||
unsigned short instanceTable[5];
|
unsigned short instanceTable[5];
|
||||||
#endif
|
#endif
|
||||||
unsigned char os_setver_minor;/*76/96 settable minor DOS version */
|
|
||||||
unsigned char os_setver_major;/*77/97 settable major DOS version */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __LOL_H */
|
#endif /* __LOL_H */
|
||||||
|
|
|
@ -23,7 +23,7 @@ extern struct WinStartupInfo winStartupInfo;
|
||||||
*/
|
*/
|
||||||
struct WinPatchTable
|
struct WinPatchTable
|
||||||
{
|
{
|
||||||
UWORD dosver; /* Note: for FreeDOS this overlaps with os_setver version */
|
UWORD dosver;
|
||||||
UWORD OffTempDS;
|
UWORD OffTempDS;
|
||||||
UWORD OffTempBX;
|
UWORD OffTempBX;
|
||||||
UWORD OffInDOS;
|
UWORD OffInDOS;
|
||||||
|
|
|
@ -351,6 +351,10 @@ _uppermem_root dw 0ffffh ; 0066 dmd_upper_root (usually 9fff)
|
||||||
_last_para dw 0 ; 0068 para of last mem search
|
_last_para dw 0 ; 0068 para of last mem search
|
||||||
SysVarEnd:
|
SysVarEnd:
|
||||||
;; FreeDOS specific entries
|
;; FreeDOS specific entries
|
||||||
|
global _os_setver_minor
|
||||||
|
_os_setver_minor db 0
|
||||||
|
global _os_setver_major
|
||||||
|
_os_setver_major db 5
|
||||||
global _os_minor
|
global _os_minor
|
||||||
_os_minor db 0
|
_os_minor db 0
|
||||||
global _os_major
|
global _os_major
|
||||||
|
@ -367,6 +371,9 @@ _f_nodes_cnt dw 0
|
||||||
extern _os_release
|
extern _os_release
|
||||||
os_release dw _os_release
|
os_release dw _os_release
|
||||||
|
|
||||||
|
;; any FreeDOS variable below this point are subject to relocation.
|
||||||
|
;; variables above should not change (unless necessary) as
|
||||||
|
;; programs may make use of them (even though they should NOT!)
|
||||||
%IFDEF WIN31SUPPORT
|
%IFDEF WIN31SUPPORT
|
||||||
global _winStartupInfo, _winInstanced
|
global _winStartupInfo, _winInstanced
|
||||||
_winInstanced dw 0 ; set to 1 on WinInit broadcast, 0 on WinExit broadcast
|
_winInstanced dw 0 ; set to 1 on WinInit broadcast, 0 on WinExit broadcast
|
||||||
|
@ -381,19 +388,11 @@ instance_table: ; should include stacks, Win may auto determine SDA region
|
||||||
dw 0, seg _DATASTART ; [?linear?] address of region's base
|
dw 0, seg _DATASTART ; [?linear?] address of region's base
|
||||||
dw markEndInstanceData wrt seg _DATASTART ; size in bytes
|
dw markEndInstanceData wrt seg _DATASTART ; size in bytes
|
||||||
dd 0 ; 0 marks end of table
|
dd 0 ; 0 marks end of table
|
||||||
dw 0
|
patch_bytes: ; mark end of array of offsets of critical section bytes to patch
|
||||||
|
dw 0 ; and 0 length for end of instance_table entry
|
||||||
global _winPatchTable
|
global _winPatchTable
|
||||||
_winPatchTable: ; returns offsets to various internal variables
|
_winPatchTable: ; returns offsets to various internal variables
|
||||||
%ENDIF ; WIN31SUPPORT
|
dw 0x0006 ; DOS version, major# in low byte, eg. 6.00
|
||||||
; os version reported, patch table includes DOS version
|
|
||||||
; so we include it here to save duplicate data, but even
|
|
||||||
; without WIN31SUPPORT enabled these variables are used.
|
|
||||||
; The setver variants are used so we report to Windows
|
|
||||||
; editable (fake) DOS version user wanted.
|
|
||||||
global _os_setver_minor, _os_setver_major
|
|
||||||
_os_setver_minor db 0
|
|
||||||
_os_setver_major db 0
|
|
||||||
%IFDEF WIN31SUPPORT
|
|
||||||
dw save_DS ; where DS stored during int21h dispatch
|
dw save_DS ; where DS stored during int21h dispatch
|
||||||
dw save_BX ; where BX stored during int21h dispatch
|
dw save_BX ; where BX stored during int21h dispatch
|
||||||
dw _InDOS ; offset of InDOS flag
|
dw _InDOS ; offset of InDOS flag
|
||||||
|
@ -407,7 +406,6 @@ _os_setver_major db 0
|
||||||
dw _uppermem_root ; seg of last arena header in conv memory
|
dw _uppermem_root ; seg of last arena header in conv memory
|
||||||
; this matches MS DOS's location, but
|
; this matches MS DOS's location, but
|
||||||
; do we have the same meaning?
|
; do we have the same meaning?
|
||||||
patch_bytes dw 0 ; mark end of array of offsets of critical section bytes to patch
|
|
||||||
%ENDIF ; WIN31SUPPORT
|
%ENDIF ; WIN31SUPPORT
|
||||||
|
|
||||||
;; The first 5 sft entries appear to have to be at DS:00cc
|
;; The first 5 sft entries appear to have to be at DS:00cc
|
||||||
|
|
Loading…
Reference in New Issue