Forum: Mikrocontroller und Digitale Elektronik CP/M auf dem Raspberry Pi Pico


von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

Ich habe ein initiales Release erstellt von RunCPM auf dem RPi Pico ;)

Source & Binary gibt es auf
https://github.com/guidol70/RunCPM_RPi_Pico

braucht
- SDCard-interface with SPI
- RP2040 Hardware-/Board Support
   https://github.com/earlephilhower/arduino-pico
    - delete included v2.0.2 SDFat-Library
- SDFat v2.10 Library

weitere Info auf
https://forum.classic-computing.de/forum/index.php?thread/25805-runcpm-auf-dem-raspberry-pi-pico

Original RunCPM-Projekt:
https://github.com/MockbaTheBorg/RunCPM

: Bearbeitet durch User
von CiePie/Möchtegern (Gast)


Lesenswert?

(Bin knapp zu wenig alt um damals voll mit CP/M in Kontakt gewesen zu 
sein)

Hab jetzt keine Marktübersicht, aber dürfte dies eine der kleinsten UND 
schnellsten UND stromsparendsten CP/M HW sein, welche nicht auf 
Desktop-PC-HW basiert?

Wo ist, bzgl. Schnellste CP/M HW-Plattform, z.Zt. cuttingedge 
Spitzenposition?
(bitte keine i7/i9/Xeon PCs & co)

Von Zilogs uCs mit "Z80-Kern" @ 2..3-Stelligen MHz habe ich schon 
diverses gelesen, ebenso von Z80-Emulationen auf STM32-uCs.

--------

Nachtrag: sorry habe mich verlesen: dachte es ging um den Pi-Zero mit 
"bare-metal"-Z80-emu+CP/M (GHz Clock) - hier geht's aber um den Pi-PICO.

Meine Frage zur aktuell schnellsten kleinen CP/M-HW bleibt, gerne aus 
COTS/Fertigmodule. Danke.

von Stefan F. (Gast)


Lesenswert?

CiePie/Möchtegern schrieb:
> Hab jetzt keine Marktübersicht, aber dürfte dies eine der kleinsten UND
> schnellsten UND stromsparendsten CP/M HW sein, welche nicht auf
> Desktop-PC-HW basiert?

Klingt nach einer genialen Arbeit, aber wozu das ganze?

von S. R. (svenska)


Lesenswert?

CiePie/Möchtegern schrieb:
> Nachtrag: sorry habe mich verlesen: dachte es ging um den Pi-Zero mit
> "bare-metal"-Z80-emu+CP/M (GHz Clock) - hier geht's aber um den Pi-PICO.

Und dann ist RunCPM kein echtes CP/M, sondern eine Implementation der 
CP/M-API (ähnlich wie DOSBox). Ein Großteil des Betriebssystems läuft 
als C-Code auf dem Pi-Pico.

von CiePie/Möchtegern (Gast)


Lesenswert?

S. R. schrieb:
> CiePie/Möchtegern schrieb:
>> Nachtrag: sorry habe mich verlesen: dachte es ging um den Pi-Zero mit
>> "bare-metal"-Z80-emu+CP/M (GHz Clock) - hier geht's aber um den Pi-PICO.
>
> Und dann ist RunCPM kein echtes CP/M, sondern eine Implementation der
> CP/M-API (ähnlich wie DOSBox). Ein Großteil des Betriebssystems läuft
> als C-Code auf dem Pi-Pico.

Abstriche gibt es bei sowas immer irgendwelche, nicht nur in der SW.
 (Floppies, Parallelports, PIOs/GPIO, ...)

Die SW-Design-/Architektur-Entscheide von RunCPM i.a. und insbesondere 
die Implementationsentscheide auf dem Pi-Pico habe ich noch nicht 
ausgelotet. Ev. gibt's da Gründe...

von CiePie/Möchtegern (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Klingt nach einer genialen Arbeit, aber wozu das ganze?

Für einmal sage ich, anstatt "just because"/"aus Jux und Tollerei":
um Forumstraffic zu fördern !

XD


(den Spruch mit dem "Längenvergleich" werde ich erst Freitags bringen, 
soviel Disziplin muss sein)

von Martin (Gast)


Lesenswert?

Eines Tages wird der erste Quantencomputer zu einem erschwinglichen 
Preis zur Verfügung stehen. Es wird danach vermutlich keine Woche 
vergehen, bevor auf dem CP/M läuft. Das ist Fortschritt!

von Norbert (Gast)


Lesenswert?

Martin schrieb:
> Eines Tages wird der erste Quantencomputer zu einem
> erschwinglichen
> Preis zur Verfügung stehen. Es wird danach vermutlich keine Woche
> vergehen, bevor auf dem CP/M läuft. Das ist Fortschritt!

Ach nu, ist doch lustig das sich jemand die Mühe macht. Mein erster 
Gedanke was natürlich PIP.

Irgendwann wird's auch einen Stapel Lochkarten mit dem FRIEND-Test 
geben.

von Guido L. (guidol1970)


Lesenswert?

CiePie/Möchtegern schrieb:
> Stefan ⛄ F. schrieb:
>> Klingt nach einer genialen Arbeit, aber wozu das ganze?
>
> Für einmal sage ich, anstatt "just because"/"aus Jux und Tollerei":
> um Forumstraffic zu fördern !

Mist erwischt ;)

Aber im Ernst:
Ich hatte selbst viel Spass und nette Kommunikation mit dem Autor von 
RunCPM und FabGL.

Beim RunCPM hatte ich mit dem Arduino Due angefangen und dann auch das 
ganze mit dem ESP32 getestet.

Als Steigerung gab es dann zum ESP32 das TTGO VGA32 - ein ESP32 mit 
VGA-Ausgang, PS/2-Keyboard&Mouse Eingang und MicroSD-Slot.

Da hatte jemand einen Fork fuers VGA32 gestartet und ich hatte dies nun 
eine ganze Weile weitergefuehrt...nun geht mir da langsam bei den 
Features der Speicherplatz und die Ideen aus :)

Als ich dann das erste "CP/M" (C-Source-Version von J.Hallen der 
portiert wurde, aber nur 2 Diskimages unterstuetzt) kam hatte ich schon 
Lust RunCPM auf den Pico zu bringen (der hat genug Hardwareresourcen), 
habe auf dem Pico mir vorher BBC-Basic und MMBasic angesehen, die um 
einiges flotter laufen (Mandelbrot-Fraktal Test in 3-5 Sekunden anstatt 
unter RunCPM 1-2.5 Minuten - wobei das gegen echte Z80-Systeme echt noch 
flott ist)

Mir macht es Spass es auf kleinerer Hardware (mit Mini-Stromverbrauch) 
zum laufen zu bekommen....klar kann ich RunCPM auch unter Linux auf dem 
Desktop-PC kompilieren ;)

Wer Spass an CP/M Programmen hat (Wordstar, MBASIC, Turbo Pascal oder 
eine Runde ZORK) - der kann damit SEHR guenstig auf einem quasi 
Standalone-System einsteigen.... wer keinen Spass dran hat - das Forum 
bietet noch viele andere Threads ;)

Wird ja auch keiner gezwungen am C64 zu zocken oder alte Arcade-Spiele 
wie Space-Invaders, PacMan, Donkey-Kong.

von Guido L. (guidol1970)


Lesenswert?

CiePie/Möchtegern schrieb:
> Wo ist, bzgl. Schnellste CP/M HW-Plattform, z.Zt. /cuttingedge/
> Spitzenposition?
> (bitte keine i7/i9/Xeon PCs & co)
Ich glaube viiel schneller lohnt bei den CP/M-Apps eh nicht :)
Die Spiele muesste man eh runtertakten, damit die noch spielbar bleiben 
und ein Wordstar profitiert auch nicht von mehr Speed - denn selbst ein 
Pico scrollt schon schnell durch den Text :)

von Stefan F. (Gast)


Lesenswert?

Guido L. schrieb:
> Wer Spass an CP/M Programmen hat (Wordstar, MBASIC, Turbo Pascal oder
> eine Runde ZORK) - der kann damit SEHR guenstig auf einem quasi
> Standalone-System einsteigen

Bei der Gelegenheit habe ich gerade gesehen dass es "Return to Zork" 
online gibt.
https://playclassic.games/games/point-n-click-adventure-dos-games-online/play-return-to-zork-online/play/
Was habe ich damals Geld in meinen PC versenken müssen, damit diese 
Video-Sprechblasen funktionieren...
Und es sieht so scheiße aus! Komisch dass ich es damals extrem cool 
fand.

von Guido L. (guidol1970)


Lesenswert?

CiePie/Möchtegern schrieb:
> Abstriche gibt es bei sowas immer irgendwelche, nicht nur in der SW.
>  (Floppies, Parallelports, PIOs/GPIO, ...)
>
> Die SW-Design-/Architektur-Entscheide von RunCPM i.a. und insbesondere
> die Implementationsentscheide auf dem Pi-Pico habe ich noch nicht
> ausgelotet. Ev. gibt's da Gründe...
RunCPM hat - fuer mich - den Vorteil, dass ich keine Floppy-Images 
nutzen muss - sondern fuer die Laufwerke A: - P: einfach Verzeichnisse 
nutzt (auf der Karte) in die ich die .COM-Files etc einfach reinkopieren 
kann mit einem normalen Datei-Explorer.

Beim Pico war es fuer mich bei der Implementation der Grund der 
Wiederverwendung des selben Sourcecode (RunCPM) auf einer anderen 
Hardware-Plattform.

Wenn man alles per Hand selbst neu faedeln wuerde, koennte es sicher so 
schnell wie BBC-BASIC oder MMBASIC auf dem Pico sein.

von Guido L. (guidol1970)


Lesenswert?

Norbert schrieb:
> Ach nu, ist doch lustig das sich jemand die Mühe macht.
Klar ist das lustig :) Mir hat es Spass und Freude gemacht, bseonders 
als zum ersten mal der Prompt nutzbar war.

von EAF (Gast)


Lesenswert?

Guido L. schrieb:
> Wer Spass an CP/M Programmen hat (Wordstar, MBASIC, Turbo Pascal oder
> eine Runde ZORK) - der kann damit SEHR guenstig auf einem quasi
> Standalone-System einsteigen....

Genau das habe ich eben ausprobiert....

Da habe ich den turbo auf H3(von dir) verwendet.
Es sagt:
> Saving H:TEST.PAS  Disk full. Press <ESC>
Ansonsten scheint der turbo zu laufen.
Er mag meine Kommandos und compiliert auch im Speicher.

Wenn ich das richtig verstanden habe, sollte doch alles ReadWrite sein.
Und Größen auch nicht die Rolle spielen, da ja ein anderes Dateisystem 
zu Grunde liegt.

