don't use INVFLG but our own variable to indicate revers - the

INVFLG is changed by the Atari key


git-svn-id: svn://svn.cc65.org/cc65/trunk@16 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cpg 2000-05-30 22:20:01 +00:00
parent 1a679b3a20
commit 247c29f7a5
2 changed files with 9 additions and 3 deletions

View File

@ -20,6 +20,7 @@ _cputcxy:
.ifdef DIRECT_SCREEN
.importzp tmp4,ptr4
.import _revflag
_cputc:
cmp #$0D ; CR
@ -92,7 +93,7 @@ L3: clc
adc SAVMSC+1
sta ptr4+1
pla ; get char again
ora INVFLG
ora _revflag
ldy COLCRS
sta (ptr4),y
rts

View File

@ -6,6 +6,7 @@
.include "atari.inc"
.export _revers
.export _revflag
_revers:
ldx #$00 ; Assume revers off
@ -13,11 +14,15 @@ _revers:
beq L1 ; Jump if off
ldx #$80 ; Load on value
L1: ldy #$00 ; Assume old value is zero
lda INVFLG ; Load old value
stx INVFLG ; Set new value
lda _revflag ; Load old value
stx _revflag ; Set new value
beq L2 ; Jump if old value zero
iny ; Make old value = 1
L2: ldx #$00 ; Load high byte of result
tya ; Load low byte, set CC
rts
.data
_revflag:
.byte 0