Skip to content

Commit dae0917

Browse files
committed
Bumped version to v0.4.0
1 parent 37a1898 commit dae0917

File tree

4 files changed

+68
-3
lines changed

4 files changed

+68
-3
lines changed

debian/changelog

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
box64 (0.4.0) unstable; urgency=low
2+
3+
This version added many important refactors: the opcode prefix decoder for Dynarec, libGL and Vulkan, the FSGSBASE support, making segments handling easier and faster.
4+
=> Improved compatibility accross all architecture, allowing more DRM protected game to run
5+
=> the prefix refactor helped removed lots of redundant source file, simplifying maintenance
6+
=> BOX32 is getting more and more stable, even if still not 100% ok. But Steam is more stable than before, runs on all architecture. And some gameoverlay UI works, on OpenGL games. gameoverlay (and fossilize) support for Vulkan is planned for later.
7+
8+
-- Sebastien Chevalier <[email protected]> Mon, 3 Jan 2026 10:30:33 -0100
9+
110
box64 (0.3.8) unstable; urgency=low
211

312
This version introduce DynaCache, a disk cache for the generated native code. It's not enabled by default for now (but it will use cache file if present by default). It can dramaticaly speedup the load of program (try with linux factorio for example). This version also improve in the volatile metadata handling. There is a massive compatiblity improvment for box32 and on all dynarec in general too. And few more function wrapping...

docs/CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,59 @@
1+
v0.4.0
2+
======
3+
4+
Highlights:
5+
* This version added many important refactors: the opcode prefix decoder for Dynarec, libGL and Vulkan, the FSGSBASE support, making segments handling easier and faster.
6+
=> Improved compatibility accross all architecture, allowing more DRM protected game to run
7+
=> the prefix refactor helped removed lots of redundant source file, simplifying maintenance
8+
=> BOX32 is getting more and more stable, even if still not 100% ok. But Steam is more stable than before, runs on all architecture. And some gameoverlay UI works, on OpenGL games. gameoverlay (and fossilize) support for Vulkan is planned for later.
9+
10+
Version summary:
11+
12+
* Added new BOX64_ARCH to have settings specific to one of the supported cpu architecture (arm64, rv64, la64)
13+
* Added BAD_PKILL build option, to workaround missing non-mandatory behaviour of pthread_kill (needed on LA64)
14+
* Improved the handling of invalid opcodes
15+
* Refactored handling of Selector, Segments and TLS data
16+
* Added FSGSBASE cpu extension
17+
* Added support for IFUNC relocation type to ElfLoader (64bits & 32bits)
18+
* Refactored some internal behaviour to get better Interpreter only build
19+
* Added BOX64_STEAM_VULKAN to have Vulkan renderer option injected when steamwebhelper is called
20+
* Introduce BOX64_PYTHON3 to force using an X64 version of python (and use that on arm64 steam)
21+
* Fixed signal handling when using Wine v10.19+
22+
* Added some cache to customMalloc / customFree internal functions
23+
* Some refactor on the cpuid helper function
24+
* Wrapping: most Wayland listener for wider compatibility
25+
* Wrapping: refactored libGL & libVulkan wrapping
26+
* Wrapping: more wrapped functions, reworked some existing one with wrapperhelper
27+
* Wrapping: Added a few more wrapped libs
28+
* Wrapping: Better handling of RTLD_NEXT in dlsym function call
29+
* Wrapping: Reworked wrapping of pthread_one (on Box32 too)
30+
* Wrapping: a few new syscall implemented
31+
* Wrapping: Make BOX64_EMULATED_LIBS to also affect gstreamer hacked loading of plugins
32+
* Wrapping: BOX32: more wrapped function and some fixes to existing ones
33+
* Wrapping: BOX32: a few new syscall implemented
34+
* Interpreter: Added LOCK prefix to the generic opcode prefix handling
35+
* Interpreter: A few fixes to existing opcodes
36+
* Interpreter: Added F3 0F 40..4F opcodes
37+
* Dynarec: Refactored HotPages Detection & Handling
38+
* Dynarec: Introduced DYNAREC_PURGE to allow purging of old (unused?) Dynarec block and save memory
39+
* Dynarec: Refactored prefix decoding, similar to the Interpreter
40+
* Dynarec: ARM64: Added detection of loops and preload of xmm/ymm regs before entering
41+
* Dynarec: ARM64: Refactored the handling of deferred flags
42+
* Dynarec: ARM64: A few optimisation in some existing opcodes
43+
* DYnarec: ARM64: Some fixes to existing opcodes
44+
* Dynarec: LA64: Added x87 opcodes
45+
* Dynarec: LA64: Added a few missing LOCK prefixed opcodes
46+
* Dynarec: LA64: Added some more shift/roll opcodes
47+
* Dynarec: LA64: Added support for native CRC opcodes
48+
* Dynarec: LA64: Many fixes to some AVX opcodes
49+
* Dynarec: LA64: Various fixes to some opcodes
50+
* Dynarec: LA64: Addes a few 66 prefixed opcodes
51+
* Dynarec: LA64: Added some "simple wrapper" support (allowing direct call of wrapped functions)
52+
* Dynarec: LA64: Added some more native flags optimisations
53+
* Dynarec: LA64: optimized REP MOVSB
54+
* Dynarec: RV64: Fixed/Fine tunning flags on existing opcodes
55+
* Dynarec: RV64: Various fixes to some opcodes
56+
157
v0.3.8
258
======
359

src/box64version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define __BOX64_VERSION_H_
33

44
#define BOX64_MAJOR 0
5-
#define BOX64_MINOR 3
6-
#define BOX64_REVISION 9
5+
#define BOX64_MINOR 4
6+
#define BOX64_REVISION 0
77

88
#endif //__BOX64_VERSION_H_

src/tools/env.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -882,7 +882,7 @@ const char* GetDynacacheFolder(mapping_t* mapping)
882882
#else
883883
#error meh!
884884
#endif
885-
#define DYNAREC_VERSION SET_VERSION(0, 0, 9)
885+
#define DYNAREC_VERSION SET_VERSION(0, 1, 0)
886886

887887
typedef struct DynaCacheHeader_s {
888888
char sign[10]; //"DynaCache\0"

0 commit comments

Comments
 (0)