von Olaf (Gast)


Lesenswert?

> Preis zur Verfügung stehen. Es wird danach vermutlich keine Woche
> vergehen, bevor auf dem CP/M läuft. Das ist Fortschritt!

Das ist doch quatsch. Es wird mindestens zwei Wochen dauern weil die 
Leute in der ersten Woche damit beschaeftigt sind den ersten 
Forthinterpreter darauf ans laufen zu bringen! :)

Olaf

von CP/M 3 plus (Gast)


Lesenswert?

Richtige Maenner haben ihr CP/M auf hartsektorierten 8"-Disketten!

Das hier ist allenfalls ein CP/M fuer Pickelgesichter.

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

EAF schrieb:

> Da habe ich den turbo auf H3(von dir) verwendet.
> Es sagt:
>> Saving H:TEST.PAS  Disk full. Press <ESC>
> Ansonsten scheint der turbo zu laufen.
> Er mag meine Kommandos und compiliert auch im Speicher.

Du meinst sicher das Laufwerk H User 3 aus dem CPM-Softwarearchive
https://drive.google.com/drive/folders/11WIu8rD_7pIDaET7dqTeA73CvX0jkxz2?usp=sharing
des Original-RunCPM-Autors Marcelo Dantas:
https://github.com/MockbaTheBorg/RunCPM

Da liegt im H3-Verzeichnis ein ueber 6MB grosses Handbuch.
Evtl. nimmt das mit den anderen Dateien darin zu viel Platz weg, wenn 
ein 8MB Laufwerk emuliert wird (oder das Verzeichnis ist 
schreibgeschuetzt).

Normal sollte es kein Problem beim speichern geben.

von EAF (Gast)


Lesenswert?

Guido L. schrieb:
> Du meinst sicher das Laufwerk H User 3 aus dem CPM-Softwarearchive
Ja!

Guido L. schrieb:
> des Original-RunCPM-Autors Marcelo Dantas:
Sorry.
Ja!


> CPM_H3.jpg
Das Schreibschutzhäkchen ist bei mir immer gesetzt, wenn eine SD Karte 
in meinem Reader steckt. Zumindest bei FAT32.
Lässt sich auch nicht ändern.
Tut so, als wenn es ändert.
Bleibt aber wirkungslos .....

Guido L. schrieb:
> Da liegt im H3-Verzeichnis ein ueber 6MB grosses Handbuch.
Ein entfernen zeigt keine Veränderung

Guido L. schrieb:
> Normal sollte es kein Problem beim speichern geben.
Habe noch eine turbo3.zip vorgefunden.
Die fix in eine eigene neue User Area entpackt und ausprobiert.
-> Diese arbeitet perfekt, soweit ich das bisher beurteilen kann.

Die andere Version weiterhin nicht.

Wie auch immer, ich kann wieder mit historischem TP spielen.


----

Ich danke dir für deine Unterstützung.
Und dafür dass ich nach Jahrzehnten der Abstinenz mal wieder CPM fühlen 
darf.
Mein Dank gilt natürlich auch deinen "Vorarbeitern"!

----

Zu meinem Aufbau:
Statt des Adapters, auf deinen Bildchen, habe ich eine nackte SD Karte 
verwendet. Dann natürlich mit 3,3V versorgt.
Der Aufbau war Minutensache.

Ganz perfekt ist die Sache noch nicht!
Es ist viel zu schnell! Unnatürlich schnell.
Auch fehlt das typische "Nack nack nack" des Diskettenlaufwerks.

Zudem hat mich Turbo3 nach der Taktfrequenz gefragt....
Da wusste ich dann für eine Sekunde auch nicht, was ich da eintragen 
sollte....

von Percy N. (vox_bovi)


Lesenswert?

CP/M 3 plus schrieb:
> Richtige Maenner haben ihr CP/M auf hartsektorierten 8"-Disketten!

Und den Quellcode in PL/M auf Lochsteeifen!

von CP/M 3 plus (Gast)


Lesenswert?

> Und den Quellcode in PL/M auf Lochsteeifen!

Richtig!
Den richtigen mit 8 Loechern aus Vinyl.

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

EAF schrieb:

> Das Schreibschutzhäkchen ist bei mir immer gesetzt, wenn eine SD Karte
> in meinem Reader steckt. Zumindest bei FAT32.
> Lässt sich auch nicht ändern.
> Tut so, als wenn es ändert.
> Bleibt aber wirkungslos .....
Tut mir leid :(
Ich habe eben mal H3 auf meine Karte kopiert und TURBO gestartet,
aber da klappt da speichern ohne Probleme - siehe Bild

von Prokrastinator (Gast)


Lesenswert?

Martin schrieb:
> Eines Tages wird der erste Quantencomputer zu einem erschwinglichen
> Preis zur Verfügung stehen. Es wird danach vermutlich keine Woche
> vergehen, bevor auf dem CP/M läuft.

Quantencomputer sind aber keine klassischen, frei programmierbaren CPUs.
Man baut sich die Quantenverschränkungen wie eine festverdrahtete Logig 
zusammen um genau ein spezielles Problem damit zu lösen.
Das dann aber so richtig schnell.
Da gibt es auch schon tolle Weiterentwicklungen.
Statt bei -273,05°C funktionieren die schon auch 1,1 Kelvin (minus 
272,05°C)
Das größte und teuerste daran sind also die Flüssighelium Kühlanlagen.
Glaube nicht das das demnächst bei Wish bestellbar ist.

Aber sicher findet sich jemand der darauf ein uralt PLD inklusiver 
seiner schnarchlangsamen Laufzeiten emuliert und das ganze das Retro 
nennt ;-)

