Δε γνώριζα ότι υπάρχει και απότι φαίνεται είναι ενεργός. Βέβαια δε νομίζω ότι θα φτάσει ποτέ σε επίπεδα cemu αλλά καλό είναι να υπάρχει κ αυτός.
(2016/07/07)
Decaf Git Changelog:
* Improve JIT generator to elide multiple calls to dispatcher.
The JIT dispatcher will now go back and overwrite the caller's
target when it gets a static call. This allows us to elide
calls to the dispatcher once the block has already been
generated.
* Update JIT to handle a KC updating the NIA data.
* Properly handle application calling exit(...);
* Do not race mRunning on short-lived programs.
* Do not store interrupt in its own register.
When we did this, it meant that even if we updated Core* during
a core-switch, we still checked interrupts on the wrong core.
* Refactor JIT to store generation state in the builder.
* decaf-sdl: Enable console output when launched from a console.
We must attach to the parent console and reopen stdout, nice one Windows.
* hle/tests: Add coroutine_multi.c
Slighlty more complex coroutine, uses multiple coroutines and switches
between them multiple times.
* hle/test: Upload test binaries.
Because some people are peasants and don't want to compile it themselves.
* hle/tests: Add simple coroutine test.
* hle/tests: Use cygpath only on cygwin.
* coreinit: Fix IM function return codes.
Looks like it returns the error codes straight out of IOS_ functions.
Which means they should return 0 on success.
* libdecaf: Add coreinit_im to vcxproj.
* coreinit: Add OSGetSymbolName.
* coreinit: Raise the log level of console output to info.
Otherwise it can easily get hidden by debug spam. Also make the
distinction between the output source and the actual message clearer.
* coreinit: Add FSGetErrorCodeForViewer.
It appears to do exactly the same thing as FSGetLastErrorCodeForViewer.
* coreinit: Add IM* functions.
* Merge pull request #167 from achurch/gx2-format-bpp
gx2: Fix logic bug in GX2GetSurfaceFormatBits.
* gx2: Fix logic bug in GX2GetSurfaceFormatBits.
* decaf-cli: Fix oopsy semicolon.
* decaf: Log the config path and game path.
* decaf: Fix makeConfigPath to use HostPath so we use the platform's path separators.
* decaf: Add missing platform header include for filesystem host path.
* decaf: Improve default config options.
* common: Implement Windows getConfigDirectory.
Uses the %APPDATA% Roaming folder.
* Add --config option to set the configuration file location.
* Store configuration files in a platform-standard directory.
Not yet implemented for Windows.
* Add Linux support to the JIT by selecting proper registers.
* Updated JitFinale calls to use semantic register names.
This is a prerequisite of remapping those names to different
registers to support the System-V calling convention used by
non-Windows systems.
* Pregenerate the basic relocation code and use asmjit.
This updates the relocation code generator to avoid doing
some repetative work when generating by creating a base
template to use when the runtime is set up. The code also
now generates the assembly using asmjit to support altering
which registers it is using.
* Move membaseReg to a new home that is platform-agnostic.
* Include buffer padding space when allocating buffers.
This is neccessary as some games specify fetching that goes
past the end of the buffer, even though they do not use this
data. This causes the host-GPU to discard the triangle but
we need to still render it.
* Fix index ordering to properly generate triangles.
* Fix issue where attribute buffer was not marked as unmapped.
* Fix SIN/COS GLSL implementation.
* More gracefully handle uninitialised mutexes...
* Various minor comment and code fixups.
* Cleanup and merge xmm float utility functions.
* jit: Fix ps1 handling in fused multiply-add instructions.
Also use Intel FMA3 instructions when available to avoid loss of
precision in the result.
* jit: Fix double-precision arithmetic insns improperly writing to ps1.
* jit: Fix rounding of values in ps_merge.
* jit: Fix register passing for fallback code.
Also fix outdated register usage comment.
* jit: Fix fmr/fneg/fabs/fnabs writing to ps1.
* jit: Fix lfd clearing the ps1 slot.
* jit: Fix lfs not updating the ps1 slot.
* interpreter: Fix inaccuracies in ps_res handling.
Use ppc_estimate_reciprocal() instead of regular division, and avoid
setting FPSCR[XX] on inexact results.
* interpreter: Fix improper truncation of ps1 value.
* jit: Fix neg rN,rN destroying the value of rN.
We need to store the registers before using them, or else
parameter calling order could cause the write to occur
prior to the read as we do not hook directly into asmjit.
* Rewrote ExpHeap and refactored other memory heap stuff.
This commit includes a complete rewrite of the expanded heap
implementation to match closer with the native implementation.
Additionally, some refactoring was applied to the other heaps
to match with the pattern used for the new expanded heap.
* Implement GHS time syscall.
* Update loader to use a custom memory space for loading.
This is required as some games stupidly expect that the memory
in their MEM2 bucket is zerod out when the application starts
up. When the loader runs and uses MEM2 for its loader temp
region, this "dirties" that memory, causing those games to fail.
We can't use the system heap as it is not large enough for some
games temporary data (seen up to 0x02900000 bytes). Note that
we do not keep the loader memory mapped at all times, only when
the loader is actively running.
* Disable checking of OSMutex tags.
See comment for details.
* Fix bug in attribute buffer divisor selection.
The previous code assumed that VAO's specified their divisor info
on a per-attribute basis when it is actually per-buffer. We now
track the divisor information for each buffer and set it once at
the end, we also track to ensure that all attributes of a single
buffer use the same divisor information.
* Improve NO_PERSISTENT_MAP to avoid generating GL errors.
* Include Fetch Shader disassembly in Vertex Shader GLSL.
* Use SQ_ALU_CONST_CACHE instead of SQ_VTX_RESOURCE for KCACHE.
* Upload all 14 supported uniform blocks instead of just 8.
* Disassemble GPU shader KCACHE information directly.
We used to try to infer information about what the KCACHE was
actually doing, this decompiles the instructions directly
as recorded instead.
* Added assertions for uniform block alignment.
* Added support for keeping record of symbol type information.
* Added logging for specific GHS syscall ID's.
Thanks Scatman αλλά δυστυχώς, είναι laptop που "βλέπει" μόνο μέχρι δύο πυρήνες, οπότε του έβαλα τον δυνατότερο επεξεργαστή που μπορεί να σηκώσει, τον T9900 στα 3.06GHz, παρέα με 8 Giga RAM, από 4 που είχε και κάπου εδώ... κλείσαμε.
Παρόλα αυτά πιστεύω ότι -ειδικά για emulation- οι παραπάνω από 2 πυρήνες, δεν πρόκειται να φανούν ιδιαίτερα χρήσιμοι, όχι;
Η αλήθεια είναι πως όσο περνάει ο καιρός, οι emus απαιτούν ισχυρή απόδοση πυρήνα ~ κυρίως ~ που δυστυχώς ένα λαπτοπ (σχετικά παλιό), δε μπορεί να το προσφέρει. Οι εξτρα πυρήνες πάντα είναι καλοδεχούμενοι.
Γενικώς το σύστημα σου δεν κάνει για το σύγχρονο emulation (ps2 και μετά).
Ωστόσο, οι τιμές έχουν πέσει σε σχέση με το παρελθόν κι εφόσον αποφασίσεις να χτίσεις ένα desktop, δε θα ξεπατωθείς. Πλέον χτίζεις κάτι αρκετά δυνατό με 350-500.