Windows 98 SE on QEMU

I had Journeyman Project Turbo working on Windows XP and Windows 3.1. I wanted to continue the effort with Windows 98 SE. I used QEMU with pc-i440fx, AC97 audio, RTL8139 network, and VGA video. Steps that worked:

  1. Install Windows 98 SE from the ISO
  2. Configure “Plug and Play BIOS” to use PCI bus driver as documented by SoftGPU
  3. When the network device is found, use the RTL8139 floppy image from archive.org
  4. Continuing the SoftGPU documentation:
    1. Turn on DMA for HDD and CD-ROM
    2. Change Network Logon to Windows Login
    3. Download and install 7zip
    4. Open 7zip then in “Tools > Options” associate it with the zip extension
    5. Download and configure the sound card with AC97 drivers
  5. Copy “D:\Win98” from Windows CD to “C:\Windows\Options\Cabs”. In regedit, navigate to “HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup” and change “SourcePath” to the new path.
  6. Install SoftGPU via its ISO. You can disable the DirectX 9 install

Sharing files with WebDAV

The Internet is essentially limited to HTTP (no HTTPS). Any file-sharing needs to be unencrypted. WebDAV is a pretty reasonable tool for the circumstance. To access from Windows 98, it’s as easy as My Computer > Web Folders > Add Web Folder, including “http://” in its location.

For the host, I’m running Linux and chezdav from phodav proved pretty easy (even if it has very permissive defaults). For a publically writable directory:

chezdav --no-mdns -P path/to/folder

To protect it with a password, use htdigest from apache:

htdigest -c webdav.digest myrealm myusername
# enter password
chezdav --no-mdns -P path/to/folder -d webdav.digest

I’ve good experience with the webdav server in Go, and a minimal Go webdav server works well. davserver from PyWebDAV3 also looks promising, but I didn’t try it out.