Skip to content
This repository has been archived by the owner on Nov 7, 2024. It is now read-only.

ngynkvn/.rsboy

Repository files navigation

Caution

Firstly, this doesn't compile and from the brief 30 minutes I put into it, is not trivial to fix

This is very bad rust code. It is not performant at all. I rebuilt a Go version in a couple weeks that beats this in about every metric.

I only leave it up here for those that are nonetheless curious.

For me, at the time I remember being very obsessed with understanding algebraic data types and definitely approached this project with a mentality that a single hammer is all you need. This was a learning moment for me that simplicity cannot be understated, and to be considerate about the techniques you choose to deploy in your applications.

Regardless, I'm still proud that I put a lot of effort into trying to make it work !

Rust

A gameboy emulator in Rust

Cause that hasnt been done before.

  • The code is extremely rough. View at your own discretion.

Features

  • Software Renderer
  • Parse and decode instructions from gameboy binaries

Render image of Tetris main screen

TODO

  • CPU - Passing blargg's cpu_instr test suite, sans interrupts
    • Pass "02-interrupts.gb"
    • Create Github Action to test these gb files by reading from I/O port
  • MEM - Some memory access issues are still in place.
    • Research, fix memory R/W issues
  • SOUND
    • This will be a long one. Low priority
  • GFX
    • Still some inaccuracies. I will not be implementing the full PPU operations
  • WebAssembly Port

References


Releases

No releases published

Packages

No packages published