Unofficial Playdate reverse-engineering notes/tools - covers file formats, server API and USB commands
⚠️ This documentation is unofficial and is not affiliated with Panic. All of the content herein was gleaned from reverse-engineering Playdate tools and game files, and as such there may be mistakes or missing information.
Documentation
- File Formats
- Server
- Playdate API - Main Playdate server API
- Misc
- USB - Playdate USB interface
Tools
pdz.py- Unpacks all files from a.pdzfile containerpdex2elf.py- Converts apdex.binto an ELF file that can be analysed in a decompilation tool such as Ghidrausbeval.py- Uses the Playdate's USBevalcommand to evaluate a Lua script over USB. Has access to the Lua runtime of the currently loaded game, except for system apps.
Special Thanks
- Simon for helping with some ADPCM audio data reverse engineering
- Zhuowei for this script for unpacking Playdate .pdx executables, which was the base for
pdz.py - The folks at Panic for making such a wonderful and fascinating handheld!
2022 James Daniel
Playdate is © Panic Inc. - this project isn't affiliated with or endorsed by them in any way.