Marco Satti
|
2929934847
|
The read/write from buffer functions were not supposed to interface directly with the memory, rather use the provided read/writeByte, etc. functions.
|
2017-05-14 10:35:36 +08:00 |
|
Marco Satti
|
9b2f38bc8d
|
Small fix to IOP DMAC mnemonics.
|
2017-05-13 23:27:35 +08:00 |
|
Marco Satti
|
c776b3b57e
|
Added in lookup failed debug message to ByteMMU_t.
|
2017-05-13 23:22:54 +08:00 |
|
Marco Satti
|
eca03117e4
|
Cleanup, make a lot of parameters const. Now prints DMAC interrupt sources.
|
2017-05-13 22:52:38 +08:00 |
|
Marco Satti
|
f7e6752204
|
Fixed up all the mistakes... using VS code screws the project files...
|
2017-05-13 20:41:13 +08:00 |
|
Marco Satti
|
ce23e81643
|
Forgot to save...
|
2017-05-13 20:41:05 +08:00 |
|
Marco Satti
|
1d80a73a96
|
Partial implementation of the SPU2 core IRQ's, general cleanup. There is now only 1 FIFOQueue type, which is byte-based. It's probably a bit slower, but also more correct like in hardware.
|
2017-05-13 20:40:31 +08:00 |
|
Marco Satti
|
c26c4960ac
|
Partial commit for cleanup, non building. Don't mind my spelling either...
|
2017-05-13 10:06:06 +08:00 |
|
Marco Satti
|
0e663fd1e3
|
Keep all files in a separate workspace folder.
|
2017-05-11 13:06:17 +08:00 |
|
Marco Satti
|
24b85081d8
|
Got the basics of SPU2 ADMA working (finally...).
|
2017-05-10 22:28:33 +08:00 |
|
Marco Satti
|
58d6e79fc9
|
Partial SPU2 commit.
|
2017-05-10 13:08:24 +08:00 |
|
Marco Satti
|
9599fc3f7c
|
Removed inc/dec function from pair register... It can be done through read/write word easily enough.
|
2017-05-10 08:06:10 +08:00 |
|
Marco Satti
|
423407a17e
|
Partial commit of SPU2 stuff.
|
2017-05-09 22:21:08 +08:00 |
|
Marco Satti
|
246463ac4e
|
Sync commit, working on both the CDVD and SPU2, based on what the IOP needs.
|
2017-04-24 14:53:12 +08:00 |
|
Marco Satti
|
d07507b34e
|
Got the basis of the CDVD NVRAM going - should be easy to implement remaining NVRAM function calls.
|
2017-04-23 01:18:48 +08:00 |
|
Marco Satti
|
578932d5d1
|
CDVD WIP.
|
2017-04-18 16:09:59 +08:00 |
|
Marco Satti
|
db15b04284
|
Made a script to extract the memory mappings out of Resources_t.cpp
|
2017-04-12 14:08:42 +08:00 |
|
Marco Satti
|
f70b68d3f2
|
Moved the CDVD and SPU2 into the root resources, added in more logging options, removed the memory map information next to registers - I will create a script instead to generate the info based off Resources_t.cpp, as its hard to keep changes up to date.
|
2017-04-11 22:18:06 +08:00 |
|
Marco Satti
|
5a27acf7bc
|
Looking into the SPU2 debug data... All looks ok, data is being sent to the fifo, but logic hasn't been done yet (although it is all 0's... may need a look). IOP INTC mask bits set are now CDROM, DMA and SPU, so looks like I'm done with the IOP for now.
|
2017-04-10 22:16:13 +08:00 |
|
Marco Satti
|
e8e8a3dd3f
|
Added in other SPU2 registers, including SPDIF.
|
2017-04-10 19:17:23 +08:00 |
|
Marco Satti
|
30b4279c40
|
Changed the order of L -> H and H -> L (for SPU2 addressing registers).
|
2017-04-10 12:29:21 +08:00 |
|
Marco Satti
|
f2d3c4d032
|
Finish off the SPU2 registers - looks like I got the L(ow) & H(igh) address pair registers the wrong order, so I'll need to fix that.
|
2017-04-10 00:03:28 +08:00 |
|
Marco Satti
|
02c594112a
|
WIP on implementing SPU2 registers.
|
2017-04-09 16:57:07 +08:00 |
|
Marco Satti
|
95c2b6b50f
|
Cleanup.
|
2017-04-08 15:58:45 +08:00 |
|
Marco Satti
|
8024feaff5
|
Fixed up the register/memory debugging stuff to be more OOP friendly.
|
2017-04-07 23:38:27 +08:00 |
|
Marco Satti
|
f6c87d54fd
|
Fixed memory issues, had wrong ByteMMU_t parameters. Tried to optimise them further for minimal memory usage.
|
2017-04-06 23:10:49 +08:00 |
|
Marco Satti
|
3ce2c9e6f3
|
Updated the ByteMMU code to be more logical... but memory usage has gone up quite a bit, need to figure out why.
|
2017-04-06 19:00:27 +08:00 |
|
Marco Satti
|
1719db4c9f
|
Cleanup, renamed PhysicalMMU into ByteMMU to better reflect the byte-addressable property.
|
2017-04-05 23:01:34 +08:00 |
|
Marco Satti
|
75db317d66
|
Made the read and dump memory functions faster, and they also work directly in the visual studio debugger now. The STL method is for some reason really slow... seems to be caused by using basic_*fstream<u8/16> instead of *fstream specialisations - probably optimises to a direct memcpy in those ones, which is a ton faster.
|
2017-04-05 13:09:11 +08:00 |
|
Marco Satti
|
72c4a2e1e5
|
Changed raw arrays (new[]) into vectors - worth the 50mb extra memory usage as it now supports proper copy assignment, leading to easier save state management, and if something crashes I'll probably know why sooner. No real observable performance impact.
|
2017-04-05 00:48:16 +08:00 |
|
Marco Satti
|
66c2158d4f
|
Minor cleanup.
|
2017-04-04 21:57:35 +08:00 |
|
Marco Satti
|
1d6672741e
|
Add bitfield register 16.
|
2017-04-02 19:13:19 +08:00 |
|
Marco Satti
|
c77dfaf33e
|
Remove Context_t and replace using the existing System_t. "RAW" context is not available anymore.
|
2017-04-02 18:58:23 +08:00 |
|
Marco Satti
|
31a738a0b6
|
Fixed minor typos.
|
2017-04-02 14:45:43 +08:00 |
|
Marco Satti
|
6704bca8cc
|
Cleanup, changed u32 refs for counting into straight up ints (more intuitive).
|
2017-03-31 19:32:14 +08:00 |
|
Marco Satti
|
5fac5bd3b8
|
Change the IOP dmac to always read a qword from source chain mode - now throws a runtime error when the TTE bit is not set.
|
2017-03-30 17:49:51 +08:00 |
|
Marco Satti
|
6c66083346
|
Change EE and IOP tags to be more OOP friendly.
|
2017-03-30 16:34:05 +08:00 |
|
Marco Satti
|
d2b7bcda36
|
Renamed "VIF/VU unit" to "VIF/VU core".
|
2017-03-30 14:49:42 +08:00 |
|
Marco Satti
|
d54843f9f4
|
More cleanup, refactor'd all of the table <-> class association stuff to be a bit more OOP focused (upon construction of the class, for example an EECoreInstruction_t, it will now perform the table lookup straight away without a separate explicit call).
|
2017-03-29 22:33:33 +08:00 |
|
Marco Satti
|
94d9d0a3bf
|
Cleanup.
|
2017-03-26 22:35:48 +08:00 |
|
Marco Satti
|
be5119484b
|
Added in the HwordMemory_t type (for SPU2), renamed the existing Memory_t to ByteMemory_t. Removed the reference qualifier on Context_t parameters.
|
2017-03-26 17:54:27 +08:00 |
|
Marco Satti
|
2d6f056390
|
Last of the EE MIPS 3/4 test cases (passes). Still need to do the sony MMI ones but I'll come back to those. Also the tests don't cover every case for the moment, which is important to do.
|
2017-03-24 18:52:49 +08:00 |
|
Marco Satti
|
9aae6a76cf
|
More EE testing...
|
2017-03-24 17:36:18 +08:00 |
|
Marco Satti
|
b32db77abe
|
More EE testing and fixes.
|
2017-03-24 16:09:32 +08:00 |
|
Marco Satti
|
29595b6564
|
EE core testing - fixed up a few instructions.
|
2017-03-21 23:12:07 +08:00 |
|
Marco Satti
|
8f193b02cd
|
Start working/reading through SPU2 docs - the IOP stuff said in last commit is false, its because the CDVD hasn't been properly implemented yet. IOP is currently trying to interface with the SPU2 - can't progress until this is sorted.
|
2017-03-21 17:43:48 +08:00 |
|
Marco Satti
|
a73c990845
|
More testing... Something is wrong with the IOP side, PCSX2 has a totally different IOP memory contents at initalisation!
|
2017-03-21 10:47:46 +08:00 |
|
Marco Satti
|
45619972ee
|
More testing, found and fixed a couple of more bugs.
|
2017-03-19 13:59:55 +08:00 |
|
Marco Satti
|
fc5bbfa28b
|
Start checking through EE / IOP core instructions (unit testing).
|
2017-03-16 18:13:54 +08:00 |
|
Marco Satti
|
0dd6de9044
|
Change back some DMA logic so when non-investigated cases come through they will throw runtime_error.
|
2017-03-13 15:25:30 +08:00 |
|