Dolphin, the GameCube and Wii emulator - Forums

Full Version: NTSC/JP Xenoblade 60fps and other mods
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
It's much better with this code. I didn't notice any differences than the original. Before this it felt like that the ramp shoot me higher instead of further. Will test it more tomorrow.
I also just cleared Mechonis Field. Can confirm that all of the lifts and moving parts moving at the correct speed, however the textures on the conveyor belts are flickering when you stand on it. (Looks like the textures are overlapping each other, but I'm not sure.)
Ok. If you can make the big jump with the code, I'll call it finished. I'll check mechonis field after I fix the head movement bug.

/edit The head movement bug doesn't have its speed changed in the PAL (25fps) version, so the game expects it to always be the same. What it does is it takes the position and multiplies it by 0.90, effectively lowering it by 10% and it saves the value, then next frame it does that again to the saved value. The bugged 60fps code multiplies 0.90 by 0.5, thinking it needs to half it, but then you get 0.45 (55% vs the normal 10%). The correct way to modify this speed is probably: 0.5 + 0.5 * X to change it to 0.95 (5%), but I'm not sure if that will break other things. I also need to see if just forcing it to be the normal speed works out ok. Here's the 95% code:

$head fix
C24ED0AC 00000001
ECC0C63A 00000000
C24EC8BC 00000001
EC40FFFA 00000000
C24ED0B4 00000001
ECA0C63A 00000000

I'm also planning to look for the stuttering in the newer code handler by making lots of blank codes and seeing if that creates lag.
/edit fix bug

De-Lagger test code:
DeLag code: (Show Spoiler)

Despite writing such complex gecko codes, I know almost nothing about the gecko codehandler and how it works. I noticed it likes to rewrite much of the code every frame. So, I wrapped 98% of my code in a Run Once block with it checking to make sure one memory value from the code is properly changed. If the one memory value is not correctly changed, it runs the entire code again, but only one time. This seems to solve the newer codehandler stutter bug. It may also be less laggy in general for some people. So give it a try. I can't guarantee it's bug free though - it's more of a test code.
Sadly, that code completely breaks for me; the initial loading screen still plays (still at 30fps, but let's ignore that for now), but the main menu never actually loads--the screen just stays black, though the music does play. I'm not entirely sure how to debug this; it worked for you, though? Any settings I should be checking? That code above is the only one that was turned on.
DeLag code also not working for me, I get the same black screen issue. Even the fps counter freezes, and I have to force-quit from the game.
It works fine for me @_@. Maybe try loading into a game then applying it? I dunno... hmm...

/edit delete code
Still not working.
Dolphin says cheats won't be applied until we restart the game. Loading a save state before the black screen works, but this way the code doesn't seem to have any effect.
Alright, this one might work then:
regular 60fps delag: (Show Spoiler)

I fixed a bug in the first delag code so try that one as well again.
Great news: both of the codes work perfectly now!

The "Opti60fpsDelag" code makes it to the main menu finally, and afterwards it proceeds into the main game flawlessly, all of the 60fps things work, and there are zero stutters. The regular one you posted below also works perfectly. However, there's one tiny bug in the first one which you fixed: for some reason, when your characters slide in from the left, their bars glow red as if you're on low HP, no matter how much HP you're on, even when full. I'm not sure why exactly this happens, but it doesn't happen with the code you posted below (the "regular" one). I'm not entirely clear on what the difference is between the two codes either; I thought the above one was an attempt at optimizing the regular code, so why is the top one "opti" and the bottom one "regular"? Also, just to be clear, the main menu still isn't fixed, but we can look at that another time once I sit down with the RAM watcher.

EDIT: Just to get things started, I looked at those first two addresses you posted on the last page to make sure the values were correct. At 0x80664268, my value is not the one you posted, instead it was 0x8083460C. Additionally, 0x80819e68 is 2 instead of 1. I didn't look at the branch on equal section or anything else because I figured it was only worth looking at those if the address actually held the correct value. Just to be clear, these were the values I saw while sitting at the main menu. Once I loaded a file, 0x80819e68 did change to 1 instead of 2.
Man, I should really stop promising time frames for being able to sit down and look at things. With that said, I can totally look at this tonight for realsies. Hopefully. Anyway, I have a feeling the 30fps main menu bug might not be anything with the codes itself because, IIRC, I currently have two different .ini's stored with the code, and the one that I've been copying and pasting each improvement of the code into doesn't work right, but after making a fresh one with just the newest code, the menu is 60fps. This would suggest something's weird with how Dolphin's loading the codes, but I'll withhold a diagnosis until after I do some more focused testing.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31