Skip to content

Implement AllocDosObject/FreeDosObject's DOS_FIB type - #90

Merged
sidick merged 1 commit into
mainfrom
add-allocdosobject-dos-fib
Sep 19, 2026
Merged

sidick merged 1 commit into
mainfrom
add-allocdosobject-dos-fib

Conversation

@sidick

@sidick sidick commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • AllocDosObject(DOS_FIB, ...) is just a zeroed sizeof(struct FileInfoBlock) block per the NDK 3.2 autodoc, the same shape as the already-implemented DOS_RDARGS/DOS_EXALLCONTROL cases -- reuses doslock::FIB_SIZE (260 bytes, independently verified against <dos/dos.h>'s field layout) rather than a second copy of the constant.
  • Found running the real sidick/micropython Amiga port's os.walk(), which allocates its own FileInfoBlock this way (instead of using ExAll) and previously hit AllocDosObject(type=2): only DOS_RDARGS (5) and DOS_EXALLCONTROL (1) are implemented.

Test plan

  • cargo test — all 858 tests pass (2 new: alloc/free round-trip + zeroed-block check for DOS_FIB)
  • Manually verified: the real MicroPython binary's examples/volume_listing.py (which exercises os.walk()) now runs end-to-end under volamos

🤖 Generated with Claude Code

https://claude.ai/code/session_01CjVfTPHtTpowd7YqhcjXJW

DOS_FIB just needs a zeroed sizeof(struct FileInfoBlock) block, same
shape as the already-implemented DOS_RDARGS/DOS_EXALLCONTROL cases
(confirmed against the NDK 3.2 AllocDosObject autodoc) -- reuses
doslock::FIB_SIZE rather than a second, possibly-drifting copy of the
constant.

Found running the real sidick/micropython Amiga port: its os.walk()
allocates its own FileInfoBlock this way (instead of using ExAll),
and previously hit "AllocDosObject(type=2): only DOS_RDARGS (5) and
DOS_EXALLCONTROL (1) are implemented".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CjVfTPHtTpowd7YqhcjXJW
@sidick
sidick merged commit ef9afdc into main Sep 19, 2026
9 checks passed
@sidick
sidick deleted the add-allocdosobject-dos-fib branch September 19, 2026 19:56
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.

1 participant