* game is working :)
Note1: I dissassemble the main exe to search all call of the allocation (unlikely to have more calls)
Note2: it is easier to use the return of the function so allocation is done in the tlb[array] cache
Add GoemonUnloadTlb function that invalidate TLB cache.
Currently the function is only used on the interpreter. It fixes TLB error after a reload of data.
Next step: porting to the recompiler
* Create a disBranch to factorize a bit the code
* Add PRINT_REG_CONTENT define that add a 32bits value of registers for
standard opcode. (Far from perfect, but it very useful)
This way it will always be the same.
Fix issues #381
Note: potentially we might need to move your previous directory.
mv $HOME/.config/pcsx2 $HOME/.config/PCSX2
builds an Utilies_NO_TLS.a archive of the common Utilities code. It replaces native TLS by a slower reimplementation
Rational: number of TLS slot is very limited by the GLIBc on linux. I hope it doesn't impact performance.
* Zzogl don't requires TLS AFAIK
* spu2x will likely use it for assertions only.
TLS exhaustion creates issue to dlopen plugins
issue #384 : https://github.com/PCSX2/pcsx2/issues/384
But also for profiled build (-fprofile-generate)
http://forums.pcsx2.net/Thread-WORKAROUND-build-with-fprofile-generate
If someone have a better idea, please raise your hand!
Description: Building with SDL2_API=TRUE is incomplete
SDL_FOUND does not imply SDL2_FOUND
Use check_libs for detection
Only include ${SDL_INCLUDE_DIR} when needed
Use SDL2_LIBRARIES
Author: Miguel A. Colón Vélez
Gregory: add back SDL_BUILDING_LIBRARY
+ Wx3.0 fixes various issue on linux (better sizing of box)
+ Debian doesn't provide wx2.8 anymore. Ubuntu will probably follow soon (close issue #342)
If you want to use wx2.8:
* Either you remove wx3.0 from your system
* Either you use the cmake option -DWX28_API=TRUE
Please don't hesitate to report any regresions.
Disable the debugger and an useless debugI function
* x2 on dbg build :)
* x2.5 on dev build :)
Note: debugger doesn't work yet with the interpreter so no real drawback.
memRead32 could throw a TLB miss exception, however TLB handler expects pc counter to be incremented
Goemon is now really "playable" with the interpreter (disable automatic gamefix)
When a tlb miss is detected current instruction must be skipped. We need
to immediately switch to the handler
Typical instruction bug case:
lw a0, 0x8(a0)
a0 mustn't be loaded if we have a miss
v2: create a dedicated exception for tlb miss
v3:
* rename exception to CancelInstruction
* add a basic state machine on the exec loop so we keep same behavior
for eeloadReplaceOSDSYS and eeGameStarting
v4: remove assert