==============================================
Keyboard layout
==============================================
AD - Ctrl A ST - Ctrl S SST on - ]
DA - Ctrl D RS - Ctrl R SST off- [
PC - Ctrl P GO - Ctrl G
==============================================
Useful ROM Routines
==============================================
----------------------------------------------
Usage: define GETKEY $1F6A
JSR GETKEY
----------------------------------------------
AK $1EFE Check for key depressed. A non-zero: no key down. A equal 0, key down.
SCAND $1F19 Display address and contents.
SCANDS $1F1F Output six hex characters on display. Stored in $00F9, $00FA, $00FB.
GETKEY $1F6A Get key from keypad
CONVD $1F48 Output HEX digit
OUTPUT $1F4E Output 7 segment code stored in A register (to lit up a custom segment)
KEYIN $1F40 Open up keyboard channel. Call before using GETKEY (or call SCANDS).
INCPT $1F63 Increment display address.
GETKEY $1F6A Return key from keyboard. Value 0-F, 10(AD), 11(DA), 12(+), 13(GO), 14(PC), 15 (no keypress).
TABLE $1FE7 Table of 7-segment patterns.
SAVE $1C00 Normal interrupt entry point.
RST $1C22 Reset return to monitor.
START $1C4F Return to monitor entry
==============================================
I/O addresses
==============================================
$1740 SAD 7 segment output / keypad code
$1741 PADD 6530 RIOT data direction
$1742 SBD display digit / keypad row
==============================================
Machine Context (saved/restored by ST/GO):
==============================================
00EF PC low
00F0 PC high
00F1 Status Register (flags)
00F2 Stack Pointer
00F3 A
00F4 Y
00F5 X
==============================================
NMI Initialization for Single Step and Stop:
==============================================
(Pre-loaded into RAM)
17FA 00
17FB 1C
==============================================
IRQ Initialization for BRK:
==============================================
(Pre-loaded into RAM)
17FE 00
17FF 1C