Well that's impressive - same code on two compilers, both work on my XP SP3, both crash differently on others, brilliant.
I understand it's not a "problem" I was mostly trying to see if I could track it down and figure out if it was something I was doing - seems safe to say at this point that it's something very strange.
EDIT: 99% sure I found it, I managed to duplicate crash on launch in my VM, should be same root cause as crash on exit - if you'd be so kind as to try this one hopefully it will fix the crashing.
A preview of what's to come...needs some more tweaking but I can now reliably identify scePadRead() - this is the most common source of existing 90-type master codes
I can test it when acronis is done, managed to kinda almost break my external a day before the internal I bouht came in -_-
"Timesplitters /ID SLUS_200.90" Software has failed to find a mastercode.
Results for mastercode finder v1.01
tested games: 33
successful: 31 (1 mastercode found, not sure if the codes work though)
failed: 2 (0 mastercodes found)
It found 2 candidate mastercodes for each game, even the two where it failed:
CART Fury Championship Racing (SLUS_201.41)
Ridge Racer V (SLUS_200.02)
Sending you a PM now ;)
Not only have you done what I asked people to do but you've gone and done what I would have asked you to do as a follow-up - THANK YOU!
This is the first evidence I've seen of a variation in sceSifSendCmd. The instances of the function in these ELFs call a function 90, instead of 88 instructions prior to the JAL instruction.
Now that I know that the routine has some variation I've added tolerance to the sceSifSendCmd candidate verification, here's the result:
SLUS_200.90 - 902CE7B8 0C0B3994
SLUS_200.02 - 902DE328 0C0B7870
SLUS_201.41 - 90502698 0C14094C
I'm currently generalizing and un-kluging the mastercode location process so this will get rolled into the next release.
As a personal aside the same logic I've developed for finding scePadRead and scePad2Read in order to find those mastercode types will serve as an excellent starting point for controller remapping work :)
I'm glad I could help. When you need more testing let me know!
As for the controller remapping - sounds great :)
Sorry it took so long, that version exited perfectly.
Originally Posted by pelvicthrustman
Can't wait to see the next release. You have simplified so many things for us already, that I just don't feel right posting adapted for PS2 widescreen codes anymore, as they were obtained so easily :)
Originally Posted by pelvicthrustman
You are making me lazy, but please, keep it that way :)
What would be your next step? Would it be combining master code finder, pnach converter and ps2rd into one single software for PS2? Or do you have something different in your mind?
Sorry if I am rushing you, I didn't mean to.
Originally Posted by ArgonUK
More or less;I've already ported the code used in the current version of mastercode finder to ps2rd and verified that I can calculate the ELF CRC and determine the mastercode on the PS2. The CRC is important since that is how PNACH files are named and the mastercode is really the only thing that stops PNACH codes from being directly usable on the PS2 (as long as you're properly translating them - like PNACH converter does).
So the idea for ps2rd will be:
1. Check cheats.txt - If cheats exist select them and boot silently (exactly what the custom version of ps2rd I posted previously does)
2. If cheats.txt does not have cheats for the game then calculate the CRC and mastercode and look for a matching PNACH file
- If no PNACH file then no cheats
- If a PNACH file exists then convert its codes and write the mastercode and cheats to the end of the cheats.txt file (so the analysis only needs to happen once)
So the idea is that you can just download a PNACH cheat library or a collection of PNACH widescreen hacks throw them on USB or MC and if a game that's been hacked is found it will do the heavy lifting for you.