You could probably leach code off of the PJ detection if needed.
do you guys want glide64 to brush your teeth too?!
Isn't this part of Jabo's plugin? If so, then the source is closed so there is no "leeching" of it.
Heh.. Dave works so hard and people dont take the time to check a game to see if its ucode 0 or 1.. my god
LoneRaven said:
To flow:
No, the CRC detection is not part of Jabo's D3D video plugin. It is part of the main program. Regardless of the used plugin, the list of Roms names and info is generated using the core of the emulator. I am not trying to belittle Dave, but save him time. Why not just (leech = site and use) leech it and move on without spending a great deal of time finding out how the CRC codes work. Anyway, where is there a ucode list of all the games. I looked everywhere to compile a ucode list for Dave and ended up using the Daedelus findings. According to Dave not all of them are correct either.
No, the CRC detection is not part of Jabo's D3D video plugin.
Hacktarux said:I think you are speaking about 2 totally different things. There's a CRC code in the header of each rom : this is used in emus to identify a rom. If the ucode is stored in an ini file, the emu can find it with the CRC that is in the header rom but this has nothing to do with autodetecting an ucode.
The other thing that can be checked by CRC is the RSP code that is simulated by the GFX plugin. This can be used to autodetect ucode. I have tried to implement it in the glide64 source code but i haven't get any result : i have many differents CRC on roms that are supposed to have the same ucode.
Er.. no, the uCode detection is definately part of the plugin, I know from working with Jabo and supplying him CRC- >uCode references... it is not real 'autodetection' at all, his video plugin contains a huge table, each CRC has one corresponding uCode but one uCode can have many CRCs, it has to be checked on state loads also because they can change during execution.. simple to understand but not as easy a thing as it first appears to make reliable... still better than a simple ROM header CRC lookup though, but if you have relatively low compatibility i don't see that being a problem... I'm not sure of the formulae Jabo is using to derive his CRC, maybe he'd tell you, maybe he wouldn't
Hacktarux said:I'm almost sure that it is impossible to have two ucodes for the same task. Each time a task is lauched the RSP load the ucode and execute the display (or audio) list. AFAIK, most roms use only one graphic ucode but maybe there are some that use one for 3d and one for 2d.
Audio tasks are handled by the same chip but not at the same time ! The emulator detect if it is a graphic task or an audio one before sending it to the plug-in.
For these reasons, i think that once we have identified the ucode, we only have to check at each frame if the ucode address is always the same => just one test. We are very unlucky if the rom put two different ucodes at exactly the same address.