Disk Fix – ßeta 7
Nach der ßeta6 ist vor der ßeta7 und der Schwung hält an, denn die unnötige Komplexität im Mutliformatmodul hätte ich mir schenken können. Aus dem Kreis der Beta-Tester kamen Interessante Anregungen, die ich ebenfalls überdenken und ggf. umsetzen möchte. Es kam der Hinweis, das eine umformatierte Diskette im Laufwerk nicht als „TestDisk“ erkannt wird und so der Programmstart verzögert wird. Bisher ging ich davon aus, das ein formatierte Diskette (eine Test-Diskette) in Laufwerk 8 eingelegt ist. Das war wichtig, weil Programmteile abbrechen oder einen Fehlercode auswerfen würden und das Programm so zum Absturz bringen.
Dann nochmal ein dickes Danke an EgonOlsen71 für den Austausch, als ich mit JiffyDOS Kommandos im Code der ßeta6 seinen MOS2 Compiler nutzte. Es traten beim Kompilieren Fehler auf, die wir diskutierten. Ich hab nun kapiert wie JiffyDOS funktioniert und bemerkt, dass ich mir unnötig Arbeit gemacht hatte, in dem ich direkte JiffyDOS Kommandos im Basic-Code verwenden wollte.
Diesmal wurde die Beta Version in zwei Versionen aufgeteilt. Die Version 7a hatte im Fokus Fehler zu korrigieren und den Code zu entschlacken. Das wurde umgesetzt.
Die Version 7b wird die Kompatibilität zu DOS v10 abrunden und Bugs, die von den Beta-Testern zurückgemeldet wurden gefixt werden. Alle DOS 3.0 Funktionalitäten mit der 1571 wurden bereits umgesetzt.
Was wurde in ßeta 7a umgesetzt?
- Das Multiformatmodul – fertig
Die JiffyDOS Kommandos und das Wechselspiel der verschiedenen Laufwerke – war eine unnötige Komplexität. JiffyDOS Kommandos wurden aus dem Code entfernt und sparten 4 Blocks ein 🙂
Einzig die JiffyDOS Erkennung bleibt vorhanden und zeigt dem Benutzer an, was erkannt wurde und wenn ein 1571 Laufwerk erkannt wurde, kann die Option <E> und <D> genutzt und umgeschaltet werden. Oben rechts verändert sich dann die Anzeige von DOS 2.6 auf DOS 3.0 und die Diskette wird „Doppelseitig“ formatiert.
Übergreifend für alle Menüs ist der Pfeil nach links immer ein Weg ins Hauptmenü zurück. Die Option <f3>, sollte das Laufwerk blinken und ein Fehler wurde festgestellt, steht nach der Überprüfung auch zur Option.
Neu ist, das man beliebig viele Disketten (max. 99) direkt nach einander formatieren kann. Nach der Formatierung braucht der Anwender nur <N> drücken für „Nochmal!“ :). Dann wird der Name übernommen und DiskFix zählt die ID von 1-99 hoch. Die ID wird beim Formatieren auch angezeigt. - Es fehlte ein Hinweis, nachdem <J> oder <D> aus dem Hauptmenü gedrückt wurde, das die DiskFix Diskette in Laufwerk 8 eingelegt werden muss. Ohne das, kann natürlich das Speed/Justage oder DraCopy nicht geladen werden 🙂
- Code Cleaning, also unnötige Sprünge, Schleifen, Doppelter Code oder REM Zeilen wurden entfernt. Hier und da wurde der Code angepasst um auch wieder den ein oder anderen Block ein zu sparen. 🙂
- Programmstart: Abtasten einer eingelegten Diskette
Das Abfragen, direkt nach dem Titelbildschirm, ob eine formatierte Diskette in Laufwerk 8 eingelegt ist – wurde entfernt. Diese Routine kommt noch aus 2017 in dem davon ausgegangen wurde, das die Diskette, von der DiskFix gestartet wurde eingelegt ist. Auch hier drehte sich das Rad einfach weiter – denn nicht immer wird das Programm so benutzt wie der Entwickler sich das dachte 😉
Außerdem ist die Abtastmethode der Laufwerke einfach eine gänzlich andere geworden und es ist nicht mehr nötig den IEC Bus Errorlevel von Laufwerk 8 auf „21“ und „18“ ab zu fragen. Daher entfällt dieser Code Teil inkl. das anzeigen einer Textbox und verhilft dazu – das der Code weiter schrumpft 🙂 - Endbildschirm
Gibt es nicht mehr (wieder Codezeilen eingespart 😉 ). Es wird ein Reset (SYS 64738) ausgelöst. Ist wohl die eleganteste Variante – auch im Hinblick auf das Portieren auf ein Modul.
Wer sich das Listing anschauen möchte – der kann es direkt nach dem Laden anzeigen lassen.
ßeta 7a Version ist nun abgeschlossen und wird als einzelne Datei mit der DT#112 verteilt 😉
Was wird in der ßeta 7b umgesetzt?
- Neu schreiben des Modul „File Copy“
Aktiviert im Menü <f1> Directory Commander und das lesen und schreiben von einer Diskette – auf eine Diskette zu kopieren (mit Diskettenwechsel). Dabei wird natürlich JiffyDOS mit eingebunden – wenn die benutzte Hardware das kann 🙂 - Für den Laufwerkstyp CBM 1581 – UNSCRATCH und HEADER RENAME
Es werden die Module <U> UnScratch und <R> Header Rename aus dem <f1> Directory Commander nochmal angepasst. Sie sind noch nicht 100% kompatibel und führen nicht zum gewollten Ergebnissen. - Das Modul <P> Drucken muss erstellt werden
Es soll dazu verwendet werden das Directory, den BAM oder die Übersicht der BAD BLOCKS auf einen virtuellen und echten Drucker (Star NC-10c kompatibel) zu drucken. Früher sprach man hier von einer Hardcopy – heute würde man sagen screenshot 🙂 Ist ne Spielerei – aber wenn ich schon einen funktionsfähigen Drucker habe – wieso den nicht auch nutzen. - Die D64 Image Datei
Die D64 wies Fehler auf – doppelte Dateien etc. Das war natürlich nicht gewünscht und wird erneut aufgebaut. - Der <?> Hilfebildschirm erklärt nun auch den Begriff BAM ausführlicher.
- Beim Formatieren einer Diskette mit einem 1571 Laufwerk wurde nach Eingabe der Felder HEADER und ID und nach der Formatierung-Option <E> und <D> auf das Drücken der Taste <f8> gewartet um das Formatieren zu starten und um den Anwender die Option <Pfeil-Links> zu ermöglichen um in das Hauptmenü zurück wechseln zu können, falls man sich vertippt hat. Auch das wurde nun für alle anderen kompatiblen Laufwerkstypen angepasst. Bisher startet die Formatierung sofort nach Eingabe der ID.
- Die Fehlermeldung 73 trat beim Formatieren auf und war bisher nicht genauer erklärt. DiskFix wirft nicht nur eine Fehlernummer aus, sonder erklärt den Fehler und gibt eine Kurzbeschreibung aus den Handbüchern der 1541, 1571 und 1581 Laufwerke auf den Bildschirm aus. Die Fehlermeldung 73 wurde hinzugefügt hinzugefügt.
Was könnte nach der v1.0 kommen ?
- 1351 Maus Support, für eine moderne Anwendung darf die Benutzung der Maus eigentlich nicht fehlen, ich habe schon früh darüber Nachgedacht und sehe da eigentlich kein Problem. Ein Mausmodul habe ich bereits schon erdacht und müsste das nur umsetzten 🙂
- 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?
- GeOS Version, ich habe mir bereits GeOS Basic angeschaut und so abwägig finde ich das jetzt nicht, da ich ein mega Fan von GeOS bin und gerade im Zusammenspiel mit eine 1581 ist GeOS in 30 Sekunden geladen inkl. Uhrzeit zu aktualisieren aus dem Ultimate 1541II +! Glaubste nicht? Na dann schau mal hier: https://youtu.be/C8MiU6kJZLI 🙂
- C64OS Version, auch hier bin ich gespannt was ich damit anfangen könnte. SD2IEC ist bereits kein Problem. Ich denke aber eher ich komme mit der 20k Beschränkung nicht ganz zu recht … Aber mal schauen 🙂
- DigitalTalk #113 Version, ist auch geplant – möglich das ich bis dahin nicht eine ßeta sondern eine fertige Version – als Datei – mit reichen kann. Diese Version wird weiterhin Kompiliert werden mit dem MOS Compiler 2 von EgonOlsen71.
- Fertige DiskFix Version, wird nicht kompiliert. Ja, die Beschleunigung ist dann nicht mehr gegeben, aber es gibt den Wieder oder Neu- Einsteigern die Möglichkeit sich an zu schauen, wie das realisiert wurde.
- Modul Version von DiskFix, hier soll es im Grunde hingehen. Das würde auch das nachladen von Programmen sehr vereinfachen. Aber hier bin ich mit meinem Überlegungen ganz am Anfang. Mit dem MiniFlash habe ich das schon ausprobiert und es macht einfach Spass – nachladen von dem Modul ist so natürlich nicht möglich.
- Kommerzielle Version. Erste Gespräche mit Protovision gab es tatsächlich schon, jedoch wollten Sie den Verkauf Ihres „1541 Diagnostic Cartridge“ nicht Kanibalisieren. Kann ich verstehen – ich finde das Modul nur einfach grundsätzlich schlecht – weil es nichts erklärt und auch nicht drauf Hinweist, das die Funktion Speed und Justage von der Compute! Gazette stammt. Egal, denk ich drauf rum – wenn ich eine Modul Version habe 🙂 Es gibt ja noch Polyplay und andere 😉
- Lokalisierung der Bildschirmtexte. Auch hier wurde ich bereits gefragt, ob ich eine englische Version anbieten könnte. Ja sicher – wäre kein Problem. Ideen die Bildschirmtexte quasi in einer anderen Sprache nach zu laden gibt es auch schon 🙂
- Das Drucken Modul weiter aufbohren, in dem die Inhalte nicht ausgedruckt, sondern per WiC64 an den Complex Sleve Editor zu senden um eine Diskettenhülle zu drucken. Hier muss ich mich mit Frank nochmal genauer austauschen, denn er hatte bereits auch in eine ähnliche Richtung gedacht. Wäre doch super, wenn wir da „zusammenwachsen“ könnten 🙂
Aber nun erstmal die Version 1.0 abschließen um einen geprüften und funktionsfähigen Stand zu haben.
Grundsätzlich bin ich über Mithilfe dankbar – also wer sich hier jemand mit verwirklichen möchte – ist herzlich eingeladen 🙂
Downloadlink zur ßeta7 Version
… folgt sobald die D64 Datei, die Fehler aufwies angepasst wurde 🙂
In der Zwischenzeit, schaut doch gern im Forum64 vorbei. Diskussionen und ankündigen sind auch dort immer gern Willkommen: https://www.forum64.de/index.php?thread/124817-diskfix-disketten-diag-und-grundfunktionstest-in-basic-v2-0/&pageNo=1