86Box logo

86Box v3.11

November 26, 2022 - written by richardg867

This is the November 2022 update to 86Box, bringing folder mounting through CD-ROMs, new hardware, bugfixes across the board, and big improvements to network emulation truly making this the 86Box for Workgroups release. As always, you can download 86Box v3.11 from GitHub.


Folders as CDs

We are very often asked for ways to ease file transfer between the host system and emulated machines. Truth is, there aren’t many good solutions for that; the Shared Folders feature present on virtualizers requires purpose-built software to be installed within the emulated machine, which goes against our spirit of being a full system emulator, and network-based solutions such as FTP or SMB require the machine to be set up with a network connection, potentially adding complexity to your setup for something you might not need otherwise.

This release’s headline feature is the ability to mount a folder from your host system as if it were a CD-ROM image. Any files and subfolders (along with metadata such as modification dates) are passed through to the virtual image, with filenames automatically converted to short names for DOS, Joliet long names for Windows, and Rock Ridge long names for Linux and other systems. There is no size limit for the folder; we’ve successfully tested folders containing tens of gigabytes of data, though 32-bit builds of 86Box may run out of memory if you have this much data across many small files. It’s worth noting only the directory structure and metadata is stored in the host’s RAM; file contents are read on demand as the emulated machine accesses files, which are not cached in memory by 86Box.

The virtual disc does have some limitations you should keep in mind:

We plan on adding support for custom file structures through VirtualBox VISO files in the future, as well as the ability to generate discs in the High Sierra format or without long filenames; High Sierra is important for replicating the early CD-ROM experience, and in a somewhat related note, pre-ATAPI CD-ROM drives are also in our roadmap.

But why CDs?

Some of you may see that last limitation as a dealbreaker and ask: what is the point in making a file sharing system that only goes one way? 86Box emulates magneto-optical and Zip disks, which are both writable removable media formats with significant data capacities, so why not use those instead?

It turns out emulating a writable filesystem is a significantly more difficult job, which involves sector ordering, file renaming and other inherent complexities in keeping track of how the filesystem allocation tables and sectors map to the underlying host files. The only attempt at a writable virtual filesystem we’ve seen so far is QEMU’s VVFAT feature, which leaves a lot to be desired; your writer has managed to confuse it into corrupting files or hitting an assertion failure in more than one occasion. We’ve definitely thought about porting VVFAT from QEMU, or maybe even rolling our own virtual filesystem implementation, but the latter would be a monumental task for a potentially mediocre result.

While there are common methods to create freely-writable optical discs, such as DVD-RAM and Packet Writing (the latter relates to the Windows “what do you want to do with this disc?” prompt that anyone old enough to have used recordable CDs or DVDs will remember), these methods run on top of two features we don’t implement, but are in our ever so large “maybe do it one day” list: CD/DVD writing and the UDF filesystem. Even then, the aforementioned complexities in keeping track of a writable filesystem come into play, and they would only be avoidable by limiting ourselves to Packet Writing on a CD-R or DVD-R.


Changelog

Emulator

User interface

Machines

Hardware