Skip to content

Commit

Permalink
README.md: update instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
Cpasjuste committed Sep 11, 2023
1 parent b8139f7 commit 4131845
Showing 1 changed file with 21 additions and 99 deletions.
120 changes: 21 additions & 99 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,102 +18,24 @@

## pEMU: Portable Emulator

**<ins>Building on ubuntu for ubuntu</ins>**
- Install build dependencies:
```
sudo apt -yq update
sudo apt -yq install \
git zip build-essential cmake xxd \
liblzma-dev libsdl2-dev libconfig-dev libcurl4-openssl-dev libtinyxml2-dev \
libconfig-dev libglm-dev libfreetype6-dev libpng-dev libminizip-dev zlib1g-dev \
libvdpau-dev libva-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev \
libpostproc-dev libswresample-dev libswscale-dev libmpv-dev libass-dev libbz2-dev \
libfribidi-dev libzip-dev libarchive-dev libfuse-dev
```
- clone pemu repository:
```
git clone --recursive https://github.com/Cpasjuste/pemu.git`
```
- build (replace `pfbneo` with emulator target: `pfbneo`, `psnes`, `pnes`, `pgen` or remove this option for all emulators):
```
mkdir cmake-build && cd cmake-build
cmake -G "Unix Makefiles" -DPLATFORM_LINUX=ON -DOPTION_BUILTIN_LIBCONFIG=ON \
-DOPTION_EMU=pfbneo -DCMAKE_BUILD_TYPE=Release ..
make pfbneo.deps
make -j $(getconf _NPROCESSORS_ONLN) pfbneo_linux_release
```
**<ins>Building on ubuntu for nintendo switch</ins>**
- Install build dependencies:
```
sudo apt -yq update
sudo apt -yq install zip git autoconf libtool automake build-essential cmake
```
- Install switch toolchain:
```
wget https://github.com/devkitPro/pacman/releases/download/v1.0.2/devkitpro-pacman.amd64.deb
sudo dpkg -i devkitpro-pacman.amd64.deb
sudo dkp-pacman -Syu
sudo dkp-pacman --noconfirm -S switch-dev switch-portlibs
```
- clone pemu repository:
```
git clone --recursive https://github.com/Cpasjuste/pemu.git`
```
- build (replace `pfbneo` with emulator target: `pfbneo`, `psnes`, `pnes`, `pgen` or remove this option for all emulators):
```
mkdir cmake-build && cd cmake-build
source /etc/profile.d/devkit-env.sh
cmake -G "Unix Makefiles" -DPLATFORM_SWITCH=ON -DOPTION_EMU=pfbneo \
-DCMAKE_BUILD_TYPE=Release ..
make pfbneo.deps
make -j $(getconf _NPROCESSORS_ONLN) pfbneo_switch_release
```
**<ins>Building on ubuntu for sony ps4</ins>**
- Install build dependencies:
```
sudo apt -yq update
sudo apt -yq install git build-essential cmake zip libgpgme11
```
- Install ps4 toolchain:
```
wget https://github.com/PacBrew/pacbrew-pacman/releases/download/pacbrew-release-1.0/pacbrew-pacman-1.0.deb
sudo dpkg -i pacbrew-pacman-1.0.deb
sudo pacbrew-pacman -Syu
sudo pacbrew-pacman --noconfirm -S ps4-openorbis ps4-openorbis-portlibs
```
- clone pemu repository:
```
git clone --recursive https://github.com/Cpasjuste/pemu.git`
```
- build (replace `pfbneo` with emulator target: `pfbneo`, `psnes`, `pnes`, `pgen` or remove this option for all emulators):
```
mkdir cmake-build && cd cmake-build
export OPENORBIS=/opt/pacbrew/ps4/openorbis
cmake -G "Unix Makefiles" -DPLATFORM_PS4=ON -DOPTION_EMU=pfbneo -DCMAKE_BUILD_TYPE=Release ..
make pfbneo.deps
make -j $(getconf _NPROCESSORS_ONLN) pfbneo_ps4_release
```
**<ins>Building on windows for windows</ins>**
- download, install and update [MYSYS2](http://www.msys2.org/)
- install build dependencies:
```
pacman -S --noconfirm --needed git zip perl make \
mingw-w64-x86_64-binutils mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake mingw-w64-x86_64-pkgconf \
mingw-w64-x86_64-SDL2 mingw-w64-x86_64-freetype mingw-w64-x86_64-glm \
mingw-w64-x86_64-glew mingw-w64-x86_64-libconfig mingw-w64-x86_64-tinyxml2 \
mingw-w64-x86_64-mpv mingw-w64-x86_64-zlib mingw-w64-x86_64-minizip mingw-w64-x86_64-libarchive
```
- clone pemu repository:
```
git clone --recursive https://github.com/Cpasjuste/pemu.git`
```
- build (replace `pfbneo` with emulator target: `pfbneo`, `psnes`, `pnes`, `pgen` or remove this option for all emulators):
```
mkdir cmake-build && cd cmake-build
cmake -G "MSYS Makefiles" -DPLATFORM_WINDOWS=ON -DOPTION_EMU=pfbneo -DCMAKE_BUILD_TYPE=Release ..
make pfbneo.deps
make pfbneo
```
**<ins>Building</ins>**
- [Linux](https://github.com/Cpasjuste/pemu/blob/master/.github/workflows/linux-release.yml)
- [Windows](https://github.com/Cpasjuste/pemu/blob/master/.github/workflows/windows-release.yml)
- [Nintendo Switch](https://github.com/Cpasjuste/pemu/blob/master/.github/workflows/switch-release.yml)
- [Sony PS4](https://github.com/Cpasjuste/pemu/blob/master/.github/workflows/ps4-release.yml)
- [Sony PS VITA](https://github.com/Cpasjuste/pemu/blob/master/.github/workflows/vita-release.yml)

**<ins>Common instructions</ins>**
- "pEMU" emulators use [embedded (romfs)](https://github.com/Cpasjuste/pemu/tree/master/pfbneo/data/common/romfs) "gamelist.xml" files to manage your rom files.
Since version 6.7, the emulator will also look inside your configured rom folders for a "gamelist.xml" file (EmulationStation format, which can be made with ["Skraper"](https://www.skraper.net/) for example).
This will overwrite the embedded "gamelist.xml" database. Please take note that only the "\<image>" and "\<video>" media tags are supported.
- Default skins are also [embedded (romfs)](https://github.com/Cpasjuste/pemu/tree/master/data/common/romfs/skins/default) in the application.
You can overwrite parts of the default theme by creating a folder named "default" in the "skins" directory of the data folder, and adding a ["config.cfg.override"](https://github.com/Cpasjuste/pemu/tree/master/pgen/data/common/romfs/skins/default/config.cfg.override) (and/or a ["config.cfg.override.43"](https://github.com/Cpasjuste/pemu/tree/master/data/common/romfs/skins/default/config.cfg.override.43) for 4/3 screens) file.
You can also create a new directory with a new name to create a new theme, the [default](https://github.com/Cpasjuste/pemu/tree/master/data/common/romfs/skins/default) one is a good start to look at.
Please note that the theme code/api is subject to change without warning, do not loose too much time on this...

**<ins>Custom instructions</ins>**
- [pfbneo](https://github.com/Cpasjuste/pemu/tree/master/pfbneo)
- [pgen](https://github.com/Cpasjuste/pemu/tree/master/pgen)
- [pnes](https://github.com/Cpasjuste/pemu/tree/master/pnes)
- [psnes](https://github.com/Cpasjuste/pemu/tree/master/psnes)

0 comments on commit 4131845

Please sign in to comment.