|
NOTE: This page is originally from www.geekhaus.co.uk, a domain I no longer have control over, from some time back in 2000. Some links may well be broken.
|
|
The chronicling of a quest to turn a lump of junk nearly 20 years old into a useful and functioning device. As seen in NTK (although for some reason they think that we used a C64). Now its turned up on Slashdot. Ingredients
Making a startWe reckoned that in order to have any chance at all of getting this thing to work, we would need to limit what we were doing. So, we decided to abandon all hope of getting graphics working, and limit what tags we would support. For an initial trial, it was decided that if we could process this file (which is also available as http://www.geekhaus.co.uk/misc/test.wml[actual link fixed]), then that would suffice. The project can be easily broken down into these parts:
As the processing and displaying of the page looked easier, thats where we started. (I know it seems a bit backwards, but trust me!) Most of the work at this stage was done on the P2 with the VICE emulator, due to us not having a disk drive for the VIC. The code will be up here soon. Having got that done, and the code printed out so that it could be typed in on the real VIC and saved to the C2N (slow, and a little unreliable - I wish now that we'd had two VICs, so that we could have tested the tape a couple of times and not had to retype the program more than once). Then we set about playing with the serial interface. And the telly promptly blew up[2]. One replacement telly later, and we're back in business. Now I know what you're thinking. No way will you fit a TCP/IP stack into the limited memory on a VIC 20. Correct. To start with we only had 19967 bytes to play with, and some of that would get taken up by the page in memory, so we decided to do away with TCP/IP and cheat. Yes, cheat. Hence the old 386, which was originally going to be our test server. With our aging VIC wired to the serial port on the 386, we decided to kludge up a simple piece of code that would take requests from the serial port and translate them into HTTPD GET requests for the Apache server software, passing the resultant reply back down the line to the VIC. After a bit of mucking about, we got to the stage where we could use the VIC get get raw page data much in the same was as you can by telneting to port 80 on a webserver and typing the GET command in yourself. Marvellous. Next came the tedious bit. Combining the serial interface software with the page parsing software. This involved a lot of manual renumbering of lines, as CBM BASIC V2 has no renumber command, and Tony was a bit of a berk and got a lot of the line numbers clashing. Then disaster! It wouldn't work! It always gave the same page. It was probably to do with the parsing routine loading up the memory area from the DATA statements each time it was run, but Tony reckons it couldn't have been that. At least not after he took the offending portions of code out. The fool. Success at last! We could read the page from our mini-server, and via the use of our spare (but extremely piss-poor 14.4k) modem, read stuff off the net!. Who would have thought it? All involved settled down for a celebratory drink or two of cheap whiskey in Shot Rocks "glasses", from Firebox.com. Astute readers will have spotted a flaw with the whole project by now. WAP stands for Wireless Application Protocol, and our resulting mess of hardware isn't exactly wireless is it? Well tough. We got it to work, had a bit of a laugh, and had an excuse to use the Shot Rocks "glasses". However, there is a sad end to this story. It seems obvious now, but the poor old PSU for the VIC wasn't designed to stay on for days at a time. It finally burned out shortly after we achieved our goal. We still have the software on tape, and as soon as we get the VIC up and running again we'll squirt it up to the PC and make it available. Addendum: It seems we should have followed the teachings of Thee Temple ov Thee Lemur, and either used Extreme Coolants or just run the VIC off a bag of spuds. But then again, their projects were hoaxes. Notes
|