Moin Moin,
Die ßeta6 steht nun bereit - was wurde in der ßeta 6 umgesetzt?
- Das Modul Laufwerkserkennung wurde aufgebohrt, es erkennt nun auch das 1571 fehlerfrei.
Ebenfalls wurde die Erkennungsmethode auf ein Modul reduziert, denn beim Laufwerkswechsel wurde bisher ein eigenes Scan Modul aus 2017 verwendet. Nun gibt es nur noch ein Modul um die erkannte Laufwerksbezeichnung zu ermitteln. Darüber hinaus gibt es nun die Option die Erkennung erneut aus zu führen. Dabei sammelt DiskFix in zwei Durchgängen (A) und (B) die erkannten Werte. Vor der zweiten Erkennung (B) wird das Laufwerk sauber resett'et um auch die erste Meldung im Fehlerkanal aus zu lesen (siehe Bild 1). Auch hier gab es noch Probleme mit der 1581 ohne und mit verbautem JiffyDOS sowie der Zuweisung zur DC Variable. Die Funktionen und Möglichkeiten des Laufwerk werden an Variable DC übergeben. Sollte danach bei Euch noch immer "Laufwerk nicht erkannt" stehen - dann bitte schickt mir den Screenshot. Vielen Dank! - JiffyDOS Erkennung im C=64 und in den Laufwerken
Die Laufwerkserkennungsmethode hat bisher wunderbar bei Laufwerken mit verbauten JiffyDOS funktioniert - jetzt auch mit dem Laufwerk 1571.
Wie ich das JiffyDOS im C64 erkennen konnte, war mir bisher nicht so klar. Das wurde nun auch gelöst. Erschreckend einfach wird das mittels PEEK ausgelesen. Auch mal schön, wenn es einfach geht.
Die Variablen JD und JC übergeben die Erkennung des Laufwerk (=JD) und des C64 (=JC) ob JiffyDOS verbaut wurde. Das wirkt sich dann auf die Optionen und Funktionen im “Multiformat Modul“. Dann werde im Code direkte JiffyDOS Kommandos benutzt! - Das Modul "m" (=Modus) der 1571 wurde im Menü "f1" (=Directory Commander) eingefügt.
Damit kann man vom Betriebsmodus DOS 2.6 in DOS 3.0 umschalten. Damit ist es nun möglich die in das 1571 eingelegte Diskette einseitig (664 Blocks) oder doppelseitig (1360 Blocks) zu formatieren.
Die Diskette muss also nicht "umgedreht" werden um Sie voll zu beschreiben. Beim betreiben des Laufwerk an einem C64 "vergisst" die 1571 diese Einstellung beim Laufwerks Reset oder neu einschalten des Laufwerk oder des C64.
Auch hier gab es noch Probleme mit der Erkennung der Laufwerke und wann die “m“ Taste gedrückt werden kann. Natürlich wirkt sich das auch auf den Funktionsumfang im “Multiformat Modul“ aus.
Beim beenden von DiskFix behält die 1571 Ihren Betriebszustand bei (DOS 2.6 oder DOS 3.0). - Straffen des Code - Part 1
Im Code waren noch viele Zeilen oder ganze Routinen aus kommentiert. Diese Zeilen brachten 6 Blocks weniger Coder auf die Waage, leider wurden diese 6 Blocks durch die Erweiterung der beiden oben genannten Module wieder "konsumiert"
Eingefügte REM Zeilen auf die mit Goto oder Gosub gesprungen wird - wurden ebenfalls entfernt.
Im Zweiten und vermutlich Dritten Teil, wird der Programmablauf im ganzen nochmal betrachtet und bewertet, kann noch mehr zusammengefasst werden, oder sind Abfragen eleganter zu lösen? Immerhin sind teile des Programm aus dem Jahr 1986 oder 2017 und in meinen damaligen BASIC Kenntnissen ensprechend. - Das Titelbild wurde angepasst (für die Digital Talk #112)
Im Oktober 2022 erscheint die DT#112 und eine DiskFix Version wird mit drauf sein. Ich freue mich total über die Möglichkeit auch eine kleine Story und eine ßeta Version dort bei zu steuern zu können! Bin gespannt, ob und wie es ankommt. Auch gerne hier - gerne Feedback 
- Umbau des Formatierungs Modul (1571 Modus Wechsel / JiffyDOS Integration)
Jetzt ist es dank der Vorarbeit möglich, JiffyDOS und auch eine 1571 sicher zu erkennen. Somit kann mit dem Modul nun - mit oder ohne JiffyDOS formatiert werden und bei der Erkennung einer 1571 die eingelegte Diskette einseitig- oder doppelseitig zu formatiert werden. Ihr ahnt sicher wieviele Kombinationen das bei allen möglichen Laufwerken sind
Nach dem Formatieren erfolgt eine Prüfung (=Verify) ob die Formatierung korrekt durchgeführt wurde, oder ob es zu einem Fehler kam. Der Fehlerkanal wird ausgelesen und angezeigt. Wenn jetzt “nochmal“ ausgewählt wird, werden alle Einstellungen übernommen, bis auf die ID, die wird eines hochgezählt und die neu eingelegt Diskette wird formatiert. So kann man ein 10 Pack Disketten bequem durch formatieren. - Neuer Optionspunkt “D“ im Hauptmenü eingefügt
Mit “J“ und “D“ werden externe Programme aufgerufen. Vor dem Ausführen kann der Anwender wieder zurück zum Hauptmenü springen und bekommt in dem gesonderten Dialog auch noch Informationen zu dem Programm, welches aufgerufen wird. „J“ ruft das Justage und Speed Test Programm aus der Compute! Gazette auf und mit “D“ wird das Programm DraCopy aufgerufen in der Version 1.1e welches auch Unterstützung für die 1581 integriert hat. - Testzyklus aller Ultimate 1541 II+ virtuelle Laufwerkstypen
Das mit und ohne JiffyDOS Kernal um die implementierten Funktion ab zu gleichen. Das kostete tatsächlich am meisten Zeit, denn hierbei habe ich wieder Bugs gefunden, die ich direkt behoben habe. War doch nicht so einfach die Variable DC auf zu bohren ... Egal, geschafft! - D64 Image und Tools zusammenstellen
Das D64 Image in dem alle Module in Basic einzeln vorhanden sind, sowie weitere Tools und natürlich das Justage Programm sowie DraCopy wurde nun endlich zusammen gestellt. Auch hier bin ich über eine Rückmeldung dankbar, sollte ihr ein Tool vermissen, das mit auf die Disk sollte. Das D64 Image verfügt, bei der Benutzung mit einem C128 über eine Autoboot-Funktion.
Weitere Infos und release notes: http://www.hirnwei.de/?p=1830
Direkter Downloadlink zum D64 Image: http://www.hirnwei.de/download/DiskFix-Beta6.d64
Was ist sonst noch passiert?
Ab dieser Version wird DiskFix in einem D64 Image bereitgestellt und nicht mehr als Einzelprogramm. Es befinden sich dort weitere Tools für 1541, 1571 und 1581 Laufwerke drauf. Ich glaube, das macht den Umgang einfacher und neben dem Speed/Alignment und DraCopy, welche aus dem Programm gestartet werden, war halt noch Platz frei.
Nach einer langen Pause in der Weiterentwicklung, bin ich gestern wirklich sehr weit gekommen. Reinlesen in den Code ging schneller als erwartet. Da sich die Erkennung der Laufwerke und der Zustände von JiffyDOS geändert hat (Variable DC) musste ich gestern nochmal mit allen mir zur Verfügung stehenden Laufwerken (1541, 1541-II, 1571 und 1581 mit und ohne JiffyDOS und den gleichen virtuellen Laufwerken über ein U1541II+ sowie Kung-Fu Flash, EasyFlash und SD2IEC) alle Funktionen im Programm erneut prüfen. Diverse Bugs musste ich entfernen und die Laufwerke werden richtig erkannt und der entsprechende DC-Status wird richtig gesetzt.
Einzig die Multiformat Routine, die 1541/1581 und 1571 (hier Doppelseitige Formatierung) dann mit JiffyDOS im C64 und (wenn vorhanden: JiffyDOS) in den Laufwerken abprüft – da hänge ich derzeit …
Mit dem KungFu Flash und dem MiniFlash habe ich weitere Tests durchgeführt und konnte keinen Absturz provozieren. Mit diesen Modulen kann DiskFix problemlos direkt nach einem Reset / dem Anschalten ausgeführt werden. Jedoch möchte ich hier noch eine CRT Version basteln, in der das Speed/Alignment aus dem Compute! Magazin, direkt dabei ist.
Zum Thema Handbuch oder Anleitung, überlege ich gerade eine Version im StarTexter oder GeOS-Write Format mit auf das D64 Image zu legen – das wär doch witzig – oder?
Dann nochmal ein dickes Danke an EgonOlsen71 für den Austausch gestern. Es traten beim Kompilieren mit dem MOS2 Compiler Fehler auf, die wir diskutierten. Ich hab nun kapiert wie JiffyDOS funktioniert und bemerkt, dass ich mir unnötig Arbeit gemacht habe, in dem ich direkte JiffyDOS Kommandos im Basic-Code verwendet habe. Unnötig komplex wurde das Multiformatmodul - aber:
... nach der ßeta ist vor der ßeta - weiter gehts 