Author Topic: AGS engine PSP port  (Read 19748 times)  Share 

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
AGS engine PSP port
« on: 15 Jul 2011, 16:27 »


This is a follow up post to the initial PSP port I presented in the engine release thread.

Now that the port has matured a bit and can be considered almost complete and more user-friendly here is a proper release thread for it. Still, this is a port of the 3.21.1115 runtime engine to the PlayStation Portable. To play it you need a PSP 2000/3000 or Go with a Custom Firmware or Homebrew Enabler. The engine will start on a PSP 1000 but due to the lower total available memory, you cannot run most AGS games.

Games can just be copied as they are into the ports folder on the PSP, no more renaming to "ac2game.dat" as in the initial version. Now the game data is autodetected. If the game data is compiled with an incompatible AGS version, the launcher will tell you so.

There are various options that can be configured in a text file. See the Readme for details please.


Source code is available on gitorious as a clone/branch of the Linux engine port:
https://github.com/adventuregamestudio

Binaries are available from my website:
http://jjs.at/software/ags.html


:= UPDATE :=

If you want to stay on top of the newest developments, you can get intermediate binaries from my daily build site:
http://jjs.at/daily/

I will put an updated version there whenever I make changes to the source.

Also there is a bug tracker here:
http://jjs.at/tracker/

Please also post feature requests and bugs there.
« Last Edit: 21 Jun 2012, 07:08 by JJS »
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Joseph DiPerla

  • Joseph DiPerla, Adventure Game Creator Wannabe!
    • I can help with AGS tutoring
    •  
    • I can help with backgrounds
    •  
    • I can help with characters
    •  
    • I can help with play testing
    •  
    • I can help with scripting
    •  
    • I can help with story design
    •  
    • I can help with translating
    •  
    • I can help with voice acting
    •  
    • I can help with web design
    •  
Re: AGS engine PSP port
« Reply #1 on: 15 Jul 2011, 17:21 »
Nice work!
Joseph DiPerla--- http://www.adventurestockpile.com
Member in this community since before 1999.
-The oldest member without ever making a full game...

LimpingFish

  • Mittens Serf
  • Boink!
  • LimpingFish worked on a game that was nominated for an AGS Award!
Re: AGS engine PSP port
« Reply #2 on: 15 Jul 2011, 21:49 »
Great! :D

Some questions:

Would it be possible to build a version of this that compiles everything as an eboot? What I mean is, can a version that loads a single game automatically, bypassing the need to load a game from a seperate GUI, be implemented?

Some PSP emulators use a cache file system to avoid the PSP1000's memory limitations. Could something similar be used here?


Dualnames

  • AGS Baker
  • Point & Click Association (PCA)
  • Badass
  • Dualnames worked on a game that was nominated for an AGS Award!
Re: AGS engine PSP port
« Reply #3 on: 16 Jul 2011, 00:29 »
Those are great news. Now let's make than android port :P (I doubt that's doable :P)
No more military army stuff. I'm alive and back.

monkey_05_06

  • AGS Project Tracker Admins
  • Tasting the banhammer. Strangely, tastes like ham.
Re: AGS engine PSP port
« Reply #4 on: 16 Jul 2011, 00:52 »
I was actually just looking into it, and the Android NDK might actually make an AndroidGS engine port more feasible. I'm not nearly versed enough in C++ to attempt it myself, and a fair amount of the engine would probably still have to be ported directly to Java. Probably not impossible though.
User was banned for this post.

icey games

  • It's the time of ICEY!!!
Re: AGS engine PSP port
« Reply #5 on: 16 Jul 2011, 02:23 »
Yes!!!! :)
I'll find you in the Crucible and send you into Oblivion!!!

Dualnames

  • AGS Baker
  • Point & Click Association (PCA)
  • Badass
  • Dualnames worked on a game that was nominated for an AGS Award!
Re: AGS engine PSP port
« Reply #6 on: 16 Jul 2011, 02:40 »
I was actually just looking into it, and the Android NDK might actually make an AndroidGS engine port more feasible. I'm not nearly versed enough in C++ to attempt it myself, and a fair amount of the engine would probably still have to be ported directly to Java. Probably not impossible though.

if I were you, I'd get working to it, before I GET MY HANDS ON YOU. Now, work!!
No more military army stuff. I'm alive and back.

Joseph DiPerla

  • Joseph DiPerla, Adventure Game Creator Wannabe!
    • I can help with AGS tutoring
    •  
    • I can help with backgrounds
    •  
    • I can help with characters
    •  
    • I can help with play testing
    •  
    • I can help with scripting
    •  
    • I can help with story design
    •  
    • I can help with translating
    •  
    • I can help with voice acting
    •  
    • I can help with web design
    •  
