letzter Beitrag von Saskia am
MockA65xx - Universeller MOS 65xx/85xx CPU Ersatz
- androSID
- Erledigt
-
-
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:
MockA65xx im VC20
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.
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.
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:-)
-
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) dieDesign-Files und Schematics auf gitlab ab. (War doch so, Thomas? )
Zitat von DiddlKann 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!
-
....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.
-
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.
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.
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.
Ich habe noch einige solcher Bus switches aufgelötet auf SSOP-to-DIL Adapter rumliegen.
Falls Du mal experimentieren möchtest....
-
Diddl :
Ich habe noch einige solcher Bus switches aufgelötet auf SSOP-to-DIL Adapter rumliegen.
Falls Du mal experimentieren möchtest....
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 Prinzipja 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...
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...
Wobei Arbeit und Hobby ja noch einigermassen zusammenkommen, aber....
-
Das größte Problem ist die Balance zwischen Arbeit, Hobby und Familie. Bei mir zumindest. Aber ich glaube, dieses Problem haben auch andere...
Wobei Arbeit und Hobby ja noch einigermassen zusammenkommen, aber....
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 ?!