RunCPM v4.8 Win32-Shell "Starterpacket"

  • Da es auf der Github-Page keine aktuellen Windows-Binarys gibt und nicht jeder einen passenden Compiler installieren/einrichten mag, habe ich mal ein "Starterpaket" erstellt.


    Dies beinhaltet RunCPM v4.8 fuer die Win32-Shell-Console in folgenden Ausfuehrungen:

    - DR CCP mit 60k

    - internal CCP mit 60k

    - internal CCP mit 64k


    Mit dabei ist das Standard-A:-Laufwerk aus dem github A.ZIP zum booten (auch schon ausgepackt).

    Und auf B: gibt es MBASIC in ein paar Versionen plus FRACTAL.BAS zum Speedvergleich :)


    A: ist das Verzeichnis \A\0

    B: ist das Verzeichnis \B\0


    0 ist die Benutzernummer


    Compiliert wurde RunCPM v4.8 hier mit dem Compiler TDM-GCC-32:


  • Danke sehr, guidol, für die Arbeit, die du dir damit gemacht hast.

  • Habe jetzt noch das Problem, dass ich nicht weiss, wie man sich eine eigene CP/M-Diskette zusammenstellt. Gibt es eventuell Programme, die das vereinfachen können? Hintergrund ist, dass ich die WalnutCreek CD´s entdeckt habe und da wollte ih mir eventuell einige Programme draus zusammen stellen, bekomme es aber nicht hin.

  • Habe gelesen, dass man zum Erzeugen leerer Disketten den Befehl FORMAT Laufwerk benutzt, kann das sein?

  • Bodhi1969

    fuer RunCPM braucht man keine Disketten, denn RunCPM nutzt das Filesystem vom Host der Emulation - hier Windows.

    In dem Paket sind die Verzeichnisse A/0 und B/0, wo direkt die Programmdateien reinkopiert werden koennen (z.B .COM)

    Bei den Buchstaben kann bis P: "raufgehen" und bei der Zahl (Usernummer) bis 4.

    Wechsel des Laufwerks wie bei DOS mit

    B:

    und Userwechsel z.B. mit

    USER 1

    (solange es ein Verzeichnis mit der Usernummer gibt unter dem Laufwerksbuchstaben)


    Das mit dem Filesystem ist einer der groessten Vorteile von RunCPM ;) meiner Meinung nach.


    So kannst Du einfach Programme (*.COM) einfach in die Verzeichnisse kopieren und dann mit dem Laufwerksbuchstaben/Usernummer nutzen.

  • @guidol,
    auch von mir danke.
    Ich hatte und habe solch einen CP/M Emulator und ich glaube der funtionierte zuletzt mit WinXP.
    Dein "Zeug" hab ich eben mal in einen Ordner kopiert und es hat gleich funktioniert :)

    Sehr sehr schön.


    mfG. Klaus Loy

  • Läuft da irgendeine Terminalemulation drauf, oder ist das nur ein dumb Terminal?

    aus dem Read.me auf github:

    Zitat

    The "video monitor" is assumed to be ANSI/VT100 emulation, as this is the standard for DOS/Windows/Linux distributions. So CP/M applications which are hardcoded for other terminals won't build their screens correctly.
    When using a serial terminal emulator, make sure it sends either CR or LF when you press enter, not both (CR+LF), or else it will break the DIR listing on DR's CCP. This is standard CP/M 2.2 behavior.

  • guidol : Erstmal vielen herzlichen Dank für Dein Starterpaket - läuft echt toll!!! Denkst Du das könnnte man auch irgendwie auf Win98 zum Laufen kriegen? Wäre super mit RunCPM auf meinem Libretto zu spielen... - da kotzt sich mein Gerätchen leider aus! :(


    :)Franky

  • guidol : Erstmal vielen herzlichen Dank für Dein Starterpaket - läuft echt toll!!! Denkst Du das könnnte man auch irgendwie auf Win98 zum Laufen kriegen? Wäre super mit RunCPM auf meinem Libretto zu spielen

    Ein klares JEIN ;)
    Das Problem ist, mein obiges Starterpaket ist fuer Win32 compiliert mit TDM-GCC-32.

    Damit laeuft es auf einem Windows 32bit und 64bit - aber leider nicht auf einem Windows mit 16Bit wie Win98.


    Es gab mal am Anfang von RunCPM auch eine "DOS"-Version also 16Bit. Die war mit dem Extender DJGPP compiliert worden.
    Nach und nach wurde der DOS-Port nicht mehr gepflegt und so lies mich RunCPM noch compilieren
    (da habe ich aber ewig verschiedene alte Versionen der Teile von DJGPP suchen muessen die zusammen passten - aber im Endeffekt wurde nicht mal die richtige Anzahl Files angezeigt.

    Du kann Dir das damalige Ergebnis im folgendem Thread

    RunCPM compile via DJGPP auf DOS/Win9x klappt nicht :(

    ansehen und runterladen.... evtl. musst Du aus dem neuen Starterpaket die Laufwerksverzeichnisse und CCPs mit einkopieren.

  • hier mal ein 64Bit Test compile, falls es evtl. mit der Ausgabe Probleme gibt unter Windows 11

    (ein Tester hat eine gekuerzte DIR Ausgabe unter Win11 in einer Paralels-VM auf einem M1 Apple :) )


  • Echt schicke Sache, so mal eben unter Windows. Danke Guido!

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • hier mal ein 64Bit Test compile, falls es evtl. mit der Ausgabe Probleme gibt unter Windows 11

    (ein Tester hat eine gekuerzte DIR Ausgabe unter Win11 in einer Paralels-VM auf einem M1 Apple :) )

    Dem Apple-User mit Parallels Desktop VM hat wirklich die 64bit-Version von RunCPM geholfen, da er mit der 32bit-Version eine gekuerzte Ausgabe beim DIR-Command bekam wie ich damals bei meinem nicht ganz erfolgreichen Test-Compile unter Win98SE mit DJGPP-Compiler/Extender.

    Cool waere, wenn ein User mit echtem Win11 (also 64Bit ohne VM) dies gegentesten koennte.

    Es koennte ja sein, dass der Parallels-Desktop dies unter 32bit auch nur falsch emuliert.


    32&64Bit Binary von RunCPM noch mal im Anhang mit Daten fuer Drive A:



  • Hallo,

    wenn Du in Deinem kurzweilig (= gut!) geschriebenen Blog schreibst, das einzige Problem wäre die Ausführungsgeschwindigkeit, warum gibt es dann nicht eine Einstellmöglichkeit dafür (und dem dazugehörigen Code, der die Ausführung per Timer oder ähnlich bremsen könnte) ?


    Gruß Peter

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • wenn Du in Deinem kurzweilig (= gut!) geschriebenen Blog schreibst, das einzige Problem wäre die Ausführungsgeschwindigkeit, warum gibt es dann nicht eine Einstellmöglichkeit dafür (und dem dazugehörigen Code, der die Ausführung per Timer oder ähnlich bremsen könnte) ?

    Die Option hat der original Autor (Marcelo Dantas) nicht vorgesehen und ich habe leider nicht das Wissen sowas einzufuegen - aus dem Grund kann ich keine Version mit Bremse anbieten.

    Es gab zwar einen Ansatz , aber der passt nicht allgemeingueltig zu jeder (immer schneller werdenden) CPU, weil es nur ein Leer-Loop ist der je nach Einstellung des Compiler (s. -O3)auch wegoptimiert wird.


    Es braeuchte wohl eine Art "Speedmesser" Programm, dass die Geschwindigkeit errechnet und dann eine entsprechende Pause einfuegt...

  • Das mit dem Wegoptimieren kann man doch beeinflussen, entweder via Compileroption, oder via Minimalcode, der in der while () bzw. for () Schleife dann zu finden ist (bspw. eine Zuweisung einer Variablen). Wenn ich Zeit habe, kann ich ja das mal selbst probieren, eine make Datei ist doch auch dabei, oder ?

    Und hast Du die Windows-Version via Cygwin oder TDM-GCC kompiliert ?


    P.S.: Alle Optimierungen des Compilers ausschalten geht normalerweise via "-O0" Option, oder ggfls. auch mit "-Og" (ist schwächer)...

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

    2 Mal editiert, zuletzt von Peter z80.eu ()

  • Es gab zwar einen Ansatz , aber der passt nicht allgemeingueltig zu jeder (immer schneller werdenden) CPU, weil es nur ein Leer-Loop ist der je nach Einstellung des Compiler (s. -O3)auch wegoptimiert wird.

    Dem könnte man vielleicht mit einer volatile-Zuweisung abhelfen, jedoch ist das auch nur ein "Hack", welcher "zufällig" (abhängig u.a. vom Compiler) funktioniert ... Die Optimierungen ganz oder teilweise (wie im obigen Ansatz) "abzuschalten" ist IMHO auch keine gute Idee ... in RunCPM wird bereits die Funktion clock aus time.h verwendet, wenn das "Profiling" (Macro PROFILE) aktiviert ist: diese könnte auch für ein "Delay" eingesetzt werden ...