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

Innocent Life; Harvest Moon can't play with "jit" checked. Worse than 0.7.5 #2027

Closed
toyaeinztein opened this issue Jun 2, 2013 · 16 comments

Comments

@toyaeinztein
Copy link

In 0. 7. 5, IL; Harvest Moon can use JIT, but in 0. 7. 6 can't, so it must use standart emulation, that it means, it very slow.
And, all version always crash when Player go to easter ruin in gameplay. It still don't fixed by developer.

@unknownbrackets
Copy link
Collaborator

You've tried unchecking fastmem right? When you say it can't be played, do you mean it doesn't run properly, or that it force closes?

-[Unknown]

@toyaeinztein
Copy link
Author

Ok, this is what happened, first, sorry for my bad english, i'm Indonesian.
In 0.7.5 I can play properly with or without JIT, no matter fastmem checked or unchecked. although it will force closed when Player enter "Easter Ruins" in game.
Always like that, in log,txt that i read, there written some .cpp (I forget what it is) can read from hardware. It happened in ANDROID & PC version.
It's my setting: JIT (can use fastmem too), VERTEX CACHE, HARDWARE.
No use buffered engine, coz the game won't be shown up then, although I still heard it's sound.

And in 0.7.6, I no longer can use JIT, it means I must uncheck it first, and then play it (and of course, it be very slow without JIT). Second problem still same with previous version, where it must crash when Player come to Easter Ruin.
My setting: Vertex and Hardware only.

@unknownbrackets
Copy link
Collaborator

Okay, and just to confirm again, turning OFF hardware rendering and fastmem but turning ON jit in 0.7.6 also does not work?

The reason I ask is if fastmem breaks it, there's a completely different cause. I could spend a year looking at the jit code and never fix it. I'd rather look at the right code instead, so I just want to confirm.

-[Unknown]

@toyaeinztein
Copy link
Author

Yes, I already done what you say Sir.
It doesn't work if I turn ON JIT (I turn OFF fasmem n hardware).
And if I just turn on vertex cache, it works, but second problem that I say above still.
Btw, thanks for looking back at code.
I really appreciate it.

@unknownbrackets
Copy link
Collaborator

It's possible this may be fixed in v0.7.6-1066-ge0f05ec, can you retest? If not, an adb logcat would help, since I don't have the game to test it myself.

Here's a decent tutorial:
http://forums.miui.us/threads/113-How-To-Install-ADB-and-Logcat

-[Unknown]

@andoruB
Copy link

andoruB commented Jul 10, 2013

It hasn't fixed as of yet. The game still crashes after the intro scene when making a new game, and it crashes the emulator when loading a previously saved game. In this thread on the forums you can find all the logs that me and username Sim_Piko posted: http://forums.ppsspp.org/showthread.php?tid=4644&pid=35160#pid35160

Firstly, the FMV that plays after the screen that prompts for the character name is stuttering and playing very slowly. Sim_Piko lucky found out that setting the CPU frequency from 60 to max 80 prevents the music from the main menu from playing over the FMV thus making it playable.
The game however still crashes with the same settings.
I tried using the Interpreter instead of JIT, which didn't make any difference, and also disabled Vertex cache which seemingly stopped the emulator from crashing, but instead it rendered it unresponsive and created a huge 76MB logfile. If anyone needs it I packed it and I'll gladly upload it (637KB in size)

Versions tested on: 0.8.1, v0.7.6-158-g2a39a3b, v0.8.1-339-g8988d69, v0.8.1-502-gad356ed (Sim_Piko), v0.8.1-519-g10e5224 (Sim_Piko & me)
All produce the same result as far as I'm aware.

@andoruB
Copy link

andoruB commented Jul 11, 2013

As of v0.8.1-540-g3c653cb, not resolved yet.

@toyaeinztein
Copy link
Author

Will it be fixed in next version? Please Dev, I dreaming play this game in
my phone. Seriously.
On Jul 11, 2013 10:12 PM, "andoruB" [email protected] wrote:

As of v0.8.1-540-g3c653cb, not resolved yet.


Reply to this email directly or view it on GitHubhttps://github.com//issues/2027#issuecomment-20818326
.

@unknownbrackets
Copy link
Collaborator

Well, this in the log is really bad:

Branch in Jump delay slot at 08a4d078 in block starting at 08a40000

If you open the game on Windows, it'd help if you would:

  1. Open the Disassembly.
  2. Type 08a40000 into the top left box and press enter.
  3. Click on the line that says 08a40000 next to it.
  4. Hold the shift key, and press page down a bunch until you see 08a4d078 or a higher number (this'll be a lot.)
  5. Right click -> copy disassembly.
  6. Create a gist and paste it: http://gist.github.com/

Anyway, if it runs better on Windows than on Android, a logcat (as above) from Android is really needed to see why it crashes there.

-[Unknown]

@andoruB
Copy link

andoruB commented Aug 7, 2013

Thanks for taking a look in this issue Unknown Brackets =)
I have no option for "Copy Disassembly" when I right click and nothing from there seems to be matching what I'm looking for. All I could do was to copy the Instructions in hex and disasm.
I've uploaded both in separated files (don't know how to merge those on the line, sorry), just in case it helps, if not maybe you could give me other instructions to follow? =)
So here you go: https://mega.co.nz/#!td5T0CzK!bia2ukP8sFBh5Ewwj84T2WXDXQAneEiJUGVAdaeR0II

@unknownbrackets
Copy link
Collaborator

Sorry, copy the instructions in disasm. I didn't have it to look and remember the actual wording.

This is good. More importantly, it does not look like code at all. So I wonder why it's trying to run 08a40000 as code, or why it failed to load code properly into that address... most likely it's a bad jump.

Does this work fine in JPCSP?

-[Unknown]

@andoruB
Copy link

andoruB commented Aug 7, 2013

Ah, that's good, I thought I need to paste the addresses hex values and disasm too =)
Keep in mind that I copied that disassembly when I started the game, not when I encountered the error, as it crashes and closes PPSSPP right away. In case you meant to take that when the game crashes I tried quickly pausing it to get into the debugger and since it seems now the log has changed a bit ( https://gist.github.com/andoruB/6173364 ) it has two distinct blocks that it reports.
I tried to get the second one, but really, it is too big to finish in one day, so is there any other faster way to select the rows I need? It contains a lot of vflush commands though, and I think that's not really useful.
Here's the first address, which hasn't changed a lot from what I gather: https://gist.github.com/andoruB/6173398

@unknownbrackets
Copy link
Collaborator

Oh, I only care about the first one. It looks like it's still basically the same, even nearer the problem.

-[Unknown]

@andoruB
Copy link

andoruB commented Aug 7, 2013

All right then =)
Can the bad jump be fixed somehow? Maybe I'm using a faulty image? On the real PSP it works flawlessly, so I doubt that.
Also I forgot to answer your question earlier, but I can't test with JPCSP since my PC is really too slow for it. ^^;
It barely runs the cube test at 20FPS tops.

@andoruB
Copy link

andoruB commented Aug 15, 2013

bump
Anyone...?

@xsacha
Copy link
Collaborator

xsacha commented Oct 17, 2013

Has migrated to new issue #2830

@xsacha xsacha closed this as completed Oct 17, 2013
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