Commit graph

248 commits

Author SHA1 Message Date
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
jpd002
34d2839aa5 Some more Iop stuff again.
git-svn-id: http://svn.purei.org/purei/trunk@437 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-12-05 03:30:01 +00:00
jpd002
c21ef94a37 git-svn-id: http://svn.purei.org/purei/trunk@426 b36208d7-6611-0410-8bec-b1987f11c4a2 2008-11-28 02:56:27 +00:00
jpd002
d518b18c3a Purei compiles again.
PsfPlayer probably not.

git-svn-id: http://svn.purei.org/purei/trunk@411 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-11-10 01:46:02 +00:00
jpd002
646ee08ad2 Some stuff for Guilty Gear XX.
git-svn-id: http://svn.purei.org/purei/trunk@380 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-10-20 04:12:44 +00:00
jpd002
14129468e4 Removed uses of CList, CEvent, CEventEx, CEventHandler.
Fixed TR1 compilance.
Input configuration support for Win32.
Support for analog axis in PadMan.

git-svn-id: http://svn.purei.org/purei/trunk@361 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-08-24 21:28:42 +00:00
jpd002
ee3ec9c361 Added configurable frame skip, some esthetic code changes and compilation fix.
git-svn-id: http://svn.purei.org/purei/trunk@355 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-07-20 20:57:49 +00:00
jpd002
1ba2aa5dde Changed lots of stuff to try to see how to make the thing faster... But with no real success...
git-svn-id: http://svn.purei.org/purei/trunk@354 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-07-20 17:26:08 +00:00
jpd002
a3c295f1ae Some tr1 compilance fixes.
git-svn-id: http://svn.purei.org/purei/trunk@349 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-06-30 16:31:28 +00:00
jpd002
581b212a93 Castlevania finally loads and displays stuff! \o/
git-svn-id: http://svn.purei.org/purei/trunk@347 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-06-23 01:35:05 +00:00
jpd002
ffe5a4646e Added proper separation of code and data address spaces in MemoryMap.
Added DMA channels 0 and 8.
Added VU0 stuff.
Major tweakage of UNPACK in VPU.

git-svn-id: http://svn.purei.org/purei/trunk@342 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-06-15 19:55:28 +00:00
jpd002
6d6b93bb5d Put the shaders back on for Win32.
Converted some stuff (timers).

git-svn-id: http://svn.purei.org/purei/trunk@333 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-05-30 00:40:39 +00:00
jpd002
a277e555fd Fixed a small bug with IPU input FIFO.
git-svn-id: http://svn.purei.org/purei/trunk@311 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-05-07 23:35:25 +00:00
jpd002
40d46f28b9 Some state loading handler fixes
git-svn-id: http://svn.purei.org/purei/trunk@308 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-05-03 02:07:13 +00:00
jpd002
d0ca3dff07 VU Q pipeline simulator (disabled for now).
git-svn-id: http://svn.purei.org/purei/trunk@306 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-05-02 00:55:54 +00:00
jpd002
ebef225e84 Fixed some destruction order of threads problem with VIF.
git-svn-id: http://svn.purei.org/purei/trunk@294 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-04-09 03:08:32 +00:00
jpd002
71c27fe9f3 First demo of Slave of the VU works reasonably well.
git-svn-id: http://svn.purei.org/purei/trunk@284 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-03-30 22:12:52 +00:00
jpd002
384e62a1c8 Various VIF related stuff.
git-svn-id: http://svn.purei.org/purei/trunk@283 b36208d7-6611-0410-8bec-b1987f11c4a2
2008-03-29 16:38:35 +00:00