Modded version of ScummVM 0.12.0 Version 3

Subforum for discussion and help with ScummVM's PlayStation 2 port

Moderator: ScummVM Team

Damonfeuer
Posts: 17
Joined: Sun May 17, 2009 8:23 pm

Modded version of ScummVM 0.12.0 Version 3

Post by Damonfeuer »

ScummVM PS2 Unofficial Version 3 based on 0.12.0 with the following features:-

Engines - Scumm, AGOS, AGI, Drascula, Kyra, Lure, Queen, SAGA, Sky, Sword1 and Sword2
Two builds with Network Adapter support disabled/enabled
Sample rate changed to 48KHz (Fixes pitch problems?)
Max Lingua's 0.13.1 Graphics features backported
Some AGOS engine fixes backported - Now runs Simon 1&2 as good as 0.13.1+
R2 button mapped to F10 - Shows interactive objects in Simon 1&2
R3 buton mapped to c - Should now allow playing of Manhunter games without a keyboard?
MPEG-2 support dropped - Dropped in later releases anyway (use Sword Cutscene packs)
MP3 and Vorbis Support (v1 only had MP3 support)
Memory Card INI file changed to "ScummVM.ini" - Matches later versions and other media
Drivestop Removed in V3 - If included it crashes V9+ Fat and all Slim PS2s if no optical media in drive

If currently using Broken Sword Cutscene MP2s, get the relevant pack and OGG addon from:-
http://www.scummvm.org/downloads/#extras

If running on USB, simply copy the folder to USB and run whatever version you desire. When you are satisfied with your "ScummVM.ini", you can copy it to the root of your USB drive; this will make it load faster and stop it saving every time you play a game. If running ScummVM from USB, you can also leave Ulaunchelf "Reset IOP - ON", even if playing games from HDD.

It's a bit picky about letting you choose the modern theme, but if you open your INI file in a text editor (even in ULaunchELF) and add the following lines to the [scummvm] section, it works fine:-
gui_theme=modern
themepath=mass:/WHERE_YOU_HAVE_SCUMMVM/modern

EDIT V3 Download:-
http://www.megaupload.com/?d=98SXVXGK

Source diffs, PS2 compilable Tremor library and other libraries list included in release.

I know it probably seems a waste of time modding an older version - i really only wanted to (finally) play Simon 1&2 on my fat PS2 without an NA, on my settee, in front of the TV and now i can :D.
Last edited by Damonfeuer on Tue Jun 09, 2009 2:06 pm, edited 1 time in total.
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

So, what are the advantages of your port over the official 0.13.1 release for PS2?
Damonfeuer
Posts: 17
Joined: Sun May 17, 2009 8:23 pm

Post by Damonfeuer »

fingolfin wrote:So, what are the advantages of your port over the official 0.13.1 release for PS2?
The official release version of 0.13.1 seems to suffer from memory corruption and a couple of other problems :-

Very regular corruption of the ScummVM.ini file.
Random corruption of game saves.
Random crashes.
Users of fat/old style PS2's without a Network Adapter can't use it.
The audio pitch is too high in the official 0.12.0 & 0.13.1.

My port hopefully solves these issues temporarily while Max irons out the bugs in 0.13.1. From testing 0.12.0 seems to be a very stable base, i just tweaked it. I hope it doesn't sound like i am being too critical.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Damonfeuer wrote:
fingolfin wrote:So, what are the advantages of your port over the official 0.13.1 release for PS2?
The official release version of 0.13.1 seems to suffer from memory corruption and a couple of other problems :-

Very regular corruption of the ScummVM.ini file.
Random corruption of game saves.
Random crashes.
Users of fat/old style PS2's without a Network Adapter can't use it.
The audio pitch is too high in the official 0.12.0 & 0.13.1.

My port hopefully solves these issues temporarily while Max irons out the bugs in 0.13.1. From testing 0.12.0 seems to be a very stable base, i just tweaked it. I hope it doesn't sound like i am being too critical.

Could you please tell us what are the modifications you made to this version? (regarding the source code) A patch would be great.
Damonfeuer
Posts: 17
Joined: Sun May 17, 2009 8:23 pm

Post by Damonfeuer »

md5 wrote: Could you please tell us what are the modifications you made to this version? (regarding the source code) A patch would be great.
No problem, initially i had made quite a few changes, then i thought why fix what wasn't broken :). So i stripped it back to the changes that made a difference.

I've uploaded a pack with my diff files for the two binaries, a PS2 compilable tremor library (i couldn't find one publically available, so i slightly modified the PSP version) and the name of the other libraries i used (available publically).

Download it here:-
http://www.megaupload.com/?d=TJ5M76JU

Only really two of my changes will probably be relevant to future versions of ScummVM (as they already include the rest), maybe also the keymap changes but that's a matter of opinion;

audio fix - hopefully someone else will confirm it solves the pitch problem, then it could be submitted to the tracker.
PS2s without Network Adapter - Obvious future solution release two binaries.
richi902
Posts: 12
Joined: Mon May 18, 2009 6:46 pm

Post by richi902 »

hi and thanks for this, i gonna try it out!


is there a way of using a other usbmouse irx?
'cause the included dosent supports my microsoft mouse, atleast with the previous release.
the one shipped with half-life dose support it.
already tried it with no luck scumm gets stuck
at the bootscreen with all those numbers flying around.
and yes i renamed it :P

.richie
Junebug
Posts: 16
Joined: Wed Feb 25, 2009 3:01 pm

Post by Junebug »

Hi Damonfeuer - good work, its great to see you trying to get these classics working again on the PS2.

But - can you confirm that these HotFixes work with the PS2 Slim? I only ask as I have tested the following for you.

Platform: PS2 Slim FMCB 1.8(b) Datel 16 Meg / Sony 8 Meg MC, ScummVM running on USB.

SCUMMVM13TEST.ELF (0.13.1 Fix) Problems. Broken Sword1 not playing music or movies. Encoding issue as you stated, but did run (but with high pitch), on official 0.12/13.1.

Fate of Atlantis (Talkie) ran, I can confirm the pitch appears correct(!)

However, once you try to reload ScummVM, reboots to FCMB. Checked ini file and the corruption has appeared again. Any settings it tries to save become corrupted.

SVM_12v2_NA_DISABLED.ELF: (0.12.x. Backport) Cannot load game. Checked with Fate of Atlantis and Monkey 1. SCUMMVM loads to the green screen, but hangs with a black screen on trying to run any game. Tried different MC cards. Tried deleting ScummVM folder on MC. No luck.

SVM_12v2_NA_ENABLED.ELF: As above, no games will run.

I have not checked these on a FAT PS2 as of yet, but can anyone confirm these findings if they have a similar setup?
Damonfeuer
Posts: 17
Joined: Sun May 17, 2009 8:23 pm

Post by Damonfeuer »

Junebug wrote:But - can you confirm that these HotFixes work with the PS2 Slim? I only ask as I have tested the following for you.

Platform: PS2 Slim FMCB 1.8(b) Datel 16 Meg / Sony 8 Meg MC, ScummVM running on USB.

SCUMMVM13TEST.ELF (0.13.1 Fix) Problems.

SVM_12v2_NA_DISABLED.ELF: (0.12.x. Backport) Cannot load game. Checked with Fate of Atlantis and Monkey 1. SCUMMVM loads to the green screen, but hangs with a black screen on trying to run any game. Tried different MC cards. Tried deleting ScummVM folder on MC. No luck.

SVM_12v2_NA_ENABLED.ELF: As above, no games will run.
Hi Junebug, thanks for the great feedback. Unfortunately i don't have access to a slim PS2, apart from that our setups are identical.

0.13.1 Test - I changed so much in that, such as rewriting the file access, save system, etc to try and find the problem. I can't even remember what is in that version :oops:. It was working ok for me until it corrupted my Simon save. I think i'll remove the link as it was really just a demo for the audio fix anyway and it used to play Simon better.

For anybody looking at the 0.13.1 source - have a look at the new gui code, if the buffer is disabled it behaves well, but not nice to use, may be another false path to find the source of the corruption though.

0.12.X v2 - If you don't mind testing, i've compiled two test binaries. Hopefully both binaries work - if they do, Can you tell me which one is better? Please test the v2 and test releases on your fat as well. If we track down the problem i can make a v3 for slim and fat PS2s.

Test Binaries:-
http://www.megaupload.com/?d=SE5L3Y4P

@Richie - Do you know if your mouse works with any other game? Unfortunately i don't have Half-Life to test your IRX file.
Junebug
Posts: 16
Joined: Wed Feb 25, 2009 3:01 pm

Post by Junebug »

Hi Damonfeuer, I have tested both on my slim (Not FAT as of yet).

SVM12V2_SLIM_T1.ELF:
Load to green screen: Yes
Add Game correctly: Yes
INI File OK: Yes
Reload OK after game added: Yes
Run Game: No - just black screen.

Tried with both Mem Cards (Datel 16 and Sony 8), no difference.

SVM12V2_SLIM_T2.ELF: As above.

I'm sorry I can't be more precise Damonfeuer, but I'll glady help out with any testing for the Slim.
Damonfeuer
Posts: 17
Joined: Sun May 17, 2009 8:23 pm

Post by Damonfeuer »

Thanks Junebug, for your tests and offer of further testing. I am actually glad that T1 and T2 didn't work, as that would have been a step backwards for slims.

I've compiled another two binaries for your tests. Included are packed and unpacked binaries (to eliminate packing as the cause).

Test 2:-
http://www.megaupload.com/?d=ZYRGCBST

I'll place a bet and say T3 works 8).
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Thing is, the current stable release is 0.13.1, so perhaps you should base your code on that one instead? Or cooperate with sunmax, our PS2 porter?
richi902
Posts: 12
Joined: Mon May 18, 2009 6:46 pm

Post by richi902 »

@damonfeuer: the irx file in granturismo 4 also supports my mouse,
you can use it to navigate through the menu if you wonder why
it has one :P.
forbidden siren dose not support it so far,
or do i need to unlock something first? but i doubt it since
the driver should be loaded on bootup.


so it has to be a specific one to work with scumm?
since the one from half-life dosent work.
and i noticed a heavy difference between them in the file-size.

edit: oh and i testet dott and sam&max booth work fine so far,
with good sound :D
Junebug
Posts: 16
Joined: Wed Feb 25, 2009 3:01 pm

Post by Junebug »

Hi damonfeuer - good news here! I have run the following tests on the ScummVM 12v2 Slim Tests 2.rar package - here are the results:

Platform: PS2 Slim FMCB 1.8(b) Datel 16 Meg / Sony 8 Meg MC, ScummVM running on USB.

SVM12V2_SLIM_T3.ELF:
Load to green screen: Yes
Add Game correctly: Yes
INI File OK: Yes
Reload OK after game added: Yes
Run Game: Yes(!!!)
Run Game with Correct Pitch: Yes
Test Save: Yes
Test Restore: Yes
Games Tested: Fate of Atlantis(CD), Broken Sword 1, Beneath a Steel Sky (CD)
Graphical Fixes OK: Yes

SVM12V2_SLIM_T3_U.ELF:
Did not test as the packed version is OK.

SVM12V2_SLIM_T4.ELF:
Load to green screen: Yes
Add Game correctly: Yes
INI File OK: Yes
Reload OK after game added: Yes
Run Game: No - just black screen.

SVM12V2_SLIM_T4_U.ELF:
As above, no game will run.

So for Slim PS2 owners, SVM12V2_SLIM_T3.ELF is the version which works correctly, is stable, contains the pitch fix, doesn't corrupt the ini file and backports the graphical updates successfully. Excellent work damonfeuer!!

I can now sit back and play Broken Sword in all its glory!

If I run into any issues I'll post here, but its looking very good at the moment. A big THANK YOU.
Damonfeuer
Posts: 17
Joined: Sun May 17, 2009 8:23 pm

Post by Damonfeuer »

@Junebug -
Thanks for your detailed testing reports, good to know that everything seems ok. The problem was isolated to calling drivestop() with no optical media in the drive. On pre-V9 Revision PS2s it didn't matter, but on V9+ (some fat and all slims) it apparently crashes. Removing drivestop would only affect mod-chip users who boot from disc, but then load games from other media, even then it would just mean the disc kept spinning. Easy solution would be the usual NA +/- and a modchip boot edition.

@Richie -
Probably good news for you as well; i'd no idea my mice didn't work with ScummVM until you asked about it, but after some research and experiments my mice work. Even my freaky optical mouse with integrated hub and sd adapter :).

Technical Explanation - Homebrew on the PS2 normally (always?) uses the open source PS2SDK. To access some PS2 hardware an IRX is normally used, this can basically be thought of as a driver. In this instance the relevant drivers are the open source USBD.IRX and PS2MOUSE.IRX. A mouse is a Human Interface Device (HID), so requires an implementation of the HID protocol. Unfortunately the open source USBD.IRX only supports a subset of this called the HID Boot Protocol (HIDBP). In order for mice and keyboards to work with it correctly they must fully support HIDBP - not all do and even then, not all do it correctly. Sony's USBD.IRX drivers have a fuller implementation of the required protocols. They are API compliant with most homebrew up until version 0.17 of their drivers.

Solution - Replace the supplied USBD.IRX with one from an official game. The required versions are likely to be on older games/demos e.g. Half-Life. After version 0.17 they are apparently not API compatible with homebrew. Unfortunately these are copyright so you'll just have to look through your games. I was successful with USBD.IRX version 0.14.0. Use a hexditor or something similar to find the version number, search for "version" and look for the number string.

@md5 & others -
As i said earlier i had one goal; to finally get round to playing Simon 1&2 (and i didn't want to do it on my PC). If the official versions had done that i wouldn't even have looked at the source code. Fixing 0.13.1 was my first priority, but it seemed no matter what i did, memory corruption reappeared - i got fed up. 0.12.0 was at least stable and with some tweaks i got what i wanted. My releases were never intended to rival the official versions. Now that i have what i wanted, my motivation to do more has dropped. I'll definitely do one more release (to tidy up) but i don't know after that. You guys have my respect for sticking to a project year after year.
Damonfeuer
Posts: 17
Joined: Sun May 17, 2009 8:23 pm

Post by Damonfeuer »

I've edited the first post with a V3 release that should work in all PS2s. I couldn't decide whether to add more features or not, eventually i decided against it, as the point was to hopefully make a good stable release. Source diffs, PS2 Tremor library and other libraries list included in release.

If v3 is ok then it'll probably be my last 0.12.X release. I can't promise but i might have a look at the 0.14.0 trunk source next.

Should also say that i finally completed Simon the Sorcerer 8).
Post Reply