Sunday, August 17, 2014

developing for bitbox under windows

Even if I'm personally working under linux, it is quite possible to develop for bitbox under windows.

The following article / page is a reference for it, and will be updated accordingly. Also, if there is any part missing, please tell it !

A very thorough reference can be found by example there :

Most of the current guide is taken from there.

It targets development on a cortex-m4 chip so it's quite similar and adds a ton of optional software which can be very useful. The proposed method is quite barebones (or light), because, well I tend to prefer lighter solutions, but integration with eclipse could be done I'm sure.

Alternatively, DIYDSP has an page with instructions to setup a linux virtual machine suitable for stm32 development, as well as various other tips.

Wednesday, July 30, 2014

Bitboy gameboy emulator ported on rev2 hw

Hi, just to tell you that the Bitboy gameboy emulator - based on gnuboy - has been ported on the rev2 bitbox ! Download available through the bitboy github page

Works with USB gamepads and can be loaded by the bootloader of course, sound works OK with the emulator and the real thing.

Monday, July 21, 2014

Bitbox Mod player !

A MOD file (tracker files for those remembering them) player is available and can be used for streaming mods from the SD card (with minimal impact on RAM & Flash)

Of course it is integrated to the bitbox kernel (latest one), so that games will be able to make use of it ; it can be loaded with the bootloader - and the bootloader is available when you press reset+userbutton.

See the video for the demo hereafter (sound has been taken by my phone from the speakers so it's better in reality)

Thursday, July 17, 2014

Demo of the bootloader

Just a simple demo of the current bitbox bootloader, selecting a flash image with VGA and the game controller, and running the simple engine demo available on github.

Wednesday, June 4, 2014

rev2 Bitboxes available ! (how to get your gamepad supported)

I dunno if you've seen it, but the Bitbox is now available to buy (look at "get Bitbox" on the blog top banner).

Since people have already ordered a Bitbox, they will need their USB game pad to work. Here is how your device can be supported on the Bitbox. As I cannot buy every gamepad on earth, I will rely on you to provide information to me so that I can add the various gamepads to the firmware.

The process is the following :
  • you open a ticket case on the github account, stating a "nice to have" support for joystick XYZ
  • you include your model name, VID, PID and USB report descriptor attachments. To get them under linux, you can use the following method: please leave a comment if you would like a windows tutorial.
  • I add the right values in the firmware to be able to support it
  • You test it with your gamepad (using the kernel test application by example) and report if it is ok.
  • I can close the ticket !
Please comment here or on the mailing list if you have any trouble !

Tuesday, May 27, 2014

Playing TitanFall and Super Mario 3D World on the bitbox

 Well, playing a video of Titanfall on a Bitbox, of course playing a demanding PC / nextgen console videogame is out of reach :) But OK, then, can we have video on the bitbox ?

Full motion video on a very small hardware like the bitbox poses some interesting optimization issues and challenges. That's the kind of challenges you're faced with when you've got a few k on RAM - too few to store the image you're showing entirely- and 180MHz to generate the content and synthetise you VGA signal by software ...

Can we made nice cinematic cutscenes for the game, i.e. full motion video on the bitbox ? Can we make it 4K 3D video ? Well, no (What did you think ? 1080p50 with an Arduino ?)

But ... how far can we go ?

Sunday, May 11, 2014

Uploading to the bitbox, part II (bootloaders)

Bitbox has now a 2-stage bootloader : here is how it works.
Game programmers shall not worry about this since it's automatically taken care of by standard building scripts.

The principle is the following : a small first bootloader loads a second, more featureful bootloader to RAM and runs it. The second bootloader loads a program and writes it to flash.