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

letzter Beitrag von Starkiller am

S-JiffyDOS für 1541

  • Noch eine andere Frage dazu. Wenn man das ganze mit einem AVR oder HEX-Codierschalter ansteuern möchte, wie muß man das ganze dann verkabeln?


    Funktioniert dieses Schema:
    A14 Dauerhaft an 6502
    CBM ... A14->HI, A15->HI
    JIFFY ... A14->HI, A15->LO
    S-JIFFY ... A14->LO, A15->LO


    Auf A14 müßte dann jedoch vermutlich der Widerstand entfernt werden.


    Die Verkabelung jetzt auf ein 27C512 EPROM bezogen.

  • Zitat

    Wenn ich ein 27C256 mit SJiffy für eine 1541-II brenne, brauche ich doch weder einen Umschalter noch irgendwelche Pins hochbiegen oder Widerstände, oder?
    Einfach EPROM in den Sockel und sollte schon funktionieren.

    Nein, leider nicht. A14 wird auf der Platine nicht vom 6502 zum (EP)ROM geleitet. Du musst den A14-Pin vom EPROM wegbiegen und über einen Draht direkt mit A14 vom 6502 verbinden.

  • Ich würde den Schalter so beschalten, dass in Bezug auf die Schalterstellung die Reihenfolge JD-CBM-SJD ist (nicht CBM-JD-SJD). Im CBM-DOS war noch Platz, damit die SJD-IRQ-Routine auch ins CBM-DOS passt, sodass man zwischen SJD und CBM absturzfrei umschalten kann (, solange die 1541 in der Warteschleife ist).
    CBM ... A15->HI, A14->HI
    JIFFY ... A15->HI, A14->LO
    S-JIFFY ... A15->LO, A14 verbunden mit A14 vom 6502
    Dafür würde auch ein Kipppschalter 2 * um mit Mittelstellung reichen.
    A15 und A14 habe ich mit einem 10kOhm-Pullupwiderstand verbunden, der sicherstellt, dass die Pins auf high gezogen werden, wenn der Schalter zu ihnen offen ist. Der 6502 kann diese 0,5mA problemlos nach low ziehen, wenn A14 verbunden ist. Da er laut Datenblatt 1,6mA verträgt, wundert es mich, dass er mit 1mA beim ROM-el Probleme hat.

  • können die 4,7kOhm Widerstände das Problem sein?


    Die kommen am ROM-el und am ROM-Adapter von X1541 zum Einsatz. Und selbst mit der Verdrahtung von dir mittels Kippschalter treten bei mir weiterhin BAD BLOCKS auf, wenn ich den Adapter von X1541 verwende.

  • Zitat

    können die 4,7kOhm Widerstände das Problem sein?
    Die kommen am ROM-el und am ROM-Adapter von X1541 zum Einsatz. Und selbst mit der Verdrahtung von dir mittels Kippschalter treten bei mir weiterhin BAD BLOCKS auf, wenn ich den Adapter von X1541 verwende.

    Ich denke eher nicht, aber du könntest sie mal durch 10kOhm-Widerstände ersetzen.
    Hast du die Mechanik schon gewechselt?
    Lies doch mal das SJD-DOS mit read-hidden-dos.prg von einer vorherigen Mail aus und mail es mir.
    Hast du schon eine Disk im neuen SJD-Laufwerk formatiert, hier das File gespeichert und getestet?

  • Zitat

    I'm trying to generate the SJD for the 1541 old but it ask for a 16KB file .... the 1541 has 2 8KB files ...
    regards

    The online-patcher needs the entire 1541-JiffyDOS from $c000-$ffff in one 16kB-file. You would have to merge the two DOS-halfs first, then use the online-patcher and at the end split the received file in four parts and merge the first with the third one and the second with the fourth one. Alternatively you could try to understand and to use the version from http://home.arcor.de/jochen.adler/ajnhome.htm
    -> SJD-1541 instructions
    -> S-JIFFYDOS-1541 diskimage .d64

  • Kann man nicht auch bei der alten 1541 alle 3 Systeme in einem einzigen EPROM unterbringen? Warum ist die Schaltung so anders (abgesehen vom Adapter natürlich)? Kann man nicht die passenden Adressleitungen vom LO-ROM und HI-ROM auf dem Adapter zusammen führen?
    Oder übersehe ich da ein Detail, was die Sache auf nur einem EPROM so verkomplizieren würde, daß es sinnvoller ist, gleich zwei EPROMs zu beschalten?
    Es würde doch sicher auch unnötige Wärmeentwicklung vermeiden, wenn da nur noch ein Chip drin streckt, oder?

  • Zitat

    Kann man nicht auch bei der alten 1541 alle 3 Systeme in einem einzigen EPROM unterbringen? Warum ist die Schaltung so anders (abgesehen vom Adapter natürlich)? Kann man nicht die passenden Adressleitungen vom LO-ROM und HI-ROM auf dem Adapter zusammen führen?
    Oder übersehe ich da ein Detail, was die Sache auf nur einem EPROM so verkomplizieren würde, daß es sinnvoller ist, gleich zwei EPROMs zu beschalten?
    Es würde doch sicher auch unnötige Wärmeentwicklung vermeiden, wenn da nur noch ein Chip drin streckt, oder?

    Die Sache wäre/ist vermutlich möglich, aber nicht ganz so einfach:
    A14 vom 6502 muss immer mit dem/den EPROM(s) verbunden werden; hier würde sich nichts ändern.
    A13 vom 6502 ist auf der Platine nicht zu den EPROMs geführt, dies müsste zusätzlich per Kabel erfolgen.
    Das ChipSelect-Signal zu einem einzigen EPROM (muss im Bereich 8000-ffff low sein) müsste extra erzeugt werden. Entweder kann man es aus den beiden (getrennten) CS-Signalen für die beiden EPROMs erzeugen oder über einen Inverter aus A15. Die A15-Inverter-Methode wird bei der 1541-II original benutzt und muss bei der S-JiffyDOS- (und SUPRADOS-) 1541c als zusätzlicher Chip benutzt werden, weil die 1541c im Bereich 8000-bfff kein CS zum EPROM leitet.
    Ich denke, dass zwei CMOS-EPROMs schon deutlich weniger Wärme erzeugen als die Original-NMOS.

  • Ich hätte noch eine Frage zu der genialen Funktion @"ec
    Wie viele Zeichen kann die ausgeben? Kann es sein, dass maximal zwei Zeilen und 7 Zeichen ausgegeben werden, egal wieviele Fehler noch kommen?

  • Zitat

    o.k dann war das bei mir n Verständnisproblem ! Ich dachte man könne das mit dem - abschalten wie bei @"e+ und @"e-

    Sorry; ich hat's besser beschreiben können. Zum Abspeichern von Defaults steht nur 1Byte zur Verfügung; man kann maximal sieben Defaults festhalten; fürs Verify-Verhalten bei Format war kein Platz mehr.

    Zitat

    Ich hätte noch eine Frage zu der genialen Funktion @"ec
    Wie viele Zeichen kann die ausgeben? Kann es sein, dass maximal zwei Zeilen und 7 Zeichen ausgegeben werden, egal wieviele Fehler noch kommen?

    Da musste ich erst mal in meinem Quellcode von 1999 nachsehen. Die Fehlermeldung wird maximal (ungefähr) 88 Zeichen lang. Dies reicht für 21 defekte Blöcke auf einem Track. Man kann beim EC-Befehl den Startrack angeben. Beispiel: Du gibst @"ec" ein -> Du erhältst die Fehlermeldung, dass alle Blöcke auf Track 1 defekt sind. Da keine weiteren defekten Blöcke mehr angezeigt werden, weißt du nicht, ob auf Track 2 bis 35/40 weitere defekte Blöcke sind. -> Gib @"ec2 ein. Der Befehl startet jetzt bei Track 2 und zeigt dir die nächsten defekten Blöcke an, wieder bis der Spezial-Errorbuffer voll ist (88 Zeichen). Sollte dies wieder der Fall sein, dann kanst du mit @"ec3", @"ec4" weitermachen. Alternativ wäre zu überlegen so eine Disk zu entsorgen. Mit @"ec41" kann man soger defekte Blöcke auf Spur 41 testen.

  • Ok, Danke für die Infos.
    Wenn ich jetzt mit @eca+ die Fehler in die BAM eintragen lasse und mehr Fehler hätte, so dass ein 2. (oder mehr) Duchgang nötig wäre. Werden die, dann schon in die BAM eingetragenen, Fehler beim 2. Durchgang ignoriert, so dass ich mit mehreren Durchgängen alle Fehler in die BAM eintragen bekomme?

  • Zitat

    Wenn ich jetzt mit @eca+ die Fehler in die BAM eintragen lasse und mehr Fehler hätte, so dass ein 2. (oder mehr) Duchgang nötig wäre. Werden die, dann schon in die BAM eingetragenen, Fehler beim 2. Durchgang ignoriert, so dass ich mit mehreren Durchgängen alle Fehler in die BAM eintragen bekomme?

    Bei @"eca+ werden schon beim ersten Durchgang alle defekten Blöcke in der BAM als belegt eingetragen, selbst die, die nicht mehr in der Fehlermeldung angezeigt werden können. Wenn du alle defekte Blöcke in der BAM belegen willst, dann reicht ein einziger Durchgang. Wenn du alle defekten Blöcke in der Fehlermeldung lesen willst, dann brauchst du schlimmstenfalls 35 Durchgänge. Bereits in der BAM belegte Blöcke werden trotzdem nochmals in der Fehlermeldung angezeigt.

  • . 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!

    Kann man diese Funktion eigentlich selbst ein/aus schalten?

  • Ah super, könntest du das bitte oben in den ersten Post mit einfügen?
    Ich habs mit dt+ und - probiert, ging aber logischer weise nicht.


    Wenn ich alles soweit durch habe versuche ich den Wiki Artikel diesbezüglich zu erweitern und zu vervollständigen.


    PS: ich weiss, dass es vom Speed her nicht wirklich was bringt s-jiffy für die 1571 zu machen, aber die vielen tollen zusätzlichen Funktionen wären in einer 1571 mal so richtig knorke ;)