1 2
10 11 12 13 14
Editor
Joined: 11/3/2013
Posts: 506
It seems that TASing this game carries some kind of curse. Two rejected submissions, a published run that was beaten in real time about two weeks later, and now this.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
FractalFusion wrote:
I've just heard from Zeupar about emulation bugs in previous emulators (anything using gambatte, and possibly VBA) that affect the glitches in Gold/Silver. It may have affected other glitch runs as well. BizHawk 1.6.0 should be used instead. BizHawk 1.6.0: http://tasvideos.org/forum/viewtopic.php?t=14875 Changelog: http://tasvideos.org/BizHawk/ReleaseHistory.html
Can you elaborate the bugs and how it affects the glitches?
Sanqui
Any
Player (25)
Joined: 4/25/2011
Posts: 33
Gambatte had three bugs that I knew of (and reported in #tasvideos). Only two are relevant to the Coin Case exploit, though. The GB CPU has a few undefined opcodes; they all do nothing but lock up the CPU. Gambatte ignored those, allowing exploits which would freeze up the real console. Furthermore, under certain conditions (not an expert on this one), the STOP instruction should lock up the CPU as well, but it was simply ignored in Gambatte. (This turned out to be an issue in runs of Gold when somebody reported new strats under Bizhawk, only for them to be revealed to freeze console two days later) The third bug has to do with MBC3 (and possibly MBC5 behavior); when bankswitching to bank 0, bank 1 should be accessible at 4000-7fff. Gambatte showed bank 1. This is observable in Pokémon Red, where the naming screen would have a glitchy tile in place of ED in the bottom right corner if the bug is present.
ovo
Joined: 12/29/2007
Posts: 489
Question: Looking through the damage calculation formula for Gen II, I noticed something that I've never really heard mentioned before at all: http://www.dragonflycave.com/battle.aspx http://www.upokecenter.com/content/pokemon-gold-version-silver-version-and-crystal-version-damage-calculation Apparently, in Gen II only, when you use a damaging move, if you have the Badge corresponding to the type of that move, the move's damage is multiplied by 9/8. This is in addition to the 9/8 boost that four of the Badges already apply to the user's stats. Can anyone with disassembly knowledge confirm this? These are the only two sites that mention this mechanic (although they are definitely quite reputable). (A site like Smogon, which does really detailed breakdowns of most battle mechanics, wouldn't mention this at all since it doesn't apply in multiplayer.)
Fortranm
He/Him
Editor, Experienced player (780)
Joined: 10/19/2013
Posts: 1115
http://bulbapedia.bulbagarden.net/wiki/Badge It's not mentioned in Bulbapedia.
In the second generation, if the attacker's trainer had obtained the badge from the Gym featuring the type of the move being used (there was no Dark-type Gym, but every other type had one in either Johto or Kanto), its power would be multiplied by 1.125.
Badges. In Pokémon Gold Version, Pokémon Silver Version, and Pokémon Crystal Version, in battles in which Exp. Points can be gained, the Johto and Kanto badges multiply damage of the appropriate attack type by 9/8 for Pokémon controlled by the player, as shown here: Zephyr Badge: Flying; Hive Badge: Bug; Plain Badge: Normal; Mineral Badge: Steel; Glacier Badge: Ice; Fog Badge: Ghost; Storm Badge: Fighting; Rising Badge: Dragon; Soul Badge: Poison; Volcano Badge: Fire; Boulder Badge: Rock; Rainbow Badge: Grass; Marsh Badge: Psychic; Earth Badge: Ground; Thunder Badge: Electric; Cascade Badge: Water.
Earth Badge is still corresponding to Ground when Ethan and Kris get there? Didn't know Giovanni's presence has such effect even after 3 years.
Sanqui
Any
Player (25)
Joined: 4/25/2011
Posts: 33
Zowayix wrote:
Apparently, in Gen II only, when you use a damaging move, if you have the Badge corresponding to the type of that move, the move's damage is multiplied by 9/8. This is in addition to the 9/8 boost that four of the Badges already apply to the user's stats. Can anyone with disassembly knowledge confirm this? These are the only two sites that mention this mechanic (although they are definitely quite reputable). (A site like Smogon, which does really detailed breakdowns of most battle mechanics, wouldn't mention this at all since it doesn't apply in multiplayer.)
This is true. In real-time speedruns, it's what makes Fury Cutter viable against the Azalea rival. It's handled by function DoBadgeTypeBoosts (currently in main.asm).
DoBadgeTypeBoosts: ; fbe24
	ld a, [InLinkBattle]
	and a
	ret nz

	ld a, [$cfc0]
	and a
	ret nz

	ld a, [hBattleTurn]
	and a
	ret nz

	push de
	push bc

	ld hl, .BadgeTypes

	ld a, [KantoBadges]
	ld b, a
	ld a, [JohtoBadges]
	ld c, a

.CheckBadge
	ld a, [hl]
	cp $ff
	jr z, .done

	srl b
	rr c
	jr nc, .NextBadge

	ld a, [$d265] ; move type
	cp [hl]
	jr z, .ApplyBoost

.NextBadge
	inc hl
	jr .CheckBadge

.ApplyBoost
	ld a, [CurDamage]
	ld h, a
	ld d, a
	ld a, [CurDamage + 1]
	ld l, a
	ld e, a

	srl d
	rr e
	srl d
	rr e
	srl d
	rr e

	ld a, e
	or d
	jr nz, .asm_fbe6f
	ld e, 1

.asm_fbe6f
	add hl, de
	jr nc, .Update

	ld hl, $ffff

.Update
	ld a, h
	ld [CurDamage], a
	ld a, l
	ld [$d257], a

.done
	pop bc
	pop de
	ret

.BadgeTypes
	db FLYING   ; zephyrbadge
	db BUG      ; hivebadge
	db NORMAL   ; plainbadge
	db GHOST    ; fogbadge
	db STEEL    ; mineralbadge
	db FIGHTING ; stormbadge
	db ICE      ; glacierbadge
	db DRAGON   ; risingbadge

	db ROCK     ; boulderbadge
	db WATER    ; cascadebadge
	db ELECTRIC ; thunderbadge
	db GRASS    ; rainbowbadge
	db POISON   ; soulbadge
	db PSYCHIC  ; marshbadge
	db FIRE     ; volcanobadge
	db GROUND   ; earthbadge
	db $ff
ovo
Editor, Skilled player (1939)
Joined: 6/15/2005
Posts: 3247
Sanqui wrote:
main.asm
Thank you very much! With this information, I figured out that the Pokerus routine in Gold/Silver is at 2C95D (B:495D). Furthermore, the Pokerus check occurs at the end of battle after KOing or catching a wild Pokemon, and at the end of a trainer battle which the player has won. There is no check when running away from battle, or when losing (white out) to a trainer. I used the debugger BGB to verify this (since vba-sdl-h only works with GBA). Edit: When catching a wild Pokemon, the game will add this Pokemon to your party before running the Pokerus routine.
Sanqui
Any
Player (25)
Joined: 4/25/2011
Posts: 33
FractalFusion wrote:
Sanqui wrote:
main.asm
Thank you very much!
main.asm doesn't contain everything; in fact, it's in the proccess of being split into smaller files. If you haven't yet, definitely check out the entire disassembly. There may already be interesting things in battle/, engine/ etc. About Pokérus, yeah, though the probabilities are really low, so I don't know how feasible it would be to manipulate. (I haven't tried RNG manipulation yet.)
ovo
Fortranm
He/Him
Editor, Experienced player (780)
Joined: 10/19/2013
Posts: 1115
I attempted to do the map distortion route on Silver and failed. ABRA with the name of GEODUDE didn't create bad clone. (However I might have done something wrong.)
Joined: 12/29/2007
Posts: 489
The bad clone glitch itself shouldn't be version specific; the requirement is simply to switch between two nearly-full boxes. Since the boxes are so full, the game will lag for about ~1 frame while saving; you must hard reset during this time. It won't work if the boxes aren't full enough since there's no lag. I doubt Pokemon species or nickname has anything to do with it; that affects the map distortion patterns after the crash.
Fortranm
He/Him
Editor, Experienced player (780)
Joined: 10/19/2013
Posts: 1115
Yeah you are right. I was being silly :P However, the game freezes and auto-resets after I choose "POKEMON" in the menu. This applies to both Gold and Silver. I'm using Bizhawk 1.6 beta. I was using the same strategy that was used in the published run, except that Abras have different genders and Croconaw's name is "U". Is it caused by the reason FractalFusion and Sanqui talked about?
Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
The latest version of Bizhawk 1.6.0 has the following changes for GBHawk: * Fix problems with STOP opcode * Implement the undefined opcodes, which lock up the system.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1555
We could probably do a catch 'em all run with crystal and any first gen game. Here are some links to help you in TASing. Pokémon in the Medium Slow experience group Version-exclusive Pokémon Celebi Egg Trick Trading, cloning glitches, the trainer fly glitch in RBY, MissingNo. in Red/Blue, experience glitch with medium slow experience gains, GS Ball to catch Celebi. Glitch a level 1 Bayleef, Quilava, Croconaw, Flaaffy in GSC. Glitch lots of Nidoran♂ Male for lots of rare candy. Glitch lots of Primeape for lots of Exp. Share.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
Can Bizhawk do that yet (TAS two games side by side and have them connected by serial cable)? I remember seeing test videos for it before.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Spikestuff
They/Them
Editor, Publisher, Expert player (2297)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
Patashu wrote:
Can Bizhawk do that yet (TAS two games side by side and have them connected by serial cable)? I remember seeing test videos for it before.
Still can, got it to work with Tetris.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1555
List of Pokemon by Index Number (Generation I) It may be possible to trade MissingNo. to GSC. It is up to the RNG.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1022
Which Missingno. you get is not very RNG-dependent; if you're getting it via the Cinnabar Island method, it depends on the character's name (with the RNG only used to decide which letters from the name matter). Basically, all the Missingno.s are different Pokémon internally in index number terms (and thus separate species for most purposes), they just happen to have incredibly similar stats.
MarbleousDave
He/Him
Player (12)
Joined: 9/12/2009
Posts: 1555
MissingNo. can also be encountered using the Trainer Fly Glitch. Sadly, you can't get Celebi this way. I recommend using Crystal for the GS Ball.
Joined: 12/29/2007
Posts: 489
You can't glitch a GS Ball to get Celebi; not only do you have to have the item in your Pack, but you also have to set some event flag (which is normally triggered upon receiving the item through the event). To get Celebi you'd either have to glitch one directly, or do some fancy stuff with arbitrary code execution to set that flag.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
New pokemon gold any% glitched RTA WR that requires your trainer ID to be one of a certain list of values: Link to video
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Sanqui
Any
Player (25)
Joined: 4/25/2011
Posts: 33
T'was my idea. I realized that we could reset for an useful trainer ID, much like the TAS does. With no reliance on Return and Wooper it was almost guaranteed to be faster than the existing WR regardless of the chances (number of resets). 2/65536 turned into ~200/65536 turned into 2/256 turned into 4/256 (1/64), and Dabomstew actually made the route and Shenanagans ran it and here we are. This is the second time I've ruined this category.
ovo
Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
Here's a first - ACE done over the Game Boy link cable! PWN your friends on the playground, if it was the 2000s and people still played this game! ;) Link to video
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 12/29/2007
Posts: 489
So apparently it's possible to warp to the end in Crystal too, even though the Coin Case text end byte glitch was fixed: http://wiki.pokemonspeedruns.com/index.php/Pok%C3%A9mon_Crystal/Any%25_Guide Looks very recent as well (page was created yesterday). The page says that "Glitch Pokédex Modes can execute Arbitrary code", and the very end of the route has a part where simply opening the Pokedex will cause the program counter to jump to RAM. As with all Gen II glitched runs, the run plays normally up to Goldenrod City, whereupon a bad clone(s) is created and the Daycare used to stabilize them before the resulting messed-up memory is used to set up everything. Anyone think a TAS of this would be feasible or accepted? With the method decently different from the Gold/Silver run it should be noteworthy.
Experienced player (632)
Joined: 11/23/2013
Posts: 2208
Location: Guatemala
New RTA WR of Crystal made by werster with said glitch^: Link to video
Here, my YouTube channel: http://www.youtube.com/user/dekutony
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
The categories are starting to be as messed up as G1 now ;P
1 2
10 11 12 13 14