Re: AGS engine PSP port
« Reply #7 on: 16 Jul 2011, 03:25 »
Those are great news. Now let's make than android port :P (I doubt that's doable :P)

Its doable. Allegro is being ported to Android (In the developers spare time of course) and Android does have an SDK for C++ programmers. I think this should be next on the portability front as, I er hem, own an Android. But also, Android seems to be available for more phone companies than the iphone/pad is.
Joseph DiPerla--- http://www.adventurestockpile.com
Member in this community since before 1999.
-The oldest member without ever making a full game...

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine PSP port
« Reply #8 on: 16 Jul 2011, 06:37 »
Would it be possible to build a version of this that compiles everything as an eboot? What I mean is, can a version that loads a single game automatically, bypassing the need to load a game from a seperate GUI, be implemented?
If you put the data files in the same directory as the eboot and rename the games executable to "ac2game.dat", the launcher will directly start that game.
Also it is possible to compile the engine as an eboot, so that you don't even have to include the launcher at all, only eboot.pbp (and exception.prx unless you are sure that your game never ever crashes the PSP ;).)

Some PSP emulators use a cache file system to avoid the PSP1000's memory limitations. Could something similar be used here?
I don't know about that. The PSP lacks an MMU and therefore "virtual memory" cannot be implemented in an efficient way. The difference between a 1000 and the other models is having about 17 MB and 48 MB heap respectively.
Unless really digging into the source code and changing the way it uses memory I don't think anything can be done for the 1000. Even the other models run out of memory with large rooms, e.g. Eternally Us crashes in the first room because it is gigantic and Of The Essence runs out of memory for the pathfinder.

Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Calin Leafshade

  • AGS Project Tracker Admins
  • Long live King Cat!
    • I can help with AGS tutoring
    •  
    • I can help with voice acting
    •  
  • Calin Leafshade worked on a game that was nominated for an AGS Award!Calin Leafshade worked on a game that won an AGS Award!
Re: AGS engine PSP port
« Reply #9 on: 16 Jul 2011, 14:42 »
Yea, eternally us is graphically huge and loads a lot of full screen pngs into memory. This was before i discovered doing alpha blended particles dynamically.

LimpingFish

  • Mittens Serf
  • Boink!
  • LimpingFish worked on a game that was nominated for an AGS Award!
Re: AGS engine PSP port
« Reply #10 on: 16 Jul 2011, 18:54 »
Even the other models run out of memory with large rooms, e.g. Eternally Us crashes in the first room because it is gigantic and Of The Essence runs out of memory for the pathfinder.

Ah, I see. I was specifically referring to something like MVPSP (a NEO-GEO emulator), which must generate separate cached data files on the 1000, to enable larger ROMs to run, while the same ROMs run on the 2000 and up without the need to do this; the extra memory of these models allowing the full ROM to be loaded directly. I thought something similar might be applicable to this project. Of course, this was based on my knowing exactly nothing on how these things actually work. :)

Good to know about the eboot possibilities, though.

Thanks again for the great work. :)

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine PSP port
« Reply #11 on: 17 Jul 2011, 22:14 »
Made a small update after a bug report from here. The King's Quest I and Quest for Glory II remakes now run without crashing. There were still parts with misaligned pointers in the scripting engine and I had forgotten to update apeg when I switched from libvorbis to libtremor. The update is available through the same URL as before.

Btw. LimpingFish, I tried Dead Hand on my Go and it runs there. Unfortunately the 3d is too much for the PSP so that it only displays at 1 fps.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

icey games

  • It's the time of ICEY!!!
Re: AGS engine PSP port
« Reply #12 on: 18 Jul 2011, 05:55 »
Sorry but how do I set it up? I got the app on my psp(5.50 gen d full) however I dont know were I should place games and if I have it set up right on my memory card. I can see the app on psp btw.
« Last Edit: 18 Jul 2011, 06:01 by Studio3 »
I'll find you in the Crucible and send you into Oblivion!!!

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine PSP port
« Reply #13 on: 18 Jul 2011, 07:07 »
You just copy the whole folder that contains your AGS game into the folder with the EBOOT.PBP file.

For example you got the port in "x:\PSP\GAME\ags\", then you copy the data files of a game into "x:\PSP\GAME\ags\my ags game\". That folder then contains the game exe, audio.vox, speex.vox, etc. Every game you want to add gets its own folder.


Unfortunately I spoke too soon for QFG II, that game seems to randomly crash from lack of memory later on (the fix was for making it start at all).
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

icey games

  • It's the time of ICEY!!!
Re: AGS engine PSP port
« Reply #14 on: 18 Jul 2011, 07:21 »
Thanx a bunch. I was def not thinking about putting anything in that folder.
I'll find you in the Crucible and send you into Oblivion!!!

icey games

  • It's the time of ICEY!!!
Re: AGS engine PSP port
« Reply #15 on: 19 Jul 2011, 06:48 »
Every game I use it says I need to create a save game folder and t can't find the Eboot.pbp
I'll find you in the Crucible and send you into Oblivion!!!

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine PSP port
« Reply #16 on: 19 Jul 2011, 07:41 »
Alright, let's make sure that we got a compatible game and that the folders are set up correctly.

For example your game from here: http://www.bigbluecup.com/yabb/index.php?topic=43962.0

The AGS engine must be extracted to the GAMEs folder. I think you've done that right, but still:

The folder "x:\PSP\GAME\AGS_Runtime_for_PSP_3.21\" then contains these files:
Code: Adventure Game Studio
  1. P:\PSP\GAME\AGS_Runtime_for_PSP_3.21>dir
  2.  Datenträger in Laufwerk P: ist A
  3.  
  4.  Verzeichnis von P:\PSP\GAME\AGS_Runtime_for_PSP_3.21
  5.  
  6. 12.05.2011  13:58    <DIR>          .
  7. 12.05.2011  13:58    <DIR>          ..
  8. 19.07.2011  08:19    <DIR>          Project 304 style
  9. 17.07.2011  23:04         3.226.402 ags321.prx
  10. 17.07.2011  23:04           232.765 EBOOT.PBP
  11. 17.07.2011  23:04             2.466 exception.prx
  12. 17.07.2011  23:04             2.958 kernel.prx
  13. 17.07.2011  23:04             9.547 License.txt
  14. 17.07.2011  23:04               709 psp.cfg
  15. 17.07.2011  23:04             7.782 readme.txt
  16.                7 Datei(en),      3.482.629 Bytes
  17.                3 Verzeichnis(se),    366.051.328 Bytes frei
  18.  

And the folder "x:\PSP\GAME\AGS_Runtime_for_PSP_3.21\Project 304 style\" is where you extract the game files from your download:

Code: Adventure Game Studio
  1. P:\PSP\GAME\AGS_Runtime_for_PSP_3.21\Project 304 style>dir
  2.  Datenträger in Laufwerk P: ist A
  3.  
  4.  Verzeichnis von P:\PSP\GAME\AGS_Runtime_for_PSP_3.21\Project 304 style
  5.  
  6. 19.07.2011  08:19    <DIR>          .
  7. 19.07.2011  08:19    <DIR>          ..
  8. 07.07.2011  13:47        23.166.419 PMQ.NO1.exe
  9. 07.07.2011  13:47            57.368 winsetup.exe
  10. 09.07.2011  02:26               314 acsetup.cfg
  11. 07.07.2011  13:47         3.072.825 audio.vox
  12. 09.07.2011  02:02            74.112 pass3.png
  13.                5 Datei(en),     26.371.038 Bytes
  14.                2 Verzeichnis(se),    366.051.328 Bytes frei
  15.  

When I run the port with this setup, everything works as expected for me. The error you are receiving sounds like the files are still in the wrong place, so can you please check that?
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

icey games

  • It's the time of ICEY!!!
Re: AGS engine PSP port
« Reply #17 on: 19 Jul 2011, 08:24 »
I dont see some of those files. And the Eboot is inside bin however the way you have it shown is that it is in the AGS folder. If I use the AGS folder then the icon is damaged however when I use the bin folder out side of the AGS folder with the ebout/psp.cfg inside it it shows but I get that error even though the game is in that folder with eboot.

What's a bear to do? :(
« Last Edit: 19 Jul 2011, 08:39 by Studio3 »
I'll find you in the Crucible and send you into Oblivion!!!

JJS

  • AGS Project Tracker Admins
    • Best Innovation Award Winner 2012, for his efforts in porting AGS to multiple platforms
    •  
Re: AGS engine PSP port
« Reply #18 on: 19 Jul 2011, 08:31 »
"bin" folder? Are you using the old version that I initially posted in the engine thread?

Please download the current one from the URL given in the opening post.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

icey games

  • It's the time of ICEY!!!
Re: AGS engine PSP port
« Reply #19 on: 19 Jul 2011, 08:44 »
So there was an update after all, I thought it was. Thank again for helping me through this.
I'll find you in the Crucible and send you into Oblivion!!!