Forum: Projekte & Code PicoRAM 2090 - SRAM-Emulator & Multi-Erweiterung für Busch Microtronic mit Rasperry Pi Pico


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Michael W. (Gast)


Angehängte Dateien:

Lesenswert?


Beitrag #7534497 wurde von einem Moderator gelöscht.
von Michael W. (Gast)


Angehängte Dateien:

Lesenswert?

Update: inzwischen ist die erste Version der Platine in Produktion - bin
gespannt! Habe Express-Service bei JLCPC gewählt. Die Geschwindigkeit,
mit der das produziert wird, ist Wahnsinn... Ende der Woche sollte ich
die also schon in Händen halten.

Beitrag #7538606 wurde von einem Moderator gelöscht.
von Michael W. (Gast)


Angehängte Dateien:

Lesenswert?

Inzwischen ist die 1. Version der Platine einsatzbereit - ein paar
Fehler hatten sich dann doch eingeschlichen. Also noch eine Runde.

von Vanye R. (vanye_rijan)


Lesenswert?

Du brauchst zwei Dualcore prozessoren um etwas SRAM zu simulieren?
Hast du dich schonmal gefragt wie man "Dekadenz" definiert? :-D

Vanye

von Michael W. (Gast)


Lesenswert?

Vanye R. schrieb:
> Du brauchst zwei Dualcore prozessoren um etwas SRAM zu simulieren?
> Hast du dich schonmal gefragt wie man "Dekadenz" definiert? :-D
>
> Vanye

Schade dass Du nicht Dich nicht erst einmal informierst bevor Du Deinen 
Dünnsinn ablässt. Wenn Du das getan hättest, wäre Dir u.U. klar 
geworden, dass es nicht "nur" um SRAM-Emulation geht... und nein, mit 
einem 8Bit AVR geht das nicht, was hier geleistet wird. der 2. Kern wird 
durchaus benötigt.

Beitrag #7539933 wurde von einem Moderator gelöscht.
Beitrag #7539936 wurde von einem Moderator gelöscht.
von Michael W. (Gast)


Lesenswert?

Aber hier noch einmal etwas konstruktiver:

- der 1. Kern implementiert SRAM in einer "tight loop"

- und nicht nur SRAM, sondern auch Bank Switching (16 Banks). Diese
können sowohl über erweiterte Op-Codes, also auch per GUI selektiert
werden.

- Über die SD-Karte können Bänke mit Programmen beladen und auch
gespeichert werden (Memory Dumps)

- der 2. Kern implementiert das GUI (OLED Display), SDCard Interface,
Zugriff auf Hardware-Erweiterungen (DECtalk, RTC) und Pico Sound.

- es sind 2 I2C (RTC, OLED Display) und 2 SPI Erweiterungen an Board
(TTS Board / DECtalk von MikroE, SD-Card Modul von Adafruit)

- der 2. Kern implementiert Befehlserweiterungen indem inhaltsleere,
existierende Op-Codes des 2090 verwendet werden, um die Erweiterungen
anzusprechen - "erweiterte Op-Codes". Z.B. MOV x->x, ADDI 0->x, ... Z.B.
um Grafik auf dem OLED anzuzeigen, dem DECtalk ein Byte zu senden, etc.

- diese "erweiterten Op-Codes" erhalten ihre Argumente entweder
immediate, direkt im Code (esay), oder können ebenfalls auf das Register
Memory zugreifen, der nicht im SRAM ist (sondern auf dem TMS1600
direkt),über einen Trick: temporäres Einblenden von
"Interrogations-Programmen" (hard!)

- diese Interrogations-Programme blenden (transparent vom User Program)
ein "Unterprogramm" über eine temporäre Speicherbank ein, die über
Vergleiche und bedingte Sprünge den aktuellen Registerinhalt eines
Registers indirekt ermitteln. Der Pico beobachtet das Programm beim
Ausführen (er hat ja nur Zugriff auf SRAM Address- und Datenbus, nicht
aber auf das Register-Memory auf dem TMS1600 direkt!), und kann anhand
der bedingten Sprünge den Register-Inhalt des "interrogierten Registers"
ermitteln.

Ohne 2. Kern würden diese Sachen nicht funktionieren; das SRAM muss ja
ständig bedient werden. Der Pico wurde übrigens auf 250 MHz übertaktet 
damit das so ohne Glitches funktioniert.

von Vanye R. (vanye_rijan)


Lesenswert?

> Schade dass Du nicht Dich nicht erst einmal informierst bevor
> Du Deinen Dünnsinn ablässt.

Lies doch meine Worte nochmal und schalte vorher deinen
Detektor fuer feinsinnige Ironie und wohlwollende
Kulturkritik ein. .-)

Vanye

von Michael W. (Gast)


Lesenswert?

Schön und gut, aber diese "Kritik" kam jetzt schon 3fach auf 
unterschiedlichen Kanälen. Günstiger als der Pico geht's doch wohl auch 
kaum? Der Einwand der Verschwendung kommt meist von Leuten, die selbst 
Blinklichter mit nem 555 basteln... Das nervt. Das Projekt hat schon 
eine ansprechende Komplexität und nutzt den Pico m.E. gut aus.

von Michael W. (Gast)


Angehängte Dateien:

Lesenswert?

PicoRAM 2090 ist fertig. Jetzt kommt noch ein abschließendes Video, und 
dann lade ich die Sachen auf GitHub hoch.

von Michael W. (Gast)


Lesenswert?

Das GitHub Repo hat nun alles, was für einen Nachbau benötigt wird - 
falls es jemand versuchen will, nur zu!

https://github.com/lambdamikel/picoram2090

Firmware Quellcode kommt später; will noch etwas aufräumen. Firmware und 
Gerbers sind schon im Repo.

Beitrag #7544361 wurde von einem Moderator gelöscht.
von Michael W. (Gast)


Lesenswert?

Fertig - hier ist das finale Demo-Video:

https://youtu.be/dFnKhUI47KU

von Michael W. (Gast)


Lesenswert?

Herr Vallen war so freundlich, einen Link auf der Microtronic-Hauptseite 
bei Busch auf das PicoRAM 2090-Projekt zu setzen:

https://www.busch-modell.de/information/Microtronic-Computer.aspx

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.