Yellow runs the same capture code as Red and Blue from the first roll to the shake count: the ranges, the status values, the ball factors, and the shake thresholds match line for line. Before the rolls it adds a Pikachu battle (BATTLE_TYPE_PIKACHU), which takes the old man's branch and catches outright. | engine/items/item_effects.asm L197–428engine/items/item_effects.asm L157–171 | Code |
Pikachu's voice clips are 1-bit recordings played through the wave channel. The routine disables interrupts, fills wave RAM with $FF so the channel outputs a constant high level, and then for each bit sets channel 3's output level to 100% ($20) or mute ($00), with counted delay loops setting the rate. | audio/pikachu_pcm.asm L22–57home/pikachu_cries.asm L11–47 | Code |
Yellow keeps Red and Blue's CriticalHitTest line for line, so the attacker's base Speed still sets the chance, in 256 for most moves and 8 times that for the high-critical ones, and Focus Energy still cuts it to a quarter. | engine/battle/core.asm L4649–4717 | Code |
Yellow keeps Red and Blue's MoveHitTest and CalcHitChance unchanged, so a move still hits when a random byte is below its scaled accuracy byte, and even a 100% move misses 1 time in 256. | engine/battle/core.asm L5506–5508 | Code |
| Yellow's type chart file is byte-for-byte Red and Blue's, the same 82 rows over 15 types, with Ghost still no effect on Psychic. | data/types/type_matchups.asm L1–85 | Code |
Yellow keeps Red and Blue's AdjustDamageForMoveType, so STAB is still before the type rows. | engine/battle/core.asm L5287–5288 | Code |
Yellow keeps Red and Blue's CalculateDamage and RandomizeDamage unchanged, so base damage is still capped at 997 plus 2 and scaled by a random 217–255 over 255. | engine/battle/core.asm L5618–5625engine/battle/core.asm L4559–4621constants/battle_constants.asm L55–56 | Code |
Yellow keeps Red and Blue's TwoToFiveAttacksEffect, 2 or 3 hits at 3/8 each and 4 or 5 at 1/8, and its damage loop, in which every hit after the first repeats it without a new damage calculation or accuracy test. | engine/battle/effects.asm L987–997engine/battle/core.asm L3417–3423 | Code |
Yellow's TryDoWildEncounter tests the bottom-left tile of the player's half-block where Red and Blue test the bottom-right, so “left shore” half-blocks, such as Cinnabar Island's east coast, no longer load grass encounters; the rest of the routine is unchanged. | engine/battle/wild_encounters.asm L27–29 | Code |
Yellow keeps Red and Blue's escape formula, plus 30 for each earlier attempt against a random byte, and adds one battle type, BATTLE_TYPE_RUN, that always escapes. | engine/battle/core.asm L1535–1653 | Code |
| Yellow keeps Red and Blue's turn order, Quick Attack first and Counter last unless both chose it, then the higher Speed, with a tie split evenly. | engine/battle/core.asm L380–419 | Code |