RESET is executed when the user presses the RESET button, and the 6502 RESET input is triggered.
1210 1FF7 ; ** INTERRUPT VECTORS ** 1211 1FFA 1212 1FFA 1213 1FFA 1C 1C NMIENT .WORD NMIT 1214 1FFC 22 1C RSTENT .WORD RST 1215 1FFE 1F 1C IRQENT .WORD IRQT 0606 1C22 A2 FF RST LDX #$FF ; KIM ENTRY VIA RST 0607 1C24 9A TXS 0608 1C25 86 F2 STX SPUSER 0609 1C27 20 88 1E JSR INITS 0610 1C2A ; .. continue with TTY/KB selection Subroutine INITS 0963 1E88 ; 0964 1E88 ; INITIALIZATION FOR SIGMA 0965 1E88 ; 0966 1E88 A2 01 INITS LDX #$01 ; SET KB MODE TO ADDR 0967 1E8A 86 FF STX MODE 0968 1E8C ; 0969 1E8C A2 00 INIT1 LDX #$00 0970 1E8E 8E 41 17 STX PADD ; FOR SIGMA USE SAD 0971 1E91 A2 3F LDX #$3F 0972 1E93 8E 43 17 STX PBDD ; FOR SIGMA USE SBDD 0973 1E96 A2 07 LDX #$07 ; ENABLE DATA IN 0974 1E98 8E 42 17 STX SBD ; OUTPUT 0975 1E9B D8 CLD 0976 1E9C 78 SEI 0977 1E9D 60 RTS
What is happening here?
- After a hardware RESET (manually, the KIM-1 does not have an automated RESET circuit) the vector in the KIM-1 ROM points to $1C22 (1214)
- Stack initialized (606-610)
- INITS called to set hardware ports
- MODE of LED/display set to Address (Same as pressing AD on keyboard)
- hardware ports Port A set to input Datadirection register 0 (969 – 970)
- Ports PIA B PB0-PB5 set to output in Data Direction $3F = 0011111 (971-972)
- Port PB0 to PB3 set to 1, PB4 and PB5 to 0 by storing $07 = 00000111 to PIA B Data (973-974)
This sets Row 3 output to 0, see the TTY/KB selection why

















