Skip to content

v0.2.6

Compare
Choose a tag to compare
@ptitSeb ptitSeb released this 15 Dec 18:33
· 1654 commits to main since this release

What's Changed

=> More hadware support, more functions wrapped for an improve compatibity
=> More CPU extension, with ARM64 hardware support when possible, and improved CALLRET optimisation for an improved speed of emulation
=> Some work also to reduce the memory footprint

  • X64Libs: Updated libstdc++ & libgcc_s
  • X64Libs: Use x86_64 version of libunwind (it's needed by wine)
  • Dynarec: More opcodes on ARM64 & RV64
  • Dynarec: Fixed some flags propagation issues inside blocks
  • Dynarec: Improved Strong Memory Model emulation, introducing a 3rd level
  • Dynarec: ARM64: reworked shift and bit opcodes flags handling
  • Dynarec: RV64: Many fixes, making Wow64 apps running
  • Dynarec: ARM64: Added support for SSE4.2 (with CRC32 if supported by CPU)
  • Dynarec: ARM64: Added support for SHA (with hardware support if CPU allows it)
  • Dynarec: ARM64: The CALLRET optimisation has been improved and is now default
  • CPU: Remoworked how INT, priviliged opcodes and teh Trace flags works
  • CPU: Added full support for SSE4.2
  • CPU: Added full support for SHA extension
  • ElfLoader: rework how elf memory is handled
  • Emulation: Added some more syscalls
  • Emulation: Better handling of Signal (also handling SIGMAX correctly)
  • Emulation: Better support for POKEUSER/PEEKUSER (helps Windows Unity games)
  • Wrapping: More libs and some fixes in function wrapping (gtk3, vulkan...)
  • Wrapping: Removed faked libunwind wrapping
  • Hardware: Added more profile, with support ADLink Ampere Altra, Qualcomm 8Gen3, and Pi5 machines
  • OS: Added profile to build for Android and Termux.
  • OS: New option to use mold for a high speed link

Contributions

  • Update my_posix_spawnp() by @liuli0217 in #942
  • [ARM64_DYNAREC] Added 0F F1/F3/F7 opcodes by @wannacu in #941
  • Allow running at NULL, and trigger a segfault (backport from box86 5cdc1b9fa2238938e49176fcd937a1294c55a03d ) by @rafael2k in #948
  • Added (66) 0F 2A/2C/2D opcodes by @wannacu in #951
  • [ARM64_DYNAREC] Added some opcodes by @wannacu in #959
  • [ANDROID] Try to create an Android build, porting box86 Android build by @ptitSeb in #962
  • [ARM64_DYNAREC] Added some opcodes by @wannacu in #964
  • Update README_CN.md by @shenmo7192 in #968
  • [RV64_DYNAREC] Added thead vendor extension detection by @ksco in #969
  • [DYNAREC_RV64] Added support for xtheadba by @ksco in #970
  • [CI] Test RISCV with bit-manipulation extensions on by @ksco in #972
  • [CI] Upgrade QEMU to 8.1.0 by @ksco in #973
  • [RV64_DYNAREC] Added some support for XTheadBb extension by @ksco in #977
  • Fixed a typo in README.md by @Jai-JAP in #983
  • [CI] Use qemu snapshots from archlinux archive by @ksco in #987
  • [CI] Run tests w/ and w/o DynaRec by @ksco in #988
  • [RV64_DYNAREC] Added more support for XTheadBb extension by @ksco in #989
  • Add SDL_RenderWindowToLogical and SDL_SetSurfaceColorMod wrapped functions for #939 by @seeschloss in #991
  • [RV64_DYNAREC] Added more support for XTheadBs extension by @ksco in #993
  • Update dynarec_arm64_emit_math.c by @liuli0217 in #994
  • [RV64_DYNAREC] Added more support for XTheadMemPair extension by @ksco in #995
  • [ANDROID] Remove PreInit Array Warning and Fix libdl name by @KreitinnSoftware in #1001
  • Add mbrtoc32 wrapped function for dfhack (fixes a dfhack crash, see #939) by @seeschloss in #1003
  • Add __sF, __assert2 Symbol and set PThread Symbols on libc by @KreitinnSoftware in #1004
  • [ANDROID] Fix Most Library Names by @KreitinnSoftware in #1005
  • Add c32rtomb wrapped function for dfhack (fixes console, part of issue #939) by @seeschloss in #1008
  • Added Snapdragon 8 Gen 2 profile by @strongtz in #1009
  • [ARM64_DYNAREC] Take dynarec64_DA into account by @AndreRH in #1014
  • [RV64_DYNAREC] Fix a build warning by @ksco in #1020
  • Add a new vulkan extension: VK_KHR_maintenance5 by @strongtz in #1021
  • [WRAPPER] Added missing function signature by @ksco in #1024
  • [DYNAREC] Fix x87cache issues by @ksco in #1025
  • [CI] Do not regenerate functions list when running in CI by @ksco in #1028
  • [COSIM] Fix x87 testing by @ksco in #1029
  • fix emit_sar32c() ZF maybe set error. by @liuli0217 in #1034
  • [INTERP] Fix fpu_round by @ksco in #1030
  • [WRAPPER] Fixed my_mmap64 on MAP_FIXED handling, helps wine 8.18 by @ksco in #1039
  • [DYNAREC_RV64] Fixed opcode DB /5 FLD tbyte (for #871) by @ksco in #1040
  • [DYNAREC_RV64] Fixed x87 FCOMI opcodes (for #872) by @ksco in #1041
  • [WRAPPER] Fixed my_execl by @wannacu in #1044
  • [ELFLOADER] Fixed align issue (may help #1057) by @ksco in #1058
  • [COSIM] Fix GO_TRACE by @ksco in #1059
  • [RV64_DYNAREC] Added a few opcodes for minipad2.exe by @ksco in #1061
  • [RV64_DYNAREC] [32BITS] Added more opcodes for minipad2.exe by @ksco in #1062
  • ADLINK with Ampere by @joespeed in #1069
  • Change blokc size to 64kb by @Raezroth in #1071
  • [RV64_DYNAREC] Fixed zbb andn optimization by @ksco in #1074
  • [RV64_DYNAREC] Added FD STD, fixed FC CLD and F3 A4 REP MOVSB (for minipad2) by @ksco in #1075
  • [RV64_DYNAREC] Added 64 8F POP & 67 66 89 MOV opcodes (for minipad2.exe) by @ksco in #1076
  • [DYNAREC_RV64] Fixed FCOMP opcode by @ksco in #1080
  • [DYNAREC_RV64] Added more opcode for minipad2.exe by @ksco in #1081
  • [DYNAREC_RV64] Fixed BTS BTR BTC for zbs extension by @ksco in #1084
  • [CMAKE] Add WITH_MOLD option by @ksco in #1085
  • [SIGNAL] Fixed copyUCTXreg2Emu by @ksco in #1086
  • [DYNAREC_RV64] Fixed emit_ror32 by @ksco in #1087
  • [ANDROID] Added missing wrappedandroidshmem def headers by @mcagabe19 in #1088
  • [DOCS] Add mold usage to COMPILE.md by @kaixindeken in #1089
  • [DYNAREC_RV64] Fixed BTS BTR BTC again by @ksco in #1090
  • [ANDROID] Fix Compiling by @mcagabe19 in #1091
  • [ANDROID] Use TERMUX Define Instead ANDROID by @mcagabe19 in #1093
  • [WRAPPERS] Added fallback glXSwapIntervalEXT function if not present by @ksco in #1092
  • [ANDROID] Fix Clang Compiling by @mcagabe19 in #1094
  • [ANDROID]Fix Termux installation path by @Creeper-xie in #1095
  • [DYNAREC_RV64] Added missing fallbacks in x87 opcodes by @ksco in #1096
  • [DYNAREC][INTERPRETER] Rework on 6C/6D/6E/6F opcodes by @ksco in #1098
  • [DYNAREC_RV64] Added more opcodes for flatout.exe by @ksco in #1099
  • [DYNAREC_RV64] Added more opcodes for flatout.exe by @ksco in #1100
  • Fix spelling in README.md by @JulianGro in #1101
  • [DOCS] Termux Compiling by @mcagabe19 in #1102
  • [TERMUX] Added faked wrapped termux-exec and simplified output by @mcagabe19 in #1103
  • [TERMUX] Fix make install by @mcagabe19 in #1106
  • [TERMUX] Fix debian packaging by @mcagabe19 in #1107
  • [DOCS] Added missing library for #1108 by @mcagabe19 in #1109
  • [TERMUX] Fix loading box64rc and lib x86_64-linux-gnu path on termux by @Creeper-xie in #1110
  • [DOCS] Updated termux building instructions by @mcagabe19 in #1113
  • [DYNAREC_RV64] Refine printer and add support for Zb* extensions by @ksco in #1115
  • [DYNAREC_RV64] Added more dasm support for thead extensions by @ksco in #1118
  • [DOCS] Updated TERMUX Building by @mcagabe19 in #1121
  • [DYNAREC_RV64] Use a temporary solution to get things to work by @ksco in #1122
  • [DYNAREC_RV64] Added unaligned support for some LOCK opcodes by @ksco in #1123
  • [DYNAREC_RV64] Added more opcodes for flatout.exe by @ksco in #1126
  • [DYNAREC_RV64] Added more and more opcodes for flatout.exe by @ksco in #1128
  • [DYNAREC_RV64] Added more opcodes for flatout.exe by @ksco in #1132
  • [DYNAREC_RV64] Added more opcodes for flatout.exe by @ksco in #1133
  • [DYNAREC_RV64] Added more opcodes for flatout.exe by @ksco in #1134
  • fix emit_shr16 by @liuli0217 in #1135
  • [LIBRARIES] Fixed lowercase libXrandr lib call by @mcagabe19 in #1137
  • Raspberry Pi 5 support by @sundhaug92 in #1138
  • [ARM64_DYNAREC] fix emit_shld16(c) by @liuli0217 in #1141
  • Fix raspi5 building by @mcagabe19no2fa in #1142

New Contributors

Full Changelog: v0.2.4...v0.2.6