Lösung für DSK-Images...

  • Hallo.


    Ich habe 3 CP/M Rechner.


    1. Den Imsai 8080 mit 8"sssd Doppelfloppy und serieller Anbindung an den Haupt-PC.

    2. Den Kaypro II.

    3. Den RC2014, meine Probier-und Bastelbude.


    Zum Datentransfer nutze ich Xmodem, das funktioniert soweit ganz gut. Wenn ich mehrere Dateien auf einen Schlag senden will, dann mache ich am PC eine ZIP-Datei und entpacke die am Ziel-Rechner. Die Baudrate vom RC2014 beträgt ab Werk 115200 Baud, es handelt sich um eine synchrone SIO Karte, die Baudrate bezieht sich also auf die Taktfrequenz. Mit 115200 Baud kommen Imsai, Kaypro und auch das Xmodem Protokoll nicht klar, außerdem auch keine alten Terminals. Stellt man die Taktfrequent so ein, dass die Baudrate 19200 Baud beträgt, dann tuckert der RC2014 mit 1,22 MHZ vor sich hin, anstatt mit 8 MHZ. Also hab ich das Teil gemoddet, dass er mit 8MHZ läuft und gleichtzeitig 19200 Baud hat. Die 2. Systemclock machts möglich..

    Soweit so gut. Normale Dateien kann ich also kreuz und quer zwischen den Geräten übertragen, wie ich möchte.


    Mein Problem sind aber DSK-Images. Da freut man sich, dass man die gesuchte Software gefunden hat und dann ist das so ein "doofes" DSK Images. Als mein Imsai und meine Doppelfloppy noch offen waren, hat das kein Problem dargestellt. Ich hatte ein gotek mit einer Adapterplatte als Laufwerk B: dran und konnte einfach die Daten kopieren. Verständlicherweise möchte ich den Imsai 8080 zwitgemäß und als zusammengebautes System nutzen. Also muß eine andere Lösung her. Also wie kriege ich an meinem Main-PC DSK-Images geöffnet und kann dann bequem via Teraterm bzw. xmodem den Kram zum Zielrechner rüber schaukeln ?


    Irgendwie hab ich mir eingeredet, den RC2014 als "Brückenrechner" zwischen Main-PC und Imsai nutzen zu wollen/müssen. Wegen der korrigierten Baudrate und den 2 seriellen Anschlüssen ist das ja ohne Probleme möglich. So kann ich die SW am RC2014 testen, und was gut ist, schiebe ich am Imsai auf ne 8" Diskette.. Außerdem könnte ich den RC2014 als "Entwicklerplattform" nutzen, also am Haupt-PC, allerdings dann via Terminal an einem reellen CP/M Rechner in Assembler programmieren. Mein 8085 Simulator braucht 10 Minuten für die Ausführung eines Codes, während der Imsai nur 2/10 Sekunden dafür braucht. Wordstar und Macroassembler oder der "normale" Assembler würden da genügen.


    1. Idee: Ich nutze am Main-PC einen CP/M Emulator, in den ich DSK Images mounten kann. Dann kopieren ich den Kram einfach via Xmodem zum RC2014. Welcher Emulator wäre da gut ?


    2. Idee: Ich kaufe/baue mir einen Floppycontroller für den RC2014, der IBM 3740 Format unterstützt. Dann kann ich am RC2014 ein Image von der SD-Karte des Lothareks lesen und einfach rüberkopieren. Oder aber, ich schließe den Lotharek Floppyemulator als Laufwerk A: und ein richtiges 8"SSSD Laufwerk als Laufwerk B: an. Dann könnte ich fertige Floppydisks direkt erstellen ohne eine serielle Datenübertragung. Ich habe eh noch kein Gehäuse für den RC2014. Evtl. würde ich dann ein Gehäuse bauen mit allem intergriert.


    Die große Frage ist, welchen Floppycontroller nehme ich ?! Ich habe keine fertige Karte gefunden, die IBM 3740 Format unterstützt. Einen einzelnen FD1771 Controller hätte ich noch da... da müsste ich evtl. was bauen...weiß aber noch nicht wie... :)


    Wie macht ihr das mit diesen DSK Images ?



    Vielen Dank !


    Gruß Jan

  • 1. Idee: Ich nutze am Main-PC einen CP/M Emulator, in den ich DSK Images mounten kann. Dann kopieren ich den Kram einfach via Xmodem zum RC2014. Welcher Emulator wäre da gut ?


    Ja - das ist schon ein wenig muehsam mit den .dsk.Images :(


    Ein Emulator der .dsk Images mounten kann und dann noch daraus exportieren kann ins Filesystem, da fallen mir erstmal SimH und Z80pack und yaze ein.
    Wobei da wohl das Problem sein wird, welche .dsk-Image Formate unterstetzt werden,da es ja VIELE Formate gibt :(


    Deshalb zum exportieren aus Images oder importieren in Images kann ich nur die CPMTools empfehlen - allerdings hauptsaechlich unter Linux (auf PC oder Pi-Computer)- kann da direkt per apt install cpmtools installiert werden.

    Es gibt zwar auch eine Win32bit-Version und auf einer anderen Seite sogar eine GUI-Version fuer Windows


    Leider habe ich mit beiden Windows-Versionen so meine Probleme.
    Bei der Win32Bit Commandline-Version klappt es im Gegensatz zur Linux-Version eher schlecht als recht mehrere Dateien zu exportiren/importeren, da diese CPMTools immer einige seiner Bestandteile (mehrere Programmteile) haben will und wenn man nun Dateien aus einem anderen Verzeichnis als dem Programmverzeichnis Platzhaltern kopieren moechte, will diese CPMTools Version einen schraegen Pfad im .DSK Image anlegen, denn diese dann verweigtert.


    Wenn man alternativ die CPMTools Programmteile mit in den Pfad der CP/M Dateien legt, findet er zwar sein Teile, kopiert aber je nach Platzhalter sein eigenes .COM mit ins DiskImage und dies ist bei Windows .COM Programmgroessen schnell voll :(


    Bei der Linux Version weiss das Linux, wo die Programmteile von den CPMTools sind und findet diese. Zusaetzlich hatte ich dort noch nicht das Problem, dass er die Pfadnamen in die DSK-Images uebernehmen will.


    Die GUI-Version von den CPMTools sieht erstmal ganz nett aus, bis auf die teilweise asiatischen Zeichen.
    Auch unterstuetzt es wie die Commandline-Version die diskdefs Datei, in der dir ganzen CP/M-Disk-Formate eingetragen sind.

    Aber auch hier habe ich Probelem gehabt wie bei der normalen Windows Version, wenn man mal mehr als eine Datei transferrieren will :( Meist gibt es Zugriffs-Fehlermeldungen, leere Dateien oder welche bei dem der Inhalt dann nicht zur Datei passt.

    Auch gabs es bei den ESP8266 CPM-Images (4 Images in einem Image) das Problem, dass nicht alle Config-Befehle in der diskdefs Datei unterstuetzt werden ( hier war es das Offset, das man braucht im fuer nach dem ersten Image einige Tracks zu ueberspringen)


    Fuer Einzel-Dateien kann man die Windows-Versionen in Betracht ziehen.


    Als CP/M Emulator habe ich RunCPM am liebsten, aber der nutzt keine .DSK-Images sondern nur das direkte Filessystem.


    Eine Vielzahl von CP/M-Emulator findte man unter https://github.com/EtchedPixels/RC2014
    (dort auch einen fuer RC2014 und Z80-MBC2) - mit denen man die Standard-DSK-Images nutzen kann.

    XMODEM Transfer mache ich mit Tera Term, weil man dort neben dem normalen Transfer auch per CON: uebertragen kann, wenn man eine Transferwartezeit von 1ms pro Zeichen einstellt. So kann man per Zwischenablage z.B. BASIC-Programme eintippen lassen :)


    Alternativ (fuer AMSTRAD .DSK-Images) gibt es noch cpcxfs zum Transfer von Dateien


    Evtl. haben hier andere noch bessere Ideen / Erfahrungen? ;)

  • Vielen Dank für die Antwort ! Ja, ich nutze in Teraterm auch gelegentlich den Transfer via CON: mit der Wartezeit von 1ms. So hab ich xmodem überhaupt erst auf den Imsai gebracht..


    Ich bin normalerweise kein Freund von Emulatoren. Aus der Antwort lese ich auch raus, dass es da auch nicht die eierlegende Wollmilchsau gibt.


    Von dem Gedanken, einen eigenen Floppycontroller zu bauen, komme ich nicht mehr weg. Dann könnte ich gemütlich die dsk Images auf ne SD Karte ziehen und am RC2014 weiter verarbeiten. Das will ich jetzt mal etwas erforschen. In Eagle hab ich ein klein wenig Erfahrung, allerdings überhaupt keine Erfahrung, was die Entwicklung einer solche Floppycontrollerkarte angeht.

    Als Controller-Chip habe ich mich für den TMS2797 entschieden. Dieser braucht nur 5V Spannung, ist softwarekompatibel zum FD179X, unterstützt das IBM 3740 und das IBM 34 Format und hat den Dataseparator bereits integriert. Zudem unterstützt er auch doppelseitige Disketten.

    Was das Interfacing zwischen Controller und Floppy selber angeht, sollte das kein Problem sein, man braucht halt ein paar hexinverter 7406. Wo ich mich noch einarbeiten muß, ist die Adressierung.

    Letzten Endes soll es eine Karte sein mit einem 50pol 8" Floppy Anschluß. Da kommt dann eine Adapterkarte dran (die ich ja bereits habe) und daran kommt dann das Lotharek.

    Vor der Programmierung eines reinen Floppy-BIOS bzw. einer Firmware hab ich keine "Angst". Was mir etwas Kopfzerbrechen macht, ist, dass man das alles mit der CF card unter einen Hut kriegt...


    Gruß Jan

  • Hi,

    generell ein interessantes Projekt - zumal die "Alternative" ein 765 Derivat verwendet, welches Probleme mit einigen CP/M Formaten erwarten lässt.

    Ich würde es für einem Pi Zero und einem 34pol Floppyanschluss planen, den Adapter dann für den etwaigen Anschluss des 8"LW vorsehen (auch wenn dann TG43 wegfällt - moderne/re 8" benötigen das sowieso nicht mehr).

    Ist das Projekt schon irgendwie fortgeschritten?

  • Hallo.


    Ja, ich hatte noch einen Thread geschrieben. Ich habe eine Controllerkarte gebaut. Damit bin ich in der Lage, einen beliebigen Sektor von einer 8“ Floppy zu lesen. Also funktioniert die Karte schonmal. Momentan hängt ein Gotek hxc mit einem 50pol zu 34pol Adapter dran. Funktioniert auch. Im Grunde muß ich „nur noch“ die Software fertig kriegen. Leider komme ich aus Zeitgründen momentan nicht dazu, obwohl das Projekt auf meiner Liste ziemlich weit oben steht.


    Gruß Jan

  • Hallo,


    ich habe das mit den Diskimages für mein Z180-SoftSystem per Batch-Datei gelöst. Damit klappte auch das kopieren von

    mehreren Dateien auf einmal völlig Problemlos. Aus das Zurücklesen. Ich habe die Batch-Dateien einfach mal angehängt.


    Die CPMTools GUI habe ich mir mal angeschaut. Das entspricht in etwas dem was ich auch noch vorhatte in meinem

    Z180-SoftSystem einzubauen. Die Quelltexte sind ja auch dabei. Diese sehen aus als ob die CPMTools GUI mit einer

    Borland/Codegear/Embarcadero C++ Builder Version geschrieben sind.

    Evtl. könnte man die ganze Sache noch verfeinern und mit Qt oder wxWidgets dann auch gleich Cross-Platform umschreiben.

    Oder nach Free-Pascal konvertieren...


    Grüße HobbyProgrammer

  • Hallo zusammen,


    ich wärme das Thema einfach mal wieder auf, da ich mir für die CP/M-Tools etwas habe einfallen lassen.

    Eine GUI die Cross-Platform unter Linux und Windows läuft. Das ganze basiert auf dem Source-Code der CP/M-Tools von

    Michael Haardt in der Version 2.21.

    Das Inhaltsverzeichnis kann bis jetzt schon sauber gelesen und angezeigt werden. Weitere Funktionen werde ich in den

    nächsten Wochen und Monaten einbauen.


    Anbei ein paar Screenshots.


    Grüße HobbyProgrammer

  • Danke.

    Im Grunde genommen soll das ganze dann wie ein Mini Dateiexplorer funktionieren. Also mit Popup Menü beim linksklick in das Verzeichnis. Kopieren von Dateien per Drag and Drop bzw. mit Kopieren (Strg C) und Einfügen (Strg V). Auch das Löschen und Umbenennen von Dateien soll möglich sein. Und natürlich auch das neu Erzeugen (Formatieren) einer Image-Datei. Die Formate werden wie gehabt in einer Diskdef Datei beschrieben.

    Es wird aber sicher noch einige Wochen und Monate dauern bis da richtig viel Funktioniert.

    Ist eben ein Hobbyprojekt. Und meine Frau will ja auch noch was von mir haben ... 😄

  • Nochmals hallo,


    da ich ja weis das Ihr alle nicht neugierig seid ... ;)


    Ich habe hier mal jeweils für Win64 und Linux64 die allererste Testversion mit funktionierender Verzeichnis-Anzeige angehängt.

    Ich habe hier einfach einmal sämtliche Darstellungsmodi des Verzeichnisses implementier die die CP/M-Tools bieten.

    Ich denke aber, ich werde es auf eine Darstellung in welcher alles enthalten ist reduzieren. Dort soll es dann möglich sein

    die Angaben (Spalten) welche man haben möchte auszuwählen.


    Die diskdefs Datei muß im selben Ordner liegen wie die CIFE (CP/M Image File Explorer) Programmdatei.


    Über Feedback würde ich mich sehr freuen.


    Grüße HobbyProgrammer


    CIFE_Windows64.zip

    CIFE_Linux64.zip

  • Guten Morgen,


    daran habe ich auch schon gedacht. 😉

    Zuerst steht allerdings die Funktionalität der eigentlichen CP/M Tools an.

    32 Bit-Version wäre auch schön ... noch schöner mit Quellcode ... :)

    Ich muß mal schauen ob ich das bei meinen derzeit kleinen Zeitfenstern irgendwie unterbringe. Ich arbeite privat ausschließlich unter Linux und habe Windows nur noch als VM am laufen.


    Für weitere Diskussionen habe ich ein neues Thema aufgemacht, ich welchem es ausschließlich um den CP/M Image File Explorer gehen soll. Ich möchte das Thema von Jan1980 nicht kapern. 🙂


    Grüße Hobbyprogrammer