EBook Advance GBA

From GameBrew

eBook Advance
AuthorDan Cotter
Last Updated2001/09/15
Version0.3 beta Final

A Gameboy Advance Text Reader that allows you to use your GBA and flash cartridge to read text files. Fixed width and variable width font versions available.


  • Variable width 'verdana' font.
  • Line by line scrolling.
  • Page by page scrolling.
  • Color change abilities.
  • (0.3 beta)Automatically saves your reading position, settings.


Download contains 3 versions:

  • 0.3 beta Final Horizontal (Variable width font) - Has a variable width font for easy reading. Can change background and text color. Only one text size.
  • 0.3 beta Final Vertical (Variable width font) - Has a variable width font for easy reading. Can change background and text color. Only one text size.
  • 0.11 beta Final (Fixed width font) - Can rotate and scale the display. 2 Different fonts. Can change colors and store multiple txt files. Different text sizes.

To create an ebook:

  • Unzip everything in the .zip file to any folder.
  • For 0.3 beta, edit the text.txt file to include all the text you want to be on the rom.
  • For 0.11 beta, simply put all file txt files (maybe keep it under 5) into the folder.
  • You can insert tildes (~) anywhere in the text file and it will act as the start of a chapter.
  • Run the make_rom.bat file. The rom to use is called ebook.gba.


  • unix or mac text files are note supported.
  • The character 0xFF is reserved for EOF use. If your text file contains this character at a place apart from the end of the file, errors may occur.
  • Each tilde character should start on a new line. And they must be at least a screen apart otherwise they won't count.
  • There are limits on the amout of text data you can fit. 192KB of space is reserved for the program. So if you have a 64Mb flash cart you can fit about 8000KB of text data.
  • (0.3 beta) Text files are wrapped before they are put into the GBA rom. If you text files are already wrapped then you must unwrap them using the unwrap.exe, just type unwrap.exe in.txt out.txt at the dos prompt.

User guide

SRAM format info

First 8 bytes must be "EBOOKGBA" (its the header). Next 4 bytes are the number of charaters into the text file the read is (this should be the start of a new line). Next byte is the background color, and the next byte after that is the text color (only 20 colors at the moment, 0 - 19).

If you change what text files are stored you will need to reset your SRAM, else the saved data will be incorrect for the new book. To do this use faw20.exe (or whatever) to write junk to SRAM area (ie. some other games save file).


Horizontal/Vertical versions:

A/R - Next page

B/L - Previous page

Up/Down - Previous/Next line

Right - Change text colour

Left - Change background colour

Start - Previous chapter/tilde

Select - Next chapter/tilde

Variable version (in book):

A/B - Next/Previous page

R - Menu

Variable version (menu):

A/B - Next/Previous book

R - Controls/about/help

Up - Change background colour

Down - Change font colour

Right - Change orientation

Start - Read book

Left/L/Select - Not assigned


ebookadvance3.png ebookadvance4.png ebookadvance5.png


0.3 beta has been tested on real hardware using flash advance linker and worked fine. Also tested on emulators MappyVM 0.7b (worksfine), BoyCott 0.21b (splash screen is wrong - emulator does not support rotation scaling correctly, also displays text wrong sometimes or something) and iGBA (works fine).

0.11 beta was intended for emulator and it may not run well on real hardware (there is no button de-bounce so the buttons are extremely touchy).

Known issues

0.3 beta:

  • There are some minor bugs which allow you to goto the next page when you are on the last page.

0.11 beta:

  • If a line starts with a space it is shown as 2 spaces.
  • There is a bug where if you try to go to the next chapter and you are already viewing the last chapter then the first chapter will be shown and you will not be able to change chapters again. This will only happen for the first book and to change chapters again just goto the menu and press a or b to change the book back to the same book again).
  • Some of the orientations are bugged (due to rotation/scaling not taking into account zoom properly):

Orientation 8x8 16x8 16x16 4x8 Normal Yes Yes Yes Yes Sideways Yes No No Yes Backward Yes No No No Lefty Yes Yes No No



  • New graphics. SRAM support which automatically save you reading position and colors.


  • Speed improvements, and new graphics.


  • You can now use L or R to change pages as well.


  • First properly working version, can now read a whole text file.


  • Displays strings on the screen in the variable width font.


Special thanks to:

  • Jeff Frohwein (for Flinker).
  • Alexander Davidson (for Metapad).
  • Christain Maas (for XVI32).
  • Joat (for Hackit and MappyVM).

Special thanks to Neil Sidlow for the intro graphics.

All the helpful members from #gbadev on EFnet.

External links