GS/OS Boot block + loader for HFS
Go to file
Kelvin Sherlock e02675057f Support for variable block size (ie, volumes > 32 MB)
Squashed commit of the following:

commit 44a6544242
Author: Kelvin Sherlock <ksherlock@gmail.com>
Date:   Wed Aug 11 22:10:11 2021 -0400

    improved 32-bit (well, smartport is 24-bit) block support

commit 7fc041289f
Author: Kelvin Sherlock <ksherlock@gmail.com>
Date:   Wed Aug 4 23:49:15 2021 -0400

    convert the extent blocks into 32-bit absolute blocks when loading.
    Currently the block comparisons are still 16-bit, though.

commit 0fabe65aca
Author: Kelvin Sherlock <ksherlock@gmail.com>
Date:   Tue Aug 3 20:13:27 2021 -0400

    move stack adjustment code to take effect from the callback routines

commit 6da1f9fa3c
Author: Kelvin Sherlock <ksherlock@gmail.com>
Date:   Tue Jul 27 21:31:23 2021 -0400

    re-arrange to avoid relative expression warning

commit dbfe66cc99
Author: Kelvin Sherlock <ksherlock@gmail.com>
Date:   Tue Jul 27 21:31:01 2021 -0400

    use smartport.aii

commit 95aa4d8bd5
Author: Kelvin Sherlock <ksherlock@gmail.com>
Date:   Thu Jul 22 23:58:20 2021 -0400

    large volume support (WIP, untested).
    the general theory is, multiply the extents by the allocation adjustment to get physical block offsets.
    currently, comparisons are still 16-bit though.
2021-08-15 20:45:46 -04:00
Makefile Support for variable block size (ie, volumes > 32 MB) 2021-08-15 20:45:46 -04:00
README.md Update README.md 2021-07-20 12:17:03 -04:00
bootblock.aii Support for variable block size (ie, volumes > 32 MB) 2021-08-15 20:45:46 -04:00
cp-loader.sh resource fork, file type. 2021-07-18 22:00:54 -04:00
hfs.aii . 2021-07-17 00:21:31 -04:00
loader.aii Support for variable block size (ie, volumes > 32 MB) 2021-08-15 20:45:46 -04:00
loader.rii updated facts 2021-07-19 18:04:48 -04:00
macros.aii work in progress dump. mostly assembles. 2021-07-17 23:27:54 -04:00
smartport.aii Support for variable block size (ie, volumes > 32 MB) 2021-08-15 20:45:46 -04:00

README.md

hfs-boot

GS/OS Boot block + loader for HFS

See releases for a bootable disk image.

Limitations:

  • Boot volume must use 512 byte allocation blocks (ie, max size is 32MB. This limit should be removed at some point)
  • All file data / catalog data needs to be in the first 3 extents (no overflow extent checking)
  • The HFS FST caches the volume block count before GS/OS knows what it is. This causes display issues in Finder, etc. This could be fixed by the FST using the volume size information from the Master Directory Block or GS/OS querying the device block count sooner.

More Information: