Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Moderator: suntri
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Hallo zusammen,
auch wenn dieses Forum in letzter Zeit wie ausgestorben wirkt - hier ist einmal ein (S)RAM-Emulator für den Microtronic. Der 2114 1K*4 SRAM-Baustein wird hier durch einen Raspberry Pi Pico (RP2040) emuliert:
https://youtu.be/j5Tbw8vmk-s
Warum das ganze? Damit man Programme einfach als "RAM Images" vom und in den Speicher laden kann. Das kann dann in Sekundenbruchteilen entweder von SDCard, oder von einem EEPROM geschehen. Wesentlich schneller als das Kassetten-Interface. Selbst die 2095 Emulation benötigt ja teilweise Minuten um den vollen Programmspeicher zu laden bzw. zu speichern. Mit dem SRAM-Emulator geht das in ~1 Sekunde.
Das Projekt ist noch im Entstehen; nächste Schritte sind wie gesagt Display-Anbindung für RAM Image Datei-Verwaltung, und dann entweder EEPROM oder SDCard als "Massenspeicher".
Mal sehen, was sonst noch für Dinge möglicht sind... wie wäre es z.B. mit einer Speicherweiterung? Dank Pico ist so eine Microtronic-Speichererweiterung gar kein Problem - man muss lediglich ein paar GPIOs des Microtronic zum Umschalten von Speicherbänken reservieren. Das laufende Microtronic-Programm kann dann mittels FEx "DOT" Ausgabe-Befehlen die Speicherbank umschalten. Damit wären prinzipiell 16 solcher Bänke möglich!
GitHub Repo kommt demächst - ich melde mich wieder,
Bis dahin, VG
Michael
auch wenn dieses Forum in letzter Zeit wie ausgestorben wirkt - hier ist einmal ein (S)RAM-Emulator für den Microtronic. Der 2114 1K*4 SRAM-Baustein wird hier durch einen Raspberry Pi Pico (RP2040) emuliert:
https://youtu.be/j5Tbw8vmk-s
Warum das ganze? Damit man Programme einfach als "RAM Images" vom und in den Speicher laden kann. Das kann dann in Sekundenbruchteilen entweder von SDCard, oder von einem EEPROM geschehen. Wesentlich schneller als das Kassetten-Interface. Selbst die 2095 Emulation benötigt ja teilweise Minuten um den vollen Programmspeicher zu laden bzw. zu speichern. Mit dem SRAM-Emulator geht das in ~1 Sekunde.
Das Projekt ist noch im Entstehen; nächste Schritte sind wie gesagt Display-Anbindung für RAM Image Datei-Verwaltung, und dann entweder EEPROM oder SDCard als "Massenspeicher".
Mal sehen, was sonst noch für Dinge möglicht sind... wie wäre es z.B. mit einer Speicherweiterung? Dank Pico ist so eine Microtronic-Speichererweiterung gar kein Problem - man muss lediglich ein paar GPIOs des Microtronic zum Umschalten von Speicherbänken reservieren. Das laufende Microtronic-Programm kann dann mittels FEx "DOT" Ausgabe-Befehlen die Speicherbank umschalten. Damit wären prinzipiell 16 solcher Bänke möglich!
GitHub Repo kommt demächst - ich melde mich wieder,
Bis dahin, VG
Michael
- Dateianhänge
-
- 20230903_220755.jpg (279.44 KiB) 2410 mal betrachtet
- 20230903_220755.jpg (279.44 KiB) 2410 mal betrachtet
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
-
- Fühlt sich wie zu Hause
- Beiträge: 284
- Registriert: 25.07.2017, 21:27
- Wohnort: Albuquerque, USA
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Interessante Lösung. Aber wäre in Arduino nicht ausreichend?
@ausgestorben - das große "Problem" für mich zum Beispiel sind 2 kleine Lebewesen (3 und 6 Jahre alt), die 99% meiner Zeit auffressen . Ich schaue hier täglich rein, aber eigene Projekte zu machen - oder dokumentieren - ist halt schwer.
liebe Gruesse
Michael
@ausgestorben - das große "Problem" für mich zum Beispiel sind 2 kleine Lebewesen (3 und 6 Jahre alt), die 99% meiner Zeit auffressen . Ich schaue hier täglich rein, aber eigene Projekte zu machen - oder dokumentieren - ist halt schwer.
liebe Gruesse
Michael
Selbst ein schlechtes Experiment bildet die Wirklichkeit besser ab als eine gute Simulation.
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Wahrscheinlich nicht. Obwohl der Microtronic recht langsam ist, hat man nur ca. 5 us Zeit, um auf einen Lese- oder Schreib-Request zu reagieren... das wird mit Arduino nicht klappen. Zumindest nicht ohne Extra-Hardware (Adressdekodierer und Latch). Beim Pico geht's alles in Software - der ist schnell genug.Physiker66 hat geschrieben: ↑05.09.2023, 17:54 Interessante Lösung. Aber wäre in Arduino nicht ausreichend?
Natürlich könnte man eine Schaltung mit dem Arduino aufbauen, indem man das 2114 "beibehält", und nur mit dem Arduino beschreibt. Das ist dann natürlich nicht zeitkritisch. Hier wird der 2114 aber komplett ersetzt, und daher das kritische Timing.
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
SD-Karte und Speicherbänke umschalten geht inzwischen.
Auch kennt der Pico inzwischen die aktuelle Instruktion - so kann ich jetzt den Co-Prozessor auf dem Pico für Sprache, Bank Switching, Sound, und Display implementieren. Dass mach ich in den verbleibenden beiden Wochen der RetroChallenge 2023/10.
https://www.retrochallenge.org/p/entran ... 02310.html
https://youtu.be/vJlBbVwC5bU
Auch kennt der Pico inzwischen die aktuelle Instruktion - so kann ich jetzt den Co-Prozessor auf dem Pico für Sprache, Bank Switching, Sound, und Display implementieren. Dass mach ich in den verbleibenden beiden Wochen der RetroChallenge 2023/10.
https://www.retrochallenge.org/p/entran ... 02310.html
https://youtu.be/vJlBbVwC5bU
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Die RetroChallenge 2023/10 Regeln verlangen, dass man regelmäßig Updates / Blog-Einträge macht.
Inzwischen ist die Firmware eigentlich fast fertig, und die Co-Prozessor Idee wurde umgesetzt.
Ich habe jetzt Sound, Sprache, OLED Text- und Graphik, und Banked Memory. Speichern und Zurückladen von RAM-Images ebenfalls.
Hier eine Mini-Demo - Eingabe eines (HEX) ASCII Codes über die Microtronic-Tastatur in Register 0, 1, und dann Ausgabe dieser auf dem OLED als ASCII, und zusätzlich Sprachausgabe über DECtalk (Epson S1V30120).
https://youtube.com/shorts/Jtdv2HehZYk?feature=share
https://hackaday.io/project/192655-pico ... og-entry-3
Inzwischen ist die Firmware eigentlich fast fertig, und die Co-Prozessor Idee wurde umgesetzt.
Ich habe jetzt Sound, Sprache, OLED Text- und Graphik, und Banked Memory. Speichern und Zurückladen von RAM-Images ebenfalls.
Hier eine Mini-Demo - Eingabe eines (HEX) ASCII Codes über die Microtronic-Tastatur in Register 0, 1, und dann Ausgabe dieser auf dem OLED als ASCII, und zusätzlich Sprachausgabe über DECtalk (Epson S1V30120).
https://youtube.com/shorts/Jtdv2HehZYk?feature=share
https://hackaday.io/project/192655-pico ... og-entry-3
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Demo der Co-Prozessor / "IO-Erweiterung" Funktion: Graphic, Text, Sprache!
Ohne 2. Kern geht soetwas nicht. Der 1. Kern macht SRAM-Emulation, der 2. Co-Prozessor / IO-Erweiterung.
Das muss jetzt nur noch als PCB, dann ist es eigentlich fertig. Nächtes Projekt - das ganze für den Microprofessor. Das interessiert vielleicht doch mehr Leute als nur mich :)
Nun, DOOM spielen kann ich damit mit, aber immerhin!
https://youtu.be/w8dSkabLY20
Ohne 2. Kern geht soetwas nicht. Der 1. Kern macht SRAM-Emulation, der 2. Co-Prozessor / IO-Erweiterung.
Das muss jetzt nur noch als PCB, dann ist es eigentlich fertig. Nächtes Projekt - das ganze für den Microprofessor. Das interessiert vielleicht doch mehr Leute als nur mich :)
Nun, DOOM spielen kann ich damit mit, aber immerhin!
https://youtu.be/w8dSkabLY20
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Jetzt mit batteriegepufferter Echtzeituhr! Der Microtronic hat ja ebenfalls eine eingebautet Echtzeituhr. Und einen OP-code mit dem man die Zeit lesen kann: F06 (load time). Die Zeit erscheint in den Registern A-F. Nachteil: keine Batterie, muss man also jedesmal beim Einschalten manuell stellen die Uhr (PGM 3). Das ist natürlich doof. Daher - PicoRAM 2090 to the rescue! Das hat jetzt eine DS3231.
PicoRAM fängt den F06 (load time)-Befehl ab, und lädt dann per Bank Switching die "echte Zeit" in die A-F Register (von der DS3231).
Video:
https://youtu.be/bhBSsBDnmuQ
https://hackaday.io/project/192655-pico ... icrotronic
PicoRAM fängt den F06 (load time)-Befehl ab, und lädt dann per Bank Switching die "echte Zeit" in die A-F Register (von der DS3231).
Video:
https://youtu.be/bhBSsBDnmuQ
https://hackaday.io/project/192655-pico ... icrotronic
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Und hier die Abschluss-Demo für die RetroChallenge 2023/10 - der Oktober "Challenge Month" ist zu Ende:
https://youtu.be/U6LDjYz8LTk
Platine mache ich demnächst; Firmware und Features sind jetzt erst einmal abgeschlossen.
https://hackaday.io/project/192655-pico ... demo-video
https://youtu.be/U6LDjYz8LTk
Platine mache ich demnächst; Firmware und Features sind jetzt erst einmal abgeschlossen.
https://hackaday.io/project/192655-pico ... demo-video
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Update: inzwischen ist die erste Version der Platine in Produktion - bin gespannt! Habe Express-Service bei JLCPC gewählt. Ende der Woche sollte ich die also schon in Händen halten.
Ich würde übrigens gerne (nächstes Jahr) eine Variante machen, die direkt zum Microtronic passt, also genau das Format vom 2095 Kassetteninterface hat. Dazu bräuchte es dann einen 3d-gedruckten Bausteinhalter, usw. Dafür suche ich noch Mitstreiter, die sich mit 3D-Druck usw. auskennen - wie wär's, @Frankje @Helferlein and @Naemiluna Interesse ?
Ich würde übrigens gerne (nächstes Jahr) eine Variante machen, die direkt zum Microtronic passt, also genau das Format vom 2095 Kassetteninterface hat. Dazu bräuchte es dann einen 3d-gedruckten Bausteinhalter, usw. Dafür suche ich noch Mitstreiter, die sich mit 3D-Druck usw. auskennen - wie wär's, @Frankje @Helferlein and @Naemiluna Interesse ?
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Inzwischen ist die 1. Version der Platine einsatzbereit - ein paar Fehler hatten sich dann doch eingeschlichen. Also noch eine Runde.
In 2 Wochen wird das Projekt abgeschlossen sein. Ich mache dann noch ein Demo-Video und lade die Dateien auf Github hoch.
In 2 Wochen wird das Projekt abgeschlossen sein. Ich mache dann noch ein Demo-Video und lade die Dateien auf Github hoch.
- Dateianhänge
-
- 20231117_224218.jpg (241.07 KiB) 2047 mal betrachtet
- 20231117_224218.jpg (241.07 KiB) 2047 mal betrachtet
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Zwei Ideen hätte ich noch: die beiden roten Taster in der Konsole auch für's PicoRAM verwenden, und das ganze auf 2095-Format umbauen, mit 3D-gedrucktem Rahmen usw. Wie schon oben erwähnt. Ein Projekt für 2024.
Es ist auch immer wieder interessant, was "man" für blöde Fehler macht... z.B. die 3. Dimension vergessen. So führte der ursprünglich vorgesehene Ein/Aus-Schalter doch zur Voll-Blockade des USB-Ports vom Pico.
Hier jetzt die hoffentlich letzte Version der Platine:
Es ist auch immer wieder interessant, was "man" für blöde Fehler macht... z.B. die 3. Dimension vergessen. So führte der ursprünglich vorgesehene Ein/Aus-Schalter doch zur Voll-Blockade des USB-Ports vom Pico.
Hier jetzt die hoffentlich letzte Version der Platine:
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
PicoRAM 2090 ist fertig. Jetzt kommt noch ein abschließendes Video, und dann lade ich die Sachen auf GitHub hoch.
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
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
https://github.com/lambdamikel/picoram2090
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
- lambdamikel
- Stammgast
- Beiträge: 160
- Registriert: 15.01.2016, 09:33
- Wohnort: Palo Alto, CA, USA, Ex-Hamburg
- Kontaktdaten:
Re: Raspberry Pico-basierter SRAM-Emulator für Busch Microtronic
Vielen Dank an "Mein Elektronik Hobby" für das tolle Demo-Video - und Glückwunsch zum erfolgreichen Zusammenbau!
https://youtu.be/267T5BnslIs
https://youtu.be/267T5BnslIs