Commit Graph
242 Commits
Author SHA1 Message Date
Henrik Rydgard a97f66766d Add "slightly faster interpreter", optimizing the most common instrs. Not as helpful as I thought it would be on Android, really need a proper JIT. 2012-11-23 12:42:35 +01:00
Henrik Rydgard f3aeadedfa Remove audio rate throttling, it's better to frame rate throttle. Gets rid of the slowdown that audio caused. 2012-11-23 10:35:28 +01:00
Henrik Rydgard a385ec6056 MIPSDis cleanup, allow mfv zero, 255 (appears to be used to flush VFPU state or something) 2012-11-23 10:35:28 +01:00
Unknown W. Brackets ad116632bf Implement sceRtcGetTick().
Unfortunately, this fixes things so that rtc/rtc is correctly failing.
2012-11-22 23:49:23 -08:00
Unknown W. Brackets c40d8a4fbe Implement sceRtcGetCurrentClock().
Not sure if this needs some kind of DST handling for the tz?
2012-11-22 23:48:12 -08:00
Unknown W. Brackets 965eeaf9da Add error handling to sceRtcGetDaysInMonth(). 2012-11-22 23:48:12 -08:00
Unknown W. Brackets 21398bfcf8 Fix sceRtc module name so the right funcs are run.
Makes rtc/rtc pass again.
2012-11-22 23:48:12 -08:00
Unknown W. Brackets 6a4a26d4bf No need for these headers anymore. 2012-11-22 23:48:11 -08:00
Unknown W. Brackets d3f2d9d10b Use u64 here to avoid warnings, better precision.
The timeout value is u32 anyway, so an int was already a loss.
2012-11-22 16:40:26 -08:00
Unknown W. Brackets c2c2b77792 Fix threads locking more than one mutex at a time.
Duh, of course they can.  Even my test did, I'm stupid.
2012-11-22 16:33:16 -08:00
Henrik Rydgard d141d205f8 Delete old textures, to prevent memory usage from growing indefinitely. 2012-11-22 23:07:15 +01:00
Henrik Rydgård 272bce83d6 Merge pull request #79 from unknownbrackets/master
Remove some warnings, fix old proj files
2012-11-22 13:31:41 -08:00
Henrik Rydgard 08f8f4b323 Cleanup sceRtc, move sceFont to its own file. 2012-11-22 22:30:44 +01:00
Henrik Rydgard 772b599041 Resurrect vmfvc/vmtvc, they are different from mfvc/mtvc 2012-11-22 22:30:44 +01:00
Unknown W. Brackets a6a47c0c3e Don't complain when PPGe wasn't init yet.
This was causing BlockAllocator complaints if you closed right away.
2012-11-22 13:21:47 -08:00
kev :) 03c5e83953 Some sceUtility wrapping
Minus OSK and netconf
2012-11-22 20:46:22 +00:00
Henrik Rydgard 8f33837de9 Bug fixing mtv/mfv, add comment 2012-11-22 20:14:24 +01:00
Henrik Rydgard 232b84cd10 Assorted FPU/VFPU fixes, after adding more tests. 2012-11-22 18:13:48 +01:00
Diogo Franco (Kovensky) 6108e36ae9 Several fixes to build under stricter C++11
Add missing #include to various files.

strings.h isn't provided by MSVC so we don't include it there; it's needed
for other OSes/compilers.

Get rid of pre-ISO-C malloc.h includes; malloc is provided by stdlib.h.

Fixes some linuxisms.

