Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
GSrex (the forgotten plugin)
#1
Hey! How is everyone? I wasn't sure where to post this, but since I don't have privileges to post in the developer section, so I'll post it here (but move t if you see fit). I'm sure you all might already know who I am, so I won't waste time with introductions.

Getting to the point. Do you guys remember my old plugin, GSrex? Well, I was talking to cottonvibes yesterday at ngemu during our "reunion", and I've decided that I'm bringing it back! Yeah, it's been a while since I've done anything PS2 related, but I've gotten much better as an emu programmer since when I started the original builds for it. The big motivation for bring in this back is because when I think about it, a lot of people respected my work on it even to this day (making me feel like I let those who had faith in it down) and at the time, it competed well with GSdx9 in terms of compatibility and speed, but not graphics. If you want, go ahead and check out my (really old) screens here.

"Why did you stop working on it, and why haven't I heard of it?" Oh, that. The latest source of GSrex was lost when one of my USB HDDs went corrupt, causing me to lose about 8 months worth of progress (maybe less). I initially didn't want it publicly announced until it was running at a satisfactory level. Now that I think about it, I could have easily re-done it better than it was before.

So, now that I'm bringing it back, I'm going to need some documentation on the GS registers and texture formats as well as the latest PS2 plugin specs so I can get it up to speed and working on 0.9.x again. The last surviving source build was only compatible with v0.8.1, so I've got some serious work ahead of me (for instance, it still has the old GSread/write functions that were removed years ago).

So where can I find some good GS documentation? Refraction gave me some really good docs years ago, but I don't know what happened to it all these years. Also, does anyone have the source to GSsdl and GSsoft? There were a few certain functions that I used to learn how to properly unswizzle textures formats properly. Any other helpful input would be appreciated, thanks!

Shogun.
Reply

Sponsored links

#2
Thank you man to write this..it made my day. Maybe with doing this you have some fun and make half world happy with this plugin Laugh..
If you have fixed this on your plugin im going respect you like jesus.. <3

[Image: 110dtao.jpg]
Reply
#3
Welcome and very nice first post Tongue

I'm sure the team will help you with the docs, I moved the thread to the dev discussion thread.
I'm looking forward to your work!
Core i5 3570k -- Geforce GTX 670  --  Windows 7 x64
Reply
#4
Wasnt GSrex a hacked up GStaris? Tongue

ok was gssoft, my bad ;p
[Image: ref_sig_anim.gif]
Like our Facebook Page and visit our Facebook Group!
Reply
#5
Glad to see more GS plugins being worked on.

As far as GSsoft goes, it hasn't been worked on since 2008 or so, and isn't in the main trunk any more. It is under the plugins tag, though, where the legacy plugins are.
svn checkout http://pcsx2.googlecode.com/svn/tags/plugins plugins

GSsdl doesn't appear to even be in with the legacy plugins, though.

Currently in trunk, the GS plugins still being worked on are GSdx, ZZOgl, which is descended from ZeroGS, and GSnull (which does nothing. Well, maybe Gif transfer and rudimentary register code. Could be useful for an api reference, perhaps...)
Reply
#6
Thanks for welcoming me with open arms Smile

Hmm, I didn't see that. Maybe I should check the sourceforge SVN for GSsdl. It might not even be there, but if it isn't, then it's no big deal. Since I'm just trying to refresh my memory on how the GS works, I was hoping to look at the last known GSsoft and GSsdl source because procedure oriented code is much simpler than the mass usage of OOP. There were some things about PS2's blitting routine I didn't understand until I took a look at those. As for GSnull, I was going to take a peek at that as well to get the latest plugin specs and ensure that I got every exported function updated.

(08-17-2010, 11:28 AM)refraction Wrote: Wasnt GSrex a hacked up GStaris? Tongue

ok was gssoft, my bad ;p

Nope, this is the one I did relying on my own strength this time. Besides, my plugin didn't use SDL or OpenGL, I thought we discussed this Tongue

Or did we? Unsure
GSrex is coming back. Get ready...

Cxbx Dev Blog
General Emu
Reply
#7
I dont believe we did, however the old screenshots look remarkably like GSSoft Tongue

Good luck anyway.
[Image: ref_sig_anim.gif]
Like our Facebook Page and visit our Facebook Group!
Reply
#8
(08-17-2010, 10:18 AM)bla.bla Wrote: Thank you man to write this..it made my day. Maybe with doing this you have some fun and make half world happy with this plugin Laugh..
If you have fixed this on your plugin im going respect you like jesus.. <3

[Image: 110dtao.jpg]

skipdraw=24 or 25 will do thr trick, sorry for off topic.
Glad to see more graphic plugin is being developed, by the way.
Reply
#9
Alright, I finally got the PS2 dev environments setup (the free gcc compiler for PS2), and now I can start testing my PS2 code samples against my plugin and pick up where I left off. Good thing I still have my old changelog to back track with.

The first order of business would be to fix bugs related to the more complex primitive types (such as line strip). I haven't verified the other primitive types just yet, but so far the line strip drawing routine is wrong. For instance, lets say you draw 3 squares in wireframe mode using the line strip each with a different colour, on other plugins this is not a problem (obviously enough), but on mine the final vertex is connected to the next first vertex of the new line strip and the primitive colour does not change properly. I don't remember if I ever fixed it before, but it's sure as hell annoying to deal with right now. Here's a screen shot of the problem:

[Image: 25ev39h.jpg]

This is how it's supposed to look:

[Image: jrek2f.jpg]

I'm sure when I fix it, I'll feel like a complete twit, but it's all part of the learning process Tongue

The most important thing is knowing when to blit what's written to VRam and when to save it as a texture map. When I first started, I always got this process confused. That's what stopped me from releasing GSrex last time, so that should be my top priority because games won't look right without textures working properly.

Last night, cottonvibes gave me links to the documentation for the GS and other things, so I guess I should be all set in that department. But do any of you have links to some PS2 homebrew apps/elfs? Since I don't have many commercial games to test my code against atm, homebrew will suffice (especially open source). Finding PS2 homebrew is much harder than it used to be and I don't know what happened to my huge collection of demos.

Shogun.

EDIT: Never mind the bug I posted earlier. Fixed it. Turns out that I set the first bit in the PRMODECONT register to 0. Although I'm still a bit rusty with the GS in all, I'm surprised I remembered that! Lesson learned: Even if the slightest bit value is wrong, you'll end up paying for it in the end with your time and sanity. Angry
GSrex is coming back. Get ready...

Cxbx Dev Blog
General Emu
Reply
#10
Hmm, did you get my PM? Tongue2
Reply




Users browsing this thread: 1 Guest(s)