Skip to content

jomag/rustboy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustBoy

A personal project to learn Rust and basic emulator development.

PPU

The PPU is implemented on a scanline basis. There was an attempt at a more accurate FIFO implementation, but as the documentation of this diverges quite a bit and gives very little benefit compared to a scanline-based approach I decided to not continue down that path for now. This also has the benefit of being a lot faster.

Because of this a few demos and one game ("Prehistoric Man") will not work as intended. If the knowledge and documentation about the inner workings of the Gameboy improves in the future, I might take another stab at the FIFO based approach.

Blargg Test Suite

cgb_sound 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚
cpu_instrs 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚
dmg_sound 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚
instr_timing 💚
interrupt_time 🙅
mem_timing 💚 💚 💚
mem_timing-2 💚 💚 💚
oam_bug 🔴 🔴 💚 🔴 🔴 💚 🔴 🔴

Mooneye Test Suite

acceptance 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 🔴 💚 🔴 🔴
🔴 🔴 🔴 🔴 🔴 🔴 💚 🔴 🔴 💚 🔴 💚
🔴 🔴 🔴 🔴 🔴 🔴 🔴 🙅 🔴 💚 🔴 🔴
🔴 🔴 🔴 🔴 🔴
acceptance/bits 💚 💚 🔴
acceptance/instr 💚
acceptance/interrupts 🔴
acceptance/oam_dma 💚 💚 💚
acceptance/ppu 🙅 🙅 🙅 🙅 🙅 🙅 🙅 🔴 🔴 🔴 🔴 🙅
acceptance/serial 🔴
acceptance/timer 💚 🔴 💚 💚 💚 💚 💚 💚 💚 💚 🔴 🔴
🔴
emulator-only/mbc1 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚 💚
💚
emulator-only/mbc2 💚 💚 💚 💚 💚 💚 💚
emulator-only/mbc5 💚 💚 💚 💚 💚 💚 💚 💚

DMG ACID2

Pass $:green_heart:

References

Pandocs ("Everything You Always Wanted To Know About GAMEBOY") http://bgb.bircd.org/pandocs.htm

Z80 instruction set: http://clrhome.org/table/

Disassembly of boot ROM: https://gist.github.com/drhelius/6063288

Blog: Why did I spend 1.5 months creating a Gameboy emulator? https://blog.rekawek.eu/2017/02/09/coffee-gb/

The Ultimate Gameboy Talk https://www.youtube.com/watch?v=HyzD8pNlpwI&t=29m12s

Emulating the Gameboy: http://www.codeslinger.co.uk/pages/projects/gameboy.html

The Cycle-Accurate Game Boy Docs: https://github.com/AntonioND/giibiiadvance/blob/master/docs/TCAGBD.pdf

About

gameboy emulator in rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published