Skip to content

7thSamurai/Azayaka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azayaka

Azayaka is a free and open-source Game Boy and Game Boy Color emulator written in C++.

Features

  • Cycle-Accurate emulation.
  • Console based Debugger.
  • Audio emulation.
  • Real-Time Clock support.
  • Screen shots.
  • Audio recording.
  • Save states.
  • Rewind.
  • Disassembler(With Code/Data Log).
  • Automated testing system.
  • Emulates both the Game Boy(DMG) and Game Boy Color(CGB).
  • Game Boy Printer.
  • Link Cable(Experimental)

Accuracy

  • Passes all of blargg's tests except oam_bug.
  • Passes most of gekkio's Mooneye GB tests.

See test results

Cartridge Mappers

Azayaka supports the following cartridge-mappers:

  • MBC1
  • MBC1M
  • MBC2
  • MBC3
  • MBC3+RTC
  • MBC5

Supported Platforms

  • Linux
  • Mac OS
  • Windows (Coming soon!)

Controls

Emulated Buttons

Note: You can map different keys to the buttons by editing Azayaka's INI file.

Button Key
A Z
B X
Start Enter
Select Space
Up
Down
Left
Right

Key Commands

Function Key
Turbo Shift
Slow-Motion Alt
Rewind Backspace
Toggle Fullscreen Ctrl+F
Pause/Unpause Ctrl+P
Reset Ctrl+R
Trigger Debugger Ctrl+C
Increase Volume Plus
Decrease Volume Minus
Load Savestate F1-F10
Save Savestate Ctrl + F1-F10
Take Screenshot F11
Start/Stop recording Audio F12

Building

Requires CMake

Dependencies

  • SDL2: For the frontend.
  • libpng: For PNG screenshots. If you don't have it, BMPs will be used instead.
  • OpenGL: For hardware accelerated graphics. If you don't have it, SDL will be used for the rendering.

*Nix Building

mkdir build
cd build
cmake ..
make

Windows Building

Coming Soon!

Sorry, but I don't currently have a Windows Dev machine, but I should have a setup in just a couple of weeks. But in the mean time, I can't guaranty that Azayaka will compile on a Windows Box. My apologies.

Running

Running Azayaka-sdl

./Azayaka-SDL [ROM or Directory Path] [Options...]

  -d, --debug        Run the emulator in debug mode
  -s, --scale        Scales the screen by the factor given
  -g, --force-gb     Force the emulator into GameBoy mode
  -c, --force-gbc    Force the emulator into GameBoy-Color mode
  -l, --link         Enable GameBoy Link-Cable
  -p, --printer      Enable GameBoy Printer
  -D, --dump-usage   Saves the ROM usage(CDL) to a file
      --verbose      Enable verbose debugging information
      --force-sdl    Force the emulator to use SDL as the Video-Driver

Running Azayaka-tester

./Azayaka-tester [Test ROMs path] [Correct-Results CSV Path]

Thanks

  • Shay Green for blargg's tests.
  • Joonas Javanainen for Mooneye GB tests.
  • Antonio Niño Díaz for TCAGBD.
  • Ben Smith(binji) for his article on implementing rewind.
  • To all of the authors of the emulators that I used for inspiration.
  • To you, for looking at my emulator!

Copyright

Azayaka is licensed under GPL3. Copyright © 2020-2021 Zach Collins

"Game Boy" and "Game Boy Color" are trademarks of Nintendo. Azayaka is not affiliated with Nintendo in any way.

About

A cycle-accurate Game Boy and Game Boy Color Emulator, with rewind feature.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published