Amiga.org
Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: NorthWay on June 08, 2012, 04:33:07 PM
-
What is the simplest complete read/write filesystem with source that I can find?
Simplest in this setting is smallest or easiest/cleanest source to understand and modify.
Preferably in asm, but SAS/C or freeware from AmiNet is ok for building.
-
The filesystems in the AROS ABI_V1 branch are all AmigaOS 3.x compatible and in source form. Take your pick!
https://gitorious.org/aros/aros/trees/ABI_V1/AROS/rom/filesys (https://gitorious.org/aros/aros/trees/ABI_V1/AROS/rom/filesys)
https://gitorious.org/aros/aros/trees/ABI_V1/AROS/workbench/fs (https://gitorious.org/aros/aros/trees/ABI_V1/AROS/workbench/fs)
-
Does it have to be Amiga specific? If not, FAT16 is pretty well-documented and very simple to implement. Not the best choice by far, but you said "simple", so...
There are also many C implementations of it available on the Internet. Google and thou shalt find.
-
Does it have to be Amiga specific?
That was kinda my hope. Something I have half a handle on.
I just want to try an idea I have been waiting for someone else to implement, but which has never happened. The FS and Amiga interface should to be as simple and clean as possible to make it easy to make changes and try it out.
The FS can be as rudimentary as you like as long as I can read and write files to the mounted volume.
-
PFS3 : http://aminet.net/package/disk/misc/PFS3src
-
PFS3 : http://aminet.net/package/disk/misc/PFS3src
PFS3 certainly isn't the simplest.
Regardless, the aminet src archive is of old version and contain several unfixed bugs. The sourceforge pfs-amiga project is much better resource: http://sourceforge.net/projects/pfs-amiga/
-
That was kinda my hope. Something I have half a handle on.
I just want to try an idea I have been waiting for someone else to implement, but which has never happened. The FS and Amiga interface should to be as simple and clean as possible to make it easy to make changes and try it out.
The FS can be as rudimentary as you like as long as I can read and write files to the mounted volume.
If you're looking for Amiga filesystem code (as in, a filesystem module that AmigaOS can use, rather than code for a Amiga filesystem that works on anything), then empty-handler might be worth checking out. It's a handler rather than a real filesystem, but the principles are the same. It also only supports reading, but it's pretty easy to add writing once you see how to read (as it's mostly the same). http://aminet.net/package/dev/c/emptyhandler
When you understand that, compare it to real filesystem source code to see how to link to a device/partition.
You will also need a copy of the AmigaDOS packet interface specification otherwise you will get nowhere. I find the AmigaMail document on the DevCD 2.1 to be a good (albeit old) reference.