KC 85

KC85 Homecomputer aus der ehemaligen DDR

Die Kleincomputer der Reihe KC 85 wurden ab 1984 in der DDR vom volkseigenen Betrieb VEB Mikroelektronik „Wilhelm Pieck" Mühlhausen aus dem Kombinat Mikroelektronik Erfurt in den Modellen HC900, KC 85/2, KC 85/3 und KC 85/4 gebaut und waren die am weitesten verbreiteten Computer der DDR. Der Hersteller dachte zunächst an den Hobby- und Privatbereich, allerdings wurden die meisten Rechner für die Volksbildung reklamiert. Bis kurz vor dem Ende der DDR (ca. 1988) waren diese Computer dadurch für Privatpersonen schwer erhältlich. Auch der hohe Preis (4300 M für den KC85/3) sorgte dafür, dass die „Kleincomputer“ kaum ihren Weg in Privathaushalte fanden. Er basierte auf der 8-bit-CPU U880 (einem Z80-Clone) mit 1,76 MHz Taktfrequenz. Der typische Anwendungsfall der Mühlhausen-Rechner war ein KC 85/3 mit 16 KiB RAM (erweiterbar mit Zusatzmodulen), eingebautem ROM-BASIC, angeschlossenem Kassettenrecorder zur Datenspeicherung und Anschluss an einen als Monitor benutzten Fernseher (über Koaxialkabel, FBAS oder RGB). Dem KC 85/2 fehlte das ROM-BASIC und die Kleinbuchstaben. Der KC 85/4 kam mit 64 KiB RAM, ca. 40 KiB Bildwiederholspeicher 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 Restriktion verringerte sich beim KC 85/4 auf ein Rechteck aus 1×8 Pixeln und zusätzlich konnte ein „echter“ Farbmodus mit 4 Farben und ohne Begrenzung eingeschaltet werden. Im Rundfunk der DDR gab es eine gefragte Computersendung „REM“. Neben Programmierkursen („Basic für Fortgeschrittene“) und Tipps und Tricks war das Besondere darin, dass über den Äther Software ausgestrahlt wurde. Die Bits und Bytes wurden mit Hilfe der Frequenzmodulation und Pulsmodulation in hörbare Geräusche umgewandelt, welche mittels Kassettenrekorder mitgeschnitten und später in den KC geladen werden konnten (aus Wikipedia)

Bild:

Emulator mit Source + Spielen:
kcemu.zip

Links:
http://www.robotrontechnik.de/
http://www.kc85.de/
http://www.iee.et.tu-dresden.de/~kc-club/


Da die Darstellung auf TV-Geräten immer nicht so scharf ist, kann man dem KC85/3 auch ein FBAS Signal abnehmen und damit einen Farbmonitor (z.B die Commodore Monitore 1802/1901 etc.).

Dazu wird an dem TV-RGB Anschluß auf der Rückseite die PIN's 9=Masse und 10=FBAS Signal von links gesehen, wenn man auf der Rückseite auf den Anschluß schaut und auf der unteren Reihe entnommen:

Als Stecker kann man einen alten 5 1/4" PC Floppystecker nutzen. Dieser ist 2x17 pol. D.h von dem Ende mit dem Kodiersteg müssen 4 PIN-Reihen abgestrennt werden, sodaß dann 2x13 Reihen übrig bleiben.


Hauptplatine:

Platine mit Exp+TV-RGB Port, Modulanschlüssen und TV-Modulator:

Netzteil:

Belegung am KC-Powerstecker:

1/2 ... Masse
3 ... Kennstift
4 ... -5 Volt (bei den Floppynetzteilen nicht vorhanden)
5 ... +12 Volt
6 ... +5 Volt


Anschluß einer PS/2 Tastatur an den KC85

Schaltpläne und Firmware von: Giesberth Wiedner!

Vielen Dank für die Super Unterstützung!! Achtung: PIC16F877(A) geht nicht! Nur 16F877!!

Firmware Archive:
ps2kc-firmware.zip

Schaltplan um den PIC16F877:

Kopplung PIC - KC85:

PIC16F877:

CD4011 (Ein 4001 sollte auch gehen):

TIL117:

PS/2 MiniDIN Buchse:

Aufbau Lochraster oben (Die 2 Dioden sind nur, weil ich ein 5,9V Netzteil vewendet habe):

Aufbau Lochraster unten:

Lochraster Layout:
(Habe ich nach dem Aufbau von 2 Schaltungen erstellt.. bitte auch per Schaltplan kontollieren!)


Um Programme auf den KC85/3 zu bekommen, habe ich den Soundausgang meines Notebooks mit dem Toneingang des KC's verbunden. Zur Tonerzeugung habe ich das KCLOAD Programm (ist im KCEMU Paket enthalten) genutzt. Dieses lief sogar unter Vista, obwohl es wohl unter Win3.1 entwickelt wurde (sollte sich Linux mal ein Beispiel dran nehmen).
Mit der Lautstärke des Programms und des Notebooks/PC's muß man etwas experimentieren.. So 80-90% liefen bei mir..
Zuerst am PC das Programm starten und das zu überspielende Programm wählen - aber noch nicht ok drücken, da danach sofort die Übertragung startet. Jetzt zum KC85 gehen und LOAD und Return eingeben, dann beim PC ok drücken..
Im KCLOAD werden die gesendeten Blöcke gezeigt. Diese werden nach Programmname und Adressen auch am KC Bildschirm mitgeschrieben.
Wenn KCLOAD fertig ist.. kann es sein.. das der KC erst noch auf einem Timeout laufen muß.. das kann 1-2 Minuten dauern..
Wenn REPEAT (N) kommt, 'N' eingeben. Unter MENU sollte das Programm (Maschinenprogramm) dann erscheinen.
Im Falle eines Autostartprogramms, wird dieses automatisch gestartet..

KCLOAD Hardcopy:

Tape Anschluß (Ich mußte das aus Sicht 'Steckerdraufsicht' löten!? - wenns nicht geht, mal 1 und 3 tauschen):


Erste Schritte mit einem Cross-Assembler..

Ich habe einige Assemblerquelltexte von der KC-Club Seite verwendet und fuer Aside angepasst...

Hier das ZIP Archive dazu: kcasm.zip

Hinweise dazu:
Die ASM-Dateien von der Clubseite sind alle für EDAS (KC85) gedacht, welcher etwas anders der Aside Assembler arbeitet - der kennt nämlich CAOS nicht.

EDAS kennt CAOS natürlich und gibt von Hause aus alle Binärdateien (COM -> KCC) kompatibel zu CAOS auf Kassette oder Diskette aus.

In den Dateien fehlt der CAOS-Vorblock, welche im Quelltext zu definieren und mit zu übersetzen ist, etwa so:

;*** CAOS-VORBLOCK *********************
DB 'FILENAMETYP'
DS 5,0
DB 2 ;kein Selbststart
DW AAMAIN
DW EEMAIN
DW 0 ;ev. ADR SS
DS 105,0 ;Rest auffuellen 
;***************************************

Dieser Vorblock ist in allen CAOS-Dateien notwendig, wo Adressen verlangt werden, wie z.B. bei LOAD/SAVE oder FLOAD/FSAVE u.s.w.

Ohne Vorblock kann man die erzeugten BIN Dateien als Speicherabzug im KCEMU laden..

Im Handbuch für den Programmierer zum D004 steht dazu glaube ich auch was drin.

Wichtig:
========
Der Name muss im Vorblock IMMER vollständig und exakt mit 11!!! Zeichen angegeben werden, sonst stimmen alle nachfolgenden Adressen nicht. Für nicht genutzte Zeichen IMMER SPACE und nicht 0 bei der DEFM-Angabe - der Punkt zwischen Dateiname und Typ darf nicht angegeben werden !!!

ORG muss vor den Vorblock gestellt werden.

CAOS ist erst ab Startadresse 200H gefahrlos zu nutzen.
von 100H bis 200H ist Systembereich, welcher ohne Spezialmassnahmen nicht benutzbar ist.

; --------------------------------
; Erzeugen einer senkrechten Linie
; --------------------------------
;
;*** Zieladresse ***********************
ORG 4000H
;*** CAOS-VORBLOCK (ohne SS) ***********
DEFM 'LINEKCC KCC' ;11 Zeichen
DEFS 5,0
DEFB 2 ;=3 mit SS-ADR
DEFW AAMAIN
DEFW EEMAIN
DEFW 0 ;nur bei SS
DEFS 105,0 ;Rest auffuellen
;*** Codebeginn ************************
AAMAIN: EQU $
;***************************************
DEFW 7F7FH
DEFM 'LINE'
DEFB 1
;
; Schleife mit Schleifenzaehler B
;; Startwert entspricht 1. Zeile
;
LD B,0
;
; 21. Spalte ist fest
;
LD L,20
;
LOOP:
; Zeile = B und Spalte = 20
; als Cursorpos. uebergeben
;
LD H,B
LD (0B7A0H),HL
;
; Zeichen "H" ausgeben
;
LD A,'H' ; Zeichencode
CALL 0F003H
DEFB 0 ; UP Nr. 0
;
; Schleifensteuerung
; (Zeile 31 ist letzte Zeile !)
;
INC B
LD A,B
CP 32
JR C,LOOP
;
; Zurueck zum CAOS-Menu
;
RET
;
;*** Codeende **************************
EEMAIN: EQU $
;***************************************