Michael Brutman builds TCP/IP software for DOS PCs, including mTCP, and writes about the IBM PCjr and other vintage hardware.
HN admires that he serves his site from a PCjr running his own DOS network stack, and praises mTCP and his PCjr forum.
My father bought the first family computer, an IBM PCjr, when I was 4 or 5. Donkey.BAS made a huge impact on me, although its easy to overlook as a crap game these days. Sure, there were "better" games that I played on that system: my older brother purchased Sierra's Black Cauldron–which I played the shit out of. My uncle wanted me to grow up to be a pilot, so MS Flight Simulator was in order, too. Jordan Mechner's Karateka is still, to this day, mind blowing to me. And lest we forget some Broderbund and Microprose classics.
But donkey.BAS was, which all those other things weren't, is my _first_, real introduction to programming. I was too young at the time to really recognize the value in being able to not only consume, but read the code, change it, learn from it. Unlike more polished games, I learned way more about programming from changing, breaking, and subverting donkey.bas than anything else on the PCjr. Sure, it wasn't _the best_, but it was the first time that someone pulled back the curtain and I was afforded a glimpse at what was possible, and what computers could _do_. Between that, pouring through the "Hands On Basic" book[0], and typing in basic programs COMPUTE magazine, I'm not sure that I'd be a programmer today, as hyperbolous as that sounds...
And some overly nostalgic part of me kind of misses doing PEEKs and POKEs in physical memory and the summer I spent learning binary math because I didn't understand the relationship between the AH and AL registers…
If anyone is interested in doing TCP/IP networking on DOS (and it may work on FreeDOS [1]), read on:
Reading this thread, I just remembered that I used to have an old IBM PC Jr that ran DOS (years earlier), a great machine hardware-wise (though it was not a marketing success, I've read). And some time back I had written this post about it:
Lissajous hippo, retrocomputing and the IBM PC Jr.:
https://jugad2.blogspot.in/2012/09/lissajous-hippo.html
While looking up info about the PC Jr. for that post, I came across Mike Brutman's PC Jr. page (mentioned in my blog post):
http://www.brutman.com/PCjr/
He was an IBM employee for a long time and so had access to good info about the PC Jr. - both hardware and software, and his page above is one he maintains about that machine - a sort of retrocomputing site about the Jr.
We then talked some on email, and he told me he had built a TCP stack for DOS and was running it on his Jr. That page is here:
http://www.brutman.com/mTCP/mTCP.html
He says others are also using mTCP, for fun, work and even business.
Here's an excerpt from his overview section about mTCP:
[1]:
[ mTCP should run on all variants of DOS including IBM PC-DOS, Microsoft MS-DOS, DR-DOS and FreeDOS. All of these applications will run well on the oldest, slowest PC that you can find - I routinely use them on an IBM PCjr made in 1983 because nothing beats the fun of putting a 30+ year old computer on the Internet.
People are using mTCP for goofing off and for…
Having owned all three of these; I grew up in an IBM house hold but later on I had two different Tandy 1000 series PCs (EX and the bastardized TX which had an 80286 on a XT board). We had a PC from early days complete with the large hard bound manuals, single sided diskettes, and text only.
Now the regardless of processor the PCjr was seriously impacted in that that the keyboard interrupt was not there but actually had to be handled by the processor. See https://www.brutman.com/PCjr/pcjr_keyboard_handling.html for a good description of what this incurred.
(now for the rambling part)
The Tandy was great for their 16 color hack and better sound which made games so much more enjoyable. (star flight being my favorite game ever and it used two 360k diskettes for a persistent environment)
fwiw, even before dedicated graphics we had cool games. Even Wizardry which I had on my Apple was available for the PC and I played it with the ASCII character set being used to create the halls in 3D (think plus sign, bars, and minus signs). All the text based games many reminisce about are from this era
> To get the big picture of performance evolution over time, I downloaded all 52 releases of fastDOOM, PCDOOMv2, and the original DOOM.EXE, wrote a go program to generate a RUN.BAT running -timedemo demo1 on all of them, and mounted it all with mTCP's NETDRIVE.
I'm probably not the real target audience here, but that looked interesting; I didn't think there were good storage-over-network options that far back. A little searching turns up https://www.brutman.com/mTCP/mTCP_NetDrive.html - that's really cool:)
> NetDrive is a DOS device driver that allows you to access a remote disk image hosted by another machine as though it was a local device with an assigned drive letter. The remote disk image can be a floppy disk image or a hard drive image.
Looking further I'm not sure this is what's happening. Startup is http://floppy.museum/files/autoexec.bat, calling into http://floppy.museum/files/httpd.bat, which will try to start DESQview but alternately run HTTPD directly under DOS.
The HTTPD software is https://www.brutman.com/mTCP/mTCP_HTTPServ.html. "Up to 8 simultaneous requests can be serviced; an additional 8 requests can be queued."
The status page http://floppy.museum/status.htm is (under HN load :) consistently reporting 8 live connections.
I'd guess there's one HTTPD running and DESQview lets someone use/admin/etc the system without shutting the HTTPD down.
Gopher might be far more apt for DOS:
https://gopherus.sourceforge.net/
Also, there are lots of sites as gopher://magical.fish and such, even gopher://gopherddit.com and gopher://hngopher.com as gateways.
What I miss it's something akin to the News Waffle from gemini://gemi.dev but for Gopher. That would make lots of legacy systems usable. IRC already does work under DOS, and with Bitlbee (there are public TLS-less servers out there) you can connect to tons of chat protocols.
Also, mTCP it's a must for a DOS user with Ethernet (or serial->wifi with ESP32): https://www.brutman.com/mTCP/mTCP.html