Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - IIMarckus

Pages: [1] 2 3
1
Pokémon Discussion / State of the disassemblies
« on: January 11, 2017, 01:52:12 am »
The disassembly projects have really grown over the years thanks to the work of a number of individuals. Here’s where they are now:

Red/Blue USA: completely disassembled.

Red/Blue France: completely disassembled.

Red/Blue Germany: nearly completely disassembled.

Red/Green Japan: needs work.

Yellow USA: completely disassembled.

Crystal 1.0/1.1 USA: completely disassembled.

Ruby USA: completely disassembled. Decompilation to C is making good progress.

Emerald USA: completely disassembled. Decompilation to C has mostly stalled in favor of Ruby, which is a more practical codebase to work with at the moment.

Pokémon Pinball: needs work.

Pokémon TCG: needs work.

We’re always looking for more contributors. The more games we can disassemble, the more glitches, TAS techniques, and beta leftovers can be discovered. Even the games marked complete can still use more comments in the code and scripts, better labels, and so on.

Most discussion of the projects goes on in IRC (#pret on Freenode).
2
Maybe this is on some people’s radar.

3
Forum Discussion / Completely ridiculous captcha
« on: December 15, 2012, 12:47:49 am »
From the search page:



I’ve been here for years and I don’t even know these

The links don’t even go to useful pages

This isn’t even for posting, this is for search
4
Generation I Glitch Discussion / Some top‐notch glitch research
« on: October 01, 2012, 08:47:11 pm »
Circa 1999.

5
Generation II Glitch Discussion / Egg Moves
« on: July 13, 2012, 06:52:44 am »
In G/S, Staryu has egg moves for Aurora Beam, Barrier, and Supersonic, but these are impossible for it to learn because Staryu is genderless and can only breed with Ditto. (These were removed in Crystal.)

Also, in G/S several Pokémon have egg moves of Charm, Steel Wing, Sweet Scent, or Lovely Kiss. These were also removed in Crystal, because they’re TMs and are already passed through breeding.
6
To catch Ho‐oh in Pokémon Crystal, you must catch Raikou, Entei, and Suicune in the same game file and have the Pokémon stored in your party or PC, then talk to Eusine in Celadon Pokémon Center.

The game checks the species, ID number, and OT of every Pokémon in the party and PC until it finds a match (so a Raikou, Entei, or Suicune traded from another game will not match). However, it only checks the first five characters of the OT name. This worked correctly in Pocket Monsters Crystal, where player names were only five characters long, but the English version of Pokémon Crystal supports player names up to seven.

Code: [Select]
        ld hl, PlayerName

        ld a, [de]
        cp [hl]
        jr nz, .notfound
        cp "@"
        jr z, .found ; reached end of string
        inc hl
        inc de

        ld a, [de]
        cp [hl]
        jr nz, .notfound
        cp $50
        jr z, .found
        inc hl
        inc de

        ld a, [de]
        cp [hl]
        jr nz, .notfound
        cp $50
        jr z, .found
        inc hl
        inc de

        ld a, [de]
        cp [hl]
        jr nz, .notfound
        cp $50
        jr z, .found
        inc hl
        inc de

        ld a, [de]
        cp [hl]
        jr z, .found

.notfound

A quick fix would be to copy/paste two more instances of this ASM, to check two more characters.

Code: [Select]
        ld a, [de]
        cp [hl]
        jr nz, .notfound
        cp $50
        jr z, .found
        inc hl
        inc de

Of course, this would be hard to exploit, because you would need a second game file with the same ID number anyway (1⁄65536 chance).
7
In RBY, Sleep and Freeze provide a higher catch rate than Burn/Poison/Paralysis, which in turn provide a higher catch rate than no status effect at all.

They tried to do the same in GSC, but introduced a bug that makes Burn/Poison/Paralysis provide the same catch rate as no status effect.

The GSC catch rate formula is explained here.

“D = wild Pokémon's status: if asleep or frozen, D=10; if burned, paralyzed, or poisoned, D=5; else D=0”

That is what the code attempts to do. The code looks like this:

Code: [Select]
        ld b, a
        ld a, [WildPokemonStatus]
        and SLP|FRZ
        ld c, 10
        jr nz, .done
        and a
        ld c, 5
        jr nz, .done
        ld c, 0
.done

“and a” is a quick zero check, but here it will always evaluate to 0, because nonzero values are caught by the jr immediately preceding it. As a result, the second jr never gets followed, and the modifier is always set to zero.

Here is a modified version of the routine that works properly:

Code: [Select]
        ld b, a
        ld a, [WildPokemonStatus]
        and a
        ld c, 0
        jr z, .done
        and SLP|FRZ
        ld c, 10
        jr nz, .done
        ld c, 5
.done
8
Generation I Glitch Discussion / Game Corner coins on the ground
« on: March 19, 2012, 01:29:06 am »
In RBY, the Game Corner has 12 hidden coin objects on the floor that you can pick up. Here is a map of the Game Corner object data:



Red boxes are hidden coins. There are two glitches here.

One I circled in blue. These ten coins cannot be picked up because the slot machine (which is also implemented as a hidden object) takes priority. (The slot machine can’t be played, either, because it can’t be accessed from the side and a gambler blocks the front.)

The other I circled in green. Internally, the game stores 40 coins here. Game Corner coins are stored in BCD instead of plain hexadecimal. The conversion routine is a simple if‐else:

Code: [Select]
        cp 10
        jr z, .bcd10
        cp 20
        jr z, .bcd20
        cp 40
        jr z, .bcd20 ; ←
        jr .bcd100
.bcd10
        ld a, $10
        ld [$ff00+$a1], a
        jr .done
.bcd20
        ld a, $20
        ld [$ff00+$a1], a
        jr .done
.bcd40
        ld a, $40
        ld [$ff00+$a1], a
        jr .done
.bcd100
        ld a, $1
        ld [$ff00+$a0], a
.done

Notice the line I commented. Due to a copy‐paste error, the 40 coin handler gives 20 coins instead. .bcd40 is never used.
9
Forum Discussion / Style: forums are too wide
« on: November 23, 2011, 11:39:50 pm »
With both the navigation sidebar and forum profiles on the left, the main message window is really narrow and really annoying. It would be better to have forum profiles above posts.
10
General Discussion / DARE TO FIGHT?
« on: October 22, 2011, 03:39:40 pm »
11
Pokémon Discussion / Graphical differences in First Gen
« on: October 18, 2011, 10:05:08 pm »
The following pictures differ among the various Japanese versions:
  • 151 frontpics changed from R/G to Blue, and again to Yellow.
  • Brock, Misty, and Erika changed from R/G/B to Yellow.
  • The player character frontpics changed from R/G/B to Yellow.
  • Three rival frontpics changed from R/G/B to Yellow.
As far as I can tell, none of the images from Japanese Blue changed to US Red/Blue, nor from Japanese Yellow to US Yellow.

Are there any that I missed?
12
Pokémon Discussion / Pokémon redesigned…
« on: January 27, 2010, 07:48:21 pm »
13
Video Games/Glitches Discussion / Mega Man 10
« on: December 23, 2009, 12:38:53 am »
14
Pokémon Discussion / Why I no longer play Pokémon
« on: October 09, 2009, 10:53:48 pm »
This is why.

Genius Sonority makes inferior games. That leaves Game Freak, who seems more interested in remaking than doing anything interesting or new.

The last Pokémon game I bought was FireRed. I bought it on release expecting it to be fun, but I quickly grew bored—there’s nothing to do once you beat the game. Then I picked up Crystal for the first time in a few years and fell in love with it all over again.

The only new release I’ve tried since then was Platinum, which was incredibly boring. (Borrowed of course; I don’t buy games without knowing they’re good.)
  • Lame plot—“Rise of the MacGuffins.” Distortion World had nothing of interest. I’m a sucker for laboratory creation plots and they couldn’t even hold my interest for that (Red Chain).
  • Lame graphics—My idea of animation is not “two frames plus hardware scaling,” and the overworlds sucked (3D too).
  • Lame characters—Rival and Cynthia couldn’t hold a candle to Silver and Lance. Archie/Maxie and Rocket Executives were more interesting than Cyrus. Even Giovanni felt more fleshed out than Cyrus. Anything with Rowan felt incredibly childish and condescending.
First gen was really pretty boring, and an obvious moneygrab. Second gen was the high point IMO, and that isn’t just nostalgia speaking—massive improvements over the previous games, and Crystal actually put something newer than G/S on the table (Mobile Adapter, not that it ever made it here). I had a lot of fun with Ruby and Sapphire, but still prefer GSC (that is due to nostalgia, since R/S are great games). FR/LG sucked. Platinum sucked. I have no doubt that HGSS suck—from what I hear they’re just GSC with the D/P engine, and not adding anything new.

Drill Dozer was great but nobody bought it. Game Freak won’t make any more fun games like it because legions of Pokémon fans will buy all three identical versions of any shovelware title with Pocket Monsters slapped on the box. I complain because these people take away my chance at a new and good game.

Best Pokémon experience: Crystal with Pokémon Stadium 2. IMO.
15
Computers and Technology Discussion / Close call
« on: September 12, 2009, 10:50:58 pm »
22:37:00 <@_2marc> agh
22:37:19 <@_2marc> in my home directory i meant to type "rm -rf I*" but instead typed "rm -rf *"
22:37:58 <@_2marc> but man it worked out great
22:38:15 <@_2marc> because i just so happened to have a couple hundred useless files beginning with capital letters in there
22:39:13 <@_2marc> so by the time i hit ^C it literally deleted all those files
22:39:21 <@_2marc> and left all the lowercase ones intact
22:39:56 <@_2marc> the only file i lost began with a number
22:40:33 <@_2marc> actually it looks like it took out a large chunk of ~/anime/
22:40:47 <@_2marc> but nothing actually valuable
22:42:38 <@_2marc> ...you know, maybe i should start keeping backups

Moral of the story: Don’t keep backups, keep a couple dozen gibibytes of padding at the top of your home directory!
Pages: [1] 2 3