Top-Themen:
- Zwei Festplatten am KC
- GIDETEST – Version 0.9
- KC85/3 mit CAOS 3.4
- KC85-Neubauprojekt
Ein paar Worte zur Einleitung
von Frank Dachselt
Seit unserem diesjährigem Clubtreffen ist bereits genausoviel Zeit vergangen wie uns nun noch zur Vorbereitung des Jubiläumstreffens im nächsten Jahr bleibt. Aber schauen wir erst mal zurück:
Unser neuntes Treffen hatten Hans-Rudolf Stoeßer und Andreas Krüger im Eurocamp ”Am Helenesee“ bei Frankfurt (Oder) organisiert. Wie immer hat trotz des unvermeidlichen C(h)aos alles bestens funktioniert, wofür an dieser Stelle im Namen aller Teilnehmer ein großes Dankeschön an die beiden Organisatoren ausgesprochen werden soll. Der Bericht und die Bilder in dieser News-Ausgabe vermitteln hoffentlich einen Teil des Geschehens und sollen natürlich auch Vorfreude und Neugier auf unser nächstes Treffen wecken.
Nächstes Jahr steht uns nun also ein bemerkenswertes Jubiläum ins Haus: unser 10. Clubtreffen. Diesmal sind wir in der glücklichen Situation, daß schon an dieser Stelle zwei Vorschläge für Ort und Termin existieren.
Vorschlag 1 kommt von Klaus Finke aus Suhl, einem unserer neueren Mitglieder. Eine kurze Vorstellung von ihm findet Ihr auf Seite 19. Klaus Finke organisiert in Suhl die jährlichen regionalen Treffen für die C64/C128-Fangemeinde und hat angeboten, uns mit unserem Clubtreffen anzuschließen. Der Termin ist noch flexibel und kann vom 26./28. März bis 16./18. April gelegt werden (das Osterwochenende natürlich ausgeschlossen). Das Treffen findet im Hotel “Thüringen“ in Suhl statt. Geeignete Räume sind vorhanden, die sowohl eine räumlich getrennte Durchführung als auch eine Zusammenlegung beider Treffen gestatten. Die Kosten für die Übernachtung liegen bei etwa 60,– EUR pro Übernachtung im Einzelzimmer) bzw. etwa 70,– EUR pro Übernachtung im Doppelzimmer.
Vorschlag 2 geht auf den spontanen Zwischenruf “Pechtelsgrün“ während des diesjährigen Treffens zurück, als die Frage nach dem nächsten Treffen bereits aufgeworfen wurde. Dietmar Meyer ist daraufhin sogleich aktiv geworden und hat schon mal die Clubtreffen-erprobte Pension “Sonnenblick“ für das Wochenende vom 16. bis 18. April 2004 für uns reserviert. Die Bedingungen haben sich gegenüber dem Jahr 2002 kaum verändert: eine Übernachtung mit Frühstück gibt es für etwa 15,– EUR, ein Abendessen für etwa 7,– EUR und das Mittagessen individuell im benachbarten Gasthof.
Trotz des Planungsvorlaufs muß nun natürlich in absehbarer Zeit eine Entscheidung getroffen werden. Bis Ende dieses Jahres sollte diese gefallen sein. Ich möchte Euch daher alle bitten, mir bis Ende Dezember Eure Meinungen zu den zwei genannten Vorschlägen zukommen zu lassen. Sobald auf dieser Grundlage die Entscheidung gefallen ist, werde ich Euch diese mitteilen, damit jeder seine persönliche Zeitplanung vornehmen kann.
Virus-Alarm
Wer hätte gedacht, daß wir uns jemals in den KC-News mit diesem Thema befassen müssen! Nun ist es aber doch passiert: Auf der letzten Beilagendiskette ist es bei einigen Exemplaren zu einer Infektion gekommen. Beim Kopieren der Disketten auf dem PC wurde die Datei PMEXT.COM vom Virus mit der Bezeichnung “Junkie.1027.A“ befallen, das bei diesem Dateinamen natürlich davon ausging, dass es sich um ein DOS-Programm handelt. Glücklicherweise wird wohl kaum jemand auf die Idee kommen, das CP/M-Programm unter MS-DOS zu starten. Wer aber z.B. die Beilagendisketten auf einem PC archiviert, bekommt dennoch eine entsprechende Warnung von seinem Viren-Scanner. Unter CP/M auf dem KC kann das Virus seine schädliche Wirkung zwar nicht entfalten, der modifizierte Programmcode führt dennoch zu einer Fehlfunktion von PMEXT, das nach dem Aufruf ohne erkennbare Reaktion zur Kommandozeile zurückkehrt. Einige werden dies sicherlich beobachtet haben.
Andere Dateien sind nach heutigem Kenntnisstand nicht betroffen. Um dennoch alle Möglichkeiten abzusichern, gibt es auf der heutigen Beilagendiskette neben den aktuellen Dateien im Userbereich 0 die gesamte Beilagendiskette der letzten Ausgabe noch einmal im Userbereich 1. Wer also ganz sicher gehen möchte, der formatiert die Diskette vom letzten Mal auf dem KC neu und kopiert darauf die Dateien aus dem heutigen Userbereich 1 in den Userbereich 0. Damit ist auch gleichzeitig ein weiterer Defekt behoben: aus unbekanntem Grund fehlte auf einigen Disketten beim letzten Mal eine Datei.
Nun aber erst mal viel Vergnügen beim Lesen dieser Ausgabe.
Euer Redakteur
Bericht vom 9. KC-Clubtreffen
von Ralf Däubner
Damit mal wieder ein Bericht vom KC-Clubtreffen in den News erscheint, habe ich während des diesjährigen Treffens versucht, alles zu protokollieren.
Freitag, der 4.4.
So gegen 19:30 Uhr trafen wir, Michael Weigel und meine Wenigkeit, im EURO-Camp ein. Als wir ankammen, war das Treffen (wenn man das C(h)AOS so nennen möchte) schon in vollem Gange. Da mein KC ja immer noch nicht funktioniert, habe ich als Ersatz (und wegen der Z80-CPU) meinen CPC mitgeschleppt (und natürlich auch meinen guten alten Schleppi).
Für Statistiker: Es waren neun vollständige KC-Anlagen, ein P8000, ein KC-compact mit 464 Floppy-Controller, ein KC-compact mit originaler Floppy, ein BIC (A5105), ein Specci (spectrum 3+), ein CPC 6128 mit Zubehör und zwei C64 mit etlichen CMD-Zubehör (inklusive der SCPU) vertreten. Ähhh..., ich glaube irgendwelche PCs kullerten hier auch herum, die sind aber sicher nicht die Rede wert...
Michael versuchte, eine andere, neue Form der Datasette vorzuführen, was aber letzten Endes, was die Schadenfreude betrifft, am Vorführeffekt scheiterte. So gegen 1 Uhr mußten jedenfalls auch die letzten ins “Nest“ gefallen sein.
Samstag, der 5.4.
Gegen 8 Uhr morgens trafen sich alle beim gemeinsamen Frühstück, gegen 9 Uhr ging es weiter, was wie immer C(h)AOS bedeutet. Da der Kassierer erst recht spät (14 Uhr) eintraf, ließ auch der offiziellen Teil des Treffens auf sich warten. Da hier allerdings viel neue Hardware für den KC gezeigt wurde, war von Langeweile wenig zu spüren. Immerhin entdeckte ich auf dem Treffen Enricos SCSI-Interface, zumindest eine unbestückte, sauber geätzte Leiterplatte.
Einige PCs waren bemüht, die KCs zu emulieren. Beim KC-compact von Dirk Kahnert stellte es sich heraus, daß die Riemen (der mit dem 464-Controller) verschlissen waren. Der SX 64, ein (er)tragbarer C64 löste ein gewisses Interesse aus. Guido Speer versuchte, diverse KC-Hardware zum Leben zu erwecken...

Bild 1: Clubtreffen 2003: Die lange Reihe aufgebauter KC-Systeme ist sehenswert. Im Vordergrund bereitet Ralf Kästner gerade eine Testserie an den zahlreichen mitgebrachten Mäusen vor.
Am Nachmittag fand sich auch ein “kompaktes“ PRG 710-1 ein. Dieses Gerät, mit einem stolzen Kampfgewicht von nur 40 Kilogramm, wurde laut Unterlagen zum Programmieren von EPROMs für autonome Steuerungen und zum Entwickeln dieser Anlagen verwendet. Immerhin besaß dieser auch zwei Floppy-Laufwerke. Das Pendant aus dem VEB Elektronik Gera, der MC80, mußte noch mit einem Kassettenlaufwerk auskommen.
Mittlerweile sind immerhin 29 KC-User und Gäste zum Clubtreffen zusammengekommen.
Kurz vor und nach dem Gruppenfoto am späten Nachmittag wurde ein Drucker (K6316) 16 Jahre nach Abnahme durch die TKO aus seiner hölzernen Verpackung befreit. Also, wie war das mit der Schadenfreude? ;–) Immerhin sind die letzten Gäste eingetrudelt. Der Drucker ist inzwischen in seine Bestandteile zerlegt, was mich vermuten läßt: Das wird ein 3D-Puzzle!

