Forums  /  Yu-Gi-Oh! Forbidden Memories  /  Discussion of what to be done about the situation with Mergy
  Kollin7Kollin7

For those unaware of the situation, reading this would be a qualifier: http://pastebin.com/EpKiCEx8

This is a thread where people can post their feelings about what should be done. I believe Mergy will be willing to follow through with whatever you all decide.

TheRedhotbrTheRedhotbr and MergyMergy like this. 
  n1nj4ofshr3dn1nj4ofshr3d

Let the people who are doing the research alone, and let them figure out the situtation.
Everyone else, just fucking play the game.

xem92xem92 and TheRedhotbrTheRedhotbr like this. 
  GFCGFC

My opinion is quite similar to n1nj4's. I myself am going to sit back and wait for more information before making a solid opinion. Jumping the gun in either direction will be bad. There is still research to be done; wait for it to conclude (or at least wait for the evidence to be conclusive) before branding him a legit runner or a cheater.

xem92xem92 and TheRedhotbrTheRedhotbr like this. 
  froggy25froggy25

This post will be updated with any findings in the game's code. Please note this is only related to what the game does / cannot do, not what any hardware-related issue might produce. Shadow_Dog's input on the subject would be welcome 😛

You might notice some hexadecimal notation like 0xFEDCBA98 in this post.
Hexadecimal is a numeral system of base 16, which means that you count from 0 to F.
10 in decimal equals 0xA in hexadecimal, 538 in decimal equals 0x21A in hexadecimal, etc.

I'll talk about bytes as well. One byte goes from 0x00 to 0xFF. One byte is comprised of 8 bits: so 0xFF in hexadecimal equals 0b11111111 in binary notation.
A nibble is 4 bits, or half a byte. That is, if we consider the hexadecimal number 0xFE, the left nibble would be 0xF, and the right nibble would be 0xE.

Random Number Generation
Every time the game needs to get some randomness (ranging from card drops and deck card order, to star alignment bonus display or 3d animations), the game grabs a number, does some operations on it, and returns the outcome. This number is called a seed, and that is this number that will determine pretty much everything random in this game.

Yu-Gi-Oh! Forbidden Memories uses a Linear Congruential Generator. The seed is multiplied by a multiplier and increased by an offset to produce the next number. Some bits are dismissed from that number, and the result is the pseudo-random number that will be used for randomness.

