1
0
mirror of https://github.com/cc65/cc65.git synced 2025-04-08 19:38:55 +00:00

atari5200: fix conio screen initialization

Screen memory clearing was wrong, now uses _clrscr function.
This commit is contained in:
Christian Groessler 2025-03-04 23:39:38 +01:00
parent 16224cdd36
commit 02470a2343
2 changed files with 6 additions and 34 deletions

View File

@ -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
sta SDLSTL
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

View File

@ -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
sta SDLSTL
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