Decaf Git (2016/07/18) is released. Decaf (originally called WiiU-EMU) is a researching Wii U emulation. The Wii U is a home video game console created by Nintendo and the successor to the Wii.
Decaf Git Changelog:
* Merge pull request #195 from achurch/time-scale
Add a --time-scale option to control the emulated clock speed.
* Add a --time-scale option to control the emulated clock speed.
Mainly useful when running under Valgrind, to prevent games from
thinking threads have locked up.
* Move CIA/NIA storage to OSContext instead of thread stack.
This is not entirely neccessary. However, when threads are
rescheduled through an interrupt, it is hard to guarentee
that the threads stack pointer is at an acceptable place.
This will make it even less likely that our scheduler
corrupts the state of any running threads.
* Fixed issue with FS thread causing app shutdown failures.
This bug would cause the emulator to freeze up when trying to
shut down. This was due to a race between the shutdown flag
and the notification to tell the FS thread that it was set.
* Use special interrupt contexts to handle interrupts.
This removes any possibility of the interrupt handler
corrupting the state of any running threads.
* Send GX2Invalidate operations through a GPU backchannel.
GX2Invalidate can be called from any core at any time. This is
contrary to the idea that only one core can write at a time.
It is possible that more of our internal commands should do this.
* Games like to memset -1, this warning was a dumb idea...
* Merge pull request #197 from achurch/core-time-fix
coreinit: Update thread switch time even when switching to no thread.
* coreinit: Update thread switch time even when switching to no thread.
Fixes non-running threads being credited with idle time when a core goes idle.
* Bind vertex shader inputs to the correct attribute indexes.
Previously, the ordering was arbitrarily decided by
OpenGL which caused shaders which did not map the buffers
in-order to incorrectly assign them.
* Added assertions for currently unimplemented shader features.
* Handle pixel shader gl_FragCoord input register.
* Handle pixel shader semantic mapping default values.
* Correctly handling vertex shader semantic mappings.
* Added constant to control the use of persistent buffer mapping.
Mapping buffers accross multiple frames is not supported by
NSight in the majority of cases. This flag allows you to unmap
buffers between frames, which allows Nsight to behave properly.
* Update GLSL2 transpiler to handle shadow samplers properly.
We now use the instructions themselves to determine whether or
not to use a shadow sampler or not.
* tests/hle: Add some basic tests for frameheap.
* coreinit: Rewrite frame heap to be closer to implementation in coreinit.rpl
This refactors frame heaps for issue #147.
* Fix some formatting.
* Fix issue where JIT might not track Core* properly.
* Implement tw instruction as a decaf_abort.
This gives slightly more useful information than before
when the application hits a tw.
* Handle core switching during interrupts properly.
Previously, a thread performing a core-switch during its
interrupt handling, when running on the interpreter, would
cause other core states to become corrupted.
* Added virtual memory allocation coreinit functions.
Our implementation does not handle the full range of possible
cases, but I believe it will cover the range with which most
applications will use. I hope... *crosses fingers*.
* Added stub for the dot syscall section of RPL's.
* Allow use of zero'd mutexes as if they were initialised.
* Avoid relocating things to invalid sections.
This is neccessary as some naughty games are giving us
relocations to $UNDEF and such symbols before they apply
true relocations to those addresses. People are crazy.
* Improve trampoline generation assertions.
This helps understand the reasoning behind the loader
failing to properly relocate a particular function.
* Use application memory to allocate loader temporary data.
Download: Decaf Git (2016/07/18)
Source: Here
0 Comments
Post a Comment