.import soft80_kclrscr, soft80_charset
.export soft80_internal_textcolor, soft80_internal_bgcolor
+ .export soft80_internal_cursorxlsb
.importzp ptr1, ptr2, ptr3
.res 1
soft80_internal_bgcolor:
.res 1
+soft80_internal_cursorxlsb:
+ .res 1
.import xsize
.import soft80_kplot
.import soft80_internal_bgcolor, soft80_internal_textcolor
+ .import soft80_internal_cursorxlsb
.importzp tmp4,tmp3
sty CURS_X
tya
and #$01
+ sta soft80_internal_cursorxlsb
bne @L5
lda SCREEN_PTR
.endif
;ldy #$00 ; is still $00
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
bne @l1
.repeat 8,line
sta (CRAM_PTR),y ; vram
.endif
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
bne @l1
.repeat 8,line
lda RVS
jne _invers
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
bne @l1
.repeat 8,line
; output inverted character
_invers:
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
bne @l1
.repeat 8,line
;and #$0f
sta tmp3 ; A contains colram
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
bne @sk3
; vram = colram
; botch characters in the cell are used
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
bne @sk2 ; jump if odd xpos
; vram = textcol
jsr soft80_checkchar
bcs @sk1 ; char at current position => overwrite 1st
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
beq @sk3 ; jump if even xpos
@sk2:
; colram = textcol
;ldy #$00 ; is still $00
- lda CURS_X
- and #$01
+ ;lda CURS_X
+ ;and #$01
+ lda soft80_internal_cursorxlsb
jne @l1a
.repeat 8,line
;
.export soft80_kplot
+ .import soft80_internal_cursorxlsb
.include "c64.inc"
.include "soft80.inc"
adc _bitmapxhi,y
sta SCREEN_PTR+1
+ tya
+ and #1
+ sta soft80_internal_cursorxlsb
+
; calc pointer to vram
tya
lsr a ; NOTE: we can save 2 cycles here at the expense of
ldy #screenrows
ldx #charsperline
rts
-
-;-------------------------------------------------------------------------------
-; force the init constructor to be imported
-
- .import soft80_init
-conio_init = soft80_init