The last time i messed around with the Playdate (~1 year ago – pd-platform), the OS version was 1.x, and there was only 1 released version of the console. Now there are 2 different hardware revisions (the difference being the processor model), and the OS has been updated to a 2.x revision to reflect that (see this blog post).

2024 Playdate

There’s now a game catalog, where you can purchase games to automatically sideload them, along with the advent of a new container file format supporting encryption. And a new pdex.bin format.

There have also been an uptick in memory-related issues in pd-OS / BERNARD if they still call it that.

Also of note are some off-by-one related issues:

And it still looks like that there’s no method for real exception handling yet.

Things that the community seem’s to still be desperate for network connectivity and the open-sourcing of the lua SDK. Though it also looks like the lua sdk is at a point where much of it is getting turned into thin wrappers over C-routines. IMO this could be a prime candidate to provide error-handling for developers (a la something like this). Though at the same time doing that in C would probably be the way to go, because then the lua wrappers would just mirror the reponses. Either way, a huge QoL improvement would be returning errors instead of just crashing.

All in all, it’s exciting to see that the Playdate continues to have an active community and a responsive dev team, and that the ecoystem of tools and libraries is continuing to improve.

With me now having a new hardware revision in addition to the first revision, it’s time to start hacking on the playdate again.

Looking forward

Hopefully I’ll have enough free time to check these new pieces of the Playdate out:

  • documenting the new pdex.bin file format w some examples
  • making some bindings to available userspace code outside of the SDK
  • moving all my tooling to ghidra (I am not a fan of the Binary Ninja file loaders and its annoying to dev on, with little room for real testing of loader plugin code)
  • finish documenting firmware update process (realistically ill probably have to restart)