By using entirely new strategies and an entirely new route, this movie improves the current published movie by 1863 frames, and an unsubmitted movie by 592 frames, even though GBAHawk is much slower than VBA 23.6 (has a 270-frame unskippable splash screen and produces more lags).

Game objectives

  • Emulator used: GBAHawk 2.3.2 (SubGBAHawk core)
  • Aims for fastest input time.
  • Heavily glitch abuse.
  • Manipulates luck.
  • Uses glitched warps.
  • Uses subframe resets.
  • Corrupts memory.
  • Corrupts save data.
  • Skips the final boss.
Besides these, this run happens to be pacifist.

Comments

Glitches used

Save data corruption
Found by Fz-Last.
This game does have a save data corruption detection system: Before saving, a "corrupt flag" is set at address 0xE000010 (each save slot takes 1 bit), and this flag will be cleared on finish saving. When loading save data, if the related corrupt flag is not cleared, the game will refuse to load. However, 0xE000010 is also the first byte of the first save slot, and will be overwritten on saving to that slot. This completely ruined the whole thing.
By abusing this glitch, we can interrupt saving progress at a specific time, so that we can save only partial data and leave the remaining bytes 0; we can also overwrite partial save data to "merge" multiple save data.
This glitch can also be done on VBA or other emulators by intentionally producing lag frames on saving. But if we want to control it more precisely, we must use subframe resetting.
Shop Glitch
This is a well-known glitch in AoS: When selling items, if you have exactly 2 sellable items, move the cursor to the first item and press R, and you can move the cursor out of the bound. You can then modify any non-zero byte in a certain memory region by increasing/decreasing the amount of glitched items, or by selling them.
In this run, I mainly use this glitch to modify the 2 important function pointers at 0x20004E4 and 0x20004E8, to make the game execute specific code and skip directly to the ending cutscene. This was found by klmz.

Stage by stage comments

There's not much to say about the normal gameplay, so let's focus on save corruptions and the shop glitch.

First save

I started the game from save slot 2.
I saved at the very first save point so that I could use "sleep". Then I slept the game at the Grave Keeper room. The room ID for this room is 0x05, and the area ID is 0x00 (Castle Corridor). This room ID would be useful later.

Save data copy & 1st save corruption

I copied the save data from slot 2 to slot 1, but interrupted after the room ID and the in-game time were copied, and before the player's coordinates were copied. This made the player's coordinates (both X and Y) 0, and Soma would appear at the top left corner of the save room and warp to Chapel. Save data in slot 1 can automatically fix itself, so I didn't need to fix it manually.
Note: The in-game time has to be non-zero, because otherwise the game will assume that the save data does not exist.

2nd save corruption

I saved in the Chapel save room and slept the game in the room to the right of it. Then I loaded the normal save data instead of the sleep save data, so that the sleep save data was kept. And I slept the game again, but interrupted after the room ID was saved, and before the player's coordinates were saved. The corrupt flag for the sleep save data in slot 1 was set, I loaded the normal save data from slot 1 and saved it again to fix this. Notice that Soma did a normal attack after I loaded the normal save data: This is a side effect of corrupting sleep save data 1. Now the player's X coordinate was almost 0, so this time Soma would appear at the left side of the Chapel save room, and could warp to Study.

Save data copy & 3rd save corruption

I saved in the Study save room and copied the save data back to slot 2, but interrupted again, so that the sleep save in save slot 1 would not be deleted. This time, the corrupt flag was automatically cleared by the game here, so I didn't need to fix it.

4th save corruption

I slept in the Study save Room, but interrupted after the area ID was saved, and before the room ID was saved. Again, fixed the save. Now the area ID was 0x02 (Study), and the room ID remained 0x05 (said in the "First save" section). This is the Malphas room, where Soma meets Hammer and unlocks the shop.
But wait... The player's coordinates data also remained, so the position was at the bottom right of a 2x2 room, but the Malphas room is only 1x1 in size. Luckily, the game can detect this problem and put Soma at correct position in this room.

5th & 6th save corruption

I slept in the Malphas room, then loaded the sleep save to make the game delete the sleep save data, but interrupted after the room ID was deleted, and before the in-game time was deleted. The area ID and the room ID were now both 0x00, and this happens to be the starting room! However, the player's HP was also 0 now, and in this case, no event could be triggered; Soma would have no item to sell. So I needed to save and interrupt again, to make the shop available, and keep the area ID and the room ID. Fixed the save, and it was almost there.
Another problem was that the player's position was still at the bottom right of a 2x2 room. The starting room is 2x3, so the game thought the coordinates were valid and wouldn't fix them. As a result, Soma would appear in the wall and warp. Luckily, the target of this warp wasn't very far, so I could come back to the starting room quickly.

