1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-08 15:29:37 +00:00

Quite some minor changes to have the two C128 TGI driver source files only differ where they are semantically different.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4552 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc 2010-01-23 08:55:37 +00:00
parent 5175f95341
commit 16129b2724
2 changed files with 70 additions and 69 deletions

View File

@ -453,8 +453,8 @@ SETPALETTE:
ora COLTRANS,y
ldx #VDC_COLORS
jsr VDCWriteReg ; Clear error code
lda #TGI_ERR_OK
jsr VDCWriteReg
lda #TGI_ERR_OK ; Clear error code
sta ERROR
rts
@ -766,59 +766,59 @@ BAR:
; Original code for a horizontal line
HORLINE:
lda X1
pha
lda X1+1
pha
jsr CALC ; get data for LEFT
lda BITMASKL,x ; remember left address and bitmask
pha
lda ADDR
pha
lda ADDR+1
pha
lda X1
pha
lda X1+1
pha
jsr CALC ; get data for LEFT
lda BITMASKL,x ; remember left address and bitmask
pha
lda ADDR
pha
lda ADDR+1
pha
lda X2
sta X1
lda X2+1
sta X1+1
jsr CALC ; get data for RIGHT
lda BITMASKR,x
sta TEMP3
lda X2
sta X1
lda X2+1
sta X1+1
jsr CALC ; get data for RIGHT
lda BITMASKR,x
sta TEMP3
pla ; recall data for LEFT
sta X1+1
pla
sta X1 ; put left address into X1
pla
pla ; recall data for LEFT
sta X1+1
pla
sta X1 ; put left address into X1
pla
cmp #%11111111 ; if left bit <> 0
beq @L1
sta TEMP2 ; do left byte only...
lda X1
ldy X1+1
jsr VDCSetSourceAddr
jsr VDCReadByte
sta TEMP
eor BITMASK
and TEMP2
eor TEMP
pha
lda X1
ldy X1+1
jsr VDCSetSourceAddr
pla
jsr VDCWriteByte
inc X1 ; ... and proceed
bne @L1
inc X1+1
cmp #%11111111 ; if left bit <> 0
beq @L1
sta TEMP2 ; do left byte only...
lda X1
ldy X1+1
jsr VDCSetSourceAddr
jsr VDCReadByte
sta TEMP
eor BITMASK
and TEMP2
eor TEMP
pha
lda X1
ldy X1+1
jsr VDCSetSourceAddr
pla
jsr VDCWriteByte
inc X1 ; ... and proceed
bne @L1
inc X1+1
; do right byte (if Y2=0 ++ADDR and skip)
; do right byte (if Y2=0 ++ADDR and skip)
@L1: lda TEMP3
cmp #%11111111 ; if right bit <> 7
bne @L11
inc ADDR ; right bit = 7 - the next one is the last
bne @L10
cmp #%11111111 ; if right bit <> 7
bne @L11
inc ADDR ; right bit = 7 - the next one is the last
bne @L10
inc ADDR+1
@L10: bne @L2
@ -881,6 +881,7 @@ HORLINE:
@L5: jmp HORLINE
; ------------------------------------------------------------------------
; TEXTSTYLE: Set the style used when calling OUTTEXT. Text scaling in X and Y
; direction is passend in X/Y, the text direction is passed in A.

View File

@ -56,7 +56,7 @@ VDC_DATA = 31
; capabilities of the driver
.byte $74, $67, $69 ; "tgi"
.byte TGI_API_VERSION ; TGI version number
.byte TGI_API_VERSION ; TGI API version number
xres: .word 640 ; X resolution
yres: .word 480 ; Y resolution
.byte 2 ; Number of drawing colors
@ -123,7 +123,7 @@ BITMASK: .res 1 ; $00 = clear, $FF = set pixels
OLDCOLOR: .res 1 ; colors before entering gfx mode
; Line routine stuff (combined with CIRCLE to save space)
; Line routine stuff
COUNT: .res 2
NY: .res 2
@ -283,13 +283,13 @@ UNINSTALL:
INIT:
lda pages ; is there enough memory?
bne @L11 ; Jump if there is one screen
bne @L1 ; Jump if there is one screen
lda #TGI_ERR_INV_MODE ; Error
bne @L9
; Initialize variables
@L11: ldx #$FF
@L1: ldx #$FF
stx BITMASK
; Remeber current color value
@ -494,23 +494,23 @@ GETDEFPALETTE:
SETPIXEL:
jsr CALC ; Calculate coordinates
stx TEMP
lda ADDR
ldy ADDR+1
jsr VDCSetSourceAddr
jsr VDCReadByte
ldx TEMP
stx TEMP
lda ADDR
ldy ADDR+1
jsr VDCSetSourceAddr
jsr VDCReadByte
ldx TEMP
sta TEMP
sta TEMP
eor BITMASK
and BITTAB,X
eor TEMP
pha
lda ADDR
ldy ADDR+1
jsr VDCSetSourceAddr
pla
jsr VDCWriteByte
eor TEMP
pha
lda ADDR
ldy ADDR+1
jsr VDCSetSourceAddr
pla
jsr VDCWriteByte
@L9: rts
@ -645,7 +645,7 @@ LINE:
bne @L0167
rts
; setpixel(X1,Y1)
@L0167: jsr SETPIXEL
@L0167: jsr SETPIXEL
; pb = err + ny
lda ERR
clc