Skip to content

About

Panic Playdate reverse-engineering notes/tools - covers file formats, server API and USB commands

Topics

Resources

Stars

309 stars

Watchers

13 watching

Forks

Latest commit

 

History

78 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unofficial Playdate reverse-engineering notes/tools - covers file formats, server API and USB serial 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
    • Playdate game formats
    • Other formats
      • .fnt - Font source file
      • .strings - Strings source file (TODO)
  • Server
  • Misc
    • USB - USB serial interface
    • Streaming - Video/audio streaming protocol (via USB serial), used by Playdate Mirror

Tools

  • pdz.py - Unpacks all files from a .pdz file container.
  • pdex2elf.py - Converts a pdex.bin to an ELF file that can be analyzed in tools such as readelf, objdump or Ghidra, or compiled back to the same original pdex.bin by pdc.
  • pdi2png.py - Converts a .pdi image file to a .png image.
  • usbeval.py - Uses the Playdate's USB eval command to evaluate a Lua script over USB. Has access to the Lua runtime of the currently loaded game, except for system apps.

Related Projects and Resources

  • pd-usb - JavaScript library for interacting with the Playdate's serial API from a WebUSB-compatible web browser.
  • unluac - Fork of the unluac Lua decompiler, modified to support Playdate-flavoured Lua.
  • lua54 - Fork of Lua that aims to match the custom tweaks that Panic added for Playdate-flavoured Lua.
  • Cranked - Work-in-progress unofficial Playdate console emulator.

Special Thanks


2022-2023 James Daniel

Playdate is © Panic Inc. - this project isn't affiliated with or endorsed by them in any way.

About

Panic Playdate reverse-engineering notes/tools - covers file formats, server API and USB commands

Topics

Resources

Stars

309 stars

Watchers

13 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages