( about - configuration - maintenance - irc - hardware - software - eventlog - contact )

This is floppy.museum:

Obsolete hardware running obsolete software documenting obsolete media


New! There is now an IRC server here!

IRC - Internet Relay Chat

Since 2023-06-04 there's been an IRC server running on the machine!

That's right: On the same 286 and floppy that already contains and runs an operating system and multi-tasker, a web server, an FTP server, and this whole website -- there is now a fully operational IRC server too!

Given memory constraints (and other limitations), it's currently configured to accept a maximum of 28 simultaneous users. To compensate, as of 2023-06-21 the server is now clustered (see event log) with another 286 of equal configuration, and together they can handle 56 clients! So .. Don't hesitate, join now!

How to connect

Point any bog-standard IRC client at this server, on port 6667: floppy.museum:6667. Note that there is no fancy TLS or other protections here, so please do not rely on it for any kind of privacy.

You can find me on the #FloppyMuseum channel as Ltning, e-Ltning, or some variation thereof.


About this project

Some time in 2019, I started assembling what has become a sizable collection of retro PC hardware, mostly of the late 1980s to mid-90s vintage. As 2020 hit, with pandemic and lockdowns and whatnot, this collection continued to grow.

Fast-forward to September of 2022, when I stumbled across the Museum of Obsolete Media, more specifically the Floppy Disk Museum on a floppy. Having spent some time recently obsessing about squeezing as much usefulness (yes, I know, liberal use of the term) as possible onto a floppy, the idea of making the museum run entirely from a floppy was born.

After a bit of fiddling, and some help from Jason at The Museum of Obsolete Media to reduce the museum size ever so slightly, I had a 1.44MB bootable 3.5" floppy image containing:

  • MS-DOS 6.22 boot loader, IO.SYS and MSDOS.SYS,
  • Norton DOS (a scaled-down version of 4DOS, because COMMAND.COM is torture),
  • The excellent HTTPSERV from mTCP,
  • Network packet drivers for a few common ISA network cards, and finally
  • This website.
It has developed quite a bit since then, but the core remains the same.

I decided early on to target 16-bit CPUs, which in my case means the Intel 286 and compatibles. It should run on anything from an IBM XT upwards, though I would not recommend running it without enough RAM to copy the site itself to a RAM disk. If nothing else, to save your precious floppy drive from wear and tear.

I'll try to detail the project as best I can here - but be aware that the below may (will) be an approximation at any given time. The hardware is old, largely untested over longer periods of time or under any kind of load, and components will be replaced as need arises. This page is unlikely to keep pace, but I'll try to update it whenever I've made significant changes.

Note: The below is accurate as of June 4, 2023. See event log.


The configuration

To recreate this floppy disk, you will need:

  • The latest distribution of the "Floppy Disk Museum on a Floppy"
  • The software listed in The software table below
  • My local config files:
    • config.sys - for this hardware, probably needs modifications
    • autoexec.bat - uses my "init" system for DOS, see below
    • ndos.com - the Norton command.com replacement
    • httpd.bat - startup "script" for DESQview and HTTPServ, copies files to RAM disk
    • system.zip - the system directory, containing the "init" system
    • net.zip - the net directory, containing network drivers, IRC server, and mTCP
    • uttl.zip - various utilities used during boot, including those listed below
    • dv.zip - a stripped-down DESQView w/startup script
  • Patience
  • Beer (or equivalent beverage)
  • A pillow to cry into when you realise what you're spending your precious time on..
NOTE: These additional files do not fit on the RAM drive, so they are all served from a 5.25-inch, 1.2MB floppy! This means downloading them is going to be slow, and also slow down everything else going on at the same time. Be gentle!

The httpd.bat file attempts to allow for the absence of DESQview, but it does require a second floppy drive (B:) in order to make the files listed above available. If you don't have one, you need to modify this file; particularly the line invoking JOIN: This is an old MS-DOS utility which re-maps a drive to a directory. IFF your RAM drive is large enough (modify autoexec.bat if you have more than 4MB RAM) you can simply have it copy/create the files there; otherwise simply have it skip the whole copying/ZIPping.

