|( about - configuration - maintenance - hardware - software - eventlog - contact )||
This is floppy.museum:
Obsolete hardware running obsolete software documenting obsolete media
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:
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 times and 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 January 2023. See event log.
To recreate this floppy disk, you will need:
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. :)<>
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.)
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 @firstname.lastname@example.org.
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.
( top - about - configuration - maintenance - hardware - software - eventlog - contact )