[PATCH 0/5 -v2] Add support for VMUFAT filesystem

From: Adrian McMenamin

Date: Sat Apr 11 2026 - 11:17:19 EST


SEGA Dreamcasts come with a "visual memory unit" (VMU) which contains a slab
of flash memory to save games playable on the VMU or data from Dreamcast games.

The VMU uses a file allocation based filesystem - which we label VMUFAT - to
organise the data. With a control block, a file allocation table and a directory.

All physical VMUs are of the same size (256 blocks of 512 octets) but the
filesystem itself is extendable to other sizes and need not be tied to the VMU.

These patches implement VMUFAT as a Linux filesystem independent of hardware.

It seems obvious almost all users will be those working with Linux on
Dreamcasts or Dreamcast emulators but there is no dependence on SH or on the
MTD layer.

VMUFAT has been tested on a 32 bit Dreamcast and on x86_64 systems.

Tools to format a filesystem are available here:
https://github.com/mcmenaminadrian/mkfs.vmufat

Signed-off-by: Adrian McMenamin <adrianmcmenamin@xxxxxxxxx>

Adrian McMenamin (5):
Add vmufat super.c
Add vmufat inode.c
Add vmufat header
Add vmufat documentation
miscellaneous vmufat changes and additions

Documentation/filesystems/index.rst | 1 +
Documentation/filesystems/vmufat.rst | 127 ++++
fs/Kconfig | 1 +
fs/Makefile | 1 +
fs/vmufat/Kconfig | 14 +
fs/vmufat/Makefile | 7 +
fs/vmufat/inode.c | 1017 ++++++++++++++++++++++++++
fs/vmufat/super.c | 581 +++++++++++++++
fs/vmufat/vmufat.h | 126 ++++
include/uapi/linux/magic.h | 1 +
10 files changed, 1876 insertions(+)
create mode 100644 Documentation/filesystems/vmufat.rst
create mode 100644 fs/vmufat/Kconfig
create mode 100644 fs/vmufat/Makefile
create mode 100644 fs/vmufat/inode.c
create mode 100644 fs/vmufat/super.c
create mode 100644 fs/vmufat/vmufat.h

--
2.43.0