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