Questions tagged [gameboy]

The Game Boy was the first portable console released by Nintendo. It has a black and white screen and, compared to more recent portable devices, it has relatively simple programming API.

The Game Boy was the first portable console released by Nintendo. It has a black and white screen and, compared to more recent portable devices, it has relatively simple programming API.

Questions relating to the Nintendo Game Boy and Nintendo Game Boy Color consoles, along with development of games and their .

Questions relating to the Nintendo DS and subsequent consoles belong on . Questions relating to the Nintendo Game Boy Advance should use .

Useful resources

  • GBDK: GameBoy Developers Kit. Contains some of the essential tools for DMG Game Boy development, including an ANSI C compiler, assembler, linker, several libraries, and some example programs.
  • RGBDS: Rednex Game Boy Development System. An assembly toolchain for the Nintendo Game Boy & Game Boy Color
  • Awesome List: A curated list of Game Boy development resources such as tools, guides, technical documentation, tutorials, emulators, related projects and open-source ROMs.
  • GameBoy Dev'rs: Various resources, tutorials, and documentation for the original Game Boy.
  • GameBoy Advance Dev'rs: Various resources, tutorials, and documentation for the Game Boy Advance.
104 questions
1
vote
1 answer

Redirect MMIO requests to another address

I'm trying to modify GBA/NDS games so that they can be programmatically controlled, via a controller over a network. Games read input via the read-only 0x4000130 device register. Is there anyway to reroute reads to this address to another address?…
1
vote
1 answer

Double up bit gb-emu

Apologies in advance as this is an old topic. I was reading the following post on how the Nintendo logo data is decompressed and scaled before being copied into the v-ram during bootstrap and interestingly enough the data written does indeed look…
Faiz
  • 133
  • 1
  • 6
1
vote
1 answer

arm-thumb-elf-gcc: fork: Resource temporarily unavailable make: *** [main.o] error in Visual HAM SDK

I have installed visual HAM SDK for GBA development.I typed a basic program and compiled it then it gives me this error C:/gcc-arm/bin/arm-thumb-elf-gcc.exe -I C:/gcc-arm/include -I C:/gcc-arm/arm-thumb-elf/include -I C:/include -I C:/system …
Stark2022
  • 127
  • 11
1
vote
0 answers

Problem implementing LinkCable in a GameBoy emulator

I added a linkcable emulator to a gameboy emulator: https://github.com/maxbit89/GBEmulator The link cable is implemented in https://github.com/maxbit89/GBEmulator/blob/master/serial2sock.c The main thing is i don't shift SB(0xff01) i just swap it…
maxbit89
  • 748
  • 1
  • 11
  • 31
1
vote
1 answer

Assign palettes to tiles of an image to fit within N palettes of K colors each

I'm writing a tool for working with tiled images. One feature is to convert a whole image into a tileset and tilemap, e.g. a 160x144px image would have a set of unique 8x8 tiles and a 20x18 map of tile IDs. The next goal is to support palettes. On…
1
vote
1 answer

What's the point for the GameBoy of having multiple color palettes?

Each pixel is composed by two bits, allowing up to 4 shades of gray. From the LCD Monochrome Palettes section of the pandocs we can develop the algorithm for getting the color (in the case I've understood it correctly): COLOR_NUMBER_PALETTE_BITS =…
Julen
  • 1,024
  • 1
  • 13
  • 29
1
vote
0 answers

How to get the right colors in GameBoy Color?

I write GameBoy Color Emulator for fun and learn. Generating color for Gameboy classic work well, but in color version emulator generating bad colors. I declared BPI, BPD and OPI, OPD. I set up color extraction from background memory and sprites and…
Dante
  • 43
  • 1
  • 7
1
vote
1 answer

Trouble defining macros in C - Initializer element is not constant

I'm programming for the Game Boy Advance and I need to have a list of memory locations for each area(a bunch of RAM and ROM). However, while defining the macros in a header file, the compiler pointed out that on one macro, error: initializer element…
mathmaniac88
  • 630
  • 7
  • 22
1
vote
0 answers

GBDK -- Cannot Check "If Statement" Condition

I am new to programming in the C language. I just decided to pick it up for fun; I have hobbyist experience in Javascript, Java, and a few other languages. For whatever reason, I decided to learn C in the context of developing a program for the…
Ben Klayer
  • 61
  • 6
1
vote
0 answers

Game Boy GPU and Nintendo logo

I am trying to develop my own GB emulator, but I am having some trouble implementing the GPU. I have decided to start printing the Nintendo startup logo, unsuccessfully. Apparently, the problem is the byte order, according to this already solved…
HastatusXXI
  • 101
  • 9
1
vote
0 answers

Reconstructing Serial Image Data from Gameboy Printer Spoof

Nintendo created a printer that's compatible with the Gameboy. The Gameboy could print to it by means of a serial SPI link. I've used an STM32 to emulate a printer by capturing the data packets from the Gameboy and spoofing printer responses. The…
Xeyler
  • 96
  • 9
1
vote
0 answers

How to change execution speed?

I'm writing a Nintendo Gameboy emulator in Java, but I have a problem emulating the processor. The original clock rate is approx. 4.19MHz. How to do this? I've thought about putting in Thread.sleep(long, int), but it wouldn't work, because with it…
korochun
  • 145
  • 1
  • 1
  • 11
1
vote
1 answer

Determining when an Interrupt Routine will end for Gameboy GB Emulation

So for context I would like to let you know what I understand so far: Interupt Handling is called after an instruction execution and Interrupt Master Enable flag is set. Interupt Handling is comprised of serveral "interrupt routines" (for gameboy,…
butchtiki
  • 21
  • 5
1
vote
2 answers

GBZ80 - Code shortcomings

this kind of stems of gbz80 - IF statements I have a code that loops 0x167 times, writing to the screen. What I'd like to happen is for the script to loop three times. My script: d322 21A0C3 LD HL,C3A0h d323 016801 LD BC,0168h d324…
1
vote
1 answer

gbz80 - IF statements

I'm doing some coding in Z80 on VisualboyAdvance and I have no idea how to do an IF statement of any kind. I made a script to increment the value of each tile on screen starting at 0xC3A0. The screen data ends at 0xC507. My code is as follows: …