Added some videos of the different Pikmin 2 e-Reader puzzle cards in action... 123
How does this works? The "Pikmin 2" game for GameCube uploads the puzzle loader program to the gba/e-Reader. Each card contains data for 3 levels. You can not use the cards standalone, you need the puzzle loader program to scan/play them. I might make a level designer to create custom levels if I get addicted to the game :)

2004-05-31

Added the GBA version of my Z80 "hello world", "mario sprite" and "custom background" examples. You will need devkitARM to compile the source code. Do not forget to change the PATH and PATH_LIB_GCC variables in the makefile. Run "make sav" to create a .sav file for testing purposes on either GBA emulator or hardware. You can use the Nintendo e-Reader Dot Code Maker online service to convert the generated "main.bin" file into a set of dot code bitmap files.

The Nintendo e-Reader can run following types of "executables":
* NES
* Z80
* GBA (ARM/THUMB)

The "NES" type are actually mapper 0 roms that run on the built-in NES emulator.
The "Z80" type contains Z80 code that runs on a custom built-in Z80 emulator.
The code can not access the GBA hardware directly, due to the emulation, but has access to a large set of API functions for graphics, sound, input, etc.
The "GBA" type contains native code which can access the hardware directly on top of the API, although it is not recommended.

So far the dot codes released by Nintendo only use the "NES" or "Z80" type. The "GBA" type appears to be only used by "loaders" which are uploaded to the Nintendo e-Reader through link cable by games such as "Super Mario Advance 4" (GBA) and "Animal Crossing" (GameCube).

Dot Code Printing Instructions

You need to print the dot code bitmap files using the "Nintendo e-Reader Dot Code Print" application which can be found on this page.
Go to the default options of your printer driver and set the DPI to 600 or higher and put some sheets of high quality inkjet paper in your printer.
Start the application and select your printer.
Verify that the detected "printer resolution" is "600 x 600".
Change the "dpi" option to "600" so it matches the "printer resulution".
Select the dot code bitmap file (*.bmp) that you want to print.
Print the dot code.
The dot code will be slightly larger than a real dot code and will positioned at the bottom of the page, ready to be swiped through the e-Reader.
Make sure the margin (area between dot code and border of page) matches the margin on a real card.
Change the "offset x" and "offset y" value to put the dot code somewhere else on the page.
The values are expressed as dots per inch at the current DPI of your printer (at 600 DPI a value of 300 would mean 1/2 inch).
If you are getting read errors, then something is wrong (duh!).
For best results use 1200 DPI (repeat the entire process except now select 1200 DPI instead of 600 DPI) and photo paper.
Always restart the application if you have changed any of the default options of your printer driver.