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

Tales of Phantasia X #3635

Closed
StorMyu opened this issue Sep 4, 2013 · 15 comments
Closed

Tales of Phantasia X #3635

StorMyu opened this issue Sep 4, 2013 · 15 comments

Comments

@StorMyu
Copy link
Contributor

StorMyu commented Sep 4, 2013

Tales of Phantasia X problems (not Tales of Phantasia NDX, the remake of the original Tales of Phantasia inside NDX)

When you run a debug build, it causes an exception when you change the Framebuffer mode. It triggers at the end of LogManager::Log, but the local variables are all messed up and Visual Studio's call stack has GPUCommon::InterpretList as the next entry, on FastRunLoop(list);

Also, no matter which mode you start in, the game doesn't display anything. It always needed Buffered Rendering, but right now you first need to turn it OFF and then ON again. Which only works in release builds.

Also, recent changes have caused major graphical issues. The title screen looks like this: http://puu.sh/4j2GD/eef2975f94.jpg
And ingame it alternates between a normal display (http://puu.sh/4j2If/d5508ccb32.jpg) and a broken mess (http://puu.sh/4j2Kf/e238a0c542.png) every frame. This first started with this change (else case): b66bd08#L0R399

@dbz400
Copy link
Contributor

dbz400 commented Sep 5, 2013

how's it looks like in latest build then ?

@unknownbrackets
Copy link
Collaborator

Fixed the crash in f5375b7.

The other is a misdetected framebuffer size. Still pretty bad.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

The framebuffer size is actually correct, but it's drawing wrong.

The easy way to tell it's correct is that it starts at 00088000 and its z buffer is 00110000. It must be 272 tall. But it's drawing as if it were taller, so it's clipped. At least, that's what it seems like.

-[Unknown]

@unknownbrackets
Copy link
Collaborator

It feels like it's not translating coordinates to the screen properly, but I'm not sure where that's supposed to happen.

The size is correct in softgpu, although many other things are wrong.

-[Unknown]

@dbz400
Copy link
Contributor

dbz400 commented Sep 6, 2013

Not too sure if it is related to this issue #2159 which position or cordinates not drawing propertly.

@asbel123
Copy link

dont worry there is ios version coming this year fall 2013 maybe english

@unknownbrackets
Copy link
Collaborator

So, the softgpu shows it right, but it's actually drawing pixels to places outside the 512x272 area I expected it to. So maybe it's actually correct for the height to be more... strange, though.

-[Unknown]

@dbz400
Copy link
Contributor

dbz400 commented Sep 15, 2013

I think this one is NDX ?

screen00068

@unknownbrackets
Copy link
Collaborator

Yes, but select "TALES OF PHANTASIA" on the right side. It's only within that, not within the Dungeon section (which is what it boots into by default.)

-[Unknown]

@dbz400
Copy link
Contributor

dbz400 commented Sep 15, 2013

I think it is this one ?

screen00073

@dbz400
Copy link
Contributor

dbz400 commented Sep 15, 2013

However , in-game is pretty crappy.

screen00072

@unknownbrackets
Copy link
Collaborator

Yep. After it loads the menu it's kinda okay, but the animation to the menu and in game have problems.

That said, I'm still not sure if it should be 512 high or not. Seems weird.

-[Unknown]

@dbz400
Copy link
Contributor

dbz400 commented Sep 15, 2013

Oops , I'm not really go in-deep for this game yet :) hope at least now getting it little bit better than before as on JPCSP you cannot play it at this moment.

@unknownbrackets
Copy link
Collaborator

In contrast to #4325, this needs a 512 tall framebuffer. Tales of Phantasia X actually does two buffers on one framebuffer. I think Breath of Fire 3 does the same thing.

In other words, most games create two buffers: 1 at let's say 0x04000000, and another at that address + 512 * 272 pixels (e.g. 0x04044000.) Some games even use non-272 tall buffers, e.g. 240 as this game seems to use.

However, Tales of Phantasia X is NOT doing this. Instead, it uses a single start address, and just alternates rendering to y coords 0 - 239, and 240 - 480. So it's "manually" doing its double buffering, probably because it's a port.

Anyway, when the height is estimated at 272 for this game, you only get the first 32 pixels every other frame, since it's cut off. (see last screenshot, it's clamping the 32nd pixel all the way down.)

-[Unknown]

@unknownbrackets
Copy link
Collaborator

This has been working okay for a little while now (although Wild Arms XF is still broken currently.)

-[Unknown]

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

No branches or pull requests

4 participants