PET/CBM Diagnostik Platine

  • Viele defekte PET/CBM Computer laufen ja wieder, wenn man eine 6502-RAM-ROM Karte rein steckt.

    Die 6502 RAM/ROM Karte finde ich einfach genial.



    Allerdings würde ich mir "etwas mehr" wünschen:

    • größerer FLASH Speicher
    • Software konfigurierbar statt DIP Switch
    • per Software abschaltbar
    • Diagnostik Funktionen
    • automatische Erkennung der Hardware



    Gibt es eigentlich eine Möglichkeit, per Software das CBM Modell zu erkennen?

    Womöglich gibt es dazu schon fertigen Code der da einfließen könnte?


    Klar könnte man Prüfsummen über das Kernel ROM bilden ...

    ... aber was wenn die ROM alle defekt sind?



    Ich hätte gerne ein Startmenü am Schirm.

    Wenn das nicht geht, durch Blinkzeichen eine Fehler Diagnostik.



    Das Startmenü zeigt die erkannte Hardware an und bietet eine Programmauswahl:

    • Diagnostik Menü (Sammlung an Software im FLASH Speicher, in einem Untermenü wählbar)
    • Start des PET/CBM (Karte abgeschaltet)
    • Start des PET mit eingestellter Konfig (DIP Switch: internes/externes RAM, internes/externes ROM)
    • übersteuern der DIP Switch Konfig
    • Funktionen für erweiterten ROM ($9, $A, $B ROM) - einblenden von Tools und Programmen



  • Allerdings würde ich mir "etwas mehr" wünschen:

    größerer FLASH Speicher
    Software konfigurierbar statt DIP Switch
    per Software abschaltbar
    Diagnostik Funktionen
    automatische Erkennung der Hardware

    Als Hardware ginge bestimmt MegaloDOS, das hätte auch ein Display.


    rest wäre "nur" Software?

    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

  • Wie ich es auch drehe und wende, die Anordnung der Bauteile wie Nicolas das gemacht hat, ist einfach die perfekte Anordnung ...


    RAM habe ich kurzerhand auch gleich erweitert auf 128KB.

    Langsam nimmt es Form an.


  • Aber die ROM-Version kann ich dann doch über den Dip-Switch auswählen, oder?

    Und bei $9-$B kann man RAM einblenden?

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Wie ich es auch drehe und wende, die Anordnung der Bauteile wie Nicolas das gemacht hat, ist einfach die perfekte Anordnung ...

    danke für die Blumen!


    Hatte mir damals schon ein wenig was dazu überlegt, das war so die am besten zu routende Option. Da hast du was vor dir, wenn du mehr über den CPLD routen willst, aber sparst dir dafür ja die Leitungen zum DIP Schalter.


    Wie soll der CPLD programmiert werden? Ich fände es über JTAG nett, wenn dann noch genug Pins frei bleiben für die Funktionen. Dann ging es auch als SMD auf der Unterseite. (nur als Option, für die SMD-Phobiker)

    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

  • Als Hardware ginge bestimmt MegaloDOS, das hätte auch ein Display.

    Da hast du recht.

    Das wäre schon die ideale Hardware.


    Allerdings kann ich die Chips nicht löten.

    Und ich kann auch diesen Lattice CPLD nicht wirklich programmieren.


    Aber stimmt genau, ein ATMEGA 323 mit drauf wäre gar nicht so blöd.

    Drehencoder und OLED oder LCD Display ...



    Dann könnte man auch gleich die ganzen 8296 Features mit dem Atmega schalten:

    • NO-ROM
    • RAM-ON
    • RAM Sel 9
    • RAM Sel A
  • Ich fände es über JTAG nett, wenn dann noch genug Pins frei bleiben für die Funktionen.

    Die JTAG Pins lasse ich immer frei, sonst ist es so schwierig den neu zu programmieren. :)

    Außer beim FE3, da musste ich auch die JTAG Pins verwenden.


    Tja ein Wannenstecker, optional zu bestücken, das würde re-programmieren vereinfachen.

    Allerdings ist das normalerweise ja nie notwendig ...

  • Tja ein Wannenstecker, optional zu bestücken, das würde re-programmieren vereinfachen.

    Allerdings ist das normalerweise ja nie notwendig ...

    Kommt drauf an. Ist der CPLD in SMD unten "vorbestückt" muss man es ja wenigstens einmal programmieren. Und ich hatte ja verschiedene Varianten für den GAL gemacht: PET, VC20, 1541/71. Denke nicht dass man das alles per Softkonfiguration abdecken kann, aber da will ich dir nicht reinreden und halte mich gespannt zurück. Du hast ja grad einen kreativen Lauf :juchee:

    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

  • Kommt drauf an. Ist der CPLD in SMD unten "vorbestückt" muss man es ja wenigstens einmal programmieren.

    Also zumindest die ersten Prototypen werden bestimmt PLCC Sockel haben.

    Und da kann man den CPLD ja wieder sehr einfach raus nehmen zum programmieren.


    Aber du hast recht, wenn man eine SMD Variante andenkt, dann braucht es einen JTAG Anschluss ...


    Bisher habe ich nirgendwo den CPLD als SMD Version verwendet.

    Wäre mal was neues, der Nachteil ist halt, der Nachbau ist dann vielen verwehrt.

  • Wäre mal was neues, der Nachteil ist halt, der Nachbau ist dann vielen verwehrt.

    Wenns geht, hätte ich schon beide Optionen offen gehalten, dann kann jeder selbst entscheiden. So ein riesen PLCC Klotz im PET sieht halt auch nicht schön aus, da ist verstecktes SMD schon schöner ;)

    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

  • Aber die ROM-Version kann ich dann doch über den Dip-Switch auswählen, oder?

    Und bei $9-$B kann man RAM einblenden?

    Nee, die ROM Version kannst du direkt am Schirm auswählen.

    Es kommt zuerst ein Menü, da wählst du wie der pet starten soll.


    Die Dip Switch sind nur zur Grund Einstellung, vielleicht lasse ich sie auch ganz weg.

  • Tja ein Wannenstecker, optional zu bestücken, das würde re-programmieren vereinfachen.

    Allerdings ist das normalerweise ja nie notwendig ...

    Du meinst, es wir nie ein Update geben? Sicher? ;)


    Wie kann man den CPLD denn überhaupt programmieren? Was für ein Tool braucht man dafür?

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Wie kann man den CPLD denn überhaupt programmieren? Was für ein Tool braucht man dafür?

    Das ist eben der Nachteil am CPLD.

    Das braucht man einen JTAG Adapter:


    https://oe7twj.at/index.php?title=ATF150x

  • Aber die ROM-Version kann ich dann doch über den Dip-Switch auswählen, oder?

    Und bei $9-$B kann man RAM einblenden?

    Nee, die ROM Version kannst du direkt am Schirm auswählen.

    Es kommt zuerst ein Menü, da wählst du wie der pet starten soll.

    Mmmh. :grübel:


    Als Option fände ich das ganz nett. Aber wenn man das bei jedem Start auswählen muss, dann ist man doch ziemlich weit vom Verhalten eines Original CBMs entfernt. Das fühlt sich dann ja so an, als hätte man eine Emulation laufen.


    EDIT: Mach das doch so. Einfach noch ein paar Dipschalter dazu, über die man die Start-ROM-Version fest einstellen kann. Und eine Version enthält dann ein Start-Menü, über das man die ROM-Version am Bildschirm auswählen kann. Dann kann das jeder einstellen, wie er möchte. Und der CPLD müsste das doch hergeben, oder?

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    3 Mal editiert, zuletzt von detlef ()

  • Wie kann man den CPLD denn überhaupt programmieren? Was für ein Tool braucht man dafür?

    Das ist eben der Nachteil am CPLD.

    Das braucht man einen JTAG Adapter:


    https://oe7twj.at/index.php?title=ATF150x

    Was kostet so ein Teil? Sind die universell oder braucht jeder Chip einen eigenen?

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Der originale von Microchip kostet so 58 Euro.


    Der FT232 kostet 13 Euro.


    Das Shield dazu ist optional aber super praktisch.

    Die Teile sind im ein paar Euro beim Reichelt zu bekommen.

    Die PCB halt, der Versand hauptsächlich.


    Die CPLD bekommt man bei Microchip um knapp unter 4 Euro.

    Beim Ali habe ich die um 2 Euro gekauft, 20 Stück, alle funktionieren tadellos.

  • Als Option fände ich das ganz nett. Aber wenn man das bei jedem Start auswählen muss, dann ist man doch ziemlich weit vom Verhalten eines Original CBMs entfernt. Das fühlt sich dann ja so an, als hätte man eine Emulation laufen.

    Die IO am CPLD sind begrenzt.


    Dh. entweder internes Register das der 6502 sieht.

    Dann kann der PET die Konfiguration selbst ändern per POKE Befehl.


    Oder eben Stiftleiste.

    Dann kann man von außen konfigurieren.

    Also per Jumper, oder Dip Switch oder eben ein Atmel Controller wie beim MeGALoDOS.

  • Der originale von Microchip kostet so 58 Euro.

    Der FT232 kostet 13 Euro.

    Wenn ich damit nur den ATF150x programmieren kann, dann wäre das für mich schon grenzwertig. Könnte aber sein, dass ich das investieren würde.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Das ist schade. Bei einem Zwangsmenü bei jedem Start bin ich aber auf jeden Fall raus. Beim RAM/ROM-Board ändere ich die ROM-Version so gut wie nie. Das mache ich nur, um bei Reparaturen mal das Diagrom zu aktivieren. Dafür ein Menü, wo ich in 99 von 100 Fällen die gleiche Auswahl treffe, käme für mich nicht in Frage.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Bei einem Zwangsmenü bei jedem Start bin ich aber auf jeden Fall raus.

    Ob ein Menü kommt und wie es arbeitet ist letztlich ja nur Software.

    Also quasi der "Start Kernal".


    Wenn ich da einen Kernal flashe, der einfach nur in die Konfig 0 springt, dann hat man eben kein Menü nach dem Reset.



    Der Unterschied ist einfach nur, wer die Konfig steuern kann:

    • der PET durch ein CPLD Register
    • von "außen" durch Signale


    Beides ist möglich mit dem CPLD.

    Man muss sich nur entscheiden, was man denn gerne machen würde.



    Für ein Diagnostik Tool ist ein Menü sicher das praktikabelste.


    Für jemanden, der das Ding fix in seinem PET verbaut, mag eine andere Option praktikabler sein.

  • Bei einem Zwangsmenü bei jedem Start bin ich aber auf jeden Fall raus.

    Ob ein Menü kommt und wie es arbeitet ist letztlich ja nur Software.

    Also quasi der "Start Kernal".


    Wenn ich da einen Kernal flashe, der einfach nur in die Konfig 0 springt, dann hat man eben kein Menü nach dem Reset.

    Aber dann kann ich nicht mal eben auf einen anderen Kernel oder Diagnose-Rom wechseln, wenn ich es doch mal brauche.

    Unterm Strich bekomme ich dadurch weniger Komfort und weniger Flexibilität, als ich sie beim aktuellen RAM/ROM-Board habe.


    Aber wenn du dein RAM/ROM-Board als reines Diagnose-Modul siehst, dann ergeben sich natürlich andere Anforderungen.


    Ich habe das RAM/ROM-Bord vor allem in den PET 2001 stecken. Die sollen sich standardmäßig mit Basic 1 melden und die RAM-Erweiterung ist abgeschaltet - klar, ein Menü geht bei einem PET gar nicht. Manchmal ist es aber sinnvoll, mal schnell auf Basic 2 umzuschalten und den 32K Speicher zuzuschalten um CBM-Software laufen zulassen.

    In einem anderen PET mit alten ROMs und RAMs (6540 und 6550) ersetzt das RAM/ROM-Board die defekten nicht mehr beschaffbaren Bausteine.

    Und in einem CBM3032 nutze ich das Board, um ab zu mal auf Basic 4 umzuschalten. Um Basic 4 Software laufen zu lassen. Aber eben nur manchmal.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

    4 Mal editiert, zuletzt von detlef ()

  • Bin beim überlegen das Konzept drastisch zu vereinfachen.

    So ganz ohne CPLD.

    Stattdessen 2 GAL und ein LS373.

    Die GAL haben einfach den Vorteil, dass sie praktisch jeder programmieren kann.



    Wenn man den FLASH nur als FLASH Laufwerk sieht, dann braucht man kein feinkörniges Banking.

    • Flash nur als Massen Speicher für Programme und ROM Inhalte (16x 32K Bank)
    • der ganze Speicher ist immer 64K RAM (2x 64K Bank)
    • ROM Inhalte werden "geladen" und schreibgeschützt


    Man könnte das dann sogar als "Freezer" benutzen.

    NMI blendet eine eigene 64K Seite ein, mit eigener Zero Page.

    Programme könnte man so jederzeit unterbrechen und wieder aufnehmen.

  • So in etwa könnte es funktionieren ...



    Der 8296 hat das Banking Register an der Adresse $FFF0.

    Und es ist exakt ausdekodiert, auf 1 Byte genau.

    Hab es gerade ausprobiert ...


    Also lege ich mein Register mal auf die Adresse $FFF1.




  • Der 8296 hat das Banking Register an der Adresse $FFF0.

    Und es ist exakt ausdekodiert, auf 1 Byte genau.

    Hab es gerade ausprobiert ...


    Also lege ich mein Register mal auf die Adresse $FFF1.

    :) da näherst du dich meiner proxa7000 immer mehr :)

    ich hatte bei meinem ursprünglichem prototype auch mein register auf der adresse $FFF1 gehabt.
    dann überzeugte mich commodore, viele funktionen weg zu lassen.
    so benutzte ich dann den unbenutzten internen userport des cbm6/700 als register.

    gruß
    helmut

  • so benutzte ich dann den unbenutzten internen userport des cbm6/700 als register.

    Einen Moment lang habe ich auch mit diesem Gedanke gespielt.


    Aber dann ist das Board nur nutzbar, wenn man einen freien Userport hat.

    Davon kann man aber nicht ausgehen finde ich. :)

  • Aber dann ist das Board nur nutzbar, wenn man einen freien Userport hat.

    Davon kann man aber nicht ausgehen finde ich. :)

    ja, in den anderen pet/cbm geräten hätte ich den userport nicht benutzt.

    in den cbm-ii geräten ist er intern und kaum, eigentlich nie benutzt worden.

    ich selbst hatte da vorher nur eine rtc uhr vorher gebaut.


    gruß

    helmut