Skip to content

Storage

The library of disk and tape images, in /var/lib/qunilator/images. Drag a file onto the page to upload it — .rl02, .rl01, .rk05, .rx2, .dsk, .vhd and .tap, gzipped or not — or use New image… to make an empty one and New folder to organise them.

The image library

The folders are conventions, one per device family: dl for RL packs, dk for RK, du for MSCP volumes, mu for tapes, rx for floppies, and roms for bootstrap images, where Copy default ROM… drops in the ones QUniLator ships.

A disk image can also be a VHD, the format SIMH and other emulators write alongside raw images. A drive reads and writes a fixed or a dynamic VHD as it is: upload one, attach it, and download it or copy it off the file share afterwards to take it back to the emulator it came from. A VHD is recognised by its content, so one named .dsk or .rl02 works as well as one named .vhd. A differencing VHD holds only the changes to a parent disk, and a drive refuses it; merge it into a fixed or dynamic VHD first.

A dynamic VHD stores only the blocks that have been written, so the file can be much smaller than the disk it holds. A drive sizes the disk from the VHD, which is what an MSCP drive with useimagesize takes. New image… makes a dynamic VHD when the file name you give ends in .vhd. Such a VHD carries no SIMH drive type, so Open SIMH attaches it after SET <unit> NOAUTOSIZE; a VHD SIMH made keeps its drive type however much QUniLator writes to it.

A VHD is written in place and has no overlay; to keep a master, make it read-only or work on a copy.

Used by is the column that keeps you out of trouble. It names every saved configuration that references this image and the drive it puts it in, and marks the ones a running machine currently has MOUNTED — so before deleting or renaming anything you can see whether a machine depends on it.

read-only marks an image the emulator may not write. That is how a master pack survives a diagnostic that would otherwise scribble on it.

Contents reads the volume and lists its files — name, blocks and date — without booting anything. It understands RT-11, Files-11 ODS-1 (RSX-11) and Files-11 ODS-2 (VMS); anything else is reported honestly as not a recognized filesystem, and a formatted but unused volume as empty volume — no files. It reads the volume as the guest sees it, with any writes held in an overlay.

This is the quick way to tell two similar packs apart, or to confirm a download is the thing you wanted before you build a machine around it.

A drive can write to a copy-on-write overlay instead of to the image itself. The base file stays exactly as it was; every changed block goes to a companion file beside it. Disk drives do this unless their use_overlay parameter is switched off, so what a guest writes is in the image only once it has been consolidated. A row whose image has one shows Overlay active and how many blocks have been written.

That is what makes a shared or read-only master pack usable: boot it, let the guest write all it likes, and decide afterwards what to keep. A VHD has no overlay; its drive writes the VHD itself.

Discard overlaythrow the writes away and go back to the base image
Consolidate → basefold the writes into the base image, permanently
Consolidate → new file…write base-plus-overlay out as a new image, leaving both alone

The writes stay in the overlay when the drive is switched off, and so do the operations: the row keeps its Overlay active readout, and consolidating or discarding works on the files with no drive involved.

An overlay that has taken no writes is the resting state of every read-only pack a drive holds: nothing to discard, nothing to consolidate, nothing unsaved.

Download takes a copy; Rename… and Delete do what they say, with Used by telling you first whether anything depends on the file.