12
Using switch SW3, labeled as VECTORS, selects whether to retrieve vectors from the
lower EEPROM by selecting KIM, or from the upper EPROM by selecting ROM.
You might be asking yourself why does the last block stop at FFF7 instead of FFFF?
Because this board maps the three 6502 IRQ, NMI and RESET vectors back to the
lower EEPROM, preserving normal operation of the KIM-1. There is a complete
discussion of this in the KIM-1 User Manual, section 6.2 “Interrupt Vector
Management.”
Monitor Entry Points
We’ve kept all of the primary KIM-1 entry points but here is the official list of which
ones are present in our modified KIM monitor:
Address
Name
Description
1C4F
START
1C77
TTYKB
1CD3
STEP
1DC2
RTRN
1DDB
SCAN
1E1E
PRTPNT
1E2F
CRLF
Print a CR/LF on the TTY.
1E3B
PRTBYT
Print value in A as two hex digits to TTY.
1E5A
GETCH
Get one character from TTY, return in A.
1E9E
OUTSP
Print one space to TTY.
1EA0
OUTCH
Print character in A to TTY.
1F19
SCAND
1F40
Not named
Used by Farmer Brown, First Book of KIM
1F63
INCPT
Increment POINTL and POINTH
1F6A
GETKEY
1F91
CHK
Add A to the checksum.
1F9D
GETBYT
Get two hex digits.
1FAC
PACK
We are definitely open to user input, so if there is a subroutine in the original KIM-1
monitor that you feel is necessary to keep, just let us know. I’ve got a macro in the
source code to make sure certain pieces of code are exactly where they should be, so
adding a new “must not move” point is easy… just let me know where it is.