Yet Another Gameboy Emulator
Object Oriented Programming Course Project, SSE, Tongji University, 2018.
- Gameboy CPU (LR35902) Emulation
- Timer (working, probably)
- Input (without customize)
- Memory Emulation (ROM only and MBC1)
- Display
- Memory Bank Controllers support
- and more...
Test No. | Result | Remark |
---|---|---|
01-special | ✅ | Passed |
02-interrupts | ✅ | Passed |
03-op sp,hl | ✅ | Passed |
04-op r,imm | ✅ | Passed |
05-op rp | ✅ | Passed |
06-ld r,r | ✅ | Passed |
07-jr,jp,call,ret,rst | ✅ | Passed |
08-misc instrs | ✅ | Passed |
09-op r,r | ✅ | Passed |
10-bit ops | ✅ | Passed |
11-op a,(hl) | ✅ | Passed |
all-cpu_instrs | ✅ | Passed all tests |
Ubuntu 18.04
# Install dependencies
sudo apt update
sudo apt install -y git build-essentials cmake
sudo apt install -y libsfml-dev libudev-dev libfreetype6-dev libxcb-image0-dev
# Download files
git clone https://github.com/kagurazakakotori/GameboyEmu.git
wget -N -P ./include/termcolor/ https://raw.githubusercontent.com/ikalnytskyi/termcolor/master/include/termcolor/termcolor.hpp
# Compile
cmake ./ -DCMAKE_PREFIX_PATH=./include/sfml/
cmake --build ./ --config Debug # build debug
cmake --build ./ --config Release # build release
# Run!
cd bin
./GameboyEmu
You need install CMake and MSVC15 Compiler(included in Visual Studio 2017) first manually.
Script Following is for PowerShell use
# Download files
git clone https://github.com/kagurazakakotori/GameboyEmu.git
Set-Location GameboyEmu\include
Invoke-WebRequest -Uri https://www.sfml-dev.org/files/SFML-2.5.0-windows-vc15-32-bit.zip -Outfile sfml.zip
Expand-Archive -Path sfml.zip -DestinationPath .\
Remove-Item .\sfml\
Remove-Item .\sfml.zip
Rename-Item .\SFML-2.5.0 .\sfml
Invoke-WebRequest -Uri https://raw.githubusercontent.com/ikalnytskyi/termcolor/master/include/termcolor/termcolor.hpp -Outfile .\termcolor\termcolor.hpp
Set-Location ..
# Compile
cmake ./ -DCMAKE_PREFIX_PATH=".\include\sfml"
cmake --build ./ --config Debug # build debug
cmake --build ./ --config Release # build release
# Run!
Set-Location bin\Release
.\GameboyEmu.exe