Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Saving the current frame's status to initAddr #5245

Merged
merged 1 commit into from
Jan 29, 2014
Merged

Saving the current frame's status to initAddr #5245

merged 1 commit into from
Jan 29, 2014

Conversation

dbz400
Copy link
Contributor

@dbz400 dbz400 commented Jan 27, 2014

@@ -1364,6 +1364,9 @@ u32 sceMpegAtracDecode(u32 mpeg, u32 auAddr, u32 bufferAddr, int init)

avcAu.write(auAddr);

// return 0 in first call, and then return 1, as PSPSDK mentioned
Memory::Write_U32(ctx->avc.avcDecodeResult ? 1 : 0, initAddr);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a memory check of initAddr,it cause invalid address in Pacman World 3
edit,I am doing JPCSP trace log

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'm thinking that parameter is indeed an address ? as i found it only return either 0 or 1 in many games .....instead of returning something of address format .

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain more clear the code ?
If ctx->avc.avcDecodeResult = 0 or 1 in both case do what ?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think it is an address. Are you saying that Killzone passes an address here?

-[Unknown]

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also think it is not address .Killzone also return 0 here .

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably we should set it like this in sceMpegAvcDecode()

Memory::Write_U32(ctx->avc.avcFrameStatus, initAddr);

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 28, 2014

Just tested with Ore no Dungeon .It is not hanging now and get passed to title screen with this commit.

@thedax
Copy link
Collaborator

thedax commented Jan 29, 2014

Indeed, it does fix #5226, and its duplicate #5267. Wonder if it'll break anything else, though..

@unknownbrackets
Copy link
Collaborator

In its current state, this makes sense to me, it's what it used to be (8053c24), but it changed at some point (64a042d). However, I think @oioitff's motivation was the PSPSDK, which I don't think is correct here.

-[Unknown]

hrydgard added a commit that referenced this pull request Jan 29, 2014
Saving the current frame's status to initAddr
@hrydgard hrydgard merged commit 60e44c4 into hrydgard:master Jan 29, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Peace Walker intro video not automatically returning to title screen since v0.9.6-455
5 participants