MFA CPU-Karte Z180

  • Genau.

    Ich hab die verbleibenden 15/16 des verfuegbaren RAMs als RAM-Disk eingesetzt.


    Eigentlich haette auch der 1. Ansatz sofort funktioniert, wenn ich mir nicht wieder selber mit so einem bloeden Copy&Paste Fehler ein Beinchen gestellt haette.

    Aber jetzt hab ich auch MOVCPM etc verstanden und weiss wie man Bootloader und BIOS ins Image packt.


    Ach ja, und Toast_r wird sich freuen, wenn er wieder mit allen 4 Laufwerken Disk-Jockey spielen kann. :)



    Nein, doch nicht da der RAM nicht reicht, also hast du wahrscheinlich ein HD Laufwerk als 8" implementiert.

    In einem Wettbewerb waere das die beste Antwort gewesen. :)

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

  • Ich habe kein Banking benoetigt.

    Der DMA kann den gesamten Adressraum lesen/schreiben und so werden die 128 Byte Sektoren hin und her kopiert.

    Eigentlich ganz einfach, man muss nur drauf kommen.

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

  • Der P112 hat ja auch einen Z180 auf der Platine, und es gibt die Quellen für das BIOS für die ganzen gängigen Digital-Research-Betriebssysteme - ist das eine Hilfe bei der Erstellung z.B. eines BIOS für CP/M 3.0 (wiederum: Banking)? Bei uns ist liegt dann natürlich ein anderer Diskettencontroller vor.


    Gruß

    Robert

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

  • BIOS mit RAM-Disk


    Anbei die neuen BIOS Sourcen etc mit Support fuer 4 Laufwerke (s. hier) und der RAM-Disk.


    Da das BIOS groesser geworden ist, kann die alte Anleitung zum aendern des Bootimages nicht ohne Aenderung genutzt werden.

    Deshalb eine Kurzfassung:


    BOOT.HEX und BIOS.HEX mit pcget auf das CPM System kopieren.


    movcpm 63

    save 40 cpm-rd.com

    ddt cpm-rd.com

    Der DDT meldet sich mit einem "-" als Prompt.

    Folgende Befehle eingeben:

    iboot.hex

    r800

    ibios.hex

    r3f00

    g0 (G Null)

    Ctrl-C


    Das fertige Image liegt jetzt im Speicher.

    save 40 cpm-rd.com

    sysgen

    (Source mit Return uebergehen)

    (Laufwerk mit Diskette, auf die das Image geschrieben werden soll)


    Zur Sicherheit liegt ein komplettes Image fuer PC2FLOP bei.


    Bei Fragen fragen.

    Ansonsten viel Spass.

  • Alles nach "Rezept" durchgeführt, und schwupps - habe ich ein CP/M mit RAM-Disk. ::solder::


    Ich muss zugeben, dass ich noch nicht ganz verstanden habe, was ich da gemacht habe, aber es hat jedenfalls funktioniert. Ein großes Lob an unseren fleißigen Tüftler :anbet:


    Schade, dass die RAM-Disk nicht Reset-fest ist. Aber da wir ja auch keinen Reset-Taster haben (hust hust ;)) fällt das fast gar nicht auf :tüdeldü:

  • Schade, dass die RAM-Disk nicht Reset-fest ist.

    Immer das Gemecker. :)


    Nein, das ist ja schon ein Thema.


    Aber ich habe auf die Schnelle noch keinen guten Ansatz für den sicheren Umgang mit der Datensicherheit gefunden.

    Vielleicht hat einer der mitlesenden Software-Heinis,... aehhh -Entwickler eine gute Idee.


    Das zweite Problem ist der Warmstart.

    Hier sollen die Systemspuren natuerlich auch von der RAM-Disk geladen werden. Das funktioniert auch, aber das BDOS liest immer das Directory von A.

    Wenn jemand weiss, wie man das abstellen kann, darf sich gerne melden.


    Weiterhin viel Spass damit.

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

  • Schade, dass die RAM-Disk nicht Reset-fest ist.

    Immer das Gemecker. :)

    Na, Du weißt ja, von wem das kommt ;)


    Ich habe irgendwo in den letzten Tagen dazu was gelesen, evtl. war das auf der von rfka01 verlinkten Seite zum P112?


    Und das Thema Warmstart erinnert mich an den ITT3030, da haben wir doch auf einer Diskette die Option, zwischen Diskette und Festplatte zu wählen. Vielleicht können wir uns da was abschauen.


    Schade, dass die RAM-Disk nicht Reset-fest ist.

    Nach dem Reset G 0000 klappt prima.

    Stimmt! Danke, ich hätte nicht gedacht, dass es so simpel ist...

  • Nach dem Reset G 0000 klappt prima.

    Das kann in die Hose gehen, ich hab gerade die Sourcen angeschaut.


    Mike hat einen Track-Buffer fuer die Disk-IOs implementiert, d.h. er liest und schreibt immer komplette Tracks einer Diskette.


    Durch den Reset wird der Monitor uebers BIOS geschrieben und macht u.a. einen Teil des Track-Buffers kaputt.

    Wenn jetzt durch einen Disketten- oder Spurwechsel der alte Track zurueck geschrieben wird, landen Teile des Monitors auf euren Disketten.


    Nur mal so zur Info. :prof: :nixwiss:

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

  • So, ich will ja nicht, das ihr eure Disketten kaputt macht.


    Nachtrag (2020-12-27):

    Dieses ZIP ist nur ein Update zu diesem Post.

  • besser.

    Ja, bestimmt!


    Aber die Verwendung von undokumentierten Features (@toast "Nach dem Reset G 0000 klappt prima.") war schon immer und bleibt "Betreten der Baustelle auf eigene Gefahr". :prof: :prof:

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

  • Anbei mal für diejenigen die die Frontplatte noch herstellen müssen ein Vorschlag für die Durchbrüche und Bohrungen.


    Die Bohrungen sind für zwei Taster vorgesehen: Oben RESET und darunter NMI, passend zur Frontplattenbeschriftung die ich vor einiger Zeit gepostet hatte.


    Have fun.

    Dateien

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

    Einmal editiert, zuletzt von tokabln ()

  • Ich habe ja die D-Sub-Buchse, die bündig hinter der Frontplatte abschließt, deshalb brauche ich eher die Variante von funkenzupfer, d.h. den D-Ausschnitt.


    Vor zwei Tagen habe ich mit einem Kollegen dessen selbstgebaute CNC-Fräse damit beschäftigt. Wir sind aber beide noch blutige Anfänger im Thema, und die Fräse ist auch noch nicht bis zum letzten Detail justiert. Dementsprechend ist das Ergebnis bisher eher unbefriedigend.

    Ich hoffe aber, daß der nächste Versuch dann besser wird.


    Spaß macht es auf jeden Fall!

  • Das kannst Du natürlich machen, den D-Sub Ausschnitt zu fräsen. Da ich das zwar auch gefräst habe aber per Handkurbel und nicht per CNC, tut es auch ein Rechteckausschnitt. Das gilt auch für Deine Buchse. Mein Anschluß liegt wie Deiner direkt an der Frontplatte an.


    Ich habe mich da eher an die Varianten die beim MFA durchaus immer wieder vorkamen gehalten. Das waren meiner Meinung nach immer rechteckige Ausschnitte.

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

  • Da kann ich nicht mitreden, ich habe bisher keine MFA-Karte mit Sub-D Anschluss.


    Wenn man dann aber schon an so ein nettes CNC-Spielzeug drankommt will man aber natürlich gerne auch die "schöne" Variante ausprobieren. Nebenbei lernt man auch wieder ein paar neue Dinge ;)


  • Anbei mal für diejenigen die die Frontplatte noch herstellen müssen ein Vorschlag für die Durchbrüche und Bohrungen.

    Du hast die Griffleiste jetzt mittig gesetzt.

    Damit braucht du das linke Loch um den Frontplattenverbinder (zur PCB) anzuschrauben.

    Normlerweise wird ueber das mittlere Loch (in der Flucht mit den Langloechern) die Griffleiste und der Frontplattenverbinder befestigt.

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

  • Oh... ja hast Recht... änder ich gleich... hatte da eine falsche Vorlage aus einem Katalog...

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

  • Anbei die überarbeitete Version, jetzt mit versetzten Bohrungen.



    Frontplatte - MFA Z180 Prozessor V1.1.pdf

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

    Einmal editiert, zuletzt von tokabln ()

  • Der neue MFA-Monitor

    In der Vergangenheit habe ich mit unterschiedlichen Taktfrequenzen am MFA gearbeitet. Z.B. kann man mit 22,1185MHz die UARTs mit 115200 bits/s laufen lassen. Durch die unterschiedlichen Frequenzen mussten aber jedesmal die Zeitschleifen angepasst werden, nicht nur im Monitor, sondern auch im CPM-BIOS und den Tools wie PC2FLOP, FLOP2PC etc. Das war immer zeitraubend und fehleranfaellig.


    Hierzu habe ich mir dann folgendes Konzept ueberlegt.

    Die ASCIs (die UARTs im Z180) werden initialisiert und spaeter (z.B. im CPM-BIOS) nicht re-initialisiert.

    Alle Parameter, die vom Takt und Zeit abhaengig sind und zur Initialisierung notwendig/nuetzlich sind, werden in eine Struktur im Monitor eingetragen. So koennen die Daten leicht an eine geaenderte Hardware angepasst werden. Ebenso koennen nachfolgende Programme (CPM, PC2FLOP etc) diese Parameter nutzen, damit diese nicht jedesmal angepasst werden muessen.


    Wie kann ich die Parameter aendern?

    Wenn man den Source nicht aendern und neu assemblieren will/kann, benutzt man am einfachsten einen Hex-Editor.

    An Adresse 3E/3F des Binaerfiles steht die Adresse, an der die Parameter im Binaerfile beginnen. Die Bedeutung der Parameter kann man sich im Source anschauen (Zeile 379).

    Danach nimmt man sich die Tabellenkalkulation. Hier traegt man die gewuenschten Daten in die cyan-farbigen unterlegten Felder ein.

    Das Ergebnis steht dann in den Felder D16 bis D27. Diese Werte uebertragt man einfach in die Binaerdatei.

    ACHTUNG: Low-/High-Byte Reihenfolge beachten!

    Zur Sicherheit sollte man die Dezimalwerte in der Spalte C kontrollieren. Sind hier "unguenstige" Nachkommastellen, muss man ggf. die Hex-Werte anpassen oder andere Parameter verwenden. Das betrifft hauptsaechlich die Baudratenteiler P_BRG_TC. Bei den Zeitkonstanten P_TC_... ist das i.a. unkritisch.



    In naher Zukunft werde ich die anderen Programme an die neuen Parameter anpassen.


    Viel Spass

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

    Einmal editiert, zuletzt von funkenzupfer () aus folgendem Grund: Anhang geloescht. Muss doch mal nachdenken.

  • jetzt ist es natürlich so, dass ich sowohl ein MFA-System und auch Z180 Chips habe, aber kein Board :(

    ==> ich könnte auch eine Z180 Platine für MFA gebrauchen, man lötet ja sonst nichts.


    mfG. Klaus Loy

    • Offizieller Beitrag

    Welche Sourcen hast du benutzt?


    Schau mal im Post #122, da hab ich die z180regs gesehen.