Scummvm 0.13 coming to psp?

Subforum for discussion and help with ScummVM's PSP (PlayStation Portable) port

Moderator: ScummVM Team

Post Reply
Ephaelon
Posts: 25
Joined: Tue Jan 13, 2009 8:04 pm

Post by Ephaelon »

Did some more testing. This is all in comparison to the aforementioned nightly build:

SCUMM engine games now have very jumpy pointer movement. I tested Indy Atlantis, Sam and Max and DOTT, all talkie, all with compressed OGG audio. Compared to the nightly build, when moving the "mouse" around, it tends to lag. It's like it has a hard time keeping up so it jumps ahead to where it should be. Audio, animations and cutscenes are all fine.

The Kyrandias seem broken:
Kyrandia 1 - loads then hangs once you're ingame forcing a reboot.
Kyrandia 2 - doesn't load past the menu.
Kyrandia 3 - takes ages to load after the menu then hangs when ingame.
Bear in mind I'm not using your audio replacement packs so that could be the problem if you changed stuff that makes it necessary. Also noticed the kyra.dat file differs in size to the original nightly build.

Recomparing the Discworlds - no changes to my previous observations.

Jinx1337
Posts: 144
Joined: Fri Jun 29, 2007 9:43 am

Post by Jinx1337 »

Props Ephaelon, you've just done what I promised to do.

Sorry, I wasn't able to test the release as I had some personal issues to deal with during these couple of days.

Bluddy
ScummVM Developer
Posts: 144
Joined: Sun Nov 18, 2007 8:43 am

Post by Bluddy »

Great job Ephaelon and Pix!

Responding to the issues:
I've also noticed the Scumm slowdowns (and even opened a bug about them), though I think they might have been fixed in the trunk very recently.

Kyrandia engine has had serious issues recently, I think because of work on Lands of Lore. I haven't managed to get it running myself.

I've also noted a regression in SAGA (IHNM, ITE) where loading takes a VERY long time on the PSP. When I have time I'll try to find which SAGA patch introduced this. From the little investigation I've done, it was a long time ago -- soon after the release of 0.13.0.

DW2 not working on the Phat only is very surprising. I'll have to check that out. Off the top of my head, I think it may have to do with the bad way Scummvm plugin system works. We load ALL the plugins first, to allow us to detect games (which requires those same plugins). Then, when we load a game, we unload only the irrelevant plugins. If we think of the memory structure at that point, you have the basic scummvm file, a big gap where the (now unloaded) plugins were that loaded before Tinsel (loading is alphabetical), the Tinsel engine itself, and then another gap until the end of memory. If DW2 allocates a huge chunk of memory at once (which is also a no-no), it'll fail because of this memory fragmentation we end up with.

Pix, to test this theory, you can try renaming the Tinsel.plg file aa_tinsel.plg (so it loads before AGI does). See if it works then.

fingolfin
Retired
Posts: 1466
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

A very easy workaround for that on the code level would be to unload *all* engines and then only reload the required engine.

Pix2
Posts: 100
Joined: Sat Apr 05, 2008 12:02 pm
Contact:

Post by Pix2 »

Renaming it aatinsel didn't help so I thought I'd try deleting all the other plugins instead and then it started up ok.

Bluddy
ScummVM Developer
Posts: 144
Joined: Sun Nov 18, 2007 8:43 am

Post by Bluddy »

Wow that's very strange. I'll have to look into it. In the meantime, could you try tinsel + one other plugin, 2 etc until you can't add anymore?

Bluddy
ScummVM Developer
Posts: 144
Joined: Sun Nov 18, 2007 8:43 am

Post by Bluddy »

OK I peeked at the code and saw what the problem was. Discworld is trying to allocate a whopping 10MB of memory! If you go back to the picture of our memory situation, we have the plugins being loaded as scummvm starts, and then scummvm allocates a couple of things for the loader and what not. When we unload all the other plugins to run tinsel, we now have the main executable (2.5MB), a gap, the other random scummvm allocations, and then a gap. Where tinsel sits doesn't even matter. None of the gaps will be 10MB. There's probably a certain mix of plugins that'll work (Tinsel plus a few others), but everything together won't.

There are 2 solutions I can think of. One is to reorganize the way plugins are loaded so that only 1 plugin is ever loaded at a time. I hope to get to this eventually but right now I'm working on other stuff.

The second (and easier) option is to ask the discworld maintainer to relax the 10MB allocation, which is quite extreme. Perhaps we can split it up into 2 5MB allocations, or 5 2MB allocations. I'm not sure why we're pre-allocating the memory in the first place.

Bluddy
ScummVM Developer
Posts: 144
Joined: Sun Nov 18, 2007 8:43 am

Post by Bluddy »

OK fingolgin has done an amazing job and now Discworld 2 works!

Bluddy
ScummVM Developer
Posts: 144
Joined: Sun Nov 18, 2007 8:43 am

Post by Bluddy »

I'm putting up a version with a modified version of the Danzeff keyboard. Why did I modify it? Well, the Danzeff keyboard is good. It's definitely faster than the old keyboard we had. But I want something that, once you learn the placement of the letters, you'll be able to write about as fast as T9 or maybe even slightly faster(we can't hope to achieve real keyboard speeds because you're still choosing only 1 key at a time).

I noticed that because the Danzeff keyboard uses the diagonals, it's quite easy to miss the box you want when you're going really fast. Also, I noticed that I often had to go to the diagonals for often-used keys.

My version uses no diagonals and the most often-used keys are easy to access. To make up for the lost spaces, I use the right and left triggers as well. As a result, I have to do things somewhat differently. Press r- trigger once to get capitals, and press l-trigger to go into the number/symbols mode. Press and hold both triggers and use the d-pad to move the keyboard around the screen. Note that this is a prototype version -- it's not finished and some things don't work that perfectly.

Do you guys like this enhancement of the keyboard? Do you think it works well? Do you prefer d-pad or nub controls? Both are activated in this version. Let me know.

http://www.easy-share.com/1908263810/package ver9te.zip

Pix2
Posts: 100
Joined: Sat Apr 05, 2008 12:02 pm
Contact:

Post by Pix2 »

This is very nice Bluddy. It's a huge improvement over the old keyboard for me. I've not tried the original Danzeff one anywhere so I can't compare with that but this is easily good enough to make SCI games playable as well as giving access to all the function keys that I've been hacking in for ages.

I'd prefer to use the d-pad as it would be quicker and more exact but my PSP nub tends to go wandering which forces me to use that instead. Ideally from my point of view it would just use d-pad for that reason. I completely agree about not using diagonals, it will be much quicker using d-pad key presses once you learn where the letters are. It should be easy to get up to a respectable speed and it's not that slow even having to look around for the letters.

If you turned off the nub and removed the empty diagonal boxes so it takes up a bit less screen space I'd be happy with this as is.

Post Reply