Well work is probably going to get in the way of this months RetroChallenge, so I''m not aiming too high with my project this time round.
Pimped Out Master
I currently have a BBC Master on my desk but I'd like to fully pimp the machine out.
It uses an external DataCentre at the moment but I bought an internal one which I want to fit properly, I also have various other expansion cards etc that need to be fitted.
Back at the last RetroChallenge I mentioned that I have some nice Vinyl paints that I want to customise the machine with. The intention is to give it a black finish with a white BBC owl logo across the top.
I have recently acquired a teletext inserter and initially managed to get it to output a default page.
Ideally if I have time I'd like to create some software to send pages to the unit so that I can create my own Teletext service.
I've been looking for an acoustic modem for ages and they always seem to be in the USA and fetch silly prices on eBay.
Managed to get this one at a reasonable price (completely untested), so would like to wire it up the BBC and possibly dial some BBSs with it.
Already have a tone dial converted phone suitable for using with it.
Plain Text Gateway
As the dial up part of the system is separate from the main BBS I'm going to look into creating a plain text (ASCII) gateway that removes the ViewData codes and provides a generic interface for standard machines to connect to.
ViewData connects at 1200/75, the system needs to be able to take other speeds including modern modems.
Most of the ViewData characters are compatible with ASCII although there are other mapping that will need to be done to correct certain characters.
There are a whole set of graphics characters that are used to create ViewData graphics, these are basically just standard characters that have been escaped.
ViewData uses escape codes to change colour, change to graphics mode and various other effects such as flashing text. This will need to be removed from the ASCII stream.
Unlike most ASCII BBSs the ViewData screen is a set size and doesn't scroll. Therefore any page will need to ensure that the ASCII screen is cleared before sending any page to the client.
Keyboard entry on the incoming system needs to be mapped to the correct character. Also there are several shortcut keys on most ViewData terminals, these provide navigation such as # *0# etc
The client will need to enter the keyboard commands in full or map a function key to send the correct string to the server.
Basic functionality should work as most pages use the numeric keys and the hash (pound in the US) to move to the next screen.
Once the basic functions are there I may look into getting more feature rich terminals working including maybe getting coloured ASCII working.
More ViewData BBS Server
After winning a prize in the last Retro Challenge, I'm intending to continue on with my BBS system and add more functionality and content to it.
Now that the basic ViewData server and BBS system work I intend to do some of the following...
1) Setup a login / signup system and proper welcome page for the BBS.
2) Add some static content and various information pages.
3) Finish the database driven backend so that the pages are served from a database (this will also allow me to run multiple BBS setups with different content).
4) Load pages from archived Prestel data into one of the BBS instances.
5) Create a messaging system (possibly integrate into email).
6) Add a chat area, might have different rooms for conversations.
7) File download area (Possibly using CITT, might also support Xmodem etc).
8) Various feeds providing information such as the news and weather.
9) Gopher client
10) Gateway between BBSs.
11) Some kind of MUD or text adventure.
12) Visitor list and statistics.
13) Message wall for visitors (for WGOODF so that he can show his Dragon was connected :) )
ViewData Terminal Software
I started on a terminal program that provides a ViewData terminal that will connect to the BBS.
It mostly works but needs some polishing. As part of the clean up of the code I want to convert the graphics part so that it works on WPF and Silverlight.
The intention is to then host this on a web page so that you can access the BBS from the web.
To start off I need to ensure the following...
1) Ensure that the PC and modems are all setup correctly and ready to go.
2) Re-enable the VOIP lines (I now have several setup so we could expand the BBS to have 4 modems).
3) Solder a set of cables for the BBC to connect to modems. (Had an issue with the connectors I bought, they won't fit in the hole on the modem so need to rethink this.)
4) Try and get terminal server box to accept incoming connections and connect out on modem.
I've already managed to use the following to connect to the BBS...
1) Alcatel TerminalTel 257 VideoTex terminal.
2) Acorn Communicator.
3) Sinclair Spectrum 48k with Prism VTX 5000 modem.
4) ConnectVX (A windows ViewData client).
Due to cabling issues I didn't manage to get the following connected, the plan is to get the following cabled up and connected...
1) BBC Micro with Acorn Prestel adapter. (Was still waiting for Prestel adapter to arrive during 2014 WW)
2) BBC Micro with Prism modem (1000 & 2000). (Needs cables making, had issues due to size of connector)
3) BBC Micro with Pace Nightingale modem. (Needs rom and cable creating)
I also have the following that I'd like to get connected...
1) Acorn A3000 with old modem.
2) Tatung Einstein + Prism Modem 1000 (Needs comms software)
3) Tandata TD1100 (Needs cleaning up and checking it works)
Finally got my Acorn Communicator setup and dialed the BBS...
As you can see the Communicator is pretty cool, it is a one-per-desk type system designed to be networked using Econet. It has a word processor and spreadsheet built in, can dial numbers automatically and be used as a terminal with various systems.
Standalone BBS Server
Well the new PC is now functioning as the standalone BBS system, there are currently 2 dial up lines connected via Hayes modems.
To contact the system use a ViewData compatible terminal and connect V23 (1200 / 75, 7E1), to one of the numbers below...
You can also connect via a suitable ViewData terminal via raw sockets on...
Both lines are local rate in the UK only. If anyone outside of the UK is interested then I'll setup a suitable number.
If I can setup the other 2 lines then I'll add them in as I've got another 2 Hayes modems for this task.
Custom Entry Forms
Currently working on making the system implement some kind of data entry form for use in applications.
I'm trying to get simple text boxes to work but intend to implement several controls such as buttons, check boxes and a password box.
Dial In Server
Well had an emergency at work so have ended up working until the early hours.
Did managed to get a few small things sorted..
1) Got a PC setup ready to be the dial in server, this will run the entire system and control the modems. The back end may stay as a VM but I would like to be able to move the entire system eventually so that I can demonstrate it at the Wakefield Acorn show in April.
2) Added Prestel node names to the system. You now get logged into a node with one of the names from the original Prestel system.
3) Wired up the second VOIP line, just need to plug the modem into the new PC and we will have 2 lines incoming.
VOIP Setup (Again)
Reconfigured my other firewall that has VOIP built in to sit on one of my Internet facing IPs.
I have configured 4 VOIP lines each with a local rate number (not like the 1980s where it would cost you 10p a minute).
The lines are using the G711A codec which is uncompressed, this uses more bandwidth but should be able to cope with the limited frequencies used by the V23 modem.
So to dial into the system you can contact it on...
Just set your modem to V23 (1200 / 75, 7E1) and use a suitable ViewData / VideoTex terminal.
I will be setting up the other lines next week.
Prism VTX 5000
I managed to get hold of one of these units on ebay the other day, this was the piece of kit that I remember using at a friends house when I first used Prestel.
Below you can see the manual toggle switch for putting the unit online. There are also Rx and Tx modes that let you connect to other modems instead of Micronet.
Tried dialing the server, its very fussy about the line. Managed to get it to connect once but I think it needs to be connected directly to the wall rather than through a long extension lead.
Had a go at setting up my Asterix PBX, decided to upgrade the firmware and now it won't boot.
Going to setup my other router and configure the 2 VOIP ports to allow incoming calls to the PABX, this should then ring all of the modems that are available. I think if I can remember the PABX can be configured to ring one after the other which I think is a better idea. As the PABX has 3 incoming lines I can also add the real telephone line if required.
New BBS Features
Added some new features to my ViewData BBS...
Created a new menu from which to select the new options that I've added to the system.
I've added some static TeleText pages that are stored as files on the server.
They are loaded in a carousel and displayed in sequence.
I can also use this for displaying saved ViewData pages or my own pages for viewing.
External ViewData BBS Access
I wanted to be able to access other ViewData BBSs from the dial up terminal. As most of the surviving ones are only available by Telnet I decided that I would create a gateway from within my BBS.
When you select the option the system creates a telnet session out to the other BBS and passes data through to your terminal.
Once you have finished on the external system and the Telnet connection is terminated the user is returned back to my menu.
Connecting to CCL4 through my BBS...
What's new? Not a lot since 1996 :)
And logging off...
Dial Up Server
Created a dial up server that connects to the back end ViewData service. The server can be run as a windows service or a console app.
Got the server to connect to the back end when the modem goes online, key presses were going from the terminal to the back end correctly but everything on the terminal screen was garbage.
Checked the back end was sending data to the dial up server and the characters expected seemed to be being sent to the terminal.
All I was getting was this...
Searched through the code and found the problem, after checking the serial settings over I noticed that the parity was set to None and it needed to be Even.
Changed the settings and got a connection from the back end.
Once this was working fixed a few things and tweaked the server to ensure that it disconnects from the back end correctly on modem disconnection.
Now that the server was working I've added some back end infrastructure to help me build pages etc. To start with the system now displays a nice "CONNECTED" message once it connects to the back end. Once you have finished on the system and exit from the menus the system will display "CONNECTION TERMINATED" and disconnect the modem.
So to demonstrate the system working I built a quick screen which loads from the server, the next step is to add a menu system.
I decided that the system should have a nice welcome screen which should pay homage to the original Prestel system...
To show the entire system working I knocked together a quick video if the system being dialed by the terminal...