..:: PCSX2 Forums ::..

Full Version: Programming help
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I've been thinking about offering my help. The question is, what area of the project is in need of help?

To give you a little background, I've been a software engineer for over 10 years now and I currently work for a gaming company. I've written 3 or more 3D engines and related tools for various projects.

BlushI'm in awe of the talent that has taken this project to it's current level.
Hardware mode in GSdx needs a re-write, both DX9 and 10.

There's a big list of issues on the repository here: http://code.google.com/p/pcsx2/issues/list You could try fixing some of those, demonstrating your coding knowledge as well.
I was thinking of working on one of the video plugins. The GSdx plugin seems to be well supported. Does it matter how many people happen to work on the same plugin?

Is there a simple way to checkout the code tip of GSdx?
the plugins aren't really part of pcsx2
GSDX is the work of gabest If you want to help him you should ask him ^^
send him a pm or write in the gsdx thrad in the plugins part of the forum
(03-09-2009, 09:21 PM)kabooz Wrote: [ -> ]GSDX is the work of gabest If you want to help him you should ask him ^^

I will do just that. I don't want to step on anyone's toes.

Is the ZeroGS plugin in need of help? I haven't seen an update for that plugin in a while.
ZeroGS is officially on the "on hold" shelf as according to Zerofrog. He said a while ago he'd come back to it, so if anyone wants to make significant changes they should do their own branch. ZZogl is one example (it's a sticky in our plugins section).

I'd personally suggest starting from scratch tho, especially since one of my own pet projects is to make a new faster/simpler GS plugin interface. I'd be willing to work with helping you get started with a basic, clean GS implementation, and then you can build from there. I suggest going from scratch because both GSdx hardware mode and ZeroGS (in general) are filled to the rim with hacks and tricks and things to try and squeak speed out of specific games. But hardware is much better now than when those basic engines were designed and, I think, you'd be better off to design GS targeted for modern hardware from the start-go. It can probably be a bit less hacky, at least as far as hardware goes.

I personally would be interested in doing my own pure software renderer, since multithreaded software rasterization optimization is one of my specialties. But I'm not much one for hardware accel... pixel shaders go right over my head. Wink
(03-09-2009, 11:12 PM)Air Wrote: [ -> ]I'd personally suggest starting from scratch tho, especially since one of my own pet projects is to make a new faster/simpler GS plugin interface.

If that's the case, it would be a good idea to go through the code and clean it up. Granted I haven't seen the code yet but GSdx is the best plugin we have at the moment so I would be up for extending it. Starting from scratch seems like more work then needed. All coding projects tend to get hairy over time. It's just the nature of the beast.

(03-09-2009, 11:12 PM)Air Wrote: [ -> ]I personally would be interested in doing my own pure software renderer, since multithreaded software rasterization optimization is one of my specialties.

People want to use their hardware to play the game in high resolutions with more enhancements. The emulator alone requires a bunch of cpu horse power and to add software rendering to it...

I started talking to gabest and he's up for the idea of me taking a look at the code.
I would like to help too, but I only know Pascal and PHP programming Smile.
(03-10-2009, 12:45 AM)GameCodingNinja Wrote: [ -> ]People want to use their hardware to play the game in high resolutions with more enhancements. The emulator alone requires a bunch of cpu horse power and to add software rendering to it...

It would be a good exercise in optimization techniques, and could potentially be useful to people with quad-cores that aren't utilized.

Who knows if it will become useful in the future? Projects are filled with examples of someone forking the source for a pet project, only for it to be folded back in as a major feature. Maybe Gabest (et. all) will become inspired by it and think of a better way for the GS plugin to work?
So, are there any docs describing which interface should the plugin expose and how does the Graphic subsystem in a PS2 works?