Bild 2: Clubtreffen 2003: Mit dem im Vordergrund zu erkennenden EPROM-Brenner an Mario Leubners KC erhielten wieder viele KC-User ein neues Betriebssystem für ihr Grundgerät.
Etliche KCs und jede Menge sonstiger Hardware fanden während des Treffens neue Besitzer. Überall wurde gefachsimpelt, eine gewisse Grüppchenbildung war nicht zu übersehen.
Mario Leubner hielt gegen 17 Uhr einen Vortrag zum Thema “Zweite Festplatte am KC“. Eine interessante Geschichte, bei der ein wichtiger Aspekt für User mit relativ großen Festplatten nicht außer Acht gelassen wurde: Das Problem am KC ist ja das Beschaffen gut erhaltener Festplatten, und die werden bekanntlich nicht jünger. Backups haben da so ihre Vorteile, eine Weisheit, die nicht nur Windo(of)ws-User kennen.
Pechtelsgrün scheint uns aber auch in Frankfurt an der Oder zu verfolgen: Ein flüchtiger Blick aus dem Fenster sagt mir, es schneit! Naja, es ist Anfang April ;–)
Gegen 19 Uhr traf Peter Salomon ein und stellte sein Projekt “Geschichte der Mikroelektronik – Halbleiterindustrie der DDR“ vor.
Später am Abend führte Ralf Kästner die Einbindung eines grafisches Genius-Tabletts in UNIPIC vor.
Wave auf dem C64, also ein echter HTML-Browser zog nicht wenige Interessierte vor den Brotkasten. Und Michael Weigel versuchte sich krampfhaft an einem KC 85/3. Jedenfalls wurde der Abend so richtig gemütlich...
Sonntag, 6.4.
Nach dem gemeinsamen Frühstück herrschte bereits etwas Aufbruchstimmung, die ersten bereiteten sich auf den Heimweg vor. Und wie es halt so im April ist, es schneit draußen. Und wie! Guido hielt noch mal einen kleinen Vortrag zum Thema “SanDisc im KC“.
Im Laufe des Vormittags setzte sich die Abreisewelle langsam aber sicher in Bewegung. Daran konnte uns auch die Feuerwehr, die ebenfalls zu einem Ausflug im Eurocamp war und uns mitunter den Weg versperrte, nicht hindern. Zum abschliessenden Mittagessen am Sonntag konnten aber trotzdem noch etwa zehn Teilnehmer gezählt werden.
Das Treffen war dem lokalen Fernsehen immerhin ein Bericht wert. Das Video wird sowohl in VHS als hoffentlich auch in MPEG (auf CD) erhältlich sein.
Wir sehen uns zum nächste Treffen – vielleicht in Pechtelsgrün – wieder.
Eurer Ralle.
Zwei Festplatten am KC
von Mario Leubner
In den letzten News war es bereits angekündigt und auf dem Clubtreffen in Frankfurt/Oder zu sehen: Auch am KC lassen sich zwei Festplatten anschließen. Wer das GIDE-Interface eingebaut hat, für den ist auch der Einbau der zweiten Festplatte kein Problem. Doch wozu zwei Festplatten am KC? Die Kapazität einer einzelnen Festplatte reicht völlig aus für die anfallenden Daten des KC!
Für mich gab es einen wichtigen Grund, warum ich mir eine zweite Festplatte eingebaut habe:
Meine Festplatte bringt mehr und mehr Fehler. Deshalb habe ich mir eine andere Festplatte besorgt. Doch wie bringt man die Daten einer 100MB-Platte auf eine andere?
- Man kann 125 Disketten (800 KByte pro Diskette) verwenden und ein Backup-Programm (z.B. BU17) – und natürlich reichlich Geduld beim Diskettenwechseln.
- Oder man geht mittels der MTOOLs über den PC, verliert dabei aber sämtliche Datumseinträge.
- Oder man könnte die alte und neue Platte parallel an den KC anschließen und die Dateien einfach mit dem COPY-Befehl kopieren.
Die letzte Möglichkeit ist am einfachsten, hier reicht zum Beispiel der Befehl COPY C:*.* F: und alle Dateien werden von C: nach F: kopiert. Jetzt muß man nur noch für jeden genutzten USER-Bereich einmal einen solchen Befehl eintippen (oder gleich eine SUBMIT-Datei für alle USER-Bereiche), und eine Partition wäre kopiert.
Der zweite Grund, um zwei Festplatten am KC nutzen zu können, ist die Möglichkeit CF-Card’s wie eine Festplatte zu benutzen. Guido Speer hat das getestet und auch in Frankfurt gezeigt. Damit hat man jetzt einen großen Wechseldatenträger am KC. Bei gleicher Installation an zwei KC’s braucht man nur die CF-Card zu wechseln und hat alle Daten auf dem anderen KC, also wie bei einer Diskette – nur mit 8 MByte oder mehr!
Was ist nun erforderlich, um zwei Festplatten am KC zu betreiben?
Der Hardwareaufwand ist minimal: Man braucht ein IDE-Kabel mit zwei parallel angeschlossenen 40-poligen Steckern (das ist bei den handelsüblichen Kabeln stets der Fall). Dann braucht die zweite Festplatte noch einen Stromanschluß, da kann man ein so genanntes Y-Kabel benutzen, das gibt es auch fertig zu kaufen.
Und dann braucht man noch eine zweite Festplatte! Und, ganz wichtig: Von beiden Festplatten muß man genau wissen, wie die Jumper zu setzen sind, um sie als MASTER oder SLAVE zu betreiben. Meist bekommt man bei gebrauchten Festplatten diese Informationen nicht dazu. Bei einigen Platten steht es direkt auf dem Gehäuse, für ältere Modelle bekommt man auch im Internet Hilfe.

Bild 3: Clubtreffen 2003: Trotz des Kabelwirrwarrs gut zu erkennen: in diesem Gehäuse befinden sich zwei Festplatten, die im Master-Slave-Betrieb am GIDE- Interface angeschlossen sind.
Allgemeingültige Aussagen gibt es nicht, da jeder Hersteller eigene Varianten hat. Manche Festplatten brauchen als Master-Festplatte andere Jumper-Einstellungen, als wenn sie einzeln (Single) betrieben werden. Andere Platten haben bei Single- und Master-Betrieb die gleichen Jumperstellungen. Also am besten erst informieren und dann loslegen!
Kommen wir zur Software:
Die Festplatte wird vom BIOS angesprochen, deshalb mußte in das BIOS ein neuer Festplattentreiber rein. Dieser muß zwischen Master- und Slave-Platte unterscheiden können. Im Prinzip reicht dazu 1 Bit aus, das für jede Festplatte im erweiterten DPB enthalten ist. Das BIOS liest bei den Operationen nur noch das Bit, baut es in die Befehle ein, die zum GIDE ausgegeben werden und schon funktioniert es. Der Treiber im BIOS wurde dazu nur ein Byte größer als in der vorherigen Version.
Der größere Aufwand entstand bei der Erkennung und Initialisierung der beiden Festplatten beim Systemstart. Dieser Programmteil, der in SYSGEN.COM enthalten ist und beim Start aus den Systemspuren geladen wird, ist in großen Teilen neu geschrieben worden.

Bild 4: Clubtreffen 2003: Beim Booten der neuen MLDOS-Version werden die angeschlossenen IDE-Laufwerke angezeigt, hier als Master eine normale Festplatte und als Slave eine CF-Card von SanDisk.
Zu erkennen ist jetzt auch (wie beim PC), welche Festplatten erkannt worden sind. Dazu lese ich die Informationen direkt aus der Platte aus. Es ist also eine direkte Kontrolle vorhanden, daß die Platte erkannt wird.
Soviel zur Funktion der Software. Kommen wir jetzt dazu, wie wir ein solches System mit zwei Festplatten erstellen. Es dürfte nicht viel schwieriger sein als mit einer Festplatte. Man benötigt nur die Daten (Anzahl der Spuren, Köpfe und Sektoren) von jeder Platte, die man am besten mit GIDETEST.COM ermittelt.
Dazu muß man aber die Platte jeweils als Master anschließen, da es in GIDETEST keine Master/Slave-Umschaltung gibt. Dann gibt es wieder eine zentrale Datei, wo die Einstellungen vorgenommen werden: die bekannte Datei OPTION.INC. In der nun aktuellen Version gibt es aber ein paar Neuerungen; deshalb gehe ich alle Punkte nochmals einzeln durch.
Aber auch in die Datei OPTION.INC selbst habe ich viele Kommentare geschrieben, so daß eigentlich nichts schief gehen sollte. Zum Ändern sind jeweils die Werte vorgesehen, die mit Großbuchstaben geschrieben sind und kein Semikolon in der ersten Spalte enthalten:
NDRIVES EQU 8
Hier wird zunächst die Anzahl der logischen Laufwerke (zwischen 5 und 16 ist möglich) eingegeben, entsprechend viele Laufwerke stehen dann zur Verfügung. Bei 5 sind es die Laufwerke A: bis E:, bei 6 A: bis F: usw. bis maximal A: bis P: bei 16 Laufwerken (im Beispiel sind es die Laufwerke A: bis H:).
HARD EQU 6
Als nächstes muß man hier eintragen, wieviele Partitionen von Festplatte(n) belegt werden. Dabei ist noch keine Unterscheidung zwischen Master- und Slave-Platte erforderlich, anzugeben ist die Gesamtanzahl aller Festplattenpartitionen! Maximal können 6 Partitionen von Festplatten gebildet werden, die erste Partition ist immer C:, die anderen schließen sich unmittelbar daran an.
Bei 6 Partitionen (z.B. 3 Master- und 3 Slave-Partitionen) müssen aber auch mindestens 8 logische Laufwerke in NDRIVES definiert werden. Die Angabe HARD=0 kann für Systeme ohne GIDE-Interface verwendet werden, dann wird der RTC-Uhrentreiber durch einen CTC-Uhrentreiber wie in MicroDOS ersetzt. Das war aber bisher auch schon so.
Nun haben wir die Anzahl der Laufwerke definiert. Jetzt muß noch angegeben werden, welche Parameter die angeschlossenen Festplatten haben. Da jetzt 2 Festplatten möglich sind, gibt es auch 2 Bereiche, wo Angaben zu machen sind:
CYLS0 EQU 732 ; Anzahl Zylinder
HEAD0 EQU 8 ; Anzahl Köpfe
SECS0 EQU 35 ; Anzahl Sektoren
Das wären die Angaben für die Master-Festplatte, zu erkennen an der 0 am Ende der Variablen, im Beispiel sind das die Daten meiner “ALPS D311C“ mit 100 MByte. Der gleiche Parametersatz folgt noch einmal für die Slave-Festplatte, die Variablen haben zur Unterscheidung am Ende eine 1. Wer nur eine Festplatte einsetzt, kann diese Eintragungen unverändert lassen:
CYLS1 EQU 928 ; Anzahl Zylinder
HEAD1 EQU 8 ; Anzahl Köpfe
SECS1 EQU 32 ; Anzahl Sektoren
Die Werte entsprechen einer “Conner CP2121“ mit 119 MByte. In der Datei OPTION.INC sind einige weitere Festplattendaten enthalten, die bereits am KC getestet worden sind. Die letzten 3 Werte sind dabei die Spuren, die für die drei Partitionen verwendet wurden – als Vorschlag.
Der nächste Schritt wäre die Partitionierung der Festplatte(n). Um eine Festplatte auf mehrere logische Laufwerke aufzuteilen, muß festgelegt werden, wie groß jede Partition werden soll. Dazu erhält jede Partition einen Teil der Gesamtzylinder einer Festplatte. Es müssen nicht alle vorhandenen Zylinder benutzt werden, dann bleibt eben ein Teil der Gesamtkapazität der Festplatte ungenutzt. Die maximale Partitionsgröße beträgt 64 MByte! In Abhängigkeit von den Parametern der Festplatte variiert die Speicherkapazität je Zylinder. Zur Berechnung der Spurgröße gilt:
HEADS ∗ SECS ∗ 0,5 = KByte/Zylinder
Für die als Master eingesetzte “ALPS D311C“ ergibt sich demnach
8 ∗ 35 ∗ 0,5 = 140 KByte/Zylinder
und für die als Slave eingesetzte “Conner CP2121“
8 ∗ 32 ∗ 0,5 = 128 KByte/Zylinder
Für Partition C: sollte eine Systemspur (mindestens 32 KByte) definiert werden, in der später ein Bootsektor untergebracht werden kann. Bei den meisten Festplatten dürfte eine einzige Spur hierfür mehr als ausreichend sein. Mit den errechneten Werten für die Kapazität eines Zylinders kann man auch berechnen, wieviele Zylinder eine Partition maximal enthalten kann, denn man muß unter 64 MByte bleiben!
Für die ALPS D311C:
max. Zylinder < 64 MByte / 140K = 468,11 | also max. 468 Zylinder |
Für die Conner CP2121:
max. Zylinder < 64 MByte / 128K = 512 | also max. 511 Zylinder |
Diese Werte sollte man zumindest als Richtwert kennen, um die folgenden Einstellungen vorzunehmen. Für jedes logische Festplattenlaufwerk ist in 6 Parametern anzugeben, welche Größe das Laufwerk haben soll. Bisher gab es nur die Option BIG=0 oder BIG=1. Jetzt kann man flexibel die Aufteilung der einzelnen Parameter gestalten.
Für jedes Laufwerk ist anzugeben:
- Laufwerksbuchstabe
- MASTER (0) oder SLAVE (1), bei nur einem Laufwerk MASTER eingeben!
- erste genutzte Spur (Zylinder) dieser Partition
- Anzahl der genutzten Spuren (Zylinder) in dieser Partition
- Anzahl Systemspuren (nur bei C: erforderlich)
- Blockgröße (4 KByte oder 8 KByte)
- Anzahl Verzeichniseinträge (1024, 2048 oder 4096)
Dabei sollte beachtet werden, daß bei einer Blockgröße von 4 KByte max. 2048 Verzeichniseinträge möglich sind und nur bei einer Blockgröße von 8 KByte die maximalen 4096 Verzeichniseinträge erreicht werden können. Die relevanten Zeilen sehen im Beispiel wie folgt aus, zunächst für die Partitionierung der Master-Festplatte:
PART C,0, 0,150,1,4,2048 ; C: mit 150 Spuren ab Spur 0 (20 MB)
PART D,0,150,300,0,8,4096 ; D: mit 300 Spuren ab Spur 150 (41 MB)
PART E,0,450,282,0,8,4096 ; E: mit 282 Spuren ab Spur 450 (38 MB)
und dann noch für die Partitionierung der Slave-Festplatte:
PART F,1, 0,180,1,4,2048 ; F: mit 180 Spuren ab Spur 0 (22 MB)
PART G,1,180,374,0,8,4096 ; G: mit 374 Spuren ab Spur 180 (46 MB)
PART H,1,554,374,0,8,4096 ; H: mit 374 Spuren ab Spur 554 (46 MB)
Die maximalen Zylinderanzahlen wurden eingehalten. Falls hier ein zu großer Wert angegeben wurde, passiert nichts weiter als daß durch einen Arithmetik-Überlauf bei der Assemblierung nur noch der Modulo-Rest über 64 MByte benutzt wird. Zur Kontrolle zeigt der Assemblerlauf aber die Laufwerksgrößen noch einmal an und man kann den Fehler erkennen. Für die Slave-Festplatte habe ich in der ersten Partition F: ebenfalls eine Systemspur angegeben, da ich geplant habe, diese Platte später als Masterplatte einzusetzen und dann dort die Systemspur zum Booten benötige. Bei der Übernahme vorhandener Systeme ist noch wichtig zu wissen, was die bisherigen Angaben BIG=0 und BIG=1 bedeuten.
In der alten Datei OPTION.INC ist das angegeben, hier gab es noch Unterschiede zwischen C: und D:/E:. Wer die alte Datei OPTION.INC nicht mehr findet und auch seine Werte nicht kennt, dem empfehle ich DIMA.COM. Damit bekommt man alle Informationen des aktuell angewählten Laufwerkes angezeigt und kann sich die Werte notieren. Denn nur wenn alle Werte genauso übernommen wurden wie im alten System, kann auf die Dateien fehlerfrei zugegriffen werden!

