Wednesday, May 13, 2015

ZX Spectrum emulator !


Hi, here is the first release of the BitBoxZx, a 48k ZX Spectrum emulator !

Saturday, February 21, 2015

New game : Polar !

Polar is a small game written in ~ half a day.

Here is the link to the github project

Here are some screenshots - a very simple game indeed, <200 lines of C and a few sprites.


The game is still missing sound, music and more levels .. but the few levels are perfectly playable !

This game has been inspired by Polarity, a game written for ludum dare 23 by nornagon ( ) but the code and GFX are original.

Thursday, December 18, 2014

Recent commits : a month in bitbox

Hi all !

Here are some news about the recent commits of the bitbox engines, kernels and other bits since last month. You can look at the git history to find them

Wednesday, December 3, 2014

New Game : Boulder Dash clone

Why, yes a clone of boulder dash was one of the simple games I wanted to implement.

It's not completely finished (missing new sounds, levels, and ennemies), but the main elements are here in their 640x480 glory, inc. sound&music, basic gameplay, intro screen

Here is the repository (including a binary release for eager testers :)

Everything in the game is tile-based, and the whole game data is in fact just a uint8_t[] array of tile references, with its small finite state machine. The main and only .c file is 380 lines- not that I am so proud of it, it grew quite organically, but eh : now is better than never.

Demo (click on it to see fullscreen)

Monday, November 17, 2014

Presenting bitbox at "le capitole du libre" in Toulouse

I was kindly invited to present the bitbox as part of the "Capitole du libre" meeting, where I presented the hardware and software conception during a nealy one hour talk with many interesting questions after. The project has found a few very welcome new enthusiasts !

It really was a pleasure to discuss with everyone there, working on free / opensource games, awesome operating systems or nice little games that beg to be implemented on the bitbox ...

That, and many interesting more general conferences about opensource or blender (yay). The slides are in french, but I plan to include them

The big problem is that it entails so many new ideas and directions that my sleep deprivation will not be much better for another year I guess ...

Tuesday, November 11, 2014

Simple modes

Some have expressed the interest for simple modes for the Bitbox. An recent commit is providing such mode , on top of the standard kernel.

The so-called simple modes are called like this because they provide a frame buffer interface, so the application programmer will only have to write bits and bytes to the video memory - much like it's done on PC. So the interface is a vram buch of memory and a color palette (because the tradeoff is a reduced palette or resolution)

There are two examples in the bitbox SDK (one of them below), but generally you'll need to define a simple makefile variable VGA_SIMPLE_MODE=X with the given mode and include the standard makefile.

(Yes it's currently defined at compile time - if your program needs to switch between two modes at runtime, it might be time to switch to a standard kernel / engine - it's not difficult !)

Monday, October 6, 2014

New kernel modes (including 800x600@56Hz !)

Since a recent commit, developers now have a better way to set modes.

The kconf.h kernel configuration file allows now several modes, selectable through your project Makefile config options.

Current defined timings include  :

- 640x480, 60Hz @ 168MHz clock (default one), 7 clocks per pixel
- 320x480, 60Hz @ 168MHz clock (repeat each line twice to use as 320x240 display)
- 640x480, 60Hz, overclocked at 192 MHZ,  7 clocks per pixel (longer vsync time)
- 800x600, 56Hz ! overclocked a bit at 180MHz. Yes the bitbox can do 800x600, 56fps.
You only have 5 clocks per pixels here however, so you'd better optimize that blit loop.

other modes can be created by adding config lines to the kconf.h file, all timing computation is based on number of pixels for Porch begin/end/sync and display sizes in pixels ; however be sure to get the right clock ratios to run USB/SDIO clocks at 48MHz !

yes, testkernel can work at 800x600 (sorry bad pic)