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.)
- 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.
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.
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 use one of the following URLs:
http://gbdev.gg8.se/files/gboroms/TEST.GB http://gbdev.gg8.se/files/gboroms/proxima.gb http://grantgalitz.org/gameboy/romStorage/instr_timing.gb http://grantgalitz.org/gameboy/romStorage/cpu_instrs.gb
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 chipmusic.org.
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.
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.
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.
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.
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.
Gameboydev.org is now moved to a new server (In fact, the same server as 8bitcollective is hosted on) 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.
People said the same thing about Game Boy emulation on the TI-8x series of calculators. Yet, calc84/calc84maniac recently released the first public beta version of his TI-boy SE emulator. And it even has sound.
The emulator works on some TI-8x calculators (TI-83+SE, TI-84+, and TI-84+SE) and has support for a small number of games, for example Tetris, Zelda – Link’s Awakening and Kirby. Even if it’s slow, and sometimes glitchy it’s an amazing feat. I would definitely dub this the coolest TI calculator project of this year. (Or perhaps ever…)
The emulator works by using the similarity between the Z80 and the Game Boy CPU (which is a reduced and slightly modified Z80) in a clever way. I’ll write more about the details in a future post.