block offset. The first block of the file contained metadata: filename, file type, load address, entry point address and so forth. Memory bank-switching was common since the total address space was only 64 KB. When running Mühlhausen's BASIC, the video RAM (at 0x8000) was banked in only during video operations, thus the maximum BASIC free RAM was about 47 KB instead of 32 KB. The module extension system also used bank-switching and made it theoretically possible to extend to megabytes of RAM (even more modules could be used by adding expansion devices, yielding sort of a tower), however neither BASIC nor most of the applications were prepared to use this as free space. The keyboard of the KC 85/2-4 was based on the U807D, a clone of the Mullard SAB3021 used in TV infrared remote controls. The U807D scanned the 63 regular keys with its 8 + 8 drive/sense pins and produced a 7 bit pulse width modulated signal (0: 5 ms, 1: 7 ms). The main computer would detect the presence of pulse delineating bursts (150 us) and generate interrupts. The main CPU would thus be interrupted 7 times for each keystroke and could measure the time between the interrupts to recover the serial data word. A special shift key made the U807D produce keycodes 64-127. To the computer the keyboard appeared as a device with 126 keys. There was a single 8867 kHz crystal oscillating at twice the PAL chrominance frequency and a divide-by-10, multiply-by-16 phase locked loop was used to derive a 14.2 MHz clock from which the pixel clock (7.1 MHz) and processor clock (1.77 MHz) was derived by division by 2 and 8, respectively (KC85/2, KC85/3 and KC85/4 used the same circuit for this purpose, since the digital to analog video conversion PCB where the clock generation was situated did not change between revisions). There was still a slight difference in effective clock rate, the KC85/2 and KC85/3 skipped a few CPU cycles at the end of each scanline, the KC85/4 did not. The wiring diagrams are freely available and there were also a lot of different (and often home-made) schemes and hardware parts. Various magazines published programs and hardware diagrams and also instructions on how to build them. Programming languages The KC 85 could be programmed in assembly language and BASIC (the KC 85/2 had to load BASIC from tape), but it was possible