Yet another emulator
So there can be another competing standard.
As of Sept 17, 2019. You don't. This emulator is still early stages. If you want to play around with what does exist you're more than welcome.
Planned features
Decrypt SELF files and generate ELFs- Working CELL interpreter
- Minimal RSX implementation
- CELL JIT compiler
- Disk decryptor
- Controller input
- Performance improvments
- Debugger
- GUI frontend
Its important for a healthy code base to have a consistent style through all internal code. This extends to design patterns as well as just the formatting of the code itself.
- 4 space indents only, not tabs.
- All
class
es,struct
s, varaibles, functions, and arguments are insnake_case
- All template type arguments are prefixed with
T
- All macros are in
SCREAMING_SNAKE_CASE
- All enums are
enum class
es *
&
are on the left side. IEtype* name
- All code is in the
volts
namespace - No warnings when building
- Performance above all else
#pragma once
instead of include guards- All C++ have the
.cpp
file extension, C files have.c
, ObjC++ files have.mm
, all headers have.h
- All code is documented clearly
- External dependencies are minimal
- Exceptions are banned
dynamic_cast
and RTTI are bannedthread_local
is banned- Nested classes are banned
- Relative includes are banned
Even if a specific Linux distro, Windows version, or MacOSX version is not listed here it does not mean it will not work. If you successfully build & boot the emulator on your system please provide a pull request with detailed steps to update the README.
- Python >= 3.5.x
- Meson >= 0.50.x
- Vulkan SDK >= 1.0.3 (on windows & linux set the enviroment variable "VULKAN_SDK" to the path to the installed sdk. on mac who really knows, just try and install the SDK. only god knows how to do this)
- Install visual studio C++ compiler (C++17 support or later)
meson build
cd build
ninja
volt.exe
This will only build on OSX 10.15 (Catalina) or later
you will also need to install xcode 11.1
git submodule update --init
meson build
ninja -C build
./build/volt
As of May 9, 2019 supported linux distros are
- Ubuntu 18.04.2 LTS
- Debian 9.9.0
Assuming an entirley fresh install of Ubuntu
sudo apt install git python3 python3-pip ninja-build
pip3 install --user meson
~/.local/bin/meson build
ninja -C build
./Build/volt
Assuming a fresh install of Debian
su -
apt install git python3-pip llvm ninja-build
pip3 install meson
cd Volts
meson build
ninja -C build
./build/volt
- No warnings while building
- Uses meson
- Fully cross platform
- Has command line utilities built in
- Cant run ps3 games
- Is nowhere near finished
- Can run ps3 games
- Uses cmake and visual studio
- No command line interface
- An almost uncountable amount of build warnings
- Doesnt work on mac
- Uses Qt
- Inconsistent code style