Forums  /  Zelda series  /  The Legend of Zelda: Link's Awakening DX  /  Issue with ACE title-screen warp...

Hey everyone, I'm posting this to get some input from the runners more experienced with ACE. @GreenTunic, for example.

I've been diving into the ASM of LA/LADX with the help of hogehoge61 and pirohiko's white paper on the ACE glitch via Kennel World chest flag $DB96h.

First I'll share some fun info:
~ACE is theoretically achievable on the actual hardware (although that may be limited to the non-DX version)
~ACE via the exact same means as the original TAS is not achievable with the US release because roman character data are associated with different hex offsets than the hiragana characters stored in the JP release

Here's the important part of this post: I am running into an issue with my emulator that I hope someone can help me with. I've gotten pretty fast and consistently cause ACE to occur, however I always get a title-screen warp instead of an end-credits warp. Does anyone know the cause of this?

Currently running on OpenEMU using the Gambatte emulator core.


(edited: )

Sounds like 0xDB95 is getting set to 0x00 (opening sequence) instead of 0x01 for the credits sequence. I've never really dug into ACE so I can't help with the "why" unfortunately.

Which emulator are you using? The currently known credits warp for LADX only works with gambatte since it can be inaccurate and is less prone to crashing. So use gambatte if you're trying to recreate the known LADX credit warp, but BGB is your better bet if you're trying to find a console viable warp.

EDIT: Sorry, I just saw you mentioned that you're using gambatte. I've never known of anyone using OpenEmu, but that core does seem to be based on an up-to-date gambatte build.

(edited: )

Thank you for your reply Spiraster! I'm certain you are correct regarding the GAME_MODE value being set incorrectly, I'm going to set aside some time tomorrow to step through the assembly code and figure out what operation is causing the variable to be set to the wrong value. I think it's possible that version differences (1.0 vs. 1.1 vs. 1.2) may also play a role in the required file name, don't quote me on that though :-P

EDIT: I just deleted two paragraphs because I can't think straight when I'm tired.

Yeah, I'm using BGB for actual testing since it is accurate to hardware, but I wanted to see if I could get it on DX gambatte at all just for fun 🙂

Maybe someone else will chime in, but I'm guessing the nuances of this exploit are somewhat uncharted.


Sounds good! I don't know if there's many people who know too much about ACE anymore, but feel free to join our discord if you want to share info or ask for help. The forums aren't super active nowadays. 🙂


Thanks for the tip! I'll join the discord!