Björn Gerdau
4d24b0ffcb
Use constants for resumable IOP DMAC channels
2021-06-07 14:34:16 +02:00
Jean-Philip Desjardins
11e8566ed3
Check SPU IRQs every 1000 ticks.
...
Prevents IRQs from being spammed. Helps Klonoa 2 and MMX7.
2021-06-04 09:54:51 -04:00
Jean-Philip Desjardins
016302d5ff
Support DMA reads from SPU RAM.
2021-04-01 17:22:33 -04:00
Jean-Philip Desjardins
cf462ed94f
More infrastructure for RX.
2021-03-02 07:24:08 -05:00
Jean-Philip Desjardins
e19192c9fb
Clear the interrupt situation.
2021-03-02 07:24:06 -05:00
Jean-Philip Desjardins
44263435db
Sending first DHCP packet.
2021-03-02 07:24:06 -05:00
Jean-Philip Desjardins
2fd28aa904
Hook up DEV9 and SPEED to MMIO.
2021-03-02 07:24:05 -05:00
Björn Gerdau
02399f28cd
Filter out SSBUS register access
2020-11-06 19:06:59 +01:00
Björn Gerdau
f7364305a2
Implement IOP DPCR2
2020-11-06 10:06:17 +01:00
Björn Gerdau
683b06d839
Add more warnings
2020-11-06 10:06:16 +01:00
Jean-Philip Desjardins
07cf76a062
Various hooks that made the SIO2 test working.
2020-04-20 11:14:32 -04:00
Jean-Philip Desjardins
33ad26c5fd
Add DMACMAN and SECRMAN HLE modules.
2020-04-20 11:14:31 -04:00
Jean-Philip Desjardins
b0337dbeb2
Use proper memory buffer for scratch pad direct access.
2019-05-25 11:28:31 -04:00
Jean-Philip Desjardins
ad46f12694
Use direct memory accesses on IOP.
2019-04-29 22:38:04 -04:00
Jean-Philip Desjardins
e5ae547e66
Move saved state helper classes to a subfolder.
2019-02-06 19:04:51 -05:00
Jean-Philip Desjardins
050bf0f854
MipsExecutor is now owned by MIPS CPU context.
...
Will help to make new breakpoint implementation simpler.
2018-07-26 21:38:16 -04:00
Jean-Philip Desjardins
6bc7f346f1
IopSubSystem now is reponsible for creating the kernel.
2018-06-23 10:56:25 -04:00
Clang-Format
acf75535ec
Clang format
2018-04-30 21:01:23 +01:00
Jean-Philip Desjardins
0f8004596e
Specify std namespace.
2017-12-23 11:04:06 -05:00
Jean-Philip Desjardins
ad0c676a67
Make variable const.
2017-08-09 23:06:05 -04:00
Jean-Philip Desjardins
f97d0a1c47
Remove self loop counter.
2017-08-09 23:05:30 -04:00
Mahmood(Thunder07)
97c229ec98
Cleanup
...
Silence:"warning: '0' flag ignored with precision and ‘%X’ gnu_printf format"
2017-05-29 06:01:32 +01:00
Jean-Philip Desjardins
bd3203229e
Reduce delay in IOP interrupt servicing.
...
Needed for MGS3 because SIO2 requests were messed up.
2017-05-07 22:02:08 -04:00
Jean-Philip Desjardins
00fc68d96e
Move interrupt checking code in a separate function.
2017-05-07 22:02:08 -04:00
Jean-Philip Desjardins
c71806d1c1
Fix PsfPlayer build.
2017-02-24 00:39:54 -05:00
Jean-Philip Desjardins
bce35f3388
Save and load IOP DMAC state.
2017-02-24 00:39:54 -05:00
Jean-Philip Desjardins
04d72b29b1
Save and load SIO2 state.
2017-02-24 00:39:54 -05:00
Jean-Philip Desjardins
a311865863
Use enum for IOP scratch pad address.
2016-03-17 16:12:40 -07:00
Jean-Philip Desjardins
4844a0679b
Added more SPU stuff in saved state.
2015-06-02 02:43:34 -04:00
Jean-Philip Desjardins
7f60f5c3d5
Added basic support for SPU interrupts.
2015-02-08 17:18:41 -05:00
Jean-Philip Desjardins
9d1ead2464
Cleanup.
2014-10-05 02:00:20 -04:00
Jean-Philip Desjardins
418cee5e51
Some more naming convention cleanup.
2014-08-16 21:42:19 -04:00
Jean-Philip Desjardins
cd653ca0be
Include root counters state in saved states.
2014-06-28 23:49:51 -04:00
Jean-Philip Desjardins
b20e3784ee
Increased the DMA update delay in Iop::CSubSystem to prevent interrupt spam. (was preventing Xenosaga 2 from booting)
2014-06-04 23:33:05 -04:00
jpd002
163300111e
Replaced the "DmaDisabled" mode by a "StreamingEnabled" mode in SpuBase since that unknown register in SPU2 CORE seems to be used for that.
...
git-svn-id: http://svn.purei.org/purei/trunk@1088 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-03-06 04:42:17 +00:00
jpd002
7a87b2e166
Added support for saving and loading the state of the IOP INTC and SPU units (partially).
...
git-svn-id: http://svn.purei.org/purei/trunk@1084 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-03-05 05:42:20 +00:00
jpd002
f0a025f11e
Moved CBiosBase shared ptr definition in BiosBase.h.
...
git-svn-id: http://svn.purei.org/purei/trunk@1021 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-10-21 02:08:14 +00:00
jpd002
30dfc3fe28
Changed way ticks are counted to make sure the speed hacks are activated when both the EE and IOP are idle. EE/IOP time synchronization is probably not quite right yet though.
...
git-svn-id: http://svn.purei.org/purei/trunk@1006 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-09-25 03:17:46 +00:00
jpd002
4233c33cfe
Plugged SIO2 emulation module in the IOP subsystem.
...
We now allow PADMAD and DBCMAN modules coming from games to be emulated and receive SIF packets.
Added a special case for the SetModeAndLock command in SIO2.
Removed DBCMAN module emulation.
git-svn-id: http://svn.purei.org/purei/trunk@1005 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-09-24 02:37:03 +00:00
jpd002
521f7bc544
Improved RootCounters emulation (added more counters used in IOP and fixed counting modes).
...
Improved Timrman IOP module emulation (removed lots of hardcoded stuff).
Added a way to switch from PSX's CPU frequency to IOP's CPU frequency (needed for proper PSX/PS2 PSF playing).
git-svn-id: http://svn.purei.org/purei/trunk@933 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-05-29 01:01:02 +00:00
jpd002
a25b6750ed
Clear IOP analysis when resetting.
...
git-svn-id: http://svn.purei.org/purei/trunk@914 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-23 02:45:37 +00:00
jpd002
d6ba1bdf6e
Added placeholder for iLink registers.
...
git-svn-id: http://svn.purei.org/purei/trunk@913 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-21 21:20:14 +00:00
jpd002
5fd26ba083
Made address translation take a 32-bits address instead of a 64-bits one. We probably won't ever need to use 64-bits addresses.
...
git-svn-id: http://svn.purei.org/purei/trunk@909 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-16 02:34:36 +00:00
jpd002
4d5a6c962b
Removed some uses of BasicBlockPtr.
...
git-svn-id: http://svn.purei.org/purei/trunk@908 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-15 22:10:11 +00:00
jpd002
b1afb8abee
Added new way to search for blocks in the compiled block list which is O(1).
...
Removed some useless params in MIPS constructor.
Removed the need for the _PSX preprocessor def.
git-svn-id: http://svn.purei.org/purei/trunk@860 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-03-13 06:16:33 +00:00
jpd002
74ddd5ef12
Second pass of cleanup for C++11.
...
git-svn-id: http://svn.purei.org/purei/trunk@852 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-03-11 20:16:15 +00:00
jpd002
06a215f22c
Added "RegisterVblankHandler" in Iop_Vblank.
...
Implemented some dummy functions in Iop_Timrman so they can return a proper value.
git-svn-id: http://svn.purei.org/purei/trunk@805 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-11-06 21:37:50 +00:00
jpd002
d66aed7028
Fixed Vagrant Story PSF calling function at 0x0.
...
Added missing PSX system calls for Vagrant Story and Granstream Saga.
Added COP0 to the IOP subsystem for FF6 and Chrono Trigger PSF.
Added non-default char encoding handling in PSF tags.
Now patches the PSX-EXE header of loaded PSF files because Grandstream Saga specifies bad text section size in its header.
git-svn-id: http://svn.purei.org/purei/trunk@769 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-06-06 00:18:33 +00:00
jpd002
5782cc9710
Changed the way waiting for VBlank start and end on IOP works to improve Castlevania: Curse of Darkness stability.
...
git-svn-id: http://svn.purei.org/purei/trunk@755 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-05-05 04:28:11 +00:00
jpd002
75cb0db8f4
Changed basic block memory management to use intrusive_ptr and added a block caching mechanism in VuExecutor to speed things up.
...
git-svn-id: http://svn.purei.org/purei/trunk@719 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-11-17 03:59:29 +00:00