[Oberon] PO2013 - SD Image Tool
paulreed at paddedcell.com
Sat May 23 19:24:37 CEST 2020
> ... rebooted, as it does some sector housekeeping at start.
This housekeeping code (FileDir.Init) is indeed what to study if you
want to compress things further.
It walks the directory recursively to find out what directory sectors
are in use; and then for each file in the directory it reads the file
header to find out what file sectors are in use. This builds the
complete sector allocation map at the beginning of an Oberon session.
Any sectors created during the session which are not linked to a named
file in the directory are intentionally lost on shutdown. That is,
temporary files in Oberon are simply files created without a name.
> Also I seem obsessed with OBERON.FS compression it cannot let go
> yet :-)
Each directory sector can be further compressed if it is not full, as
DirPage.m tells you the number of actually-used entries. (But each
directory page except the root will be at least half-full.)
But even if you wanted to send this data over a slow serial link, for
example, it would still be much faster to send the individual files and
let the filesystem be built on the RISC5. You don't need to send the
directory sectors at all that way.
> Then truncated before first blank 1024 block.
> ...didn't you do the same with your original image back in 2014?
If you mean I didn't truncate it at all, that's correct, see the
reference to the original message I recently posted. Because the large
amount of repetitive data compresses very well with standard utilities.
More information about the Oberon