mini|KC 85/3

HC 900, KC 85/2, KC 85/3 und KC 85/4 sind untereinander kompatible Heimcomputer, die vom VEB Mikroelektronik „Wilhelm Pieck“ Mühlhausen in der DDR von 1984 bis 1988 hergestellt wurden. Sie basieren auf dem Mikroprozessor U880, der ebenfalls aus der DDR stammte. Mit dem „Heimcomputer 900“ zunächst nur für den Hobby- und Privatbereich konzipiert und produziert, fanden die Geräte wegen planwirtschaftlicher Vorgaben ab 1985 vor allem im DDR-Bildungssystem – dann aber als „Kleincomputer“ mit der Abkürzung „KC“ – in unterschiedlichen Revisionen Verwendung.

Geschichte Im Jahr 1984 wurden in der DDR zwei Heimcomputer auf Basis des 8-Bit-Mikroprozessors U880 (Z80) vorgestellt: Z 9001 wurde entwickelt im VEB Robotron-Meßelektronik „Otto Schön“ Dresden und HC 900 wurde entwickelt im VEB Mikroelektronik Mühlhausen. Diese Entwicklung wurde von Werner Domschke vorangetrieben und war keine durch die DDR-Regierung abgedeckte Entwicklung. Trotz einiger Schwächen führte die Entwicklung zu einigen Verstimmungen bei Robotron, da dieser Computer in seiner Grundausstattung vollgrafikfähig war. Die 1985 erfolgten Umbenennungen von Z 9001 in KC 85/1 sowie von HC 900 in KC 85/2 erfolgte aufgrund der Änderung des Anwendungszwecks, denn die KCs sollten nicht als Heimcomputer eingesetzt werden, sondern als Kleincomputer in Schulen und anderen Ausbildungseinrichtungen.

Hardware Grundgerät mini|KC 85/4

Die Systemarchitektur des HC 900 war alles andere als perfekt: Die mit Zählerschaltkreisen realisierte Bildschirmansteuerung war mühsam zu programmieren. Wesentliche Systemfunktionen wurden mit PIOs (z. B. Bankswitching) und CTCs (Kassetteninterface, Blinken, Tonausgabe) realisiert. Die Tonerzeugung etwa erfolgte durch zwei CTC-Kanäle mit nachgeschaltetem Flipflop. Extras wie Blitter oder Sprites fehlten ganz. Das Betriebssystem CAOS (Cassette Aided Operating System) und HC-BASIC waren zwar recht komfortabel, aber langsam. Mit dem Mühlhäuser Originalbetriebssystem dauerte das Scrolling des Bildschirms 0,6 Sekunden und das Löschen des Bildschirms 1,75 Sekunden. Dies verbesserte sich mit dem KC 85/4 deutlich. Die KC 85/2-4 realisierten über Zusatzmodule einige Standard-Schnittstellen wie Centronics für Parallel-Drucker, und serielle Schnittstellen (wie RS232C bzw. V.24). Ab 1989 gab es für die Baureihe Floppy-Disc-Laufwerke als Zusatzgerät, das einen eigenen CP/M-Rechner darstellte und das Basisgerät als Terminal nutzte.

