Unterschiedliche PLA Versionen bei CBM-II 600er und 700er Serie!?

Es gibt 58 Antworten in diesem Thema, welches 9.086 mal aufgerufen wurde. Der letzte Beitrag (15. April 2015 um 16:56) ist von HofMar.

  • Ich kann zumindest bestätigen, das die Gleichungen der -04 und der -05 PLA 100% identisch sind.
    Es sind lediglich die Ein-/Ausgänge vertauscht worden!

    Wenn der Fehler nur in den CBM610 aufgetreten ist, - und die Gleichungen ident sind, - ja dann! :)

    Ja dann ist das eine korrigierte -04 PLA!

    Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Oder es hat nie an der PLA gelegen. Es geistert auch noch der Hinweis durchs Netz, daß für das funktionieren der Coprozessorplatine im 610er irgendwo Pullup- bzw. Pulldownwiderstände nachgerüstet werden müssen.
    Wenn ich eine bekomme, werde ich der Sache auf den Grund gehen :)

    Für den Triumph des Bösen reicht es, wenn die Guten nichts tun.
    Edmund Burke (1729-1797)

  • Ok... ich muß mich korrigieren. Es sind die Files von dir Christian:

    Da scheint die Polarität der Eingangsignale unterschiedlich zu sein; Deine Prüfsumme weicht auch ab.

    Als Nachweis bleiben uns zwei Möglichkeiten: PLA brennen mit Deinen Daten auf meinem Brenner...

    oder besser: PLA-Eprom-Adapter nehmen (bauen) und das PLA wie ein Eprom auslesen und diese Dateien
    mit dem von mir simulierten PLA vergleichen!

    So... als nächstes schaue ich mal was die -04 und -05er unterscheidet.

    Hmmm... Die Prüfsumme, die mein Brenner bei der -05 errechnet hat, entspricht aber der, die Commodore aufgedruckt hat.
    Das wird doch eher kein zufall sein, oder ?

    Zumindest die selbst erzeugten Dateien kann das Ding ja offenbar fehlerfrei brennen,
    die -04, die ich damit gebrannt habe funktioniert ja im CBM 610.

    Das gaze macht die Sache irgendwie auch nicht schlüssiger.

    Für den Triumph des Bösen reicht es, wenn die Guten nichts tun.
    Edmund Burke (1729-1797)

  • Hmmm... Die Prüfsumme, die mein Brenner bei der -05 errechnet hat, entspricht aber der, die Commodore aufgedruckt hat.
    Das wird doch eher kein zufall sein, oder ?

    Zumindest die selbst erzeugten Dateien kann das Ding ja offenbar fehlerfrei brennen,
    die -04, die ich damit gebrannt habe funktioniert ja im CBM 610.

    Das gaze macht die Sache irgendwie auch nicht schlüssiger.

    Ich habe eine mögliche Erklärung: Der Hilo-Brenner bzw. die Software hat wohl einen Fehler: Dort werden angeblich die
    Polaritäten im JEDEC File vertauscht. Wenn das nun beim lesen und schreiben passiert, hebt sich der Fehler auf!

    Daher wäre der EPROM-PLA Adapter wertvoll: Dann könnte man den Fehler ganz genau eingrenzen bevor PLA verbrannt
    werden! (Und so günstig komme ich an keine PLAs mehr dran...)

    Wenn Commodore auch einen Hilo-verwendet hat, würde es das erklären.

    Meine Checksum stimmt übrigens mit der eines Data-I/O Brenners überein; daher steht es es 2:1!
    Aber d.h. wohl auch: Wenn Du mir ein JEDEC File sendest, kann ich es nicht verwenden - ohne "Hand anzulegen".

    Aber: Sobald Du mir genügend Material schickst, erweitere ich den Simulator so, das er auch das Jedec entsprechend
    korrigieren kann. :smile:

  • Die spannende Frage bleibt auch: Welches JEDEC File ist korrekt?

    So ganz eindeutig ist das - wie ich finde - nicht:

    Dataman 48Pro2 und "mein" TopMax2 liefern das gleiche Ergebnis.
    Aber der All-03 (hilo) und der Data-I/O das andere Ergebnis!

    Und in meinem Simulator bin ich verunsichert, weil die Eingänge aus meiner Sicht negiert werden, wo es nicht sein sollte.

  • Stellt sich auch die Frage, was rauskäme, wenn man ein JEDEC vom anderen System programmiert.
    Hat man dann die PLA gebrickt, oder funktioniert das trotzdem ?

    Für den Triumph des Bösen reicht es, wenn die Guten nichts tun.
    Edmund Burke (1729-1797)

  • GuMo! ^^

    Ich habe nun mal die Gleichungen für die Ausgänge F2 und F7 aus dem
    Schaltplan des P500 genommen:

    Die beiden Ausgangs-Signale werden aus diesen am PLA anliegenden Signalen gebildet:
    (! bedeutet Low-Aktiv)

    I0 = SR/!W
    I1 = !AEC
    I2 = !BA
    I5 = PROCVID
    I7 = !CLRNIBCS
    I8 = S02

    Das sind die Gleichungen laut Schaltplan:

    F2 = !CLRNIBCS * S02 * BA
    F7 = AEC * PROCVID * SR/!W

    umgeschrieben - und unter Berücksichtigung der Eingangssignal-Polarität:

    F2 = !I7 * I8 * !I2 und
    F7 = !I1 * I5 * I0

    Nun die wesentlichen Teile des JEDEC Files - ausgelesen mit einem ALL-03 von Hilosystems:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Die für die Ausgänge F2 und F7 relevanten Gleichungen (erkennbar an intakter Fuse) stecken in Zeile L00320 (F7) und L00360 (F2).

    Hier kann man auch sehen, das in Zeile L00320 (F7) alle Fuses bis auf die für I0, I1 und I5 zerstört sind.
    Für L00320 (F2) sind es: I2, I7 und I8.

    Eine intakte Fuse ('01') im Ersten Byte besagt (laut Datenblatt): Positive Logik; d.h. das Eingangsignal geht 1:1 auf den Min-Term.
    Eine intakte Fuse im 2ten Byte ('10') besagt: Negative Logik; Eingangsignal wird negiert für den Min-Term.

    Daraus kann man also folgendes aus dem JEDEC auslesen:

    F2 = !I2 * !I7 * I8
    F7 = I0 * !I1 * I5

    Das stimmt also mit den aus dem Schaltplan entnommenen Gleichungen überein!

    Fazit: der Hilo ALL-03 erzeugt korrekte JEDEC Files bzw. Der TopMax2 und der Data-I/O erzeugen falsche JEDEC Files! :thumbdown:

    Glück im Unglück: Solange man nur ausliest und mit dem gleichen System brennt, heben sich die Fehler auf... aber ein Austausch der
    JEDEC Files ist erstmal nicht möglich!

    Als nächstes steht nun (mit Hilfe eines anderen Forenmitglieds) die Überprüfung mit einem per PALASM erzeugten JEDEC File an.

  • Auch wenn ich auf die Schnelle noch nicht so ganz mitkomme - da müsste ich erstmal den JEDEC-Standard studieren - sieht das schonmal sehr interessant aus.
    Sehr gut, daß Du Dich da so reinhängst, vielen Dank dafür!
    Ich habe bisher nirgends sonst gesehen, daß sich jemand in diese Materie so reinkniet - und damit für deutlichen Erkenntnisgewinn sorgt.

    Einerseits erfreulich, daß mein ALL-03 offenbar normgerechte Dateien erzeugt.
    Andererseits ärgerlich, daß andere Programmiergeräte das zum Teil nicht tun.

    Es gibt aber noch einen Punkt, der mich stutzig macht:
    Die Prüfsumme der -04 PLA aus dem CBM 610 aus dem ALL-03-File stimmt nicht mit der auf dem Aufkleber überein.

    Für den Triumph des Bösen reicht es, wenn die Guten nichts tun.
    Edmund Burke (1729-1797)

  • Auch wenn ich auf die Schnelle noch nicht so ganz mitkomme - da müsste ich erstmal den JEDEC-Standard studieren - sieht das schonmal sehr interessant aus.
    Sehr gut, daß Du Dich da so reinhängst, vielen Dank dafür!
    Ich habe bisher nirgends sonst gesehen, daß sich jemand in diese Materie so reinkniet - und damit für deutlichen Erkenntnisgewinn sorgt.

    Einerseits erfreulich, daß mein ALL-03 offenbar normgerechte Dateien erzeugt.
    Andererseits ärgerlich, daß andere Programmiergeräte das zum Teil nicht tun.

    Es gibt aber noch einen Punkt, der mich stutzig macht:
    Die Prüfsumme der -04 PLA aus dem CBM 610 aus dem ALL-03-File stimmt nicht mit der auf dem Aufkleber überein.

    Das ist in der Tat etwas "unschön"... aber das wir grundsätzlich nutzbare JEDECs auslesen ist zumindest mal beruhigend.
    Ich wäre auch nicht verwundert, wenn C= dort nicht die Prüfsumme der Fuses, sondern z.B. deren Sourcefile o.ä.
    draufgedruckt hat. Aber ich werde es mit dem mir vorliegenden Rev.2 PLA (aus dem 326er Board) nochmal
    testen bzw. einfach beide Prüfsummen erzeugen und vergleichen.

    Auf jeden Fall muß ich meinen 82S100 Simulator anpassen, damit er auch mit richtigen (also nicht meinen eigenen JEDECs!)
    umgehen kann... ich werde auch mal bei eetools (Hersteller meines Programmers)
    einen Fehlerbericht einreichen. Aber - so aus meiner Erfahrung - wird das wenig bringen:

    Die werden die Software wegen einer Randgruppe (sprich: uns) nicht ändern wollen weil:

    1. Es ist ein Breaking change (Massives Risiko bei bisherigen Kunden).
    2. Kosten/Nutzen eher gering
    3. Fehlende Einsicht in die Problematik


  • Es gibt aber noch einen Punkt, der mich stutzig macht:
    Die Prüfsumme der -04 PLA aus dem CBM 610 aus dem ALL-03-File stimmt nicht mit der auf dem Aufkleber überein.

    Stimmen denn die Prüfsummen der anderen?

  • Auch wenn ich auf die Schnelle noch nicht so ganz mitkomme - da müsste ich erstmal den JEDEC-Standard studieren - sieht das schonmal sehr interessant aus.

    Ich bin nicht so gut im erklären... aber frag' ruhig; ich versuche dann besser zu erklären
    was ich da wie gemacht habe! :dafuer:

    So auf die schnelle: Jede '1' bedeutet: Fuse zerstört. '0' bedeutet: Fuse bleibt intakt.

    Die Aufteilung in Zeilen und Spalten habe ich so gewählt, das jede Zeile einem Min-Term (AND Verknüpfung aller relevanten Eingänge) entspricht.
    D.h. die ersten 2x 16 Bytes besagen welche Eingänge für diesen Term verwendet werden.

    Die letzten 8 Byte (Fx-Spalten) einer Zeile besagen, auf welchen Ausgang dieser Min-Term Einfluß hat.
    ('1' heisst: Der Minterm wirkt sich nicht aus -> die Verbindung (Fuse) wird zerstört.)

    Alle für einen Ausgang relevanten Min-Terme (also die mit '0' in der jeweiligen F-Spalte werden mit OR verknüpft).

    Die 8 einzelnen Byte in am Schluß (L1920) geben nur an, ob nach allen Verknüpfungen der Ausgang noch invertiert werden soll.
    Die von mir betrachteten F2 und F7 haben dort eine '0' -> Keine Invertierung.

  • Stellt sich auch die Frage, was rauskäme, wenn man ein JEDEC vom anderen System programmiert.
    Hat man dann die PLA gebrickt, oder funktioniert das trotzdem ?

    Jo... die ist dann hinüber.

  • Einen Eprom-PLA-Adapter habe ich für dich über. Dank deiner Hilfe, benötige ich ja keine PLA-Eproms mehr. ;)

    Systemshock war eines meiner ersten Computerspiele auf CD-Rom, welches mich sehr gefesselt hat. Wer oder was ist SHODAN: Bitte melde dich an, um diesen Link zu sehen.

  • Einen Eprom-PLA-Adapter habe ich für dich über. Dank deiner Hilfe, benötige ich ja keine PLA-Eproms mehr. ;)

    Wenn Du Ihn wirklich nicht mehr brauchst, nehme ich den gerne an... damit könnte ich sicherstellen, das die JEDEC Files die ich auslese
    (und sofern nichts dagegen spricht auch öffentlich mache) auch wirklich 100% OK sind.

    Und ich spare mir natürlich das löten eines Adapters... :bgdev

  • Kannst du gerne haben. Ich gehe mal davon aus, das es zwischen den CBMs und dem C64 keine Unterschiede bei der Belegung gibt. Alles Weitere per E-Mail.

    Systemshock war eines meiner ersten Computerspiele auf CD-Rom, welches mich sehr gefesselt hat. Wer oder was ist SHODAN: Bitte melde dich an, um diesen Link zu sehen.

  • Stimmen denn die Prüfsummen der anderen?


    Zumindest die -05 vom CBM 710 stimmt. Bei denen vom P500 (-02 und -03) sind leider keine angegeben.

    Für den Triumph des Bösen reicht es, wenn die Guten nichts tun.
    Edmund Burke (1729-1797)


  • Zumindest die -05 vom CBM 710 stimmt. Bei denen vom P500 (-02 und -03) sind leider keine angegeben.

    :tischkante:

  • So schlimm ist das Adapterbauen aber auch nicht.
    Ich hatte mir die fix aus ein paar P- Sockeln gebaut.
    Einen für Eprom als PLA und einen für PLA als Eprom (die sind nicht gleich) um RealPLAs zu testen.

  • So schlimm ist das Adapterbauen aber auch nicht.
    Ich hatte mir die fix aus ein paar P- Sockeln gebaut.
    Einen für Eprom als PLA und einen für PLA als Eprom (die sind nicht gleich) um RealPLAs zu testen.

    Ist es auch nicht... aber ich habe einen (zugegeben übertriebenen) Hang zum Perfektionismus bei manchen Sachen.

    Ich würde - wenn ich das selber machen würde - wohl nicht davor zurückschrecken ein Layout zu machen und Platinen
    machen lassen - auch wenn dies wirtschaftlich gesehen völliger Käse ist!

    Aber bei manchen Sachen gehe ich keine Kompromisse ein! ;)