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

letzter Beitrag von x1541 am

1541-II Schaltplan

  • Kennt jemand nen korrekten 1541-II Schaltplan?


    Ich hab hier gerade eine Platine liegen, mit Fehler "blinkt". D.h. das RAM soll defekt sein. Dieses hab ich getauscht, keine Besserung. Dann hab ich meine 6502 RAM/ROM Platine eingesetzt, und dort das RAM aktiviert. Läuft. d.h. in der Ansteuerung des RAM wird etwas defekt sein.


    Nun soll laut Schaltplan das CS Signal des RAMs über den LS42 und LS08 erzeugt werden. Aber meine Messungen sagten anderes, da war plötzlich noch der LS14 im Spiel.


    Auf Funet sind zwei Schaltpläne:
    Commodore:
    http://www.zimmers.net/anonftp…w/1541/1541-II.340503.gif
    Levente:
    http://www.zimmers.net/anonftp…ives/new/1541/1541-II.gif


    Der Commodore Plan verschweigt den LS14 ... Unbrauchbar.


    Leventes Plan ist fast korrekt, aber Pin 1 des LS08 ist unklar. Bei ihm geht er auf den Adressbus (wohin dort?), bei meiner Messung geht er auf Pin37 der CPU, also Phi0. Da hat Levente falsch gezeichnet :)


    Gibts irgendwo noch nen anderen Plan?

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Eine Verknüpfung mit dem Takt kann beim RAM sinnvoll sein um zu verhindern, daß zum falschen Zeitpunkt geschrieben und damit der Speicherinhalt zerstört wird.


    Im Übrigen scheint mir der /CS zum Bus-VIA im Commodore-Schaltplan richtig und im Levente-Plan falsch zu sein. Die VIAs liegen doch bei $18 und $1c, oder nicht? Das müssten am LS42 die Ausgänge 6 und 7 auf Pins 7 und 9 sein.


    Oliver

  • Eine Verknüpfung mit dem Takt kann beim RAM sinnvoll sein um zu verhindern, daß zum falschen Zeitpunkt geschrieben und damit der Speicherinhalt zerstört wird.


    Das macht man eigentlich über passende Verknüpfung des R/_W-Signales mit PHI0 oder PHI2 und das ist ja bei der 1541-II auch der Fall, schau nach wo R/_W fürs RAM herkommt.

  • Eine Verknüpfung mit dem Takt kann beim RAM sinnvoll sein um zu verhindern, daß zum falschen Zeitpunkt geschrieben und damit der Speicherinhalt zerstört wird.


    Die Verknüpfung ist in der 1541-II schon über das grosse Gate-Array gegeben. Dieses erzeugt ein separates R/W Signal für das RAM.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Jo. bzw. mit diesem jenem identisch ist.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Hehe, auch von Commodore.


    Ich geb momentan mal auf an der Platine, ich will nicht alles auf gut Glück sockeln. Mein Logiktester grad nicht greifbar ...


    Ausserdem reicht es mir momentan, wenn sie mit meiner RAM/ROM Platine läuft. Und dafür musste ich die CPU ja sowieso sockeln :D Das soll mein Versuchskarnickel für den Prologic DOS "Nachbau" geben.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Die Verknüpfung ist in der 1541-II schon über das grosse Gate-Array gegeben. Dieses erzeugt ein separates R/W Signal für das RAM.


    Und ich habe die ganze Zeit am fehlenden /CS gemessen.... Dieses war aber durch andere Faktoren beeinflusst und geht eigentlich. Floppy blinkt trotzdem.


    Des Rätsels Lösung, das modifizierte R/W vom Gate Array ist defekt. Ich habe testweise das RAM direkt an R/W von der CPU gelötet. Nun wird der RAM Test bestanden.


    Das Gate Array wollte ich eh noch sockeln, weil ich Experimente mit dessen 2MHz Modus vorhabe. Das kommt mir ja sehr gelegen, dass dieses defekt ist :aerger:

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Naja, die normale Bestückung der 1541-II kann keine 2 MHz, zumindest die VIAs sind bei allen die ich habe nur 6522 und keine 6522A.


    Wenn nur das R/W vom Gate-Array defekt ist, dann bau doch die übliche Schaltung nach um PHI2 mit R/_W zu verbinden. Kostet einen halben 74LS00 und dann stimmt R/_W zum RAM wenigstens immer. Siehe Schaltplan Short board.


    Funktioniert die Floppy sonst, oder ist da noch mehr zerbröselt?

  • das war nur eine lose Platine aus einem Schrotthaufen. mit LW dran liest und schreibt es nun tadellos.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN