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 last_para; /* 68 para: start scanning during memalloc */
|
||||
/* FreeDOS specific entries */
|
||||
unsigned char os_minor; /* 6a minor DOS version */
|
||||
unsigned char os_major; /* 6b major DOS version */
|
||||
unsigned char rev_number; /* 6c minor DOS version */
|
||||
unsigned char version_flags; /* 6d DOS version flags */
|
||||
struct f_node FAR *f_nodes; /* 6e pointer to the array */
|
||||
unsigned short f_nodes_cnt; /* 72 number of allocated f_nodes */
|
||||
char *os_release; /* 74 near pointer to os_release string */
|
||||
unsigned char os_setver_minor;/*6a settable minor DOS version */
|
||||
unsigned char os_setver_major;/*6b settable major DOS version */
|
||||
unsigned char os_minor; /* 6c minor DOS version */
|
||||
unsigned char os_major; /* 6d major DOS version */
|
||||
unsigned char rev_number; /* 6e minor DOS version */
|
||||
unsigned char version_flags; /* 6f DOS version flags */
|
||||
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
|
||||
unsigned short winInstanced; /* WinInit called */
|
||||
unsigned long winStartupInfo[4];
|
||||
unsigned short instanceTable[5];
|
||||
#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 */
|
||||
|
|
|
@ -23,7 +23,7 @@ extern struct WinStartupInfo winStartupInfo;
|
|||
*/
|
||||
struct WinPatchTable
|
||||
{
|
||||
UWORD dosver; /* Note: for FreeDOS this overlaps with os_setver version */
|
||||
UWORD dosver;
|
||||
UWORD OffTempDS;
|
||||
UWORD OffTempBX;
|
||||
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
|
||||
SysVarEnd:
|
||||
;; FreeDOS specific entries
|
||||
global _os_setver_minor
|
||||
_os_setver_minor db 0
|
||||
global _os_setver_major
|
||||
_os_setver_major db 5
|
||||
global _os_minor
|
||||
_os_minor db 0
|
||||
global _os_major
|
||||
|
@ -367,6 +371,9 @@ _f_nodes_cnt dw 0
|
|||
extern _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
|
||||
global _winStartupInfo, _winInstanced
|
||||
_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 markEndInstanceData wrt seg _DATASTART ; size in bytes
|
||||
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
|
||||
_winPatchTable: ; returns offsets to various internal variables
|
||||
%ENDIF ; WIN31SUPPORT
|
||||
; 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 0x0006 ; DOS version, major# in low byte, eg. 6.00
|
||||
dw save_DS ; where DS stored during int21h dispatch
|
||||
dw save_BX ; where BX stored during int21h dispatch
|
||||
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
|
||||
; this matches MS DOS's location, but
|
||||
; do we have the same meaning?
|
||||
patch_bytes dw 0 ; mark end of array of offsets of critical section bytes to patch
|
||||
%ENDIF ; WIN31SUPPORT
|
||||
|
||||
;; The first 5 sft entries appear to have to be at DS:00cc
|
||||
|
|
Loading…
Reference in New Issue