COMPUTE II ISSUE 2 / JUNE/JULY 1980
KIM-1 Tidbits
Harvey B. Herman
Chemistry Department
University of North Carolina at Greensboro
Greensboro, N.C. 27412
I have been using KIM for a number of years and wish to share programs which I have developed or modified with the readers of Compute II.
The first item is a modification to the KIM tape verify program from Issue #13 of 6502 User's Notes. This program has a small bug which affects TTY use. The TTY delay characters (CNTL30/CNTH30) are stored in $17F2 and $17F3 and are overwritten by a section (VEB) of the original verify program. Instead of the comforting KIM message on completion of the program, all I got was a meaningless chugging. The following program (origin $300) circumvents the problem by shortening the VEB section so the delay characters remain intact. I now include this in KIM Microsoft BASIC, as the User program, so I can check tapes after a SAVE.
Item 2 is a modification to KIM Microsoft BASIC (serial number 9011) which allows one to append programs on tape to the current one (if any) in memory. Line numbers must be higher in the appended program and cannot overlap. Otherwise the only noticeable change is that one must remember to NEW before LOAD when appending is not desired. I have found this very helpful in conjunction with a renumbering program, written in BASIC (see 6502 User's Notes no. 13, p. 12).
I hope these programs will be found useful and plan to share other tidbits with Compute II readers in the future.
0100 ; 0110 ; KIM TAPE VERIFY PROGRAM 0120 ; 0130 ; HARVEY B. HERMAN 0140 ; 0150 .BA $300 0160 .OS 0170 CHKL .DE $17E7 0180 CHKH .DE $17E8 0190 VEB .DE $17EC 0200 LOAD12 .DE $190F 0210 LOADT9 .DE 1929 0300- D8 0220 VERIFY CLD 0301- A9 00 0230 LDA #$00 0303- 8D E7 17 0240 STA CHKL 0306- 8D E8 17 0250 STA CHKH 0309- A2 06 0260 LDX #$06 030B- BD 16 03 0270 LOADP LDA PROG-1,X 030E- 9D EB 17 0280 STA VEB-1,X 0311- CA 0290 DEX 0312- D0 F7 0300 BNE LOADP 0314- 4C BC 18 0310 JMP $188C 0317- CD 00 00 0320 PROG .BY $CD $00 $00 031A- 4C 1D 03 0330 .BY $4C $1D $03 031D- D0 03 0340 PATCH BNE FAILED 031F- 4C 0F 19 0350 JMP LOAD12 0322- 4C 29 19 0360 FAILED JMP LOADT9 0370 .EN
0100 ; 0110 ; APPEND MODIFICATIONS TO 0120 ; KIM MICROSOFT BASIC 0130 ; SERIAL NUMBER 9011 0140 ; 0150 ; HARVEY B. HERMAN 0160 ; 0170 .BA $2785 0180 ; ADJUST TAPE LOAD POINTERS 2785- 38 0190 NEWLOAD SEC 2786- A5 7A 0200 LDA *$7A 2788- E9 03 0210 SBC #$03 278A- 8D F5 17 0220 STA $17F5 278D- A5 7B 0230 LDA *$7B 0240 ; NAIVE HARVEY 278F- B0 02 0250 BCS SKIP 2791- E9 00 0260 SBC #$00 2793- 8D F6 17 0270 SKIP STA $17F6 0280 ; ORIGINAL CODE CONTINUES 0290 .BA $2744 0300 ; ASSIGN ID 01 TO TAPES 2744- A9 01 0310 LDA #$01 0320 .BA $2026 0330 ; POINTER TO NEWLOAD 2026- 84 27 0340 .SI NEWLOAD-1 0350 .EN