James Benton
371251e7e9
Move to a SystemObject scheme.
...
Previously we were not be able to properly clean up custom system objects.
Now hopefully we can by tracking them.
TODO: Free when the memory they are in is freed.
2015-06-13 02:07:19 +01:00
James Benton
613a57b334
Fix symbol loading.
2015-06-13 02:06:03 +01:00
James Benton
6f9b8bac70
Use a custom instruction for system func calls.
2015-06-13 02:05:23 +01:00
James Benton
3392f64736
Start of refactoring.
2015-06-13 00:17:09 +01:00
James Benton
9c526141e7
Bump ovsocket
2015-06-12 01:43:49 +01:00
James Benton
cd25ce7c73
Get started on some graphics, mainly stubs for now.
2015-06-12 00:42:04 +01:00
James Benton
46dff5820b
Fix mutex and condition variable.
...
VS2015 has greatly increased the memory footprint of std::mutex and
std::condition_variable, this means we can no longer safely fit it into
the original data size, now we must use std::unique_ptr instead.
Although there better be a function call to clean this mess up... Or we
might have to code stuff by hand instead.
2015-06-12 00:40:13 +01:00
James Benton
75d98737d0
Message queues!
...
Havn't tested yet, but looks like it should work!
2015-06-12 00:38:51 +01:00
James Benton
229747c8f8
Add OSGetSystemTime.
2015-06-12 00:38:13 +01:00
James Benton
7aa5dbc929
Add some stubs for basic IO stuff.
2015-06-12 00:37:50 +01:00
James Benton
1f1bbfdc58
Implicit signed cast warning.
2015-06-12 00:37:08 +01:00
James Benton
f9bd042289
Add some cache functions.
...
Mostly stubs for now, might use later to notice changes between CPU and GPU buffers.
2015-06-12 00:36:53 +01:00
James Benton
fbc7ce47ed
Some const, really should remember to do it more...
2015-06-12 00:33:34 +01:00
James Benton
62f46eb19d
No one wants to hear about your pointer truncations.
2015-06-12 00:33:03 +01:00
James Benton
1d1f896c5d
Remove log.h include from memory.h
2015-06-12 00:32:48 +01:00
James Benton
751224b018
Support floats for system function call arguments.
...
Improve syscall logging.
2015-06-12 00:31:41 +01:00
James Benton
52abcfe731
Fix loading doubles & paired singles were flipped!
2015-06-12 00:30:30 +01:00
James Benton
2bde98f739
OSMutex and OSCond implementations.
...
Uses custom data structures instead of the originals, hopefully no games
try to directly access data within the structures. The sizes must match
though because we are passed already allocated memory for our mutexes and
condition variables to use.
2015-06-07 00:42:54 +01:00
James Benton
a36835a47f
__ghsLock and __ghsUnlock
...
GHS is the C++ runtime library.
2015-06-07 00:41:13 +01:00
James Benton
9485a841be
Simple spinlock implementation.
...
Needs rewrite to use std::atomic
2015-06-07 00:40:39 +01:00
James Benton
e354858290
Add and use heap managers.
...
All system memory is now managed by the default heaps,
see CoreInitDefaultHeap in coreinit_membase.cpp for info.
2015-06-07 00:39:47 +01:00
James Benton
acfbcc2516
Rewrite system calls to allocate thunks in system heap.
2015-06-07 00:36:18 +01:00
James Benton
efa7e78acf
Merge ApplicationCode & ApplicationData memory sections.
2015-06-07 00:31:14 +01:00
James Benton
499300845e
Add some operators to be_val and p32
2015-06-07 00:29:59 +01:00
James Benton
bb43911c91
Fix blatent copy and paste from my xbox360 emu.
2015-06-07 00:29:47 +01:00
James Benton
1ddbae0c79
Add util.h with some helpers.
2015-06-07 00:29:29 +01:00
James Benton
758d59fe8b
Log newline at end.
2015-06-07 00:28:48 +01:00
James Benton
35ff6aecff
Add auto pointer conversion to sysfunc args.
2015-06-07 00:28:36 +01:00
James Benton
33f42eb599
Start work on System Thread.
2015-06-07 00:28:25 +01:00
James Benton
06959c605c
Reversed some more variables in OSThread
2015-06-06 18:40:43 +01:00
James Benton
6743a49a7e
Remove Windows.h include in memory.h
2015-06-06 18:40:25 +01:00
James Benton
79249c19c0
Fix OSGetSystemInfo
2015-06-06 18:39:16 +01:00
James Benton
8c887de6c6
Remove pointless undef
2015-06-06 18:39:01 +01:00
James Benton
da474dfc18
Fix mulli
2015-06-06 18:38:54 +01:00
James Benton
98daee8ebf
Add paired single compare instructions.
2015-06-06 18:38:46 +01:00
James Benton
c97e19126a
Add paired single load/store instructions.
2015-06-06 18:38:33 +01:00
James Benton
dfd38f00fa
Start reverse engineeerings some data structures.
2015-06-05 01:31:33 +01:00
James Benton
4b768be946
Remove "dodgy stuff"
2015-06-05 01:28:05 +01:00
James Benton
e45cc14b9c
Update .gitignore
2015-06-05 01:28:04 +01:00
James Benton
cee030b9b4
Interpreter execute forever!
2015-06-05 01:28:04 +01:00
James Benton
d80c54ee0c
Fix some warnings in gdbstub
2015-06-05 01:28:04 +01:00
James Benton
86e97f4b94
Start gx2 system library.
2015-06-05 01:28:04 +01:00
James Benton
4c9d8ffa2d
Cleanup system functions and add a few new ones..
2015-06-05 01:27:54 +01:00
James Benton
e8c296f912
Interpreter stub eieio, isync, sync.
2015-06-03 00:00:50 +01:00
James Benton
08b38b0de2
Fix rlwinm
2015-06-03 00:00:49 +01:00
James Benton
1a63f30bff
Add stfiwx.
2015-06-03 00:00:49 +01:00
James Benton
8c45f4db6c
Fix cmpli opcode.
2015-06-03 00:00:49 +01:00
James Benton
210e1dcf5f
Add allocating from specific memory view.
2015-06-03 00:00:48 +01:00
James Benton
163310bb67
Add most Paired Single instructions to interpreter.
2015-06-01 01:08:47 +01:00
James Benton
bb8f8e9c47
Add dcbz_l instruction to list
2015-06-01 01:07:50 +01:00