After some work on speedrun routes and more uses of Pomeg Glitch, the TAS route for a 3-star / 4-star run of Emerald is clearer.
3-star consists of beating League, obtaining 7 Gold Symbols, and obtaining 5 paintings, as I don't know if filling the regional Pokédex would be entertaining in a TAS.
EDIT : I made a pastebin of a reworked route
http://pastebin.com/q6sbycRb
I'm leaving that old route here as it could still help.
Here, the route would look like this :
-- Use the global route for the any% TAS.
- Start with a SID of 0xXYYY, X being 0,1,2,3,8,9,A or B. (YYY being anything)
- Set a specific hour at the beginning.
- During the Pomeg Glitch corruption, maintain Up a bit longer to corrupt Bag Item quanties. (to quickly make money)
- Obtain an invisible Bad Egg with that corruption. (a corrupted empty slot)
- Beat League.
- Choose Latias as a roamer.
- Fly at Mauville, and go to the Berry Master's house to obtain a Belue Berry.
Pick up 2-3 Berries in the garden too.
~League needs to be beaten to obtain that Berry.
3-4 Berries are needed to restaure Berry Pouch.
- Fly at Ever Grande.
-a) Surf towards Lilycove to unlock its Fly location. Make a detour through Route 129 to encounter a Lv 27 Wailord (1%, 1/6) with a Corruption Type of 3 (1/6) and a "good" PID (the 8th hexadecimal character of its PID must have a specific value out of 8 possible, 1/2). (Total : 1/7200)
Fly to Lilycove. (the Wailmer barrier is still here)
-a) Surf towards Mossdeep. Obtain Super Rod at Moosdeep. Surf towards Lilycove to unlock its Fly location. Before flying to Mossdeep, fish a Lv 27 Wailmer (30%, 1/6) with a Corruption Type of 3 (1/6) and a "good" PID (the 8th hexadecimal character of its PID must have a specific value out of 8 possible, 1/2). (Total : 1/240)
Fly to Lilycove. (the Wailmer barrier is still here)
~A Pokémon with a Corruption Type of 3 and 16.486 Exp is required. Pokémon with a Fluctuating exp curve require the less experience to do this (Lv27 + 346 exp) (Other exp groups require 740 exp or more to get to 16.486 exp)
A Corruption Type of 3 is needed to obtain an OHKO Glitch Move from Experience.
This is one of the fastest ways to obtain a Glitch Move.
And 0x4066 is the fastest OHKO Glitch Move on US Emerald.
This strategy is here in case manipulating for a convenient Wailord is too tedious.
I haven't searched yet if there are easy battles to gain 346 Exp. Else, Wailmer/Wailord will be deposited at Day Care.
- Collect 2 Heart Scales and a PP Up. (Lilycove)
- Sell a duplicated item to buy some HP Ups (6), 5 Iron and 1 Fluffy Tail at the Mall.
- Obtain Pokeblock Case in the Contest Hall.
- Make a Pokéblock with one of the picked berries, and one with the Belue berry.
~ I don't know which blender (1/2/3 NPC) is the fastest, but 3 NPC blender would be optimal for Belue Berry.
The Pokéblock with the picked Berry must have some Spicy(Beauty).
- Go in Route 121 towards Safari Zone. Meet Latias in the way.
~Latias needs to be met to obtain a Watmel Berry using the "LATIAS" word.
- Enter Safari Zone.
- In the beginning Zone, catch a Wobbuffet (10%) with Corruption Type 7 (1/12) and a "good" PID (the 7th hexadecimal character of its PID must have a specific value out of 4 possible, 1/4)(the 8th hexadecimal character of its PID must have a specific value out of 8 possible, 1/2). (Total : 1/960)
~This Wobbuffet will become the Pokémon that will beat contests.
Corruption Type 7 was required to manipulate Ribbons with PP Bonuses and Friendship and Species with EVs.
The combination of Contest moves that will be used can be directly made with Regice/Registeel/Regirock, or with Meditite/Poliwrath + Explosion/Destiny Bond.
Poliwrath is the fastest one to obtain with EV manipulation.
And catching a Wobbuffet is the fastest way to obtain a Pokémon knowing Explosion/Destiny Bond.
- Fly at Slateport and buy X Energy Roots.
- Go to Battle Frontier. Go to Battle Tower.
Give PP Up to Pokémon A, a Heart Scale to Pokémon B.
Clone Pokémon A and Pokémon B. (2 PP Ups, 3 Heart Scales)
Clone Pokémon A and Pokémon A. (4 PP Ups, 3 Heart Scales)
Clone Pokémon A and Pokémon A. (6 PP Ups, 3 Heart Scales)
Withdraw the PP Ups and Heart Scales.
- Fly at Mauville, and go to the Berry Master's house to obtain a Watmel Berry.
~The clock must be past midnight in order to get a second berry from the Berrymaster's wife. And Latias needs to be met in order to use the "LATIAS" word for a Watmel Berry.
- Give Wailmer/lord the Exp they need, and deposit them in PC.
Put Astonish/Water Gun as 1st Move. (Astonish will give Pelipper, Water Gun Golduck)
- Give 6 PP Ups to Wobbuffet. 1 for Move 1, 2 for Move 3, 3 for Move 4.
- Give the Pokéblock from the picked Berry to Wobbuffet.
~ He will gain some Beauty, which will be needed to get a high levelled Poliwrath in order to learn Mind Reader (Lv 51) and Submission (Lv 0).
- Make Wobbuffet fight a Marill at Route 117/102. (2 HP Evs)
~Route 117 if Wailmer/lord were taken from Day Care.
- Put Wobbuffet in 3rd party slot or higher.
- Make a wild battle to decrease Wobbuffet's Friendship to 0.
Switch to let Wobbuffet take a hit.
Use an Energy Root on Wobbuffet and take another hit after that. (-10 Friendship)
Repeat until Wobbuffet hits 0 Friendship.
Flee.
- Give Wobbuffet 6 HP Ups and 5 Iron, then deposit it in PC. (62 HP EVs, 55 Friendship) (Iron is only here for Friendship)
~If a step cycle happens between the last fight and the way to PC, they can be delayed before the fight. (opening Bag to take another Energy Root would be slower)
- Put Wobbuffet in Box 2 Slot 19 and Wailmer/lord in Box 2 Slot 24.
~A Double Corruption will be performed on these 2 Pokémon.
As the PC Pokémon corruption from Pomeg Glitch is mainly 5-periodic, and as this corruption starts from Box 2 Slot 24, this placement will corrupt these 2 Pokémon in the least time (least amount of Up pushes).
A Double Corruption is required for Wobbuffet because Ribbons and Level
- Perform a Decaswitch to have a party with : Castform Bad Egg, Invisible Bad Egg
~Invisible Bad Eggs can be switched with the last alive Party Pokémon.
Thus, you end up with a party full of KO/Egg/Bad Egg, and that contains more than 2 Pokémon, which will allow to set up a Pomeg Glitch without relying on Pomeg Berries anymore.
- Perform a Pomeg Glitch data corruption to corrupt Wailmer/lord and Wobbuffet once. Use a Fluffy Tail to flee.
~This first corruption will corrupt either the TID (ID, SID couple), or the PID of these Pokémon.
The condition on the leftmost hexadecimal character of SID and PID is needed in order to corrupt PID and TID with this setup. (else, a corruption initiator would be needed)
- Perform a second Pomeg Glitch data corruption to corrupt Wailmer/lord and Wobbuffet. Black out to the Pokémon Center.
~Wailmer/lord will become a Lv 100 Pokémon knowing Fake Tears/Air Cutter and Glitch Move 0x4066.
That Pokémon will either be Pelipper or Golduck. (due to 1st Move) (Pelipper/Golduck will be chosen depending on their cry lenght)
Wobbuffet will become a Poliwrath at Lv 100 (due to Beauty and Coolness) with some Contest stats (due to its IVs), knowing Destiny Bond, and with all Hyper ribbons (due to PP Bonuses and Friendship).
- Fly at Fallarbor. Make Poliwrath learn Submission and Mind Reader. (leave Counter to Poliwrath)
Make Golduck/Pelipper learn Hydro Pump, and put 0x4066 in first slot.
-- Fly to Battle Frontier and beat all 7 Battle Frontier buildings with this Golduck/Pelipper.
~Battle Factory still needs to be beaten without any tricks as changing your winning streak it too tedious (requires other Glitch Pokémon to also restaure trainer name and other things), and as you can't easily change your 3 Pokémon party. (The only way is to change the number of the previously selected Pokémon, then corrupt the receptionist's script to be taken to the Factory with the previously selected Pokémon)
Battle Pike will consist on avoiding every battle, except the Leader.
Hydro Pump is required to get through Shuckle (Silver) and Steelix (Gold).
Battle Tower :
All Sturdy/Shedinja fights will be avoided.
The OHKO Move will take care of everything.
If Golduck/Pelipper knows Air Cutter, Shedinja can be taken care of. (and it would be a fast Pokémon to kill)
Battle Arena :
The OHKO Move will take care of everything, except Leader's Shedinja. (Silver)
If Pelipper/Golduck doesn't know Air Cutter, Poliwrath can kill Shedinja with Counter.
Battle Pyramid :
All trainers will be avoided, except the Leader.
OHKO Move will take care of his Pokémon.
Battle Dome :
OHKO Move will take care of everything.
An Instant Flee Glitch Move might be faster here, so a 3rd Pokémon could be caught and Double Corrupted in order to have an IFG ready for that area. [Test]
Battle Palace :
OHKO Move will take care of everything.
Having Hydro Pump on Pelipper/Golduck would be an hindrance to get a series of 3 OHKO Glitch Move choices.
Moves are separated into 3 categories (Offensive, Defensive, Sneaky, O,D,S) depending on their targets (and the effect for some cases, I don't remember well).
The chance to use a Move on one of these categories depends on the Pokémon's nature. (there's also a specific case when the Pokémon's HP is below 50%)
Here, the chance to use 0x4066 would be :
0x4066, Hydro Pump, Air Cutter (1)
0x4066, Hydro Pump, Fake Tears (2)
(1) (0x4066 chance) = 1/3*( (O chance) + 1/2*(D chance) + 1/2*(S chance) ) = 1/6 + 1/6*(O chance)
(2) (0x4066 chance) = 1/2*( (O chance) + 1/2*(D chance) ) = 1/2*(O chance) + 1/4*(D chance)
If we removed Hydro Pump and Air Cutter/Fake Tears at Lilycove, we would have :
0x4066 (3)
(3) (0x4066 chance) = (O chance) + 1/2*( (D chance) + (S chance) ) = 1/2 + 1/2*(O chance)
Which is 3 times higher than in case (1)
The time taken to get to the move eraser would be too important to compare to more waiting frames in order to get a battle with 3 consecutive 0x4066 uses (and no Focus Band activation), but manipulating the battles would be easier.
- Once the 7 Gold Symbols are obtained, Fly to Lilycove and enter the Contest Hall.
- Blend the Watmel Berry.
~I don't know which blender is the fastest one (1/2/3 NPC) but, 3 NPC would be optimal for Watmel Berry.
- Give Pokeblocks from Belue and Watmel to Poliwrath.
Thanks to his ribbons, Poliwrath can directly enter Master class contests.
He needs to win with a final score higher than 800 to trigger the painting event.
Here, the combo : Mind Reader (3) - Submission (6*2) - Mind Reader (3) - Submission (6*2) - Destiny Bond (8) will be used.
The amount of hearts it gives is : Cool (40), Beauty (38), Cute (38), Smart (41), Tough (38).
Ovations can add few more hearts in Cool and Smart contests, but they shouldn't be required.
The downside of this combination is that being startled on Submission makes you lose a whole lot of hearts (generally a dozen), which isn't affordable.
Without any Contest stats, 40 hearts are required to obtain a final score of 800. (Final score = 20*Hearts + Voting score)
Thus, Contest stats are required to decrease the requires amount of hearts to obtain a score of 800.
The base Contest Stats of Poliwrath should be : ~66 / ~10 / 0 / 0 / 0 / 0, as Cool and Beauty are affecter by the IVs (up to 255 and 63).
The Belue + Watmel Pokeblock combination is the most optimized one to decrease the amount of required Hearts in all 5 categories.
With 1 Belue and 1 Watmel Pokéblock, the amount of required hearts becomes :
Cool (33), Beauty (35), Cute (35), Smart (36), Tough (34).
By doing all the Lilycove stuff before the League in order to bring Wobbuffet to the Hall of Fame (killing it + performing Decaswitch), Poliwrath would have an additional 128 Smartness.
With League Ribbon, 1 Watmel, and 1 Belue Pokéblock, the amount of required hearts becomes :
Cool (33), Beauty (35), Cute (32), Smart (30), Tough (31).
With League Ribbon and no Pokéblocks, the amount of required hearts becomes :
Cool (37), Beauty (38), Cute (37), Smart (34), Tough (36).
Thus, depending on the ability to manipulate the opponents Pokémon as well as the moves they choose (some categories have many Pokémon that use troubling moves), it could be possible to skip Belue and Watmel Pokéblocks with the League Ribbon.
This would required to not take any heart loss on Beauty and Cute (and maybe Tough).
And obtaining the 5 paintings would be the end of the run, who could end on the trainer card. (as it would be the fastest required time to obtain 3 Trainer stars).
But I don't really know if the Battle Frontier part will be that nice to watch, because it will mainly consist of skipping battles or using an OHKO Glitch Move. (there is a lot of manipulation involved, but the result doesn't show it)
Anyways, the route is mainly completed, and only small time savers need to be tested/discussed.
Using other Pomeg Glitch techniques would require to catch other Pokémon and Double Corrupt them, which wouldn't be worth the time.
Also, the research about Pomeg Glitch starts to hit the edges. Apart from Arbitrary Code Execution (who would have many uses, but not in this run), the ways to make Pomeg Glitch/Glitch things interact with the game have been tested in many ways, and there are not many things left to test or get.
ACE still hasn't been verified, but it could normally be doable using Glitch Moves animations, and PC Pokémon data + PC Items to write the code.
As I was kind of quick about Corruption Types, here is a link with tables that describes them, along with their correspondance with a Pokémon's PID :
http://www.petit-fichier.fr/2016/02/15/precisions-sur-les-sous-structures-de-la-gen-iii-en/precisions-sur-les-sous-structures-de-la-gen-iii-en.html