von S. R. (svenska)


Lesenswert?

CiePie/Möchtegern schrieb:
>> Und dann ist RunCPM kein echtes CP/M, sondern eine Implementation der
>> CP/M-API (ähnlich wie DOSBox). Ein Großteil des Betriebssystems läuft
>> als C-Code auf dem Pi-Pico.
>
> Die SW-Design-/Architektur-Entscheide von RunCPM i.a. und insbesondere
> die Implementationsentscheide auf dem Pi-Pico habe ich noch nicht
> ausgelotet. Ev. gibt's da Gründe...

Ich habe nicht gesagt, dass das schlecht ist. Der Ansatz von RunCPM 
erlaubt Dinge, die mit einem echten CP/M nicht (oder nur schlecht) 
funktionieren und ist gleichzeitig extrem portabel.

RunCPM, DOSBox, vDos etc. sind dafür da, alte Anwendungen in einer 
modernen Umgebung komfortabel auszuführen. PCem oder RC2014 können das 
zwar auch, aber haben ein anderes Ziel. :-)

von S. R. (svenska)


Lesenswert?

Prokrastinator schrieb:
> Aber sicher findet sich jemand der darauf [Quantencomputer]
> ein uralt PLD inklusiver seiner schnarchlangsamen Laufzeiten
> emuliert und das ganze das Retro nennt ;-)

Vergiss nicht, dass die ersten Experimente mit neuer Technologie immer 
einfach sind. In meinem Hinterkopf schwirrt irgendwo ein "Halbleiter auf 
Glas"-Artikel herum, mit dem erstmal ein 6502/Z80 hergestellt wurde.

Das erste eigene FPGA-Projekt ist ein LED-Blinker, kein Core i7.

von Percy N. (vox_bovi)


Lesenswert?

Prokrastinator schrieb:
> Das größte und teuerste daran sind also die Flüssighelium Kühlanlagen.
> Glaube nicht das das demnächst bei Wish bestellbar ist.

Gerade da sehe ich das kleinste Problem. Lediglich die 
zufriedenstellende Lieferung könnte sich geringfügig verzögern.

von klausb (Gast)


Lesenswert?

Norbert schrieb:
> Irgendwann wird's auch einen Stapel Lochkarten mit dem FRIEND-Test
> geben.

Dafür braucht es aber eine /360 Emulation. (und einen LK Leser)

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

S. R. schrieb:

> Ich habe nicht gesagt, dass das schlecht ist. Der Ansatz von RunCPM
> erlaubt Dinge, die mit einem echten CP/M nicht (oder nur schlecht)
> funktionieren und ist gleichzeitig extrem portabel.

Ich habe den Pico mal von seiner "Freiverdrahtung" befreit und auf ein 
Breadboard gesetzt - nun ist er auch physikalisch sehr portabel ;)

von EAF (Gast)


Lesenswert?

Guido L. schrieb:
> Tut mir leid :(
> Ich habe eben mal H3 auf meine Karte kopiert und TURBO gestartet,
> aber da klappt da speichern ohne Probleme - siehe Bild

Muss dir nicht leid tun....
Ist alles gut.
Weiterhin meinen Dank an dich und deine Mitstreiter.

Zwischendurch festgestellt, dass auch andere Programme nicht schreiben 
können.

Mittlerweile tuts das jetzt auch bei mir.
Gemacht habe ich folgendes:
- Die Karte gewechselt, 3 verschiedene
- unter Win formatiert, mit Linux formatiert, auch den SDFormatter
- Dateien mit Win und Linux übertragen.
Was es jetzt exakt davon gebracht hat, kann ich leider nicht sagen.

Die jetzige, vorher nicht, aber nu funktionierende Karte ist ein 16GB 
Aldi Modell.
SdFormatter und unter Win übertragenen Dateien.

Das Problem lag/liegt ganz klar auf meiner Seite, wenn auch weiterhin 
etwas  im Schatten.

von CP/M 3 plus (Gast)


Lesenswert?

So ein Quantencomputer kann alle CP/M-Mannigfaltigkeiten
die sich durch affine Abbidlungen ineinander ueberfuehren
lassen, gleichzeitig emulieren!

Wie aus gut unterrichteten Kreisen verlautbarte, ist das
Einlesen von Lochstreifen noch ein ungeloestes Problem.
An finanziellen Huerden scheiterte bislang die Beschaffung
entsprechender Mengen von ADM-3A kompatiblen Terminals.

von Guido L. (guidol1970)


Lesenswert?

CP/M 3 plus schrieb:
> An finanziellen Huerden scheiterte bislang die Beschaffung
> entsprechender Mengen von ADM-3A kompatiblen Terminals.
Mit dem Arduino-Sketch ANSI-Terminal der FabGL - auf einem VGA32 - ist 
es auch moeglich auf eine ADM-3A Emulation zu schalten.

von Guido L. (guidol1970)


Lesenswert?

EAF schrieb:
> Die jetzige, vorher nicht, aber nu funktionierende Karte ist ein 16GB
> Aldi Modell.
> SdFormatter und unter Win übertragenen Dateien.
Da ich mit dem Pico zur Zeit auch nur eine "Test-Karte" nutze ist es 
auch eine 16GB NoName, die mit dem SDFormatter formatiert wurde.
(wurde wegen der 16GB automatisch FAT32)

Ich kopiere die Daten dann auch einfach mit dem Win10 Datei-Explorer 
drauf.
Kopierte Daten sollten aber auch mit Linux kein Problem sein, wenn man 
sauber die Karte unmounted ;)

