summaryrefslogtreecommitdiff
path: root/v4.0/src/INC/POSTEQU.INC
blob: b01ed5e7c5079833c111d14121f83b4874b0b4b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
; Revised FOR KBX (ADD EQUATES FOR KB_FLAG_3) AEV  8-17-84
;----------------------------------------------------------------------------
;		EQUATES 		:
;----------------------------------------------------------------------------
TTEST		EQU	0		; CONDITIONAL ASM (TEST2.SRC)
KY_LOCK 	EQU	0		; CONDITIONAL ASM (TEST2.SRC)
KEY_NUMS	EQU	0		; CONDITIONAL ASM (KYBD.SRC)
;----------------------------------------------------------------------------
X287		EQU	0F0H		; MATH PROCESSOR
;----------------------------------------------------------------------------
LOOP_POST	EQU	020H		; MFG LOOP POST JUMPER
;----------------------------------------------------------------------------
REFRESH_BIT	EQU	010H		; REFRESH TEST BIT
;----------------------------------------------------------------------------
POST_SS 	EQU	0H		; POST STACK SEGMENT
POST_SP 	EQU	8000H		; POST STACK POINTER
TEMP_STACK_LO	EQU	0FFFFH		;
TEMP_STACK_HI	EQU	0		; SET PROTECTED MODE TEMP_SS
					; 0:FFFFH
;----------------------------------------------------------------------------
PORT_A		EQU	60H		; 8042 KEYBOARD SCAN/DIAG OUTPUTS
PORT_B		EQU	61H		; 8042 READ WRITE REGISTER
PARITY_ERR	EQU	0C0H		; RAM/IO CHANNEL PARITY ERROR
RAM_PAR_ON	EQU	11110011B	; AND THIS VALUE
RAM_PAR_OFF	EQU	00001100B	; OR THIS VALUE
IO_CHK		EQU	01000000B	; IO CHECK?
PRTY_CHK	EQU	10000000B	; PARITY CHECK?

