Jump to content

Meta-map script activation: Difference between revisions

 
(5 intermediate revisions by the same user not shown)
Line 2:
{{Bulbapedia2|0 ERROR}}
 
'''Meta-map script activation''' refers to a set of [[glitch]]es in {{RBY}}. These glitches will modify the "meta-map script" (also known as GameProgressFlags in the Pokémon disassembly projects<ref>[https://github.com/pret/pokered/blob/master/ram/wram.asm Pokémon Red disassembly project WRAM]</ref><ref>[https://github.com/pret/pokeyellow/blob/master/ram/wram.asm Pokémon Yellow disassembly project WRAM]</ref>) associated with a certain map, which is a special map script used to execute code on particular maps (one byte for each map). An example of a meta-map script is one that sets the event in Pallet Town where Professor Oak stops the player from walking into the grass. It is disabled later thanks to the game changing the ID of the meta-map script later.
 
Unlike the temporary map scripts stored at D36E-D36F, meta-map scripts are usually permanent unless the script itself changes the meta-map script ID to a different value. They are also specific to each map, unlike the D36E-D36F address that is a pointer to anywhere in the current bank in the ROM, or RAM. Therefore, if an invalid meta-map script causes a map (e.g. a route, a level of a cave) to become glitchy, it will persist even if the player leaves the map, and saves and resets the game.
Line 148:
 
After using the expanded items pack to escape this map (as the exit by default will link back to the house), the player will be able to access maps with invalid meta-map scripts.
 
The scripts written by map 0xFE corruption are always the same, as the corruption for D5EF+ is due to the game copying ROM data from 20:5193 onward into that portion of RAM (possibly in the middle of 20:4F14 SurfingPikachu1Graphics1).
 
{| class="wikitable"
! Address !! Label !! New script ID (HEX) !! Source of corruption
|-
| D5EF || W_OAKSLABCURSCRIPT || 0 || 20:5193
|-
| D5F0 || W_PALLETTOWNCURSCRIPT || 0 || 20:5194
|-
| D5F1 || || 0 || 20:5195
|-
| D5F2 || W_BLUESHOUSECURSCRIPT || 0 || 20:5196
|-
| D5F3 || W_VIRIDIANCITYCURSCRIPT || 0 || 20:5197
|-
| D5F4 || || 38 || 20:5198
|-
| D5F5 || || 38 || 20:5199
|-
| D5F6 || W_PEWTERCITYCURSCRIPT || 4 || 20:519A
|-
| D5F7 || W_ROUTE3CURSCRIPT || 4 || 20:519B
|-
| D5F8 || W_ROUTE4CURSCRIPT || 3C || 20:519C
|-
| D5F9 || || 3C || 20:519D
|-
| D5FA || W_VIRIDIANGYMCURSCRIPT || 44 || 20:519E
|-
| D5FB || W_PEWTERGYMCURSCRIPT || 44 || 20:519F
|-
| D5FC || W_CERULEANGYMCURSCRIPT || 3E || 20:51A0
|-
| D5FD || W_VERMILIONGYMCURSCRIPT || 3E || 20:51A1
|-
| D5FE || W_CELADONGYMCURSCRIPT || 0 || 20:51A2
|-
| D5FF || W_ROUTE6CURSCRIPT || 0 || 20:51A3
|-
| D600 || W_ROUTE8CURSCRIPT || 2 || 20:51A4
|-
| D601 || W_ROUTE24CURSCRIPT || 2 || 20:51A5
|-
| D602 || W_ROUTE25CURSCRIPT || 2 || 20:51A6
|-
| D603 || W_ROUTE9CURSCRIPT || 2 || 20:51A7
|-
| D604 || W_ROUTE10CURSCRIPT || 2 || 20:51A8
|-
| D605 || W_MTMOON1CURSCRIPT || 2 || 20:51A9
|-
| D606 || W_MTMOON3CURSCRIPT || 3E || 20:51AA
|-
| D607 || W_SSANNE8CURSCRIPT || 3E || 20:51AB
|-
| D608 || W_SSANNE9CURSCRIPT || 42 || 20:51AC
|-
| D609 || W_ROUTE22CURSCRIPT || 42 || 20:51AD
|-
| D60A || || 42 || 20:51AE
|-
| D60B || W_REDSHOUSE2CURSCRIPT || 42 || 20:51AF
|-
| D60C || W_VIRIDIANMARKETCURSCRIPT || 3E || 20:51B0
|-
| D60D || W_ROUTE22GATECURSCRIPT || 3E || 20:51B1
|-
| D60E || W_CERULEANCITYCURSCRIPT || 0 || 20:51B2
|-
| D60F || || 0 || 20:51B3
|-
| D610 || || 0 || 20:51B4
|-
| D611 || || 0 || 20:51B5
|-
| D612 || || 0 || 20:51B6
|-
| D613 || || 0 || 20:51B7
|-
| D614 || || 3C || 20:51B8
|-
| D615 || || 3C || 20:51B9
|-
| D616 || W_SSANNE5CURSCRIPT || 22 || 20:51BA
|-
| D617 || W_VIRIDIANFORESTCURSCRIPT || 22 || 20:51BB
|-
| D618 || W_MUSEUM1FCURSCRIPT || 22 || 20:51BC
|-
| D619 || W_ROUTE13CURSCRIPT || 22 || 20:51BD
|-
| D61A || W_ROUTE14CURSCRIPT || 22 || 20:51BE
|-
| D61B || W_ROUTE17CURSCRIPT || 22 || 20:51BF
|-
| D61C || W_ROUTE19CURSCRIPT || 22 || 20:51C0
|-
| D61D || W_ROUTE21CURSCRIPT || 22 || 20:51C1
|-
| D61E || W_SAFARIZONEENTRANCECURSCRIPT || 0 || 20:51C2
|-
| D61F || W_ROCKTUNNEL2CURSCRIPT || 0 || 20:51C3
|-
| D620 || W_ROCKTUNNEL1CURSCRIPT || FE || 20:51C4
|-
| D621 || || FE || 20:51C5
|-
| D622 || W_ROUTE11CURSCRIPT || 10 || 20:51C6
|-
| D623 || W_ROUTE12CURSCRIPT || 10 || 20:51C7
|-
| D624 || W_ROUTE15CURSCRIPT || 10 || 20:51C8
|-
| D625 || W_ROUTE16CURSCRIPT || 10 || 20:51C9
|-
| D626 || W_ROUTE18CURSCRIPT || 10 || 20:51CA
|-
| D627 || W_ROUTE20CURSCRIPT || 10 || 20:51CB
|-
| D628 || W_SSANNE10CURSCRIPT || 10 || 20:51CC
|-
| D629 || W_VERMILIONCITYCURSCRIPT || 10 || 20:51CD
|-
| D62A || W_POKEMONTOWER2CURSCRIPT || 10 || 20:51CE
|-
| D62B || W_POKEMONTOWER3CURSCRIPT || 10 || 20:51CF
|-
| D62C || W_POKEMONTOWER4CURSCRIPT || 10 || 20:51D0
|-
| D62D || W_POKEMONTOWER5CURSCRIPT || 10 || 20:51D1
|-
| D62E || W_POKEMONTOWER6CURSCRIPT || 0 || 20:51D2
|-
| D62F || W_POKEMONTOWER7CURSCRIPT || 0 || 20:51D3
|-
| D630 || W_ROCKETHIDEOUT1CURSCRIPT || 0 || 20:51D4
|-
| D631 || W_ROCKETHIDEOUT2CURSCRIPT || 0 || 20:51D5
|-
| D632 || W_ROCKETHIDEOUT3CURSCRIPT || 0 || 20:51D6
|-
| D633 || W_ROCKETHIDEOUT4CURSCRIPT || 0 || 20:51D7
|-
| D634 || || 3C || 20:51D8
|-
| D635 || W_ROUTE6GATECURSCRIPT || 3C || 20:51D9
|-
| D636 || W_ROUTE8GATECURSCRIPT || 42 || 20:51DA
|-
| D637 || || 42 || 20:51DB
|-
| D638 || || 42 || 20:51DC
|-
| D639 || W_CINNABARISLANDCURSCRIPT/W_MANSION1CURSCRIPT || 42 || 20:51DD
|-
| D63A || || 42 || 20:51DE
|-
| D63B || W_MANSION2CURSCRIPT || 42 || 20:51DF
|-
| D63C || W_MANSION3CURSCRIPT || 3C || 20:51E0
|-
| D63D || W_MANSION4CURSCRIPT || 3C || 20:51E1
|-
| D63E || W_VICTORYROAD2CURSCRIPT || 0 || 20:51E2
|-
| D63F || W_VICTORYROAD3CURSCRIPT || 0 || 20:51E3
|-
| D640 || || 10 || 20:51E4
|-
| D641 || W_FIGHTINGDOJOCURSCRIPT || 10 || 20:51E5
|-
| D642 || W_SILPHCO2CURSCRIPT || 10 || 20:51E6
|-
| D643 || W_SILPHCO3CURSCRIPT || 10 || 20:51E7
|-
| D644 || W_SILPHCO4CURSCRIPT || 10 || 20:51E8
|-
| D645 || W_SILPHCO5CURSCRIPT || 10 || 20:51E9
|-
| D646 || W_SILPHCO6CURSCRIPT || 10 || 20:51EA
|-
| D647 || W_SILPHCO7CURSCRIPT || 10 || 20:51EB
|-
| D648 || W_SILPHCO8CURSCRIPT || 10 || 20:51EC
|-
| D649 || W_SILPHCO9CURSCRIPT || 10 || 20:51ED
|-
| D64A || W_HALLOFFAMEROOMCURSCRIPT || 10 || 20:51EE
|-
| D64B || W_GARYCURSCRIPT || 10 || 20:51EF
|-
| D64C || W_LORELEICURSCRIPT || 10 || 20:51F0
|-
| D64D || W_BRUNOCURSCRIPT || 10 || 20:51F1
|-
| D64E || W_AGATHACURSCRIPT || 0 || 20:51F2
|-
| D64F || W_UNKNOWNDUNGEON3CURSCRIPT || 0 || 20:51F3
|-
| D650 || W_VICTORYROAD1CURSCRIPT || 0 || 20:51F4
|-
| D651 || || 0 || 20:51F5
|-
| D652 || W_LANCECURSCRIPT || 10 || 20:51F6
|-
| D653 || || 10 || 20:51F7
|-
| D654 || || 0 || 20:51F8
|-
| D655 || || 0 || 20:51F9
|-
| D656 || || 10 || 20:51FA
|-
| D657 || W_SILPHCO10CURSCRIPT || 10 || 20:51FB
|-
| D658 || W_SILPHCO11CURSCRIPT || 10 || 20:51FC
|-
| D659 || || 10 || 20:51FD
|-
| D65A || W_FUCHSIAGYMCURSCRIPT || 10 || 20:51FE
|-
| D65B || W_SAFFRONGYMCURSCRIPT || 10 || 20:51FF
|-
| D65C || || 10 || 20:5200
|-
| D65D || W_CINNABARGYMCURSCRIPT || 10 || 20:5201
|-
| D65E || W_CELADONGAMECORNERCURSCRIPT || 0 || 20:5202
|-
| D65F || W_ROUTE16GATECURSCRIPT || 0 || 20:5203
|-
| D660 || W_BILLSHOUSECURSCRIPT || 0 || 20:5204
|-
| D661 || W_ROUTE5GATECURSCRIPT || 0 || 20:5205
|-
| D662 || W_POWERPLANTCURSCRIPT/W_ROUTE7GATECURSCRIPT || 0 || 20:5206
|-
| D663 || || 0 || 20:5207
|-
| D664 || W_SSANNE2CURSCRIPT || 0 || 20:5208
|-
| D665 || W_SEAFOAMISLANDS4CURSCRIPT || 0 || 20:5209
|-
| D666 || W_ROUTE23CURSCRIPT || 0 || 20:520A
|-
| D667 || W_SEAFOAMISLANDS5CURSCRIPT || 0 || 20:520B
|-
| D668 || W_ROUTE18GATECURSCRIPT || 7E || 20:520C
|}
 
== Fixing the glitch ==
Line 158 ⟶ 408:
 
==List of meta-map script addresses==
''See [[MetascriptDex]]. There are also some differences between the Red/Blue and Yellow layouts.''
These are the maps that support meta-map scripts, listed with the addresses that store the ID (one byte, 256 values) of the meta-map script.
 
(Thanks to the Pokémon Red disassembly for these addresses)
 
*W_OAKSLABCURSCRIPT:: ; d5f0
*W_PALLETTOWNCURSCRIPT:: ; d5f1
*W_BLUESHOUSECURSCRIPT:: ; d5f3
*W_VIRIDIANCITYCURSCRIPT:: ; d5f4
*W_PEWTERCITYCURSCRIPT:: ; d5f7
*W_ROUTE3CURSCRIPT:: ; d5f8
*W_ROUTE4CURSCRIPT:: ; d5f9
*W_VIRIDIANGYMCURSCRIPT:: ; d5fb
*W_PEWTERGYMCURSCRIPT:: ; d5fc
*W_CERULEANGYMCURSCRIPT:: ; d5fd
*W_VERMILIONGYMCURSCRIPT:: ; d5fe
*W_CELADONGYMCURSCRIPT:: ; d5ff
*W_ROUTE6CURSCRIPT:: ; d600
*W_ROUTE8CURSCRIPT:: ; d601
*W_ROUTE24CURSCRIPT:: ; d602
*W_ROUTE25CURSCRIPT:: ; d603
*W_ROUTE9CURSCRIPT:: ; d604
*W_ROUTE10CURSCRIPT:: ; d605
*W_MTMOON1CURSCRIPT:: ; d606
*W_MTMOON3CURSCRIPT:: ; d607
*W_SSANNE8CURSCRIPT:: ; d608
*W_SSANNE9CURSCRIPT:: ; d609
*W_ROUTE22CURSCRIPT:: ; d60a
*W_REDSHOUSE2CURSCRIPT:: ; d60c
*W_VIRIDIANMARKETCURSCRIPT:: ; d60d
*W_ROUTE22GATECURSCRIPT:: ; d60e
*W_CERULEANCITYCURSCRIPT:: ; d60f
*W_SSANNE5CURSCRIPT:: ; d617
*W_VIRIDIANFORESTCURSCRIPT:: ; d618
*W_MUSEUM1FCURSCRIPT:: ; d619
*W_ROUTE13CURSCRIPT:: ; d61a
*W_ROUTE14CURSCRIPT:: ; d61b
*W_ROUTE17CURSCRIPT:: ; d61c
*W_ROUTE19CURSCRIPT:: ; d61d
*W_ROUTE21CURSCRIPT:: ; d61e
*W_SAFARIZONEENTRANCECURSCRIPT:: ; d61f
*W_ROCKTUNNEL2CURSCRIPT:: ; d620
*W_ROCKTUNNEL1CURSCRIPT:: ; d621
*W_ROUTE11CURSCRIPT:: ; d623
*W_ROUTE12CURSCRIPT:: ; d624
*W_ROUTE15CURSCRIPT:: ; d625
*W_ROUTE16CURSCRIPT:: ; d626
*W_ROUTE18CURSCRIPT:: ; d627
*W_ROUTE20CURSCRIPT:: ; d628
*W_SSANNE10CURSCRIPT:: ; d629
*W_VERMILIONCITYCURSCRIPT:: ; d62a
*W_POKEMONTOWER2CURSCRIPT:: ; d62b
*W_POKEMONTOWER3CURSCRIPT:: ; d62c
*W_POKEMONTOWER4CURSCRIPT:: ; d62d
*W_POKEMONTOWER5CURSCRIPT:: ; d62e
*W_POKEMONTOWER6CURSCRIPT:: ; d62f
*W_POKEMONTOWER7CURSCRIPT:: ; d630
*W_ROCKETHIDEOUT1CURSCRIPT:: ; d631
*W_ROCKETHIDEOUT2CURSCRIPT:: ; d632
*W_ROCKETHIDEOUT3CURSCRIPT:: ; d633
*W_ROCKETHIDEOUT4CURSCRIPT:: ; d634
*W_ROUTE6GATECURSCRIPT:: ; d636
*W_ROUTE8GATECURSCRIPT:: ; d637
*W_CINNABARISLANDCURSCRIPT:: ; d639
*W_MANSION1CURSCRIPT:: ; d63a
*W_MANSION2CURSCRIPT:: ; d63c
*W_MANSION3CURSCRIPT:: ; d63d
*W_MANSION4CURSCRIPT:: ; d63e
*W_VICTORYROAD2CURSCRIPT:: ; d63f
*W_VICTORYROAD3CURSCRIPT:: ; d640
*W_FIGHTINGDOJOCURSCRIPT:: ; d642
*W_SILPHCO2CURSCRIPT:: ; d643
*W_SILPHCO3CURSCRIPT:: ; d644
*W_SILPHCO4CURSCRIPT:: ; d645
*W_SILPHCO5CURSCRIPT:: ; d646
*W_SILPHCO6CURSCRIPT:: ; d647
*W_SILPHCO7CURSCRIPT:: ; d648
*W_SILPHCO8CURSCRIPT:: ; d649
*W_SILPHCO9CURSCRIPT:: ; d64a
*W_HALLOFFAMEROOMCURSCRIPT:: ; d64b
*W_GARYCURSCRIPT:: ; d64c
*W_LORELEICURSCRIPT:: ; d64d
*W_BRUNOCURSCRIPT:: ; d64e
*W_AGATHACURSCRIPT:: ; d64f
*W_UNKNOWNDUNGEON3CURSCRIPT:: ; d650
*W_VICTORYROAD1CURSCRIPT:: ; d651
*W_LANCECURSCRIPT:: ; d653
*W_SILPHCO10CURSCRIPT:: ; d658
*W_SILPHCO11CURSCRIPT:: ; d659
*W_FUCHSIAGYMCURSCRIPT:: ; d65b
*W_SAFFRONGYMCURSCRIPT:: ; d65c
*W_CINNABARGYMCURSCRIPT:: ; d65e
*W_CELADONGAMECORNERCURSCRIPT:: ; d65f
*W_ROUTE16GATECURSCRIPT:: ; d660
*W_BILLSHOUSECURSCRIPT:: ; d661
*W_ROUTE5GATECURSCRIPT:: ; d662
*W_POWERPLANTCURSCRIPT:: ; d663
*W_ROUTE7GATECURSCRIPT:: ; d663
*W_SSANNE2CURSCRIPT:: ; d665
*W_SEAFOAMISLANDS4CURSCRIPT:: ; d666
*W_ROUTE23CURSCRIPT:: ; d667
*W_SEAFOAMISLANDS5CURSCRIPT:: ; d668
*W_ROUTE18GATECURSCRIPT:: ; d669
 
== YouTube video ==
{{Youtube|f0tx96EkkrM|Crystal_}}
 
== References ==
<references/>
[[Category:Generation I glitches]]
Cookies help us deliver our services. By using our services, you agree to our use of cookies.