Bild 5: Clubtreffen 2003: Der Einsatz zweier Festplatten am KC ermöglicht ein bequemes Backup des Inhalts der einen Festplatte auf eine andere. Mit wenigen Kommandos lassen sich große Datenmengen bewegen.
Als letzter Schritt folgt noch die Definition der Diskettenlaufwerke. Hier hat sich nichts geändert. Die Laufwerke A: (RAM-Floppy) und B: (Bootlaufwerk 780K) sind fest vorgegeben und lassen sich nicht ändern. Dann folgen die Festplattenpartitionen entsprechend der Anzahl in HARD. Die restlichen zu erzeugenden Diskettenlaufwerke (entsprechend der Anzahl NDRIVES − 2 − HARD) sind im folgenden Abschnitt zu definieren.
Für jedes Laufwerk sind 5 Parameter anzugeben:
- der Laufwerksbuchstabe
- das physische Format (1...9, entsprechend 160 KByte bis 800 KByte laut Tabelle)
- die Blockgröße (1, 2 oder 4 KByte)
- die Anzahl der Verzeichniseinträge (64, 128 oder 256)
- die Anzahl der Systemspuren
- die verwendete physische Einheit (0...3)
Hier ein paar Beispiele für erprobte Formate:
LAUFW C,7,2,128,2,0 ; C: 624k, Lw 0 (SCP-Format)
LAUFW D,9,2,128,0,0 ; D: 800k, Lw 0 (KC-Datenlaufwerk)
LAUFW E,8,2,128,0,1 ; E: 720k, Lw 1 (DOS-Format)
LAUFW F,9,2,128,2,1 ; F: 780k, Lw 1 (KC-Standard)
LAUFW G,8,4,128,1,1 ; G: 708k, Lw 1 (Vortex)
LAUFW H,9,2,128,2,2 ; H: 780k, Lw 2 (KC-Standard)
LAUFW I,2,1, 64,3,3 ; I: 185k, Lw 3 (Osborne 1 - SSDD)
LAUFW J,2,1, 64,0,3 ; J: 200k, Lw 3 (CP/A-200)
LAUFW K,4,2, 64,2,3 ; K: 342k, Lw 3 (Siemens PG-675)
LAUFW L,8,2,256,2,3 ; L: 702k, Lw 3 (Siemens PG-685)
LAUFW M,9,2,192,0,3 ; M: 800k, Lw 3 (KC mit 192 DIR-Einträgen)
LAUFW N,7,2,128,2,3 ; N: 624k, Lw 3 (KC-Standard)
LAUFW O,9,2,128,2,3 ; O: 780k, Lw 3 (KC-Standard)
LAUFW P,9,2,128,2,3 ; P: 780k, Lw 3 (KC-Standard)
Hinweis: Es werden nur die Parameter der tatsächlich benutzten Laufwerke (entsprechend NDRIVES und HARD) ausgewertet. Die restlichen Definitionen müssen zumindest korrekte Werte enthalten, können aber auch gelöscht werden.
Sind diese Einstellungen vorgenommen, braucht man nur noch ein System zu erzeugen, unter der Verwendung von ASM.COM, LINK131.COM und anschließend SYSGEN.COM. Wer die Syntax nicht weiß, tippt zunächst SYSGEN // ein und bekommt eine Hilfeseite angezeigt. SYSGEN hat jetzt die Versionsnummer 1.3 bekommen, so könnte man auch das damit erzeugte ML-DOS mit der Versionsnummer 1.3 bezeichnen. Am fertigen System läßt sich die Versionsnummer allerdings nicht mehr anzeigen, man bekommt beim Bootvorgang aber das Fertigstellungsdatum, hier der 19.01.2003 angezeigt. Alle erforderlichen Dateien sind in MLDOS13.PMA enthalten.
CF-Card am GIDE-Interface
Mit diesem System ist es auch möglich, CF-Cards als Festplatte zu betreiben. Guido Speer hat berichtet, daß er an dem käuflich erworbenen CF-Card-Adapter Änderungen (fehlende Masseverbindungen) vornehmen mußte. Ich habe inzwischen den gleichen Adapter gekauft und er läuft auch ohne Änderungen als Slave mit gestecktem Jumper 2–3.

Bild 6: Clubtreffen 2003: Der Master-Slave-Betrieb am GIDE-Interface ermöglicht auch den parallelen Einsatz alternativer Speichermedien, wie hier eine CompactFlash-Speicherkarte.
Allerdings habe ich es mit verschiedenen Festplatten als Master ausprobiert und festgestellt daß es nicht mit jeder Platte klappt.
Es funktioniert mit:
- ALPS DR311C
- CAVIAR WDAC 2120
- Conner CP30061
- Seagate ST-157A
- Quantum Fireball ST1.6A
Es funktioniert nicht mit:
- Maxtor 7131 AT
- Conner CP2121
Teilweise gibt es aber auch Probleme zu erkennen, ob eine CF-Card gesteckt ist oder nicht. Die korrekte Erkennung (kein Slave vorhanden) klappt nur mit der ALPS DR311C und der Caviar WDAC 2120. Die Conner CP30061 zeigt Pseudodaten an, die Seagate ST-157A bleibt beim Erkennungstest einfach hängen.
Für eine bessere Funktion wären weitere Tests erforderlich. Vielleicht arbeiten auch nicht alle echten Festplatten korrekt zusammen? Erfahrungen und Problemberichte interessieren mich. Vielleicht kann man ja auch noch etwas an der Erkennungsroutine verbessern.
Also dann viel Erfolg mit ML-DOS 1.3!
GIDETEST – Version 0.9
von Frank Dachselt
Passend zum vorstehenden Beitrag von Mario möchte ich hier eine neue Version des Programms GIDETEST.COM vorstellen. Bisher dürfte innerhalb des KC-Clubs nur die Version 0.4 dieses nützlichen Programms bekannt sein, das damals, ab 1995, zusammen mit den ersten Serien des GIDE-Interfaces von Tilmann Reh verbreitet wurde. Wie von Mario erwähnt, erlaubt diese Version nur den Zugriff auf eine Festplatte (als Single oder Master angeschlossen) und enthält keine Unterstützung des Master-Slave-Betriebs.
Mit der nun vorliegenden Version 0.9 ist unter anderem dieser Mangel beseitigt worden. Das neue GIDE-Testprogramm beherrscht nicht nur die Master-Slave-Umschaltung sondern besitzt auch einige Funktionen zum Zugriff auf ATAPI-Geräte (z.B. CD-ROM-Laufwerke). Diese Erweiterungen stammen von Shawn Sijnstra, der ja für die Entwicklungen rund um das CD-ROM-Laufwerk am GIDE schon bekannt sein dürfte.
Man kann sich das ganze Programmpaket von Gaby Chaudrys bekannter Homepage unter
http://www.gaby.de/gide/index.htm
herunterladen (als Datei GIDEtest09.zip). Allerdings ist die dort enthaltene COM-Datei auf dem KC nicht ohne weiteres lauffähig, da das Turbo-Pascal-Programm “zu hoch“ übersetzt wurde. Bei meiner ML-DOS-Installation mit etwa 50 MByte Festplattenlaufwerken bricht das originale Programm mit einer Fehlermeldung über zu wenig verfügbaren Speicher ab.
Ich habe das Programm deshalb neu compiliert, zur Sicherheit gleich unter dem guten alten MicroDOS. Dort ist nämlich der für Anwenderprogramme nutzbare TPA schon bei etwa C63Ch zu Ende (vor allem wegen des nichtüberschreibbaren CCP), während mein ZSDOS die Speichernutzung bis D842h zuläßt. Damit liegt der TP-Datenbereich jetzt in einem Bereich, der mit Sicherheit auf jedem KC verfügbar ist.
Gegenüber der Originalversion habe ich nur die Titelzeile des Programms um das Compilier-Datum ergänzt, die GIDE-Basisadresse auf 00H voreingestellt, sowie meine Festplattenparameter als Default-Werte eingetragen. Damit entfallen diese Einstellungen beim Programmstart. Die COM-Datei sowie der TP3-Quelltext sind auf der Beilagendiskette im Archiv GIDE09.PMA enthalten.
Nach dem Aufruf von GIDE09.COM erhält man folgendes Menü:
A0>gide09
IDE Harddisk Utility V0.9 SS, Compiled 030426 FD
Originally by Tilman Reh
Ports setup for GIDE at base 00h, master device selected.
Read delay is off, time-outs are on.
Functions:
(0) Initialise drive (5) Read disk randomly
(1) Read drive’s ID data (6) Read/rewrite linear
(2) Execute drive’s selftest (7) Read/rewrite randomly
(3) Random seek test (8) Write/read linear (destructive)
(4) Read disk linear (9) Write/read randomly (destructive)
(t) Toggle device number (c) read CDROM/ATAPI ID data
(i) use ATAPI inquiry (r) read ATAPI CDROM headers
(l) read ATAPI linear (s) ATAPI soft reset
(e) ATAPI start/stop/eject CD (d) read delay toggle
(w) toggle timeout (wait)
(p) Set port address (x) Exit program
Input:
Die Funktionen (0) bis (9) sowie (p) und (x) sind bereits aus der Vorgängerversion bekannt. Die wichtigste neue Funktion ist die Master-Slave-Umschaltung, die durch den Menüpunkt “(t) Toggle Device Number“ erreicht wird. Damit läßt sich der Zugriff der übrigen Funktionen auf das jeweils andere Laufwerk umschalten. Das aktuell ausgewählte Laufwerk wird in den Statuszeilen über dem Menü angezeigt.
Der Zugriff auf die IDE-Laufwerke geschieht dabei unabhängig vom gerade verwendeten Betriebssystem, da GIDETEST direkt auf das GIDE-Interface zugreift. Unter der Voraussetzung, daß beide Festplatten korrekt als Master- und Slave-Laufwerk eingestellt sind, kann man nun eine neue, unbekannte Festplatte als Slave an das GIDE-Interface anschließen und mit dem Menüpunkt “(1) Read drive’s ID data“ die Anzahl der Spuren, Köpfe und Sektoren ermitteln. Außerdem läßt sich auf diese Weise bereits – zumindest ansatzweise – feststellen, ob die neue Festplatte als Slave mit dem bereits vorhandenen Laufwerk zusammenarbeitet. Letzte Gewissheit bringt natürlich erst das entsprechend konfigurierte neue Betriebssystem.

