Hallo Besucher, der Thread wurde 124k mal aufgerufen und enthält 651 Antworten

letzter Beitrag von Saskia am

MockA65xx - Universeller MOS 65xx/85xx CPU Ersatz

  • Gerrit Ich lese aus androSID s Overlay von 8500 und 8501 was anderes, aber ich bin auch kein Profi.


    Ich meine zu erkennen, dass der I/O-Port-Bereich beim 8501 größer ist.

    Nein... Gerrit hat Recht


    Sieh mal genau hin: Beim 8501 erkennst Du in der unteren hälfte rechts 7 identische Strukturen. Das sind die beiden Register $0/$1.

    Beim 8500 sind dort 8 identische. Dafür ist der 3. Pin von rechts unten noch mit zusätzlicher Logik ausgestattet: GATE IN.

    Diese Logik steckt zw. dem 3 und 2. Pin von rechts (unten). Ein weiterer Teil ist oben...

  • Es gab mal eine Diskussion ob man aus dem Zustand der Portbits 7 und 6 des 6510 bzw. 8500 die Temperatuer der CPU ableiten könnte. Beide Bits auf Ausgang schalten, auf 1 setzen, dann auf Eingang schalten und messen bis die 1 zur 0 wird. Alternativ kam die Idee auf, ob man so vielleicht zwischen 6510 und 8500 unterscheiden könnte weil der 8500 die kleineren Strukturen hat und deshalb die Zeit kürzer ist.


    Das klappt aber nur wenn die Bits auch da sind.


    Bit 5 beim 8501 fehlt jedenfalls definitiv, man kann es nicht setzen.


    Ich meine zu erkennen, dass der I/O-Port-Bereich beim 8501 größer ist.

    Das würde sich mit dem 6510T aus der 1551 beissen... Diese CPU ist garantiert nur ein anders gebondeter 6510 und hat den vollen 8Bit-Port. Dafür fehlen 2 andere Signale (NMI und RDY meiner Erinnerung nach).

  • Nachdem ich die (nun nicht mehr ganz so) neuen Prototypen nun fast exakt 6 Monate "abhängen

    ließ, hab' ich mich vor ein paar Tagen ENDLICH wieder an die Arbeit gemacht: :loet


    VC20.jpg

    MockA65xx im VC20



    HP_L2035.jpg

    VC20 powered by MockA65xx



    Im Grunde ja erstmal nichts was nicht schon der erste Protoyp konnte... aaaaaber:


    Ich habe das Design des I/O Frontends kräftig überarbeitet bzw. sauber gestaltet und kann nun

    das Timing des Originals tatsächlich mit ca. 10ns Genauigkeit nachbilden.

    Weiterhin ist das ganze nun tatsächlich 100% Edge-Level exakt; der Chip arbeitet intern auch mit

    PHI1/PHI2 und latch'ed Daten auch an den gleichen Flanken wie das Original. :thumbsup:


    Weiterhin habe ich nun auch die lästige Aufgabe des SDC/Constraints erstellen für TimeQuest

    (mehr oder weniger... eher weniger*) erledigt und konnte damit noch kleinere "Flaws" (Glitches!)

    des 1sten Protoyp finden. :search:


    Als nächstes mache ich mich dann wieder an den 6510 und 8501. Wobei letzterer wohl der einzig wirklich wichtige

    von den ganzen Haufen ist. ^^ Die anderen sind ja noch gut erhältlich! Außer dem 6509 evtl. - der ist

    ja auch schon an der Goldbörse gehandelt worden.

  • Ich würde auch einen 6510 als Ersatz nehmen. Wieder etliche mA im SX gespart. Zum Schluss bleibt der eines Tages mit den ganzen Ersatzchips (die da hoffentlich noch kommen werden) ganz kühl und kann mit einer Batterie betrieben werden:-)

    Der kommt...


    Aber andere Frage: Hat hier jemand einen C900 rumstehen?

    Ich möchte ja gerne den 6508 aus eben diesem umsetzen... hab' aber selbst keinen 6508 mehr übrig.


    Es geht auch nur darum ein paar Messungen zu machen:


    Mich interessiert das Verhalten des Daten-/Addressbus und R/W# bei Zugriff auf's interne RAM.

  • Hmmm, mit dem Wunderwerk würden mir noch ganz andere Dinge einfallen …



    Der FPGA kann doch noch viel mehr als "nur" die CPU zu ersetzen!


    • In Circuit Emulator - direktes debug in einem beliebigen 6502 System
    • BRAM als SRAM verwenden und an beliebigen Stellen einblenden
    • IO simulieren



    Damit könnte man dann viele Dinge anstellen, nur durch Wechsel der CPU:


    • RAM Erweiterung für den VC-20
    • RAM Erweiterung für die VC-1541
    • Ultimativer Super Speeder für die 1541 (mit GCR Encoder/Decoder)
    • PET 8032 in einen PET 8296
    • verwandelnTheoretisch einen Super PET nachbauen (problematisch weil 2 CPU's, komplexer Speicher)…



    Kann man solche Platinchen fertig bestückt bei dir bekommen?

  • Der FPGA kann doch noch viel mehr als "nur" die CPU zu ersetzen!


    • In Circuit Emulator - direktes debug in einem beliebigen 6502 System
    • BRAM als SRAM verwenden und an beliebigen Stellen einblenden
    • IO simulieren

    Ist geplant bzw. angedacht:


    Das Board enthält zusätzlich noch:

    • UART-Port (RxD, TxD und RTR)
    • Tst-Port (Eingang o. Trigger-Ausgang)
    • 4-Bit Config Port (kann ich als 4-Bit I/O missbraucht werden).

    Damit sollte ein zusätzlicher Debug-Port geschaffen werden um z.B. Single-Step zu machen oder

    transparente Read/Write Zugriffe aufs RAM im laufenden Betrieb.


    Eine anderer Plan ist die Umsetzung einer Diagnose-Einheit: MockA65xx einstecken

    und das Zielsystem per dann per UART (mit vom aus PC gesteuerten Tests) auf Fehler

    abklopfen/diagostizieren.


    ....oder OTF RAM/ROM-Overlay: z.B. Jiffy DOS einbauen OHNE ROM zu tauschen etc.


    Leider habe ich mehr Ideen als Zeit.... daher dauert alles länger.

    (Zumal ich noch andere Umsetzungen parallel angefangen habe).



    TLDR;

    Der auf dem Protoyp verbaute MAX10M02 ist noch halbwegs leer... einfaches passt

    da noch rein und für größere Sachen mit mehr RAM Bedarf soll ein MAX10M08 o. sogar

    MAX10M16 (arschteuer) drauf - da wäre dann auch ordentlich Platz.


    Und wer selber coden will:

    Sobald die H/W final ist, legen wir ( Freak und ich) die

    Design-Files und Schematics auf gitlab ab. (War doch so, Thomas? ^^ )


    Zitat von Diddl

    Kann man solche Platinchen fertig bestückt bei dir bekommen?


    Ja... aber noch nicht sofort. Ein paar minimale Änderungen sollen in das Design noch

    einfliessen, aber dann wird das Teil in einer größeren Auflage gebaut werden. :)


    Es soll ja nicht in der Schublade verschwinden! :loet

  • ....oder OTF RAM/ROM-Overlay: z.B. Jiffy DOS einbauen OHNE ROM zu tauschen etc.

    Das wäre ja ein richtiger Knaller!

    Damit könnte man die drei Funktionen des EF3 parallel umsetzen, oder?

    (Kernal wählbar, Freezer, Cartridgespiel)

    Denn beliebiges Cartridge+Freezer geht bislang ja überhaupt nicht.

  • ....oder OTF RAM/ROM-Overlay: z.B. Jiffy DOS einbauen OHNE ROM zu tauschen etc.

    Das wäre ja ein richtiger Knaller!

    Beim 6510 habe ich das probeweise mal gemacht, weil ich die Farben des Original-Kernels so hasse.


    Was in welchem Umfang (RAM Expansion o. Overlay) machbar ist hängt natürlich auch davon

    ab, wie das Zielsystem aufgebaut ist (z.B. wegen Bus Kollisionen).

  • Ja... aber noch nicht sofort. Ein paar minimale Änderungen sollen in das Design noch

    einfliessen, aber dann wird das Teil in einer größeren Auflage gebaut werden. :)

    Cool, ich melde mich schon mal an!



    Mir geht der Wunsch nach FPGA in Retro Hardware schon sehr lange durch den Kopf.

    Aber wie habt ihr die 5V Problematik gelöst?


    Meine Ideen scheitern meist an 3,3 / 5V Probleme.




    Ich hab auch schon öfters mit dem GODIL geliebäugelt.

    https://shop.trenz-electronic.…kte/OHO-Elektronik/GODIL/

  • Beim ersten Prototyp mit aktiven Level-Shiftern (teilweise bi-direktional und teilweise nur uni-direktional).

    War ein ziemlicher Aufwand (Layout, Programmierung, Pin-Assignment etc.)


    Der zweite ist da viel einfacher gehalten (KISS-Prinzip):

    Einfache FET Bus-Switches mit schwachem Pull-up auf der 5Volt Seite.

    D.h. Bis ca. 3Volt ist das Signal schnell (3V reicht für TTL und tPD 250ps! ) und ab da wird's langsamer.



    Ich hab auch schon öfters mit dem GODIL geliebäugelt.

    https://shop.trenz-electronic.…kte/OHO-Elektronik/GODIL/

    Ja.... aber die sind soweit ich weiß seit langem nicht mehr lieferbar und da findet nur noch Abverkauf statt.


    Alternativ gibt's die hier noch (lieferbar):


    https://www.enterpoint.co.uk/p…-replacement/craignell-2/


    Habe selbst so ein "Craignell" rumliegen - aber nie benutzt.

    Was mir nicht gefällt: Es kann die Versorgung (Masse+Vcc) nur an bestimmten Pins erhalten.



    Diddl:

    Ich habe noch einige solcher Bus switches aufgelötet auf SSOP-to-DIL Adapter rumliegen.

    Falls Du mal experimentieren möchtest.... :whistling:

  • Diddl :

    Ich habe noch einige solcher Bus switches aufgelötet auf SSOP-to-DIL Adapter rumliegen.

    Falls Du mal experimentieren möchtest.... :whistling:


    Oja, will ich!

    Ich träume schon lange davon, (m)eine 8250 Floppy zu tunen.



    Allerdings bin ich vermutlich keine große Hilfe.

    Meine Stärken sind Software Entwicklung.


    Mit VHDL bin ich noch blutiger Anfänger.

    Ich muss sagen, dass ich mich wider Erwarten extrem schwer tu, VHDL zu verstehen und zu implementieren.

    Aber schön langsam wird es, langsam finde ich mich etwas besser zurecht.


    Ein CPLD geht gerade noch.

    Aber eine 6502 in VHDL wie beim FPGA-64, das ist für mich ein ganz großes Wunder.

    Zur Zeit kann ich es noch nicht mal richtig verwenden, von verstehen mal ganz zu schweigen.


    Ich bastle gerade an was ganz einfachem, ein PET-3032 auf meinem Papilio Duo.

    Es läuft auch schon, aber nur als ZPU Softcore Emulation.

    Ich möchte Stück für Stück in die Hardware portieren.

  • Oja, will ich!

    Ich träume schon lange davon, (m)eine 8250 Floppy zu tunen.

    Mit Bus switches tunen?


    Mit den Dingern kannste nur in eine Richtung die Spannung begrenzen - ohne großartige Verzögerung.


    Mit VHDL bin ich noch blutiger Anfänger.

    Ich muss sagen, dass ich mich wider Erwarten extrem schwer tu, VHDL zu verstehen und zu implementieren.

    Kannst Du C/C++? Dann nimm Verilog. Ist die Syntax ähnlicher.

  • Mit Bus switches tunen?


    Mit den Dingern kannste nur in eine Richtung die Spannung begrenzen - ohne großartige Verzögerung.

    Ach so ich dachte an den MockA65xx



    Die 8250 hat zwei 6502 an einem Bus laufen.

    Der Buscontroller 6502 nutzt die PHI-1 Phase und der Diskcontroller die PHI-2 Phase.


    Ganz ohne dual ported RAM greifen beide CPU auf denselben RAM zu.

    Da hat Commodore schon den ersten echten DualCore 6502 geschaffen.


    Der PET 8032 macht das ja auch so.

    Der Bildschirm Controller nutzt die PHI-2 Phase um das RAM zuzugreifen.



    Ein MockA65 als 8250 Diskcontroller …

    … das wäre was.

    Erstens könnte man ganze Disketten Spuren buffern (oder gleich die ganze Diskette).

    Zweitens könnte man mal genau schauen was da wirklich genau passiert (Debugging).


    Mal davon zu schweigen, könnte man 1MB Disketten kopieren in 40 -50 Sekunden (200ms * 160 + Spurwechselzeiten).

  • Ach so ich dachte an den MockA65xx

    Nee.... vom aktuellen Prototyp habe ich nur 4 Stück aufgelegt (ausnahmsweise in grün).

    Die brauche ich derzeit noch selbst.



    Die 8250 hat zwei 6502 an einem Bus laufen.

    Der Buscontroller 6502 nutzt die PHI-1 Phase und der Diskcontroller die PHI-2 Phase.


    Ganz ohne dual ported RAM greifen beide CPU auf denselben RAM zu.

    Da hat Commodore schon den ersten echten DualCore 6502 geschaffen.


    Ja... ich hab' so eine 8250LP rumstehen und einen 8296D - da ist im Prinzip ja das gleiche drin.

  • Meine absolute Hochachtung vor den Projekten und all den Ideen: Man sollte meinen, ihr wäret tagsüber nicht ausgelastet ;-)


    Ich erlaube mir eine Anregung zur 8250 (LP): Es gibt ja bereits ein "Speedos", geschrieben mit einem "d", für die 8250, zur Beschleunigung. Der zweite Prozessor bekommt eine geänderte und vor allem etwas grössere Software. Dazu wurde das ROM im 6530 ausgeblendet und ersetzt. Es gibt einen Nachbau mit einer 6502RAMROM Platine, die in den Sockel des 6502 geht. Der 6530 bleibt. Allerdings muss man unschönerweise etliche Fädeldrähte auf der 6502RAMROM Platine legen.


    Das wäre vielleicht ein erster Ansatz für eine Floppy-Erweiterung?

  • Meine absolute Hochachtung vor den Projekten und all den Ideen: Man sollte meinen, ihr wäret tagsüber nicht ausgelastet ;-)

    Das größte Problem ist die Balance zwischen Arbeit, Hobby und Familie. Bei mir zumindest. Aber ich glaube, dieses Problem haben auch andere... :D


    LG

    Thomas

  • Das größte Problem ist die Balance zwischen Arbeit, Hobby und Familie. Bei mir zumindest. Aber ich glaube, dieses Problem haben auch andere... :D

    Wobei Arbeit und Hobby ja noch einigermassen zusammenkommen, aber.... :rolleyes:

  • Das größte Problem ist die Balance zwischen Arbeit, Hobby und Familie. Bei mir zumindest. Aber ich glaube, dieses Problem haben auch andere... :D

    Wobei Arbeit und Hobby ja noch einigermassen zusammenkommen, aber.... :rolleyes:

    Findest Du ?

    Stell dir mal vor einer Arbeit in Schicht am Fließband.

    Meinst du der hat zu Hause auch eins stehen ? ?(

    Meine Frau arbeitet in der mobilen Altenpflege. Meinst du die macht in der Freizeit bei den Nachbarn weiter ?!