diff --git a/src/kernal/extapi_m65/mega65__jumptable.s b/src/kernal/extapi_m65/mega65__jumptable.s index 00f2a016..41eb1f5c 100644 --- a/src/kernal/extapi_m65/mega65__jumptable.s +++ b/src/kernal/extapi_m65/mega65__jumptable.s @@ -43,3 +43,5 @@ M65_JSETWIN_N: M65_JSETWIN_Y: jsr M65_SETWIN_Y + +// XXX add M65_HOME diff --git a/src/kernal/screen_m65/mega65_chrout_screen_control.s b/src/kernal/screen_m65/mega65_chrout_screen_control.s index 7e2f0f0e..1bad4541 100644 --- a/src/kernal/screen_m65/mega65_chrout_screen_control.s +++ b/src/kernal/screen_m65/mega65_chrout_screen_control.s @@ -75,10 +75,6 @@ m65_chrout_try_color_loop: // XXX: implement screen routines below: -m65_chrout_screen_CLR: - nop -m65_chrout_screen_HOME: - nop m65_chrout_screen_TAB: nop m65_chrout_screen_LINE_FEED: diff --git a/src/kernal/screen_m65/mega65_chrout_screen_control_2.s b/src/kernal/screen_m65/mega65_chrout_screen_control_2.s index e674ee3c..ce888a72 100644 --- a/src/kernal/screen_m65/mega65_chrout_screen_control_2.s +++ b/src/kernal/screen_m65/mega65_chrout_screen_control_2.s @@ -50,6 +50,17 @@ m65_chrout_screen_STOP: sta INSRT jmp_8 m65_chrout_screen_ctrl2_end +// CLR/HOME key support + +m65_chrout_screen_CLR: + + jsr M65_CLRWIN + jmp_8 m65_chrout_screen_ctrl2_end + +m65_chrout_screen_HOME: + + jsr M65_HOME + jmp_8 m65_chrout_screen_ctrl2_end // INS key diff --git a/src/kernal/screen_m65/mega65_clrscr.s b/src/kernal/screen_m65/mega65_clrscr.s index d4102e14..4f275e28 100644 --- a/src/kernal/screen_m65/mega65_clrscr.s +++ b/src/kernal/screen_m65/mega65_clrscr.s @@ -113,9 +113,10 @@ m65_clrscr_loop_done: // FALLTROUGH -m65_home: // XXX reuse +M65_HOME: - // XXX provide proper implementation + lda M65_SCRWINMODE + bmi M65_HOME_winmode lda #$00 sta M65__TXTROW @@ -124,3 +125,9 @@ m65_home: // XXX reuse sta M65_TXTROW_OFF+1 rts + +M65_HOME_winmode: + + // XXX provide implementation + + rts