Skip to content

v0.4.4

Latest

Choose a tag to compare

@ptitSeb ptitSeb released this 02 Aug 09:38

What's Changed

  • A new box64-configurator is now present (a python app) to help managing custom RCFILE profiles. It is available in both english and chinese.
  • DynaCache is now enabled by default. It will compress the files and use up to 2GB of disk space.
  • You can use box64-configurator on the special [*] profile to change default values
  • More improvements on emulation accuracy that help running more DRM'd games
  • Many Speed improvements in the LoongArch backend
  • Many new opcodes in the RISC-V backend

More details in New release blog

Contributions

  • [DYNAREC] Optimized native_pclmul functions with a 4bit table by @ksco in #3797
  • [WRAPPER] Fixed various wrapping issues by @ksco in #3799
  • [MALLOCHOOK] Fix UAF and leak by @devarajabc in #3804
  • [WRAPPER] Fixed more wrapping issues by @ksco in #3802
  • [ELFLOADER] Refined symbol not found error message by @ksco in #3807
  • [WRAPPER] Duplicated libm wrappers to libc by @ksco in #3806
  • [WRAPPER] Added libpixman-1.so wrapping by @lz-bro in #3805
  • [WRAPPER] Fixed some gtk custom wrapping issues by @ksco in #3809
  • [WRAPPER] Fixed more custom wrapping issues by @ksco in #3810
  • [WRAPPERHELPER] Added a new --check-only option by @ksco in #3803
  • [LA64_DYNAREC] Fixed a typo by @ksco in #3811
  • add _ZGVbN4vv_powf _ZGVbN4v_acosf by @yzewei in #3814
  • [DOCS] Corrected typos in usage document by @ksco in #3815
  • [DOCS] Added Chinese translation to the usage document by @ksco in #3817
  • [ARM64_DYNAREC] Fix NaN detection operand typo by @devarajabc in #3820
  • [DYNAREC] Fixed x64_readaddr relocation when loading DynaCache by @ksco in #3821
  • [DYNAREC] Checked cpuext when reloading dynablock from disk by @ksco in #3823
  • [DYNAREC] Restored sep entries hidden dynablock reference by @ksco in #3822
  • [WRAPPER] Add gnutls_free wrapped function for libgnutls by @zengdage in #3824
  • [RCFILE] Fixed section priority handling by @ksco in #3826
  • [LA64_DYNAREC] Added some F2/F3 faked prefix opcodes by @ksco in #3827
  • [RCFILE] Added global shared entry support by @ksco in #3828
  • [DOCS] Added a short advertisement text about our new paper by @ksco in #3829
  • [SYSCALL] Added a new syscall by @ksco in #3830
  • [RV64_DYNAREC] Fixed scratch register conflicts in a few opcodes by @ksco in #3831
  • [RCFILE] Added a setting to Feishu by @lz-bro in #3833
  • [LA64_DYNAREC] Introduced a dynarec version of the UpdateFlags helper function by @ksco in #3834
  • [ARM64_DYNAREC] Fixed some typos in the inlined updateflags emitter by @ksco in #3835
  • [DOCS] Mark certain options as fragile or legacy by @ksco in #3836
  • [RV64_DYNAREC] Refined some !fastnan handling by @ksco in #3838
  • [LA64_DYNAREC] Refined MOVNT opcode modreg handling by @ksco in #3839
  • [LA64_DYNAREC] Fixed LSX only path by @ksco in #3840
  • [LA64_DYNAREC] Supported fastround=2 by @ksco in #3842
  • [CORE] Degraded those endBox64 logs by @ksco in #3846
  • [WRAPPER] Added 1 more extension to libGL by @ksco in #3847
  • [CORE] Fix unexpected modification of GetNativeName's return value by @zengdage in #3845
  • [TEST] Refined number parsing by @ksco in #3848
  • Fixed x87 packed-BCD handling by @ksco in #3850
  • Fixed x87 FNSAVE/FRSTOR opcodes by @ksco in #3851
  • Add strict EVEX dispatch for AVX512VL forms backed by existing AVX handlers by @necat101 in #3843
  • [LA64_DYNAREC] Fixed XLAT opcode ([RV64_DYNAREC] too) by @ksco in #3853
  • [LA64_DYNAREC] Added 66 14 and 66 E8 opcodes by @ksco in #3854
  • [INTERP][DYNAREC] Fixed XSAVE/XRSTOR opcodes by @ksco in #3849
  • [TEST] Added simple run for debugging by @ksco in #3855
  • Added a fake x86_64 python for compitibility by @ksco in #3844
  • dynarec/arm64: reduce AVX dispatch and cache transform overhead by @necat101 in #3856
  • Moved sitecustomize.py out of bin install directory by @ksco in #3857
  • [DYNACACHE] Fixed dynacache command line cpuext detection by @ksco in #3859
  • [DYNACACHE] Added auto-generated DynaCache versions by @ksco in #3858
  • [DYNACACHE] Added a new option to limit cache folder size by @ksco in #3860
  • Optimize ARM64 dynarec cache compilation for non-AVX paths by @necat101 in #3861
  • [DYNACACHE] Created dynacache.c by @ksco in #3865
  • [DYNACACHE] Try to update mtime on cache read by @ksco in #3866
  • [WRAPPER][BOX32] Wrapped more symbols for sdl1 by @ksco in #3870
  • [DYNACACHE] Skipped stale blocks when reload cache by @ksco in #3872
  • [INTERP] Fixed 66 prefix decoding by @ksco in #3873
  • [LA64_DYNAREC] Optimized AES opcodes using vpaes algorithm by @ksco in #3874
  • [INTERP] Removed dead code in 66 prefix by @ksco in #3875
  • [DYNAREC] Save temporary registers on the stack before calling PrintT… by @zengdage in #3876
  • [CMAKE] Updated minimum cmake version to be 3.19 by @xiangzhai in #3878
  • [DYNAREC] Modify natflags register save logic to now save all scratch registers by @zengdage in #3880
  • [DYNAREC] Reworked invalidate dynablocks management by @ksco in #3882
  • [RV64_DYNAREC] Fixed ANDNPS/ANDNPD/PANDN register reuse conflict in vector path by @1362525207 in #3883
  • [RV64_DYNAREC] Fixed BSF/BSR opcodes safeflags handling by @ksco in #3886
  • [RV64_DYNAREC] Fixed PCMPISTRM opcode scratch register conflict by @ksco in #3884
  • [RV64_DYNAREC] Fixed MOVBE opcode fallback path scratch register conflict by @ksco in #3888
  • [RV64_DYNAREC] Fixed VBLENDVPS opcode by @ksco in #3887
  • [RV64_DYNAREC] Fixed SBB16/SBB32 scratch register clobbering in flag calculation by @1362525207 in #3889
  • [DYNAREC] Optimized bigblock add_next performance with hash table by @ksco in #3890
  • [RCFILE] Added profile for Call of Duty 4 by @ksco in #3891
  • [SIGNAL] Added partial deferred signal support by @ksco in #3892
  • [MEMORY] Fixed bricks stubs page non exec degrade by @ksco in #3894
  • [SYSCALL] Ignore PR_SET_SYSCALL_USER_DISPATCH by @ksco in #3895
  • [SIGNAL] Fixed a regression introduced in deferred signal commit 5873363 by @ksco in #3896
  • [SYSCALL] Added proper syscall user dispatch emulation by @ksco in #3897
  • [DYNAREC] Added deferred dynablock support for FreeDynablock by @ksco in #3898
  • [RV64_DYNAREC] Fixed VHADDPD/VHSUBPD and VPSHUFB register clobbering in 256-bit path by @1362525207 in #3899
  • [LA64_DYNAREC] Fixed some AVX issues by @ksco in #3900
  • [ENV] Reworked a strange design for BOX64_AVX=2 by @ksco in #3902
  • [LA64_DYNAREC] Worked on CF IRET opcode by @ksco in #3903
  • [BOX32] Fixed fullpath resolving like the 64-bit version by @ksco in #3904
  • [LA64_DYNAREC] Fixed RDTSC opcode by @ksco in #3905
  • [SYSINFO] Fixed readFreq for LoongArch64 by @ksco in #3906
  • [ENV] Enabled AVX by default on LoongArch by @ksco in #3907
  • fix clang warnings that are bugs by @peppergrayxyz in #3917
  • fix clang warnings by @peppergrayxyz in #3915
  • [WRAPPER] Added libpipewire-0.3.so wrapping by @lz-bro in #3921
  • [SYSCALL] Fix mmap for io_uring by @zengdage in #3920
  • [SIGNAL] Fixed my_signal not reporting sigaction failure for SIGKILL/SIGSTOP by @1362525207 in #3924
  • [WRAPPER] Wrapped more symbol for pipewire by @ksco in #3925
  • [LA64_DYNAREC] Added a dedicated vzero register by @ksco in #3926
  • [LA64_DYNAREC][RV64_DYNAREC] Tweaked an undefined behaviour by @ksco in #3927
  • [INTERP] Fixed MOVSXD by @ksco in #3928
  • [WRAPPER] Add libmvec and sqlite3 symbols for Open WebUI by @yzewei in #3930
  • [INTERP] Reworked on some undefined bahaviours and fixes by @ksco in #3933
  • [DYNAREC] Reverted a undefined behaviour change by @ksco in #3934
  • [LA64_DYNAREC] Fixed string opcodes with 67 prefix by @ksco in #3935
  • [WRAPPER] Wrapped 1 more symbol for dbus by @ksco in #3936
  • [LA64_DYNAREC] Reworked flags and df handling by @ksco in #3937
  • [CMAKE] Disable dynacache for ctest by @ksco in #3938
  • [DYNACACHE] Refined cache validation by @ksco in #3939
  • [WRAPPER] Add symbols for Anaconda-Navigator by @yzewei in #3940
  • [DYNAREC] Optimized a hot function seen in Wine 11.10 by @ksco in #3941
  • [WRAPPER] Fix libresolv compatibility with older glibc by @yzewei in #3943
  • [ENV] Moved dynacache out of fragile and reduced minimum cache file size to 30KiB by @ksco in #3942
  • [ENV] Added box64-configurator GUI tool by @ksco in #3946
  • [WRAPPER] Wrapped process_vm_writev for Syringe.exe by @ksco in #3949
  • [DYNAREC] Ported IRET TF fix to all backends by @ksco in #3950
  • Add null check for dynablock in arch_unaligned by @Aqua-Peak in #3945
  • [SIGNAL] Set no_tf when resuming from a signal for Syringe.exe by @ksco in #3951
  • [DYNACACHE] Refactored logging and printing by @ksco in #3953
  • [DYNACACHE] Added 2 more env vars to dynacache by @ksco in #3954
  • [PROFILE] Added a profile for explorer.exe by @ksco in #3952
  • [LA64_DYNAREC] Refined iret_to_next by @ksco in #3955
  • [CONFIG] Improved configurator by @ksco in #3956
  • [DYNAREC] Preserved EFLAGS across pass0-shortened dynablock exit by @ksco in #3959
  • [SIGNAL] Made SHOWSEGV safer by @ksco in #3960
  • [LA64_DYNAEC] Fixed some flags emulation edge-cases by @ksco in #3961
  • [CPUID] Fixed a regression introduced in f05bdb1 by @ksco in #3963
  • [DYNAREC] Fixed zero-extension for 32-bit RCL/RCR Ed, CL by @ksco in #3964
  • [LA64_DYNAREC] Implemented AAM/AAD opcodes and fixed AAD16 flags by @ksco in #3965
  • [INTERP] Fixed OF preserving for 16-bit ROL/ROR opcodes by @ksco in #3966
  • [INTERP] Preserved OF for 8-bit ROL/ROR opcodes by @ksco in #3967
  • [LA64_DYNAREC] Preseved OF for 8/16-bit ROL/ROR opcodes by @ksco in #3968
  • [LA64_DYNAREC] Disable flags fusion for all the shift/rotate on CL opcodes by @ksco in #3969
  • [LA64_DYNAREC] Fixed deferred flags regression by @ksco in #3970
  • [DOCS] Corrected some typos in the usage documentation by @Mikura-Kyouka in #3973
  • [INTERP] More work on ROL/ROR opcodes OF emulation by @ksco in #3974
  • [LA64_DYNAREC] More work on ROL/ROR opcodes OF emulation by @ksco in #3975
  • [WRAPPER] Fixed g_option_group_add_entries by @ksco in #3977
  • [WRAPPERHELPER] Fixed a typo in parse.c by @ksco in #3978
  • [WRAPPER] Wrapped liblz4 by @ksco in #3979
  • [WRAPPER] Added 2 more wayland listeners by @ksco in #3980
  • [CMAKE] Cleanup ctest by @ksco in #3981
  • [WRAPPER] Removed pipewire wrapping by @ksco in #3982
  • [WRAPPER] Added more listener wrappers for wayland-client by @ksco in #3983
  • [CONFIG] Added often-used group and BOX64_PROFILE support by @ksco in #3984
  • [CONFIG] Added KDE fileitemaction integration by @ksco in #3985
  • [WRAPPER] Ensure symbols returned from different lookup paths resolve to the same address by @baibaidashixiong in #3986
  • [KDE_PLUGIN] Added KDE 5 support by @ksco in #3987
  • [LA64_DYNAREC] Added PCMPESTRM/PCMPISTRM opcodes by @ksco in #3988
  • [ENV] Fixed env variables printing by @ksco in #3989
  • [DYNAREC] Always initialize jump table for DynaRec build by @ksco in #3990
  • [RV64_DYNAREC] Fixed GETEW delta parameter for ROL/ROR/RCL/RCR by @1362525207 in #3992
  • [WRAPPER][BOX32] Fixed unexpected bridge reuse by @ksco in #3994
  • [WRAPPER] Fix out-of-bounds memory corruption in my_readlink by @zengdage in #3995
  • [WRAPPER] Wrapped 1 more symbol for wayland-client by @ksco in #3996
  • [TRACE] Support configuring trace address list through BOX64_TRACE by @zengdage in #3998
  • [CORE] Add MallocHookRun to call startMallocHook before RunElfInit by @zengdage in #3999
  • [WRAPPER] Wrapped more symbols for libGL by @ksco in #4001
  • [RCFILE] Fixed DOOM 2016 profile by @ksco in #4002
  • [RCFILE] Added a profile for Death Stranding 2 by @ksco in #4005
  • [INTERP] Added unaligned handling for many opcodes by @ksco in #4006
  • [LA64_DYNAREC] Fixed some bad typos in non-lam_bh path by @ksco in #4010
  • [INTERP] Fixed BTS/BTC unaligned path by @ksco in #4012
  • [CMAKE] Remove the trailing '/' from INSTALL_PATH by @zengdage in #4015
  • [RCFILE] Loosen Dave The Diver profile by @ksco in #4018
  • [DYNAREC] Made callret=2 the default by @ksco in #4017
  • [CORE] Change mmap flag judgment in getMmapped by @zengdage in #4003
  • [CI] Fix CI by @ksco in #4021
  • [LA64_DYNAREC] Added upper 32bits zero tracking by @ksco in #4016
  • [DYNAREC] Added a compact mode to dynarec dump by @ksco in #4024
  • [LA64_DYNAREC] Preserves liveness across internal unconditional jumps by @ksco in #4025
  • [LA64_DYNAREC] Fixed some issues in up32 tracking by @ksco in #4026
  • Support libpipewire bundle by @zengdage in #4019
  • [ARM64_DYNAREC] Fixed ROL/ROR opcodes OF emulation by @ksco in #4027
  • [INTERP] Fixed SSE4a opcodes EXTRQ and INSERTQ by @ksco in #4028
  • [ARM64_DYNAREC] Fixed some AES opcodes fallback path by @ksco in #4029
  • [ARM64_DYNAREC] Fixed more ROL/ROR opcodes OF emulation by @ksco in #4030
  • [RV64_DYNAREC] Fix the issue where source register values get overwritten. by @zengdage in #4032
  • [LA64_DYNAREC] Fixed gpr upper tracking with nativeflags by @ksco in #4033
  • [LA64_DYNAREC] Fixed gpr upper tracking non-lbt path by @ksco in #4034
  • [RV64_DYNAREC] Change sNaN to qNan for addsd/subsd/mulsd/divsd by @zengdage in #4035
  • [RV64_DYNAREC] Ported 0ccd751 to SS variants by @ksco in #4036
  • [RV64_DYNAREC] Restored vector SEW after MMX cache reload by @ksco in #4037
  • [RV64_DYNAREC] Fixed MOVNTQ opcode by @ksco in #4038
  • [RV64_DYNAREC] Added !fastnan path to ADDSUBPS opcode by @ksco in #4039
  • [RV64_DYNAREC] Fixed VCVTPS2PD opcode overwritten by @ksco in #4040
  • [RV64_DYNAREC] Added !fastnan path for more opcodes by @ksco in #4041
  • [DOCS] Add Chinese version of WINE.md by @Mikura-Kyouka in #4042
  • [LA64_DYNAREC] Added basic arch state gathering support and enabled up32 by @ksco in #4044
  • [DYNAREC][ENV] Disabled SEP by default by @ksco in #4045
  • [LA64_DYNAREC] Added 66 F5 /5 IMUL opcode by @ksco in #4047
  • [LA64_DYNAREC] Added a fast path for 66 25 AND opcode by @ksco in #4048
  • [LA64] SIGBUS special cases for LA64 ABI 1.0 by @xiangzhai in #4050
  • [ENV] Disable dynacache when dynarec_trace and trace is enabled by @zengdage in #4051
  • [CUSTOMMEM] only track the newly added heap when brk changed by @Shirowwww in #4055
  • [BUNDLE] Add 'libpolkit-gobject-1.so.0' by @LukeShortCloud in #4043
  • [LA64_DYNAREC] Added push/pop rsp merge optimization by @ksco in #4054
  • [LA64_DYNAREC] Removed merge_sync from up32 tracking by @ksco in #4056
  • [LA64_DYNAREC] Removed some useless code in rsp merging by @ksco in #4057
  • [LA64_DYNAREC] Added a fast path for 66 33 XOR opcode by @ksco in #4058
  • [LA64_DYNAREC] Added a fast path for D0 /5 opcode by @ksco in #4059
  • [LA64_DYNAREC] Added a fast path for 66 C1/D1 /5 SHR opcode by @ksco in #4060
  • [LA64_DYNAREC] Added more fast paths and micro optimizations by @ksco in #4061
  • [CORE] Don't consume guest t/test arguments by @Sped0n in #4062
  • [LA64_DYNAREC] Disabled rsp merging when cosim is enabled by @ksco in #4066
  • [INTERP] Set invalid flag for FP-to-int conversions by @yzewei in #4069
  • [RV64_DYNAREC] Support CLWB/CLFLUSH/CLFLUSHOPT by risc-v Zicbom by @zengdage in #4070
  • [DYNACACHE] Restricted last_mmap to executable images by @ksco in #4068
  • [LA64_DYNAREC] Added comis fusion by @ksco in #4072
  • [RV64_DYNAREC] Support prefetch family inst by Zicbop by @zengdage in #4073
  • [RV64_DYNAREC] Restored SEW after conditional cache transforms by @ksco in #4074
  • [RV64_DYNAREC] Refined ROR/ROL opcodes flags emulation by @ksco in #4075
  • [RV64_DYNAREC] Fixed VCMPSS opcode by @ksco in #4076
  • [DYNAREC] Added BOX64_DYNAREC_DISASM for Zydis disassembly in dynarec dump by @Mikura-Kyouka in #4049
  • [WRAPPER] Add libmvec wrappers for missing _ZGVb and _ZGVc exp/log/pow variants by @yzewei in #4078
  • [RV64_DYNAREC] Reduce instruction count for 64-bit addition carry flag by @zengdage in #4079
  • [LA64_DYNAREC] Optimized non-lbt CF flag emulation by @ksco in #4080
  • [LA64_DYNAREC] Fixed emit_shr32 with up32 tracking by @ksco in #4081
  • [LA64_DYNAREC] Fixed more up32 issues by @ksco in #4082
  • [DYNAREC] Fixed CALL FAR/RET with callret=2 by @ksco in #4083
  • [LA64_DYNAREC] Fixed more up32 tracking bugs by @ksco in #4088
  • [RV64_DYNAREC] Reduce instruction count for GETSEB/GETSGW by risc-v zbb by @zengdage in #4090
  • box64 fixes for running Electron/Chromium apps (malloc_hack + 48-bit detection) by @dmitry-brazhenko in #4087
  • [DYNAREC] Ported the alternate fix from Arm to others by @ksco in #4091
  • Removed useless files by @ksco in #4092
  • Optimized sha1rnds4 helper function utilizing loop-unrolling by @ksco in #4093
  • [DYNAREC] Fixed 16-bit XADD register clobbering by @ksco in #4094
  • [LA64_DYNAREC] Added ARPL opcode by @ksco in #4095
  • [LA64_DYNAREC] Fixed inlined updateflags by @ksco in #4096
  • [LA64_DYNAREC] Optimized SHA1 opcodes by @ksco in #4097
  • [RV64_DYNAREC] Support some bmi and bmi2 instructions for risc-v by @zengdage in #4098
  • [LA64_DYNAREC] Fixed a typo in VPXOR opcode by @ksco in #4101
  • [RV64_DYNAREC] Remove redundant SMREAD by @zengdage in #4100
  • [LA64_DYNAREC] Fixed scratch register shortage in certain VAES opcodes by @ksco in #4103
  • [LA64_DYNAREC] Optimized SHA1 opcodes by @ksco in #4102
  • [LA64_DYNAREC] Added F0 F6 /2 LOCK NOT opcode by @ksco in #4104
  • Small tweaks to the profile by @ksco in #4105
  • [LA64_DYNAREC] Fixed ARPL opcode (regression of fd6bdfe) by @ksco in #4106
  • [LA64_DYNAREC] Cached MXCSR rounding mode in FCSR3 by @ksco in #4108
  • [RV64_DYNAREC] Use risc-v zicond to eliminate some branchs for setting flag by @zengdage in #4099
  • [LA64_DYNAREC] Added simplewrapper float parameter support by @ksco in #4109
  • [INTERPRETER] Improve x87 long double classification by @yzewei in #4107
  • [RV64_DYNAREC] Add Zicbom and Zicbop disassemble case by @zengdage in #4111
  • [RV64_DYNAREC] Support bmi2 PDEP/MULX/SHRX instruction by @zengdage in #4110
  • [TLS] Kept x86 TCB self consistent with pthread_self() by @ksco in #4112
  • [LA64_DYNAREC] Extended nativeflags to 1+N pattern by @ksco in #4113
  • [LA64_DYNAREC] Extended nativeflags SF fusion by @ksco in #4115
  • [RV64_DYNAREC] Support bmi2 PEXT/SARX/RORX instruction by @zengdage in #4116
  • [LA64_DYNAREC] Optimized jump safe macros by @ksco in #4114
  • [RV64_DYNAREC] Fix RORX if cpu don't support zbb by @zengdage in #4120
  • [RV64_DYNAREC] Restored vector width before XMM cache accesses by @ksco in #4121
  • [RV64_DYNAREC] Refined rotate opcodes by @ksco in #4122
  • [RV64_DYNAREC] Fixed CRC opcodes by @ksco in #4123
  • [RV64_DYNAREC] Fixed conditional move macros by @ksco in #4124
  • [RV64_DYNAREC] Support POPCNT/TZCNT/LZCNT 16 bit operand by @zengdage in #4125
  • [RV64_DYNAREC] Change some BNEZ+ORI to SET_FLAGS_EQZ by @zengdage in #4126
  • [RV64_DYNAREC] Fixed VSQRTPD opcode by @ksco in #4129
  • [RV64_DYNAREC] Fixed conditional move macros again by @ksco in #4130
  • [RV64_DYNAREC] Fixed RORX opcode by @ksco in #4131
  • [RV64_DYNAREC] Fixed HADDPD opcode by @ksco in #4132
  • [RV64_DYNAREC] Fixed VPSUBQ opcode by @ksco in #4133
  • [RV64_DYNAREC] Added 0F C7 /1 CMPXCHG8B opcode by @ksco in #4134
  • [SYSCALL] Add syscall 40 by @LukeShortCloud in #4135
  • [SYSCALL] Add more syscalls for Magisk by @LukeShortCloud in #4136
  • [RV64_DYNAREC] Fixed PCMPSTR opcodes by @ksco in #4137
  • [RV64_DYNAREC] Fixed VPADDQ opcode by @ksco in #4138
  • [RV64_DYNAREC] Support MOVQ2DQ and ADOX instruction by @zengdage in #4146
  • [RV64_DYNAREC] Support VMOVLPS/VMOVHPS Ex,Gx instruction by @zengdage in #4140
  • [RV64_DYNAREC] Refactored (safe) flags emulation by @ksco in #4147
  • [RV64_DYNAREC] Fixed MIN/MAX opcodes by @ksco in #4148
  • [RV64_DYNAREC] Support HSUBPS and MOVDQ2Q instruction by @zengdage in #4141
  • [BUNDLE] Generate checksums by @LukeShortCloud in #4151
  • [RCFILE] Added game profile for Jetboard Joust by @LukeShortCloud in #4152
  • [RCFILE] Added game profile for VRChat by @LukeShortCloud in #4153
  • [SYSCALL] Add syscall 32 by @lz-bro in #4156
  • [SYSCALL] Add various simple syscalls by @LukeShortCloud in #4144
  • [DOCS] Recommend SteamRT3/SteamRT64 by @LukeShortCloud in #4157
  • [SYSCALL] Fixed a bad bad bug by @ksco in #4161
  • [SYSCALL] Added a few more syscalls by @ksco in #4163
  • [WRAPPER] Wrapped isoc23_[v]scanf by @ksco in #4162
  • [RV64_DYNAREC] Fixed PDEP opcode by @ksco in #4167
  • [RV64_DYNAREC] Fixed a long standing typo in CALL opcode by @ksco in #4168
  • [RV64_DYNAREC] Fixed PEXT opcode by @ksco in #4170
  • [RV64_DYNAREC] Flush pending double reg on size change by @ksco in #4171
  • [RV64_DYNAREC] Fixed PACKSSDW opcode by @ksco in #4172
  • [RV64_DYNAREC] Fixed more GETEX mistakes by @ksco in #4173
  • [SIGNAL] Preserve TF handling when resuming signals with Dynarec by @Mikura-Kyouka in #4174
  • [RV64_DYNAREC] Restored vector SEW after cache transform by @ksco in #4175

New Contributors

Full Changelog: v0.4.2...v0.4.4