]> git.sur5r.net Git - cc65/blobdiff - libsrc/pce/conio.s
fixed screensize, timertick, revers mode
[cc65] / libsrc / pce / conio.s
index 9f113f5154dfb0c17d9bff0c1c81d215eb1d6149..4fb3b1394e7715d33a2acf2f667c557ad8ab9551 100644 (file)
@@ -4,8 +4,6 @@
                 .import psg_init
                 .import vdc_init
 
-                .export initconio
-
                 .constructor initconio, 24
 
                 .macpack longbranch
@@ -28,17 +26,19 @@ set_palette:
 
                 ldx #0
 @lp:
-                .repeat 16
-                lda colors,x
+                ldy     #16
+@lp1:
+                lda     colors,x
                 sta     VCE_DATA_LO
-                lda colors+1,x
+                lda     colors+1,x
                 sta     VCE_DATA_HI
-                .endrepeat
+                dey
+                bne     @lp1
 
                 inx
                 inx
-                cpx #16*2
-                jne @lp
+                cpx     #16*2
+                jne     @lp
 
                 stz     VCE_ADDR_LO
                 stz     VCE_ADDR_HI
@@ -51,7 +51,7 @@ set_palette:
 ;
 ;----------------------------------------------------------------------------
 
-                .importzp ptr1
+                .importzp ptr1, tmp1
 conio_init:
                 ; Load font
                 st0     #VDC_MAWR
@@ -59,18 +59,43 @@ conio_init:
                 st2     #>$2000
 
                 ; ptr to font data
-                lda    #<font
-                sta            ptr1
-                lda    #>font
-                sta            ptr1+1
+                lda     #<font
+                sta     ptr1
+                lda     #>font
+                sta     ptr1+1
+
+                st0     #VDC_VWR        ; VWR
+
+                lda     #0
+                sta     tmp1
+                jsr     copy
+
+                lda     #<font
+                sta     ptr1
+                lda     #>font
+                sta     ptr1+1
+
+                lda     #$ff
+                sta     tmp1
+                jsr     copy
 
-                st0     #VDC_VWR            ; VWR
+
+                ldx     #0
+                stx     BGCOLOR
+                inx
+                stx     CHARCOLOR
+
+
+                rts
+
+copy:
                 ldy     #$80            ; 128 chars
 charloop:       ldx     #$08            ; 8 bytes/char
 lineloop:
-                lda (ptr1)
-                staio  VDC_DATA_LO       ; bitplane 0
-                stzio  VDC_DATA_HI       ; bitplane 1
+                lda     (ptr1)
+                eor     tmp1
+                sta     a:VDC_DATA_LO     ; bitplane 0
+                stz     a:VDC_DATA_HI     ; bitplane 1
 
                 clc                     ; increment font pointer
                 lda     ptr1
@@ -89,12 +114,6 @@ fillloop:       st1     #$00
                 dey
                 bne     charloop        ; next character
 
-                ldx #0
-                stx    BGCOLOR
-                inx
-                stx    CHARCOLOR
-
-
                 rts
 
                 .rodata