Skip to content

Latest commit

 

History

History
59 lines (39 loc) · 2.49 KB

README.md

File metadata and controls

59 lines (39 loc) · 2.49 KB

Nana (ナナ) CircleCI codecov

“The more my dreams are fulfilled, the quicklier they become realities losing their shine.”

Nana (manga), by Ai Yazawa

Nana (ナナ) is a Game Boy emulator written in Go. It's far from feature complete and there are still bugs in what it's implemented but what I got here helped me a lot to understand how computers work at one of their lowest levels, I hope this too helps someone else.

nana.gif

ROM Compatibility list

  • Tetris
  • The Legend of Zelda: Link's Awakening

Dependencies

Linux dependencies are listed here.

Installation

$ go get github.com/Ruenzuo/nana

Cross-compiling

See libsdl.org/extras/win32/cross/README.txt for information on how to build SDL for 64 bit mingw cross-compiler

$ make build-windows

Pre-compiled binaries

See Releases

Usage

$ nana path/to/rom.gb

Environment variables

  • NANA_DEBUG: enables buffered debug output to nana.log
  • NANA_LCD_STATE_DEBUG: includes the LCD state in debug output
  • NANA_MEMORY_ACCESS_DEBUG: includes the LCD state in debug output
  • NANA_ENABLE_TEST_PANICS: panic on undefined behaviour
  • NANA_ENABLE_REWIND: hold F10 to rewind the emulation
  • NANA_MAX_CYCLES: enables automatic shut down to specific cycle threshold

Building your own emulator