clearing Mega65 text scren works now
This commit is contained in:
1 parent
52e2060026
commit
ab5400b20c
3 files changed
+34
-15
No files matched your search
@@ -4,6 +4,6 @@
|
|||||||
|
|
||||||
m65_chrout_screen:
|
m65_chrout_screen:
|
||||||
|
|
||||||
// Provide implementation
|
// XXX provide implementation
|
||||||
|
|
||||||
rts
|
rts
|
||||||
@@ -37,13 +37,14 @@ M65_CLRWIN:
|
|||||||
bpl !-
|
bpl !-
|
||||||
|
|
||||||
lda #$0F
|
lda #$0F
|
||||||
sta M65_LPNT_KERN+2
|
sta M65_LPNT_KERN+3
|
||||||
lda #$F8
|
lda #$F8
|
||||||
sta M65_LPNT_KERN+1
|
sta M65_LPNT_KERN+2
|
||||||
|
|
||||||
// Go trough all the rows
|
// Go trough all the rows
|
||||||
|
|
||||||
phz
|
phz
|
||||||
|
ldx M65_SCRMODE
|
||||||
ldy #$00
|
ldy #$00
|
||||||
|
|
||||||
// FALLTROUGH
|
// FALLTROUGH
|
||||||
@@ -61,7 +62,7 @@ m65_clrwin_loop:
|
|||||||
!:
|
!:
|
||||||
lda #$20
|
lda #$20
|
||||||
sta_lp (M65_LPNT_SCR),z
|
sta_lp (M65_LPNT_SCR),z
|
||||||
lda #$00
|
lda COLOR
|
||||||
sta_lp (M65_LPNT_KERN),z
|
sta_lp (M65_LPNT_KERN),z
|
||||||
inz
|
inz
|
||||||
cpz M65_TXTWIN_X1
|
cpz M65_TXTWIN_X1
|
||||||
@@ -71,12 +72,30 @@ m65_clrwin_loop:
|
|||||||
|
|
||||||
m65_clrwin_loop_next:
|
m65_clrwin_loop_next:
|
||||||
|
|
||||||
|
// Increment M65_LPNT_SCR and M65_LPNT_KERN by the row length
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda m65_scrtab_txtwidth, x
|
||||||
|
adc M65_LPNT_SCR+0
|
||||||
|
sta M65_LPNT_SCR+0
|
||||||
|
bcc !+
|
||||||
|
inc M65_LPNT_SCR+1
|
||||||
|
!:
|
||||||
|
clc
|
||||||
|
lda m65_scrtab_txtwidth, x
|
||||||
|
adc M65_LPNT_KERN+0
|
||||||
|
sta M65_LPNT_KERN+0
|
||||||
|
bcc !+
|
||||||
|
inc M65_LPNT_KERN+1
|
||||||
|
!:
|
||||||
|
// Increment row counter, check if new row is valid
|
||||||
|
|
||||||
iny
|
iny
|
||||||
|
cpy M65_TXTWIN_Y1
|
||||||
// XXX
|
bne m65_clrwin_loop
|
||||||
|
|
||||||
plz
|
plz
|
||||||
|
|
||||||
|
// Set screen variables
|
||||||
|
|
||||||
// XXX implement this
|
// XXX implement this
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,13 @@ m65_scrmodeset_internal: // entry point for M65_MODE65
|
|||||||
|
|
||||||
sta M65_SCRMODE
|
sta M65_SCRMODE
|
||||||
|
|
||||||
|
// Set flags/variables for 40/80 columns and 25/50 rows
|
||||||
|
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda m65_scrtab_vic_ctrlb,x
|
||||||
|
sta VIC_CTRLB
|
||||||
|
|
||||||
// Set the base screen addresses:
|
// Set the base screen addresses:
|
||||||
// - in VIC_SCRNPTR and M65_SCRTXTBASE to $16000
|
// - in VIC_SCRNPTR and M65_SCRTXTBASE to $16000
|
||||||
// - in VIC_COLPTR to $0000
|
// - in VIC_COLPTR to $0000
|
||||||
@@ -60,11 +67,4 @@ m65_scrmodeset_internal: // entry point for M65_MODE65
|
|||||||
stx VIC_SCRNPTR+1
|
stx VIC_SCRNPTR+1
|
||||||
stx M65_SCRTXTBASE+1
|
stx M65_SCRTXTBASE+1
|
||||||
|
|
||||||
// Set flags/variables for 40/80 columns and 25/50 rows
|
|
||||||
|
|
||||||
tax
|
|
||||||
|
|
||||||
lda m65_scrtab_vic_ctrlb,x
|
|
||||||
sta VIC_CTRLB
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
Reference in new issue
Block a user