apple1/Controllers drivers/Hi-Res Video Driver Source/video processor source and hex/Defs.inc

75 lines
2.6 KiB
C++

;
; Originally designed and written by Daryl Rictor (c)2003-2004
;
; Modified by Grant Searle 2007-13
;
; Define Registers and Port Pins
; Acc = R00, R01 (results of multiply command)
.def Acc = R0 ; Reserved - maths accumulator for multiply operations
.def Acch = R1 ; "
.def nibbleTemp= R2 ; Temp storage for 4-bit (nibble) transfer
.def configByte = R3 ; As read from PORT D at startup
.set CONFIG_PAL = 7 ; 0xxxxxxx = NTSC, 0xxxxxxx = PAL
.set CONFIG_8_OR_4_BIT = 6 ; x0xxxxxx = 4 bit, x1xxxxxx= 8 bit
.set CONFIG_N_TWI = 5 ; xx1xxxxx = 4/8 bit, xx0xxxxx= Two wire
.set CONFIG_80_CHAR_PER_LINE = 4 ; xxx0xxxx = 40, xxx1xxxx=80
.set CONFIG_SINGLE_HEIGHT = 3 ; xxxx1xxx = Normal, xxxx0xxx = Double height
.set CONFIG_BOLD = 2 ; xxxxx0xx = Normal, xxxxx1xx = Bold
.def currLineAtt = R4 ; Reserved for scanline processing
.set ATT_80_CHAR_PER_LINE = 0 ; xxxxxxx0 = 40, xxxxxxx1=80
.set ATT_BOLD = 1
.set ATT_DBL_TOP = 2 ; xxxx00xx = Normal, xxxx01xx = Double top row, xxxx10xx = Double bottom row
.set ATT_DBL_BOTTOM = 3
.def activeLineAtt = R5 ; Font/graphic style currently being used
.set ATT_DBL_HEIGHT = 2
.set ATT_GRAPHICS = 7
.def previousInpt = R6
.def charUnderCursor = R7 ; character under the cursor
.def temp1s = R8
.def temp0s = R9
.def lastline = R10
.def line1 = R11
.def cmdVal = R12
.def temp = R13 ; General purpose temp
.def temp2 = R14 ; General purpose temp
.def temp3 = R15 ; General purpose temp
;-------------------------------------------------
.def J = R16 ; scratch 8 bit reg
.def K = R17 ; scratch 8 bit reg
.def column = R18 ; hor cursor pos 0-79
.def row = R19 ; vert cursor pos 0-24
.def vline = R20 ;\ vertical display line counter 0-261
.def vlineh = R21 ;/ hi byte of vline counter
.def chrln = R22 ; display chr line 0 - 199
.def inpt = R23 ; host input
.def cursorChar= R24 ; cursor character
.def cursorClk = R25 ; the cursor blink timer
; X pair = R26,27
; Y pair = R28,29
; Z pair = R30,31
;
; X pair used to point to SRAM by refresh routines
; Y pair used to point to SRAM by HOST processor
; Z pair used to point to Font data in Program Memory & scrolling
;PORT pin defs
.set syncpin = PB0 ; output
.set ldsrpin = PC3 ; output
.set ackdpin = PC4 ; output
.set availpin = PC5 ; input
.set ntscpin = PD7
.set datalenpin = PD6
.set twowireselpin = PD5
; TWI defs
.equ TW_SR_DATA_ACK = 0x80 ; x80 10000000 (the previously addressed (SLA + W) data has been received , ACK has been returned