Repository navigation
TVPort 1.1
TVPort 1.1 (build 14) adds save management, artwork controls and a clearer Mac interface to the original TVPort project.
Download
Download TVPort-1.1.zip, unzip it, and open TVPort.app on an Apple-silicon Mac. The app includes its engine and sets up its own Python environment on first launch. Xcode with the Apple TV/iOS SDKs and Metal toolchain, the build tools, and an Apple TV paired through Xcode are still required.
The app is signed ad hoc and is not notarized. macOS may require System Settings → Privacy & Security → Open Anyway on first launch. This release does not include a Developer ID signature.
Added
- A Manage Saves window listing supported games installed on the selected Apple TV, including games outside the Mac library.
- Per-game backup, Back Up All Saves, dated backup history and restore, and import of compatible save folders from Ryujinx, other emulators or native Mac games.
- Import Save Copy adds a separate copy without changing the Apple TV, including while offline. Entries distinguish Local import, Apple TV backup, and Safety backup.
- Restore to Apple TV lets you choose an existing player/save slot, backs up its current save first, verifies the transfer, and attempts rollback if it fails. Other player slots remain unchanged; internal game slots are not merged.
- Browse saved copies and open them in Finder while the Apple TV is offline.
- Finder access to ordinary save folders and optional iCloud Drive storage for new backups. This stores backups in iCloud Drive; it does not provide direct Apple TV cloud-save syncing.
- Automatic artwork lookup adapted from NX2Apple, custom artwork, and icon scale/crop controls. Library and save-manager lists show game artwork.
- A per-game Swap A/B and X/Y controller option.
- File → Settings for a default build folder, with per-game choices for the default location or next to the original files. Changing location copies an existing build and keeps its original.
- File → Manage Saves for quick access to backups and imports.
Improved and fixed
- Fixed library selection handling when removing the last game.
- Fixed crop-to-fill with automatically downloaded artwork and improved thumbnail rendering.
- Kept the sidebar visible at a fixed width and refined window controls, visible toolbar buttons, margins, lighter selection backgrounds, headings and game version labels.
- Consistent Built / Ready to build status, larger sidebar status text, and a labelled game ID.
- A new red TV-and-controller app icon with native dark and clear appearances. The README shows the red icon and updated screenshots using dummy artwork and fictional games.
- Matching native window styling, fixed 1000-point widths and a 670-point starting content height, with adjustable height. Refined save-list alignment, top spacing and import explanation text.
- The original About text is included in both development and packaged builds, alongside the new app icon.
- Moved the setup indicator beside Manage Saves, with clear ready/missing states.
- Renamed Last Run to Last Run Stats, removed the idle Ready label, and show Show Log only when a log exists.
- Kept the frame-rate selector visible but disabled when unsupported, with clearer explanations of FPS selection and the FPS counter.
- Hardened automatic save recovery during installation: existing working or persistent saves prevent recovery, and uncertain reads skip recovery instead of risking replacement.
Validation and limits
- 84 TVPort tests and 8 build-location script tests passed, plus the controller-mapping test.
- Release build, archive integrity and code-signature verification passed. The red app icon was confirmed working in Finder/Dock before this update.
- The standalone app launched and completed first-run setup with a separate empty test library on Xcode 27.2.
- Live import/restore and expired-signature reinstallation were not exercised for this release; save-transfer tests use temporary fixtures and simulated device responses.
No game files, game keys, personal saves or downloaded covers are included in the release archive. Artwork rights remain with their respective owners.
Thanks to the original TVPort project, nxnative, and NX2Apple. Existing licenses and attribution are preserved.