256x item selling price glitch | Amazing Trainers | Berry glitch | Draining hitpoints animation glitch | Evolution animation glitch | Sticky Hold glitch | Mossdeep City Skitty glitch | Truck glitch | Nightmare glitch | Mossdeep City Skitty glitch
Acro Bike instability glitches (Japanese only) | Dark red selector glitch (International only) | Excessive doll arrangement glitch (Japanese only) | Mail and Trick glitches (Japanese only) | Surf on land (Japanese only)
Exclusive to FireRed and LeafGreen:
Celadon City origin glitch | Pokédex species glitch | Roaming Pokémon Roar glitch
Exclusive to Emerald:
Battle Pike poison knockout glitch | Black curtains glitch | Mart worker glitch | Mover Vigoroth cry glitch (Japanese only)
In various or all entries:
Azurill gender glitch | Boss HP recruit glitch (Mystery Dungeon) | Decamark-specific glitches | Dewford Gym footprint glitch | Evolution move-learning glitch | Focus Punch glitch | Roaming Pokémon IV glitch | Sky Pillar glitch | Thunderbolt glitch | VBlank RNG interrupt glitch
(view, talk, edit)
The black curtains glitch occurs in Pokémon Emerald. This glitch causes the windows at Rustboro City's Pokémon Trainer School to become corrupted and show a glitched black region. A corruption which shows what appear to be curtains can occur, hence the name.
DetailsThe exact way to trigger the curtains was found by Metarkai. In English Emerald, the curtains are influenced by the data of Pokémon at slots 4-6 of box 8 of the PC. Earlier slots represent pixels higher up, later ones represent pixels lower down.
In Japanese Emerald, box 7 slots 26-28 affect the curtains instead, in the same way.
Slots 4 and 6 seem to only affect a little bit of the curtain data and the majority of the data is controlled by slot 5.
If all Pokémon are removed from box 8 slots 4-6, the curtains will disappear entirely. If there are 1-2 empty spots, then part of the curtains will disappear; and having Pokémon in slots 4 and 6 but not 5 can create an effect where there are only just lines are on all four corners of the window, with the nature of the lines depending on the Pokémon.
According to TheZZAZZGlitch the left and east most sides of the windows in the school are overlaid with tiles 791-793, in this way ;
Tiles 791-793 are unused, and for reasons unknown, the stored Pokémon data from box 8 control the pixels that appear on the sides.
It is apparent that since each tile is used twice, this is responsible for any data you add being added to the opposite side.
Pokémon Emerald has a mechanism known as "DMA". The locations of certain memory addresses are randomized a specific number of bytes forward or back, but they can be made to stay at one location with the anti-DMA code; B2809E31 3CEF5320 1C7B3231 B494738C.
With anti-DMA enabled, memory addresses 0202DAE4-0202DB43 always represent curtain pixel data. One byte controls pixels on both side; seemingly(?) up to 2 each side (a total of four).
A value of 80 adds one pixel to each side. A value of FF adds two pixels to each side.
Creating specific art:
By editing the values at 0202DAE4-0202DB43 with memory viewer, you can create "symmetrical" art. Theoretically as well, one can achieve this with arbitrary code execution.
Examples of glitch art are detailed in the second video below.
Updated demonstration, including 'curtain art':