von Prokrastinator (Gast)


Lesenswert?

S. R. schrieb:
> Vergiss nicht, dass die ersten Experimente mit neuer Technologie immer
> einfach sind.

Die einfachen Experimente mit den Kisten sind ja gelaufen.
Jetzt kommt dann wohl bald die Phase in der man sich bei all den 
Möglichkeiten der modernen Welt nach den überschaubaren Dingen seiner 
Kindheit sehnt und mit den hochgezüchteten Boliden wieder den richtig 
alten, zu Recht ausgestorbenen Kram emuliert.

Also die Originalkisten zu erhalten kann ich ja noch irgendwie 
nachvollziehen. Das vererbte Ölgemälde friedlich vereint mit dem 
restaurierten zx81, nur echt mit bröseliger Gummitastatur.
Beides ist nur das Wert was der geneigte Betrachter darin zu sehen 
meint.

Aber die Emulation von etwas altem auf etwas neuem mit 10.000facher 
Rechenleistung ist so als ob ich mir auf einen Golf 8 eine Pappmache 
Käfer Karosse aufklebe, ein MP3 mit Käfersound abspiele, eine Zündkerze 
abziehe, den Luftfilter mit Klarlack dicht mache und versuche drinnen 
alles genauso kacke und ungemütlich zu machen, wie die alten Möhren 
damals eben waren.

Sorry, sehe ich irgendwie überhaupt keinen Sinn drin.
Aber so sind Hobbys.

von Percy N. (vox_bovi)


Lesenswert?

Prokrastinator schrieb:
> Sorry, sehe ich irgendwie überhaupt keinen Sinn drin.
> Aber so sind Hobbys.

Andere rennen 42 km und sind hinterher genau da, wo sie losgelaufen 
sind. Und dafür kann man sich dann auch noch öffentlich feiern lassen.

von S. R. (svenska)


Lesenswert?

CP/M 3 plus schrieb:
> An finanziellen Huerden scheiterte bislang die Beschaffung
> entsprechender Mengen von ADM-3A kompatiblen Terminals.

Ich hab C-Code, der mit einem ANSI-Terminal ein ADM-3A-Terminal 
emuliert. Das schwierigste daran ist der ANSI-Parser...

Prokrastinator schrieb:
> Jetzt kommt dann wohl bald die Phase in der man sich bei all den
> Möglichkeiten der modernen Welt nach den überschaubaren Dingen seiner
> Kindheit sehnt und mit den hochgezüchteten Boliden wieder den richtig
> alten, zu Recht ausgestorbenen Kram emuliert.

Die 8 Bit-Welt ist älter als meine Kindheit, daran kann es also schonmal 
nicht liegen. :-)

Die Computer der frühen 80er kann man von der Elektrik bis zur Software 
vollständig verstehen. Versuche das mal mit einem aktuellen Smartphone. 
Je nach Hersteller reicht das von "viel zu kompliziert" bis "vom 
Hersteller verboten".

Fahren lernt man bevorzugt mit einem langsamen, kleinen, einfachen Auto 
- nicht mit einem hochmodernen Tesla. Es sei denn, man will eigentlich 
gar nicht fahren lernen, sondern etwas ganz anderes.

Man muss Computer nicht verstehen. Aber wenn man will, sind 
Retro-Maschinen (und Emulationen) ähnlich gut geeignet wie Arduino, 
Maker & Co.

Prokrastinator schrieb:
> Aber die Emulation von etwas altem auf etwas
> neuem mit 10.000facher Rechenleistung

Ich nutze DOSBox fast täglich, für Spiele. Bevor es so gut wie für alle 
DOS-Spiele benutzbar war, war es auch ein vollständlich sinnloses 
Hobbyprojekt. Wie vieles andere auch.

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

Guido L. schrieb:
> Ich habe ein initiales Release erstellt von RunCPM auf dem RPi Pico ;)
>
> Source & Binary gibt es auf
> https://github.com/guidol70/RunCPM_RPi_Pico

Nachdem nun 10 Monate % einige Releases rum sind, habe ich fuer RunCPM 
auf dem Raspberry Pi Pico einen Wordpress-Eintrag auf meinem Blog dafuer 
erstellt:

https://lehwalder.wordpress.com/2022/08/23/runcpm-on-the-raspberry-pi-pico/

: Bearbeitet durch User
von Ale (Gast)


Lesenswert?

Gibt es auch fuzix für den RasPi Pi :)

von Olaf (Gast)


Lesenswert?

Das heisst man koennte auf dem Pico jetzt Turbo Pascal 2.2b als
Entwicklungsystem nutzen? Na das eroeffnet ja Moeglichkeiten.
Ist vielleicht sogar schneller wie Python. :-)

Olaf

von ... (Gast)


Lesenswert?

> vorher BBC-Basic und MMBasic

MMBasic ist zumindest rudimentär nützlich und auch auf
anderen Controllern verfügbar, z.B. PIC32.

Wo liegt eigentlich der Nutzen bei einem steinalten CP/M
das von einem, oder von mir aus auch zwei leistungsmässig
eher beschränkten M0 emuliet wird?
Wer nun CP/M unbedingt braucht, könnte das, wenn es Hardware
sein muss, mit einem FPGA wesentlich leistungsfähiger tun.
Oder wenn eine Softwareemulation reicht, auf jedem heutigen
Consumerrechner?

Für
> Turbo Pascal 2.2b
stellt sich die selbe Frage.

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

Olaf schrieb:
> Das heisst man koennte auf dem Pico jetzt Turbo Pascal 2.2b als
> Entwicklungsystem nutzen? Na das eroeffnet ja Moeglichkeiten.
> Ist vielleicht sogar schneller wie Python. :-)

Ja das ist moeglich - siehe Bild mit Turbo Pascal v3.01A

Mit RunCPM auf einem Arduino Due ist auch eine GPIO-Steuerung moeglich.
Beim Pico leider (noch?) nicht.

Controlling Arduino from CP/M
https://www.youtube.com/watch?v=En7pRvCsFpU

: Bearbeitet durch User
von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

Guido L. schrieb:
> Mit RunCPM auf einem Arduino Due ist auch eine GPIO-Steuerung moeglich.
> Beim Pico leider (noch?) nicht.
>
> Controlling Arduino from CP/M
> https://www.youtube.com/watch?v=En7pRvCsFpU

OK - nochmal gegen getestet ;)
RunCPM auf dem Pico kann es doch schon....
Ich habe es getestet mit den LED.BAS (MBASIC) und LED.PAS (Turbo Pascal)
Beispielen. Damit konnte ich an Pin (GPIO) 25 die onboard LED ein- und 
ausschalten.

Somit gehe ich mal von aus, dass es auch an anderen GPIO-Pins klappt.

BTW: Aufpassen mus man beim uebertragen der Sources, da die bei mir als 
Linux-Zeilenende-Format vorlagen.
Ich habe diese dann im NotePad++ auf Windows-Zeilenende (CR+LF) 
umgestellt.
Dann konnte ich diese auch per Zwischenablage in die 
MBASIC/Turbo-Pascal-Editoren pasten.

: Bearbeitet durch User
von EAF (Gast)


Lesenswert?

Guido L. schrieb:
> habe ich fuer RunCPM
> auf dem Raspberry Pi Pico einen Wordpress-Eintrag auf meinem Blog dafuer
> erstellt

Das ist schon!
Du verwendest da allerdings einen SD Adapter, welchen einen Beigeschmack 
bei mir hinterlässt.
1. Das 5V Gedönse dort braucht man nicht.
2. gibt es fehlerhafte Adapter, welche Miso nicht los lassen, wenn CS 
High geht.

Eine Alternative, die nachweislich bei mir mit den PB2040 und CPM 
funktioniert
https://aws1.discourse-cdn.com/arduino/original/4X/a/9/9/a99abae7c5e5534c705d561d735a861ba8339a82.jpeg
(dort allerdings mit 16GB Karte)

von EAF (Gast)


Lesenswert?

EAF schrieb:
> PB2040

RP

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

EAF schrieb:

> Du verwendest da allerdings einen SD Adapter, welchen einen Beigeschmack
> bei mir hinterlässt.


> 1. Das 5V Gedönse dort braucht man nicht.
Wenn man ein gutes Netzteil mit 3.3V hat, unterstuetzt mein SD Adapter 
auch 3.3V - ABER das 3.3V Output auf der Pico Platine langt gerade so 
fuer den Pico und ist nicht wirklich ausgelegt fuer weitere Belastung.
Deshalb nehme ich lieber die VIN-5V vom Eingang, denn mein SD Adapter 
hat einen eigenen 5V->3.3V Stepdown-Converter ;)

Ansonsten nimm eine RC2040 Platine (wobei ich nicht weiss ob die 5V auch 
nur runterregelt oder direkt 3.3V fuer die MicroSD nimmt):
https://extkits.co.uk/product/rc2040/

Fuer den habe ich heute die Hardwarekonfig angepasst, so dass es auch 
fuer den RunCPM gibt:
https://github.com/guidol70/RunCPM_RPi_Pico/raw/main/GL20220825_RC2040_Pico_initial.zip

von Norbert (Gast)


Lesenswert?

Guido L. schrieb:
> Wenn man ein gutes Netzteil mit 3.3V hat, unterstuetzt mein SD Adapter
> auch 3.3V - ABER das 3.3V Output auf der Pico Platine langt gerade so
> fuer den Pico und ist nicht wirklich ausgelegt fuer weitere Belastung.

Hmmm, ist der RT6150A nicht für bis zu 800mA ausgelegt?
Nicht das man das auch wirklich voll ausnutzen möchte,
aber wie viel braucht denn so ein SD Adapter und eine SD-Karte?

von c-hater (Gast)


Lesenswert?

Guido L. schrieb:

> ABER das 3.3V Output auf der Pico Platine langt gerade so
> fuer den Pico und ist nicht wirklich ausgelegt fuer weitere Belastung.

Unsinn. Der auf dem Pico verbaute Wandler kann 800mA liefern, der Kram 
auf dem Pico-Modul selber zieht in Summe bei Vollast keine 50mA. Sprich: 
da bleiben 750mA über. Das reicht für jede SD-Card.

von Stefan F. (Gast)