Shop Glitch

The game will jump to the ending cutscene room by set the pointer at 0x20004E4 to 0x80A6ED5, which is the pointer of the 2nd form of Chaos; and set 0x20004EE to 3 (main state, 3 means the Chaos boss is beaten), 0x20004EF to 3 (sub state, 3 means the Chaos core has already broken apart) and 0x20004F1 to 1 (immediately jump to the ending cutscene).
However, as we can only modify non-zero bytes through the shop glitch, we first need to change 0x20004EE and 0x20004EF to non-zero. To archive this, in the unsubmitted pacifist run, klmz set the pointer at 0x20004E8 to 0x8092175 first, which is the pointer of Zombie Officer, and then normal attacks can make those 2 bytes to be 0x01; I improved it by setting it to 0x8081B11, which is the pointer of Collector, and made those 2 bytes to be non-zero through a little more complex way. A side effect of changing 0x20004E8 is that Soma will disappear. This has no negative effect on the ending cutscene; in fact, it can even reduce some lag frames during the ending dialog.

Other comments

Thanks to Fz-Last and klmz for their marvelous findings on this game. Thanks to hellagels for suggesting me that klmz's shop glitch ending might be improved.

nymx: Claiming for judging.
nymx: Improvement is good! Congratulations on the discovery/effort!

EZGames69: Processing...


TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 17295
Location: 127.0.0.1
Editor, Skilled player (1692)
Joined: 3/31/2010
Posts: 2172
GAME BOY Nintendo® It's a bit of a shame each save corruption takes so long to do, so there's mostly menus and very little actual gameplay. Either way, the glitching was quite crazy and coaxing the game into going straight to the ending like this was very cool. Yes vote.
🇺🇸 United States
Joined: 5/5/2025
Posts: 193
Location: 🇺🇸 United States
Wonderful improvement! Yes vote!!
SMB2U is the best NES Mario game.
deogenerate
He/Him
Player (104)
🇺🇸 United States
Joined: 8/2/2015
Posts: 9
Location: 🇺🇸 United States
Absolutely hype, had a feeling shop glitch would eventually trump over memory diving, very glad to see save corruption was the key!! (Even if I lament its easier to trigger the end cutscene directly than do the funny "Soma becomes Chaos 2 and explodes" setup lol) 2026 Year of Aria calling it now lock in everyone
Patashu
He/Him
Joined: 10/2/2005
Posts: 4139
something something IGAAAAAA
Puzzle gamedev https://patashu.itch.io Famitracker musician https://soundcloud.com/patashu Programmer, DDR grinder, enjoys the occasional puzzle game/shmup.
Player (221)
Joined: 7/9/2014
Posts: 8
scrimpeh wrote:
GAME BOY Nintendo® It's a bit of a shame each save corruption takes so long to do, so there's mostly menus and very little actual gameplay. Either way, the glitching was quite crazy and coaxing the game into going straight to the ending like this was very cool. Yes vote.
If we can get rid of this splash screen, this movie will be ~31.5 seconds faster :(
Skilled player (1478)
🇨🇳 China
Joined: 9/15/2006
Posts: 179
Location: 🇨🇳 China
Impressive glitch, I completely didn't know what was going on. Yes vote.
Player (221)
Joined: 7/9/2014
Posts: 8
Oops! I found that this movie can be improved simply by starting from the save slot 2 instead of the save slot 1, because I can restart one less time. With this and some very minor changes (most of them are because of the difference of lag frames), it saves a huge 330 frames. /UserFiles/Info/639074287382819909 This is the new movie. Should I cancel this submission, or just update the movie file?
nymx
He/Him
Editor, Judge, Expert player (2947)
Location: Under the Weather
Joined: 11/14/2014
Posts: 1058
Location: Under the Weather
KSeptuple wrote:
Oops! I found that this movie can be improved simply by starting from the save slot 2 instead of the save slot 1, because I can restart one less time. With this and some very minor changes (most of them are because of the difference of lag frames), it saves a huge 330 frames. /UserFiles/Info/639074287382819909 This is the new movie. Should I cancel this submission, or just update the movie file?
No...you do not have to cancel the submission. I'll replace it. Thank you!
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 17295
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [7011] GBA Castlevania: Aria of Sorrow "game end glitch" by KSeptuple in 04:36.372
Experienced player (964)
🇬🇹 Guatemala
Joined: 11/23/2013
Posts: 2322
Location: 🇬🇹 Guatemala
I think the publication is missing the "Corrupts save data" and "Corrupts memory" tags.
Here, my YouTube channel: http://www.youtube.com/user/dekutony