Commit Graph

149 Commits

Author SHA1 Message Date
Henrik Rydgard
f3749d8abe Add kernelstats
Useful for finding out if some syscall takes unexpectedly much CPU.
2013-01-11 00:13:38 +01:00
Unknown W. Brackets
1f21ea4236 Implement sceKernelReleaseWaitThread(). 2013-01-07 19:44:39 -08:00
Unknown W. Brackets
5ac7f6a211 Clean up sceKernelWaitThreadEnd() wrappers. 2013-01-07 10:02:11 -08:00
Henrik Rydgard
88e921b074 Use invalidatecachehint in dcachewritebackinvalidateall too. Count invalidations. 2013-01-06 12:27:01 +01:00
Unknown W. Brackets
17c1d3ce68 Return errors for Dcache funcs, correctly. 2013-01-05 17:07:19 -08:00
Unknown W. Brackets
3861ce0376 Use sceKernelDcacheWritebackAll() as a hint only. 2013-01-05 17:07:19 -08:00
Henrik Rydgard
9fe592e83a Implement sceKernelDelaySysClockThreadCB 2013-01-05 23:24:05 +01:00
Henrik Rydgard
b283b915cb Implement sceKernelReferThreadRunStatus 2013-01-05 23:07:13 +01:00
Henrik Rydgard
5ba5ceff19 Merge branch 'master' into mediaengine 2013-01-05 16:22:08 +01:00
Henrik Rydgard
8f26e128bf Ignore bogus invalidate cache calls, fixes slowdown in some games 2013-01-04 00:32:18 +01:00
Henrik Rydgard
883f61e3dd Savestates: Add quicksave/quickload. Add Android UI for savestates. All single slot for now. 2013-01-02 21:05:02 +01:00
Henrik Rydgard
d657fc9fa2 Disable clearing all the GPU's cache on sceKernelCacheWritebackAll, the performance penalty was too big. 2013-01-02 13:50:52 +01:00
Henrik Rydgård
6717359270 Merge pull request #310 from unknownbrackets/libc
Libc memcpy/etc. fixes
2013-01-02 01:56:05 -08:00
Unknown W. Brackets
1c156784b6 Be more deterministic about the time.
This way, if a state is loaded, the game doesn't know.
Also, if the host is slow/sped up, it won't get out of sync.
2013-01-02 01:09:44 -08:00
Unknown W. Brackets
5bd059a128 Do more cache invalidation, fix return values. 2013-01-02 00:54:23 -08:00
Henrik Rydgård
1ea34bb6e8 Stub out all of VTimer. 2012-12-30 21:30:33 +01:00
Unknown W. Brackets
03d9157d26 Draw offscreen in headless (Windows only.) 2012-12-29 23:21:55 -08:00
Unknown W. Brackets
ac2768640a Add save stating changes to mediaengine.
Also makes it compile again.
2012-12-28 23:29:24 -08:00
Unknown W. Brackets
6f9f9e1c98 Merge branch 'master' into mediaengine.
Note: doesn't compile, just fixes conflicts.

Conflicts:
	Core/HLE/sceKernel.cpp
	Core/HLE/sceKernelThread.cpp
	Core/HLE/sceKernelThread.h
2012-12-28 22:32:56 -08:00
Unknown W. Brackets
fd2f609367 Save the savedata and other dialog state.
Although, hopefully it wouldn't be running anyway.
2012-12-28 13:55:31 -08:00
Unknown W. Brackets
e665618891 Fix kernel object loading (ouch) from save states.
Also a fix to SAS voices not saving right.
2012-12-28 13:55:30 -08:00
Unknown W. Brackets
5999fac10d Start saving the state of the GPU.
Not 100% sure this is all that's needed, but let's try it.
2012-12-28 13:55:30 -08:00
Unknown W. Brackets
19aaca2705 Start save stating audio, plus minor fixes. 2012-12-28 13:55:29 -08:00
Unknown W. Brackets
042e515037 Warniof the sceIo defAction is used when stating.
This is broken anyway so skipping for now.
2012-12-28 13:55:28 -08:00
Unknown W. Brackets
cd1d4367bf Save state of a bunch of small modules. 2012-12-28 13:55:28 -08:00
Unknown W. Brackets
a8c9c31e16 Add a registry for actions so they can be stated.
Also add late loaders to ensure things are hooked up properly.
2012-12-28 13:55:26 -08:00
Unknown W. Brackets
db787d266d Require interrupt handlers to be registered.
This allows it to be save stated sanely.
2012-12-28 13:55:25 -08:00
Unknown W. Brackets
3ed2045f6b Add state saving to tertiary kernel modules. 2012-12-28 13:55:25 -08:00
Unknown W. Brackets
2197d96989 Run save state operations at next Advance().
Should take some question marks out of things.
2012-12-28 13:55:23 -08:00
Unknown W. Brackets
abeaaa9105 Add Verify() method to quickly test states work. 2012-12-28 13:55:22 -08:00
Unknown W. Brackets
d6d3688c8c Fix a warning if loading wrong version / etc. 2012-12-28 13:55:22 -08:00
Unknown W. Brackets
595759ef78 Implement a factory for kernel objects.
Couldn't think of a better way to do this, maybe there's some fancy
one I don't know about.

Also finished up a couple left over kernel objects.

Maybe a quarter the way there?
2012-12-28 13:55:22 -08:00
Unknown W. Brackets
a2f4c83c90 Initial state saving for kernelObjects. 2012-12-28 13:52:51 -08:00
Henrik Rydgård
d95dbca9be Cleanup GPU init/shutdown a bit 2012-12-25 22:42:19 +01:00
Unknown W. Brackets
5e05768f55 Cleanup init/shutdown for scePsmf.
Also fix some indentation.
2012-12-24 10:49:53 -08:00
Unknown W. Brackets
d378b1c324 Deallocate properly in shutdown, not in init. 2012-12-24 01:41:15 -08:00
Unknown W. Brackets
41db5c46a5 Fix random modules not reseting on shutdown. 2012-12-23 22:52:40 -08:00
Unknown W. Brackets
9ba0ed46fd Always create CoreTiming timers during kernel init. 2012-12-23 21:27:26 -08:00
Henrik Rydgård
4a4d126dc7 Init/shutdown mutex 2012-12-23 11:19:55 +01:00
Unknown W. Brackets
ec753a3575 Fix some ignored error / shadowing warnings. 2012-12-21 16:23:21 -08:00
Unknown W. Brackets
6a9a183dd3 Use sceKernelDcache*() to invalidate the texcache.
Also in the block transfer code.
2012-12-21 14:10:57 -08:00
Henrik Rydgard
4d4370232c Assorted minor cleanup and fixes. 2012-12-21 10:20:22 +01:00
Unknown W. Brackets
aadbe50357 Implement the basic functionality of alarms.
They only fire the once though, and the use of subintr might be
a bit naive, may need internal funcs.
2012-12-20 20:07:53 -08:00
Henrik Rydgard
ab35c7f612 Merge branch 'master' into mediaengine 2012-12-18 00:05:09 +01:00
Henrik Rydgard
5a11d4d9c5 Implement sceKernelGetThreadmanIdList (partially) 2012-12-17 22:21:17 +01:00
Henrik Rydgard
a60d487d8d Create files for sceUsb 2012-12-17 21:45:32 +01:00
Henrik Rydgard
bc214dcf37 Merge branch 'master' into mediaengine
Conflicts:
	Common/LogManager.cpp
	Core/CMakeLists.txt
	Core/Core.vcxproj
	Core/Core.vcxproj.filters
	Core/CoreParameter.h
	Core/HLE/sceAudio.cpp
	Core/HLE/sceKernel.cpp
	Core/HLE/sceKernelThread.cpp
	Core/HLE/sceMpeg.cpp
	android/jni/Android.mk
