One of many East German tries to make a home computer.
KC, standing for Kleincomputer (literally "small computer") was a
Z80-based computer expandable by modules. Earlier KC 85/2 had only
simple cassette-oriented system in ROM while /3 had also BASIC
interpreter. ROM could be expanded by module too: there were assembly
language development environments sold as ROM modules as well as FORTH
language.
Not only ROM could be added by modules - there were digital input/output
modules, RAM expansions or analog/digital (and vice versa) converters.
If two module bays were too small, a 4-bay module expander called "Busdriver"
could be installed.
KC 85 had some problems. First, the keyboard has been made around very
uncomfortable buttons. Keyboard controlling chip, U807D, was eastern
clone of SAB3021, a chip made to drive remote controllers. It was good
as only two wires were needed to connect a keyboard, but any problem or
interference in connection (jack mono plug) resulted in a garbage input.
Another problem was with screen modes - there is literally no text mode
in KC, everything has to be drawn by copying to IRM (Image Repetition
Memory) buffer. It slows down a whole system.
These times orders for computers were so big that these machines were
mostly sold to schools, industry or public institutions and were not
accessible in a typical market.
Manufacturer | VEB Mikroelektronik "Wilhelm Pieck" Muhlhausen (part of Robotron kombinat) | |
Origin | East Germany | |
Year of unit | 1986 | |
Year of introduction | 1986 | |
End of production | 1990 | |
CPU | Z80 | |
Speed | 1,75MHz | |
RAM | 32kB expandable by modules | |
ROM | 16kB | |
Colors: | 16 | |
Sound: | Speaker, 2 tone generators. | |
OS: | CAOS 3.1 from ROM BASIC |
|
Display modes: | 320x256 graphics mode, 40x32 emulated text mode. | |
Media: |
Magnetic tape ROMs in modules |
Power supply: |
|
||
Built-in semi-switching power supply giving +5V, -12V, +12V DC. |
||
I/O: | 2 module bays RGB/composite output Expansion connector Tape connector |
|
Possible upgrades: | Many | |
Peripherals in collection: - RFT LC-R tape recorder - RFT KC85 floppy disk with controller - RFT bus expander (in this page too) |
||
Software accessibility: | TOSEC | |
I have two units. First has serial number 002000 and was
used with "Busdriver" expansion device. It is mostly built around Soviet
chips and was damaged - started after replacing 4 of them. The second
computer was manufactured later (serial number >23000) and has more
western chips.
The set consists of 8 modules: two 64K RAM expansions (for computers),
Analog-digital converter module, Digital-analog module, Digital I/O
module (containing 8255 and serial chip) and three 8K "User PROM"
modules which are equipped with EPROMs. One of these modules contains
some unknown "diagnostic program" while other one has Forth language as
in then-available Forth cartridge.
The third module is the same as "Development" module, giving assembly
language development environment, but it has not 2 kilobyte (2716) but
4K (2732) EPROMs. The modification which makes 8K board use 16K ROM is
shown in photos.
East German KC85, next version. KC85/4 has bigger
graphics memory (64kB) and also 64kB of RAM. Because such big amounts of
RAM had to be accessed by Z80, the main RAM was accessed in 32+16+16 way
and video RAM was visible in 4 16K blocks. This method allowed to
display and run faster, but lost much compatibility with KC85/3.
Graphics allowed to address 1x8 pixel blocks and color them
independently.
In KC85/4, Muhlhausen plant changed look and feel by changing case to
white and making keyboard plug a DIN plug. Keyboard was still
uncomfortable, made of hard plastic buttons and not so hard switches.
Casing had only two LEDs: Power and System, no memory access LEDs.
It is interesting that in 1989 Robotron planned to introduce
KC85/5, but they
probably never sold it. KC85/5 was KC85/4 with improvements: It had
256kB of RAM and bigger EPROM, which containted CAOS 4.4 (4.5?)
operating system. It was never sold but instruction manual has been
prnted and can be downloaded from the link above. They planned even
improved KCS900 computer, but it never left concept stage.
Manufacturer | VEB Mikroelektronik "Wilhelm Pieck" Muhlhausen (part of Robotron kombinat) | |
Origin | East Germany | |
Year of unit | 1988 | |
Year of introduction | 1988 | |
End of production | 1990? | |
CPU | Z80 | |
Speed | 1,77MHz | |
RAM | 64kB +64K Video RAM | |
ROM | 20kB | |
Colors: | 16 | |
Sound: | Speaker, 2 tone generators. | |
OS: | CAOS 4.2 from ROM BASIC from ROM |
|
Display modes: | 320x256 graphics mode, 40x32 emulated text mode. | |
Media: |
Magnetic tape ROMs in modules |
Power supply: |
|
||
Built-in semi-switching power supply giving +5V, -12V, +12V DC. |
||
I/O: | 2 module bays RGB/composite output Expansion connector Tape connector |
|
Possible upgrades: | Many | |
Peripherals in collection: - RFT LC-R tape recorder - RFT KC85 floppy disk with controller |
||
Software accessibility: | TOSEC? | |
My unit was in a very poor condition, it looks like someone sat on it, and before it was electronically damaged. RAM was bad, PIO and CPU was out. It has been repaired and it works now.
UPDATE: 02.2016: Second unit came in better condition,
only video RAM was damaged (3 chips). I cannot check FDD and controller
because I don't have proper connector cables.
The IC placement on video board can be seen on this drawing.
Contents | Loading programs | Making cassettes | Pinouts | Links |
After powering up, the computer should clear screen, produce a blue background and then write CAOS (Cassette Aided Operating System) prompt with available commands. These commands are important: LOAD (loads data from tape), SWITCH (switches memory to/from modules and other places), JUMP (executes code from memory area), MENU (displays commands menu). Programs may require JUMPing to them or just add their entries to menu.
To load a program from tape, it's needed to know is it a machine-code program or BASIC program. If it's the machine code program, it must be loaded by CAOS. The structure of command is:
LOAD nnnn
Where nnnn is a starting address. After pressing Enter,
play the tape. If no address is given, it may load the program as
specified in a header.
During loading, the screen should show the name and then counting
blocks. If only blocks are shown it means that the program has no header
and won't be loaded properly. If blocks are FF or out of order, volume
is too high (FF) or too low (out of order).
After loading computer may return to CAOS waiting to proper JUMP
instruction. First MENU should be tried as some programs install
themselves as menu entries. Sometimes it may even hang after loading,
then pressing reset button will make menu with new items reappear.
Here you can download a WAV file with memory/module test program. LOAD it (no parameters), it may hang at the end, usually it should let the cursor move (in 85/4 beeping) and type MENU for new menu. If it hangs, reset your KC, new items may appear on CAOS menu regardless of reset performed.
The loading header screen is similar to this:
%LOAD
PROGRAM
0200 0400
02> 03> 04> 05> ...
BASIC routines should be loaded with "CLOAD" command in BASIC or "BLOAD" if it's a binary. May be used with program name: CLOAD "PROGRAM" .
Loading software from cartridges is quite difficult. Generally you have to JUMP x where x is a number of bay (e.g. JUMP C or JUMP 8) but not always. Some cartridges must be SWITCHed first. The syntax is as follows
SWITCH X Y
Where X is a module bay number and Y is a control word with address and control byte. For example Forth cartridge in bay C must be loaded as follows:
SWITCH 2 0 <-- Turn off BASIC ROM
occupying menu space. (2 is BASIC, 0 - RAM, 1- IRM)
SWITCH C C1 <-- Place the cartridge from module bay C on address
C000 with 1 as control word (turn cartridge ON).
MENU <-- Display menu with FORTH commands
While diagnostic or development cartridges have automated routines for doing it and may be just JUMPed (e.g. JUMP C) to it.
There is a data converter in
JKCEMU emulator which
can convert between KCC format and a WAV file, but it has a problem of
not adding headers to many machine code programs even if load/start
addresses were explicitly given. Better WAVs are generated b toolchain
of KCEMU emulator. Download it freely from
author's site
looking for "Kassetten transfer" file (kcload.zip). Then select:
- Automatische speichern - checked
- Kodierung: KC85/1..4, KC87
- In: as selected by program.
- Out: Datei KCLOAD.WAV
Now click "Speichern auf Kassette..." and select KCC file.
The file will be rendered to KCLOAD.WAV.
In every program, it's good to try with both converters, JKCEMU and KCEMU. JKCEMU will read from KCC and show you starting addresses. To run converter in JKCEMU click Extra->Werkzeuge->Dateikonverter.
All as seen from the user side, not the opposite one:
Cassette port:
1 - Cassette OUT (or Sound left)
2 - GND
3 - Cassette IN
4 - Sound R
5 - Tape ON (TTL).
RGB port:
A1 2 3 4 5 6 7 8 9 10111213
-=-=-=-=-=-=-=-=-=-=-=-=-=-
B1 2 3 4 5 6 7 8 9 10111213
A3, A5, A7, A9, A11, B2, B9 - GND
A4 - Blue
A6 - Green
A8 - Red
B3 - Sound output
B10 - Composite video out.
All other pins are not connected.
To make a plug, you can cut an old 5.25" disk drive ribbon plug in
pin 15 and then polish it smoothly to 14 contacts. Then remove last
contacts from both sides and stick a piece of plastic in their place to
make plug not slide in PCB.
Expansion port:
(from KC85/3 System Handbook).
As I've seen in some photos, link between "Busdriver" and KC 85/3 is just a 1:1 connection, but I haven't tested it!
-
http://www-user.tu-chemnitz.de/~heha/bastelecke/8bit/KC85/ -
Schematics
- http://www.kc-club.de/ - Lots of
information, manuals and downloads.
-
http://www.sax.de/~zander/index2h.html - Some docs, tips, ROM dumps.
- http://www.kc85-museum.de/ -
Good source of information, look for "Dokumentationen" for manuals.
-
http://www.robotron-net.de/Service/doc.html - Some service
documentation, mostly for modules and floppy disk.
-
http://www.mpm-kc85.de/html/d001_kc85_3.htm - I recommend to visit
this site as it has a very good resources, System handbook and good PCB
module photos.