TASVideos

Tool-assisted game movies
When human skills are just not enough

Game Information

GBA Pokémon: Emerald Version

  • Platform: GBA (Game Boy Advance)
  • Abbreviation: pokeemer
  • Display name: Pokémon: Emerald Version
  • Goodtools name: Pokemon - Emerald Version
  • Game resources: GameResources/GBx/Pokemon
  • In group: Pokémon

Total movies: 2


[Tier: Moons]GBA Pokémon: Emerald Version (USA) in 2:12:33.24 by GoddessMaria.
BizHawk Movie (.bk2) (date: 2016-12-22)
MKV file via BitTorrent (Modern HQ) (size: 192.42 MB, length: 2:17:31)
MP4 file via BitTorrent (Compatibility) (size: 252.18 MB, length: 2:17:31)
Mirror archive.org (MKV Modern HQ)
Mirror archive.org (MP4 Compatibility)
Watch on (www.youtube.com)
Submission #5311 — Author's comments
Discuss this movie
Rating: 7.1 (3 votes)
View Publication
- Contains speed/entertainment tradeoffs
- Forgoes time-saving glitches
- Foregoes memory corruption
- Heavy luck manipulation
- Genre: RPG
Pokémon: Ruby, Sapphire and Emerald form the third generation of Pokémon, after Pokémon: Gold and Silver. Noticeable differences include the graphics and interface, Pokémon abilities, and running shoes that allow the player to move around much faster in the overworld before getting the bike.

This TAS completes the game without using any glitches. There is another TAS of this game which uses a notable glitch to skip through the second half of the game much faster.


Note: To play the bk2 file you need to have configure your timezone to GMT-5 (US Eastern Time).

[Tier: Moons]GBA Pokémon: Emerald Version (USA) "Pomeg glitch" in 1:16:12.27 by GoddessMaria.
VBA movie (.vbm) (date: 2016-01-05)
MKV file via BitTorrent (Modern HQ) (size: 104.20 MB, length: 1:19:15)
MP4 file via BitTorrent (Compatibility) (size: 140.75 MB, length: 1:19:15)
Mirror archive.org (MKV Modern HQ)
Mirror archive.org (MP4 Compatibility)
Watch on (www.youtube.com)
Submission #4953 — Author's comments
Discuss this movie
Obsoletes movie #2705 (1:19:52.87)
Rating: 7.7 (3.5 votes)
View Publication
- Uses death to save time
- Takes damage to save time
- Heavy glitch abuse
- Corrupts memory
- Heavy luck manipulation
- Genre: RPG
Pokémon: Ruby, Sapphire and Emerald form the third generation of Pokémon, after Pokémon: Gold and Silver. Noticeable differences include the graphics and interface, Pokémon abilities, and running shoes that allow the player to move around much faster in the overworld before getting the bike.

In this movie, GoddessMaria applies her experience with TASing the game's alternate modes to a full run, finishing in under an hour and twenty minutes using lots of luck manipulation. At some point, her trainer gets fed up with all these slow battles, flies to the end, and storms the Elite Four throwing bad eggs at anyone who wants a fight.


Note: To play the vbm, you need to have Real Time Clock on and Flash 128k as the Save Type. Real Time Clock is for sync, while Flash 128k is to prevent the game from displaying a white screen.

[Tier: Moons]GBA Pokémon: Emerald Version (USA) "Pomeg glitch" in 1:19:52.87 by GoddessMaria.
VBA movie (.vbm) (date: 2014-10-25)
MKV file via BitTorrent (Modern HQ) (size: 113.77 MB, length: 1:24:56)
MP4 file via BitTorrent (Compatibility) (size: 152.90 MB, length: 1:24:56)
Mirror archive.org (MKV Modern HQ)
Mirror archive.org (MP4 Compatibility)
Watch on (www.youtube.com)
Submission #4465 — Author's comments
Discuss this movie
Rating: 7.6 (12.5 votes)
View Publication
- Uses death to save time
- Takes damage to save time
- Heavy glitch abuse
- Corrupts memory
- Heavy luck manipulation
- Genre: RPG
Award - GBA TAS of 2014Award - Lucky TAS of 2014

This movie has been obsoleted!

Click here to see the movie that obsoleted it.
Pokémon: Ruby, Sapphire and Emerald form the third generation of Pokémon, after Pokémon: Gold and Silver. Noticeable differences include the graphics and interface, Pokémon abilities, and running shoes that allow the player to move around much faster in the overworld before getting the bike.

