MFA-mini

  • Hallo,


    In letzter Zeit habe ich mich mal wieder mit dem MFA-Computer beschäftigt. Als erstes hier mal mein MFA-mini-System (Schroff-Compac sind meine Lieblingsgehäuse). Es läuft mit dem EPROM "MAT 32K Vers. 1.8/S". Für die Bedienung sind die seriellen Leitungen vom Bus nach hinten herausgeführt, so daß ein Notebook mit Terminalemulation benutzt werden kann.


    Bis jetzt habe ich nur Monitor, BASIC und SPS getestet. Das mini-DOS ist aber auch enthalten. Das ist mir die Bedienung noch nicht ganz klar.


    Kann mir vielleicht jemand mal eine CP/M-Diskette erstellen? Und welchen EPROM müsste man dafür verwenden?


    Anbei auch eine Auflistung der MFA-Publikationen. Hat vielleicht jemand hier die Fachpraktischen Übungen Bände 4, 5 und 6?

    Ich bräuchte vor allem die Beschreibungen der Analog-Karte 4.13 und er V.24-Schnittstelle 4.10.


    Die oben genannte Monitorversion kommuniziert mit fest 9600 Bd. Leider funktioniert die Video-/Tastaturschnittstelle damit nicht. Deshalb habe ich im EPROM die Zeitkonstanten für die serielle Übertragung gesucht und, wie ich glaube, auch gefunden. Demnächst werde ich mal probieren, die zu ändern.


    Gruß

    Mathias


  • Bezüglich Dokumentation und allen anderen relevanten Informationen schau mal hier:


    MFA - Microcomputer fuer Ausbildung

    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::

  • Hi Mathias,

    das MINI-DOS startet sich aus der Kommandoeingabe (KMD > bzw. KMD+>) mit F, danach kommt die Hilfeseite des MINI-DOS, die sollte eigentlich keine Fragen mehr offen lassen, denn der Befehlsumfang ist überschaubar.


    Was Deine serielle Schnittstelle angeht: Wenn aktuell die RX/TX für Dein Terminalprogramm von der CPU-Baugruppe kommen, ist diese für CP/M nicht geeignet, da der SID/SOD-Anschluss der 8085-CPU dafür nicht geeignet ist. Auch Baudraten mit diesem Anschluss > 9600 B/s sind schwierig, da es dann zu sporadischen Fehlern kommen kann. Denn hier erfolgt keinerlei Handshake und Zeichen die im Puffer überlaufen sind dann eben mal weg.


    Für CP/M müsstest Du deshalb noch eine V24-Baugruppe (MFA 4.4, bzw. 4.10, die mit einem 8251-Chip) in Dein echt schickes Rack einbauen. Standardmäßig liegt die im MFA auf der Portadresse $Fx, für CP/M muss diese aber auf $Ax umgestellt werden. Ansonsten benötigst Du noch die MFA 3.3 mit 64kB RAM und ein entsprechendes Boot-Rom von der Seite: Siehe Link von Toast_r . Den Rest an erforderlicher Doku, unter anderem auch die CP/M-Sachen, findest Du unter dem Link von tokabln.

    Deshalb habe ich im EPROM die Zeitkonstanten für die serielle Übertragung gesucht und, wie ich glaube, auch gefunden. Demnächst werde ich mal probieren, die zu ändern

    Wenn Du die Zeitkonstante STIME hier meinst: normalerweise ist dies die ermittelte Übertragungsrate (Leertaste beim Einschalten ermittelt die Baudrate, bzw. feste Baudrate in der gepatchten MAT85-Version) um primär mit der Videokarte 8.2 zu kommunizieren und liegt in der Speicherzelle FCDF/FCE0. Ein typischer Wert ist hier z.B. $0159. Hat aber mit der V24-Karte überhaupt nichts zu tun.


    Zum Anpassen der V24-Karte hatte ich auch mal einen Eintrag dazu geschrieben: MFA SAVE + LOAD Vielleicht hilft das ein Stückchen weiter ohne das Rad komplett neu rund zu feilen.


    Ansonsten wird es noch eine Herausforderung werden, CP/M auf der 8085-CPU des MFA zum Laufen zu bringen wenn es sich nicht um die MFA-CP/M-Variante handelt. Eventuell wäre hier der Einbau einer NSC800 auf die CPU-Baugruppe noch hilfreich? MFA Prototyp des NSC800-Adapter. Eine Platine hätte ich noch für Dich.


    Gruß

    Thilo

    Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt. (Marie von Ebner-Eschenbach)

  • Hallo Thilo,

    auf meinem Z80 System läuft jetzt auch der MAT vom MFA.

    Habe die Serin und Serout geändert, so dass es mit dem Video Interface nach "Grant Searle" läuft.

    Am Besten gefällt mir der SPS-Modus.

    Ich bräuchte aber mal Hilfe, wie ich die Schreibweise für die Hardware bzw Software Zeitwerte ist.

    Also für "C" und "Z".

    Habe darüber noch nichts gefunden..

    Danke schonmal im Voraus!

    Gruss Olaf

  • Moin,


    schoen zu sehen, das sich im MFA Umfeld noch was tut...


    Die Tage werden kuerzer, die Naechte laenger, da bleibt viel Zeit fuer noch mehr Basteleien. :)


    Ist eigentlich das "Problem" mit dem Anschluss, den Einstellungen von 3.5" Floppy Laufwerken an den MFA Controller geklaert, geloest?

    Meine letzter Stand war der, das irgendein Timer ablief und nicht nochmal getriggered wurde.

    Eines meiner Laufwerke bediente das Signal, andere eben nicht und dann kam es zu einem Timeout, der einen Fehler signalisierte.


    Gibt es da ein Update?


    Wenn wir hier eine MFA-mini "neu" definieren, vielleicht der richtige Zeitpunkt um die allgemein verfuegbaren 3.5" Floppy Laufwerk und deren Moeglichkeiten ohne das Signal zu bedienen zu integrieren.


    MfG

    Bernhard

  • auf meinem Z80 System läuft jetzt auch der MAT vom MFA.

    voll Cool! Respekt! :thumbup:

    Die Doku zum SPS habe ich mal beigefügt. Soviel vorab: Die Hardwaretimer (H) wirst Du vermutlich nicht einsetzen können, da diese die Zeitwerkkarte (MFA 4.3.c, ein 8255 mit ein paar Bausteinchen drumherum ) voraussetzt. Aber eventuell genügen Dir ja die Softwaretimer/Zähler Z und C.


    Aber ich vermute mal, Du hast diese zwar im Programm mit =Z bzw. =SZ die Timer angesprochen aber vorher nicht geladen. Denn die Software-Timer können mit 1/10-Schritten geladen werden und haben dann eine definierte Laufzeit wenn sie dann gestartet werden. Also vorher ein =LZ00,10 machen (für 1 Sekunde Timerlaufzeit) und danach mit =Zxx ansprechen.


    Gleiches gilt übrigens für die Zähler (C). Auch diese müssen vorher mit einem Wert geladen werden (=LC00,42) und zählen dann herunter um bei 0 einen logischen Wert anzunehmen.


    Hoffe jetzt klappt das mit deinem Ausflug in die MFA-SPS-Ebene ;)


    Gruß

    Thilo

  • Standardmäßig liegt die im MFA auf der Portadresse $Fx, für CP/M muss diese aber auf $Ax umgestellt werden.

    Ich habe mal eine Liste erstellt, das man die Adressen (im CP/M-BIOS ?) vereinheitlichen kann.

    Ggf. mal suchen oder nochmal fragen.



    Leertaste beim Einschalten ermittelt die Baudrate

    Das ist in der "kleinen" MAT Version vorhanden.

    Bei der von SBC verwendeten MAT 32k ist das m.W. nicht vorhanden.


    Ist eigentlich das "Problem" mit dem Anschluss, den Einstellungen von 3.5" Floppy Laufwerken an den MFA Controller geklaert, geloest?

    Den Seek-Patch habe ich im CP/M Thread veröffentlicht. Letzter Post.

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

  • Ist eigentlich das "Problem" mit dem Anschluss, den Einstellungen von 3.5" Floppy Laufwerken an den MFA Controller geklaert, geloest?

    Meine letzter Stand war der, das irgendein Timer ablief und nicht nochmal getriggered wurde.

    Eines meiner Laufwerke bediente das Signal, andere eben nicht und dann kam es zu einem Timeout, der einen Fehler signalisierte.


    Gibt es da ein Update?

    Da stimme ich funkenzupfer zu, ein kleiner Hardwareeingriff hilft hier eventuell auch schon weiter. In einer meiner FDC-Baugruppen habe ich bei einem Laufwerk den Elko C5 (Laufwerk-Ready, IC11.2) von 15uF auf 47uF erhöht um das Signal zu "verlängern"

    Eventuell reicht das schon bei Deinem Laufwerk aus.

    Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt. (Marie von Ebner-Eschenbach)

  • Ich habe mich gegen eine Hardwareänderung entschieden.

    Die Signalverlängerung hängt vom Laufwerk ab. Da haben einige andere User experimentiert und trotzdem Fehler gehabt.

    Und, wenn man das Signal zuviel verlängert, kann dies zu Fehler führen, wenn 2 Zugriffe kurz hintereinander erfolgen.

    Daher besser den Workaround in Software machen, ist Laufwerksunabhängig.

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

  • Moin


    und ganz herzlichen Dank fuer die schnellen Antworten, die in beide Richtungen (Hard- und Software) zeigen.


    Ich bekomme die Story bei mir nicht mehr 100%ig zusammen...

    ich haette Bedarf an einer Loesung die fuer CP/M und DOS gilt.

    Der Patch wirkt nur bei CP/M, das "Problem" taucht doch aber auch bei DOS auf, oder?

    Waere nicht eine Loesung im BIOS des MFA der zu bevorzugende Ansatz?

    Immer unter der Voraussetzung, das das "Problem" auch in DOS auftritt.


    MfG & Danke

    Bernhard

  • Waere nicht eine Loesung im BIOS des MFA der zu bevorzugende Ansatz?

    Das habe ich ja gemacht.


    Mit dem MFA-DOS habe ich mich nie beschäftigt.

    Aber ich habe die Sourcen beigepackt, da darf sich jemand anders mit beschäftigen.

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

  • Der Patch wirkt nur bei CP/M, das "Problem" taucht doch aber auch bei DOS auf, oder?

    Waere nicht eine Loesung im BIOS des MFA der zu bevorzugende Ansatz?

    Immer unter der Voraussetzung, das das "Problem" auch in DOS auftritt.

    Ja, der Fehler zeigt sich auch, oder sollte man besser sagen, vorwiegend im Mini-DOS. Aber primär bei neueren Laufwerken, die hier ein anderes Timing an den Tag legen.

    Eventuell hilft Dir im Mini-DOS die Codezeile $49AA (DREADY) weiter. Hier wird der Delay-Wert geladen.

    An der Stelle wird 1000x (= Hex: 03E8) die Zeitschleife DELAY (Verzögerung von ca. 25msec) aufgerufen, bis es dann zu einem DREADY-Fehler kommt.


    In meinem Post in dem ich das DOS ReAssembliert habe MFA - Mini-DOS Assembler-Listing habe ich an dieser Stelle bereits eine Variable dafür angelegt um hier ohne grosse Aktionen leichter eingreifen zu können.


    Meine bisherigen Erfahrungen zeigen: mit der Änderung des Kondensators auf 47uF habe ich bisher keinerlei Probleme bei der Nutzung des Mini-DOS und dieses nutze ich öfters. Die Änderung habe ich bereits auf zwei verschiedenen FDC-Baugruppen vorgenommen. Auch verschiedene Laufwerke verhielten sich danach normal (TEAC, NEC und Mitsumi, jeweils HD-Laufwerke aus dem PC-Bereich). Ein GOTEK-Laufwerk zeigte bisher ebenfalls keine Probleme mit diesem Hardware-Patch obwohl es hier ja eigentlich keine Motoranlaufzeit gibt.


    Im Bereich CP/M konnte ich das ganze leider noch nicht überprüfen, deshalb kann ich da nicht sehr viel dazu sagen. Hier würde ich aber auf die Änderungen des BIOS die funkenzupfer bereits angesprochen hat vertrauen.


    Aber mal am Rande: welchen Fehler bekommst Du denn genau? Nur "Laufwerk nicht bereit" oder kommen noch andere Fehler?

    Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt. (Marie von Ebner-Eschenbach)

  • Im Bereich CP/M konnte ich das ganze leider noch nicht überprüfen, deshalb kann ich da nicht sehr viel dazu sagen.

    Folge den Links in dem oben verlinktem Patch-Post. Da wirst du Erleuchtung erlangen. ;)


    Mal kurz zum Patch selber, aus der Erinnerung.

    Nach einem Seek oder Recalibrate wird das MotorOn getriggert und LWREADY abgefragt. Ist es inaktiv, wartest du mit der DREADY Routine bis es wieder aktiv ist.

    Ich denke das sollte man ins Mini-DOS einbauen können.

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