Bild 7: Clubtreffen 2003: Stets viele neugierige Blicke zog dieser eigenwillige, kompakte Aufbau des KC-Systems von Lutz Hartmann auf sich.
Die übrigen neuen Menüpunkte (i), (l), (e), (c), (r) und (s) sind ATAPI-Funktionen, die zum Zugriff auf ein CD-ROM-Laufwerk über das GIDE-Interface vorgesehen sind. Ein paar erste Tests mit einem CD-ROM-Laufwerk als Slave-Gerät habe ich inzwischen auch schon unternommen. Fazit: Einiges funktioniert schon, aber noch längst nicht alles. Die Kommandos (i) und (c) identifizieren mein CD-ROM-Laufwerk korrekt, auch das Software-Reset (s) scheint zu funktionieren. Die eigentlichen Laufwerksfunktionen (l) und (r) liefern aber nur Fehlermeldungen oder zeigen keine erkennbare Reaktion (e).
Möglicherweise liegt die Ursache bei dem von mir verwendeten Laufwerk; ich habe diese Tests nur mit einem einzigen Laufwerk durchgeführt. Im Quelltext von GIDE09 gibt es einige “herauskommentierte“ Programmteile für spezielle Laufwerkstypen. An dieser Stelle sind also noch weitere Experimente notwendig. Ebenfalls unklar ist im Moment noch die Wirkung der Funktionen (w) und (d).
Über den “Zeichensalat“ bei der Slave-Identifizierung während des Bootens des neuen Betriebssystems muß man wohl erst einmal hinwegsehen. Mein KC hat diese Stelle immer schadlos passiert, was bei anderen Laufwerken aber durchaus anders sein könnte. Falls jemand ebenfalls mal ein CD-ROM-Laufwerk an seinem GIDE-Interface ausprobiert, bin ich an Erfahrungsberichten sehr interessiert.
KC85/3 mit CAOS 3.4
von Frank Dachselt und Henrik Haftmann
Kurz vor dem diesjährigen Clubtreffen habe ich einen KC85/3 von Reinhard Gitter für die neue Betriebssystem-Version CAOS 3.4 umgerüstet. Diesen Umbau möchte ich hier vorstellen, da er mir für KC85/3-Besitzer wirklich lohnenswert erscheint. Es folgen zunächst die wichtigsten Informationen zum Umbau, die auch auf der Homepage von Henrik Haftmann zu finden sind:
https://www-user.tu-chemnitz.de/~heha/basteln/8bit/KC85/KC85-3%20mit%20CAOS%203.4/
Was ist CAOS 3.4 ?
CAOS 3.4 ist ein verbessertes, schnelles Betriebssystem für den KC85/2 und /3. Die Bildschirmroutinen erreichen die Geschwindigkeit des Nachfolgetyps KC85/4.
Weitere Extras erleichtern die Bedienung, die Schrift ist lesefreundlicher, und ein Druckertreiber ist bereits eingebaut.
Es gibt eine “interne“ und eine “externe“ sowie eine V24- und eine Centronics-Variante. Die “externe“ Version wird in einem Modulschacht benutzt und ist erst durch einen JUMP-Befehl verfügbar. Alternativ ist der Einsatz in einem Autostart-Modul (Strukturbyte 01h) im Schacht 8 möglich.
Die “interne“ Version wird in den KC durch Wechseln des EPROMs eingebaut. Von Vorteil ist die sofortige Verfügbarkeit sowie der Umstand, dass ein in CAOS 3.1 vorhandener Reset-Fehler (der per “dummer“ Software einen Tasten-RESET zunichte machen kann) nicht mehr auftritt. Außerdem bleibt der Modulschacht frei.
Es gab auch eine Kassetten-Version, aber diese ist meiner Meinung nach zu umständlich.
Kompatibilität
CAOS 3.4 ist, soweit es möglich war, kompatibel zu CAOS 4.3 für den KC85/4. Das heißt, dass insbesondere Bildschirmsteuerfunktionen, die sich zwischen KC85/3 (CAOS 3.1) und KC85/4 (CAOS 4.x) von vornherein unterschieden, zum KC85/4 hin verändert wurden. Damit wird dem Umstand Rechnung getragen, dass neue Software vornehmlich die KC85/4-Eigenschaften benutzt.
Natürlich konnten die hardware-abhängigen Routinen zur Berechnung von Pixel- und Farbadresse nicht geändert werden; sie wurden jedoch beschleunigt.
Auch ist CAOS 3.4 nicht einsprung-kompatibel mit CAOS 3.1, d.h. dass Spiele, die direkt (ohne Unterprogrammverteiler) ins CAOS springen, nicht laufen – aber solche Spiele laufen auch nicht auf dem Vorgängertyp KC85/2. Deshalb ist stets ein Backup des originalen CAOS 3.1 vorgesehen.
Selbstbrenner
In einen 16-KByte-EPROM 27128 wird “unten“ CAOS 3.1 und “oben“ CAOS 3.4 gebrannt. Bei Verwendung eines besser verfügbaren 32-KByte-EPROM 27256 sind von diesem die “oberen“ 16 KByte zu verwenden. Wer nur 8K hat, brennt nur CAOS 3.4, hat dann aber kein Backup.
Wie wird die “interne“ Version installiert?
Voraussetzung hierfür ist ein KC85/3. Der Umbau eines KC85/2 ist einiges komplizierter, aber dafür kommt dann ein “richtiger“ KC85/3 heraus.
Dazu muss der Betriebssystem-ROM des KCs ausgelötet werden. Es ist der mit der Aufschrift “604“; “600“ bedeutet “HC-BASIC“. Wenn man schon beim Auslöten ist, kann man den BASIC-ROM auch noch herausnehmen und so den Computer für eingebautes EDAS usw. vorbereiten. Im Folgenden wird daher vom Austausch beider ICs ausgegangen.
Natürlich setzt man anstelle der ROMs Fassungen ein. Bevor man das tut, entferne man die bestückungsseitigen Brücken zwischen Pin 26 und 27 (CAOS) und Pin 26, Pin 27 und Pin 28 (BASIC) und ersetzt sie danach durch Drahtbrücken auf der Leiterseite.
Soweit gekommen, setzt man die originalen Chips wieder ein (CAOS links) und prüft auf Funktion von CAOS und BASIC.
Man trenne den (undokumentierten und computertechnisch sinnlosen) Leiterzug zwischen UB855D [PIO A4 – NMI] Pin 10 und Widerstandsnetzwerk “3894“ (Pull-Ups in Prozessornähe UB880D) Pin 6 auf und verbinde PIO-Pin 10 mit CAOS-EPROM Pin 26 und ersetze die Drahtbrücke Pin 26 nach Pin 27 (Betriebsspannung) durch einen Widerstand (ca. 4,7 kOhm, Wert unkritisch). Auch danach muss der KC mit dem originalen CAOS laufen. Zweck dieser Leitung ist der Sprung zum CAOS 3.1 im neuen, doppelt so großen EPROM.
Nun folgt der Austausch durch den neuen EPROM, und CAOS 3.4 startet. Zur Rückkehr zum CAOS 3.1 gebe man “JUMP 0“ ein.
Umbau und erste Eindrücke
Nach dieser Anleitung habe ich den Umbau erfolgreich vorgenommen, wobei allerdings nur der CAOS-EPROM ausgetauscht wurde. Den in Henriks Online-Beschreibung enthaltenen Hinweis bezüglich eines Fehlers in der EPROM-Datei kann ich entkräften. Der Inhalt des von mir verwendeten EPROMs ist identisch mit der Datei CAOS34IV.ROM auf Hendriks Homepage und funktioniert fehlerfrei.
Als einzige Abweichung von dem oben Gesagten habe ich am CAOS-EPROM die Leiterbahnen zwischen den Pins 26, 27 und 28 auf der Bestückungsseite auch vollständig aufgetrennt (so wie für den BASIC-EPROM beschrieben) und durch Drahtbrücken auf der Leiterseite ersetzt. Damit hält man sich die Möglichkeit offen, auch die “unteren“ 16 KByte eines 32K-EPROMs mittels eines Umschaltsignals an Pin 27 zu nutzen. In der jetzigen Variante wird also zunächst eine Drahtbrücke zwischen Pin 28 und Pin 27 gelötet und der genannte Pull-Up-Widerstand zwischen Pin 28 und Pin 26 eingesetzt.
Die ersten Vorzüge des neuen CAOS 3.4 fallen sofort nach dem Einschalten des Rechners auf: Bildschirmlöschen und Menüaufbau gehen “blitzschnell“ vonstatten, wie vom KC85/4 gewohnt. Auch der Zeichensatz ist der vom KC85/4 bekannte. Das CAOS-Menü ist um einige neue Menüworte erweitert worden, wie im Bild 8 zu erkennen ist.
Besonders deutlich werden die Unterschiede, wenn man mittels JUMP 0 die ursprüngliche Betriebssystemversion aktiviert, die wie gewohnt (also vor allem viel langsamer) arbeitet. Die bekannten Störungen auf dem Bildschirm bei Zugriffen auf den Bildwiederholspeicher sind dagegen noch immer vorhanden, da sie ihre Ursache leider in der Hardware des KC85/3 haben.