Prepend __builtin_ to __clear_cache, calling it without the prefix is a
GNU extension.
2012-11-21 14:33:50 -03:00
Unknown W. Brackets 1bf04790e9 Darn, buildfix for debug. 2012-11-21 07:28:54 -08:00
Henrik Rydgård 3934876908 Merge pull request #70 from unknownbrackets/mutexes
Mutexes
2012-11-21 01:48:44 -08:00
Unknown W. Brackets 879efb25cc Don't allow unlocking someone else's mutex. 2012-11-21 00:28:29 -08:00
Unknown W. Brackets fa9b9840d0 Implement LwMutex locking and unlocking. 2012-11-21 00:21:25 -08:00
Unknown W. Brackets db16f9309e Don't crash if something goes wrong with mutexes.
Probably can't happen but being defensive is good.
2012-11-20 22:57:14 -08:00
Henrik Rydgård 2a56d36b12 glViewport calls need to be in pixel coordinates. 2012-11-20 16:48:24 +01:00
Henrik Rydgard 4b87da74cb windows gui option for buffered rendering. Misc fixes, prettier checkbox on android. 2012-11-20 11:35:48 +01:00
Unknown W. Brackets b71d998a20 Broadcast a threadend event to wake mutexes. 2012-11-20 02:20:16 -08:00
Unknown W. Brackets dd3db71b61 Forget mutex waiting threads when they timeout. 2012-11-20 02:20:16 -08:00
Unknown W. Brackets 8da2fb074c For mutexes/semaphores, register a global timer.
Instead of leaking one per each.  Should be faster.
Since we can only wait on one thing per thread at a time, this is fine.
2012-11-20 02:20:16 -08:00
Unknown W. Brackets a81c138004 Create and Delete LwMutex funcs. 2012-11-20 02:20:15 -08:00
Unknown W. Brackets 619a9906de Remove threads from semaphores when they timeout.
This makes wait tests *almost* pass.  There's some timing
related issues left, though.
2012-11-20 02:20:15 -08:00
Unknown W. Brackets fd41851503 Implement timeouts on semaphores too. 2012-11-20 02:20:14 -08:00
Unknown W. Brackets 4d71e32193 Update the value when mutexes timeout. 2012-11-20 02:20:14 -08:00
Unknown W. Brackets aad7e48a1a Oops, turns out mutex timeouts are in micro.
Found it documented as milli somewhere, but it was wrong.
2012-11-20 02:20:14 -08:00
Unknown W. Brackets d88fa153b7 Implement timeouts on mutexes.
Still need to set timeoutPtr after they expire.
Pretty sure I did this the right way, seems CoreTiming does already
allow/use multiple events for the same type?
2012-11-20 02:20:13 -08:00
Unknown W. Brackets b9bb5c4cce Make sceKernelStartThread() reschedule.
Mutexes and semaphores are wrong, duh.
2012-11-20 02:20:13 -08:00
Unknown W. Brackets 7b9a8bf766 Minor correctness on create mutex. 2012-11-20 02:20:12 -08:00
Unknown W. Brackets 7fa388952e Refactor mutex locking to simplify. 2012-11-20 02:20:12 -08:00
Unknown W. Brackets 0681c8e5c5 Add overflow error to mutex locking. 2012-11-20 02:20:12 -08:00
Unknown W. Brackets 40a6ebfabe Fix sceKernelCancelSema() to handle any negative.
So the test isn't failing.
2012-11-20 02:19:21 -08:00
Unknown W. Brackets 2290397b94 sceKernelTryLockMutex() and fix other locking. 2012-11-20 02:19:21 -08:00
Unknown W. Brackets 4bfa24eca8 Fix sceKernelCreateMutex() to match tests.
Still have an issue where reusing threads doesn't work.
2012-11-20 02:19:21 -08:00
Unknown W. Brackets a539580195 Reschedule after acquiring a lock.
This matches the actual test results.
2012-11-20 02:19:20 -08:00
Unknown W. Brackets 2613ed8806 Cleanup mutex func types.
Looks like mutexes reschedule when they lock, so switch to void.
2012-11-20 02:19:20 -08:00
Unknown W. Brackets 429ac9de87 Oops, CreateMutex was missing a parameter. 2012-11-20 02:19:19 -08:00
Unknown W. Brackets 4bab714db5 Mutexes go in FIFO order as expected.
The test was wrong.
2012-11-20 02:19:19 -08:00
Unknown W. Brackets 4cddd3092a Implement basic locking for sceKernel mutexes.
Test still not passing, due to odd order the mutex is unlocked in?
But, at least, it does lock now.
2012-11-20 02:19:19 -08:00
Henrik Rydgard f378f959e1 Fix issues with games that don't call sceDisplaySet mode. Add option to run without FBOs, may be useful on slow devices. 2012-11-20 10:59:23 +01:00
Henrik Rydgard f226afc3ca Implement a missing time function 2012-11-20 01:04:39 +01:00
Henrik Rydgard 45d42f09a1 Remove x86disasm, experiment with build order 2012-11-20 00:48:13 +01:00