In this movie, GoddessMaria applies her experience with TASing the game's alternate modes to a full run, finishing in under an hour and twenty minutes using lots of luck manipulation. At some point, her trainer gets fed up with all these slow battles, flies to the end, and storms the Elite Four throwing bad eggs at anyone who wants a fight.


Note: To play the vbm, you need to have Real Time Clock on and Flash 128k as the Save Type. Real Time Clock is for sync, while Flash 128k is to prevent the game from displaying a white screen.
#35035300439343402 - Pokémon: Emerald glitchless WIP 3
Pokemon Emerald Pokerus.bk2 (145kB bk2 movie [GBA])
Uploaded 2016-11-16 19:22:06 by GoddessMaria (18 files)
For GBA Pokémon: Emerald Version (5 files)
In 1:33:31.74 [335175 frames], 6284 rerecords)
1585 views, 74 downloads
Progress ends after Tate & Liza.
Info Download

#34633738200714445 - Pokémon: Emerald glitchless WIP 2
Pokemon Emerald Pokerus.bk2 (106kB bk2 movie [GBA])
Uploaded 2016-10-29 17:20:27 by GoddessMaria (18 files)
For GBA Pokémon: Emerald Version (5 files)
In 1:08:51.4 [246758 frames], 4948 rerecords)
1644 views, 75 downloads
Progress ends after Mt. Pyre.
Info Download

#33670736440054219 - Pokémon: Emerald glitchless WIP
Pokemon Emerald glitchless.bk2 (78.2kB bk2 movie [GBA])
Uploaded 2016-09-16 08:28:58 by GoddessMaria (18 files)
For GBA Pokémon: Emerald Version (5 files)
In 50:39.09 [181517 frames], 3319 rerecords)
1784 views, 93 downloads
Ends after Flannery.
Info Download

#26391192364156032 - Pokémon Emerald improvement WIP #2.5
POKEMON_EMER_BPEE01 - new WIP2.vbm (164kB vbm movie [GBA])
Uploaded 2015-10-24 12:24:24 by GoddessMaria (18 files)
For GBA Pokémon: Emerald Version (5 files)
In 23:26.24 [83991 frames], 14935 rerecords)
2839 views, 116 downloads
Changed strategies around! Thanks to the changes, I am 2600 frames ahead.
Info Download

#26186322071554167 - Pokémon Emerald improvement WIP #1
POKEMON_EMER_BPEE00 - copy.vbm (96.2kB vbm movie [GBA])
Uploaded 2015-10-15 06:58:23 by GoddessMaria (18 files)
For GBA Pokémon: Emerald Version (5 files)
In 13:42.8 [49144 frames], 12915 rerecords)
2881 views, 123 downloads
319 frames ahead up to the end of first gym battle
Info Download

The purpose of this page is to document all the known tricks of the GBx/GBA Pokémon RPG games so far.

Although the majority of tricks on this page can be done in real-time play, there are some tricks that require luck manipulation, and thus tool-assistance. For luck-manipulation, a frame advance feature in an emulator is a definite must-have.

  • RBG = Red, Blue, Green
  • RBGY = Red, Blue, Green, Yellow
  • GSC = Gold, Silver, Crystal
  • RSE = Ruby, Sapphire, Emerald

For Fire Red or Leaf Green, assume RSE mechanics.

Luck Manipulation

In RBGY/GSC (assuming fast text speed), the timing of a button press has a high influence on random factor. The duration of a button press (how long it is held down) has a mild influence on random factor. For example, holding a button down for different durations usually (but not always) preserves a critical hit while randomizing damage. Mashing the A button during dialog slows down the text a little, so it can be used to luck-manipulate.

In RBGY/GSC, when catching Pokémon, timing of entering squares has a high influence on random factor. Walking around in the grass without stopping has a mild influence; the desired type of Pokémonis not likely to change, but its DVs are likely to change. Duration of a button press also has a mild influence.

In RSE, only the timing of actions can influence random factors. Holding down a button, when there is no visible effect, does nothing. Because many dialogs run at a fixed rate on fast speed, rather than prompting for button presses, it is vital to set the text to mid speed in order to control the rate of text in order to make luck-manipulation better.

Most actions are determined when they are needed; for example, critical hits are determined when the damage is calculated, and attack misses are determined at the end of the attack message. However, there are a few things to watch out for:

(Game Mechanics)

  • In RSE, an attack miss is determined before the attack message "(Pokémon) used (attack)".
  • When both Pokémon have the same speed, all things being equal, the one going first is decided when the attack is selected in the menu.
  • When using Quick Claw (1/4 chance to go first if slower, all other things being equal), in GSC, the chance is determined when the attack is selected, but in RSE, it is determined before the menu appears.
  • Paralyze effect (unable to move) is determined just before the attack is attempted, and confusion effect (self-damage) is determined after "(Pokémon) is confused!"
  • In RBGY and RSE, added effects of attacks (flinch, stat boost, confusion, paralyze, etc.) are determined after the hit, after critical hit and super effective messages if any. In GSC, added effects are determined when calculating damage.

(AI)

  • Enemy Pokémon moves are determined when the attack is selected.
  • Trainer moves are determined before the menu appears.
    • Smart trainers will always use stronger attacking moves over weaker ones.
    • Smart trainers will always try to use moves that knock out your Pokémon if it is possible.
    • Smart trainers may also do things like use potions or switch to a Pokémon that resists your last attack.
  • In GSC, it may be possible to manipulate the trainer Pokémon order. The choice of Pokémon is determined after experience dialogs from knocking out the previous Pokémon.
    • The first Pokémon is always fixed.
    • Smart trainers will always bring in a Pokémon that can knock out your Pokémon if it is possible, and will always avoid bringing in a Pokémon that is weak to yours.
    • In RBGY, Pokémon order cannot be manipulated.
    • In RSE, Pokémon order can only be manipulated from what your current Pokémon is, not from luck-manipulation.

(Overworld)

  • Some things like the direction that a randomly looking trainer looks, as well as people movement, can be manipulated.
    • In RSE, trainers that change the direction in which they look are influenced by running near them. It is required to walk or bike by them to avoid triggering a battle.
  • Wild Pokémon encounters are determined when you step into a patch of grass.

(Pokémon personal stats)

  • Personal stats (DVs/IVs, nature, ability, shiny, Pokérus, etc) for the starter Pokémon are determined when you obtain the Pokémon.
  • Personal stats for wild Pokémon are determined on encounter.

(Other)

  • (RSE) Zigzagoon's Pickup ability is determined on the fadeout after each battle.

Random Number Generator (RBGY)

Memory addresses FFD3 and FFD4 are the two RNG bytes. The I/O address FF04 (which may be anything) influences theses addresses in the following way:

  • New FFD3 is FFD3+FF04 or FFD3+FF04+1
  • New FFD4 is FFD4-FF04 or FFD4-FF04-1

Note that FFD3+FFD4 (the D-sum) either increases by 1 (in battles), decreases by 1 (in overworld), or remains constant. These changes occur many times per frame.

Random encounters are determined by the value of FFD3 and FFD4 as follows:

  • Encounters occur if FFD4 < D887 (which is usually $0F).
  • Which Pokémon encountered is determined by FFD3.

Pokémon Index by Area FFD3 range
0 (common) 0-50
1 51-101
2 102-140
3 141-165
4 166-190
5 191-215
6 216-228
7 229-241
8 242-252
9 (rare) 253-255

It may be necessary to change the D-sum to be able to catch different Pokémon. This can be done by waiting one or two frames to clear a dialog in battle. Pressing A in the field can have an effect, but slows you down two frames.

During battle, FFD3 controls damage (not in an obvious way) and FFD4 controls critical hits. Both may be responsible for controlling accuracy. Delaying button presses produces large changes, and holding A in a dialog usually has a mild effect (which is why critical hits sometimes remain), but may occasionally produce a large change.

Tricks and glitches

Pokédoll glitch (RBGY)

In the Lavender Town Ghost Tower, it was intended that the ghost Marowak could only be bypassed using the Silph Scope. However, it can be bypassed using a Pokédoll obtained from the Celadon Dept. Store.

Non-100%-accuracy glitch (RBGY)

In RBY, any attack has at least a 1/256 chance of missing, including those attacks which are supposed to have 100% accuracy. This is due to a programming oversight.

Missingno. Pokémon and relatives (RBGY)

Not much is known about Missingno. (name is derived from “missing number”) other than that it glitches the game badly. Encountering a Missingno. automatically gives you 128 more of the item in the sixth slot of your pack (if it isn’t already above 127). In addition, Missingno. writes garbage to the savefile on encounter, messes up graphics, possesses abnormal stats and moves, has strange evolution lines, and does unpredictable things to the game.

Missingno. relatives: ‘M, Missingno., other glitch Pokémon of a high ID number, glitch trainers.

Missingno. is related to the ZZAZZ glitch.

Cinnabar Island glitch (RBG)

Also known as the Missingno. glitch. The east coast of Cinnabar Island (and Seafoam Islands) is a defined grassy encounter spot (which must be surfed), but has no defined encounter list. Instead, Pokémon from the previous grassy encounter list are used. This includes, for example, Safari Zone Pokémon if it was the last grassy area you traveled in. However, if you talked to the guy in Viridian who teaches how to catch a Weedle, and saw him catch a Weedle, your name is placed in the encounter list, which, when doing the glitch, may cause glitch Pokémon (or normal Pokémon with absurd levels) to appear:

      __ __ __ __ __ __ __  <-- these are the 7 characters of your chosen name
         L1 P1 L2 P2 L3 P3
  • characters #3, #5 and #7 (marked with P) will define the Pokémon;
  • characters #2, #4 and #6 (marked with L) will define the experience level;
  • the first character has no effect at all;

See Table of Pokémon ID numbers.

This glitch does not work in Yellow version.

Trainer-Fly glitch (RBGY)

This glitch is also known as the Mew glitch. The basics of this glitch is that some of the trainers that battle you have a line of sight that is up, left, or right and sees you if you start one square past the line of sight (with the trainer offscreen) and walk one square toward the trainer. During this one-square-walk, the game defaults the trainer to facing downward before rendering the trainer in the proper direction, allowing you to open the menu and escape rope/dig/fly/teleport away as the trainer sees you. This will suspend the pre-battle trigger.

After you perform this, you cannot control your character except with the directional keys. To regain control, let a trainer see you but let the trainer walk up to you, so that control is regained after the battle. Fight other trainers and even wild Pokémon if you desire. Now walking back to the area where the pre-battle trigger occurred will trigger a magic wild Pokémon encounter (after you close the menu that pops up). This Pokémon's level is the Attack stat modifier (from -6 to +6) plus 7 (so for normal Attack stat modifier 0, level is 7). Which Pokémon this is depends on the special of the last Pokémon that you battled.

See Table of Pokémon ID numbers.

Skipping Snorlax (RBGY)

By performing the Trainer Fly glitch following certain rules both Snorlax blockades in the game may be skipped.

The rules for how this glitch works are as follows: [2]

  • The object that ends up disappearing is the last vanishable object encountered before the menu pops up at the end of the trainer-fly glitch. This can be a legendary pokemon (e.g. Snorlax), a character (e.g. guard in Saffron), or an item (e.g. antidote on Route 1). It may be encountered before trainer-fly is initiated, during the time the start button is disabled, or even after the start-button is reactivated.
  • A room has at most one vanishable object, and that object is "encountered" just by entering the room even if the object does not appear on-screen. If this one object has already been removed, in the end the glitch has no effect. On route 1, this one object is the antidote. In Saffron City, this is the guard blocking the way to Copycat. Thus, it does not seem possible to remove either of the other two guards in Saffron.
  • Many places such as Vermillion City have no vanishable objects. This is a good thing.

Experience underflow on fading-experience Pokemon (RBGY)

Depending on the level-experience relationship a Pokemon has, each level corresponds to a certain amount of experience. For fading-experience Pokemon E = 1.2L³ - 15L² + 100L - 140, where E is the experience corresponding to level L. However, for L=1, E=-54. So if a fading-experience level 1 Pokemon is glitched by using Trainer-Fly (lowering the Attack stat modifier of the previous Pokemon as far as possible), it will have -54 experience, which the game interprets as 16777162 experience. Gaining 53 or less experience will cause its level to reset to L100.

Pokemon with fading-experience are Mew and all 3-stage-evolution Pokemon except the Caterpie and Weedle lines.

Masking Pokémon cries with the low health sound (RBGY)

If you are low on HP the game has a warning sound in effect the entire time. This sound, while annoying, will save time by masking the sound of enemy Pokémon battle cries. The sounds either will not be played or will be ignored saving time everytime a Pokémon comes out. Abuse of this trick is generally discouraged because the warning sound is considered annoying.

Glitch City glitch and walk through walls glitch (RBGY)

First, enter the Safari Zone. Exit and when asked to leave say "no". Save the game and reset. Then leave and when asked to enter say "yes". Leave through the bottom exit. Walk or bike 500 steps and you will be returned to the Safari Zone building. Exit and you will be in Glitch City.