Bild 8: So präsentiert sich das Menü von CAOS 3.4 nach dem Einschalten des umgebauten Rechners.
CAOS 3.4 erkennt und initialisiert beim Einschalten einige Module automatisch. Ein vorhandenes 16K- oder 64K-RAM-Modul wird jeweils so eingeschaltet, daß der RAM4 belegt ist. Ebenso wird das erste gefundene ROM-Modul (Strukturbyte FBh) auf Adresse C000h aktiviert und die enthaltenen Programme erscheinen im CAOS-Menü. Dazu ist der BASIC-ROM im Normalfall abgeschaltet und wird erst von einem im CAOS-EPROM enthaltenen Menüwort aktiviert.
Nach einem Wechsel mit JUMP 0 von CAOS 3.4 zu CAOS 3.1 ist der BASIC-ROM noch immer abgeschaltet und BASIC erscheint deshalb nicht wie gewohnt im CAOS-Menü. An dieser Stelle muß der BASIC-ROM erst mit SWITCH 2 1 zugeschaltet werden.
Geschichte und Dokumentation
Die oben wiedergegebene Beschreibung von Henrik Haftmanns Homepage ist im Moment die einzige verfügbare Dokumentation zu CAOS 3.4. Um noch ein paar weitere Informationen zu dieser Version zu erhalten, habe ich mit Henrik ein kleines Email-Interview geführt:
FD: Bist Du der Autor dieser neuen Systemversion?
HH: Jein. Ausgangspunkt war ein (schon schnelles) CAOS, welches ich bei jemanden “vorgefunden“ hatte (etwa 1990 (?), er lud es stets von Kassette).
Das wurde angeblich von einem Jenaer Programmierer geschrieben, und dieser hatte es zur “Neuerung“ nach Mühlhausen geschickt. Dort aber ignorierte man es, ohne die KC85/3-Produktion umzustellen (war wohl gerade zu Ende) und baute dieses System in etwa beim KC 85/4 ein. Eine Vergütung gab es nicht. So die Geschichte.
Da muss ich wohl tiefer in der Email-Kiste graben, um näheres zu finden, aber der Name des Programmierers war nicht bekannt.
Ich hatte damals schon CAOS 3.1 disassembliert und kommentiert, dazu (auf unzähligen, noch billigen Bahnfahrten) jenes CAOS auf Papier auseinandergenommen und einige Fehler und viele Lücken (= Platz) entdeckt. Auch hatte ich CAOS 4.2 vollständig zerlegt, gemeinsam mit Ronald Sieber aus Zeulenroda. Er hat den KC 1993 (?) aufgegeben.
Inzwischen hatte Mario Leubner aus Markersdorf CAOS 4.1 zerpflückt und es kam ihm sehr zupass, dass ich CAOS 4.2 hatte. Daraufhin machten wir uns an die Unterschiede (4.1 hatte einen Bug), und heraus kam CAOS 4.22. Wegen seiner Floppy-Wünsche (ich hatte und habe keines) hat er dann das Zepter über CAOS 4.x allein in seine Hand genommen.
Dann habe ich mit Ronald das Beste aus dem unbekannten, schnellen CAOS ein möglichst KC85/4-kompatibles CAOS geschneidert (bessere CTAB!), die Kassettenroutinen verändert (mit dem Ausrufezeichen nach vier vergeblichen Leseversuchen, diese Zahl ist nicht einstellbar) und in den freien Platz den überfälligen Druckertreiber untergebracht.
Es gab eine Centronics-Version für mich und eine V24-Version für Ronald. Untergebracht war es für Ronald in einem “OS-RAM“-Modul; für wildfremde Personen habe ich einige Module entsprechend umgebaut (etwa wie auf den letzten Clubtreffen zu sehen), jedes ein Unikat mit anderem Schaltplan, ich kann sie schwer aufzählen.
Später, als jemand einen KC85/2 vorbeibrachte und kein BASIC-Modul zum “Frisieren“ hatte, kam ich auf die Idee, es gleich ins Grundgerät einzubauen – wie sich herausstellte, die beste Lösung.
Leider ist’s jedesmal ein leicht modifiziertes ROM-Image und mein CHAOS ist perfekt: CEN/V24, Einbau/M006/Kassette, macht sechs Images, die ich nicht mehr finde, weil ich leichtfertig Kassetten ausgeborgt habe.
Kurzum, ein Ideenspender unbekannter Herkunft wurde von mir (oder uns) komplett durchgearbeitet und beinahe von Grund auf neu erstellt.
FD: Sind die neuen Menüfunktionen V24, SEND, USER, SEEK irgendwo dokumentiert?
HH: Hm, hm, – nein, oder ich weiß nicht wo. Vielleicht bei Ronald? Er konnte besser Ordnung halten als ich. Ich versuche mal, das (kommentarlose) Assemblerlisting zu verstehen:
V24 <n>
n=2 ... SH+CLR = graf. Hardcopy
n=1 ... SH+CLR = Protokoll
n=0 ... aus
Der Drucker wurde am ersten (oder gerade eingeschalteten) V24, Kanal A, erwartet. B7E1h enthält den Shift-Clear-Aktions-Kode.
SEND <Byte> ...
Bytes zum Drucker senden (z.B. zur Initialisierung)
Bsp: SEND 7 ... Drucker muss piepsen
USER <Ansprungadresse>
Routinenansprung
Bsp: USER E000 ... Reset (Name ist unglücklich...)
USER <Quelle> <Ziel> <Länge>
LDIR-Befehl
SEEK <Anfang> <Ende + 1> <Byte> ...
Suche nach Bytefolge im Speicher
FD: Wenn man von CAOS 3.4 nach CAOS 3.1 wechselt (mit JUMP 0), dann ist der BASIC-ROM abgeschaltet, ...
HH: Genau. Etwas unglücklich (und mögliche Ursache von Inkompatibilitäten) ist die Tatsache, dass das CAOS 3.1 im CAOS-3.4-ROM bei einem Byte nicht kompatibel zum echten CAOS 3.1 ist. Da hilft eine kleine Modifikation und ein Pull-Down- (statt Pull-Up)-Widerstand am PIO-Pin A5.
EPROM-Dateien
Auf der Beilagendiskette befindet sich das Archiv CAOS34.PMA, das folgende Dateien enthält:
CAOS31.KC | 8 KByte | Originalinhalt des KC85/3-PROMs mit CAOS 3.1 (Aufdruck “604“) |
CAOS34IV.KCC | 8 KByte | CAOS 3.4, interne Version |
CAOS3134.KCC | 16 KByte | Kombinierte Variante aus CAOS 3.1 und CAOS 3.4i für 16K- oder 32K-EPROMs |
Alle Dateien sind mit einem CAOS-Vorblock versehen, der die Ladeadresse 4000H enthält. CAOS3134.KCC habe ich aus dem von Henrik Haftmann programmierten EPROM ausgelesen. Der CAOS31-Teil (“unterer“ 8K-Block) ist vollkommen identisch mit dem Inhalt des Original-PROMs. Das steht irgendwie im Widerspruch zur obigen Aussage von Henrik, aber so scheint es (auch) zu funktionieren...
Hardware-News
von Enrico Grämer
GIDE-Interface verfügbar
Im März hat der KC-Club eine neue Serie des GIDE-Interfaces gestartet. Die ersten Bausätze konnten schon zum Treffen in Frankfurt ihren Besitzer wechseln. Da die Stückzahl nach oben aufgerundet wurde, um einen günstigen Preis zu erzielen, gibt es für Interessenten auch jetzt noch die Möglichkeit, ein solches Interface zu erwerben.
Der Preis für einen Bausatz ohne Versandkosten beträgt 38 Euro. Ein Großteil der Serie ist bereits verkauft, wie beim letzten Mal insbesondere an CP/M-Begeisterte aus den USA. Da noch völlig offen ist, ob und wann es mal wieder eine solche Serie geben wird, sollten Interessenten jetzt zugreifen, vielleicht ist es für lange Zeit die letzte Chance.
Kontakt: Enrico Grämer
4-MByte-RAM-Modul in Planung
Da der Bedarf nach Hauptspeicher noch immer groß ist, soll nun endlich die schon lange bestehende Idee des 4-MB-RAM-Moduls verwirklicht werden. Das Modul wird logisch aus vier der bekannten 1-MB-RAM-Module bestehen und die vier aufeinander folgenden Schachtadressen eines Modulsteckplatzes belegen. Damit wird die maximale Speicherkapazität erreicht, die mit dem Modulkonzept des KC85 pro Steckplatz zu verwalten ist. Da sich das Modul logisch wie vier 1-MB-RAM-Module verhält, ist die softwareseitige Einbindung in bestehende Programme (UNIPIC, RAM-Floppy unter CP/M) bereits vorhanden.
Das Modul enthält vier Steckplätze für PC-übliche 1-MB-SIMM-Module und kann wahlweise auch mit einem 4-MB-SIMM-Modul bestückt werden. Wegen der beschränkten Bauhöhe in den KC-Modulgehäusen können nur schräge Fassungen für die SIM-Module verwendet werden, die ihrerseits bereits einen Großteil des zur Verügung stehenden Platzes einnehmen. Die Modullogik wird deshalb platzsparend in einem CPLD XC9572, einem programmierbaren Logikbaustein der Firma Xilinx, untergebracht.
Die Bilder 9 und 10 zeigen den Versuchsaufbau eines solchen 4-MB-RAM-Moduls. Zu erkennen sind auf der linken Seite der CPLD-Baustein und rechts daneben die vier SIMM- Fassungen, von denen eine bestückt ist. Um Platz zum Experimentieren zu haben, ist die Versuchsleiterplatte größer als das Modulgehäuse. Der endgültige Aufbau wird jedoch wie gewohnt in einem Modulgehäuse Platz finden.
Der Preis für ein 4-MB-RAM-Modul ist abhängig von der Anzahl der Bestellungen. Er wird im Bereich 50...70 Euro liegen. Passende SIMM-Module können mitgeliefert werden, sie sind bereits in ausreichender Anzahl vorhanden.
Da es bereits hinreichend viele Interessenten gibt, wird die Serie für das 4-MB-Modul auf jeden Fall gestartet. Spätestens zum nächsten Clubtreffen werden die Module fertig sein. Weitere Interessenten sollten sich deshalb bis zum Jahresende melden, damit die Anzahl der Leiterplatten bestimmt werden kann.
Kontakt: Enrico Grämer

