@Raziel
Quote:
Is that a relic from AmigaOS3.x days or am i doing something wrong?
Yes, it only supports m68k filesystems.
On AmigaOS 4.x you can only use filesystems on HDs which are kickstart modules.
Filesystems which aren't kickstart modules can only be used after AmigaOS was booted and need to be mounted by something else. For example USB massstorage includes built-in support for that.
As I wrote already SFS is probably limited to 2 TB/partition, and not just the 1 TB mentioned in the readme, with 512 bytes block.
The block numbers inside the partition are 32 bit.
But with 2048 bytes/block it should be 8 TB and using a single partition on your SSD should work. Or in case the limit is 1 TB with 512 bytes/block as mentioned in the readme, because of some old signed calculation not fixed, using 4096 bytes/sector should work.
To test exFAT or NTFS you need to create the partitions with the correct DOSType in MediaToolBox, but the partitions can't mount automatically without the matching filesystem in the kickstart.
MediaToolBox supports saving Mountlists/DOSDrivers for the partitions, you'll have to add the path to the filesystem binary, something like FileSystem=L:exFATFileSystem, to it and put it to DEVS:DOSDrivers.
Not sure, but you may have to disable auto mounting for the partition in MediaToolBox because the partition will be created without filesystem first and overwriting that with the DEVS:DOSDrivers mountlist with a filesystem wont work.
Please post such a mountlist created by MediaToolBox for a single partition using the whole SSD, file system doesn't matter.
@geennaam
AFAIK MediaToolBox mdoesn't use TD_GETGEOMETRY but only the SCSI mode page you have to emualte in your driver.
SFS only uses TD_GETGEOMETRY for removable media with LowCyl=0, for example floppy disk, MO, ZIP, DVD-RAM, DVD+RW, etc. and for that using dg_TotalSectors, i.e. it may still be limited to 2^41 bytes (512 bytes/sector). But for such small removable media it doesn't matter.
On removable media with a RDB, for example USB HDs, LowCyl isn't 0 and TD_GETGEOMETRY isn't used.
If LowCyl isn't 0 SFS uses the data it gets from the filesystem startup message in struct DosEnvec and for example the first sector of the partition is (uint64)de_LowCyl*de_Surfaces*de_SectorPerTrack.
Edited by joerg on 2023/10/4 14:50:23
Edited by joerg on 2023/10/4 14:58:55