HC 900 und KC 85/2 Er basierte auf der 8-bit-CPU U880 (einem Zilog Z80-Klon) mit 1,75 MHz (HC 900 = KC 85/2, KC 85/3) bzw. 1,7734475 MHz (KC 85/4) Prozessortakt. Der typische Anwendungsfall der Mühlhausen-Rechner war ein KC 85/3 mit 32 KB RAM (erweiterbar mit Zusatzmodulen), 16 KB ROM-BASIC, angeschlossenem Kassettenrekorder zur Datenspeicherung und Anschluss an einen als Monitor benutzten Fernseher (über UHF-Modulator, FBAS-Ausgang oder RGB-Ausgang). Dem KC 85/2, er hatte nur 4 KB ROM, fehlten das ROM-BASIC und die Kleinbuchstaben. Der KC 85/4 kam mit 128 KB RAM und verbesserten Grafikmöglichkeiten, die aber durch den Zusammenbruch der DDR kaum noch ausgenutzt wurden. Alle KC 85 aus Mühlhausen waren grafikfähig; die Bildschirmauflösung betrug 320 × 256 Bildpunkte. Allerdings war die „Farbauflösung“ wesentlich geringer: In einem Pixelrechteck von 4 × 8 Pixeln konnte es nur eine Vordergrundfarbe (aus 16 möglichen) und eine Hintergrundfarbe (aus 8 möglichen) geben. Diese Einschränkung verringerte sich beim KC 85/4 auf eine Linie aus 1 × 8 Pixeln, und zusätzlich konnte ein „echter“ Farbmodus mit 4 Farben und ohne Begrenzung eingeschaltet werden. Erst beim KC 85/4 entfiel die störende Eigenheit der Mühlhäuser KC-Reihe, dass Speicherzugriffe der CPU auf den Bildschirmspeicher Bildstörungen verursachten. mini|An der Universität Leipzig sammeln Gaststudenten erste Erfahrungen am KC 85/3 (1989)

KC 85/3 Die Erweiterung des KC 85/3 waren: Statt 4 KB ROM besaß er nun 16 KB ROM integrierter BASIC-Interpreter (ca. 10,5 KB) erweitertes Betriebssystem CAOS 3.1 mit Befehlen wie DISPLAY, KEY und KEYLIST (ca. 4,5 KB) Groß- und Kleinbuchstaben (ASCII 00h ... 7Fh) im ROM verfügbar Piezosummer

KC 85/4 mini|320px|CAOS 4.2 beim KC 85/4

Die wesentlichen Erweiterungen des KC 85/4 waren: Erweiterung des ROMs von 16 KB auf 20 KB Erweiterung des internen RAMs von 32 KB auf 64 KB Andere Organisation des Bildschirmspeichers (damit auf Hardwareebene inkompatibel zu KC 85/2 und KC 85/3) Modifikation des Prozessortaktes von 1,75 MHz auf 1,7734475 MHz Zugriff auf Bildschirmspeicher ohne Bildstörungen Ordentliche Entprellung der RESET-Taste Umstellung der Tastaturbuchse von 3,5-mm-Klinke auf DIN Größere Textzeichen (Großbuchstaben 7 Zeilen statt 6 Zeilen hoch)

Die größte Umstellung war die Erweiterung (mit einer zum KC 85/2 und KC 85/3 inkompatiblen Organisation) des Bildschirmspeichers: Statt 1 Bank mit 16 KB standen 4 Bänke zu je 16 KB zur Verfügung. Die 4 Bänke ergaben 2 Bildschirmseiten, zwischen denen umgeschaltet werden konnte. Für jede Bildschirmseite wurden je 2 Bänke benutzt. Es gab einen 16-Farben-Modus, in dem in einer Bank die Pixel und in der anderen Bank die Vorder- und Hintergrundfarbe für 8 horizontale Pixel stand. Es gab einen 4-Farben-Modus, in dem in beiden Bänken je 1 Bit stand, die zusammen die Auswahl einer aus vier Farben ermöglichte. Die Organisation des Bildschirmspeichers war wesentlich einfacher: 256 Byte im Bildschirmspeicher beschrieben eine Bildschirmspalte von 8 × 256 Pixeln.

