Hallo Besucher, der Thread wurde 30k mal aufgerufen und enthält 51 Antworten

letzter Beitrag von Starkiller am

S-JiffyDOS für 1541

  • S-JiffyDOS 1541 (SJD41) ist ein CBM-1541-Floppy-DOS-Betriebssystem, das in der 1541 in einem EPROM, in der 1541U, im Turbo-Chameleon64 und in Emulatoren läuft. Es ist ein Patch für JiffyDOS 1541 (JD41). Da es ein Patch für JiffyDOS 1541 ist, läuft das Patchprogramm ohne dieses gar nicht. Es benutzt die Original JD-IEC-Bus-Routinen, sodass es mit allen (Nur-CBM-) und JiffyDOS-Computern und -Beschleunigerkarten zusammenarbeitet. Es erreicht mit allen Normal-JiffyDOS-Computern und-Beschleunigerkarten die unten angegebenen Werte, d.h. man braucht im C64 nicht SJD64 zu haben. SJD in der 1541 funktioniert uneingeschränkt mit allen Normal-JiffyDOS-Computern (C64, C128, Flash8, S-CPU) und erreicht auch mit diesen die höhere Geschwindigkeit.
    SJD41 ist absolut unabhängig von SJD64.


    Hier die Werte von S-JiffyDOS1541 (im Vergleich zur CBM1541 und zu JiffyDOS1541):


    - kann 40 Tracks benutzen: zuerst @"et+ <return> dann @"n:dn,id eingeben (!formatiert Disk!).
    - @"el @"eu lock/unlock von Files. Vorteil gegenüber JD: man kann mehrere Files bearbeiten mittels Jokern
    - @"el:$ @"eu:$ lock/unlock der Disk
    - @"v validiert GEOS Disks richtig
    - @"vg- validiert normal (GEOS Disks falsch)
    - @"sg+ scratcht GEOS VLIR Files richtig
    - @"nv- formatiert eine Disk ohne Verify
    - @"e erweiterter Floppy Status (+ ist ein, - ist aus)
    . 02,sj+ ic+ dt- mb- em- .tk.gp,35,00
    . sj = S-JiffyDOS ein/aus
    . ic = IEC-BUS JD/CBM
    . dt = erlaubt/verhindert das Schreiben von Files (nicht des Dirs) auf den Dir-Track 18. Beim Belegen von Blöcken auf Track 18 werden vorher sicherheitshalber die Dir-Blöcke in der BAM belegt. Das Dir kann immer (unabhängig von DT) auf Track 18 geschrieben werden. Bei DT geht es nur darum, dass, wenn eine Disk nicht mehr genügend freie Blöcke hat, damit ein File noch daraufpassen würde, man dieses File dann noch auf die freien Sektoren auf Track 18 schreiben kann (diese sind normalerweise nur für das Dir reserviert und können von normalen Files nicht belegt werden). Dies kann manchmal eine Möglichkeit sein, das letzte File gerade noch auf einer Disk unterzubringen. !Es besteht Datenverlustgefahr bei der Verwendung von Dir-Editoren!
    . mb = mechanical bump = harter CBM-/fast weicher SJD-Bump
    . em = execution of MB = MB bereits / noch nicht ausgeführt (nur falls MB-)
    (MB und EM sind mehr für interne SJD41 Routinen. An diesen Werten braucht nichts geändert werden)
    . tk = 35/40 Tracks
    . gp = Gap, Interleave (00 bedeutet, dass SJD41 selbst den optimalen Interleave bestimmt)
    ./! = Track automatisch (nach Disk ID)/fixiert
    Beispiel:
    - @"es+ schaltet SJD Modus ein
    - @"ei- schaltet JD-IEC-Bus Routinen aus
    - @"e+ Default für EIN setzen
    - @"e- Default für AUS setzen
    - @"et automatische Track Erkennung: Erkennt eine 40 Track Disk an "4a" oder "4<"
    - @"et+ fixiert 40 Tracks
    - @"et- fixiert 35 Tracks


    - @"eh:dn,id ändert Disk-Name und ID
    - @"e<Zahl (4-30)> ändert die Device Nummer
    - @"ec checkt eine Disk nach fehlerhaften Blöcken
    - @"eca+ check&allocate checkt eine Disk nach fehlerhaften Blöcken und belegt sie in der BAM
    - @"ec <Zahl (1-41)> checkt beginnend mit angegebenem Track
    - spezielle LOAD Routine für PRGs, die mit dem CBM Gap 9,5 gespeichert wurden
    - spezielle LOAD Routine, die während des Einlesens der GCR Bytes von der Disk diese ins HexDec Format wandelt. Schafft Gap 4
    - der Bereich c000-dfff enthält (fast) alle Patches des 1541/2 DOSs, also auch die Fehlerbeseitigung des Save&Replace Bugs (Bei 1541alt nur wenn beide Eproms getauscht sind)
    - fast Open schafft Gap 3 statt 22
    - gibt die Zahlen der Fehlermeldung dreistellig aus, wenn sie grösser als 99 sein sollten
    - Fast Reset ohne RAM und ROM Test
    - Drive 1 belegt (fast) nie einen unnötigen Puffer
    - Fast Save: Weil SJD41 die Original Routinen des C64 benutzen muss, und weil bei diesen der IRQ nicht gesperrt ist, sollte während des Savens keine Taste des C64-Keyboards gedrückt werden. Sonst würde der Interrupt des C64 länger dauern als von der 1541 angenommen und das Saven würde etwas verlangsamt. Fast Save verifiziert die geschriebenen Blöcke, d.h. der Speed geht nicht auf Kosten der Datensicherheit
    - Fast-Scratch und -Validate bildet die Prüfsumme während des Einlesens der Daten von der Disk
    - wenn man bei der 1541alt nur ein (statt zwei) Eproms tauscht muss man auf Check, Fast-Lock/Unlock, -Scratch, -Validate und -Save und die 1541/2 Fehlerpatches verzichten
    - SJD benutzt den Bereich 8000-ffff (Bei der 1541/c und /2 immer; bei der 1541alt nur wenn beide Eproms getauscht sind (1541alt und nur ein getauschtes Eprom: a000-ffff))


    Vielen Dank an '1570',der einen Online-Patcher programmiert hat, der JD zu SJD patcht: http://dtvforge.ath.cx/sjiffy/


    http://www.nlq.de
    nlq@gmx.de

  • Ich hab da gerade ein Problem..
    Patcher genutzt alles paletty, Datei entpackt und wollte das S-Jiffy brennen.


    Wieso ist die S-Jiffy mit 32kb doppelt so groß wie Jiffy mit 16kb? Ich dachte da wurde nur was gepatcht? Oder hab ich was überlesen?


    Ich hatte vorher das normale Dos und Jiffy in einem 256er EPROM mit Umschalter. Und nu? Wie geht? ;)

  • Wieso ist die S-Jiffy mit 32kb doppelt so groß wie Jiffy mit 16kb?

    - SJD benutzt den Bereich 8000-ffff


    Demnach ist das richtig. SJD verwendet 32kB Eproms

    bei der 1541alt nur wenn beide Eproms getauscht sind (1541alt und nur ein getauschtes Eprom: a000-ffff)

    - wenn man bei der 1541alt nur ein (statt zwei) Eproms tauscht muss man auf Check, Fast-Lock/Unlock, -Scratch, -Validate und -Save und die 1541/2 Fehlerpatches verzichten

    - der Bereich c000-dfff enthält (fast) alle Patches des 1541/2 DOSs, also auch die Fehlerbeseitigung des Save&Replace Bugs (Bei 1541alt nur wenn beide Eproms getauscht sind)

  • Hmm o.k. dann hab ich da evt. Verständnissprobleme ;)


    Die 1541alt ist doch die braune mit dem Schnappverschluß? und hat meines Wissens ein 8kb ROM?


    Im SX64 hab ich auch ein 8kb ROM?


    In der 1541 II habe ich ein 16kb ROM.


    Kann ich S-Jiffy denn dann überhaupt in der 1541 II nutzen? Bin gerade verwirrt :whistling:

  • Kann ich S-Jiffy denn dann überhaupt in der 1541 II nutzen? Bin gerade verwirrt :whistling:


    Ja, er nennt die aber weiter oben "/2" ;) (siehe Zitat unten)


    Um ein 32kB ROM nutzen zu können, muss irgendwas umgebaut werden an der Floppy. Was und wie, steht in der Doku zum SJiffy.



    - SJD benutzt den Bereich 8000-ffff (Bei der 1541/c und /2 immer; bei der 1541alt nur wenn beide Eproms getauscht sind (1541alt und nur ein getauschtes Eprom: a000-ffff))

  • Was und wie, steht in der Doku zum SJiffy.


    Ok schau ich mir mal an.


    Noch ne Frage im Archiv ist auch die jd6.01_rom_c1541_fixed.bin mit 16kb drinne. In der readme.txt steht auch immer diese nehmen soll, da alle anderen defekt oder die 5er Version wären.


    Die funzt bei mir aber auch nicht in der 1541 II, das LW läuft ununterbrochen. ?(

  • Ok schau ich mir mal an.
    Noch ne Frage im Archiv ist auch die jd6.01_rom_c1541_fixed.bin mit 16kb drinne. In der readme.txt steht auch immer diese nehmen soll, da alle anderen defekt oder die 5er Version wären.
    Die funzt bei mir aber auch nicht in der 1541 II, das LW läuft ununterbrochen. ?(

    Hast du noch Fragen nach dem Lesen der Doku?
    Womit hast du jd6.01_rom_c1541_fixed.bin gebrannt, mit dem C64 oder mit dem PC?
    Welches File hast du gebrannt, jd6.01_rom_c1541_fixed.bin oder jd6.01_rom_c1541_fixed.prg?
    Was für ein EPROM hast du benutzt?
    Hast du nur JD oder JD-und-CBM-umschaltbar gebrannt?
    Kannst du das EPROM auslesen und mir den Inhalt mailen (nlq@gmx.de)?
    Im Internet defekt sind die SX1541-Files.
    Der Unterschied zwischen JiffyDOS V5 und V6 ist nicht gravierend, allerdings haben beide Versionen in der unteren Hälfte des DOSs die alten, nicht fehlerkorrigierten Routinen.


  • Alles paletti, der Error saß zwischen Monitor und Stuhl :anonym


    Ich hab die jd6.01_rom_c1541_fixed.bin gebrannt, es wird aber trotzdem die V5.x angezeigt ist das korrekt?


    Funktionsmäßig funktioniert jetzt alles.


    Als nächstes kommt die S-Jiffy dran in einem 256er Eprom ohne Umschalter. Muss ich mir aber noch genauer ansehen ;)

  • Es gibt zwei Versionen (in drei Aufkleber-Varianten) von JiffyDos mit der Meldung V5.0 für die 1541:
    (der größte Unterschied ist der Aufkleber, da gibts hier irgendwo einen Thread dafür)


  • Zitat

    Hab die SJiffy-Anleitung für 1541 etwas formatiert. Fehlen da nicht einige Bilder? Oder wo findet man die, damit ich das etwas ausführlicher in die C64-Wiki bringen kann?

    Vielen Dank H.T.W und Lars. Hier habe ich ein paar Bilder von einem EPROM in einem C64neu. Mit dem größeren Kippschalter (mit Mittelstellung) kann man zwischen (Normal-) JiffyDOS, CBM und S-JiffyDOS umschalten. Der kleinere Schalter mit Diode braucht man nur, falls man zusätzlich SJD mit deutscher Tastaturbelegung will, die meisten User werden ihn weglassen. Diese Möglichkeit mit den aufgebogenen Pins und direkt angelöteten Widerständen halte ich für die einfachste.

  • Hier habe ich ein paar Bilder von einem EPROM in einer 1541-II. Mit dem Kippschalter (2 x um mit Mittelstellung) kann man zwischen (Normal-) JiffyDOS, CBM und S-JiffyDOS umschalten. (Die zwei Kontakte daneben sind ein Resettaster.) Die Leitungen sind:
    gelb = A15 des EPROMs
    blau = A14 des EPROMs
    rot = A14 des 6502
    schwarz = Masse
    (grau-schwarz = Reset)
    Diese Möglichkeit mit dem extra angefertigten Sockel halte ich für kompliziert. Die Version mit aufgebogenen Pins und direkt angelöteten Widerständen (siehe C64) halte ich für die einfachere, empfehlenswerte; nur habe ich leider keines zum Abfotografieren.