Bild 9: Versuchsaufbau für das 4-MB-Modul

Bild 10: Versuchslayout für das 4-MB-Modul
Neuauflage des M021
In letzter Zeit erreichten mich vereinzelte Anfragen, ob man denn nicht das M021 Joystick/Centronics nachbauen könnte. Man kann! Zuvor muss ich aber wissen, ob und wieviele Leute daran überhaupt Interesse haben. Der Aufwand lohnt sich nur ab einer bestimmten Stückzahl, 10 sollten es mindestens sein. Wer Interesse hat, sollte sich also unbedingt bei mir melden. Wie immer kann ich einen genauen Preis erst nennen, wenn die endgültige Stückzahl feststeht.
So soll der neue Bausatz aussehen: Er enthält die für das M021 üblichen fünf ICs (PIO und Logik-Schaltkreise) mit Fassungen. Folgendes wurde geändert:
- Alle Ein- und Ausgänge haben eine Schutzbeschaltung (wie beim M001) bestehend aus je zwei Dioden und einem Widerstand.
- Alle Leiterbahnen für die Stromversorgung sind stärker ausgeführt.
- Der +5-Volt-Anschluss für den Joystick ist extra abgesichert.
- Es gibt ein möglichst großes Lochrasterfeld für Erweiterungen mit herangeführten Masse- und +5-Volt-Anschlüssen.
- Die nicht benötigten Anschlüsse AB2, /WR, ARDY, BRDY und die freien Gatter von U5 haben Lötpunkte.
Der Entwurf für das Leiterplattenlayout des neuen M021 ist inzwischen fertig (siehe Bild 11). Wenn es keine Änderungswünsche mehr gibt und keine Fehler auftauchen, könnte er bereits so bleiben. Einen Probeaufbau werde ich aber erst machen, wenn die Mindestanzahl für die Bestellungen zusammengekommen ist.
Das Layout ist relativ grob ausgeführt, da ich eigentlich vorhatte, die Platinen bei GS-Elektronik anfertigen zu lassen. Die können keinen Lötstopplack auf die Platine aufbringen und man muss das Durchkontaktieren per Hand mittels Drahtstücken vornehmen. Die Platinen sind aber trotzdem gebohrt und verzinnt.
Der Preis für so eine Platine ist nur für einzelne im Modulformat akzeptabel (ca. 35 EUR), ab 10 Stück sind sie dagegen wieder viel teurer als PCB-Pool, da es keinen Rabatt gibt. Bei 10 Stück wird der Bausatz ca. 40...50 Euro kosten. Wenn ich die Platinen bei einer anderen Firma anfertigen lasse, könnte es noch ein paar Euro billiger werden.
Kontakt: Enrico Grämer


Bild 11: Leiterplattenentwurf für das neue M021 (oben: Leiterseite, unten: Bestückungsseite)

Bild 12: Schaltplan des neuen M021
Nachtrag zum D004-Umbau
In Ergänzung des Beitrags aus den KC-News 1/2003 zum Umbau der Floppy-PLL im D004 folgt hier noch ein Foto (siehe Bild 13) von der endgültigen FDC-Anpassung. Außerdem sollten die beiden nicht mehr benötigten Spindeltrimmer R727 und R728 ausgebaut werden. Dann stören diese auch nicht mehr am neuen GIDE.

