Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
ItemDex
StatDex
TrainerDex
TypeDex
UnownDex
More

Major Glitches
Trainer escape glitch
Old man trick
Celebi Egg trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Rival LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg data corruption glitch (Glitzer Popping)
Tweaking
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitches
More

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

References
Pokémon GameShark codes
The Big HEX List
Glitch Pokémon cries
GB programming
Curiosities
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Technical
Site Source Code

Search Wiki

 

Search Forums

 

Author Topic: 'Tile Chaos': An obscure glitch effect  (Read 227 times)

0 Members and 1 Guest are viewing this topic.

Princess Torchic ❤

  • Administrator
  • *****
  • Offline Offline
  • Gender: Female
  • ⛄🦋
    • View Profile
'Tile Chaos': An obscure glitch effect
« on: December 28, 2017, 07:14:13 am »
I like to call this effect "Tile Chaos". This effect has already been known and is caused by some glitch moves (their animation), as well as invalid D057 (Red/Blue) or D056 (Yellow) values greater than 01 and throwing a Master Ball.

Basically from what I gather the game attempts to play a glitch animation, but corrupts the screen causing many glitchy animated sprites to appear. If you have animations disabled you can avoid the ones caused by glitch moves.

Examples:

...On invalid D057 values:
https://www.youtube.com/watch?v=AOOymRAy_PQ



(This is possible if an unterminated name glitch item corrupts that value to be greater than 02 and you throw a Poké Ball.

...On glitch moves:
https://youtu.be/fi6n84FgdiU?t=371
http://glitchcity.info/wiki/AttackDex/Y:184



I think the Japanese glitch community may already have a name for this, so I may try to see if they have a name for it later. I also don't know whether Glitch City had a name for it when it did the old ItemDex had a name for it, as I've noticed it on one glitch move so far.

I don't know if there's any use for this but it's a nice effect to say the least.
« Last Edit: December 28, 2017, 07:24:14 am by Princess Torchic ❤ »
Hi! I identify as female.  She/her pronouns, please.

Online I most often use the username Torchickens or Chickasaurus.

Ah.. koucha ga oishii ♪





Thank you Aeriixion for the cute sprite above! :) Roelof also made different variations of the sprite (which I animated).

Contact:
If you like, please contact me by private message here on the forums as I no longer check other places very often.

YouTube: http://www.youtube.com/user/ChickasaurusGL

I like to collect interesting video games. ^_^
https://www.vgcollect.com/Torchickens

Give love, receive love, repeat. But in order to love others you must first love yourself unconditionally, even if it means abandoning pressure from projects or taking time off work and empathise with the self as you are your own best friend. The key often is simply to follow your heart, your urges and have faith they are valid; use them to do what you want to do as long as it doesn't harm anyone, and/or sympathise and respect it as we all have bad days (even the prettiest rose has thorns but is still beautiful).

0ErrorYT

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • Dri REDGREENMOM MOM, are you ready?
    • View Profile
Re: 'Tile Chaos': An obscure glitch effect
« Reply #1 on: December 29, 2017, 12:29:27 am »
Happens all the time to me when doing corruption, it's kinda annoying though as it soft locks/crashes.
I would of shared, but I thought most people on the site already knew.
« Last Edit: December 29, 2017, 12:34:34 am by 0ErrorYT »
##f????????
Grass Pelt
No:928
-------
Sky Drop
-------
Fire Blast
About me:
I'm 13.
Go easy on me, I suffer from depression and autism.

RST 38

  • Make RSTs useful
  • GCLF Member
  • Offline Offline
  • GameBoy developer, glitch researcher
    • View Profile
Re: 'Tile Chaos': An obscure glitch effect
« Reply #2 on: December 29, 2017, 11:58:42 am »
I've decided to look more into it, so here you go.

Animation System
The animation system in Gen I games is based on command streams, a specialized assembly if you would like.
Every command is either:
  • a special effect(executes some assembly code according to the search table,
    very likely to crash on glitch animations, or ACE)
  • a subanimation(renders some frame blocks, this is likely what causes the 'Tile Chaos' effect)

Frame blocks are the stuff that build complex animations, an array of... not tiles, but gameboy sprites actually.
So you might ask:
Then why does the entire screen gets flooded with garbage, intead of just a few glitchy sprites floating around?
Well, remember that buffer overflows don't exist to GameFreak, so the DrawFrameBlock writes past OAM buffer and into the screen data.

