Expanded Pokémon Storage System
The expanded Pokémon Storage System is a box full of Pokémon with over 20 Pokémon. It may also refer to glitch boxes, which can be accessed with the box breaker glitch; which allows the player to load data from a specific pointer (which may be extrapolated from the valid pointers, intended to be from SRAM) into DA80 (DA7F in Yellow) onward, or move data from DA80 into another pointer.
The expanded Pokémon Storage System for the current box only may be incomplete; i.e. with box breaker glitch, switching from glitch storage box 0x29 in Pokémon Red allows the player to corrupt 0xFFCC from the data already in DA80 onward, which is part of the HRAM region (otherwise inaccessible according to the data below, but it unfortunately cannot touch the OAM DMA routine at FF80-FF89).
In Generation I
Access
The expanded Pokémon Storage System can be accessed with any glitch which touches DA80 (or DA7F), such as Map 254 (English Yellow) (from DF2C initially, but then overwritten with the contents of DFD0, which may be manipulated by tampering with the stack (normal database size: 0xEB-1 growing downwards from DFFF) with the cost of corrupting meta-map scripts), expanded party (or no expanded party international Select glitching), a closed menu Select glitch, or extended Super Glitch.
A box breaker glitch switch might work if it does not freeze the game.
9F (0x5E) in Red and Blue can also touch DA80 as it is capable of corrupting the stack, but it must be used many many times. Another glitch item might work for Yellow for corrupting the stack.
Yellow item 0x7C
Repeated use of 4# ぅ#▶ 't4# (0x7C) to obtain Trainer Pokémon (or where D056 is 02) allows the player to obtain over 20 Storage System Pokémon, as the game doesn't display the full box message and adds a new Pokémon regardless, however it is necessary to have a 0x50 sub-tile on the screen as well; so using it in a Trainer battle will typically fail unless a combination of Pokédex and an appropriate location or instant Glitch City is used, as to add 0x50 there. It is also possible to make D056 be written as 02 outside of battle (sourced from BGB coordinates x=08 y=0C, which is near the bottom of the screen, and with a Super Glitch City; specifically one with a custom tile block pointer and blocks so 0x02 0x50 are printed in succession, the 0x50 at x=09 y=0C might suffice to avoid the automatic selection effect caused by the corruption of D05A; which is controlled by x=0C y=0C). However, the automatic selection effect may not necessarily be a problem; careful placement of the top item (i.e. placing an ItemDex/Y:093 there) will allow the player to escape, after which they can repeat the glitch. This does however make the process of filling the PC boxes longer. Due to side effects of memory corruption, the player may actually be backed out anyway if they have a large number of Pokémon in the expanded Storage System, but the technical specifics of this have not been explained yet (one idea might be corruption of the stack from data added to the box interpreted to be for the Pokémon).
Unfortunately, the tile for 0xD05A (controlling the automatic selection) is three tiles on to the menu for which later the bottom-half (same y position) of "EXIT" is. Although using a long-name glitch item to break the border tile combined with a tile-saving glitch item like -g m (0x6A), flashing an unterminated name glitch item, and proceeding to use 4# ぅ#▶ 't4# (0x7C) would normally be fine, the 0x00 tile cannot be printed; so the automatic menu effect occurs.
In some other languages of Pokémon Yellow, including version 1.0 of the Japanese version and the Italian version however, the equivalent item for 4# ぅ#▶ 't4# can be used without any freezes from its unterminated name, without the need of a 0x50 byte in memory. At present it has not been verified whether these allow for sending a 21st Pokémon to the box like the English version.
Structure
This data is currently theoretical, assumes it extrapolates this way, and may be subject to technicalities. An Echo RAM address will usually mirror the same address -0x2000.
Pokémon species bytes 1 (1-256):
- DA81
- DA82
- DA83
- DA84
- DA85
- DA86
- DA87
- DA88
- DA89
- DA8A
- DA8B
- DA8C
- DA8D
- DA8E
- DA8F
- DA90
- DA91
- DA92
- DA93
- DA94
- DA95
- DA96
- DA97
- DA98
- DA99
- DA9A
- DA9B
- DA9C
- DA9D
- DA9E
- DA9F
- DAA0
- DAA1
- DAA2
- DAA3
- DAA4
- DAA5
- DAA6
- DAA7
- DAA8
- DAA9
- DAAA
- DAAB
- DAAC
- DAAD
- DAAE
- DAAF
- DAB0
- DAB1
- DAB2
- DAB3
- DAB4
- DAB5
- DAB6
- DAB7
- DAB8
- DAB9
- DABA
- DABB
- DABC
- DABD
- DABE
- DABF
- DAC0
- DAC1
- DAC2
- DAC3
- DAC4
- DAC5
- DAC6
- DAC7
- DAC8
- DAC9
- DACA
- DACB
- DACC
- DACD
- DACE
- DACF
- DAD0
- DAD1
- DAD2
- DAD3
- DAD4
- DAD5
- DAD6
- DAD7
- DAD8
- DAD9
- DADA
- DADB
- DADC
- DADD
- DADE
- DADF
- DAE0
- DAE1
- DAE2
- DAE3
- DAE4
- DAE5
- DAE6
- DAE7
- DAE8
- DAE9
- DAEA
- DAEB
- DAEC
- DAED
- DAEE
- DAEF
- DAF0
- DAF1
- DAF2
- DAF3
- DAF4
- DAF5
- DAF6
- DAF7
- DAF8
- DAF9
- DAFA
- DAFB
- DAFC
- DAFD
- DAFE
- DAFF
- DB00
- DB01
- DB02
- DB03
- DB04
- DB05
- DB06
- DB07
- DB08
- DB09
- DB0A
- DB0B
- DB0C
- DB0D
- DB0E
- DB0F
- DB10
- DB11
- DB12
- DB13
- DB14
- DB15
- DB16
- DB17
- DB18
- DB19
- DB1A
- DB1B
- DB1C
- DB1D
- DB1E
- DB1F
- DB20
- DB21
- DB22
- DB23
- DB24
- DB25
- DB26
- DB27
- DB28
- DB29
- DB2A
- DB2B
- DB2C
- DB2D
- DB2E
- DB2F
- DB30
- DB31
- DB32
- DB33
- DB34
- DB35
- DB36
- DB37
- DB38
- DB39
- DB3A
- DB3B
- DB3C
- DB3D
- DB3E
- DB3F
- DB40
- DB41
- DB42
- DB43
- DB44
- DB45
- DB46
- DB47
- DB48
- DB49
- DB4A
- DB4B
- DB4C
- DB4D
- DB4E
- DB4F
- DB50
- DB51
- DB52
- DB53
- DB54
- DB55
- DB56
- DB57
- DB58
- DB59
- DB5A
- DB5B
- DB5C
- DB5D
- DB5E
- DB5F
- DB60
- DB61
- DB62
- DB63
- DB64
- DB65
- DB66
- DB67
- DB68
- DB69
- DB6A
- DB6B
- DB6C
- DB6D
- DB6E
- DB6F
- DB70
- DB71
- DB72
- DB73
- DB74
- DB75
- DB76
- DB77
- DB78
- DB79
- DB7A
- DB7B
- DB7C
- DB7D
- DB7E
- DB7F
- DB80
Main data for Pokémon 1-256:
Size of 34 bytes each slot.
- DA96
- DAB7
- DAD8
- DAF9
- DB1A
- DB3B
- DB5C
- DB7D
- DB9E
- DBBF
- DBE0
- DC01
- DC22
- DC43
- DC64
- DC85
- DCA6
- DCC7
- DCE8
- DD09
- DD2A
- DD4B
- DD6C
- DD8D
- DDAE
- DDCF
- DDF0
- DE11
- DE32
- DE53
- DE74
- DE95
- DEB6
- DED7
- DEF8
- DF19
- DF3A
- DF5B
- DF7C
- DF9D
- DFBE
- DFDF
- E000
- E021
- E042
- E063
- E084
- E0A5
- E0C6
- E0E7
- E108
- E129
- E14A
- E16B
- E18C
- E1AD
- E1CE
- E1EF
- E210
- E231
- E252
- E273
- E294
- E2B5
- E2D6
- E2F7
- E318
- E339
- E35A
- E37B
- E39C
- E3BD
- E3DE
- E3FF
- E420
- E441
- E462
- E483
- E4A4
- E4C5
- E4E6
- E507
- E528
- E549
- E56A
- E58B
- E5AC
- E5CD
- E5EE
- E60F
- E630
- E651
- E672
- E693
- E6B4
- E6D5
- E6F6
- E717
- E738
- E759
- E77A
- E79B
- E7BC
- E7DD
- E7FE
- E81F
- E840
- E861
- E882
- E8A3
- E8C4
- E8E5
- E906
- E927
- E948
- E969
- E98A
- E9AB
- E9CC
- E9ED
- EA0E
- EA2F
- EA50
- EA71
- EA92
- EAB3
- EAD4
- EAF5
- EB16
- EB37
- EB58
- EB79
- EB9A
- EBBB
- EBDC
- EBFD
- EC1E
- EC3F
- EC60
- EC81
- ECA2
- ECC3
- ECE4
- ED05
- ED26
- ED47
- ED68
- ED89
- EDAA
- EDCB
- EDEC
- EE0D
- EE2E
- EE4F
- EE70
- EE91
- EEB2
- EED3
- EEF4
- EF15
- EF36
- EF57
- EF78
- EF99
- EFBA
- EFDB
- EFFC
- F01D
- F03E
- F05F
- F080
- F0A1
- F0C2
- F0E3
- F104
- F125
- F146
- F167
- F188
- F1A9
- F1CA
- F1EB
- F20C
- F22D
- F24E
- F26F
- F290
- F2B1
- F2D2
- F2F3
- F314
- F335
- F356
- F377
- F398
- F3B9
- F3DA
- F3FB
- F41C
- F43D
- F45E
- F47F
- F4A0
- F4C1
- F4E2
- F503
- F524
- F545
- F566
- F587
- F5A8
- F5C9
- F5EA
- F60B
- F62C
- F64D
- F66E
- F68F
- F6B0
- F6D1
- F6F2
- F713
- F734
- F755
- F776
- F797
- F7B8
- F7D9
- F7FA
- F81B
- F83C
- F85D
- F87E
- F89F
- F8C0
- F8E1
- F902
- F923
- F944
- F965
- F986
- F9A7
- F9C8
- F9E9
- FA0A
- FA2B
- FA4C
- FA6D
- FA8E
- FAAF
- FAD0
- FAF1
- FB12
- FB33
- FB54
- FB75
Trainer name data for Pokémon 1-256 (11 bytes each slot):
- DD2A
- DD35
- DD40
- DD4B
- DD56
- DD61
- DD6C
- DD77
- DD82
- DD8D
- DD98
- DDA3
- DDAE
- DDB9
- DDC4
- DDCF
- DDDA
- DDE5
- DDF0
- DDFB
- DE06
- DE11
- DE1C
- DE27
- DE32
- DE3D
- DE48
- DE53
- DE5E
- DE69
- DE74
- DE7F
- DE8A
- DE95
- DEA0
- DEAB
- DEB6
- DEC1
- DECC
- DED7
- DEE2
- DEED
- DEF8
- DF03
- DF0E
- DF19
- DF24
- DF2F
- DF3A
- DF45
- DF50
- DF5B
- DF66
- DF71
- DF7C
- DF87
- DF92
- DF9D
- DFA8
- DFB3
- DFBE
- DFC9
- DFD4
- DFDF
- DFEA
- DFF5
- E000
- E00B
- E016
- E021
- E02C
- E037
- E042
- E04D
- E058
- E063
- E06E
- E079
- E084
- E08F
- E09A
- E0A5
- E0B0
- E0BB
- E0C6
- E0D1
- E0DC
- E0E7
- E0F2
- E0FD
- E108
- E113
- E11E
- E129
- E134
- E13F
- E14A
- E155
- E160
- E16B
- E176
- E181
- E18C
- E197
- E1A2
- E1AD
- E1B8
- E1C3
- E1CE
- E1D9
- E1E4
- E1EF
- E1FA
- E205
- E210
- E21B
- E226
- E231
- E23C
- E247
- E252
- E25D
- E268
- E273
- E27E
- E289
- E294
- E29F
- E2AA
- E2B5
- E2C0
- E2CB
- E2D6
- E2E1
- E2EC
- E2F7
- E302
- E30D
- E318
- E323
- E32E
- E339
- E344
- E34F
- E35A
- E365
- E370
- E37B
- E386
- E391
- E39C
- E3A7
- E3B2
- E3BD
- E3C8
- E3D3
- E3DE
- E3E9
- E3F4
- E3FF
- E40A
- E415
- E420
- E42B
- E436
- E441
- E44C
- E457
- E462
- E46D
- E478
- E483
- E48E
- E499
- E4A4
- E4AF
- E4BA
- E4C5
- E4D0
- E4DB
- E4E6
- E4F1
- E4FC
- E507
- E512
- E51D
- E528
- E533
- E53E
- E549
- E554
- E55F
- E56A
- E575
- E580
- E58B
- E596
- E5A1
- E5AC
- E5B7
- E5C2
- E5CD
- E5D8
- E5E3
- E5EE
- E5F9
- E604
- E60F
- E61A
- E625
- E630
- E63B
- E646
- E651
- E65C
- E667
- E672
- E67D
- E688
- E693
- E69E
- E6A9
- E6B4
- E6BF
- E6CA
- E6D5
- E6E0
- E6EB
- E6F6
- E701
- E70C
- E717
- E722
- E72D
- E738
- E743
- E74E
- E759
- E764
- E76F
- E77A
- E785
- E790
- E79B
- E7A6
- E7B1
- E7BC
- E7C7
- E7D2
- E7DD
- E7E8
- E7F3
- E7FE
- E809
- E814
- E81F
Nickname data for Pokémon (11 bytes each slot):
- DE06
- DE11
- DE1C
- DE27
- DE32
- DE3D
- DE48
- DE53
- DE5E
- DE69
- DE74
- DE7F
- DE8A
- DE95
- DEA0
- DEAB
- DEB6
- DEC1
- DECC
- DED7
- DEE2
- DEED
- DEF8
- DF03
- DF0E
- DF19
- DF24
- DF2F
- DF3A
- DF45
- DF50
- DF5B
- DF66
- DF71
- DF7C
- DF87
- DF92
- DF9D
- DFA8
- DFB3
- DFBE
- DFC9
- DFD4
- DFDF
- DFEA
- DFF5
- E000
- E00B
- E016
- E021
- E02C
- E037
- E042
- E04D
- E058
- E063
- E06E
- E079
- E084
- E08F
- E09A
- E0A5
- E0B0
- E0BB
- E0C6
- E0D1
- E0DC
- E0E7
- E0F2
- E0FD
- E108
- E113
- E11E
- E129
- E134
- E13F
- E14A
- E155
- E160
- E16B
- E176
- E181
- E18C
- E197
- E1A2
- E1AD
- E1B8
- E1C3
- E1CE
- E1D9
- E1E4
- E1EF
- E1FA
- E205
- E210
- E21B
- E226
- E231
- E23C
- E247
- E252
- E25D
- E268
- E273
- E27E
- E289
- E294
- E29F
- E2AA
- E2B5
- E2C0
- E2CB
- E2D6
- E2E1
- E2EC
- E2F7
- E302
- E30D
- E318
- E323
- E32E
- E339
- E344
- E34F
- E35A
- E365
- E370
- E37B
- E386
- E391
- E39C
- E3A7
- E3B2
- E3BD
- E3C8
- E3D3
- E3DE
- E3E9
- E3F4
- E3FF
- E40A
- E415
- E420
- E42B
- E436
- E441
- E44C
- E457
- E462
- E46D
- E478
- E483
- E48E
- E499
- E4A4
- E4AF
- E4BA
- E4C5
- E4D0
- E4DB
- E4E6
- E4F1
- E4FC
- E507
- E512
- E51D
- E528
- E533
- E53E
- E549
- E554
- E55F
- E56A
- E575
- E580
- E58B
- E596
- E5A1
- E5AC
- E5B7
- E5C2
- E5CD
- E5D8
- E5E3
- E5EE
- E5F9
- E604
- E60F
- E61A
- E625
- E630
- E63B
- E646
- E651
- E65C
- E667
- E672
- E67D
- E688
- E693
- E69E
- E6A9
- E6B4
- E6BF
- E6CA
- E6D5
- E6E0
- E6EB
- E6F6
- E701
- E70C
- E717
- E722
- E72D
- E738
- E743
- E74E
- E759
- E764
- E76F
- E77A
- E785
- E790
- E79B
- E7A6
- E7B1
- E7BC
- E7C7
- E7D2
- E7DD
- E7E8
- E7F3
- E7FE
- E809
- E814
- E81F
- E82A
- E835
- E840
- E84B
- E856
- E861
- E86C
- E877
- E882
- E88D
- E898
- E8A3
- E8AE
- E8B9
- E8C4
- E8CF
- E8DA
- E8E5
- E8F0
- E8FB
In Generation II
It is theoretically possible to access Pokémon beyond slot 20, but harder; as both SRAM is usually locked, and the presence of glitch Pokémon can terminate the list. Furthermore, there are complications with ????? (FC) and ????? (FE) in Pokémon Gold and Silver, which may not occur in Crystal. With arbitrary code execution it may be possible to reliably scroll it.