+Daten der KC-85-Reihe Eigenschaft KC 85/2 bzw. HC-900 KC 85/3 KC 85/4 Abmessungen 385 mm × 270 mm × 77 mm Masse ca. 4,1 kg Leistungsaufnahme ca. 25 W (ohne Erweiterungen) CPU UB 880 D (Zilog Z80 Clone) Taktfrequenz 1,75 MHz (112 × PAL-Zeilenfrequenz) 1,75 MHz (112 × PAL-Zeilenfrequenz) 1,7734475 MHz (0,4 × PAL-Farbträgerfrequenz) RAM-Schaltkreise 16× KR 565 RU 3 G ROM-Schaltkreise 2× U 2716 C 2× U 2364 D RAM 32 KB 64 KB ROM 4 KB 16 KB 20 KB für Anwender freier RAM ca. 17 KB ca. 64 KB Bildwiederholspeicher 10 KB Pixel + 2,5 KB Farbe (zusätzlich 1,25 KB für Hinterlegung der dargestellten Zeichen) = 13,75 KB 2 × (10 KB Pixel + 10 KB Farbe (zusätzlich 1,25 KB für Hinterlegung der dargestellten Zeichen)) = 42,5 KB Betriebssystem HC-CAOS V2.2 (3,5 KB + 0,5 KB Zeichentabelle) HC-CAOS V3.1 (4,5 KB + 1 KB Zeichentabelle + 10,5 KB BASIC-Interpreter) HC-CAOS V4.2, einige wenige noch mit HC-CAOS V4.1 Bildaufbau vollgrafisch, farbig Bildgröße 320 × 256 Pixel Zeichendarstellung je 8 × 8 Pixel, 32 Zeilen (typ. 30 davon genutzt), 40 Spalten Vordergrundfarben 16 (inkl. schwarz / weiß), zusätzliches Blinken möglich, Frequenz programmierbar Hintergrundfarben 8 (inkl. schwarz / weiß) Zeichenbildtabellen 1 (Großbuchstaben) 2 (Groß- und Kleinbuchstaben) im ROM enthaltene darstellbare Zeichen 64 128 128 definierbare Zeichen beliebig viele Zeichengenerator durch Software Bildschirmeinteilung durch Fenster (windows) gleichzeitig definierbare Fenster 1 10 10 Programmiersprache im ROM keine BASIC (10,5 KB) BASIC verfügbare Programmiersprachen Basic, Forth, Assembler (EDAS + 2 Debugger), Standard-Pascal-Compiler (Stand 1989), Logo, C (Pretty C Compiler), Focal Anzahl BASIC-Schlüsselworte 94 (Stand 1989) 107 (Stand 1989) davon mathematische Funktionen 10 (Stand 1989) 10 (Stand 1989) davon Zeichenketten-Funktionen 10 (Stand 1989) 10 (Stand 1989) mathematische Operatoren 14 (Stand 1989) 14 (Stand 1989) verfügbare CAOS-Unterprogramme 54 70 72 Tonausgabekanäle 2 Tonumfang 5 Oktaven ( max. Samplerate = (CPU-Takt in Hz) / (16 oder 256) / (1 bis 256) ) programmierbar über U857 (Z80-CTC)Z80-CTC (in der DDR U857) Tonausgang Diodenbuchse zweikanalig, konstanter Pegel RGB-Ausgang einkanalig, Lautstärkeregelung Tonausgabe im Gerät keine Piezosummer Bildausgabe Farb- oder SW-Fernseher bzw. Farb- oder SW-Monitor Anschlüsse für Bildausgabe HF-Modulator (VHF-Kanal 2) ohne Ton, FBAS, RGB HF-Modulator (UHF-Kanal ~36) ohne Ton, FBAS, RGB Fernsehnorm PAL Tastenclick – einstellbar Anzeige 2. Tastaturebene – durch Cursor Modulsteckplätze 2 externe Anschlüsse Expansion-Interface (Computerbus) Diodenbuchse für Rekorder RGB und FBAS Tastaturbuchse Datenaufzeichnung auf Band Diphase-Verfahren, kompatibel zu KC 85/1 und KC 87 Aufzeichnungsgeschwindigkeit brutto etwa 1200 Baud netto etwa 1.000 Baud Blocknummer 1 Byte Blocknummer (Z80-Programme: beginnend ab 00h, letzter Block 0FFh, BASIC-Programme: beginnend ab 01h, letzter Block durch Zeilennummer 65535 gekennzeichnet). Blocklänge immer 128 Byte Daten, letzter Block mit Füllbytes aufgefüllt Datensicherung Prüfsumme 1 Byte je Block (Summe aller Datenbytes exklusive der Blocknummer) Datensynchronisation durch Trennzeichen Übertragungsfrequenzen logisch 0: Vollschwingung 2400 Hz logisch 1: Vollschwingung 1200 Hz Trennzeichen: Vollschwingung 600 Hz Byte-Aufbau: 1 Trennzeichen (600 Hz), 8 Nutzbits (1200 oder 2400 Hz) Block-Aufbau: 160 Trennzeichen (600 Hz), Block-Byte, 128 Nutz-Bytes, Prüfbyte

