Post subject: Dolphin Trouble
Joined: 10/14/2013
Posts: 335
Location: Australia
This is a two parter! It's a big read, but that's just because I'm gonna try give as much information as possible! Here's some background info: I love watching TAS videos, but sometimes running them in an emulator gets tedious, especially if I want to watch them on a TV or something in bizarrely high resolutions (beyond HD). I could get the encodes off the site but they'd be in the lower resolution and I could get the encodes off Youtube but then they'd be limited to 30fps. Long story short, it's easier and usually better for me to make my own encodes for my personal viewing. Problem 1: I've had next to no problems with SNES, NES, N64, DOS and a few other systems or if I've had problems I've easily resolved them. Then there is Dolphin. For the life of me, I can't seem to get any runs to sync properly. They'll work for the first bit of the run but eventually they'll desync. I always get the specified Dolphin version in the discussion and make sure the iso/gcm I'm using is the same region and version (and even compare checksums where applicable). In Dolphin's settings, Idle Skipping & Dual Core are off. JIT Recompiler is selected. DSP LLE Recompiler is selected. Bios is skipped and the memory card slots are as instructed. Frame limit is set to off most of the time, however auto doesn't make any difference to the desyncs. I usually set the graphics to 1x with no anti-aliasing or anisotropic filtering when I run through the video once to make sure I'm not wasting my time with a dump that's gonna desync and then later set everything to much higher and better settings when the process occurs. Nothing seems to make any difference. To give examples: http://tasvideos.org/4116S.html desyncs some time during the Luigi / Peach battle at the end of the first level. http://tasvideos.org/4148S.html desyncs at the start of the Petal Meadows area (the first goomba is avoided however the second goomba is struck). This is at 14:30 of the encoded video for those who are curious. This is present on both of the ISOs with the checksums provided and on both the linked emulator and the AVSync available on the page too. I can provide videos of the specific sections on request if need be. I feel like I'm missing something really obvious as the runs have definitely worked for other people, so I thought I'd put this post up and hopefully get some insight as to what I'm doing wrong. Problem 2: This is a little bit simpler. Dolphin and the AVSync versions of Dolphin react the same way to this, but 32 bit builds dump frames perfectly fine, however 64 bit builds crash on the 2gb file splitting. Tried several different codecs in case it was codec specific but the problem persists. Once again, I'm pretty new to this but am getting the hang of it and am probably overlooking something so I thought I'd ask the experts!
I'm not as active as I once was, but I can be reached here if I should be needed.
Experienced player (703)
Joined: 2/5/2011
Posts: 1417
Location: France
For problem 1, did you dumped from your Wii the DSP files for LLE?
Current: Rayman 3 maybe? idk xD Paused: N64 Rayman 2 (with Funnyhair) GBA SMA 4 : E Reader (With TehSeven) TASVideos is like a quicksand, you get in, but you cannot quit the sand
THC98
He/Him
Experienced player (906)
Joined: 8/7/2012
Posts: 279
Location: Brazil
About problem 1: Probably you're not using the right graphics output. We usually use either Direct3D9 or Direct3D11. Test them both and see if it works :P
Youtube Channel | Twitch Channel • Finished projects: GC Sonic Adventure DX - Sonic | GC Sonic Adventure DX - Tails | GC Sonic Adventure 2: Battle - Hero Story | GC Sonic Heroes - Team Sonic • Current projects: GC Sonic Adventure 2: Battle - Dark Story - 1st WIP • Paused projects: GC Sonic Adventure DX - Knuckles - 1st WIP • Individual levels records: Sonic Adventure DX | Sonic Adventure 2: Battle • My Discord: Tales98#0408
Emulator Coder, Skilled player (1141)
Joined: 5/1/2010
Posts: 1217
4116S works with OpenGL. 4148S possibly has trouble with OpenGL, but that manifests as serious graphic glitching, not desyncs. There are also graphics plugin independent problems with 4148S, causing the emulator to possibly crash or lock up at ~1h point.
THC98
He/Him
Experienced player (906)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Ilari wrote:
but that manifests as serious graphic glitching, not desyncs.
Not really, I tried syncing one of my TASes (that was done in Direct3D11) in Direct3D9, it ended up desyncing.
Youtube Channel | Twitch Channel • Finished projects: GC Sonic Adventure DX - Sonic | GC Sonic Adventure DX - Tails | GC Sonic Adventure 2: Battle - Hero Story | GC Sonic Heroes - Team Sonic • Current projects: GC Sonic Adventure 2: Battle - Dark Story - 1st WIP • Paused projects: GC Sonic Adventure DX - Knuckles - 1st WIP • Individual levels records: Sonic Adventure DX | Sonic Adventure 2: Battle • My Discord: Tales98#0408
Editor, Experienced player (608)
Joined: 11/8/2010
Posts: 4012
Are you sure the regular 64-bit Dolphin crashes on 2GB file splitting? For me, only A/V-sync Dolphin does that. I work around it by dumping the audio and timecodes in the worst video quality possible from A/V sync Dolphin (to make sure the resulting file is under 2GB) and dumping the normal quality video from the regular Dolphin (in your case a 32-bit build). Then I add or remove lines from timecodes.txt to make the videos the same length (since apparently different codecs have different timing), and then sync the audio and good quality video. This worked for all of the encodes I made last year.
Ilari wrote:
There are also graphics plugin independent problems with 4148S, causing the emulator to possibly crash or lock up at ~1h point.
There are? This is the first I've heard of this.
Emulator Coder, Skilled player (1141)
Joined: 5/1/2010
Posts: 1217
CoolKirby wrote:
Ilari wrote:
There are also graphics plugin independent problems with 4148S, causing the emulator to possibly crash or lock up at ~1h point.
There are? This is the first I've heard of this.
Basically, the game causes Dolphin to read texture memory out of bounds. Now, if there is sufficient amount of stuff after texture memory buffer, it will work, just returning garbage. But if the linker didn't place enough stuff after texture memory buffer, the reads can run to unmapped page. Boom. Emulator takes a page fault. Depending on precise conditions, the emulator may instantly crash, or try to retry the failing operation (after supposedly "fixing" the problem, which doesn't seem to do anything), causing new page fault, ad infinitum.
RachelB
She/Her
Player (127)
Joined: 12/3/2011
Posts: 1579
got4n wrote:
For problem 1, did you dumped from your Wii the DSP files for LLE?
This seems like the most likely cause. The dsp rom that comes with dolphin was made from scratch in a few hours and doesn't have proper timings. Graphics backend can cause desyncs, but i've only heard of it happening in one case (twilight princess).
Joined: 10/14/2013
Posts: 335
Location: Australia
Thanks for all the very quick replies. I'll dump my DSP files for LLE and then try play through each of the TASes with each of the graphic settings (Direct3D11, OpenGL, etc) and see if that changes any of the results I was getting! Update: I'm yet to try 4116S because I'm dumping the other one as we speak. I believe the problem was the DSP rom.
I'm not as active as I once was, but I can be reached here if I should be needed.
Experienced player (703)
Joined: 2/5/2011
Posts: 1417
Location: France
Yeah, it should surely be that because for Andzura TAS it was desyncing because of that :p
Current: Rayman 3 maybe? idk xD Paused: N64 Rayman 2 (with Funnyhair) GBA SMA 4 : E Reader (With TehSeven) TASVideos is like a quicksand, you get in, but you cannot quit the sand
Emulator Coder, Skilled player (1141)
Joined: 5/1/2010
Posts: 1217
thecoreyburton wrote:
Thanks for all the very quick replies. I'll dump my DSP files for LLE
AFAIK, all Gamecube and Wii consoles have the same DSP firmware. So if it is dumped from Gamecube or Wii or what region it is (USA, Euro, Japan, etc..) doesn't matter.
RachelB
She/Her
Player (127)
Joined: 12/3/2011
Posts: 1579
That's correct.
Joined: 10/14/2013
Posts: 335
Location: Australia
Thanks for all the insight and assistance so far. Even the stuff that didn't directly contribute to solving the problem has helped heaps! I'm really grateful! The Paper Mario run managed to sync perfectly, and the method of dumping at extremely low quality with the AVSync build in order to get the timecodes worked perfectly. So that's problem 2 solved and one of the runs dumped flawlessly. For anyone else who may be reading over this thread experiencing the same problem, the DSP files were definitely the issue with that run. 4116S I'm still having difficulty with at the moment though. It'll go out at the start of the battle with Peach and Luigi (on Direct3D9, Direct3D11 and OpenGL) and Samus will eventually get defeated in that battle. This could be an ISO problem though. I'm using an NTSC one at the moment but I have no idea if it's the right one. Has anyone got a checksum with an ISO that does sync that I can use to verify? And on that note, I do have a suggestion that maybe like on the Paper Mario run, checksums for ISOs that are valid and a download link to a compatible build of AVSync are included on the run's submission page. Might be a bit of spoon-feeding so to speak, but it's a thought.
I'm not as active as I once was, but I can be reached here if I should be needed.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
thecoreyburton, md5 0e63d4223b01d9aba596259dc155a174 sha1 d4e70c064cc714ba8400a849cf299dbd1aa326fc I will see if I can get the run to sync for me.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Joined: 10/14/2013
Posts: 335
Location: Australia
Thanks for the quick reply, from what I can tell I had a v1.01 ISO mislabelled as v1.02, knew it was something stupid along those lines. Getting one with the proper checksum now.
I'm not as active as I once was, but I can be reached here if I should be needed.