STATUS_PORT	EQU	64H		;8042 STATUS PORT
OUT_BUF_FULL	EQU	01H		; 0 = +OUTPUT BUFFER FULL
INPT_BUF_FULL	EQU	02H		; 1 = +INPUT BUFFER FULL
SYS_FLAG	EQU	04H		; 2 = -SYSTEM FLAG -POR/-SELF TEST
CMD_DATA	EQU	08H		; 3 = -COMMAND/+DATA
KYBD_INH	EQU	10H		; 4 = +KEYBOARD INHIBITED
TRANS_TMOUT	EQU	20H		; 5 = +TRANSMIT TIMEOUT
RCV_TMOUT	EQU	40H		; 6 = +RECEIVE TIME OUT
PARITY_EVEN	EQU	80H		; 7 = +PARITY IS EVEN
SHUT_CMD	EQU	0FEH		; CAUSE A SHUTDOWN COMMAND
INTR_FACE_CK	EQU	0ABH		; CHECK 8042 INTERFACE CMD
KYBD_CLK_DATA	EQU	0E0H		; GET KYBD CLOCK AND DATA CMD
KYBD_CLK	EQU	001H		; KEYBOARD CLOCK BIT 0
;----------MANUFACTURING PORT------------------------------------------------
MFG_PORT	EQU	80H		; MANUFACTURING CHECKPOINT PORT
;----------MANUFACTURING BIT DEFINITION FOR MFG_ERR_FLAG+1-------------------
MEM_FAIL	EQU	00000001B      ; STORAGE TEST FAILED (ERROR 20X)
PRO_FAIL	EQU	00000010B      ; VIRTUAL MODE TEST FAILED (ERROR 104)
LMCS_FAIL	EQU	00000100B      ; LOW MEG CHIP SELECT FAILED (ERROR 109)
KYCLK_FAIL	EQU	00001000B      ; KEYBOARD CLOCK TEST FAILED (ERROR 304)
KY_SYS_FAIL	EQU	00010000B      ; KEYBOARD OR SYSTEM FAILED (ERROR 303)
KYBD_FAIL	EQU	00100000B      ; KEYBOARD FAILED (ERROR 301)
DSK_FAIL	EQU	01000000B      ; DISKETTE TEST FAILED (ERROR 601)
KEY_FAIL	EQU	10000000B      ; KEYBOARD LOCKED (ERROR 302)
;----------8042 INPUT PORT BIT DEFINITION------------------------------------
BASE_RAM	EQU	10H		;BASE R/W MEMORY
MFG_JMP 	EQU	20H		;LOOP POST JUMPER
DSP_JMP 	EQU	40H		;DISPLAY TYPE JUMPER
KEY_BD_INHIB	EQU	80H		;KEYBOARD INHIBIT SWITCH
;----------8042 RAM DEFINITION-----------------------------------------------
INH_KEYBOARD	EQU	10H		;BYTE 0 BIT 4 OF 8042 RAM
;-------------- COMMANDS ----------------------------------------------------
READ_8042_RAM	EQU	20H		; BITS 0-4 = ADDRESS (20-3F)
WRITE_8042_RAM	EQU	60H		;
SELF_8042_TEST	EQU	0AAH		; 8042 SELF TEST
READ_8042_INPUT EQU	0C0H		; READ 8042 INPUT PORT
ENA_KBD 	EQU	0AEH		; ENABLE KEYBOARD COMMAND
DIS_KBD 	EQU	0ADH		; DISABLE KEYBOARD COMMAND
ENABLE_BIT20	EQU	0DFH		; ENABLE ADDR LINE BIT 20
DISABLE_BIT20	EQU	0DDH		; DISABLE ADDR LINE BIT 20
;-------------- KEYBOARD/LED COMMANDS --------------------------------------
KB_MENU 	EQU	0F1H		; SELECT MENU COMMAND
KB_TYPA_RD	EQU	0F3H		; SET TYPAMATIC RATE/DELAY	   RWV 10-07-85
KB_ENABLE	EQU	0F4H		; KEYBOARD ENABLE
KB_MAKE_BREAK	EQU	0F7H		; TYPAMATIC
KB_ECHO 	EQU	0FEH		; ECHO COMMAND
KB_RESET	EQU	0FFH		; SELF DIAGNOSTIC COMMAND
LED_CMD 	EQU	0EDH		; LED WRITE COMMAND
;--------------- KEYBOARD RESPONSE -----------------------------------------
KB_OK		EQU	0AAH		; RESPONSE FROM SELF DIAG
KB_ACK		EQU	0FAH		; ACKNOWLEDGE FROM TRANSMISSION
KB_OVER_RUN	EQU	0FFH		; OVER RUN
KB_RESEND	EQU	0FEH		; RESEND REQUEST
KB_BREAK	EQU	0F0H		; KEYBOARD BREAK CODE
;-------------- CMOS EQUATES -------------------------------------------------
CMOS_PORT	EQU	070H		; IO ADDRESS OF CMOS PORT
CLK_UP		EQU	08AH		; CLOCK UPDATE STATUS
CMOS_ALARM	EQU	08BH		;
CMOS_BEGIN	EQU	090H		;
CMOS_END	EQU	0ADH		;
SHUT_DOWN	EQU	08FH		; SHUTDOWN OFFSET
BATTERY_COND_STATUS EQU 08DH		; BATTERY STATUS
M_SIZE_HI	EQU	0B1H		; IO MEMORY SIZE HIGH BYTE (POST)
M_SIZE_LO	EQU	0B0H		; IO MEMORY SIZE LO BYTE   (POST)
M1_SIZE_HI	EQU	096H		; 0->640K CONFIG MEMORY SIZE (SETUP)
M1_SIZE_LO	EQU	095H		;   LOW BYTE (SETUP)
M2_SIZE_HI	EQU	098H		; 640K->UP CONFIG MEMORY SIZE (SETUP)
M2_SIZE_LO	EQU	097H		;   LOW BYTE (SETUP)
C_EQUIP 	EQU	094H		; CMOS EQUIPMENT FLAG
HD_FILE_TYPE	EQU	092H		; HARD FILE TYPE BYTE
PAGE
;--------------- CMOS DIAG_STATUS ERROR FLAGS--------------------------------
DIAG_STATUS	EQU	08EH		; CMOS ADDRESS OF DIAG_STATUS
BAD_BAT 	EQU	080H		; DEAD BATTERY
BAD_CKSUM	EQU	040H		; CHECKSUM ERROR
BAD_CONFIG	EQU	020H		; MINIMUM CONFIG USED INSTEAD OF CMOS
W_MEM_SIZE	EQU	010H		; MEMORY SIZE NOT EQUAL TO CONFIG
HF_FAIL 	EQU	008H		; HARD FILE FAILURE ON INIT
CMOS_CLK_FAIL	EQU	004H		; CMOS CLK NOT UPDATING OR NOT VALID
;--------------- CMOS INFORMATION FLAGS--------------------------------------
INFO_STATUS	EQU	0B3H		; CMOS ADDRESS OF INFO BYTE
M640K		EQU	080H		; 512K -> 640K CARD INSTALLED
NEW_INST	EQU	040H		; FLAG USED BY CMOS SETUP UTILITY
HF_BOOT 	EQU	020H		; BOOT HARD FILE FLAG
;--------------- INTERRUPT EQUATES ------------------------------------------
INTA00		EQU	20H		; 8259 PORT
INTA01		EQU	21H		; 8259 PORT
EOI		EQU	20H
INTB00		EQU	0A0H		; 2ND 8259
INTB01		EQU	0A1H		;
INT_TYPE	EQU	070H		; START OF 8259 INTERRUPT TABLE LOCATION
INT_VIDEO	EQU	010H		; VIDEO VECTOR
;---------------------------------------------------------------------------
TIMER		EQU	40H
TIM_CTL 	EQU	43H		; 8253 TIMER CONTROL PORT ADDR
TIMER0		EQU	40H		; 8253 TIMER/CNTER 0 PORT ADDR
TMINT		EQU	01		; TIMER 0 INTR RECVD MASK
;--------------------------------------------------------------------------
DMA08		EQU	08		; DMA STATUS REG PORT ADDR
DMA		EQU	00		; DMA CH.0 ADDR. REG PORT ADDR
;--------------------------------------------------------------------------
DMA18		EQU	0D0H		; 2ND DMA STATUS PORT ADDR
DMA1		EQU	0C0H		; 2ND DMA CH.0 ADDR. REG PORT ADDR
;--------------------------------------------------------------------------
DMA_PAGE	EQU	81H		; START OF DMA PAGE REGISTERS
LAST_DMA_PAGE	EQU	8FH		; LAST DMA PAGE REGISTER
;--------------------------------------------------------------------------
MAX_PERIOD	EQU	540H
MIN_PERIOD	EQU	410H
KBD_IN		EQU	60H		; KEYBOARD DATA IN ADDR PORT
KBDINT		EQU	02		; KEYBOARD INTR MASK
KB_DATA 	EQU	60H		; KEYBOARD SCAN CODE PORT
KB_CTL		EQU	61H		; CONTROL BITS FOR KEYBOARD SENSE DATA
KB_ERR		EQU	80H		; KEYBOARD TRANSMIT ERROR FLAG
;----- SHIFT FLAG EQUATES WITHIN KB_FLAG
INS_STATE	EQU	80H		; INSERT STATE IS ACTIVE
CAPS_STATE	EQU	40H		; CAPS LOCK STATE HAS BEEN TOGGLED
NUM_STATE	EQU	20H		; NUM LOCK STATE HAS BEEN TOGGLED
SCROLL_STATE	EQU	10H		; SCROLL LOCK STATE HAS BEEN TOGGLED
ALT_SHIFT	EQU	08H		; ALTERNATE SHIFT KEY DEPRESSED
CTL_SHIFT	EQU	04H		; CONTROL SHIFT KEY DEPRESSED
LEFT_SHIFT	EQU	02H		; LEFT SHIFT KEY DEPRESSED
RIGHT_SHIFT	EQU	01H		; RIGHT SHIFT KEY DEPRESSED
;----- SHIFT FLAG EQUATES WITHIN KB_FLAG_1
INS_SHIFT	EQU	80H		; INSERT KEY IS DEPRESSED
CAPS_SHIFT	EQU	40H		; CAPS LOCK KEY IS DEPRESSED
NUM_SHIFT	EQU	20H		; NUM LOCK KEY IS DEPRESSED
SCROLL_SHIFT	EQU	10H		; SCROLL LOCK KEY IS DEPRESSED
HOLD_STATE	EQU	08H		; SUSPEND KEY HAS BEEN TOGGLED
SYS_SHIFT	EQU	04H		; SYSTEM KEY DEPRESSED AND HELD
L_ALT_SHIFT	EQU	02H		; LEFT ALT KEY DOWN		   RWV 8-28-85
L_CTL_SHIFT	EQU	01H		; LEFT CTL KEY DOWN		   RWV 8-28-85
;---------------FLAGS WITHIN KB_FLAG_2
KB_ERR		EQU	80H		; KEYBOARD TRANSMIT ERROR FLAG
KB_PR_LED	EQU	40H		; MODE INDICATOR UPDATE
KB_FE		EQU	20H		; RESEND RECEIVED FLAG
KB_FA		EQU	10H		; ACK RECEIVED
CIRCUS_SYSTEM	EQU	08H		; CIRCUS SYSTEM INDICATOR
KB_LEDS 	EQU	07H		; KEYBOARD LED STATE BITS
;			04H		; CAPS LOCK INDICATOR
;			02H		; NUM LOCK INDICATOR
;			01H		; SCROLL LOCK INDICATOR
;---------------FLAGS WITHIN KB_FLAG_3
RD_ID		EQU	80H		; DOING A READ ID (MUST BE BIT0)   AEV
LC_AB		EQU	40H		; LAST CHAR WAS FIRST ID CHAR	   AEV
SET_NUM_LK	EQU	20H		; FORCE NUM LOCK IF RD ID & KBX    AEV
KBX		EQU	10H		; ENHANCED KEYBOARD INSTALLED	   RWV 7-18-85
R_ALT_SHIFT	EQU	08H		; RIGHT ALT KEY DOWN		   RWV 7-18-85
GRAPH_ON	EQU	08H		; ALT GRAPHICS KEY DOWN (WT ONLY)  AEV
R_CTL_SHIFT	EQU	04H		; RIGHT CTL KEY DOWN		   RWV 7-18-85
LC_E0		EQU	02H		; LAST CODE WAS THE E0 HIDDEN CODE RWV 7-18-85
LC_E1		EQU	01H		; LAST CODE WAS THE E1 HIDDEN CODE RWV 7-18-85
;----- SCAN CODE EQUATES FOR THE KEYBOARD
NUM_KEY 	EQU	69		; SCAN CODE FOR NUMBER LOCK
SCROLL_KEY	EQU	70		; SCAN CODE FOR SCROLL LOCK
ALT_KEY 	EQU	56		; SCAN CODE FOR ALTERNATE KEY
CTL_KEY 	EQU	29		; SCAN CODE FOR CONTROL KEY
CAPS_KEY	EQU	58		; SCAN CODE FOR SHIFT LOCK
LEFT_KEY	EQU	42		; SCAN CODE FOR LEFT SHIFT
RIGHT_KEY	EQU	54		; SCAN CODE FOR RIGHT SHIFT
INS_KEY 	EQU	82		; SCAN CODE FOR INSERT KEY
DEL_KEY 	EQU	83		; SCAN CODE FOR DELETE KEY
SYS_KEY 	EQU	84		; SCAN CODE FOR SYSTEM KEY
;-------------- ENHANCED KEYBOARD EQUATES
ID_1		EQU	0ABH		; 1ST ID CHAR FOR KBX
ID_2		EQU	041H		; 2ND ID CHAR FOR KBX		   AEV
ID_2A		EQU	054H		; ALTERNATE 2ND ID CHAR FOR KBX    RWV 8-16-85
F11_M		EQU	87		; F11 KEY MAKE
F12_M		EQU	88		; F12 KEY MAKE
MC_E0		EQU	224		; GENERAL MARKER CODE
MC_E1		EQU	225		; PAUSE KEY MARKER CODE

;-------------- DISKETTE EQUATES
INT_FLAG	EQU	080H		; INTERRUPT OCCURRENCE FLAG
MOTOR_WAIT	EQU	37		; 2 SECS OF COUNTS FOR MOTOR TURN OFF
TIME_OUT	EQU	80H		; ATTACHMENT FAILED TO RESPOND
BAD_SEEK	EQU	40H		; SEEK OPERATION FAILED
BAD_NEC 	EQU	20H		; NEC CONTROLLER HAS FAILED
BAD_CRC 	EQU	10H		; BAD CRC ON DISKETTE READ
DMA_BOUNDARY	EQU	09H		; ATTEMPT TO DMA ACROSS 64K BOUNDARY
BAD_DMA 	EQU	08H		; DMA OVERRUN ON OPERATION
MEDIA_CHANGE	EQU	06H		; MEDIA REMOVED ON DUAL ATTACH CARD
RECORD_NOT_FND	EQU	04H		; REQUESTED SECTOR NOT FOUND
WRITE_PROTECT	EQU	03H		; WRITE ATTEMPTED ON WRITE PROT DISK
BAD_ADDR_MARK	EQU	02H		; ADDRESS MARK NOT FOUND
BAD_CMD 	EQU	01H		; BAD COMMAND PASSED TO DISKETTE I/O

