*** ACHTUNG ***
Ältere Versionen von 1581-Copy (0.4, 0.41
... 0.49, 0.50, 0.51 und 0.52) weisen einen kritischen
Fehler auf, bitte benutzen Sie diese nicht
mehr. Entfernen Sie gegebenenfalls alle älteren Versionen von 1581-Copy
von Ihren Webseiten und/oder FTP-Servern.
*** ACHTUNG ***
Ein Tool für C64-Freaks. Es eignet sich für Commodore
Anwender und CBM 1581 Diskettenlaufwerksbesitzer zum Datenaustausch zwischen
der Commodore- und der IBM-PC-Welt. Dieses Kopierprogramm ermöglicht
das Kopieren von und auf CBM-1581-kompatible Disketten in einem Standard-PC
Floppylaufwerk und einem NEC µPD765 kompatiblen Floppy Disc Controller
(FDC). Allerdings kann dieses Tool nicht dateiweise kopieren, es kann lediglich
komplette Disketteninhalte zwischen einer Imagedatei (Abbild aller Diskettensektoren)
und der physikalischen Diskette im PC-Laufwerk übertragen. Die Manipulation
einzelner Dateien kann jedoch in einem weiteren Schritt mit anderen Tools
vorgenommen werden, wie zum Beispiel:
Der komplette Sourcecode dieses Tools ist enthalten, für alle,
die schon immer einmal wissen wollten, wie man den PC-Floppy-Disc-Controller
direkt auf Hardwareebene programmiert. Für tiefere Einblicke allgemeinerer
Art empfehle ich jedoch die von mir verwendeten Quellen von Ciriaco
García de Celis :
Die Entwicklung des 1581-Disk-Kopieres dient eigentlich nur dem
Zweck einer Design- und Machbarkeitsstudie, denn nach Fertigstellung und
Test aller geplanten Funktionen soll die Implementation in Joe
Forster/STA's Star Commander übernommen
werden, um eine direkte Dateimanipulation von CBM 1581 Disketten zu ermöglichen.
Ein einfaches Utility, mit dem man ermitteln kann, welche Parallelportypen
an welchen Portadressen installiert sind. Es werden die LPT-Porttypen SPP
(der IBM Standard-Parallelport), PS/2 (bidirektionaler IBM-LPT-Port), EPP
und ECP erkannt. Über einen speziellen Schalter ist dieses Tool in
der Lage, die BIOS-Zuordnung von LPT-Portnummer und Portadresse neu zu
erstellen (Aufruf via AUTOEXEC.BAT). Dies ist bei manchen PS/2 Porttypen
erforderlich, wenn diese vom BIOS nicht erkannt werden.
Alle Sourcecodes sind enthalten, das Tool eignet sich also auch zur
Veranschaulichung von Zugriffen auf den Parallelport.
Ein kleines Utility für Leute aus dem Commodore C64-Umfeld,
die Joe Forster/STA's Star
Commander zum Übertragen von Dateien von Original-CBM-1541-Disketten
auf PC's und umgekehrt benutzen. Es soll helfen, die komplexe Konfiguration
zu erleichtern, da es bei angeschlossener und betriebsbereiter CBM-Floppy
in der Lage ist, den verwendeten Kabeltyp
zu ermitteln und alle zu konfigurierenden Daten ausgibt (benutzter LPT-Port,
Funktion der benutzten Kabel).
Ein kleines Upgrade der Version 0.17 mit hinzugefügter
Unterstützung für die Kabeltypen XM1541 und XA1541. Weil DOS
und Werkzeuge für DOS kaum mehr benutzt werden, ist diese Version
gegenüber Version 0.17 vergleisweise wenig ausgetestet.
Achtung!!! Der AVL-Baum (bis einschl. Version
0.97) hat einen Fehler, wenn man Knoten wieder einfügt, die
zuvor aus anderen Gründen entnommen wurden. Der Balance-Faktor wird
in der add-Methode nicht initialisiert. Die neue Version mit dem Fix ist
derzeit noch in Arbeit. Fürs erste sollte der folgende Snapshot ausreichen,
der den Fix und einige neue Tests beinhaltet:
PathAVLTree, Version 0.98.04,
2000-03-07
Ein AVL-Baum, der nicht rekursiv sondern iterativ implementiert worden
ist. Die Löschen-Methode benutzt intern einen Stapel, jedoch konnte
bei der Einfüge-Methode die Rekursion vollständig beseitigt werden.
Das Design beruht auf Algorithmen, die im Magazin c't, Ausgabe 1/92, Seite
174 ff. beschrieben worden sind. Der Sourcecode wurde jedoch an C++ angepaßt,
weiterhin wurde ausführlicher Gebrauch von Templates gemacht und erste
Ansätze für ein Iteratorkonzept geschaffen. Besonderes Interesse
galt der Laufzeit- und Speicherplatzoptimierung (Speicher pro Knoten);
aus diesem Grund wurde auf virtuelle Methoden verzichtet (die dann nötigen
Typkonvertierungen finden in einer Template-Wrapper-Klasse statt). Die
Schnittstelle der AVL-Tree-Klasse wurde bewußt auf niedrigster Stufe
gehalten, um größtmögliche Flexibilität zu gewährleisten,
der Benutzer muß Knoten also selbst erzeugen und löschen, da
der Baum die Knoten nur verwaltet. Eine auf Schlüsselwerte bezogene
Schnittstelle ließe sich jedoch durch weitere Vererbung implementieren.