It's BBS time!

I have a 4TB HDD sitting next to the TV as it's plugged directly into the back of the Broadband router (funny how we stopped calling it, ISDN and then.....errr....what was the next acronym? it's been so long...oh, that right, ADSL!...) there that makes my point, nobody cares anymore.  

There is a little black box with some flashing lights (and I don't mean like the old nostalgic US Robotics 9600bps Modems) that has a sticker on the front with the WiFi name and password....and that connects all of the household (and maybe a few neighbours) onto the good old Internet, Mobile Phones, Tablet devices, work and personal laptops, PS4s, XBox's and maybe the front-door bell too.....

It is a wonder of the modern day, being able to connect to this network of computers out there in the world somewhere, without having to setup anything up (okay, maybe the router needed a 10min setup and typing that WiFi password was a pain for about 3 minutes), it's a marvel to have so much stuff readily available.

I'll be a grumpy old man later on and complain that it is a shear waste that a hell of a lot of people just use that technical marvel to access about 5-6 different websites / apps, mostly Social Media based and ring fenced company websites that keep you within their walls in order to exploit you and make a ton of ca$h from you.... but, y'know, you have freedom don't you, yeah, you're free to do what you want, any old time... but you don't... you'll go to your fav. 5-6 apps or websites again and again and again... you know what one's I'm talking about.... f*u-book, w*kTube, an*lgram, tw*tter, t*kt*k, Am*zon, eB*y and if you want to "find something out"...good old G**gle is to hand for a quick search.  You can hear the distant "Kerching" of money in the Alph*bet bank account, every time you do a search for something.
(Yes, I do understand Irony....posting this on a Google blog site!)

So, whilst you marvel in the glory that is Web 2.0 (cough cough I hate that phrase cough cough), let's go back in time, Waynes World style..... 

Ah, it's the early 1990s (obviously the best era ever! okay, the haircuts were bad, people were still idiots, music was about to get interesting, but you could buy a 2nd hand car for £500! and a PC for £1000!)...
So, that wonderful 286/386 or if you were rich, that 486 IBM Compatible PC that you were running the latest version of MS-DOS and possibly Windows 3.1 on, was the very epitome of the future, it was going to herald in a new Sci-Fi future of possibilities and wonders that we were yet to turn from dreams into reality....the era of the Home Computer (Spectrum / Commodore / Amstrad / BBC B) was long behind us, we were now learning to code in PASCAL, MODULA-2 and those of us who were hardcore, were even coding in C and ASM (yeah, two-fingers to that C++ bullsh*t).  

Now, this was back in the day when being a computer programmer meant something, it was belittled by Enterprise Corporations to being an annoyance job that required them to pay a decent wage for a decent job to be done.  Ah, well, that's for another grumpy old man rant later on - let's just say, if you look back over the past 20 years at the "cheap" computer programmer labour, what have we actually got?  Has it been creative?  Has it furthered us as a society?  No.  No, it hasn't, where has the wonder and joy of creating gone?  From when there was nothing but a blank screen and a flashing cursor, an idea rose, code was written, compilers failed, code was re-written, .exe's crashed, PCs were rebooted, code was re-written again... and the dream became a reality, that code that did not exist X weeks/months earlier was now doing something, hopefully something useful.  Other people saw that application, they wanted it too, they could see how useful it was, sometimes source code was shared and further idea's spawned....
Alas, a hell of a lot of that magic has gone....there is still a small sliver of it, a feint glow, if you know where to look...but mostly it is just the content for YouT*be documentaries (don't forget to smash that L*ke button and ring that b*ll - "cos I'm only making this content to make some side-hussle money")

Oops..I digressed! yes, we're in the early 1990s...and I have to confess, I had heard about BBSs, but they were more of a USA thing.  Where I lived and my PC maturity level, alongside with the fact I was never going to have the chance to plug a PC into the home phone line, that phone line usage was for emergencies, it wasn't for actually using it.... I did once see an advert for a phone coupling, but they were expensive and the cost to use the phone line was assumed to also be expensive, if you don't know what I mean, it was a device like this:
Yes, that my friends is a "posh" old telephone, why "posh"?  well, it has touch buttons and not a twisty dial on it!  There's a very good technical reason for the twisty dials that I am sure some old guy from BT could tell you all about (or you could search about it on G**gle or Y*oT*be)

But, what wonders could you do even if you COULD connect your PC to the phone network?  Well... if you knew the right phone numbers, you could dial into a BBS.

A what?  A Bulletin Board System.   (Yeah, does kind of remind you of Prestel or Teletext)


Some geeky person has a PC or two, a bunch of modems connected to them that allowed you to dial into those modems from your PC and modem, once you were connected, you were presented with a UI that allowed you to register as a new user (usually you had to be verified, just incase you were someone dodgy or law enforcement!), then you had access to perform a few simple tasks.

Such as: email.  Yes, email was very much in use in from the early 90s onwards, it did exist way before Microsoft Outlook or GMail y'know!
Live online Chat.  Again, the protocols and crude UI meant it was feasible to have private chats or groups chats.  Again, think about how you all go fuzzy about "being experts in Slack".... it's no different and have you ever wondered why they call them "channels"?.... yep, it comes directly from back in the day!
Online games.  Okay, it's not PS4, XBox or Steam quality, but you had single-user or multi-player games available.  Again, Fortnite might look all new and shiny, who's Grandad helped to make that into what it is today?
File Uploads/Downloads.  Mostly MS-DOS Shareware software was made available via the BBSs.  Everyone has heard of "Doom", or "Castle Wolfenstein"....or "Duke Nukem"....these were very advanced games for back in the 1990s and they were released as Shareware, meaning you got maybe 3-4 levels to play for "free"... and if you then wanted the full game you had to send off for it and pay for it.  However, the shareware files usually fitted onto 1 x x3.5" floppy disk, which was a decent size .ZIP file that could be uploaded / downloaded from the BBS boards.  Ah!  now you understand.  Yes, of course there were a lot of other .GIF images of certain young ladies in bathing suites that were available, but as that modem / phone time was limited and quite expensive, they were better off being purchased from the "Offline" Shareware companies that advertised in the back of Computer magazines.

So, you had a BBS you could dial into.  Well, apparently, no, if you lived in a US City, potentially you had the option to dial into several BBSs, if one had reached the limit of users accessing it, you could try another.  However, each BBS was customised by the System Operator (the SYSOP) and they varied by the imagination of the Sysop and the BBS users.  Also, each BBS attracted it's own groups of people, it's own community of people who had similar interests.

So, whilst I slam the Web 2.0 Enterprise Corporations for locking people into their virtual walls once on the internet, that is what BBSs actually did originally, albeit you did have the freedom to leave and go somewhere else and no-one was fighting for your attention to sell your time to advertisers.  
Once you connected, you were within that "bubble", within that single "shopping mall" of specific content.  I do recall, it must have been around the 1995/6 timeline when I had my own apartment, I had a PC and dial-up and a CompuServe account.  


When you dialled in, you were presented with 1 screen, with a menu bar on the left and a content area on the right.  You could select the same things, email, chat, forums, search, etc... you still had access to the "Internet" but you were still funnelled into seeing that world through CompuServe...those .GIF images used to take forever to download, 1 line at a time....sometimes 3 hours just to get a nice image of a Ferrari 328...and boy, were you pi$$ed if you didn't save that image to a disk after all that time!

Now, remember, this was before the Web-Browsers, before Netscape, Internet Explorer, Opera, Firefox, Chrome, Vivaldi, Safari etc..... that screen you see above, that was your window to the Internet.

So, this is a lovely history / nostalgic trip down memory lane, where the grass is always greener (don't get me wrong, the 1990s did mostly suck, the rose tinted glasses do make it better than it was), but what has it got to do with February 2021?

Well, I setup my own BBS on my own network at home!  Why?!? well.... funny enough it's a long story...that I'll cut short.  Let me go back to that 4TB HDD I mentioned at the start....
(Oh, look at the peak times I was using this setup!)

I have been chucking files onto that 4TB drive for many years now, it is kind of organised, there are some useful folders called, Music, Photos, Pictures (I know), Files, etc.... and for instance, underneath Files contains a series of sub-folders that contain files in reference to the Retro IT equipment that I have.
Except, I'm not always militant about keeping everything "together".
As a Mac user for the past 8 years, I am very militant about keeping organised, even though as a youngster said to me the other day, "why are you making a huge folder structure for organising your files?  just use 'Spotlight' and it'll find the files you want, you don't need to sort it out yourself"....whilst this might be true, I'm not that mentally lazy and I'm also a different generation who doesn't "trust" software...remember, we know how to write code at that low-level and we know the deadlines companies put on computer programmers nowadays, some corners will have been cut, some limits will not have been tested, files will "go missing", not physically, but the software will not have an infinite array to put all the filenames into, so it'll "lose" some from the list it shows you......I digress again.....

I thought, I know what I've been trying to think of a "fun" thing to do with my IBM PC MS-DOS based devices that I've managed to connect up to the WiFi....how about I setup my own BBS board - yes, I could have just setup a boring FTP server to serve up the files, but where is the fun in that?  Also, yes, the 4TB is available as a SaMBa share drive - so I can connect to it from any modern Mac / PC / Linux machine...

But, where is the fun in that?  so, off I went on a mission to find an MS-DOS based BBS that I could install onto an IBM PC 110 or even the Compaq Contura Aero - just like back in the day, some 486 PCs serving a purpose!

So, I got a tiny bit distracted and setup Borland Turbo C++ onto the IBM PC 110 machine, wrote some C code inside it to send / receive TCP/IP network data packets over the network, proved that could work, was very happy with myself....was then pondering how I could take that further -  I'm thinking of a 2D flat screen with animated user/characters walking about a small world of "places" where they can meet and "chat" with other users/characters... I don't know, I'm sure I used some system like this in the early 2000s / 2002-ish? maybe that's what I am recalling?  The data packets for movement will be sent across the network pub/sub Message Queue style and the client application just receives that data and modifies the UI accordingly.  We'll see...



I spent a few days going around the Internet looking for MS-DOs based BBSs.....hmmmm....not quite as easy as I thought.  I then ended up at Wikipedia! List of BBS Software.
Ah!ha! MS-DOS is listed...
Now, I went through EVERY SINGLE one of those listed.  If I could I downloaded it.  I extracted the files, I copied them to the CF Card(s), I installed / configured on the MS-DOS based IBM PC 110 device.
I failed time and time again...there would be one issue or another.  The biggest issue was that most of the software was expecting a modem on a COM port and was sitting in "listen" mode to answer a call and then execute.  There were a few, that allowed to run in "local" mode, but this meant it could only be accessed from the device it was running on.  That sucked.
Yes, there are a LOT of BBS software programs that have been updated and will run from Windows, that could then have an emulator proxy for the modem that would allow it to be used, but I didn't want to use Windows....I wanted it running from an MS-DOS PC...

I installed RENEGADE thinking I'd cracked it - as this one used Telnet as a method to interact with it - most of the "modern ones" also use the TELNET protocol too - oh, get on your bike, Mr.pi$$y pants IT Security guy, who's going to jump in and snort, "you shouldn't use that, as port 23 is not secure, it sends data in plain text, you should use SSH and have encryption etc...etc..." F**K OFF.  There are so many variables / parameters in this equation, where sending a username/password as plain text over an internal network is the least of your worries....even if it were connected to the Internet, it'd still be a huge challenge for someone to be the MiM (Man-in-the-middle) to perform such network packet sniffing.... and what exactly are they going to do if they do get this information?  Manage to steal my vast quantity of MS-DOS based shareware files? That I'm allowing them to have for free anyway?  They could just create an account and do it legit.....again, I digress.... (Oh, I spent a LOT of time during 2019/2020 working with a lot of Mr.Pi$$y pants IT Security guys, they still ....erk me, which is why I decided to go and get myself "IBM Security Certified", so I could flip them the double-Vs)

Anyway...it was a short-lived joy....upon running, it throws an error stating "Numeric coprocessor absent" (or close to that).... FFS.


In a moment of despair, I turned to YouTube....and I watched a nice Video about installing Mystic BBS onto a Raspberry Pi.  Apparently it "did" used to run on MS-DOS.... I searched, couldn't find it.... but it did have a Linux install....and I looked on the floor and I had the "Packard Bell sub-notebook" that I recently got Debian linux installed onto....it's a no moving parts PC and I've got a new battery for it too...and it's a decent speed and 250GB of HDD (so won't fill that up too quickly!)
Yes, I compromised the purity.... I wanted to run on an MS-DOS platform, but I seriously burnt up about 3 days of my "holiday time" looking, trying and failing... and I wasn't going to be beaten, I'd invested far too much time on this to walk away from it and just setup an FTP Server!


The install went surprising simple.  Way too simple in fact.  I was up and running in about 10 minutes (okay, I didn't do the SSL Cipher stuff yet, will do shortly).
I went through, I did the install, I then did the 1st login to create a Sysop user, I granted myself SysOp (s255) rights, then I restarted it in '-cfg' mode and I went through and set a load of things up.
Life was looking good.  I tested access from both an IBM PC 110 device and my Apple Mac.  Yes, they both worked over the network.  Okay, the Mac didn't render the ASCII very well (there is a download for the Terminal.app to modify that, might do that soon).






After having a bit of a play around, I thought, right, time to get to the reason why I'm here... the files.
I figured out that I needed to go to the 'File Base config' in the '-cfg' setup screens and create some new folder.  anyway, I went round and round with this for a while, I copied files to the folder, they didn't show up.



Surely there was something that needed changing to get it to "pick up" these file changes?
I scanned the Mystic BBS wiki - but it led to nothing...maybe I was just being thick and missed something obvious?


Turns out, yes, there is an app 'mputil' and you have to modify the '.ini' file - but you need to set the right values to true otherwise it does not scan the folders and know anything about the files.  This will be a util command that will need to be executed on a regular basis to pick up if / when new files are copied over.















One of the problems that I currently have is "Downloading" files!  I know...I know... that was the whole purpose of this, being able to Upload and Download files, but I'm sure I'll figure something out.
When downloading I get the option to pick which Modem style I'm using, none of them work, they all fail - interestingly I did notice when I tried to upload a README.txt file, it did create the file on the server in the '/uploads' folder, but it did not stream the content, it stayed at 0kb.




Oh, look they have the odd online game.....don't mind if I do - seeing as I control the money used / spent here, no-one wins, but no-one loses either!


So, what's the end goal here?  Well....I'm going to look into the extensions for Mystic, using MLP or (shock!horror!) Python... and see what can be done.  I'm going to look at potentially extending the UI and user interaction, who knows, I might even lock the machine down to it's own sub-net and expose it to the outside world / Internet and see if a small Retro community could flourish...but then again, I might not.  I might just keep it running until the "Packard Bell" sub-netbook dies/fails, at which point I kick myself for not backing up the '/mystic' folder to the 4TB HDD! (I'll back it up shortly! and setup an rsync process to do that for me)

--------------------------------------------------------------------------------------------------------------------
UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE
--------------------------------------------------------------------------------------------------------------------
UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE
--------------------------------------------------------------------------------------------------------------------
UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE
--------------------------------------------------------------------------------------------------------------------
UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE  UPDATE

So....one of the things about me is...I'm technically stubborn....very... the phrase, "it's only software, anything is possible with software", has often been said by myself.

Well...I just couldn't let it stay as it was.  I HAD to get the File Upload / Download process to work... I had to... I've invested far too much time & effort into this for it not to work.  I was "meant" to be doing something else today, but, y'know it started raining and I put The Orb on spotify and well...

As you can see, I select ZModem and I just get a bunch of characters shown and then it hits the Timeout.

The long and the short of it was what always happens.  I asked for help.  You know what happens when you do that - you always end up figuring it out yourself in the end!  I dropped a post onto a Mystic BBS group on f*ceb**k (begrudgingly) asking for assistance to my issue and to clarify I'd not set up Mystic BBS wrong.   I got a response pretty quick that "it work fine for me in Linux using netrunner".

I downloaded "netrunner" for linux, it's the official Beta version of a Mystic BBS client, it's built to render the UI nicely....and it IS very nice.
I then tried out the File Download approach and using ZModem, whoa! there is a screen showing downloading a file!  and there is the file.  It worked!



I thanked the person on the f*ceb**k group, but said, what I really need is to do this from MS-DOS.  No response.


I then started to look at the Protocol settings for the modems...I noticed that they had the ability to run commands when chosen and pass params.... hmmmm.....
I then wondered, as I'm using the awesome mTcp telnet.exe, is I could use this to invoke "nc.exe" or something to be able to handle the push / pull of files?

Whilst looking at this and then looking at the mTcp page for telnet, I noticed this wording:

Whoa!  so, mTCP Telnet DOES handle X and Y Modems?

...and then something a little embarrassing happened... I then noticed I was using a version of mTCP from 2013!!!!  oops! the latest version was actually from 2020!  A quick download of the latest .zip file and opening the .pdf, I see the following wonderful information:


A slightly sheepish person then fired everything back up and thought, let's test this!

Yep, works a treat!  As you'll see in the video, the trick is to pick the Xmodem (for single file uploads) or YModem (batch of files) from the list provided by the BBS [C] and then once you press the [Enter] to start to Upload, you then AND THIS IS VERY IMPORTANT, press [Alt+U] and this flips up a little dialog box from mTCP telnet application itself, you then select the same XModem protocol, enter the filename and press [Enter] and there we go....off the file goes and is uploaded!





I'm assuming the same will happen for the Download....have been a bit busy updating this page, so will get back to that shortly.


HAHAHAHAHAHAHAHAHHAHAHAHAHAHAAAAaaaAarrrrghhhhhhh!!!!!No, of course not, Downloading is not going to be as simple as the Uploading!  grrrhhhh..... I've been through ALL permutations and All I seem to get is "CRC Error" or "Timeouts"... hmmmm....

-------------------------------------------------------------------------------------------------------------
UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2
-------------------------------------------------------------------------------------------------------------
UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2
-------------------------------------------------------------------------------------------------------------
UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2 UPDATE2


I did a little bit of trawling around and I managed to find someone who had managed to get the C source code for the mTCP apps.  Now, I'm not sure if they were meant to have been made public, but, y'know they were there, shame not to have a sneaky peek.....


After taking a little look and figuring out what was going on, I did decide that the "telnet_connect_timeout" value of 20 was possibly a little short, so I upped it to 60 (didn't want to go too crazy!)

What I found interesting was that if I (D)ownloaded a .TXT file, using the [C] XModem/CRC and the matching [2]Xmodem CRC, it downloaded fine (as per the video below), BUTm attempting to download a .ZIP file, nope...not having it....  this has intrigued me further, if something is not going to work, then it does work for certain things, then that means it just needs more investigation!

Alas, we're 99.98% of the way there!









I also found an Android app called ftelnet, so I can access the Mystic BBS from my Android phone and see all the funky ASCII properly, etc... it's rather amusing, but have not tested the file upload / download feature yet - now that could be interesting, being able to upload images or PDFs from my Android phone to the Mystic BBS and then be able to download them onto other hardware when I get home.... I've wandered off again :-D





As a certain person used to say in the 1980's, "I love it when a plan comes together"



Comments