Mount disk images over the Internet on your Apple IIGS
Go to file
2019-07-17 09:45:08 -05:00
.gitignore Update .gitignore. 2018-08-12 17:59:34 -05:00
asmglue.asm Split out non-trivial driver ops into separate functions. 2018-08-10 00:12:24 -05:00
asmglue.h Add basic infrastructure for an installable GS/OS driver. 2018-08-06 20:22:33 -05:00
cdev.c Give a warning when using NetDisk with an old Marinetti version. 2019-07-15 20:13:11 -05:00
cdev.rez Bump version of init and CDev to 1.0. 2019-07-15 20:26:22 -05:00
cdevutil.asm Add framework for NetDisk CDev. 2018-08-11 16:33:18 -05:00
diskcopy42.h Add support for DiskCopy 4.2 image format. 2018-10-17 20:14:40 -05:00
driver.c Add support for DiskCopy 4.2 image format. 2018-10-17 20:14:40 -05:00
driver.h Do actual auto-detection of DOS-order versus ProDOS-order. 2018-10-07 23:59:00 -05:00
driverwrapper.asm Add framework of code for the driver. 2018-08-08 20:12:03 -05:00
driverwrapper.h Add framework of code for the driver. 2018-08-08 20:12:03 -05:00
endian.asm Add support for DiskCopy 4.2 image format. 2018-10-17 20:14:40 -05:00
endian.h Add support for DiskCopy 4.2 image format. 2018-10-17 20:14:40 -05:00
hostname.c Set up framework of the NetDisk init. 2018-08-05 18:04:34 -05:00
hostname.h Initial code implementing some of the core functionality for reading blocks over HTTP. 2018-07-29 23:40:03 -05:00
http.c HTTP header parsing tweaks. 2018-10-08 21:18:32 -05:00
http.h Switch to unified set of error codes. Also, do more checks for 2IMG files. 2018-08-11 01:53:53 -05:00
httptest.c Enhance mounturl command-line utility. 2018-10-02 18:04:22 -05:00
initstart.asm Set up framework of the NetDisk init. 2018-08-05 18:04:34 -05:00
installdriver.asm Add basic infrastructure for an installable GS/OS driver. 2018-08-06 20:22:33 -05:00
installdriver.h Add basic infrastructure for an installable GS/OS driver. 2018-08-06 20:22:33 -05:00
LICENSE Add LICENSE file. 2019-07-05 23:04:24 -05:00
Makefile Tweak makefile to auto-generate macros if necessary. 2019-07-17 09:34:31 -05:00
mounturl.c Enhance mounturl command-line utility. 2018-10-02 18:04:22 -05:00
mounturl.h Add support for DiskCopy 4.2 image format. 2018-10-17 20:14:40 -05:00
netdiskerror.c Make sure Marinetti is available before using NetDisk. 2019-07-15 17:12:27 -05:00
netdiskerror.h Make sure Marinetti is available before using NetDisk. 2019-07-15 17:12:27 -05:00
netdiskinit.c Make sure Marinetti is available before using NetDisk. 2019-07-15 17:12:27 -05:00
README.md Update README. 2019-07-17 09:45:08 -05:00
readtcp.c Work around Marinetti bug 57. 2019-04-19 17:34:18 -05:00
readtcp.h Detect errors and timeouts when reading data from server. 2018-08-15 21:05:09 -05:00
session.c Give meaningful error messages. 2018-09-26 00:17:31 -05:00
session.h Add support for DiskCopy 4.2 image format. 2018-10-17 20:14:40 -05:00
seturl.c Support spaces in URLs. 2018-10-03 17:40:08 -05:00
seturl.h Switch to unified set of error codes. Also, do more checks for 2IMG files. 2018-08-11 01:53:53 -05:00
strcasecmp.c Add and use code to parse URLs specifying the resource. 2018-07-30 21:35:45 -05:00
strcasecmp.h Add and use code to parse URLs specifying the resource. 2018-07-30 21:35:45 -05:00
systemservices.asm Add wrappers for GS/OS system service calls, and call SET_DISKSW on mount. 2018-08-16 21:39:23 -05:00
systemservices.h Add wrappers for GS/OS system service calls, and call SET_DISKSW on mount. 2018-08-16 21:39:23 -05:00
tcpconnection.c Before sending a request, check if the remote side has closed the connection. 2018-08-14 18:35:11 -05:00
tcpconnection.h Switch to unified set of error codes. Also, do more checks for 2IMG files. 2018-08-11 01:53:53 -05:00
twoimg.h Switch to unified set of error codes. Also, do more checks for 2IMG files. 2018-08-11 01:53:53 -05:00
urlparser.c Set up framework of the NetDisk init. 2018-08-05 18:04:34 -05:00
urlparser.h Add and use code to parse URLs specifying the resource. 2018-07-30 21:35:45 -05:00
version.h Bump version of init and CDev to 1.0. 2019-07-15 20:26:22 -05:00

