https://github.com/fastshift/lv_gba_emu
LVGL Game Boy Advance Emulator
https://github.com/fastshift/lv_gba_emu
gba gba-emulator lvgl retroarch vba-next
Last synced: 7 months ago
JSON representation
LVGL Game Boy Advance Emulator
- Host: GitHub
- URL: https://github.com/fastshift/lv_gba_emu
- Owner: FASTSHIFT
- License: mit
- Created: 2022-11-30T06:49:11.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-27T06:42:23.000Z (about 2 years ago)
- Last Synced: 2025-03-19T00:52:11.088Z (7 months ago)
- Topics: gba, gba-emulator, lvgl, retroarch, vba-next
- Language: C
- Homepage:
- Size: 15.2 MB
- Stars: 48
- Watchers: 3
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# LVGL Game Boy Advance Emulator

* GUI: https://github.com/lvgl/lvgl
* GBA Emulator: https://github.com/libretro/vba-next
* Test ROM: https://github.com/XProger/OpenLara## Feature
* The emulator kernel is based on [vba-next](https://github.com/libretro/vba-next) and does not depend on any third-party libraries.
* Decoupled from the OS, only relying on lvgl's memory allocation and file access interface.
* Support to use GBA framebuffer directly as `lv_canvas` buffer, zero copy overhead.
* Audio output.
* Frame rate control.
* Multiple input device.
* Virtual key.
* Memory usage optimization(~800KB + ROM size).## To Do
- [ ] Game saves.
- [ ] Game Launcher.## Clone
```bash
git clone https://github.com/FASTSHIFT/lv_gba_emu.git --recurse-submodules
```## Build & Run
```bash
mkdir build
cd build
cmake ..
make -j
./gba_emu -f ../rom/OpenLara.gba
```
## Key Mapping
### SDL2
|KeyBoard|GBA|
|-|-|
|Backspace|Select|
|Tab|Start|
|Up|Up|
|Down|Down|
|Left|Left|
|Right|Right|
|X|B|
|Z|A|
|L|L|
|R|R|