GX2: Fixed a bug that caused a mismatch between geometry and pixel shader attribute location Nlibcurl: Implemented a large chunk of Cafe OS nlibcurl functions Nn_erreula: Implemented preliminary support for nn_erreula library Nn_acp: Implemented API ACPGetSaveDataTitleIdList, ACPGetTitleSaveMetaXml, ACPGetTitleSaveDirEx Nn_act: Implemented API AcquireIndependentServiceToken Nn_ac: Fixed the return values of IsApplicationConnected, GetConnectStatus, GetAssignedAddress, GetAssignedSubnet Nn_ac: Added API GetConnectResult, GetLastErrorCode, GetStatus PPC/JIT: Detect and replace common ADDIC+SUBFE pattern with 圆4 optimized codeĬoreinit: Added missing MEMCreateUnitHeapEx, MEMDestroyUnitHeap exportsĬoreinit: Fixed bugs in memory heap implementationsĬoreinit: Added API MEMGetNthListObject, MEMGetPrevListObject, MEMPrependList, MCP_GetSystemVersion, MCP_TitleListByDeviceĪx: Small tweaks and optimizations to audio handling PPC/JIT: Use BMI2 SHRX/SHLX for PPC SRW/SLW (if supported) If you know 圆4/ppc asm and want to see an example, check this link:
Resulting in code with far less memory read/writes. While the new RA can allocate registers across branches and loops, Previous register allocator would only look at blocks of uninterrupted instructions, PPC/JIT: New global linear-scan register allocator General: Updated application and window icon General: Cemu will generate meta folder for saves if not already present (necessary to identify saves) General: Improved error description when file copy operations fail (save migration and update/DLC installer)
General: Improved online support, as a consequence Cemu now requires all ccert and scert files to be dumped GX2: Fixed a bug where the pixel shader decompiler would ignore the current state of geometry shader outputs and instead use the outputs of the vertex stageĪX: Fixed crash caused by buffer overflow when the samplerate ratio of a voice was very low GX2: If supported, use AVX2 to decode 16bit indices GX2: Added support for data-merging of BC3 and BC4 textures with matching integer formats ZLib: Added API deflateInit2_, deflateBound, deflate, deflateEnd Iosu: Implemented crypto and account modules Nn_sysnet: Added API mw_socket, shutdown, inet_pton, recvfrom_ex, sendto, sendto_multi Nn_boss: Added support for reading BOSS storage (mlc/usr/boss/) Nn_acp: Added API ACPUpdateSaveTimeStamp, ACPCheckApplicationDeviceEmulation, GetUtcOffset, GetUtcOffsetEx The new implementation also covers more nn_save API (instead of /mlc01/emulatorSave/.)Ĭemu will automatically migrate old saves to the new location (if user confirms a message box)Ĭreate meta files that identify a save (iconTex.tga, meta.xml, saveinfo.xml) Using the correct save path: /mlc01/usr/save/. Input: Fixed a bug that caused controllers not to appear in the device list after click the refresh button Input: Fixed calibrating for certain directinput devices Input: Deadzone is normalized correctly now and should be the same for xinput and directinput devices
OSUninterruptibleSpinLock_Release, OSUninterruptibleSpinLock_TryAcquire, OSUninterruptibleSpinLock_TryAcquireWithTimeout, PPC/JIT: Move instructions that affect CR closer to conditional jumps so we can cache CR in 圆4 flags register (optimization for loops and branch heavy functions)Ĭoreinit: Rewritten ExpHeap, MBlock MEMList, SpinLock codeĬoreinit: Rewrote MEMInitBlockHeap, MEMCreateFrmHeapEx, MEMCreateUnitHeapEx to match the new internal memory structuresĬoreinit: Added API MEMDestroyUnitHeap, MEMDestroyBlockHeap, IOS_Ioctlv, OSUninterruptibleSpinLock_Acquire, PPC/Interpreter: Added instruction PS_CMPU0 PPC/Interpreter: Minor optimizations in PSQ_L* instructions PPC/Interpreter: Fixed a bug in PSQ_L* instruction that caused the second value to be extended with the incorrect sign bit General: Added logging option for socket API
File -> Install game update or DLC -> select the meta.xml in the meta folder of the update General: Updates and dlcs can be now installed (but not downloaded) more conveniently via Cemu's UI. General: Added "threadQuantum" game profile option to control amount of virtual PPC cycles executed per thread time slice General: Added "extendedTextureReadback" option (fixes Pikmin 3 and possibly other games, credits and thanks epigramx for the finding) General: Added "streamoutBufferCacheSize" game profile option General: Added support for native online play for games that use NEX (requires otp, seeprom, account data and certificates dumped from a Wii U) General: Fixed a bug that made it impossible to enable online modeĬoreinit: Fixed a problem where save files would sometimes not be detected by a game Coreinit: Fixed a rare memory corruption bug that caused FSOpenFileAsync() to fail on valid files