These are the values for each game:
Green: pokemon_type=0 pokemon_type_blue=0
Red: pokemon_type=1 pokemon_type_blue=0
Blue: pokemon_type=1 pokemon_type_blue=1
The general pattern for branching between game variations looks like this across the codebase: ifn pokemon_type
ifn pokemon_type_blue
; blue
else
; red
endif
else
; green
endif
Conditional assembly directives like `ifn` are resolved statically during assembly, so only the code between matching conditions is included as part of the output. To anyone interested in exploring this a bit more, I'd recommend reading Chapter 8 Section 13 of the DOS version of The Art of Assembly Language Programming [0], which starts on page 43 of the linked PDF.Bonus fun-fact: In the Pokemon Yellow codebase it says `pokemon_type=1` is yellow, while `pokemon_type=0` is pink! This suggests to me that the idea of Pokemon Pink with Jigglypuff as your starter was probably being floated around but it was eventually scrapped. (The only remaining options for a pink starter pokemon with a pink evolution in the original 151 would be Clefairy and Slowpoke, neither of which are very cute.) The idea of Jigglypuff as a starter is further supported by her appearance alongside Pikachu on the roster of the original Super Smash Bros. which seems rather unexpected unless they had bigger plans for her.
[0] http://www.plantation-productions.com/Webster/www.artofasm.c...