Bild 13: Endgültige FDC-Anpassung
Tipps und Tricks fürs Löten
von Enrico Grämer
Jeder wird sicherlich die Artikel zum GIDE oder Scanner-Modul gelesen und festgestellt haben, dass diese als Bausatz verteilt wurden. Irgendetwas findet sich immer wieder, was am KC noch fehlt. Nach Möglichkeit möchte ich es auch so beibehalten, dass solche Hardware-Erweiterungen als Bausatz verteilt werden. Vereinzelt sagte man mir: ”Ich habe noch nie einen Lötkolben in der Hand gehabt, kannst Du nicht mal...“ oder ”Mit dem Löten habe ich es nicht so.“ Dieser Text soll sich nun an die Mitglieder wenden, um ihnen die “Angst“ davor zu nehmen. Es ist eigentlich gar nicht so schwer, wenn man ein paar Dinge beachtet. Und Übung macht ja bekanntlich den Meister (Ausnahmen bestätigen die Regel).
Fangen wir beim wichtigsten an – dem Werkzeug: Wer vor hat, häufig zum Lötkolben zu greifen, dem kann ich wärmstens eine temperaturgeregelte Lötstation von ERSA empfehlen. Die sind allerdings auch sauteuer. Es gibt da auch das Billigzeug, in der Werbung als “elektronisch geregelt“ beschrieben. Diese sind aber nur zeitlich geregelt, wodurch die Temperatur beim Löten rapide herrunter geht. Die taugen also bestenfalls nur zum “Kleben“, nicht aber zum Löten. Da sollte man tunlichst die Finger von lassen.
Für den Gelegenheitsgriff zum Lötkolben tut es auch ein normaler 230V-Lötkolben mit ca. 25...30 W mit einer Dauerlötspitze. Den alten DDR-Kolben sollte man wegschmeißen, die Spitzen heißen da nur so, verzundern aber trotzdem innerhalb kürzester Zeit.
Ich kann hier wiederum einen ERSA-Kolben empfehlen, z.B. den Multitip mit 25 W und innenbeheizter Spitze. Die passenden Spitzen benötigt man dann auch noch. Diese sind zwar nicht gerade billig, halten dafür aber ewig. Ich habe meine schon Jahre in Betrieb, und immer noch keine Abnutzungserscheinungen. Man benötigt für Standard-Lötarbeiten eine normale Spitze mit ca. 1 mm Durchmesser. Bei SMD-Bauteilen bzw. wenn man eine nicht durchkontaktierte Platine hat, empfiehlt sich eine “Haarnadel-Spitze“. Dadurch lassen sich sehr viele Kurzschlüsse durch Lötzinn vermeiden. Für größer-flächiges Löten sollte man eine Meißel-Spitze mit ca. 2...3 mm Breite verwenden. Das wäre z.B. bei den Befestigungsmessern an SUB-D-Steckern der Fall.
Ohne das richtige Lötzinn geht natürlich auch nix. Da muss man Elektronik-Zinn mit der Zusammensetzung Pb60Zn38Cu2 verwenden. Radiolot geht da nicht. Die besten Ergebnisse erreicht man mit Zinn mit einem Durchmesser von 0,5 mm. Dickeres Lötzinn (bis 1 mm) geht auch, aber das läßt sich nicht so gut dosieren und die Lötstellen glänzen nicht so schön.
Nun fehlt noch ein Satz Elektroniker-Zangen, Seitenschneider etc. Die kann man, wenn man Glück hat, bereits für 10 EUR im Baumarkt um die Ecke bekommen. Den Seitenschneider sollte man auf jeden Fall gleich vor Ort testen. Kneift man den Draht von einem Bauteil, z.B. Widerstand, ab und er fliegt weg, ist der Seitenschneider scharf und man kann ihn mitnehmen.
Nun kann es losgehen. Noch nicht ganz: Wer eine zittrige Hand hat, dem kann ich ein Köstritzer Schwarzbier empfehlen ;–)
Die Drahtenden der Bauteile, Widerstände, Kondensatoren etc. steckt man üblicherweise durch die Platine hindurch und biegt die Enden etwas nach außen. Vor dem Löten werden die Drahtenden bis auf ca. 2 mm abgeschnitten. Mit dem heißen Lötkolben erwärmt man gleichzeitig das Drahtende des Bauteils und das Lötauge der Platine. Nach etwa 2...3 Sekunden wird dann erst das Zinn dazu gegeben. Fertig! Pusten sollte man aber nicht, denn dann kühlt das Zinn zu schnell ab und es kann sich eine kalte Lötstelle bilden.
Noch etwas zum Thema nicht duchkontaktierte Platinen: Als erstes muss man die Durchkontaktierungen reinlöten. Am besten mit den abgeschnittenen Drahtenden von Bauteilen oder versilbertem Draht (gibt’s bei Conrad). Weniger geeignet ist blanker Kupferdraht. Liegt dieser schon etwas länger rum, so korrodiert die Oberfläche (das Kupfer ist nicht mehr blank) und der Draht nimmt das Zinn nicht mehr so gut an.
Zwischen den einzubauenden Bauteilen und der Platinenoberseite läßt man etwas mehr Platz, um dort besser heran zu kommen. Besonders wichtig ist das bei IC-Fassungen, deren Anschlüsse man nur geringfügig auf der Lötseite herausgucken läßt. Mit einer Haarnadelspitze für den Lötkolben kann man besonders gut Kurzschlüsse auf der Bestückungsseite zwischen den Anschlüssen der Fassung vermeiden.
Wer vorhaben sollte, selbst Platinen zu entwickeln, dem kann ich EdWin NC (http://www.westest.de) empfehlen. Das Programm gibt es leider nur für Windows, aber der Funktionsumfang ist genau so wenig eingeschränkt, wie bei wesentlich teureren Programmen.
Dann muss man die Platinen auch noch selber ätzen, entwickeln, etc. Oder man läßt sie sich anfertigen. Die Platinen für das Scannermodul und das GIDE habe ich bei PCB-Pool (http://www.pcb-pool.de) anfertigen lassen. Die haben übrigens auch die Möglichkeit, 4-Lagen-Multilayer-Platinen anzufertigen. Es werden Dateien von Layout-Programmen und Gerber-Dateien akzeptiert. Wesentlich billiger wird es bei GS-Elektronik (http://www.gsel.com/). Dafür sind die Platinen aber auch nicht ganz so hochwertig und es können keine durchkontaktierten Platinen hergestellt werden.
Zur Anfertigung werden EPS- und TIF-Dateien akzeptiert.
KC85-Neubauprojekt
von Mario Bock
Meines Wissens nach, wurden vom KC85/4 etwa 50.000 Stück gefertigt. Dazu kommen noch einige KC85/3. Es ist schwierig eine Schätzung abzugeben, aber ich denke, dass gegenwärtig noch etwa zwei- bis dreitausend Geräte – funktionsfähig oder defekt – vorhanden sind. Dazu kommen noch diverse Erweiterungsgeräte. Zum jetzigen Zeitpunkt ist es wichtig, ein erkennbares Signal zu geben, damit nicht noch mehr Geräte beim Sperrmüll landen, denn Gehäuse können wir nicht preiswert fertigen lassen. Als eine Zielgruppe für das Neubauprojekt sehe die zahlreichen Elektroniker, die den KC als Bausatz erwerben könnten. Der KC85 ist gewiss der einzige Kleincomputer, der gänzlich aus Standardbauelementen besteht.
Als Vorlage für mein Projekt, habe ich originale Schaltpläne des VEB Mikroelektronik Mühlhausen im A1-Format vom 18.08.88 verwendet. Die originalen Schaltpläne wurden damals zwar geplottet, während der Eingabe und Übernahme der Zeichendaten sind wohl diverse Fehler aufgetreten. So stimmen im Originalplan häufig Signalnamen und Signalnummer nicht überein, oder die Schaltkreisgatter sind falsch bezeichnet, oder fehlen ganz. Möglich ist natürlich auch, dass die Pläne absichtlich verändert wurden, aus welchen Gründen auch immer.
Heutige Programme prüfen die Konsistenz von Schaltplan und Board. Ich möchte damit zum Ausdruck bringen, dass der Originalplan eine ganze Reihe von verschiedenartigen Fehlern zeigt, die im Projektverlauf korrigiert wurden.
Die beiden Schaltkreise MH74S287 sind jeweils am Ausgang über ein Widerstandsnetzwerk mit 5 Volt verbunden. Da die Widerstände nur benötigt werden, wenn PROMs mit offenem Kollektor zum Einsatz kommen, werden die Widerstände eigentlich nicht benötigt. Einige KCs wurden dann später ohne Widerstandsnetzwerk ausgeliefert.
Sobald der Schaltplan durch den erfolgreichen Nachbau bestätigt wurde, werden weitere Text und Zeichenelemente hinzugefügt, die dem Service dienen.
Der Nachbau des KC 85/4, bezieht sich ausschließlich auf die Haupt- und Videoplatine. Das erste KC-Board von Majoosoft mit dem Namen “Optima V1“ stellt nur eine Optimierung des Board-Design unter Berücksichtigung moderner verfügbarer Schaltkreise dar. Im Einzelnen bedeutet das:
- Der Bustreiber DS8286 wird ersetzt durch einen der 74-er Serie.
- Die vorhandenen Freilandleitungen (Layout unten) werden beseitigt.
- Alle Schaltkreise werden gesockelt ausgeführt.
- Die Platine wird in der heute bestmöglichen Qualität gefertigt.
Das “Optima V1“ ist nicht für eine Mehrfachfertigung vorgesehen. Es stellt lediglich die funktionierende Basis für eine Weiterentwicklung dar, und hat daher zwei Aufgaben:
- Es ist ein Signal an alle Hardwareanbieter:
Wer heute Hardware für den KC entwickelt, stellt sich die Frage, ob sein Produkt künftig überhaupt zur Anwendung gebracht werden kann. Also ob es Nutzer und damit Käufer gibt. - Das Board “Optima V1“ stellt die Basis für die künftige Entwicklung dar:
Für die Weiterentwicklung des KC85 suche ich kompetente Partner, die bereits mit dem System vertraut sind, auf den Seiten des KC-Clubs habe ich den Eindruck gewonnen, dass es im Club eine nicht geringe Zahl von kompetenten Hardware- und Softwareentwicklern gibt, die möglicherweise Interesse auch für eine Weiterentwicklung des Grundgerätes haben könnten.
Im Einzelfall ist eine Fertigung der beiden Platinen auf Wunsch zwar möglich aber auf Grund des fehlenden Mehrwertes gegenüber einem E-Bay KC85 für den Interessenten zu kostspielig.
Folgende Änderungen im KC-System strebe ich an:
- Anschluss einer Standard-PC-USB-Tastatur, der Signaleingang erfolgt weiter über D015, Pin 9. Der Anschluss erfolgt auf der Rückseite des Gerätes.
- Der symmetrische DIN-Anschluss wird durch einen unsymmetrischen Chinch-Anschluss ersetzt. Der Anschluss befindet sich ebenfalls auf der Rückseite des Gerätes.
- Die Gerätevorderseite wird mit zusätzlichen LED Kontrollelementen für IRM, 3 mal RAM, ROM, BASIC, TAPE, BILD0, BILD1 usw. versehen.
- Vorgesehen ist ein VGA-Anschluss. Um Platz auf der Videoplatine zu erhalten, entfällt der HF-Modulator.
- Gegenwärtig wird die Z80-Familie bereits mit 20 MHz angeboten. Man könnte über eine Taktanhebung nachdenken, die allerdings sehr aufwendig ist und tiefere Einblicke in das Betriebssystem voraussetzt.
- Die Funktionsweise der beiden PROMS D005 und D202 sind mir zu diesem Zeitpunkt nicht klar; dazu müssen die beiden Inhalte ausgelesen werden. Sollten die PROMS aber als Tor fungieren, also nur einen der vier Ausgänge für eine bestimmte Adresse aktiv schalten, ist der Einsatz mehrerer Standard-TTL-Logik-Gatter zu überlegen, da PROMS altersabhängig ihren Inhalt verlieren und schwer beschaffbar sind. Hier meine Frage an den KC-Club: Besteht die Möglichkeit, den PROM 74S287 auszulesen bzw. zu beschreiben?
- Entsprechend den Schaltplanunterlagen gehe ich davon aus, dass die Farbwerte auf der Videoplatine durch feste Widerstände für RGB erzeugt werden. Gestaltet man hier digital veränderliche Widerstände und nutzt Farbtabellen, könnte der künftige KC frei definierbare Farben geringer Anzahl zur Verfügung stellen. Ich habe hier gegenwärtig wenig Zeit investiert, es ist gut möglich, dass es sich um einen fehlerhaften Gedankengang handelt.
- Die Integration einer Festplatte wäre denkbar, ähnlich dem KC-Club-Projekt, der Controller sollte aber nach Möglichkeit seriell sein, da die Tage der parallelen Festplatten gezählt sind. Da sehe ich für mich keine Realisierungschance, vielleicht besteht dazu im KC-Club die Möglichkeit.
- Integration der Echtzeituhr (entsprechend KC-Club)
- Das Board kann sowohl in das Gehäuse des KC85/3, als auch /4 eingebaut werden. Es wird eine neue Frontblende angeboten.
Für weitere Vorschläge bin ich jederzeit offen. Sollte die Clubgemeinschaft Interesse an einer Zusammenarbeit haben, würde ich gern am nächsten Clubtreffen als Gast teilnehmen.
Die fertigen Schaltplanunterlagen zur Prototyp KC-85 Optima V1 stelle ich allen interessierten Mitgliedern gern zur Verfügung1.
Kontakt: Mario Bock – Majoosoft

Bild 14: Optima V1 vom 05.12.2003
1Anm. d. Redak.: Die Schaltungsunterlagen in elektronischer Form (etwa 1,6 MByte) können entweder direkt von Mario Bock oder von der KC-News-Redaktion bezogen werden.