more work towards windowed mode support

This commit is contained in:
FeralChild64 committed 2020-08-23 15:31:57 +02:00
1 parent 5f6357c7e3
commit 56b9571b62
5 files changed
+99 -1

No files matched your search

+5
View File
@@ -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
+12
View File
@@ -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
+20 -1
View File
@@ -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
+56
View File
@@ -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