IBM XT 5160 Technical Reference page 211

Hide thumbs Also See for XT 5160:
Table of Contents

Advertisement

IBM Persona I Computer MACRO Assemb I er
Vers
i
on 2.00
VIDEO ---- 01/10/86
VIDEO DISPLAY BIOS
1-3
01-10-86
INPUT
SET MODE
-
TH I S ROUT I NE I NIT I ALI ZES THE ATTACHMENT TO
THE SELECTED MODE.
THE SCREEN I S BLANKED.
"EQUIP FLAG BITS 5-4 = MODE/WIDTH
1 1-= MONOCHROME (FORCES MODE 7)
01
= COLOR ADAPTER 40 x 25
(MODE 0 DEFAULT)
10 = COLOR ADAPTER 80x25
(MODE 2 DEFAUL
Tl
(AL)
= COLOR MODE REQUESTED (RANGE
0 -
6
)
CHECK FOR VALID COLOR MODES 0-6
CONT I NUE I F BELOW MODE 7
FORCE DEFAULT 40x25 BW MODE
CHECK FOR "EQUIP FLAG AT 80x25 BW
CONTINUE WITH MODE 0
IF NOT
ELSE FORCE MODE 2
SA VE MODE I N GLOBAL V AR I ABLE
SAVE ADDRESS OF BASE
I NIT I ALI ZE DEFAULT ROW COUNT OF 25
SA VE PO I NTER TO DATA SEGMENT
SAVE MODE NUMBER
(All
CLEAR HIGH BYTE OF MODE
SET TABLE PO INTER,
I NDEXED BY MODE
GET THE MODE SET VALUE FROM TABLE
SAVE THE MODE SET VALUE
V IDEO OFF, SAVE HIGH RESOLUTI ON BI T
SAVE OUTPUT PORT VALUE
PO I NT TO CONTROL REG I STER
RESET V IDEO TO OFF TO SUPPRESS ROLLI NG
BACK TO BASE REG I STER
SET UP FOR ABSO SEGMENT
ES T ABL I SH VECTOR TABLE ADORES SING
GET PO I NTER TO V IDEO PARMS
RECOVER MODE NUMBER IN (AL)
LENGTH OF EACH ROW OF TABLE
DETERM I NE WH I CH ONE TO USE
MODE ISO OR 1
NEXT ROW OF I NIT I ALI ZAT I ON TABLE
SAVE WORK AND PARAMETER REG I STERS
PO I NT OS: TO OAT A SEGMENT
SAVE COMMAND/DATA
INTO
(SI) REGISTER
GET THE EQU I PMENT FLAG V IDEO BI TS
I SOLATE CRT SW ITCHES
IS SETT I NG FOR MONOCHROME CARD?
GET SEGMENT FOR COLOR CARD
SK I P I F NOT MONOCHROME CARD
ELSE GET SEGMENT FOR MONOCHROME CARD
ENTRY PO I NT FOR ORG OF065H
I NTERRUPTS BACK ON
SET 0 I RECT I ON FORWARD
TEST FOR WITHIN TABLE RANGE
BRANCH TO EX I T
I F NOT A VAL I 0 COMMAND
; OUT INIT
;
SAVE MODE IN (AL)
; GET THE CURSOR MODE FROM THE TABLE
; PUT CURSOR MODE I N CORRECT POS I
TI ON
;
SAVE TABLE SEGMENT PO INTER
PO I NT OS TO DATA SEGMENT
PLACE INTO BI OS DATA SAVE AREA
RESTORE THE TABLE SEGMENT POINTER
AH I S REG I STER NUMBER OUR I NG LOOP
; MODE I S 4, 5, OR 6
; MOVE TO BW CARD ROW OF INIT_TABLE
; MODE I S 2 OR 3
MOVE TO GRAPH I CS ROW OF I N IT_ TABLE
;
COMMAND NOT VAL I 0
; DO NOTHING IF NOT IN VALID RANGE
AX
AX,[BX+l0J
AH,AL
OS
OS :DATA
DDS
"CURSOR MODE, AX
DS:CODE-
OS
AH,AH
"CRT MODE, AL
"ADDR 6845, OX
"ROWS~25-1
OS
AX
SI,AX
AL,CS: [SI
+ OFFSET M7]
"CRT MODE SET, AL
AL,037H
-
OX
DX,4
DX,AL
OX
OS: ABSO
BX,BX
DS,BX
BX, "PARM PTR
DS:CODE -
AX
CX,16
AL,2
M9
BX,CX
AL,4
M9
BX,CX
AL,7
M9
BX,CX
AL,7
M8
AL,O
DI,20H
M8
AL,2
ENDP
AH,MIL/2
M4
ES
OS
OX
CX
BX
SI
01
BP
S I ,DATA
DS,SI
SI,AX
AL ,BYTE PTR "EQU I P FLAG
AL,30H
-
AL,30H
DI,OB800H
M2
01 ,OBOOOH
PROC
NEAR
PUSH
MOV
XCHG
PUSH
ASSUME
CALL
MOV
ASSUME
POP
XOR
LOOP THROUGH TABLE, OUTPUTTING REGISTER ADDRESS, THEN VALUE FROM TABLE
BX PO I NTS TO CORR,ECT ROW OF I N I TI ALI ZA TI ON TABLE
MOV
MOV
MOV
PUSH
PUSH
CBW
MOV
MOV
MOV
AND
PUSH
ADD
OUT
POP
ASSUME
SUB
MOV
LOS
ASSUME
POP
MOV
CMP
.1C
ADD
CMP
.1C
ADD
CMP
.1C
ADD
CMP
.1B
MOV
CMP
.1E
MOV
MOV
ES,DI
SET UP TO POINT AT VIDEO MEMORY AREAS
MOV
AL , AH
PLACE COMMAND I N LOW BYTE OF (AX)
CBW
AND FORM BYTE OFFSET WITH COMMAND
SAL
AX, 1
TIMES 2 FOR WORD TABLE LOOKUP
XCHG
S I ,AX
MOVE OFFSET I NTO LOOK UP REG I STER
(S I )
AND RES TORE COMMAND / OAT A INTO
(AX)
MOV
AH , "CRT_MODE
MOVE CURRENT MODE INTO
(AH) REG I STER
.1MP
WORD PTR CS:
[s
I +OFFSET M I ]
; GO TO SELECTED FUNCT I ON
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
PUSH
MOV
MOV
MOV
MOV
AND
CMP
MOV
.1NE
MOV
M9:
M8:
M8C:
M4:
OUTPUT
NONE
:
;~~
-
~~~~
-
--
-
-
-
- -
;~~~
-
-
-
-
~~~~
--
-
--
-
---
-
--
-
------
-
----
-
-
-
--
-
MOV
OX, 03D4H
ADDRESS OF COLOR CARD
MOV
0 I ,"EQU I P FLAG
GET EQU I PMENT FLAGS SETT I NG
AND
0 I ,30H
-
I SOLATE CRT SW ITCHES
CMP
0 I ,30H
IS BW CARD I NSTALLED AS PR I MARY
.1NE
M8C
SK I P AND CHECK I F COLOR
MOV
AL,7
ELSE INDICATE INTERNAL BW CARD MODE
MOV
DL,OB4H
SET ADDRESS OF BW (MONOCHROME)
CARD
.1MP
SHORT M8
CONT I NUE WITH FORCED MODE 7
VIDEO 10 I
-
STI
CLD
CMP
.1NB
M2:
229
0028
230
0028 FB
231
0029 FC
232
002A 80 FC
233
d02D. 73 2F
234
235
002F 06
236
0030
IE
237
0031
52
238
0032 51
239
0033 53
240
0034 56
241
0035 57
242
0036 55
243
0037 BE ---- R
244
003A 8E DE
245
003C 8B FO
246
003E AO 0010 R
247
0041
24 30
248
0043 3C 30
249
0045 BF B800
250
0048 75 03
251
004A BF BOOO
252
0040
253
0040 8E C7
254
004F 8A C4
255
0051
98
256
0052 OlEO
257
0054 96
258
259
0055 8A 26 0049 R
260
26 I
0059 2E: FF A4 0000 R
262
263
005E
264
005E CF
265
005F
266
267
268
269
270
271
272
273
274
275
276
277
278
279
005F
280
005F BA 0304
281
0062 8B 3E 0010 R
282
0066 81
E7 0030
283
006A 83 FF 30
284
0060 75 06
285
006F BO 07
286
0071 B2 B4
287
0073 EB 00
288
0075
289
0075 3C 07
290
0077 72 09
291
0079 BO 00
292
007B 83 FF 20
293
007E 74 02
294
008'0 BO 02
295
0082
296
0082 A2 0049 R
297
0085 89
16 0063 R
298
0089 C6 06 0084 R 18
299
008E 1E
300
008F 50
301
0090 98
302
0091
8B FO
303
0093 2E: 8A 84 0000 E
304
0098 A2 0065 R
305
009B 24 37
306
0090 52
307
009E 83 C2 04
308
OOA 1 EE
309
00A2 5A
310
31 I
00A3 2B DB
312
00A5 8E DB
313
00A7 C5
IE 0074 R
314
315
OOAB 58
316
OOAC B9 0010
317
OOAF 3C 02
318
OOBI
72 OE
319
00B3 03 09
320
00B5 3C 04
321
00B7 72 08
322
00B9 03 09
323
OOBB 3C 07
324
OOBD 72 02
325
OOBF 03 09
326
327
328
329
OOC 1
330
OOC 1 50
331
00C2 8B 47 OA
332
00C5 B6 EO
333
00C7
1E
334
335
00C8 E8 0000 E
336
OOCB A3 0060 R
337
338
OOCE 1F
339
OOCF 32 E4
340,
341
342
5-64
VIDEO (01/10/86)

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents