What's special about the 23rd?
Haha, I was actually going to ask that before but I figured it was a joke about milking the Patreon backers for an extra month.
What's special about the 23rd?
Oh, yeah that would make sense haha. Looking forward to see what's in store for the next build, guess the changelog should pop up soonishHaha, I was actually going to ask that before but I figured it was a joke about milking the Patreon backers for an extra month.
# CEMU detailed changelog for 1.4.1
# Patreon release date: 2016-04-07
CPU: Added new instructions to recompiler: LWARX, STWCX, STWBRX, LHAUX, LHZUX, type 5, 6 & 7 for PSQ_L and type 5, 6 & 7 for PSQ_ST, DCBZ, ADDC, MFCR, FDIV, FADD, PS_SUB, PS_NEG.
CPU: Improved handling of XMM registers in recompiler. Drastically reducing the number of load/store operations when not enough registers are available.
CPU: Added SUBFME to interpreter.
coreinit: New API __ghs_mtx_init(), __ghs_mtx_dst(), __ghs_mtx_lock(), __ghs_mtx_unlock(), OSSleepThread()
coreinit: Added weak-symbol 'environ'
RPL: Added support for SDA and SDA2
fsa: Asynchronous file operations now support sending the result via message queue (instead of callback)
GX2: Added vertex data cache (cache vertex data in GPU memory instead of re-uploading it for every drawcall)
GX2: Fixed texture decoding for compressed textures with a size smaller than 16x16
GX2: Fixed AMD issue that occurred when glDrawBuffers() enables unused color attachment
GX2: Fixed AMD issue that occurred when glPrimitiveRestartIndexNV is used instead of glPrimitiveRestartIndex
GX2: Fixed AMD driver crash that could happen after shader compilation.
GX2: Fixed a multitude of issues when using Intel GPUs. Graphics are still horribly broken due to Intel's lacking OpenGL driver, but at least we can say we tried our best
GX2: Invalidate destination texture in cache after GX2SurfaceCopy()
vpad: Clamp left and right stick to length 1.0
1.4.1 is live for Patreon supporters
Mario Kart 8 can hit 60fps in time trials
https://www.youtube.com/watch?v=Z9uOSYbtOSM
1.4.1 is live for Patreon supporters
Mario Kart 8 can hit 60fps in time trials
https://www.youtube.com/watch?v=Z9uOSYbtOSM
Mario Kart 8 can hit 60fps in time trials
https://www.youtube.com/watch?v=Z9uOSYbtOSM
It's incredible how a system like the WiiU (which should be slightly more powerful than a 360) runs as good on current CPUs. I was always under the impression that a current PC can only emulate systems that are at least 2 generations behind (in terms of processing power).
For instance, current "next gen emulators" that run perfectly are PS2, GC and Wii (which is basically the same as the GC). For 360/PS3 i assumed we will have to wait for CPUs that will be released in the next 2 or 3 years at least. And yet the WiiU seems like it's going to run fine on current CPUs... heck some of that footage is taken using some that are several years old already.
It's incredible how a system like the WiiU (which should be slightly more powerful than a 360) runs as good on current CPUs. I was always under the impression that a current PC can only emulate systems that are at least 2 generations behind (in terms of processing power).
For instance, current "next gen emulators" that run perfectly are PS2, GC and Wii (which is basically the same as the GC). For 360/PS3 i assumed we will have to wait for CPUs that will be released in the next 2 or 3 years at least. And yet the WiiU seems like it's going to run fine on current CPUs... heck some of that footage is taken using some that are several years old already.
Well, we thought 360 emulation was impossible, and Microsoft pulled it off on a laptop processor.
Also, CEMU doesn't have wide compatibility and I don't know how many hacks the programmer is using. It doesn't even run on recent AMD drivers.
Well, it's not even out half a year and still has an amazing pace. Did they cut corners? Perhaps but this is one of the fastest progressing emulator ever and already has amazing speed and good compatibility for its age.
I'm not too sure about this; atleast the authors claimed that a "no hacks" approach was one reasoning as to why the are keeping it closed source. Way back before the patreon etcI mean I'm not dogging on the guy - great work - but there's a difference between true accurate emulation and basically quasi-porting individual games to x86 (which is pretty much what ZSNES and it's ilk were doing).
An actual accurate Wii U emulator at native speed is probably a decade or more off. An emulator that targets popular games but has to basically do a lot of customization per game to get there will have big gains at first but will slow down once the major interests are compatible.
I mean I'm not dogging on the guy - great work - but there's a difference between true accurate emulation and basically quasi-porting individual games to x86 (which is pretty much what ZSNES and it's ilk were doing).
An actual accurate Wii U emulator at native speed is probably a decade or more off. An emulator that targets popular games but has to basically do a lot of customization per game to get there will have big gains at first but will slow down once the major interests are compatible.
- Recompiler improvements (up to 50-100% faster CPU emulation)
- Increased compatibility
- Fixed a few issues that occurred on AMD GPUs.
- Added experimental vertex data cache
- Smaller bugfixes
Cool, thanks for the update. I've been wondering about the next version but the gbatemp thread is unbearable to follow.The Patreon build of Cemu 1.4.2 is set to release tomorrow. Also apparently The Legend of Zelda: Twilight Princess HD and One Piece: Unlimited World Red now boot in Cemu 1.4.2.
# CEMU detailed changelog for 1.4.2
# Patreon release date: 2016-04-30
general: FPS counter now updates more frequently
CPU: Improved recompiler code generated for DCBZ instruction.
h264: Simulate successful video decoding rather than returning errors (proper video decoding is still WIP. The new workaround fixes freezes where the game was waiting for video playback to happen)
coreinit: Fixed a bug in OSReadRegister16() and OSReadRegister32Ex() where 0 was returned instead of the actual register value
coreinit: Added weak-symbol __gh_FOPEN_MAX
coreinit: Added API OSWakeupThread()
ax: Added support for AUX bus callbacks (New API: AXRegisterAuxCallback)
ax: Added support for voice protection (New API: AXVoiceBegin, AXVoiceEnd, AXVoiceIsProtected)
GX2: Added permanent shader cache
Everytime a previously unknown shader is loaded, the shader and all releated renderstate information cached in a file.
When CEMU boots a game, it will use the cached information to reconstruct all known shaders right away.
This significantly can decrease stuttering during emulation but it will also increase boot times.
GX2: Added support for GX2WaitTimeStamp()
GX2: Added support for swap interval configuration via GX2SetSwapInterval()
GX2: Added support for binding depth textures as color targets
GX2: Fixed a bug where color or depth buffers were not correctly cleared.
GX2: Support for texture depth compare modes 'never' and 'always'.
GX2: Reworked texture loader code
FS: Added API FSGetMountSource()
vpad: Added VPADGetTPCalibratedPointEx()
vpad: VPADGetTPCalibratedPoint() now correctly copies the touch flags
Wasn't expecting them to implement a permanent cached shader feature, though it's a nice stop gap. Isn't this basically what the Ishiiruka ver of Dolphin does?
Dolphin uses a shader cache. I think you might be mixing that up with the async shader compilation.
- Added shader cache (reduces stutter after repeated sessions)
- New texture loader (reduces stutter)
- Added region and language selection
- Generally improved compatibility in multiple ways
- Various smaller changes
- New enhanced controller configuration menu and emulation
- Improved shader emulation and graphic bugfixes
- Improved sound emulation
- Reduced VRAM usage
- Small bugfixes and changes
# CEMU detailed changelog for 1.5.1
# Patreon release date: 2016-05-23
Input: Fixed input for controllers with off-center axes
Input: Added axis range scaler (50% to 200%)
H264: Fixed a bug in H264DECMemoryRequirement() that could lead to a crash.
CPU: Added new instructions to recompiler: ps_mr, ps_sel, ps_l/ps_st type 6, stfdx
CPU: Recompiler will now utilize BMI and AVX instruction set to generate faster code (if supported by host CPU)
CPU: Fixed a bug in code generated by recompiler for FSUB & FSUBS where the result would incorrectly become -0.0 instead of 0.0
AX: Added API AXSetVoiceSrcRatio()
AX: Fixed a bug in voice volume update
AX: Increased audio volume
AX: Added logging for audio API
GX2: Fixed wrong colors for certain texture dump formats
GX2: Fixed vertex ordering for special cases when PRIMITIVE_RECTS is used
GX2: New implementation for tiling aperature. Still heavily work-in-progress.
Heads up for controls: if you switch to another controller type, your previous type's bindings aren't saved so make sure to export them first.
Looks like Bayo 2 and Star Fox Guard are still broken in 1.5.1 ]:
Mario Kart 8
Super Mario 3D World
New Super Mario Bros. Wii U
Twilight Princess HD
Heads up for controls: if you switch to another controller type, your previous type's bindings aren't saved so make sure to export them first.
Looks like Bayo 2 and Star Fox Guard are still broken in 1.5.1 ]:
Mario Kart 8
Super Mario 3D World
New Super Mario Bros. Wii U
Twilight Princess HD
- Improved recompiler (Now utilizes AVX and BMI extension)
- Better controller support
- Improved sound emulation
- Graphic bugfixes
- Other changes and bugfixes
I'm not sure what was even the point of implementing mip-mapping, to be honest. All it does it make the textures look blurry.
Cemu 1.5.2 will be out on Thursday for Patreon backers. Mip-mapping support has been added and Super Smash Bros. for Wii U now boots.
# CEMU detailed changelog for 1.5.2
# Patreon release date: 2016-06-09
coreinit: Improved performance of ExpHeap memory library.
AX: Added sndcore2 API AXAcquireVoice, AXAcquireVoiceEx, AXFreeVoice, AXVoiceBegin,
AXVoiceEnd, AXSetVoiceVe, AXSetVoiceOffsets, AXSetVoiceType,
AXSetVoiceDeviceMix, AXSetVoiceState, AXSetVoiceSrc, AXSetVoiceSrcRatio,
AXIsVoiceRunning, AXGetVoiceOffsets
Input: Fixed a bug where mapping any keyboard button would always set the key to "0xFF"
GX2: Added support for cubemap array textures
GX2: Added support for mip-mapping (all texture types)
GX2: Better handling for textures with a width or height that is not a multiple of 4
GX2: Fixed a bug in Tiling Aperature where texture pitch (width) was calculated incorrectly
GX2: New API GX2InitSamplerZMFilter(), GX2InitSamplerLOD(), GX2InitPolygonControlReg(), GX2InitPolygonOffsetReg()
GX2: Improved streamout shader emulation performance
GX2: Implemented support for directly rendering into the scanbuffer
GX2: Texture format R10_G10_B10_A2_SNORM now uses GL RGBA16_SNORM representation (since there is no signed version of RGB10_A2 in OpenGL)
GX2: New debug option 'Overwrite vertex buffer size'.
With this option enabled, CEMU will calculate the size of vertex attribute data that needs to be uploaded to the GPU instead of relying on the value provided by the game.
Can boost performance but may also make the vertex cache less efficient.