Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Generation II Glitch Discussion

Pokémon Crystal: Better ACE through Key Items Glitch - Page 5

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: luckytyphlosion
Date: 2014-12-29 14:28:04
The money is so you can buy enough Poké Balls to get to 54 Poké Balls. In the best case scenario you should only need to buy 50 Poke Balls, which is if you only needed 1 Ball to catch a random Pokémon.

You can simply buy 9 Flower Mails to get your item x9. Flower mails are really cheap, so the tm31s will cover for it.

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: Torchickens
Date: 2014-12-29 14:31:44
That explains it, thank you. I should have known that because I did buy 54 Poké Balls to try your underflow method at one point.

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: Dabomstew
Date: 2014-12-29 14:53:40
Alright, abandoning trying to get bad clones for now.

I decided to turn my attention to box names for a bit and found a way to use Goldenrod Center for the warp (saving the walk to the mart 2F) at the cost of 3 extra box name letters total. Also cut off a couple inputs from box 4 (totally my best contribution ever, right?)

New stuff:

; BOX 4
; db90 - db98
; p 0 'v 0 't é ) 5
af            xor a
f6 d6          or $d6
f6 d5          or $d5; get $d7
ea 9b fb      ld $fb9b,a

; BOX 5
; db99 - dba1
; p é é* 6 'v c
af            xor a
ea (d7) fc    ld $fc(d7),a ; 0 pkmn in party
; (d7) number above changed to d7
d6 a2          sub $a2 ; get $5e

; BOX 6
; dba2 - dbaa
; é h 5 p é é* 5
ea a7 fb      ld $fba7,a ; load letter into later box letter
af            xor a
ea (5e) fb    ld $fb(5e),a ; make red appear
; (5e) number above changed to 5e

; BOX 7
; 'v 7 é m 6 é n 6
d6 fd          sub $fd ; get $03
ea ac fc      ld $fcac,a ; change lastmap index to $03
ea ad fc      ld $fcad,a ; change lastmap group to $03

; BOX 8
; 'v x é o 6 x 'd
d6 b7          sub $b7 ; get $4c
ea b6 fc      ld $fcae,a ; change lastmap to silver cave
b7            or a ; unset carry flag
d0            ret nc


The only difference this makes to the rest of the instructions is that you should activate the code when you're already upstairs in the center, instead of doing it before you go up.

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: luckytyphlosion
Date: 2014-12-29 15:06:27
Bad clones are super hard to get (This video says it can take hours or even days to get a bad clone), so instead, you can use my method of getting a bad clone using BGB emulator (ofc you can't use it in the actual speedrun though):

1. Before the game displays the "SAVING… DO NOT TURN OFF THE POWER.", set a breakpoint for A000-BFFF.
2. When the debugger opens, scroll down to the address that is made up by registers "de". (copydata function)
3. Wait until the game finishes writing species data to sBoxSpecies (ad11), and wait until a few more instructions have been completed, then RESET.
4. Disable the SRAM interrupt, and you now have bad clones in your box. (the first pokemon probably isn't a bad clone)

EDIT: added new boxnames to the wiki

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: Dabomstew
Date: 2014-12-29 15:16:48
I'm not sure if these are even faster overall than the last set because of awkward inputs, but cut 3 characters, so posting them anyway lol


BOX 4 (8 chars)
db90 - db98
p 'v c é [ 5 'v H
af xor a
d6 a2 sub $a2 ; get $5e
ea 9e fb ld $fb9e, a ; box name char
d6 87 sub $87 ; get $d7


BOX 5 (7 chars)
db99 - dba1
é d 5 p é é* 5
ea a3 fb ld $fba3, a ; box name char
af xor a
ea (5e) fb ld $fb(5e), a ; make red appear

BOX 6 (8 chars)
dba2 - dbaa
é é* 6 'v 7 é m 6
ea (d7) fc ld $fc(d7), a ; party pokemon = 0
d6 fd sub $fd; get $03
ea ac fc ld $fcac, a ; change lastmap index

BOX 7 (8 chars)
é n 6 'v x é o 6
ea ad fc ld $fcad,a ; change lastmap group to $03
d6 b7 sub $b7 ; get $4c
ea ae fc ld $fcae,a ; change lastmap to silver cave

BOX 8 (2 chars)
a 'd
a0 and b ; unset cf
d0 ret nc ; ret

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: luckytyphlosion
Date: 2014-12-29 20:24:11
I tried a new route where you clone after Slowpoke Well, but when I reset, I got Kingdras instead (I know this is a possible effect). What causes this though?

EDIT: I'm not even going to bother looking into this, because when I looked at my totodile, and checked the box, the game apparently ran code to an early ram address (tas strat maybe?)

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: Dabomstew
Date: 2014-12-31 04:49:40
Well, today we figured out that bad clones were certainly not impossible to get on console - crafted got one within a few goes. So after practicing the route briefly on emulator, I decided to be a bit foolish and go for a real speedrun attempt on console on stream…

Amazingly, I actually managed to finish, and in under an hour and a half too, with a final time of 1:16:42. Lucky's route only needed a couple of minor corrections to work fine from start to finish, so a ton of credit goes to him for writing the guide for me to follow. This is a long way away from optimization, I imagine - but it's proof that this isn't just an emulator-only dream. The end result will, I imagine, dip under an hour once fully optimized.

Video: http://www.twitch.tv/dabomstew/c/5784252

This was pretty much a no-reset run, but I did have to reset the run entirely once before this one - ridiculously, I managed to roll FF for my attack/defense DVs on my first attempt. My speed was also F, though my special was average.

Re: Pokémon Crystal: Better ACE through Key Items Glitch

Posted by: Torchickens
Date: 2014-12-31 07:13:11
Congratulations! Nice how you got 1:00 in-game time exactly xD