Opened 7 weeks ago

Last modified 7 weeks ago

#15768 new defect

PS3: SCI: SQ1-VGA hard freeze during intro on PS3

Reported by: dwatteau Owned by:
Priority: normal Component: Port: PS3
Version: Keywords:
Cc: Game: Space Quest 1

Description

Original report by @Cognoscenti1973:

"Space Quest 1 VGA freezes in the introduction scene when the green ship abord the yellow one.

HARD freeze i have no option to return to ScummVM launcher and need to force shutdown the console by holding power button.

The game works flawlessly on PS3 v1.8.0 & 2.0.0, but hard freezes on all later PS3 versions."

(originally from Trac ticket #15756; but I had to split it, since the issues looked very different)

Change History (6)

comment:1 by dwatteau, 7 weeks ago

Personal test: I don't have access to my PS3 today, but I had a look at this on my Quad G5 (kinda similar big-endian CPU, although it's just a 32-bit build, there). I can't reproduce any problem on that platform, FWIW (using SDL 1.2).

@Cognoscenti1973: I was using the regular English VGA release, as sold by Steam. Is that what you were using?

Also: you said the hard freeze happened "when the green ship abord the yellow one". Can you confirm whether this happens just when the screen is about to do that "shake effect" below?

<https://youtu.be/ynvUtEw0sjM?feature=shared&t=141>

i.e. if it freezes at this exact moment, it could help identify the cause of this issue.

Thanks.

comment:2 by sluicebox, 7 weeks ago

I think it's likely that the problem is in screen shaking:

  1. Shaking is implemented in the backends
  2. This is a horizontal + vertical shake, and we didn't support horizontal shake until 2019, after version 2.0.0: https://github.com/scummvm/scummvm/pull/1943

You can test all three shake directions in TESTBED.

A quick way to test horizontal shaking in SCI is with Freddy Pharkas Frontier Pharmacist; just start the game and keep walking left until you reach the desert. Save your game, then walk off the cliff to the south. It shakes in several directions as you fall.

Last edited 7 weeks ago by sluicebox (previous) (diff)

in reply to:  1 comment:3 by Cognoscenti1973, 7 weeks ago

Replying to dwatteau:

Personal test: I don't have access to my PS3 today, but I had a look at this on my Quad G5 (kinda similar big-endian CPU, although it's just a 32-bit build, there). I can't reproduce any problem on that platform, FWIW (using SDL 1.2).

@Cognoscenti1973: I was using the regular English VGA release, as sold by Steam. Is that what you were using?

Also: you said the hard freeze happened "when the green ship abord the yellow one". Can you confirm whether this happens just when the screen is about to do that "shake effect" below?

<https://youtu.be/ynvUtEw0sjM?feature=shared&t=141>

i.e. if it freezes at this exact moment, it could help identify the cause of this issue.

Thanks.

YES !

in reply to:  2 comment:4 by Cognoscenti1973, 7 weeks ago

Replying to sluicebox:

I think it's likely that the problem is in screen shaking:

  1. Shaking is implemented in the backends
  2. This is a horizontal + vertical shake, and we didn't support horizontal shake until 2019, after version 2.0.0: https://github.com/scummvm/scummvm/pull/1943

You can test all three shake directions in TESTBED.

A quick way to test horizontal shaking in SCI is with Freddy Pharkas Frontier Pharmacist; just start the game and keep walking left until you reach the desert. Save your game, then walk off the cliff to the south. It shakes in several directions as you fall.

Ok I will try it and get back to you with the result ! :)

EDIT : I passed the 'shaking' camera section after falling off the cliff with "success" as the game didnt freeze on the 1st try BUT when i loaded the game and fall of the cliff a 2th time = PS3 console hard freeze. its weird i suceeded the 1st time and it freeze on reload ?

Last edited 7 weeks ago by Cognoscenti1973 (previous) (diff)

comment:5 by sluicebox, 7 weeks ago

Thanks for testing! Although your results were inconsistent, to me they suggest that screen shaking is indeed the likely suspect. Now we have two independent scenes that can trigger it. My hope is that this narrows things down enough so that a developer with a PS3 can easily reproduce this; I feel like that's often a hard part with the console platforms.

I confirmed that all the FPFP shakes when falling down the cliff are horizonal+vertical, like the end of the SQ1 intro.

For testers: The SQ1 intro can be skipped to the end by clicking and selecting Skip Intro. This will take you straight to the shake scene.

I'm hoping that TESTBED freezes too. The SCI shake code doesn't do much; all the work happens in the backends. The SCI shake code is in GfxScreen::setShakePos and GfxScreen::kernelShakeScreen in https://github.com/scummvm/scummvm/blob/master/engines/sci/graphics/screen.cpp

in reply to:  5 comment:6 by Cognoscenti1973, 7 weeks ago

Replying to sluicebox:

Thanks for testing! Although your results were inconsistent, to me they suggest that screen shaking is indeed the likely suspect. Now we have two independent scenes that can trigger it. My hope is that this narrows things down enough so that a developer with a PS3 can easily reproduce this; I feel like that's often a hard part with the console platforms.

I confirmed that all the FPFP shakes when falling down the cliff are horizonal+vertical, like the end of the SQ1 intro.

For testers: The SQ1 intro can be skipped to the end by clicking and selecting Skip Intro. This will take you straight to the shake scene.

I'm hoping that TESTBED freezes too. The SCI shake code doesn't do much; all the work happens in the backends. The SCI shake code is in GfxScreen::setShakePos and GfxScreen::kernelShakeScreen in https://github.com/scummvm/scummvm/blob/master/engines/sci/graphics/screen.cpp

My is a french floppy VGA version
I will do a lots of testing this weekend or monday and will get back to you with the full results.

As for now i just tested it again (freddy) and off the cliff the console freeze BEFORE JUST AT THE START of the Shaking camera event , just just before it.

I am actually making a last test for tonight , since the game didnt crashed when i had ZERO savefile in Scummvm i just erased my savefile of freddy and Space Quest 1 , rebooted the console and will repeat the testing at the cliff...

Ok = NO CRASH !
I do not turn off the console yet , i restart the game directly without returning to scummvm...

Console FREEZE!

it look like Freddy work perfectly once FRESHLY installed on scummVM but as soon you die and need to continue/restart the games = Console Freeze on shaking events (weird..)

I will make deeper testing with english version of both game this weekend and get back to you soon.

Thanks for your help , its really appreciated :)

Last edited 7 weeks ago by Cognoscenti1973 (previous) (diff)
Note: See TracTickets for help on using tickets.