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 :)

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.

Retro Challenge - 2014 SC - Day 1

Wanting To Start...

Well its gone Midnight and I'd love to be starting on my project but am currently working various things that need doing for customers.
Just got back from holiday yesterday so its going to be a few days before I get started on the project.

Cool Projects This Time Round

Well we have a good number of entries this time round, I've had a good look through and can't wait for the blogs to start updating.

WGOODF

Turtles are cool, I have one of the old ones that looks like a turtle (valiant), needs a little attention but I have the IR interface for the BBC.
Can't wait to see what you come up with. Needs to be programmed using LOGO though Smile

URBANCAMO

Modula 2, now that brings back memories of my college days.
Looking forward to seeing what you do with the Amiga.

ROB SAYERS

Doom brings back great memories for me, remember setting up a network with multiplayer doom and a custom map of the building we were in.
Would like to see Duke Nukem 3D as well as that was great in multiplayer.

ERAZMUS

Never heard of the Northstar Horizon so will be looking forward to seeing you resurrect the machine.

VINTAGE VOLTS

Its great to find those old bits of code you started as a kid, looks cool already.
Will be amazing to see it when you finish it off.

SETH MORABITO

Firstly I'm extremely jealous that you have a PDP11 with drives to clean, will be interesting to see what's required to clean them up using DECs procedures.
Creating a ROM monitor sounds cool, why use someone else's when you can make your own especially if you have built the hardware from scratch as well, Nice.

CONCEITED JERK

With no Internet to get in the way you will probably get more done, can't wait to see what you get working etc.
Wire the smartphone up to a machine and use as a modem to connect to my BBS Smile

PALOFERROSAURUS

Always nice to have a Mac being restored. There's something great about the old Macs, the new ones are just shiny toy versions.

RETROBITS

Not content with one platform he goes all in and is creating for 3.
Will be cool to see the differences between the platforms when you are porting your games.

EPOOCH

More cool Apple stuff, a web server running on an old Mac is always a cool sight.

MICHAEL MULHERN

Not content with his current programming languages Michael is creating a new improved version of Basic.
Cool new commands and a new parser, can't wait to see how its done.

PAULO GARCIA

Throwing himself in the deep end and keeping it all original by only using the hardware available in the 1980's this looks to be a cool project with lots of challenges.

LIZARDB0Y

Can't wait to see the new computer centre once he's moved all his stuff.
I'm currently moving in with my girlfriend and am trying to figure out how to bring the large quantity of retro computing into the house, hopefully might learn some tricks here.

ANDERS CARLSSON

Taking stuff apart is always good, just remember the extra screws aren't really needed when it goes back together.
Will be interesting to see what he manages to play with.

JOHN LINVILLE

Continuing on his Fahrfall game which already looks great. 
Not happy with distributing his game via tape or disk, seems to be looking at creating cartridges instead, very cool.

PETER JACKSON

Working on the age old problem of data rot, loading up data from old disks and archiving the information is something that we all should do but rarely get round to until its too late.
Lots of added complexity in that the system required is a DEC rainbow.

JUSTIN KING

This is probably my favourite project so far this time round.
Creating an emulator for the WITCH machine is a huge undertaking but the lad is only in the 8th grade, this is exactly what the youth of today should be doing with their time instead of Xbox etc Smile.

@SEMACHTHEMONKEY

Creating anything with LEDs is awesome, can't wait to see the final outcome.

PRINTSTAR

After some cool stuff in the last RetroChallenge he's back trying something that is completely nuts, executing Z80 code in MS-DOS on a DEC rainbow.
I didn't realise that the Rainbow can execute both 8088 and Z80 code, will be closely following out of interest.

ADAM MAYER

VT100 always was let down by the lack of flyi8ng toasters, hopefully that may now be fixed.

CORONAX

If at first you don't succeed cheat, with a cool editor for altering saved games on a RPG called Questron Coronax can do just that.

TEZZA

If successful he'll end up with a whopping 24K of memory available on his Ohio Scientific Challenger 4P, well worth a cool project this time round.

TOGART

Combining programming and beer, sounds like a winning combination.

OSGELD

A Nintendo in a toaster, don't think I need to describe how awesome this is.

GEEKC0DER

Focusing on the Atari 2600 and hopefully coming up with a new game or hardware device, can't wait.

Good Luck everyone...

Retro Challenge - 2014 Summer Challenge

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.

Required Items

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.

Terminal Hardware

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)