preparation for up-scrollable console
This commit is contained in:
1 parent
ab22c13fac
commit
0d4898d91c
5 files changed
+214
-51
No files matched your search
@@ -56,21 +56,50 @@ m65_scrmodeset_internal: // entry point for M65_MODE65
|
||||
ldx #$00
|
||||
stx VIC_CHARSTEP+1
|
||||
|
||||
// Set the base screen addresses:
|
||||
// - in VIC_SCRNPTR and M65_SCRTXTBASE to $16000
|
||||
// - in VIC_COLPTR to $0000
|
||||
// Set the following locations:
|
||||
// - M64_SCRWINMODE - for scroll-console mode
|
||||
// - M65_SCRSEG, VIC_SCRNPTR+2/+3 - for screen in $0001xxxx area
|
||||
|
||||
stx M64_SCRWINMODE // .X = 0
|
||||
stx M65_SCRSEG+1
|
||||
stx VIC_SCRNPTR+3
|
||||
inx
|
||||
stx M65_SCRSEG+0
|
||||
stx VIC_SCRNPTR+2
|
||||
|
||||
// Set the following locations:
|
||||
// - M65_SCRBASE - for screen starting from $xxxx6000
|
||||
// - M65_SCRVIEW, VIC_SCRNPTR+0/+1 - for screen viewport starting from the same address
|
||||
// - M65_COLVIEW, VIC_COLPTR - for using color memory from the start
|
||||
|
||||
ldx #$60
|
||||
stx M65_SCRBASE+1
|
||||
stx M65_SCRVIEW+1
|
||||
stx VIC_SCRNPTR+1
|
||||
|
||||
ldx #$00
|
||||
stx M65_SCRBASE+0
|
||||
stx M65_SCRVIEW+0
|
||||
stx VIC_SCRNPTR+0
|
||||
|
||||
stx M65_COLVIEW+0
|
||||
stx M65_COLVIEW+1
|
||||
stx VIC_COLPTR+0
|
||||
stx VIC_COLPTR+1
|
||||
stx VIC_SCRNPTR+0
|
||||
stx M65_SCRTXTBASE+0
|
||||
stx VIC_SCRNPTR+3
|
||||
stx M65_SCRTXTBASE+3
|
||||
inx
|
||||
stx VIC_SCRNPTR+2
|
||||
stx M65_SCRTXTBASE+2
|
||||
ldx #$60
|
||||
stx VIC_SCRNPTR+1
|
||||
stx M65_SCRTXTBASE+1
|
||||
|
||||
// Set the following locations:
|
||||
// - M65_SCREND - for max 200 lines of virtual screen
|
||||
// - M65_SCRVIEWMAX - as above, but depending on the mode
|
||||
|
||||
ldx #$80
|
||||
stx M65_SCRGUARD+0
|
||||
ldx #$9E
|
||||
stx M65_SCRGUARD+1
|
||||
|
||||
ldx M65_SCRMODE
|
||||
lda m65_scrtab_viewmax_lo, x
|
||||
sta M65_SCRVIEWMAX+0
|
||||
lda m65_scrtab_viewmax_hi, x
|
||||
sta M65_SCRVIEWMAX+1
|
||||
|
||||
rts
|
||||
Reference in new issue
Block a user