Robotron KC 85
   HOME

TheInfoList



OR:

The KC 85 ('KC' meaning "Kleincomputer", or "small computer") were models of
microcomputer A microcomputer is a small, relatively inexpensive computer having a central processing unit (CPU) made out of a microprocessor. The computer also includes memory and input/output (I/O) circuitry together mounted on a printed circuit board (P ...
s (KC 85/2, KC 85/3 and KC 85/4) built in
East Germany East Germany, officially known as the German Democratic Republic (GDR), was a country in Central Europe from Foundation of East Germany, its formation on 7 October 1949 until German reunification, its reunification with West Germany (FRG) on ...
by VEB Mikroelektronik "
Wilhelm Pieck Friedrich Wilhelm Reinhold Pieck (; 3 January 1876 – 7 September 1960) was a German communist politician who served as the Leadership of East Germany, chairman of the Socialist Unity Party from 1946 to 1950 and as the only president of the Ger ...
"
Mühlhausen Mühlhausen () is a town in the north-west of Thuringia, Germany, north of Niederdorla, the country's Central Germany (geography)#Geographical centre, geographical centre, north-west of Erfurt, east of Kassel and south-east of Göttingen ...
. The first model in the series, the HC 900, originally designed as a
home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
and introduced in 1984, was renamed to KC 85/2 in 1985 to de-emphasize its use as consumer good. Despite similar names, the KC 85 computers were not directly related to the KC 87 series produced by
VEB Robotron VEB Kombinat Robotron () (or simply Robotron) was the largest East German electronics manufacturer. It was headquartered in Dresden and employed 68,000 people in 1989. Its products included personal computers, SM EVM minicomputers, the ESER m ...
-Meßelektronik "Otto Schön"
Dresden Dresden (; ; Upper Saxon German, Upper Saxon: ''Dräsdn''; , ) is the capital city of the States of Germany, German state of Saxony and its second most populous city after Leipzig. It is the List of cities in Germany by population, 12th most p ...
. 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 A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
(an East German clone of the
Z80 The Zilog Z80 is an 8-bit microprocessor designed by Zilog that played an important role in the evolution of early personal computing. Launched in 1976, it was designed to be software-compatible with the Intel 8080, offering a compelling altern ...
), with clock speeds of 1.75 MHz (KC 85/2, KC 85/3) and 1.77 MHz (KC 85/4). Unlike the
Pravetz series 8 Pravetz () is a brand of personal computers produced in Bulgaria from 1979. They were widely used in scientific organizations and schools until the 1990s. Pravets were the first personal computers made in Bulgaria. Before that, various types of ...
personal computers, manufactured in
Bulgaria Bulgaria, officially the Republic of Bulgaria, is a country in Southeast Europe. It is situated on the eastern portion of the Balkans directly south of the Danube river and west of the Black Sea. Bulgaria is bordered by Greece and Turkey t ...
, 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 Coaxial cable, or coax (pronounced ), is a type of electrical cable consisting of an inner Electrical conductor, conductor surrounded by a concentric conducting Electromagnetic shielding, shield, with the two separated by a dielectric (Insulat ...
,
composite video Composite video, also known as CVBS (composite video baseband signal or color, video, blanking and sync), is an analog video format that combines image information—such as brightness (luminance), color (chrominance), and synchronization, int ...
, 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 Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
in ROM. Later, the KC 85/3 was introduced and this one had a ''KC-BASIC'' einterpreter in
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * ...
, 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. The video ram layout was awkwardly split into a 256x256 portion and a 64x256 portion to avoid a time-consuming multiplication with 40 when addressing video memory. On the KC85/4 the video ram layout was changed in a backwards-incompatible manner to 40 columns of 256 bytes and the bytes in one column were put into consecutive memory addresses. The
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
interface was of course kept as-is and software that relied on it could continue running unchanged. The color possibilities were limited in the typical color-cell fashion: 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 (the color cells on both the KC85/3 and KC85/4 were thus quite small compared to contemporary systems). The KC85/4 also featured 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
blitter A blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, dedicated to the rapid movement and modification of data within a computer's memory. A blitter can copy large quantities of data from one memory area to a ...
s, sprites or hardware scrolling, not a single
hardware register In digital electronics, especially computing, hardware registers are circuits typically composed of flip-flops, often with many characteristics similar to memory, such as: * Using an memory or port address to select a particular register in a ma ...
with which to influence the display drawing process, the sole exception being the blink attribute, whose frequency could be tuned by programming the dedicated CTC register and which required no CPU assistance. The KC85/4 added one bit to select which of the two buffers to display and one bit to switch between high color (using color cells) and high color-resolution mode (using the color RAM as a second bit plane). 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 Video random-access memory (VRAM) is dedicated computer memory used to store the pixels and other graphics data as a framebuffer to be rendered on a computer monitor. It often uses a different technology than other computer memory, in order to ...
and the previously loaded strip of 8 pixels 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 wave Square wave may refer to: *Square wave (waveform) A square wave is a non-sinusoidal waveform, non-sinusoidal periodic waveform in which the amplitude alternates at a steady frequency between fixed minimum and maximum values, with the same ...
s. 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 officially, but it could be shorter) 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 A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify dat ...
. 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 Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive ...
: 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 The megabyte is a multiple of the unit byte for digital information. Its recommended unit symbol is MB. The unit prefix ''mega'' is a multiplier of (106) in the International System of Units (SI). Therefore, one megabyte is one million bytes ...
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 Mullard Limited was a British manufacturer of electronics, electronic components. The Mullard Radio Valve Co. Ltd. of Southfields, London, was founded in 1920 by Captain Stanley R. Mullard, who had previously designed thermionic valves (US ...
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. Transmission occurred through the same wire that provided power to the keyboard. Since the keyboard was connected to the 12V voltage rail through a
resistor A resistor is a passive two-terminal electronic component that implements electrical resistance as a circuit element. In electronic circuits, resistors are used to reduce current flow, adjust signal levels, to divide voltages, bias active e ...
, an increase in current consumption could be measured between the resistor and the cable as a voltage drop, inside the main computer. The keyboard just had to set a digital output low and shunt some additional current to ground. All the while the keyboard supply voltage was kept stable by a simple 9V
zener diode A Zener diode is a type of diode designed to exploit the Zener effect to affect electric current to flow against the normal direction from anode to cathode, when the voltage across its terminals exceeds a certain characteristic threshold, the ''Z ...
, with which the controller IC was connected in parallel and if it remained within a certain window of current usage, 9V is what it would see. There was a single 8867 kHz crystal oscillating at twice the
PAL Phase Alternating Line (PAL) is a color encoding system for analog television. It was one of three major analogue colour television standards, the others being NTSC and SECAM. In most countries it was broadcast at 625 lines, 50 fields (25 ...
chrominance Chrominance (''chroma'' or ''C'' for short) is the signal used in video systems to convey the color information of the picture (see YUV color model), separately from the accompanying Luma (video), luma signal (or Y' for short). Chrominance is usu ...
frequency and a divide-by-10, multiply-by-16
phase-locked loop A phase-locked loop or phase lock loop (PLL) is a control system that generates an output signal whose phase is fixed relative to the phase of an input signal. Keeping the input and output phase in lockstep also implies keeping the input and ou ...
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 cycle The instruction cycle (also known as the fetch–decode–execute cycle, or simply the fetch–execute cycle) is the cycle that the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instructions ...
s at the end of each
scanline A scan line (also scanline) is one line, or row, in a raster scanning pattern, such as a line of video on a cathode-ray tube (CRT) display of a television set or computer monitor. On CRT screens the horizontal scan lines are visually discernib ...
, to provide in a simple manner to the entire system the illusion of a horizontal resolution (including blanking) divisible by 8, the KC85/4 did not. None of the revisions had provisions for either
vertical blank interrupt A vertical blank interrupt (or VBI) is a hardware feature found in some legacy computer systems that generate a video signal. Cathode-ray tube based video display circuits generate vertical blanking and vertical sync pulses when the display pict ...
s or horizontal blank interrupts. 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. File:KC85-2-1.jpg, KC 85/2 File:Kc85-3.jpg, KC 85/3 with two expansion cartridges installed: a 64 KB
RAM Ram, ram, or RAM most commonly refers to: * A male sheep * Random-access memory, computer memory * Ram Trucks, US, since 2009 ** List of vehicles named Dodge Ram, trucks and vans ** Ram Pickup, produced by Ram Trucks Ram, ram, or RAM may also ref ...
module and a
parallel port In computing, a parallel port is a type of interface found on early computers ( personal and otherwise) for connecting peripherals. The name refers to the way the data is sent; parallel ports send multiple bits of data at once (paralle ...
File:KC85-2-5.jpg, Mainboard of the KC 85/2 File:KC85-3-5.jpg, Mainboard of the KC 85/3 File:Radebeul-DDR-Museum-Kleincomputer-KC85-I9365-pCOSt-12-08-2012-1346.jpg, KC 85/3 (black) with ''GC6020'' floppy disk expansion (gray), manuals, cassette tape, tape deck and expansion modules File:Bundesarchiv_Bild_183-1989-0508-014,_Dresden,_Softwarebibliothek,_Nutzerin.jpg, KC 85 used in a software library (1989)


Programming languages

The KC 85 could be programmed in
assembly language In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
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 An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
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 The hertz (symbol: Hz) is the unit of frequency in the International System of Units (SI), often described as being equivalent to one event (or cycle) per second. The hertz is an SI derived unit whose formal expression in terms of SI base u ...
CPU and a 5¼"
Floppy drive A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
(you could have up to four of them). These (literally: the U 880 A in the attachment did) were able to run
CP/M CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/Intel 8085, 85-based microcomputers by Gary Kildall of Digital Research, Dig ...
, which was called
MicroDOS CP/M, originally standing for Control Program/Monitor and later Control Program for Microcomputers, is a mass-market operating system created in 1974 for Intel 8080/ 85-based microcomputers by Gary Kildall of Digital Research, Inc. CP/M is ...
. (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 A RAM drive (also called a RAM disk) is a block of random-access memory ( primary storage or volatile memory) that a computer's software is treating as if the memory were a disk drive (secondary storage). RAM drives provide high-performance te ...
*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 BASICODE was a computer project intended to create a unified standard for the BASIC programming language. BASIC was available on many popular home computers, but there were countless variants that were mostly computer compatibility, incompatible w ...
(a special BASIC dialect); BASICODE-programs were even broadcast by radio


See also

* Robotron Z 1013 – A mostly compatible hobbyist kit, available even to private consumers via written order, waiting of one year and then self-pickup from factory outlet. * Robotron KC 87 – A series of mostly compatible microcomputers from a different manufacturer. * KC compact – The only pre-assembled
home computer Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
made in the GDR aimed at private consumers; not compatible to any of the other KC systems.


References


External links


robotron-net.de - Homepage for GDR-Kleincomputer

tu-dresden.de - KC-Club Homepage
Active until around 2003. Provides manuals as download.
kc85-museum.de



mpm-kc85.com - KC85/4 - The modular monster

mpm-kc85.de - KC85/4 System Aufbau Bedienung

jens-mueller.org - JKCEMU, a KC emulator written in Java


{{DEFAULTSORT:Kc 85 Z80-based home computers Goods manufactured in East Germany Science and technology in East Germany Computers designed in Germany Computer-related introductions in 1984