Lesenswert?

Ich meine, dass man bei SD Karten mit 200 mA rechnen muss.

von c-hater (Gast)


Lesenswert?

Norbert schrieb:

> Hmmm, ist der RT6150A nicht für bis zu 800mA ausgelegt?

Isser.

> Nicht das man das auch wirklich voll ausnutzen möchte

Nunja, bei mir hängt derzeit ein 800x480 TFT-Display dran und dessen 
Backlight (über Boost-Wandler). Das zusammen zieht bei voller Helligkeit 
immerhin ca. 500mA aus dem 3.3V-Ausgang des Pico. Läuft völlig 
problemlos.

Ist natürlich noch ein gutes Stück von der Vollausnutzung entfernt, aber 
gibt zumindest einen deutlichen Hinweis, was geht. Inbesondere auch die 
Tatsache, dass schlagartige Änderungen der Backlight-Helligkeit 0<->Max 
und die damit verbundene extreme Änderung des Strombedarfs ohne 
jegliches Problem funktionieren. Da ist definitiv noch Luft nach oben.

von Mark S. (voltwide)


Lesenswert?

CP/M 3 plus schrieb:
> Richtige Maenner haben ihr CP/M auf hartsektorierten 8"-Disketten!
>
> Das hier ist allenfalls ein CP/M fuer Pickelgesichter.
Richtige Männer haben CP/M 2.2!

von S. R. (svenska)


Lesenswert?

CP/M 3 plus schrieb:
> Das hier ist allenfalls ein CP/M fuer Pickelgesichter.

RunCPM ist kein CP/M.

... schrieb:
>> vorher BBC-Basic und MMBasic
> Wo liegt eigentlich der Nutzen bei einem steinalten CP/M
> das von einem, oder von mir aus auch zwei leistungsmässig
> eher beschränkten M0 emuliet wird?

RunCPM ist kein CP/M.

Ansonsten liegt der Nutzen von CP/M-Anwendungen ungefähr da, wo er bei 
anderen Retro-Systemen auch liegt. Spaß am Gerät.

> Wer nun CP/M unbedingt braucht, könnte das, wenn es Hardware
> sein muss, mit einem FPGA wesentlich leistungsfähiger tun.

Nein. Weil dann bekäme man CP/M.
Aber RunCPM ist nunmal kein CP/M. :-)

> Oder wenn eine Softwareemulation reicht,
> auf jedem heutigen Consumerrechner?

Man kann CP/M auch auf einem 5 GHz-PC emulieren.
Da fehlt aber der Spaß am Gerät.

von ... (Gast)


Lesenswert?

Du hast unvollstaendig zitiert!
>> MMBasic ist zumindest rudimentär nützlich

CP/M war, wenn man ein UNIX daneben stehen hatte,
schon damals nur ein Krueppelsystem.
Allenfalls gelegentlich von mir als "Diskettenkopierer" benutzt.

> Da fehlt aber der Spaß am Gerät.
Da wuerde ich eher zu einem bunten Abakus raten.
Ersatzweise ein C128D.

von Olaf (Gast)


Lesenswert?

> CP/M war, wenn man ein UNIX daneben stehen hatte,
> schon damals nur ein Krueppelsystem.

Die meisten Leute die diesen Einblick hatten sind aber kurz vor der 
Kiste. Der Coolheitsfaktor von CP/M beruht hier her auf Kindern die 
damals CP/M auf ihren Apple oder C128 im Kinderzimmer hatten. Oder 
eventuell noch einen kleinen Rechner in der Firma. Ein Rechner auf dem 
Unix lief duerfte so mitte der 80er aber kaum in privaten Haenden 
gewesen sein. Das frueheste Unix das ich kannte war ein SCO/286 und das 
braucht dann einen 286er. Damals hatte man aber allenfalls einen 8086 
oder Atari/Amiga weil einem Papa/Mama wohl kaum einen Rechner zu 
Weihnachten geschenkt haette der irgendwo bei 3-4tDM lag.

Olaf

von Guido L. (guidol1970)


Lesenswert?

... schrieb:

> Wo liegt eigentlich der Nutzen bei einem steinalten CP/M
> das von einem, oder von mir aus auch zwei leistungsmässig
> eher beschränkten M0 emuliet wird?
> Oder wenn eine Softwareemulation reicht, auf jedem heutigen
> Consumerrechner?

die "beschraenkte" M0 haengt fast jeden normalen original Z80 Rechner 
ab, da die Emulation auf ca. 24-28Mhz Z80-Leistung kommt und die meisten 
Z80-Rechner eher 4Mhz haben.

Aussderdem muss man sich nicht mit Disketten begnuegen, sondern hat 16x 
8MB Harddrive in einem FAT16/FAT32 Filesystem - d.h. man muss sich auch 
nicht wie bei anderen Emulationen damit rumaergern in Floppy-Images die 
Files per cpmtools zu integrieren.

RunCPM auf einem Pico (wie auch anderen Mikrocontollern) macht mir mehr 
Spass, weil ich dafuer keinen Consumerrechner booten muss (so z.B. beim 
VGA32, der auch VGA/Tastatur-Pot hat) - also Instant-On wie bei 
Homecomputern.

@svenska
Ja - RunCPM ist kein echtes CP/M, aber es laufen CP/M Programme und man 
hat neben den Filesystem/Datei-Vorteil auch die Moeglichkeit auf die 
Hardware des Mikrocontrollers zuzugrifen - fuer mich ein Mehrwert.
Ein echtes CP/M ist zwar auch nett, aber RunCPM fuehlt sich - fuer mich 
- moderner an :)

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

