MFA CP/M

  • Hallo miteinander,


    schaut euch doch mal auf Mike Douglas' Seite um: http://deramp.com/


    Interessant wird es bei den Downloads: http://deramp.com/downloads/mfa_computer/


    In den letzten Wochen haben wir quasi täglich Mails ausgetauscht und telefoniert - er hatte auf meine Anfrage bezüglich seiner Dateiaustauschprogramme für CP/M reagiert und mir den entscheidenden Tipp gegeben und war dann bereit, ein quelloffenes BIOS für den MFA und einen Monitor mit Bootfunktion zu erstellen.

    Das Ganze war insofern eine Herausforderung, als er die Maschine nicht kennt und nie real vor sich hatte. Das Testen lag bei mir, ein paar Mal hat sich Mike auf meinen PC mit dem Terminalprogramm draufgeschaltet. Wir haben sowohl mit dem internen 3.5"-Diskettenlaufwerk als auch mit zwei externen 5.25"-Diskettenlaufwerken getestet.


    Ich werde heute abend hier noch Screenshots posten - was gibt es alles:


    - Monitor-Programm mit vielen interessanten Funktionen: Speichertest, In/Out-Funktion, Hex-Loader, Speichermanipulation und natürlich den CP/M-Boot

    - 720KB-Diskettenformat gegenüber den 320K-Disketten des original-CP/M. Dazu kann das interne Laufwerk durch ein gängiges, auf DS0 gejumpertes Laufwerk ersetzt werden. Im MFA-Modus werden dann einfach die ersten 40 Spuren genutzt, das neue CP/M benutzt 80 Spuren, 9 Sektoren/Spur, 512 Bytes/Sektor

    - Standard-CP/M, d.h. Lader und BIOS auf den Systemspuren der Diskette. Beim originalen CP/M ist das BIOS im 2K Boot-Eprom integriert.

    - IOBYTE-Unterstützung

    - Schnelle BIOS mit Track-Buffer

    - Dokumentierte Patch-Region für Systemparameter, etwa um die Zugriffszeiten für 5.25"-Laufwerke mit Headload anpassen zu können

    - Intelligente Datenübertragungsprogramme: BFZGET/BFZPUT zur Übertragung von Dateien via XMODEM auf der ersten oder zweiten seriellen Schnittstelle

    - PC2FLOP und FLOP2PC zur Übertragung von Raw-Diskettenimages via XMODEM

    - COPY-Programm zur Formatierung von Disketten sowie dem Kopieren von System-, und/oder Datenspuren, der kompletten Diskette oder dem benutzten Teil der Diskette.


    Damit liegt nun nicht nur ein wirklich gut benutzbares CP/M für den MFA vor, durch die Verfügbarkeit der Quelltexte werden nun Anpassungen an verschiedene Hardware-Stände möglich, und vielleicht auch neue Projekte ...


    Robert

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

  • Fertige 22disk-Definitionen sind sowohl für das originale wie für das neue CP/M verfügbar ... poste ich zusammen mit dem Disk-Image heute abend :)


    Gruß

    Rober

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

  • Echt eine tolle Geschichte! :thumbup:


    Nachtrag:

    Wer (wie ich und VIELE andere) der 8080 Assembler nicht / nur schwer lesen kann, habe ich vor einiger Zeit ein Konvertierungstool gefunden.

    das Intel zu Zilog - Übersetzungsprojekt


    Bitte die Hinweise lesen! Sonst kann's Frust geben.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Hier sind schon mal die 22DISK-Definitionen


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

  • Hier nun ein paar Screenshots, das Diskettenimage und das Hexfile für den Monitor.

    Vorab: Das Diskettenimage liegt als RAW (DD)-, Teledisk- und IMD-Datei vor, dazu kommt noch eine kurze DD-Variante, die über FLOP2PC abgespeichert wurde. Dabei wird die Übertragung nach der ersten komplett leeren Spur gestoppt, dies kommt der Übertragungszeit zugute. Dieses Image eignet sich besonders, um ein blankes System damit in Betrieb zu nehmen. Der Quelltext für das BIOS und die Utilities von Mike Douglas ist auf seiner Seite zu finden.


    Ansonsten ... hier der Monitor mit seinen Optionen. Der Speichertest hat sich schon bewährt, da sich rätselhafte Programmabstürze beim Debuggen des CP/M durch einen defekten Speicherbaustein erklären ließen.



    Im zweiten Bild sieht man das PC2FLOP.HEX von Mike Douglas' Seite nach der Übertragung auf den MFA und Start auf 0100. Damit wurde das kleine Diskettenimage auf eine leere Diskette zurückgespielt.

    Als nächstes dann das eigentliche CP/M mit den Utilities von Digital Research und Mike Douglas. Vom originalen MFA-CP/M habe ich BFZCOPY und BFZED übernommen, den Editor, und das Dateikopierprogramm, das anders als das ebenfalls vorhandene PIP Dateien mit nur einem vorhandenen Laufwerk kopieren kann. Die beiden anderen Programme vom originalen MFA-CP/M, BFZFORM und BFZAUTOK, sind nur auf diesem lauffähig und daher nicht mehr auf der 720K-Diskette .Zum Dateitransfer zwischen PC und MFA dienen die Utilities PCGET und PCPUT.



    COPY kann Disketten formatieren, kopieren und prüfen, und dabei beim Kopieren nur die Systemspuren, die Datenspuren oder alle Spuren kopieren und mit dem zusätzlichen Q(uick)-Parameter sich auf die tatsächlich benutzten Spuren beschränken.



    Robert

  • Bootet zwar von Teac FD-55FV-13-U, der Versuch,

    Das Teac macht doch 80 Tracks.

    Die bisherigen Floppies haben wir aber mit 40 Tracks formatiert/kopiert.

    Oder bist du schon weiter?

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Ich schau mal ob ich's hinbekomme ...


    Edith sagt: Ich habe Probleme mit Sysgen ... ich funke Mike nochmal an.


    Gruß

    Robert

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

    Einmal editiert, zuletzt von rfka01 ()

    • Offizieller Beitrag

    Das Problem ist offenbar schon einen Schritt früher aufgetreten:

    Ich hatte beim ersten Versuch die Diskette mit Teledisk zurückgeschrieben.

    Jetzt habe ich das mit ImageDisk nochmal neu gemacht und was soll ich sagen - jetzt funktionierts. :)

    Auch eine mit COPY.COM auf dem MFA erstellte Kopie der Systemdiskette funktioniert.

  • Prima!

    Mike hatte noch den Tipp gegeben, dass die derzeit eingetragenen Werte schon die "konservativen" für die 5.25" Disketten sind und das Image testhalber via PC2FLOP zu übertragen, da hierbei das Format auf dem MFA gemacht werden kann.


    Das hieße also, die Hex-Datei von PC2FLOP aus dem Monitor auf den MFA zu übertragen, Diskette formatieren und Image via XMODEM übertragen.


    Aber wenn's jetzt geht ist ja alles gut.


    Es lohnt sich, immer wieder mal auf Mike's Seite zu schauen ...der Monitor kriegt nämlich das vorgestellte ASCII-Logo, und Sysgen hat auch noch zum Download gefehlt.




    Gruß

    Robert

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

  • Ich habe einer weisen Voraussicht nach schon mal 28C64 EEPROMS bestellt :)


    ... und außerdem gelernt, dass nur SYSGEN das tatsächlich vorhandene System ausliest, MOVCPM aber ein Standard-System bäckt, das noch in der Größe verändert werden kann.


    Gruß

    Robert

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

  • Neues vom CP/M:


    COPY liegt jetzt in der Version 1.1 vor ... http://deramp.com/downloads/mfa_computer/Utilities/


    die Bootdisketten aktualisiere ich dann im Lauf des Abends mit der neuen Version.


    Durch kleindi 's Rückmeldung habe ich mit der Kombination aus gesteckter Zähler/Zeitgeber-Karte und dem Formatieren und Verifizieren von Disketten experimentiert.


    Dabei habe ich zufällig eine Diskette mit Schreibfehlern auf Seite 1 (also Spurnummern >80) formatiert. Beim Verifizieren gab es dann Fehler bei der Anzeige der Spurnummer, diese sind jetzt behoben.


    Gruß

    Robert

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

  • Da ich mit CP/M noch nicht wirklich firm bin... kannst Du kurz erklären wie ich diese Dateien auf eine 720KB Diskette bekomme, damit CP/M davon dann auch startet? Ich habe bis dato den MFA nur in der Standard Version benutzt, habe aber sowohl die Video Karte als auch die 64KB RAM Karte für CP/M vorliegen. Auch (im Moment nur ) ein Floppy Drive ist vorhanden.


    Dankeschön...

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Hallo Torsten,


    zum Betrieb von CP/M brauchst Du zusätzlich zur Video- und 64K RAM-Karte auch noch eine serielle Schnittstelle, die auf 0xA0 konfiguriert ist und eine Modifikation an der 8085-Karte.


    Am besten orientierst Du dich bei der Hardware-Einrichtung am CP/M-Handbuch für den MFA


    http://oldcomputers-ddns.org/p…a_cpm_handbuch/index.html


    Für das hier vorgestellte quelloffene CP/M benötigst Du dann ein 2716 Eprom oder ein 2816 EEPROM, außerdem solltest Du das Diskettenlaufwerk aus dem originalen MFA-Einschub durch eines mit 80 Spuren ersetzen.


    Besorge Dir die Monitor-Dateien von Mike Douglas' Seite http://deramp.com/downloads/mfa_computer/ und brenne das Monitor-ROM.


    Für die Übertragung der Disketten-Images gibt es in dem Archiv, das ich gepostet habe, vier Möglichkeiten:


    - Die "kurze" DD-Datei ist ein RAW-Image, das aus dem Monitor-Programm heraus auf Diskette geschrieben werden kann. Alle leeren Spuren sind weggelassen, damit verkürzt sich die Übertragungszeit.

    - Die "lange" DD ist ein RAW-Image, das mit verschiedenen Utilities, eben auch DD, auf Diskette geschrieben werden kann.

    - Die TD0-Datei wird unter DOS mit Teledisk auf Diskette geschrieben

    - Die IMD-Datei wird mit Imagedisk auf Diskette geschrieben.


    Gruß

    Robert

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

  • Hallo Robert, erstmal Danke... das werde ich mir mal anschauen.


    Da ich die CPU Karte nachgebaut habe, denke ich darüber nach ggf. eine für CP/M angepasste Version zu generieren. An der RS232/V24 Karte bin ich eh gerade dran, davon eine neue Auflage (inkl. der Option einer USB Anbindung) fertig zu stellen.


    Dann könnte man mehrere Fliegen mit einer Klappe schlagen...

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Ach so... bevor ich das vergesse... ich bin ebenfalls an der 64K Karte dran... dann aber nur mit ein oder maximal zwei RAM Chips...

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

    • Offizieller Beitrag

    Bei der RS-232 Karte hast Du hoffentlich einen eigenen Taktgeber eingeplant, um alle gängigen Baudraten zu unterstützen? Auch wäre es gut, die Adressdekodierung nicht wie beim Original auf 4 Bit zu beschränken. 16 Portadressen zu belegen, wo nur 2 gebraucht werden, halte ich für Verschwendung.

    Meine Karte habe ich auch noch mit einer zweiten Schnittstelle ausgerüstet. So habe ich eine fürs Terminal und eine für die Datenübertragung.

  • Nun, zunächst wollte ich eigentlich die Originalkarte klonen und optional ein USB zu RS232 Modul draufsetzen. Alles andere hatte ich bis dato nicht angedacht... ich denke wenn es ggf. 2 Versionen gibt wäre das auch okay... muß mal drüber nachdenken, denn das Layout existiert schon und ich habe seit ein paar Tagen das Modul um das auf einer Fädelplatine auszuprobieren.

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Angestoßen durch Tests aus dem MFA Mini-DOS-Thread hier im Forum habe ich nochmals mit dem originalen MFA-Diskettenlaufwerk (Mitsubishi MF355C-212M) experimentiert: Es ist ein 80 Spur-Laufwerk und somit voll mit dem MFA Mini-DOS und dem originalen CP/M bei 40 Spuren (nur die äußeren 40 Spuren werden benutzt) und dem "neuen" quelloffenen CP/M (alle 80 Spuren werden benutzt) kompatibel.


    Gruß

    Robert

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

  • Ich habe endlich mal den Workaround fuer das Seek-Problem eingebaut.

    Das Problem ist hier und hier (Fehlender Indexpuls) beschrieben und erklaert.


    Ich hab Mike's BIOS Sourcen in Zilog-Mnemonics umgewandelt (fuell ich mich einfach sicherer) und den Patch eingepflegt.

    Ein Test bei Toast_r hat funktioniert.


    Wie man das BIOS auf Diskette bekommt, ist hier (ab MOVCPM) oder hier beschrieben.


    Viel Spass