Skip to content

fix: honor small classic application partitions - #605

Draft
benletchford wants to merge 1 commit into
masterfrom
dev/honor-small-size-partitions
Draft

fix: honor small classic application partitions#605
benletchford wants to merge 1 commit into
masterfrom
dev/honor-small-size-partitions

Conversation

@benletchford

Copy link
Copy Markdown
Owner

Closes #604.

Root cause

The classic application loader ignored valid SIZE partitions when the minimum partition was at or below 2 MiB. It also positioned the A5 world using the minimum partition even though a normal launch first attempts the preferred partition. Spectre Supreme consequently received its A5 world near the loaded image and reported that it lacked the memory declared by its own SIZE resource.

Change

  • Remove the invented 2 MiB relocation cutoff.
  • Position the A5 world from the preferred partition size for a normal launch.
  • Keep the shared resource allocator and top-of-RAM stack behavior introduced by fix: restore resource allocation for classic games #300, so large external resource forks remain uncapped.
  • Document the launch and A5-world behavior with citations to Inside Macintosh: Processes and Inside Macintosh: Memory.
  • Add regression coverage for Spectre Supreme's sub-2 MiB partition and retain the large shared-resource-fork regression.

Qualification

The checksum-pinned Spectre Supreme demo reaches its menu, vehicle selection, and live single-player arena. Numeric-keypad movement visibly changes the vehicle position, and firing with Space reduces ammunition from 40 to 38 while play continues.

Validation

  • cargo fmt --check
  • Focused SIZE-partition relocation tests: 3 passed
  • Shared resource-fork regression: passed
  • cargo test --lib: 2,950 passed, 3 ignored
  • cargo check --no-default-features: passed

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.

Honor valid sub-2 MiB SIZE partitions during classic application launch

1 participant