Hallo Besucher, der Thread wurde 28k mal aufgerufen und enthält 130 Antworten

letzter Beitrag von mister-freeze am

PLA - PLS100N / 82S100 programmieren

  • das ist schade...


    Mit den alten DOS Brenner von 1995, möchte ich nicht anfangen. Da habe ich grad eine abschreckende Geschichte zu gelesen...


    http://www.retrocmp.com/storie…to-setup-an-all07-prommer


    Nein, dann halt in den sauren Apfel beißen und einen TopmaxII beschaffen.


    Es geht im Moment um 50 IC's.
    Wenn Bedarf besteht könnten es auch noch mehr werden...


    Ich habe ein 'Angebot' für ein Brennauftrag dieser 50 Stk. über 200,-€ von einer Bekannten Firma, die auch Brenner produziert, bekommen.
    Tendiere aber im Moment dann eher zum Kauf eines Brenners...


    Vielleicht findet sich ja auch noch jemand, der so ein Teil stehen hat... ;)

  • wiso sind die PALs/GALs leistungsschwächer?

    Wegen...

    den vorteil GLEICHZEITIG 16 eingänge UND 8 ausgänge zu haben

    ...und damit einer deutlich größeren Logiktabelle. Die Logikterme der PLA im C64 passen einfach nicht in ein einzelnes OAL/GAL rein.


    Natürlich haben die GAL die Nase vorn wenn man die Funktionen der Makrozellen an den Ausgängen nutzen kann- die kamen aber _deutlich_ später; direkte Konkurrenz zu den SIgnetics-PLA waren allenfallls die Register-PALs.

  • wiso sind die PALs/GALs leistungsschwächer?die signetics PLA (82S10x, PLS10x, F9345x) hatt doch nur den vorteil GLEICHZEITIG 16 eingänge UND 8 ausgänge zu haben.


    16 Eingänge und 8 Ausgänge... da wären wir dann doch wieder bei den beliebten 27c512 Eprom Ersatz! :bgdev:ilikeit:

  • 16 Eingänge und 8 Ausgänge... da wären wir dann doch wieder bei den beliebten 27c512 Eprom Ersatz!

    Eproms sind nur leider zu langsam, bis zum Einschaltbild kommst Du mit ner Eprom-PLA. aber spätestens wenn Du Module in den Expansionsport steckst die ein bischen Timing-Kritiisch sind geht dir das ganze fliegen ...

  • 16 Eingänge und 8 Ausgänge... da wären wir dann doch wieder bei den beliebten 27c512 Eprom Ersatz!


    Eproms sind nur leider zu langsam, bis zum Einschaltbild kommst Du mit ner Eprom-PLA. aber spätestens wenn Du Module in den Expansionsport steckst die ein bischen Timing-Kritiisch sind geht dir das ganze fliegen ...

    ich habe die eprom-pla schon vor 30 jahren ohne probleme benutzt. spezial versionen für z.b. maschinensteuerung.
    es waren umgebaute c64 boards mit 128KB oder 256KB RAM, SRAM mit batterie und EPROM-Bank.


    die 128/256KB wurden über die CPU-I/O ports für die cassette und die geänderte eprom-pla angesteuert.
    und mit zusätzlichem internen SRAM und (EP)ROMs für autoboot, autoload, ramdisk, floppy-ersatz basic load usw..
    da die maschinen direkt nach dem stromausfall sofort, nach ein paar sekunden,
    ohne mühsammen programmladen, schnell weiterlaufen sollten.


    was soll denn bitte am expansionsport denn timing-kritisch sein?
    da ist doch normal auch nur rom, ram und i/o wie intern von der pla angesteuert.


    wird der epansionsport mit fremder hardware, die so nicht vorgesehen war oder normal nicht üblich,
    später zweckentfremdet (z.b. fpga, dma usw.) ist es doch das problem dieser hardware das timing ideal einzuhalten.
    ich glaube das sie eher probleme haben, das die neuen bauteile vom timing zuschnell reagieren auf signale
    und sie somit nur zusätzliche verzögerungen vorsehen müssen.


    gruß
    helmut


    ich hatte verschiedene pla versionen, eprom-pla, pla mit ttl-ics erweitert,
    pla mit zwei normalen pals (heutzutage würde ich gals nehmen), pla mit einem pal und ttl-ic,
    eprom-pla mit zusätzlichem ttl-ic usw.
    oft habe ich einfach die original pla genommen und diese mit ttl-ic kombiniert.

  • 250-ns-Eproms gehen natürlich nicht, aber witzigerweise treten die meisten Probleme mit den richtig schnellen Tyoen (unter 100 ns) auf. Deren steile Flanken erzeugen Überschwinger und Echos, sodaß bald gar nix mehr geht (moderne Erweiterungen mit FPGA und CPLD haben übrigens das selbe Problem!)


    Das eigentliche Problem liegt aber ganz woanders: Bei eienm Eprom ist weder garantiert, daßn alle Ausgänge gleichzeitig umschalten, wenn sich die Adresse ändert, noch ist gewährleistet daß wirklich direkt von 'alter Wert' auf 'neuer Wert' umgeschaltet wird- denn eigentlich geht so ein Eprom davon aus, daß die Adresse während eines Zugriffs stabil bleibt. Dadurch kann es passieren, daß für sehr kurze Zeit Signale aktiv werden, die eigentlich gar nicht am Geschehen beteiligt sind, bis hin zu solchen Scherzen wie 'ROM aktiv während CPU-Schreib-Zyklus'. Diese Bus-Kollisionen dauern zwar nur wenige Nanosekunden an, sind aber mitunter ein satter Kurzschluß auf dem Datenbus. Hier sind übrigens die modernen 120-ns-Chips im Vorteil- da stecken anscheinend (meine Theorie!) die Speicherzellen der schnelleren Chips drin, aber die Ausgänge wedren künstlich gebremst. Das reduziert dann die Umschalt-Effekte.


    Und daß der Ex-Port generell nicht timing-kritisch wäre kann ich so nicht unterschreiben. Schon die 'einfachen' Kernal-ROM-Cartridges sind da recht anspruchsvoll, wenn sie während des Taktzyklus' die Speicherkonfiguration ändern (und da hilft auch der manchmal verbaute zusätzliche Draht zum Prozessorport nichts)

  • Schon die 'einfachen' Kernal-ROM-Cartridges sind da recht anspruchsvoll, wenn sie während des Taktzyklus' die Speicherkonfiguration ändern

    Nun, wer sowas tut muss sich nicht wundern wenn seine Schaltung nicht überall funktioniert. Das läuft bei mir auf der Stufe der EPROM-PLA. Hübscher Hack, sicher auch nicht einfach, aber eben etwas was nicht garantiert funktioniert.

  • Nun, wer sowas tut muss sich nicht wundern wenn seine Schaltung nicht überall funktioniert. Das läuft bei mir auf der Stufe der EPROM-PLA. Hübscher Hack, sicher auch nicht einfach, aber eben etwas was nicht garantiert funktioniert.

    Warum sollte es nicht funktionieren? Die Worst-Case-Laufzeiten für die PLA und Gatter im C64 sind bekannt, ebenso die einzuhaltenden Setup- und Hold-Zeiten für Speicher und CPU. Wenn das Timing zusammenpasst, wüsste ich keinen Grund wieso es nicht garantiert funktionieren sollte - IIRC hatte skoe das auch mal für den Extern-Kernal-Modus des EF3 nachgerechnet.

  • Warum sollte es nicht funktionieren?

    Weil die C64 durchaus unterschiedliche Timings haben. Du hast 6 verschiedene PLAs (Fairchild, Signetics, MOS 7700, MOS 8700, 64pin mit und ohne Farb-RAM), zwei CPUs (6510 und 8500) dazu noch x Umbauten die die Signale belasten... Ich habe z.B. einen C64 bei dem will ein NMOS-EPROM am Expansionport nicht stabil laufen, woanders hingegen keine Probleme.

  • Ja, zu den verschiedenen Geschwindigkeiten der unterschiedlichen PLA Versionen schrieb Ray Carlsen damals schon:


    Even the original PLA Commodore used over the years was not the same for all boards.That IC had to be tailored to match the increasing speed of other chips in later versions of the C64, and Commodore started making their own MOSchips with the 906114-01 number. They were slightly faster than the original 82S100 PLA chips and some boards needed to be "tailored" to correct the timing. Example: R42 and C204 on boards 250425 & 250466.


    Und im C64 Wiki steht's ja auch nicht anders:


    Laut Schaltplan will die 251064-01 einen bestückten C204 mit 82pF haben. Das ist ein Kondensator zwischen GND und den CAS-Pins der RAMs (also nachdem CAS durch die PLA und R42 gelaufen ist). Die 906114-01 will hingegen einen C203 bestückt haben, 82 pF zwischen CAS am VIC und GND (also bevor CAS durch die PLA geht). Eine Ausnahme ist der 6569R3, dann darf C203 nicht bestückt sein.


    Man muss also ggf. das Board auf die langsamere 82S100 anpassen.
    Dafür -kann- es eine preiswerte Lösung sein mit den neu Programmierten Chips.


    Frage ist noch ob die Chips da oben von 01/87 oder 99/19 Woche sind - Sind die von 1999 könnten die wiederum Intern was schneller sein als gedacht.

  • Nun, wer sowas tut muss sich nicht wundern wenn seine Schaltung nicht überall funktioniert.

    Kernal-Caartridges waren Stand der Technik und haben bestens funktioniert- abzüglich der HIRAM-Problematik (der berüchtigte zusätzliche Draht zum Prozessorport).


    Bei den einfachen Modulen kann man ja das ROM auf eine interne Umschaltplatine setzen udn gut is'. Problematischer wirds aber bei Modulen a la Magic Voice, siehe dazu auch Bil Herd's Story über den Z80 im 128er.


    Unseen: Ich habe ja so meine Zweifel, daß die Kernal-Module a la DELA und REX auf irgendwelchen Timing-Analysen beruhen...

  • Kernal-Caartridges waren Stand der Technik und haben bestens funktioniert- abzüglich der HIRAM-Problematik (der berüchtigte zusätzliche Draht zum Prozessorport).

    Es ging mir hier eher um das im EF3 implementierte Verfahren.


    Ich hatte mich oben übrigens geirrt, es gibt 7 verschiedene PLAs im C64, ich hatte die Fujitsu-PLA vergessen, ist recht selten und hat die Teilenummer 251064-01. Deren Timing ist wieder leicht anders, erkennbar an den kleinen Hacks für /CAS.