If, however, you are halfway over a ledge jump before you are warped back, you can walk through walls at the Safari Zone building until you exit. Even more, if your last non-fainted Pokemon faints from poison while in the Safari Zone building, you are warped outside, where you can walk or bike over anything, even water, until you enter a building. This has many applications, such as:

  • Getting to Cinnabar without Surf.
  • Getting to Saffron Gym with a guard in the way.
  • Bypassing Victory Road (go west of Viridian, then north).
  • Skipping the first and last badge checks, thus not being required to do those gyms.

Skip Pewter City gym (RBG)

Approach the Youngster that forces you to Pewter gym (but don't walk in front yet). Open the menu and select "Save", but don't save. Now walk in front of him and as soon as you close the last dialog with B (A doesn't work), immediately press Start and save the game (the cursor is frozen). Reset the game. Then the conversation will happen again; let him take you. After that, go back to where the Youngster should be and he should no longer be in the correct position. Walk through where he should have been and you have skipped the Pewter City gym.

You must do any item buying beforehand, since entering a building resets the Youngster's position.

Because of the walk-through-walls glitch above, you don't need the first badge, because you can skip the first badge check.

This glitch does not work in Yellow version.

Useful memory addresses (RBGY)[3]

Addresses listed are exact for Red/Blue US versions. Yellow is the same memory address minus 1.

CFE7: Current HP of current opponent.

CFF1: DVs of current opponent. This is used to determine the DVs of wild Pokémon that you want to catch.

CFF4: Stats of current opponent (except current HP). First is the total HP, followed by attack, defense, speed, and special. Each value is two bytes.

D0D8: Amount of damage current attack is about to do. Damage is rolled directly after the entire “- used such-and-such” dialog is displayed. A very nice thing about this is, one frame before the actual damage is calculated, the maximum damage possible is also stored in this memory location, which can help you to plan attacks and to know what exactly is possible or not.[4]

D186: DVs of the first Pokémon in your party. This is for your starting Pokémon.

In-game time:
DA40: Hours, two bytes.
DA42: Minutes, two bytes.
DA44: Seconds, one byte.
DA45: Frames, one byte.

FF04: I/O address used by the RNG for entropy. FFD3: RNG byte. Controls type of Pokémon in an encounter, and damage during battle. FFD4: RNG byte. Controls Pokémon encounter events, and critical hits.

Useful memory addresses (GSC)[3]

D0F5-D0F6: DVs of current opponent. This is used to determine the DVs of wild Pokémon that you want to catch.

D0FF-D10C: Stats of current opponent. Each value is two-byte big-endian in the following order: current HP, total HP, attack, defense, speed, special attack, special defense. The current HP is the most important.
(Note: Focus on D100, D102, ... instead of D0FF, D101, ...)

D141-D142: Amount of damage (big-endian) that an attack is about to do. How this address works is rather convoluted. Calculations begin after the dialog “X used attack”.

  1. The base damage is calculated (if critical hit, it is considered) and placed in D142.
  2. If attack is super-effective or not-very-effective or such, multiply D142 appropriately.
  3. If a multiplying factor such as Rage is involved, multiply D142 appropriately.
  4. If any other factors, multiply D142 appropriately.
  5. Random reduction factor, multiply D142 by a random number between 217 and 255, and integer divide by 255.
    1. The number before this step is the max damage possible and is only achieved rarely (if the random number is 255).
  6. If miss, set D142 to 0.
  7. The value in D142 now is the damage inflicted.
  8. If it would knock out Pokémon, set to current HP of that Pokémon (after HP bar begins to decrease).

Note that not all these values appear, but the base damage, max damage, and damage inflicted will usually appear on a frame-by-frame basis.
(Note: Focus on D142 instead of D141)

D151: If using Magnitude, the Magnitude number appears here right after “X used attack” appears.

In-game time:
D1EC: Hours
D1ED: Minutes, one byte
D1EE: Seconds, one byte
D1EF: Frames, one byte

D9BC/D9EC: One-byte values for the overworld step count (mod 256). Useful for going through dark tunnels without having to mash the arrow buttons.

DA02-DA03: X-Y coordinates of character on overworld map. Going right increases X and going down increases Y.

DA3F-DA40: DVs of first Pokémon in party. This is for your starting Pokémon.


See also


[2] Thanks to hanzou for this explanation.

[3] Credit goes to primorial#soup who found the memory addresses.

[4] primorial#soup’s description.


See also