191 lines
5.4 KiB
Plaintext
191 lines
5.4 KiB
Plaintext
*
|
||
*INTERRUPT CONSTANTS
|
||
HSINT .SET 127+1BH ;HALF SCREEN
|
||
EOSINT .SET 255+1BH ;END OF SCREEN
|
||
|
||
*-----------------------------------------------------------------------
|
||
* Define names of I/O registers
|
||
*-----------------------------------------------------------------------
|
||
HESYNC .set 0C0000000h
|
||
HEBLNK .set 0C0000010h
|
||
HSBLNK .set 0C0000020h
|
||
HTOTAL .set 0C0000030h
|
||
VESYNC .set 0C0000040h
|
||
VEBLNK .set 0C0000050h
|
||
VSBLNK .set 0C0000060h
|
||
VTOTAL .set 0C0000070h
|
||
DPYCTL .set 0C0000080h
|
||
DPYSTRT .set 0C0000090h
|
||
DPYINT .set 0C00000A0h
|
||
CONTROL .set 0C00000B0h
|
||
HSTDATA .set 0C00000C0h
|
||
HSTADRL .set 0C00000D0h
|
||
HSTADRH .set 0C00000E0h
|
||
HSTCTLL .set 0C00000F0h
|
||
HSTCTLH .set 0C0000100h
|
||
INTENB .set 0C0000110h
|
||
INTPEND .set 0C0000120h
|
||
CONVSP .set 0C0000130h
|
||
CONVDP .set 0C0000140h
|
||
PSIZE .set 0C0000150h
|
||
PMASK .set 0C0000160h
|
||
* I/O register locations 23-27 are reserved for future expansion
|
||
HCOUNT .set 0C00001C0h
|
||
VCOUNT .set 0C00001D0h
|
||
DPYADR .set 0C00001E0h
|
||
REFCNT .set 0C00001F0h
|
||
*
|
||
hesync .set 0C0000000h
|
||
heblnk .set 0C0000010h
|
||
hsblnk .set 0C0000020h
|
||
htotal .set 0C0000030h
|
||
vesync .set 0C0000040h
|
||
veblnk .set 0C0000050h
|
||
vsblnk .set 0C0000060h
|
||
vtotal .set 0C0000070h
|
||
* Display and memory control registers
|
||
dpyctl .set 0C0000080h
|
||
dpystrt .set 0C0000090h
|
||
dpyint .set 0C00000A0h
|
||
control .set 0C00000B0h
|
||
* Host interface registers
|
||
hstdata .set 0C00000C0h
|
||
hstadrl .set 0C00000D0h
|
||
hstadrh .set 0C00000E0h
|
||
hstctll .set 0C00000F0h
|
||
hstctlh .set 0C0000100h
|
||
* Interrupt control registers
|
||
intenb .set 0C0000110h
|
||
intpend .set 0C0000120h
|
||
* Graphics I/O registers
|
||
convsp .set 0C0000130h
|
||
convdp .set 0C0000140h
|
||
psize .set 0C0000150h
|
||
pmask .set 0C0000160h
|
||
*
|
||
hcount .set 0C00001C0h
|
||
vcount .set 0C00001D0h
|
||
dpyadr .set 0C00001E0h
|
||
refcnt .set 0C00001F0h
|
||
|
||
|
||
X .set 1
|
||
Y .set 010000h
|
||
;W .SET 0
|
||
;L .set 1
|
||
|
||
*-----------------------------------------------------------------------
|
||
* Masks for I/O register fields:
|
||
*-----------------------------------------------------------------------
|
||
|
||
* DISPLAY CONTROL REGISTER BIT DEFINITIONS
|
||
HSD .set 01h ; Horizontal Sync Direction
|
||
DUDATE .set 0000001111111100B ; display update (2-9)
|
||
ORG .set 0400h ; ORiGin (1 = lower left; 0 = upper left)
|
||
SRT .set 0800h ; Shift Reg Transfer enable
|
||
SRE .set 01000h ; Screen Refresh Enable
|
||
DXV .set 02000h ; Disable eXternal Video
|
||
NIL .set 04000h ; Non-InterLaced video enable
|
||
ENV .set 08000h ; ENable Video
|
||
|
||
* BIT FIELDS WITHIN CONTROL REGISTER
|
||
CD .set 08000h ;Mask for Cache Dis bit in CONTROL
|
||
PPOP .set 07C00h ;Mask for Pix Proc OPer in CONTROL
|
||
PBH .set 0200h ;Mask for PBH bit in CONTROL
|
||
PBV .set 0100h ;Mask for PBV bit in CONTROL
|
||
WIN .set 0C0h ;Mask for Window field in CONTROL
|
||
T .set 020h ;Mask for Transparency field in CONTROL
|
||
RR .set 018h ;Mask for dram Refresh Rate bit in CONTROL
|
||
RM .set 04h ;Mask for dram Refresh Mode bit in CONTROL
|
||
|
||
* BITS WITHIN INTPEND AND INTENB
|
||
WVP .set 0800h ;Mask for Window Violation in INTPEND
|
||
DIE .set 0400h ;Mask for Disp Int in INTPEND
|
||
HIE .set 0200h ;Mask for Host Int in INTPEND
|
||
X2E .set 04h ;Mask for Ext Int 2 in INTPEND
|
||
X1E .set 02h ;Mask for Ext Int 1 in INTPEND
|
||
* BIT POSITIONS IN INTPEND
|
||
DIP .EQU 10 ;BIT TEST FOR DISPLAY INTERRUPT PENDING
|
||
|
||
* FIELDS WITHIN HSTCTLL
|
||
MSGIN .set 07h ; Message from Host to GSP
|
||
INTIN_MSK .set 08h ; GSP can write 0 to this bit (ANDNI)
|
||
INTIN_BIT .set 03h ; GSP can write 0 to this bit (ANDNI)
|
||
INTOUT_MSK .set 080h ; GSP can write 1 to this bit (ORI)
|
||
INTOUT_BIT .set 07h ; GSP can write 1 to this bit (ORI)
|
||
|
||
* OPTIONS FOR WINDOW FIELD IN CONTROL REG
|
||
*W0 (ANDNI) No writes inhibited, no interrupt
|
||
W3 .set 0C0h ;inhibit writes outside window, no interrupt
|
||
W2 .set 080h ;Inhibit all writes, Int on attempt to write within window
|
||
W1 .set 040h ;Int on attempt to write outside window.
|
||
|
||
*OPTIONS FOR PIXEL PROC OPERATIONS IN CONTROL REG
|
||
* PPOP (ANDNI) replace
|
||
P_AND .set 0400h
|
||
P_ANDNOT .set 0800h
|
||
P_ZERO .set 0C00h
|
||
P_ORNOT .set 01000h
|
||
P_XNOR .set 01400h
|
||
P_NEG .set 01800h
|
||
P_NOR .set 01C00h
|
||
P_OR .set 02000h
|
||
P_NOP .set 02400h
|
||
P_XOR .set 02800h
|
||
P_NOTAND .set 02C00h
|
||
P_ONES .set 03000h
|
||
P_NOTOR .set 03400h
|
||
P_NAND .set 03800h
|
||
P_NOT .set 03C00h
|
||
P_ADD .set 04000h
|
||
P_ADDS .set 04400h
|
||
P_SUB .set 04800h
|
||
P_SUBS .set 04C00h
|
||
P_MAX .set 05000h
|
||
P_MIN .set 05400h
|
||
|
||
|
||
*------- Register names for TMS34010 assembly language functions -------
|
||
|
||
*-----------------------------------------------------------------------
|
||
* Define special A- and B-file registers
|
||
*-----------------------------------------------------------------------
|
||
* Special A-file registers:
|
||
fp .set A13 ;Frame, param. stack
|
||
pstk .set A14 ;Parameter stack pointer
|
||
frame_pntr .set A14 ;Used by C Compiler
|
||
* Special B-file registers:
|
||
*
|
||
* B FILE REGISTER GRAPHICS DEFINITIONS
|
||
*
|
||
saddr .set B0
|
||
sptch .set B1
|
||
daddr .set B2
|
||
dptch .set B3
|
||
offset .set B4
|
||
wstart .set B5
|
||
wend .set B6
|
||
dydx .set B7
|
||
color0 .set B8
|
||
color1 .set B9
|
||
count .set B10
|
||
inc1 .set B11
|
||
inc2 .set B12
|
||
pattrn .set B13
|
||
*
|
||
SADDR .set B0 ;Source address register
|
||
SPTCH .set B1 ;Source pitch register
|
||
DADDR .set B2 ;Dest. address register
|
||
DPTCH .set B3 ;Dest. pitch register
|
||
OFFSET .set B4 ;XY offset register
|
||
WSTART .set B5 ;Window start register
|
||
WEND .set B6 ;Window end register
|
||
DYDX .set B7 ;Delta X/delta Y register
|
||
COLOR0 .set B8 ;Color 0 register
|
||
COLOR1 .set B9 ;Color 1 register
|
||
COUNT .set B10
|
||
INC1 .set B11
|
||
INC2 .set B12
|
||
PATTRN .set B13
|
||
|
||
|