Submission #4089: pirohiko's SNES EarthBound "save glitch" in 04:04.35

Super Nintendo Entertainment System
(Submitted: Mother 2)
save glitch
lsnes rr2-β8
14685
60.0988138974405
3866
Unknown
Mother 2 (J).smc
Submitted by pirohiko on 10/11/2013 3:00:25 PM
Submission Comments

Game objectives

  • Emulator used: lsnes rr2-beta8
  • Heavy glitch abuse
  • Uses sub-frame resets
  • Aims for fastest time
  • Uses game-breaking glitches
  • Corrups save data
  • Abuses programming errors
  • Manipulates luck

Comments

I do subframe reset like Chrono Trigger TAS.
The supplementary matter with Japanese is right here. [dead link removed]

The details of save data

  • $0000-0013: HAL Laboratory, inc.
  • $001C-001D: Checksum of summation
  • $001E-001F: Checksum of XOR
  • $0044-0049: Dog's name
  • $004A-004F: Favorite food
  • $0050-0058: "PK" Favorite thing
  • $0059-005C: Money of hand
  • $005D-0060: Money of ATM
  • $0097-009C: PT Members ID
  • $009D-0091: X coord
  • $0092-0095: Y coord
  • $00DE-00DE: Text speed
  • $00DF-00DF: Sound setting
  • $01F1-01F2: Frame counter
  • $01F6-01F6: Style of window

The save data of the default when he went down from a bed

ADDRESS000102030405060708090A0B0C0D0E0F0123456789ABCDEF
0000000048414C204C61626F7261746F72792C20HAL Laboratory,
00000010696E632E0000000000000000981ED406inc...........ヤ.
0000002000000000000000000000000000000000................
0000003000000000000000000000000000000000................
0000004000000000C6CA00000000B9EDBA25D300....ニハ....ケ晗%モ.
00000050504BC2B0C00000000014000000000000PKツータ...........
0000006000000000000000000000000000000000................
0000007000000000000000000000000000000000................
0000008000000000000000000000000000000000................
0000009000000000000000010000000000E09FB8.............燹ク
000000A01F008052041200060000000000000001...R............
000000B000180001000000000000000000000018................
000000C000000000000000000000000101000000................
000000D000000000000000000000000000000302................
000000E001000000000000000000000000000000................
000000F000000000000000000000000000000000................
0000010000000000000000000000000000000000................
0000011000000000000000000000000000000000................
0000012000000000000000000000000000000000................
0000013000000000000000000000000000000000................
0000014000000000000000000000000000000000................
0000015000000000000000000000000000000000................
0000016000000000000000000000000000000000................
0000017000000000000000000000000000000000................
0000018000000000000000000000000000000000................
0000019000000000000000000000000000000000................
000001A000000000000000000000000000000000................
000001B000000000000000000000000000000000................
000001C000000000000000000000000000000000................
000001D000000000000000000000000000000000................
000001E000000000000000000000000000000000................
000001F000B013000005E8D4000001000000001E.ー....靫........

The save data which waited for frame counters to increase

I must wait for frame counters to increase to coax two check sum.
ADDRESS000102030405060708090A0B0C0D0E0F0123456789ABCDEF
0000000048414C204C61626F7261746F72792C20HAL Laboratory,
00000010696E632E00000000000000007000254Binc.........p.%K
0000002000000000000000000000000000000000................
0000003000000000000000000000000000000000................
0000004000000000000000000000000000000000................
0000005000000000000000000000000000000000................
0000006000000000000000000000000000000000................
0000007000000000000000000000000000000000................
0000008000000000000000000000000000000000................
0000009000000000000000000000000000000000................
000000A000000000000000000000000000000000................
000000B000000000000000000000000000000000................
000000C000000000000000000000000000000000................
000000D000000000000000000000000000000102................
000000E000000000000000000000000000000000................
000000F000000000000000000000000000000000................
0000010000000000000000000000000000000000................
0000011000000000000000000000000000000000................
0000012000000000000000000000000000000000................
0000013000000000000000000000000000000000................
0000014000000000000000000000000000000000................
0000015000000000000000000000000000000000................
0000016000000000000000000000000000000000................
0000017000000000000000000000000000000000................
0000018000000000000000000000000000000000................
0000019000000000000000000000000000000000................
000001A000000000000000000000000000000000................
000001B000000000000000000000000000000000................
000001C000000000000000000000000000000000................
000001D000000000000000000000000000000000................
000001E000000000000000000000000000000000................
000001F000482400000100000000000000000000.H$.............

