Starduino for Uzebox

August 3, 2022

Download Starduino for Uzebox (zip file) (uze file)

Shortly after releasing Starduino on Arduboy, Andrew (AKA CunningFellow) offered me one of his Uzebox DTV units (Big thanks).

The Uzebox is a minimalistic open source hardware game console which at it’s simplest incarnation consist of a few discrete components and a single ATmega644 micro-controller chip (SCART version). For NTSC output an additional AD723 video encoder is needed which still makes it only two ICs for a working game console.

Since there is no graphic chip, no video controller, and no timer-driven DMA on the ATmega644 the CPU has to constantly generate the video signal in real time. Not that this is an issue, just a bit of an extra challenge ( One that I was already familiar with ).

(more…)

We built an EDM BBQ

October 4, 2019

There’s a great article about it on gothamist.com

I get to work with great people on amazing projects.

Taylor and her team did the body work on the BBQ. I built the capacitive-touch & custom MIDI controller firmware.

Taylor Browning and me

This is the new and improved version with 50% higher FPS.

What can you do with 16Mhz, 8Bits, 2.5KB of RAM, 28KB of ROM and a black-and-white 1bpp 128×64 screen?

A 3D game of course!

Title Screen

Download the .arduboy file (98KB Turbo version) to flash the game on your Arduboy.

Or the full .zip file with the printable PDF instruction booklet (600KB) and contains the .hex file to upload using avrdude or your method of choice.

Direct link to the .hex file (Turbo Version with 50% higher FPS)

Or if you need only the instruction booklet (516KB).

Starduino™ © 2019 Stephane Hockenhull
All rights reserved.

For personal use only. Not for redistribution or commercial use, including but not limited to installation on devices by sellers, resellers, and manufacturers. Contact starduino@ (this website) for licensing.


I was looking for an interesting hobby project to hone my AVR assembly skills when I found the Arduboy, a sturdy “Arduino” I could keep in my pocket.

There were a lot of fun games already and even some in 3D but no filled-polygon games? This had to be rectified.

(more…)

What can you do with 16Mhz, 8Bits, 2.5KB of RAM, 28KB of ROM and a black-and-white 1bpp 128×64 screen?

A 3D game of course!

Title Screen  

Download the .arduboy file (98KB Turbo version) (Classic version: .arduboy file (100KB) ) to flash the game on your Arduboy.

Or the full .zip file with the printable PDF instruction booklet (600KB) and contains the .hex file to upload using avrdude or your method of choice.

Direct link to the .hex file (Turbo Version with 50% higher FPS)

Direct link to the .hex file (Classic Version)

Or if you need only the instruction booklet (516KB).

Starduino™ © 2019 Stephane Hockenhull
All rights reserved.

For personal use only. Not for redistribution or commercial use, including but not limited to installation on devices by sellers, resellers, and manufacturers. Contact starduino@ (this website) for licensing.

There’s a bit of a thing going on with people crunching the Bad Apple!! shadow art video and playing it back on various 8 bits and 16 bits computers and I couldn’t find one for ATmega2560 / Arduino that didn’t stream the data off some external SD card or right off a PC through the serial port.

Something had to be done!

The entire 3m39s video is crunched down to 221KB of video data all contained inside the ATmega2560 there is no SD card and no data streamed off the serial port. Download and see for yourself 🙂   The only extra hardware needed is two resistors, a power source, and a TV (which can even be the power source if it’s got a USB port). Wiring diagram below.

Playback is 128×176 60fps (50fps for the PAL version) 1bpp x 13122 frames. The average data rate is 8Kbps. That’s an effective compression ratio of 167:1. And yes, it is lossy!

(more…)

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.

Game Boy Tracker running on Raspberry Pi

Game Boy Tracker running on Raspberry Pi

You may grab the latest build of the tracker and the replay routines (included in the package) off the wiki page.

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. )

Hello World, Again

June 7, 2014

I switched to a new blogging software and I’ll be reposting some of the old blog posts.

The old-old page is still on http://rv6502.ca/old/

: Blog

From >200ms down to a usable 30ms.

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).

I asked sebt3 if he’d let me have a go at it.

(more…)

Brickster for Game Boy Color

January 26, 2012

Brickster

Brickster (Click to download)

I made this little game in 1999 as a first step into Game Boy Color programming.

This homebrew game was released for free (as in beer) at a competition organized by Bung (a flash cartridge maker) who wanted to demonstrate the purpose of their products to indie game developers.

The game is free to download, copy, distribute and play in its unmodified form.

You may include the ROM as part of any software packages and/or devices (including commercially sold ones) as long as the source is not misrepresented.

Raytracing in < 2KiB

December 31, 2011

Raytracing in 2KiB (Click to download)

A first prototype for the “4K Executable Graphics” competitions.
The executable is 1616 bytes using UPX (2178 bytes uncompressed)
including VESA RGB/BGR 24/32bit detection, automatic resolution selection and VGA fallback.

(64bit windows users will need to use dosbox to run the executable)

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.

OLYMPUS DIGITAL CAMERA

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:

 

After grinding:

Modified hinge socket

UPC_decoder5Some 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.

UPC_decoder9

cheap_3d_scanningWhile 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$.