External Bios and Firmware - Emulation accuracy

Hi,

I am wonder if external bios and firmware effect game emulation accuracy in anyway.I emulated Pokemon HG for RNGing and want to transfer them to my real cartridge. I did it without the external bios files arm9 and arm7 and with no firmware.bin file. Now I am want to know if they results would be the same.

In the FAQ is only written that it enables some features, but no word about accuracy, same for the dynamic recompiled does it affect results if turned on/off?

Re: External Bios and Firmware - Emulation accuracy

Thanks for your reply. I don’t meant the save game itself. I mean the pokémon.

Every pokémon has an PID Number and IVs which are generated “randomly“, together those values form a legitimate Pokémon.RNG mean random number generation. How this numbers are generated differs form version two version (Heartgold, Black, White2). I am pretty sure RNG on pokémon games is more like an incomplete/fake RNG. So on a real hardware only a few PID number combination are legal (PID=Pokémon ID Number). So maybe this can be answered due to the link of the timing accuracy in DeSmuME. I want to know if those BIOS and settings effect the RNG process and generates pokémon that would never exist on a real Nintendo DS.

I spent over the year about 200+ hrs RNGing those pokémon I don’t wanted to simply cheat like most people do so I started catching the real but RMGing to get the desired Nature/IV combination. Since it was very hard an time consuming two capture all this pokemeon. I want to be 100% sure that the pokémon are bit/byte correct compared two real ones generated by real Nintendo DS hardware.

Re: External Bios and Firmware - Emulation accuracy

It's theoretically possible for discrepancies in timing to create impossible pokemons. You can't be 100% sure. But you can be 99.99999% sure, because there's no way they would have programmed their randomizing to be that rickety. That's just not how you do things. You use chaos to seed a a random draw from a deck. Everything in the deck is legal. You can look at random numbers as drawing from a deck of possibilities too. You don't store the chaos directly in the pokemon and hope you didn't generate illegal chaos. You don't want to know how the chaos is made, that makes it better chaos. You want to be able to make no predictions about what chaos values will come out, and that's why you run it through a deck rather than use it directly.

What's far more likely is that you break the game by cheating to achieve an implausibly lucky/awesome team. That's still not very likely, but things like that do happen sometimes.

Re: External Bios and Firmware - Emulation accuracy

zeromus wrote:

It's theoretically possible for discrepancies in timing to create impossible pokemons. You can't be 100% sure. But you can be 99.99999% sure, because there's no way they would have programmed their randomizing to be that rickety. That's just not how you do things. You use chaos to seed a a random draw from a deck. Everything in the deck is legal. You can look at random numbers as drawing from a deck of possibilities too. You don't store the chaos directly in the pokemon and hope you didn't generate illegal chaos. You don't want to know how the chaos is made, that makes it better chaos. You want to be able to make no predictions about what chaos values will come out, and that's why you run it through a deck rather than use it directly.

What's far more likely is that you break the game by cheating to achieve an implausibly lucky/awesome team. That's still not very likely, but things like that do happen sometimes.

I don’t be 100% sure if I had understand you completely. If I had understood what you wrote. There is a some kind of database of PIDs (Hex Numbers) you called it “deck”, which the game has access to and it took one out of it like in a card deck. So besicly those “cards” PIDs are predefined. You only need the luck to get the correct one out of it.

So the PIDs are static and are not affected by the Emulation settings? So those PIDs are just called by the game rather than created? BIOS and JIT only changes which PID is called rather than generating one?

The games I am referring are HeartGold and Diamond. I think Black/White2 has different mechanics, where PIDs and IV has to match?

Re: External Bios and Firmware - Emulation accuracy

Are those the most accurate settings?

Use external BIOS image: checkEmulate SWIs with BIOS images (otherwise, HLE): uncheck ——> I have no Idea what this meansPatch DelayLoopSWI (speed hack): uncheck ——> sound not to be accurate, includes the term speed hackUse external Firmware image: checkBoot from firmware (like the NDS): uncheck ——> maybe useless?Load User Settings form file: uncheck ——> would have no impact on accuracy?Enable Advanced Bus-Level Timing: check ——-> sounds important? Use 8MB debugger mode when starting execution: uncheck ——-> would have no impact? I believe this is just for developers?Emulate Ensata: no clue what this is, so unchecked?Use dynamic recompiler: uncheck ——-> this is the already mention JIT unchecking it will disable JIT?

Pls if someone can confirm that and say something about what this options does. I am willing to write it in the Wiki/FAQ section if someone can explain what this means.

Edit: I want to dump my own BIOS and firmware. Since my Nintendo DS died 2 year ago, can I use the dump form my o3DS? I googled but I was just redirects to melonDS, which seems to support 3DS firmware dump from the Nintendo DS backward compatibility?