Skip to content

fix: preserve volume blocks and render menu text - #783

Draft
benletchford wants to merge 1 commit into
masterfrom
dev/782-super-tetris-compatibility
Draft

fix: preserve volume blocks and render menu text#783
benletchford wants to merge 1 commit into
masterfrom
dev/782-super-tetris-compatibility

Conversation

@benletchford

Copy link
Copy Markdown
Owner

Summary

  • preserve caller-owned bytes after the classic PBGetVInfo parameter block while continuing to populate the extended HFS fields for PBHGetVInfo
  • retain MacRoman menu bytes for guest round-tripping and consistently convert them for framebuffer measurement and drawing
  • add focused regression coverage for synchronous/asynchronous classic and HFS trap variants and MacRoman ellipsis geometry/pixels

References

  • Inside Macintosh Volume IV (1986), pp. IV-129–IV-130
  • Inside Macintosh Volume I (1985), p. I-345

Validation

  • cargo test --lib: 3,879 passed, 0 failed, 3 ignored
  • focused classic PBGetVInfo tests: 3 passed
  • focused PBHGetVInfo tests: 9 passed
  • focused menu-render regression: 1 passed
  • deterministic Super Tetris gameplay, movement/drop input, pause/resume, end-game, restart, and option-toggle routes exercised
  • BasiliskII sound trace confirms this demo route is silent, matching Systemless

Draft status

The Controls dialog itself renders correctly, but the current deterministic BasiliskII interaction reaches it from a different application state (or misses menu tracking), so a strict same-state application-window comparison is still pending. This draft intentionally does not claim the full compatibility matrix is complete.

Closes #782

@benletchford

Copy link
Copy Markdown
Owner Author

Leaving this draft unmerged for now. The code changes and focused regression coverage look sound, and CI is green, but the PR explicitly identifies the same-state BasiliskII Controls-dialog comparison as still pending. Please complete that comparison, update the validation notes with the result, and mark the PR ready for review when the compatibility claim is supported.

@benletchford

Copy link
Copy Markdown
Owner Author

This remains correctly unmerged. In addition to the pending same-state BasiliskII Controls-dialog comparison already noted, it now conflicts with current master in the framebuffer path after substantial menu/window/runtime changes.

Once the oracle comparison is complete, please rebase and resolve against current master, verify that each remaining change is not already covered by later work, rerun the focused classic/HFS trap tests and deterministic route, and then mark it ready. #782 should remain open in the meantime.

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.

Improve classic volume info and menu text compatibility for Super Tetris

1 participant