The config.sys should present a menu on boot, offering to go straight to DESQview/HTTPServ, or boot to DOS (with or without copying files to RAM disk). DESQview only really makes sense if you have a 386 or better CPU, or a 286 with hardware EMS like the C&T SCAT chipset. The NEAT chipset, and others, may also work - but will require significant fiddling, and drivers for the respective chipsets. And the EMS support needs to support "backfilling", i.e. the software (DESQview) must be able to map EMS memory into conventional memory, otherwise it cannot "multitask".

Most executables on the disk are compressed using DIET, which compresses and adds a small self-extract header to EXE/COM files. Note that this is *NOT* applied to the network drivers; this prevents them from loading into upper memory. If you need more space, and don't care about the RAM usage, feel free to DIET those too.

Note that DESQView, as found in the .zip file listed above, will not work unless DIET is loaded! Many of its support files are compressed, and the ZIP file contains the compressed versions of the files. The same goes for some of the other files in various archives.

The configuration for HTTPServ is in httpd.bat and in the configuration file referenced by the MTCPCFG environment variable. Additionally, a HTACCESS.--- file is copied to the root of the HTML directory, which enables the status and clients pages.

Bootup takes along time, since all files are copied to RAM disk prior to running anything. This is an attempt to reduce the wear and tear on the actual floppy drive and the floppy. Once running, however, it should be stable for weeks on end. :)


Maintenance

In an attempt to make the site maintainable in other ways than 1) removing the floppy, 2) making changes and 3) rebooting, I've been trying to get DESQView to multitask the mTCP HTTPServ and FTPSRV programs. Unfortunately, this cunning plan was foiled by the fact that packet drivers have no concept of multiple applications using them at the same time. Luckily I raised this to the mTCP author, who pointed me to PKTMUX: A packet driver multiplexer!

Originally written to allow the use of TCP/IP applications alongside IBM 3270 terminal emulator TSRs, this software takes over the software interrupt handler from the packet driver itself, attempts to peek into the ethernet packets to find the IP header, and forwards the packet to the correct application via a "virtual" packet driver of which there is one copy running for each application.

Using PKTMUX and DESQView I now (as of 2023-03-01) have a remotely-maintainable site! The updated floppy is still fully self-contained, and boots into DESQView with both HTTPServ and FTPSRV running. And there's still enough memory to run IRCjr from the same machine! (Yes, I've done this.)


The hardware

