IBM 5170 Technical Reference page 273

Hide thumbs Also See for 5170:
Table of Contents

Advertisement

01Bl
58
POP
AX
01 B2
1F
POP
OS
01B3
07
POP
ES
01B4
Cf
IRET
0185
READ~CURSOR
ENDP
ACT DISP PAGE
-
THTs ROUTINE SETS THE ACTIVE DISPLAY PAGE, ALLOWING
;
INPUT THE FULL USE Of THE RAM SET ASIDE FOR THE VIDEO ATTACHMENT
;
AL HAS THE NEW ACTIVE DISPLAY PAGE
; OUTPUT
THE 6845 IS RESET TO DISPLAY THAT PAGE
0185
1;;;:=D7sP=p;GE~~-;~~C----~E;R----------------------
0185
A2 0062 R
MOV
ACTIV(_PAGE,AL
SAVE ACTIVE PAGE VALUE
0188
8B OE 004C R
MOV
CX,CRT~LEN
GET SAVED LENGTH OF REGEN BUFfER
018C
98
CBW
CONVERT AL TO WORD
0180
018E
50
f7 El
PUSH
MUL
AX
CX
SAVE PAGE VALUE
0
I SPLAY PAGE TIMES REGEN LENGTH
01CO
A3 004E R
MOV
CRT_START,
AX
SAVE START ADDRESS FOR LATER REQU I REMENTS
01C3
01C5
88 C8
01
F9
MOV
SAR
CX,AX
eX,1
START ADDRESS TO CX
DIVIDE BY
2
FOR
6845
HANDLING
01C7
B4 OC
MOV
AH,12
6845 REG I STER FOR START ADDRESS
01C9
E8 0158 R
CALL
M16
01CC
5B
POP
BX
RECOVER PAGE VALUE
01CD
OlCF
0103
01 E3
88 87 0050 R
E8
0180
R
SAL
MOV
CAll
BX,1
; *2 FOR WORD OFFSET
AX,
(BX ... OFfSET CURSOR_POSN
J
;
GET CURSOR
M18
; SET THE CURSOR POSITION
FOR TH I S PAGE
0106
E9 0144 R
JMP
VI
DEO~RETURN
0109
ACT_DI SP_PAGE
ENDP
SET COLOR
THIS ROUTINE WILL ESTABLISH THE BACKGROUND COLOR, THE OVERSCAN COLOR,
AND THE FOREGROUND COLOR SET fOR MEDIUM RESOLUTION GRAPHICS
INPUT
(BH) HAS COLOR 10
IF BH=O, THE BACKGROUND COLOR VALUE IS SET
fROM THE LOW BITS OF BL (0-31)
IF BH=l, THE PALLETTE SELECTION IS MADE
BASED ON THE LOW BIT OF BL:
0= GREEN, RED, YELLOW FOR COLORS 1,2,3
1 "" BLUE, CYAN, MAGENTA FOR COLORS 1,2,3
(Bl)
OUTPUT
HAS THE COLOR VALUE TO BE USED
0109
THE COLOR SELECTION IS UPDATED
----
­- --
---- --. -----­
--~--
-­----­
-
-----
­ - -
---­
SET
COLOR
PROC
NEAR
0109
88 16 0063 R
-
MOY
DX,ADDR_6845
I/O PORT FOR PALETTE
0100
83 C2 05
ADD
DX,5
; OVERSCAN PORT
01 EO
AO 0066 R
MOV
AL, CRT PALLETTE ; GET THE CURRENT PALLETTE VALUE
01[3
OA ff
OR
BH,BH -
;
IS THIS COLOR O?
01E5
75 DE
JNZ
M20
; OUTPUT COLOR 1
;------ HANDLE COLOR
0
BY SETTING THE BACKGROUND COLOR
01 E7
01E9
alEC
24 EO
80 E3 1f
OA C3
AND
AND
OR
AL,OEOH
BL,01 FH
AL,BL
TURN OFF LOW
5
BITS OF CURRENT
TURN OFF HIGH
3
BITS OF INPUT VALUE
PUT VALUE
I
NTO REG I STER
alEE
M19:
OUTPUT THE PAlLETTE
01
EE
EE
OUT
DX,AL
; OUTPUT COLOR SELECTION TO
309
PORT
01 EF
A2 0066 R
MOV
CRT_PALLETTE,Al ; SAVE THE COLOR VALUE
01F2
E9 0144 R
JMP
VIDEO_RETURN
~
; -----­ HANDLE COLOR 1 BY SELECT I NG THE PALLETTE TO BE USED
01F5
M20 :
01F5
01F7
01F9
01FB
01FD
24 OF
DO EB
73
F3
DC
20
EB
EF
AN~
SHR
JNe
OR
JMP
AL,ODFH
BL,1
M1,
AL,20H
M19
TURN OFF PALLETTE SELECT BIT
TEST THE LOW ORDER BIT OF BL
ALREADY
DON
E
TURN ON PALLETTE SELECT BIT
GO DO
IT
01FF
ENDP
SET_COLOR
;-:;70[0-
s;:~;:[-
------­-----­------------------­
~
--­
t
~~T~R~~M~~~ g~R~6~~M~~D6~ ~~~T~C~~E~
;
AL = CURRENT VIDEO MODE
;
BH:= CURRENT ACT I VE PAGE
01
FF
VIDEO_STATE
PROC
NEAR
01 FF
8A 26 004A R
MOV
AH, BYTE PTR CRT_COlS
GET NUMBER OF COLUMNS
0203
0206
020A
AO 0049 R
8A 3 E 0062 R
50
MOV
MOV
POP
AL, CRT_MODE
BH,ACT I VE PAGE
BP
-
CURRENT MODE
GET CURRENT ACTIVE PAGE
RECOVER REG I STERS
0208
5F
POP
01
020G
5E
POP
SI
0200
59
POP
CX
DISCARD SAVED BX
020E
E9 0148
R
JMP
M15
RETURN TO CALLER
0211
VIDEO_STATE
ENDP
;-;OSiTiON---­--
-~
--­---­--------­-­
THIS SERVICE ROUTINE CALCULATES THE REGEN BUFFER ADDRESS
;
I NPUT OF A CHARACTER I N THE ALPHA MODE
;
AX =
ROW, COLUMN POSITION
; OUTPUT
0211
;
AX
= OFFSET OF CHAR POSITION IN REGEN BUFFER
~os ~
T
~o~
­-------
p~o~
--
~-NE~~
-­ -­----­
0211
0212
53
88 08
PUSH
MOV
BX
BX,AX
; SAVE REG I STER
0214
0216
021A
8A C4
F6 26 004A R
32 FF
MOV
~g~
AL, AH
;
ROWS TO Al
:~;~/TR
CRT_COlS
; DETERMINE BYTES TO ROW
021C
021E
0220
03 C3
01
EO
58
ADD
SAL
POP
AX, BX
AX,l
BX
;
;
ADD I N COLUMN VALUE
* 2 FOR A
TTR I
BUTE BYTES
0221
C3
RET
0222
POSITION
ENDP
;
-- --------- ---­
--­-
­---­
---
------------- -­
SCROLL UP
TH I S ROUT I NE MOVES A BLOCK OF CHARACTERS UP
ON THE SCREEN
INPUT
(Atl)
=
CURRENT CRT MODE
(AL) = NUMBER OF ROWS TO SCROLL
(CX) '" ROW/COLUMN OF UPPER LEFT CORNER
(OX) :: ROW/COLUMN OF lOWER RIGHT GORNER
(BH) :: ATTRIBUTE TO BE USED ON BLANKED LINE
(OS) = DATA SEGMENT
(ES) = REGEN BUFFER SEGMENT
OUT PUT
NONE -­ THE REGEN BUFFER IS MODI FI ED
ASSUME
CS:CODE,DS:DATA,ES:OATA
Video 5-131

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents