mgbdis
rgbds
Our great sponsors
mgbdis | rgbds | |
---|---|---|
6 | 13 | |
223 | 1,247 | |
- | 2.2% | |
4.5 | 9.7 | |
7 months ago | 6 days ago | |
Python | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mgbdis
-
Exploring the Gameboy Memory Bank Controller (2020)
Game Boy disassembler: https://github.com/mattcurrie/mgbdis
You can compile the ROM's back with rgbds: https://github.com/gbdev/rgbds
Here you can see how bank switching works.
-
Ghidra - Editing Gameboy ROM for Analogue Pocket
I didn't use Ghidra, I only used mgbdis to create a disassembly. Patched it and then reassemble it.
-
ROM Hacking Guide
You make it sound like there's a machine you can put a Game Boy ROM into and get out a disassembly, which is kinda true (https://github.com/mattcurrie/mgbdis) but it doesn't automatically split out data blocks or anything like that - it just tries to crawl the ROM and disassemble any code it can find. It's certainly not "effectively no additional work" than making targeted alterations to the binary and documenting your work.
And that's before you get to platforms where most if not all games are written in C - I question whether a mere disassembly of a game like Pokemon Emerald would even be useful to anyone, whereas the pokeemerald decompilation (https://github.com/pret/pokeemerald) is clearly useful but was a heck of a lot more work to produce.
> That's a hurdle, but not an insurmountable one... unless the system didn't even support banking. (Are there any systems that didn't?)
Depends what you mean by "support". I don't think any system has a built-in mapper - they just assign a chunk of memory space to the cartridge bus, and if your game is larger than that chunk of memory space you include a mapper on the cartridge. Nintendo provided standard mappers for machines like the NES and Game Boy because it's very hard to include a substantial game in the wedge of memory space you get on the processors in those machines, whereas only one game on the Genesis/Megadrive needed one.
rgbds
- Gameboy Technical Reference for Homebrew Developers
-
Game Boy Competition 2023
This is a game jam where you make a Game Boy game in three months. If you don't know a lot of programming you can use GB Studio, you can learn the nitty gritty of how the Game Boy works by using assembly programming with RGBDS, or you can use C with GBDK or ZGB.
-
Exploring the Gameboy Memory Bank Controller (2020)
Game Boy disassembler: https://github.com/mattcurrie/mgbdis
You can compile the ROM's back with rgbds: https://github.com/gbdev/rgbds
Here you can see how bank switching works.
-
Gameboy Programming in 2022/2023, what are the best tools?
Probably not exactly what you want, but maybe worth checking out just in case: https://rgbds.gbdev.io/
-
Errors Building Anniversary Red
Clone the specific version of rgbds we need (0.2.0 and 0.2.1 had segfaults on linking, but 0.2.2 seems to work just fine) git clone -b v0.2.2 https://github.com/gbdev/rgbds.git cd rgbds make cd ..
-
Ghidra - Editing Gameboy ROM for Analogue Pocket
rgbfix is part of rgbds
- Finally found the perfect screen replacement.
-
[pokecrystal] Issues when building custom rom with rgbds v0.4.2
I'm now picking this project again, and stuff moved a huge lot ! I picked up the latest version of rgbds (v0.4.2) and of course, my ROM didn't compile. I fixed all the issues that popped out, and it now compiles fine again. Unfortunately, it created new issues that I'm having issues to troubleshoot, hence my post which is a call for help, or just pointers to fix it up.
-
I made a CHIP-8 emulator that runs on the Nintendo Gameboy
Nice! I glanced over your source --- the fact that you wrote this in pure asm (and not with some GB dev game compiler like RGBDS) is great skill. Good work!
What are some alternatives?
gb-studio - A quick and easy to use drag and drop retro game creator for your favourite handheld video game system
z88dk - The development kit for over a hundred z80 family machines - c compiler, assembler, linker, libraries.
awesome-gbdev - A curated list of Game Boy development resources such as tools, docs, emulators, related projects and open-source ROMs.
pokered - Disassembly of Pokémon Red/Blue
ENGAGE - Source code repository for ENGAGE: Battery-Free Game Boy
pokecrystal - Disassembly of Pokémon Crystal
Droneboy - Drone music application for Gameboy
PICO-GB-CART - Using the Raspberry Pi PICO inside the Gameboy
gbpxl - An invisible interface between Game Boy Camera and ESC/POS compatible printers.
Peanut-GB - A Game Boy (DMG) emulator single header library written in C99. Performance is prioritised over accuracy.
gbdk-2020 - An updated version of GBDK, C compiler, assembler, linker and set of libraries for the Nintendo Gameboy, Nintendo Entertainment System, Sega Master System, Sega Game Gear.