Inoffizielle PlayDate Reverse -Engineering -Notizen/Tools - deckt Dateiformate, Server -API und USB -Serienbefehle ab
Euen Diese Dokumentation ist inoffiziell und nicht mit Panik verbunden. Alle hierin in den Inhalte stammenden Inhalte wurden aus Playdate-Tools und Spieldateien mit Reverse-Engineering entnommen, und als solche können es Fehler oder fehlende Informationen geben.
Dokumentation
- Dateiformate
- Playdate -Spielformate
- pdex.bin - ausführbarer Code
- .luac - Lua Bytecode
- .pdz - Dateibehälter
- .pda - Audiodatei
- .pdi - Bilddatei
- .pdt - Imagetable Datei
- .pdv - Videodatei
- .pds - Zeichenfolgendatei
- .pft - Schriftart Datei
- Andere Formate
- .fnt - Schriftstellungsdatei
- .Strings - Strings Quelldatei (Todo)
- Server
- PlayDate API - Haupt -PlayDate -Server -API
- Miser
- USB - serielle USB -Schnittstelle
- Streaming - Video/Audio -Streaming -Protokoll (über USB -Serial), verwendet von PlayDate Mirror
Werkzeuge
-
pdz.py - packt alle Dateien aus einem .pdz -Dateicontainer aus. -
pdex2elf.py - konvertiert einen pdex.bin in eine ELF -Datei, die in Tools wie Readelf, Objdump oder Ghidra analysiert werden kann oder von pdc zu demselben ursprünglichen pdex.bin zurückgezeigt wird. -
usbeval.py - verwendet den USB eval -Befehl des PlayDate, um ein Lua -Skript über USB zu bewerten. Hat Zugriff auf die LUA -Laufzeit des aktuell geladenen Spiels, mit Ausnahme von System -Apps.
Verwandte Projekte und Ressourcen
- PD-USB -JavaScript-Bibliothek für die Interaktion mit der seriellen API des PlayDate von einem WebUSB-kompatiblen Webbrowser.
- Unluac - Gabel des Unluac Lua Decompiler, modifiziert, um die PlayDate -Flavoured Lua zu unterstützen.
- LUA54 - Gabel von Lua, die darauf abzielt, die benutzerdefinierten Verbesserungen zu entsprechen, die Panik für PlayDate -Flavoured Lua hinzugefügt hat.
Besonderer Dank
- Zhuowei für dieses Skript zum Auspacken von PlayDate .pdx Executables, das die Basis für
pdz.py war - ScratchMiner für seine weiteren Umkehrungsprotokollarbeiten an den Dateiformaten des PlayDate, Streaming-Protokoll und Lua-Implementierung.
- Simon für die Hilfe bei einigen ADPCM -Audiodaten Reverse Engineering
- Die Leute in Panik, um einen so wunderbaren und faszinierenden Handheld zu machen!
2022-2023 James Daniel
PlayDate ist © Panic Inc. - Dieses Projekt ist nicht in irgendeiner Weise mit ihnen verbunden oder von ihnen unterstützt.