A GB, GBC and GBA emulator with GB Camera support.
C Other
Latest commit ea5675c Dec 23, 2015 @AntonioND Merge pull request #8 from bentley/master
Missed include for snprintf().
Permalink
Failed to load latest commit information.
docs Mode 1 timings corrected. Apr 6, 2015
gb_core It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
gba_core It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
gui It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
png malloc() is located in stdlib.h, not malloc.h. Nov 20, 2015
tools STAT Mode 1 and VBL interrupts, GBC mode. Jan 12, 2015
windows_resources Changed license to GPL v2. Apr 20, 2015
.gitignore All hardware tests have been moved to another repository. Jan 12, 2015
CHANGELOG.md Changed license to GPL v2. Apr 20, 2015
GNUmakefile Use wildcards instead of listing object filenames manually. Nov 24, 2015
GiiBiiAdvance.cbp Renamed folder. Mar 8, 2015
GiiBiiAdvance.ini Changed license to GPL v2. Apr 20, 2015
LICENSE.txt Changed license to GPL v2. Apr 20, 2015
Makefile Use wildcards instead of listing object filenames manually. Nov 24, 2015
README-SDL.txt Added some license files. Added a new way to get running path. Apr 11, 2014
README.md GBA emulator no longer prioritary. Nov 20, 2015
TODO.md Add a simple makefile. Nov 23, 2015
build_options.h Changed license to GPL v2. Apr 20, 2015
config.c It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
config.h Changed license to GPL v2. Apr 20, 2015
debug_utils.c It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
debug_utils.h Changed license to GPL v2. Apr 20, 2015
file_explorer.c Missed include for snprintf(). Dec 23, 2015
file_explorer.h Changed license to GPL v2. Apr 20, 2015
file_utils.c It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
file_utils.h Changed license to GPL v2. Apr 20, 2015
font_data.c Changed license to GPL v2. Apr 20, 2015
font_utils.c malloc() is located in stdlib.h, not malloc.h. Nov 20, 2015
font_utils.h Changed license to GPL v2. Apr 20, 2015
general_utils.c It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
general_utils.h It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
input_utils.c It's safe to use snprintf, because by definition it null terminates. Dec 2, 2015
input_utils.h Include SDL headers directly, not from SDL2/. Nov 22, 2015
license-opencv.txt Added some license files. Added a new way to get running path. Apr 11, 2014
main.c Include SDL headers directly, not from SDL2/. Nov 22, 2015
sound_utils.c Include SDL headers directly, not from SDL2/. Nov 22, 2015
sound_utils.h Changed license to GPL v2. Apr 20, 2015
text_data.c Changed license to GPL v2. Apr 20, 2015
window_handler.c Include SDL headers directly, not from SDL2/. Nov 22, 2015
window_handler.h Changed license to GPL v2. Apr 20, 2015

README.md

GiiBiiAdvance

Another GB, GBC and GBA emulator writen in C. By Antonio Niño Díaz (AntonioND). It's licensed under the GPL v2 license.

http://antoniond_blog.drunkencoders.com/

http://antoniond.drunkencoders.com/

Source code:

https://github.com/AntonioND/giibiiadvance

This is an emulator I started a few years ago. I haven't released any version in years since 0.1.0, but I've done some changes that have improved compatibility anyway.

For 0.2.0 I've ported the Win32 GUI to SDL2. The objective is to make it portable, so the only windows outside the main one are the debugger windows. This way, if someone wanted to port this to a machine without window manager, the only thing he would need to do is to remove the debugger. It has been compiled in Linux Mint 16 and Windows 7 succesfuly.

The GBA support is there because of sentimental reasons, but it shouldn't be used. The main focus of this emulator is GB/GBC emulation, if you want a good open-source GBA emulator try mGBA, or the non open-source no$gba.

This is the only GB emulator that emulates completely the GB Camera if you have a webcam! :) More information aobut the GB Camera here: https://github.com/AntonioND/gbcam-rev-engineer

For 0.3.0

  • Improve the GUI:

    • Another subwindow to configure MBC7 and emulator controls like speedup.
    • GB Camera and GB Printer viewers. GB Camera: Registers, images (let the user see the thumbnails to choose).
    • GBA I/O hardware viewer (RTC, sensors...).
    • Export images from new debugger windows.
    • Dump dissasembly/memory to a file and restore it?
    • Wav recording.
    • Video recording?
  • Obviously, improve emulation.

    • Fix sound.
    • Implement mosaic correctly (in GBA mode).
    • Correct GBA CPU timings.
    • Rewrite A LOT of GB core to speed up emulation. (In progress)
    • Auto frameskip.
    • Fix broken x86 ASM instructions of GBA emulation in Linux. "setc (%%ebx)" seems to be the problem...
    • HuC3, MMM01 and TAMA5 mappers for GB.

Dependencies

This program needs SDL2, and optionally OpenCV for GB Camera support. I'm using version 2.0.0 of OpenCV.

It also uses libpng and zlib, but at the moment they are statically linked so there are no conflicts between runtime and compiled versions.