]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/INC/DSEG.INC

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / INC / DSEG.INC
1 ;---Revised 8-17-84 FOR KBX (ADDED ADDITIONAL KEYBOARD FLAG - KB_FLAG_3)
2 ;----------------------------------------
3 ; 0286 INTERRUPT LOCATIONS (READ):
4 ;----------------------------------------
5 ABS0 SEGMENT AT 0
6 STG_LOC0 LABEL BYTE
7 ORG 2*4
8 NMI_PTR LABEL WORD
9 ORG 5*4
10 INT5_PTR LABEL WORD
11 ORG 8*4
12 INT_ADDR LABEL WORD
13 INT_PTR LABEL DWORD
14 ORG 10H*4
15 VIDEO_INT LABEL WORD
16 ORG 13H*4 ; NEW FDISK
17 ORG_VECTOR LABEL DWORD
18 ORG 18H*4
19 BASIC_PTR LABEL WORD
20 ORG 19H*4
21 BOOT_VEC LABEL DWORD
22 BOOT_VECTOR LABEL DWORD
23 ORG 1DH*4
24 PARM_PTR LABEL DWORD ; POINTER TO VIDEO PARMS
25 ORG 1EH*4
26 DISK_POINTER LABEL DWORD
27 ORG 01FH*4
28 EXT_PTR LABEL DWORD
29 ORG 40H*4 ; DISKETTE POINTER
30 DISK_VECTOR LABEL DWORD
31 ORG 41H*4
32 HF_TBL_VEC LABEL DWORD
33 ORG 46H*4
34 HF1_TBL_VEC LABEL DWORD
35 ORG 70H*4
36 SLAVE_INT_PTR LABEL DWORD
37 RTC_INT_VEC LABEL DWORD ; REAL TIME CLOCK INT
38 ORG 76H*4 ; FIXED DISK INTERRUPT VECTOR
39 HDISK_INT LABEL DWORD
40 ORG 400H
41 DATA_AREA LABEL BYTE ;ABSOLUTE LOCATION OF DATA SEGMENT
42 DATA_WORD LABEL WORD
43 ORG 0500H
44 MFG_TEST_RTN LABEL FAR
45 ORG 7C00H
46 BOOT_LOCN LABEL FAR
47 ABS0 ENDS
48 PAGE
49 ;------------------------------------------------
50 ; STACK -- USED DURING INITIALIZATION ONLY :
51 ;------------------------------------------------
52 STACK SEGMENT AT 30H
53 DW 128 DUP(?)
54 TOS LABEL WORD
55 STACK ENDS
56 ;----------------------------------------
57 ; ROM BIOS DATA AREAS :
58 ;----------------------------------------
59 DATA SEGMENT AT 40H
60 ;DATA_BASE LABEL BYTE
61 RS232_BASE DW 4 DUP(?) ; ADDRESSES OF RS232 ADAPTERS
62 PRINTER_BASE DW 4 DUP(?) ; ADDRESSES OF PRINTERS
63 EQUIP_FLAG DW 1 DUP(?) ; INSTALLED HARDWARE
64 MFG_TST DB 1 DUP(?) ; INITIALIZATION FLAG
65 MEMORY_SIZE DW 1 DUP(?) ; MEMORY SIZE IN K BYTES
66 MFG_ERR_FLAG DB 1 DUP(?) ; SCRATCHPAD FOR MANUFACTURING
67 DB 1 DUP(?) ; ERROR CODES
68 PAGE
69 ;----------------------------------------
70 ; KEYBOARD DATA AREAS :
71 ;----------------------------------------
72 KB_FLAG DB 1 DUP(?)
73 KB_FLAG_1 DB 1 DUP(?) ; SECOND BYTE OF KEYBOARD STATUS
74 ALT_INPUT DB 1 DUP(?) ; STORAGE FOR ALTERNATE KEYPAD ENTRY
75 BUFFER_HEAD DW 1 DUP(?) ; POINTER TO HEAD OF KEYBOARD BUFFER
76 BUFFER_TAIL DW 1 DUP(?) ; POINTER TO TAIL OF KEYBOARD BUFFER
77 KB_BUFFER DW 16 DUP(?) ; ROOM FOR 15 ENTRIES
78 KB_BUFFER_END LABEL WORD
79
80 ;------ HEAD = TAIL INDICATES THAT THE BUFFER IS EMPTY
81
82 ;----------------------------------------
83 ; DISKETTE DATA AREAS :
84 ;----------------------------------------
85 SEEK_STATUS DB 1 DUP(?) ; DRIVE RECALIBRATION STATUS
86 ; BIT 3-0 = DRIVE 3-0 NEEDS RECAL
87 ; BEFORE NEXT SEEK IF BIT IS = 0
88 MOTOR_STATUS DB 1 DUP(?) ; MOTOR STATUS
89 ; BIT 3-0 = DRIVE 3-0 IS CURRENTLY
90 ; RUNNING
91 ; BIT 7 = CURRENT OPERATION IS A WRITE,
92 ; REQUIRES DELAY
93 MOTOR_COUNT DB 1 DUP(?) ; TIME OUT COUNTER FOR DRIVE TURN OFF
94 DISKETTE_STATUS DB 1 DUP(?) ; RETURN CODE STATUS BYTE
95 CMD_BLOCK LABEL BYTE
96 HD_ERROR LABEL BYTE
97 NEC_STATUS DB 7 DUP(?) ; STATUS BYTES FROM NEC
98 PAGE
99 ;----------------------------------------
100 ; VIDEO DISPLAY DATA AREA :
101 ;----------------------------------------
102 CRT_MODE DB 1 DUP(?) ; CURRENT CRT MODE
103 CRT_COLS DW 1 DUP(?) ; NUMBER OF COLUMNS ON SCREEN
104 CRT_LEN DW 1 DUP(?) ; LENGTH OF REGEN IN BYTES
105 CRT_START DW 1 DUP(?) ; STARTING ADDRESS IN REGEN BUFFER
106 CURSOR_POSN DW 8 DUP(?) ; CURSOR FOR EACH OF UP TO 8 PAGES
107 CURSOR_MODE DW 1 DUP(?) ; CURRENT CURSOR MODE SETTING
108 ACTIVE_PAGE DB 1 DUP(?) ; CURRENT PAGE BEING DISPLAYED
109 ADDR_6845 DW 1 DUP(?) ; BASE ADDRESS FOR ACTIVE DISPLAY CARD
110 CRT_MODE_SET DB 1 DUP(?) ; CURRENT SETTING OF THE 3X8 REGISTER
111 CRT_PALLETTE DB 1 DUP(?) ; CURRENT PALLETTE SETTING COLOR CARD
112 PAGE
113 ;----------------------------------------
114 ; POST DATA AREA :
115 ;----------------------------------------
116 IO_ROM_INIT DW 1 DUP(?) ; PNTR TO OPTIONAL I/O ROM INIT ROUTINE
117 IO_ROM_SEG DW 1 DUP(?) ; POINTER TO IO ROM SEGMENT
118 INTR_FLAG DB 1 DUP(?) ; FLAG TO INDICATE AN INTERRUPT HAPPEND
119 ;----------------------------------------
120 ; TIMER DATA AREA :
121 ;----------------------------------------
122 TIMER_LOW DW 1 DUP(?) ; LOW WORD OF TIMER COUNT
123 TIMER_HIGH DW 1 DUP(?) ; HIGH WORD OF TIMER COUNT
124 TIMER_OFL DB 1 DUP(?) ; TIMER HAS ROLLED OVER SINCE LAST READ
125 ;----------------------------------------
126 ; SYSTEM DATA AREA :
127 ;----------------------------------------
128 BIOS_BREAK DB 1 DUP(?) ; BIT 7=1 IF BREAK KEY HAS BEEN HIT
129 RESET_FLAG DW 1 DUP(?) ; WORD=1234H IF KEYBOARD RESET UNDERWAY
130 PAGE
131 ;----------------------------------------
132 ; HARD FILE DATA AREAS :
133 ;----------------------------------------
134 DISK_STATUS1 DB 1 DUP(?)
135 HF_NUM DB 1 DUP(?)
136 CONTROL_BYTE DB 1 DUP(?)
137 PORT_OFF DB 1 DUP(?)
138 ;------------------------------------------------------
139 ; PRINTER AND RS232 TIME-OUT VARIABLES :
140 ;------------------------------------------------------
141 PRINT_TIM_OUT DB 4 DUP(?)
142 RS232_TIM_OUT DB 4 DUP(?)
143 ;----------------------------------------
144 ; ADDITIONAL KEYBOARD DATA AREA :
145 ;----------------------------------------
146 BUFFER_START DW 1 DUP(?)
147 BUFFER_END DW 1 DUP(?)
148 ;---------------------------------------
149 ; ADDITIONAL FLOPPY DATA ;
150 ;---------------------------------------
151 ORG 8BH
152 LASTRATE DB 1 DUP(?) ; LAST DATA RATE SELECTED
153 PAGE
154 ;---------------------------------------
155 ; ADDITIONAL HARD FILE DATA :
156 ;---------------------------------------
157 ORG 8CH
158 HF_STATUS DB 1 DUP(?) ; STATUS REGISTER
159 HF_ERROR DB 1 DUP(?) ; ERROR REGISTER
160 HF_INT_FLAG DB 1 DUP(?) ; HARD FILE INTERRUPT FLAG
161 HF_CNTRL DB 1 DUP(?) ; COMBO HARD FILE/FLOPPY CARD BIT 0=1
162 ;----------------------------------------
163 ; ADDITIONAL DISKETTE AREA :
164 ;----------------------------------------
165 ORG 90H
166 DSK_STATE LABEL BYTE
167 DB 1 DUP(?) ; DRIVE 0 MEDIA STATE
168 DB 1 DUP(?) ; DRIVE 1 MEDIA STATE
169 DB 1 DUP(?) ; DRIVE 0 OPERATION START STATE
170 DB 1 DUP(?) ; DRIVE 1 OPERATION START STATE
171 DSK_TRK DB 1 DUP(?) ; DRIVE 0 PRESENT CYLINDER
172 DB 1 DUP(?) ; DRIVE 1 PRESENT CYLINDER
173 DB 1 DUP(?) ; RESERVED
174 ;---------------------------------------- AEV
175 ; ADDITIONAL KEYBOARD FLAG FOR KBX: AEV
176 ;---------------------------------------- AEV
177 ORG 96H ; AEV
178 KB_FLAG_3 DB 1 DUP(?) ; AEV
179 ;----------------------------------------
180 ; ADDITIONAL KEYBOARD LED FLAG :
181 ;----------------------------------------
182 ORG 97H
183 KB_FLAG_2 DB 1 DUP(?)
184 PAGE
185 ;----------------------------------------
186 ; REAL TIME CLOCK DATA AREA :
187 ;----------------------------------------
188 ORG 98H
189 USER_FLAG DW 1 DUP(?) ; OFFSET ADDR OF USERS WAIT FLAG
190 USER_FLAG_SEG DW 1 DUP(?) ; SEG ADDR OF USER WAIT FLAG
191 RTC_LOW DW 1 DUP(?) ; LOW WORD OF USER WAIT FLAG
192 RTC_HIGH DW 1 DUP(?) ; HIGH WORD OF USER WAIT FLAG
193 RTC_WAIT_FLAG DB 1 DUP(?) ; WAIT ACTIVE FLAG
194 DATA ENDS
195 ;----------------------------------------
196 ; EXTRA DATA AREA :
197 ;----------------------------------------
198 XXDATA SEGMENT AT 50H
199 STATUS_BYTE DB 1 DUP(?)
200 XXDATA ENDS
201 ;----------------------------------------
202 ; VIDEO DISPLAY BUFFER :
203 ;----------------------------------------
204 VIDEO_RAM SEGMENT AT 0B800H
205 REGEN LABEL BYTE
206 REGENW LABEL WORD
207 DB 16384 DUP(?)
208 VIDEO_RAM ENDS