cc65's C64 runtime and ip65 call past the jump table: $E5B4 takes the first key from the keyboard buffer (cgetc), $EA24 points USER at the colour RAM of PNT's line (cursor positioning), and $ECF0 holds the low bytes of the screen lines' addresses (ip65's VT100 code), as Mapping the Commodore 64 describes them. vicii_init's work moves out of $E5A0-$E5C8 to free $E5B4, and on the standard layout PNT and USER are worked out through the routine at $EA24.
18 lines
302 B
ArmAsm
18 lines
302 B
ArmAsm
;; #LAYOUT# STD * #TAKE
|
|
;; #LAYOUT# * * #IGNORE
|
|
|
|
;
|
|
; Well-known Kernal table, described in:
|
|
;
|
|
; - [CM64] Computes Mapping the Commodore 64 - $ECF0
|
|
;
|
|
; The low bytes of the 25 screen lines' addresses, 40 bytes apart
|
|
;
|
|
|
|
|
|
screen_line_lo_bytes:
|
|
|
|
!for line, 0, 24 {
|
|
!byte <(line * 40)
|
|
}
|