about summary refs log tree commit diff stats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/COMPILE.md167
-rw-r--r--docs/USAGE.md14
2 files changed, 60 insertions, 121 deletions
diff --git a/docs/COMPILE.md b/docs/COMPILE.md
index b050b848..a14292c4 100644
--- a/docs/COMPILE.md
+++ b/docs/COMPILE.md
@@ -1,45 +1,57 @@
 Compiling/Installing

 ----

 

-#### Debian-based Linux 

+### Debian-based Linux 

 You can use [@ryanfortner](https://github.com/ryanfortner)'s apt repository to install precompiled box64 debs, updated every 24 hours. 

 

 ```

 sudo wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list

 wget -qO- https://ryanfortner.github.io/box64-debs/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg

-sudo apt update && sudo apt install box64 -y

+sudo apt update && sudo apt install box64-arm64 -y

 ```

 

 Alternatively, you can generate your own package using the [instructions below](https://github.com/ptitSeb/box64/blob/main/docs/COMPILE.md#debian-packaging). 

 

-#### for RK3399

+----

 

-Using a 64bit OS:

+### The general approach is:

 ```

 git clone https://github.com/ptitSeb/box64

 cd box64

-mkdir build; cd build; cmake .. -DRK3399=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

+mkdir build; cd build; cmake .. ${OPTIONS}

+make -j4  

 sudo make install

 ```

 If it's the first install, you also need:

 ```

 sudo systemctl restart systemd-binfmt

 ```

+- You can use `make -j1`, `make -j2` to prevent running out of memory

+- You can also add `-DBAD_SIGNAL=ON` to the cmake command if you are on Linux Kernel mixed with Android, like on RK3588 or maybe Termux

 

-#### for RK3588 / RK3588S

-

-Using a 64bit OS:

+#### For instance, if you want to build box64 for Generic ARM64 Linux platforms, it would look like this:

 ```

 git clone https://github.com/ptitSeb/box64

 cd box64

-mkdir build; cd build; cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

+mkdir build; cd build; cmake .. -D ARM_DYNAREC=ON -D CMAKE_BUILD_TYPE=RelWithDebInfo

 make -j4

 sudo make install

+sudo systemctl restart systemd-binfmt

 ```

-If it's the first install, you also need:

+----

+

+#### for RK3399

+

+Using a 64bit OS:

 ```

-sudo systemctl restart systemd-binfmt

+-D RK3399=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

+```

+

+#### for RK3588 / RK3588S

+

+Using a 64bit OS:

+```

+-D RK3588=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for Raspberry Pi 3

@@ -55,16 +67,8 @@ run out of memory at some point and need to run the build again.
 Still, this can be faster if your build is attended.

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DRPI3ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

+-D RPI3ARM64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 make 

-# or e.g. make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

 ```

 

 #### for Raspberry Pi 4

@@ -72,15 +76,7 @@ sudo systemctl restart systemd-binfmt
 Warning, you need a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DRPI4ARM64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D RPI4ARM64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for TEGRA X1

@@ -88,31 +84,16 @@ sudo systemctl restart systemd-binfmt
 Using a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DTEGRAX1=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D TEGRAX1=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

+

 #### for ODROID N2/N2+

 

 Using a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DODROIDN2=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D ODROIDN2=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for Snapdragon 845

@@ -120,32 +101,21 @@ sudo systemctl restart systemd-binfmt
 Using a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DSD845=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D SD845=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

-

-----

 #### for Phytium

 

 Using a 64bit OS:

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DPHYTIUM=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

+-D PHYTIUM=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

-If it's the first install, you also need:

+

+#### for a generic ARM64 machine

+

+Using a 64bit OS:

 ```

-sudo systemctl restart systemd-binfmt

+-D ARM64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for M1

@@ -153,38 +123,15 @@ sudo systemctl restart systemd-binfmt
 Only test on Asahi for now, using the default "16K page" kernel

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DM1=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D M1=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

-

-#### for Other ARM64 Linux platforms

-

- `mkdir build; cd build; cmake .. -DARM_DYNAREC=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo; make -j$(nproc)`

-

-You can also add `-DBAD_SIGNAL=ON` to the cmake command if you are on Linux Kernel mixed with Android, like on RK3588 or maybe Termux

-

 #### for LoongArch

 

 Using a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DLARCH64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D LARCH64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for RISC-V

@@ -192,15 +139,7 @@ sudo systemctl restart systemd-binfmt
 Using a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DRV64=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j`nproc`

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D RV64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for PowerPC 64 LE

@@ -208,15 +147,7 @@ sudo systemctl restart systemd-binfmt
 Using a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DPPC64LE=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j4

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D PPC64LE=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for LX2160A

@@ -224,22 +155,16 @@ sudo systemctl restart systemd-binfmt
 Using a 64bit OS:

 

 ```

-git clone https://github.com/ptitSeb/box64

-cd box64

-mkdir build; cd build; cmake .. -DLX2160A=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo

-make -j$(nproc)

-sudo make install

-```

-If it's the first install, you also need:

-```

-sudo systemctl restart systemd-binfmt

+-D LX2160A=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

 ```

 

 #### for x86_64 Linux

+```

+-D LD80BITS=1 -D NOALIGN=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo

+```

+If you encounter some linking errors, try using `NOLOADADDR=ON` (`cmake -D NOLOADADDR=ON; make -j$(nproc)`).

 

- `mkdir build; cd build; cmake .. -DLD80BITS=1 -DNOALIGN=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo; make -j$(nproc)`

-

-If you encounter some linking errors, try using `NOLOADADDR=ON` (`cmake -DNOLOADADDR=ON; make -j$(nproc)`).

+----

 

 ### use ccmake

 

diff --git a/docs/USAGE.md b/docs/USAGE.md
index 32744566..5c67f0f8 100644
--- a/docs/USAGE.md
+++ b/docs/USAGE.md
@@ -197,11 +197,21 @@ Detect MonoBleedingEdge and apply conservative settings
 * 0 : Don't detect MonoBleedingEdge

 * 1 : Detect MonoBleedingEdge, and apply BIGBLOCK=0 STRONGMEM=1 if detected (Default)

 

+#### BOX64_DYNAREC_JVM *

+Detect libjvm and apply conservative settings

+* 0 : Don't detect libjvm

+* 1 : Detect libjvm, and apply BIGBLOCK=0 STRONGMEM=1 if detected (Default)

+

 #### BOX64_DYNAREC_WAIT *

 Behavior with FillBlock is not availble (FillBlock build Dynarec blocks and is not multithreaded)

 * 0 : Dynarec will not wait for FillBlock to ready and use Interpreter instead (might speedup a bit massive multithread or JIT programs)

 * 1 : Dynarec will wait for FillBlock to be ready (Default)

 

+#### BOX64_DYNAREC_MISSING *

+Dynarec print the missing opcodes

+* 0 : not print the missing opcode (Default, unless DYNAREC_LOG>=1 or DYNAREC_DUMP>=1 is used)

+* 1 : Will print the missing opcodes

+

 #### BOX64_SSE_FLUSHTO0 *

 Handling of SSE Flush to 0 flags

 * 0 : Just track the flag (Default)

@@ -311,3 +321,7 @@ Those variables are only valid inside a rcfile:
 #### BOX64_EXIT

  * 0 : Nothing special

  * 1 : Just exit, don't try to run the program

+

+#### BOX64_RESERVE_HIGH

+* 0 : Don't try to pe-reserve high memory (beyond 47bits) (Default)

+* 1 : Try to reserve (without allocating it) memory beyond 47bits (seems unstable)