NOTA: Esta en ingles. Lo voy a traducir en unos dias.
As the thread title says, this thread is about the Emerald specials. The Emerald specials are much less documented than the ones in Fire Red so the purpose of this thread is to get more information on them.
Iniciado por Shiny Quagsire
I think the best way to go about some of these commands would be direct reverse engineering. Also, it should be noted that using special_2 some specials can return a value to a specified variable, which is also important to be documented. As such, here's some of my small contributions:
The special table in Emerald is 0x20E entries long, with each function being located in the table at 081DBA64.
If these offsets could be futher confirmed as to what they do, either by means of looking at every used special thus far or further research, that would be nice.
Here is a few list of specials:
Iniciado por Le pug
0x12E - not sure, but clicking once will do a sound warp to blackness but if you continuously click on the script it'll warp you to map 0.0 in the center location (X,Y)
0x8 - takes you to a secret base with a guy in it. Can warp back to original position.
0x9 - warps you to warp 0 on map 0.0
0xA - same as 0x9
0xD - deletes everything on your computer. Nah, jk. Idk what it does
0xE - brings up menu "Decorate, Put Away, Toss, Cancel"
0xF - message "There is no registry" then brings up menu "Decorate, Pack Up, Cancel"
0x18 - teleports you to X1, Y3 of the current map
0x1A - PC shut off sound and tile is set to something else
0x1B - "Please Wait ... ... B Button: Cancel Mixing Records..." followed by twinkling sound and the Mixing Records textbox doesn't go away. Kind of cool though cus you walk around with the message box up and if you go to a new location, it moves up and down with the sign in the top left corner telling you where you are.
0x1D - locks player in place (aka lock command)
0x1E - unlocks player in place (aka release command)
0x21 - "Please Wait ... ... B Button: Cancel" then battle with a level 4 Poochyena ... maybe saving the professor? Anyways, it'll save your progress then give you a communication error. epic troll special.
0x22 - "Please Wait ... ... B Button: Cancel" then message pops up after fade out saying "Communication standby ... please wait" then communication error
0x24 - brings up player info and Would you like to save? message. without a lock in your script, you can walk around with the message up.
0x27 - voodoo ritual where clones of you appear in a circle staring at each other.. usually one of them has a palette error
0x29 - deletes all pokemon in party unless its storing it to be retrieved by some variable or special
0x30 - turns all hidden sprites into soil sprite (sprite #60)
0x3A - same as #raw 0x56 aka it pops up a ! emote box above the player's head
Iniciado por Dark Sneasel
0x3- warp from where you came from
0x8- want to make your secret base here?
0x9- Petalburg Pokemon center, door opens
0xE- Secret base stuff, decorate, put away, etc
0xF- there is no registry
0x18-warps you
0x1B-mixing records
0x21-http://i.snag.gy/hl9mq.jpg
0x22-communication
0x24-save game
0x2A-choose pokemon
0x2B-screen goes black
0x2F-choose berry
0x3A-! over player and faces down
0x3E-battle last battle
0x3F-PC
0x60-save, can't say yes
0x62-profile
0x6A-http://i.snag.gy/m84Wc.jpg
0x70-http://i.snag.gy/XAEeM.jpg
0x74-SMALL DESK everywhere, and exit
0x78-a bunch of secret base choices
0x8D-screen goes black
0x8E-after going to bag and back map is messed up
0x8F-^same
0x93-^same
0x9b-cable car
0x9D-set the clock
0x9E-see the clock
0x9F-starter choosing bag
0xA0-wally scene
0xA1-nickname
0xA2-choose pokemon
0xA4-berry blender
0xA5-^same
0xBF-choose a pokemon, then get the choices summary, item and cancel
0xC0-http://i.snag.gy/i0HiF.jpg
0xC5-egg hatch
0xC7-http://i.snag.gy/DbIyQ.jpg
0xCB-after a few secs it puts you in front of player's house
0xD3-opens this
0xD9-PC animation
0xDA-black screen on PC
0xDC-weird animation
0xDD-weird animation
0xDE-choose pokemon, shows NOT ABLE for mine
0xDF-show's your first pokemon's moves screen
0xE3-move relearner
0xF1-battle factory switching
0xEF-battle tent battle with "School Kid KEITH" after testing with Shiny Quagsire, it was discovered that you must put a var before it. Here is what happens with the vars/
[spoiler]setvar 0x8004 0x?
special 0xEF
0x0 normal
0x1 last trainer you battled, flees when you're gonna lose
0x2 freezes game
0x3 he seems to have a fainted team
0x4 the battle facililty with the old guy
0x5 battle arena
0x8 steven battle
0x9 double battle, he flees when you're about to lose
0xF8-choosing pokemon screen, however you can't choose any
0xFB-deletes party
0xFC-player's computer
0xFE-show's region map
0x101-trade, trades with last pokemon you saw, can be fainted though
0x106-berry blender maximum speed records
0x109-someone's PC, player's PC, log off
0x10A-hall of fame, corrupted if you haven't beaten E4
0x10B-Diploma for completing pokedex
0x111-http://i.snag.gy/S9gs1.jpg
0x112-takes you to boot screen, probably from battle frontier saving and quiting
0x113-credits
0x114-little earthquake, messes up a few tiles
0x116-camera doesn't follow
0x117-makes camera follow player
0x11C-screen goes red, starts shaking
0x12E-same as 0x3
0x133-big earthquake
0x134-now in floor
0x139-wild battle with last seen pokemon
0x13A-same but cool kyogre thing before battling
0x13b-same but diff. image
0x13d-small earthquake
0x13f-https://www.dropbox.com/s/jakaalhn6ibvf2p/it.AVI (it's supposed to be once, I spammed)
0x141-player falls from roof to entrance of mao
0x142-showpokepic with (?) pokemon doing an animation
0x145-battle with last pokemon you've seen
0x174-opens bag
0x17C-answer the lady's quiz
0x17D-profile
0x184-opens bag
0x186-make a quiz
0x190-pressing start you can see the player's name is all nonsense now
0x191-opens pokeblock case
0x196-messes up a bunch of tiles
0x199-shows town name like it would when you walk into it
0x19A-same as^
0x19B-a little bit of dust comes from the ceiling during a short earthquake
0x19D-player moves down a few pixels. can be used more than once and the effects stack until warp
0x1A0-1A2-communication error
0x1A3-Wireless communication status, shows how many people are battling, trading and in the union room
0x1A7-choose something, but none of my pokemon can participate
0x1AD-Pokemon Jump records
0x1B0-moves the screen a little bit to the right
0x1B8-"Battle Tower Single" and a huge box cover most of the screen
0x1BE-shows a very small box that says "exit" at the tip of the screen
0x1C2-opens battle pyramid bag
0x1C4-pokemon choosing screen, say's DON'T HAVE for my pokemon, and once you give them an item it says the item's name
0x1C7-shows BP
0x1CD-shows a small box in the screen with nothing in it
0x1CF-makes a box that says "Powder" and "0" in the screen. probably for the thing near Fallarbor town
0x1D6-Groudon and Kyogre fighting
0x1D7-opens Pokenav
0x1D8-opens menu like the scientist did to make sure you call Mr.Stone
0x1DD-teach mega punch, choose pokemon to learn
0x1E4-a shaking mirrage tower follows you
0x1E5-fossil falls
0x1E6-nickname pokemon, but it shows a yellow bulbasaur in the icon
0x1EA-confetti
0x1F4-multichoice: Slateport City and exit
0x1F7-Really tall grass appears
0x1FC-Same as 0x1D6
0x1FE-screen does this
0x1FF-berry crush pressing speed rankings
0x201-tell the girl that can't laugh's dad the words
0x20F-takes you to boot screen
0x210-same as ^
0x211-player can't move
0x212-same as ^
0x213-0x214-same as ^
0x215-same as 0x20F
Iniciado por Shiny Quagsire
Just based on some initial decompiling, here's a list of specials that are confirmed to do absolutely nothing:
0x23 Nothing (bx lr)
0x4E - Puts byte 0x0 at 0203A030
0x5A - Takes a halfword from 020375E4, doubles it, and adds it to the ram location 02039F00, then takes a halfword from the resulting RAM location and stores it at 020375DE
0x65 - Loads a dword from 03005D8C (seems to be a saveblock), adds 0x2e51, then loads a byte from the resulting location and stores it to LASTRESULT.
0x67 - Also loads more stuff from one of the saveblocks
0x68 - More stuff from same saveblock
0x75 - More stuff from same saveblock
0x84 - More stuff from same saveblock, although this one seems to do a bit more with the data it's reading.
0x92 - Stores value from saveblock at 020375DE
0xA6 - Saveblock stuffs
0xB3 - Saveblock stuff, returns only with special 2
0xB7 - Loads byte at 0202433A and stores it to variable specified in special 2
0xE5 - Something with vblank callback
0xF4 - RAM stuffs
0x115 - Absolutely nothing (bx lr)
0x11B Nothing (bx lr)
0x14B - Nothing (bx lr)
0x157 - Stuff with trainer data
0x173 - Stuff with that one saveblock
0x17B - Stuff with that one saveblock
0x17f - Ditto
0x180 - Ditto
0x182 - Ditto
0x183 - Ditto
0x18A - Ditto
0x192-0x194 - Ditto
0x1B4 - Loads byte from 030030FC and stores it to specified variable in special 2
0x1BC - Stores 0x0 at 02039F2A
0x1CC - Loads stuff from trainer saveblock to special 2 variable
0x1F0 - Does stuff with trainer block data. Lots of or'ing.
[/SPOILER]
NOTE: Gonna make all of that one list soon.
Vaya! Recien veo éste tema... Pues habrá que desamblar el Rom para chequear esas rutinas a ver que hacen y probarlas In-Game :3 Muchas gracias por el aportazo!