IBM RT Series Hardware Reference Manual page 279

Hide thumbs Also See for RT Series:
Table of Contents

Advertisement

191D
191D
80 FC 07
1920
72 03
1922
E9 19D4 R
1925
1925
E8 16E8 R
1928
B4 00
192A
50
192B
E8 16Al R
192E
8B F8
1930
58
1931
3C 80
1933
73 06
1935
C5 36 OlOC R
1939
EB 06
193B
193B
2C 80
193D
C5 36 007C R
1941
1941
D1 EO
1943
01 EO
1945
01 EO
1947
03 FO
1949
1E
194A
E8 0001 R
1940
80 3E 0449 R 06
1952
1F
1953
72 2C
1955
1955
57
1956
56
1957
B6 04
1959
1959
AC
195A
F6 C3 80
1950
75 16
195F
AA
1960
AC
1961
1961
26: 8885 1FFF
1966
83 C7 4F
1969
FE CE
196B
75 EC
1960
5E
196E
5F
196F
47
1970
E2 E3
1972
E9 219B R
1975
1975
26:
32
05
1978
AA
1979
AC
197A
26: 3285 1FFF
197F
EB EO
1981
1981
8A 03
1983
01 E7
1985
E8 166A R
1988
1988
57
1989
56
198A
B6 04
198C
198C
AC
1980
E8 167F R
1990
23 C3
1992
F6 C2 80
1995
74 07
1997
26: 32 25
199A
26: 32 45 01
199E
199E
26: 88 25
19A1
26: 88 45 01
19A5
AC
19A6
E8 167F R
19A9
23 C3
19AB
F6 C2 80
19AE
74 OA
1980
26: 32 A5 2000
1985
26: 32 85 2001
19BA
19BA
26: 88 A5 2000
198F
26: 88 85 2001
19C4
83 C7 50
19C7
FE CE
19C9
75 C1
19CB
5E
19CC
5F
19CD
47
19CE
47
19CF
E2 B7
1901
E9 2198 R
1904
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4711
4772
4713
4714
4715
4716
4771
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
C
C
C
C
C
IN THE SECOND HALF, THE USER MUST INITIALIZE THE VECTOR AT
INTERRUPT 1FH (LOCATION 0007CH) TO POINT TO THE USER
SUPPLIED TABLE OF GRAPHIC IMAGES (8X8 BOXES).
FAILURE TO DO SO WILL CAUSE IN STRANGE RESULTS
C
C
C
C
C
C
C
C
C
ASSUME
CS: CODE, DS:ABSO, ES: NOTHI NG
GRAPH I CS WR I TE
PROC
NEAR
CMP
AH,7
JB
51 A
JMP
GR>CWRT
CALL
MOV
PUSH
MK ES
~:-O
; 0 TO HIGH OF CODE POINT
; SAVE CODE PO I NT VALUE
C
C
C
C
;----- DETERMINE POSITION IN REGEN BUFFER TO PUT CODE POINTS
C
CALL
MOV
526
DI,AX
C
C
C
C
; ----- DETERM I NE REG I ON TO GET CODE PO I NTS FROM
C
C
C
C
C
C
C+
C
C
C
C
C
S1:
C
C
C+
POP
CMP
JAE
AX
AL,80H
51
IMAGE IS IN FIRST HALF, CONTAINED IN ROM
WLXS
LOS
JMP
DS,SI,GRX_SET
SI,GRX_SET
SHORT S2
I MAGE I SIN SECOND HALF,
I N USER RAM
SUB
WLXS
LOS
AL,80H
DS,SI,EXT_PTR
51, EXT_PTR
C
C
C
;----- DETERMINE GRAPHICS MODE IN OPERATION
C
S2:
C
C
C
C
C
C
C
C
C
SAL
SAL
SAL
ADD
PUSH
CALL
CMP
POP
JC
AX,1
AX,1
AX,1
SI,AX
OS
DDS
CRT_MOOE,6
OS
57
C
C
C
;----- HIGH RESOLUTION MODE
C
S3:
C
C
C
C
S4:
C
C
C
C
C
C
S5:
C
C
C
C
C
C
C
C
C
C
S6:
C
C
C
C
C
PUSH
PUSH
MOV
LOOSB
TEST
JNZ
STOSB
LOOSB
MOV
ADD
DEC
JNZ
POP
POP
INC
LOOP
JMP
XOR
STOSB
LOOSB
XOR
JMP
01
SI
OH,4
BL,80H
56
ES: [0 I +2000H-1 J. AL
01,79
OH
S4
SI
01
01
53
V_RET
AL, ES: [01]
AL, ES: [01 +2000H-1]
55
C
C
C
;----- MEDIUM RESOLUTION WRITE
C
S7:
C
C
C
C
58:
C
C
C
C
S9:
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
S10:
511:
MOV
SAL
CALL
PUSH
PUSH
MOV
LOOSa
CALL
AND
TEST
JZ
XOR
XOR
MOV
MOV
LODSa
CALL
AND
TEST
JZ
XOR
XOR
MOV
MOV
ADO
DEC
JNZ
POP
POP
INC
INC
LOOP
JMP
GRAPHICS_WRITE
OL,BL
01,1
519
01
51
DH,4
521
AX,BX
OL,80H
S10
AH,ES:[OI]
AL,ES:[OI+1]
ES: [01 J.AH
ES: [DI+1I,AL
521
AX,BX
OL,80H
511
AH, ES: [0 I +2000H I
AL, ES: [DI+2001H I
ES: [OI+2000HJ.AH
ES:[OI+2000H+1I,AL
01,80
OH
59
SI
01
01
01
58
V RET
ENOP
;' LOC I N REGEN BUFFER
; REGEN POINTER IN 01
RECOVER CODE PO I NT
,
IS IT IN SECOND HALF
; YES
; EXTEND_CHAR
; 0 OR I GIN FOR SECOND HALF
; DETERM I NCMODE
; MULTIPLY CODE POINT
;
VALUE BY 8
S I HAS OFFSET OF
DES I RES CODES
TEST FOR MED I UM RES MODE
HIGH CHAR
SAVCREGEN PO INTER
SAVE CODE PO INTER
NUMBER OF TIMES THROUGH
LOOP
GET BYTE FROM CODE PO I NT
SHOULD WE USE THE
FUNCT I ON TO PUT CHAR IN
STORE I N REGEN BUFFER
, STORE I N SECOND HALF
; MOVE TO NEXT ROW I N REGEN
; DONE WITH LOOP
; RECOVER REGEN PO INTER
, PO I NT TO NEXT CHAR POS
; MORE CHARS TO WR ITE
; XOR WITH CURRENT
, STORE THE CODE PO I NT
; AGA I N FOR ODD FIE LD
; BACK TO MA I NSTREAM
MED RES WR ITE
SAVE HIGH COLOR BIT
OFFSET*2, 2 BYTES/CHAR
EXPAND BL TO FULL WORD
OF COLOR
SAVE REGEN PO INTER
SAVE THE CODE PO INTER
NUMBER OF LOOPS
GET CODE PO I NT
DOUBLE UP ALL THE BITS
CONVERT THEM TO FORE-
GROUND COLOR (0 BACK)
IS THIS XOR FUNCTION
NO, STORE IT IN AS IT IS
DO FUNCTION WITH HALF
AND WITH OTHER HALF
STORE FIRST BYTE
STORE SECOND BYTE
GET CODE PO I NT
CONVER
r
TO COLOR
IS THIS XOR FUNCTION
NO, JUST STORE THE VALUE
FUNCTION WITH FIRST HALF
AND WI TH SECOND HALF
STORE I N SECOND PORT I ON
POINT TO NEXT LOCATION
KEEP GOING
RECOVER CODE PONTER
RECOVER REGEN PO INTER
PO I NT TO NEXT CHAR
; MORE TO WR I TE
C
C
C
C
C
;
-
~~~~~
-
----
-
---
-
-
-
------
-
--
-
-
-
--
-
-
------
-
----
---
-
---
---
-
--
-
--
-
--
IBM Enhanced Graphics Adapter 139

Advertisement

Table of Contents
loading

Table of Contents