2012-12-17 18:48:32 +01:00
Unknown W. Brackets
599465ee6e Correct priority handling for Mbx funcs.
Also, moved to correctly updating the linked list.
It's possible a game might follow it since it's there.
2012-12-16 21:36:53 -08:00
Unknown W. Brackets
94094f99bf Cleanup basic Mbx implementation, create func. 2012-12-16 21:36:51 -08:00
Unknown W. Brackets
45258bb61f Cleanup behavior in sceKernel*EventFlag() funcs.
Biggest change is just that sceKernelSetEventFlag() rescheds.
2012-12-14 21:25:29 -08:00
Unknown W. Brackets
d2d82196b7 Add timeouts for event flags.
Makes the threads/events/events test pass.

Still needs more tests, most likely several things are currently a
bit incorrect, like delete not waking threads.
2012-12-14 12:05:14 -08:00
TMaul
bbdeef5115 Fix some tabs in sceKernel.cpp 2012-12-09 20:49:16 +00:00
Unknown W. Brackets
f145bafc7a Wrap a few of the sceKernel*Thread funcs. 2012-12-09 01:04:54 -08:00
Unknown W. Brackets
3d57a4c838 Cleanup some wrappers now that rescheds defer. 2012-12-09 01:04:54 -08:00
Unknown W. Brackets
15c05dc08c Implement sceKernelTerminateThread(), not fully.
It's mostly correct but needs some tests and TLC.
This allows threads to be restarted.
2012-12-07 00:46:19 -08:00
TMaul
9bcb67f90b Add some missing sce* Functions
Add the missing functions to sceHttp
Create sceOpenPSID and add what jpcsp is doing
Create sceParseHttp.cpp
Create sceParseUri.cpp
Create sceSsl.cpp and add what jpcsp is doing
reindent some files.

in an attempt to try and get a few games doing more.
2012-12-06 18:02:55 +00:00
Unknown W. Brackets
fd2d666191 Add ctrl sampling (vblank).
This makes it work like the PSP does with number of buffers, etc.
Still doesn't wait yet.
2012-12-02 15:44:23 -08:00
Unknown W. Brackets
a81c138004 Create and Delete LwMutex funcs. 2012-11-20 02:20:15 -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
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
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
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 Rydgård
739b747e02 Merge branch 'master' of github.com:hrydgard/ppsspp 2012-11-18 23:00:13 +01:00
Henrik Rydgard
e37a1fb1d3 Add internal 2D drawing library that goes through the Ge emulation for portability.
To be used for things like sceUtility* and other overlays like FPS and stats.
2012-11-18 13:04:49 +01:00
Henrik Rydgård
f002fe8db3 Merge branch 'master' of github.com:hrydgard/ppsspp
Conflicts:
	Core/HLE/HLE.h
	Core/HLE/sceKernel.h
	Core/HLE/sceKernelInterrupt.cpp
2012-11-17 20:11:54 +01:00
Henrik Rydgard
184d5b9443 Merge branch 'sema-cleanup' of https://github.com/unknownbrackets/ppsspp into unknownbrackets-sema-cleanup
Conflicts:
	pspautotests
