Forcing the Eevee 'gift script'
Eevee Factory glitch is a glitch in Pokémon Red, Blue, and Yellow. It can be exploited as a sub-glitch of the expanded items pack, specifically text pointer manipulation.
What is TPM?
Text pointer manipulation is a trick where you change a map's text pointer table data (Red/Blue addresses D36C, D36D; Yellow addresses D36B, D36C) so that NPCs (except for Pokémon Center couch people) and some signs bring up different texts and/or scripts.
Via the dry underflow glitch, we can access the text pointer table location addresses as item 40 and item 40 quantity.
Accessing the "give Eevee" script
For "Eevee Factory", we want to access the script to give Eevee. In these demonstrations, we access it by opening text ID 07.
In Red/Blue, this lies at 0x01DD46. As a three byte pointer, this is 07:5D46, which is part of banked ROM (4000-7FFF) meaning that maps with the wrong bank will not work.
Both maps such as Cinnabar Island, Route 1, Professor Oak's Lab (full list) and the script from Celadon Mansion that allows one to obtain Eevee are use bank 7; so these maps are suitable for Eevee Factory without having to change the map ID.
If the text pointer table address reads 33 5D (5D33), then text box 07 will bring up the text at 5D46 (after reading the pointer at 1DD3F; 07:5D3F) - a relationship where the text pointer location in read only or writable memory=table address+(2*(ID-1)).
Hence, setting item 40 to Poké Doll x 5D (33 5D) in Cinnabar Island and reading the east-most sign will give you Eevee.
In Pokémon Yellow, the Eevee script is found at address 0x1D64F (07:564F). If you set item 40 to Fresh Water x86 (3C 56); then talking to the same sign in Cinnabar Island will also give you an Eevee.
- Shenanagans, ChickasaurusGL (article description)