I’ve been working on my new shader pipeline supporting an unlimited number of lights and shadow sources in both forward and deferred rendering, hardware skinning with unlimited number of bones, multiple surface maps (multiple normal maps, …), point light shadow casting, uniform buffers, and a lot more capabilities.

This is the audio system and tool that were used in many commercial titles such as Project S-11, Shantae, ESPN National Hockey Night, and Who Wants to Be A Millionaire. Although I’ve made the tracker public for quite a long time now, the replay routines were not public, until now.

To build a ROM to play on the real hardware you will need to use the Rednex Game Boy Development System (RGBDS). Instructions are in the package with two easy to use batch files for windows, there’s now a version of RGBDS for linux but I haven’t tested it.

Donations to help pay for hosting, hardware, ports, bug fixes, and other costs are very welcome.

( This is the tracker that was known as the Beyond Tracker or the Paragon 5 Game Boy Tracker. )

OpenPandora forum user sebt3 started testing out scaling filter shaders on the SGX530 for use the OpenPandora console, the first working version ended up way too slow to be of any use.
Another forum user, FSO, improved the speed a bit (160ms to 180ms per frame).

An early preview of my new game using a tiled, procedural 3D world engine with a focus on small memory footprints targeting embedded systems such as cellphones, tablets and portable consoles.

Similar to Minecraft and other tiled games, with full 3D range of over +/-2000000000 tiles in all 3 axes, +/-9000000000000000000 for a 64bit-ranged build (supported even on 32bit architectures) and raytraced dynamic soft shadows.

The engine is currently being tested on OMAP3 SoC embedded systems such as the OpenPandora console, BeagleBoard development board and Nokia N900.
It is also running on 32bit as well as 64bit PCs and Macs natively.
Currently a memory footprint as low as 50MB and a minimum of 350Mhz processor (ARM Cortex-A8) is achievable.

It’s a lot of fun to optimize for size rather than speed, making and reusing as many function calls as possible to reduce the code footprint, unrolling short loops and restructuring the code to produce as many repeating byte strings as possible for the compressor.

So, after less than 6 months my OpenPandora LCD cable broke so I ordered two new cables and while doing the replacement I used the opportunity to modify the case to lock the LCD at an angle similar to how the DS and 3DS does (a common complaint about the OpenPandora).

I can now watch movies with my OpenPandora sitting on a desk.

NOTE: this modification uses the stock hinge.

WARNING: EXPERIENCED HARDWARE MODDERS ONLY.

IF YOU ATTEMPT THIS AND MESS UP YOUR OPEN PANDORA, TOO BAD.

The hinge socket before, and the notches you need to grind (circled in red) with a rotary tool to fit the hinge mechanism at an angle:

Some more experimenting with a cheap low quality webcam for extra challenge (Moar with less!).

This time its a barcode scanner with no controlled light source.
I wanted to scan barcodes with just the ambient lighting so I had to design an image filter that would amplify the picture’s contrast and reconstruct the dark and light zones from a very low quality source.
I was then able feed the corrected image to a barcode decoding neural network.

While working on my 3D editor back in 2010, I wrote a custom routine to automatically create a spherical mesh out of any set of arbitrary points in 3D space and got tired of testing it with semi-random points in space.

So, a quick trip to the local Canadian Tire (a weird of mix of hardware store, home improvement store, car part store, and house applicance store) to buy
– a 20$ laser level guide,
– add a web cam (already had it, worth about $10),
– a quickly written bit of code,
and voila:I built myself a 3D scanner for 30$.