gb-test-roms
gb-ctr
gb-test-roms | gb-ctr | |
---|---|---|
17 | 6 | |
429 | 308 | |
4.0% | - | |
0.0 | 6.8 | |
almost 9 years ago | 12 days ago | |
Assembly | Typst | |
- | Creative Commons Attribution Share Alike 4.0 |
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.
gb-test-roms
-
What's everyone working on?
Make sure you incorporate testing your implementation with test roms: https://github.com/retrio/gb-test-roms Do this as early in the project as possible. This will save you a huge migraine later on.
-
Some GameBoy games running at half speed
Have you tested your emulator against blargg's instruction timing test ROM? I believe this one only checks cycle counts, not memory timings: https://github.com/retrio/gb-test-roms/tree/master/instr_timing
- Need some help on how to progress with my gameboy emulator after opcodes.
- Getting weird desync on Super Mario Land (GB) between the attract mode and real gameplay. Any ideas?
-
Me again... Blarg's Gameboy test ROM
Yeah the source for cpu_instrs is in github. https://github.com/retrio/gb-test-roms/tree/master/cpu_instrs/source
-
What memory address do I load Blaargs test ROMs into? Is it 0x0100?
I actually have a question about this. I've been building a Gameboy emulator, the CPU works but when it runs the RET instruction the PC jumps to some really high address like 0x2000 or something when it's meant to jump to somewhere around 0x400 instead (after comparing it with another GB emulator). I think the RET address is meant to be read from HRAM, where the stack is stored, but when I look there it is the value around 0x2000 like I mentioned earlier. Are there any special quirks with this section of memory that I might not have implemented? I'm pretty much just reading and writing from an array for HRAM at the moment. I'm having the issue on one of blarggs cpu-instrs test roms https://github.com/retrio/gb-test-roms/blob/master/cpu_instrs/cpu_instrs.gb
-
Best documentation for the details?
So just start with implementing the CPU's fetch/decode/execute loop and a rudimentary memory bus, so that you can run simple test ROMs. You don't even need a display for many test ROMs (like Blargg's well-known test suite, which writes the results to the serial port as well as the display). After that you can do test-driven development (in a way) and focus on making more and more tests pass. Don't worry about details until you need to.
-
Gameboy emulator blargg test 02 EI failed #2
It looks like the test enables interrupts and then invokes the timer interrupt.
- Gameboy Blargg test 03 - Infinite loop
- [GameBoy] Problem with CD instruction.
gb-ctr
-
Documentation for cycle accurate Game Boy CPU
Gekkio's GB-CTR is a good reference of the SM83 (Gameboy CPU) with access pattern withM cycle accuracy. The GB-research repo by the same author also contains a lot of information.
-
Need help with CPU swap of Game Boy Pocket
In case you're interested in the precise pinout, see Appendix D in gb-ctr: https://github.com/Gekkio/gb-ctr
-
Game Boy PPU Pixel Pipeine
Does anyone know of good documentation beyond: - Pan Docs - The Cycle-Accurate Game Boy Docs - Complete Technical Reference - Nitty Gritty Gameboy Cycle Timing
-
Best documentation for the details?
The thing about the Game Boy (or most consoles, really, but especially the Game Boy since it uses a custom CPU) is that we don't know all the details. People have had to reverse engineer it to figure stuff out. /u/gekkio is one of the people doing that work, and his technical reference and test suite are the (ongoing) results of that.
-
Need some guidance about how to start
This is a great resource: the complete technical reference.
What are some alternatives?
mooneye-gb - A Game Boy research project and emulator written in Rust
MagenBoy - GameBoy and GameBoy Color emulator written in Rust
jitboy - A Game Boy emulator with dynamic recompilation (JIT)
pandocs - The single, most comprehensive Game Boy technical reference.
Ryujinx - Experimental Nintendo Switch Emulator written in C#
blarggs-test-roms - Blarggs Reproducible Gameboy Test Roms
dmg-acid2 - 😀 The Acid2 test, now for the original Game Boy! 😀
mooneye-test-suite - Mooneye Test Suite is a suite of Game Boy test ROMs
decaf-emu - Researching Wii U emulation.
gb-research - Game Boy hardware research
gba-tests - A collection of Game Boy Advance tests.
pandocs - The infamous Pan Docs historical document: the single, most comprehensive Game Boy technical reference.