fat95 - Win95/98 compatible FAT filesystem handler for AmigaOS. Fork of disk/misc/fat95.lha.
COMPONENTS IN THIS RELEASE
==========================
- fat95 4.0 (10.09.2026) (new)
- install95 3.19 (25.01.2026)
- dd 2.4 (10.09.2026) (new)
- debug95 3.19 (25.01.2026)
- SetFileSize 1.1 (25.01.2026)
- boot95 3.19 (25.01.2026)
- lsfsres 1.0 (16.05.2026)
- ptable.library 2.0 (11.09.2026) (new)
- lsptres 1.0 (11.09.2026) (new)
WHAT'S NEW (11.09.2026)
=======================
New major version of fat95 4.0 filesystem handler:
* Shared partition scanning: fat95 auto-detects its FAT partition (MBR,
GPT, and flat whole-disk FAT) from the shared partition.resource
published by ptable.library. The resolved mount Flags/CONTROL and the
DosType the mount carries are reported and shown by lsptres.
Partition auto-detection now requires ptable.library. Explicit-geometry
mountlist entries still mount without it.
* New "q" (quiet) option: control "+q" silences all fat95 error
windows for a mount (errors go to the calling program instead).
Unmounting a removed card cancels any open window automatically.
* New Apollo 68080 tier for boards with an Apollo core 68080.
* Faster FAT32 validation: the free-space scan of a freshly mounted
volume is more efficient and finishes a little sooner. A volume that
was unmounted properly skips the scan and is ready at once.
* Pulling a card while a Workbench window or an open file still holds
the volume no longer stalls the driver: fat95 declines to quit at once
and stays in service, so the partition is kept and the card mounts
again when reinserted.
* A FAT partition already mounted by another handler is no longer
claimed. Mounting a second DOSDrivers entry over an already mounted
partition fails with "object in use" instead of putting two handlers
on one volume. The new "m" Control option overrides the refusal
(reads mostly work, a write corrupts the volume). The extra mount is
listed as its own partition.resource row.
* The "d" (datestamps as file comments) and "D" (record last-accessed
date) options now default to off; Control "+d+D" restores the
previous behaviour.
* Safer handling of write errors and card changes.
* An accepted ACTION_DIE (e.g. MOUNT <dev>: SHUTDOWN) unhooks the
device node before replying, so C:Mount no longer prints a misleading
"object in use" for a successful shutdown.
* Fixed: with no card inserted, opening the volume's root directory
crashed instead of reporting "no disk".
* Fixed: turning a lock into a file handle lost count of it, so the
handler could believe nothing was using the volume while files were
still open.
* Fixed: a newly created directory's ".." entry could name the wrong
parent, so moving up out of it on another system could land in the
root.
* Fixed: giving a volume a serial number reported success even when the
write failed, so the system could record a serial the card does not
carry.
Tools 'dd 2.4':
* The help and the INSPECT report print one screenful at a time; any
key continues, Q stops.
* Output lines end in LF alone.
Tools 'dd 2.3':
* A 64-bit transfer command (NSCMD_TD64 or TD64) is now used whenever
the driver advertises one, not only past 4 GiB.
* New CMDSRC (CS=) and CMDDST (CD=) force the transfer command for one
side only; CMD still sets both. A forced command the driver does not
advertise is reported before the transfer starts, and an I/O error -3
points at dd INSPECT.
* New MAXTRANSFER (MT=) sets the bytes per device request (default
130560), and MEM sets the buffer memory type
(ANY|PUBLIC|CHIP|FAST|24BIT).
* INSPECT also reports the buffer memory type and the device type, and
names the command dd would use.
* Fixed: a source file that is not a whole number of blocks lost its
last partial block.
* Fixed: a bad buffer when a device does not report its geometry, and a
hang when the block size exceeds one request.
Bundled:
* ptable.library and lsptres included in the archive, shared with the
CompactFlash driver (https://github.com/pulchart/amigaos-ptable).
Purpose
=======
"fat95" is a DOS handler to mount and use Win95/98 volumes just as if they were
AMIGA volumes.
System requirements
===================
* every AMIGA, OS 1.3+ (OS 2.0+ for full functionality)
* a suitable device file for low level disk access, like the
mfm.device for floppies, compactflash.device for CF in PCMCIA
* ptable.library (bundled; install to LIBS:) for partition auto-detect;
explicit-geometry mountlist entries do not need it
Features
========
See fat95.guide for full documentation.
* Workbench and applications support
* Diskchange autosense
* Format type autosense: FAT12, FAT16 and FAT32
* MBR, GPT, and flat (whole-disk FAT) partition support
* Simple LINUX style partition selection or manual definition
* Up to 4 GBytes of partition size for FAT16
* Large harddisk support via TD64 or direct SCSI
* Long filenames (up to 104 chars for now)
* Inquiry, read, write, and maintenance access
* Built-in error check utility
* Disk formatting using the OS 2.0+ format command
* MS-DOS 8.3 downward compatibility
* User definable language and code page
* Date range Jan 1st, 1980 through Dec 31st, 2107
* Extended datestamp support: creation date and time, last accessed date
(readable as file comment text; off by default, Control "+d+D" enables)
* Volume serial number as name for unnamed volumes
* Automatic directory optimization
* Written entirely in assembly language
SOURCE CODE
===========
Source code available at: https://github.com/pulchart/fat95
Licensed under GNU LGPL v2.1
SUPPORT
=======
The improvements to this driver are developed in my free time.
If you'd like to support ongoing maintenance and experimentation,
you can do so on Ko-fi: https://ko-fi.com/jaroslavpulchart
HISTORY
=======
See docs/changes.guide for release notes and original fat95 history.
Online version: https://github.com/pulchart/fat95/blob/master/docs/changes.md
CHECKSUMS
=========
l/68080/fat95 4.0 (10.09.2026) (29736 bytes):
MD5: b2a09a252c0f6abc0288191bb87a97d9
SHA256: 43534df8e67dfa05bbe695a49a147578da402a543e2b683ef740bfe9300129df
l/68020/fat95 4.0 (10.09.2026) (29768 bytes):
MD5: 1d111145f9a15fb824653b8149fa337b
SHA256: 6e7f00425eab81cc64f958dc545c58d10f41f14094443d2aad2b9741ab67e1ba
l/68000/fat95 4.0 (10.09.2026) (29948 bytes):
MD5: e3071e03eafaa3edd72d61d8edba7d79
SHA256: 59b8663474b0cef1902b494cb90f075a53596d0e2fc024cbb82c46c197bbc6c5
install95 3.19 (25.01.2026) (2780 bytes):
MD5: f3041da9df7646a8ef2977463bc3d9e1
SHA256: f4980fc7ae3f5e63ab0d925f642343a6b96f7373ba1e22f58d14bfed161cc10b
dd 2.4 (10.09.2026) (10908 bytes):
MD5: 120ac4b8fdd4b1eeb86c40192416e8a5
SHA256: 1ea2b2d02f327ccd07ae4dadfe7284170616dc436213e7cda3aa6cc12b13f9c5
debug95 3.19 (25.01.2026) (520 bytes):
MD5: de2f9b6fb8de8a8935f99ccb6639f4b1
SHA256: 40b45a8ce812168fe77437772944f97202e84b27808f2e55c82593678d1a6559
SetFileSize 1.1 (25.01.2026) (888 bytes):
MD5: 9ed3250c0d37a6253ef222fbfa822d48
SHA256: 54b054d094139b7be01220a42b5a05cee18a1cc511387fa201338dcad069b808
boot95 3.19 (25.01.2026) (2512 bytes):
MD5: 2feb11a7b50845ea12a4d8fdd16370cc
SHA256: f8279bdca5bfd632598f2d734475e11aa992ef27a30f1df161991aa18bc5d81d
lsfsres 1.0 (16.05.2026) (868 bytes):
MD5: 4d3f2567df06f0449f1354fe8ca6ffac
SHA256: ffb55dbfed25e443a074f94aebbb90c9920b794fea898806b538e3ca8225d783
libs/68020/ptable.library 2.0 (11.09.2026) (9744 bytes):
MD5: c576b35a6aa32f34a184f4055b3dc5dc
SHA256: 8c44dd74dc7944895f9e7064e3b687c57b9be4e34d27dd3c06e8f48e6bb871c1
libs/68000/ptable.library 2.0 (11.09.2026) (9792 bytes):
MD5: 6b5ec22e5f2980ecac1d85048a90bd1f
SHA256: 71cf9ec276b3cb391fcad317de7181d9da655f448be61cedaae188f9b7333d49
lsptres 1.0 (11.09.2026) (11200 bytes):
MD5: ced1cae1ecfdcf00fa906230abe7402f
SHA256: 6d3269ebc28e1ea5648aa8c65fdcaf347c0b1d05d14c93d546a3c50a6e1a4f00
CONTENTS
========
fat95/docs/fat95.guide - FAT95 filesystem handler documentation
fat95/docs/changes.guide - Release notes and original fat95 history
fat95/docs/dd.guide - dd raw block transfer tool documentation
fat95/docs/lsfsres.guide - lsfsres FileSystem.resource lister documentation
fat95/docs/lsptres.guide - lsptres partition.resource lister documentation
fat95/l/68080/fat95 - FAT95 filesystem handler, Apollo 68080 cpu tier
fat95/l/68020/fat95 - FAT95 filesystem handler, 68020+ cpu tier
fat95/l/68000/fat95 - FAT95 filesystem handler, 68000+ cpu tier
fat95/l/install95 - Locale installer tool (read/write locale files)
fat95/c/dd - Raw block transfer tool
fat95/c/debug95 - Debug information tool
fat95/c/SetFileSize - File size modification utility
fat95/c/boot95 - Boot partition creation tool
fat95/c/lsfsres - FileSystem.resource entry lister
fat95/c/lsptres - partition.resource entry lister (from ptable.library)
fat95/libs/68020/ptable.library - partition scan/automount library, 68020+ (small)
fat95/libs/68000/ptable.library - partition scan/automount library, 68000+ (small)
fat95/DOSDrivers/ - Mount list examples
fat95/src/ - Full source code
fat95/english/ - English documentation and examples
fat95/deutsch/ - German documentation and examples
fat95/français/ - French documentation
fat95/español/ - Spanish documentation
fat95/magyar/ - Hungarian documentation
fat95/polska/ - Polish documentation
fat95/russian/ - Russian documentation
fat95/LICENSE - GNU LGPL v2.1
|