IBM 5150 Hardware Reference Manual page 243

Hide thumbs Also See for 5150:
Table of Contents

Advertisement

LOC OBJ
LINE
SOURCE
F260 750E
f2:62 24Eo
F264 80EllF
Fl67 OAe3
F269
F269 EE
Fl6A A26600
Fl60 E957FF
F27Q
FHO 24Df
F272 DOEB
F274 73F3
FZ76 OC20
F278 EBEF
F27A
F27A 8A264AOO
F27E 1.04900
F281 8A3E6200
H8S SF
F286 Sf
F287 59
FleB E93FFF
F2eB
F2aB S3
Flac 8808
Fl8E 8AC4
F290 F6264AOO
F294 32FF
F296 03e3
F298 OlEO
F29A 58
F29B C3
F29C
F29C 8A08
F29E 80FC04
3606
JNZ
H2O
; OUTPUT COLOR 1
3609
3610
j------
HANDLE COLOR 0 BY SETTING THE BACKGROUND COLOR
3611
3612
AND
Al,DEOH
t TURN OFF LOW 5 BITS Of CURRENT
3613
.ND
BL,OlFH
; TURN OFF HIGH 3 BITS OF INPUT VALUE
3614
OR
Al,Bl
; PUT VALUE IHTO REGISTER
3615
N19:
; OUTPUT THE PALLETTE
3616
OUT
OX,AL
ioutput
c.olor selection to 3d9 port
3617
MOV
CRT_PAlLETTE,AL ; SAVE THE COLOR VALUE
3616
JHP
VIDEO_RETURN
3619
3!J20
;------ HANDLE COLOR 1 BY SELECTING THE PALLETTE TO BE USED
3621
3622
H2O:
3623
AND
AL,OaFH
; TURN OFF PALlETTE SElECT
BIT
3624
SH.
BL.l
; TEST THE LOW ORDER BIT Of BL
3625
JNC
MI.
i
ALREADY DONE
3626
OR
Al,20H
TURN
au
PAllETTE SElECT BIT
3627
JMP
MI.
iGODOIT
3628
SET_COLOR
ENDP
3629
i -------------------- ------------ -- --------- ­
3630
iVIDEO STATE
3631
RETURNS THE CURRENT VIDEO STATE IN AX
3632
AH
=
NUMBER OF COLUMNS ON THE SCREEN
3633
AL
=
CURRENT VIDEO MODE
3634
;
BH
=
CURRENT ACTIVE PAGE
3635
i ---- --- --------- -- - ------------------- ----- ­
3636
VIDEO_STATE
PROC
NEAR
3637
"OV
AH,BYTE PTR CRT_COLS
; GET NUMBER OF COLUMNS
3638
"OV
AL,eRT_MODE
; CURRENT MODE
3639
HOV
BH.ACTIVE]AGE
i GET CURRENT ACTIVE PAGE
3640
pop
01
f RECOVER REGISTERS
3641
pop
51
3642
POP
CX
DISCARD SAVED
ex
3643
JHP
MIS
RETURN TO CALLER
3644
VIDEO_STATE
ENDP
3645
i ---------------------------------- ­
3646
POSITION
3647
THIS SERVICE ROUTINE CALCULATES THE REGEN BUFFER ADDRESS
3648
OF A CHARACTER IN THE ALPHA MOOE
3649
; INPUT
3650
AX
=
ROW, COLUMN POSITION
3651
i OUTPUT
3652
AX
=
OFFSET OF CHAR POSITION IN REGEN BUffER
3653
3654
POSITION
PROC
NEAR
3655
PUSH
BX
SAVE REGISTER
3656
HOV
eX,AX
3657
HOV
AL,AH
,
ROJ.IS TO AL
3658
MUL
BYTE PTR CRT_COLS
; DETERMINE BYTES TO ROW
3659
XOR
BH,BH
3660
AOO
AX,BX
ADD IN COLUMN VALUE
3661
SAL
AX,1
*
2 FOR ATTRIBUTE BYTES
3662
POP
BX
3663
RET
3664
POSITION
ENDp
3665
; ----------------------------- -- ----------­
3666
; SCROLL UP
3667
THIS ROUTINE MOVES A BLOCK OF CHARACTERS UP
3668
ON THE SCREEN
3669
; INPUT
3670
(AH)
=
CURRENT CRT MODE
3671
(Al) '" NUME',ER OF ROWS TO SCROLL
3672
ICXI :: ROW/COLUMN OF UPPER LEFT CORNER
3673
(OX)
=
ROW/COLUMN OF LOWER RIGHT CORNER
3674
(BH)
=
ATTRIBUTE TO BE USED ON BLANKED LINE
3675
(oS)
=
DATA SEGMENT
3676
IES)
=
REGEN BUFrER SEGMENT
3677
j
OUTPUT
3678
NONE -- THE REGEN BUFFER IS MODIFIED
3679
;
------
--
-----
--
-- -
------------------
--- ---­
3680
ASSUME
CS:COOE,DS:DATA,ES:DATA
3681
SCROLL_UP
PROC
HEAR
3682
MOV
BL.AL
f
SAVE LINE COUNT IN BL
3683
CMP
AH.4
; TEST FOR GRAPHICS MODE
A-50

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents