Questions tagged [game-boy]

Nintendo Game Boy and Game Boy Color: use, maintenance, design, programming and emulation.

Filter by
Sorted by
Tagged with
37
votes
4answers
11k views

Why do Game Boy games have explicit save functions, instead of using battery-backed non-volatile cartridge SRAM to store the game state?

Game Boy games used a battery-backed SRAM module for their save states. Since the SRAM module retains its whole content, why do Game Boy games always need a manual save operation? Wouldn't it be much ...
21
votes
2answers
5k views

Did the Super Game Boy (1) run 2.5% or 4% faster than a Game Boy?

For years, I've heard "4%", repeated over and over. But then I read this today: The original release of the Super Game Boy runs about 2.5% faster than an original Game Boy. And the source ...
7
votes
1answer
308 views

What could be the reason an `LD B, B` instruction was used in this busy loop?

The Game Boy game "Tetris" leaves a transmission interval of about a millisecond between bytes sent over the serial link, as suggested by the official Game Boy Programming Manual, to give ...
0
votes
1answer
207 views

Startup behavior of Gameboy - what to replicate in an emulator? [closed]

I'm new here. Let me know if this is the wrong place to ask this kind of question. I'm planning to build a Gameboy emulator. Before I start, I want to have a clear understanding of the startup ...
7
votes
2answers
278 views

Why do sprites lag behind a scrolling map in first-generation Pokémon games?

This is something I often notice whenever I see a first-generation Pokémon game being played on a Game Boy emulator. It might be present on real hardware as well, but I don’t have that to test. When ...
2
votes
1answer
141 views

Did the RTC in certain cartridges get power over the GBA bus?

Some GBA games, like Pokemon Ruby, contained an internal RTC with a small button battery to power it. When the cartridges were inserted and the GBA was powered on, did the RTC continue to run on the ...
10
votes
1answer
1k views

How can a Game Boy game “glitch-inherit” the music from a different game like this?

Just now, I saw a stream of a person playing Game Boy games. The technical setup is like this: Real American SNES. Real Super Game Boy 2. (Only released in Japan; fixes the speed bug in the Super ...
4
votes
1answer
208 views

When was the Game Boy Pocket released in Europe?

You'd think this would be the simplest thing in the world to find out, but Wikipedia and all other sources just mention the USA and Japan release dates -- not the European one. I have no idea why ...
11
votes
3answers
3k views

In Tetris on Game Boy, does the speed increase depend on time or on the number of points?

I always start at level 9, game mode A. At some point, whether it's based on time or the number of points, the blocks start falling so fast that the "down button" feature loses all meaning; ...
1
vote
2answers
505 views

Why doesn't Nintendo fire up the old factories and re-produce *exact* copies of many of their most popular games, controllers and consoles? [closed]

Let's suppose that Nintendo announce tomorrow that they are going to create exact re-releases of the American and European NES, SNES and Nintendo 64 consoles, exactly the same as when they were ...
3
votes
1answer
248 views

How does the GameBoy's Memory Controller MBC1 Work in Mode 1?

In short, are banks 20h/40h/60h accessible in mode 1? The Pan Docs state that when in mode 1, those banks become accessible. "...on large carts (using the secondary banking register to specify ...
9
votes
1answer
906 views

On the LR35902, what does the assembly 'LD (HL-),A' do?

I'm working on implementing the instructions of the z80 chip inside a gameboy for an emulator. I'm starting with the instructions in the boot rom that sets everything up. I've implemented the first 3 ...
4
votes
2answers
1k views

How does the RST operation of GameBoy (SHARP LR35902) work?

The GameBoy CPU Manual talks about restart operations on page 116. Each of these operations push the current address onto the stack, and then jumps to a specific address (0x00, 0x08, 0x10, etc, ...
1
vote
1answer
164 views

How can I fix this clacking sound made by the Game Boy speaker?

I have a Game Boy, and whenever it tries to play sound, the sound is very quiet but there's a loud clacking sound. Here is a sample. In this case, it is Tetris Attack playing: https://soundcloud.com/...
3
votes
1answer
278 views

How do you switch ROM banks on Gameboy MBC2 Cart with INLRetro dumper

I have an INLRetro cart dumper. The software for the device is incomplete and in beta form. I've been able to dump Tetris and it works (because it's ROM fits into bank 0). When I attempt to dump ...
0
votes
1answer
154 views

How is the LCDC (LCD Control) register manipulated on the Gameboy?

I don't see it listed anywhere in the 0000-ffff address space. Is it controled by the CPU? Or something else entirely?
8
votes
1answer
454 views

What technological limitations required the “box” system in gen 1 Pokémon games?

In Pokémon Red/Blue (USA, I'm assuming in other gen 1 releases as well), you can carry 6 pocket monsters with you at once. Extra ones are stored in "boxes" on the computer. If you have 6 ...
27
votes
2answers
8k views

How does the Gameboy Link Cable work?

I've been looking into implementing Gameboy Link Cable compatibility into Bizhawk (which does not support it yet) using Lua. The problem is that I can't find any mention of how it works online. I ...
10
votes
2answers
576 views

Why is the Interrupt Enable Hardware Register in the HRAM area on the Gameboy?

It's something I've always been wondering: Almost all of the hardware registers on the Gameboy are placed between $ff00 and $ff7f (with plenty of gaps and empty space), the HRAM is located between $...
10
votes
2answers
2k views

Is the Game Boy Sharp LR35902 object-compatible with the 8080/Z-80?

(Note: by "object-compatible" I mean that the opcodes and their following operands are the same—the assembler produces the same output for equivalant assembler mnemonics. This of course ...
9
votes
2answers
2k views

How does Game Boy / Sharp LR35902 HRAM work?

The Nintendo Game Boy has RAM called "HRAM" (meaning "high ram") decoded at locations $ff80 through $fffe. (All other decoded locations in the $ffxx page appear to be I/O device and system control ...
12
votes
3answers
3k views

On a Gameboy, what happens when attempting to read/write external RAM while RAM is disabled?

According to the GBdevwiki: 0000-1FFF - RAM Enable (Write Only) Before external RAM can be read or written, it must be enabled by writing to this address space. It is recommended to disable ...
1
vote
1answer
294 views

How does the Gameboy address external hardware?

Where in the memory map ($0000-$ffff) does the Gameboy address the memory of these accessories? (for example, the battery or the Gameboy Printer). Is this something I should implement in an emulator?
26
votes
3answers
18k views

What does a Nintendo Game Boy do when turned on without a game cartridge inserted?

When a Nintendo Game Boy is turned on, it displays a logo read from the cartridge (looking like this) before starting the game. What does it display if there's no cartridge inserted from which to read ...
21
votes
5answers
3k views

Why is the unchangable Nintendo Game Boy logo in the cartridge?

According to Gameboy [sic] Development Wiki page The Cartridge Header, locations 0x104 through 0x133 in the cartridge contain a bitmap of the Nintendo logo that's displayed when the Game Boy is turned ...
23
votes
3answers
7k views

How does the Gameboy's memory bank switching work?

I'm writing a Game Boy emulator, but I don't completely understand how its memory mapping works. Here is what I (think) I know (and don't know). The CPU can address up to 0x10000 memory locations ...
16
votes
1answer
5k views

How did the Game Boy Advance stretch Game Boy games to widescreen?

The original gameboy, GBP and GBC all had screen resolutions of 160x144[1] while the Game Boy Advanced had a resolution of 240x160[2] So how does the actual stretching occur? It seems pretty uniform, ...
10
votes
2answers
6k views

How did Satoru Iwata compress Pokemon GS to fit two regions on a single cartridge?

Satoru Iwata's story of saving the development of Pokemon Gold & Silver by compressing its assets to fit on the GameBoy Color cartridge is something of a legend. Iwata optimised the game so much ...
1
vote
1answer
331 views

What don't I understand about this LR35902 code?

The question you are now reading is about a comment on this question, about overflow bugs in some Pokemon game. A comment on that question says: It was Game Freak's first project. They just were ...
6
votes
1answer
3k views

Is my Japanese Pokemon Red cart fake or damaged?

I recently got this copy of Pokemon Red (JP). After an indeterminate amount of time (anywhere from 30 seconds to 30 minutes), it will cause my GB Player to crash. I have functional copies of Yellow ...
13
votes
3answers
3k views

Role of the Z80 co-processor in GBA games

The Nintendo Game Boy Advance had a Z80-like processor which was typically used for backwards compatibility with GB and GBC games. According to its Wikipedia page, an uncited comment claims that the ...
2
votes
1answer
2k views

Physically emulate Gameboy cartridge using Raspberry Pi? [duplicate]

This is an extension to the question NES cartridge rom emulation with arduino or pi?, which asked whether it would be possible to physically emulate a NES cartridge using an Arduino/Raspberry Pi (RPi)....
2
votes
3answers
4k views

Game Boy save problem

I have an original Game Boy, and I know that saving is broken because Tetris won’t save my scores. How does saving work in Game Boy games, and are there any games that save without the use of the ...
9
votes
1answer
1k views

How do you remove an LCD bubble on an unmodified Game Boy?

On an unmodified Game Boy Pocket, a small round ~0.5mm diameter bubble appeared on the center-left side of the screen eight months after I had last used it (there was no indication of it previously). ...
9
votes
2answers
3k views

How to get a dump of a particular ROM?

How do I create a dump of a Game Boy game so that I can have it for backup as a ROM? I know that I can download the ROM (though slightly illegal) if I really wanted to, but I want to know "how" ROM ...
24
votes
5answers
6k views

Why did Pokémon Red have so many overflow bugs?

(This question also applies to other Game Boy games, but Pokémon seems to be one of the best-documented.) Pokémon Red & Blue (Red & Green in Japan) is a pair of Game Boy games about capturing &...
13
votes
2answers
1k views

How can I build Gameboy Development Kit 2.1.5 on a modern Unix/Mac platform?

Continuing with my quest to build the Infinity Game Boy Color source code, I am trying to build the Unix source of GBDK 2.1.5 on my macOS El Capitan machine. Trying to make the files in the lib ...
12
votes
1answer
2k views

Game Boy DMG to VGA

I have a Game Boy DMG with a broken screen that I want to turn into a small arcade machine, so I need to display the Game Boy screen on a bigger (computer) screen. I tried doing so with an Arduino. I ...
13
votes
1answer
3k views

What is this unused memory range in the Game Boy's memory map?

Here is a basic memory map of the Game Boy's 16bit address bus: 0000-3FFF 16KB ROM Bank 00 (in cartridge, fixed at bank 00) 4000-7FFF 16KB ROM Bank 01..NN (in cartridge, switchable bank number) 8000-...
6
votes
2answers
471 views

Game Boy Sound System Unused Memory Locations

I was looking at a memory map of the DMG-CPU-03 soundchip in the original Game Boy and noticed the memory at registers FF27 through FF2F are unused: Name Addr 7654 3210 Function ----------------------...
31
votes
2answers
35k views

GameBoy Color games do not save any more

I have a Nintendo GameBoy Color with some games that support saving your game status and also have a real-time clock, like Pokémon Red and Pokémon Silver. But recently the game does not save any more,...
12
votes
2answers
2k views

How can I rejuvenate Game Boy contacts? [duplicate]

I've got an old Nintendo Game Boy, with a number of games for it. The problem is that most of these games don't load any more, and I suspect that's an issue with the contacts either in the unit, or in ...