Skip to content

ROMable ODFileSystem - #21

Merged
reinauer merged 2 commits into
reinauer:mainfrom
rondoval:amiga-rom-clean
Sep 18, 2026
Merged

reinauer merged 2 commits into
reinauer:mainfrom
rondoval:amiga-rom-clean

Conversation

@rondoval

Copy link
Copy Markdown
Contributor

This set of changes enables running ODFileSystem straight off an expansion ROM on classic Amigas.

Tested on an A1200 + Pistorm32-lite system by building a 2M kickstart ROM with ODFileSystem and Poseidon stack embedded and booting the AmigaOS 3.2 install media off a USB CD drive.
I also did a quick smoke test on OS4 - under QEMU, unfortunately, but seems to be OK.

Four file-scope pointer arrays  error/log/subsystem/backend/node-kind
tables) were declared as plain arrays of pointers, which places the
array itself in .data even though every element is a string literal
or a const struct pointer. Add const to the array type.

Needed so the Amiga release links with no writable data at all.
The handler previously kept SysBase, DOSBase, UtilityBase, an interrupt-callback pointer and a use-count refcount as writable file-scope state. A store to a global is silently discarded when the module runs in place from a Kickstart ROM, so SysBase read back NULL and the first library call crashed.
@reinauer
reinauer merged commit 4cd84b8 into reinauer:main Sep 18, 2026
2 checks passed
@reinauer

Copy link
Copy Markdown
Owner

Thank you! This is a great change, it also makes the ROM binary a tad smaller.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants