All Projects â†’ JaCzekanski â†’ Avocado

JaCzekanski / Avocado

Licence: gpl-2.0
🥑 PlayStation 1 emulator

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Avocado

DOSee
DOSee is a DOSBox based, MS-DOS emulator for the web
Stars: ✭ 24 (-93.26%)
Mutual labels:  emulator, emulation
Stella
A multi-platform Atari 2600 Emulator
Stars: ✭ 315 (-11.52%)
Mutual labels:  emulator, emulation
FEX
A fast usermode x86 and x86-64 emulator for Arm64
Stars: ✭ 650 (+82.58%)
Mutual labels:  emulator, emulation
n64
experimental low-level n64 emulator
Stars: ✭ 94 (-73.6%)
Mutual labels:  emulator, emulation
Amiberry
Optimized Amiga emulator for the Raspberry Pi and other ARM boards
Stars: ✭ 270 (-24.16%)
Mutual labels:  emulator, emulation
CeDImu
Experimental Philips CD-I emulator written in C++
Stars: ✭ 41 (-88.48%)
Mutual labels:  emulator, emulation
khedgb
Experiments in Game Boy emulation
Stars: ✭ 15 (-95.79%)
Mutual labels:  emulator, emulation
ness
A work-in-progress SNES emulator written in Rust
Stars: ✭ 31 (-91.29%)
Mutual labels:  emulator, emulation
QEMU-Manager
macOS graphical frontend to QEMU
Stars: ✭ 175 (-50.84%)
Mutual labels:  emulator, emulation
Kotlin-Gameboy-Emulator
A GameBoy emulator written in Kotlin
Stars: ✭ 12 (-96.63%)
Mutual labels:  emulator, emulation
SkyEmu
Game Boy, Game Boy Color, and Game Boy Advanced Emulator
Stars: ✭ 59 (-83.43%)
Mutual labels:  emulator, emulation
Retroesp32
Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager
Stars: ✭ 313 (-12.08%)
Mutual labels:  emulator, emulation
worldwide
A toy GameBoy Color emulator written in golang.
Stars: ✭ 563 (+58.15%)
Mutual labels:  emulator, emulation
Zelos
A comprehensive binary emulation and instrumentation platform.
Stars: ✭ 298 (-16.29%)
Mutual labels:  emulator, emulation
desmume
DeSmuME is a Nintendo DS emulator
Stars: ✭ 1,609 (+351.97%)
Mutual labels:  emulator, emulation
retro-computing
🤓🕹💾 This hobby project contains software implementations of old microprocessors and complete computer systems. I'm very interested in retrocomputing and this is how I learn about the inner workings of these old, classic and amazing computers and game consoles.
Stars: ✭ 15 (-95.79%)
Mutual labels:  emulator, emulation
GhidraEmu
Native Pcode emulator
Stars: ✭ 25 (-92.98%)
Mutual labels:  emulator, emulation
Scanr
Detect x86 shellcode in files and traffic.
Stars: ✭ 16 (-95.51%)
Mutual labels:  emulator, emulation
Emuloader
Emuloader is an application that allows easy management of game backups locally or on the cloud and one-click installs of emulator enivronments
Stars: ✭ 55 (-84.55%)
Mutual labels:  emulator, emulation
Core
Common Open Research Emulator
Stars: ✭ 330 (-7.3%)
Mutual labels:  emulator, emulation

Avocado

A Modern PlayStation 1 emulator.

If you have any questions just catch me on Twitter (@JaCzekanski) or create an Issue. There is also Discord server.

Compatibility

See Avocado compatibility list

Changelog

28.06.2020 - .ecm format support

16.09.2019 - Save states

5.09.2019 - Vibration support

2.09.2019 - Anti-Modchip and LibCrypt protected games support

13.03.2019 - merged MDEC (video decoder) support

8.12.2018 - created Compatibility list webapp

19.11.2018 - added .chd file support

