Cloud 7

This is a Control Panel that lets you use a file on an HTTP server as a disk. If you have write access to the http server, you can write to the disk as well. I've successfully put minivmac disk images on a web server and mounted them as a local disk with this. The Control Panel is actually made up of 3 different parts: a device driver that presents the disk interface, a system extension (INIT resource) that loads the device driver on boot, and the control panel (cdev resource). They are all packaged together into the single Control Panel. Here is a pretty unexciting video from early in the development process demonstrating the idea. At this point, the device driver is capable of initializing the disk, copying files to and from the disk, opening & saving files to the disk, etc.

Cloud 7 was formerly called "HTTP Disk", but the general consensus was that's boring. Popular demand has renamed it "Cloud 7". The change is reflected in version 0.5.3.

The icon new cloud based icon set was provided by olePigeon of 68kmla.
The cloud graphic in the control panel is from tt of 68kmla.


When the driver is opened, it takes some parameters such as the address of the server, the name of the server (to work with ghosts), and the file path on the server. It then does a HEAD request to figure out how big the file is, creates a DriveQEl structure, adds it to the drive queue, and posts a notification that the drive has been attached, and returns to the caller. The system processes the posted diskEvt, does some control calls to get the default icon and some stuff, and then goes on with the reads & writes. The driver then translates the reads & writes to HTTP ranged GET and PUT operations. If the file is not writeable, the PUT operations fail with writErr. The driver exists as a DRVR resource within the Control Panel.

System Extension

This loads the driver on boot. It only loads the driver, doesn't open it, so the driver is basically doing nothing in RAM. This also displays the Control Panel's icon during the boot process. The INIT is just a resource in the Control Panel, not a separate file.

Control Panel

This is still a pretty rudimentary UI that asks for the hostname & file path of the file to mount as a disk. On open, the Control Panel opens the DNS resolver (finds a resolver resource in MacTCP or TCP/IP control panel, or MacTCP DNR file inside the System Folder). When you hit the "Mount!" button, it attempts to resolve the hostname, open the HTTP Disk device driver (named ".Webdrv") that was loaded by the INIT at boot time.


I've encountered some problems with some older (System 7.1) ethernet drivers, but no problems on System 7.6.1. I'm investigating the ability to use newer drivers with older Systems.