ODFileSystem is a read-only optical-disc filesystem for AmigaOS 3 and AmigaOS 4. It lets Amiga applications browse and read CD-ROM, DVD, Blu-ray, and image-based media, and access audio-CD tracks as WAV or AIFF files.
ODFileSystem has the most complete optical-disc format support of any Amiga CD filesystem we tested. It is the only one that reads UDF and HFS+, so DVDs, Blu-ray discs, and modern Mac discs work alongside classic CD-ROMs, and the only one that reads every format below. It also has native AmigaOS 3 and AmigaOS 4 builds, and it is open source and actively developed.
| Feature | ODFileSystem | CDFileSystem 47.26 | AllegroCDFS 3.9 | BabelCDFS 1.2 | CacheCDFS 43.4 / 106.1 | AmiCDFS 2.40 | AsimCDFS 3.10 |
|---|---|---|---|---|---|---|---|
| ISO 9660 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Rock Ridge long names | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Joliet long names | ✓ | – | ✓ | – | – | – | – |
| High Sierra | ✓ | – | – | – | – | – | ✓ |
| UDF | ✓ | – | – | – | – | – | – |
| HFS | ✓ | – | – | – | – | ✓ | – |
| HFS+ | ✓ | – | – | – | – | – | – |
| Audio tracks as files | ✓ | – | ✓ | – | – | – | ✓ |
It is also fast where browsing and loading software are concerned. In CDBench, which publishes its results for all eight filesystems, the 68020 build is the fastest at whole-directory traversal (12 105 entries/s, 28% ahead of the next best) and small-file open and read (416 µs, over 2.5 times faster than the next best). Its sequential read speed is second to AllegroCDFS, which is about 8% faster. On Discovery, the first pass over a mounted disc, it is level with CDFileSystem at about 7 500 entries/s, behind BabelCDFS at 9 365.
See the full comparison for every result, the test setup, and the areas where other filesystems lead.
Download the release archive for your AmigaOS version.
- AmigaOS 3: copy
ODFileSystemfrom the OS3 archive toL:ODFileSystem. On a 68020 or later CPU, you can useODFileSystem020instead; copy it asL:ODFileSystemto use the same mount configuration. - AmigaOS 4: copy
ODFileSystem-amigaos4from the OS4 archive asL:ODFileSystem.
If you built from source, use build/amiga/ODFileSystem, or the ODFileSystem
file in your chosen build directory.
Copy the sample CD0 and
CD0.info from this repository to
DEVS:DOSDrivers/.
Edit FileSystem in CD0 to read L:ODFileSystem, then set the Device and
Unit tooltypes on the CD0 icon to match your controller and drive.
The sample CD0 entry uses Control = "AIFF UDF", selecting AIFF audio tracks
and preferring UDF on bridge discs. Edit or remove this line to choose the
format defaults.
Only one active DOSDriver may use a given device name. If another CD
filesystem is already mounted as CD0:, replace or disable that entry before
mounting ODFileSystem, or rename the ODFileSystem DOSDriver to OD0:.
Double-click the DOSDriver to mount it, or restart to mount it from
DEVS:DOSDrivers/.
For a default audio-CD disk icon, copy Env-Archive/Sys/def_cdda.info from the
release archive to ENVARC:Sys/def_cdda.info and ENV:Sys/def_cdda.info.
The source copy is def_cdda.info.
The OS4 archive also includes CDFileSystem for replacing
Kickstart/CDFileSystem in an OS4 Kickstart directory or Kickstart.zip.
Keep the Kicklayout entry as MODULE Kickstart/CDFileSystem.
Use the ODFileSystem-amigaos4 file for a DOSDriver installation.
As an alternative to a DOSDriver, add this entry to your Mountlist and adjust
Device and Unit for your hardware:
CD0:
FileSystem = L:ODFileSystem
Stacksize = 16384
Priority = 5
GlobVec = -1
DosType = 0x43443031
ForceLoad = 1
Device = scsi.device
Unit = 2
Flags = 0
Surfaces = 1
BlocksPerTrack = 1
BlockSize = 2048
Reserved = 0
LowCyl = 0
HighCyl = 0
Buffers = 20
BufMemType = 0
Mount = 1
Activate = 1
#
ForceLoad = 1 matters on systems whose controller ROM registers a CD
filesystem for DosType 'CD01' in FileSystem.resource (the A4091 does):
without it, Mount silently uses that ROM filesystem instead of
L:ODFileSystem and overrides the mountlist StackSize.
Activate = 1 starts the filesystem at mount, so a disc in the drive gets its
Workbench icon without waiting for first access. The sample CD0 entry sets it
too; remove the line to save memory until the drive is used. Keep it when
running benchmarks: without it, Workbench's disc-insert work runs during the
first pass over the disc and halves the CDBench Discovery result.
If the drive is empty at mount, a disc inserted later is detected only if the
device reports TDERR_DiskChanged for an empty drive. a4091.device 42.39 does
not, so with that version the disc mounts on first access to CD0:.
Use the mount entry's Control string to select formats and adjust caching:
Control = "LOWERCASE UDF"
Supported control flags:
LOWERCASEto lowercase plain ISO namesNOROCKRIDGEorNORRto disable Rock RidgeNOJOLIETorNOJto disable JolietHFSFIRSTorHFto prefer HFS on hybrid discsUDFto prefer UDF on bridge discsAIFFto expose audio tracks as AIFF instead of WAVFILEBUFFERS=norFB=nto set the block-cache size in sectors (default 128 on AmigaOS 3, 1024 on AmigaOS 4)METACACHE=norMC=nto set the parsed-directory cache size in KiB (default 96 on AmigaOS 3, 1024 on AmigaOS 4; 0 turns it off)
See mountlist.example for a fuller example with hardware notes, and CD0 for the sample DOSDriver entry used with Workbench.
| Filesystem | Status | Notes |
|---|---|---|
| ISO 9660 | Supported | Plain ISO 9660 names and directory traversal |
| High Sierra | Supported | Pre-ISO 9660 (1986) variant, detected automatically; not in the ROM profile |
| Rock Ridge | Supported | Preferred over plain ISO when present |
| Joliet | Supported | Preferred over plain ISO when Rock Ridge is absent |
| UDF | Supported | Bridge discs default to ISO-family content unless Control = "UDF" is set |
| HFS | Supported with limitations | Data fork only |
| HFS+ | Supported with limitations | Data fork only; resource forks are not exposed |
| CDDA | Supported | Virtual WAV files, or AIFF with Control = "AIFF" |
ODFileSystem selects the last session on multisession discs by default.
Rock Ridge and UDF symbolic links appear as Amiga soft links. Amiga protection
bits and comments stored in Rock Ridge AS entries are preserved alongside
standard Rock Ridge names, timestamps, links, and directory structure.
When several directory trees are available, ODFileSystem prefers Rock Ridge, then Joliet, then plain ISO 9660. On bridge or hybrid discs it prefers the ISO-family view over UDF or HFS.
To prefer UDF, set:
Control = "UDF"
To prefer HFS, use Control = "HFSFIRST". Options can be combined, for example
Control = "UDF LOWERCASE".
If multiple on-disc names become the same AmigaDOS name after name or character
set conversion, the first entry keeps the original name. Later entries receive
~2, ~3, and so on, in on-disc order.
Only data forks are exposed. Resource forks and Finder metadata are not available as separate files. Some classic Mac software distributions may therefore be incomplete when viewed through ODFileSystem, even though their main data files remain readable.
Audio tracks appear as virtual WAV files by default, or AIFF files when
Control = "AIFF" is set. On mixed-mode discs they appear in a CDDA/
directory; on pure audio discs they appear at the root.
When the drive returns CD-Text, disc and track metadata appears in
CD-TEXT.txt, and each track's title becomes its AmigaDOS file comment.
With an m68k AmigaOS cross-compiler in PATH:
make amigaThis produces build/amiga/ODFileSystem. For AmigaOS 4, use a PowerPC AmigaOS
cross-compiler and a separate build directory:
make amiga CC=ppc-amigaos-gcc AMIGA_BUILD=build/amiga-os4See Building ODFileSystem for toolchain setup, debug builds, and release archives, and ROM Profile for ROM builds.
ODFileSystem is licensed under the BSD 2-Clause license. See LICENSE for the full text.