Den Verlust des 7-Segment Displays bedaure ich. Wäre ein guter Blindtest: 1-2-3... Und auf der Rückseite steht steht 1 = CPU, 2= RAM etc.
Die Version ist ja nicht weg.
Momentan schaue ich wie man das mit einem CY74FCT646TSOC lösen kann.
Die Idee ist einfach das OLED mit für die Anzeige zu nutzen.
Der ATMega würde zusätzlich zur Frequenz- und Spannungsmessung /GAME und /EXROM bedienen (Ultimax/8K/16K Umschaltung) und ein mögliches Banking übernehmen.
Mit einem größeren Schaltplanblatt müsste ich den 7-Segment Plan soweit auflockern können das sowohl ein 72AHCT273 mit Display als auch ein CY74FCT646TSOC drauf passt.
Für die Anzahl der benötigten GPIOs am ATMega kann das durchaus notwendig sein.
Eins steht fest in ein Stummel Cartridge passt das nicht.
Der 74FCT646T ist quasi ein 8-Bit Dual-ported RAM oft auch als Postbox bezeichnet mit dem zwei Systeme mit unterschiedlichem Takt sehr einfach asynchron Datentauschen können.
Meine Idee ist es von einem 6551 idealerweise nur das Datenregister zu emulieren https://gglabs.us/node/2057
Der Handshake finden in Hardware statt ein Chip-Select mit Schreibzugriff auf das Register löst einen IRQ beim ATMega aus und dieser holt kurze Zeit später den im Register gespeicherten Wert auf der ATMega Seite ab.
Umgekehrt kann der ATMega etwas in das Register schreiben und danach einen IRQ beim C64 auslösen welcher dann das Byte abholt.
Wenn das Status register nicht gepollt wird sondern mit IRQ gearbeitet wird was ich hoffe kann dieses ignoriert werden.
Schreibzugriffe auf das Command- und Controlregister sollten man einfach ignorieren können, das ES Register ist für langsame Geräte wie den C64 nicht relevant.
Damit sollte mit etwas Glück das https://factorofmatt.com/destestmax-sl ROM auch ohne teure Swift Link Hardware laufen.
Please login to see this picture.
Wohl eher doch nicht
NMI (not used)
Ich finde die Configuration etwas seltsam, es wird die gleiche Adresse IO1 wie für das Switch genutzt.
Warum einen NMI wenn auch ein IRQ geht?
Update: Anleitung gelesen und immer noch nicht schlauer.
Ist möglicherweise einfacher, solange der PC oder C128 auf dem das Terminal läuft nichts sendet passiert auch nichts.
Wenn doch ein Tastendruck gesendet wird hat das bei der NMI Einstellung den selben Effekt als ob jemand auf Restore drückt.
Die Baudrate sollte mehr oder weniger nur die Einstellung für den PC vorgeben wäre in unserem Fall vom ATMega bestimmt.
Selbst wenn 115200,8,N,1 oder halt wegen der Anzeige 38400,8,N,1 gewählt ist heißt das nur das einzelne Zeichen mit dieser Baudrate übertragen werden nicht das ein dauerhafter Stream mit dieser Geschwindigkeit genutzt wird.