Added simple clear screen without smc
This commit is contained in:
parent
f9e82052ba
commit
f73ed4c652
Binary file not shown.
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -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
|
Loading…
Reference in New Issue