Skip to content

v0.2.4

Compare
Choose a tag to compare
@ptitSeb ptitSeb released this 19 Aug 15:28
· 1161 commits to main since this release

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

Full Changelog: v0.2.2...v0.2.4