Picture of a GameBoy

Jeff Frohwein's GameBoy Tech Page


What's New ?JobsDocs Software HardwareLinks-Search

Software


Assemblers

RGBDS Assembler

RGBDS is the most powerful, publically available assembler for the GameBoy. Otaku now is the official maintainer of the RGBDS assembler package so visit his page to get the latest version. Source code is available as well so versions for other platforms can be built as well.

TASM - GameBoy Table ASseMbler v1.6

This is the latest version of the DOS Table Assembler (TASM) V3.0.1 and a table for GameBoy.

Gbasm

Here's a GB assembler for Linux.

Advanced GameBoy IDE 0.66beta

This is a machine-language assembler environment for DOS. Will let you edit, compile, and view your source code in different colors. Another creation by MegaMan_X.

WLA - Yet Another GB-Z80 Macro Assembler

As the title mentions it's a GB assembler project in progress for DOS, Linux & Amiga.

RGBFIX.EXE

I have found RGBFIX.EXE in the RGBDS Assembler package to be the best program available for preparing your C or Tasm code to run with VGB or a real GameBoy. It pads the file size, fixes complement, calculates the checksum, and more!


Disassemblers

GBDis v1.3

This is a disassembler for GameBoy that runs under DOS that I started writing back in 1993. Note that this program locks up if the ROM to disassemble is larger than 32k bytes. Use a program such as 'subset' to carve up a larger ROM into 32k byte size files. (Look in Misc PC Apps for 'subset'.) It has many options for output that should satisfy most peoples tastes. The output can be compiled with the Table ASseMbler. A link to the tasm assembler can be found in the software section.

DiZ Dissassembler v1.1

Here's the latest GB disassembler by HeroZero. It now reads the .sym files from tasm.

frEk's GB Disassembler

On this page you can find frEkdis GameBoy disassembler with parser to find the difference between code and data & GameBoy 3ds: A 3d studio mesh of the GameBoy Color and a cartridge.


C Compilers

GBDK C Compiler

Check here if you're looking for an ANSI C compiler for GameBoy. It is based on the popular 'lcc' compiler that is a portable design.

GameBoy Small C Compiler

This is the early GameBoy small C compiler developed by Pascal Felber. This is the original compiler that has since been replaced by the GBDK 'lcc' compiler.


Tile/Map Editors

GB Tile Designer / GB Map Builder

Here is the latest versions of these packages for windows.

Tile Buddy

This is a powerful tile/map/animation editor for windows.

Ggtedit

Here's a tile editor for Linux.

GFTile v0.09 Alpha release

This is the latest version map/tile editor by Mike Mika for DOS for GameBoy. It outputs in TASM assembly language format.

TILE256 Map Editor v1.1

This is a DOS program I found on a garbo programming page. A map editor displays/edits a bunch of custom made tiles. This map editor also has a built-in tile editor. The combination of the two can save a person many hours designing game backgrounds or graphics. It is designed for editing/displaying 256 color tiles. I have written TILE256 Converter v1.1 to convert the 256 color file output to a four color assembly language format usable by GameBoy.

TILE256 Converter v1.1 & TILE256 Map Mirror Flip v1.0

TILE256 Converter for DOS converts TILE256 output to a GameBoy format assembly language file. Now supports two color output as well. TILE256 Map Mirror Flip is a utility for TILE256. Here is the Map Mirror Flip description. C source code is included in both.

GBDK Sprite Editor for Windows

Here's a GBDK sprite editor for windows by Paride Odierna.

OGBBTC

An Onboard GB tile creator. Edit tiles on your GB! Also find printer driver code for GBDK here.


Sound Editors

Music Box

A music and sound effect system and editor that can be used in commercial and hobby games and demos. The tracker is running on the target system.

Nanoloop

Nanoloop is a synthesizer / sequencer for the Nintendo Game Boy (TM). As it is a pure software product and stored on a normal game cartridge, it can be used on any Game Boy. And as it provides all necessary functions to produce nice electronic music, no further hardware is needed.

MM_X's GameBoy Wave Converter

One program allows you to convert raw 8-bit audio files to GB format wave files that can be played on the GB by dynamically updating GB wave RAM memory ($ff30-$ff3f). Two programs are included in this freeware DOS package. RAW soundfile to GameBoy 4-bit (also "packs" nibbles together), GameBoy 4-bit to RAW soundfile ("unpacks" nibbles). It runs fine in a Win95 DOS box.

GHX Sound Engine

The GHX development system is not available for commerial or non-comercial use. They only provide music composed for your project bundled with the GHX player.


ROM Apps

GB Basic v2.00

Initial support for GBC. This is a ROM for GB/GBC that allows you to run interpreted BASIC programs. Here are the language specs.

GBDebug v1.3

This is a ROM that allows you to view the memory in the GameBoy. A mini-assembler/disassembler is included. Source code is included!

GBClock v1.2

Now saves 16% or more battery power by disabling sound circuits during silence. Still runs about 2.4% fast on a SGB due to it's slightly faster CPU clock. Here's the first program to use many of the words in the speech library. It is a talking clock for GB in English! NOTE: It won't work on any of the emulators, only on a real GB. Included is the rom & source code.

Hicolor Animation Engine

Here's a demo ROM & RGBDS source code I wrote for playing back 6 FPS hicolor photos on the GBC for short animations. Each frame takes 8K bytes of ROM space. You can get 8+ FPS by using HDMA as well but this demo only uses GDMA alone.

Print Screen Demo ROM & source code

Here's GB asm source code written by ClapOn/ClapOff for doing a Print Screen to the GB Printer. Also included is a demo ROM for testing on a real GB with a printer.

Car demo ROM & source code

Here's a rear-view car driving demo I wrote a few years ago to demonstrate curved roads, changing road perspectives, etc. The road itself is actually a fixed picture in video memory. The road bending & other effects are due to dynamic SCX register changes and good-sized data lookup tables. Included is RGBDS source code.

Space Invaders-style Demo v1.0

Here is the source & rom code for a scan line scrolling method. Here is the theory for how it works.

Pascal's Sprite Priority Demo

Allows you to test all 40 sprites at once. Includes C source code.

GBAPA2

The author of GBSIM has modified my GBAPA routines and this is the result. He is using a different line drawing routine that works flawlessly. Included is Assembly Source & executable.

Talking GB - Pi to 20 decimal places in English

Want to hear your GB recite Pi to 20 decimal places in English? Download this and try it out on a real GB. (Won't work on emulators.)

Apocalypse Now

Here's a little sprite and scrolling background demo by Matthew. Works on a real GB and tasm src code included.


Misc PC Apps

tga2gbc v1.3

Fixed a picture skew problem on the PC screen & added non-blur support for 4 color cells. Here is a DOS program I wrote to convert a .tga graphic file to GBC hicolor format. It will allow you to display your own 128 x 128 pixel photo on the GBC in up to 2048 simultaneous colors. The DJGPP C source is also inside. Included is a MAKEROM batch file for viewing the results on a GBC.

Jeff's GIF2GB Convertor

Here's a GIF2GB convertor for DOS I "threw" together. Not too refined but it does work and has more detailed dither support than any other I've seen. As well as support for large maps.

RISC OS Gameboy Development Kit

Hey, it could happen...

GBBC v1.21B

Use this version instead! V1.21 didn't work! Here's the GBBConv program for DOS by Micah Dowty that's been updated to GB Basic V1.21 by myself. It allows you to convert to and from ascii text and GB Basic save RAM format for uploading/downloading with a cart reader/writer.

MIDI File Display v1.1

Here's a program & C source code I wrote for DOS to display the contents of a Standard MIDI File (SMF).

GameBoy Terminal v1.7

Rewritten to support Rev G cable (Rev E & older cables are no longer supported!). This program for DOS works with GB Basic V1.20 and later and the GameBoy - to - Parallel Port cable to allow you to download BASIC programs or to control the GameBoy directly from an IBM-PC. Includes C source code & theory of operation. NOTE: GB BASIC MUST BE RUNNING IN YOUR GAMEBOY OR THIS PROGRAM IS USELESS.

Subset v1.0

Here's a program I wrote for DOS (with DJGPP C source) for returning a subset of data from an input file. The starting offset & the length for data can be specified in hex or decimal.

Even/Odd File Splitter

Here's a program I wrote for DOS (with DJGPP C source) for splitting a file into even & odd bytes.

B2X v1.0

Here's a program I wrote for DOS (with DJGPP C source) for converting a binary file to C or assembly DB statements. It has many options including 8/16 bit, RGBDS/TASM format, dec/hex, optional labels, big/little endian, specify number of columns, etc.


Assembly Code / Font Libraries

Libs page

Here is the assembly code / font libraries page.


Misc Code

SuperSmartCard Menu Disassembly, 25-Mar-97

Here is a disassembly of the 4Kbyte menuing system that resides in the SuperSmartCard when more than one game is loaded. It allows you to select the game you wish to play. Like most things, it could be documented more but the comments already are pretty good.

GRABIT Screen Capture for VGB-DOS

Here are various utilities by Thorleif Bundgaard for DOS: capture a screen from VGB-DOS to a PCX file (including x86 source code) & convert PCX to GB hex file (for QBASIC).

Super Smart Card Software

A program & C source code for downloading a program to the Super Smart Card can be found on this page!

Floating Point Math Package v1.2

This is a standalone math package for GameBoy or Z80 processors that I extracted from GB Basic. It might be useful for any application that require precision calculations. It was compiled with TASM and here are the specs.

PCX-to-GB Tile Converter

This PCX to GB Tile Converter was created by Thorleif Bundgaard. It is written in Quick Basic.

Hero Zero's Graphics Converter

Convert PCX graphics to gameboy tiles with this program by HeroZero.

C compiler Demo Source Code

This is C source code for two of the demos listed below.

C Compiler Demos

Here are demo programs for the GameBoy Small C Compiler. The demos that use sprites don't yet work on a real GameBoy, but work fine on VGB.

Division Code

Here is a routine I dug up to do a 16 x 16 bit division in assembly.

Task-Switching Code

More assembly code by Tom Hammersly to handle multi-tasking code or operating system.

GBWIN

Here is an assembly language program for GameBoy by Tom Hammersly that displays PC-text-mode style windows on the GameBoy.

C compiler Demo Source Code

This is C source code for two of the demos listed below. I will post the C compiler as soon as I can. I don't really know EXACTLY when yet though.

C Compiler Demos

I haven't been given permission yet to release the C compiler for GameBoy, but here are demo programs that were created with it. The demos that use sprites don't yet work on a real GameBoy, but work fine on VGB.

Speech Lib in English - Vol 1

Here's the first GB speech library in English I promised. (For playback with 'sample1.asm' on Libs page.) Included are 0-12,A,M,P,T,Amps,Clock,Degrees,Fif,Hundred,Oh,Point,Teen,Thir,Twen & Volts.

Original HeroZero Z80 Demo

This program written by HeroZero was the example I used to get me started programming the GameBoy. It is the original version and won't compile with TASM. It requires a Z80 assembler for assembly. All it does is show a credits screen so don't download expecting excitement.