###   Projekte und Informationen rund um den KC85   ### 

Ich möchte hier zu aktualisierten Systemprogrammen für die CP/M-Betriebsart des KC85 informieren:

  • KC-Commander 2.1
  • USB-Tools 1.8
  • SYSGEN 2.4
  • ZAS 1.7

Die beschriebenen Programme können im Downloadbereich CP/M bzw. den Unterkategorien "ML-DOS" und "Treiber" heruntergeladen werden.


KC Commander 2.1

Bisher gab es nur eine Beta-Version 2.0 zum Download. Es wurden noch einige Korrekturen und Erweiterungen vorgenommen, sodass ich jetzt den Beta-Status beenden konnte.

Eine ausführliche Beschreibung ist als Hilfedatei NC21.HLP im Archiv enthalten.

Bitte beachten, dass das Overlay NC2OVL.LBR im Auslieferzustand im Laufwerk A0: gesucht wird. Soll NC2.COM sein Overlay auf Diskette (Laufwerk B0) oder Festplatte (Laufwerk C0) finden, dann muss NC2 um-konfiguriert werden. Dazu benötigt ihr das Programm ZCNFG.COM und die Datei NC21.CFG, welches sich im Lieferumfang befindet.
Das Kommando zum Konfigurieren ist:

A>ZCNFG NC2.COM

Eingestellt werden kann aber auch noch etwas mehr. Viel Spaß beim Ausprobieren.


USB-Tools 1.8

Neu hinzugekommen sind in der Version 1.8 die Programme UBACKUP.COM, URESTORE.COM und URUN.COM sowie die Unterstützung des schnellen USB-Empfangs mit Treiber USB18.DRV.

UBACKUP sichert eine komplette Diskette als Image-Datei auf dem USB-Stick.

URESTORE ermöglicht das Zurücklesen eines solchen Images von USB-Stick auf Diskette.

Die Images sind dabei einfache Abbilddateien ohne zusätzliche Informationen zum Diskettenformat. Standard-Dateityp ist *.IMG, es kann aber auch jeder andere Dateityp angegeben werden. Diese Image-Dateien können auch direkt am JKCEMU eingehängt werden oder in ein anderes Format konvertiert werden. Die Idee zu diesen beiden Programmen hatte übrigens Volker Pohlers.

URUN ermöglicht das Ausführen einer COM-Datei direkt vom USB-Stick, ohne die Datei erst in ein Laufwerk abzuspeichern. URUN liest die COM-Datei direkt in den TPA ein, also unmittelbar nach dem Programmcode von URUN. Anschließend wird der Programmcode nach 100h verschoben und dort gestartet. Dazu einfach das "URUN" dem eigentlichen Kommando voranstellen. Also z.B. A0>URUN POWER, um POWER.COM vom USB-Stick zu starten. Die Idee zu diesem Programm stammt von Rolf Weidlich.

Für Nicht-KC85-Nutzer gibt es auch eine Erleichterung: Die Programme müssen nicht mehr mit den Quelltexten selbst neu übersetzt werden. Es wird automatisch erkannt, ob ein KC85-System vorliegt oder nicht. Falls nicht, dann wird die konfigurierte Portadresse benutzt. Die Portadresse und die Taktfrequenz kann nun mit ZCNFG für jedes Programm einzeln eingestellt werden. Der Aufruf lautet zum Beispiel:

A>ZCNFG USB.COM

Alles andere dann menügesteuert.


SYSGEN.COM 2.4

Neu in der Version 2.4 ist die erweiterte Anzeige der Laufwerksparameter nach dem Einlesen der SYS-Datei. Direkt nach dem Einlesen der SYS-Datei erhält man eine Übersicht der installierten Laufwerke. Dabei werden jetzt zusätzlich die Anzahl der Verzeichniseinträge und die Blockgröße aufgelistet.

Seit der Version 2.3 wird das Modul M049 (512K ROM) zusätzlich zum M048 (256K ROM) als Bestandteil eines EPROM-Floppy eingebunden. Falls das nicht gewünscht ist, kann das auch unter Punkt 5 (RAM-Floppy) abgeschaltet werden. Eine Beschreibung, wie man solch einen EPROM erzeugt, findet ihr übrigens im Downloadbereich unter "Handbücher"

