RC2014 basierte Mailbox (Micro BBS) "RC-BOX"

  • 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.

  • 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?

  • 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.

  • Vielen Dank für das positive Feedback!


    Ich finde, das Kleinod macht sich gut in dem Amiga 500 Terminalprogramm. Keep calling!

    Ich kann ja die Tage das WLAN-Modem nochmal an den C128 anschließen und dann mit DesTerm 128 Deine Box besuchen, wäre eigentlich auch passender 8bit zu 8bit (und zu meinem Nickname passt es auch besser, aber der Amiga stand gerade eingeschaltet herum, weil ich kurz zuvor in ein paar anderen Mailboxen unterwegs war). Gruß Tom

  • ...man, das ist lange her, dass ich mit einem Modem (300Bd) unterwegs war. Kann man da nicht mal die LogIn-Seiten der BBS'e so wie bei den Funkamateueren mit ihren QSL-Karten dokumentieren ? Wäre interressant und außerdem auch mal was anderes wie an Hardware oder Software zu frickeln ! ...und zudem auch was praktisches für das eigene Spielzeug.

  • Hi,


    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.


    Naja, ich hab nicht viel anderes gemacht, als einen MAX233 mit einer DE9-Buchse (male) zu verbinden :)

    Btw, die Platine würde für Deine Box auch wieder nicht funktionieren, da ich nur Rx/Tx und RTS/CTS durchleite.

    Für weitere Signale (eben z.B. DCD) bräuchte es entweder einen zweiten MAX232 oder einen anderen Chip mit weiteren Leitungen.


    Viele Grüße

    Anna

  • 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 ?

  • 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.

  • 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.

    Danke, super Erklärung. Werd' das mal als Grundlage nehmen, um meine Optionen ohne DCD zu klären, denn meine ESP826-Schnittstelle sieht leider so aus:


    Mal sehen, mit welcher Software ich die Einwahl auf dem Z80-System hin bekomme und welche Baustellen sich zusätzlich auftun, denn das BIOS kennt als physikalische Geräte nur CRT & TTY, Da ist also noch Luft nach oben...

  • 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.

  • Hab's gerade ausprobiert, echt interessant.


    Langsamer sind glaube ich nur noch meine Fernschreiber. :-)

    Die machen dafuer wenigstens richtig Laerm.

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

  • Wenn Du Dich nur nach Aussen mit anderen Mailboxen verbinden möchtest, spielt DCD keine Rolle.

    Das ist schon mal gut, denn Nachverdrahten von Signalen geht nicht, da keine IO's am FPGA mehr frei sind. Als Firmware ist das ZiModem aufgespielt. Ich bin bis jetzt nur noch nicht dazu gekommen, etwas damit zu machen. Anfangs hatte ich mit der Ab-Werk-Firmware die Uhrzeit von einem NTP-Server geholt. Das hat aber nur in gefühlt 50% der Fälle funktioniert, weil beim Anmelden im heimischen Wifi-Netz die Prozedur immer mal wieder hängen geblieben ist. Das war die bisher einzige Anwendung des Wifi-Moduls.

    Wichtig ist DCD nur, wenn Du andere bei Dir "Einwählen" lassen möchtest.

    Ist nicht beabsichtigt. Macht wohl auch nur Sinn, wenn DCD einen Interrupt auslöst. Die dafür sinnige Hardware fehlt jedoch, es gibt nur den 20ms Ticker für die System-Uhr (am INT-Eingang).

    Nimm einen ESP-32,

    Der ist aber nicht so klein wie der ESP8266 und für mehr ist auf dem Board kein Platz. Ansonsten wär's keine schlechte Wahl.


    Ich habe die Absicht, als Modem-Software das ZMP1.5 zu nehmen. Mal davon abgesehen, das es etliche gibt, macht das Sinn ? Mit KERMIT werde ich nicht warm. Es gibt da auch noch ASCOM-2.2 als Kommunikationsprogramm. Gefällt mir von der Bedienung her ganz gut. Bei beiden ".txt" löschen.


    ascom22.lbr.txt

    ZMP15.LBR.txt

  • 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.


  • 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. ;))

    Ich bin ja auch kurz davor, meine alte Fido und Zerberus Mailbox wieder hochzufahren. Das Problem sind halt die Stromkosten.

    Um 1990 herum hatte ich eine Fido-Box mit zwei Rechner laufen und bei einem Kumpel lief noch eine gemeinsame Zerberus-Box mit drei Rechnern. Stromkosten waren damals kein Thema, dafür waren die Telefonkosten im 3-stelligen Bereich (monatlich).

  • Viele Internet Verträge untersagen heute doch das Anbieten von Server Dienstleistungen...

    Tatsächlich? Das halte ich für ein Gerücht. Dann muss dein Vertrag 40 Jahre alt sein. Heute hat jedes Unternehmen bessere technische Möglichkeiten, die Bandbreite einzuschränken als ein Stück Papier, auf dem was steht.

  • Ich bin ja auch kurz davor, meine alte Fido und Zerberus Mailbox wieder hochzufahren. Das Problem sind halt die Stromkosten.

    Die Stromkosten müssten sich doch mit einem Einplatinencomputer, vielleicht mit SD-Karte als Speicher, minimieren lassen? Ich würde vermuten, dass das Modem der größte Stromverbraucher ist -- und da lässt sich mit einem effizienteren, modernen Netzteil vielleicht auch noch was machen.


    Was hattest Du denn damals für einen Rechner am Start? War das zu MS-DOS-Zeiten oder noch früher (CP/M?)

    Edit: Sorry, 1990 steht ja da. Also vermutlich DOS?