more work towards windowed mode support
This commit is contained in:
1 parent
5f6357c7e3
commit
56b9571b62
5 files changed
+99
-1
No files matched your search
@@ -12,6 +12,11 @@
|
||||
.label M65_SLOW = KERNAL_0.M65_SLOW
|
||||
.label M65_FAST = KERNAL_0.M65_FAST
|
||||
.label M65_ISMODE65 = KERNAL_0.M65_ISMODE65
|
||||
.label M65_SETWIN_XY = KERNAL_0.M65_SETWIN_XY
|
||||
.label M65_SETWIN_WH = KERNAL_0.M65_SETWIN_WH
|
||||
.label M65_SETWIN_N = KERNAL_0.M65_SETWIN_N
|
||||
.label M65_SETWIN_Y = KERNAL_0.M65_SETWIN_Y
|
||||
|
||||
|
||||
#if (CONFIG_TAPE_NORMAL || CONFIG_TAPE_TURBO) || (CONFIG_IEC_JIFFYDOS && !CONFIG_MEMORY_MODEL_60K)
|
||||
.label screen_on = KERNAL_0.screen_on
|
||||
|
||||
@@ -31,3 +31,15 @@ M65_JCLRSCR:
|
||||
|
||||
M65_JCLRWIN:
|
||||
jsr M65_CLRWIN
|
||||
|
||||
M65_JSETWIN_XY:
|
||||
jsr M65_SETWIN_XY
|
||||
|
||||
M65_JSETWIN_WH:
|
||||
jsr M65_SETWIN_WH
|
||||
|
||||
M65_JSETWIN_N:
|
||||
jsr M65_SETWIN_N
|
||||
|
||||
M65_JSETWIN_Y:
|
||||
jsr M65_SETWIN_Y
|
||||
@@ -100,7 +100,26 @@ m65_chrout_screen_literal: // entry point for m65_chrout_screen_quote
|
||||
|
||||
m65_chrout_fix_column_row:
|
||||
|
||||
// XXX continue the implementation - fix the cursor position
|
||||
ldy M65_SCRMODE
|
||||
|
||||
bit M64_SCRWINMODE
|
||||
bmi m65_chrout_fix_column_row_win
|
||||
|
||||
// Non-windowed mode
|
||||
|
||||
// XXX
|
||||
// XXX provide implementation
|
||||
// XXX
|
||||
|
||||
jmp_8 m65_chrout_screen_done
|
||||
|
||||
m65_chrout_fix_column_row_win:
|
||||
|
||||
// Windowed mode
|
||||
|
||||
// XXX
|
||||
// XXX provide implementation
|
||||
// XXX
|
||||
|
||||
nop
|
||||
|
||||
|
||||
@@ -46,6 +46,12 @@ m65_chrout_screen_RETURN:
|
||||
|
||||
// Move cursor to the beginning of the next line
|
||||
|
||||
bit M64_SCRWINMODE
|
||||
bpl !+
|
||||
lda M65_TXTWIN_X0
|
||||
skip_2_bytes_trash_nvz
|
||||
!:
|
||||
lda #$00
|
||||
sta M65__TXTCOL
|
||||
inc M65__TXTROW
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
// #LAYOUT# M65 KERNAL_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
M65_SETWIN_XY:
|
||||
|
||||
stx M65_TXTWIN_X0
|
||||
sty M65_TXTWIN_Y0
|
||||
|
||||
rts
|
||||
|
||||
|
||||
M65_SETWIN_WH:
|
||||
|
||||
pha
|
||||
|
||||
clc
|
||||
txa
|
||||
adc M65_TXTWIN_X0
|
||||
sta M65_TXTWIN_X1
|
||||
|
||||
clc
|
||||
tya
|
||||
adc M65_TXTWIN_Y0
|
||||
sta M65_TXTWIN_Y1
|
||||
|
||||
pla
|
||||
rts
|
||||
|
||||
|
||||
M65_SETWIN_N:
|
||||
|
||||
pha
|
||||
|
||||
lda #$00
|
||||
sta M64_SCRWINMODE
|
||||
|
||||
pla
|
||||
rts
|
||||
|
||||
|
||||
M65_SETWIN_Y:
|
||||
|
||||
pha
|
||||
|
||||
lda #$FF
|
||||
sta M64_SCRWINMODE
|
||||
|
||||
lda M65_TXTWIN_X0
|
||||
sta M65__TXTCOL
|
||||
|
||||
lda M65_TXTWIN_Y0
|
||||
sta M65__TXTROW
|
||||
|
||||
pla
|
||||
rts
|
||||
Reference in new issue
Block a user