Erweiterungsmodule

Es gab eine Vielzahl von Erweiterungsmodulen für die KC 85/2-4.

Erkennen konnte man die Module durch Lesen vom I/O-Port xx80, wobei xx für die Nummer des Modulsteckplatzes steht. Im Basis-Gerät D001 standen die Modulsteckplätze 08 und 0C zur Verfügung. In Erweiterungsaufsätzen D002 standen vier weitere Steckplätze zur Verfügung (10, 14, 18 und 1C, umschaltbar auch auf andere Adressen).

Durch Lesen vom Port xx80 erhielt man die „Strukturbyte“ genannte Modul-Kennung: E7: M010 ADU (1 8-bit A/D-Wandler C570C mit 4 umschaltbaren Eingängen) – Schaltplan EE: M003 V24 (2 serielle Schnittstellen) EF: M001 Digital In/Out (16 parallele Ein/Ausgänge sowie CTC-Anschlüsse) F4: M022 16 KB RAM, wird beim Kaltstart automatisch auf Adresse 4000 geschaltet F6: M011 64 KB RAM F7: M025 8 KB User PROM F8: 16 KB User PROM FB: M027 Development (Editor + Assembler + Debugger) FC: M006 BASIC-Interpreter für den KC 85/2 FF: kein Modul oder Modul ohne Kennung und noch viele andere Damit war ein gewisses Maß von Plug and Play realisierbar.

Durch Schreiben auf diese Adresse konnte man Module aktivieren und konfigurieren: Bit 0 aktivierte üblicherweise ein Modul, d. h. die eigentlichen Bausteine (RAM, ROM oder Peripherie) werden adressierbar Bit 1 aktivierte das Schreiben auf ein Modul (betrifft nur RAM-Module), die höherwertigen Bits legten meist die Basisadresse bzw. das Rotieren der Adressen fest (16 KB, 64 KB).

Aufsätze Gehäuseaufsatz Busdriver D002 mit eigenem Netzteil, konnten je Gerät weitere 4 Zusatzmodule aufnehmen.

Floppy Disk Basis D004 mit eigenem Netzteil, enthielt eine UA880-CPU mit 4 MHz Systemtakt und 64 KB RAM und konnte bis zu vier 800 KB Floppylaufwerke (Floppy Disk Drive, in weiterem Aufsatz) betreiben. Eigentlich ist der D004 ein vollständiger CP/M-Rechner, der nur noch Eingabe/Ausgabe über das Basisgerät D001, das quasi als Terminal diente, abwickelte (es gab allerdings auch eine Betriebsart, in der das CAOS im KC den D004 nur als schnellen Massenspeicher benutzte).

Monitore Als Monitor kam häufig das Schwarz-Weiß-Fernsehgerät Junost-402B zum Einsatz. Das Gerät verfügte nur über einen Antenneneingang. Die Bildqualität war sehr mäßig, Buchstaben waren mit störenden Geisterbildern versehen. Der HF-Ausgang lieferte keinen Ton und keinen Tonträger; der Lautstärkesteller am Fernsehgerät musste auf Linksanschlag gestellt werden, um das kräftige Rauschen zu unterdrücken.

Über einen Steckverbinder an der Rückseite waren weitere Signale verfügbar: FBAS RGB (dazu obiges FBAS-Signal als Composite Sync) Mono-Ton, gemischt aus den beiden Rechtecktongeneratoren, mit gemeinsamer 16- bzw. 32-stufiger Lautstärkebeeinflussung

Sie erlaubten den Anschluss von Fernsehgeräten mit FBAS-Eingang (was eine mittlere Qualität ermöglichte) oder mit RGB-Eingang. Da die meisten Fernsehgeräte solche Eingänge aber nicht besaßen, musste man sich mit dem HF-Eingang begnügen