KC 85

The KC 85[2] ('KC' meaning "Kleincomputer", or "small computer") were models of microcomputers (HC 900, KC 85/2, KC 85/3 and KC 85/4) built in East Germany by VEB Mikroelektronik "Wilhelm Pieck" Mühlhausen.[3][4]

KC 85
KC 85/4
Also known as"Kleincomputer"
ManufacturerVEB Mikroelektronik "Wilhelm Pieck" Mühlhausen
TypeMicrocomputer
Release dateHC 900: Q2 1984
KC 85/2: Q2 1985
KC 85/3: Q2 1986
KC 85/4: Q2 1988[1]
Lifespan6 years
DiscontinuedHC 900: 1985
KC 85/2: 1986
KC 85/3: 1988
KC 85/4: Q3 1990[1]
MediaCassette tape, floppy disk, expansion modules
Operating systemCAOS [de] (4 KB)
KC 85/3 and KC 85/4: KC-BASIC [de] interpreter in ROM
CPUU880 (Zilog Z80 clone)
Memory32 KB
KC 85/4: 64+64 KB (DRAM)
Display320×256 pixels, per 4 × 8 pixels: 1 of 16 foreground and 1 of 8 background colors
KC 85/4: more colors
Graphicsseries 7400 ICs
Sound2x square wave, 8 volumes, 6 octaves
KC 85/3 and KC 85/4: Buzzer
Power25 W
PlatformK 1520 bus
Dimensions38.5 cm × 27.0 cm × 7.7 cm
(15,2 in x 10.6 in x 2.8 in)
Mass4,1 kg

Despite similar names, the KC 85 computers were not directly related to the KC 87 series produced by VEB Robotron-Meßelektronik "Otto Schön" Dresden.[5][6]

The availability of the KC 85 series for private customers was very limited. The computers were mostly used at educational institutions, organizations, and enterprises.

Technical information

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

There were two main lines in the KC series, the KC 85/2 to /4 (project name HC 900) and the KC 85/1 and KC 87 (project name Z 9001) by Robotron, which was a different system. They used the same CPU and later also had compatible tape saving formats and BASIC interpreters. In 1989 and shortly before German reunification, VEB Mikroelektronik Mühlhausen introduced the KC compact, an unofficial Amstrad CPC clone. It was produced just briefly and is a KC in name only.

Unlike the Pravetz series 8 personal computers, manufactured in Bulgaria, which were equipped with dedicated displays, floppy disks and quality keyboards, the entire KC series used TV sets for display purposes. Connectors provided were TV-out via coaxial cable, composite video, RGB video. Generic tape recorders was used for data storage. The KC 85 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 KC-BASIC [de] interpreter in ROM, freeing the user from having to load it from a cassette every time. Both systems typically had 16 KB of free 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. In fact, the KC 85/2 and KC 85/3 were practically indistinguishable in board design except for a different ROM and an internal piezo speaker. The KC 85/4 board was redesigned, but featured the same digital-to-analog video PCB as the previous generation.

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. 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 series 7400 ICs. With the KC 85/2 and KC 85/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 KC 85/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 KC 85/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 a CTC IC driving flipflops to generate square waves. A zero was represented by one period of a 2400 Hz tone, a one by a 1200 Hz tone. There was also a sync tone of 600 Hz prefixing each byte. The signal from the tape was read back, passed through a band pass filter and an interrupt would be generated each time the audio signal crossed the 0 V base line.

Data was stored on tape in blocks of 128 byte. Each block was prefixed by brief silence and a series of 1 bits. Approximately 8000 (7 seconds) for the first block and 160 (133 msec) for each subsequent block. Following that was the 1 byte block number, 128 data bytes and 1 byte checksum. The tape could be rewound in case a block was not read correctly and loading would continue at that 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 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

References

  1. "KC 85 Timeline (German)". Retrieved 11 February 2023.
  2. "The KC85 Computers". floooh.github.io. Retrieved 2022-11-24.
  3. "www.robotrontechnik.de - Die Geschichte der Computertechnik der DDR". www.robotrontechnik.de. Retrieved 2022-11-24.
  4. Gruppe, Bcher (July 2010). Kombinat Mikroelektronik: Kleincomputer Kc 85|2-4, Kombinat Mikroelektronik Erfurt, Schachcomputer in Der Ddr, U61000, Kc Compact, Mme U80701 (in German). General Books LLC. ISBN 978-1-159-10174-9.
  5. "www.robotrontechnik.de - Die Geschichte der Computertechnik der DDR". www.robotrontechnik.de. Retrieved 2022-11-24.
  6. "KC 85/1 - Z 9001 Robotron". www.old-computers.com. Retrieved 2022-11-24.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.