"spit sprite position = yoshi X position + offset to spit object(index by
Y which is the direction) normally, this would store to the sprites X position,
however, because the sprite index is #$FF It writes to #$E4 + #$FF which is
#$01E3. This is the stack address that is corrupted. If yoshi is facing left he
must be at the position #$86, and if he is facing right it should be #$66."
X position of sprite #04 (it's Yoshi in this case) (freezes when the sprite
disappears, though you shouldn't have him disappear)
OAM Address
needed Value
Description
$01:02D4
#$26
X position of some score numbers onscreen (freezes when it
disappears)
$01:02FC
#$A3
X position of the "smoke" effect (like when a fireball goes into a wall)
(freezes when it disappears)
$01:02FD
#$F0
Y position of the "smoke" effect (same as above) (sets to #$F0 when it
disappears)
$01:0304
#$81
X position of a Mario tile that appears when Mario is on Yoshi and he is in
the turning animation (freezes when it disappears)
$01:0305
#$39
Y position of the same Mario tile as above (freezes when it
disappears)
$01:0308
#$B0
X position of a cape tile (freezes when it disappears)
$01:0309
#$F0
Y position of a cape tile (sets to #$F0 when it disappears)
$01:030C
#$60
X position of a cape tile that appears when mario is flying (freezes when it
disappears)
Those addresses starting with "01" are just OAM Addresses. OAM is a chunk
of memory that stores the data about the sprite tiles to draw onto screen.
RNG:
The Random Number Generators (RNGs) change with certain events. We have to
change the RNG 1197 times for it to work in our favor. When a koopa spawns, it's
called once (when the RNG is "called", it changes). Before going into the pipe
in YI3, three koopas appear; this leaves the RNG to be called a remaining 1194
times. This is where the fish come in. When a flopping fish bounces on the
floor, it calls the RNG three times. So, that means the fish need to bounce 396
times (to call the RNG 1188 more times). After the fish manipulation, there are
exactly six koopas that spawn. After they spawn, the RNGs are set perfectly in
order for me to activate the credits.
There are also some OAM addresses that have more than one possible values,
they have to have the same bytes of opcode and they also have to not affect the
A register.
OAM Address
Bytes of Opcode
Description
$01:02FA
2
Will be the right value when you shoot a fireball with X
$01:02FE
2
Will be the right value when you shoot a fireball with Y
$01:0300
4
X position of a koopa shell tile
$01:0302
3
Will be the right value when you pick up a shell
$01:0306
2
Nearly always right
$01:030A
2
Nearly always right
(actually you can change
the bytes of the opcode, only the number of bytes between two required values is
important)
The "credits glitch"
Quote from p4plus2's documentation:
"spit sprite position = yoshi X position + offset to spit object(index by Y which is the direction) normally, this would store to the sprites X position, however, because the sprite index is #$FF It writes to #$E4 + #$FF which is #$01E3. This is the stack address that is corrupted. If yoshi is facing left he must be at the position #$86, and if he is facing right it should be #$66."
"침을 스프 라이트 위치 = 요시 X 위치 + 요정 색인 그것은 # $ E4에 기록 # $ FF이기 때문에 일반적으로이 그러나, 스프 라이트 X 위치에 저장하는 것입니다 (방향이다 Y에 의해 인덱스) 개체을 외지 오프셋 + # $ FF하는 # $ 01E3입니다.이 손상된 스택 주소입니다. 요시 왼쪽에 직면하고있다면 그 위치 # 86달러에 있어야하며, 그 권리를 직면하고있다면 그것이 # 66달러해야합니다. "
난수 발생기 (RNGs)는 특정 이벤트 변경합니다. 우리는 우리에게 유리하게 작동해야하는 RNG 1,197 시간을 변경해야합니다.koopa이 소재로 급부상하면, 그것은 한 번 (RNG "가 소위"때, 변경)라고. YI3에있는 파이프로 전에 세 koopas가 나타납니다, 이것은 남아있는 1194 번 호출하는 RNG를 떠납니다. 이것은 flopping 물고기가 바닥에 반송되면 물고기가 들어와 어디에, 그것은 RNG 세 번 호출합니다. 그래서, 그것은 물고기가 396 번 (RNG 1,188 번 이상 전화를) 반송해야 의미합니다. 물고기 조작 후, 자녀 것을 정확히 6 koopas가 없습니다. 그들이 알 후 RNGs은 나를 위해 크레딧을 활성화하기 위해 완벽하게 설정되어 있습니다.
하나 이상의 가능한 값은 일부 OAM 주소도 있습니다, 그들은 opcode 같은 바이트를 가져야한다 그들은 또한 등록에 영향을주지해야합니다.