Noch etwas zur Nacht...
Ich hätte gern ein Uridium Modul bei dem die Highscores auf dem Modul gespeichert werden. Ich weiss, das kriege ich mit 'nem KFF auch hin aber darum geht es ja nicht immer.
Habe dann überlegt wie ich das einigermassen günstig umsetzen könnte. Dabei bin ich bei den, relativ neuen, AVR Dx Controllern hängen geblieben.
Zum Schnuppern habe ich mir einen AVR32DD28 besorgt und ihn zusammen mit einem 4MBit Flash auf ein Protoboard von Polyplay gebraten. Das sieht dann so aus:
Vorne: Hui!
Hinten: Shyce!
So ist das halt bei Prototypen. Der 4-Pin Connector ist der UPDI-Port (ISP).
Der Controller läuft mit dem internen OSC, max. 24 MHz (erstmal unkalibriert) und verfügt über ein paar konfigurierbare LUTs, ähnlich einem FPGA, in denen man ein bisschen Glue-Logic unterbringen kann. Wirklich nur ganz wenig. Aber es reicht um IO1, RW und A1 zu verknüpfen und so ein paar Takte in der ISR zu sparen. Wenn ich mich nicht verrechnet habe ist das Read-Timing zu schaffen. Ob das wirklich funktioniert? Muss der OSC evtl. doch kalibriert werden? ISR oder doch Polling Loop? Ich hab keine Ahnung aber dafür habe ich die Teile ja zusammengelötet.
Das namenlose Modul soll (weitestgehend) Magic Desk kompatibel sein. Zum Daten Speichern stehen 256 Byte internes EEPROM zur Verfügung. Nicht viel, reicht aber erstmal.
Register Map könnte so aussehen:
$DE00 : Magic Desk Register
$DE01 : Flash & LED Control
$DE02 : Memory Status & Control
$DE03 : Memory FIFO Data
Die ersten beiden sind write-only, die letzten beiden read-write Register.
Das Flash soll komplett "von aussen" programmierbar sein. Ich hab halt keinen Programmer und muss mir irgendwie helfen. Daher klatsch ich mir als nächstes aus einem Pi Pico, einem Level-Shifter und 'nem Modul-Connector eine Testumgebung zusammen. Mal schauen ob ich da überhaupt was zum Fliegen bekomme.