9.11.2018 - XA-ADPCM (streaming audio) and Red Book audio support - music should play in most games, SPU samples interpolation (sounds less harsh), Pitch modulation support (used by few games), refactored CDROM reading and cue parsing subsystems, various fixes, hardware (OpenGL) rendering

27.08.2018 - Support for digital controller, DualShock (without vibrations) and mouse. Two controllers are supported (no multitap for now)

19.08.2018 - Memory card support

11.08.2018 - Partial SPU implementation - sound working

Status

Full list: Avocado Builds

Build Status Download
Linux Build Status develop
macOS Build Status develop
Android Build Status develop
Windows 64-bit, Visual Studio 2019 Build status develop
Windows 32-bit, Visual Studio 2019 Build status develop
Windows 64-bit, Visual Studio 2017 Build status
Windows 32-bit, Visual Studio 2017 Build status

Despite this emulator being in early development, some 3D games can run. Game compatibility list

Currently audio is hard synced to NTSC (60Hz) (running PAL games will make audio stutter). The timer implementation does not function properly (games fail to boot or run at wrong speed). Many games won't boot or crash shortly after booting.

Requirements

  • OS: Windows 7 or later, macOS 10.13 or later, Linux (Ubuntu 16.04 or later)
  • GPU: Graphics card supporting OpenGL 3.1
  • CPU: SSE3 compatible (CPUs after 2004) x64 or x86 processor

Notes

Avocado focuses on supporting relatively modern hardware (2010 and forwards) and non-legacy OSes.

Emulator is currently single-threaded - if you have multicore CPU you will not benefit from it. Single thread performance is what really matters.

Currently Avocado requires OpenGL 3.1. In the future this limitation will be lifted for software rendering.

Running

Avocado requires the BIOS from real console in the data/bios directory. (use File->Open Avocado directory to locate the directory on your system) Selection of a BIOS rom will be required on the first run. The rom can be changed under Options->BIOS or by modifying the config.json file.

To load a .cue/.bin/.img/.chd/.ecm or .exe/.psexe/.psf/.minipsf file just drag and drop it.

PAL games with LibCrypt protection need additional subchannel info - download proper file .SBI or .LSD file from Redump, place it in the same folder as game image and make sure has identical name as .cue/.bin/... file.

Controls

  • Space - pause/resume emulation
  • F1 - hide GUI
  • F2 - soft reset
  • Shift-F2 - hard reset
  • F5 - quick save
  • F7 - quick load
  • Tab - disable framelimiting
  • Backspace - rewind one second

Configure controls under Options->Controller menu.

Build

Windows

Requirements:

  • Visual Studio 2019 (2017 should work as well)
  • Premake5

First build:

git clone --recursive https://github.com/JaCzekanski/Avocado.git
cd Avocado
premake5 vs2019

# Open avocado.sln with Visual Studio, make sure that Release build is selected, build it

See appveyor.yml in case of problems.

Update:

git pull && git submodule update --init --recursive
premake5 vs2019

# Open avocado.sln, build it

Linux

Requirements:

First build:

sudo apt update
sudo apt install libsdl2-dev
git clone --recursive https://github.com/JaCzekanski/Avocado.git
cd Avocado
premake5 gmake
make config=release_x64 -j4

# Running
./build/release_x64/avocado

See .ci/linux/build.sh in case of problems.

Update:

git pull && git submodule update --init --recursive
premake5 gmake
make config=release_x64 -j4

macOS

Requirements:

First build:

brew update
brew install sdl2
git clone --recursive https://github.com/JaCzekanski/Avocado.git
cd Avocado
premake5 gmake
make config=release_x64 -j4

# Running
./build/release_x64/avocado.app

See .ci/macos/build.sh in case of problems.

Update:

git pull && git submodule update --init --recursive
premake5 gmake
make config=release_x64 -j4

Bugs

Use GitHub issue tracker to file bugs. Please attach Game ID, screenshots/video, BIOS and build version.

See Game compatibility list before creating a bug issue.

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].