2012-11-17 15:05:30 +01:00
Unknown W. Brackets
157858819b Additional semaphore fixes with updated tests. 2012-11-17 01:43:01 -08:00
Henrik Rydgård
509ae819ab Merge pull request #54 from unknownbrackets/sema-cleanup
Semaphore func cleanup
2012-11-16 02:33:09 -08:00
Unknown W. Brackets
0ab19c18e5 Wrap sceKernelCreateSema(). 2012-11-16 00:06:44 -08:00
Henrik Rydgard
90654bcd0e VFPU fixes, misc 2012-11-15 10:15:40 +01:00
Henrik Rydgard
8053c244b8 Implement large chunks of sceMpeg and scePsmf with JPSCP as a guide.
Not yet hooked up to FFMPEG and doesn't quite work yet.
2012-11-13 18:07:20 +01:00
Unknown W. Brackets
f37dd7fefe Fix $v0 on wrong thread in semaphore funcs.
Need to RETURN() prior to switching threads or it will write to the
wrong thread, oops.
2012-11-12 07:24:40 -08:00
Unknown W. Brackets
a0cacc7eb9 Merge remote-tracking branch 'upstream/master' 2012-11-12 01:35:38 -08:00
Unknown W. Brackets
e7b6487c4e Wrap sceKernel DeleteSema and CancelSema.
Also fix copy/paste mistake from SignalSema func.
2012-11-11 18:30:13 -08:00
Unknown W. Brackets
8e2fff97bf Wrap a few semaphore sceKernel* funcs. 2012-11-11 17:57:35 -08:00
Diogo Franco (Kovensky)
d2a0fcc38e Wrappers for LoadExecForUser 2012-11-12 00:43:48 +00:00
Diogo Franco (Kovensky)
af74d30790 Wrappers for sceKernelEventFlag 2012-11-12 00:43:48 +00:00
Henrik Rydgard
4c1883e73f Some stubs, "NOP" out registerexitcallback, implement cancelwakeup 2012-11-12 00:04:57 +01:00
Henrik Rydgard
387552f564 Misc fixes (accept .prx, work on power callbacks, bugs) 2012-11-10 10:15:11 +01:00
Henrik Rydgard
b43dfebb10 Fixes to lighting, display list base pointer, misc 2012-11-09 17:51:45 +01:00
Henrik Rydgard
79a433e05d Merge branch 'master' of github.com:hrydgard/ppsspp 2012-11-08 16:28:59 +01:00
Henrik Rydgard
259b169bbc Implement a few more little things 2012-11-08 16:28:45 +01:00
Arthur Blot
35c7b411aa Fixed value returning for MBXes 2012-11-08 16:24:06 +01:00
Arthur Blot
b96d86ab7f Implemented MBXes 2012-11-08 14:24:51 +01:00
Henrik Rydgard
aea0580297 More reworking of Callbacks, plus some other little fixes. 2012-11-07 15:44:48 +01:00
Henrik Rydgard
00fc7754c6 CMakeLists fix, rebooting fix 2012-11-06 22:04:00 +01:00
Henrik Rydgard
3e207a1490 Fake netconf dialog, etc 2012-11-06 19:22:14 +01:00
Henrik Rydgard
28879934d6 Add some missing HLE functions, fix loading unencrypted EBOOT.BIN 2012-11-06 16:20:13 +01:00
Henrik Rydgard
c61d10363a Rewrite callback handling, part 1. All sorts of other fixes too. 2012-11-06 15:46:46 +01:00
Henrik Rydgard
b214a1a1da Revert "Better wrapper system, and fixed warnings"
This reverts commit a00b1855cb.

Conflicts:

	Core/HLE/FunctionWrappers.h
	Core/HLE/sceCtrl.cpp
	Core/HLE/sceKernelModule.cpp
2012-11-05 10:05:09 +01:00
Henrik Rydgard
6bed1afb72 Merge branch 'master' of https://github.com/artart78/ppsspp into artart78-master 2012-11-04 23:59:26 +01:00
Henrik Rydgard
64cc573703 Switch to "GPL 2.0 or later" for various reasons. I wrote most of the code I imported from Dolphin (which is GPL2-but-not-later), so it should be OK. 2012-11-04 23:24:00 +01:00
Arthur Blot
a00b1855cb Better wrapper system, and fixed warnings 2012-11-04 15:08:23 +01:00
Henrik Rydgård
b6b7ac51b3 Allow specifying a range when allocating UIDs, default to [16, inf] 2012-11-04 13:28:52 +01:00
Henrik Rydgard
4f7ad15758 Add snapshot of the whole source code. 2012-11-01 16:19:01 +01:00