Game console emulator
Clone or download
Latest commit 41b5567 Oct 1, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
euphrates Cargo.toml updates Oct 1, 2018
euphrates_cli Cargo.toml updates Oct 1, 2018
euphrates_sdl2 Cargo.toml updates Oct 1, 2018
euphrates_virtual_memory Cargo.toml updates Oct 1, 2018
euphrates_x64 Cargo.toml fix Oct 1, 2018
.gitignore remove superfluous files and remaining Impler stuff Aug 20, 2018
Cargo.toml euphrates_virtual_memory Aug 20, 2018
LICENSE License. Aug 17, 2017 README update Aug 20, 2018

Euphrates: A Game Console Emulator

Euphrates is an emulator for the Sega Master System, Sega Game Gear, and Sega SG-1000 Game consoles.

This repository consists of these crates:

  • euphrates, the main emulation library;

  • euphrates_sdl, providing audio and video types for use with Euphrates;

  • euphrates_x64, a small library that can make Euphrates a bit more performant on x86-64 systems with BMI2 instructions;

  • euphrates_virtual_memory, a library implementing memory banking via native virtual memory;

  • euphrates_cli, an application to run Euphrates from the command line using euphrates_sdl for audio and video.

If you just want to play some games, see the euphrates_cli crate. All officially released games that I've tested work. However, note that an excellent end user experience for playing games is not currently a high priority for Euphrates (for instance, you'll have to play with your keyboard rather than a gamepad, and you'll have to specify command line options for which memory map you want to use). Instead, Euphrates is intended to (eventually) be a platform for exploring artificial intelligence techniques.

See the README in the euphrates crate for more on Euphrates and its goals.


Euphrates is Copyright 2018, Michael Benfield.

Euphrates is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Euphrates is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Euphrates (see the file LICENSE). If not, see