Posts by ufud-org

    Hier noch ein aktuelles Foto der Mailbox bzw. des RC2014 der sie antreibt. Ich habe heute Mittag endlich das noch fehlende RomWBW Modul gebaut und aus weiteren Rest-Modulen und einem gespendeten Wifi Modul einen "dedizierten" Mailboxserver zusammenbauen können. Das Gerät steht auf meiner linken Monitorbox direkt am Schreibtisch und ist im Notfall (Crashes, Twit-User etc.) schnell erreichbar.


    Benutzt Du denn die "Zimodem" Firmware? Wenn Du Dich nur nach Aussen mit anderen Mailboxen verbinden möchtest, spielt DCD keine Rolle. Das Signal wird ja nur "lokal" auf der "Server Seite" erzeugt. Wichtig ist DCD nur, wenn Du andere bei Dir "Einwählen" lassen möchtest.

    Nicht "klassisch" sondern per Telnet-Client unter Linux...

    Für mich nicht so ganz offensichtlich, spielt 'DCD' bei Verwendung eines Telnet-Clients eigentlich eine Rolle ? Auch: wenn ich das mit dem 'ZiModem' programmierte ESP8266 Wifi-Modul für den Kontakt benutze(n würde, Modem habe ich keines), habe ich auch kein 'DCD' zur Verfügung. Wie paßt das zusammen ?

    Also, DCD wird vom Wifi Modem bzw. der Zimodem Firmware an GPIO2 des ESP8266 aktiviert, sobald eine Telnet Verbindung über das WLAN an dem Wifi Modem eingeht (z.B. Dein Telnet Client). Wird diese Verbindung wieder beendet, wird auch das DCD Signal wieder deaktiviert (es ist also am ESP8266 ein DCD Signal vorhanden und es triggert auch wie es soll).


    Das CP/M Programm "BYE" pollt nun die Serielle Schnittstelle und schaut ob am SIO/2 Chip das DCD Bit von "0" auf "1" springt, also ein "Anruf" (hier: eine Telnet Verbindung) eingeht.


    Aber an den meisten SIO/2 Modulen ist der DCD Pin für die Ports A und B einfach mit Masse (GND), also "0V" verbunden. Und weil der DCD Pin am SIO/2 Chip ein negierter Eingang ist, bedeutet hier "0V" gleich "High", ergo ist das DCD Bit im SIO/2 Read Register 1 immer gesetzt.


    DCD ist also von Haus aus bei diesen Modulen "kurzgeschlossen" und auch nicht über einen separaten Pin nach Aussen geführt. Für "BYE" sieht das dann so aus als ob bereits eine Verbindung besteht.


    Das ist ein Problem, denn da es dadurch am SIO/2 keine Statusänderung des DCD Bit im Read Register 1 gibt (DCD Bit ist immer 1, eine Verbindung besteht) versucht BYE in einer Endlosschleife ein "+++ATH0" abzusetzen um die Verbindung (die es gar nicht gibt) zu trennen. Dadurch kann "BYE" nicht sauber initialisieren. Und umgekehrt bekommt "BYE" auch nicht mit, wenn Du mit Deinem Telnet Client mein Wifi Modem anwählst.


    Lösung: Verbindet man nun den o.g. GPIO2 Pin des ESP8266 mir dem /DCD Pin für SIO/2 Port B funktioniert die Sache. Denn nun ist das DCD Bit im Read Register des SIO/2 nur dann gesetzt, wenn vom ESP8266 eine eingehende Telnet Verbindung registriert wird.

    Zusammengefasst: ja doch, die Zimodem Firmware und der ESP8266 Stellen ein DCD Signal bereit, lediglich der SIO/2 Chip muss mit dieses auch "erkennen" also damit Verbunden werden. Da der entsprechende DCD Pin am SIO/2 von Hause aus leider "hart" gegen Masse geführt wird, und dies die o.g. Probleme verursacht, ist also ein kleiner "Hack" (wie auf dem Foto in meinem ersten Beitrag zu sehen) nötig. Auf einen Pegelwander 3V3 -> 5V konnte ich bei meinem Setup verzichten, da die 3V3 des DCD Signals vom ESP8266 reichen, um am SIO/2 das entsprechende Bit zu triggern.


    Fazit: egal ob echtes Modem oder Wifi Modem mit Zimodem Firmware: ohne DCD vom Modem direkt an den SIO/2 weiter zu geben funktioniert "BYE" schlicht nicht.


    Ich hoffe ich konnte das jetzt nochmal ausführlich darlegen.

    Wie jetzt?! Kein "tüdelüdelü - chrrrp - blililili" über Modem und Telefonleitung?! 8-)


    Das wäre doch heute, wo Festnetz-Flatrate und die eine oder andere Extra-Telefonnummer in fast jedem Festnetzanschluss-Vertrag enthalten sind, durchaus auch kostengünstig zu machen. Und würde beim Einwählen nochmal zusätzliches Retro-Feeling aufkommen lassen, mit der vollen Akustik-Experience und gelegentlichem Besetztzeichen. (Und dass der Box-Rechner mit mehr als 2400 Baud "überfahren" wird, kann dann auch nicht mehr passieren. ;))


    Gibt es noch Mailboxen, die so betrieben werden?

    Nach meiner Erfahrung geht das wohl und ja, es gibt auch noch Systeme, die auch nur so erreichbar sind, z-B. die "BLUP BBS" (https://www.blup-bbs.de/news). Modems hätte ich hier einige, aber mein Ansatz war ja bewusst darauf beschränkt, nur RC2014 Komponenten zu verwenden um die Vielseitigkeit der Möglichkeiten dieses modularen Bausatzes aufzuzeigen.


    Aber grundsätzlich lässt sich da auch ein Modem anschließen. Dafür müsste dann aber noch eine Anpassung der 5V (FTDI) Pegel der RS232 Schnittstelle des SIO/2 an die vom Modem verwendeten 12V Pegel erfolgen. Anna Christina hat dazu eine kleine Platine entworfen, mit der sich so auch echte CRT Terminals, Drucker etc. anschließen lassen.

    Hallo zusammen,


    ich habe mir einen lange gehegten Traum erfüllt und auf Basis eines CP/M fähigen RC2014 mit SIO/2 Schnittstellen Modul und Wifi Modul eine kleine, CP/M basierte Mailbox, die "RC-BOX", aufgesetzt. Dazu eine kurze Übersicht zum aktuellen Stand der Dinge:


    - aktuell funktioniert das Ganze nur mit RomWBW ROM. Alle Versuche das Setup unter SCM ans laufen zu bekommen sind bislang gescheitert.

    - neben einem CP/M fähigen RC2014 wird lediglich ein SIO/2 Modul (z.B. SC110 mit CTC) und ein Wifi Modul benötigt.

    - Port B des SIO/2 sollte idealerweise auf 2400 Baud getaktet sein. Entweder mittels CTC auf dem Modul wie beim SC110 oder einem zweiten Taktgeber mit entsprechender Taktfrquenz (z.B modifiziertes Dual-Clock Modul). 4800 Baud sind möglich, dann wird aber die Ausgabe des Textes über die Verbindung sehr, sehr langsam. Mehr als 4800 Baud funktionieren leider nicht.

    - das Wifi Modul wurde mit einer leicht angepassten Version von Bo Zimmerman's "Zimodem" Firmware bespielt

    - den GPIO2 Pin des Wifi Moduls habe ich direkt mit Pin 20 (DCD Port B) des SIO/2 Chips verbunden. Das war nötig, da nahezu alle SIO/2 Modulvarianten, welche es für den RC2014 gibt, Pin 20 hart mit GND verbinden, was dazu führt das das DCD Bit einfach immer gesetzt ist (invertierter Eingang) und "BYE" nicht erkennen kann, ob ein "Anruf" / eine Verbindung eingeht.
    - Dateitransfers sind z.Zt. nicht möglich.
    - Zugang zur CP/M Kommandozeile wird es erst später geben, ich muss erst noch die internen CP/M Kommandos "ERA", "COPY", "SAVE" und "REN" deaktivieren (ist machbar).

    Für die Steuerung des Wifi Modems und das Starten des eigentlichen Mailboxprogramms setze ich das CP/M Programm "BYE5" ein. Dieses Programm nimmt eingehende Anrufe entgegen, leitet die Standard Ein- und Ausgabe auf das Modem um und startet das eigentliche Mailboxprogramm. Ich habe den Code-Insert für die SC110 SIO/2 Schnittstelle einfach vom Big Board II aus den frühen 1980er Jahren entnommen und lediglich die Port Nummern, Taktraten und Clock Divider (* 64) für den SIO/2 und die Echtzeituhr (CTC) des RC2014 angepasst.


    Zuletzt habe ich dann "Micro BBS" (MBBS) unter ZPM3 installiert, das Programm ist recht gut dokumentiert (in englischer Sprache) und verhältnismässig schnell installiert.


    Der Rest war ein wenig ausprobieren mit verschiedenen Einstellungen am Wifi Modem (AT Parameter) und im ASM Code von BYE5 selber.


    Das Resultat meiner Mühen können Interessierte unter der unten angegebenen Adresse per Telnet erreichen. Sollte die Box kurzfristig mal nicht erreichbar sein, bin ich wahrscheinlich gerade dabei etwas zu testen, einfach später nochmal versuchen. Und bitte nutzt kein Copy & Paste um Nachrichten einzugeben, denn da die Box nur mit 2400 Baud angebunden ist führt das zu einem Pufferüberlauf und Buchstaben werden "verschluckt". Tippt manuell und genießt das Feeling der guten, alten Zeit! ;)

    Ach so, noch eine Info: die Box ist "single-node" - wenn direkt nach dem Verbinden wieder aufgelegt wird, ist bereits jemand in die Box "eingewählt" (auch hier hilft: einfach später nochmal versuchen).


    Hier nun also die Adresse der "RC-BOX", ich würde mich freuen Euch begrüßen zu dürfen:


    rc2014.ddns.net (Port: 2014 !!)


    Ein Code Repository mit einer kurzen Zusammenfassung meiner Arbeit (in englischer Sprache) findet sich hier, den Text im README.md werde ich nach und nach noch weiter im Detail ausführen:


    https://gitlab.com/ufud-org/rc2014-bbs


    Ein Foto meines Setups habe ich als Anhang bereitgestellt.


    P.S.: Falls Ihr Fragen zu dem Projekt oder meiner Person habt (ich war 2008 und 2009 mal als privater Sammler / Aussteller bei der CC), scheut Euch nicht zu fragen. Ich tausche mich gerne mit CP/M Veteranen und Z80 Kennern aus, da ich selbst erst vor einem Jahr in die Materie eingestiegen bin.