This blog is inactive

The blog part of this website is currently inactive and is being archived for posterity. You may still want to visit other parts of this website which are still operational, like the forum, wiki and file hub.

Other suggested resources:

Wednesday, April 1st, 2020 News No Comments

BGB 1.3 released

BGB 1.3

Note: This is an old post and many new versions of BGB have been released since. However, the download link below will bring you to the download section on BGB’s website where you can always find the latest version of BGB.

After a couple of months of development, BGB 1.3 was released. The two main features of this release are improved accuracy and graphics acceleration on Windows Vista and above. BGB 1.3 closely matches the real VRAM access timing behavior with sub-instruction precision. Beware (the author of BGB) now believes that BGB emulates the LCD timing of real hardware perfectly or nearly perfectly. (Here’s a list of specific things that are emulated accurately) 1.3 also supports Direct3D and OpenGL graphics output, which enables accelerated graphics output on Windows Vista and 7.

There’s also a metric shit ton of small improvements and bug fixes in various areas of the emulator and debugger. (As opposed to a long shit ton, a short shit ton, a shit ton shortweight, a shit ton longweight, or a deadweight shit ton of fixes.)
Selected improvements:

  • Memory access breakpoints were broken.
  • A bug where the currently focused panel in the debugger would lose focus when you used the arrow keys, was fixed.
  • The currently active panel is now highlighted with a gray bar on the left side.
  • Register flag checkboxes in the debugger register panel can be switched to change the current state of that flag.
  • GBC boot ROM support.
  • RTC (real time clock) saving is now compatible with VisualBoyAdvance.

(And more…)


Monday, February 7th, 2011 Emulators, News 2 Comments

Skate Boy Classic

Skate Boy Classic from Thorbjørn Nyander Poulsen on Vimeo.

The Skate Boy classic is an interactive sound installation, made by Christian Gjelstrup and Thorbjørn Nyander Poulsen, that provides Gameboy-generated auditory feedback to skaters as they skate through the ramp. The installation is using only a classic Gameboy (DMG) to generate the sound. To interface the Gameboy, they used LSDj in keyboard mode. The triggering mechanism in first version was realized with homemade triggers made out of cardboard and aluminum foil. In the second revision they repurposed an infraread burglar alarm sensor to trigger the sound when the unsuspecting (?) skater swooshed by.
The project is apparently part of their education on Medialogy at Aalborg University.

Saturday, October 2nd, 2010 Hardware, News No Comments

Yet another Gameboy emulator written in Javascript

“GameBoy Online“ Javascrip Gameboy emulator

“GameBoy Online“ running Proxima

When people want to write an emulator, Gameboy is usually the platform of choice, since it’s relatively simple, relatively common and relatively well documented. With the advent of faster Javascript interpreters and Canvas, it now seems like Gameboy emulators made in Javascript is an emerging trend.

The latest addition, tentatively called “GameBoy Online“, made by Grant Galitz, adds GBC support and primitive, pretty crappy, sound support, something the first two don’t do. It also has a fancy GUI. It seems to be slightly slower than the other two, however. Perhaps I ought to benchmark the three existing Javascript Gameboy emulators and see how they compare.

To try it, you need a ROM image. You can either enter it as base64 (Use a tool like this one to convert the file) or upload one in the user interface.

Wednesday, September 15th, 2010 Emulators, News 1 Comment

Gameboy development and music tool file archive

I’ve just started a Gameboy development and music file archive with the aim to find and mirror Gameboy-related utilities for music and software development. Currently, the only useful section is the music tools folder, but I’m planning to expand the development tools folder as well. If you have any file that you would like to see added, or just want to comment on the idea, feel free to leave a comment here, mail me on the address given below, or join the discussion on

Thanks to Scott Evans for making Indices and thus providing useful information.

Tuesday, September 14th, 2010 News, Web No Comments

DMG replacement motheboard

DMG Rolf

Rolf is working on designing a replacement board that can accommodate a DMG CPU as well as an Atmega168 that can be used for “ArduinoBoy” (a microcontroller program that allows a Gameboy to be receive MIDI) as well as holes in the PCB for the ever so popular “ProSound” mod.

Only some DMG revisions have the chip type CPU; most have an epoxy blob type CPU. However, a SGB CPU can be used instead. Not only are they pin, and otherwise, compatible, but the SGB CPU provides a fast and silent boot process without showing the Ninty logo or playing the start-up sound.

Read more and discuss

Monday, September 6th, 2010 Hardware, News No Comments

Gameboy emulators in Javascript!

It’s often stated that JavaScript is a special-purpose language, designed for use by web sites to enable dynamic interaction. However, JavaScript is a full object-oriented programming language, and is used in arenas besides the Web: the Widgets available for recent versions of Windows and Apple’s Mac OS are implemented in JavaScript, as is the GUI for the Mozilla application suite.

With the recent introduction of the <canvas> tag to HTML, the question arises as to whether a JavaScript program is capable of emulating a system, much like desktop applications are available to emulate the Commodore 64, GameBoy Advance and other gaming consoles. The simplest way of checking whether this is viable is, of course, to write such an emulator in JavaScript.

This article sets out to implement the basis for a GameBoy emulation, by laying the groundwork for emulating each part of the physical machine. The starting point is the CPU.

This project by Imran Nazar aims to emulate a full Gameboy in Javascript using Canvas, while documenting the process.

The source code is available at his github repository, but for your convenience, there’s also an instance here that you can try out. Try replacing “” with “” for a different demo.

However, the idea isn’t new. The similarly named JSGB by Pedro Ladaria, which existed a year ago. The emulator can be tried out at that URL above. I have yet to extensively compare the two in terms of speed and functionality.

And unless my memory fails me, both of them were preceded by a much more primitive GB emulator/debugger written in Javascript which didn’t emulate graphics and only allowed you to single-step the code, that existed several years ago. Does anyone know what I’m talking about and what happened to it, if it even existed?

Monday, August 9th, 2010 Emulators, Links & info 1 Comment

NES RetroVision – Gameboy on a NES cartridge

RetroVision Front

Finally a new post on this blog. :)
RetroVision by RetroUSB is half a Gameboy attached to a NES cartridge which converts the display data into something the NES display using magic programmable logic, much like Super Gameboy for SNES or or Nintendo’s Demo Boy which was used in stores to showcase Gameboy games. The RetroVision does contain an authentic DMG motherboard; there are even holes in the cartridge for the link port and headphone output, although the sound is supposedly routed to the NES as well.

Here’s my own criticism/nitpicking of the product:

  • It lacks screen stretching. While I of course understand that this would take some effort, especially with the 3/2 zoom ratio needed to fill the screen, I think it would’ve greatly increased the general appeal of this product.
  • Another thing that would increase the appeal of the product for musicians would be if you offered the so called ProSound mod, i.e. bypassing the onboard amplifier which gives a slightly better sound quality. Perhaps with RCA sound outputs.
  • You could probably simplify the manufacturing process a bit by using a ribbon cable instead of individual wires for the video signal.
  • Away with the DMG’s power regulator board! There’s absolutely no reason to keep it, but one good reason to throw it away, namely that it produces noise. The NES should supply a perfectly adequate 5V while the (nominal) -18V isn’t needed since the LCD isn’t there anymore.

The RetroVision will sell for $130, but so far only 4 units have been produced because of the intricate manual assembly process. BunnyBoy of RetroUSB doesn’t expect this to a big seller, but more of a platform to build other future products on.

Official info post on NintendoAge

Tags: , , ,

Thursday, May 6th, 2010 Hardware, News 5 Comments

SGB bootstrap ROM dumped by Costis

About 6 years ago Neviksti managed to dump the internal 256 byte bootstrap ROM used by the DMG (First model Game Boy) to scroll down Nintendo logo, play the po-ling sound and confirm that the cartridge header is in order before allowing the cartridge to be executed. He did so by opening up the epoxy covering the chip and reading out the memory visually bit by bit though a microscope. This was groundbreaking because there was no ordinary way to read the ROM as it was shut off by an internal register after boot-up.

Just the other day, costis dumped the corresponding ROM image from the SGB (Super Game Boy) with a slightly different method, namely clock glitching. Costis’ method is using an FPGA to run the system clock normally up until the point where the protection register is to be written. At that point the clock frequency is increased to such a fast speed that the write is ignored by the protection register and the execution continues into the user code, which then dumps the 256 byte big code. The operation was surprisingly painless according to costis himself. Next up is the GBC which is believed to have a bootstrap ROM bigger than 256 since its start-up procedure is much more advanced, distinguishing between GBC and DMG, and letting the user choose palettes for monochrome games.

For more info, see costis’ SGB hack page.

Saturday, September 19th, 2009 Hardware, News 1 Comment

New server + wiki editing is now moved to a new server. Because of this, I’ve now been able to update MediaWiki to the latest version which will hopefully make some minor things work better.

It’s also possible to edit the Game Boy Development wiki again. To get access to editing the wiki you first need to register a forum account. When you have activated your forum account, use the same username and password to log in to the wiki. We apologize for the extra step in the registration process, but we’d like to keep the wiki completely spam free.
The purpose of the wiki is to collect, archive and preserve information, documents and tutorials related to Game Boy development, as such resources are slowly vanishing from the internet. Tutorials, example code, obscure tech documents that you have lying around, anything is welcome.

Tags: ,

Friday, July 3rd, 2009 News, Web No Comments