#Gossan for Playdate

74 messages · Page 1 of 1 (latest)

ionic mountain
#

The Gossan project brings your beloved and original Pebble smartwatch apps & watchfaces to the Playdate handheld console. Although I am working on this project for a long(!) time already, I did make several updates to my Rust clean-room re-implementation of the Pebble runtime just this week. It can now successfully run several of the absolutely cool hackathon contributions by @ionic marlin @frigid ingot @delicate trench @silver tulip and others 😍

https://hbehrens.itch.io/gossan-playdate-runs-pebble-apps/devlog/902209/rebbleos-hackathon-002

delicate trench
#

This is epic!

pastel silo
#

cool as usual lol

digital tapir
#

awesome!

silver tulip
#

that's amazing!

frigid ingot
#

yooo, that's incredible

ionic marlin
#

Another amazing project from Heiko 👏

tender lynx
#

Wow really cool!

tough badger
#

This is actually insane 😮

zealous dirge
#

Heiko whether you know it or not you have officially started the "can it run Pebble OS?" Doom-like challenge. Beyond cool dude

pastel silo
#

run pebble everywhere

ionic mountain
#

can it run Pebble OS
LOL. Although technically, this isn't Pebble OS – I started this in Rust wayyy before Pebble OS became open-source. This is not a full OS, but merely the application runtime. But it's true, I had/have the goal of preservation, to run existing PBWs in more environments so the digital content isn't lost. The release of Pebble OS and announcement of hardware makes this slightly less urgent so I might need to re-evaluate my goals…

short burrow
ionic mountain
#

Well… so far, I can run in Docker and on Linux as long it's capable of running armv7 (mind you, this is not CPU emulation nor running the original firmware). But I wrote it intentionally such that the PBW and the runtime are cleanly separated. That way, if I were to emulate the CPU at one point, the performance penalty would only occur to the PBW, not the heavy pieces such as graphics APIs. The obvious next step here is to run it in a browser…

#

The Playdate app (including all the unaltered Pebble apps that are baked in) clocks in at 716KB right now without any size optimization. This gives me hope for portability.

zealous dirge
#

Honestly, and not to mitigate the technical achievement here, the thing I love the most is the presentation. The wireframe-like minimal pebble case outline with the watch face name and the author to the right is almost begging to have it running in some sort of gallery mode.

I’m imagining having a little desk gadget like the Google or Alexa hubs (or most recently, the repurposed Spotify car thing) and just having it rotate through your Pebble/Rebble account’s watch faces or something.

tough badger
#

Agreed. The screen is beautiful

ionic mountain
#

Ha! From my internal PRD beneath "goals, later, 3)"

zealous dirge
#

Wahoo!!! Yes!

#

Yeah raycue would be a shoe-in. Great example to target

ionic mountain
#

gallery mode
And yes, that was pretty much the intention. Playdate does have a clock mode for when it's off… someone at Playdate would need to recognize this as an option, of course 😉

ionic marlin
ionic mountain
#

Seems to be compatible with the armv7 ISA, refresh rate, and RAM.

pastel silo
inner cosmos
#

the crank makes me think that a pebble-next should have a Digital Crown

zealous dirge
#

Pebble-next-next: Digital Crown crank

digital tapir
#

A dial could theoretically replace all three buttons on the right

frigid ingot
#

it could replace all 4 if you could pull on it too

tough badger
ionic mountain
#

Ship it! 😂

hollow narwhal
#

off-handedly was thinking "hey i wonder if you could use this to build the fabled wall-clock-gadget that runs pebble faces" and then the further i scrolled the more of that i saw

#

i would kill for a kit of like, buy a board + 3d print a case, put some AAs in, and it runs pebble faces from your account for like six months cause it doesn't have to talk over bluetooth

pastel silo
#

indeed!

#

heyy pretty cool

#

similiar that was reviewed, this timecode https://youtu.be/bvLeIsqz1zc?t=270

