about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-07-09 11:02:43 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-07-09 11:02:43 +0200
commit62695ceed4982c3fdf379b65cc4481c3656cd6ac (patch)
tree054d7ccc503460f91ab25787d033648269884638
parent605d5a29c067fa4834340182ab96438673d09a12 (diff)
downloadbox64-62695ceed4982c3fdf379b65cc4481c3656cd6ac.tar.gz
box64-62695ceed4982c3fdf379b65cc4481c3656cd6ac.zip
Bumped version to v0.3.0
-rw-r--r--debian/changelog26
-rw-r--r--docs/CHANGELOG.md24
-rw-r--r--docs/COMPILE.md71
-rw-r--r--src/box64version.h4
4 files changed, 90 insertions, 35 deletions
diff --git a/debian/changelog b/debian/changelog
index cce171ba..88afdd06 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,29 @@
+box64 (0.3.0) unstable; urgency=low
+
+* AVX and AVX2 implemented, along with BMI1, BMI2, ADX, FMA, F16C and RDANDR extension!
+* Introduced BOX64_AVX env. var. to enable/disable AVX extension:
+*   => BOX64_AVX=1 enable AVX, BMI1, F16C and VAES extension
+*   => BOX64_AVX=2 also enable AVX2, BMI2, FMA, ADX,VPCLMULQDQ and RDRAND
+* Dynarec: Implemented most AVX/AVX2 and friends in ARM64 Dynarec (using only NEON, so available on all ARM64 CPU)
+*   => ARM64 Dynarec build have all AVX/AVX2 extensions enabled by default
+* Improved CPUID opcodes, adding a few leaf, fixing same. Returnning an Haswell type of CPU now (was Pentium IV before)
+* Dynarec: Small optim in the emit_pf helper, on all 3 backends
+* Dynarec: ARM64 some fixes to a few opcodes
+* Dynarec: LA64 many new opcodes added, and fixes.
+* Dynarec: RV64 some new opcodes added, many fixes.
+* Dynarec: RV64 Adding some infrastructure to use RVV (if available) for SIMD emulation.
+* Dynarec: Many small changes and fixes around handling of x87, registers and internal jump.
+* WRAPPING: Added a workaround on SDL_GetThreadID to fix a race condition that was happening mostly on LA64 and broke many SDL games
+* WRAPPING: More libs and functions wrapped. Some wrapping fixes too (including a nasty error on some rare libGL functions)
+* WRAPPING: Wayland is now supported. Wine-wayland at least works now
+* Dynarec: LA64 improved LOCK CMPXCHG handling, and better 16Byte LOCK handling too (fixes many Unity3D games)
+* Dynarec: RV64 improved LOCK CMPXCHG handling
+* COSIM: Many fixes and improvment, to make BOX64_DYNAREC_TEST more usable
+* Detect when a Wine program use UnityPlayer.dll to atumaticaly use BOX64_DYNAREC_STRONGMEM=1 (unless it's already set), so more games just work
+* ElfLoader: Added a new type of relocation
+
+-- Sebastien Chevalier <ptitseb@box86.org>  Thu, 9 Jul 2024 10:30:33 -0100
+
 box64 (0.2.8) unstable; urgency=low
 
 * Wrapping: More libs and function wrapping (gtk3, vulkan...)
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 888d5b3a..72ffb154 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -1,3 +1,27 @@
+v0.3.0

+======

+* AVX and AVX2 implemented, along with BMI1, BMI2, ADX, FMA, F16C and RDANDR extension!

+* Introduced BOX64_AVX env. var. to enable/disable AVX extension:

+    => BOX64_AVX=1 enable AVX, BMI1, F16C and VAES extension

+    => BOX64_AVX=2 also enable AVX2, BMI2, FMA, ADX,VPCLMULQDQ and RDRAND

+* Dynarec: Implemented most AVX/AVX2 and friends in ARM64 Dynarec (using only NEON, so available on all ARM64 CPU)

+    => ARM64 Dynarec build have all AVX/AVX2 extensions enabled by default

+* Improved CPUID opcodes, adding a few leaf, fixing same. Returnning an Haswell type of CPU now (was Pentium IV before)

+* Dynarec: Small optim in the emit_pf helper, on all 3 backends

+* Dynarec: ARM64 some fixes to a few opcodes

+* Dynarec: LA64 many new opcodes added, and fixes.

+* Dynarec: RV64 some new opcodes added, many fixes.

+* Dynarec: RV64 Adding some infrastructure to use RVV (if available) for SIMD emulation.

+* Dynarec: Many small changes and fixes around handling of x87, registers and internal jump.

+* WRAPPING: Added a workaround on SDL_GetThreadID to fix a race condition that was happening mostly on LA64 and broke many SDL games

+* WRAPPING: More libs and functions wrapped. Some wrapping fixes too (including a nasty error on some rare libGL functions)

+* WRAPPING: Wayland is now supported. Wine-wayland at least works now

+* Dynarec: LA64 improved LOCK CMPXCHG handling, and better 16Byte LOCK handling too (fixes many Unity3D games)

+* Dynarec: RV64 improved LOCK CMPXCHG handling

+* COSIM: Many fixes and improvment, to make BOX64_DYNAREC_TEST more usable

+* Detect when a Wine program use UnityPlayer.dll to atumaticaly use BOX64_DYNAREC_STRONGMEM=1 (unless it's already set), so more games just work

+* ElfLoader: Added a new type of relocation

+

 v0.2.8

 ======

 * Wrapping: More libs and function wrapping (gtk3, vulkan...)

diff --git a/docs/COMPILE.md b/docs/COMPILE.md
index 072b2834..6e16eb8f 100644
--- a/docs/COMPILE.md
+++ b/docs/COMPILE.md
@@ -1,39 +1,11 @@
 Compiling/Installing

 ----

 

-### Debian-based Linux 

-You can use the [Pi-Apps-Coders apt repository](https://github.com/Pi-Apps-Coders/box64-debs) to install precompiled box64 debs, updated every 24 hours. 

-

-```

-# check if .list file already exists

-if [ -f /etc/apt/sources.list.d/box64.list ]; then

-  sudo rm -f /etc/apt/sources.list.d/box64.list || exit 1

-fi

+If you don't want to compile box64 yourself and prefer to use third-party pre-build version, go to the [end of the document](#pre-build-packages) for alternatives.

 

-# check if .sources file already exists

-if [ -f /etc/apt/sources.list.d/box64.sources ]; then

-  sudo rm -f /etc/apt/sources.list.d/box64.sources || exit 1

-fi

-

-# download gpg key from specified url

-if [ -f /usr/share/keyrings/box64-archive-keyring.gpg ]; then

-  sudo rm -f /usr/share/keyrings/box64-archive-keyring.gpg

-fi

-sudo mkdir -p /usr/share/keyrings

-wget -qO- "https://pi-apps-coders.github.io/box64-debs/KEY.gpg" | sudo gpg --dearmor -o /usr/share/keyrings/box64-archive-keyring.gpg

-

-# create .sources file

-echo "Types: deb

-URIs: https://Pi-Apps-Coders.github.io/box64-debs/debian

-Suites: ./

-Signed-By: /usr/share/keyrings/box64-archive-keyring.gpg" | sudo tee /etc/apt/sources.list.d/box64.sources >/dev/null

-

-sudo apt update

-sudo apt install box64-generic-arm -y

-```

-

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

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

 

+## Per-platform compiling instructions

 ----

 

 ### The general approach is:

@@ -278,7 +250,7 @@ Also, the Static Build is highly experimental, but feedback are always welcomed.
 

 ----

 

-Testing

+## Testing

 ----

 A few tests are included with box64.

 

@@ -288,6 +260,39 @@ The tests are very basic and only tests some functionality for now.
 

 ----

 

-Debian Packaging

+## Debian Packaging

 ----

 Box64 can also be packaged into a .deb file ***using the source code zip from the releases page*** with `DEB_BUILD_OPTIONS=nostrip dpkg-buildpackage -us -uc -nc`. Configure any additional cmake options you might want in `debian/rules`.

+

+## Pre-build packages

+----

+### Debian-based Linux 

+You can use the [Pi-Apps-Coders apt repository](https://github.com/Pi-Apps-Coders/box64-debs) to install precompiled box64 debs, updated every 24 hours. 

+

+```

+# check if .list file already exists

+if [ -f /etc/apt/sources.list.d/box64.list ]; then

+  sudo rm -f /etc/apt/sources.list.d/box64.list || exit 1

+fi

+

+# check if .sources file already exists

+if [ -f /etc/apt/sources.list.d/box64.sources ]; then

+  sudo rm -f /etc/apt/sources.list.d/box64.sources || exit 1

+fi

+

+# download gpg key from specified url

+if [ -f /usr/share/keyrings/box64-archive-keyring.gpg ]; then

+  sudo rm -f /usr/share/keyrings/box64-archive-keyring.gpg

+fi

+sudo mkdir -p /usr/share/keyrings

+wget -qO- "https://pi-apps-coders.github.io/box64-debs/KEY.gpg" | sudo gpg --dearmor -o /usr/share/keyrings/box64-archive-keyring.gpg

+

+# create .sources file

+echo "Types: deb

+URIs: https://Pi-Apps-Coders.github.io/box64-debs/debian

+Suites: ./

+Signed-By: /usr/share/keyrings/box64-archive-keyring.gpg" | sudo tee /etc/apt/sources.list.d/box64.sources >/dev/null

+

+sudo apt update

+sudo apt install box64-generic-arm -y

+```

diff --git a/src/box64version.h b/src/box64version.h
index c9099666..35baf150 100644
--- a/src/box64version.h
+++ b/src/box64version.h
@@ -2,7 +2,7 @@
 #define __BOX64_VERSION_H_
 
 #define BOX64_MAJOR 0
-#define BOX64_MINOR 2
-#define BOX64_REVISION 9
+#define BOX64_MINOR 3
+#define BOX64_REVISION 0
 
 #endif //__BOX64_VERSION_H_