From 2e629a2e7d46229865dc905a98f10b3c19bb594b Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sat, 15 Feb 2020 21:52:05 +0900 Subject: [PATCH] Update README.md with new CI instructions --- README.md | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 16ca70755..5e7ce5218 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ - "Fast boot" for skipping BIOS splash/intro - Save state support - Windows and Linux support - macOS may work, but not actively maintained - - Supports bin/cue images, raw bin/img files, and MAME CMD formats. + - Supports bin/cue images, raw bin/img files, and MAME CHD formats. - Direct booting of homebrew executables - Digital and analog controllers for input (rumble is forwarded to host) - Qt and SDL frontends for desktop @@ -23,13 +23,13 @@ - SDL-compatible game controller (e.g. XB360/XBOne) ## Downloading and running -Prebuilt binaries of DuckStation for 64-bit Windows are available via GitHub Actions CI. To download: - - Press the tick or cross next to the commit, shown under the "Clone or download" button - - Find "Windows Build" and click "details". - - Find the "Artifacts (1)" button in the top-right corner of the page, under "Fork". - - Download the `duckstation-windows-x64-release` artifact. This is a zip file containing the prebuilt binary. +Prebuilt binaries of DuckStation for 64-bit Windows are available via AppVeyor CI. To download: + - Go to https://ci.appveyor.com/project/stenzek/duckstation + - Click on the "Artifacts" Tab. + - Download the "duckstation-win64-release.7z" artifact. This is a 7-Zip archive containing the prebuilt binary. + - Extract the archive **to a subdirectory**. The archive has no root subdirectory, so extracting to the current directory will drop a bunch of files in your download directory if you do not extract to a subdirectory. -Once downloaded and extracted, you can launch the Qt frontend from `duckstation-qt-x64-ReleaseLTCG.exe`, or the SDL frontend from `duckstation-x64-ReleaseLTCG.exe`. +Once downloaded and extracted, you can launch the Qt frontend from `duckstation-qt-x64-ReleaseLTCG.exe`, or the SDL frontend from `duckstation-sdl-x64-ReleaseLTCG.exe`. To set up: 1. Either configure the path to a BIOS image in the settings, or copy one or more PlayStation BIOS images to the bios/ subdirectory. 2. If using the SDL frontend, add the directories containing your disc images by clicking `Settings->Add Game Directory`. @@ -49,21 +49,25 @@ Requirements: 2. Open the Visual Studio solution `duckstation.sln` in the root, or "Open Folder" for cmake build. 3. Build solution. 4. Binaries are located in `bin/x64`. -5. Run `duckstation-x64-Release.exe` or whichever config you used. +5. Run `duckstation-sdl-x64-Release.exe`/`duckstation-qt-x64-Release.exe` or whichever config you used. ### Linux -Requirements: - - CMake - - SDL2 +Requirements (Debian/Ubuntu package names): + - CMake (`cmake`) + - SDL2 (`libsdl2-dev`) + - GTK2.0 for file selector (`libgtk2.0-dev`) + - Qt 5 (`qtbase5-dev`, `qtbase5-dev-tools`) + - Optional for faster building: Ninja (`ninja-build`) 1. Clone the repository. Submodules aren't necessary, there is only one and it is only used for Windows. 2. Create a build directory, either in-tree or elsewhere. 3. Run cmake to configure the build system. Assuming a build subdirectory of `build-release`, `cd build-release && cmake -DCMAKE_BUILD_TYPE=Release -GNinja ..`. 4. Compile the source code. For the example above, run `ninja`. -5. Run the binary, located in the build directory under `src/duckstation/duckstation`. +5. Run the binary, located in the build directory under `src/duckstation-sdl/duckstation-sdl`, or `src/duckstation-qt/duckstation-qt`. ### Android **NOTE:** The Android frontend is still incomplete, not all functionality works and some paths are hard-coded. +**The Android app is currently broken and fixing it is not a priority. However, this will change in the future.** Requirements: - Android Studio with the NDK and CMake installed @@ -73,8 +77,17 @@ Requirements: 3. Select Build -> Build Bundle(s) / APKs(s) -> Build APK(s). 4. Install APK on device, or use Run menu for attached device. -## Default keyboard bindings -Keyboard bindings are currently not customizable. For reference: +## Bindings for Qt frontend +Your keyboard can be used to simulate the PS Controller. To bind keys to buttons, go to `Settings` -> `Port Settings`. Each of the buttons will be listed, +along with the corresponding key it is bound to. To rebind the button to a new key, click the button next to button name, and press the key you want to use +within 5 seconds. + +**Controllers are not currently supported in the Qt frontend. Support for controllers and custom bindings will be coming soon.** + +**Currently, it is only possible to bind one input to each controller button/axis. Multiple bindings per button are planned for the future.** + +## Default keyboard bindings for SDL frontend +Keyboard bindings in the SDL frontend are currently not customizable. For reference: - **D-Pad:** W/A/S/D or Up/Left/Down/Right - **Triangle/Square/Circle/Cross:** I/J/L/K or Numpad8/Numpad4/Numpad6/Numpad2 - **L1/R1:** Q/E @@ -85,7 +98,7 @@ Keyboard bindings are currently not customizable. For reference: Gamepads are automatically detected and supported. Tested with an Xbox One controller. To access the menus with the controller, press the right stick down and use the D-Pad to navigate, A to select. -## Useful hotkeys +## Useful hotkeys for SDL frontend - **F1-F8:** Quick load/save (hold shift to save) - **F11:** Toggle fullscreen - **Tab:** Temporarily disable speed limiter