c-hater schrieb:
> Unsinn. Der auf dem Pico verbaute Wandler kann 800mA liefern, der Kram
> auf dem Pico-Modul selber zieht in Summe bei Vollast keine 50mA. Sprich:
> da bleiben 750mA über. Das reicht für jede SD-Card.
Danke fuer den Hinweis auf den RT6150A/B ;)
Ich hatte zu Beginn meiner "Experimente" von einem anderen User dies 
gelesen und hatte am Anfang auch Probleme mit dem Init der SD-Karte, was 
sich durch Nutzung der 5V besserte, so habe ich dies verinnerlicht.
War also ein Fehler.

Testweise habe ich meinen Pico/SD-Reader nun auf 3.3V Nutzung umgestellt 
und es klappt, wie von Dir erwartet :)

D.h. ich muss nur aufpassen, wenn mehr 3.3V Componenten was abhaben 
wollen, dann koennte es Sinn machen die 5V zu nutzen, da der SD-Reader 
dann direkt am VIN heangt und selbst noch mal aus den 5V die 3.3V machen 
kann mit dem eigenen StepDown-Converter.

von S. R. (svenska)


Lesenswert?

... schrieb:
> CP/M war, wenn man ein UNIX daneben stehen hatte,
> schon damals nur ein Krueppelsystem.

UNIX war, wenn man einen IBM-Großrechner daneben stehen hatte, auch nur 
ein Krüppelsystem. Dein Maßstab ist krumm.

Olaf schrieb:
> Der Coolheitsfaktor von CP/M beruht hier her auf Kindern die
> damals CP/M auf ihren Apple oder C128 im Kinderzimmer hatten.

Du könntest falscher nicht liegen, aber so lebe deinen Traum auch Du.

Guido L. schrieb:
> Aussderdem muss man sich nicht mit Disketten begnuegen, sondern
> hat 16x 8MB Harddrive in einem FAT16/FAT32 Filesystem

Soweit ich RunCPM verstehe, ist die Laufwerksgröße nicht auf 8 MB 
begrenzt.

Guido L. schrieb:
> Ja - RunCPM ist kein echtes CP/M, aber es laufen CP/M Programme und man
> hat neben den Filesystem/Datei-Vorteil auch die Moeglichkeit auf die
> Hardware des Mikrocontrollers zuzugrifen - fuer mich ein Mehrwert.

Ich habe das nicht wertend gemeint.

RunCPM verhält sich zu CP/M wie Wine zu Windows. Beides hat seinen Sinn.

von Guido L. (guidol1970)


Angehängte Dateien:

Lesenswert?

S. R. schrieb:

> Guido L. schrieb:
>> Aussderdem muss man sich nicht mit Disketten begnuegen, sondern
>> hat 16x 8MB Harddrive in einem FAT16/FAT32 Filesystem
>
> Soweit ich RunCPM verstehe, ist die Laufwerksgröße nicht auf 8 MB
> begrenzt.
OK - da war ich gedanklich wohl bei der RC2014 Grenze, die man hat wenn 
man den Pico auf das RC2040 baut - da sind es 16x 8MB HDD-Images.
Bei RunCPM habe ich pro Drive aber auch noch keine 8MB - wird dann beim 
DIR sehr unuebersichtlich :)

> RunCPM verhält sich zu CP/M wie Wine zu Windows. Beides hat seinen Sinn.
RunCPM hat sicher wie Wine auch ein paar modernene nette Features :)

Heute habe ich es hinbekommen RunCPM fuer echtes (MS-)DOS 6.22 zu 
kompilieren (per DJGPP).
Allerdings nutzt das Programm dann den CSWDPMI Extender ;)

: Bearbeitet durch User
von S. R. (svenska)


Lesenswert?

Guido L. schrieb:
> Bei RunCPM habe ich pro Drive aber auch noch keine 8MB - wird dann
> beim DIR sehr unuebersichtlich :)

Theoretisch kann CP/M zwar 32 MB pro Laufwerk, praktisch laufen dem BDOS 
aber ab 8 MB die Ganzzahlen über. :) Da RunCPM aber das BDOS 
implementiert, spielt die Größe des Laufwerks an sich keine Rolle.

Ohne Verzeichnisse macht das tatsächlich keinen Spaß, aber die könnte 
man in RunCPM auch einbauen. Hier steht ein 80186 mit DOS Plus (lange 
vor DR-DOS) rum, dem merkt man das noch deutlich an.

>> RunCPM verhält sich zu CP/M wie Wine zu Windows. Beides hat seinen Sinn.
> RunCPM hat sicher wie Wine auch ein paar modernene nette Features :)

Ja: Beliebige Terminal-Emulation (auch wenn jeder "ANSI" nimmt) und 
weniger Stress mit den Dateisystem-Descriptoren. Hätte DR wenigstens die 
Parameter mit auf die Disk geschrieben...

> Heute habe ich es hinbekommen RunCPM fuer echtes (MS-)DOS 6.22 zu
> kompilieren (per DJGPP).
> Allerdings nutzt das Programm dann den CSWDPMI Extender ;)

Nett. Mein CPU-Emulator lässt sich leider nur mit gcc/clang bauen, daher 
läuft der nicht unter DOS.

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.