Tested on real KIM-1 hardware. read.s: - Remove commented out line. - Remove unused check for bell character. - Remove echo of newline (hardware always echoes entered characters). - This fixes gets() and fgets() so they return when CR is entered. write.s: - Fix check for adding return after linefeed (failed to work because OUTCHR changes A) - Remove unused check for bell character. kim1.inc: - Add symbol for monitor entry crt0.s: - Jump to KIM-1 monitor by address rather than using BRK (which relies on vector being set in RAM)
28 lines
1.0 KiB
PHP
28 lines
1.0 KiB
PHP
; ---------------------------------------------------------------------------
|
|
;
|
|
; KIM-1 definitions
|
|
;
|
|
; ---------------------------------------------------------------------------
|
|
|
|
|
|
RAMSTART := $0200 ; Entry point
|
|
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; Monitor Functions
|
|
; ---------------------------------------------------------------------------
|
|
OUTCHR := $1EA0 ; Output character
|
|
INTCHR := $1E5A ; Input character without case conversion
|
|
DUMPT := $1800 ; Dump memory to tape
|
|
LOADT := $1873 ; Load memory from tape
|
|
START := $1C4F ; Enter KIM-1 monitor
|
|
|
|
; ---------------------------------------------------------------------------
|
|
; System Memory
|
|
; ---------------------------------------------------------------------------
|
|
SAL := $17F5 ; Tape load address low
|
|
SAH := $17F6 ; Tape load address high
|
|
EAL := $17F7 ; Tape address end low
|
|
EAH := $17F8 ; Tape address end high
|
|
ID := $17F9 ; Tape Identification number
|