210 Commits

Author SHA1 Message Date
Yang Liu
5d14413b89
[DYNAREC] Use PE volatile metadata in dynarec (#2610) 2025-05-07 16:50:37 +02:00
Yang Liu
926e4b2da8
[DYNAREC] Added ranged Dynablock dump (#2570) 2025-04-24 10:37:24 +02:00
ptitSeb
d7eb87129e [DYNAREC] Introduce BOX64_DYNAREC_X87DOUBLE=2 to handle Low Precision x87 ([ARM64_DYNAREC] only for now) 2025-04-16 14:53:54 +02:00
ptitSeb
8c991cb676 [DYNAREC] Better handling of self-loop and added CALLRET=2 settings (ARM64 only, RV64 and LA64 todo) 2025-04-09 15:19:45 +02:00
FZXO11
daca99017b
Note about binfmt_misc (#2445)
* Note about binfmt_misc

* Notify its working on CHRoot
2025-03-18 08:10:57 +01:00
Yang Liu
8b75020036
[DOCS] Added ranged gdbjit documentation (#2440) 2025-03-17 08:09:39 +01:00
Luke Short
8aab7296b8
Bundle more libs (#2419)
* [DOCS] Arch Linux does have an archive

* [BUNDLE] Simplify unsupported package message

* [BUNDLE] Archive Void Linux XBPS packages

This was an oversight to not include these but not XBPS packages
are used (yet).

* [DOCS] Fedora dependencies

List Fedora dependencies for the 'box64-bundle-x86-libs.sh' script.

* [DOCS] Fedora 34 hints

Use Fedora 34 to find missing 32-bit packages that are compatible
with Enterprise Linux 9.

* [DOCS] Add better 'dnf provides' hint

Use wildcards. This works on all versions of DNF.

* [BUNDLE] Add common libraries

as reported by various GitHub Issues.

Resolves #2390

* [DOCS] Mention essential libraries

and libraries with large dependencies. These should not be bundled.

* [BUNDLE] Remove essential libraries

and libraries with large dependencies.
2025-03-13 09:21:26 +01:00
ptitSeb
1af85c69a1 [DYNAREC] Introduced DYNAREC_DIRTY=2 and changed a profile to use it 2025-03-12 14:39:07 +01:00
ptitSeb
fb701d8e39 [DOCS] Added BOX32 option in COMPILE.md 2025-03-11 13:00:30 +01:00
ptitSeb
2b300bd199 Bumped version to v0.3.4 2025-03-10 17:01:37 +01:00
ptitSeb
7ba0e7a055 [DOC] Fixed default for strongmem in docs 2025-03-06 20:03:08 +01:00
Luke Short
c27b659bce
[BUNDLE] Add script to bundle x86 libraries (#2380)
This manages both x86_64 and x86 libraries. It helps with improving
emulation in all of the Box projects.
2025-02-17 21:32:12 +01:00
Yang Liu
05e1b422d3
[DOCS] Added per-file settings documentation (#2317) 2025-02-06 09:22:52 +01:00
ptitSeb
6b7afd7f8e [DOCS] Fixed BIGBLOCK is 2 by default now 2025-01-31 14:30:19 +01:00
Yang Liu
0b632afbfe
[DOCS] Auto-generated USAGE.md and box64.pod (#2283) 2025-01-22 11:56:31 +01:00
Yang Liu
044dec0bfa
[ENV] Initial refactor of env variables infrastructure (#2274)
* [ENV] Initial refactor of env variables infrastructure

* Ported BOX64_DYNAREC_LOG

* Ported more options

* Ported BOX64_MALLOC_HACK

* Ported BOX64_DYNAREC_TEST

* Ported more options

* Ported more options

* Ported more options

* Ported all options

* Removed old rcfile parser

* Fix

* review

* fix

* fix

* more fixes
2025-01-21 16:13:51 +01:00
ptitSeb
8432f7d8e2 [DYNAREC] Introduce BOX64_DYNAREC_DIRTY and some profile to use it 2025-01-15 18:24:54 +01:00
ptitSeb
86211e5970 [USAGE] Added some missing settings in documentation 2025-01-10 14:49:48 +01:00
Hagb (Junyu Guo 郭俊余)
653a67c8ad
Port rounding of some x87 instructions from Box86 (#2242)
* Port rounding of some x87 instructions from Box86

Ported from https://github.com/ptitSeb/box86/pull/951. The original pull
request and this commit also contain some improvements on precision of
`F2XM1` and `FYL2XP1`.

* Run fpu_rounding test with dynarec only for ARM64

They have been implemented on dynarec only for ARM64.
2025-01-08 15:34:15 +01:00
ValdikSS
5d5dd3a3bc
Document BOX64_ARG0 argv[0] rewriting variable (#2234) 2025-01-05 14:08:27 +01:00
olegos2
bb0a445a6b
Spelling/typo fixes in code and documentation updates (#2223)
* Fix typo DLOpenned->DLOpened

* Fix a typo in comments: versionned->versioned

* Fix a typo in comment: cleanning->cleaning

* Update COMPILE.md and USAGE.md

* A few more typos in comments
2024-12-28 17:06:51 +01:00
Chi-Kuan Chiu
7157803c03
[DOCS] Improve cross-build instructions (#2196)
Include a note for users utilizing environments
where only the box64 binary is available.
This addition ensures that users can install
the necessary libraries before running box64.
2024-12-28 16:38:11 +01:00
Leslie Zhai
89713993cb
[DYNAREC] Implement perf map (#2212)
* [DYNAREC] Implement perf map

* [DYNAREC] Use function name as the Symbol
2024-12-26 14:43:19 +01:00
Yang Liu
1b262dac29
[LA64_DYNAREC] Added nativeflags support (#2202) 2024-12-24 18:58:49 +01:00
Yang Liu
946da43038
[LA64_DYNAREC] Fixed some LBT path issues (#2193) 2024-12-23 11:32:35 +01:00
Yang Liu
ea13414083
[GDBJIT] Unified the experience for all the backends (#2183) 2024-12-21 16:20:48 +01:00
Yang Liu
47f5fe7caf
[GDBJIT] Show x64pc in gdb, also added documentation (#2163)
* [GDBJIT] Show x64pc in gdb

* Add env. variable and documentation

* typo

* oops
2024-12-18 08:11:09 +01:00
ptitSeb
ccae82e1f5 [DOC] Small improment on USAGE.md 2024-12-10 15:25:33 +01:00
ptitSeb
769c6c8f61 Bumped version to v0.3.2 2024-12-06 15:59:59 +01:00
Yang Liu
84608fc581
[ARM64_DYNAREC] Added DYNAREC_PAUSE option for hint instructions (#2070)
* [ARM64_DYNAREC] Added DYNAREC_PAUSE option for hint instructions

* Use sevl for wfe

* Add docs

* Fix typo

* use switch case
2024-11-25 11:28:19 +01:00
Yang Liu
9757d1b67a
[ARM64_DYNAREC] More optimizations on strongmem emulation (#2051) 2024-11-20 18:59:20 +01:00
Yang Liu
fa432bb9d1
[ARM64_DYNAREC] Added weakbarrier=2 to disable last write barriers (#2049) 2024-11-19 21:22:55 +01:00
Yang Liu
81e4e26dc5
[ARM64_DYNAREC] Re-enable weakbarrier for dmb.ishst (#2048) 2024-11-19 19:59:43 +01:00
ptitSeb
1a6f49ce45 [ARM64_DYNAREC] Reworked a bit FASTROUND 2024-11-05 14:13:01 +01:00
ptitSeb
c8d98f6901 [RCFIEL] Add an option to force usage of native EGL/GLESv2 library 2024-11-02 09:28:34 +01:00
ptitSeb
29beabd683 [ARM64_DYNAREC] Added BOX64_DYNAREC_NATIVEFLAGS to disable the use of native flags, as there is still a bug or two in that mode (for #1947) 2024-10-20 13:21:08 +02:00
Yang Liu
6cbcfc7ab8
[DYNAREC] Added a new missing mode for fallback opcodes (#1896) 2024-10-02 20:44:04 +02:00
ptitSeb
1b48cd157a [RCFILE] Slightly changed how BOX64_ARGS behave, and added BOX64_INSERT_ARGS 2024-09-09 19:45:48 +02:00
Yang Liu
4e63b82f5e
[CI] Refactored CI (#1795)
* [CI] Enable Box32 tests on LA64

* upgrade QEMU

* [COSIM] Removed thread-safe tests

* Use regular cosim in CI

* [CI] Simplified "Test Box64"

* exclude certain tests when testing with cosim

* review

* box64.pod too
2024-09-05 11:07:27 +02:00
Yang Liu
b34a50b381
[X64LIBS] Changed x86/x64 libs install directory to prevent conflicts (#1791)
* [X64LIBS] Changed x86/x64 libs install directory to prevent conflicts

* Update pressure_vessel
2024-09-04 14:13:58 +02:00
WANG Guidong
9beb745765
[RV64_DYNAREC] Fix some typos in docs and dynarec/rv64 (#1758)
* [Typo] fix some typo in docs and dynarec/rv64

* [Typo] fix some typo in docs and dynarec/rv64

* [Typo] fix some typo in dynarec/rv64

* [Typo] fix some typo in dynarec/rv64

* [Typo] fix some typo in docs
2024-08-26 08:19:06 +02:00
ptitSeb
f0ea65dc36 [DOCS] Added entry in USAGE.md for newly introduced BOX64_ARGS 2024-08-09 17:44:05 +02:00
ptitSeb
a8784eff9f [RCFILE] Added support for generic names in RCFiles 2024-07-25 15:10:40 +02:00
ptitSeb
a90c7af708 Added BOX64_SHAEXT to hide sha cpu extension ([RCFILE] And added a profile using it) 2024-07-15 13:43:53 +02:00
josch
dfc60e8bf1
fix some spelling (#1668) 2024-07-10 11:06:02 +02:00
ptitSeb
62695ceed4 Bumped version to v0.3.0 2024-07-09 11:02:43 +02:00
ptitSeb
0ba46403c6 Detect UnityPlayer.dll to apply strongmem=1 automatically (can be disabled with BOX64_UNITYPLAYER=0) 2024-07-03 11:19:55 +02:00
ptitSeb
aeeb9b719a [COSIM] Added range handling in BOX64_DYNAREC_TEST ([RCFILE] too) 2024-06-24 20:32:16 +02:00
theofficialgman
9ab686b3e0
switch to maintained Pi-Apps-Coders apt repo (#1605)
closes https://github.com/ptitSeb/box64/issues/1576
2024-06-19 18:39:03 +02:00
ptitSeb
4eebf25f1c Added BOX64_RESERVE_HIGH in rcfile handling 2024-06-18 17:25:32 +02:00