Cite as
pret/pokeyellow
Original
https://github.com/pret/pokeyellow
Pinned
pret/pokeyellow @ b6696f24b3be84fe64cf702f5a15ba40c66b7f39
Accessed
2026-10-21
Licence
none stated (no LICENSE file)
Credit
The pret community. See https://github.com/pret/pokeyellow/graphs/contributors.
Notes
Builds the English Pokémon Yellow ROM, Pokemon Yellow (UE) [C][!].gbc, sha1 cc7d03262ebfaf2f06772c1a480c7d9d5f4a38e1 (README, roms.sha1), and a debug build.

Cited on

Claims (11)

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–171Code
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–47Code
Yellow keeps Red and Blue's CriticalHitTest line for line, so the attacker's base Speed still sets the chance, ⌊S/2⌋ 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–4717Code
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–5508Code
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–85Code
Yellow keeps Red and Blue's AdjustDamageForMoveType, so STAB is still damage+⌊damage/2⌋ before the type rows.engine/battle/core.asm L5287–5288Code
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–56Code
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–3423Code
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–29Code
Yellow keeps Red and Blue's escape formula, ⌊32P/(⌊E/4⌋mod256)⌋ 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–1653Code
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–419Code