For the CBM platforms, make revers() machine dependent and use the RVS flag

of the different machines instead of a separate one.
For the C128, make the textcolor() function work in 40 and 80 column mode.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1787 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2002-12-19 20:29:27 +00:00
parent 0b496a9daa
commit 36fe6284a8
33 changed files with 243 additions and 38 deletions

View File

@@ -49,6 +49,7 @@ OBJS = _scrsize.o \
pokesys.o \
randomize.o \
readjoy.o \
revers.o \
rs232.o \
tgi_mode_table.o

View File

@@ -174,8 +174,7 @@ rs232head = $037C
rs232tail = $037D
PgmKeyEnd = $0380
PgmKeySeg = $0382
PgmKeySize = $0383
rvsFlag = $0397
RVS = $0383
linetmp = $0398
LastPrtChar = $0399
InsertFlag = $039A
@@ -188,7 +187,6 @@ SegSave = $03A0
TabStopTable = $03A1 ; 80 bits for tabstops
KeyBuf = $03AB ; Keyboard buffer
funvec = $03B5 ; Vector for function key handline
FunKeyTmp = $03B7
sedt3 = $03B9
MoniSegSave = $03f0
wstvec = $03F8

View File

@@ -10,7 +10,7 @@
.import PLOT
.import popa, _gotoxy
.import xsize, revers
.import xsize
.include "cbm510.inc"
@@ -97,7 +97,7 @@ plot: ldy CURS_X
; position in Y
putchar:
ora revers ; Set revers bit
ora RVS ; Set revers bit
ldy CURS_X
sta (SCREEN_PTR),y ; Set char
ldx IndReg

27
libsrc/cbm510/revers.s Normal file
View File

@@ -0,0 +1,27 @@
;
; Ullrich von Bassewitz, 07.08.1998
;
; unsigned char revers (unsigned char onoff);
;
.export _revers
.include "cbm510.inc"
.proc _revers
ldx #$00 ; Assume revers off
tay ; Test onoff
beq L1 ; Jump if off
ldx #$80 ; Load on value
ldy #$00 ; Assume old value is zero
L1: lda RVS ; Load old value
stx RVS ; 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
.endproc