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