Smiff
Emutalk Member
uCode detect failures
Update, 12th May 2003 - I've added an interesting cheat code to the end of this thread (page 5), also i'm looking to revive interest in the rdb, i have already make a lot of changes to the file and am going to release an updated file soon (within a week). So this is a good opportunity to get any changes you have made to YOUR rdb into the next official release. Many thanks in advance for you help!
OK so what's this thread about? Simply, if the browser says a game works, but it doesn't, I want you to tell me about it here
========================================
1) AutoDetect errors
ok let's start with a little lesson about how PJ works and how it's different in 1.5. in v1.0-1.4, the video plugin would calculate a CRC once per boot and once per state load, look this up in its internal database and (hopefully) select the correct RSP code simulation. There was a menu to let you pick incase this failed. The RDB could also force a particular ROM to use a particular uCode if this failed. Fast forward to 1.5. Jabo found that correct emulation of some games required him to allow a game to switch uCodes, whenever and as often as it likes. The upside of allowing this is that you've lots more graphics showing up, downside is that now uCode detection can fail anywhere during execution and we had a hell of time trying to cram all the references in before release. The result is inevitably that the internal database is not quite complete. This is not the disaster it would seem because the RDB can (as some astute folks have noticed thanks to my one example in the file) give these references, but now they are done per calculated-CRC not per ROM, in the header, meaning one line will fix all instances of that CRC being found, and a game can still change uCodes as it likes. Hurrah.
Now could people post any and all detect failures they find in this thread. I need to know:
1) The Good Name of the game
2) The calculated CRC (that's the 8 digit number with $ sign in front)
3) Please describe where in the game this happens, or provide a state save if the point is difficult to get to.
4) Have a go at assigning the correct uCode if you want, use the chart below to help you.
Video plugin uCode detect key
uCode ID#
RSPSW 0
RSPSW_EXT 1
RSPSW_GE 2
RSPSW_PD 3
RSPSW_DKR 4
RSPSW_RARE4 5
S1DEX 6
F3DEX1 7
F3DEX2 8
F3DZEX2 9
F3DEXGB2 10
S2DEX 11
The most common are 0,7,8.
6,11 are the new sprite microcodes.
If you choose the wrong uCode, one of these things could happen:
- Immediate plugin Access Violation
- Graphics will look very messed up
- Game will run with some graphics missing
Don't worry, just try a different one and reset the game (you may need to end and start emulation (F12-F11)).
========================================
2) Resolution detection problems
Pretty easy to understand this, a game is squished or stretched, if you find any let me know here, preferably with the correct forced res value if possible.
========================================
3) Any core settings errors - typically too-weak SMCM, failure from register caching, and so on and so forth... all these need to be worked through, state saves are very helpful.
Update, 12th May 2003 - I've added an interesting cheat code to the end of this thread (page 5), also i'm looking to revive interest in the rdb, i have already make a lot of changes to the file and am going to release an updated file soon (within a week). So this is a good opportunity to get any changes you have made to YOUR rdb into the next official release. Many thanks in advance for you help!
OK so what's this thread about? Simply, if the browser says a game works, but it doesn't, I want you to tell me about it here
========================================
1) AutoDetect errors
ok let's start with a little lesson about how PJ works and how it's different in 1.5. in v1.0-1.4, the video plugin would calculate a CRC once per boot and once per state load, look this up in its internal database and (hopefully) select the correct RSP code simulation. There was a menu to let you pick incase this failed. The RDB could also force a particular ROM to use a particular uCode if this failed. Fast forward to 1.5. Jabo found that correct emulation of some games required him to allow a game to switch uCodes, whenever and as often as it likes. The upside of allowing this is that you've lots more graphics showing up, downside is that now uCode detection can fail anywhere during execution and we had a hell of time trying to cram all the references in before release. The result is inevitably that the internal database is not quite complete. This is not the disaster it would seem because the RDB can (as some astute folks have noticed thanks to my one example in the file) give these references, but now they are done per calculated-CRC not per ROM, in the header, meaning one line will fix all instances of that CRC being found, and a game can still change uCodes as it likes. Hurrah.
Now could people post any and all detect failures they find in this thread. I need to know:
1) The Good Name of the game
2) The calculated CRC (that's the 8 digit number with $ sign in front)
3) Please describe where in the game this happens, or provide a state save if the point is difficult to get to.
4) Have a go at assigning the correct uCode if you want, use the chart below to help you.
Video plugin uCode detect key
uCode ID#
RSPSW 0
RSPSW_EXT 1
RSPSW_GE 2
RSPSW_PD 3
RSPSW_DKR 4
RSPSW_RARE4 5
S1DEX 6
F3DEX1 7
F3DEX2 8
F3DZEX2 9
F3DEXGB2 10
S2DEX 11
The most common are 0,7,8.
6,11 are the new sprite microcodes.
If you choose the wrong uCode, one of these things could happen:
- Immediate plugin Access Violation
- Graphics will look very messed up
- Game will run with some graphics missing
Don't worry, just try a different one and reset the game (you may need to end and start emulation (F12-F11)).
========================================
2) Resolution detection problems
Pretty easy to understand this, a game is squished or stretched, if you find any let me know here, preferably with the correct forced res value if possible.
========================================
3) Any core settings errors - typically too-weak SMCM, failure from register caching, and so on and so forth... all these need to be worked through, state saves are very helpful.
Last edited: