From 426e93b4bfcfffff4cffcfbb0c14d80668b8130b Mon Sep 17 00:00:00 2001 From: Fabrizio Caruso Date: Sat, 2 Apr 2022 12:44:27 +0200 Subject: [PATCH] Fix Gamate CONIO: non-solid characters bug --- libsrc/gamate/cputc.s | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/libsrc/gamate/cputc.s b/libsrc/gamate/cputc.s index 84742cb9d..435bebfad 100644 --- a/libsrc/gamate/cputc.s +++ b/libsrc/gamate/cputc.s @@ -89,28 +89,32 @@ putchar: adc #>(fontdata-$f8) sta ptr3+1 - lda CHARCOLOR - and #1 - beq @skip_plane1 - lda #LCD_XPOS_PLANE1 clc adc CURS_X sta LCD_X - ldy #$f8 + lda CHARCOLOR + and #1 + beq @delete1 + + ldy #$F8 @copylp1: lda (ptr3),y eor RVS sta LCD_DATA iny bne @copylp1 + + beq @skip_delete1 -@skip_plane1: +@delete1: + lda #$00 + sta LCD_DATA + iny + bne @delete1 - lda CHARCOLOR - and #2 - beq @skip_plane2 +@skip_delete1: lda #LCD_XPOS_PLANE2 clc @@ -120,16 +124,29 @@ putchar: ldx CURS_Y lda _plotlo,x sta LCD_Y + + lda CHARCOLOR + and #2 + beq @delete2 + + ldy #$F8 - ldy #$f8 @copylp2: lda (ptr3),y eor RVS sta LCD_DATA iny bne @copylp2 + + beq @skip_delete2 + +@delete2: + lda #$00 + sta LCD_DATA + iny + bne @delete2 -@skip_plane2: +@skip_delete2: pla tax ldy CURS_X