QNEmu is an emulator that support Nintendo Game Boy and Game Boy Color. It is still under development and plans to support other consoles in the future. The main purpose of this project is to study computer architecture and software design pattern.
Requirements:
- GCC >= 9
- CMake >= 3.13
- Qt >= 6.2
- Google Test >= 1.10
Build command:
mkdir build && cd build
cmake .. && make
The executable will be available in qneme/qnemu. To run the test:
make test
Just click the executable and load Rom file.
Joypad | Key |
---|---|
↑ | W |
↓ | S |
← | A |
→ | D |
Start | 3 |
Select | 2 |
Function | Implement | Test |
---|---|---|
CPU | ✅ | manual |
PPU | ✅ | manual |
Sound | ❌ | ❌ |
Interrupt | ✅ | ✅ |
Joypad | ✅ | ✅ |
Timer | ✅ | ✅ |
no MBC | ✅ | ✅ |
MBC1 | ✅ | ✅ |
MBC2 | ❌ | ❌ |
MBC3 | ❌ | ❌ |
MBC5 | ❌ | ❌ |
MBC6 | ❌ | ❌ |
MBC7 | ❌ | ❌ |
HuC1 | ❌ | ❌ |
HDMA | ✅ | ❌ |
Feature | Implement | Test |
---|---|---|
key remap | ❌ | ❌ |
Save & Load | ❌ | ❌ |
Filtering | ❌ | ❌ |
Vulkan backend | ❌ | ❌ |
DirectX backend | ❌ | ❌ |
Speed setting | ❌ | ❌ |