HunterDavis.com 4.0!

20Dec/099

17$ Mobile Java Gaming Console – Plus Sample Code and Application To Get You Started!

I finally had a few minutes to start working through the new list of 'to hack' items this weekend, so I started with the Nickelodean NPower fusion gaming console. Buy.com had these for 17$, and I've seen them at various secondhand retailers here in southern California for about the same. It supports j2me, cldc1.1, and midp2. For 17$ this would be a fantastic target for a beginning java games developer. The absolute rock bottom price would allow for some fun opportunities like beta test groups, without the terrible expense usually incurred purchasing mobile devices. npower fusion with custom java

After plugging it in, it's recognized as a 1gb photo storage device. There are a couple of .wmv videos installed stock, as well as an enticing java_vm folder, which will load .jar/.jad files. My goals were simple, get a custom application running on the Npower, and get some system information and a sample application for other developers to use as an example.

I started by downloading the JavaME SDK. It comes with a few sample applications, I chose the UI demo app as a good starting point. JavaME supports the java.lang.runtime class, so I figured a couple of quick system monitors would be useful. The GaugeDemo seemed like a good starting target, so I built it fresh to ensure it would run on the fusion. It installed and ran fine, so I set about altering the page to display the system memory as it changes. I first added a label to the frame which contained the total and free memory. Looks like the Npower is allocating Java around 2mb of ram. That's about 10x more than is required by the cldc1.1, and more than enough for some hefty (and fun) mobile java development. As the free memory doesn't change, I drop the gauge to zero every 3 ticks to show change in memory.
npower fusion stock
You can download the changed source files and .jar/.jad file here. Just install it to your npower, then navigate to games->UIDemo->gauge, and there's your memory gauge. Fun! Happy Programming.

Comments (9) Trackbacks (3)
  1. Great find, Hunter! You make me jealous that I can’t just pop by the store and pick up all these devices!

    I’m just happy that I found out how to script an FTP session. Ha ha ha.

    Cheers and keep us posted!

  2. where do you get hackable goodies like this one in SoCal? I’m in Venice and haven’t had much luck. I was considering a Target Zipit2 but haven’t seen them, maybe ebay is it.

  3. Hey Jeffrey,

    Ha thanks! Glad to hear your scripting is coming well :)

  4. Hey John,

    Venice eh? I’m pretty familiar with the area, I’d try the Tj Maxx over on Sepulveda and Manchester, as well as the Big Lots in Culver City. I’ve seen some really good hackables coming through TJ Maxx lately but they are not there long :) Good Luck!

  5. Did you open it up? Any useful ports or something?

  6. Do you know if Ubuntu Linux will recognize this as a disk?

  7. Hey Bob,

    The device by default should be enabled by Ubuntu (or any OS) as a usable disk. (The device has a 1GB NAND flash)

    @Radu
    I two would be interested I the internal side of this device

    @Hunter
    I feel another quality hack coming on :)

    -Adam

  8. Hey Bob, yeah ubuntu sees it fine.

    Hey Radu, Adam,

    Didn’t know if people would be interested in a dissassembly, I’ll see if I can get some good photos of the chipset during the holiday weekend. Java ME doesn’t have any straightforward ways to do CPU speed benchmarks or output cpu info (implements getproperty(single key) but not getproperties(many)) or I’d have added that to the jar as well.

    I’ll let you know what I find out :)

  9. This is 10$ on woot today !!


Leave a comment