User:Evie (Torchickens)/Sandbox: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Evie's list of things she wants to do, or has recently come across but doesn't know much about. Feel free to add details if you like.
Evie's list of things she wants to do, or has recently come across but doesn't know much about. Feel free to add details if you like.
==Timing==
*[https://rgbds.gbdev.io/docs/v0.3.5/gbz80.7 Cycles]
*[https://gbdev.gg8.se/wiki/articles/OAM_DMA_tutorial DMA transfer]: ~160 microseconds
*~FF46 write - began OAM DMA transfer (one byte RAM specified for h (high byte) in RAM pointer that mirrors rDMA/FEXX-9F (you know this))
*"[https://gbdev.io/pandocs/STAT.html LY indicates the current horizontal line, which might be about to be drawn, being drawn, or just been drawn. LY can hold any value from 0 to 153, with values from 144 to 153 indicating the VBlank period]."
*You can only access HRAM while a DMA transfer is taking place.
*"[[RNG correlation (Generation I)|the rDIV register, which itself is incremented at a rate of 16384Hz (~16779Hz on SGB)]]"
*From that RNG correlation article "516 cycles (2.015625 rDIV periods)" - so just say 2/516 (1/258 rDIV) for one cycle.
*[https://gbdev.io/pandocs/OAM_Corruption_Bug.html OAM corruption bug]
*[https://gbdev.gg8.se/wiki/articles/Video_Display Video Display]/VBlank
*[https://www.3bscientific.com/gb/microsecond-counter-230-v-5060-hz-1017333-u8498285-230-3b-scientific,p_813_25740.html Microsecond counter]
*It's more complex than this, but just leave these notes for now.


==General==
*Document the Transform endless battle change between Stadium Japan and Stadium non-Japan in an article and video
*Document these https://github.com/pret/pokecrystal/issues/795 ; re: Transform
*Corrupted box research (Generation II)


To-do: Defaults and relationship with Game Boy, GBC, SGB boot ROMs.
==Notes pertaining to code/data by ROM bank and patterns on what tends to appear there (EN Blue)==
The reason I started this is because some [[unintended ROM code execution]] is restricted to one ROM bank. While [[arbitrary code execution]] in general allows full control, this might be useful if you restrict your code execution to e.g. ROM code in an extrapolated pointer table from a single bank.


==Hexadecimal byte representation of Cryo's real-time RAM writer for writing code using button sequences==


https://archives.glitchcity.info/forums/board-115/thread-7744/page-0.html
'''No bank/Bank 0:'''


Red/Blue EN:
Patterns:

Code tends to be :-

*Various highly important functions like those initialised on booting up the game.
*Map functions
*Text functions
*Sprite functions
*Overworld
*New battle


<pre>
<pre>
2EFE1D5414D523CD
00:00B5 CopyData
FA3F3DF0F8FE0CC8
00:0061 DisableLCD
F0B237B728F143B9
00:007B EnableLCD
4228EB4F41865077
00:0082 ClearSprites
4418E4
00:009D FarCopyData
00:008D HideSprites
00:2024 VBlank
00:2306 Timer
00:2125 Serial
00:0150 Start
00:1F54 Init
00:35D6 Bankswitch
00:1241 LoadMapData
00:12E7 ResetUsingStrengthOutOfBattleBit
00:091F MapEntryAfterBattle
00:2429 UpdateSprites
00:20AF DelayFrame
00:20BA LoadGBPal
00:039E HandleMidJump
00:05B5 OverworldLoopLessDelay.moveAhead
00:0F4D JoypadOverworld
00:073C WarpFound2
00:0965 HandleFlyWarpOrDungeonWarp
00:062C OverworldLoopLessDelay.newBattle
00:047D OverworldLoopLessDelay.displayDialogue
00:04EB OverworldLoopLessDelay.checkIfDownButtonIsPressed
00:04CD OverworldLoopLessDelay.noDirectionButtonsPressed
00:30FD IsPlayerCharacterBeingControlledByGame
00:3EB5 CheckForHiddenObjectOrBookshelfOrCardKeyDoor
00:03FF OverworldLoop
00:0B23 IsSpriteOrSignInFrontOfPlayer
00:3E6D Predef
00:2920 DisplayTextID
00:12BC SwitchToMapRomBank
00:03A6 EnterMap
00:0683 NewBattle
00:0637 OverworldLoopLessDelay.battleOccurred
00:0BD1 CollisionCheckOnLand
00:08E9 ExtraWarpCheck
00:0706 CheckWarpsCollision
00:0FB7 CollisionCheckOnWater
00:06A0 BikeSpeedup
00:0D27 AdvancePlayerSprite
00:07BA CheckMapConnections
00:06B4 CheckWarpsNoCollision
00:0931 HandleBlackOut
00:0670 OverworldLoopLessDelay.noFaintCheck
00:3739 DelayFrames
00:101B RunMapScript
00:019A Joypad
00:07B5 ContinueCheckWarpsNoCollisionLoop
00:08E1 CheckIfInOutsideMap
00:20EF GBFadeOutToBlack
00:08C9 PlayMapChangeSound
00:098F LeaveMapAnim
00:12DA IgnoreInputForHalfSecond
00:06CC CheckWarpsNoCollisionLoop
00:08AD CheckMapConnections.loadNewMap
00:107C LoadMapHeader
00:2312 PlayDefaultMusicFadeOutCurrent
00:3DEF GoPAL_SET
00:09FC LoadTileBlockMap
00:0402 OverworldLoopLessDelay
00:23B1 PlaySound
00:20F6 GBFadeInFromWhite
00:0951 StopMusic
00:200E StopAllSounds
00:3DD7 Delay3
00:09C5 IsBikeRidingAllowed
00:104D LoadWalkingPlayerSpriteGraphics
00:105D LoadBikePlayerSpriteGraphics
00:1055 LoadSurfingPlayerSpriteGraphics
00:09E2 BikeRidingTilesets
00:17F7 FarCopyData2
00:0ADE LoadNorthSouthConnectionsTileMap
00:0B02 LoadEastWestConnectionsTileMap
00:0B6B IsSpriteInFrontOfPlayer
00:0C7E TilePairCollisionsLand
00:0C2A CheckForJumpingAndTilePairCollisions
00:0C10 CheckTilePassable
00:0F1D DrawTileBlock
00:0E36 AdvancePlayerSprite.scrollBackgroundAndSprites
00:0E65 MoveTileBlockMapPointerEast
00:0E6F MoveTileBlockMapPointerWest
00:0E79 MoveTileBlockMapPointerSouth
00:0E85 MoveTileBlockMapPointerNorth
00:0CAA LoadCurrentMapView
00:0EB2 ScheduleSouthRowRedraw
00:0E91 ScheduleNorthRowRedraw
00:0ED3 ScheduleEastColumnRedraw
00:0F08 ScheduleWestColumnRedraw
00:0EA6 CopyToScreenEdgeTiles (CopyToRedrawRowOrColumnSrcTiles)
00:0EF2 ScheduleColumnRedrawHelper
00:1004 CollisionCheckOnWater.noCollision
00:0CA0 TilePairCollisionsWater
00:0997 LoadPlayerSpriteGraphics
00:2307 PlayDefaultMusic
00:310E RunNPCMovementScript
00:104C RunMapScript.return
00:1848 CopyVideoData
00:01AE MapHeaderPointers
00:1238 CopyMapConnectionHeader
00:11F8 LoadMapHeader.finishUp
00:1188 LoadMapHeader.loadSpriteLoop
00:36A0 LoadTextBoxTilePatterns
00:09E8 LoadTilesetTilePatternData
00:235F UpdateMusic6Times
00:35BC BankswitchHome
00:35CD BankswitchBack
00:3831 JoypadLowSensitivity
00:1665 LoadMonFrontSprite
00:13D9 GetCryData
00:3748 WaitForSoundToFinish
00:3DD4 GBPalWhiteOutWithDelay3
00:1420 PartyMenuInit
00:14D4 DrawPartyMenu
00:145A HandlePartyMenuInput
00:14D9 RedrawPartyMenu
00:36C0 LoadHpBarAndStatusTilePatterns
00:3AC2 HandleMenuInput_
00:3BEC PlaceUnfilledArrowMenuCursor
00:14AC HandlePartyMenuInput.swappingPokemon
00:3C5F PrintNumber
00:3A87 AddNTimes
00:3A7D SkipFixedLengthTextEntries
00:1604 PrintBCDDigit
00:38D3 PrintLetterDelay
00:24FD UncompressSpriteData
00:1627 UncompressMonSprite
00:16DF ZeroSpriteBuffer
00:16C2 AlignSpriteDataCentered
00:16EA InterlaceMergeSpriteBuffers
00:18FC CopyScreenTileBufferToVRAM.setup
00:1CDD GetRowColAddressBgMap
00:194F NPlaceChar
00:19E8 PlaceNextChar_inc
00:19EC Char00
00:1B0A Char4C
00:1AF8 Char4B
00:1AB4 Char51
00:1AD5 Char49
00:19F9 Char52
00:19FF Char53
00:1A1D Char54
00:1A11 Char5B
00:1A17 Char5E
00:1A0B Char5C
00:1A05 Char5D
00:1A7C Char55
00:1A23 Char56
00:1AAD Char57
00:1A95 Char58
00:1A29 Char4A
00:1A91 Char5F
00:1A2F Char59
00:1A35 Char5A
00:1956 PlaceNextChar
00:19F4 Char00Text
00:1A58 Char5DText
00:1A55 Char5CText
00:1A60 Char5BText
00:1A63 Char5EText
00:1A6A Char54Text
00:1A6F Char56Text
00:1A79 Char4AText
00:1A72 Char5AText
00:1955 PlaceString
00:1A8C Char55Text
00:1B40 TextCommandProcessor
00:1AA2 Next1AA2
00:1B3A ProtectedDelay3
00:3898 ManualTextScroll
00:1AB3 Char58Text
00:18C4 ClearScreenArea
00:1B18 Next1B18
00:1CA3 TextCommand17
00:1C31 TextCommand0B
00:1CC1 TextCommandJumpTable
00:1922 TextBoxBorder
00:15CD PrintBCDNumber
00:1B55 NextTextCommand
00:1C9A TextCommand0D
00:1C64 TextCommandSounds
00:13D0 PlayCry
00:1B8A TextCommand00
00:1B97 TextCommand01
00:1BA5 TextCommand02
00:1BB7 TextCommand03
00:1B78 TextCommand04
00:1BC5 TextCommand05
00:1BCC TextCommand06
00:1BE7 TextCommand07
00:1BF9 TextCommand08
00:1BFF TextCommand09
00:1C1D TextCommand0A
00:1C78 TextCommand0C
00:1D42 RedrawExposedScreenEdge.drawHalf
00:1F19 FlowerTile1
00:1F29 FlowerTile2
00:1F39 FlowerTile3
00:3DE5 GBPalWhiteOut
00:2004 ClearVram
00:36E0 FillMemory
00:1CF0 ClearBgMap
00:3DDC GBPalNormal
00:1D57 AutoBgMapTransfer
00:1DE1 VBlankCopyBgMap
00:1D01 RedrawExposedScreenEdge
00:1E5E VBlankCopy
00:1E02 VBlankCopyDouble
00:1EBE UpdateMovingBgTiles
00:3E5C Random
00:28CB FadeOutAudio
00:015F ReadJoypad
00:2116 FadePal4
00:210D FadePal1
00:211C FadePal6
00:211F FadePal7
00:219A Serial_ExchangeByte
00:2237 IsUnknownCounterZero
00:2231 WaitLoop_15Iterations
00:223F SetUnknownCounterToFFFF
00:3719 SaveScreenTilesToBuffer1
00:227F Serial_SyncAndExchangeNybble
00:3725 LoadScreenTilesFromBuffer1
00:22C3 Serial_ExchangeNybble
00:22ED Serial_SendZeroByte
00:22D7 Serial_ExchangeNybble.doExchange
00:2385 CompareMapMusicBankWithCurrentBank
00:24D6 TextScriptEndingChar
00:24D7 TextScriptEnd
00:251A _UncompressSpriteData
00:268B ReadNextInputByte
00:2670 ReadNextInputBit
00:2897 StoreSpriteOutputPointer
00:2649 WriteSpriteBitsToBuffer
00:25D8 MoveToNextBufferPosition
00:269F LengthEncodingOffsetList
00:2556 UncompressSpriteDataLoop
00:26BF UnpackSprite
00:2877 UnpackSpriteMode2
00:27C7 XorSpriteChunks
00:26D4 SpriteDifferentialDecode
00:27B7 DecodeNybble0TableFlipped
00:27BF DecodeNybble1TableFlipped
00:27A7 DecodeNybble0Table
00:27AF DecodeNybble1Table
00:276D DifferentialDecodeNybble
00:2841 ResetSpriteBufferPointers
00:2837 ReverseNybble
00:2867 NybbleReverseTable
00:28C4 ResetPlayerSpriteData_ClearSpriteData
00:2ACD DisplayStartMenu
00:2A90 DisplaySafariGameOverText
00:2A9B DisplayPokemonFaintedText
00:2AA9 DisplayPlayerBlackedOutText
00:2ABF DisplayRepelWoreOffText
00:2A2E DisplayPokemartDialogue
00:2A72 DisplayPokemonCenterDialogue
00:3460 FuncTX_ItemStoragePC
00:346A FuncTX_BillsPC
00:347F FuncTX_PokemonCenterPC
00:3474 FuncTX_SlotMachine
00:3C59 PrintText_NoCreatingTextBox
00:3865 WaitForTextScrollButtonPress
00:2A55 PokemartGreetingText
00:3C49 PrintText
00:2A5A LoadItemList
00:29D6 AfterDisplayingTextID
00:2AA4 PokemonFaintedText
00:2ABA PlayerBlackedOutText
00:29DF HoldTextDisplayOpen
00:2AC8 RepelWoreOffText
00:3ABE HandleMenuInput
00:3BF9 EraseMenuCursor
00:2B70 CloseStartMenu
00:36F4 SaveScreenTilesToBuffer2
00:29E8 CloseTextDisplay
00:30E8 DisplayTextBoxID
00:3740 PlaySoundWaitForCurrent
00:2E5A PrintListMenuEntries
00:3B7C PlaceMenuCursor
00:2D2D DisplayListMenuIDLoop.checkOtherKeys
00:2E3B ExitListMenu
00:37DF GetItemPrice
00:376B GetName
00:15BA GetPartyMonName
00:3826 CopyStringToCF4B
00:2C53 DisplayListMenuIDLoop
00:2E30 InitialQuantityText
00:2DA2 DisplayChooseQuantityMenu.incrementQuantity
00:2E24 DisplayChooseQuantityMenu.buttonAPressed
00:2E29 DisplayChooseQuantityMenu.buttonBPressed
00:2E34 SpacesBetweenQuantityAndPriceText
00:2D89 DisplayChooseQuantityMenu.waitForKeyPressLoop
00:2F91 PrintListMenuEntries.printCancelMenuItem
00:2FCF GetItemName
00:3058 GetMoveName
00:1372 LoadMonData
00:150B PrintLevel
00:30D9 IsKeyItem
00:2E87 PrintListMenuEntries.loop
00:2F97 ListMenuCancelText
00:2FF3 GetMachineName
00:303E HiddenPrefix
00:303C TechnicalPrefix
00:3052 HMMoves
00:3DAB IsInArray
00:3140 RunNPCMovementScript.NPCMovementScriptPointerTables
00:3D97 CallFunctionInTable
00:3157 StoreTrainerHeaderPointer
00:3193 ReadTrainerHeaderInfo
00:31C7 TrainerFlagAction
00:3354 SaveEndBattleTextPointers
00:336A EngageMapTrainer
00:325D StartTrainerBattle
00:3306 CheckForEngagingTrainers
00:32CF TrainerWalkUpToPlayer_Bank0
00:32D7 InitBattleEnemyParameters
00:32C1 ResetButtonPressedAndMapScript
00:33E8 PlayTrainerMusic
00:33CF TrainerEndBattleText
00:33B7 GetSavedEndBattleTextPointer
00:3439 EvilTrainerList
00:3434 FemaleTrainerList
00:350C DecodeRLEList
00:34AE SetSpriteFacingDirection
00:34FC GetPointerWithinSpriteStateData1
00:34C7 CheckCoords
00:354E GetSpriteMovementByte1Pointer
00:3558 GetSpriteMovementByte2Pointer
00:359E GetTrainerName
00:3A8E StringCmp
00:35E4 Bankswitch.Return
00:35FF InitYesNoTextBoxParameters
00:3541 SetSpriteMovementBytesToFF
00:182B FarCopyDataDouble
00:1886 CopyVideoDataDouble
00:3709 LoadScreenTilesFromBuffer2DisableBGTransfer
00:2F9E GetMonName
00:375D NamePointers
00:3C04 HandleDownArrowBlinkTiming
00:394A CalcStat
00:38AC Multiply
00:38B9 Divide
00:3AB3 WriteOAMBlock.writeOneEntry
00:3ACF HandleMenuInput_.loop1
00:3D25 PrintNumber.PrintDigit
00:3D89 PrintNumber.NextDigit
00:3D83 PrintNumber.PrintLeadingZero
00:3DA7 JumpTable.returnAddress
00:3E08 ReloadMapSpriteTilePatterns
00:3701 LoadScreenTilesFromBuffer2
00:3DED GoPAL_SET_CF1C
00:3680 LoadFontTilePatterns
00:2BCF AddItemToInventory
00:3E8D Predef.done
00:3EDA CheckForHiddenObjectOrBookshelfOrCardKeyDoor.returnAddress
00:3F22 TextPredefs
00:3F0F SetMapTextPointer
00:35A6 HasEnoughMoney
00:1537 GetMonHeader
00:190F ClearScreen
00:12F8 CheckForUserInterruption
00:1389 LoadFrontSpriteByMonIndex
00:3927 AddPartyMon
00:3C3C EnableAutoTextBoxDrawing
00:3E2E GiveItem
00:216F Serial_ExchangeBytes
00:23A1 PlayMusic
00:226E Serial_PrintWaitingTextAndSyncAndExchangeNybble
00:391F RemovePokemon
00:3A53 AddEnemyMonToPlayerParty
00:17D1 Club_Coll
00:3E94 GetPredefRegisters
00:2247 Serial_ExchangeLinkMenuSelection
00:28A6 ResetPlayerSpriteData
00:2B7F CountSetBits
00:20D8 GBFadeOutToWhite
00:1384 LoadFlippedFrontSpriteByMonIndex
00:36EB UncompressSpriteFromDE
00:3DBE RestoreScreenTilesAndReloadTilePatterns
00:2BE6 DisplayListMenuID
00:3040 IsItemHM
00:2D57 DisplayChooseQuantityMenu
00:2B9E AddAmountSoldToMoney
00:2BBB RemoveItemFromInventory
00:2B96 SubtractAmountPaidFromMoney
00:3049 IsMoveHM
00:360A YesNoChoicePokeCenter
00:18D6 CopyScreenTileBufferToVRAM
00:35EC YesNoChoice
00:30C4 TossItem
00:3913 CopyDataUntil
00:3071 ReloadMapData
00:1F49 SoftReset
00:12ED ForceBikeOrSurf
00:0C44 CheckForTilePairCollisions2
00:1313 LoadDestinationWarpPosition
00:1735 Overworld_Coll
00:1749 RedsHouse1_Coll
00:1753 Mart_Coll
00:1765 Forest_Coll
00:1749 RedsHouse2_Coll
00:1759 Dojo_Coll
00:1753 Pokecenter_Coll
00:1759 Gym_Coll
00:1775 House_Coll
00:177F ForestGate_Coll
00:177F Museum_Coll
00:172F Underground_Coll
00:177F Gate_Coll
00:178A Ship_Coll
00:1795 ShipPort_Coll
00:179A Cemetery_Coll
00:17A2 Interior_Coll
00:17AC Cavern_Coll
00:17B8 Lobby_Coll
00:17C0 Mansion_Coll
00:17CA Lab_Coll
00:17DD Facility_Coll
00:17F0 Plateau_Coll
00:34BF ArePlayerCoordsInArray
00:0C4A CheckForTilePairCollisions
00:0B6D IsSpriteInFrontOfPlayer2
00:13FC DisplayPartyMenu
00:1411 GoBackToPartyMenu
00:3936 CalcStats
00:3A97 WriteOAMBlock
00:363A MoveSprite
00:3633 CalcDifference
00:366B DivideBytes
00:1336 DrawHPBar
00:3EF5 PrintPredefTextID
00:3F94 IndigoPlateauStatues_id
00:3F9E TownMapText_id
00:3FA0 BookOrSculptureText_id
00:3FA2 ElevatorText_id
00:3FA4 PokemonStuffText_id
00:3DF9 GetHealthBarColor
00:14E1 PrintStatusCondition
00:2ADF RedisplayStartMenu
00:30A9 ChooseFlyDestination
00:30BC UseItem
00:34A6 SetSpriteFacingDirectionAndDelay
00:3486 StartSimulatingJoypadStates
00:24EA MartSignText
00:24EF PokeCenterSignText
00:34B9 SetSpriteImageIndexAfterSettingFacingDirection
00:32F9 SetSpritePosition1
00:32FE SetSpritePosition2
00:32F4 GetSpritePosition2
00:3500 GetPointerWithinSpriteStateData2
00:349B DisplayPokedex
00:22FA Serial_TryEstablishingExternallyClockedConnection
00:24CC IndigoPlateauLobbyText4
00:3160 ExecuteCurMapScriptInTable
00:3219 CheckFightingMapTrainers
00:324C DisplayEnemyTrainerTextAndStartBattle
00:3275 EndTrainerBattle
00:24F4 PickUpItemText
00:31CC TalkToTrainer
00:314E EndNPCMovementScript
00:3493 IsItemInBag
00:32EF GetSpritePosition1
00:2442 ViridianMartText6
00:15B4 GetPartyMonName2
00:3E48 GivePokemon
00:24A8 FuchsiaMartText1
00:3F92 NewBicycleText_id
00:3F2A PushStartText_id
00:3F2C SaveOptionText_id
00:3F2E StrengthsAndWeaknessesText_id
00:3F82 CinnabarGymQuiz_id
00:3F80 MagazinesText_id
00:3F7A BillsHouseMonitorText_id
00:3F7C BillsHouseInitiatedText_id
00:3F7E BillsHousePokemonList_id
00:3F30 OakLabEmailText_id
00:3F86 GameCornerCoinCaseText_id
00:3F84 GameCornerNoCoinsText_id
00:3090 ReloadTilesetTilePatterns
00:3F70 GameCornerOutOfOrderText_id
00:3F72 GameCornerOutToLunchText_id
00:3F74 GameCornerSomeonesKeysText_id
00:3381 PrintEndBattleText
00:14F6 PrintStatusConditionNotFainted
00:3566 GetTrainerInformation
00:1672 LoadUncompressedSpriteData
00:34E4 CheckBoulderCoords
00:24E5 BoulderText
00:3442 DecodeArrowMovementRLE
00:20D1 GBFadeInFromBlack
00:3F60 ViridianSchoolNotebook_id
00:3F62 ViridianSchoolBlackboard_id
00:3F88 LinkCableHelp_id
00:3F8A TMNotebook_id
00:248E CeladonMart4Text1
00:317F LoadGymLeaderAndCityName
00:30B6 DisableWaitingAfterTextDisplay
00:35B1 HasEnoughCoins
00:2496 CeladonMart5Text3
00:24A0 CeladonMart5Text4
00:3C3F DisableAutoTextBoxDrawing
00:3F22 CardKeySuccessText_id
00:3F24 CardKeyFailText_id
00:3829 CopyString
00:3F8E FightingDojoText_52a10_id
00:3F90 FightingDojoText_52a1d_id
00:3F8C FightingDojoText_id
00:3F6E IndigoPlateauHQText_id
00:2476 CeladonMart2Text1
00:2482 CeladonMart2Text2
00:3A68 MoveMon
00:363D MoveSprite_
00:2453 CeruleanMartText1
00:246A LavenderMartText1
00:2461 VermilionMartText1
00:24C3 SaffronMartText1
00:3F28 RedBedroomSNESText_id
00:3F26 RedBedroomPCText_id
00:3F34 Route15UpstairsBinocularsText_id
00:3F32 AerodactylFossilText_id
00:3F36 KabutopsFossilText_id
00:3F6C VermilionGymTrashText_id
00:3F96 VermilionGymTrashSuccesText1_id
00:3F9C VermilionGymTrashFailText_id
00:3F9A VermilionGymTrashSuccesText3_id
00:3F3A GymStatueText2_id
00:3F38 GymStatueText1_id
00:3F3E ViridianCityPokecenterBenchGuyText_id
00:3F40 PewterCityPokecenterBenchGuyText_id
00:3F42 CeruleanCityPokecenterBenchGuyText_id
00:3F44 LavenderCityPokecenterBenchGuyText_id
00:3F46 VermilionCityPokecenterBenchGuyText_id
00:3F48 CeladonCityPokecenterBenchGuyText_id
00:3F4A CeladonCityHotelText_id
00:3F4C FuchsiaCityPokecenterBenchGuyText_id
00:3F4E CinnabarIslandPokecenterBenchGuyText_id
00:3F50 SaffronCityPokecenterBenchGuyText_id
00:3F52 MtMoonPokecenterBenchGuyText_id
00:3F54 RockTunnelPokecenterBenchGuyText_id
00:3F3C BookcaseText_id
00:3F5E PokemonCenterPCText_id
00:1523 PrintLevelCommon
00:3F05 RestoreMapTextPointer
00:3DAD IsInRestOfArray
00:2449 PewterMartText1
00:3EAD UpdateCinnabarGymGateTileBlocks
00:24B9 CinnabarMartText1
00:3F68 FoundHiddenItemText_id
00:3F78 DroppedHiddenCoinsText_id
00:3F76 FoundHiddenCoinsText_id
00:3F98 VermilionGymTrashSuccesText2_id
00:180D FarCopyData3
00:137A OverwritewMoves
00:3D97 JumpTable
00:3F58 UnusedBenchGuyText2_id
00:24E0 GroundRoseText
00:0730 CheckWarpsNoCollisionRetry2
00:072F CheckWarpsNoCollisionRetry1
00:35F4 Func_35f4
00:2324 PlayDefaultMusicCommon
00:33DD CheckIfAlreadyEngaged
00:14DC DrawPartyMenuCommon
00:361A Func_361a
00:3F5C UnusedPredefText_id
00:152E GetwMoves
00:3479 bankswitchAndContinue
00:3628 DisplayYesNoChoice
00:24DB ExclamationText
00:3F56 UnusedBenchGuyText1_id
00:3C41 AutoTextBoxDrawingCommon
00:2122 FadePal8
00:2119 FadePal5
00:2110 FadePal2
00:2113 FadePal3
00:1063 LoadPlayerSpriteGraphicsCommon
00:3156 EmptyFunc2
00:1D9E TransferBgRows
00:1A4B FinishDTE
00:0735 WarpFound1
00:3F5A UnusedBenchGuyText3_id
00:3301 SpritePositionBankswitch
00:3F66 OpenBillsPCText_id
00:151B PrintLevelFull
00:3F6A HiddenItemBagFullText_id
00:3F64 JustAMomentText_id
00:1A37 MonsterNameCharsCommon
00:3533 SetSpriteMovementBytesToFE
</pre>
</pre>


==Catch rate correspondence table (Generation I)==
'''Bank 1''':


Red/Blue
<pre>
01:62CE SpecialWarpIn
01:40B0 ResetStatusAndHalveMoneyOnBlackout
01:5D5F SpecialEnterMap
01:45B6 LoadMonData_
01:425B MewBaseStats
01:4112 MewPicFront
01:4BED WriteDMACodeToHRAM
01:42B7 SetDefaultNamesBeforeTitlescreen
01:4B0F PrepareOAMData
01:4C05 PrintWaitingText
01:4C34 _UpdateSprites
01:7096 DisplayTextIDInit
01:71C5 CableClubNPC
01:6C20 DisplayPokemartDialogue_
01:6FE6 DisplayPokemonCenterDialogue_
01:710B DrawStartMenu
01:6B21 SubtractAmountPaidFromMoney_
01:472B ItemNames
01:6B44 HandleItemListSwapping
01:4608 ItemPrices
01:72EA DisplayTextBoxID_
01:78E6 PlayerPC
01:7C18 _DisplayPokedex
01:4A92 UnusedNames
01:7B68 _RemovePokemon
01:4080 SpriteFacingDownAndStanding
01:4098 SpriteOAMParameters
01:4084 SpriteFacingDownAndWalking
01:40A4 SpriteOAMParametersFlipped
01:4088 SpriteFacingUpAndStanding
01:408C SpriteFacingUpAndWalking
01:4090 SpriteFacingLeftAndStanding
01:4094 SpriteFacingLeftAndWalking
01:4205 MewPicBack
01:42A7 SafariZoneEatingText
01:42AC SafariZoneAngryText
01:45AA NintenText
01:42B1 CopyFixedLengthText
01:45B1 SonyText
01:4519 ClearBothBGMaps
01:44DD DrawPlayerCharacter
01:437F DisplayTitleScreen.tileScreenCopyrightTiles
01:4524 LoadTitleMonSprite
01:4533 TitleScreenCopyTileMapToVRAM
01:43DB DisplayTitleScreen.TitleScreenPokemonLogoYScrolls
01:43EA DisplayTitleScreen.ScrollTitleScreenPokemonLogo
01:4598 PrintGameVersionOnTitleScreen
01:44CF ScrollTitleScreenGameVersion
01:44C1 TitleScreenScrollInMon
01:4496 TitleScreenPickNewMon
01:448E DisplayTitleScreen.doClearSaveDialogue
01:5AF2 MainMenu
01:4588 TitleMons
01:4556 CopyrightTextString
01:45A1 VersionOnTitleScreenText
01:4BAD PrepareOAMData.nextSprite
01:4BD1 GetSpriteScreenXY
01:4000 SpriteFacingAndAnimationTable
01:4B21 PrepareOAMData.spriteLoop
01:4C05 DMARoutineEnd
01:4BFB DMARoutine
01:5AB3 CableClub_TextBoxBorder
01:4C28 WaitingText
01:4C54 _UpdateSprites.updateCurrentSprite
01:4C5C UpdateNonPlayerSprite
01:4E31 UpdatePlayerSprite
01:5236 DoScriptedNPCMovement
01:4ED1 UpdateNPCSprite
01:4D72 SetSpriteCollisionValues
01:4D69 DetectCollisionBetweenSprites.next
01:4D85 SpriteCollisionBitTable
01:4CA5 DetectCollisionBetweenSprites.loop
01:4E26 FoundItemText
01:4E2C NoMoreRoomForItemText
01:4C70 DetectCollisionBetweenSprites
01:50AD InitializeSpriteStatus
01:50DC CheckSpriteAvailability
01:507F InitializeSpriteFacingDirection
01:5073 notYetMoving
01:5057 UpdateSpriteMovementDelay
01:4FFE UpdateSpriteInWalkingAnimation
01:50BD InitializeSpriteScreenPosition
01:522F LoadDEPlusA
01:4FC8 ChangeFacingDirection
01:5207 GetTileSpriteStandsOn
01:516E CanWalkOntoTile
01:5157 UpdateSpriteImage
01:512E CheckSpriteAvailability.spriteInvisible
01:52A6 InitScriptedNPCMovement
01:52B2 GetSpriteScreenYPointer
01:52B7 GetSpriteScreenXPointer
01:52C3 AnimScriptedNPCMovement
01:5301 AdvanceScriptedNPCAnimFrameCounter
01:5AE6 LoadTrainerInfoTextBoxTiles
01:550F PleaseWaitString
01:577D ReturnToCableClubRoom
01:5A5B TradeCenterPointerTable
01:42DD DisplayTitleScreen
01:57F2 TradeCenter_DrawPartyLists
01:57A2 TradeCenter_DrawCancelBox
01:55DC TradeCenter_SelectMon.playerMonMenu
01:565B TradeCenter_SelectMon.getNewInput
01:57D6 TradeCenter_DisplayStats
01:572F TradeCenter_SelectMon.selectedCancelMenuItem
01:5665 TradeCenter_SelectMon.chosePlayerMon
01:5557 TradeCenter_SelectMon.enemyMonMenu
01:5601 TradeCenter_SelectMon.playerMonMenu_HandleInput
01:5574 TradeCenter_SelectMon.enemyMonMenu_HandleInput
01:571F TradeCenter_SelectMon.statsTrade
01:551C CallCurrentTradeCenterFunction
01:57C7 TradeCenter_PlaceSelectedEnemyMonMenuCursor
01:57C0 CancelTextString
01:5827 TradeCenter_PrintPartyListNames
01:5A24 WillBeTradedText
01:5A3A TradeCanceled
01:5A18 TradeCenter_Trade.tradeCancelled
01:5A29 TradeCompleted
01:5345 CableClub_DoBattleOrTradeAgain
01:5530 TradeCenter_SelectMon
01:5849 TradeCenter_Trade
01:5317 CableClub_DoBattleOrTrade
01:5AE0 CableClub_DrawHorizontalLine
01:5BFF InitOptions
01:609E CheckForPlayerNameInSRAM
01:5D7E ContinueText
01:5D87 NewGameText
01:5B9E MainMenu.skipInc
01:5D52 StartNewGame
01:5E8A DisplayOptionMenu
01:5B07 MainMenu.mainMenuLoop
01:5DB5 DisplayContinueGameInfo
01:6B20 TextTerminator_6b20
01:5D43 WhereWouldYouLikeText
01:5D97 CableClubOptionsText
01:5D48 PleaseWaitText
01:72D7 CloseLinkConnection
01:5D4D LinkCanceledText
01:6115 OakSpeech
01:5E6A SaveScreenInfoText
01:5E2F PrintNumBadges
01:5E42 PrintNumOwnedMons
01:5E55 PrintPlayTime
01:5FC0 TextSpeedOptionText
01:5FDE BattleAnimationOptionText
01:5FFD BattleStyleOptionText
01:6018 OptionMenuCancelText
01:604C SetCursorPositionsFromOptions
01:601F SetOptionsFromCursorPositions
01:5EEF DisplayOptionMenu.loop
01:5F96 DisplayOptionMenu.pressedLeftInTextSpeed
01:5FA9 DisplayOptionMenu.pressedRightInTextSpeed
01:5F18 DisplayOptionMenu.eraseOldMenuCursor
01:6096 TextSpeedOptionData
01:608F SetCursorPositionsFromOptions.placeUnfilledRightArrow
01:60CA SetDefaultNames
01:61BC OakSpeech.skipChoosingNames
01:62A4 IntroDisplayPicCenteredOrUpperRight
01:6271 FadeInIntroPic
01:6253 OakSpeechText1
01:6288 MovePicLeft
01:6258 OakSpeechText2
01:6262 IntroducePlayerText
01:695D ChoosePlayerName
01:6267 IntroduceRivalText
01:69A4 ChooseRivalName
01:626C OakSpeechText3
01:6282 IntroFadePalettes
01:62FF LoadSpecialWarpData
01:64EA EmptyFunc
01:6428 TradeCenterSpec1
01:6430 TradeCenterSpec2
01:6438 ColosseumSpec1
01:6440 ColosseumSpec2
01:6420 FirstMapSpec
01:63BF DungeonWarpList
01:63D8 DungeonWarpData
01:6448 FlyWarpDataPtr
01:647C PalletTownFlyWarp
01:6482 ViridianCityFlyWarp
01:6488 PewterCityFlyWarp
01:648E CeruleanCityFlyWarp
01:6494 LavenderTownFlyWarp
01:649A VermilionCityFlyWarp
01:64A0 CeladonCityFlyWarp
01:64A6 FuchsiaCityFlyWarp
01:64AC CinnabarIslandFlyWarp
01:64B2 IndigoPlateauFlyWarp
01:64B8 SaffronCityFlyWarp
01:64BE Route4FlyWarp
01:64C4 Route10FlyWarp
01:64DF IshiharaTeam
01:6557 DoYouWantToNicknameText
01:6596 DisplayNamingScreen
01:675B LoadEDTile
01:68F8 PrintNamingText
01:676F PrintAlphabet
01:680E PrintNicknameAndUnderscores
01:665E DisplayNamingScreen.namingScreenButtonFunctions
01:65FC DisplayNamingScreen.dPadReturnPoint
01:673E DisplayNamingScreen.pressedDown
01:672C DisplayNamingScreen.pressedUp
01:6718 DisplayNamingScreen.pressedLeft
01:6702 DisplayNamingScreen.pressedRight
01:65F3 DisplayNamingScreen.ABStartReturnPoint
01:668C DisplayNamingScreen.pressedStart
01:65ED DisplayNamingScreen.selectReturnPoint
01:6683 DisplayNamingScreen.pressedSelect
01:66F6 DisplayNamingScreen.pressedB
01:6692 DisplayNamingScreen.pressedA
01:68EB CalcStringLength
01:6885 Dakutens
01:68D6 Handakutens
01:6871 DakutensAndHandakutens
01:6714 DisplayNamingScreen.wrapToFirstColumn
01:6728 DisplayNamingScreen.wrapToLastColumn
01:6767 ED_Tile
01:676F ED_TileEnd
01:679E LowerCaseAlphabet
01:67D6 UpperCaseAlphabet
01:693F YourTextString
01:6945 RivalsTextString
01:6953 NicknameTextString
01:694D NameTextString
01:6A12 OakSpeechSlidePicRight
01:6AA8 DefaultNamesPlayer
01:6A6C DisplayIntroNameTextBox
01:6AF2 DefaultNamesPlayerList
01:6AD6 GetDefaultName
01:69EC OakSpeechSlidePicLeft
01:699F YourNameIsText
01:6AC0 DefaultNamesRival
01:6B0A DefaultNamesRivalList
01:69E7 HisNameIsText
01:6AA3 DisplayIntroNameTextBox.namestring
01:6DF7 DisplayPokemartDialogue_.done
01:6D1E DisplayPokemartDialogue_.buyMenu
01:6C68 DisplayPokemartDialogue_.sellMenu
01:6D12 DisplayPokemartDialogue_.bagEmpty
01:6E25 PokemonSellingGreetingText
01:6DC8 DisplayPokemartDialogue_.returnToMainPokemartMenu
01:6E2A PokemartTellSellPriceText
01:6C89 DisplayPokemartDialogue_.sellMenuLoop
01:6E34 PokemartUnsellableItemText
01:6E2F PokemartItemBagEmptyText
01:6E0C PokemartBuyingGreetingText
01:6E11 PokemartTellBuyPriceText
01:6D39 DisplayPokemartDialogue_.buyMenuLoop
01:6DDC DisplayPokemartDialogue_.isThereEnoughMoney
01:6E16 PokemartBoughtItemText
01:6E3E PokemartAnythingElseText
01:6C2D DisplayPokemartDialogue_.loop
01:6E1B PokemartNotEnoughMoneyText
01:6E20 PokemartItemBagFullText
01:6E39 PokemartThankYouText
01:6F07 TryingToLearn
01:6EDA AbandonLearning
01:6FC8 OneTwoAndText
01:6EFE PrintLearnedMove
01:6FB9 AbandonLearningText
01:6E5B DontAbandonLearning
01:6FBE DidNotLearnText
01:6FAD LearnedMove1Text
01:6FC3 TryingToLearnText
01:6FB4 WhichMoveToForgetText
01:6FE1 HMCantDeleteText
01:6FD7 PoofText
01:705D PokemonCenterWelcomeText
01:7062 ShallWeHealYourPokemonText
01:7078 SetLastBlackoutMap
01:7068 NeedYourPokemonText
01:706D PokemonFightingFitText
01:7072 PokemonCenterFarewellText
01:7092 SafariZoneRestHouses
01:718F StartMenuPokedexText
01:71BB PrintStartMenuItem
01:7197 StartMenuPokemonText
01:719F StartMenuItemText
01:71A4 StartMenuSaveText
01:71A9 StartMenuResetText
01:71B4 StartMenuOptionText
01:71AF StartMenuExitText
01:72B8 CableClubNPCWelcomeText
01:71E1 CableClubNPC.receivedPokedex
01:72D2 CableClubNPCMakingPreparationsText
01:7298 CableClubNPC.didNotConnect
01:72BD CableClubNPCPleaseApplyHereHaveToSaveText
01:72C2 CableClubNPCPleaseWaitText
01:72C8 CableClubNPCLinkClosedBecauseOfInactivityText
01:72B3 CableClubNPCAreaReservedFor2FriendsLinkedByCableText
01:72CD CableClubNPCPleaseComeAgainText
01:5C0A LinkMenu
01:7559 DisplayTwoOptionMenu
01:7387 TextBoxFunctionTable
01:734C SearchTextBoxTable
01:7391 TextBoxCoordTable
01:73B0 TextBoxTextAndCoordTable
01:7314 DisplayTextBoxID_.done
01:735A GetTextBoxIDCoords
01:7375 GetAddressOfScreenCoords
01:7367 GetTextBoxIDText
01:74BA DisplayMoneyBox
01:74EA DoBuySellQuitMenu
01:76E1 DisplayFieldMoveMonMenu
01:7443 JapaneseMochimonoText
01:7422 UseTossText
01:742B JapaneseSaveMessageText
01:7435 JapaneseSpeedOptionsText
01:7455 BattleMenuText
01:7468 SafariZoneBattleMenuText
01:7489 SwitchStatsCancelText
01:7413 BuySellQuitText
01:743D MoneyText
01:749D JapaneseAhText
01:74A1 JapanesePokedexMenu
01:763E TwoOptionMenu_SaveScreenTiles
01:7671 TwoOptionMenuStrings
01:7656 TwoOptionMenu_RestoreScreenTiles
01:76A0 TwoOptionMenuStrings.YesNoMenu
01:76A7 TwoOptionMenuStrings.NorthWestMenu
01:76B2 TwoOptionMenuStrings.SouthEastMenu
01:76BD TwoOptionMenuStrings.NorthEastMenu
01:76C8 TwoOptionMenuStrings.TradeCancelMenu
01:76D5 TwoOptionMenuStrings.HealCancelMenu
01:7699 TwoOptionMenuStrings.NoYesMenu
01:77D6 GetMonFieldMoves
01:77C2 PokemonMenuEntries
01:778D FieldMoveNames
01:7823 FieldMoveDisplayData
01:7861 DrainHPEffect_.addDamageToAttackerHP
01:78DC SuckedHealthText
01:78E1 DreamWasEatenText
01:7B22 TurnedOnPC2Text
01:7AF5 PlayersPCMenuEntries
01:7B27 WhatDoYouWantText
01:796D ExitPlayerPC
01:7A12 PlayerPCWithdraw
01:7995 PlayerPCDeposit
01:7A8F PlayerPCToss
01:7B3B NothingToDepositText
01:790C PlayerPCMenu
01:7B2C WhatToDepositText
01:7B31 DepositHowManyText
01:79AB PlayerPCDeposit.loop
01:7B40 NoRoomToStoreText
01:7B36 ItemWasStoredText
01:7B54 NothingStoredText
01:7B45 WhatToWithdrawText
01:7B4A WithdrawHowManyText
01:7A28 PlayerPCWithdraw.loop
01:7B59 CantCarryMoreText
01:7B4F WithdrewItemText
01:7B5E WhatToTossText
01:7B63 TossHowManyText
01:7AA5 PlayerPCToss.loop
01:655C DisplayNameRaterScreen
01:4277 PrintSafariZoneBattleText
01:783F DrainHPEffect_
01:4538 LoadCopyrightAndTextBoxTiles
01:6E43 LearnMove
01:5AB0 Diploma_TextBoxBorder
01:5A5F CableClub_Run
01:62A1 DisplayPicCenteredOrUpperRight
01:5AAF EmptyFunc3
01:64EB AskName
01:4DE1 PickUpItem
01:5DEF PrintSaveScreenText
01:4541 LoadCopyrightTiles
</pre>

Bank 2:


<pre>
<pre>
ID Pokemon Catch rate Held item in Gen 2
02:4000 SFX_Headers_1
00 'M (00) 1D Carbos
02:41EF SFX_Denied_1
01 Rhydon 3C Silver Leaf
02:41B3 SFX_Pokedex_Rating_1
02:4192 SFX_Get_Item1_1
02:41BC SFX_Get_Key_Item_1
02:419B SFX_Get_Item2_1
02:41F8 SFX_Push_Boulder_1
02:41C8 SFX_Trade_Machine_1
02:41AD SFX_Start_Menu_1
02:409F SFX_Cry0B_1
02:41AA SFX_Heal_Ailment_1
02:4096 SFX_Cry0A_1
02:41FB SFX_SS_Anne_Horn_1
02:4228 SFX_Pokeflute
02:40B1 SFX_Cry0D_1
02:40A8 SFX_Cry0C_1
02:4222 SFX_Save_1
02:4207 SFX_Go_Inside_1
02:41A7 SFX_Heal_HP_1
02:41D4 SFX_Shrink_1
02:411D SFX_Cry19_1
02:4102 SFX_Cry16_1
02:4114 SFX_Cry18_1
02:422B SFX_Safari_Zone_PA
02:40F9 SFX_Cry15_1
02:41A4 SFX_Tink_1
02:40DE SFX_Cry12_1
02:410B SFX_Cry17_1
02:40F0 SFX_Cry14_1
02:40D5 SFX_Cry11_1
02:4021 SFX_Snare9_1
02:4210 SFX_59_1
02:40E7 SFX_Cry13_1
02:41E0 SFX_Teleport_Enter1_1
02:41EC SFX_Fly_1
02:40CC SFX_Cry10_1
02:401E SFX_Snare8_1
02:41DD SFX_Teleport_Exit1_1
02:400F SFX_Snare5_1
02:4201 SFX_Withdraw_Deposit_1
02:4141 SFX_Cry1D_1
02:4018 SFX_Snare6_1
02:402A SFX_Cymbal3_1
02:414A SFX_Cry1E_1
02:4153 SFX_Cry1F_1
02:41E3 SFX_Teleport_Exit2_1
02:400C SFX_Snare4_1
02:4003 SFX_Snare1_1
02:4006 SFX_Snare2_1
02:41D1 SFX_Enter_PC_1
02:4126 SFX_Cry1A_1
02:41E9 SFX_Teleport_Enter2_1
02:401B SFX_Snare7_1
02:4027 SFX_Cymbal2_1
02:412F SFX_Cry1B_1
02:41CB SFX_Turn_On_PC_1
02:4024 SFX_Cymbal1_1
02:4138 SFX_Cry1C_1
02:4009 SFX_Snare3_1
02:41C5 SFX_Poisoned_1
02:41D7 SFX_Switch_1
02:4216 SFX_Purchase_1
02:41F5 SFX_Arrow_Tiles_1
02:4204 SFX_Cut_1
02:420A SFX_Swap_1
02:407B SFX_Cry07_1
02:4189 SFX_Cry25_1
02:4072 SFX_Cry06_1
02:4180 SFX_Cry24_1
02:41DA SFX_Healing_Machine_1
02:4177 SFX_Cry23_1
02:408D SFX_Cry09_1
02:416E SFX_Cry22_1
02:4084 SFX_Cry08_1
02:4057 SFX_Cry03_1
02:4165 SFX_Cry21_1
02:404E SFX_Cry02_1
02:415C SFX_Cry20_1
02:4069 SFX_Cry05_1
02:421F SFX_Go_Outside_1
02:4060 SFX_Cry04_1
02:4030 SFX_Triangle3_1
02:41CE SFX_Turn_Off_PC_1
02:41B0 SFX_Press_AB_1
02:4039 SFX_Muted_Snare4_1
02:41E6 SFX_Ledge_1
02:4012 SFX_Triangle1_1
02:4045 SFX_Cry01_1
02:403C SFX_Cry00_1
02:4015 SFX_Triangle2_1
02:402D SFX_Muted_Snare1_1
02:4033 SFX_Muted_Snare2_1
02:40C3 SFX_Cry0F_1
02:421C SFX_Collision_1
02:4036 SFX_Muted_Snare3_1
02:40BA SFX_Cry0E_1
02:429A Music_MeetRival
02:4249 Music_Cities1
02:4267 Music_Cinnabar
02:4237 Music_Pokecenter
02:4240 Music_Gym
02:42B8 Music_PkmnHealed
02:4288 Music_SSAnne
02:4270 Music_Vermilion
02:427C Music_Lavender
02:42AF Music_SafariZone
02:425E Music_Celadon
02:42A3 Music_MuseumGuy
02:42C1 Music_Routes1
02:42D9 Music_Routes3
02:42CD Music_Routes2
02:42E5 Music_Routes4
02:42F1 Music_IndigoPlateau
02:422E Music_PalletTown
02:4291 Music_MeetProfOak
02:4255 Music_Cities2
02:42FD SFX_Snare1_1_Ch1
02:4301 SFX_Snare2_1_Ch1
02:4305 SFX_Snare3_1_Ch1
02:4309 SFX_Snare4_1_Ch1
02:430D SFX_Snare5_1_Ch1
02:4320 SFX_Triangle1_1_Ch1
02:4324 SFX_Triangle2_1_Ch1
02:432B SFX_Snare6_1_Ch1
02:432F SFX_Snare7_1_Ch1
02:4333 SFX_Snare8_1_Ch1
02:4337 SFX_Snare9_1_Ch1
02:433B SFX_Cymbal1_1_Ch1
02:433F SFX_Cymbal2_1_Ch1
02:4343 SFX_Cymbal3_1_Ch1
02:4347 SFX_Muted_Snare1_1_Ch1
02:434E SFX_Triangle3_1_Ch1
02:4355 SFX_Muted_Snare2_1_Ch1
02:4359 SFX_Muted_Snare3_1_Ch1
02:435D SFX_Muted_Snare4_1_Ch1
02:4987 SFX_Cry00_1_Ch1
02:4996 SFX_Cry00_1_Ch2
02:49A5 SFX_Cry00_1_Ch3
02:4B97 SFX_Cry01_1_Ch1
02:4BAA SFX_Cry01_1_Ch2
02:4BBD SFX_Cry01_1_Ch3
02:4B0C SFX_Cry02_1_Ch1
02:4B1B SFX_Cry02_1_Ch2
02:4B29 SFX_Cry02_1_Ch3
02:48A6 SFX_Cry03_1_Ch1
02:48C5 SFX_Cry03_1_Ch2
02:48E4 SFX_Cry03_1_Ch3
02:4C55 SFX_Cry04_1_Ch1
02:4C74 SFX_Cry04_1_Ch2
02:4C93 SFX_Cry04_1_Ch3
02:4A35 SFX_Cry05_1_Ch1
02:4A48 SFX_Cry05_1_Ch2
02:4A5A SFX_Cry05_1_Ch3
02:49DF SFX_Cry06_1_Ch1
02:49F9 SFX_Cry06_1_Ch2
02:49FA SFX_Cry06_1_Ch3
02:4A0D SFX_Cry07_1_Ch1
02:4A1C SFX_Cry07_1_Ch2
02:4A2B SFX_Cry07_1_Ch3
02:4C25 SFX_Cry08_1_Ch1
02:4C38 SFX_Cry08_1_Ch2
02:4C4B SFX_Cry08_1_Ch3
02:472F SFX_Cry09_1_Ch1
02:474C SFX_Cry09_1_Ch2
02:476D SFX_Cry09_1_Ch3
02:4BCA SFX_Cry0A_1_Ch1
02:4BE9 SFX_Cry0A_1_Ch2
02:4C0C SFX_Cry0A_1_Ch3
02:4A5B SFX_Cry0B_1_Ch1
02:4A86 SFX_Cry0B_1_Ch2
02:4AA5 SFX_Cry0B_1_Ch3
02:4ABE SFX_Cry0C_1_Ch1
02:4AE5 SFX_Cry0C_1_Ch2
02:4B0B SFX_Cry0C_1_Ch3
02:4B2A SFX_Cry0D_1_Ch1
02:4B49 SFX_Cry0D_1_Ch2
02:4B78 SFX_Cry0D_1_Ch3
02:49AF SFX_Cry0E_1_Ch1
02:49C2 SFX_Cry0E_1_Ch2
02:49D5 SFX_Cry0E_1_Ch3
02:48F1 SFX_Cry0F_1_Ch1
02:490C SFX_Cry0F_1_Ch2
02:4927 SFX_Cry0F_1_Ch3
02:4937 SFX_Cry10_1_Ch1
02:495A SFX_Cry10_1_Ch2
02:497D SFX_Cry10_1_Ch3
02:4813 SFX_Cry11_1_Ch1
02:4832 SFX_Cry11_1_Ch2
02:4855 SFX_Cry11_1_Ch3
02:4D2B SFX_Cry12_1_Ch1
02:4D3E SFX_Cry12_1_Ch2
02:4D51 SFX_Cry12_1_Ch3
02:4D5E SFX_Cry13_1_Ch1
02:4D79 SFX_Cry13_1_Ch2
02:4D94 SFX_Cry13_1_Ch3
02:4DA7 SFX_Cry14_1_Ch1
02:4DB6 SFX_Cry14_1_Ch2
02:4DC5 SFX_Cry14_1_Ch3
02:4E35 SFX_Cry15_1_Ch1
02:4E50 SFX_Cry15_1_Ch2
02:4E6B SFX_Cry15_1_Ch3
02:4CC8 SFX_Cry16_1_Ch1
02:4CD7 SFX_Cry16_1_Ch2
02:4CE6 SFX_Cry16_1_Ch3
02:4E7E SFX_Cry17_1_Ch1
02:4E91 SFX_Cry17_1_Ch2
02:4EA4 SFX_Cry17_1_Ch3
02:4F8E SFX_Cry18_1_Ch1
02:4FB1 SFX_Cry18_1_Ch2
02:4FD4 SFX_Cry18_1_Ch3
02:4CA6 SFX_Cry19_1_Ch1
02:4CB5 SFX_Cry19_1_Ch2
02:4CC7 SFX_Cry19_1_Ch3
02:4EFF SFX_Cry1A_1_Ch1
02:4F1A SFX_Cry1A_1_Ch2
02:4F35 SFX_Cry1A_1_Ch3
02:4CF0 SFX_Cry1B_1_Ch1
02:4D07 SFX_Cry1B_1_Ch2
02:4D1E SFX_Cry1B_1_Ch3
02:4EB1 SFX_Cry1C_1_Ch1
02:4ED4 SFX_Cry1C_1_Ch2
02:4EEF SFX_Cry1C_1_Ch3
02:4F48 SFX_Cry1D_1_Ch1
02:4F63 SFX_Cry1D_1_Ch2
02:4F7E SFX_Cry1D_1_Ch3
02:4DCF SFX_Cry1E_1_Ch1
02:4DF2 SFX_Cry1E_1_Ch2
02:4E19 SFX_Cry1E_1_Ch3
02:4FE7 SFX_Cry1F_1_Ch1
02:4FFA SFX_Cry1F_1_Ch2
02:500D SFX_Cry1F_1_Ch3
02:501A SFX_Cry20_1_Ch1
02:502D SFX_Cry20_1_Ch2
02:5040 SFX_Cry20_1_Ch3
02:504D SFX_Cry21_1_Ch1
02:5070 SFX_Cry21_1_Ch2
02:5092 SFX_Cry21_1_Ch3
02:5093 SFX_Cry22_1_Ch1
02:50A6 SFX_Cry22_1_Ch2
02:50B9 SFX_Cry22_1_Ch3
02:4786 SFX_Cry23_1_Ch1
02:479D SFX_Cry23_1_Ch2
02:47B0 SFX_Cry23_1_Ch3
02:47BD SFX_Cry24_1_Ch1
02:47E0 SFX_Cry24_1_Ch2
02:4803 SFX_Cry24_1_Ch3
02:486B SFX_Cry25_1_Ch1
02:4882 SFX_Cry25_1_Ch2
02:4899 SFX_Cry25_1_Ch3
02:440A SFX_Tink_1_Ch1
02:44B7 SFX_Heal_HP_1_Ch1
02:44D9 SFX_Heal_Ailment_1_Ch1
02:43C3 SFX_Start_Menu_1_Ch1
02:4462 SFX_Press_AB_1_Ch1
02:44C6 SFX_Poisoned_1_Ch1
02:44EE SFX_Trade_Machine_1_Ch1
02:44FD SFX_Turn_On_PC_1_Ch1
02:4528 SFX_Turn_Off_PC_1_Ch1
02:453B SFX_Enter_PC_1_Ch1
02:454E SFX_Shrink_1_Ch1
02:4569 SFX_Switch_1_Ch1
02:4580 SFX_Healing_Machine_1_Ch1
02:4595 SFX_Teleport_Exit1_1_Ch1
02:45B0 SFX_Teleport_Enter1_1_Ch1
02:45CB SFX_Teleport_Exit2_1_Ch1
02:45D6 SFX_Ledge_1_Ch1
02:45E1 SFX_Teleport_Enter2_1_Ch1
02:45EE SFX_Fly_1_Ch1
02:461F SFX_Denied_1_Ch1
02:4636 SFX_Denied_1_Ch2
02:4649 SFX_Arrow_Tiles_1_Ch1
02:4654 SFX_Push_Boulder_1_Ch1
02:466D SFX_SS_Anne_Horn_1_Ch1
02:468C SFX_SS_Anne_Horn_1_Ch2
02:46AB SFX_Withdraw_Deposit_1_Ch1
02:43E1 SFX_Cut_1_Ch1
02:43F1 SFX_Go_Inside_1_Ch1
02:43F8 SFX_Swap_1_Ch1
02:43FF SFX_Swap_1_Ch2
02:441B SFX_59_1_Ch1
02:4422 SFX_59_1_Ch2
02:442D SFX_Purchase_1_Ch1
02:4438 SFX_Purchase_1_Ch2
02:4447 SFX_Collision_1_Ch1
02:4452 SFX_Go_Outside_1_Ch1
02:4475 SFX_Save_1_Ch1
02:4494 SFX_Save_1_Ch2
02:43CA SFX_Pokeflute_Ch1
02:46C8 SFX_Safari_Zone_PA_Ch1
02:4373 Audio1_WavePointers.wave0
02:4383 Audio1_WavePointers.wave1
02:4393 Audio1_WavePointers.wave2
02:43A3 Audio1_WavePointers.wave3
02:43B3 Audio1_WavePointers.wave4
02:43C3 Audio1_WavePointers.wave5
02:4361 Audio1_WavePointers
02:5138 Audio1_ApplyMusicAffects
02:51D0 Audio1_PlayNextNote
02:580D Audio1_ApplyDutyCycle
02:56F9 Audio1_ApplyPitchBend
02:5838 Audio1_GetRegisterPointer
02:51E6 Audio1_endchannel
02:5825 Audio1_GetNextMusicByte
02:5274 Audio1_callchannel
02:5B1F Audio1_HWChannelDisableMasks
02:56C7 Audio1_GoBackOneCommandIfCry
02:52A9 Audio1_loopchannel
02:52E4 Audio1_notetype
02:5323 Audio1_toggleperfectpitch
02:5858 Audio1_CalculateFrequency
02:550A Audio1_notelength
02:5876 Audio1_PlaySound
02:5629 Audio1_ApplyDutyAndSoundLength
02:55F8 Audio1_EnableChannelOutput
02:564B Audio1_ApplyWavePatternAndFrequency
02:5847 Audio1_MultiplyAdd
02:5693 Audio1_SetSfxTempo
02:578F Audio1_InitPitchBendVars
02:5B27 Audio1_HWChannelEnableMasks
02:56B5 Audio1_ApplyFrequencyModifier
02:56E5 Audio1_IsCry
02:5740 Audio1_ApplyPitchBend.frequencyDecreasing
02:5786 Audio1_ApplyPitchBend.reachedTargetFrequency
02:5B17 Audio1_HWChannelBaseAddresses
02:5B2F Audio1_Pitches
02:5A34 Audio1_PlaySound.stopAllAudio
02:594E Audio1_PlaySound.playSfx
02:5A89 Audio1_PlaySound.FillMem
02:5A8F Audio1_PlaySound.playSoundCommon
02:5967 Audio1_PlaySound.sfxChannelLoop
02:5B16 Audio1_CryEndchannel
02:5B60 Audio1_OverwriteChannelPointer
02:5B47 Music_RivalAlternateStart
02:5B81 Music_Cities1AlternateTempo
02:50C6 PlayBattleMusic
02:5B75 Music_RivalAlternateStartAndTempo
02:5103 Audio1_UpdateMusic
02:5B65 Music_RivalAlternateTempo
02:6D77 SFX_Get_Item1_1_Ch1
02:6D8E SFX_Get_Item1_1_Ch2
02:6D9E SFX_Get_Item1_1_Ch3
02:7316 SFX_Get_Item2_1_Ch1
02:7335 SFX_Get_Item2_1_Ch2
02:734D SFX_Get_Item2_1_Ch3
02:72C8 SFX_Pokedex_Rating_1_Ch1
02:72E1 SFX_Pokedex_Rating_1_Ch2
02:72F7 SFX_Pokedex_Rating_1_Ch3
02:7362 SFX_Get_Key_Item_1_Ch1
02:7381 SFX_Get_Key_Item_1_Ch2
02:739D SFX_Get_Key_Item_1_Ch3
02:67C5 Music_PalletTown_Ch1
02:685F Music_PalletTown_Ch2
02:68DE Music_PalletTown_Ch3
02:7E56 Music_Pokecenter_Ch1
02:7EF9 Music_Pokecenter_Ch2
02:7F70 Music_Pokecenter_Ch3
02:7CBB Music_Gym_Ch1
02:7D6B Music_Gym_Ch2
02:7DFA Music_Gym_Ch3
02:6A76 Music_Cities1_Ch1
02:6B92 Music_Cities1_Ch2
02:6C32 Music_Cities1_Ch3
02:6CEF Music_Cities1_Ch4
02:7504 Music_Cities2_Ch1
02:7569 Music_Cities2_Ch2
02:7640 Music_Cities2_Ch3
02:76C7 Music_Celadon_Ch1
02:773A Music_Celadon_Ch2
02:77B5 Music_Celadon_Ch3
02:786D Music_Cinnabar_Ch1
02:78D4 Music_Cinnabar_Ch2
02:793D Music_Cinnabar_Ch3
02:79EB Music_Vermilion_Ch1
02:7A61 Music_Vermilion_Ch2
02:7AA6 Music_Vermilion_Ch3
02:7B0D Music_Vermilion_Ch4
02:7B58 Music_Lavender_Ch1
02:7B9E Music_Lavender_Ch2
02:7BAE Music_Lavender_Ch3
02:7C21 Music_Lavender_Ch4
02:73A7 Music_SSAnne_Ch1
02:7419 Music_SSAnne_Ch2
02:74CB Music_SSAnne_Ch3
02:6F59 Music_MeetProfOak_Ch1
02:6FA9 Music_MeetProfOak_Ch2
02:703D Music_MeetProfOak_Ch3
02:7120 Music_MeetRival_Ch1
02:71BB Music_MeetRival_Ch2
02:7233 Music_MeetRival_Ch3
02:6DAE Music_MuseumGuy_Ch1
02:6DF1 Music_MuseumGuy_Ch2
02:6E6E Music_MuseumGuy_Ch3
02:6ED1 Music_MuseumGuy_Ch4
02:7C2E Music_SafariZone_Ch1
02:7C6A Music_SafariZone_Ch2
02:7C94 Music_SafariZone_Ch3
02:5BA3 Music_PkmnHealed_Ch1
02:5BC4 Music_PkmnHealed_Ch2
02:5BD2 Music_PkmnHealed_Ch3
02:5BDE Music_Routes1_Ch1
02:5C51 Music_Routes1_Ch2
02:5CD8 Music_Routes1_Ch3
02:5D24 Music_Routes1_Ch4
02:5DB9 Music_Routes2_Ch1
02:5E4F Music_Routes2_Ch2
02:5E9B Music_Routes2_Ch3
02:5F08 Music_Routes2_Ch4
02:5FAD Music_Routes3_Ch1
02:6009 Music_Routes3_Ch2
02:607F Music_Routes3_Ch3
02:6131 Music_Routes3_Ch4
02:626A Music_Routes4_Ch1
02:6304 Music_Routes4_Ch2
02:63C4 Music_Routes4_Ch3
02:649D Music_Routes4_Ch4
02:65F0 Music_IndigoPlateau_Ch1
02:6664 Music_IndigoPlateau_Ch2
02:66BA Music_IndigoPlateau_Ch3
02:670F Music_IndigoPlateau_Ch4
02:71A2 Music_MeetRival_branch_b1a2
02:721D Music_MeetRival_branch_b21d
02:72B5 Music_MeetRival_branch_b2b5
02:7119 Music_MeetRival_branch_b119
02:719B Music_MeetRival_branch_b19b
02:6A6F Music_Cities1_branch_aa6f
02:5BE9 Music_Routes1_branch_9be9
02:5C65 Music_Routes1_branch_9c65
02:5C78 Music_Routes1_branch_9c78
02:5C8D Music_Routes1_branch_9c8d
02:5C53 Music_Routes1_branch_9c53
02:5CDD Music_Routes1_branch_9cdd
02:5DC3 Music_Routes2_branch_9dc3
02:5E54 Music_Routes2_branch_9e54
02:5E9E Music_Routes2_branch_9e9e
02:5FC3 Music_Routes3_branch_9fc3
02:601A Music_Routes3_branch_a01a
02:60A3 Music_Routes3_branch_a0a3
02:617A Music_Routes3_branch_a17a
02:628A Music_Routes4_branch_a28a
02:6325 Music_Routes4_branch_a325
02:63D7 Music_Routes4_branch_a3d7
02:64A8 Music_Routes4_branch_a4a8
02:6659 Music_IndigoPlateau_branch_a659
02:6605 Music_IndigoPlateau_branch_a605
02:66AF Music_IndigoPlateau_branch_a6af
02:6673 Music_IndigoPlateau_branch_a673
02:66FE Music_IndigoPlateau_branch_a6fe
02:66C6 Music_IndigoPlateau_branch_a6c6
02:6791 Music_IndigoPlateau_branch_a791
02:677E Music_IndigoPlateau_branch_a77e
02:67A8 Music_IndigoPlateau_branch_a7a8
02:6728 Music_IndigoPlateau_branch_a728
02:67CE Music_PalletTown_branch_a7ce
02:6861 Music_PalletTown_branch_a861
02:68E3 Music_PalletTown_branch_a8e3
02:691B Music_UnusedSong_branch_a91b
02:69D8 Music_UnusedSong_branch_a9d8
02:6A79 Music_Cities1_branch_aa79
02:6B7D Music_Cities1_branch_ab7d
02:6B8A Music_Cities1_branch_ab8a
02:6B12 Music_Cities1_branch_ab12
02:6A80 Music_Cities1_branch_aa80
02:6C00 Music_Cities1_branch_ac00
02:6CC5 Music_Cities1_branch_acc5
02:6CCE Music_Cities1_branch_acce
02:6C35 Music_Cities1_branch_ac35
02:6D36 Music_Cities1_branch_ad36
02:6D45 Music_Cities1_branch_ad45
02:6CF3 Music_Cities1_branch_acf3
02:6D5F Music_Cities1_branch_ad5f
02:6D52 Music_Cities1_branch_ad52
02:6D6E Music_Cities1_branch_ad6e
02:6DE7 Music_MuseumGuy_branch_ade7
02:6DEC Music_MuseumGuy_branch_adec
02:6DD6 Music_MuseumGuy_branch_add6
02:6E26 Music_MuseumGuy_branch_ae26
02:6EB8 Music_MuseumGuy_branch_aeb8
02:6EC1 Music_MuseumGuy_branch_aec1
02:6E8E Music_MuseumGuy_branch_ae8e
02:6EE1 Music_MuseumGuy_branch_aee1
02:6F85 Music_MeetProfOak_branch_af85
02:7005 Music_MeetProfOak_branch_b005
02:70BC Music_MeetProfOak_branch_b0bc
02:70D8 Music_MeetProfOak_branch_b0d8
02:70ED Music_MeetProfOak_branch_b0ed
02:7101 Music_MeetProfOak_branch_b101
02:7123 Music_MeetRival_branch_b123
02:7140 Music_MeetRival_branch_b140
02:71A5 Music_MeetRival_branch_b1a5
02:71D8 Music_MeetRival_branch_b1d8
02:724B Music_MeetRival_branch_b24b
02:73B2 Music_SSAnne_branch_b3b2
02:741E Music_SSAnne_branch_b41e
02:751A Music_Cities2_branch_b51a
02:758B Music_Cities2_branch_b58b
02:764C Music_Cities2_branch_b64c
02:76D4 Music_Celadon_branch_b6d4
02:774A Music_Celadon_branch_b74a
02:77C1 Music_Celadon_branch_b7c1
02:7878 Music_Cinnabar_branch_b878
02:78D9 Music_Cinnabar_branch_b8d9
02:793F Music_Cinnabar_branch_b93f
02:79F6 Music_Vermilion_branch_b9f6
02:7A66 Music_Vermilion_branch_ba66
02:7AA8 Music_Vermilion_branch_baa8
02:7B3F Music_Vermilion_branch_bb3f
02:7B0E Music_Vermilion_branch_bb0e
02:7B6B Music_Lavender_branch_bb6b
02:7BA5 Music_Lavender_branch_bba5
02:7BB9 Music_Lavender_branch_bbb9
02:7C26 Music_Lavender_branch_bc26
02:7C5F Music_SafariZone_branch_bc5f
02:7C4F Music_SafariZone_branch_bc4f
02:7C89 Music_SafariZone_branch_bc89
02:7C79 Music_SafariZone_branch_bc79
02:7CA5 Music_SafariZone_branch_bca5
02:7C97 Music_SafariZone_branch_bc97
02:7CD8 Music_Gym_branch_bcd8
02:7D82 Music_Gym_branch_bd82
02:7E3B Music_Gym_branch_be3b
02:7E44 Music_Gym_branch_be44
02:7E4D Music_Gym_branch_be4d
02:7E02 Music_Gym_branch_be02
02:7E61 Music_Pokecenter_branch_be61
02:7F4E Music_Pokecenter_branch_bf4e
02:7F60 Music_Pokecenter_branch_bf60
02:7EFC Music_Pokecenter_branch_befc
02:7FD9 Music_Pokecenter_branch_bfd9
02:7FE2 Music_Pokecenter_branch_bfe2
02:7FEB Music_Pokecenter_branch_bfeb
02:7F72 Music_Pokecenter_branch_bf72
02:69CF Music_UnusedSong_Ch2
02:6913 Music_UnusedSong_Ch1
</pre>
</pre>


Exceptions:
==Keep the name OLD MAN or PROF. OAK==
This effect has been known for really long, and involves OLD MAN or PROF. OAK trying to catch a Trainer's Pokémon, getting the 'out of Safari Balls' message, and keeping the altered name after battle. Nowadays however, we have information on how to do it without a cheating device (e.g. [[participants glitch (Generation I)|participants glitch]]). This could be an efficient way of fixing an unterminated player name and regaining the ability to retain a save, though you'd be left with either the name OLD MAN or PROF. OAK.

==Boulder smuggling==
(Now on video)


By just changing current map (D35E/D); subject to D36E/D being safe, you can move boulders to other maps from places like Victory Road after an encounter. Probably due to certain places being not regarded as cave maps, this may or may not disable encounters, but you can memory edit D059/8 to work around that.

If you want a more precise warp, you can adjust D35F-D360(-1) and the coordinates too.

So what happens when you push boulders where you're not supposed to?
;

*Some maps don't support the boulder sprite; so boulders might transform into rotating player sprites. You can still push Reds around and they even update to Red cycling if you use the Bicycle. (Another map that supports the boulder sprite is the Safari Zone iirc(?))
*You can still push the boulders around; so with enough manipulation I guess you could make your own sokoban game.
*I actually found this out before by changing FF map connections to valid maps, but if you push a boulder out of the map it will disappear (probably the same reason for any disappearing NPC)
*Somehow I was able to manipulate a boulder so that a Trainer was standing on top of it. I could no longer push the boulder as the Trainer took priority.
*The spin tiles in Viridian Gym will make you walk through a boulder (or Trainer) if it's/they're blocking the path.

==Walking characters after Yellow MissingNo. addendum==
Like with the Red sprites from boulder smuggling, using the Bicycle can cause walking Red characters to start cycling too (or Surfing if you used Surf iirc). This does seem familiar maybe someone else documented it too.

==Momentary Surf dismount menu sprite glitch==
(Now on video)

Surf from the Cinnabar Island coast and dismount, but not the most common way. Instead dismount by opening the party menu and choosing Surf. In Red/Blue but not yellow, there can be a momentary transition glitch affecting the font and certain menu sprites like generic monster (becoming Red facing down), and some others being other orientations of Red (I think someone else may have also mentioned this but if you do this with ????? the game locks up).

'''(To-do: Why does this happen)'''

==Select glitches==

'''(To-do: Expand, work this out and add relevant memory addresses)'''

This article is a list of [[closed menu Select glitch]]es detailing the memory areas they corrupt.


Changes to catch rate in games (Thx Bulbapedia):
===Party===
====2nd-6th Pokémon====
The Pokémon in that slot is swapped. If over the number of party Pokémon, this can be a glitched Pokémon or an [[GlitchDexJP/RG:255|anedepami]] if (number of Pokémon+1); the latter is known for [[dokokashira door glitch]] at the beginning of the game with only one Pokémon and at least two items.


*In Yellow, starter Pikachu hold Light Ball
Can also be used for [[Partial switch glitch]]
*In Yellow, wild Kadabra hold TwistedSpoon
*In Yellow, wild Dragonair hold Protein
*In Yellow, wild Dragonite hold Antidote
*Stadium gift Pokémon hold Normal Box (Round 1) or Gorgeous Box (Round 2)


[https://github.com/pret/pokecrystal/blob/master/data/items/catch_rate_items.asm Converted catch rates] (TimeCapsule_CatchRateItems):
====7th Pokémon====
(document)


*Catch rate 0x19 becomes Leftovers
====12th Pokémon====
*0x2D becomes Bitter Berry
Can be used for [[warp by Nidoran♂ glitch]]
*0x32 becomes Gold Berry
*0x5A, 0x64, 0x78, 0x87, 0xBE, 0xC3, 0xDC, 0xFA, 0xFF all become Berry


How to acquire a Pokémon with any catch rate:
====13th Pokémon====
Can be used for [[second type glitch]], [[expanded inventory]], warp by Nidoran♂ glitch


(Tested on Yellow probably works the same on Red/Blue)
====14th Pokémon====
Can be used for [[item creation Select glitches]] and second type glitch


*Have in party only special MissingNo. (Kabutops Fossi, Aerodactyl, Ghost), then save/reset
====20th Pokémon====
*Manipulate D0C0-1 (W_MONHCATCHRATE). (Probably can do this with [[LWA]])
Can be used for [[Trainer mutation glitch]]
*Encounter/acquire special MissingNo. (Kabutops Fossi, Aerodactyl, Ghost) and catch it
*The acquired Pokémon will have the catch rate from D0C0-1.


====32nd Pokémon====
Can be used for [[fossil conversion glitch (Japanese)]] and [[walk through walls glitch (Select glitch method)]]
====33rd Pokémon====
Can be used for [[battle disabling Select glitch]]


==IR trade pet project==
===Moves===
====2nd-4th move====
===Theory===
Use [[I/O|$FF56]] to turn infrared on in two games with [[arbitrary code execution]]. Synchronise the PPU(?) cycles. Use a modified version of the Cable Club code.
The move in that slot is swapped. If move does not exit, may give the player [[- (Generation I move)]].


In it, have a prompt to keep the Game Boy Colors next to each other for each interaction (press A to start read/write) and have some kind of error prevention if communication fails.
====5th move====
(document)


I wonder how practical this is because for Gold/Silver they used IR for different purposes (obtaining decorations, items, Trainer House Trainers).
====7th move====
Can be used for [[skip to Level 100 Select glitch]]


====16th move====
==Other things==
[https://glitchcity.wiki/index.php?title=User:Evie_(Torchickens)/Sandbox&action=history (Archived as the page gets big)]
Can be used for [[remaining PP into species Select glitch]]

Latest revision as of 21:18, 1 May 2024

Evie's list of things she wants to do, or has recently come across but doesn't know much about. Feel free to add details if you like.

Timing


To-do: Defaults and relationship with Game Boy, GBC, SGB boot ROMs.

Hexadecimal byte representation of Cryo's real-time RAM writer for writing code using button sequences

https://archives.glitchcity.info/forums/board-115/thread-7744/page-0.html

Red/Blue EN:

2EFE1D5414D523CD
FA3F3DF0F8FE0CC8
F0B237B728F143B9
4228EB4F41865077
4418E4

Catch rate correspondence table (Generation I)

Red/Blue

ID Pokemon Catch rate Held item in Gen 2
00 'M (00) 1D Carbos
01 Rhydon 3C Silver Leaf

Exceptions:

Changes to catch rate in games (Thx Bulbapedia):

  • In Yellow, starter Pikachu hold Light Ball
  • In Yellow, wild Kadabra hold TwistedSpoon
  • In Yellow, wild Dragonair hold Protein
  • In Yellow, wild Dragonite hold Antidote
  • Stadium gift Pokémon hold Normal Box (Round 1) or Gorgeous Box (Round 2)

Converted catch rates (TimeCapsule_CatchRateItems):

  • Catch rate 0x19 becomes Leftovers
  • 0x2D becomes Bitter Berry
  • 0x32 becomes Gold Berry
  • 0x5A, 0x64, 0x78, 0x87, 0xBE, 0xC3, 0xDC, 0xFA, 0xFF all become Berry

How to acquire a Pokémon with any catch rate:

(Tested on Yellow probably works the same on Red/Blue)

  • Have in party only special MissingNo. (Kabutops Fossi, Aerodactyl, Ghost), then save/reset
  • Manipulate D0C0-1 (W_MONHCATCHRATE). (Probably can do this with LWA)
  • Encounter/acquire special MissingNo. (Kabutops Fossi, Aerodactyl, Ghost) and catch it
  • The acquired Pokémon will have the catch rate from D0C0-1.


IR trade pet project

Theory

Use $FF56 to turn infrared on in two games with arbitrary code execution. Synchronise the PPU(?) cycles. Use a modified version of the Cable Club code.

In it, have a prompt to keep the Game Boy Colors next to each other for each interaction (press A to start read/write) and have some kind of error prevention if communication fails.

I wonder how practical this is because for Gold/Silver they used IR for different purposes (obtaining decorations, items, Trainer House Trainers).

Other things

(Archived as the page gets big)