The save data after the first reset

I name a favorite thing PK"-". The save data are renewed from the bottom. After K was recorded, I reset it before P was recorded.
ADDRESS000102030405060708090A0B0C0D0E0F0123456789ABCDEF
0000000048414C204C61626F7261746F72792C20HAL Laboratory,
00000010696E632E00000000000000007000254Binc.........p.%K
0000002000000000000000000000000000000000................
0000003000000000000000000000000000000000................
0000004000000000000000000000000000000000................
00000050004B2500000000000014000000000000................
0000006000000000000000000000000000000000................
0000007000000000000000000000000000000000................
0000008000000000000000000000000000000000................
0000009000000000000000010000000000E09FB8.............燹ク
000000A01F008052041200060000000000000001...R............
000000B000180001000000000000000000000018................
000000C000000000000000000000000101000000................
000000D000000000000000000000000000000102................
000000E001000000000000000000000000000000................
000000F000000000000000000000000000000000................

The save data after the second reset

Because check sum does not accord, after reset, the save data erasure begins. By resetting in such a way that there is left only "K-" (4B 25) of the data, check sum agrees according to expectations.
ADDRESS000102030405060708090A0B0C0D0E0F0123456789ABCDEF
0000000048414C204C61626F7261746F72792C20HAL Laboratory,
00000010696E632E00000000000000007000254Binc.........p.%K
0000002000000000000000000000000000000000................
0000003000000000000000000000000000000000................
0000004000000000000000000000000000000000................
00000050004B2500000000000000000000000000................
0000006000000000000000000000000000000000................
0000007000000000000000000000000000000000................
0000008000000000000000000000000000000000................
0000009000000000000000000000000000000000................
000000A000000000000000000000000000000000................
000000B000000000000000000000000000000000................
000000C000000000000000000000000000000000................
000000D000000000000000000000000000000000................
000000E000000000000000000000000000000000................
000000F000000000000000000000000000000000................

Checksums

This game has two kinds of the checksum. It is EX-OR of 16bit and summation of 8bit.
  • 0x4B + 0x25 = 0x0070
  • 0x4B00 XOR 0x0025 = 0x4B25

Character code

To attach it excellent before; the character of being usable is 0x20 and 0x25 and 0x26 and 0x30 - 0xFF. The character who is smaller than 0x20 is used for an instruction code. Specifically, please look at here. http://datacrystal.romhacking.net/wiki/Mother_2:TBL In the case of EarthBound, it becomes a bigger number. http://datacrystal.romhacking.net/wiki/EarthBound:TBL

The save data that all became zero

The element in which a game judges whether it is data under adventure is existence of the character of K of "PK favorite thing." It is reopened by the top left corner of Tenda Village. Besides, it becomes the game over promptly because a party member is 0 people. However, there is slightly room to open a menu only as for 1 frame. Furthermore, this place can cause a text glitch. And text wait becomes 0 incidentally.

Text glitch

When a text glitch was caused, it does not lead to the point when a random number is not good. Therefore I move two times of cursors even more. When a value of text pointer $7E9979 of MOTHER2 approached $000074, I operate 1P and 2P at the same time. I push "1P=YSv<0,2P=BY^XLR03" at the same time to carry out "08 56 79 C8 00" instruction code. 0123 buttons were used before in Glitch TAS of Super Mario World, but they did not have a reaction in Snes9x. Therefore I was able to arrive to the last screen without using a debugging menu unlike the last time.

Special Thanks

Mister. He corrected the sentence.

Noxxa: Judging.
Noxxa: Accepting as an improvement to the previous glitched EarthBound/Mother 2 run.
Ilari: Processing...
Last Edited by adelikat on 10/15/2023 4:37 PM
Page History Latest diff List referrers