Commit Graph

57 Commits

Author SHA1 Message Date
ramapcsx2.code ef27358a82 Initial work on getting further with PSX mode. Because the PSX rules!
All work done by Refraction, I'm just the commit guy for this.

Note: Missing Visual Studio 2012 / 2010 project files and Linux makefile additions.
Note2: PSX games don't work yet :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5921 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-03-06 23:00:09 +00:00
refraction ad4aeca3ad SIF: Better fix in place for random hangs, Tom Clancy Rainbow Six Lockdown now Playable.
Hangs also related to Phantasy Star 4 and FFX Thunder Plains, which are both still ok with this. Also the sif dma errors in Legends of Legaia should be gone again!

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4874 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-23 18:30:40 +00:00
Jake.Stine 5fd2cf97d3 Made some minor tweaks to SIF to test some theories and fix some broken-looking code -- please report any regressions. Also commented some of SIF and IPU stuff. :)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3812 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-20 12:47:17 +00:00
Jake.Stine 3cfd0c68af * Rename cpuBranch[...] functions and vars to cpuEvent[...], which should be more clear and consistent as to their true purpose. (to clarify: events typically run during cpu branch instructions, but most branches don't actually have anything to do with whether or not there are events pending or events being run).
* Add some missing & ~0x0f address alignment stuff to odd-size FIFO reads/writes (thanks gregory)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3730 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-09-05 15:38:14 +00:00
Jake.Stine 8375b0a989 Refactoring:
* Added __fi and __ri, which are abbreviations for __forceinline and __releaseinline.
 * Added some static qualifiers to functions in mVU, MMI ops, and others where appropriate.
 * Removed some unnecessary __fastcall qualifiers (since GCC gets funny sometimes when you combine __fastcall and inlining).
 * Made _1mb, _16mb, _1gb values common to all emulation code (moved from newVif/mvu to Common.h) -- they're useful! :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3624 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-08-09 04:10:38 +00:00
Jake.Stine 4f9a5c6876 Remove all MMX and XMM register freeze code.
DevNote: I could have left the code for the freezes in, except I *really* don't want us to ever have to resort to using such a system ever again in the future.  For anything. (its just not safe on modern optimizing compilers)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3392 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-07-05 01:12:38 +00:00
refraction 26fece9510 Summary of fixes
Games
- Resident Evil Dead Aim flickering graphics fixed.
- Flatout games should now boot everytime (instead of randomly)
- Sega Superstar Tennis flashing fixed
- Destruction Derby graphics fixed (NTSC confirmed, PAL unsure)
- Tenchu Fatal Shadows flickering textures fixed, Issue 748
- Spyro Hero's Tail should boot again, Issue 746

General Info
- General reworking of the GS paths with all paths prioritizing more correctly.
- XGKICK can stall if another GS transfer is in progress
- Major reworking of Path3 masking, could still be combined with normal Path3 transfers, but lets get it working first :P
- Taken in to account a few conditions which could have caused VIF to lock up/crash when stalling on ends.
- Unreversed GIF and SPR and VIF so its the normal way round
- all DMA paths should now resume correctly after being stopped by hardware
- GIF FIFO now actually transfers stuff :P
- VIF CMD's simulated by the length of the interrupts at the end.

Phew, i think that's everything :S

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3274 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-06-22 23:10:40 +00:00
Jake.Stine 70d47bf240 Copyright 2010 : PCSX2 and plugins! (notable exception: didn't update copyright info in any Gabest plugins)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2937 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-03 14:08:02 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
ramapcsx2 42cb1c4bb1 SPU2-X:
- Ok, that interrupt commit in r2600 was silly. The "special register write" is a simple set audio to max volume. We don't interrupt those :p
NEW IOP DMAC:
- Make the adma interrupts happen early, as in the previous commit for old dmac.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2602 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 22:37:13 +00:00
ramapcsx2 8d7971466d SPU2-X:
- Added an interrupt call on a special register write, which mimics peops spu2 behavior.
This lets Silent Hill Origins get further when booting up.
Note that it's not complete and hackish, need someone with spu2 experience to make it right :p
- Also added various logging stuff

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2600 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-17 17:35:06 +00:00
ramapcsx2 9906e82efc New IOPDMAC:
- Add basic savestate support

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2583 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-10 15:49:35 +00:00
gigaherz fcf5b97e46 Not my day. Reverted the last change and reimplemented it in a cleaner way.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2581 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-10 14:34:52 +00:00
gigaherz ae3934cffb Forgot some people might want to run pcsx2 WITHOUT my new dmac enabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2580 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-10 14:29:22 +00:00
gigaherz c8269a44a3 I'm an idiot. No comments.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2579 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-10 14:24:01 +00:00
gigaherz 6730abd967 Whoops missed a file. Another small refactoring too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2577 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-08 16:35:18 +00:00
gigaherz 822e2a8166 Moved some stuff around, removed some unnecessary code, added some comments. No functional changes.
Will need updating the linux build files.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2576 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-08 16:19:01 +00:00
gigaherz 86d96ffbf2 Implemented the handlers for channel 8 (dev9) in the new iop dmac. No plugins support the changes yet so don't enable it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2571 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-06 22:18:26 +00:00
arcum42 e86d7fba0e Sif: Implemented a new _sif structure, and made the code use it. Added some temporary code to try to keep the savestate backward compatible.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2563 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-05 12:41:25 +00:00
gigaherz 06db5bba38 Hackfix a problem with sio2 in the new dmac. It needs some changes to the dmac system (possibly a dmaStart function with more accurate information) to be implemented properly but for now, this will do.
Also make the autodma messages work like before so they are configurable again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2555 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-03 03:59:21 +00:00
gigaherz 9ae807134e Experimental implementation of spu2 interface for the new iop dmac.
It's implemented only on SPU2-X and disabled by default.
FF12 and Atelier iris had working FMVs and bgm, other games might not
Try at your own risk.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2554 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-03 03:37:55 +00:00
gigaherz d31337902b Some reorganization of my iop dmac code, hopefully for the better.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2547 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-01 04:12:51 +00:00
gigaherz 07927f00d6 Typo
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2542 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-30 20:42:53 +00:00
gigaherz 54b8c44dad Move a bit of code into the IopDmaStart function. In the rare case it caused any kind of noticeable slowdown (applies to the new dmac only, which is disabled by default), it could be easily reverted.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2541 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-30 20:35:10 +00:00
arcum42 4dc7d3e2ab Sif: Rename functions. Move iopsifbusy.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2538 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-29 04:44:00 +00:00
ramapcsx2 83a6898651 Small log stuff for new iop dma.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2507 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 02:43:43 +00:00
gigaherz 3eb3991b9a Apparently the sio didn't really like me setting count to 1 every byte. Hardcoded a block size of 0x24 for now, since it's what the bcr in the bios has.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2505 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 02:16:06 +00:00
gigaherz 54e399ec31 Small cleanup of the new dma update function.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2502 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-24 00:14:01 +00:00
gigaherz a323d31bf3 Fixed a bunch of silly mistakes I'm ashamed of. no the bios can actually access the memcards.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2499 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-23 22:42:49 +00:00
gigaherz 47d9ba5c7a Made the new iop dma use the hardware registers for MADR/BCR/CHCR, which lets the memcards and pads work, at least in the bios.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2488 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-23 04:00:55 +00:00
gigaherz 5715c181dc I give up on the dmac branch. It will be easier to just do this in trunk, since it can be easily turned off.
I made it so each part can be enabled separately, but atm they are missing some code so nothing will work if enabled.
Commit is mostly for backup/history purposes.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2486 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-01-23 03:28:32 +00:00
arcum42 0aae87e8fd Various minor fixes. Corrected a few misspellings, fixed a console message or two, and got Linux to compile again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2222 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-19 05:55:54 +00:00
arcum42 ba37f31849 Trim and tweak a bunch of includes, and a few headers.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2197 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-14 12:02:56 +00:00
Jake.Stine 7d458d583c Revamped some console log stuff.
* Added more colors!
 * VM's EE/IOP logs (the ones that come from the emulated games themselves) are colored accordingly: EE are faint cyan, IOP are faint yellow.  They're intentionally "hard to read" because 99% of the time they're meaningless trivia (but still cool since it's what the actual devs would have used for developing the games!).

Dev Notes:
 * Removed Console.Status (specify blue/green colors manually if you want them).
 * Renamed Console.Notice to Console.Warning.
 * I changed the overloads so that both char* and wxChar* versions work like printf now (no need to use wxsFormat when working with unicode strings).  I also removed wxString& versions of the overloads.  This should (I hope) also be an easier port to wx2.9 or 3.0, when that time comes.
 * Default log color is now black instead of gray; typically you'll want to manually specify Color_Gray when doing high volume logging (like the EErec's block tracking in debug builds).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2091 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-29 13:32:40 +00:00
arcum42 8e493ad2d2 Revamp the FreezeRegs functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2056 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-22 01:20:22 +00:00
arcum42 6a52fa119d More Vif register stuff.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1968 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-05 21:24:22 +00:00
Jake.Stine 653d09e821 Lots of new code maintenance stuffs:
* Completely new assertion macros: pxAssert, pxAssertMsg, and pxFail, pxAssertDev (both which default to using a message).  These replace *all* wxASSERT, DevAssert, and jASSUME varieties of macros.  New macros borrow the best of all assertion worlds: MSVCRT, wxASSERT, and AtlAssume. :)
 * Rewrote the Console namespace as a structure called IConsoleWriter, and created several varieties of ConsoleWriters for handling different states of log and console availability (should help reduce overhead of console logging nicely).
 * More improvements to the PersistentThread model, using safely interlocked "Do*" style callbacks for starting and cleaning up threads.
 * Fixed console logs so that they're readable in Win32 notepad again (the log writer adds CRs to naked LFs).
 * Added AppInit.cpp -- contains constructor, destructor, OnInit, and command line parsing mess.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1950 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-04 08:27:27 +00:00
arcum42 17b8cd9fa3 int -> bool.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1895 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 21:24:00 +00:00
Jake.Stine d2fbb22076 Upgraded PCSX2 core and utilities to GPLv3.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1783 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 12:08:10 +00:00
Jake.Stine 3b10771c36 Got rid of that old 'params' mess on console logs. Not needed anymore since wxwidgets has nicer built in formatting options (never liked it anyway)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1782 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-08 05:37:40 +00:00
arcum42 1694eecf2f Assorted cleanup involving VifDma, the Hw files, IopMem and Fifo.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1297 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-30 22:25:23 +00:00
Jake.Stine 1f67f63ed5 Removed the microVU enabler define (oops >_<), and removed some SPU2 counters message since the code in question is behaving as intended.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1181 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-14 19:40:54 +00:00
refraction 9541e502c2 A few minor counter changes to prevent scenarios where branch targets could be missed on counter resets/target changes, also a situation where the vsync counter could cause repetative branch tests to be triggered in quick succession on cycle counter overflow
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1140 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-06 23:51:27 +00:00
gigaherz e22a50a7c8 So.. I got an "unlazy" day, and coded a bit more of my iop dma handler.
It's disabled in the code, so that it wont' affect normal users.

The code isn't working properly yet. Only handlers for cdvd and spu2 are in it:
 - the cdvd one doesn't work because of the way pcsx2 handles cdvd currently
 - the spu2 one seems to work, but it's not implemented in the plugin interface, so ATM it's just "faking" it using the old functions.

So really nothing worth testing, just commiting to let people know I'm actually working on it... with long pauses in between. xD

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1052 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-24 01:14:25 +00:00
arcum42 ecfe0b5011 Change some magic numbers to enums and defines and rearrange things a little...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1018 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 07:42:36 +00:00
arcum42 f32f705d1d Quick hack to fix Linux compiling. Delete some old code. Minor tweaks that I hadn't gotten around to committing.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1016 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-19 05:42:33 +00:00
arcum42 8a99bf1d63 More cleanup. Ran Artistic Vision on a few of the files rama had suggested, and did a few changes that make things easier to read. Still more work to be done here...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@862 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-30 13:21:15 +00:00
arcum42 007c34a8b0 Since WriteLn is used for logging, and it automatically appends newlines, remove a bunch of legacy newlines from various logging functions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@844 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-27 06:34:51 +00:00
arcum42 e0347fd285 Some header work, get rid of some dead code, and rename PsxCommon.h.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@762 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-13 04:49:23 +00:00
arcum42 71c4561f86 Linux: memcpy_fast seems stable enough on Linux, so I'm removing the switch, and turning it on by default.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@759 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-13 01:39:54 +00:00