All Projects → 7thSamurai → Azayaka

7thSamurai / Azayaka

Licence: GPL-3.0 license
A cycle-accurate Game Boy and Game Boy Color Emulator, with rewind feature.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
GLSL
2045 projects

Projects that are alternatives of or similar to Azayaka

Mgba
mGBA Game Boy Advance Emulator
Stars: ✭ 3,355 (+12803.85%)
Mutual labels:  gameboy, game-boy, game-boy-color, game-boy-emulator
tobutobugirl-dx
An arcade platformer homebrew game for the Game Boy, Game Boy Color and Super Game Boy
Stars: ✭ 58 (+123.08%)
Mutual labels:  gameboy, game-boy, game-boy-color
hamtaro-in-pieces
A disassembly of the wonderful Game Boy Color game Hamtaro: Ham-Hams Unite!
Stars: ✭ 15 (-42.31%)
Mutual labels:  game-boy, game-boy-color
DevSound
Game Boy sound driver
Stars: ✭ 48 (+84.62%)
Mutual labels:  game-boy, game-boy-color
demo-emulator
Nintendo Game Boy emulator written in Go to be used in workshops about emulator programming
Stars: ✭ 41 (+57.69%)
Mutual labels:  gameboy, game-boy
tilemap-studio
A tilemap editor for Game Boy, Color, Advance, DS, and SNES projects. Written in C++ with FLTK.
Stars: ✭ 247 (+850%)
Mutual labels:  gameboy, game-boy
mealybug-tearoom-tests
🪲☕️ Game Boy emulator test ROMs
Stars: ✭ 40 (+53.85%)
Mutual labels:  gameboy, game-boy
GhidraBoy
Sharp SM83 / Game Boy extension for Ghidra
Stars: ✭ 136 (+423.08%)
Mutual labels:  gameboy, game-boy
gb-hardware-db
Game Boy hardware database
Stars: ✭ 21 (-19.23%)
Mutual labels:  gameboy, game-boy
Vaporboy
Gameboy / Gameboy Color Emulator PWA built with Preact. ⚛️ Powered by wasmBoy. 🎮Themed with VaporWave. 🌴🐬
Stars: ✭ 182 (+600%)
Mutual labels:  gameboy
Rustyboy
A Gameboy emulator written in Rust.
Stars: ✭ 224 (+761.54%)
Mutual labels:  gameboy
Gb Ctr
Game Boy: Complete Technical Reference
Stars: ✭ 168 (+546.15%)
Mutual labels:  gameboy
Esplay Retro Emulation
Retro Emulation Collection for ESPlay Hardware, an ESP32 based game console
Stars: ✭ 183 (+603.85%)
Mutual labels:  gameboy
Dmg Cpu Inside
Reverse-engineered schematics for DMG-CPU-B
Stars: ✭ 230 (+784.62%)
Mutual labels:  gameboy
Gbt Player
A music player library for Game Boy.
Stars: ✭ 180 (+592.31%)
Mutual labels:  gameboy
Awesome Gbdev
Contribute
Stars: ✭ 3,016 (+11500%)
Mutual labels:  gameboy
Metroboy
MetroBoy - A playable, circuit-level simulation of an entire Game Boy
Stars: ✭ 169 (+550%)
Mutual labels:  gameboy
Pokered
Disassembly of Pokémon Red/Blue
Stars: ✭ 2,924 (+11146.15%)
Mutual labels:  gameboy
Binjgb
Gameboy emulator implemented in C
Stars: ✭ 222 (+753.85%)
Mutual labels:  gameboy
Animated Gameboy In Css
Animated Gameboy created in CSS.
Stars: ✭ 165 (+534.62%)
Mutual labels:  gameboy

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].