From 02470a23432fe37dec69766319314931a57adb77 Mon Sep 17 00:00:00 2001 From: Christian Groessler Date: Tue, 4 Mar 2025 23:39:38 +0100 Subject: [PATCH] atari5200: fix conio screen initialization Screen memory clearing was wrong, now uses _clrscr function. --- libsrc/atari5200/conioscreen.s | 20 +++----------------- libsrc/atari5200/extra/conioscreen-20x12.s | 20 +++----------------- 2 files changed, 6 insertions(+), 34 deletions(-) diff --git a/libsrc/atari5200/conioscreen.s b/libsrc/atari5200/conioscreen.s index 8c78fd44f..0c77b14c7 100644 --- a/libsrc/atari5200/conioscreen.s +++ b/libsrc/atari5200/conioscreen.s @@ -7,6 +7,7 @@ SCREEN_BUF_SIZE = 20 * 24 SCREEN_BUF = $4000 - SCREEN_BUF_SIZE + .import _clrscr .export screen_setup .export screen_width, screen_height .export conio_color @@ -26,24 +27,10 @@ screen_setup: lda #>SCREEN_BUF sta SAVMSC+1 - ; initialize cursor position - lda #0 - sta COLCRS_5200 - sta ROWCRS_5200 - ; clear screen buffer - ldy #<(SCREEN_BUF_SIZE-1) - ldx #>(SCREEN_BUF_SIZE-1) -clrscr: sta (SAVMSC),y - dey - cpy #$FF - bne clrscr - dex - cpx #$FF - bne clrscr + jsr _clrscr ; set default colors - lda #GTIA_COLOR_WHITE sta COLOR0 lda #GTIA_COLOR_LIGHTRED @@ -55,7 +42,6 @@ clrscr: sta (SAVMSC),y sta COLOR4 ; background ; set display list - lda #dlist @@ -82,7 +68,7 @@ dlist: .repeat 3 .byte DL_CHR20x8x2 .endrepeat - .byte DL_JVB + .byte DL_JVB .word dlist ; end of display list diff --git a/libsrc/atari5200/extra/conioscreen-20x12.s b/libsrc/atari5200/extra/conioscreen-20x12.s index aeb11cb43..c2aa0a65f 100644 --- a/libsrc/atari5200/extra/conioscreen-20x12.s +++ b/libsrc/atari5200/extra/conioscreen-20x12.s @@ -7,6 +7,7 @@ SCREEN_BUF_SIZE = 20 * 12 SCREEN_BUF = $4000 - SCREEN_BUF_SIZE + .import _clrscr .export screen_setup .export screen_width, screen_height .export conio_color @@ -26,24 +27,10 @@ screen_setup: lda #>SCREEN_BUF sta SAVMSC+1 - ; initialize cursor position - lda #0 - sta COLCRS_5200 - sta ROWCRS_5200 - ; clear screen buffer - ldy #<(SCREEN_BUF_SIZE-1) - ldx #>(SCREEN_BUF_SIZE-1) -clrscr: sta (SAVMSC),y - dey - cpy #$FF - bne clrscr - dex - cpx #$FF - bne clrscr + jsr _clrscr ; set default colors - lda #GTIA_COLOR_WHITE sta COLOR0 lda #GTIA_COLOR_LIGHTRED @@ -55,7 +42,6 @@ clrscr: sta (SAVMSC),y sta COLOR4 ; background ; set display list - lda #dlist @@ -82,7 +68,7 @@ dlist: .repeat 3 .byte DL_CHR20x16x2 .endrepeat - .byte DL_JVB + .byte DL_JVB .word dlist ; end of display list