[Antoine] recently learned of a little challenge we have in the hinterlands of the Hackaday webosphere – what’s the oldest, or lowest spec hardware you have that can load this our retro edition? He has a pile of old PCs at his work, and with a lot of idle time at work because of summer, he decided to dig into that pile and get a really old computer up on the Internet.
While the pile of PCs didn’t have anything as old as he was expecting, [Antoine] did find an old Compaq from 1992. It has a 386DX running at 25MHz, 4MB of RAM, a 300 MB hard drive, VGA, and an Ethernet NIC. Gathering the requisite CRT monitor, PS/2 keyboard, and an AUI to a more modern Ethernet connector.
When getting these ancient computer on the Internet, the secret sauce is in the software configuration. [Antoine]’s box is running DOS 6.2, but was previously configured to connect to a Microsoft filesystem server on boot. This server was probably somewhere at the bottom of the same pile the Compaq was salvaged from, so rolling his own modern networking stack was the way to go. A driver for the NIC was downloaded on another computer and transferred via floppy, as was mTCP, the key to getting a lot of old PCs on the Internet. The browser is Arachne, and with the right configurations, everything worked perfectly.
[Antoine]’s efforts resulted in a computer that can easily handle the stripped down Hackaday retro edition, and can handle light browsing on Wikipedia. The effective download rate is something like a 33k modem; even with a fast (10M!) Ethernet connection, processing all the packets is taxing for this old machine.
Put a contemporary, high performance ethernet card in there, something like a 3-Com Etherlink III, and I bet it’d perform much better.
Yup, that and use linux and it will be a decently useable machine. 386 pc’s are still very common in industry.
“Fast ethernet” is technically 100mbit/s.
I’ve gotten Hackaday to load on a 80286. Never was posted on the site for some reason.
Did you send it in?
I did twice I think.
The email I used was expanded.octet (at) gmail.com
Just to comfirm what Brandon mentioned. it is possible on a 286. I accessed the retro site today on my Zenith 286 using Arachne off a 50meg hdd while installing wfw on my 486 machine. Nice thing about the Zenith system I have is it has 8 megs of ram on board. Pretty straight forward really–>. Install a nic, packet driver and then just load the packet driver. After that run through the set up proceedure. On my set up I had to set arachne 1.97 tcp/ip addresses up manually. For some reason DHCP didn’t work. I’ll write a we speal about it over at vcf.
He made his own networking stack? Who does he connect to? How can he connect to hackaday without tcp/ip? What about data link and LLC? Was it some sort of proprietary PPP? Did he just do all that stuff for fun only to bridge and PAT it out anyway?
I’m not sure, but I think Arachne might have and can be configure to use it’s own TCP/IP stack. He mentions something about a few other applications not working, exactly due to a lack of a stack (“some WaterlooTCP library”).
There is a version of Arachne for 8086, so even the very first IBM PC from 1981 will be able to browse the web without much hassle. It should be noted that speed is not exactly what you will be expecting from a 8088 at 4.77MHz.
This site is a great starting point for DOS networking software:
http://www.fdisk.com/doslynx/
-Posted from a Pentium 1, 120MHz (running Linux)
A lot of links there are broken.
When I got it working on the 286 I just needed to use a packet driver. Arachne has its own stack as you describe.
It might be more accurate to say “He gathered the software to enable networking.” The applications referenced all have their own TCP/IP library statically compiled into the code. The trick is in getting the Ethernet card and software configured.
The mTCP link in the article will provide a lot of the “how to” on how to do this.
Arachne uses a different TCP/IP library called WATTCP, which is available in 16 and 32 bit versions. TCP/IP stacks provided by TSRs (Terminate and Stay Resident) are another option.
Some details: The PC is directly* connected to the internet through company LAN. This needs to fill in configuration the IP of the computer and the gateway (+netmask). The only trick is having a RJ45 adapter from AUI and the a switch with a corrsed cable. I didn’t want to connect directly this 10Mbps cnx to the company LAN switch.
*No Internet IP in the PC, only LAN IP. “Direct” means without any special converter, tunnel , RS232, PPP nor else.
I had a 3COM EtherLink III (from 1995) in spare in case of needed (with direct RJ port). But one thing: on this system the time required for image processing is quite long. it takes 15 to 30 seconds for some images to be decoded (file to “image” buffer). That’s the same for page rendering. Even “next page” action take 4 seconds, even no packets are exchanged. So I’m not sure EtherLinkIII or any better NIC would make it really faster.
Standard procedure for DOS is to load a “packet driver” for NIC card. This is kind of a lib that many browser support. Most of browser embed “WaterlooTCP lib” which is a TCP stack (=WATTCP?). This still requires packet driver for NIC to be loaded.
I initially tried lynx based browser but I can’t figured out how to make them work. All was here, it was just a matter of configuration, I gave up. When I tried Arachne, some things were different, and I managed to make it work.
mTCP is just a bunch of DOS command-line tools (that use packet driver) to test the connection: ping, dhcp, htget,… I used them to test my config before installing any browser.
A note on Arachne: my binaries 1.97 are generated for 386+87 (floating co-pro) which is not present on my machine. This is only used for image rendering. So on my machine, sometimes, when some images are rendered, it crashes. Since this worked pretty well, I let that way. I didn’t try 286 version of Arachne, I didn’t want to spend my whole time on that.
Hope you enjoyed,
Antoine
The packet driver is actually the standarized DOS driver for any networking card hardware. It is not really a “library”, but more of an interface to the transport layer.
A TCP/IP Stack is an additional driver that expands the functionality of the packet driver, by providing an interface to the network layer as well. Where a packet driver is very bare bones and mainly designed for LAN use, the TCP/IP Stack will provide all functions needed for internet access.
Ah, memories… 386SX/16 woooo! Warp, speed, baby! That thing left my Tandy 1000EX in the dust!
Oh I know right. I remember getting an overdrive and later thinking our 486dx4 could run a postage stamp country back in the day lol. I recently gave my parents a newer model router with a note that said “this thing has a faster processor than our first three computers combined”. Fun watching us all grow up :)
What are the rules for moding hardware before connecting a retro computer to the retro web site?
I have a pre networking era computer so I would probably have to make some hardware to connect it to a network.
It’s an Amstrad CPC6128 and has 128KB RAM and a Z80 CPU running at about 2 or 4MHz.
It has a 8255 PIO so I should be able to connect an old phone modem to the printer or joystick port and run the AT command set for software simplicity. I would have to write a browser in machine code. I would at least have to make a level translator to go from TTL to RS-232.
Now that I think about this, writing the protocol layers to get me from RS-232 through TCP/IP and then to HTTP would be the hard part of this.
If you wanted to extend this challenge to really retro computers then it would be much easier if the retro site has a in-dial line that simply had HTTP over RS-232 (modem) without a TCP/IP stack like the old bulletin boards.
TCP/IP can be squeezed into small places. Running TCP/IP natively over SLIP or PPP to a gateway machine would not be cheating; it would be like a dial-up connection. The bigger problem is the browser; modern HTML is nasty.
> The bigger problem is the browser; modern HTML is nasty.
Thus the reason for the retro edition of Hackaday
I don’t get the retro site. Why does it always show the weird collection of news stories from three years ago, instead of dynamically updating with the most recent five?
gregkennedy: It’s a random collection of the first 10,000 or so Hackaday posts. Every five minutes, it picks five random posts and posts them on the retro site.
Why post from years ago? Because it’s the retro site.
The browser isn’t as hard as it may seem. The retro site uses only a limited number of HTML version 1.0 tags. Even someone who isn’t familiar with HTML would be able to work it out quickly. The one problem is that the pictures are bigger than the screen resolution of a retro computer and would have to be scaled and loose most of the colour depth.
Writing a TCP/IP stack would be much harder, at least for me as I haven’t written one before and I wont have all my nice programming tools and languages on a retro computer. ie there are no curly brackets for programming on a retro computer and no such thing as an Object Oriented Programming language.
I’ve seen Commodore 64 computers online. They are older than the 386 although they don’t have the capabilities of the 386, technically they are still online.
This system has more enough power to run the Linux distributions that were available at the time.
Yes indeed, once upon a time you could run Linux and X windows on a machine with 4 MB RAM. That 300 MB hard drive is plenty big enough too.
Some of those old NE2000 clone cards didn’t play so nice with linux, though.
Yggdrasil, the first “distro” with X required 8 megs of ram but did require 100meg for the full install. The software the machine in the article is using would need less than 20megs.of disk space.
If anyone wants to try out a current really small distro they can give Basic Linux a shot http://distro.ibiblio.org/baslinux/