Retro Challenge - 2015/01 - Day 6

BBC Failure

Got out one of my nice looking and clean BBCs thinking that it would be less likely to have issues.

Plugged the machine in and connected to the monitor.

Nasty smell and the famous white smoke started pouring out of the power supply.
Guess that's another one that needs the capacitors replacing.

Tape Drive

Got the new tape drive unit from storage and plugged it in, all looks good it has the correct lights etc and tries to load the tape.

Unfortunately nothing is moving inside the tape, looking inside the unit it looks like the pinch roller inside has perished, apparently this is quite common. So now need to see if I can replace it with a suitable alternative.

Retro Challenge - 2015/01 - Day 5

MDFS Setup

Started by setting up the main MDFS unit, and attaching the floppy drive unit to it.
After some searching on the internet found the manual for it.

Now connected my serial cable (which is a standard PC 9 pin to 5 pin DIN connector on the MDFS side), luckily this is the same as the BBC and I managed to find my already wired cable so didn't require soldering a new one.

The MDFS has the coolest on button (or rather a key). To start the server in normal mode you turn it to "Secure" or to "System" if you want to be able to enable "Utility Mode" or access certain functions from a networked BBC once it is running.

To stat off I turned on the MDFS an put the key to the "System" setting.

The power light now comes on and the "Discs Free" light starts to flash.

Now I started a terminal emulator and connected it to COM3 of my PC, pressing return gets a response from a monitor program that is ready to load the main system.

Now I inserted the system boot disk and pressed the "Release Discs" button on the front of the unit.

The disk drives are now polled and the system loads the main boot code from the disc, the "Discs Free" light now goes solid and the "Utility Mode" light also comes on.

At this point if I press return on the terminal I get the following menu.

There are various options available including "Boot the fileserver" which take the system out of utility mode and starts serving files on the network. If I mounted another disk you can serve just floppy discs to the network (this is what the original Acorn fileserver did).

Next I added the hard disc unit and the tape system unit to the stack.

On rebooting I found that the system will boot from the hard disk as it already has the boot code required installed, this means I don't need the floppy disk anymore.

Checking The Discs

After booting back into utility mode I used the "L" item on the menu to check the discs on the system, it turns out that I have 3 hard discs and a tape drive (I didn't realise the tape unit had a hard disc inside).

The discs reported are...

FUJITSU  M2611S
Ver 0703

F : Name: FS1   41600K

SEAGATE  ST277N-1
Ver 040C0800

I1: Name: FS2   61360K
I2: Name: FS3   1040K

FUJITSU  M2616S
Ver 1002

J1: Name: FS4   61360K
J2: Name: FS5   36400K

So there is a 40Mb, 60Mb and a 100mb drive split into 5 partitions.

I also tried to access the tape drive but this doesn't seem to want to work, I have a spare brand new unit in storage so I will bring that over and try it.

Also ran the verify on the discs, F is fine, J has one block on partition 2 that its not happy about and drive I seems totally on is way out. (Too be honest the drive doesn't sound that good).

Retro Challenge - 2015/01 - Day 2

Econet Clock

A nice guy in Germany did a swap of some Sinclair stuff that I didn't want for a SJ Research Econet Clock.

The clock arrived the other day and I finally got round to having a quick look at it.

The image shows the dip switches that allow the fine tuning of the network speed. This was one of the things the SJ clock did that was better than the Acorn one, it allows for complete control over the packet time and gap between packets.

Serial Cable

While over at my storage locker I managed to get the MDFS out and brought it home to fire it up.
The power lights come on so it looks like its doing something.

Next I need a serial connection to the back of the MDFS to check the status of the system and to configure it.
I started to make a serial cable but haven't quite managed to finish it yet.

Retro Challenge - 2015/01

Another year and a new global format, due to the fact that in the UK we don't really get a summer (Winter warm-up is basically the same as the summer one) we are now numbering the challenges by month (does this mean we can have mini 2015/03 challenges in-between?).

Mini Me...

This year I've got a miniature clone on the way due in February so I'll be fairly busy sorting out various things ready for the new arrival.
Thus this time I'm going for a small project that I might actually have chance to finish.

The Challenge...

As you may have gathered I'm a bit of an Acorn Computer nutcase, my collection of various machines is no longer welcome at my girlfriends so I have to hide my precious at an undisclosed location and secretly sneak them into the house when she's not around.

I recently acquired a set of SJ Research MDFS units from a friend and have all the elements to connect my BBCs together using an Econet network (Acorns cheap networking solution for the time).
Econet is basically a bus network with a clock signal to synchronise each of the hosts.

Initial Econet Network

To create the initial network I will need the following...

  • BBC Micros (I Have lots)
  • Econet cards for BBCs (these are internal cards that upgrade the BBC to allow for Econet use)
  • Econet clock (This provides the clock on the network and synchronises the machines)
  • Econet terminators (These are basically a set of resistors that sit at the end of the cables to stop reflection of the signal back down the cables)
  • Cable (Need to wire these up)
  • Socket boxes (Ideally I'll pull out the socket boxes that provide and easy way to plug the machines into the core network cable)

To start with I will get the clock working and set each machine an ID on the network, they should then be able to use basic services.

File Server

Once the main network is setup I want to look at getting the MDFS file server running, the initial bits to get working are...

  • SJ MDFS (This is a fileserver for the Econet network, it can also act as a clock but we are not using it for this) (I have 2 of these so hopefully at least one will work ok)
  • SJ MDFS Floppy Disk Unit (Add in the ability to load floppy disks and thus boot the system)

Then we can add...

  • SJ MDFS Hard Disk Unit (The SCSI disk unit which will store our files)
  • SJ MDFS Tape Unit (The tape backup unit which I have some backup tapes for, might see if we can restore some data)

Extra bits...

If we get everything working on the MDFS then I have these extra goals...

  • Econet bridge (Allows me to create a fast and slow Econet network, one for the BBCs and another for Archimedes which can have a much higher clock speed)
  • Risc PC / Archimedes (Connect one of the newer Acorn machines to the network, I have an Econet card for the Risc PC which would be interesting to get working)
  • SJ Nexus (This was a newer version of the MDFS that served data via a ATM type networking protocol)
  • A5000 Gateway (An Acorn A5000 which I originally setup to bridge the Nexus to a normal TCP/IP network thus allowing access to the Nexus from newer machines, Ideally I would like to include connecting this to the MDFS via Econet and using it as a bridge to all data sources, it should also allow me to access the internet from Econet enabled machines)

Demo At RONWUG

I have promised to do a session at RONWUG (RISC OS North West User Group) around the use of Econet so would like to get a basic network running and setup ready for 21st January.
We can also use this evening to configure bits and play around with various aspects such as the MDFS and clock speeds etc and generally play around with stuff.
Depending on how far along I am we may try and do something cool like get a BBC on the internet.

Can't Wait...

So there is my challenge. Now to get Christmas out of the way so we can get started :)

Acorn Risc PC @ Hull University 1997

Here is my Risc PC from 1997 in my university room. Bought this at the Acorn World show that year.
Acorn disbanded the entire desktop division the year after.

The spec if I remember was..

233 Mhz Strong Arm
32 MB Ram
2 MB VRam
1.6 GB Hard Disk
CD Rom
Network Card
PC Card

Still have the machine and the Viglen 486 that is on the floor below this.

Retro Challenge - 2014 SC - Day 27

Countdown To Failure...

Well its not been going very well on the challenge, probably going to have to concede defeat unless something amazing happens before the weekend.

Another summer of customers projects getting in the way.

Still determined to carry on with the project and actually end up with a fully working system. All of the key blocks are in place it just requires me having much more time available to do stuff.

Tandata Terminal

I did get round to looking at the Tandata TD1100 terminal I bought from eBay a while ago.
It fires up but I just get a black screen on the TV.

It's looking like something is goosed on the machine, according to a manual I found on line it should bring up a dialling menu.
Might strip it down and test the connections etc on the board, can't see anything fried or damaged.

Retro Challenge - 2014 SC - Day 2

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.

Retro Challenge - 2014 SC - Day 2

Source Control

Because I'm lazy I had a large set of development directories that I date stamped when doing the last RetroChallenge. I decided these should really be under source control so that if I change functionality and decide that code I've changed needs to be reverted back to previous version its much easier as I have a proper list of changes to files over time.

The first problem is that my source control server was destroyed when I moved my server to a new data centre. I have a backup of all the source control files but needed to rebuilt a virtual machine and install the source control software before I could start.

Once done I found all the old versions of my source and sorted them into date order, one by one I copied the files over the top of the previous version and checked them in, ensuring each time to removed unused files that had been deleted or renamed in the project. Each time also ensuring that everything still compiled correctly.
Now I have a nice an clean project with all of the changes I've made over the last RetroChallenge so that any code that has been removed is still there if required.

Once complete I then got a fresh version from source control and ensured everything is working.
At this point I found a few issues that need addressing with hard coded machine names (bad I know) which need to be setup in the configuration file instead.
Everything was working fine apart from the terminal program that I was fiddling with back along, somehow I've managed to mess up the line feed and everything is not displayed where it should be, I think this is the actual terminal program at fault in rendering the frame not the backend. I will need to test this against the other terminal program I have to check that is isn't the back end.

Database

Started on the database for my BBS backend which will hold the system frames and control the functionality within the backend.

Tried to make the frame store as compatible with the current saved frame formats that are out there, most of them contain details of the frame owner, permissions and routes to other frames.

As the ViewData system works on frame numbers even gateways etc will be allocated a frame, therefore I have abstracted out the frame details so that I can base other entities on them for future functionality. Started off by creating a page (based on frame) which can hold the code for a static page. These are date stamped so that the system can tell if the frame has been updated. Backend systems such as news feeds etc can update these pages to change content in the system. Also added a gateway (based on frame) which is a frame that takes the user to another BBS, this holds the remote connection details of the other BBS and will be contacted when you navigate to this specific frame type. This allows me to just add frame addresses that access other systems.

The system also allows for multiple systems to be run from the same database, this allows me to have multiple BBS systems running with different content in each. Ideally this may include examples of old BBSs and example Prestel pages.

Server

Originally the entire BBS ran on a PC in my office, this is mainly due to the numerous modems connected to it.

As I have a dialup gateway as a separate module I'm intending to run the dialup gateway on the PC and then have everything else installed on a new virtual server.
This will enable me to have the backend available even if the dialup lines aren't. The backend and database can then run on the new virtual machine and can then talk to the gateway wherever it is.

So ended up building another virtual machine just for this. Installed SQL, IIS (for the web based interface later on) and later once recompiled, the services that run the BBS.