PET/CBM Diagnostik Platine

  • Also es werden jetzt wohl ZWEI mal GAL22v10 werden, damit ich alles Betriebsmodi abbilden kann.


    Das Register ist aufgeteilt in zwei mal 4 Bit:

    1. Bit 0 bis 3: 16 Betriebs Modi
    2. Bit 4 bis 7: 16 Flash Banks


    Bis jetzt sind nur 4 Betriebs Modi (12 bis 15) und 6 Arbeitsmodi definiert.

    Es ist also noch Platz für Ideen und Notwendigkeiten die da kommen mögen.



    Das Board ist jetzt mal spezialisiert auf die Gegebenheiten des Commodore 8296.

    Ganz einfach weil es das einzige CBM Gerät ist das ich besitze.



    Aber grundsätzlich könnte das Board sehr einfach an jedes System angepasst werden, das eine 6502 CPU drin hat.

    Ein normaler PET könnte damit ziemlich aufgerüstet werden.

    Der 8296 hat ja von Natur aus schon fast alles.



    Es wird auch nach und nach JEDEC Dateien geben für alle 6502 Systeme die ich so besitze:

  • 8296 Doppel Floppy Laufwerk

    mit diesem Laufwerk bzw. der SFD1001 bin ich noch nicht recht weiter gekommen. Das 2 CPU System ist vom Timing her anspruchsvoller und lässt sich nicht so leicht zur Zusammenarbeit überreden. Nach Blick in den Schaltplan könnte es helfen, Phi0 zusätzlich zur Logik zu führen, um hier das Timing genauer steuern zu können. Die Floppy selbst macht es teilweise auch so. (Letztendlich müsse man es aber mal genau ausmessen, was da genau passiert. Im Moment denke ich, meine Steuerung des '245 schaltet den Datenbus zu spät ein oder zu früh ab, weil Schreib und Lesefenster in Wirklichkeit ja unterschiedlich sind.)


    Das Board ist jetzt mal spezialisiert auf die Gegebenheiten des Commodore 8296.

    ich hab gestern beim Schaltplan lesen (wieder-) entdeckt, dass die NOROM Leitung vom Expansionport zum CPU Sockel geführt wird. Die könntest du nutzen, um fremden Erweiterungen kompatibel zu bleiben. Oder aber sie selbst als Ausgang nutzen?

    Zuletzt repariert:

    10.11. defektes µT RAM im Apple //e ersetzt

    10.11. defektes µT RAM im Atari 130XE ersetzt

    12.11. VC20 mit black screen: defekter Videotransistor ersetzt

  • Die NoROM geht zum CPU Sockel????


    Das ist mal sehr überraschend für mich!


    Mir ist aufgefallen dass die 6502 einige NC hat.

    Aber das da was angeschlossen ist, darauf wäre ich nicht gekommen ...


    Hat sich Commodore da was dabei gedacht?

    Vielleicht eine "spezielle" 6502 CPU?

    Oder ist das für eine Erweiterungs Platine?

    Den Super PET?

  • 8296 Doppel Floppy Laufwerk

    mit diesem Laufwerk bzw. der SFD1001 bin ich noch nicht recht weiter gekommen. Das 2 CPU System ist vom Timing her anspruchsvoller und lässt sich nicht so leicht zur Zusammenarbeit überreden. Nach Blick in den Schaltplan könnte es helfen, Phi0 zusätzlich zur Logik zu führen, um hier das Timing genauer steuern zu können. Die Floppy selbst macht es teilweise auch so. (Letztendlich müsse man es aber mal genau ausmessen, was da genau passiert. Im Moment denke ich, meine Steuerung des '245 schaltet den Datenbus zu spät ein oder zu früh ab, weil Schreib und Lesefenster in Wirklichkeit ja unterschiedlich sind.)


    Hmmm, eigentlich hätte ich gehofft, dass es reicht einfach nur in der PHI 2 Phase zu selektieren?


    Wo liegt denn das Problem?

    Das RAM/ROM Board sitzt ja am 6502 Sockel.

    Und es wird einfach manchmal durchgeschaltet und manchmal auf die internen Speicher.


    Im Moment will es mir nicht einleuchte, wo da ein Problem ist?


    ====


    Man muss sich natürlich überlegen, welche CPU man auswählt.

    Ich denke dem Disk Controller würde etwas mehr RAM und ROM gut tun.


    Wahrscheinlich braucht man an der Bus Controller CPU gar nichts machen.

    Aber man kann ja auch einfach beide CPU ersetzen durch je ein Board.


    Was man natürlich NICHT so locker hin kriegt, das gemeinsame RAM zu erweitern.

    Ist aber auch gar nicht notwendig.




    Der Bus Controller fordert immer nur 256 Bytes an.

    Wenn der Disk Controller den Block bereits in seinem Extra RAM hat, dann ist der Block extrem schnell im Übergabe Buffer.


    Da der Bus Controller immer zwei Block Buffer belegt bei Datei Zugriff, werden die überschlagend befüllt.

    Ich denke der RAM Floppy Disk Controller befüllt die Buffer viel schneller als der Bus Controller die Daten weiter schieben kann ... :D

  • Man muss sich natürlich überlegen, welche CPU man auswählt.

    Ich denke dem Disk Controller würde etwas mehr RAM und ROM gut tun.

    So ist es. Es gibt ja das Speedos für 8250 und SFD 1001, das den Diskcontroller ROM von 1kB auf 2kB erweitert. das DOS ROM wird auch getauscht, ist aber nicht grösser.


    ich habs nicht geschafft mit dem standard 6502 RAM/ROM das zum laufen zu bekommen, dabei ist es nur ein simpler ROM Ersatz. Es läuft, wenn ich der 8250 Elektronik andere Adressen vorspiele, so dass sie kein eigenes ROM oder RAM oder I/O selektiert. Ich müsste nachsehen, aber da der Adressraum nur 8kB gross ist, muss das Speicherloch mit 3 der "kleineren" Adressleitungen selektiert werden. Also deutlicher Mehraufwand ...


    Ich gehe daher von einem Timingkonflikt aus, so dass mir das interne ROM durch seine verschobene Selektierlogik in die Suppe spuckt. Mir fällt nicht mehr ein, als das nachzubilden, aber habe es bisher nicht ausprobiert.

    Zuletzt repariert:

    10.11. defektes µT RAM im Apple //e ersetzt

    10.11. defektes µT RAM im Atari 130XE ersetzt

    12.11. VC20 mit black screen: defekter Videotransistor ersetzt

  • Der Steckbrett Aufbau läuft nicht besonders stabil. :(


    Mit verkürzten Drähten wird es etwas besser.


    Nun ja prinzipiell funktioniert es.

    Ich werde wohl einfach mal eine Platine machen lassen.

    Vielleicht habe ich Glück und es geht ja.



  • Die NoROM geht zum CPU Sockel????

    ja

    Hat sich Commodore da was dabei gedacht?

    wenn man den 6502 sockel für erweiterungen benutzt,

    dann hat man die möglichkeit alle roms on board abzuschalten.


    so gab es damals viele leute, die mit speichererweiterungen usw. probleme hatten,

    wenn keine original roms eingebaut waren.


    den 2532 eproms fehlte der zweite high aktive chip select pin.

    schon ein eprom konnte manche boards komplett blokieren.

    so hatte ich dann einen adapter im programm mit einem zusatz ic für den high aktiv cs-pin.


    gruß

    helmut

  • benutzt du auch no_rom?

    Nee.

    Benutze ich nicht.



    Das hat 2 Gründe:

    • die Platine soll für JEDES 6502 System funktionieren
    • es ist nicht notwendig, ich kann die PET ROM sowieso ausblenden durch den 74LS245
  • Nee.

    Benutze ich nicht.

    ja super,


    denn dann hätte ich dich gewarnt no_rom zu benutzen, das geht ja nur bei neuen und bei boards ohne verbauten eproms.


    aber warum und wiso hast du ja selbst auch noch beantwortet. :) :thumbup:

  • Etwas ganz ähnliches habe ich mir vor vielen Jahren zusammengezimmert. Allerdings ging es mir primär um die PET Analyse.

    ich wollte damals den RAM in 1 K Segmenten ein- und ausblenden können um direkt den defekten RAM Baustein ermitteln zu können. Das ROM war ebenfalls zur Fehlersuche in kleinen Segmenten einblendbar.

    Bei mir kamen 1 GAL 16V8 und 2 GAL 20V8 zum Einsatz und witzigerweise ebenfalls ein 29F040. Ich wollte das dann mal umrüsten auf einen EEPROM um direkt ins Rom schreiben zu können, habs dann aber nie gebraucht.

    Das ganze habe ich ebenfalls in ganz enger Anlehnung an den Adapter von x1541 gebaut. Mein Adapter sollte ja nicht im System verbleiben sondern nur eine ganz schnelle Ermittlung des Defekten RAMs oder ROMs ermöglichen. Deswegen hat die Größe bei mir keine Rolle gespielt. Auf dem Flash sind natürlich alle möglichen ROM-Varianten der PETs und CBMs bis hin zum 8000er drauf.

    Ich hatte dann noch einen per DIP Schalter einschaltbaren NOP-Generator, eine Reset-Taste und Leuchtdioden für den internen und externen Datenbus sowie den kompletten Adressbus (f. Adressdiagnose über NOP) ergänzt.


    Hab das Teil auf Grund dieses Threads mal wieder rausgekramt...das Design ist sicher verbesserungswürdig, aber da ist Diddl ja dran :thumbup::thumbup::thumbup: Fotos hänge ich gleich noch dran.

  • ich wollte damals den RAM in 1 K Segmenten ein- und ausblenden können um direkt den defekten RAM Baustein ermitteln zu können. Das ROM war ebenfalls zur Fehlersuche in kleinen Segmenten einblendbar.

    ja ich damals auch. genau die gleichen lösungen.

    Ich wollte das dann mal umrüsten auf einen EEPROM

    ja habe ich auch bei der neueren version vorgesehen.


    auch bei dem 23xx, dem eprom und später dem 6540 rom ersatz adaptern, habe ich eeproms vorgesehen

    und auch die mir zugelegt.


    damit man die auch ohne einen teueren eprom-programmer die adapter programmieren kann.

    da sind gerade Shadow-aSc, Franky und csdragon drann um meinen traum endlich zu verwirklichen.

    Mein Adapter sollte ja nicht im System verbleiben sondern nur eine ganz schnelle Ermittlung des Defekten RAMs oder ROMs ermöglichen.

    so habe ich es auch geplant eine größere version zum besserem benutzen, während einer reparatur.

    zum einfacherem einkreisen des fehlers und dann der preiswertere ersatz, zum verbleib, im rechner.

    Ich hatte dann noch einen per DIP Schalter einschaltbaren NOP-Generator,

    :) ja habe ich auch so vorgesehen, ist ja nur ein ttl ic mehr.

    ich habe es damals ja nur mit ttl ics gelöst und nun möchte ich es wieder nicht,

    wegen dem späteren nachbau, nicht unbedingt mit gals lösen.

    auf jeden fall die test version nicht mit den gals, falls mal was hops geht, beidem vielen testen,

    in unbekannten geräten, die zu einem treffen kommen.

    Hab das Teil auf Grund dieses Threads mal wieder rausgekramt...das Design ist sicher verbesserungswürdig, aber da ist Diddl ja dran :thumbup::thumbup::thumbup: Fotos hänge ich gleich noch dran.

    sehr schön, vielen dank für deine bilder :)

    gruß

    helmut

  • Warum?

    macht man schon mal, um Schablonen oder Filme oder dergleichen passgenau zu platzieren. Normalerweise aber ausserhalb der Nutzfläche des Kunden!!!

    Zuletzt repariert:

    10.11. defektes µT RAM im Apple //e ersetzt

    10.11. defektes µT RAM im Atari 130XE ersetzt

    12.11. VC20 mit black screen: defekter Videotransistor ersetzt

  • Groundplane: die (idR auf GND liegenden) Bereiche mit Kupfer zwischen den Traces. Wenn man da auf beiden Seiten welche hat will man die ja i.d.R beide auf dem gleichen Potential haben, also verbindet man sie überall da, wo sie eh nicht durch vias verbunden sind, mit zusätzlichen vias ohne Trace. Das nennt man unter anderem gerne "Stitching". Die beiden Flächen werden zusammengeflickt.


    Wobei beim GAL oben rechts ja eh normale Beine auf GND liegen, ich gehe davon aus, auch auf der anderen Seite?


    PS: mich nervt es ja schon, dass sie auf dem Silkscreen noch Dinge einfügen, kann man das unterbinden?

  • Wobei beim GAL oben rechts ja eh normale Beine auf GND liegen, ich gehe davon aus, auch auf der anderen Seite?

    Ja, alle IC Pin die auf Ground liegen sind natürlich oben und unten an der Massefläche.


    Und ich habe zwei VIA die einfach nur die Masseflächen verbinden, zur Sicherheit.



    Diese zwei Extra Löcher, die sind glaub ich nicht durch kontaktiert.

    Man sieh keinen metallischen Glanz in den Wänden der Löcher.



    PS: mich nervt es ja schon, dass sie auf dem Silkscreen noch Dinge einfügen, kann man das unterbinden?

    Ich glaub nicht, dass man das unterbinden kann.

    Da sehe ich keine Option in der Bestellmaske ...

    Das werden sie brauchen um die Platinen identifizieren zu können?


    Die stören mich weniger, das machen sie eh eher unauffällig.

  • Blöde Frage Diddl: Wie schaltest du die Modi , die Auswahl der ROM-Bank und der RAM-Bereiche um ?

    Edit:sorry, ich hätte den Thread besser lesen sollen.

    Aber du brauchst nun für jedes Gerätandere Jedec Files ?

  • macht man schon mal, um Schablonen oder Filme oder dergleichen passgenau zu platzieren. Normalerweise aber ausserhalb der Nutzfläche des Kunden!!!

    Ach so, das macht Sinn, ja, zum Glück sind die Löcher an Stellen wo es kein Problem macht.

  • Blöde Frage Diddl: Wie schaltest du die Modi , die Auswahl der ROM-Bank und der RAM-Bereiche um ?

    Brauchst Du für jedes Gerät ein anderes Jedec File ?


    Es gibt keine blöden Fragen, nur blöde Antworten.



    Ganz genau.

    Jeder Geräte Typ hat zumindest ein eigenes "Adress Decoder GAL".

    Da wird definiert wo das Zielgerät IO, externes ROM und RAM hat.


    Genau wie bei der RAM/ROM Platine von Nicolas. :)



    Ggf. muss man auch das andere GAL anpassen, wenn man andere Betriebsmodi möchte.



    Ich hab versucht es mal grob zu dokumentieren:

    https://oe7twj.at/index.php?title=6502-Extension

  • Ah okay, verstanden, aber wie schreibst du die Konfigurationsregister wenn Du die Platine z.B. in eine Floppy steckst ?

    Achja, Wenn gewünscht stelle ich den Plan und die GAL-Files natürlich gerne zur Verfügung, Im Grunde ist es ja nur eine erweiterte Version des bekannten RAM/ROM Adapters.

    Immerhin 3 "Likes":Dich häng die Dateien mal an, aber nicht mit Steinen schmeissen, im Schaltplan ist sicher einiges was fehlt (Kondensatoren) oder nicht zu Ende gedacht ist. Ich hatte das ja nur für mich gebaut. Passt ja hier zum Thema, soll aber nicht von diesem Projekt ablenken....

    Ich hab versucht es mal grob zu dokumentieren:

    https://oe7twj.at/index.php?title=6502-Extension

    Sehr schön:thumbup:, werde das aufmerksam verfolgen und stelle mich jetzt schon als Beta-Tester zur Verfügung :D

  • Ah okay, verstanden, aber wie schreibst du die Konfigurationsregister wenn Du die Platine z.B. in eine Floppy steckst ?

    Naja, die CPU fährt ja mit MEINEM Code hoch, da kann ich ja machen was ich mag:

    • ein Diagnose Programm
    • Speichererweiterung
    • andere Betriebssysteme (8050 Speed DOS)
    • ...