XRATE		EQU	02H		; 250KBS DATA TRANSFER RATE
DUAL		EQU	01H		; DUAL ATTACH CARD PRESENT FLAG

DSK_CHG 	EQU	080H		; DISKETTE CHANGE FLAG MASK BIT
STATE_MSK	EQU	007H		; USED TO STRIP OFF STATE OF MEDIA
REV_STATE	EQU	0F8H		; USED AS MASK FOR STATE BITS
DETERMINED	EQU	010H		; SET STATE DETERMINED IN STATE BITS
TRAN_MSK	EQU	03H		; ISOLATE SHIFTED TRANSFER RATE BITS
DOUBLE_STEP	EQU	020H		; MASK TO TURN ON DOUBLE STEPPING
MOTOR_MSK	EQU	0F0H		; MASK TO CLEAR MOTOR ON BITS
MAX_DRV 	EQU	002H		; MAX NUMBER OF DRIVES
;HOME		 EQU	 010H		 ; TRACK 0 MASK
SENSE_DRV_ST	EQU	004H		; SENSE DRIVE STATUS COMMAND
ONE		EQU	001H		; SEEK ONE TRACK
TRK_SLAP	EQU	030H		; CRASH STOP (48 TPI DRIVES)
QUIET_SEEK	EQU	00AH		; SEEK TO TRACK 10
HD12_SETTLE	EQU	015D		; 1.2 M HEAD SETTLE TIME
HD320_SETTLE	EQU	020D		; 320 K HEAD SETTLE TIME
WRITE_OP	EQU	080H		; WRITE OPERATION FLAG
DD_MASK 	EQU	010H		; MASK TO INDICATE DRIVE IS 80 TRACKS
PAGE
;------ DISK CHANGE LINE EQUATES
NOCHGLN 	EQU	001H		; NO DISK CHANGE LINE AVAILABLE
CHGLN		EQU	002H		; DISK CHANGE LINE AVAILABLE
;------ MEDIA/DRIVE STATE INDICATORS
M326D326	EQU	093H		; STATE MACHINE - 320/360 MEDIA/DRIVE
M326D12 	EQU	074H		; STATE MACHINE - 320/360 MEDIA,1.2DRIVE
M12D12		EQU	015H		; STATE MACHINE - 1.2 MEDIA/DRIVE
POA_DUAL	EQU	061H		; 300K DATA TRANSFER RATE & STATE 1
POA_START	EQU	080H		; 250K DATA TRANSFER RATE & STATE 0
TRK_80		EQU	008H		; DISKETTE DRIVE HAS 80 TRACKS
;------ CMOS NON-VOLATILE RAM EQUATES
CMOSDSB_ADDR	EQU	00EH		; DISKETTE STATUS BYTE ADDRESS
CADR_PRT	EQU	070H		; CMOS ADDRESS PORT ADDRESS
CDATA_PRT	EQU	071H		; CMOS DATA PORT ADDRESS
CMOS_GOOD	EQU	0C0H		; BATTERY AND CHECKSUM INDICATOR
CMOSDSK_BYTE	EQU	010H		; DISKETTE BYTE ADDRESS
LOWNIB		EQU	00FH		; ISOLATE LOW NIBBLE IN REGISTER MASK
INVALID_DRV	EQU	002H		; FIRST INVALID DISKETTE TYPE
;----------------------------------------
;	TIMER DATA AREA 		:
;----------------------------------------
; COUNTS_SEC	EQU	18
; COUNTS_MIN	EQU	1092
; COUNTS_HOUR	EQU	65543
; COUNTS_DAY	EQU	1573040 = 1800B0H
PAGE