Settings

Theme

Building a Game Boy Emulator with Rust

read.cv

49 points by mmmulani 5 years ago · 7 comments

Reader

brundolf 5 years ago

I was hoping this would go more into the emulator itself... instead it's more a high-level overview of "things I liked about Rust", most of which are fairly well-trodden

  • Macha 5 years ago

    Depends on your area of interest. How to build a game boy emulator is pretty well trodden as it's usually used as the beginner's guide to emulation.

    Here's a step by step guide in JS, for example: http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-C...

    • plandis 5 years ago

      I would honestly recommend not trying to emulate the gameboy if you’re doing emulation for the first time. I did this and it didn’t go very well (but perhaps I’m a below average person)

      Chip8 or the NES (6502+PPU) are probably better places to start for beginners.

      • jdmoreira 5 years ago

        Isn't the PPU very hard? Especially the fact that both the 6502 and the PPU execute in parallel?

        • plandis 5 years ago

          The PPU is definitely complex but the NES has the benefit of being much, much, much better documented than the GB which is honestly a huge advantage.

          The NES also has a bunch of complex cartridge mappers but you don’t necessarily need to implement the most complex ones like MMC5.

    • arcticbull 5 years ago

      I've been writing a GameBoy emulator in Rust too haha, though as I've written one before, I'm looking at this more in the context of a static recompilation exercise. Building a GameBoy on an FPGA has been another ongoing pet project.

      The canonical reference for anyone building a GameBoy emulator are the Pan Docs [1, 2] -- originally written by Pan, then maintained by Martin Korth of NO$GMB.

      [1] https://gbdev.io/pandocs/

      [2] https://github.com/gbdev/pandocs

vini808 5 years ago

Building a game boy emulator with [insert trending programming language here]

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection