PSI-Rockin / DobieStation

A dog-themed PS2 emulator
GNU General Public License v3.0
523 stars 55 forks source link

DobieStation

Discord Server GitHub Actions Status AppVeyor Build Status

A young PS2 emulator with plans for an optimized Android port, as well as a fast, accurate, and easy-to-use PC port.

A large portion of the PS2's library can boot or get to menus. Some titles can even go in-game, including high-profile ones such as Final Fantasy X and Shadow of the Colossus. Not intended for general use.

Compiling

DobieStation uses Qt 5 and supports qmake and CMake.

Building with qmake

cd DobieStation/DobieStation
qmake DobieStation.pro
make

Building with CMake

# Linux
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo
make

# MacOS (using Homebrew Qt5)
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5
make

# Windows (MSVC)
#  - change 'CMAKE_PREFIX_PATH' to point to your Qt installation.
#  - replace 'Visual Studio 16 2017' with your desired VS version (eg: "Visual Studio 16 2019")
mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH="C:/Qt/5.13.1/msvc2017_64" \
      -G "Visual Studio 15 2017" -A x64 ..
start DobieStation.sln

Note for Ubuntu Xenial

While 16.04 is still officially supported they don't provide a recent enough version of Qt. As such if you wish to build Dobie on Xenial you will need to update Qt through a PPA

add-apt-repository ppa:beineri/opt-qt-5.11.1-xenial
apt-get update
apt-get install qt511-meta-minimal qt511multimedia libglu1-mesa-dev
source /opt/qt511/bin/qt511-env.sh

Alternatively, you may upgrade to the most recent Ubuntu LTS, 18.04.

Building with Visual Studio

DobieStation is known to compile on 2017 and 2019.

Before opening Visual Studio, you must set the QTDIR environment variable to your 64 bit QT install. For example on Visual Studio 2017: C:\path\to\qt\5.12.1\msvc2017_64

Once the variable is set open DobieStation\DobieStation.sln in Visual Studio.

Using the Emulator

DobieStation requires a copy of the PS2 BIOS, which must be dumped from your PS2.

The various command line options are as follows:

-b [BIOS file] - Takes the form of /path/to/bios.bin. Required for booting DobieStation.
-f [file] (optional) - The ELF or ISO that DobieStation loads. Takes the form of /path/to/game.iso or /path/to/homebrew.elf.
-s (optional) - Skip the BIOS boot animation when starting DobieStation with an ISO/ELF loaded.

The key bindings are as follows:

Keyboard DualShock 2
S Triangle
A Square
X Circle
Z Cross
Enter Start
Space Select
Q L1
N/A L2
N/A L3
W R1
N/A R2
N/A R3
D-pad up
D-pad down
D-pad left
D-pad right
R Left Analog up
F Left Analog down
D Left Analog left
G Left Analog right
I Right Analog up
K Right Analog down
J Right Analog left
L Right Analog right
Keyboard DobieStation
F1 Dump current frame from GS
F8 Take a screenshot
. Advance a single frame

PS2 Homebrew

Want to test DobieStation? Check out this repository: https://github.com/PSI-Rockin/ps2demos

Compatibility not guaranteed, but some demos do work.

Contributing

First, review the Contribution Guide. Once you have done so, take a look at the issue tracker to look for tasks you may be interested in.

Legal

DobieStation uses arg.h by Christoph "20h" Lohmann.