ROMable ODFileSystem - #21
Merged
Merged
Conversation
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.
Owner
|
Thank you! This is a great change, it also makes the ROM binary a tad smaller. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.