Added simple clear screen without smc

This commit is contained in:
Rob McMullen 2018-07-20 12:21:41 -07:00
parent f9e82052ba
commit f73ed4c652
4 changed files with 103 additions and 13 deletions

Binary file not shown.

BIN
kfest2018/SETSCRNSMC.BIN Normal file

Binary file not shown.

View File

@ -1,15 +1,30 @@
*= $06
hgr_ptr .ds 2
FIRST_CHAR_OF_SCREEN .ds 1
FRAME_COUNT .ds 1
*= $5000
start_set
jsr set_hires
jsr test
jsr driver
jsr set_text
jmp forever
rts
brk
driver
lda #$00
sta FIRST_CHAR_OF_SCREEN
lda #64
sta FRAME_COUNT
page_loop
jsr page
dec FRAME_COUNT
bne page_loop
rts
forever
jmp forever
@ -40,20 +55,21 @@ set_text bit SETTEXT
*= $5074
test
page
; set hires page 1 only
lda #$20
sta setscr_smc+2
sta hgr_ptr+1
lda #0
ldy #0
lda #$ff
setscr_smc sta $ff00,y ; 4
iny ; 2
bne setscr_smc ; 4 = 10 * 256
inc setscr_smc+2 ; 6
ldx setscr_smc+2 ; 6
cpx #$40 ; 2
bcc setscr_smc ; 4
rts ; (18 + 10*256) * 32 = 82496
sta hgr_ptr
tay
lda frame_count
setscr sta (hgr_ptr),y
iny
bne setscr
inc hgr_ptr+1
ldx hgr_ptr+1
cpx #$40
bcc setscr
rts
brk

74
kfest2018/setscrnsmc.s Normal file
View File

@ -0,0 +1,74 @@
*= $06
hgr_ptr .ds 2
FIRST_CHAR_OF_SCREEN .ds 1
FRAME_COUNT .ds 1
*= $5000
start_set
jsr set_hires
jsr driver
jsr set_text
jmp forever
rts
brk
driver
lda #$00
sta FIRST_CHAR_OF_SCREEN
lda #64
sta FRAME_COUNT
page_loop
jsr page
dec FRAME_COUNT
bne page_loop
rts
forever
jmp forever
; os memory map
KEYBOARD = $c000
KBDSTROBE = $c010
CLRTEXT = $c050
SETTEXT = $c051
CLRMIXED = $c052
SETMIXED = $c053
TXTPAGE1 = $c054
TXTPAGE2 = $c055
CLRHIRES = $c056
SETHIRES = $c057
set_hires bit CLRTEXT ; start with HGR page 1, full screen
bit CLRMIXED
bit TXTPAGE1
bit SETHIRES
rts
set_text bit SETTEXT
bit CLRMIXED
bit TXTPAGE1
bit CLRHIRES
rts
*= $5074
page
; set hires page 1 only
lda #$20
sta setscr_smc+2
lda frame_count
ldy #0
lda #$ff
setscr_smc sta $ff00,y ; 4
iny ; 2
bne setscr_smc ; 4 = 10 * 256
inc setscr_smc+2 ; 6
ldx setscr_smc+2 ; 6
cpx #$40 ; 2
bcc setscr_smc ; 4
rts ; (18 + 10*256) * 32 = 82496
brk