Why does it happen when modifying D057 then?
It seems like some code responsible for preparing PokeBall throw animation,
doesn't properly initialize address D11E(wPokeBallAnimData in disassembly). This address determines two things:
the number of animations(4 if caught, 6 if not) in its high nybble + the number of shakes in its low nybble.

The high nybble ends up being zero.
And we all know that having zero as a loop counter right from the start in Gen I is not a good thing...
So, the TossBallAnimation function has an animation array that it iterates through and plays in this loop.
       Its contents: Poof Effect, Hide Mon Sprite, Shake, Poof on break, Show Mon Sprite
                          (later two if not caught, throw animation depends on ball type)

After it done iterating through this array, counter still has 250 animations!
Interpreting unrelated data as animation IDs doesn't end well, causing this effect.

More tehnical info probably comming soon
« Last Edit: December 29, 2017, 12:01:33 pm by RST 38 »
Overflowing buffers since 1996

Princess Torchic ❤

  • Administrator
  • *****
  • Offline Offline
  • Gender: Female
  • ⛄🦋
    • View Profile
Re: 'Tile Chaos': An obscure glitch effect
« Reply #3 on: December 29, 2017, 01:39:22 pm »
Wow! This is really useful. Thanks RST 38 (and welcome to the forums).  :D

I'll go and add this to the wiki article.
« Last Edit: December 29, 2017, 01:40:21 pm by Princess Torchic ❤ »
Hi! I identify as female.  She/her pronouns, please.

Online I most often use the username Torchickens or Chickasaurus.

Ah.. koucha ga oishii ♪





Thank you Aeriixion for the cute sprite above! :) Roelof also made different variations of the sprite (which I animated).

Contact:
If you like, please contact me by private message here on the forums as I no longer check other places very often.

YouTube: http://www.youtube.com/user/ChickasaurusGL

I like to collect interesting video games. ^_^
https://www.vgcollect.com/Torchickens

Give love, receive love, repeat. But in order to love others you must first love yourself unconditionally, even if it means abandoning pressure from projects or taking time off work and empathise with the self as you are your own best friend. The key often is simply to follow your heart, your urges and have faith they are valid; use them to do what you want to do as long as it doesn't harm anyone, and/or sympathise and respect it as we all have bad days (even the prettiest rose has thorns but is still beautiful).

RST 38

  • Make RSTs useful
  • GCLF Member
  • Offline Offline
  • GameBoy developer, glitch researcher
    • View Profile
Re: 'Tile Chaos': An obscure glitch effect
« Reply #4 on: December 30, 2017, 09:17:33 am »
First of all, the OAM overflow was just a hypothesis, I didn't actually check it yesterday because 12 PM is kinda late.
But, it turned out to be true anyways.

So, here you go, as promised...

More Tehnical Infoes
The whole animation system is pretty complicated and has some layers, so I decided to organise it as a tree


Fun fact: the corruption per one SubAnimation can reach up to:
$4 bytes/tile * $FF tiles/frameblock * $FF frameblocks/subanim = $3F804 bytes or 260100 bytes
In another words, one SubAnimation can overwrite the entire Gameboy memory... 3 TIMES

Also, I don't seem to find how to reference the attached image in the BBC tag "img".
Should I upload the image somewhere else first?
And the attachment got a little bit huge...
« Last Edit: December 30, 2017, 09:24:32 am by RST 38 »
Overflowing buffers since 1996

Parzival

  • Buyer beware: House comes with 3 free skeletons in a closet of your choice.
  • GCLF Member
  • *
  • Offline Offline
  • Gender: Male
  • This box intentionally left blank. ...wait...
    • View Profile
Re: 'Tile Chaos': An obscure glitch effect
« Reply #5 on: December 30, 2017, 11:21:23 am »
Like this:
Code: [Select]
[img=your-image.url.here][/img]The tag only works if it's online somewhere.
Ask me about betrayal.
Ask me about depression.
Ask me about death.
Ask me about destruction.
Ask me about hardship.
I've been through s**t.
If you need to talk to someone, my PM inbox is always open.

ALERT: WE ONLY NEED ONE MORE VOTE TO GAIN BACK NET NEUTRALITY! CLICK THE BANNER BELOW TO JOIN THE FIGHT!