The PRNG formula is [seed × 0x41C64E6D + 0x3039](http://datacrystal.romhacking.net/wiki/Yu-Gi-Oh!_Forbidden_Memories:ROM_map#PRNG_advance), which is seed × 1103515245 + 12345 in decimal. As you can see in the Wikipedia article, this is the standard ANSI C LCG, which is weak for reasons that won't be covered here (this question and its answer is a good start if you're curious). The result of this operation is the new seed that will be used for the next call to randomness.

Once this formula has been applied, we dismiss the lower 16 bits of the current seed through a right shift operand: seed >> 16. Then, we only keep the last 15 bits of the resulting value, using bitwise AND operator: (seed >> 16) & 0x7FFF. The output is our Pseudo-Random Number.

So, in short:
Seed = Seed × 0x41C64E6D + 0x3039
PRN = (Seed >> 16) & 0x7FFF

The initial PRNG seed, at game startup, is 0x55555555.

Card drops generation
When you win a duel, the game starts by generating 7 Pseudo-Random Numbers. These numbers are used to determine the direction of the "YOU WIN" and "YOU LOSE" letters on the screen.

After that, the game looks at your Duel Rank. Depending on your duel rank, the game will select one of the 3 cards drops lists for the opponent you battled, one for SA-POW, one for BCD, and one for SA-TEC.

Then, we arrive at the Card Drop function. The game generates another Pseudo-Random Number, of which we only keep the last 11 bits, then add 1 so the result is between 1 and 2048: (PRN & 0x7FF) + 1.

The game then checks the card probabilities, and add these up until the result is greater than or equal to the Pseudo-Random Number. It increments a counter at each iteration, so the counter is equal to the card ID: that is our Card Drop.

I haven't checked every opponent yet, but I assume all their card probabilities add up to 2048 or more, which means the Pseudo-Random Number could never be higher than the sum of card probabilities.

What is the 000 card ?
As said in the previous section, all characters card probabilities should add to 2048 or more. If for any reason, the Pseudo-Random Number is higher than the sum of card probabilities for a character's Card Drops on a given Duel Rank, the card 000 will drop. As far as the disassembly goes, the PRN should always be between 1 and 2048, so I do not see any possibility of it dropping for Rex, but I am still researching the whole Battle RNG in case we missed something.

When the card 000 is dropped, the game tries to add one copy of card 000 at the first location available in the Player's cards area. That location happens to be the first byte of the last card ID in the Player's Deck, which depends on the selected card order. This means that the ID of the last card in the deck is increased by 256, potentially allowing people to get any card in the game, like Magician of Black Chaos, or even glitched ones. That is, if it's possible to get 000.

Battle PRNG
When in battle, the RNG is fixed. That is, it doesn't change until you do some actions that make the game need randomness. So you could potentially manipulate the Pseudo-Random Numbers if you had anyway of knowing what the PRNG seed is when you start the duel, which means you could select which card will drop after the duel. The RNG rolls at every frame outside of battle (found by GFC), that is, 30 times per second; so this seems pretty hard to know for a normal human being without external tool assistance at the moment, but there might be a way to more or less manipulate that. The PRNG rolls in the deck screen, in dialog boxes, and probably in other screens as well, making this task difficult.

Destroying a monster calls the PRNG 19 times (randomize flames burning the destroyed card).
Destroying both monsters calls the PRNG 38 times (you guessed it).
Attacking with Star Alignment Bonus calls the PRNG ?? times.
Fusion calls the PRNG ?? times (needs research).
3d animations call the PRNG a variable amount of times, depending on when the animation is stopped, on the particles displayed, and possibly on other things. We don't know yet if triggering and canceling the 3d animation right away without watching the 3d animation calls the PRNG a fixed amount of times (which would be nice, as it would gives us an additional reliable way to manipulate the PRNG in battle).

Originally posted by GFCso like in the beginning
there's all the same drops
when the monster is being spawned in is another drop
and when the monsters are attacking, every frame is a different drop
(...)
basically, if you want the most variety
do a 3d duel, wait until your monster is attacking, and during the attack cancel out
that's when the drop changes every frame
any other area has the same drop for multiple frames, if not multiple seconds

This means the PRNG is called a lot of times during the 3d monsters attacks.

This part still requires a lot of research / testing.
The PRNG is at 0x800FE6F8 in memory if you want to test things by yourself.

TO DO list: things to research
• 3D animation RNG calls
• 000 drop in FM mods (in progress, I think I got this)
• List which screens call the PRNG outside battles

AvetixzAvetixz, f1f1 and 5 others like this. 
  biskuubiskuu

Would be crazy if that glitch could be manipulated. Although the category would stay as it is, having a glitched category would be cool and more speedrunish.

 
  m13m13

Firstly: http://pastebin.com/3R8kg3ep

I just don't want everyone to ignore the facts, we know one sure cause for the 000 drop is the drop pool not adding up to 2048, there are no other confirmed ways of this happening, and it's not looking likely that there would be. Mergy has always had a suspicion of this sort of stuff from a multitude of people and for me and many others this is the nail in the coffin.

For those of you who disagree, continue your 'research' and stuff, I would like to be proven wrong.

f1f1, biskuubiskuu and 5 others like this. 
  JumpyluffJumpyluff

I want to see a post from Mergy. He knows what happened, we're all speculating.

TheRedhotbrTheRedhotbr and froggy25froggy25 like this. 
  megamegalomane92megamegalomane92

I was waiting for based Froggy to post his research results to comment. First of all, I don't consider 10 year old obscure youtube videos reliable documentation about yu gi oh forbidden memories, so I don't really think we should care about some old video showing glitched cards when the person that made it could have easily used cheats to try to get cards to beat this game (many people did since it's so hard). Given this, we have only one sample of this situation happening in the speedrunning history. Since a lot of gameplay has been done over the years, if we try to assume that it's a legit mechanic, it must be some insane rare situation. I am not going to exclude a priori that the glitch could be cause by some insanely rare perfect set up in the in game variables (unless really good reverse engeneering proves the contrary), but it's more than a far fetched situation. So if we assume that there was something different in Mergy's set up, then we are left with 2 possibilities. Either his game was modded, or there was a malfunctioning in his hardware. The hardware malfunctioning could be something like a scratched disk or his modded console affecting the gameplay. I feel like there is close to no way that the scratched disk was the cause, it would have to be an extremely precise malfunctioning that causes a very specific effect, and the same goes for the console, but maybe the odds are better, since it happens that minor emulation inaccuracies can cause rare glitches that don't affect the gameplay often, but still, if it's the console it should have a chance of happening in any of his duels (not rex only I assume, unlike a disk scratch over the part holding rex drop rates), and it only happened to him once in all his farm duels ever, sounds really unlikely. So let's consider the last option: the game iso was modded. We know that a iso modded in a way that the sum of Rex drop rates is lower than 2048 will reliably give a chance of winning the 000 glitched card, and modding the drop rates is a reliable way to cheat without leaving any proof of cheating unless someone analyses your iso. Also, Mergy could have easily used a burned iso modded with the FM hacking tool to obtain the desired cheat, but that can be said of basically anyone (even normal console users I guess if they disk swap maybe). Finally, his luck in his speedruns hints towards a possible cheat. A combination of above average drops and above average easy mode by the opponents could easily be caused by modding the iso with the wide spreaded hacking tool. So we have the opportunity (cheating is easy), a hint (luck is far above average) and a extraordinary situation (the never happened elswhere glitch). If we don't get any more information from the research over the game code, I feel like not doing anything would be a slap in the face of any runner of this game and in the face of the credibility of this game's speedrunning too. If we decide to do something I guess we could either assume that it was the console (in that case any time achieved by Mergy on that hardware should be invalidated), I would be fine with it kinda but many people wouldn't, and I can't blame them, or we could assume with huge odds of being right that he was on a modded iso, either because he screwd up in the burning of his disk and picked up a modded iso in his PC (yeah, sure), or because he just cheated to get the WR / get viewers / get donations. I feel like the number of hints towards cheating that is needed to call out for cheating in many communities is on average lower than what we have here right now. There is something wrong when all your runs get on decent WR attempts, arguably 2 hours faster than average runs, and you get WR with the final 6 playing nothing stronger than a 3200 attack monster, the nitemare fight was even 100% won (unless he forgot to remove meteor dragon form nitemare deck, in that case he could fuse MBD Kappa ) since his stronger monster was Twin headed thunder dragon.

f1f1, Spec3xSpec3x and 4 others like this. 
  Kollin7Kollin7

Please post even if you feel your opinion has been stated by someone else.

TheRedhotbrTheRedhotbr and froggy25froggy25 like this. 
  Cyberdemon531Cyberdemon531

Al rite.

I think Mergy has either crafted a modified .iso, downloaded one from somewhere else, or just accidentally stumbled across a modded game, personally. If we all remember the bigjawz incident where m13 made a modded iso and did a meme run that was like 2 hours or something with all easy modes and such and there was TECHNICALLY no way to disprove that run, but obviously the mastermind behind that was just trying to prove a point as to how easy it was to cheat, not try to actually get away with it, which is super freaking easy (obviously). Personally I believe that this 000 card is proof that Mergy has some sort of modified game disc, whether he did it himself or got it from someone else unknowingly is still to be decided in my mind, but I don't think it's the same game everyone else has been playing.

f1f1, TheRedhotbrTheRedhotbr and 2 others like this. 
  GFCGFC

I'd like to point out that Mergy has gotten the card 000 drop again.

Video of the drop: https://twitter.com/Mergy_/status/779826733872713729

Video of Mergy taking that same disc and dumping its contents onto his computer and generating an MD5 hash of the image:

Allow me to point out that this could have possibly been faked by playing on his modified iso, getting the drop, hot-swapping discs (putting in a legitimate disc), and starting the recording.

KajurNKajurN, TheRedhotbrTheRedhotbr and 2 others like this. 
  Xer_91Xer_91

I'm not saying that Mergy cheated until it is proven; same the other way around; only time will tell i guess.

Though this is quite interesting. This anomaly never ever even happened once in like 3-4 years of speedrunning this game (and we ALL farmed Rex, a lot; and i'm pretty sure that IF that happened, people would've started a discussion about it), and now Mergy got this twice in a very small timespan.

It could be that our Merb bought a disc with an already altered iso, or he altered it himself, or it has to do with his modified console, or it's a rare natural occurance in the game.
I really hope this is an actual thing in the game that we can manipulate in the future to make runs more interesting. I really HOPE.

KajurNKajurN, TheRedhotbrTheRedhotbr and Cyberdemon531Cyberdemon531 like this. 
  m13m13

From my perspective this video of him replicating it for a second time makes me even more uneasy about this. I would in fact say I am more convinced after that.

KajurNKajurN, TheRedhotbrTheRedhotbr and Cyberdemon531Cyberdemon531 like this. 
  froggy25froggy25

Just posting to say the disc's md5 shown in the video is identical to the iso on Emuparadise, so the disc is likely read perfectly by the console as well.

Either modded console issue or hotswap.

I don't have the skills to check if the behavior of a modded console can potentially cause this to happen (I can learn I guess), but maybe Shadow Dog can ? Ask him on Discord if he might want to take care of this (or not 😛 ) if you want to send your setup to someone @Mergy

And yup, you should have recorded from the start of the run (when you put the disc in) to the end of the run (when you remove the disc), with the console on sight during the whole video.

KajurNKajurN and TheRedhotbrTheRedhotbr like this. 
  Xer_91Xer_91

I am right now rewatching his stream from 24th september. He first try got a deck with 3 thunders and equip, then won 3 thunders and 1 dragon in 8 farming duels on villager 2. while talking about "after the run i gotta show my setup" n all that stuff. idk. gotta continue watching more of his past broadcasts. this is interesting

@Froggy, what about the case that he dumped the iso, but then took the one from emuparadise that was on his pc already?
(i don't know much about such stuff, so dunno)

TheRedhotbrTheRedhotbr and Cyberdemon531Cyberdemon531 like this. 
  froggy25froggy25

The location of image.bin matches the one at the start of the video

TheRedhotbrTheRedhotbr likes this. 
  Hdot12Hdot12

Alright my opinion is not going to change things, but the post of Kollin encouraged me to share it with you.

First of all. I want to trust Mergy. Let's just say I trust him. Ofc if things turn out differently it will be a huge disappointment for me. But unless Mergy gets proven as a cheater I'll just believe that he is telling the truth and it has to be something with his modded ps2. I don't even now myself why I trust him, but it's just my feeling. Think whatever you want about this.

So people think he cheated by using an iso with altered droprates. It turned out that it's easy to cheat with that method. Okay. Another thing to keep in mind: Even if some people call mergy dumb. He clearly isn't. And I'm pretty sure if he wanted to cheat than he would doublecheck to make sure that the droprates make exactly 2048. Maybe something else went wrong, who knows.

I still have to admit that it's not looking good for Mergy. There is no way for him to prove that he not cheated. I bet even if he would record a whole session of grinding for 000 and actually getting it, there would be still lots of people who would point their fingers at him. Anyway let's say he wasn't cheating. It seems it has to do something with his modded ps2. (Unless someone else also gets a 000 in the near future, which might be highly unlikely.) But what exactly should lead to this glitch? Nobody knows.

People are also saying that even if it was a glitch his pb times should get off the leaderboard. I don't really see why. If this really is a glitch, then the droprates might be alright and it might be just that the drop somehow glitches out and becomes 000. In this case his pb times would be alright, because there the 000 drop never happened at all. They should get taken off however if he was cheating. If he was cheating. Besides Mergy himself, nobody knows that right now. Nobody.

People will see my post as picking Mergy's side. This is partially true, because I want Mergy to somehow get out of this in a good way, because I THINK he tells the truth. I THINK. I don't know it for a fact. I'm just saying that even after all those issues (which some people even call evidence) you basically can not call him a cheater right away. You can not call him trustworthy either. It's a dead situation right now and we should treat it as such. We have to wait until we get more information somehow.

About what to do right now. Technically I would say nothing, but things get really controversial because he is the WR holder. Even if certain people think all of his times (and even he by hisself) should be removed, I guess many people just get crazy about it because it's about a WR. So I could actually see if his WR time gets removed, because it is not set in stones yet if he cheated or not. However removing everything what Mergy did would be a dumb decision imho because nothing is proven right now. Don't call him part of the community, don't call him WR holder, everythings fine. But just do not call him a cheater, because nobody knows this yet. I really hope things get cleared soon. I don't know how, and I somehow doubt that the research is going to get something which will turn things around, but I just hope that they find SOMETHING. If it gets Mergy banned or just his times, I don't really care. I bet even if his WR time gets removed, he'll still have lots of fun of doing more attempts, maybe on a different console?

TLDR; we don't know anything. I want to trust mergy, but ofc I don't know facts, how should I? I hope that research gives us more information so we can take a decision. For now we shouldn't decide anything. (Unless people get mad because of the WR. I think nobody would even want to have a WR if it was connected with such a huge amount of drama.)

KajurNKajurN and TheRedhotbrTheRedhotbr like this. 
  Kollin7Kollin7

Thank you, Hdot12. I want anyone and everyone to feel free to post their thoughts and feelings.

TheRedhotbrTheRedhotbr and Cyberdemon531Cyberdemon531 like this. 
  Xer_91Xer_91

Alright, whatever might be the case, we need to make this 000 thing happen in the game. THe results of this are just way too good. Look at these potential cards:

http://puu.sh/rnTzZ/b063cd61c7.png
http://puu.sh/rnTAk/97b34a3a44.png

Glitched cards can also fuse together (fused Villager3+Town Plaza into Garma Sword)
Pls make this happen consistently in the real game! 🙂

TheRedhotbrTheRedhotbr, Cyberdemon531Cyberdemon531 and 2 others like this. 
  biskuubiskuu

Weren't more people testing this?
The fact that the only person who got the glitch again is Mergy makes me even more suspicious that its cheating.
I really hope he isn't cheating, but this plus the luck he always gets in his runs is too much.
Who knows, maybe he liked the game and he wanted to stream it more often without the more boring parts (restars, farming etc) for viewers or whatever.

I'd say until one of the moderators replicates the glitch his runs should be removed.

f1f1, KajurNKajurN and 3 others like this.