Hallo Besucher, der Thread wurde 4,7k mal aufgerufen und enthält 37 Antworten

letzter Beitrag von GuNKeN am

DiskFix - Disketten Diag und Grundfunktionstest in BASIC v2.0

  • Moin Moin,


    der ein oder andere wird es in dem ein oder anderen Kommentar von mir schon gelesen haben. Ich habe auch etwas gezögert, hier überhaupt ein Posting zu erstellen, denn es war für mich noch nicht in einem Zustand, den man vorzeigen möchte. Mit meiner vorhandenen Hardware habe ich die Test jeweils durchgeführt und denke - nun ist es soweit. Die Katze aus dem Sack, ich bin noch immer dabei (in BASIC), eine Toolsammlung, zusammen zu klöppeln um den Umgang/das Testen mit echten Laufwerken für den C64 einfacher zu machen. Ihr könnt damit Originaldisketten testen, sowie auch eine Wartung mit dem Laufwerk selbst durchführen. Alles ohne kleine Tools, die meistens Ihre Funktion nicht wirklich erklären und das Ergebnis anzeigen, aber nicht wirklich eine Meldung anzeigen, die man direkt versteht. DiskFix erklärt z.B. die Funktion, die ausgeführt wird und es gibt auch die Fehlermeldung/eine Übersicht der Fehler aus und erklärt die Fehlermeldung auch und gibt einen Hinweis auf das entsprechende Kapitel im Benutzerhandbuch für mehr Informationen.


    Ich programmiere ausschließlich direct auf dem C64, wenn es auch ein C64 MK2 ist, sowie unter JiffyDOS und einem Final Cartridge III. Denn sowohl JiffyDOS als auch das FC3 bringen Funktionen mit, die es mir erleichtern auf dem C64 zu einem Ergebnis zu kommen. Ich sag mal RENUM, @D:, @X9 usw... ;-) Ich habe versucht die moderne Benutzerführung in einem Programm auf den C64 zu Portieren :)


    Besonderes Augenmerk lege ich darauf JiffyDOS zu nutzen und alle gängigen Laufwerke zu unterstützen und die ganzen virtuellen Laufwerke zu erkennen und die Funktionen entsprechend ein zu schränken. Es macht aus meiner Sicht z.B. keinen Sinn den Lesekopf bei einem virtuellen Laufwerk zu bewegen, oder eine SD2IEC zu formatieren ... Dabei werden 1541, 1571 und 1581 Laufwerke mit einbezogen und deren besondere Funktionen auch unterstützt (=Doppelseitiges Formatieren der 1571). Wenn im C64 und dem Laufwerk JiffyDOS verbaut ist, dann werden die JiffyDOS Kommandos verwendet - und nicht die "OPEN" Befehle des BASIC. Das gibt nicht nur ein Plus bei der Geschwindigkeit, sondern auch ein Plus bei der Verifizierung der Aufgaben.


    Welche Laufwerke erkennt DiskFix ßeta 5?

    • 1541 /CBM DOS v2.6 & JiffyDOS 6,
    • 1541-II /CBM DOS v2.6 & JiffyDOS 6,
    • 1571 /CBM DOS v2.6 (im C64 Modus),
    • 1581 /CBM DOS v10.0 & JiffyDOS 6,
    • 2031 /CBM DOS v2.6,
    • 2040 /CBM DOS v2.1,
    • 4040 /CBM DOS v2.1,
    • 4040 /CBM DOS v2.7,
    • 8050 /CBM DOS v2.7,
    • 8080 /CBM DOS v2.5,
    • 8250 /CBM DOS v2.7.

    Welche virtuelle Laufwerke erkennt DiskFix ßeta 5?
    Die Benutzung dieser Laufwerkstypen macht natürlich nur im begrenzten Maße Sinn, daher ist es wichtig, das DiskFix diese auch fehlerfrei erkennt:

    • Ultimate 1541 II plus: RAMlink (Device 16)
    • Ultimate 1541 II plus: 1541 mit oder ohne JiffyDOS
    • Ultimate 1541 II plus: 1541 II mit oder ohne JiffyDOS
    • Ultimate 1541 II plus: 1571 mit oder ohne JiffyDOS
    • Ultimate 1541 II plus: 1581 mit oder ohne JiffyDOS
    • SD 2 IEC Device / nativ oder mit D64 Image
    • KungFu Flash mit D64 oder D81 Image


    Welche Funktionen bietet Euch DiskFix (für 1541,1571 und 1581)?

    Mit DiskFix beta5 könnt Ihr alle Grundfunktionen aus einer Oberfläche heraus ausführen/testen:

    • Angefangen beim Directory aufrufen.
    • Laufwerkskanal umschalten (8, 9, 10) um die Funktionen auf andere angeschlossene Geräte aus zu weiten
    • Löschen und Wiederherstellen von Dateien.
    • Formatieren einer Diskette (mit Verify, sowie bei einer 1571 Ein- oder Doppelseitige Formatierung)
    • Den Header der Disk umbenennen.
    • Die BAM der Diskette anzeigen.
    • Die Diskette nach Bad Blocks überprüfen.
    • Den Fehlerkanal auslesen (klingt trivial, ist aber eine echte Hürde für Neu- /Wiedereinsteiger
    • Das Laufwerk auslesen (um die Werte bei einem "nicht erkannten" Laufwerk an mich zu übermitteln)
    • Drucken des Directory oder des BAM zu Dokumentationszwecken (nein aus Spass ;-) )

    Ich hatte auch überlegt das Programm aus dem Computer! Magazin: Speed/Justage mit ein zu bauen. Da gibt es aber schon so clevere Hardwarelösung - das machte für mich dann keinen Sinn. Diese Funktionen können aus dem Programm herraus aufgerufen werden um die Rotationsgeschwindigkeit der Diskette zu testen und um den Lesekopf zu justieren.


    Was kommt noch?

    • Testzyklus aller Ultimate 1541 II+ virtuelle Laufwerkstypen werden mit den implementierten Funktion abgeglichen.
    • Wenn nächste Woche mein 1571 Laufwerk da ist – wird das Formatierungsmodul nochmal erweitert um eine 1571 im Doppelseiten-Modus zu formatieren.
    • Einbauen der JiffyDOS Kommandos um die Basic CBM Routinen zu beschleunigen, wenn die Hardware im C64 und im Laufwerk erkannt wurde.
    • Erneuern des Modul „File Copy“, und aktivieren im Menü „f1 – Directory Commander“ - lesen und schreiben von einer Diskette – auf eine andere Diskette (mit Diskettenwechsel von Laufwerk 8 auf Laufwerk 8).
    • Für den Laufwerkstyp CBM 1581, wird das Modul „UnScratch“ und „Header Rename“ nochmal überprüft. Ich würde das gern kompatibel haben.
    • Das Modul „Drucken“ muss erstellt werden. Es wird dazu verwendet das Directory, den BAM oder die Übersicht der BAD BLOCKS auf einen virtuellen und echten Drucker (Star NC-10c kompatibel) zu drucken.
    • DiskFix ßeta 6 wird in einem D64 Image bereitgestellt werden und nicht mehr als Einzelprogramm. Es befinden sich dort weitere Tools für 1541, 1571 und 1581 Laufwerke. Ich glaube, das macht den Umgang für alle einfacher.
    • Mit dem KungFu Flash und dem MiniFlash werde ich ebenfalls ein paar weitere Tests durchführen. Mit diesen Modulen kann DiskFix auch direkt nach einem Reset / dem Anschalten ausgeführt werden. Bisher klappt es wirklich gut, aber einen Testzyklus muss natürlich auch hier folgen …


    An dieser Stelle auch ein dickes Dankeschön an:

    8-Bit Flo, florian112 und Palmiga für deren Mühen beim testen von DiskFix mit deren Hardware und Rückmeldungen. Mit dem DiskFix Modul - Laufwerks Scan haben Sie Ihre Laufwerke u.a. ausgelesen und mir die ermittelten Werte mitgeteilt, sodass eine Erkennung der Laufwerke auch gesichert funktionieren kann.

    Auch an EgonOlsen71 möchte ich auch einen besonderen Dank richten. Mittlerweile ist das DiskFix auf 124 Blocks (BASIC, nach dem Kompilieren 171 Blocks) angewachsen. Da ich eine Beta Version immer mit dem MOSpeed Compiler über ein WiC64 kompilieren lasse um es im Ablauf zu beschleunigen, nutzte ich es sehr oft. Ohne seine Mithilfe bei der Erweiterung des MOSpeed Compiler, hätte ich DiskFix nicht mehr kompilieren können ;-)


    Ich lade die Beta5 hier in diesem Post noch nicht hoch, denn im Nachgang kann ich dieses Posting nicht mehr ändern. Daher der Link zu meinem Blog: http://www.hirnwei.de - dort findet Ihr immer die neuste Version. Alternativ werde ich in diesem Thread auch die aktuellste Version posten.


    Das Beste kommt zum Schluß ;-) Ich hab auch eine Bitte an Euch, bitte benutzt die Beta5 und meldet mir auch gern Fehler oder Auffälligkeiten zurück. Ich bin immer offen für weiteres Feedback, also was Ihr an Funktionen noch gebrauchen könntet, oder was für Ideen Ihr noch dazu habt. Wenn hier jemand von Euch mich dabei unterstützen möchte - ich würde mich freuen. Auch um Hilfe beim Abschluss oder Optimierung des Codes - denn nach der Beta6 (in dem alle finalen Funktionen enthalten sein sollen) beginnt die Code-Optimierung. Ebenso brauch ich Hilfe bei der Portierung in ein CRT Image. Wer sich hier einbringen möchte ist <3 Willkommen :)


    Nachdem ich das neue Formatierungsmodul mit JiffyDOS Erkennung gestern fertiggestellt habe, hoffe ich, das der Postbote mir heute eine 1571 bringt - dann kann ich das Modul auch ausgiebig testen - um es dann in die Beta6 einbetten zu können.


    Freu mich auf Euer Feedback! Beste Grüße aus Tornesch, Gunnår

  • Moin Moin,


    sodalle - hier dann die ßeta5 von DiskFix

    ++diskfix-beta5.prg


    Anbei auch ein Basic-Modul, das Multiformat-Modul, das noch getestet werde muss und dann in der ßeta6 vorhanden sein wird.

    diskfix-mformat.prg

    … wer mag, kann da gern mal in das BASIC reinluschern ;-) Zeilen 0-99 werden vor dem Einbau in die ßeta6 entfernt, dort könnt Ihr Variablen setzen, die durch das Hauptprogramm ermittelt werden. Also DD, DR$, JC, JD, LW, DC usw… Bischen erklärt was das ist, ist in den REM Zeilen ersichtlich.


    Viel Spass beim rumspielen ;-) Meine 1571 soll nun morgen kommen … Dann teste ich das auch mal entsprechend ;-)


    Beste Grüsse, Gunnår

  • ... ja, das Projekt gibt es noch - durch Ende:

    - COVID Maßnahmen

    - Urlaub (nachholen)

    - Begin der Motarrad Saison

    - und meiner Coast 2 Coast Wanderung einmal durch England


    ... hat sich die Weiterentwicklung verzögert :-)


    Heute gehts weiter und die ßeta6 in D64 Format reiche ich dann schnellstmöglich nach. Die ßeta6 ist bereits fast fertig - jedoch muss ich das D64 Image mit den Zusatzprogrammen noch basteln. Wie immer, ein genauer Entwicklungsstand ist hier beschrieben: http://www.hirnwei.de/?p=1830


    Auf bald, Gunnår

  • 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 :)

  • Ich habe mir das Image gerade mal angeschaut. 177 Blocks ist ja schon hammerhart ;-)


    Dass sich eine 1541 von anderen 1541 (z. B. II oder C) schwer oder gar nicht unterscheiden lässt, ist mir schon klar, aber der Vollständigkeit halber poste ich die 1541-II. Folgendes ist mir aufgefallen (Winvice 3.6.1, alles mit Jiffydos):


    Im Image sind mehrere Programme doppelt drauf: diskfix-headren, diskfix-lwscan2. Was versteckt sich hinter den DEL< Dateien, die ja auch den einen oder anderen Block belegen? ;-)


    Beim compilierten Diskfix wird #8 als 1571 mit Dos 3.0 erkannt. Es ist aber eine 1541-II mit Jiffydos. #9 wird richtig erkannt (1571 Jiffydos), ebenso #10 (1581 Jiffydos). Unscratch meldet ein nicht komplett kompatibles LW #8, "W" weiter reagiert nicht.

    diskfix-lwscan2: #8 wird als 1541 mit Dos 2.6 erkannt (1541-II mit Jiffydos), #9 1541 Dos 2.6 (ist 1571 mit Jiffydos), #10 1581 mit Dos 10 (ist 1581 mit Jiffydos).


    Und jetzt mit echter Hardware (auch alles mit Jiffydos):

    Diskfix erkennt #8 als 1571 Dos 3.0 erkannt (ist 1541-II mit Jiffy), #9 als SD2IEC (korrekt), #10 als 1581 Jiffydos (korrekt). #8 umgesteckt, wird als 1571 Jiffydos erkannt (korrekt), #8 nochmal umgesteckt, wird als 1571 Dos 3.0 erkannt (ist aber Oceanic OC118N Jiffydos).

    diskfix-lwscan2: #8 1541-II Jiffydos wird erkannt als 1541 Dos 2.6, #9 SD2IEC korrekt, #10 1581 Jiffydos als 1581 Dos 10, #8 1571 Jiffydos wird erkannt als 1541 Dos 2.6, #8 Oceanic OC118N Jiffydos wird erkannt als 1541 Dos 2.6.


    Mich wundert die Abweichung zwischen WinVice und echter Hardware etwas.


    Ich hoffe, Dir helfen meine Erkenntnisse.

  • Hui! Klasse und Danke für die Rückmeldung!


    Die 177 Blocks sind es nur nach dem Kompilieren. Eigentlich sind es 128 Blocks in reinem Basic. Aber der Geschwindigkeitszuwachs nach dem der MOS2 Compiler sein Werk getan hat - find ich einfach super :)


    Na, da hat mein D64-Image-Programm aber nen bisschen Unsinn erzeugt :) hehehehe. Doppelt soll natürlich nix sein. Schaue ich mir nochmal an!


    Mit Vice habe ich nichts getestet - macht für mich auch kein Sinn - denn Ziel sollte ja sein "echte Hardware" zu testen. Also da kann ich leider nichts zu sagen.


    Die Werte bei der Laufwerkserkennung des Oceanic Laufwerk würde mich sehr interessieren (Option A im Hauptmenü, bitte 2x durchlaufen lassen) So eines habe ich nicht im Zugriff und konnte auch die spezifische Erkennung nicht ableiten.


    Zum besseren Abgleich bräuchte ich bei einer Falscherkennung die ZB, ZC und MT Werte - die die Routine auswirft. Könntest Du mir die bitte mal übermitteln? Ein Screenshot von der Option A aus dem Hauptmenü an gunken@me.com mit dem Hinweis welches Laufwerk wirklich am IEC Bus abgetastet wurde - reicht mir :)


    Wenn bei Unscratch ein 1581 erkannt wurde - dann ist das OK so. Denn die Methodik bei einer 1581 ist anders, als z.B. bei einer 1541 - das muss ich noch anpassen. Das das "W" in dem Dialog nicht geht - danke für den Hinweis! Hab ich bisher übersehen :)


    Das Modul DiskFix-lwscan2 ist eine veraltete Variante - ich nutze jetzt eine Kombination aus abtasten der Daisychain. Wenn Du magst: guck mal hier: http://www.hirnwei.de/?p=1830



    Hattest Du beim Umstecken der Laufwerke auch den C64 aus und wieder angeschaltet, oder einfach nur die Kabel am IEC Bus verändert und das Laufwerk angeschaltet?


    Also nochmal - lieben Dank für Deine Rückmeldungen! Das hilft mir die ßeta7 weiter zu Verbessern!

  • Mit Vice habe ich nichts getestet - macht für mich auch kein Sinn - denn Ziel sollte ja sein "echte Hardware" zu testen. Also da kann ich leider nichts zu sagen.

    Ich kenne den Algorithmus nicht, von daher kann ich halt nicht sagen, warum es da zu Unterschieden kommt. Der Test im WinVice war ja eigentlich auch nur der Vollständigkeit halber ;-)

    Die Werte bei der Laufwerkserkennung des Oceanic Laufwerk würde mich sehr interessieren (Option A im Hauptmenü, bitte 2x durchlaufen lassen) So eines habe ich nicht im Zugriff und konnte auch die spezifische Erkennung nicht ableiten.

    1.1. c=254 mt=16

    1.2. zb=16 mt=16

    1.3. zz=16 mt=16

    1.a. c=254 zb=16 zc=16

    1.b. c=0 zb=0 zc=0

    Beim zweiten Lauf unterscheidet sich nur 1.b. c=254 zb=16 zc=16


    Zum besseren Abgleich bräuchte ich bei einer Falscherkennung die ZB, ZC und MT Werte - die die Routine auswirft. Könntest Du mir die bitte mal übermitteln? Ein Screenshot von der Option A aus dem Hauptmenü an gunken@me.com mit dem Hinweis welches Laufwerk wirklich am IEC Bus abgetastet wurde - reicht mir :)

    1541-II, die als 1571 erkannt wird: zb=16 zc=16 mt=16

    Wenn bei Unscratch ein 1581 erkannt wurde - dann ist das OK so. Denn die Methodik bei einer 1581 ist anders, als z.B. bei einer 1541 - das muss ich noch anpassen. Das das "W" in dem Dialog nicht geht - danke für den Hinweis! Hab ich bisher übersehen :)

    Naja, ich hätte dazu schreiben sollen, dass das auf der 1541 war...

    Das Modul DiskFix-lwscan2 ist eine veraltete Variante - ich nutze jetzt eine Kombination aus abtasten der Daisychain. Wenn Du magst: guck mal hier: http://www.hirnwei.de/?p=1830

    Ach, der Daisychain ist der Trick mit UI. Den verwende ich auch bei meinem GeoRamCopy V2, was aber dann nur noch RamCopy heißen wird.

    Hattest Du beim Umstecken der Laufwerke auch den C64 aus und wieder angeschaltet, oder einfach nur die Kabel am IEC Bus verändert und das Laufwerk angeschaltet?

    Gerade im Falle der Oceanic kann ich nur abschalten, umstecken und wieder anschalten, denn das LW ist etwas zickig, was Disketten betrifft... ich habe gerade keine Lust, 2 Stunden lang eine Disk zu suchen, die das LW gnädig betrachtet und damit arbeitet ;-)

  • Ich habe mal etwas gesucht, ich habe aber leider kein Rom-Image vom OC118N gefunden (sie meldet sich aber wie eine normale 1541). Bestimmt könnte ich meins auslesen, aber da bekomm ich möglicherweise Ärger mit Bobbel, weil es ja das Jiffydos für die OC118N ist (meldet sich übrigens wie eine normale 1541-Jiffy). Auf dieser Seite habe ich zumindest das Image der Parallel-Version (Rex-Drive) gefunden. Vielleicht hat ja jemand den Dump den normalen Roms?

  • Ich habe mal etwas gesucht, ich habe aber leider kein Rom-Image vom OC118N gefunden [...]

    Naja, es gibt eben nicht _das_ ROM bei einer Oceanic118, gerade weil sie mit verschiedensten ROMs von unterschiedlichen Distributoren sogar mit abweichender Laufwerksbezeichnung (REX 9900, Excelerator+, FSD-2) verkauft wurde. Teilweise wohl sogar mit dem Commodore-DOS.

  • Aber Du machst in der Erkennungsroutine auch nur ein M-R, die Werte könnte man aus einem Rom-Image extrahieren und die Anzahl der Laufwerke damit erhöhen...?

    Ach so, hatte Dich missverstanden :) Das wäre natürlich auch eine Methode :)


    Ich habe mal etwas gesucht, ich habe aber leider kein Rom-Image vom OC118N gefunden [...]

    Naja, es gibt eben nicht _das_ ROM bei einer Oceanic118, gerade weil sie mit verschiedensten ROMs von unterschiedlichen Distributoren sogar mit abweichender Laufwerksbezeichnung (REX 9900, Excelerator+, FSD-2) verkauft wurde. Teilweise wohl sogar mit dem Commodore-DOS.

    OK, dann wird das eine Fleißaufgabe... oh ha ..


    Ich hab so schon mit dem 1581 Laufwerk das Phänomen, das die Werte sich teilweise ändern. Teilweise nicht nach zu vollziehen ...

  • OK, dann wird das eine Fleißaufgabe... oh ha ..

    Nachdem eine evtl. vorhandene 1571, 1581 oder andere Laufwerke in der Erkennung ausgeschlossen werden konnten, läuft es letztlich "einfach" darauf hinaus zu erkennen, ist da ein Commodore-1541-DOS, JiffyDOS oder ein anderes DOS aktiv? Mit einem 1541-DOS in der Oceanic wirst du halt eher nicht erkennen können, dass es sich nicht um eine originale 1541 handelt. Im Programm selbst kann darauf ja hingewiesen werden, dass auch kompatible Laufwerke als 1541 gemeldet werden.



    Ich hab so schon mit dem 1581 Laufwerk das Phänomen, das die Werte sich teilweise ändern. Teilweise nicht nach zu vollziehen ...

    Wie erkennt dein Programm eine 1581? Was bedeutet das mit den sich teilweise ändernden Werten genau - ein und dasselbe Laufwerk liefert bei mehreren Abfragen unterschiedliche Rückmeldungen?

  • Naja, es gibt eben nicht _das_ ROM bei einer Oceanic118, gerade weil sie mit verschiedensten ROMs von unterschiedlichen Distributoren sogar mit abweichender Laufwerksbezeichnung (REX 9900, Excelerator+, FSD-2) verkauft wurde. Teilweise wohl sogar mit dem Commodore-DOS.

    Naja, die 9900 usw. sind doch die Parallelport-Version vom OC118N, die müssten sich also durchaus unterscheiden lassen, genau darum geht es ja gerade.


    Ist ja egal, ob Jiffy oder CBM-Dos: ist es überhaupt möglich, per Software im Rom einen Unterschied von 1541 zur Oceanic festzustellen? Schließlich musste man ja hardwaremäßig zwei Leitungen ändern, um nicht Ärger mit C= zu bekommen. Wenn ich dazu komme, vergleiche ich bei Gelegenheit mal das 1541-Jiffy mit dem OC-Jiffy. Mangels Image kann ich das mit dem CBM-Dos nicht machen.

  • Ist ja egal, ob Jiffy oder CBM-Dos: ist es überhaupt möglich, per Software im Rom einen Unterschied von 1541 zur Oceanic festzustellen?

    Das Beste, was ich bisher finden konnte: Wenn es eine Longboard-Version mit 1541-II-ROM ist, ist es sehr wahrscheinlich Oceanic, denn die alten 1541 mit Longboard haben ab Werk auch (meist?) nur ältere ROM-Versionen.

  • Ich hab so schon mit dem 1581 Laufwerk das Phänomen, das die Werte sich teilweise ändern. Teilweise nicht nach zu vollziehen ...

    Wie erkennt dein Programm eine 1581? Was bedeutet das mit den sich teilweise ändernden Werten genau - ein und dasselbe Laufwerk liefert bei mehreren Abfragen unterschiedliche Rückmeldungen?

    Über zwei Methodiken, einmal frage ich nach einem Laufwerk Reset die Daisychain ab (siehe Screen shot: Posting #9 ) und ich frage die M-R Werte ab. Da das 1571 sich wie ein 1541 für den C64 verhält konnte ich es nur in Kombination richtig erkennen. Im Code hinterlege ich also die Abfrage der Werte: C, ZB, ZC und MT. Anhand dessen lege ich dann das Ergebnis in eine Text Variable und zeige Sie oben rechts an.


    Ja, mein 1581 mit verbautem JiffyDOS ändert ... ich sag mal nach Tagesform die Werte :) Wenn Du magst - in dem Link oben zur ßeta Version ist auch das LWScan Modul mit ausgelagert - dort ist der Basic-Code dazu. Vermutlich ist die Abfrage ich sag mal nicht 1581 kompatibel. So wie die Unscratch oder Header-Rename Module die mit dem DOS 10 der 1581 einfach anders funktionieren...