mac68k-disk

Disk images for the classic 68k Macintosh.

v1.2.1 MIT Linux macOS

Install

macOS (Homebrew) - the formula builds from source:

brew install bircher988/tap/mac68k-disk

Debian, Ubuntu, Raspberry Pi OS - every release has a .deb for arm64 (Raspberry Pi) and amd64 (PC):

wget https://github.com/bircher988/mac68k-disk/releases/download/v1.2.1/mac68k-disk_1.2.1_arm64.deb
sudo apt install ./mac68k-disk_1.2.1_arm64.deb      # or ./mac68k-disk_1.2.1_amd64.deb on a PC

From source (Linux, macOS, any Unix) - needs only a C compiler and make:

git clone https://github.com/bircher988/mac68k-disk.git
cd mac68k-disk && make && sudo make install

mac68k-disk version shows what is installed.

About mac68k-disk

mac68k-disk creates and edits floppy disk images for the first Macs: MFS, the 400K format of the Macintosh 128K and 512K (64K ROM), and HFS, the format of the 800K floppy, the Mac Plus and everything after it (400K, 800K and 1440K images). One small C program, no dependencies. The images work in Mini vMac, Basilisk II and other emulators, and on real hardware via a floppy emulator or a disk writer.

For a long time hfsutils was the tool for this, but it has been removed from Debian 13 and it never handled 400K MFS disks. mac68k-disk covers both formats with a handful of commands, and it is the natural companion of mac68k-asm.

Quick start

git clone https://github.com/bircher988/mac68k-disk.git
cd mac68k-disk
make                                  # needs only a C compiler and make
./mac68k-disk new Apps.dsk            # an empty 400K MFS disk named "Apps"
./mac68k-disk add Apps.dsk Hello.bin  # a MacBinary file from anywhere
./mac68k-disk ls -l Apps.dsk

Boot your System disk with Apps.dsk as the second disk (minivmac System.dsk Apps.dsk); the Finder shows the disk and places the new icons itself.

Commands

mac68k-disk new   <image> [--hfs] [--size 400k|800k|1440k] [--name <volume name>] [--system <startup disk>]
mac68k-disk add   <image> <file>... [--name <mac name>] [--type TTTT --creator CCCC] [--rsrc <file>] [-f]
mac68k-disk ls    <image> [-l] [-R] [<folder>]
mac68k-disk get   <image> <mac name> [-o <out>] [--data|--rsrc]
mac68k-disk rm    <image> <mac name>
mac68k-disk mkdir <image> <folder>
mac68k-disk info  <image>
mac68k-disk startup <image> [<application>] [-f]
mac68k-disk version | help

Highlights

  • MacBinary I, II and III are recognised by their header; any other file becomes the data fork of a new file. Finder flags, type, creator and dates are kept.
  • Startup disks. new --system makes a startup disk with a tidy System Folder, and startup chooses the application the Mac opens at boot. The play disks on this site are made exactly like that.
  • Folders on MFS, the way the Finder 5.3 keeps them in its DeskTop file, and real folders on HFS.
  • Safe changes. Every command works on a copy in memory and replaces the image only when everything went right: a full disk or a damaged image never changes the image.
  • Tested with an independent structure checker for MFS and HFS, against hfsutils, and in Mini vMac on a Mac Plus with System 6.0.8 and a Macintosh 512K with the 64K ROM.

The full reference is the README on GitHub.

Licence

MIT. Written from Apple’s documentation of the file systems (Inside Macintosh); it contains no code from other disk tools.

← All tools