1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-22 12:30:41 +00:00

atari5200: changes from discussions in #870

- rename screen_setup to initconio
- use Greg King's version of bgcolor()
This commit is contained in:
Christian Groessler 2019-04-10 22:15:27 +02:00 committed by Oliver Schmidt
parent d7eecb57f8
commit e1e6bec9ff
4 changed files with 24 additions and 32 deletions

View File

@ -1,36 +1,26 @@
;
; Christian Groessler, 05-Apr-2019
; Greg King, 10-Apr-2019
;
.export _bgcolor
.include "atari5200.inc"
.constructor init_old_bgcolor
.data
.bss
old_bg_color:
.res 1
old_bg_index:
.byte COLOR_BLACK ; see conioscreen.s for default palette
.code
_bgcolor:
and #3
and #$03
tax
lda COLOR0,x
ldx old_bg_color
sta COLOR4 ; set new value
sta old_bg_color
txa
ldx #0 ; fix X
ldy COLOR0,x
lda old_bg_index
sty COLOR4 ; set new value
stx old_bg_index
ldx #0 ; fix high byte
rts
.segment "ONCE"
init_old_bgcolor:
lda COLOR0+3 ; see also conioscreen.s for initialization
sta old_bg_color
rts
.end
.end

View File

@ -7,7 +7,7 @@
SCREEN_BUF_SIZE = 20 * 24
SCREEN_BUF = $4000 - SCREEN_BUF_SIZE
.export screen_setup
.export initconio
.export screen_width, screen_height
.export conio_color
@ -17,7 +17,8 @@ screen_height = 24
.segment "ONCE"
screen_setup:
; initialize color registers, display list, and screen memory
initconio:
; initialize SAVMSC
lda #<SCREEN_BUF
@ -62,9 +63,9 @@ clrscr: sta (SAVMSC),y
rts
.data
.bss
conio_color: .byte 0
conio_color: .res 1
.segment "DLIST"

View File

@ -15,9 +15,9 @@
.importzp screen_width, screen_height
.importzp ptr4
.import screen_setup
.constructor screen_setup_constructor, 26
screen_setup_constructor = screen_setup
.import initconio
.constructor initconio_constructor
initconio_constructor = initconio
_cputcxy:
pha ; Save C

View File

@ -7,7 +7,7 @@
SCREEN_BUF_SIZE = 20 * 12
SCREEN_BUF = $4000 - SCREEN_BUF_SIZE
.export screen_setup
.export initconio
.export screen_width, screen_height
.export conio_color
@ -17,7 +17,8 @@ screen_height = 12
.segment "ONCE"
screen_setup:
; initialize color registers, display list, and screen memory
initconio:
; initialize SAVMSC
lda #<SCREEN_BUF
@ -62,9 +63,9 @@ clrscr: sta (SAVMSC),y
rts
.data
.bss
conio_color: .byte 0
conio_color: .res 1
.segment "DLIST"