All Projects → Ryuzaki-MrL → Espeon

Ryuzaki-MrL / Espeon

Licence: gpl-3.0
Gameboy emulator for the ESP32

Projects that are alternatives of or similar to Espeon

Pegasus Frontend
A cross platform, customizable graphical frontend for launching emulators and managing your game collection.
Stars: ✭ 364 (+412.68%)
Mutual labels:  retrogaming, emulator
Mooneye Gb
A Game Boy research project and emulator written in Rust
Stars: ✭ 557 (+684.51%)
Mutual labels:  gameboy-emulator, emulator
Octo
A Chip8 IDE
Stars: ✭ 419 (+490.14%)
Mutual labels:  retrogaming, emulator
Cryboy
A Game Boy (Color) emulator written in Crystal
Stars: ✭ 68 (-4.23%)
Mutual labels:  gameboy-emulator, emulator
Coffee Gb
Gameboy emulator in Java 8.
Stars: ✭ 953 (+1242.25%)
Mutual labels:  gameboy-emulator, emulator
Pyboy
Game Boy emulator written in Python
Stars: ✭ 3,326 (+4584.51%)
Mutual labels:  gameboy-emulator, emulator
Gearboy
Game Boy / Gameboy Color emulator for iOS, macOS, Raspberry Pi, Windows, Linux and RetroArch.
Stars: ✭ 528 (+643.66%)
Mutual labels:  gameboy-emulator, emulator
chip8emu
A Terminal Based Chip-8 Emulator
Stars: ✭ 28 (-60.56%)
Mutual labels:  emulator, retrogaming
Gbr
Yet another Game Boy emulator in Rust
Stars: ✭ 20 (-71.83%)
Mutual labels:  gameboy-emulator, emulator
Vba M Nx
WIP full featured port of VBA-M for Nintendo Switch
Stars: ✭ 11 (-84.51%)
Mutual labels:  gameboy-emulator, emulator
Elmboy
A Nintendo™ Game Boy™ Emulator written in Elm.
Stars: ✭ 285 (+301.41%)
Mutual labels:  gameboy-emulator, emulator
Medguireborn
MedGui Reborn is a frontend/launcher (GUI) for Mednafen multi emulator, written in VB .Net with Microsoft Visual Studio Community
Stars: ✭ 40 (-43.66%)
Mutual labels:  retrogaming, emulator
Webmsx
WebMSX - Online MSX Emulator
Stars: ✭ 269 (+278.87%)
Mutual labels:  retrogaming, emulator
Retroesp32
Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager
Stars: ✭ 313 (+340.85%)
Mutual labels:  esp32, emulator
khedgb
Experiments in Game Boy emulation
Stars: ✭ 15 (-78.87%)
Mutual labels:  emulator, gameboy-emulator
Provenance
iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |
Stars: ✭ 4,732 (+6564.79%)
Mutual labels:  retrogaming, emulator
gameboyGO
Gameboy emulator in go
Stars: ✭ 24 (-66.2%)
Mutual labels:  emulator, gameboy-emulator
rusty-boy
Gameboy emulator in Rust
Stars: ✭ 20 (-71.83%)
Mutual labels:  emulator, gameboy-emulator
Gameboy
🎮 Game Boy emulator written in Rust
Stars: ✭ 17 (-76.06%)
Mutual labels:  gameboy-emulator, emulator
Wasmboy
Game Boy / Game Boy Color Emulator Library, 🎮written for WebAssembly using AssemblyScript. 🚀Demos built with Preact and Svelte. ⚛️
Stars: ✭ 963 (+1256.34%)
Mutual labels:  gameboy-emulator, emulator

Espeon

Espeon is a gameboy emulator for Espressif's ESP32 SoC.

This project started out as a rewrite in order to be more accurate and optimized for the ESP32.

About Espeon

This emulator is being developed primarily with the M5Stack device in mind. You can find more info about it here: https://m5stack.com/

M5Stack Arduino API, M5Stack TreeView library, and M5Stack FACES are required.

If you don't own a M5Stack, feel free to adapt this codebase to your setup.

Recommended setup:

  • A board containg an ESP32 chip and at least 4MB (32Mbit) of SPI flash, plus the tools to program it
  • A 320x240 ILI9341 display, controllable by a 4-wire SPI interface
  • Some kind of I2C gamepad
  • SD card reader (optional)

Compiling Espeon

To compile for the M5Stack, you'll need to:

  • Set up your Arduino IDE for the M5Stack
  • (OPTIONAL) Get a copy of the gameboy's bootrom as a const array called gb_bios
  • (OPTIONAL) If you wish to bundle Espeon with a ROM, drag and drop the ROM file into rom2h.bat (max size of 512 KB)
  • Run espeon.ino
  • Compile the sketch and upload it to the board

Recommended: upload directly via esptool by using the provided partition scheme, or by using M5Burner.

A precompiled release will be provived for each new version.

Running games

If running on a M5Stack, you'll be presented with a menu where you can choose to either load a ROM from the SD card into the ESP32's flash (maximum of 2MB), or boot up the currently flashed ROM.

If either fails, the bundled ROM will be used instead (maximum of 512 KB).

Credits

  • Code structure inspired by zid.
  • Base Arduino code and ROM bundle script by lualiliu.
  • M5Stack TreeView UI library and example code by lovyan.
  • Espeon artwork by natsuki-o-bento.

Features

  • Fully taking advantage of both ESP32 cores (currently faster than the real gameboy, needs some tinkering)
  • Flash a ROM from the SD card
  • SRAM is saved to the SD card

TODO:

  • Rewrite CPU/LR35902 code
  • Audio emulation
  • Object-oriented approach
  • SRAM autosaving (currently needs a button press)
  • Customizable palette and border
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].