WHAT DO YOU MEAN YOU CAME BACK AND REWROTE ALL THIS IN 2025?
It's not the only thing that got rewritten.
I have no life, and I must scream.
This project is more open for those that either has an XP Physical/Virtual Machine.
AVI Dumping would be nice, but isn't required.
For those that aren't in the know, all PCSX-rr TASes are dumped using the TAS Sound Plugin, or MIDAS Sound Plugin.
Unfortunately both are known to create some
very broken samples.
Files for PCSX-rr:
As a bonus, here's All 51 PCSX-rr TASes in a single zip file.
Now with all that done, you can actually just
follow the instructions that are written up here, and forward all your complaints to me as I rewrote all the information.
Wait... no.
So you're a Windows 10/11 user and you're here to do grunt work?
Good thing, PCSX-rr will automatically close out... also bad thing that you're using modern operating systems.
I recommend to make a copy of that pxm folder it made for any worst case scenario that can occour.
You want to follow below for the extra stuff you need, so you're not constantly hovering over your system.
This is for when you reach step 5, and about to start the resyncing process.
You want to
close out of the instance that's running syncCheckpoint.lua and follow below.
You need to download the two lua files below.
One's called "spuTAS.lua" and the other "eternalTAS.lua":
Download spuTAS.luaLanguage: lua
while true do
emu.frameadvance()
pcsx.switchspu("spuTAS.dll")
os.exit()
end
Download eternalTAS.luaLanguage: lua
while true do
emu.frameadvance()
pcsx.switchspu("spuEternal.dll")
os.exit()
end
All this does, is when it crashes it'll quickly switch to the preferred sound plugin that it needs and close out.
Note: We're also going for quick and painless. Not streamlined.
With that added, also download the two batch files below.
One's called "spuTAS.bat" and the other "eternalTAS.bat":
Download spuTAS.batLanguage: batch
pcsx -runcdbios -lua spuTAS.lua
pcsx -lua detectCheckpoint.lua
spuTAS.bat
Download eternalTAS.batLanguage: batch
pcsx -runcdbios -lua eternalTAS.lua
pcsx -lua synchCheckpoint.lua
eternalTAS.bat
Your folder should hopefully looks like this when you're ready to go:

Load up spuTAS.bat first and wait for "Now awaiting for any incoming desync."
When this message appears load eternalTAS.bat and then sit back and watch it crash 50 million times while you have a nice tea or something.
Once done check if it synced through. Some games will fail, it's okay you can try again or move on and mention what failed.
Zip up that pxm folder and link it back here and
also commit your stuff to this git here so we don't lose the files.
Older information that I don't know what to do with yet (and wasn't referred in the wiki):
If anyone's daring enough to do
Breath of Fire III, I've done the
first half of the process.
Addendum
What do you mean addendum!?
So you're extremely determined to use Windows 10/11 even though it's heavily not recommended?
And you went all this way to the bottom just for this bit, because you care enough, and I also just found out about this method actually working
this specific way? Cool.
No seriously, "cool", thanks. I was actually scratching my head over this for the past two weeks trying to figure out something a little more stable for the large majority-- even tho seriously use a VM.
I would write a VM setup guide for those using VirtualBox (since that's the free), but I keep having an issue of BSoD on install... even tho all the issues are avoided on VMware.
Ok, so.
You still need to use spuTAS.bat, but you
don't need to use eternalTAS.bat one.
Run the spuTAS.bat as normal.
Manually load an instance of pcsx-rr and change/validate it being on Eternal SPU.
Close out of that instance, and then open an instance of cmd pointing to the folder where your pcsx-rr is located.
start /affinity 1 pcsx -lua synchCheckpoint.lua
Run that code, and then sit back and watch the instance of spuTAS closing out 50 times over, whilst the Eternal instance doesn't.
Couldn't you just use Task Manager to set the affinity to 1 instead?
No, it would crash. This happened whenever I attempted this previously with the loop instance.
Will this still crash?
Yes, it still can, but it
should in the practice that I did reduce the amount of times it crashes.