Android SurfNet Workshop

Over the past year I was on the intern team for a Canadian research network called SurfNet.  SurfNet primarily concerns itself with interactive surfaces and things you can touch like a touch table or SMART boards.  The intern team gets projects submitted to them by professors that are part of the research network.  It was fun to work on the intern team but unfortunately it was not a lot of team work.  The majority of the projects came from my local university and I worked alone.  Even after finishing with them September 1, 2011 they are still keeping me on the payroll to work unofficially for them.  They wish to put the entire team on a project I have been working on over the past few months.

Every year they hold a conference and gather all the people involved in SurfNet.  This year it was held in Calgary, Alberta at the University of Calgary.  Excellent establishment, great people and an all around fun time.  This year they offered students to submit ideas for workshops.  I decided to submit a workshop on Android development.  Albeit not to related to SurfNet it is still an interactive surface and almost everyone is beginning to pick up on Android as the best way to developer quick research projects targeting mobile devices.  So I gave a 1.5hr talk on Android and it generated some pretty good interest. Here are the slides purely for interests sake.

Presentation Download

Halsafar

GambatteDroid

With the blessing of the author of libgambatte I am able to publically announce GambatteDroid.  Gambatte is a cycle accurate open source Gameboy and Gameboy Color emulation library.  As a developer I must say that libgambatte is very well written.  Kudo’s to all the authors involved in the project (Project Home)  As a Gameboy fan nothing is more nostalgic than playing it on a mobile device.  Go ahead and visit the forums if you have any comments to make.  Please rate or comment on the market page!

Video (Link):

Market:

https://market.android.com/details?id=ca.halsafar.gambattedroid

GambatteQRCode

NESDroid – Real Time Rewind

To continue the last post about GENPlusDroid real time rewind.  NESDroid rewind uses the exact same method. Required only some small changes to the emulation core, nothing major just how it loads/saves its state. The FCEU state saves are around 75Kb per frame. We are using a 20MB heap for the NES version which only provides 15-20s of rewind as you see in the final segment of the video.

Certainly more fun to real time rewind NES that Genesis in my honest opinion.

Download:

QR Code:

GENPlusDroid – Real Time Rewind

Not to long ago I adopted a method created by Maister into the genplus emulator that allows for real time rewinding (think Prince of Persia or Braid).  The method is somewhat like video compression P-Frames where you store the diff of the last frame.  Emulators like FCEU use state saving to disk to pull this off which is very expensive.  The individual state frames are often large ranging anywhere from 75Kb to 300Kb.   This method of storing the diffs in memory allows us to provide almost 30 seconds of rewind (varies depending on the game).  You can do the math to get a rough estimate how much space 30 seconds at 60fps worth of frames would take in its raw form.  The only real performance hit is the serialization and unserialization of the state itself, this proves fairly negligible.  This is really just a for fun feature it is however neat none the less.

See a video here:

This also marks the release of GENPlusDroid (for free). If you have any problems please visit the forums. Download from the market, leave a comment.
https://market.android.com/details?id=ca.halsafar.genesisdroid

Scan the QR Code for quick access:

Halsafar

Clarification on psx-scene

Update (Halsafar): Original post http://pastebin.com/gc0036Qg

While I don’t wish for this site to start devolving into scene drama, I felt a post was necessary on why it is that I’ve recently decided to part ways with psx-scene and what led me to taking the drastic decision I felt was necessary in order to make a statement. This affects all other homebrew developers in the grand scheme of things – and I acted accordingly as the situation demanded it.

New TOS waiving your rights

After the acquisition by QJ.Net, they quietly injected into the already existing Terms of Services a new law that expressly authorizes PSX-scene to effectively assume ownership of any and all material you make available to the public on their community site. I will let this quote do the talking so that there can be no debate about this –

Psx-scene Terms of Service

“User Provided Content, License. You are solely responsible for all content or materials that you post, submit to, or transmit through the Service. By submitting materials or content to PSX-SCENE.COM, you grant PSX-SCENE.COM a license to copy, use, display and create derivative works of the material or content submitted for any purpose, including, without limitation, the promotion and marketing of the Service and the operation of the PSX-SCENE.COM system. By submitting materials or content, you automatically agree (or, to the extent you do not own all rights to such materials or content, you represent and warrant that the owner of the content or materials has expressly agreed) that without any particular time limit, and without the payment of any fees, PSX-SCENE.COM and anyone it permits may reproduce, display, distribute and create new works of authorship based on and including the content or materials. You may not submit content or materials trademarked or copyrighted by anyone other than yourself.”

Now, obviously, this is disingenuous on its face. Stepping aside for a moment the fact that they can not simply waive your rights like this – the fact remains that there are licences to obey when you as a porter decide to port an emulator to another system. Those licences are very clear on ownership rights and your ability or permission to be able to buy or resell them. For psx-scene to put themselves into the enviable position where they believe they can ‘reproduce, display, distribute and create new works of authorship’ speaks to the audacity and clear disrespect of these new site owners who happen to view developers as a bunch of schmucks to be hoodwinked and cajoled into servitude.

‘Successful business != Conning people into waiving their rights’

As a response to that, I took down all emulator threads on their forum that I have personally worked on ( seeing as the previous owner on there granted me Moderator status with no strings attached). Also, I complied with the wishes of many former members who wanted all their content to be removed because they have similar misgrievances about this new ‘clause’ they added to their terms and they don’t like this site profiteering or benefiting in any way from it. Now, obviously, that resulted in my ban – it couldn’t have gone any other way – you know once you throw down the gauntlet like this, what the consequences of that are going to be. I personally requested for them to cast the first stone and ban me – I had no more desire staying on there and feel no need to associate myself with that site anymore.

Now the sad thing is – this kind of profiteering has become fashionable now over the past few years – when you mistake being a ‘good entrepreneur’ with being a ‘con artist’ and a ‘profiteer’ and, worst of all, you don’t even care about any of the amoral connotations that brings along with it – then obviously you’re going to have friction between developers who are doing this mainly out of a passion and then these kinds of cynical businessmen following in the grand footsteps of PT Barnum and his ilk.