Software Archaeology or FOCAL reconstruction X2

Do you remember FOCAL?

enter image description here

FOCAL is the long forgotten programming language from the 70s, originally created by DEC to run on their PDPs.

It is much like BASIC even though the syntax is different. It is more structured than BASIC, because you do not only have line numbers, but also "chapters" (1.11 -> chap 1 line 11) which highlight subfunctions and are better jumpable. In comparison to BASIC spaghetti a real Satisfaction.

I did a longer blog entry on this programming language some time ago:

Surely there were ports to other systems and processors, KIM, TIM, APPLE II, and even a PC port, which Raymond Chen wrote a funny story about.

And it is really is completely forgotten by now. For the KIM-1 there were two distribution chanels: "ARESCO" and the "program exchange". And none of these versions survived, EXCEPT (!) one tape in Hans Otten's Drawer. He digitized it and made it available for all KIM-1 owners. It was also running on his excellent KIM-1 Simulator.

But there were no sources or further documentations than the manual. A lot of functions are missing, but without any explaination of the binaries, there is nothing to do.

Dave Hassler produced a video about FOCAL, where he asked, if anybody out there is in the behold of the sources.

The miracle was unexpected: within a week we had the (bad) copy of the documented sourcecode for the TIM, KIM-1s little sibling. And after a short comparison with the disassembled KIM-1 binaries it was clear, that the code is 95% identical, just in another memory space and using some different ROM I/O subroutines.

Remark: the TIM was also sold by MOS, like the KIM-1, but only as a ROM / CPU bundle and later as kit as the "JOLT" . needless to say, that Hans Otten also wrote a TIM simulator ...

Dave had the idea to use the comments in the TIM's FOCAL sources and transfer them in the disassembled binary of the KIM-1 version. So we would have the commented sourcecode, that would assemble to the KIM-1 version. See the results here: . It was in fact a collaboration in the 6502 forum, not only Daves an my work. "Sam" turned the code to the assembling version and set up a github page for it:

Hans Otten typed in the TIM cources completely by himself and altered the I/O routines to get a commented sourcecode. Read his FOCAL story here:

So it comes, that we have, 40 years after everything seemed lost, TWO kommented sourcecodes for the KIM-1 ( and a compilable version for the TIM).