Since the original trackdisk device API only supported reading/writing to 32-bit unsigned offsets (< 4GB) there have been at least two extensions that allow to use 64-bit offsets instead.

One of them is the unofficial TD64. The other extension referred to as NSD64 is the one officially supported by AmigaOS 3.5/3.9 as well as the newer AmigaOS4.0/4.1. The NSD64 commands are part of the New Style Devices (NSD) device API extension, which adds a command for querying devices to obtain information like what class of device they are and what commands they support, but a device that supports NSD does not necessarily have to support any of these.

What both of these extensions have in common is that they both use the io_Actual field of struct IOStdReq to store the upper 32 bits of the io_Offset parameter. What this program does is to translate the TD64 calls into their NSD64 equivalents allowing to use filesystems like Marek Szyprowski's Ext2FileSystem and NTFileSystem that only support TD64 with devices that support NSD64 but not TD64, like the AmigaOS3.5/3.9 scsi.device or AmigaOS4.x a1ide.device.


Copyright © 2019 Fredrik Wikstr√∂m (fredrik at a500 dot org)