Homebrews & more

The ultimate blog dedicated to hardware et software stuffs

Atari 2600 F8 bankswitching cartridge

Atari 2600 ROM Cartridge, déc. 2012

Atari 2600 ROM Cartridge
This board implements the F8 bank switching method to be used with 8K A2600 ROM files.
An extra two 2-positions dip-switch is used to select a 8K portion of the 32K Eprom.
This board is based on the F8 bankcswitching design : http://www94.pair.com/jsoper/bankswitch_f8.html

A2600-ROM.sch : Schematics (Eagle 5.0.0)
A2600-ROM.brd : PCB (Eagle 5.0.0)

Just 'flash' four 8ko files to the UVProm and plug-in the cartridge into the console.

JP1 :    

  •   1-2 : ROM is Bank-swiched for 8K ROM (F8 method)
  •   2-3 : ROM is not bank-switched. A12 is grounded to GND

S1 :     1 & 2 : Used to select a 8K portion of a 32K ROM (4 slots)

Enjoy !

Tombstone City for NDS


Version - 18 July 2011
Warning : The music is pretty lound & noisy. I need to understand why ...

What's that
Tombstone city is a game developped in 1981 by Texas Instrusment for the TI99/A4. (see http://www.videogamehouse.net/tombs... or http://en.wikipedia.org/wiki/Tombst....

This game corresponds to my own implementation of the original game, ready to run on a Nintendo NDS.

The main used tools are :

  • libnds
  • devkitARM
  • PAlib-070717

What's new
Now integrates music and sounds.

To be able to run this homebrew, you need a linker such as R4, M3, ...
So, copy the TombstoneDS/bin/TombstoneDS.nds binary somewhere in its memory card and run it !


  • X or A : Fire
  • Arrows : Move
  • R or L : Panic button. Put the player on a safety place but score is cleared !
  • Select : Restart the game
  • Start : Pause / Continue

The package TombstoneDS-18072011.tgz (attached) contains source code and the binary.
Enjoy !


IrdaJoy Arduino based interface

IrdayJoy Arduino based

The IRDAJoy is the ultimate interface used to connect your old-school atari joystick and/or paddles to your PSP handheld console.
The communication between the console and the box is made through an IR link.

Originaly, this interface has been made with a PIC18 microcontroller. Because it is too much complicated to build, my good friend ZX asked me to build a new version with something easier to do.
So, here is the same interface, based on an arduino board.

What you need

  • arduino board http://www.ladyada.net/make/boardui...,
  • Arduino 0017 toolkit http://www.arduino.cc,
  • a prototyping board,
  • an IR led (CQY89 or any compatible IR led),
  • 220 resistor
  • SUB-D 9 pins M
  • 2 paddles and / or one atari joystick
  • few wires
  • a little box,
  • 4xAA 1.2V battery cells + adaptor or 3xAA 1.5V battery cells.

How to build
I did select the boarduino board because it is not expensive, small and fully compatible with other arduino boards.
To get complete infos, follow the link : http://www.ladyada.net/make/boardui...

Because there is a USB and a serial version, you will probably need a USB-TTL adaptor to program the arduino.

The schematics is very simple. No need to make a real PCB. A prototyping board is nice to use.
You just have to plug wires in the corresponding holes like in the picture.

When wiring is done, open the IrdaJoyArduino.pde file with Arduino 0017 IDE, connect the board to the PC (through a USB-TTL converter if you purchased the boarduino serial version or directly if you get the USB version) then click on the upload button.
The code is compiled and then automaticaly uploaded to the boarduino target. If everything is OK, just put everything into a small box and use it !

I purchased the board and all other parts at http://www.watterott.com

This adaptor is compatible with ZX PSP homebrews. Have a look at : http://zx81.zx81.free.fr/serendipit...

Enjoy !


Joystick2USB adaptor

This simple hack corresponds to an "easy-to-make" joystick to USB adaptor.
It is mainly usefull for anybody who wants to play old-school games with their old Atari joysticks on a modern PC or may be on a handheld console like the Caanoo.

It is very easy to make and of course, you do not need to make a PCB or buy expensive parts.
The idea : Re-use an old USB keyboard to make things happen.

Connect your joystick and plug the USB to the PC.
You have to launch your favorite emulator and define the corresponding keys.

Key mapping :

  • UP : 8
  • DOWN : 5
  • LEFT : 2
  • RIGHT : 0
  • FIRE :/

Package (attached) contains every needed informations to make your own.

Enjoy !

Tombstone City for Linux (SDL) : now includes music & sounds


This new version integrates now music & sounds !

If you need more info on the original game, have a look at http://www.videogamehouse.net/tombstone.html or http://en.wikipedia.org/wiki/Tombstone_City:_21st_Century).

Keys are :

  • Arrows : Move
  • L-Ctrl : Shoot
  • Tab : Panic button. The player is placed on a safety place but score is cleared !
  • Backspace : Restart the game
  • Enter : Pause / Continue
  • Esc : Quit
  • F1 : Help

The TombstoneSDL-20101216.tgz package (attached) contains source code.
Enjoy !

Composite video output modification for ZX81

Here is a very simple ZX81 modification to replace the ugly modulated video output by a composite video signal.

I tried several modications from the WEB, but due to special video standard in france, none of them was successful on the ZX81.
So, here is my own adaptation. If it works for me, it should work for you !
The attached file contains the schematics and some pictures.
Have fun !


  • 28/02/2013 : Replaced corrupted ZX81-composite.png picture


Arduino based thermostat

Here is an "easy to make" Thermostat.
The goal was to replace an existing non working thermostat on a heat accumulation panel. Instead of buying a new one I decided to make my own.

The goal was to use basic electronic parts, to be cheap, fun to make and of course secure.
It is mainly based on a "boarduino" board for the controler, TIL311 led digits for temperature visualisation (very expensive if you do not have some),
a 5V stabilized power supply (NDS lite power bloc) and 1-wire temperature sensor. Power switching is made with a simple BT12-600 triac (with a 2000W load).

There is no PCB. It is up to you to make your own or use a prototype board like me.

The package contains the schematic and the source code (pde).

Have fun ! Buzz

EmbGui becomes GfxGui : Much more simple and cleaner than before

This package corresponds to a new version of the EmbGui toolkit. Source code is a little bit cleaner now (but not perfect).

The goal of this toolkit is to provide a set of graphical routines that are independent from the hardware. It can be typically used wherever SDL library is available (PSP, GP2X, ...) and Linux. It can be used to manipulate low level graphics (circles, lines, text, ...) but it can be also used to create more complex GUI (buttons, windows, ...).

Package (attached) contains Makefiles, sources and few examples.

Old picture of what you can do

Have fun !

Connect 4 (Unix)


This application is a graphical frontend to the Connect 4 game, made by a very good friend (L. BUCHARD) in 1998.
The goal is to be the one who creates a line of 4 tokens.
That looks pretty simple but winning against the computer is a real challenge.

All the information and source code (Gtk/Linux based) are in the Puissance4-20022002.tgz file (attached).

Enjoy !

Communication tool (Unix)


This simple tool is used to communicate between two XDisplays (both textual and graphical). It is a kind of an old fashion "chat" tool.

The application opens at the same time two windows, both on the local host and on the remote host.
Each user can type some text or draw drafts. It is updated in realtime : no need to type enter to validate your message.

Source code and informations are in the file UnixTalk-15122004.tgz (attached).

Enjoy !

IR Remote control


Here is an easy to build IR remote control.
It could be used at home to control lights, radio or more powerfull things.

This remote control is build arround an IR coded transmiter and an IR receiver powered by its own power supply.

This architecture is based on a PIC16F84 (ou 16F628). I also build another one based on a PIC12C508 (ou 12F509). These two versions are compatibles.
All the informations (PCB, schematics, source code ...) are in the file RemoteCtrlIR-V1.0.tgz (attached).

Enjoy !

Pentax K10D IR remote


Here is an easy to build IR remote dedicated to the Pentax K10D. So, you will be able to take pictures remotely ! The focus is not managed in this version.

This remote as been developped to work with a Pentax K10D but it could work with other cases from the same manufacturer.

All the informations are in the file RemoteK10D-V1.0.tgz (attached).

Enjoy !

Tombstone City for Linux (SDL)

Tombstone city is a game developped in 1981 by Texas Instrusment for the TI99/A4. (see http://www.videogamehouse.net/tombstone.html or http://en.wikipedia.org/wiki/Tombstone_City:_21st_Century).

This version, updated on 07/17/2010, corresponds to a Linux port of the original DS version TombstoneDS-05222008.
It uses the SDL library and the Gfx layer (homemade). Now, iIt should be much easy to port the game to other platforms.

Keys are :

  • Arrows : Move
  • L-Ctrl : Shoot
  • Tab : Panic button. The player is placed on a safety place but score is cleared !
  • Backspace : Restart the game
  • Enter : Pause / Continue
  • Esc : Quit
  • F1 : Help

The package TombstoneSDL-16072010.tgz (attached) contains source code.
Enjoy !


Here is the dedicated logo for PCB.


Keep in touch !




Voici la version finalisée de IRDA Joy V2.1

Modifications apportées par rapport à la version V2


  • changement de quelques valeurs pour permettre un fonctionnement sous 3V.
  • ajout d'une led et d'un interrupteur M/A


  • correction d'un bug provoquant un comportement aléatoire,
  • suppression des tempos de 20ms entre chaque octet de trame
  • choix de l'émission USART (debug) ou IRDA.

Le fichier IRDAJOY-V2.1-hw.7z (en annexe) contient les schémas au format Eagle 5.0.0 et le typon (600dpi).

Le fichier Le fichier IRDAJOY-V2.1-sw.7z (en annexe) contient le fichier source, le binaire destinés à la programmation du PIC et un README.txt pour les quelques explications.

Cette réalisation n'a été possible qu'avec le soutien et les conseils avisés de Manu et Zx !

Pour utiliser IRDA Joy avec votre PSP, il vous faudra bien sûr les logiciels adaptés. Rendez-vous directement ici : http://zx81.zx81.free.fr/serendipity_fr/index.php

Voici une photo de la bête.

Bonne réalisation


Carte de prototypage PIC16F84/16F628


La carte presentée ci-après permet de faciliter la mise au point d'applications à base de PIC 16F84/16F628.

En effet, à chaque nouvelle application à base de PIC il est nécessaire de ressortir et recâbler toujours les mêmes composants (quartz, condensateurs, ...).

Avec cette petite carte toute simple, il devient possible de tester un bout de code ou un périphérique très rapidement.


  • PIC 16F84/16F628,
  • 11 ports d'E/S configurables individuellement en entrée ou en sortie, par cavalier,
  • Ports configurés en sortie connectés à des LED,
  • Ports configurés en entrée connectés à des dip-switch,
  • Ports E/S sortants sur pins,
  • Reset du PIC par dip-switch,
  • Port série RS232 avec connecteur 9 broches ou TTL, utilisant 2 ports E/S du PIC (PA0 et PA1),
  • Prises d'alimentation type pack accumulateur,
  • Connecteurs d'alimentation supplémentaire pour chainer plusieures cartes,
  • Quartz interchangeable,
  • Alimentation à l'aide d'une simple pile de 4.5v.

!!! Ne permet pas de programmer le PIC !!!

Le package ProtoBoardPic16.7z (en annexe) contient les schémas, typon et nomenclature.


Tombstone City pour NDS


En 1981, alors que le TI99/A4 de Texas Instruments venait de faire son apparition, je jouais à un jeu dénommé Tombstone City. Aujourd'hui, il ne me reste ni la machine ni le jeu mais l'envie d'y rejouer est toujours présente. J'ai donc décidé, il y a quelque temps de cela de ré-écrire, dans un premier temps pour Linux, ensuite pour Windows et aujourd'hui pour la Nintendo DS.

Si vous ne connaissez pas ce jeu, allez faire un tour sur les pages suivantes :


ou encore


Pour l'utiliser, il suffit de copier le fichier TombstoneDS/bin/TombstoneDS.nds quelque part sur la mémoire de votre linker et de le lancer.

Les touches sont les suivantes :

  • X ou A : Tir
  • Flêches : Déplacement
  • R ou L : Bouton panique. Replace le joueur au centre mais remet a 0 le score !
  • Select : Ré-initialise le jeu
  • Start : Pause / Continue

Le package TombstoneDS-05222008.7z (en annexe) contient les sources et le binaire.


MicroUK101 clone


Qui n'a jamais rêvé de réaliser un petit micro-ordinateur BASIC avec une petite poignée de composants ?

Ce montage a été conçu par Grant Searle. N'étant pas l'auteur de cette réalisation, je vous laisse le plaisir d'aller visiter son site à l'adresse suivante :



  • 32K RAM
  • Interface série 19200 Bauds
  • Affichage et les entrées-sortie via la liaison série
  • E/S redirigées sur la liaison série
  • 6502 à 8HMz
  • Basic Microsoft intégré
  • Moniteur CEGMON intégré.

Et bien plus encore ...

L'auteur n'ayant réalisé la carte qu'en wrapping, j'ai routé le circuit imprimé.

Le package MicroUK101.7z (en annexe) contient le typon (format PostScript), le PCB (format PCB) et l'implantation des composants.


Thermometre loggueur


Le but premier de ce projet était de mettre en oeuvre un afficheur graphique de téléphone portable Nokia.

Le montage présenté ici est un petit thermomètre autonome, permettant d'une part d'afficher toutes les secondes deux températures (intérieure et extérieure) et d'autre part, de visualiser sur deux courbes distinctes, les 72 dernières températures, prises toutes les 5 minutes.

Les principales caractéristiques sont :

  • Afficheur graphique 84x48 (LPH7779)
  • PIC 18LF452 en boitier TQFP (pas facile a souder mais tellement plus petit !)
  • Capteurs de température Dallas gérés par protocole 1-Wire
  • Alimentation par deux piles 1.5V
  • Le montage se loge dans une petite boite en plastique contenant a l'origine des vis.

Le package ThermoLog.7z (en annexe) contient le PCB (format Eagle), le typon 600dpi, les sources et projet MPlab pour le Pic.


Maze generator


This application is used to generate random mazes.
The package (attached) contains the source code. The implementation uses my own graphical library (Gfx).

- page 3 of 4 -