Beiträge von Thilo

    Hallo MFA-Fans,

    ich fand es war dringend nötig meine bisherige wacklige Konstruktion für das Floppy-Laufwerk zu überarbeiten.

    Aus einer ausgebrochenen Lochrasterplatine mit provisorisch angeklebten Hülsen wurde nun endlich eine saubere, stabile Platine angefertigt. Diese dient als Träger für ein 3,5"-Laufwerkes das damit über der Floppy-Baugruppe des MFA montiert werden kann.


    Der "Schaltplan" ist hierbei sehr überschaubar, denn er hat nur 7 Pins mit jeweiligen Verbindungen für GND, +5V und +12V um den Floppy-Stecker hier zu montieren. Der Rest besteht aus den entsprechenden Bohrungen und einer großen Massefläche als Abschirmung zwischen der Baugruppe und dem Laufwerk:


    Montiert habe ich das ganze dann direkt mit Distanzhülsen aus Metall auf den DIN-Stecker bzw. dem Kartenhalter.


    Bei den Distanzhülsen (vorne 10 und hinten 12 mmm mit Gewinde) habe ich diese hier genommen: https://amzn.eu/d/g3Jj9vz


    Dafür, dass ich das ganze während der Konstruktionsphase zum Großteil von Hand vermessen habe, ist das Spaltmaß akzeptabel ausgefallen:


    Die Eagle-Dateien sowie die Platine, ausnahmsweise auch als DXF, sind wie immer im Anhang zu finden. MFA-4-7-d_Floppytraeger.zip


    Wer auch eine Platine für seinen MFA haben möchte, darf sich gerne bei mir melden. Ich habe jetzt noch 3 Stück übrig (eine ging mir leider beim nachträglichen Anfertigen der Senklöcher kaputt... :fp: ).

    Hallo,

    sofern keine MFA-CPU-Karte zum Einsatz kommt, fallen automatisch die beiden Leitungen Rx und Tx (SID/SOD der 8085-CPU) weg. Denn ich gehe auch mal davon aus, dass in einem Z80-System keine MFA-8.2-Videokarte zum Einsatz kommt sondern ein "anderweitiges RS232-Interface".


    Ansonsten teile ich die Meinung von funkenzupfer: nur die in einem CPM-System selten verwendete 8k-RAM/ROM-Karte erzeugt das noch seltenere bis nie genutzte Signal /RAM und /ROM.


    Die eventuell augenscheinlich unbenutzten Leitungen (14c bis 16a) sind schon in anderen Ansätzen als Adressleitungen A16-A19 definiert worden, siehe den Beitrag von funkenzupfer -> Reproduktion MFA 19"-Backplane.


    Aber wie wäre es mit 29a und 30a ? Diese beiden Puls-Leitungen sind mir bislang noch nirgends irgendwo untergekommen.


    Gruß

    Thilo

    Hi Dr.ToM,

    ich finde Deine Arbeit aber echt beeindruckend und super dass Du diese Testreihe hier durchführst.

    Die obere Schrift ist offensichtlich nicht so richtig für den Laser geeignet. Hier wäre eventuell eine andere Schrift hilfreicher.

    Das Alu liefert natürlich ein viel besseres Ergebnis, aber es ging hier ja erst mal um eine Machbarkeit und der Reaktion der Oberfläche. Ich bin trotzdem beeindruckt vom Ergebnis und finde Deinen Einsatz echt super! :anbet:


    Gruß

    Thilo

    Mmh. Eine Z80-kompatible CPU für das MFA-System? Vielleicht hätte ich mir doch schonmal so ein System zulegen sollen. :grübel:

    Ich suche ja ein (möglichst) modulares CP/M-System, hatte aber das MFA wegen dem 8080 bisher ausgeschlossen.

    Hi, sofern Du Interesse an der Adapterplatine hast, kann ich Dir gerne eine zusenden.


    Gruß

    Thilo

    Hi,

    SN K0010 meldet ebenfalls fertig :)


    Hat etwas länger gedauert denn, wie man an dem Bild unschwer erkennen kann, im Hintergrund kein Junior-Computer zu sehen ist, sondern ein MFA. Das liegt primär daran, dass ich gar keinen JC-][ habe (ich hoffe Jörg 2ee nimmt mir das nicht übel dass ich sein Mega-Geiles-Projekt :applaus: hier an fremde Hardware stecke ... 8o )


    Steckerbelegung JC-Keyboard - MFA Video 8.2/8.4

    JC-KeyboardMFA Sub-DFunktion
    1? ResetRESET
    24D3
    33D2
    42D1
    51D0
    65D4
    76D5
    87D6
    910GND
    10 - 13ncnc
    148STROBE (activ high)
    15ncnc
    1611+ 5V


    Im wesentlichen funktioniert nun alles. Es waren aber noch einige kleine Änderungen am Code erforderlich, denn der MFA hat schon seine eigene Auffassung von Signalen:

    • STROBE-Signal auf 5 µsec verkürzt (MFA-Vorgaben)
    • STROBE-Signal invertiert (die MFA-Tastatur liefert activ high)
    • ASCII-Code für CRTL-DEL hinzugefügt (MFA Video 8.4, Setup-Einstellung)

    Der geänderte Code und ein fertiges HEX-File ist im Anhang zu finden.


    Gruß

    Thilo

    Hi,

    ein ähnliches Problem wurde mal bei meinem früheren Arbeitgeber auch zu einem Problem. Hier mussten die Festplatten in den Steuerungen von den Transportbändern mechanisch "entkoppelt" werden. Hier wurde so etwas in der Art eingesetzt:

    pasted-from-clipboard.png

    Schwingungsdämpfer

    4 Stück, Platte drüber, Schrank drauf und testen.

    So'ne Idee: Einige Notebooks hatten früher (haben immer noch ?) auch G-Sensoren verbaut. Wurde ja damals als Festplattenschutz bei Erschütterung verwendet. Eventuell kann man damit die Vibration die danach noch im Schrank ankommt ja messen.


    Gruß

    Thilo

    Hi Andreas,

    hier mal die Frontplatten im STP und PDF-Format die ich bisher schon erstellt habe:


    Datei (STP/PDF)BeschreibungLink zum Post
    8Bit_InputAktuell nur ein Entwurf für 8Bit-Eingabebaugruppe
    mit einer platzsparenden schmalen Blende
    Da gibt es noch nix zum Zeigen,
    kommt aber bald
    CPU_8085CPU-Baugruppe mit Reset und Trap-TasterMFA-Originalkarte
    Kein Post vorhanden
    FDCFloppy-Baugruppe mit Platz für ein 3,5"-Laufwerk
    (doppelte Breite)
    MFA-Originalkarte
    Kein Post vorhanden
    FPU8231 CoProzessorMFA FPU-Erweiterungskarte
    GAL_ProgrammerGAL-ProgrammiergerätMFA GAL-Programmierer (4.14 Nachbau)
    Power_Control2Ersatz der MFA-StromversorgungMFA Neuer Entwurf der Stromversorgung
    RAM_ROM_Paging_2RAM-Karte mit Paging-Funktion und Anzeige der RAM-SeiteMFA Speicherkarte 64kb RAM/ROM mit Boot-ROM und Pagingfunktion
    Seriell_9-DSUBErsatz der MFA - Seriellen SchnittstellenbaugruppeMFA-Originalkarte
    Kein Post vorhanden
    Seriell_Multi_2x9-DSUBErweiterung der seriellen Schnittstelle mit 2 x RS232MFA Multi-Seriell-Karte
    Seriell_Multi_2x9-DSUB_USBPrototyp der Erweiterung der seriellen Schnittstelle mit 2 x RS232
    und zusätzlich USB-B-Anschluss
    .. nur eine andere Variante
    ZaehlerNachbau der Zähler und Interrupt-KarteRedesign der Zähler/IRQ-Baugruppe


    Gruß

    Thilo

    Hi,

    Ich hatte das Logo vor langem mal als PNG und CorelDraw umgewandelt. Hilft Dir das weiter ?

    Meine ganzen STP-Dateien die ich bisher erstellt habe, werde ich später noch hier einstellen.

    Gravurlaser ? CNC-Fräse ? Ich bin *so was* von neidisch ... ;) Wenn Du das probierst, würde mich echt mal das Ergebnis interessieren.


    Gruß

    Thilo

    Heute war mal wieder ein kleiner Basteltag, denn hier lag schon seit ein paar Tagen der Prototyp der NSC800-Adapterplatine für die MFA CPU-Platine rum.

    Den Nachbau der Karte habe ich vor ein paar Wochen schon angefangen und heute den Prototyp mal fertig montiert.


    Beim Nachbau der Originalschaltung habe ich allerdings vorerst bewusst, auch mangels Infos, auf das im Original verwendete GAL verzichtet. Primär wollte ich zuerst mal wissen, ob das ganze überhaupt funktioniert. Denn in meiner früheren MFA-Zeit hatte ich nie eine solche Karte besessen bzw. bin damit in Kontakt gekommen.


    Der Schaltplan ist auch recht übersichtlich, es werden nur die Pegelunterschiede mit einem Inverter zwischen den beiden CPUs korrigiert. Hierbei auch das Interrupt-Signal RST7.5. Dies ist beim NCS800 statisch (im Gegensatz zum flankengetriggerten Verhalten des 8085) aber wie gesagt, das war mir vorerst mal egal.


    Schaltplan


    Auch die Platine ist recht übersichtlich, nur eben auf minimalen Platzbedarf ausgelegt


    Montiert auf der CPU-Karte


    Noch ausreichend Platz für die vorhandenen ICs


    Fertig montiert


    Erste Tests verliefen auch soweit erfolgreich. Allerdings ein riesiges Problem ist dabei schmerzlich aufgefallen: Mein Wissen bezüglich Z80-Assembler-Code sind komplett weg 8|. Noch nicht mal die einfachsten Befehle bekam ich ohne ein Z80-Buch zusammen :fp:

    Aber jetzt erst mal weiter Hardware-Tests vornehmen und auch mal über eine Alternativschaltung für das RST7.5-Problem nachdenken:kafeee:


    Die bisherigen Projekt- und Gerberdateien sind wie immer im Anhang.


    Im Augenblick habe ich noch ein paar Platinen übrig. Wenn also jemand auch einen NSC800 übrig hat und seinen MFA mit diesem Prototyp umrüsten will, darf er sich gerne melden.


    Gruß

    Thilo

    Einlasern. ;)

    Ist nicht ganz ernst gemeint.

    Äh… war auch mein erster Gedanke.

    Da mir aber das Equipment dafür fehlt, wurde aus dem Geistesblitz ein kümmerliches Teelicht ;)


    Einlassen in den Druck wird vermutlich aufgrund der teilweise filigranen Schrift nicht umsetzbar sein.

    Eventuell bei den Frontplatten-Bezeichnungen (Fettschrift), aber ich denke bei den kleineren Schriften wird das schief gehen.


    Mir fehlen aber Erfahrungswerte im Bereich 3D-Druck, was hier möglich bzw. druckbar ist und was nicht.

    Da ich jetzt am Wochenende keine große Zeit mehr habe, werde ich die Aufbauanleitung wohl am Montag schreiben und dann alles am Dienstag an euch versenden. Hoffen wir mal, dass bei euch die Post nicht streikt...

    Freu mich schon drauf. Bitte auch dazuschreiben, was Du noch an Geld für den Zollkram bekommst.

    In der Regel lasse ich Frontblenden für meine MFA-Platinen bei Schaeffer AG anfertigen. Diese sind sehr hochwertig aber auch recht teuer. Als Alternative habe ich mal den 3D-Druck von JLCPCB probiert, denn ich besitze (leider oder noch) keinen 3D-Drucker


    Als Druckmaterial habe ich hier MJF - PA12 HP Nylon, grey ausgewählt. Die Qualität finde ich ok. Die Stabilität ist bei der relativ geringen Dicke natürlich bei weitem nicht so hoch wie bei Alu, aber eingebaut fällt dies gar nicht mehr so sehr ins Gewicht.

    Der Preis ist dafür natürlich unschlagbar. Die Frontblende mit dem größten Materialeinsatz hat 2,96 EUR gekostet, die anderen 2,72 EUR bzw. 2,77 EUR.


    Frontblende


    Detailansicht der "Bohrungen" und Aussparung (Rückseite)


    Montiert


    Im direkten Farbvergleich kann man leichte Unterschiede erkennen


    Eingebaut im Rack (Original und Fälschung :) )


    Bei Gelegenheit werde ich auch noch mal andere Materialien ausprobieren.


    Nur für die Beschriftung der Frontblende bräuchte ich noch eine zündende Idee. Aufkleben mit (Transparent-)Folie wird vermutlich nicht funktionieren, denn die Oberfläche ist sehr offenporig. Dadurch wird normale Folie nicht oder nicht lange darauf haften.


    Für Vorschläge bin ich offen :)


    Thilo

    Ich finde es sehr interessant.

    Dem kann ich mich nur anschließen, würde mich ebenfalls sehr interessieren.

    Ich finde das echt spannend, vor allen wie man hier vorgeht um an das Die zu kommen und wie man die Bilder anfertigt, aufbereitet und vor allem dann interpretiert.


    Thilo

    Hallo,

    mir ist ein Siemens PG635 in die Hände gefallen. Rein äußerlich noch in Top-Zustand. Allerdings gibt das Gerät beim Einschalten nur ein lustloses aufleuchten der LED am Diskettenlaufwerk 0 von sich. Auf dem Display keinerlei Reaktion.

    Ein paar erste Messungen zeigen zu mindestens Signale an der CPU. Auch das Videosignal des LC-Display zeigt Impulse die durchaus plausibel aussehen.


    Doch leider scheint mir mindestens eine Spannung abhanden gekommen sein, denn am Display habe ich keine negative Spannung für die Kontrasteinstellung.

    Das verbaute Display ist ein EPSON P30009700 mit SED1180F als Controller. Für die Pinbelegung habe ich dies hier (ähnliches Display, 640x200 Pixel) zugrunde gelegt:

    1 | VDD | +5V

    2 | VSS | GND

    3 | VLCD | VDD - VLCD = 22V Max (negative voltage for contrast)

    4 | LP | Latch Pulse

    5 | FR | Frame Pulse

    6 | YDIS | Display control

    7 | YSCL | Row Scan Shift Clock

    8 | DIN | Syncronising Pulse (Row Scan Startup Pulse)

    9 | XSCL | Data Shift Clock

    10 | XECL | Enable Transition Clock

    11-14| D0 ~ D3| Data Inputs


    Leider messe ich an PIN 3 keine negative Spannung. Auch am Netzteil selbst finde ich keine negative Spannung, wobei ich hier befürchte, dass das Netzteil einen Knacks hat, da an 3 Pins keine Spannungen anliegen. Folgende Spannungen habe ich vorgefunden:


    Hätte eventuell jemand eine Pinbelegung des Netzteils oder gar einen Schaltplan zum PG635?


    Gruß

    Thilo

    Wo hast du den denn gefunden?

    Das MINI-DOS-Listing hatte ich hier gefunden: https://oldcomputers.dyndns.or…band-3_kapitel/index.html


    Der Rest war dann Code manuell abtippen (das hatte ich schon im Sommer vergangen Jahres auf Basis meiner eigenen Unterlagen gemacht) und dann versuchen die Textstellen so weit wie möglich aus dem PDF zu übernehmen. Das stellte sich aber aufgrund der schlechten Qualität (Nadeldrucker) und der Spaltenanordnung als sehr schwierig heraus >:( . Schlussendlich lief dann das auch wieder im überwiegenden Teil in manuelles Abtippen hinaus.

    Aber es ist auch unglaublich befreiend, wann man mit so einer "selbst auferlegten Strafarbeit :fp: " irgendwann fertig ist und sein Werk (wenn's auch nur eine TXT-Datei ist) dann vor einem liegt und damit weiterbasteln kann. :)


    Gruß

    Thilo

    Hallo,

    der Sourcecode des MAT85 ist ja Online zu finden, sogar mit den Original-Kommentaren. Das Mini-DOS war aber bislang nirgend wo als TXT-File aufzutreiben. Nur eine eingescannte Versionen eines mehr oder weniger guten Ausdrucks hing im Netz rum. Ich hatte zwar schon vor einiger Zeit den Code Re-Assembliert, es fehlten aber die ganzen Kommentare im Code, der einige Routinen und Programmteile erst richtig verständlich macht.


    Das ist jetzt endlich Geschichte, das Mini-DOS liegt nun (nach einer gefühlten Ewigkeit an Kommentare erfassen und Code korrigieren) endlich in einer ersten Assembler-Version vor. Ein paar grobe Code-Schnitzer habe ich bei der Gelegenheit gleich korrigiert (Siehe Patch-Einträge im Quellcode).

    Aktuell wurde der Assembler-Code allerdings nur einmal korrekturgelesen. Sollte also jemand noch Fehler finden, würde ich mich über Feedback freuen.


    In meiner aktuellen "Entwicklerversion" sind bereits etliche Korrekturen und Änderungen eingeflossen. Hier kommt hoffentlich demnächst eine erste "Public-Version".


    Den kompletten Assembler-Quellcode des MAT32k mit den wichtigsten Codeteilen werde ich hoffentlich auch die Tage mal einer Beta-Version hier und/oder auf GitHub zur Verfügung stellen.


    Gruß

    Thilo

    Hi Olaf,

    das hört sich echt richtig interessant an, da wäre ich an weiteren Infos interessiert. Denn der NKC war damals auch einer meiner Favoriten.

    Warum ich das getan habe...????

    ... die Frage stell ich mir auch ab und zu mal .. und die einzige Antwort die mir dann einfällt: weil's Spaß macht ;)


    LG

    Thilo

    Kann es sein, dass der KMD+ Modus nicht funktioniert weil ich erst ab 8000H RAM-Bereich habe?

    Kann eigentlich nicht sein, denn erst das BASIC benötigt einen entsprechenden Speicherbereich.

    Ich hatte noch gar nicht erwähnt, dass mein "MFA" auf dem Z80 läuft!

    Eine nicht gerade unwichtige Information, denn das erklärt eventuell die mir aktuell nicht geläufigen Mnemonics aus Deinem Codefragment. Wäre es denkbar dass Du mal den Assembler-Code der beiden Routinen postest? Welche Hardware nutzt denn Deine Interfaceplatine, handelt es sich hier um die "Original NKC"-Interfacekarte mit dem 6551 UART-Chip?


    Beim MFA genügt es, die IN/OUT-Vektoren auf die serielle Interfacekarte (8251-Chip) umzulegen und daran dann ein Terminal zu hängen (sofern man auf Load/Save verzichten kann).

    Konkrete Änderungen dafür sind:

    $015A: LXI H, $07EF ; Sprungvektor auf Routine CASI

    $0160: LXI H, $0821 ; Sprungvektor auf Routine CASO

    Natürlich müssen dann die CASINIT-Routinen weiterhin vorhanden sein (eventuell auf die Hardware angepasst).


    Dadurch dass die SERI/SERO-Routinen im MFA-Code in Deinem Beispiel verändert wurden, passt vermutlich der Einsprung für das "zweckentfremdete" Bildschirmlöschen bei Adresse $0890 nicht mehr. Diese Routine wird leider aus einigen anderen Programmteilen auf dem SP1-Bereich angesprungen:


    Dein Rechner sieht aber echt schick aus. Gibt es hier noch ein paar mehr Infos? Vor allem die Grafikkarte würde mich interessieren.

    Hi Olaf,

    ich werde mal versuchen das Phänomen nachzustellen. Bislang hatte ich ausschließlich über die serielle Schnittstelle der CPU (Videokarte 8.2) gearbeitet.

    Im meiner "MFA-Jugend" hatte ich die beiden Seriell-In/Out-Vektoren $FC80/$FC83 auf eine angepasste serielle Kassetten-Schnittstellenkarte verbogen ($FC86/$FC89), um daran mein RS232-Terminalprogramm anzuschließen. Damals gab es aber noch kein MAT32k, somit war das für mich auch kein Problem und es funktionierte, vermeintlich alles (wie bei Dir aktuell auch, zumindestens wenn es MAT85 betrifft).

    Aber eines habe ich mittlerweile immer wieder festgestellt: Die Routinen in MAT85+, SPS, Basic, Editor sind sehr eigenwillig programmiert, vor allem was den Umgang mit Systemroutinen angeht.


    Ein kleines Beispiel wenn es z.B. um das Löschen des Bildschirminhalts geht (wird bei SPS und BASIC als erstes angesprungen):

    Auch viele andere Stellen habe ich bei meiner Arbeit gefunden, die "unschön" programmiert sind. Dies ist den offensichtlich verschiedenen Programmierern geschuldet, die die jeweiligen Teile des MAT85+-Systems erstellt und anschließend irgendwie zusammengefrickelt haben.


    Im Code wurde dann auch gerne mal die serielle Schnittstelle (CAS-In/Out) mit $F0/$F1 und auch mal mit $FE/$FF angesprochen, um nur einen der vielen Fehler die ich gefunden habe, aufzuzählen.


    Auch viele Direkteinsprünge in den MAT85-Code (keine Nutzung der Sprungtabelle des MAT85-Codes) können hier Dein geschildertes Problem verursachen. Denn dadurch werden vorher umgestellte In/Out-Vektoren umgangen bzw. nicht mehr berücksichtigt.


    Ich werde die Tage mal Dein Problem nachstellen, eventuell finde ich ja den Fehler in den (verschiedensten) Routinen.


    Wie hast Du denn eigentlich deine Ein-/Ausgabe geändert? Hast Du den In/Out-Vektor verbogen oder die Routinen an das Grant Searle -Modul angepasst?


    Den Assembler-Code muss ich noch ein wenig aufräumen, denn hier sind noch viele Hilfs-Kommentare und Verweishinweise enthalten, die erst noch bereinigt werden müssen. Aber eines ist mit mittlerweile gelungen: Das MAT32k besteht nun aus MAT85, SP1, SPS, Kontaktplan, Basic, Editor incl. Hilfsmenu und dem GAL-Programmierer, sowie etlichen Anpassungen und Erweiterungen. Dadurch habe ich aber jetzt ein neues Problem bekommen. Freie Speicherplatz in dem 32k-Eprom: ein einziges Byte ... :fp:


    Gruß

    Thilo

    hat vielleicht jemand das Source-Listing der MAT 85+ ?

    Hi Olaf,

    da bin ich gerade dran, den ganzen Code zu Re-Assemblieren.

    MAT85 ($0-$1FFF) und MAT85+ ($2000-$3FFF) sowie das MINI-DOS ($4000-$4FFF) bin ich zu einem großen Teil durch. Kämpfe gerade mit der SPS-Erweiterung (Kontaktplan), BFZ-Editor und der Integration des GAL-Programmierers in das MAT32k. Dauert aber vermutlich noch einige Zeit bis ich komplett fertig bin.