NetDisk

By Stephen Heumann

NetDisk is an Apple IIGS utility that allows you to mount disks images hosted on an HTTP server (a public web server or one on your local network). The mounted disk images behave as if they were normal (but read-only) disks on your IIGS: you can open files and run programs directly off of them, or copy the files to your local disks using the Finder or other standard utilities.

The NetDisk package also comes with the Archive.org Disk Browser, a Finder extension that lets you conveniently search for disk images on the Internet Archive (archive.org) and mount them using NetDisk.

To download the latest versions of NetDisk and the Archive.org Disk Browser, visit the releases page.

System Requirements

  • An Apple IIGS with System 6.0.1 or later
  • Marinetti 3.0b11 or later
  • A Marinetti-compatible network interface (such as an Ethernet card)
  • 3 MB or more of memory recommended if using Archive.org Disk Browser

Installation

To install NetDisk and the Archive.org Disk Browser:

  • Place the NetDiskInit file in the *:System:System.Setup folder (where * indicates your boot disk).
  • Place the NetDisk file in the *:System:CDevs folder.
  • Place the DiskBrowser file in the *:System:FinderExtras folder. (If your IIgs uses a multi-user network booting setup, place it in the FinderExtras folder within your user folder instead.)

Reboot the system to complete the installation.

Compatibility

NetDisk can access disk image files on most servers that allow unencrypted HTTP access. The server must also support HTTP range requests. Most modern servers support these, but some may not, in which case an error message will be shown.

NetDisk supports raw (aka ProDOS-order and various other names), 2MG, DOS-order, and DiskCopy 4.2 disk images. The images may use any filesystem for which you have an FST installed, except that DOS 3.3 filesystems are not supported due to a limitation in that FST. You can use images of any size (subject to the limitations of the relevant FST), from floppy disks to large hard drive partitions or CD-ROMS.

Using NetDisk

To mount a disk image, simply open the NetDisk control panel, enter the http:// URL for the image to be mounted, and click Mount Disk Image. If you do not get an error message, the disk will now be mounted and accessible. If you are in the Finder, it will appear on the desktop.

You can explicitly select the disk image format using the Format pop-up menu. In most cases this can be left at the default "Auto-Detect" setting to let NetDisk detect the format of the image, but you can explicitly specify a format if the auto-detection does not work properly.

The Use Disk Cache check box controls whether the standard GS/OS disk caching mechanism should be used with the disk image. This box should normally be left checked, since it improves performance. You should un-check it if the disk image on the server might change while you have it mounted (but note that such changes can cause problems in some cases even if caching is disabled).

Disk images mounted by NetDisk are read-only. They can be accessed while running any 16-bit GS/OS application, but not in ProDOS 8 mode. (This means that in many cases 16-bit applications can be run directly off the disk image, but 8-bit programs will have to be copied to a local drive and run from there.)

When you are done with a disk image, you can unmount it as you would any other disk (e.g. by dragging it to the trash in the Finder). Up to 16 disk images may be mounted at once.

Using the Archive.org Disk Browser

The Archive.org Disk Browser is a Finder extension that lets you search for disk images on the Internet Archive (archive.org) and mount then using NetDisk. To use it, select Archive.org Disk Browser... in the Finder's Extras menu.

In the disk browser window, you can enter what to search for, choose if you want to find disks for the Apple IIGS or any Apple II, and then click Find Disks to find any matching disks.

When the search is done, a list of matching disks will be displayed. You can select a disk and click Mount Disk (or double-click the disk name) to mount it using NetDisk.

Troubleshooting Notes

In some system configurations, there can be a compatibility issue between GUPP 1.07 and NetDisk, which manifests itself as hanging when starting or quitting applications. If you experience this, I suggest either disabling GUPP or downgrading to GUPP 1.06. You may also be able to work around this by changing the order of inits or disabling other inits that patch tools.

Building NetDisk

The source code for NetDisk is available on GitHub. The source code for the Archive.org Disk Browser is also on GitHub, in a separate repository. To build them, you need ORCA/C (2.2.0 B3 or later) and ORCA/M. Makefiles suitable for building on a modern system with Golden Gate are included.