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.
==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.
==Hexadecimal byte representation of Cryo's real-time RAM writer for writing code using button sequences==
==Boulder smuggling==
(Now on video)
https://archives.glitchcity.info/forums/board-115/thread-7744/page-0.html
Red/Blue EN:
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.
<pre>
If you want a more precise warp, you can adjust D35F-D360(-1) and the coordinates too.
2EFE1D5414D523CD
FA3F3DF0F8FE0CC8
F0B237B728F143B9
4228EB4F41865077
4418E4
</pre>
==Catch rate correspondence table (Generation I)==
So what happens when you push boulders where you're not supposed to?
;
Red/Blue
*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.
<pre>
==Walking characters after Yellow MissingNo. addendum==
ID Pokemon Catch rate Held item in Gen 2
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.
00 'M (00) 1D Carbos
01 Rhydon 3C Silver Leaf
</pre>
Exceptions:
==Momentary Surf dismount menu sprite glitch==
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).
Changes to catch rate in games (Thx Bulbapedia):
'''(To-do: Why does this happen)'''
*In Yellow, starter Pikachu hold Light Ball
==Select glitches==
*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):
'''(To-do: Expand, work this out and add relevant memory addresses)'''
*Catch rate 0x19 becomes Leftovers
This article is a list of [[closed menu Select glitch]]es detailing the memory areas they corrupt.
*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:
===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.
(Tested on Yellow probably works the same on Red/Blue)
Can also be used for [[Partial switch glitch]]
*Have in party only special MissingNo. (Kabutops Fossi, Aerodactyl, Ghost), then save/reset
====7th Pokémon====
*Manipulate D0C0-1 (W_MONHCATCHRATE). (Probably can do this with [[LWA]])
(document)
*Encounter/acquire special MissingNo. (Kabutops Fossi, Aerodactyl, Ghost) and catch it
*The acquired Pokémon will have the catch rate from D0C0-1.
====12th Pokémon====
Can be used for [[warp by Nidoran♂ glitch]]
==IR trade pet project==
====13th Pokémon====
===Theory===
Can be used for [[second type glitch]], [[expanded inventory]], warp by Nidoran♂ glitch
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.
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.
====14th Pokémon====
Can be used for [[item creation Select glitches]] and second type glitch
I wonder how practical this is because for Gold/Silver they used IR for different purposes (obtaining decorations, items, Trainer House Trainers).
====20th Pokémon====
Can be used for [[Trainer mutation glitch]]
====32ndOther Pokémon==things==
[https://glitchcity.wiki/index.php?title=User:Evie_(Torchickens)/Sandbox&action=history (Archived as the page gets big)]
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]]
===Moves===
====2nd-4th move====
The move in that slot is swapped. If move does not exit, may give the player [[- (Generation I move)]].
====5th move====
(document)
====7th move====
Can be used for [[skip to Level 100 Select glitch]]
====16th move====
Can be used for [[remaining PP into species Select glitch]]
|