MFA Terminal Karte

  • Angeregt durch die Terminal-Karte von Toast_r, und weil ich mich ständig über die Auflösung und Geschwindigkeit der Terminal Karte 8.2 geärgert habe, (vom Einsatz mit CP/M gar nicht zu reden) habe ich mir jetzt auch was ähnliches gebaut.


    Ich hatte noch einen Duinomite mini (der ja im Original auf den gleichen Entwickler zurück geht wie das Terminal von Toast_r, und ebenfalls auf einem PIC basiert) - der hat auch einen PS/2 - Anschluss für die Tastatur und einen monochromen VGA-Ausgang. Eigentlich ist das ein BASIC - Computer, aber 5 Zeilen Code machen den zu einem einfachen Terminal. Auf eine programmierbare serielle Karte gepackt, eine Frontplatte geschnitzt, und fertig ist die Terminalkarte.


    Momentan macht sie nur 4800 Baud, aber afaik sollten wohl 9600 machbar sein. Die Auflösung beträgt 80 Zeichen bei 36 Zeilen. Die wesentlichen Schwachpunkte der 8.2 sind damit erledigt.




    Kleines Problem: der Kleinrechner unterbricht mit ^C das laufende Programm und landet im Interpreter - da muss ich mir noch was einfallen lassen, wenn ich das mit CP/M nutzen will:grübel:


    Übrigens, tokabln: das war meine einzige serielle Karte - von daher wäre ich jetzt an einer von Deinen Platinen interessiert 8-)


    Georg

  • Georg : sobald die RS232Karte da ist und auch funktioniert wie sie soll, mache ich einen Thread für eventuelle Interessenten auf.

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

  • Hmm... Damit hast Du dann aber nur ein 'Dumb Terminal', richtig?
    Die Variante, die ich aufgebaut habe, emuliert ein VT-100.

    Für CP/M ist das sicher die bessere Wahl.

    Zusätzlich hat das DIng übrigens auch Grafikfunktionen.


    Richtig. Das ist zwar nur eine Frage der Software - dann werden es halt mehr als 5 Zeilen :tüdeldü:

    Der Duinomite versteht auch die VT100 Sequenzen, wenn er seriell oder über USB angesprochen wird. Ob ich das irgendwie nutzen kann ist aber fraglich.


    Grafik kann der übrigens auch, allerdings stellt sich mir die Frage, wo man das alles braucht. Im Monitor ist das alles unnötig, und bis zum CP/M habe ich eh noch einen langen Weg vor mir.


    Ob das eine dauerhafte Lösung ist werde ich abwarten; es war jetzt erstmal relativ einfach umzusetzen, und beseitigt meine größten Ärgernisse. Deine Variante ist sicher der sinnvollere Weg, und wenn es davon mal eine Platine gibt (idealerweise mit integrierter serieller Schnittstelle) bin ich gerne dabei ::joint::

    • Official Post

    Toast_r ich finde grad den Thread nicht, in dem Du dein Terminal beschreibst ... könntest Du ihn bitte verlinken?

    Der existiert noch garnicht. :tüdeldü:


    Die Karte ist auch noch nicht fertig, bisher ist das nur ein erster Testaufbau.

    Schaltung und Firmware stammen von hier: Geoff's ASCII Video Terminal.

    Das ganze habe ich erstmal unverändert übernommen, um die Funktion am MFA auszuprobieren.

    Funktioniert gut und ist recht flexibel zu nutzen:

    - AT Tastatur, verschiedene Tastaturlayouts einstellbar

    - VGA monochrom (Farbe über Jumper wählbar) Auflösung 80x25 oder 80x36

    - ist kein VGA Monitor angeschlossen, automatische Umschaltung auf BAS, Auflösung 48 x 18

    - parallel dazu Anschluß an den PC über USB möglich (Terminalprogramm)


    Was noch fehlt:

    - serielle Schnittstelle mit 8251 soll mit drauf, Betrieb dann wahlweise darüber oder Rx/Tx von der Backplane

    - Anbindung an Rx/Tx auf der Backplane über RS-232 Driver/Transceiver

    - Beeper

    - Break (RST 7.5)


    Platz genug ist ja noch auf der Platine:


    Die Aufteilung der Frontplatte ist noch nicht optimal:


  • (Generelle Anmerkung) Ich finde diese Terminal-Entwicklungen grundsätzlich sehr interessant - aber:

    Warum nur will Mann unbedingt eine Hardware-Terminal/Karte daran haben?? Da wird ein pic32/propeller etc. verwendet, der das gesamte System emulieren könnte - nur um Video/VGA auszugeben - wo dann wieder ein Video/VGA-Monitor dran muss.

    Plus PS/2 Tastatur..

    -

    Warum nicht ein Notebook/PC mit TeraTerm/xterm etc. pp und einfach serielle Kommunikation? Dann kann man z.B. auch TEK4010 etc. implementieren/nutzen.

    -

    Ich habe diesen Wunsch nach einem HW-Terminal am System schon beim AVR CP/M nicht nachvollziehen können..

    Aber evtl. übersehe ich ja auch etwas?

    -

    Link:

    https://www.stm32duino.com/viewtopic.php?t=2336


    (wenn das hier zu OT ist, bitte abspalten.. BTW: Wie bekommen ich Farbe ins xterm?)


    Peter

    • Official Post

    Sicher könnte man einen MFA auf einem heutigen Microcontroller komplett emulieren.

    Mir ist aber diese Lösung lieber. Die Geschmäcker sind halt verschieden. Emulation ist nichts für mich.

    Ich will echte Hardware, echte Disketten, echte selbstgefädelte Platinen, echte von Hand zurechtgefeilte Frontplatten. :)


    Mein Ausgangspunkt für den Bau einer neuen Terminalkarte war die (in meinen Augen) mistige original ASCII-Tastatur.

    Um eine bessere Tastatur anschließen zu können, hätte man auch ein Tatstaturinterface bauen können. Aus einem Microcontroller?

    Wie oversized der dafür gewesen wäre sieht man ja daran, daß man damit auch ein vollständiges Terminal realisieren kann.

    Außerdem bekommt man auf die Art auch gleich den platzfressenden Röhrenmonitor vom Tisch, und kleine TFTs mit VGA-Anschluß gibt's für wenig Geld.


    Und: Früher waren Terminals oft mit ähnlicher Prozessorleistung ausgestattet, wie die Rechner, die man damit bediente.

    Wenn ich also einen für heutige Verhältnisse sehr einfach Microcontroller verwende, finde ich das durchaus passend.


    Einen mehr oder weniger modernen, vollwertigen PC als Terminal zu verwenden, finde ich da schon viel mehr overkill, als einen Microcontroller.

  • Alte Hardware nutzen wollen und dann ein TFT mit VGA... mmmhhhh... passt irgendwie nicht... wenn dann richtig.

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

    • Official Post

    Ist vielleicht nicht die 'reine Lehre', aber ich finde, das ist nah genug am Original.

    Das Grundkonzept bleibt erhalten: Im Rechner steckt eine Terminalkarte, an der Tastatur und Bildschirm angeschlossen sind.

    Der eigentliche Rechner ist davon völlig unbeeindruckt.


    Wenn jemand in den 80ern mit dem MFA ernsthaft hätte arbeiten wollen,

    hätte er sich auf kurz oder lang sicher auch 'ne andere Tastatur drangemacht.

    Die originale ist einfach unterirdisch.

    • Official Post

    Vielleicht sollte man auch die Leute frage, die gerne eine Videokarte mit 80x24/25 Zeichen/Zeilen haben moechten fuer CP/M.

    Egal ob Roehre oder TFT, nicht jeder hat eine Video8.4 und braucht einen funktionierenden Ersatz. Auch ohne Terminal.


    Wenn wir jetzt solche "Ersatz"-Hardware in Frage stellen, koennen wir auch Floppy-Controller und 32kB RAM Karte weg diskutieren.



    Ich habe da gerade ein schoenes Zitat wieder gefunden:

    Ansonsten wird es von mir keine Änderungen/Erweiterungen geben.

    Mir reicht eine 32/32k Karte.

    Vielleicht wollen reicht anderen eine andere Tastatur.


    Darf nicht jeder mit dem Sandkastenfoermchen spielen, mit dem er moechte?

  • Dann melde ich mich auch noch mal zu Wort; immerhin ist in meinem Fall ja tatsächlich ein kompletter BASIC-Computer mit Massenspeicher und allem Drum und Dran zur Terminalhardware degradiert - auch wenn er wie die Lösung von Toast_r nur aus einem IC besteht.


    Tatsächlich ist der Duinomite potenter und performanter als der gesamte MFA. Und tatsächlich ist ein VGA-TFT an einem MFA nicht historisch korrekt. Und die Sache mit dem externen Terminal / PC habe ich auch lange als Lösung für meine Probleme betrachtet.


    Aber was wäre daran besser? Auch der PC ist performanter als der gesamte MFA, auch er ist historisch nicht korrekt. Das Thema TEK4010 reizt mich nicht, und sonst sehe ich keine Vorteile. Ob ich jetzt einen zweiten Rechner als Terminal danebenstelle oder einen Bildschirm und eine Tastatur - das macht für mich keinen großen Unterschied. Bildschirm und Tastatur sind reichlich vorhanden, müssen nicht booten, brauchen keine Einstellungen usw.


    Die gewählte Lösung war einfach, nah dran am Original (Video 8.4) und hat Spaß gemacht. Und damit sind wir bei den Förmchen und dem Sandkasten. ;)


    Und demnächst gibt es vielleicht wieder einen anderen Ansatz...

    • Official Post

    Und demnächst gibt es vielleicht wieder einen anderen Ansatz...

    Ich haette da noch ein paar FPGAs, die befuellt werden wollen. :)

    Loetet sich auch viel einfacher. (Nicht das FPGA, aber die Anpassungen.)

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

  • Bitte nicht falsch verstehen.

    Alle Erweiterungen sind interessant!

    Vielfalt ist gut - erlaubt dann das Aussuchen ‚seiner‘ Lösung.

    Die Diskussion halte ich für Interessant, gehört aber eher nicht in diesen Thread.

    Meine Schuld. Kann gerne - wenn das ok ist -

    in einen separaten Thread ausgelagert werden, um hier wieder Raum zu haben technische Lösungen für eine MFA Terminal Karte zu haben.


    Peter

    github.com/petersieg

  • Und demnächst gibt es vielleicht wieder einen anderen Ansatz...

    Ich haette da noch ein paar FPGAs, die befuellt werden wollen. :)

    Im Ernst, da hatte ich auch schon dran gedacht! Es gibt da den Multicomp von Grant Searle, der macht - neben dem Nachbau der 8-Bit CPU - u. A. VGA und Keyboard in dem FPGA. Da könnte man sich etwas abschauen.

    Aber für mich war der Aufwand mit dem Duinomite geringer, weil der schon die Anschlüsse an Bord hatte, viel einfacher zu programmieren ist, eingebauten Massenspeicher und eine Autostart-Funktion fürs Programm mitbringt - kurz alles, was man braucht.


    Bitte nicht falsch verstehen.

    Alle Erweiterungen sind interessant!

    Kein Problem! Wie gesagt, die Terminal-Variante war auch mein ursprünglicher Plan, bis ich dann die Lösung von Toast_r gesehen habe und mich an den Duinomite aus gleichem Haus erinnert habe (Du weißt, woher ich den habe? ;))

  • Aber für mich war der Aufwand mit dem Duinomite geringer, weil der schon die Anschlüsse an Bord hatte, viel einfacher zu programmieren ist, eingebauten Massenspeicher und eine Autostart-Funktion fürs Programm mitbringt - kurz alles, was man braucht.

    kanst Du bitte. die "5 Zeilen" Terminal-Code hier einstellen oder mir senden per PM, da ich noch einen Duinomite habe und den evtl. am Arduino Due fuer CP/M mit RunCPM oder AltairDuino testen wollte ;)

  • Ich werde mal sehen, ob ich das wieder finde (oder neu schreibe). Die geistige Schöpfungshöhe kann nicht besonders hoch gewesen sein... ;)

  • Ich hab's gefunden. Tatsächlich sind es in der aktuellen Version 9 Zeilen, aber wie gesagt, sehr simpel.

    Code
    10 Open "COM3:19200" As #1
    20 A$=Input$(1,#1)
    30 If A$="" Then 50
    40 Print A$;
    50 A$=Inkey$
    60 If A$="" Then 20 
    65 If A$=Chr$(7) Then A$=Chr$(3)
    70 Print #1,A$;
    80 GoTo 20

    COM3: ist auf dem 10-poligen Erweiterungsstecker zu finden (Pin 3=TXD, Pin 4=RXD). Die eingeschobene Zeile 65 ist ein Workaround für das ^C-Problem:

    Mit ^C wird auf dem Duinomite das laufende Programm abgebrochen. Um dennoch ein ^C senden zu können wird hier ^G in ^C umgesetzt, und man muss eben als Ersatz ^G eingebe.


    Das Ganze als "autorun.bas" auf das interne Laufwerk schreiben, und dann startet der Duinomite bei jedem Boot dieses Programm und ist sofort m Terminalmodus.