v0.2.4
What's Changed
=> Dynarec now support RISC-V, large speedup on RISC-V 64, were games are now playable (like Stardew Valley on a Vision Five 2)
=> Improved compatibility with more fixes in elf handling, more wrapped libs and functiond, more fixed opcodes and refined profile
=> Support for 32bits process in Wine with experimental WOW64
- Added Dynarec for RISC-V
- Added partial 32 bits support (WoW64 works)
- Changed cpuid to display box64
- Fixed steam, again
- Improved hacked version for overridden malloc/free functions
- More wrapped libs
- More wrapped functions and syscalls
- Reduced memory footprint
- Added support for the BIND_NOW flags in ELF files
- Added RTLD_NOLOAD support
- Fixed some typos and general cleanup, again
- Added a cosimulation mode (to compare the behaviour of the dynarec with the interpreter)
- Added FASTNAN/FASTROUND handling for more opcodes
- Better float/double/long double handling
- Better dlopen/dlclose handling
- More games in the rc file
- Added BOX64_DYNAREC_MISSING to show only missing opcode, independantly of the log level
- Added BOX64_RESERVE_HIGH to reserve addresses above 47bits
- Improved multitreading support
- Ukrainian translation of the README
Contributions
- add -dnogit=1 flag to debian rules by @ryanfortner in #547
- Rv64 dynarec by @ptitSeb in #550
- [RV64_DYNAREC] Added 29 SUB opcode by @ksco in #553
- [RV64_DYNAREC] Added (81/83) SUB opcode by @ksco in #554
- [RV64_DYNAREC] Added 8B MOV opcode by @xctan in #555
- [RV64_DYNAREC] Fixed scratch register conflict for SUB by @ksco in #556
- [RV64_DYNAREC] Added 31 XOR opcode by @ksco in #560
- [RV64_DYNAREC] Small optimization for 31 XOR opcode by @ksco in #561
- [RV64_DYNAREC] Added C1 /7 SAR opcode by @xctan in #559
- [RV64_DYNAREC] many many more commit by @ksco & @xctan
- docs/COMPILE.md: Use trusted.gpg.d by @sevan in #620
- [RV64_DYNAREC] Fixed register name of float load/store in printer by @xctan in #621
- [RV64_DYNAREC] Added A5 REP MOVSD opcode by @ksco in #622
- [ARM64_DYNAREC] Fixed UFLAG_OP12 helper macro by @ksco in #623
- [RV64_DYNAREC] Fixed F7 /6 DIV opcode by @ksco in #624
- [RV64_DYNAREC] Added more opcodes by @ksco in #625
- Update README by @ksco in #626
- Latest batch of PKGBUILD updates by @Jai-JAP in #637
- [RV64_DYNAREC] Fixes and some optims by @ksco in #638
- fix some spelling mistakes by @josch in #640
- add manual page in pod format by @josch in #641
- Add wrapperhelper from box86 by @Jai-JAP in #657
- First pass toward a better wrapper helper by @rajdakin in #658
- CMakeLists: Allow installation without any config files by @fredldotme in #670
- add missing \ to debian rules by @ryanfortner in #681
- exclude libstdc++.so.5 in dh_shlibdeps by @amazingfate in #692
- [TESTS] Make test09 deterministic by @ksco in #698
- [WRAPPER] Fixed a libFLAC func wrapper (for #701) by @ksco in #702
- [WRAPPER] Fixed mpg123 wrapper by @ksco in #704
- [WRAPPER] Added more fontconfig wrapped functions by @ksco in #708
- [ELF] Fixed a use-after-free issue by @ksco in #709
- Fixed a broken link in README by @ksco in #713
- Added more gtk3 wrapped functions by @LiZhuoheng-coder in #720
- [WRAPPER] Fix my___vsnprintf_chk by @xctan in #722
- Added more gtk3 wrapped functions by @LiZhuoheng-coder in #727
- Added more gtk3 wrapped functions by @LiZhuoheng-coder in #731
- Added support for builtin type distinction (long/long long) by @rajdakin in #735
- Added some mpg123 wrapped functions by @ksco in #762
- Added link to Wine guide, fixed link to Chinese readme by @Ilya114 in #773
- [DYNAREC] Fix jump table not free on exit by @kaixindeken in #781
- [WRAPPER] Added 1 more symbol for libc (for #787) by @ksco in #788
- [WRAPPER] Fixed stack align on varargs (for #789) by @ksco in #790
- [WRAPPER] Added vwprintf (for #793) by @ksco in #794
- [WRAPPER] Added 4 more libc dprintf wrappers by @ksco in #798
- [WRAPPER] Added some wayland function wrappers by @ksco in #807
- [ARM64_DYNAREC] Fixed PUSH rsp when double pushing by @ksco in #821
- [DYNAREC] Fixed native_fprem by @ksco in #822
- [DYNAREC] Fixed call_c issues by @ksco in #823
- [DYNAREC_RV64] Fixed 9x SETcc opcodes by @ksco in #824
- [WRAPPER] Added some more libc wrappers by @ksco in #826
- [INTERPRETER] Added 66 0F 38 37 PCMPGTQ opcode by @ksco in #827
- [WRAPPER] Added more libicu wrapped functions (for #829) by @ksco in #831
- ryanfortner's package now has a different name by @mio-19 in #834
- [WRAPPER] Rework on libharfbuzz wrapper by @ksco in #836
- Reduce duplication of compile instructions by @xDoge26 in #837
- [WRAPPER] Added more symbols for openssl wrapper by @ksco in #847
- [WRAPPER] Added more gtk functions by @ksco in #849
- [32BITS] Use 32-bit types to compute 32-bit addresses. by @julliard in #851
- [INTERP] Added more opcodes by @ksco in #852
- [WRAPPER] Added more symbols for nss3 by @ksco in #853
- [32BITS][DYNAREC] Added basic 32 bits RV64 support by @ksco in #856
- A few cosmetic fixes by @julliard in #858
- [32BTIS][DYNAREC_RV64] Added support for 32bits by @ksco in #861
- [DYNAREC_RV64] Fixed A0 MOV AL,Ob by @ksco in #866
- [32BITS][RV64_DYNAREC] Hanlding of STll struct in FILD/FISTP by @ksco in #868
- [DYNAREC] Fix push rsp instruction by @julliard in #875
- A few Push/Pop fixes and cleanups by @julliard in #878
- [WRAPPER HELPER] Improve Record Parsing by @wannacu in #880
- Cleaner wrapper generator script by @rajdakin in #889
- Update package name in COMPILE.md by @ryanfortner in #894
- remove executable bits by @josch in #896
- add /usr/x86_64-linux-gnu/lib to the shared library search path by @josch in #901
- Use CMAKE_SYSTEM_PROCESSOR instead of CMAKE_HOST_SYSTEM_PROCESSOR by @josch in #902
- Ukrainian translate of README by @Ilya114 in #908
- Little fixes by @Ilya114 in #909
- [RV64_DYNAREC] Added more opcodes for Yuzu by @xctan in #911
- Add missing curly brackets by @AndreRH in #919
- Spelling fixes by @AndreRH in #920
- [ARM64_DYNAREC] Fixed BT/BTC/BTR/BTS opcodes by @wannacu in #922
- Add a new vulkan extension: VK_EXT_descriptor_buffer by @strongtz in #923
- [RV64_DYNAREC] Added movbe opcode by @wannacu in #926
- [ARM64_DYNAREC] Correct PF caculation by @wannacu in #928
- Added some opcode by @wannacu in #929
- [RV64_DYNAREC] Added E0/E1/E2/E3 opcodes by @wannacu in #934
- Fixed wild pointer error for my_context->elfs while calling my___libc_start_main by @kaixindeken in #937
- Added some opcodes by @wannacu in #936
New Contributors
- @xctan made their first contribution in #555
- @sevan made their first contribution in #620
- @josch made their first contribution in #640
- @amazingfate made their first contribution in #692
- @LiZhuoheng-coder made their first contribution in #720
- @Ilya114 made their first contribution in #773
- @kaixindeken made their first contribution in #781
- @mio-19 made their first contribution in #834
- @xDoge26 made their first contribution in #837
- @AndreRH made their first contribution in #919
- @strongtz made their first contribution in #923
Full Changelog: v0.2.2...v0.2.4