Skip to content

feat(ipodnano): add Pocket Music click-wheel control - #288

Draft
doodlewind wants to merge 2 commits into
mainfrom
feat/ipod-nano-pocket-music
Draft

feat(ipodnano): add Pocket Music click-wheel control#288
doodlewind wants to merge 2 commits into
mainfrom
feat/ipod-nano-pocket-music

Conversation

@doodlewind

@doodlewind doodlewind commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add the Pocket Music PocketJS app and its bounded Pocket Stage companion service
  • map the iPod nano 2G Rockbox multimedia HID reports to macOS media controls
  • add Rockbox USB product discovery, FAT32 volume detection, and array-report handling
  • replace the nano 2G Rockbox USB graphic with centered PocketJS branding while retaining the Multimedia HID mode
  • add a reproducible bitmap contract and Rockbox apply/build command

Validation

  • bun pocket-music build: daemon self-test and UI hash 0xba84c1ade3dbcc3f
  • bunx tsc --noEmit
  • focused Pocket Music and platform contract tests: 38 passed
  • original Pocket Music, widget, nano, and suite tests: 41 passed
  • cargo test --release -p pocket-stage: 33 passed
  • cargo clippy --release -p pocket-stage -- -D warnings
  • Rockbox nano 2G core build produced rockbox.ipod with SHA-256 a972aa6e305f1a2be47877b4bab346c077c7a4f55ed2274bf3c142dfe194e13d
  • FAT32 device readback matched the built firmware byte for byte

The repository unit stage now passes the Pocket Music admission case. One existing npm packaging test still fails because the published files list omits the main-branch pocket3d-world workspace member; this branch does not change that packaging surface.

Physical hardware acceptance

  • verified iPod nano 2G USB identity 05ac:1260
  • converted the disposable data partition to FAT32 after explicit erase authorization
  • installed the official nano 2G Rockbox bootloader and preserved the Apple firmware entry in OSBK
  • booted Rockbox on the physical nano
  • verified the click wheel controls macOS media playback and volume through standard Consumer Page HID
  • deployed the custom Rockbox firmware and verified the physical USB screen shows centered PocketJS with Multimedia retained below it

The device work is staged as accepted. The pull request remains Draft and has not been merged.

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