Files
open-roms/src/kernal/screen_m65/mega65_screen_tables_misc.s
T

111 lines
3.7 KiB
ArmAsm

;; #LAYOUT# M65 KERNAL_1 #TAKE
;; #LAYOUT# * * #IGNORE
m65_scrtab_vic_ctrlb: ; parameters for VIC control register B
!byte %01100000 ; 40x25 + extended attributes + VFAST
!byte %11100000 ; 80x25 + extended attributes + VFAST
!byte %11101000 ; 80x50 + extended attributes + VFAST
m65_scrtab_colviewmax_lo: ; maximum allowed color viewport start - low byte
!byte <((MEMCONF_SCRROWS - 25) * 80)
!byte <((MEMCONF_SCRROWS - 25) * 80)
!byte <((MEMCONF_SCRROWS - 50) * 80)
m65_scrtab_colviewmax_hi: ; maximum allowed color viewport start - high byte
!byte >((MEMCONF_SCRROWS - 25) * 80)
!byte >((MEMCONF_SCRROWS - 25) * 80)
!byte >((MEMCONF_SCRROWS - 50) * 80)
m65_scrtab_scrolx: ; values for VIC_SCROLX
!byte $C8
!byte $C9
!byte $C9
m65_scrtab_rowoffset_lo: ; row offsets - low bytes
!byte <(80 * 0), <(80 * 1), <(80 * 2), <(80 * 3), <(80 * 4), <(80 * 5), <(80 * 6), <(80 * 7), <(80 * 8), <(80 * 9)
!byte <(80 * 10), <(80 * 11), <(80 * 12), <(80 * 13), <(80 * 14), <(80 * 15), <(80 * 16), <(80 * 17), <(80 * 18), <(80 * 19)
!byte <(80 * 20), <(80 * 21), <(80 * 22), <(80 * 23), <(80 * 24), <(80 * 25), <(80 * 26), <(80 * 27), <(80 * 28), <(80 * 29)
!byte <(80 * 30), <(80 * 31), <(80 * 32), <(80 * 33), <(80 * 34), <(80 * 35), <(80 * 36), <(80 * 37), <(80 * 38), <(80 * 39)
!byte <(80 * 40), <(80 * 41), <(80 * 42), <(80 * 43), <(80 * 44), <(80 * 45), <(80 * 46), <(80 * 47), <(80 * 48), <(80 * 49)
m65_scrtab_rowoffset_hi: ; row offsets - high bytes
!byte >(80 * 0), >(80 * 1), >(80 * 2), >(80 * 3), >(80 * 4), >(80 * 5), >(80 * 6), >(80 * 7), >(80 * 8), >(80 * 9)
!byte >(80 * 10), >(80 * 11), >(80 * 12), >(80 * 13), >(80 * 14), >(80 * 15), >(80 * 16), >(80 * 17), >(80 * 18), >(80 * 19)
!byte >(80 * 20), >(80 * 21), >(80 * 22), >(80 * 23), >(80 * 24), >(80 * 25), >(80 * 26), >(80 * 27), >(80 * 28), >(80 * 29)
!byte >(80 * 30), >(80 * 31), >(80 * 32), >(80 * 33), >(80 * 34), >(80 * 35), >(80 * 36), >(80 * 37), >(80 * 38), >(80 * 39)
!byte >(80 * 40), >(80 * 41), >(80 * 42), >(80 * 43), >(80 * 44), >(80 * 45), >(80 * 46), >(80 * 47), >(80 * 48), >(80 * 49)
; Jumptable for screen control codes support. To improve performance, should be sorted
; starting from the least probable routine.
m65_chrout_screen_jumptable_codes:
!byte KEY_CLR
!byte KEY_HOME
!byte KEY_C65_SHIFT_OFF
!byte KEY_C65_SHIFT_ON
!byte KEY_TXT
!byte KEY_GFX
!byte KEY_RVS_OFF
!byte KEY_RVS_ON
!byte KEY_CRSR_RIGHT
!byte KEY_CRSR_LEFT
!byte KEY_CRSR_DOWN
!byte KEY_CRSR_UP
!byte KEY_TAB
!byte KEY_LINE_FEED
!byte KEY_UNDERLINE_ON
!byte KEY_UNDERLINE_OFF
!byte KEY_FLASHING_ON
!byte KEY_FLASHING_OFF
!byte KEY_TAB_SET_CLR
!byte KEY_ESC
!byte KEY_BELL
__m65_chrout_screen_jumptable_quote_guard:
!byte KEY_INS
!byte KEY_STOP
!byte KEY_DEL
!byte KEY_RETURN
__m65_chrout_screen_jumptable_codes_end:
m65_chrout_screen_jumptable:
; Note: 65C02 has the page boundary vector bug fixed!
!word m65_chrout_screen_CLR
!word m65_chrout_screen_HOME
!word m65_chrout_screen_SHIFT_OFF
!word m65_chrout_screen_SHIFT_ON
!word m65_chrout_screen_TXT
!word m65_chrout_screen_GFX
!word m65_chrout_screen_RVS_OFF
!word m65_chrout_screen_RVS_ON
!word m65_chrout_screen_CRSR_RIGHT
!word m65_chrout_screen_CRSR_LEFT
!word m65_chrout_screen_CRSR_DOWN
!word m65_chrout_screen_CRSR_UP
!word m65_chrout_screen_TAB
!word m65_chrout_screen_LINE_FEED
!word m65_chrout_screen_UNDERLINE_ON
!word m65_chrout_screen_UNDERLINE_OFF
!word m65_chrout_screen_FLASHING_ON
!word m65_chrout_screen_FLASHING_OFF
!word m65_chrout_screen_TAB_SET_CLR
!word m65_chrout_screen_ESC
!word m65_chrout_screen_BELL
!word m65_chrout_screen_INS
!word m65_chrout_screen_STOP
!word m65_chrout_screen_DEL
!word m65_chrout_screen_RETURN