WearableC64 project cancelled

The initial deadline for the Samsung Gear App Challenge has come and gone and WearableC64 did not make it into the store.

We spent quite a bit of time working on the project but have come to the conclusion that the project is not possible with the official software stack currently supported on the Gear 2.

Tizen 2.x ships with a Webkit based browser, and while it has WebGL support, it does not have asm.js support, and the Javascript performance on device is simply inadequate for anything which is CPU intensive, like emulators. The real tragedy here is that the actual CPU on the device is probably entirely adequate for the task at hand (dual core 1.0Ghz), but Samsung’s decision NOT to support the Native Tizen C++ API for the Gear 2 makes that CPU power inaccessible to developers. I imagine (but have not proven yet) that a rooted Gear 2 could comfortable run VICE if the browser wasn’t in the way.

Tizen 3.x will be shipping with Crosswalk, which sits on top of Chromium/Blink with V8 for the Javascript. I have an ongoing e-mail thread with various people from Intel about performance for CPU-intensive Javascript. If the browser is all that we are allowed then it NEEDS to have near-native performance on the CPU. That is what asm.js has delivered for Gecko. It looks like performance is much improved in these scenarios for V8 as well, though not through official asm.js support. That is fine. it doesn’t have to be asm.js. It just has to be fast.

The other option here, and the best one, IMHO, is not to ship HTML5-only devices. Open up the native Tizen C++ API for Tizen Wearable, TV and IVI profiles and this becomes a non-issue.

I’ll keep working on the broader problem as part of the MonoHTML5 project, but this specific short-term project is sadly dead. Killed by the poor-quality browser and by Samsung decision to force all developers onto HTML5 for the Gear 2. The Tizen project “picked the wrong horse” with Webkit for Tizen 2.x. That decision was corrected by the flip to Crosswalk for Tizen 3.x, but that software change is unlikely to hit devices for another year, which is an eternity at the current rate of device iteration. We’ll probably be on Gear 4 or Gear 5 by then!

So maybe WearableC64 will make it to your wrist in a year or so? It certainly won’t make it onto Android Wear. My Gear Live arrived. So limited and disappointing in comparison to the Gear 2. Android Wear is so boring an operation system. Nothing applicable for games. Just a very slick notifications system, essentially. Can’t take photos, make videos, make or receive calls. Even better CPU (1.2Ghz vs 1.0Ghz). Utterly wasted on a “one app” OS.

Play some emulated 8-bit games in your browser, right now

Javascript MESS – Imagine every computer that ever existed, in your browser

Retroplay / Commodore 64

BBC Micro games

Announcing the WearableC64 project

Commodore-64-Computer

The aim of this project is to get a Commodore 64 emulator running on the Samsung Gear 2 smartwatch, to enter in the Samsung Gear App Challenge.  Application submission needs to happen by 17th July 2014.   This device only provides an HTML5 Javascript API, with no C++ native API support exposed, so the emulator will need to be Javascript based.

C64_startup_animiert

Some options:

For any of these approaches, the emulator would be writing to a WebGL back-buffer.

One major design consideration is the gesture input handling.   Due to the small screen-size, the gestures cannot be subtle.   We’re probably stuck with swipes up, down, left, right and tap.    So the game(s) we choose need to have very simple controls.

There is some prior art on the original Galaxy Gear, showing that 8-bit emulation on  watches is possible (and a great fit for the screen resolution).