Motherboard
Biostar MB-1212C
Chipset: Chips&Technologies 82C235 "SCAT"
(single-chip successor of NEAT)
BIOS: AMI/C&T
CPU: Intel 80286-12MHz
FPU: Intel 80287-8MHz ("military grade")
RAM:
4MB 70ns FPM DRAM (1x 72pin SIMM)
Expansion Just making Netscape 2.02 for OS/2 happy..
Graphics: Cirrus Logic GD5422, 1MB
HDD controller: None
FDD+Serial controller: Blue Lava Systems FDD/Serial controller
Network: 3Com 3c509 EtherLink III
Storage Just making Netscape 2.02 for OS/2 happy..
Floppy drive A: Teac FD-505 combo - 90mm (~3.5") HD
Floppy drive B: Teac FD-505 combo - 5.25" HD
Hard Disk drive C: None

The software

Base
Just making Netscape 2.02 for OS/2 happy..
Operating System: MS-DOS 6.22
Command interpreter Norton DOS (NDOS)
Memory drivers Just making Netscape 2.02 for OS/2 happy..
Extended memory: Quarterdeck QEXT v2.02
Upper memory: Quarterdeck QRAM v2.02
Expanded memory (EMS): Chipset-specific SCATEMM.SYS
Supporting software Just making Netscape 2.02 for OS/2 happy..
Floppy driver: 2M - Increase capacity of floppy disks (download)
File compression: DIET 1.45f (full distribution)
RAM disk: XMSDSK by Franck Uberto
Packet driver mulitplexer: PKTMUX 1.2i (full distribution)
Task manager: Quarterdeck DESQview 2.8
Web server: HTTPServ from the excellent mTCP
FTP server: HTTPServ from the same package>
IRC server: DOS port of ngIRCd

Event log
(Newest entry first)

  • 2023-06-21: Old hardware! Back on the old machine, let's hope it's stable! Also:
    • After recompiling ngIRCd (using one of my OS/2 machines) with a new and shiny mTCP and an upstream patch for auto-join-on-connect, it now seems I have a reasonably stable configuration.
    • The IRC server is now clustered!
      The primary server and my test-bench machine is now part of an IRC "network", and connections are load balanced between the instances. If one goes down, your client should automatically connect to the other. And since the instances are linked, it doesn't matter which one you land on :)
  • 2023-06-07: New hardware! That IRCd turned out a bigger challenge than expected: The poor machine had trouble reliably starting the services in a way that had them accept connections; theory is that the combination of multiple packet drivers, lots of inbound traffic during driver loading and service startup, and extreme memory pressure combined to a "perfect storm".
    Turns out a different motherboard (don't worry; same chipset and CPU!) with a slightly less stupid BIOS allowed *just* enough additional memory headroom for things to stabilise.
    Note: I'll be tuning the site a bit more over the next days/weeks, and I need to transplant the new motherboard onto the acrylic "open frame" that the old hardware was installed on. I'll keep a second machine (same build!) running to keep the site up :-)
  • 2023-06-04: Rather major update, bringing new content from Jason, and:
    • Removed Volkov Commander and some minor utilities to save space, because..
    • ..There is now an IRC server running on the machine!
      See irc section for details.
    It's really getting cramped on the floppy now: less than 25KB free.
  • 2023-03-28: Upgraded HTTPServ! Now with built-in NTP client, and a fix for the crashing bug!
    PS: For anyone interested, the upgrade was done almost entirely remotely: FTP to update the executable, config and this file, then a walk to the "retro cave" to hit the reset button.
    PPS: For anyone still reading, *c0in m1n3rz were spewing bad traffic on the Interwebs that made HTTPServ crash from time to time. Found and fixed by Mr. Brutman of mTCP fame! Thank you!
  • 2023-03-06:
    • There's now a favicon!
    • Finally managed to use the second floppy drive for scratch storage, so I'm now offering *all* the tools and scripts used for download from /files!
      The problem was an obscure BIOS setting - "DMA Extended XMEMR" - which needs to be disabled, otherwise this particular machine (and some others based on the same chipset) will eat floppies for .. well, any meal, really.
    • In a feeble attempt at self-defense, I've added a robots.txt to keep search engines away from these files..
  • 2023-03-01: Updated floppy with PKTMUX, now running HTTPD+FTPD for maintenance! See maintenance section for details.
  • 2023-02-20: Museum went down, as it tends to every few weeks. Of course on my first day of vacation, so it remained down until 2023-02-26.
    Still trying to figure out why. Current theory is that some kind of broken HTTP requests brings down HTTPServ and the packet driver, since the machine itself remains fine: Loading a new packet driver instance and restarting HTTPServ is enough to restore service.
    To anyone who may have attempted to access the site during that period: Sorry!
  • 2023-01-24:
    • Replaced NIC; hopefully packet driver is more stable
    • Updated the museum pages with some corrections and a couple of new entries
    • Minor HTML tweaks, added this event log
    • Added contact info and simple page navigation
  • 2023-01-12: Mentioned on Hacker News. >80.000 hits in a few hours! (Hint: read the comments)
  • 2022-11-29: Acquired 'floppy.museum' domain
  • 2022-10-22: First revision


Contact

My name is Eirik Øverby, I'm of 1977 vintage, and we (this server and myself) are located in Oslo, Norway. You can (usually) find me on IRC (Libera, EFNet) as Ltning, or in the fediverse as @ltning@anduin.net.

For the time being I'm also on Twitter as @ltning. If you want to contact me via email, I'm sure you can deduce my email address from the above.


Note: This page is optimized for Netscape Navigator 2.02 for OS/2.



( top - about - configuration - maintenance - irc - hardware - software - eventlog - contact )