Jim is right, what I have on my site on the KIM-1 is from my archives. And it shows it origin.
It comes from the period I used y KIM-1 as main computer, doing hardware and software development, writing articles for magaiznes and even translating books.
Some of the software I used was bought from distributors in the Netherlands or imported from the USA (which was a bit different than nowdays with paypal, a letter was sent to a seller with dollar banknotes enclosed as payment!).
Being an active member of the Dutch KIM User club also meant software was exchanged. I did buy Microsoft Basic, Tiny Basic, Microchess and MICRO ADE, on cassette of course with booklets with manual and some with source code on paper.
First thing I did with new software was duplicate it on two new audio cassettes. Reading of the tapes was always a challenge, bad quality tapes, different speed, head alignment. All via my KIM-1 with memory growing from 5K to 40K in the end.
The original tape and a master copy tape were stored away safe, a working copy was used on a daily base.
Then my KIM-1 got some really useful enhancements first with a parallel ASCII keyboard and later on a double serial ACIA card. This means I patched the input and output routines to my own hardware and hypertape. Basic, MICRO ADE and own written software used that, instead of the bit banged serial I/O. Also a (bit banged!) serial printer was added and software patched to use that. The KIM-1 was still there but I used a VT100 serial terminal and a H14 Heathkit printer and dual cassette drive, the KIM-1 monitor or keypad/LEDs were not used anymore. Dozens of audio cassette tapes, a binder with a page per tape, (name of file, ID, type, startaddress if applicable) handwritten as 'directory'. One tape was the 'boot' tape for my simple CLI in EPROM.
In 1985 my KIM-1 as main machine was replaced with a dual floppy CP/M system. And in 1984 I had a homecomputer (MSX-1) also with audio cassette tape, and many of the KIM-1 cassettes with data files ended up as MSX-1 tapes.
The KIM-1 tape archive and all the paperwork was stored away and forgotten. The KIM-1 itself was (and still is) in working condition, the tape drive belts melted over time and the system was not really operational.
In 2004 my interest in the KIM-1 was back. Vince Briel produced a Replica 1, which I bought. And we started discussing the MICRO-KIM as possibility, which needed software of course, in papertape format On the CD for the MICRO-KIM is a very early DOS version of my KIM Paper utility.
So, I looked at my KIM-1 cassette archive. Better said, what was left of it. With the then current PC and audio cassette drives that were still operational I made audio dumps of all tapes.
And used the KIM Tape utility of Ed's DX-Forth and Utilities Page to convert this to binary files.
Not all tapes were readable, and of the tapes that were readable, contained often my working patched versions.
My early KIM-1 software archive is based upon these dumps.
Since then the quality of the archive has improved. By checking the binary against the paper hex dumps or entering the assembler source from paper and comparing the binary produced by the assembler with the binary from tape.
MICRO ADE, MIcrochess, Tiny Basic are all checked now. Or recreated from source paper, such as the Pascal-M compiler. Others, still need to check, that is why I wrote my KIM-1 emulator.
Microsoft Basic is thoroughly checked by Michael Steil (
pagetable.com) . He took my binary and disassembled that and assembled it again. Together with all those 6502 early Microsoft Basic's.
V1.1 is (and was) correct. V2 and V3 (not online anymore) were my patched versions.
Of course my archive was incomplete at the beginning. Software like the XPL0 compiler, other variants of Focal, the HELP software of The Computerist, I did not have it in those days.
Also I am not a game person, so besides some chess software, not in my archive. Nills has resurrected many games and more programs, and Dave Williams completed the First Book of KIM archive in wave and papertape format.
And Jim did a great job producing his ROM with new or adapted KIM-1 software.
KIM-1 software was written under the assumption that there was no other software than the KIM-1 monitor and the hardware supported was what the KIM-1 supported: bit banged character I/O, tape handling via the KIM tape ROM.
So especially zeropage is assumed to be freely available besides the KIM-1 monitor usage. If you add your own code for e.g. devices this may conflict with the program.
When you port software to the KIM-1, zeropage conflicts arise and the KIM-1 monitor routines may do other things with registers A, X, Y and flags than expected. Jim found out fighting the KIM-1 hardware echo, I found out patching the I/O routines for my emulator.