Version 2.2 erhielt einen neuen Bootlader für die Diskettenlaufwerke, welcher nun auch für 1,44MB-Disketten geeignet ist. Falls ein 2MB-RAM-Floppy in der D008 installiert ist, erfolgt beim Booten nun ein kurzer (zerstörungsfreier) Speichertest. Angezeigt wird die vorgefundene Kapazität des Laufwerks.

Version 2.1 erkennt erstmals sicher, ob es auf einem D004, D008 V1 oder D008 V2 läuft. Damit sind für die verschiedenen Geräte keine eigenständigen SYSGEN-Versionen mehr erforderlich

Version 2.0 wurde an die zusätzlichen Möglichkeiten der D008 angepasst: 2MB RAM-Floppy, unterschiedliche RTC, Bootlader für DD- und HD-Formate (5*1024 DD / 11*1024 HD / 9*512 DD / 18*512 HD)


ZAS 1.7

ZAS ist der Terminaltreiber, welcher im Grundgerät des KC85-Systems läuft, während im D004/D008 das CP/M läuft. ZAS steuert also die Bildschirmausgabe, Tastatureingabe, Zugriff auf das RAM-Floppy, Drucker usw.
Es gibt aber auch noch die sogenannte "Zusatzeingabe" und "Zusatzausgabe", welche im CP/M zum Beispiel für Lochstreifenleser und -stanzer benutzt wurden.
Im KC-System können diese beiden Ein/Ausgaben mit einem Koppeltreiber auch für eine Rechnerkopplung genutzt werden.

Für jeden der Ein- und Ausgabekanäle existiert zum Datenaustausch im Koppel-RAM ein 32-Byte-Puffer. Darüber tauschen die beiden CPUs im Grundgerät und der D004/D008 ihre Daten aus. Die sendende CPU muss dabei nicht warten bis die empfangende CPU ein Datenbyte abgeholt hat, sondern erst wenn der 32-Byte-Puffer gefüllt ist. Das passiert praktisch fast nie, sodass die CPU nach dem eintragen der Sendedaten bereits mit der nächsten Aufgabe weiter machen kann.

Leider war bisher beim Senden der Daten von der Zusatzeingabe der 32-Byte-Puffer nicht aktiv. Die CPU im D004/D008 musste ein Byte anfordern. Die CPU im Grundgerät das Byte bereitstellen und immer einer auf den anderen warten.

Wozu diese ganze Vorrede?

Die Zusatzein- und -ausgabe nutze ich auch für Übertragung vom und zum USB-Stick. Und das bremste das Lesen von USB stark ein! Mit UGET.COM oder USB.COM war das noch erträglich. Beim neuen URESTORE.COM wurde es jedoch unerträglich. Deshalb habe ich in ZAS 1.7 eine Möglichkeit geschaffen, dass der USB-Treiber per Interrupt seine Daten direkt in den Puffer schreiben kann. Wenn die CPU im D004/D008 dann die Daten abholen will, sind diese nur noch aus dem Puffer zu entnehmen. Das brachte fast eine Verdopplung der Lesegeschwindigkeit!

ZAS 1.7 fragt nun beim Koppeltreiber das CY-Flag ab. Ist dieses CY=1, dann werden von ZAS keine Daten in den Koppel-Puffer geschrieben. Bei CY=0 übernimmt ZAS das Eintragen in den Koppel-Puffer. Alle mir bekannten Koppeltreiber kommen mit CY=0 zurück, sodass diese Treiber weiterhin unverändert lauffähig sind. Der neue USB-Treiber 1.8 blockiert den Aufruf von ZAS durch CY=1 und schreibt dafür seine Daten selbst in den Koppel-Puffer.

WICHTIG: Der USB-Treiber 1.8 benötigt ZAS 1.7, ansonsten lässt er sich nicht aktivieren. Und wenn ihr ZAS 1.7 geladen habt, funktionieren die USB-Tools bis Version 1.7 sowie der NC bis Version 2.0 nicht mehr!

Also falls ihr auf die höhere USB-Geschwindigkeit umsteigen wollt, müsst ihr ZAS 1.7 installieren und den USB-Treiber 1.8. Die USB-Tools 1.8 und NC 2.1 unterstützen sowohl die alte als auch die neue Treiber-Version.