Submission #5594: pirohiko's SNES Wizardry V: Heart of the Maelstrom "SRAM glitch" in 00:23.01

(Link to video)
Super Nintendo Entertainment System
SRAM glitch
lsnes rr2-β17
1383
60.0988138974405
1281
Unknown
Wizardry V - Heart of the Maelstrom (J).smc
Submitted by pirohiko on 7/9/2017 6:18:21 AM
Submission Comments

Game objectives

  • Emulator used: lsnes rr2-beta17
  • Uses sub-frame resets
  • Corrupts save data
  • Uses a game restart sequence
  • Abuses programming errors
  • Uses Japanese version
  • Genre: RPG

Character Data Address

WRAM 0x1000-0x19FF = SRAM 0x0000-0x09FF = SRAM Millor 0x0A00-0x13FF
SRAM Address+0x80*X
0000 Existence state
0001 Characters number
0002-0009 Character string
000A 2bit0b******XX Alignment
000A 3bit0b***YYY** Class
000A 3bit0bZZZ***** Tribes
000B Strength
000C I.Q.
000D Piety
000E Vitality
000F Agility
0010 Luck
0011-0016 Gold
0017-001C E.P
001D-001E Current H.P.
001F-0020 MAX H.P.
0021-0022 Level
0023 Status
0024 Age Year
0025 Age Week
0026 A.C.
0027-002D Mage M.P.
002E-0034 Priest M.P.
0035-003B Mage Spell
003C-0042 Priest Spell
0043-004A Item Status
004B Item #1 ID
004C Item #2 ID
004D Item #3 ID
004E Item #4 ID
004F Item #5 ID
0050 Item #6 ID
0051 Item #7 ID
0052 Item #8 ID
0053 Item possession number
0054 Poison damage strength
0055 Current X
0056 Current Y
0057 Current Floor
0058 @Mark
0059-005A Swim E.P
005B Milwa Counter
005C-005D Maporfic Counter
005E Latumapic Counter
005F Litofeito Counter
0060-0062 Magic restriction Counter
0063-0068 Marks
0069-006A Rip
006B-006F Maze state
0070-0077 Each floor state
0079 Previous X
007A Previous Y
007B Previous Floor
007E-007F 16bit CRC Value

Corrupts save data

When beginning a game for the first time, initial full data of 6 people are written to the SRAM. Only each existence flag and CRC value are renewed by 14 people who don't exist. In case of Bizhawk and Lsnes, their CRC value will be 0x4EE4. The error detection and correction is made an SRAM of this game using CRC-16-CCITT (Initial Value is 0xFFFF). I generated the arbitrary CRC value by adjusting several parameters of the new character to pass that fastest. The person who has 255 items is generated by precise sub-frame reset when saving data.
SRAM000102030405060708090A0B0C0D0E0F
030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0310FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0320FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0330FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0340FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0360FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0370FFFFFFFFFFFFFFFFFFFFFFFFFFFF4EE4
SRAM000102030405060708090A0B0C0D0E0F
0300050191202020202020206D080A0BFFFF
0310FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0320FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0330FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0340FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0350FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0360FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0370FFFFFFFFFFFFFFFFFFFFFFFFFFFF4EE4
Hiragana
HEX Value9192939495EAEBECEDEEFDDEDF
Hiragana
HEX Value969798999AEFF0F1F2F3878889
Hiragana   
HEX Value9B9C9D9E9FF420F520F68A8B8F
Hiragana
HEX ValueE0E1E2E3E4F7F8F9FAFB8C8D8E
Hiragana    End.
HEX ValueE5E6E7E8E9FC20202086B0  
Katakana
HEX ValueB1B2B3B4B5CACBCCCDCEDDDEDF
Katakana
HEX ValueB6B7B8B9BACFD0D1D2D3A7A8A9
Katakana   
HEX ValueBBBCBDBEBFD420D520D6AAABAF
Katakana
HEX ValueC0C1C2C3C4D7D8D9DADBACADAE
Katakana    End.
HEX ValueC5C6C7C8C9DC202020A6B0  
Number 0 1 2 3 4 5 6 7 8 9 ! ? #
HEX Value30313233343536373839213F23
Uppercase A B C D E F G H I J $ % &
HEX Value4142434445464748494A242526
Uppercase K L M N O P Q R S T / ( )
HEX Value4B4C4D4E4F50515253542F2829
Uppercase U V W X Y Z . - + :End.
HEX Value55565758595A202E2D2B3A  
Number 0 1 2 3 4 5 6 7 8 9
HEX Value30313233343536373839808182
Lowercase a b c d e f g h i j
HEX Value6162636465666768696A838485
Lowercase k l m n o p q r s t _
HEX Value6B6C6D6E6F7071727374A5225F
Lowercase u v w x y z =of ;End.
HEX Value75767778797A203DA0273B  

Comments

  • I reset to cut a company's name logo.
  • CRC value makes the new character which becomes 0x4EE4 at the training grounds.
    • The name was the fastest 1 character "あ(0x91)" and be "blank(0x20)" 7 characters.
    • Neutral(+0x01)-Thief(+0x0C)-Gnome(+0x60) was made to adjust a parameter to 0x6D.
    • Strength is 0x08, I.Q. is 0x0A, Piety is 0x0B, those were chosen for the CRC value adjustment.
    • A lowest value of a bonus point is 7, so the rest points were given to Vitality and Agility necessary to the Thief.
    • After sub-frame reset was done, his CRC value agreed with 0x4EE4.
  • His order was changed at the training grounds, and the next person was re-named a diamond(0x83).
  • When he returns from the maze, he has the "Heart of ABRIEL(0x83)" as the 54th item, so he reaches credit.

Fog: Judging.
Fog: Another well executed run from pirohiko!
However, with the run now essentially devoid of all gameplay along with the relatively mediocre audience response, I will be downgrading this run to Vault.
Accepting to Vault as an improvement to the previous game end glitch publication.
feos: Let's pub some tiny ones while Sabre Wulf is being sorted out.
Last Edited by adelikat on 10/23/2023 3:24 AM
Page History Latest diff List referrers