Save $30 Now! → Claim Your 6-Layer PCB Discount Today: https://jlcpcb.com/6-layer-pcb?from=AAA
Discover Easy, Affordable, and Reliable PCB manufacturing with JLCPCB!
Register to get $60 New customer coupons: https://jlcpcb.com/?from=AAA

You can get the featured products here: (affiliate links)
Induction Heater: https://s.click.aliexpress.com/e/...

▶ Play video
#

as he states, one has esp32 and one doesnt

inner cosmos
ionic mountain
#

Please keep sharing hardware you’d like to see watchfaces on (and games! eg PinyWings works, too)!

Preferably ARM-based products, but mid-term I might invest time in CPU emulation so existing binaries would also work on an ESP32 or RISC-V…

pastel silo
#

yeah esp32 is in so many of those toys.

pastel silo
#

I just got my trmnl!

#

I hope this will be able to run this someday lol

silver tulip
ionic mountain
#

I am running my benchmark baseline on a Raspberry Pi 3B+, I don't see a reason why Gossan wouldn't work on a Pi4/CM4

ionic mountain
#

(only a) minor update (there wasn't much time this weekend) – but I implemented a stub for one additional api call setlocale so that Gossan now featuers two more classic watchfaces https://hbehrens.itch.io/gossan-playdate-runs-pebble-apps/devlog/906913/two-new-classics

itch.io

This weekend, I added two watchfaces to Gossan that shipped with the original Pebble and Pebble 2 back in the day: Simple Analog and Simplicity . These came pre-installed on every watch and were promi...

silver tulip
#

the closed beta is only for the Playdate right?

hollow narwhal
#

this is an app for the playdate, yeah!

ionic mountain
#

only for the Playdate
Yes, and it only runs on physical devices, not the Playdate simulator.

silver tulip
#

looking forward to a Raspberry Pi beta then 👀

ionic mountain
#

Productizing my Linux binary isn't high on my list at the moment so I am not looking for beta testers there. Is there anything in particular you'd want to do with it that you cannot do with QEMU?

silver tulip
#

nothing really, just wanted to try Gossan at some point

pastel silo
#

surpising cheap

fast gale
#

Hah! I have both a playdate and a Presto, so I am well set up to help @ionic mountain 😄

pastel silo
#

wow presto is agressively ungoogleable lol. what device is it?

ionic marlin
pastel silo
#

oh yes! thanks for link

ionic mountain
#

Oh, and: I ordered a Presto 🫣

tough badger
#

A what?

pastel silo
#

look earlier up

tough badger
#

Oops

ionic mountain
#

Not exactly "running on Playdate", but still Gossan and certainly an important next step 🙂

ionic mountain
pastel silo
#

interesting read

solemn mortar
#

I now want a playdate just to see Helix on it. Thank you for porting it, and glad you tracked down the bug

ionic mountain
#

To be clear, there was/is nothing wrong with your amazing watchface, @solemn mortar – this was merely a side-effect of how the Pebble SDK compiled your C source code vs. how the Rust toolchain produces binaries from my Rust code.

ionic mountain
#

Gossan finally supports animation_* and property_animation_* APIs 🎉 I wanted to write about some of the technicalities, but it's getting late over here and itch.io is giving me a hard time embedding GIFs/videos (if anyone knows how to work around that, please let me know). Until then: Here's a recording of the CLI version of Gossan. (Yes, I do realize that it doesn't look much different than the emulator)

ionic mountain
#

pd_gossan (the Playdate "game" I just updated on itch.io for all beta testers) comes pre-packaged with 42 PBWs now. That made made it grow to whopping 1.1MB 📈, but I guess that would still fit on a 5¼-inch floppy disk…

ionic mountain
#

(ended up using https://catbox.moe for hosting the GIF as itch.io converts them to a still image… – I am not sure if that's the best service to use but it will do for now)