AGS engine PSP port

Started by JJS, Fri 15/07/2011 16:27:57

Previous topic - Next topic

lestat666

I am sure there will be a vita CFW eventually.  Might take a little longer than it did with the psp because they probably have the anti hacking built into the system already and took precautions the second time around.

AGS still runs fairly well on a 2000 and 3000 psp though.  There is just some slight delay with the audio, but it isn't horrible unless it is something that has quite a bit of audio at once.  The gunfights in Gemini Rue were a bit tedious due to this, but still playable.

It would run perfectly on a vita, but I think we are getting a bit ahead of ourselves with that one this early in the game.

Crimson Wizard

This may be not the right place to ask, since the thread is called "PSP port", plus I am going to speak of the source code, yet...

JJS, can you please elaborate, is the source from "ags-for-psp" supposed to be buildable under windows as well? I can see VC solutions there and "Windows" folder for platform-specific libs, but want to be sure.

If the answer is yes, here goes another question. I tried to build the acwin project (the engine), and got errors in Gl/glext.h at this point:
Code: "Gl/glext.h"

#elif defined(_WIN32)
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
#else


It looks like one of the allegro headers defines these types (int32_t, int64_t) prior to glext.h; here what I see in astdint.h:
Code: "astdint.h"

#elif defined ALLEGRO_I386 && defined ALLEGRO_LITTLE_ENDIAN
   #ifndef ALLEGRO_GUESS_INTTYPES_OK
      #warning Guessing the definitions of fixed-width integer types.
   #endif
   #define int8_t       signed char
   #define uint8_t      unsigned char
   #define int16_t      signed short
   #define uint16_t     unsigned short
   #define int32_t      signed int
   #define uint32_t     unsigned int
   #define intptr_t     int32_t
   #define uintptr_t    uint32_t
#else

Does that normally compiles for you? Do I miss anything?

BigMc

It should work, JJS provides daily builds for Windows. Maybe it's time for a thread "AGS engine Windows port"?

JJS

It does build for me, but I guess nobody else has ever tried it on his system. I looked at the header and I had commented out the offending lines in <gl/glext.h>, oops. Up until now I only used the Windows OpenGL driver to ease the development of the iOS/Android OpenGL implementation, so it is all around hacky.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

EchosofNezhyt

Wow awesome jjs thanks for the android port! :D

Alan v.Drake

Quote from: JJS on Thu 07/06/2012 10:30:48
It does build for me, but I guess nobody else has ever tried it on his system. I looked at the header and I had commented out the offending lines in <gl/glext.h>, oops. Up until now I only used the Windows OpenGL driver to ease the development of the iOS/Android OpenGL implementation, so it is all around hacky.

Ah, I thought it was my glext.h fault, I too had commented out those lines to make it compile. Yes, someone did try :P

- Alan

ShadowNev

#126
Quote from: Sane Co. on Thu 02/02/2012 02:42:55
For some reason the port doesn't recognize the blackwell legacy I put it in the folder and it doesn't notice it. It says I have no games.
I have same issue.
I tried with "AGS_for_PSP_2012-06-20_19-17-10.zip" and "AGS_Runtime_for_PSP_3.21_R8.zip"
when i place Blackwell Legacy in folder with AGS it's work well, when i place it under "ms0:\PSP\GAME\AGS\The Blackwell Legacy" i get "no games"

UPDATE: When I left in sub-folder only "game.exe" and "winsetup.exe" games appears in AGS list of games, when I place rest of files back, again "no games"

JJS

I don't have the game, so I cannot check myself. Are there any other "exe" files beside game.exe and winsetup.exe in the folder? I guess there is unins000.exe (which should not be a problem), but are there others?
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

ShadowNev

Thank you
After some research i found how to fix. There was wrong file structure, after renaming "ac2game.dat" to "ac2game.ags"
The Blackwell Legacy and The Blackwell Unbound run normal, but now I have other issue with "Gemini Rue" and "Resonance" they both crashed to BSOD

ShadowNev

#129
New bug?
I tried Gimini Rue with "AGS_Runtime_for_PSP_3.21_R8.zip" and it starts well.
But with "AGS_for_PSP_2012-06-20_19-17-10.zip" crashed to BSOD

UPDATE:
When I try run "Resonance" I get this exception.log:
Code: AGS
Exception details:

Exception - Bus error (data)
EPC       - 0884E574 / gro Application.text + 0004A574
Cause     - 1000001C
Status    - 60008613
BadVAddr  - 01FDFD3E
zr:00000000 at:08C50000 v0:00000001 v1:00000001
a0:00000000 a1:0BAFBE88 a2:00000001 a3:0000006C
t0:08A590A4 t1:00000078 t2:08A590AC t3:08C30000
t4:00000000 t5:00000000 t6:08C30000 t7:DEADBEEF
s0:000000F0 s1:08A70000 s2:08B00000 s3:08A70000
s4:08B00000 s5:08A70000 s6:08AB29B0 s7:08A70000
t8:DEADBEEF t9:DEADBEEF k0:0BBBFF00 k1:00000000
gp:08A62DC0 sp:0BBBF0D8 fp:00000055 ra:0884E554


and when I try run The Blackwell Deception i get:
Code: AGS
There was a problem initializing graphics mode 640 x 480 (32-bit).
(Problem: 'The requested adapter mode is not supported')
Try to correct the problem, or seek help from the AGS homepage.

Possible causes:
* your graphics card drivers do not support this resolution. Run the game setup program and select the other resolution.
* the graphics driver you have selected does not work. Try switching between Direct3D and DirectDraw.
* the graphics filter you have selected does not work. Try another filter."

I try switching between Direct3D and DirectDraw but with no luck :(

JJS

I cannot test on the PSP anymore because I now only have a PSP 1000. It lacks memory to load big games like Gemini Rue. But I will try to figure out what could cause the error.

Resonance is probably too large for the PSP memory. It might not run on the PSP at all.

Blackwell Deception is made for 640x480 resolution, but the PSP can only load low-res games (320x200 and 320x240). Scaling down the screen would in theory be possible (like it is done on Android and iOS) but again the memory on the PSP is very limited and is just not enough for high-res games.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

ShadowNev

It's very sad, those type games perfect look on PSP (same as ScummmVM games looking better on PSP than on anything else).
But thank anyway for answer.

lestat666

#132
Hey JJS.... what happened to your psp 2000??? man that sucks.

I have a few bugs to report... hopefully they can be fixed without a psp 2000.

Here is the error I get with the latest daily for Gemini Rue
Exception details:

Exception - Bus error (instr)
EPC       - 00000000 / gro Application.text + F77FC000
Cause     - 10000018
Status    - 40008613
BadVAddr  - 01140C04
zr:00000000 at:08C40000 v0:00000000 v1:08A70000
a0:08A75CE0 a1:08A1CF78 a2:08B00000 a3:00000006
t0:08A594B4 t1:00000020 t2:08A594BC t3:0BABEA86
t4:0BABEA68 t5:0BABEA80 t6:00000001 t7:00000002
s0:00000001 s1:08A75D24 s2:08A70000 s3:0000006C
s4:08A75C84 s5:08B00000 s6:08B00000 s7:08B027F4
t8:00000009 t9:089568B0 k0:0BABFF00 k1:00000000
gp:08A631D0 sp:0BABEB58 fp:08B00000 ra:08840FCC

Hopefully this is enough info to fix this one.

I have a few bugs to report too with Maniac Mansion Deluxe and AGS in general.
First, on the onscreen keyboard, the number 6 appears twice.

Now with MMD.
On the screen where I select my team, if I hit the left or right buttons which I have mapped to F2 and F3 respectively, the game crashes and gives me this error.  At least I think this is it.... it goes two fast and I just grabbed what was in the exception log.

Exception details:

Exception - Unknown 16
EPC       - 088F65F0 / gro Application.text + 000F25F0
Cause     - 1000003C
Status    - 20008613
BadVAddr  - 01140C04
zr:00000000 at:DEADBEEF v0:000F4240 v1:529ED631
a0:001ED631 a1:4F6B189A a2:000000A5 a3:00000000
t0:0BAFEE40 t1:13DAC616 t2:E400007F t3:001AC616
t4:00000026 t5:001AC616 t6:00000000 t7:00000000
s0:8F8644A8 s1:00E18190 s2:08C40000 s3:0BAFEE78
s4:08C40000 s5:80000000 s6:DEADBEEF s7:DEADBEEF
t8:DEADBEEF t9:DEADBEEF k0:0BAFEF00 k1:00000000
gp:08A62DC0 sp:0BAFEE70 fp:0BAFEEC0 ra:088F65C8

As long as I don't hit those buttons, it is fine... but I thought this may be an easy fix.

Lastly, there is a scripting problem at the end of the game.  If I use Dave, the main character, to beat the game, when the ending shows, it freezes at a certain point and the mansion blows up.  Basically what happens is when you enter the lab, a timer starts ticking and you have to do certain actions before it runs out or the mansion blows up.  Even when I complete the said actions, it just freezes at a certain point until this timer, which is supposed to stop, runs out and shows what would have happened had I not completed what I was supposed to in time.  I hope this makes sense.  Now this does not happen if I beat the game with one of the other 2 kids.  I think it is because Dave appears in the ending, and if he is used to beat the game, it activates this glitch...  If you use another kid, he is available to show up in the ending.

I am in the process of trying resonance on a previous daily since this could be a similar error to what is happening with Gemini.  I will let you know... I am guessing it just will not work period as the requirements are steep, but it is worth a shot.

Couple last things... We were talking about the VITA previously.  Since regular psp games seem to work on the VITA, does this mean that AGS could possibly work in its current state once a CFW is made for the VITA? with minimal programing changes.  Just a general question I was curious about. 

And lastly, another general curiosity question.  Why is it that AGS is so limited on the psp.  Why can SCUMM run games that require a significant amount of power compared to other games on AGS, without hiccuping ex.  Monkey Island 3 runs flawlessly on SCUMM but the Quest for Glory 2 remake can't run among others.  Is it due to the code being messy or is it something else.  I was just wondering with this one. 

Anyway, sorry for the long post... hopefully some of this could be fixed... thanks a bunch JJS for your hard work.  If you need someone to test for you, since you lack a good enough psp... I am willing to lend my time.
Thanks.

JJS

QuoteHere is the error I get with the latest daily for Gemini Rue
I cannot see what causes this from the error message. When does this crash happen in the game?

QuoteFirst, on the onscreen keyboard, the number 6 appears twice.
Doh! I will fix that.

QuoteOn the screen where I select my team, if I hit the left or right buttons which I have mapped to F2 and F3 respectively, the game crashes and gives me this error.
This is a scripting error in the game. It is also present in the original Windows version.

QuoteLastly, there is a scripting problem at the end of the game.
Probably a backward compatibility problem in the engine. Do you have a savegame that demonstrates the error? I would rather not have to play through the whole game myself :)

QuoteSince regular psp games seem to work on the VITA, does this mean that AGS could possibly work in its current state once a CFW is made for the VITA?
If either a Vita CFW or a CFW for the PSP emulator of the Vita is released, AGS should run the same as on the PSP.

QuoteMonkey Island 3
The AGS engine is not really optimized for low memory devices. Also game authors might do things with scripts that are faster but use more memory because memory is not a concern for the PC anymore. ScummVM engines are written from scratch with the constraints of the lower powered devices in mind, so they are better optimized in that regard.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

lestat666

Still have not gotten around to trying Resonance yet on a previous build... not too optimistic but will get back to you on this one.

With Gemini Rue, it happens right at boot up.  It never gets into the game.  You just get the blue screen of death and it quits to the menu.  I think it does this on the last 2 builds.  Same thing happens with Resonance, which is why I wanted to try it on a build that Gemini Rue worked on.

Anyway, with MMD, I do have a save game.  It is right at the end just outside the door to the lab.  If you need a short walk through of what to do, let me know. Where can I send the save.  I might need a few days to get it to you.  Thanks.

Sane Co.

Ben Jordan 8 starts well, but when you want to go to the library the first time it gives you the blue screen on R8

JJS

QuoteAnyway, with MMD, I do have a save game.  It is right at the end just outside the door to the lab.  If you need a short walk through of what to do, let me know. Where can I send the save.  I might need a few days to get it to you.  Thanks.
You can send it to jjs@jjs.at, thanks! A walkthrough from that point or a hint on where exactly I am in the game so that I can look it up would be very much appreciated.

QuoteBen Jordan 8 starts well, but when you want to go to the library the first time it gives you the blue screen on R8
Can you post the exception log?
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Sane Co.

here's the log
Exception - Unknown 16
EPC       - 088A543C / gro Application.text + 000A143C
Cause     - 1000003C
Status    - 60008613
BadVAddr  - C6500900
zr:00000000 at:DEADBEEF v0:0A08C20C v1:0A08C208
a0:08A1B61C a1:FFFFFFFF a2:09D5DBD0 a3:00000000
t0:0BABD9F0 t1:1EFF3E81 t2:000001A2 t3:00000000
t4:11DF46A2 t5:00000000 t6:00000000 t7:00000000
s0:08B10000 s1:00000000 s2:0A08C1D0 s3:00000004
s4:00000000 s5:00000037 s6:0A4A7FB0 s7:0A08C1D0
t8:DEADBEEF t9:0885BA94 k0:0BABFF00 k1:00000000
gp:08A62DC0 sp:0BABDA20 fp:0BABDCDC ra:088A59A8


lestat666

#138
K, so I did a bit of work here. 

QuoteRESONANCE
Tried Resonance on a bunch of daily versions, even one that runs Gemini Rue.... all give the blue screen of death.  This is not surprising with Minimum Requirements such as this. [1.8 GHz Processor, 512MB RAM (1 GB recommended), 3D graphics card compatible with DirectX 9.0c, 1GB HDD, Mouse, Keyboard.]

So this won't run on a psp.... Although it will run nice on a VITA once that is hacked.

QuoteGEMINI RUE
Anyway with Gemini Rue, the last daily version to run it is April 24th, 2012.

Here are the error messages for the subsequent versions of the dailies I tried.
Daily 05-15
An internal error has occured.
Post on AGS forum
Error Plugin'ags_snowrain.prx' is an old incompatible version.

Daily 05-18 & 05-23 have the same error as 05-15

Now Daily 05-28, 06-05 & 06-11 give the blue screen of death with the exact same exception error details.
Here it is

Exception details:

Exception - Bus error (instr)
EPC       - 00000000 / gro Application.text + F77FC000
Cause     - 10000018
Status    - 40008613
BadVAddr  - 01140C04
zr:00000000 at:08C40000 v0:00000000 v1:08A70000
a0:08A75990 a1:08A1CC28 a2:08B00000 a3:00000006
t0:08A59164 t1:00000020 t2:08A5916C t3:0BABEA7E
t4:0BABEA60 t5:0BABEA78 t6:00000001 t7:00000002
s0:00000001 s1:08A759D0 s2:08A70000 s3:00000068
s4:08A75934 s5:08B02454 s6:08AF0000 s7:08B00000
t8:00000009 t9:08956564 k0:0BABFF00 k1:00000000
gp:08A62E80 sp:0BABEB50 fp:08B00000 ra:08840CCC

06-20, 07-08, & 08-03 give the exact same blue screen of death with some of the address blocks being different
mostly in the last row and a few others.
Here are the exception errors.

06-20
Exception details:
Exception - Bus error (instr)
EPC       - 00000000 / gro Application.text + F77FC000
Cause     - 10000018
Status    - 40008613
BadVAddr  - 01140C04
zr:00000000 at:08C40000 v0:00000000 v1:08A70000
a0:08A75A20 a1:08A1CCB8 a2:08B00000 a3:00000006
t0:08A591F4 t1:00000020 t2:08A591FC t3:0BABEA86
t4:0BABEA68 t5:0BABEA80 t6:00000001 t7:00000002
s0:00000001 s1:08A75A60 s2:08A70000 s3:00000068
s4:08A759C4 s5:08B024E4 s6:08AF0000 s7:08B00000
t8:00000009 t9:089565FC k0:0BABFF00 k1:00000000
gp:08A62F10 sp:0BABEB58 fp:08B00000 ra:08840D34

Daily 07-08
Exception details:

Exception - Bus error (instr)
EPC       - 00000000 / gro Application.text + F77FC000
Cause     - 10000018
Status    - 40008613
BadVAddr  - 01140C04
zr:00000000 at:08C40000 v0:00000000 v1:08A70000
a0:08A75CE0 a1:08A1CF78 a2:08B00000 a3:00000006
t0:08A594B4 t1:00000020 t2:08A594BC t3:0BABEA86
t4:0BABEA68 t5:0BABEA80 t6:00000001 t7:00000002
s0:00000001 s1:08A75D24 s2:08A70000 s3:0000006C
s4:08A75C84 s5:08B00000 s6:08B00000 s7:08B027F4
t8:00000009 t9:089568B0 k0:0BABFF00 k1:00000000
gp:08A631D0 sp:0BABEB58 fp:08B00000 ra:08840FCC

Daily 08-03
Exception details:

Exception - Bus error (instr)
EPC       - 00000000 / gro Application.text + F77FC000
Cause     - 10000018
Status    - 40008613
BadVAddr  - 01140C04
zr:00000000 at:08C40000 v0:00000000 v1:08A70000
a0:08A75C60 a1:08A1CF38 a2:08B00000 a3:00000006
t0:08A5942C t1:00000020 t2:08A59434 t3:0BABEA86
t4:0BABEA68 t5:0BABEA80 t6:00000001 t7:00000002
s0:00000001 s1:08A75CA4 s2:08A70000 s3:0000006C
s4:08A75C04 s5:08B00000 s6:08B00000 s7:08B02774
t8:00000009 t9:08956868 k0:0BABFF00 k1:00000000
gp:08A63150 sp:0BABEB58 fp:08B00000 ra:08840FCC

Hopefully this can help you pin point the error.

QuoteYou can send it to jjs@jjs.at, thanks! A walkthrough from that point or a hint on where exactly I am in the game so that I can look it up would be very much appreciated.


As for the save game in Maniac Mansion, I will get right on that.  Thanks.

JJS

The bug preventing Gemini Rue from loading should be fixed in the newest daily build. Please try Resonance again because the bug would affect it too.

Also thanks for the save file and the description for MMD. I can reproduce your error, but I don't have a lead on what causes it yet.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

SMF spam blocked by CleanTalk