more MEGA65 screen editor features
This commit is contained in:
1 parent
33dbbbd6e7
commit
65b3aad4b1
4 files changed
+82
-33
No files matched your search
@@ -56,7 +56,7 @@
|
|||||||
!set KEY_TAB_SET_CLR = $18 ; XXX add to M65 matrix
|
!set KEY_TAB_SET_CLR = $18 ; XXX add to M65 matrix
|
||||||
!set KEY_UNDERLINE_ON = $02 ; XXX add to M65 matrix
|
!set KEY_UNDERLINE_ON = $02 ; XXX add to M65 matrix
|
||||||
!set KEY_UNDERLINE_OFF = $82 ; XXX add to M65 matrix
|
!set KEY_UNDERLINE_OFF = $82 ; XXX add to M65 matrix
|
||||||
!set KEY_FLASHING_ON = $0F ; XXX add to M65 matrix
|
!set KEY_FLASHING_ON = $0F
|
||||||
!set KEY_FLASHING_OFF = $8F ; XXX add to M65 matrix
|
!set KEY_FLASHING_OFF = $8F ; XXX add to M65 matrix
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -83,10 +83,6 @@ m65_chrout_screen_UNDERLINE_ON:
|
|||||||
+nop
|
+nop
|
||||||
m65_chrout_screen_UNDERLINE_OFF:
|
m65_chrout_screen_UNDERLINE_OFF:
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_screen_FLASHING_ON:
|
|
||||||
+nop
|
|
||||||
m65_chrout_screen_FLASHING_OFF:
|
|
||||||
+nop
|
|
||||||
m65_chrout_screen_TAB_SET_CLR:
|
m65_chrout_screen_TAB_SET_CLR:
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_screen_BELL:
|
m65_chrout_screen_BELL:
|
||||||
|
|||||||
@@ -10,6 +10,25 @@ m65_chrout_screen_ESC:
|
|||||||
sta M65_ESCMODE
|
sta M65_ESCMODE
|
||||||
bra m65_chrout_screen_ctrl2_end
|
bra m65_chrout_screen_ctrl2_end
|
||||||
|
|
||||||
|
; Flashing support
|
||||||
|
|
||||||
|
m65_chrout_screen_FLASHING_ON:
|
||||||
|
|
||||||
|
lda COLOR
|
||||||
|
ora #%00010000
|
||||||
|
bra m65_chrout_screen_FLASHING_common
|
||||||
|
|
||||||
|
m65_chrout_screen_FLASHING_OFF: ; XXX how to trigger it?
|
||||||
|
|
||||||
|
lda COLOR
|
||||||
|
and #%11101111
|
||||||
|
|
||||||
|
; FALLTROUGH
|
||||||
|
|
||||||
|
m65_chrout_screen_FLASHING_common:
|
||||||
|
|
||||||
|
sta COLOR
|
||||||
|
bra m65_chrout_screen_ctrl2_end
|
||||||
|
|
||||||
; 'REVERSE' mode support
|
; 'REVERSE' mode support
|
||||||
|
|
||||||
@@ -149,8 +168,6 @@ m65_chrout_screen_INS_winmode:
|
|||||||
|
|
||||||
bra m65_chrout_screen_ctrl2_end
|
bra m65_chrout_screen_ctrl2_end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
m65_chrout_screen_INS_copy:
|
m65_chrout_screen_INS_copy:
|
||||||
|
|
||||||
dez
|
dez
|
||||||
|
|||||||
@@ -40,7 +40,20 @@ m65_chrout_screen_escmode:
|
|||||||
tax
|
tax
|
||||||
jmp (m65_chrout_screen_jumptable_escape, x)
|
jmp (m65_chrout_screen_jumptable_escape, x)
|
||||||
|
|
||||||
m65_chrout_esc_J: ; move cursor to the beginning of the line
|
m65_chrout_esc_LBR: ; set monochrome display
|
||||||
|
|
||||||
|
lda #$80
|
||||||
|
+skip_2_bytes_trash_nvz
|
||||||
|
|
||||||
|
; FALLTROUGH
|
||||||
|
|
||||||
|
m65_chrout_esc_RBR: ; set color display
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
jsr m65_colorset
|
||||||
|
bra m65_chrout_esc_done_1
|
||||||
|
|
||||||
|
m65_chrout_esc_J: ; move cursor to the beginning of the line XXX update for window mode
|
||||||
|
|
||||||
lda #$00
|
lda #$00
|
||||||
sta M65__TXTCOL
|
sta M65__TXTCOL
|
||||||
@@ -80,6 +93,36 @@ m65_chrout_esc_done_1:
|
|||||||
|
|
||||||
jmp m65_chrout_screen_done
|
jmp m65_chrout_screen_done
|
||||||
|
|
||||||
|
m65_chrout_esc_P: ; erase everything from start of the line to cursor XXX update for window mode
|
||||||
|
|
||||||
|
phz
|
||||||
|
ldz #$FF
|
||||||
|
lda #$20
|
||||||
|
@1:
|
||||||
|
inz
|
||||||
|
sta [M65_LPNT_SCR], z
|
||||||
|
cpz M65__TXTCOL
|
||||||
|
bne @1
|
||||||
|
|
||||||
|
plz
|
||||||
|
bra m65_chrout_esc_done_1
|
||||||
|
|
||||||
|
m65_chrout_esc_Q: ; erase everything from cursor till the end of line XXX update for window mode
|
||||||
|
|
||||||
|
phz
|
||||||
|
ldx M65_SCRMODE
|
||||||
|
lda m65_scrtab_txtwidth,x
|
||||||
|
taz
|
||||||
|
lda #$20
|
||||||
|
@1:
|
||||||
|
dez
|
||||||
|
sta [M65_LPNT_SCR], z
|
||||||
|
cpz M65__TXTCOL
|
||||||
|
bne @1
|
||||||
|
|
||||||
|
plz
|
||||||
|
bra m65_chrout_esc_done_1
|
||||||
|
|
||||||
m65_chrout_esc_X: ; cycle through available screen modes
|
m65_chrout_esc_X: ; cycle through available screen modes
|
||||||
|
|
||||||
lda M65_SCRMODE
|
lda M65_SCRMODE
|
||||||
@@ -137,47 +180,40 @@ m65_chrout_esc_R: ; 'reversed' screen colors
|
|||||||
|
|
||||||
; XXX: implement screen routines below:
|
; XXX: implement screen routines below:
|
||||||
|
|
||||||
m65_chrout_esc_AT:
|
m65_chrout_esc_AT: ; clears everything from cursor till end of the screen
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_A:
|
m65_chrout_esc_A: ; enable auto-insert mode
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_B:
|
m65_chrout_esc_B: ; set bottom-right window position
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_C:
|
m65_chrout_esc_C: ; disable auto-insert mode
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_D:
|
m65_chrout_esc_D: ; delete current line, move content up
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_E:
|
m65_chrout_esc_E: ; disable cursor flashing
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_F:
|
m65_chrout_esc_F: ; enable cursor flashing
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_G:
|
m65_chrout_esc_G: ; enable bell
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_H:
|
m65_chrout_esc_H: ; disable bell
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_I:
|
m65_chrout_esc_I: ; insert empty line, move content down
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_L:
|
m65_chrout_esc_L: ; enable screen scrolling
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_M:
|
m65_chrout_esc_M: ; disable screen scrolling, wrap-around mode
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_P:
|
m65_chrout_esc_T: ; set top-left window position
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_Q:
|
m65_chrout_esc_V: ; scroll screen up one line
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_T:
|
m65_chrout_esc_W: ; scroll screen down one line
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_V:
|
m65_chrout_esc_Y: ; set default TAB stops
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_W:
|
m65_chrout_esc_Z: ; clear all the TAB stops
|
||||||
+nop
|
|
||||||
m65_chrout_esc_Y:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_Z:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_LBR:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_RBR:
|
|
||||||
+nop
|
+nop
|
||||||
|
|
||||||
|
|
||||||
jmp m65_chrout_screen_done
|
jmp m65_chrout_screen_done
|
||||||
Reference in new issue
Block a user