KC 85

The KC 85 ('KC' meaning "Kleincomputer", or "small computer") were models of microcomputers built in East Germany, first in 1984 by VEB Robotron (the KC 85/1) and later by VEB Mikroelektronik "Wilhelm Pieck" Mühlhausen (KC 85/2, KC 85/3 and KC 85/4).

KC 85
KC 85/4
Also known as"Kleincomputer"
ManufacturerRobotron
Typemicrocomputer
Release date1984 (1984)

Due to huge demand by industrial, educational as well as military institutions, KC 85 systems were virtually unavailable for sale to private customers.

Technical information

KC 85/3 with two expansion cartridges — a 64K RAM module and a parallel port — installed.

They were based on the U880 CPU (an East German clone of the Z80), with clock speeds of 1.75 and 2 MHz.

There were two main lines in the KC 85 series, the KC 85/2 (project name HC 900) to /4 and the KC 85/1 (project name Z 9001) by Robotron, which was a different system (only the CPU and the name were the same, but later the format of saving the programs on tape cassettes and the BASIC were also made compatible). In 1989, VEB Mikroelektronik Mühlhausen came up with the KC compact, but due to the GDR collapse very few units were actually produced and sold and—being a CPC clone—it was a KC in name only; thus it is usually not counted among the KC family.

Unlike the Pravetz series 8 personal computers, manufactured in Bulgaria, which were equipped with dedicated displays, floppy discs and good quality keyboards, the entire series used a TV set as display (by standard TV-UHF via coaxial cable, composite video, or RGB) and a standard tape recorder as data storage. The KC 85/1 used an integrated calculator-style keyboard with small "keys" of hard plastics, while KC 85/2-4 used a separate keyboard driven by a remote control IC.

The KC 85/2 was the first computer made in Mühlhausen and had only font ROMs for capital letters, and no BASIC in ROM. Later, the KC 85/3 was introduced and this one had a BASIC interpreter in ROM, freeing the user from having to load the BASIC interpreter from a cassette every time. Both systems typically had 16 KB of RAM, but could be expanded with add-on modules. (The module sockets feature prominently on photos, as they occupy the upper 50% of the casing.) The KC 85/4 had 64 KB of RAM (not counting the video ram of more than 40 KB) and better graphics capabilities.

All KC-series computers from Mühlhausen were capable of displaying graphics at a resolution of 320×256 pixels. But the color possibilities were limited (each 4×8-pixel cell had a single foreground (out of 16) and background color (out of 8, slightly darker than foreground equivalents). This limitation was brought down to 1×8 on the KC 85/4, which also featured a video RAM addressing mode and a special 4-color (black, white, red, cyan) mode which could color every pixel independently. The colors were not paletted in any KC before the KC compact. There was no "text mode", everything had to be painted; this combined with the video RAM layout described above and ROM code made the KC 85/2-3 rather slow at printing and scrolling (improved very much on KC 85/4). There were no blitters, and the video subsystem was developed in-house and implemented entirely with a few dozen 7400 series ICs (the KC compact used a 6845 as the CPC did). With the KC85/2 and KC85/3 CPU access to video memory would interfere with screen redraw and cause visual distortions as pixel data could not be read from VRAM and the previously loaded pixel was simply drawn again. This issue was fixed in the KC85/4 too - one video period of 8 horizontal pixels is divided evenly into 3 phases: (1) an 8 bit wide CPU access (r/w), (2) fetch 8 bits of pixel data and (3) fetch 8 bits of color data. The KC85/4 was also the first capable of switching between 2 independent locations in video ram, allowing double buffering.

Sound and tape output was implemented by CTC channels driving flipflops. 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 KC 87 was a better KC 85/1 with BASIC also in ROM. There was a color option (the 85/1 was only monochrome), but no real graphics apart from ROM pseudographic characters.

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 to use various modules (sold by VEB Mikroelektronik Mühlhausen) or load software from tape, thus allowing programming in Forth and Pascal. The operating system was CAOS ("Cassette Aided Operating System"). It was a simple monitor where one could run different "system services" like LOAD (load a program), JUMP (into extension module ROM), MODIFY (memory cells) or BASIC (if it had been built into the ROM or had been loaded from tape). New commands could be added to the menu by magic numbers (standard: 7F 7F 'commandname' 01) anywhere in the memory space.

In the last years of the GDR, a floppy attachment ("tower"-style, too) was produced. It featured a 4 MHz CPU and a 5¼" Floppy drive (you could have up to four of them). These (literally: the U 880 A in the attachment did) were able to run CP/M, which was called MicroDOS. (One had to JUMP from the base system to the floppy system and boot from a floppy—another CAOS or MicroDOS). There was also a disk extension mode for CAOS.

Hobby projects

There were a lot of different projects for the KC 85:

  • a new keyboard (The original being extremely poorly manufactured)
  • RAM disk
  • interfaces (V.24 and others)
  • text systems; WordPro actually featured 80 characters per line mode (4×8 font)
  • connection to electronic typewriters (like the GDR-product "Erika S 3004") as keyboard and printer (but dot matrix emulation was very slow)
  • programming language BASICODE (a special BASIC dialect); BASICODE-programs were even broadcast by radio
gollark: Oh, and the problem is that you have a lot of lines like `turnleft` which aren't actually doing anything and are invalid syntax.
gollark: Why do you have that bit anyway? Why not call `turtle.forward` directly when you're using it?
gollark: That calls the function and sets `go` to whatever it returns.
gollark: If you don't add the brackets, you are not calling it and getting the return value, you're just getting the actual function itself.
gollark: `turtle.forward()` and `go()` basically call/run the function.

References

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.