Wie im Thread cbmSCSIcopy64 bereits angedeutet arbeite ich an der Umsetzung von der BASIC-Version in ein GEOS-Programm. Damit das thematisch richtig einsortiert wird hab ich das jetzt aus dem anderen Thread ausgelagert.
Die ersten Screenshots hatte ich im anderen Thread ja schon gezeigt... und heute hab ich die ersten Partitionen unter GEOS kopiert
Das Programm ist erstaunlich kompakt geblieben, liegt daran das GEOS selbst schon einige Routinen zur Verfügung stellt, die ich in der BASIC-Version erst erstellen musste: geoSCSIcopy64 ist etwa nur halb so groß, inkl. GEOS128/80Zeichen-Menü wie das BASIC-Programm.
Das Register-Menü benötigt zwar auch Speicherplatz, trotzdem kann ich alle Partitionen für Quelle+Ziel im Speicher halten. Viel Platz für weitere Funktionen ist daher nicht mehr, da die Partitionstabelle für Quelle/Ziel schon fast 40% des GEOS/AppRam belegt. Das einlesen der Partitionstabelle für jedes Laufwerk braucht auch nur ca.5sec., geht deutlich schneller als in BASIC
Die Verzeichnis-Anzeige hab ich einfacherweise mit der Dateiauswahl realisiert. Reicht ja um sich den Inhalt anzeigen zu lassen, auch wenn die Dateiauswahlbox verhältnismäßig "Groß" ist. Das einlesen geht auch recht flott, 255 Datei (das maximum) in knapp 5sec. auch ohne TC64.
Das SCSI-Gerät wechselt man mit einem Klick auf die Laufwerksangaben. Dabei werden die Laufwerke der Reihe durchgewechselt. Ich hab zwischendurch überlegt eine Auswahlliste einzubauen, aber da nur wenige 4 oder mehr Geräte am Kabel haben, lasse ich es beim durchwechseln.
Man kann damit auch Partitionen innerhalb des gleichen Laufwerks kopieren (aber logischerweise nicht zwischen SCSI-Geräten an verschiedenen CMD-HDs). Von der HD auf das ZIP dauert eine Kopie einer 81-Partition rund 32sek.
Die Partition kann man aus der Liste wählen oder per Nummer direkt eingeben.
Das kopieren von kleinen auf große Native-Partitionen wird auch unterstützt. Die Größe wird angepasst, ein VALIDATE nach dem kopieren wird aber trotzdem empfohlen.
Jetzt gilt es das ganze weiter zu testen, den Code noch etwas zu optimieren/aufzuräumen und noch ein paar Extras einzubauen (z.B. Laufwerke tauschen, CMD-HD wechseln, ggf. Fortschrittsanzeige). Aktuell wird auch nur eine unter GEOS angemeldete CMD-HD unterstützt.
Anbei ein paar weitere ScreenShots. Die Bilder der 64er-Version stammen vom Test-C64. Unter VICE128 kann ich nur die UI testen. Ich hoffe mal der Rest funktioniert. War ja bei geoHDscsi64 ähnlich...
Also... es tut sich was
Schönes Rest-Wochenende!