Commit graph

  • def785405d Added in more SIO2 registers. Marco Satti 2017-06-17 14:45:51 +08:00
  • 5277734773 Added in SIO2 system skeleton, working on that. Marco Satti 2017-06-15 22:19:40 +08:00
  • fc6a990257 Reworked the Clock_t class and associated things to a more generalised 'event queue' system, among which are clock ticks, hblank, vblank, etc. There is no more concept of individual sources of clock ticks, such as the EECoreClock, etc, as it was not really being used. The only place it was used was in the EE and IOP timers, which has long been refactored out from before. Marco Satti 2017-06-12 21:43:02 +08:00
  • e9772a6cee ... Fix windows building. Marco Satti 2017-06-11 09:56:43 +08:00
  • 9325e42695 Fix linux (and mac probably) building. Marco Satti 2017-06-10 21:06:58 +08:00
  • f3df99684e Few cosmetic things, test log is now generated in workspace folder instread of on screen. Marco Satti 2017-06-09 23:58:24 +08:00
  • 5f42aacb23 Fixed testing, now builds. Marco Satti 2017-06-09 13:15:25 +08:00
  • ab4bb84a99 More work on migrating to boost test library. Marco Satti 2017-06-08 16:58:21 +08:00
  • 76a618dd30 Move from google test to boost test - no point in having 2 of the same thing, since boost is now required for other stuff anyway. Not working just yet. Marco Satti 2017-06-07 16:59:42 +08:00
  • 2f05b23f4f Fixed the boost submodule to be actual directory, git doesn't recognise symlinks... Marco Satti 2017-06-07 08:47:20 +08:00
  • fbdac27846 Changes are being made towards a thread-safe ring buffer implementation as the backend of the FIFOQueue_t type. Unfortunately, this means including boost as a submodule... Sorry! Marco Satti 2017-06-06 22:30:29 +08:00
  • 0fe8ce8890 Merge branch 'cmake-test' Marco Satti 2017-06-05 12:20:13 +08:00
  • 0cf7fa6727 Finally sorted out a workflow to continue with... not as good as VS, but at least this is fully cross-platform. Marco Satti 2017-06-05 12:11:40 +08:00
  • 1decf31ef9 Add in AppleClang support. Marco Satti 2017-06-04 00:37:32 +08:00
  • d5270ab03a Fix clang Marco Satti 2017-06-03 00:29:07 +08:00
  • 2c08a69b6d Fix up a few things. Marco Satti 2017-06-02 22:32:36 +08:00
  • 202c605255 Fixed up install target and added GCC/Clang flags. Marco Satti 2017-06-02 17:06:45 +08:00
  • b52e77db90 Pretty much equivilant to what I had before with VS now, just with multi-plat support. Few more small things to fix up before merging with main branch (install targets, update readme). Marco Satti 2017-06-02 08:47:29 +08:00
  • ecee81bdb4 WIP 3 Marco Satti 2017-06-01 22:32:18 +08:00
  • 36253c4815 WIP 2 Marco Satti 2017-06-01 16:59:33 +08:00
  • ec1752182c WIP Marco Satti 2017-06-01 08:31:49 +08:00
  • bae8751435 Fix Windows playing games with me. Marco Satti 2017-06-01 08:07:05 +08:00
  • 9cb026f3f9 Testing cmake builds out. New to this... Marco Satti 2017-05-31 22:25:38 +08:00
  • f002134596 Updated cmake build lists. Marco Satti 2017-05-29 18:42:30 +08:00
  • ebb6f402e3 Merged updated threading model. Broken CMake build for now.. Marco Satti 2017-05-28 19:31:32 +08:00
  • c89efff2e7 Merge commit. Marco Satti 2017-05-28 14:29:08 +08:00
  • aa814869af Added in a significantly more robust multi threaded implementation. New thread wrapper class takes in a Runnable_t object and communicates with the manager through notify and synchronise functions. Automatically handles construction and destruction of threads. In the VM, there are runtime mode options for single threaded, multi threaded sequential (for debugging), multi threaded simultaneous (for performance). Marco Satti 2017-05-28 14:26:50 +08:00
  • c2ddff756d Merge branch 'Thunder07-cmake' Marco Satti 2017-05-27 23:54:43 +08:00
  • 6146bbd2a5 Fix up source code warnings. Marco Satti 2017-05-27 23:54:13 +08:00
  • 195ddf3d63 WIP bug fix. Marco Satti 2017-05-23 22:14:41 +08:00
  • a5bfc44f69 Very close to getting this working... there is a race condition somewhere.. Marco Satti 2017-05-23 20:58:37 +08:00
  • bd5795ac0c Added PCSX2_Frontend CMake build script Mahmood(Thunder07) 2017-05-23 12:18:16 +01:00
  • 83aa85439e Added PCSX2_Core CMake build script Mahmood(Thunder07) 2017-05-23 11:34:13 +01:00
  • 57940856ad build fix Mahmood(Thunder07) 2017-05-23 11:49:03 +01:00
  • 14f8e5d56d build fix Mahmood(Thunder07) 2017-05-23 11:21:19 +01:00
  • 8eaea8d557 Getting somewhere... Still a few things to iron out. Marco Satti 2017-05-23 16:22:03 +08:00
  • a36883315e Working on an updated threading design... Thinking about how the GS can use threads to render faster, trying to make reusable the manager/threadable interaction. Marco Satti 2017-05-21 22:09:50 +08:00
  • 2a0d22f84e Update readme v2 (clang). Marco Satti 2017-05-21 12:24:12 +08:00
  • 0ad85a1385 Update readme. Marco Satti 2017-05-21 12:11:05 +08:00
  • 367d5d66d1 Final fixes for GCC at least - fully compiles and runs now. Still working on Clang/LLVM. Marco Satti 2017-05-18 20:18:13 +08:00
  • 0bdb10cb63 Partial fix of constexpr arrays. Marco Satti 2017-05-18 17:00:55 +08:00
  • cdd726297f Missed a few again... Compiles this time under WSL gcc, just have link errors now relating to the constexpr stuff. Marco Satti 2017-05-17 22:17:21 +08:00
  • afd74aff8e Forgot some files for previous fix. Marco Satti 2017-05-17 21:55:32 +08:00
  • ae7ece0fe3 Fixed up debug/release building and a unintentional regex match. Marco Satti 2017-05-17 21:51:08 +08:00
  • 26373a0715 More fixes for cross-platform. Marco Satti 2017-05-17 21:14:44 +08:00
  • 12f3cb7e67 A few more small fixups for cross compiling. Marco Satti 2017-05-17 13:34:27 +08:00
  • 60a0d4e17c WIP fixing cross-compiling. Marco Satti 2017-05-16 17:01:50 +08:00
  • f387423ff0 ... Found the bug, right in front of me. With this also, the bitfield registers move away from caching results which is something I have wanted to try anyway. It's probably a tad slower but still workable. IOP crashing at reading the SIO2 registers again. Marco Satti 2017-05-15 18:46:25 +08:00
  • eb8c16c726 EE DMAC bug is deeper in code... WIP. Marco Satti 2017-05-15 16:56:43 +08:00
  • f4a326aa3b Begin work on the IOP SIO(2). There is a bug in the EE DMAC causing it to crash (out of bounds SPR access). Marco Satti 2017-05-14 20:36:43 +08:00
  • b3f1df84f1 A bit of work on the SPU2 core STATX register. Don't fully understand it for now, though. Marco Satti 2017-05-14 12:29:54 +08:00
  • 2929934847 The read/write from buffer functions were not supposed to interface directly with the memory, rather use the provided read/writeByte, etc. functions. Marco Satti 2017-05-14 10:35:36 +08:00
  • 9b2f38bc8d Small fix to IOP DMAC mnemonics. Marco Satti 2017-05-13 23:27:35 +08:00
  • c776b3b57e Added in lookup failed debug message to ByteMMU_t. Marco Satti 2017-05-13 23:22:54 +08:00
  • eca03117e4 Cleanup, make a lot of parameters const. Now prints DMAC interrupt sources. Marco Satti 2017-05-13 22:52:38 +08:00
  • f7e6752204 Fixed up all the mistakes... using VS code screws the project files... Marco Satti 2017-05-13 20:35:38 +08:00
  • ce23e81643 Forgot to save... Marco Satti 2017-05-13 17:35:28 +08:00
  • 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. Marco Satti 2017-05-13 17:31:24 +08:00
  • c26c4960ac Partial commit for cleanup, non building. Don't mind my spelling either... Marco Satti 2017-05-13 10:06:06 +08:00
  • 0e663fd1e3 Keep all files in a separate workspace folder. Marco Satti 2017-05-11 13:06:17 +08:00
  • 24b85081d8 Got the basics of SPU2 ADMA working (finally...). Marco Satti 2017-05-10 22:28:33 +08:00
  • 58d6e79fc9 Partial SPU2 commit. Marco Satti 2017-05-10 13:08:24 +08:00
  • 9599fc3f7c Removed inc/dec function from pair register... It can be done through read/write word easily enough. Marco Satti 2017-05-10 08:06:10 +08:00
  • 423407a17e Partial commit of SPU2 stuff. Marco Satti 2017-05-09 22:21:08 +08:00
  • 246463ac4e Sync commit, working on both the CDVD and SPU2, based on what the IOP needs. Marco Satti 2017-04-24 14:53:12 +08:00
  • d07507b34e Got the basis of the CDVD NVRAM going - should be easy to implement remaining NVRAM function calls. Marco Satti 2017-04-23 01:18:48 +08:00
  • 578932d5d1 CDVD WIP. Marco Satti 2017-04-18 16:09:59 +08:00
  • db15b04284 Made a script to extract the memory mappings out of Resources_t.cpp Marco Satti 2017-04-12 14:08:42 +08:00
  • 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. Marco Satti 2017-04-11 22:18:06 +08:00
  • 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. Marco Satti 2017-04-10 22:16:13 +08:00
  • e8e8a3dd3f Added in other SPU2 registers, including SPDIF. Marco Satti 2017-04-10 19:17:23 +08:00
  • 30b4279c40 Changed the order of L -> H and H -> L (for SPU2 addressing registers). Marco Satti 2017-04-10 12:29:21 +08:00
  • 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. Marco Satti 2017-04-10 00:03:28 +08:00
  • 02c594112a WIP on implementing SPU2 registers. Marco Satti 2017-04-09 16:57:07 +08:00
  • 95c2b6b50f Cleanup. Marco Satti 2017-04-08 15:58:45 +08:00
  • 8024feaff5 Fixed up the register/memory debugging stuff to be more OOP friendly. Marco Satti 2017-04-07 23:38:27 +08:00
  • f6c87d54fd Fixed memory issues, had wrong ByteMMU_t parameters. Tried to optimise them further for minimal memory usage. Marco Satti 2017-04-06 23:10:49 +08:00
  • 3ce2c9e6f3 Updated the ByteMMU code to be more logical... but memory usage has gone up quite a bit, need to figure out why. Marco Satti 2017-04-06 19:00:27 +08:00
  • 1719db4c9f Cleanup, renamed PhysicalMMU into ByteMMU to better reflect the byte-addressable property. Marco Satti 2017-04-05 23:01:34 +08:00
  • 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. Marco Satti 2017-04-05 13:09:11 +08:00
  • 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. Marco Satti 2017-04-05 00:48:16 +08:00
  • 66c2158d4f Minor cleanup. Marco Satti 2017-04-04 21:57:35 +08:00
  • 1d6672741e Add bitfield register 16. Marco Satti 2017-04-02 19:13:19 +08:00
  • c77dfaf33e Remove Context_t and replace using the existing System_t. "RAW" context is not available anymore. Marco Satti 2017-04-02 18:58:23 +08:00
  • 31a738a0b6 Fixed minor typos. Marco Satti 2017-04-02 14:45:43 +08:00
  • 6704bca8cc Cleanup, changed u32 refs for counting into straight up ints (more intuitive). Marco Satti 2017-03-31 19:32:14 +08:00
  • 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. Marco Satti 2017-03-30 17:49:51 +08:00
  • 6c66083346 Change EE and IOP tags to be more OOP friendly. Marco Satti 2017-03-30 16:34:05 +08:00
  • d2b7bcda36 Renamed "VIF/VU unit" to "VIF/VU core". Marco Satti 2017-03-30 14:49:42 +08:00
  • 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). Marco Satti 2017-03-29 22:33:33 +08:00
  • 94d9d0a3bf Cleanup. Marco Satti 2017-03-26 22:35:48 +08:00
  • 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. Marco Satti 2017-03-26 17:54:27 +08:00
  • 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. Marco Satti 2017-03-24 18:52:49 +08:00
  • 9aae6a76cf More EE testing... Marco Satti 2017-03-24 17:36:18 +08:00
  • b32db77abe More EE testing and fixes. Marco Satti 2017-03-24 16:09:32 +08:00
  • 29595b6564 EE core testing - fixed up a few instructions. Marco Satti 2017-03-21 23:12:07 +08:00
  • 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. Marco Satti 2017-03-21 17:43:48 +08:00
  • a73c990845 More testing... Something is wrong with the IOP side, PCSX2 has a totally different IOP memory contents at initalisation! Marco Satti 2017-03-21 10:47:46 +08:00
  • 45619972ee More testing, found and fixed a couple of more bugs. Marco Satti 2017-03-19 13:59:55 +08:00
  • fc5bbfa28b Start checking through EE / IOP core instructions (unit testing). Marco Satti 2017-03-16 18:13:54 +08:00