Skip to content

Use target-specific firmware address data#11

Open
ericlewis wants to merge 1 commit into
generate-start-inc-cmakefrom
target-specific-addresses
Open

Use target-specific firmware address data#11
ericlewis wants to merge 1 commit into
generate-start-inc-cmakefrom
target-specific-addresses

Conversation

@ericlewis

Copy link
Copy Markdown
Collaborator

Summary

  • Add a shared firmware address table for known 3.0.2 Rev B data.
  • Make generate_start.py select version/revision data and fail clearly when missing.
  • Make combine.py use the shared table for the Rev B patch location and loader entry address.

Why

Firmware addresses are exact addresses. If the same numbers are copied in many places, one copy can get old or be used for the wrong Playdate version. One table makes that harder and gives a clear error when an address is unknown.

Verification

  • python3 -m py_compile generate_start.py combine.py firmware_addresses.py
  • python3 generate_start.py --revision A exits with the expected missing-address error
  • python3 generate_start.py
  • cmake -S . -B /tmp/playbrew-verify-target-specific-addresses
  • cmake --build /tmp/playbrew-verify-target-specific-addresses
  • git diff --check

Why: Firmware addresses are like exact street addresses. If the same numbers are copied in many places, one copy can get old or be used for the wrong Playdate version. This moves the known Rev B addresses into one table and makes the scripts stop when an address is not known.
@ericlewis ericlewis added firmware Firmware hooks, patching, and version-specific code tooling Developer scripts and workflow tooling labels May 10, 2026
Base automatically changed from fix-startup-trampoline to generate-start-inc-cmake June 2, 2026 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

firmware Firmware hooks, patching, and version-specific code tooling Developer scripts and workflow tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant