CPM-65 - CP/M ähnliches OS für meinen Junior Computer und andere 6502 Systeme

  • Im Jahr 1988 war ich der Limits meines OS/65 auf meinem Junior Computer überdrüssig und begann mit der Entwicklung eines eigenen, CP/M nachempfundenen, Betriebssystems. In jener Zeit wusste ich von anderen ähnlichen Anstrengungen nichts und so habe ich mich unbeschwert und nur für mich ans Werk gemacht. Heute leben sowohl mein Junior Computer als auch mein CPM-65 noch immer und sind aktiv in Benutzung.


    Das System umfasst

    Betriebssystem: BIOS, BDOS ,CCP und Bootlader

    Systemprogramme: DEBUG, FORMAT, SYSGEN, ...

    Utilities: COPY, D (strukturiertes Directory), DUTIL (Disc Utility), EPROMMER, SUPERTAP, XMODEM, ...

    Programmiersprachen: ASM, BASIC, FORTH



    Code und etwas Dokumentation findet ihr unter https://github.com/Dietrich-L/CPM-65


    Über Interesse, Anregungen, Verbesserungsvorschläge und Übernahme von Code freue ich mich immer


    Viel Spass


    Dietrich

  • Sehr schön,
    welchen Floppy Controller hattest du damals verwendet ?
    Womöglich den Elektor FDC, der dem Ohio Scienticic nachepfunden war ?
    Oder ...

    mfG. Klaus Loy

  • Thanks Hans, exactly right.

    Der SCSI-Teil der Schaltung musste mit einem Parity-Encoder nachgerüstet werden, da manche SCSI-Platten nicht ohne laufen wollten. Details auf Nachfrage. Der Floppy-Teil basiert auf einem WD2797 und läuft sehr stabil im Gegensatz zum OS-Controller ….

    Meine Computer: Elektor Junior, EPSON HX-20, Robotron PC1715, Poly-Computer 880, Schneider CPC464, APPLE II+, VIKTOR V386PX

    Mein Betriebssystem: CPM-65

  • @Dietrich,
    poste doch bitte mal ein paar Schaltpläne von deinem Junior Floppy Controller Board und bitte auch von deinem SCSI-Controller.


    mfG. Klaus Loy

  • Das sieht toll aus auf GitHub. Hat das schon mal jemand auf einen anderen Rechner portiert, z.B: C64?

    User PLASMO portiert das System gerade auf ein 6502-SBC.

    6502.org • View topic - CPM-65 - yet another approach


    Schaut schon ganz ok aus


    Dietrich

    Meine Computer: Elektor Junior, EPSON HX-20, Robotron PC1715, Poly-Computer 880, Schneider CPC464, APPLE II+, VIKTOR V386PX

    Mein Betriebssystem: CPM-65

  • Ich habe CPM-65 nun auf meinen getreuen Apple II+ portiert. Ging trotz aller Apple-Quirks recht gut.


    Das ganze Projekt liegt auf GitHub: https://github.com/Dietrich-L/CPM-65-for-Apple-II


    Das ganze ist sicher noch nicht perfekt. Kommentare und Fehlermeldungen sind immer willkommen.


    Viel Spass

    Dietrich

    Meine Computer: Elektor Junior, EPSON HX-20, Robotron PC1715, Poly-Computer 880, Schneider CPC464, APPLE II+, VIKTOR V386PX

    Mein Betriebssystem: CPM-65

  • perfekt…


    xesrjb

    "Der Wein mit der Pille ist im Becher mit dem Fächer. Im Pokal mit dem Portal ist der Wein gut und fein

  • .. und im Moment läuft gerade der Port auf den Junior Computer ][ 😜


    Dietrich

    Meine Computer: Elektor Junior, EPSON HX-20, Robotron PC1715, Poly-Computer 880, Schneider CPC464, APPLE II+, VIKTOR V386PX

    Mein Betriebssystem: CPM-65

  • Hallo Dietrich,


    klasse Sache! Ich habe die von Dir auf Github bereitgestellten Images in AppleWin und MAME geladen, aber bekomme auf den Befehl DIR immer folgende Meldung:



    Vermutlich sitzt der Fehler zwischen Stuhl und Tastatur, aber wer weiß :)


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Äh ja, aber das liegt an meiner mangelnden Dokumentationen.

    Ich habe den DIR Befehl von CP/M nicht implementiert. Stattdessen gibt es D, in der CP/M-Welt auch als SD bekannt. Das gibt ein sortiertes Directory aus.

    Die anderen üblichen Commandos sind auch alle als Programm realisiert, also TYPE, ERASE, RENAME uam.


    Viel Spaß

    Dietrich

    Meine Computer: Elektor Junior, EPSON HX-20, Robotron PC1715, Poly-Computer 880, Schneider CPC464, APPLE II+, VIKTOR V386PX

    Mein Betriebssystem: CPM-65

  • Hallo Dietrich,

    was mich überrascht hat, war die Fehlermeldung. Bei den CP/Ms aus der 8080/Z80-Welt, die ich kenne, würde bei einem fehlerhaften/falschen Kommando (und das ist ja ein "DIR" anstelle eines "D") ein "DIR?" ausgeworfen, während die BDOS-Fehler meistens auf fehlerhafte Sektoren, zerstörte Dateieinträge o.ä. hinweisen.


    Noch eine Frage: Ist das "D"-Programm dazu eingerichtet, bei einem System mit nur einem Diskettenlaufwerk nach Absetzen des Kommandos die Diskette zu tauschen? Die Abfrage "Legen Sie die Diskette ein" bei einem DIR auf die Standarddisk wird nach einer Weile mühsam. Ließe sich das evtl. durch einen Parameter erweitern, der die Abfrage nur macht, wenn ich eine andere Diskette als die gerade eingelegte anzeigen will?


    Danke und Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Bei CPM-65 gibt es keine Kommandos. Man kann nur Programme aufrufen. DIR.COM ist nicht auf der Disk, also kommt die Fehlermeldung.

    Die Option zum Diskettentausch ist für Konfigurationen mit nur einem Laufwerk. Mach bitte einen Issue auf - ich denke mir was aus.


    Dietrich

    Meine Computer: Elektor Junior, EPSON HX-20, Robotron PC1715, Poly-Computer 880, Schneider CPC464, APPLE II+, VIKTOR V386PX

    Mein Betriebssystem: CPM-65

  • Hallo Dietrich, danke für die Änderung im D.COM. Ich muss gestehen, ich habe es in DIR.COM umbenannt, das sitzt tief in den Fingern.

    Dabei ist mir aufgefallen: Für RENAME benutzt Du die DOS-Syntax


    RENAME D.COM DIR.COM anstelle dir CP/M-Syntax


    REN DIR.COM=D.COM


    Hast Du das bei allen Befehlen durchgehalten?


    Danke und Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Ja, habe ich. Das hat mir immer schon besser gefallen.


    Dietrich

    Meine Computer: Elektor Junior, EPSON HX-20, Robotron PC1715, Poly-Computer 880, Schneider CPC464, APPLE II+, VIKTOR V386PX

    Mein Betriebssystem: CPM-65