![]() |
| Forums | Gaming News | Videos | Downloads | Today's Posts | Mark Forums Read | Chat | FAQ | Members List | Contact |
| ||||||
This is a discussion on RemoteJoy - OpenGL mod within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; I'm not really a programmer, but I've just become obsessed with getting my PSP-on-monitor setup looking nice, so I'm hard ...
![]() |
|
|
LinkBack | Thread Tools |
|
|
#1 |
|
I'm not really a programmer, but I've just become obsessed with getting my PSP-on-monitor setup looking nice, so I'm hard at work on a modification to RemoteJoy to run OpenGL shaders (specifically working with those designed for Pete Bernert's PSX OpenGL2 plugin) in order to provide a fast-performing good-looking alternative to RemoteJoy ResizeMod's ugly scaling and vaseline-smear dog-slow antialiasing mode.
I'd just like to know if there's enough interest out there to justify the work involved in cleaning up my code, adding ways to configure various things without recompiling, and working out a stable or nearly stable release. Or at least someone interested enough to check over my mess of code for memory leaks and the like. Current status: performance seems great, shaders work nicely. Changing shader intensity requires a recompile. Memory leak suspected as performance of other programs degrades after about 5 minutes of use. Resolution locked at 960x544. Shaders that load external textures not yet supported. |
|
|
|
|
|
|
#2 | |
![]() PSP Developer On Break
My Mood:
Join Date: Jan 2008
Real First Name: [The]Cobra
Location: New York
Just Played: GameLive Shell
Posts: 587
Trader Feedback: 0
|
Quote:
__________________
Project:GameLive-Shell(Perc:19% | Ver: V0.1) |
|
|
|
|
|
|
#5 | |
![]() PSP Developer On Break
My Mood:
Join Date: Jan 2008
Real First Name: [The]Cobra
Location: New York
Just Played: GameLive Shell
Posts: 587
Trader Feedback: 0
|
Quote:
PSProgrammer@ yes it is in c because Remotejoy was made in c and i never hear of a pc driver made in c for psp
__________________
Project:GameLive-Shell(Perc:19% | Ver: V0.1) |
|
|
|
|
|
|
#6 |
|
Well if there's more than one person interested I might as well just post it publicly: http://files.filefront.com/rjgl0+1at.../fileinfo.html
It's an absolute mess. Thanks... and good luck. :P There's a windows binary included in case someone adventurous wants to try it out. I'd be particularly interested in what the video looks like in fullscreen on a non-widescreen monitor. Black bars? Squished X? Sides of screen cut off? |
|
|
|
|
|
|
#8 |
|
http://www.sendspace.com/file/m5375l
No updates as of yet, been playing soulcalibur4 rather than coding
|
|
|
|
|
|
|
#9 |
|
Odd. The memory usage drops down from ~20mb to ~5mb when everything turns into a slideshow. We may not be looking at a memory leak. I have no idea what else would exhibit those symptoms though.
I've added some cool stuff - more elegant handling of lack of signal, runtime changing of shader level, partially working shader texture support, working fullscreen-toggle and screenshot, and a nice text output function for status ("Shader level set to 3.0" etc) that shows three lines in the top left corner of the screen. But I don't see the point of another release when I can't track down this damn slowdown bug. It's not really usable at this point. Any help on this would be greatly appreciated. |
|
|
|
|
|
|
#10 |
|
(Argh. Can't get editing to work. Neither the 'save' nor 'go advanced' buttons do anything. Sorry about the bumpage.)
Edit: Bug apparently squashed. Expect a mostly functional release tomorrow. Things to add before release: Resizing / configurable resolution support Crop/zoom function (e.g. for PAL PSX games that have a black bar at the top of the screen) Updated -h option and more complete README instructions Possible debugging of shader texture routines? GPL Test and include gpupeteogl2 shaders that are freely licensed Things to add later: GUI frontend (need to learn a toolkit to do this) Cross-platform etc functionality - I need to know what the bugs are before I can fix them. Anyone want to test this on Linux/Mac/whatever? Things that I'd like but probably are way too hard for me: Update RemoteJoy PSP plugin (iRShell version) for 4.01 Remove 16-bit color limitation from iRShell version (but keep it as default cause 32-bit is slow) |
|
|
|
|
|
|
#13 | |||
|
Quote:
(And if you would like to track down what line that segfault is on that would be awesome.) Quote:
Quote:
http://pspheaven.net/e107_plugins/sm...hp?topic=420.0 Above is a link to a version of remotejoy that works on 4.01 however IIRC this is not the version modified by AhMan, and thus will crash your PSP at any Sony save/load dialog. You can still use it to test though. After my next release (soon!) I'm going to look into the possibility of modifying AhMan's Remotejoy to work on 4.01. I have no idea how to do that, but I had no idea how to write SDL or OpenGL or much more than hello world before taking up this project, so we'll see how it goes. |
||||
|
|
|
|
|
#14 |
![]() No longer a community member.
|
ermm i use remotejoy in 4.01 with psplink. There is nothing in the code of remotejoy that will stop it based on what kernel you are on. It is just a matter of knowing how to use it.
|
|
|
|
|
|
#15 | ||
![]() ![]() Developer
Join Date: Oct 2005
Real First Name: Justin
Location: Dubuque
Just Played: ..
Posts: 414
Trader Feedback: 0
|
Quote:
Quote:
|
||
|
|
|
|
|
#16 | |
|
Quote:
Tyranid's original version works on whatever firmware, but since it allocates memory in a bad spot, it crashes on many common functions used in commercial games, making it essentially unusable for my purposes. After quite a bit of trial and error, I now have my own version (three whole lines of code changed from Tyranid's!) that will not crash on commercial games, but requires a SLIM PSP. If anyone has information on how to access the memory at 0x88380000, let me know please. I assume it requires an 'unlock' like the 0x0a000000 (psp slim only) memory did, but I couldn't dig up the info on what register unlocks it. Alternately, maybe it crashes slims. RELEASE: 0.1.1 http://files.filefront.com/rjgl0+1+1.../fileinfo.html http://www.sendspace.com/file/dkcuer |
||
|
|
|
|
|
#17 |
![]() |
You probably have a phat psp, on the slim the psplink doesnt work. And i do know how to use it thank you. I only ask for help when i can't work something out myself.
|
|
|
|
|
|
#19 | |
![]() |
Quote:
Ok when i load psplink v3.0 i get error 0x800200D9. Last edited by niko86; 07-31-2008 at 03:17 PM.. |
|
|
|
|
|
|
#21 |
|
I've been working on it for the last half a day or so. I tried an exhaustive and exhausting set of memory locations; none work.
Tested mainly with God of War (ISO), since that reliably crashes on load and apparently ISOs work somewhat better than UMDs in this case. And also because it's pretty so I was using it to test shaders. 0x0a000000 - Slim only. Crashes on UMD Final Fantasy II (and probably all others; this memory location is UMD cache. Disabling UMD cache in options did not help.) 0x88380000 - Ahman's recommended phat memory location. Disables sound and crashes on load dialog. 0x88300000 - Ahman's recommended 1.5 memory location. Disables sound and crashes on load dialog. 0x88400000 - Tyranid's location. Crashes on load dialog. I tried lots of other locations but without any more interesting results. Both God of War (ISO) and Final Fantasy II (UMD) worked flawlessly on 3.90 iRShell remotejoy. Unfortunately iRShell itself is not open source so as far as I know there is no way to discover the parameters Ahman used to make things work. His version of Remotejoy exhibits the same behavior as Tyranid's when the memory address is set the original way. I'm currently experimenting with ditching the raw memory access and using a memory allocation function of some sort, but I have had no success in allocating more than 64kb. I may not be changing the default prx heapsize properly or something. I'm pretty sure that if the memory is properly allocated it should cause limited to no problems with the software it runs on top of. Commercial games surely use the SDK's allocation rather than direct access (when dealing with user memory), right? right? So the only problems would be with either terrible code or with games that can't leave ~520k free in user ram. Which may or may not be a problem; I have no idea. At any rate, it should be much more compatible than the current release. If I get it working. If worst comes to worst, I can try to piece together 64k chunks of ram into a virtual screen buffer, but that would probably require a nearly full rewrite of Remotejoy and possibly break communication compatibility. |
|
|
|
|
|
|
#22 |
|
Release: 0.1.2
(In an effort to stamp out forum SPAM only members with 10 posts or more can post website links or email addresses.) [ Go to hosted dot filefront dot com slash kurokaz3 and download rjgl0_1_2.tar.gz ] -Added two new versions of remotejoy prx: Kmod and original -Cmod prx might now work on phat -Made kmod prx default instead of cmod; renamed cmod and original to remotejoyc.prx and remotejoyt.prx -Mostly fixed texture loading for shaders (may not be rotated correctly) -Added crop mode -Added letterbox mode -Added OpenGL screenshot mode and made default -Added movie recording -Added custom resolution by setting width Regarding the prxen: Kmod writes the buffer to an allocated location. It crashes on home key and in POPS. Cmod writes the buffer to the locations specified by Ahman. It crashes on UMD games and might not work on the Phat. (Note that this is basically the version from custom firmware extender by cpasjuste, modified to use the 'correct' memory location on Slim so as not to crash instantly on loading. As such I assume he tested on a Phat and that it worked, since he obviously didn't test on a Slim.) Both are locked to 16-bit color due to memory constraints. I'd really like to fix this but I don't see how. The obvious workaround for now is to run Kmod for GAME mode and Cmod for POPS mode. Or just use Cmod if you never run UMDs. The home menu bug is annoying though. I'm going to see if I can, like, hook the key and replace the home menu with my own. |
|
|
|
|
|
|
#24 |
![]() |
well while ive been gone from the thread it seems uve gotten along quite well lol, i'll definately be trying this out, i have also been playing too much soul cali 4 , the character creation is mint right?
|
|
|
|
|
|
#25 |
|
This thread needs more screenshot.
I'm busy coding right now but we'll start off with one: http://img187.imageshack.us/my.php?image=omgui3gq8.png -=Double Post Merge =- Tentative release: 0.2.0 http://files.filefront.com/rjgl0+2+0.../fileinfo.html Not all the included shaders seem to work. I don't have time to fix this right now but I wanted to get this up so I can download it elsewhere. **CHANGELOG** 0.2.0 -Added GUI frontend -Added all of Guest(r)'s shader pack -Changed default shader from 'bloom' to 'AA Guest 2.0 Bloom' (same shader, new name) -Reimplemented console Screenshots: Storybook shader is in the previous post. AA Guest 2.0 Bloom: http://img521.imageshack.us/my.php?i...ot00000an4.png Basic cel shader: http://img301.imageshack.us/my.php?i...ot00001ui6.png Last edited by kurokaze; 08-04-2008 at 04:51 PM.. Reason: Automerged Doublepost |
|
|
|
|
|
|
#27 |
|
I spent all day scouring the Internet for more shaders to add. Here's a few of the nicer ones:
Frosted glass filter http://img530.imageshack.us/my.php?i...ot00080db1.png http://img60.imageshack.us/my.php?im...ot00002vv9.png Night bloom http://img60.imageshack.us/my.php?im...ot00001ty7.png Kuwahara edge-preserving median filter http://img244.imageshack.us/my.php?i...ot00003uj8.png Oversharpen http://img172.imageshack.us/my.php?i...ot00004sq5.png Laplacian edge detect II http://img120.imageshack.us/my.php?i...ot00005vq4.png As I continue my search for the holy grail of shaders - one which majorly distorts the image in a 'wow' kind of way yet is still entirely functional and enjoyable for actual gameplay - I believe the next step is to add multipass shader support. Expect to be able to layer 3 shaders on top of each other in the next release. I'm specifically doing this for an idea I had about combining the Laplacian edge detect with blurs to create a plasma/lightsaber-looking effect. I doubt it will be functional, but it will definitely be 'wow'. Night bloom, Kuwahara, and Storybook are pretty close to the holy grail already though. I've also got some more secret stuff up my sleeve... And I still need someone who will help me get this tested/functional on Linux/Mac. Anyone...? |
|
|
|
|
|
|
#29 |
![]() |
I want to bear your babies. If only the stupid driver would install on my stripped down XP..lol. Really nice job, I initially looked at this thread and kind of skipped it, but saw a few more posts by you, and figured improvement had to have been made, well, low and behold.
|
|
|
|
|
|
#30 |
|
Multipass is in.
4x GL Soft -> AA Bloom 2.0 -> 4x GLSL HqFilter at 1900x1076: http://img47.imageshack.us/my.php?im...ot00046tl8.png It's a slideshow though Probably something to do with generating and filtering 4-12 1900x1076 textures every frame.Lower resolutions like 2x scale (960xsomething) run great with most sets of three shaders though. -=Double Post Merge =- Thought I'd add some 2D samples. Reference image http://img98.imageshack.us/my.php?im...ot00047jd3.png Kuwahara + Bloom http://img389.imageshack.us/my.php?i...ot00048ht2.png 4x HqFilter + AA Bloom http://img389.imageshack.us/my.php?i...ot00049zh2.png 4x HqFilter + AA Daisy http://img521.imageshack.us/my.php?i...ot00050dd6.png -=Double Post Merge =- RELEASE: 0.2.5 This is the first version that I really think is ready for general use. http://files.filefront.com/rjgl0+2+5.../fileinfo.html 0.2.5 General -Still need Linux/Mac testing badly! Core -New rendering engine! Now supports up to 3 shader multipass. Requires framebuffer object OpenGL extensions. See shader notes for shader uniform changes. NOTE: Shader 3 texture loading is broken, so some shaders will not function properly on pass 3. -Old engine should automatically enable if FBO or pixel shaders are unsupported, and is also selectable from GUI/command line/F1. NOTE: Pixel shaders are currently disabled in the old engine. NOTE: OpenGL 2.0 is still probably required for the old engine, since RJGL relies heavily on non-power-of-two textures. This is unlikely to change unless someone else codes it (it is probably doable with the rectangular texture ARB extension). -Shaders with long file names now work. -Added shaders from NVIDIA, Mike Pan, and oZone3D. -Cleaned up console output in non-verbose mode (verbose is primarily intended for my own use while debugging) -Fixed crop mode when shaders are disabled causing a white screen. GUI -Both consoles now redirect to GUI -Hides underscores in shader names Plugin -No change Last edited by kurokaze; 08-07-2008 at 12:57 AM.. Reason: Automerged Doublepost |
|
|
|
|
![]() |
| Tags |
| mod , opengl , remotejoy |
| Thread Tools | |
|
|