Playdate SDK 2.0 beta 2 is out

Playdate OS 2.0 beta 2 is available at!

(No, you didn't miss anything — beta 2 is the first beta.)

Two big new features:

  • Support for Rev B Playdates shipping out in Group 4. (C developers take note: you will need to rebuild your games with this new SDK!)
  • The new Launcher List View, to better support Playdate owners with lots and lots of games.

Get a high level overview here, and the nitty-gritty tech details here.



Is there a way to have the 1.13.7 SDK alongside my 2.0beta, and build for 1.13.7, but test with 1.13.7 as well as 2.0beta without doing anything crazy like swapping around the sdk directories or re-installing one and the other? like some tool like xcode-select or somesuch?

Oh, and is there a list of the things in the API that are new for 2.0?
(This is all super awesome! Thank you all for this! it's like xmas in May!)

1 Like

Somebody else might have a better suggestion, but I use one of the primitive techniques you suggest: two different folders, and I rename the one I want to use PlaydateSDK/ (which my path points to). But there might be a cleverer way of doing this.


We'll post release notes soon, but they are brief:

  • A new binary format for C components of Games to support Rev B hardware
  • Adds list view to the launcher; a more compact view of installed games
  • Adds extended characters to the Roobert font

This comment about the List View png icons seems slightly incorrect:

Add one or more of the following files into your game’s home directory:

I've got an imagePath=launcher specified in my pdxinfo so I had to place my icon.png in my launcher folder for it to show up.

Out of curiosity, what are the differences for the Rev B hardware?


Is there is any possibility to get beta OS on hardware to test my binary with new loader?

1 Like

You are correct! Fixing it now... Thank you.

1 Like

Understood! We're still testing the OS on actual hardware, and will release it once it's running smoothly.

1 Like

The main thing is the change in CPU: we switched from an STM32F7 to an STM32H7 because there was much more availability. We've calibrated the H7 so its performance is equivalent, and ideally customers — and developers — won't see any difference between the two kinds of devices.


Edit: Never mind, it only renders when you copy the game manually to the /Data/Games path. The "testing your icon" section does specify this. I guess I figured this was done behind the scenes when compiling and running in the simulator, since all the card images and animations work.

Original post:
Not sure what I'm doing wrong but I'm not seeing updated icons in the simulator's list view.

Steps I've taken:

  • Downloaded & Installed 2.0 Beta SDK
  • Added icon.png and icon-pressed.png adjacent to my card.png and related files.
  • Compiled and ran my project in simulator

Anyone have luck with this yet?

Make sure you copy the PDX to the simulator's "Disk". If you just run it from wherever, I don't think it will copy it into there. The listing of items in Launcher is based only on the PDX files in "Disk".

I saw something about Xcode when installing the sdk 2.0. is there any templates i can use to get started on Xcode with?

You can find how to use Xcode in the "IDE" section of "Inside Playdate with C".

Since hardware Rev B has been mentioned and there were some related performance issue mentions, I have a question...

That page reads "Mid-way through Group 4 delivery of Playdates, we switched to Rev B hardware". That's the only source of information I could find that suggests how to find out what hardware version my Playdate has.

How can I know, as a user, whether my Playdate runs on Rev A or Rev B?

1 Like

@stuffbyrae and @scratchminer created a screenshot viewer called Scrapbook. On its page you can also download a app which tells you what revision you have: Scrapbook for Playdate by rae, scratchminer


Thanks! It worked. It made me curious what method they use to determine a revision? I couldn't find the source code of the tool on @stuffbyrae's GitHub.

It just checks the address of the C eventHandler function since the general area is different for revisions A and B.