hackeando savestates do zsnes
Teve um joguinho ai que eu tive que usar uns cheats, mas não achei nenhum código pra isso. Então me lembrei que dava pra hackear o arquivo do savestate do jogo (que nem eu fiz com o freeciv)
Alterar savestate não é tão simples quanto o do freeciv, porque agente mexe com o sistema hexadecimal. Pra editar o savestate, você precisa ter um editor hexadecimal. Aqui no Ubuntu, eu to usando o ghex , mas se você estiver no Windows, você pode baixar este aqui.
No editor abra o arquivo .zst do jogo que você deseja hackear. Aparecerá vários números e letras. Cada dupla (byte), quarteto (word) ou octeto (longword) contém informações sobre a sua savestate, portanto, tome MUITO CUIDADO quando alterar qualquer coisa por aí, eu até aconselho fazer um backup do .zst.
Clique em uma dupla, e lá na statusbar (uma barra na parte inferior do programa) mostrará o offset do byte (posição do byte). Lembre-se que tudo aí é em hexadecimal, portanto o 10ª byte está no offset A.

Então, se, por exemplo, o byte que guarda a quantidade de gold estiver em 38AB, você descerá o cursor até byte que mostrará o offset 38AB.
Nos sites de cheats, se não tiver uma liste de códigos gameshark/gamegenie, ele poderá mostrar uma lista de códigos para alterar o savestate. Neste site aqui achamos uma lista para Seiken Densetsu 3. Caso eu queira alterar a arma do líder, ele diz que a posição do byte está em 1FA2F. Então eu vou até o byte 1FA2F, apago-o, e coloco o byte da arma desejada (Ragnarok: 1E). Ou talvez eu queira aumentar a strength do personagem. Vou no offset 1F409 e coloco o valor da strength ( lembre-se que tem que ser em HEXADECIMAL). Quero que meu personagem fique com 50 str, então colocarei 32 no lugar do byte antigo.
Após fazer suas edições, salve o arquivo, abra o jogo e carregue o savestate. Se ele não abrir, então você corrompeu sua savestate. Por isso que indico que você faça um backup, pois se um offset errado for alterado, babau.