Jean-Philip Desjardins
739a30736f
Mapped VU MEM 1 in EE memory space.
2014-04-27 20:27:59 -04:00
Jean-Philip Desjardins
e05cef003c
Minor cleanup.
2014-04-17 00:42:05 -04:00
Ian Brown
aafa277bdb
Implement INT0 (GS) interrupt handler
2014-04-15 02:25:32 -04:00
jpd002
f9e9fb0ed6
Removed some usage of boost::thread.
...
git-svn-id: http://svn.purei.org/purei/trunk@1147 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-06-17 05:06:47 +00:00
jpd002
5c71b6657f
Added a way to trigger a GS frame dump from PS2VM.
...
git-svn-id: http://svn.purei.org/purei/trunk@1140 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-06-09 05:47:33 +00:00
jpd002
1a71b0d0b9
Using std::thread instead of boost::thread + some cleanup.
...
git-svn-id: http://svn.purei.org/purei/trunk@1114 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-04-25 05:51:31 +00:00
jpd002
8565987c4f
Removed frame skipping and VPU state saving stuff.
...
git-svn-id: http://svn.purei.org/purei/trunk@1113 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-04-22 03:06:16 +00:00
jpd002
8627d177b2
IPU Changes:
...
- Not using threads anymore, because there's no point in using them.
- Will try to execute commands ASAP, even waiting till more data can be pulled from DMA channel.
- Some minor bugfixes.
Can you believe it still doesn't work properly after all that?
git-svn-id: http://svn.purei.org/purei/trunk@1092 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-03-12 06:38:44 +00:00
jpd002
91f6d7d10f
Added a way to flush parts of the instruction cache when loading data from disk.
...
git-svn-id: http://svn.purei.org/purei/trunk@1091 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-03-10 05:11:53 +00:00
jpd002
a16ecc9564
Enabled SPU updates in the main emulation loop (needed for some games who like reading the SPU status).
...
git-svn-id: http://svn.purei.org/purei/trunk@1089 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-03-06 05:36:03 +00:00
jpd002
cc911af940
Added state saving support on EE Timers.
...
git-svn-id: http://svn.purei.org/purei/trunk@1072 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-02-03 05:03:15 +00:00
jpd002
2ee98db330
Compilation fixes.
...
git-svn-id: http://svn.purei.org/purei/trunk@1069 b36208d7-6611-0410-8bec-b1987f11c4a2
2013-01-29 05:46:29 +00:00
jpd002
a5aaa0bea0
Rewrote the profiler to make it simpler to use and more accurate.
...
git-svn-id: http://svn.purei.org/purei/trunk@1051 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-12-23 21:35:04 +00:00
jpd002
91030fbbdd
Added support for LOADCORE's "LoadElf" function which allows loading an executable into EE memory.
...
Fixed a bug with module parameter passing in the LoadModule function.
git-svn-id: http://svn.purei.org/purei/trunk@1023 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-10-24 06:39:29 +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
3b56af1456
Made breakpoints handling more reliable by moving the breakpoint checking code after function partitioning because a breakpoint inside a non-partitioned function could never be hit.
...
Also added a different "first run" check for breakpoints that is only enabled when we come back from paused virtual machine state.
Moved more stuff between "DEBUGGER_INCLUDED" ifdefs.
git-svn-id: http://svn.purei.org/purei/trunk@1010 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-09-29 01:28:23 +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
3182d98813
Moved clock frequency constant in Ps2Const and normalized some of the names in there.
...
git-svn-id: http://svn.purei.org/purei/trunk@996 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-09-12 01:03:53 +00:00
jpd002
8b8b4a1c9c
Compilation fixes due to changes in StdStreamUtils.
...
Added support for the presentation params system on Win32 port.
git-svn-id: http://svn.purei.org/purei/trunk@989 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-09-06 06:32:15 +00:00
jpd002
1a2379e41f
Added presentation parameters in GSH_OpenGL (to move in GSHandler maybe).
...
Added support for window resizing and full screen on MacOSX.
Updated MacOSX project.
git-svn-id: http://svn.purei.org/purei/trunk@986 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-09-05 00:08:05 +00:00
jpd002
1ea379de92
Use this_thread::sleep instead of thread::sleep.
...
git-svn-id: http://svn.purei.org/purei/trunk@984 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-08-31 03:15:41 +00:00
jpd002
d5f0ebc83b
Cleaned code related to user directory fetching. No platform specific code should be present anymore (complexity should be hidden in Framework).
...
git-svn-id: http://svn.purei.org/purei/trunk@982 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-08-23 01:49: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
e8b6f2541b
Removed OsEventViewWnd (wasn't even being used)
...
Added ThreadViewWnd and moved some of the stack crawling stuff in MIPSAnalysis.
git-svn-id: http://svn.purei.org/purei/trunk@926 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-05-21 06:31:50 +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
012c95760a
Added basic support for LoadPS2Exec system call.
...
git-svn-id: http://svn.purei.org/purei/trunk@903 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-14 21:08:33 +00:00
jpd002
566d800e78
Don't skip the whole frame when no thread is ready to be executed on the EE. This was causing odd situations where games wouldn't be able to boot or where they would go too fast.
...
git-svn-id: http://svn.purei.org/purei/trunk@901 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-12 05:43:05 +00:00
jpd002
335eda13a0
Fixed compilation problem.
...
git-svn-id: http://svn.purei.org/purei/trunk@896 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-04-09 22:56:31 +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
f910661c47
First pass of cleanup for C++11.
...
git-svn-id: http://svn.purei.org/purei/trunk@851 b36208d7-6611-0410-8bec-b1987f11c4a2
2012-03-11 20:06:14 +00:00
jpd002
15f9dd84d1
Honor OS's request to flush the instruction cache.
...
Moved the vblank timing checks after interrupts are triggered to allow programs to see the vblank start/end bits being set.
git-svn-id: http://svn.purei.org/purei/trunk@837 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-12-25 04:50:54 +00:00
jpd002
ea197e8795
Clear the BIOS memory area at every reset.
...
git-svn-id: http://svn.purei.org/purei/trunk@824 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-12-10 20:56:40 +00:00
jpd002
23f127c82e
Added ability to read VU0 memory from EE.
...
Added VU0 execution in the main loop.
Added CALLMS support.
Re-enabled code cache invalidation when writing to a memory area that is cached.
Removed lots of unused code.
Changed the way interrupts are handled and allowed some instructions (like EI) to force a check for pending interrupts.
git-svn-id: http://svn.purei.org/purei/trunk@817 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-11-26 21:03:20 +00:00
jpd002
7d36166fa8
Changed the way ticks are counted in the PS2VM. Slows down HL, but makes Doom too fast.
...
Fixed linking errors on Win32 config.
git-svn-id: http://svn.purei.org/purei/trunk@762 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-05-22 00:36:21 +00:00
jpd002
3e696add16
Changed the way back buffer flipping is handled and added a new flipping mode (SMODE2) which seems to work with a majority of games.
...
git-svn-id: http://svn.purei.org/purei/trunk@759 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-05-15 21:20:55 +00:00
jpd002
ed7c1c4e0c
Added new idle loop detection scheme for Castlevania: Curse of Darkness.
...
Allow DMA9 to read from VU0 memory (no idea if this is legal, but it prevents Castlevania: CoD from crashing)
General code cleaning.
git-svn-id: http://svn.purei.org/purei/trunk@756 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-05-08 21:58:55 +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
2580b346e2
Added a little something that allows dumping of the VM state before executing any VU1 microprogram.
...
git-svn-id: http://svn.purei.org/purei/trunk@745 b36208d7-6611-0410-8bec-b1987f11c4a2
2011-03-29 00:46:18 +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
jpd002
4e1f402006
Made PS2 Doom work:
...
- Rehabilitated Timer support.
- Added support for FINISH flag in GSHandler.
- Added fake IOP RAM area in EE memory space.
- Fixed minor IOP stuff.
git-svn-id: http://svn.purei.org/purei/trunk@710 b36208d7-6611-0410-8bec-b1987f11c4a2
2010-10-13 01:53:26 +00:00
jpd002
795411ebbc
Many updates for Half-Life.
...
git-svn-id: http://svn.purei.org/purei/trunk@537 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-08-10 00:56:50 +00:00
jpd002
bced4b20e2
Some work done to make Half-Life work.
...
git-svn-id: http://svn.purei.org/purei/trunk@509 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-04-28 01:20:03 +00:00
jpd002
1e258616d1
Made the vfs paths relative to a "Base Path" and are created upon starting up the program.
...
git-svn-id: http://svn.purei.org/purei/trunk@505 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-04-21 00:01:05 +00:00
jpd002
5d047fbb9a
Fixed crash that was occurring when loading a game when one was already being played.
...
Made the reset menu command work properly.
git-svn-id: http://svn.purei.org/purei/trunk@502 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-04-18 00:24:32 +00:00
jpd002
a6e12114d7
Added changes to MIPSInstructionFactories. Not a singleton anymore, so it allows a 32-bits and 64-bits version of the architecture to live together.
...
PsfPlayer bios memory ownership fixes.
git-svn-id: http://svn.purei.org/purei/trunk@490 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-03-30 04:57:52 +00:00
jpd002
d1bd353096
Attempt to make texture uploading faster.
...
Better cleaning up of GS when closing emulator.
git-svn-id: http://svn.purei.org/purei/trunk@483 b36208d7-6611-0410-8bec-b1987f11c4a2
2009-02-18 03:38:59 +00:00
jpd002
68daccb985
Hacked placeholder definitions so it can compile on multiple platforms.
...
git-svn-id: http://svn.purei.org/purei/trunk@454 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-12-24 01:39:03 +00:00
jpd002
b962bf782d
Iop <-> Sif stuff working good for now.
...
git-svn-id: http://svn.purei.org/purei/trunk@453 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-12-19 03:30:49 +00:00
jpd002
775ef52d0e
Made the thing compile with boost 1.37.
...
Some RPC call stuff which isn't totally functional.
Fixed bugs in MailBox.
git-svn-id: http://svn.purei.org/purei/trunk@447 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-12-15 02:57:21 +00:00