1 ;---Revised 8-17-84 FOR KBX (ADDED ADDITIONAL KEYBOARD FLAG - KB_FLAG_3)
2 ;----------------------------------------
3 ; 0286 INTERRUPT LOCATIONS (READ):
4 ;----------------------------------------
17 ORG_VECTOR LABEL DWORD
22 BOOT_VECTOR LABEL DWORD
24 PARM_PTR LABEL DWORD ; POINTER TO VIDEO PARMS
26 DISK_POINTER LABEL DWORD
29 ORG 40H*4 ; DISKETTE POINTER
30 DISK_VECTOR LABEL DWORD
32 HF_TBL_VEC LABEL DWORD
34 HF1_TBL_VEC LABEL DWORD
36 SLAVE_INT_PTR LABEL DWORD
37 RTC_INT_VEC LABEL DWORD ; REAL TIME CLOCK INT
38 ORG 76H*4 ; FIXED DISK INTERRUPT VECTOR
41 DATA_AREA LABEL BYTE ;ABSOLUTE LOCATION OF DATA SEGMENT
44 MFG_TEST_RTN LABEL FAR
49 ;------------------------------------------------
50 ; STACK -- USED DURING INITIALIZATION ONLY :
51 ;------------------------------------------------
56 ;----------------------------------------
57 ; ROM BIOS DATA AREAS :
58 ;----------------------------------------
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
69 ;----------------------------------------
70 ; KEYBOARD DATA AREAS :
71 ;----------------------------------------
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
80 ;------ HEAD = TAIL INDICATES THAT THE BUFFER IS EMPTY
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
91 ; BIT 7 = CURRENT OPERATION IS A WRITE,
93 MOTOR_COUNT DB 1 DUP(?) ; TIME OUT COUNTER FOR DRIVE TURN OFF
94 DISKETTE_STATUS DB 1 DUP(?) ; RETURN CODE STATUS BYTE
97 NEC_STATUS DB 7 DUP(?) ; STATUS BYTES FROM NEC
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
113 ;----------------------------------------
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 ;----------------------------------------
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 ;----------------------------------------
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
131 ;----------------------------------------
132 ; HARD FILE DATA AREAS :
133 ;----------------------------------------
134 DISK_STATUS1 DB 1 DUP(?)
136 CONTROL_BYTE 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 ;---------------------------------------
152 LASTRATE DB 1 DUP(?) ; LAST DATA RATE SELECTED
154 ;---------------------------------------
155 ; ADDITIONAL HARD FILE DATA :
156 ;---------------------------------------
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 ;----------------------------------------
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
178 KB_FLAG_3 DB 1 DUP(?) ; AEV
179 ;----------------------------------------
180 ; ADDITIONAL KEYBOARD LED FLAG :
181 ;----------------------------------------
183 KB_FLAG_2 DB 1 DUP(?)
185 ;----------------------------------------
186 ; REAL TIME CLOCK DATA AREA :
187 ;----------------------------------------
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
195 ;----------------------------------------
197 ;----------------------------------------
198 XXDATA SEGMENT AT 50H
199 STATUS_BYTE DB 1 DUP(?)
201 ;----------------------------------------
202 ; VIDEO DISPLAY BUFFER :
203 ;----------------------------------------
204 VIDEO_RAM SEGMENT AT 0B800H