summaryrefslogtreecommitdiff
path: root/v4.0/src/DOS/MSCONST.ASM
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--v4.0/src/DOS/MSCONST.ASM153
1 files changed, 153 insertions, 0 deletions
diff --git a/v4.0/src/DOS/MSCONST.ASM b/v4.0/src/DOS/MSCONST.ASM
new file mode 100644
index 0000000..126f322
--- /dev/null
+++ b/v4.0/src/DOS/MSCONST.ASM
@@ -0,0 +1,153 @@
1; SCCSID = @(#)msconst.asm 1.4 85/09/12
2; Revision history
3; AN000 version 4.00 Jan. 1988
4; AN007 fake version check for IBMCACHE.COM
5include mshead.asm
6include version.inc
7
8CODE SEGMENT BYTE PUBLIC 'CODE'
9 Extrn LeaveDOS:NEAR
10 Extrn BadCall:FAR, OKCall:FAR
11CODE ENDS
12
13Break <Initialized data and data used at DOS initialization>
14
15;
16; We need to identify the parts of the data area that are relevant to tasks
17; and those that are relevant to the system as a whole. Under 3.0, the system
18; data will be gathered with the system code. The process data under 2.x will
19; be available for swapping and under 3.0 it will be allocated per-process.
20;
21; The data that is system data will be identified by [SYSTEM] in the comments
22; describing that data item.
23;
24
25 AsmVars <Kanji, Debug, Redirector, ShareF>
26
27CONSTANTS SEGMENT WORD PUBLIC 'CONST'
28
29 extrn sfTabl:DWORD
30
31 ORG 0
32
33 EVEN
34;
35; WANGO!!! The following word is used by SHARE and REDIR to determin data
36; area compatability. This location must be incremented EACH TIME the data
37; area here gets mucked with.
38;
39; Also, do NOT change this position relative to DOSGROUP:0.
40;
41Public MSCT001S,MSCT001E
42MSCT001S:
43 I_am DataVersion,WORD,<1> ;AC000; [SYSTEM] version number for DOS DATA
44
45%out WARNING!!! Debug fields are being included!!!
46 DB "BUG " ; THIS FIELD MUST BE EVEN # OF BYTES
47 I_am BugTyp,WORD,<0>
48 I_am BugLev,WORD,<0>
49include bugtyp.asm
50
51 I_am MYNUM,WORD,<0> ; [SYSTEM] A number that goes with MYNAME
52 I_am FCBLRU,WORD,<0> ; [SYSTEM] LRU count for FCB cache
53 I_am OpenLRU,WORD,<0> ; [SYSTEM] LRU count for FCB cache opens
54; NOTE: We include the decl of OEM_HANDLER in IBM DOS even though it is not used.
55; This allows the REDIRector to work on either IBM or MS-DOS.
56 PUBLIC OEM_HANDLER
57OEM_HANDLER DD -1 ; [SYSTEM] Pointer to OEM handler code
58 I_am LeaveAddr,WORD,<<OFFSET DOSGroup:LeaveDOS>> ; [SYSTEM]
59 I_am RetryCount,WORD,<3> ; [SYSTEM] Share retries
60 I_am RetryLoop,WORD,<1> ; [SYSTEM] Share retries
61 I_am LastBuffer,DWORD,<-1,-1>; [SYSTEM] Buffer queue recency pointer
62 I_am CONTPOS,WORD ; [SYSTEM] location in buffer of next read
63 I_am arena_head,WORD ; [SYSTEM] Segment # of first arena in memory
64; The following block of data is used by SYSINIT. Do not change the order or
65; size of this block
66 PUBLIC SYSINITVAR ; [SYSTEM]
67SYSINITVAR LABEL WORD ; [SYSTEM]
68 I_am DPBHEAD,DWORD ; [SYSTEM] Pointer to head of DPB-FAT list
69 I_am sft_addr,DWORD,<<OFFSET DosGroup:sfTabl>,?> ; [SYSTEM] Pointer to first SFT table
70 I_am BCLOCK,DWORD ; [SYSTEM] The CLOCK device
71 I_am BCON,DWORD ; [SYSTEM] Console device entry points
72 I_am MAXSEC,WORD,<128> ; [SYSTEM] Maximum allowed sector size
73 I_am BUFFHEAD,DWORD ; [SYSTEM] Pointer to head of buffer queue
74 I_am CDSADDR,DWORD ; [SYSTEM] Pointer to curdir structure table
75 I_am sftFCB,DWORD ; [SYSTEM] pointer to FCB cache table
76 I_am KeepCount,WORD ; [SYSTEM] count of FCB opens to keep
77 I_am NUMIO,BYTE ; [SYSTEM] Number of disk tables
78 I_am CDSCOUNT,BYTE ; [SYSTEM] Number of CDS structures in above
79; A fake header for the NUL device
80 I_am NULDEV,DWORD ; [SYSTEM] Link to rest of device list
81 DW DEVTYP OR ISNULL ; [SYSTEM] Null device attributes
82 short_addr SNULDEV ; [SYSTEM] Strategy entry point
83 short_addr INULDEV ; [SYSTEM] Interrupt entry point
84 DB "NUL " ; [SYSTEM] Name of null device
85 I_am Splices,BYTE,<0> ; [SYSTEM] TRUE => splices being done
86 I_am Special_Entries,WORD,<0>; [SYSTEM] address of specail entries ;AN000;
87 I_am IFS_DOS_CALL,DWORD ; [SYSTEM] entry for IFS DOS service ;AN000;
88 I_am IFS_HEADER,DWORD ; [SYSTEM] IFS header chain ;AN000;
89 I_am BUFFERS_PARM1,WORD,<0> ; [SYSTEM] value of BUFFERS= ,m ;AN000;
90 I_am BUFFERS_PARM2,WORD,<0> ; [SYSTEM] value of BUFFERS= ,n ;AN000;
91 I_am BOOTDRIVE,BYTE ; [SYSTEM] the boot drive ;AN000;
92 I_am DDMOVE,BYTE,<0> ; [SYSTEM] 1 if we need DWORD move ;AN000;
93 I_am EXT_MEM_SIZE,WORD,<0> ; [SYSTEM] extended memory size ;AN000;
94
95 PUBLIC HASHINITVAR ; [SYSTEM] ;AN000;
96HASHINITVAR LABEL WORD ; [SYSTEM] ;AN000;
97 I_am BUF_HASH_PTR,DWORD ; [SYSTEM] buffer Hash table addr ;AN000;
98 I_am BUF_HASH_COUNT,WORD,<1> ; [SYSTEM] number of Hash entries ;AN000;
99 I_am SC_CACHE_PTR,DWORD ; [SYSTEM] secondary cache pointer ;AN000;
100 I_am SC_CACHE_COUNT,WORD,<0> ; [SYSTEM] secondary cache count ;AN000;
101
102IF BUFFERFLAG
103
104 I_am BUF_EMS_SAFE_FLAG,BYTE,<1> ; indicates whether the page used by buffers is safe or not
105 I_am BUF_EMS_LAST_PAGE,4,<0,0,0,0> ; holds the last page above 640k
106 I_am BUF_EMS_FIRST_PAGE,4,<0,0,0,0> ; holds the first page above 640K
107 I_am BUF_EMS_NPA640,WORD,<0> ; holds the number of pages above 640K
108
109ENDIF
110
111 I_am BUF_EMS_MODE,BYTE,<-1> ; [SYSTEM] EMS mode ;AN000;
112 I_am BUF_EMS_HANDLE,WORD ; [SYSTEM] buffer EMS handle ;AN000;
113 I_am BUF_EMS_PAGE_FRAME,WORD ,<-1>;[SYSTEM] EMS page frame number ;AN000;
114 I_am BUF_EMS_SEG_CNT,WORD,<1>; [SYSTEM] EMS seg count ;AN000;
115 I_am BUF_EMS_PFRAME,WORD ; [SYSTEM] EMS page frame seg address ;AN000;
116 I_am BUF_EMS_RESERV,WORD,<0> ; [SYSTEM] reserved ;AN000;
117
118IF BUFFERFLAG
119 I_am BUF_EMS_MAP_BUFF,1,<0> ; this is not used to save the state of the
120 ; of the buffers page. this one byte is
121 ; retained to keep the size of this data
122 ; block the same.
123ELSE
124 I_am BUF_EMS_MAP_BUFF,12,<0,0,0,0,0,0,0,0,0,0,0,0> ; map buufer ;AN000;
125ENDIF
126
127; End of SYSINITVar block
128
129;
130; Sharer jump table
131;
132PUBLIC JShare
133 EVEN
134JShare LABEL DWORD
135 DW OFFSET DOSGROUP:BadCall, 0
136 DW OFFSET DOSGROUP:OKCall, 0 ; 1 MFT_enter
137 DW OFFSET DOSGROUP:OKCall, 0 ; 2 MFTClose
138 DW OFFSET DOSGROUP:BadCall, 0 ; 3 MFTclU
139 DW OFFSET DOSGROUP:BadCall, 0 ; 4 MFTCloseP
140 DW OFFSET DOSGROUP:BadCall, 0 ; 5 MFTCloN
141 DW OFFSET DOSGROUP:BadCall, 0 ; 6 set_block
142 DW OFFSET DOSGROUP:BadCall, 0 ; 7 clr_block
143 DW OFFSET DOSGROUP:OKCall, 0 ; 8 chk_block
144 DW OFFSET DOSGROUP:BadCall, 0 ; 9 MFT_get
145 DW OFFSET DOSGROUP:BadCall, 0 ; 10 ShSave
146 DW OFFSET DOSGROUP:BadCall, 0 ; 11 ShChk
147 DW OFFSET DOSGROUP:OKCall , 0 ; 12 ShCol
148 DW OFFSET DOSGROUP:BadCall, 0 ; 13 ShCloseFile
149 DW OFFSET DOSGROUP:BadCall, 0 ; 14 ShSU
150
151MSCT001E:
152CONSTANTS ENDS
153 \ No newline at end of file