Posts by fhw72

    Der Adapter von toms01 (an dem ich mitgeholfen habe) bildet die Innereien des 8501 mehr oder weniger 1:1 nach.

    Daher ist die Lösung sicherlich die zu bevorzugende.


    Die Lösung von "sellmyretro" ist praktisch das gleiche - nur wird hier auch noch die 6502 CPU im FPGA nachgebildet.


    Die Lösung mit dem 6510 ist einfach nur Pfusch.

    1. Die 6510 Adapter brauchen eine BIOS Änderung, weil der 6510 nur einen 6 Bit I/O-Port (im Gegensatz zum 7 Bit I/O des 8501) hat.

    Weiterhin hat der 8501 das Bit 5 nicht nach draussen... das widerrum ist beim 6510 aber verdrahtet. Also muss das BIOS angepasst werden,

    damit diesem Umstand Rechnung getragen wird.


    2. Die "GATE IN" Funktion ist beim 6510 gar nicht vorhanden. Betrifft manche RAMs.

    3. 6510 muß 2 MHz tauglich sein... also 6510A


    TL;DR 6510 als 8501 Ersatz ist Käse.


    Besser den 6502 Adapter von toms01 und mir nehmen... der macht aus einem normalen 6502 einen vollwertigen 8501:


    https://www.forum64.de/index.p…drop-in-ersatz-mit-6502a/


    PS: Mein Avatar ist übrigens genau ein 8501R4... ::solder::

    Könntest nur noch etwas darüber erzählen, darstellen wie man aus dem gezeigten Bild auf die einzelnen Funktionen schließen kann, grob erklären oder die einzelnen Bereiche farblich umranden,

    Aus dem Bild alleine geht das nur durch "Erfahrung"... im Detail sieht man

    eben die einzelnen Transistoren und kann sich dann ausdenken was die Schaltung

    wohl macht.


    Oder man kann dann auch die Schaltung auf Transistorebene simulieren.

    Erstaunlich, zunächst werden 6 Adressleitungen oberhalb des ROM Bereichs dekodiert und dann die gelesenen Daten (16 Bytes parallel) mit den anderen 4 Adressleitungen und 1 aus 16 Selektoren weiter ausgewählt...

    Das ist relativ offensichtlich.

    Ich bin mal gespannt, wie das weitergeht. Auf jeden Fall tolle Arbeit.

    Das ist der Plan:


    Sobald ich das Metall layer und Poly layer als saubere Bilder vorliegen habe, werde ich

    nebenbei (um andere Projekte nicht noch mehr zu verzögern) den Chip vektorisieren...


    Sobald das Teil vektorisiert ist, werde ich eine Netzliste daraus generieren und per Simulation

    das ROM auslesen. Wenn dies fehlerfrei funktioniert; d.h. das Ergebnis aus dem Simulator

    mit dem bekannten Dump übereinstimmt, geht's ans umsetzen des ganzen Chips

    in HDL auf einem FPGA.

    Sowas ärgert mich. Das taucht ja nicht nur in den CPUs auf, sondern auch ausserhalb der CPUs, wenn man RAM oder ROM anbinden will oder sonstwie auf dem Bus was machen will. die neuen WDC CPUs sind da ja besondere Diven, wie du weisst.

    Ja... die WDC mag' ich u.A. deswegen nicht so.


    Intern im 6502 haben die auch Schweinereien gemacht:


    Salopp gesagt ist ja PHI1 nur ein Invertierter PHI0/2... nur das es eben eine Zeitspanne gibt, wo beide definitiv low sind.


    Aber intern haben die im Chip Anstatt PHI0/2 ein invertiertes PHI1 erzeugt, weil dies eben etwas früher auf High/low geht

    als PHI2. Und die $0/$1-Register des 6510/8501/6509 werden mit im Vergleich stark verzögerten PHI1/2 Signalen gefüttert

    um die internen Setup/Hold-Zeiten des Datenpfad-Eingang einzuhalten. Autsch!


    Für die Simu habe ich ja den Code vom "Visual6502" hergenommen... meine Annahme war: Bei so vielen Transistoren

    und nach 10 Jahren wären Probleme bekannt bzw. äußerst unwahrscheinlich, das hier ein PRoblem noch auftritt.

    Aber Murphy lebt halt immer noch....

    Ich habe letzte Woche angefangen die generierte Netzliste zu simulieren... lief natürlich nicht. Wäre auch zu schön gewesen.


    Beim simulieren fand' ich relativ schnell kleinere Fehler beim vektorisieren (vergessene Kontakte, Kurzschluß durch VIA an falscher stelle):



    Trotzdem wollte die CPU nicht so richtig anlaufen. Wer die Reset-Sequenz des 6502 kennt: Nach dem Fetch des Vektors bei $FFFC/D

    sollte es direkt mit dem Usercode weitergehen. Aber bei mir war nach der steigenden Flanke Clock der PC immer kaputt.


    Wie sich durch händisches (mit Notizblock und viel Geduld/Frust) simulieren der Netzliste rausstellte hat der von mir verwendete

    Simulator noch eine Schwäche: Er ignoriert Timings. Beispiel: Alle FETs, die durch einen Netzknoten gesteuert werden, sind

    beim nächsten Durchlauf sofort ON/OFF während die echten eben gewisse Zeit brauchen (Gate Kapazität).


    Das nächste was dann noch zu beachten ist: Absichtlich von MOS/CSG eingebaute Kondensatoren, um die Clocksignale

    innerhalb des Chips zu verzögern. Dies wurde beim 8501 - aber auch bereits beim 6509 gemacht:



    Wie geht's nun weiter? Ich werde die Simulation nun umbauen; d.h. eine eigene erweiterte Simulation bauen, die

    Timings in gewissen bereichen beachtet und den Netzlistengenerator so erweitern, das er mir ausgibt, wenn solche

    Kapazitäten detektiert werden.

    Schön, inkl. cheysmate ;)?

    Ich habe ein Chessmate mit defektem 6530. Ich hab schon versucht den mit dem sfd1001-6532 Adapter zu ersetzen und die Signale an die Adressen im chessmate anzupassen - hatte es aber nicht hinbekommen und erst mal zur Seite gelegt.

    Mein Ziel wäre alle Varianten unterzubringen, deren ROM ich ergattern kann. Da ich Flash verwenden möchte, sollte es auch

    möglich sein nachträglich weitere ROMs unterzubringen

    fhw72 : Falls zum decappen auch defekte 6530 reichen sollten, da müsste ich noch welche haben.

    Leider nicht... aber ich habe Quelle für zwei identische gefunden. Und die gute Nachricht:


    Ich habe auch einen Sponsor gefunden, der das Decapping dieser 6530 finanzieren möchte.

    Damit wird es mir dann möglich sein eine vollständig vollständig exakte Implementierung des Chips

    zu erstellen. D.h. nicht nur Funktional (SOLL) - so wie es im Datenblatt steht - sondern so wie es eben

    intern im Chip realisiert wurde (IST) inkl. aller Seiteneffekte und Abweichungen zum Datenblatt.


    Das Ziel ist: EINEN einzigen universellen 6530-00x zu bauen - der die bekannten Varianten - ersetzen kann!

    Ebenso 6532 und evtl. R6531.

    Das Teil ist ja doch mehr digital als ich dachte. Mit den Datenblättern war eher eine analoge Implementierung zu erwarten. Aber irgendwoher müssen ja die phoneme kommen :)

    1/3 des Chips ist der Analog teil... aber der ist nur wegen der Kondensatoren so groß. Das meiste ist in der Tat Digital.

    Hallo!


    Neben den bekannten Datenblättern von MOS, Rockwell etc. für den 6530 gibt es

    doch sicherlich noch Infos, aus denen *ALLE* möglichen Optionen für die Maske+ROM ersichtlich sind?


    Falls da jemand eine Quelle, PDF o.ä. hat, wäre ich über Infos dankbar.


    PS: Es geht nicht um eine Aufstellung der existierenden Varianten (die kenne ich bereits), sondern darum

    welche Möglichkeiten MOS damals angeboten hat. D.h. welche Features eingestellt/bestellt werden konnten.


    Gibt es also noch weitere, genauere Infos als dieses hier:


    Es gibt mindestens ein Projekt - für die fehlerbereinigte "A" Variante:


    SSI263AP = Votrax SC-02


    Ich habe mal begonnen (wie so vieles anderes :D) und werde irgendwann auch daran weitermachen.

    Insgesamt ist der Chip aber einfacher als der SID, da er "sauber" designed wurde und daher nicht

    empfindlich gegen die Toleranzen der Fertigung ist. (Stichwort: SC Filter!)


    Einen Schaltplan des Digitalteils habe ich irgendwo herumschwirren... es arbeiten auch noch andere daran.

    Aber solange meine Vorräte an SSI262AP/SC-02 noch nicht völlig verbraucht sind, kann es noch dauern. :)

    Soll heißen: Ich hab' zwar große Lust daran zu basteln - aber derzeit keine Zeit.


    PS: Falls Links in andere Foren gegen die Regeln verstossen bitte löschen!

    Mein R4 ist wieder aufgetaucht! Interessant der Date/Code:


    01/83 für den R4... und die R7A sind sowohl vorher (50/82) als auch später (06/83).


    Auch hier ein kurzes Update:


    - -


    -



    Drain, Source und Gates der FETs im Chip werden richtig erkannt!

    Die Erkennung zusammengehörender Leitungen bzw. von leitendem Material auf EINEM Layer läuft auch;

    habe damit einen satten Kurzschluß zw. VCC und GND im meiner MOS6509R7 Zeichnung gefunden.


    In Kürze werde ich die Leitungserkennung verbessern, sodaß dann auch VIAs und sontige Kontakte

    berücksichtigt werden; d.h. leitende Verbindungen zw. den Layern. Dann steht die Netzliste! :)

    Ich bin inzw. etwas weiter am Netzlistengenerator und habe mal ein Bild von dem Teil des Chips

    gemacht, das für die Dekodierung der beiden Befehle für den zusätzlichen Addressraum

    zuständig ist:



    Beige - Gate/Channel (oder Kondensator!)

    Rot - Drain/Source

    Blau - Kontakt

    Cyan - Polysilizium


    Links oben sieht man auch, wo MOS etwas "getrickst" hat: Da sind zwei Kondensatoren um Steuersignale

    zu verzögern. Vermutlich sind diese an dem Unterschied zw. R4 und R7 verantwortlich...

    Genauere Infos gibt's sobald der Netzlistengenerator fertig ist.


    PS: Die Differenzierung zw. Drain, Source, Kontakt etc. findet bereits automatisch statt.

    Hast du denn schon den entscheidenden Unterschied zum R4 gefunden, warum nur der R7 im P500 korrekt läuft?

    Das muss ja was mit dem Vic2 Timing zu tun haben...

    Meine Vermutung ist ja das R4 und R7 nur für den P500 entwickelt wurden. Im 6xx und 7xx läuft auch ein einfacher 6509 problemlos.

    Im P500 haben sie ja das kernal mit mehrfach schreib Routinen gepatcht, aber mit R7 sind diese patches nicht mehr notwendig.

    Ich hab' was gefunden... bin aber noch unsicher; ich muß erst meinen R4 wieder finden um das nachzumessen.

    Momentan habe ich nur jede Menge R7 rumliegen und finde den einzigen R4 (den ich hatte) nicht mehr: Saustall im Labor!:tp:


    Aber wie sehen denn die Patches aus?