News:

11 March 2016 - Forum Rules

Main Menu

Arcana - Seal of Rimsala! (SNES)

Started by TimeSpaceMage, July 18, 2017, 07:44:56 PM

Previous topic - Next topic

TimeSpaceMage

#60
Hey everyone! So I just identified some more spell data, their SFX. There's also SFX for the effects taking place (say for "Rooks' attribute has changed to Fire" or "Rooks' Attack Power has been increased"), which is stored 2 banks away from the spell data for some reason. So, now buff spells use what I call the "Lufia Buff" SFX. It's cool and adds a bit more variety to battles.  :)

Yeah, idk what happened to rainponcho. I sure hope he's all right...

EDIT:
Major update! I fixed the graphical issues with fastrom v0.2! I'm thrilled enough that I'd release the game right now, except now the game hangs after finishing the intro  :( So once I find what's causing that, I'm willing to release.

EDIT2:
GOT IT! Turns out it was a bad patch job. Confirmed FastROM v3 and Levelup v3 work with both vanilla and Seal of Rimsala v0.941, so I added 0.942's changes and we're at v0.95! The game's ready to release pending some playtesting ^___^ It's been over 2 years, but it's finally coming out!
Tinker: "You're going to go where no one has gone before!"
Hero: "We've actually been there before."
Tinker: "Oh. Well, you've never been shot out of a turret, with only a minimal chance of survival!"
Hero: "That's true."

juef


Time/SpaceMage

Thanks for the interest! No updates yet, but I will have time to work on it after I take my A+ certification tests in two weeks. This will help me get into IT, so it's very important to me!

There's still a major graphics bug with the FastROM patch when played in no$sns, and I want to finish going through the dialogue (and fitting it in between the unmovable event opcodes) before release. I can't wait to share it with you, though :)

Zeemis

This looks really amazing! I loved playing this back in the day on my SNES! :D

PersianImm0rtal

#64
I just wanted to say thank you for the hard work you put into this. I am going to test itt out on my super ufo! Thank thanks thanks!

Edit: Wait, Is this hack not on the site yet?

Time/SpaceMage

#65
No public release yet, unfortunately. I'm rather selective about its quality, since this is my first big project.

Don't worry, I'll release a news article for it so you won't miss it. It won't be in February, though. Although... having some beta testers could be handy :3 Shoot me a PM if you want a prerelease.

PersianImm0rtal

I think you have a hit on your hands based on this beta version.  :thumbsup:

I love hacks like this that take games that had great attributes and just modernizes them so that we can enjoy them without getting frustrated. The best change is the rate of random encounters.

Time/SpaceMage

Thanks! I'm more fired up about this now  :)
Since I had some free time after studying, I finished the script for Chapter 3 and the intro to Chapter 4. The story should make more sense now. Before it was like, "Oh, she's been hit with a sleep spell!" "Is she okay?" "Yes, she just needs to rest."

PersianImm0rtal

So in chapter 1, when I enter the Temple I get glitched graphics, and then it goes away if I finish a battle, but if I look at the map, it comes back until I finish another combat.

sluffy

Quote
and I want to finish going through the dialogue (and fitting it in between the unmovable event opcodes)

Would it be possible to invent your own scripting "jump" code that prints text from other 24-bit location and then "return" back to continue normal scripting routine?


Quote
So in chapter 1, when I enter the Temple I get glitched graphics, and then it goes away if I finish a battle, but if I look at the map, it comes back until I finish another combat.

rainponcho's FastROM patch doesn't work on real hardware (see review). I've had this exact problem and other strange graphic stuff just using that hack. Tried contacting rainponcho but no response for awhile now. :(


Can't help but think all the different (emulator graphic) glitches are because of "unstable" dma hacks constantly used to give quick boosts at bad times; irq and nmi timing conflicts would be my guess.

Just a thought though.

Time/SpaceMage

Quote from: sluffy on February 07, 2018, 09:46:47 AM
Would it be possible to invent your own scripting "jump" code that prints text from other 24-bit location and then "return" back to continue normal scripting routine?


rainponcho's FastROM patch doesn't work on real hardware (see review). I've had this exact problem and other strange graphic stuff just using that hack. Tried contacting rainponcho but no response for awhile now. :(


Can't help but think all the different (emulator graphic) glitches are because of "unstable" dma hacks constantly used to give quick boosts at bad times; irq and nmi timing conflicts would be my guess.

Just a thought though.
There might be a code for that, like when rainponcho listed codes for the scripting language. If so then I could expand the text used in games. Most of the time I just need to be clever with my words to fit it in, which is fun in its own right. But, I'll see if I can't figure out a jump routine.

So his patch has that bug on all real hardware? That's a real bummer! Also hard to test, since I don't really understand what he did. I'm literally reversing groups of byte changes until I find the offender.

And yeah, rainponcho dropped off the face of the earth :x Hope he's ok, but I don't think he's coming back.

PersianImm0rtal

In chapter 2 the graphics get glitched when you open the map, and then it goes away after a battle.    :(

TimeSpaceMage

That was the problem before too, but it went away on Snes9x.  :(

So, here are the byte changes his FastROM patch made to the original. To shorten the list, I'll remove the entries that just change the bank (00 -> 80).

Comparing files Arcana_base+fastrom.smc and Arcana_base.smc:
00000770: 22 E2
00000771: 9D 20
00000772: FB 85
00000773: 9F 02

000007C4: 5C B7
000007C5: A8 00
000007C6: FB C8
000007C7: 9F 9D

000007D6: 5C B7
000007D7: EC 00
000007D8: FB C8
000007D9: 9F 5A

0000082E: 5C B9
0000082F: 2C 00
00000830: FC 00
00000831: 9F 9D

00000870: 5C B9
00000871: 4F 00
00000872: FC 00
00000873: 9F 9D

0000089D: 5C A9
0000089E: 28 E0
0000089F: FD 95
000008A0: 9F 01

00001532: 22 A7
00001533: 30 10
00001534: FB 29
00001535: 9F FF
00001536: EA 00

00001B0E: 4C DC
00001B0F: 9E 49
00001B10: FF 10

00007F90: 78 FF
00007F91: 18 FF
00007F92: FB FF
00007F93: E2 FF
00007F94: 20 FF
00007F95: A9 FF
00007F96: 01 FF
00007F97: 8D FF
00007F98: 0D FF
00007F99: 42 FF
00007F9A: 5C FF
00007F9B: 01 FF
00007F9C: 80 FF
00007F9D: 80 FF
00007F9E: 08 FF
00007F9F: E2 FF
00007FA0: 20 FF
00007FA1: 48 FF
00007FA2: AD FF
00007FA3: 4B FF
00007FA4: 10 FF
00007FA5: C9 FF
00007FA6: 40 FF
00007FA7: B0 FF
00007FA8: 05 FF
00007FA9: 09 FF
00007FAA: 80 FF
00007FAB: 8D FF
00007FAC: 4B FF
00007FAD: 10 FF
00007FAE: 68 FF
00007FAF: 28 FF
00007FB0: DC FF
00007FB1: 49 FF
00007FB2: 10 FF
00007FFC: 90 01
00007FFD: FF 80

000199B1: 22 8B
000199B2: 42 A9
000199B3: FB FF
000199B4: 9F FF
000199B5: 60 8F

000FFB30: A7 FF
000FFB31: 10 FF
000FFB32: 29 FF
000FFB34: 00 FF
000FFB35: C9 FF
000FFB36: 40 FF
000FFB37: 00 FF
000FFB38: B0 FF
000FFB39: 03 FF
000FFB3A: 09 FF
000FFB3B: 80 FF
000FFB3C: 00 FF
000FFB3D: 6B FF
000FFB3E: 00 FF
000FFB3F: 00 FF
000FFB42: 08 FF
000FFB43: A9 FF
000FFB44: 20 FF
000FFB45: 13 FF
000FFB46: 8D FF
000FFB47: 65 FF
000FFB48: 43 FF
000FFB49: A9 FF
000FFB4A: 40 FF
000FFB4B: FB FF
000FFB4C: 8D FF
000FFB4D: 62 FF
000FFB4E: 43 FF
000FFB4F: A9 FF
000FFB50: FB FF
000FFB51: 9F FF
000FFB52: 8D FF
000FFB53: 63 FF
000FFB54: 43 FF
000FFB55: A9 FF
000FFB56: E0 FF
000FFB57: CC FF
000FFB58: 8D FF
000FFB59: 81 FF
000FFB5A: 21 FF
000FFB5B: A9 FF
000FFB5C: CC FF
000FFB5D: 7E FF
000FFB5E: 8D FF
000FFB5F: 82 FF
000FFB60: 21 FF
000FFB61: A9 FF
000FFB62: 08 FF
000FFB63: 80 FF
000FFB64: 8D FF
000FFB65: 60 FF
000FFB66: 43 FF
000FFB67: E2 FF
000FFB68: 20 FF
000FFB69: A9 FF
000FFB6A: 40 FF
000FFB6B: 8D FF
000FFB6C: 0B FF
000FFB6D: 42 FF
000FFB6E: C2 FF
000FFB6F: 20 FF
000FFB70: A9 FF
000FFB71: 40 FF
000FFB72: 26 FF
000FFB73: 8D FF
000FFB74: 65 FF
000FFB75: 43 FF
000FFB76: A9 FF
000FFB77: 3E FF
000FFB78: FB FF
000FFB79: 8D FF
000FFB7A: 62 FF
000FFB7B: 43 FF
000FFB7C: A9 FF
000FFB7D: FB FF
000FFB7E: 9F FF
000FFB7F: 8D FF
000FFB80: 63 FF
000FFB81: 43 FF
000FFB82: A9 FF
000FFB83: A0 FF
000FFB84: A6 FF
000FFB85: 8D FF
000FFB86: 81 FF
000FFB87: 21 FF
000FFB88: A9 FF
000FFB89: A6 FF
000FFB8A: 7E FF
000FFB8B: 8D FF
000FFB8C: 82 FF
000FFB8D: 21 FF
000FFB8E: A9 FF
000FFB8F: 08 FF
000FFB90: 80 FF
000FFB91: 8D FF
000FFB92: 60 FF
000FFB93: 43 FF
000FFB94: E2 FF
000FFB95: 20 FF
000FFB96: A9 FF
000FFB97: 40 FF
000FFB98: 8D FF
000FFB99: 0B FF
000FFB9A: 42 FF
000FFB9B: 28 FF
000FFB9C: 6B FF
000FFB9D: E2 FF
000FFB9E: 20 FF
000FFB9F: C9 FF
000FFBA0: 40 FF
000FFBA1: B0 FF
000FFBA2: 02 FF
000FFBA3: 09 FF
000FFBA4: 80 FF
000FFBA5: 85 FF
000FFBA6: 02 FF
000FFBA7: 6B FF
000FFBA8: C2 FF
000FFBA9: 20 FF
000FFBAA: A5 FF
000FFBAB: 03 FF
000FFBAC: 8F FF
000FFBAD: 65 FF
000FFBAE: 43 FF
000FFBAF: 80 FF
000FFBB0: 98 FF
000FFBB1: 18 FF
000FFBB2: 65 FF
000FFBB3: 00 FF
000FFBB4: 8F FF
000FFBB5: 62 FF
000FFBB6: 43 FF
000FFBB7: 80 FF
000FFBB8: 8A FF
000FFBB9: 8F FF
000FFBBA: 81 FF
000FFBBB: 21 FF
000FFBBC: 80 FF
000FFBBD: A9 FF
000FFBBE: 00 FF
000FFBBF: 80 FF
000FFBC0: 8F FF
000FFBC1: 60 FF
000FFBC2: 43 FF
000FFBC3: 80 FF
000FFBC4: E2 FF
000FFBC5: 20 FF
000FFBC6: A5 FF
000FFBC7: 02 FF
000FFBC8: 09 FF
000FFBC9: 80 FF
000FFBCA: 8F FF
000FFBCB: 64 FF
000FFBCC: 43 FF
000FFBCD: 80 FF
000FFBCE: 8B FF
000FFBCF: 68 FF
000FFBD0: 8F FF
000FFBD1: 83 FF
000FFBD2: 21 FF
000FFBD3: 80 FF
000FFBD4: A9 FF
000FFBD5: 40 FF
000FFBD6: 8F FF
000FFBD7: 0B FF
000FFBD8: 42 FF
000FFBD9: 80 FF
000FFBDA: C2 FF
000FFBDB: 20 FF
000FFBDC: 8A FF
000FFBDD: 18 FF
000FFBDE: 65 FF
000FFBDF: 03 FF
000FFBE0: AA FF
000FFBE1: 98 FF
000FFBE2: 18 FF
000FFBE3: 65 FF
000FFBE4: 03 FF
000FFBE5: A8 FF
000FFBE6: E2 FF
000FFBE7: 20 FF
000FFBE8: 5C FF
000FFBE9: 7C FF
000FFBEA: 87 FF
000FFBEB: 80 FF
000FFBEC: C2 FF
000FFBED: 20 FF
000FFBEE: A5 FF
000FFBEF: 03 FF
000FFBF0: 8F FF
000FFBF1: 65 FF
000FFBF2: 43 FF
000FFBF3: 80 FF
000FFBF4: 98 FF
000FFBF5: 18 FF
000FFBF6: 65 FF
000FFBF7: 00 FF
000FFBF8: 8F FF
000FFBF9: 62 FF
000FFBFA: 43 FF
000FFBFB: 80 FF
000FFBFC: 8A FF
000FFBFD: 8F FF
000FFBFE: 81 FF
000FFBFF: 21 FF
000FFC00: 80 FF
000FFC01: A9 FF
000FFC02: 08 FF
000FFC03: 80 FF
000FFC04: 8F FF
000FFC05: 60 FF
000FFC06: 43 FF
000FFC07: 80 FF
000FFC08: E2 FF
000FFC09: 20 FF
000FFC0A: A5 FF
000FFC0B: 02 FF
000FFC0C: 09 FF
000FFC0D: 80 FF
000FFC0E: 8F FF
000FFC0F: 64 FF
000FFC10: 43 FF
000FFC11: 80 FF
000FFC12: 8B FF
000FFC13: 68 FF
000FFC14: 8F FF
000FFC15: 83 FF
000FFC16: 21 FF
000FFC17: 80 FF
000FFC18: A9 FF
000FFC19: 40 FF
000FFC1A: 8F FF
000FFC1B: 0B FF
000FFC1C: 42 FF
000FFC1D: 80 FF
000FFC1E: C2 FF
000FFC1F: 20 FF
000FFC20: 8A FF
000FFC21: 18 FF
000FFC22: 65 FF
000FFC23: 03 FF
000FFC24: AA FF
000FFC25: C8 FF
000FFC26: E2 FF
000FFC27: 20 FF
000FFC28: 5C FF
000FFC29: 7C FF
000FFC2A: 87 FF
000FFC2B: 80 FF
000FFC2C: C2 FF
000FFC2D: 20 FF
000FFC2E: 8A FF
000FFC2F: BB FF
000FFC30: A8 FF
000FFC31: 8B FF
000FFC32: 8B FF
000FFC33: 68 FF
000FFC34: C9 FF
000FFC35: 7F FF
000FFC36: 7F FF
000FFC37: F0 FF
000FFC38: 08 FF
000FFC39: A5 FF
000FFC3A: 03 FF
000FFC3B: 3A FF
000FFC3C: 54 FF
000FFC3D: 7E FF
000FFC3E: 7E FF
000FFC3F: 80 FF
000FFC40: 06 FF
000FFC41: A5 FF
000FFC42: 03 FF
000FFC43: 3A FF
000FFC44: 54 FF
000FFC45: 7F FF
000FFC46: 7F FF
000FFC47: BB FF
000FFC48: E2 FF
000FFC49: 20 FF
000FFC4A: 7A FF
000FFC4B: 5C FF
000FFC4C: 7C FF
000FFC4D: 87 FF
000FFC4E: 80 FF
000FFC4F: C2 FF
000FFC50: 20 FF
000FFC51: A5 FF
000FFC52: 03 FF
000FFC53: C9 FF
000FFC54: 10 FF
000FFC55: 00 FF
000FFC56: 90 FF
000FFC57: 4E FF
000FFC58: 98 FF
000FFC59: 38 FF
000FFC5A: E9 FF
000FFC5B: 10 FF
000FFC5C: 00 FF
000FFC5D: A8 FF
000FFC5E: B9 FF
000FFC5F: 0F FF
000FFC60: 00 FF
000FFC61: EB FF
000FFC62: 9D FF
000FFC63: 00 FF
000FFC64: 00 FF
000FFC65: B9 FF
000FFC66: 0D FF
000FFC67: 00 FF
000FFC68: EB FF
000FFC69: 9D FF
000FFC6A: 02 FF
000FFC6B: 00 FF
000FFC6C: B9 FF
000FFC6D: 0B FF
000FFC6E: 00 FF
000FFC6F: EB FF
000FFC70: 9D FF
000FFC71: 04 FF
000FFC72: 00 FF
000FFC73: B9 FF
000FFC74: 09 FF
000FFC75: 00 FF
000FFC76: EB FF
000FFC77: 9D FF
000FFC78: 06 FF
000FFC79: 00 FF
000FFC7A: B9 FF
000FFC7B: 07 FF
000FFC7C: 00 FF
000FFC7D: EB FF
000FFC7E: 9D FF
000FFC7F: 08 FF
000FFC80: 00 FF
000FFC81: B9 FF
000FFC82: 05 FF
000FFC83: 00 FF
000FFC84: EB FF
000FFC85: 9D FF
000FFC86: 0A FF
000FFC87: 00 FF
000FFC88: B9 FF
000FFC89: 03 FF
000FFC8A: 00 FF
000FFC8B: EB FF
000FFC8C: 9D FF
000FFC8D: 0C FF
000FFC8E: 00 FF
000FFC8F: B9 FF
000FFC90: 01 FF
000FFC91: 00 FF
000FFC92: EB FF
000FFC93: 9D FF
000FFC94: 0E FF
000FFC95: 00 FF
000FFC96: 8A FF
000FFC97: 18 FF
000FFC98: 69 FF
000FFC99: 10 FF
000FFC9A: 00 FF
000FFC9B: AA FF
000FFC9C: A5 FF
000FFC9D: 03 FF
000FFC9E: 38 FF
000FFC9F: E9 FF
000FFCA0: 10 FF
000FFCA1: 00 FF
000FFCA2: 85 FF
000FFCA3: 03 FF
000FFCA4: 80 FF
000FFCA5: AB FF
000FFCA6: C9 FF
000FFCA7: 08 FF
000FFCA8: 00 FF
000FFCA9: 90 FF
000FFCAA: 30 FF
000FFCAB: 98 FF
000FFCAC: 38 FF
000FFCAD: E9 FF
000FFCAE: 08 FF
000FFCAF: 00 FF
000FFCB0: A8 FF
000FFCB1: B9 FF
000FFCB2: 07 FF
000FFCB3: 00 FF
000FFCB4: EB FF
000FFCB5: 9D FF
000FFCB6: 00 FF
000FFCB7: 00 FF
000FFCB8: B9 FF
000FFCB9: 05 FF
000FFCBA: 00 FF
000FFCBB: EB FF
000FFCBC: 9D FF
000FFCBD: 02 FF
000FFCBE: 00 FF
000FFCBF: B9 FF
000FFCC0: 03 FF
000FFCC1: 00 FF
000FFCC2: EB FF
000FFCC3: 9D FF
000FFCC4: 04 FF
000FFCC5: 00 FF
000FFCC6: B9 FF
000FFCC7: 01 FF
000FFCC8: 00 FF
000FFCC9: EB FF
000FFCCA: 9D FF
000FFCCB: 06 FF
000FFCCC: 00 FF
000FFCCD: 8A FF
000FFCCE: 18 FF
000FFCCF: 69 FF
000FFCD0: 08 FF
000FFCD1: 00 FF
000FFCD2: AA FF
000FFCD3: A5 FF
000FFCD4: 03 FF
000FFCD5: 38 FF
000FFCD6: E9 FF
000FFCD7: 08 FF
000FFCD8: 00 FF
000FFCD9: 85 FF
000FFCDA: 03 FF
000FFCDB: C9 FF
000FFCDC: 04 FF
000FFCDD: 00 FF
000FFCDE: 90 FF
000FFCDF: 1E FF
000FFCE0: 88 FF
000FFCE1: 88 FF
000FFCE2: 88 FF
000FFCE3: 88 FF
000FFCE4: B9 FF
000FFCE5: 03 FF
000FFCE6: 00 FF
000FFCE7: EB FF
000FFCE8: 9D FF
000FFCE9: 00 FF
000FFCEA: 00 FF
000FFCEB: B9 FF
000FFCEC: 01 FF
000FFCED: 00 FF
000FFCEE: EB FF
000FFCEF: 9D FF
000FFCF0: 02 FF
000FFCF1: 00 FF
000FFCF2: E8 FF
000FFCF3: E8 FF
000FFCF4: E8 FF
000FFCF5: E8 FF
000FFCF6: A5 FF
000FFCF7: 03 FF
000FFCF8: 38 FF
000FFCF9: E9 FF
000FFCFA: 04 FF
000FFCFB: 00 FF
000FFCFC: 85 FF
000FFCFD: 03 FF
000FFCFE: C9 FF
000FFCFF: 02 FF
000FFD00: 00 FF
000FFD01: 90 FF
000FFD02: 13 FF
000FFD03: 88 FF
000FFD04: 88 FF
000FFD05: B9 FF
000FFD06: 01 FF
000FFD07: 00 FF
000FFD08: EB FF
000FFD09: 9D FF
000FFD0A: 00 FF
000FFD0B: 00 FF
000FFD0C: E8 FF
000FFD0D: E8 FF
000FFD0E: A5 FF
000FFD0F: 03 FF
000FFD10: 38 FF
000FFD11: E9 FF
000FFD12: 02 FF
000FFD13: 00 FF
000FFD14: 85 FF
000FFD15: 03 FF
000FFD16: E2 FF
000FFD17: 20 FF
000FFD18: 3A FF
000FFD19: D0 FF
000FFD1A: 08 FF
000FFD1B: B9 FF
000FFD1C: 00 FF
000FFD1D: 00 FF
000FFD1E: 9D FF
000FFD1F: 00 FF
000FFD20: 00 FF
000FFD21: 88 FF
000FFD22: E8 FF
000FFD23: 7A FF
000FFD24: 5C FF
000FFD25: 7C FF
000FFD26: 87 FF
000FFD27: 80 FF
000FFD28: E2 FF
000FFD29: 20 FF
000FFD2A: A9 FF
000FFD2B: E0 FF
000FFD2C: E0 FF
000FFD2D: 81 FF
000FFD2E: 03 FF
000FFD2F: B0 FF
000FFD30: 4A FF
000FFD31: 95 FF
000FFD32: 01 FF
000FFD33: 95 FF
000FFD34: 05 FF
000FFD35: 95 FF
000FFD36: 09 FF
000FFD37: 95 FF
000FFD38: 0D FF
000FFD39: 95 FF
000FFD3A: 11 FF
000FFD3B: 95 FF
000FFD3C: 15 FF
000FFD3D: 95 FF
000FFD3E: 19 FF
000FFD3F: 95 FF
000FFD40: 1D FF
000FFD41: 95 FF
000FFD42: 21 FF
000FFD43: 95 FF
000FFD44: 25 FF
000FFD45: 95 FF
000FFD46: 29 FF
000FFD47: 95 FF
000FFD48: 2D FF
000FFD49: 95 FF
000FFD4A: 31 FF
000FFD4B: 95 FF
000FFD4C: 35 FF
000FFD4D: 95 FF
000FFD4E: 39 FF
000FFD4F: 95 FF
000FFD50: 3D FF
000FFD51: 95 FF
000FFD52: 41 FF
000FFD53: 95 FF
000FFD54: 45 FF
000FFD55: 95 FF
000FFD56: 49 FF
000FFD57: 95 FF
000FFD58: 4D FF
000FFD59: 95 FF
000FFD5A: 51 FF
000FFD5B: 95 FF
000FFD5C: 55 FF
000FFD5D: 95 FF
000FFD5E: 59 FF
000FFD5F: 95 FF
000FFD60: 5D FF
000FFD61: 95 FF
000FFD62: 61 FF
000FFD63: 95 FF
000FFD64: 65 FF
000FFD65: 95 FF
000FFD66: 69 FF
000FFD67: 95 FF
000FFD68: 6D FF
000FFD69: 95 FF
000FFD6A: 71 FF
000FFD6B: 95 FF
000FFD6C: 75 FF
000FFD6D: 95 FF
000FFD6E: 79 FF
000FFD6F: 95 FF
000FFD70: 7D FF
000FFD71: C2 FF
000FFD72: 20 FF
000FFD73: 8A FF
000FFD74: 18 FF
000FFD75: 69 FF
000FFD76: 80 FF
000FFD77: 00 FF
000FFD78: AA FF
000FFD79: 80 FF
000FFD7A: AD FF
000FFD7B: E0 FF
000FFD7C: C1 FF
000FFD7D: 03 FF
000FFD7E: B0 FF
000FFD7F: 2C FF
000FFD80: 95 FF
000FFD81: 01 FF
000FFD82: 95 FF
000FFD83: 05 FF
000FFD84: 95 FF
000FFD85: 09 FF
000FFD86: 95 FF
000FFD87: 0D FF
000FFD88: 95 FF
000FFD89: 11 FF
000FFD8A: 95 FF
000FFD8B: 15 FF
000FFD8C: 95 FF
000FFD8D: 19 FF
000FFD8E: 95 FF
000FFD8F: 1D FF
000FFD90: 95 FF
000FFD91: 21 FF
000FFD92: 95 FF
000FFD93: 25 FF
000FFD94: 95 FF
000FFD95: 29 FF
000FFD96: 95 FF
000FFD97: 2D FF
000FFD98: 95 FF
000FFD99: 31 FF
000FFD9A: 95 FF
000FFD9B: 35 FF
000FFD9C: 95 FF
000FFD9D: 39 FF
000FFD9E: 95 FF
000FFD9F: 3D FF
000FFDA0: C2 FF
000FFDA1: 20 FF
000FFDA2: 8A FF
000FFDA3: 18 FF
000FFDA4: 69 FF
000FFDA5: 40 FF
000FFDA6: 00 FF
000FFDA7: AA FF
000FFDA8: E2 FF
000FFDA9: 20 FF
000FFDAA: A9 FF
000FFDAB: E1 FF
000FFDAC: E0 FF
000FFDAD: E1 FF
000FFDAE: 03 FF
000FFDAF: B0 FF
000FFDB0: 1C FF
000FFDB1: 95 FF
000FFDB2: 01 FF
000FFDB3: 95 FF
000FFDB4: 05 FF
000FFDB5: 95 FF
000FFDB6: 09 FF
000FFDB7: 95 FF
000FFDB8: 0D FF
000FFDB9: 95 FF
000FFDBA: 11 FF
000FFDBB: 95 FF
000FFDBC: 15 FF
000FFDBD: 95 FF
000FFDBE: 19 FF
000FFDBF: 95 FF
000FFDC0: 1D FF
000FFDC1: C2 FF
000FFDC2: 20 FF
000FFDC3: 8A FF
000FFDC4: 18 FF
000FFDC5: 69 FF
000FFDC6: 20 FF
000FFDC7: 00 FF
000FFDC8: AA FF
000FFDC9: E2 FF
000FFDCA: 20 FF
000FFDCB: A9 FF
000FFDCC: E1 FF
000FFDCD: E0 FF
000FFDCE: F1 FF
000FFDCF: 03 FF
000FFDD0: B0 FF
000FFDD1: 14 FF
000FFDD2: 95 FF
000FFDD3: 01 FF
000FFDD4: 95 FF
000FFDD5: 05 FF
000FFDD6: 95 FF
000FFDD7: 09 FF
000FFDD8: 95 FF
000FFDD9: 0D FF
000FFDDA: C2 FF
000FFDDB: 20 FF
000FFDDC: 8A FF
000FFDDD: 18 FF
000FFDDE: 69 FF
000FFDDF: 10 FF
000FFDE0: 00 FF
000FFDE1: AA FF
000FFDE2: E2 FF
000FFDE3: 20 FF
000FFDE4: A9 FF
000FFDE5: E1 FF
000FFDE6: E0 FF
000FFDE7: F9 FF
000FFDE8: 03 FF
000FFDE9: B0 FF
000FFDEA: 10 FF
000FFDEB: 95 FF
000FFDEC: 01 FF
000FFDED: 95 FF
000FFDEE: 05 FF
000FFDEF: C2 FF
000FFDF0: 20 FF
000FFDF1: 8A FF
000FFDF2: 18 FF
000FFDF3: 69 FF
000FFDF4: 08 FF
000FFDF5: 00 FF
000FFDF6: AA FF
000FFDF7: E2 FF
000FFDF8: 20 FF
000FFDF9: A9 FF
000FFDFA: E1 FF
000FFDFB: E0 FF
000FFDFC: 00 FF
000FFDFD: 04 FF
000FFDFE: B0 FF
000FFDFF: 06 FF
000FFE00: 95 FF
000FFE01: 01 FF
000FFE02: E8 FF
000FFE03: E8 FF
000FFE04: E8 FF
000FFE05: E8 FF
000FFE06: 5C FF
000FFE07: AA FF
000FFE08: 88 FF
000FFE09: 80 FF

So for my fix, I reverted 8 bytes (0x770-773 and 0x7C4-7C7) that were causing gfx junk to appear. It looks like the bulk of his code is FFB30-FFE09. Wow, I can't believe he wrote almost $200 bytes of assembly... Well my next step will be trying to revert the other small groups, and if that doesn't work I'll have to disassemble that monster.  :-X Wish me luck guys! If anyone can give some input on FastROM conversion I'd really appreciate it.

February 09, 2018, 12:55:30 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Also I documented more of the script opcodes. They still don't really make sense  :laugh: Tracing the opcodes hasn't led anywhere yet. $80/209B bounces all over the place, and when I trace the opcodes I can see where they're being read all at once, but not so much where they're being followed. For instance at 0x62256, the first 4 bytes "10 A5 FA 0C" mean to pause, then newline.  Next is "10 E3 F7 0C", which has Rooks speak without his picture showing. All the dialogue-related codes start with 10 and end with 0C, but I'm not sure HOW it works.

rainponcho's notes
$80/902B = where it reads scripting code
07 = run asm code (24-bit addr)
0c = jump if false (16-bit addr)
1b = jsr (16-bit addr)
1c = ret

And this just confuses me even more  :P
Tinker: "You're going to go where no one has gone before!"
Hero: "We've actually been there before."
Tinker: "Oh. Well, you've never been shot out of a turret, with only a minimal chance of survival!"
Hero: "That's true."

sluffy

#73
Lots of weird crap so I just take guesses. :p

770 just.. flips [rd] bank to 80+ if between 00-3F. And that causes junk to appear??
7c4/7d6 dma rom ==> ram
82e mvn ram copy
870 loop unrolls?
89d oam loop unroll (invalid sprite maybe)
1532/1b0e looks like 770 again (fastbank)
7f90 boot fastrom switch
199b1 appears to .. init ram via dma ..

That's what I could make out. Ugh.



I'm interested enough in trying out an independent faster rom conversion, to cross-check for problems. Not going to use rainponcho as a base since I have learned own ideas on what to do. This takes me (lots of) months though.

Faster rom means.. flipping the banks. And optimizing code - using look-up tables, removing loops, restructuring blocks, writing own spc transfer routines, disabling interrupts during lengthy "no update" screens, cycle counting, register cache, misc.



Did basic fastrom treatment. Ohohh. Ow. This game is buggy.
- dma $1800 size during active vblank. Fails. Already getting graphical glitches due to incomplete vram transfers.

- writes to 420c/420d every nmi. 420d is written using uninitialized ram. 50/50 chance you get fastrom or slowrom.

- reads 4216/4217 after 2 nop cycles. This sounds like a bad idea but game works so maybe .. still sounds awful. Need to check this harder


Does anyone know of other snes quirks to watch for? It'd be nice if there's a bgb-like debugger that catches illegal or "questionable" stuff and prints it out somewhere / auto-break. ^^

TimeSpaceMage

#74
Yeah I'm not surprised this game is buggy. When reverting the level-up text to match the Japanese version (1 button press instead of 7), I found the English version has a hard-coded counter to tell it how many times to pause for input on that one screen. Along with the opcode to pause for input (7F), I literally had to track down a 07 and change it to a 01.

I'll try reverting 89d and see what happens. In the meantime, I'll rebuild my beta keeping the FastROM patch separate and just soft patch it. Thanks for the guesses :D
EDIT: 89d didn't fix the Heal crash in no$sns. I made a "minus fastrom" patch but soft patching it makes the game softlock after the Chapter 1 screen. Looks like I'll have to add my changes by hand again :x
EDIT2: Also no dice with 7D6, 82E, 870 reverted all at once, nor with 1532/1B0E reverted. So that leaves the last 3 groups... I'm guessing it's an issue with 199b1 since you said it was initializing RAM.

An emulator that catches stupid code sounds amazing. I can do some searching, but I haven't heard of one before.
Tinker: "You're going to go where no one has gone before!"
Hero: "We've actually been there before."
Tinker: "Oh. Well, you've never been shot out of a turret, with only a minimal chance of survival!"
Hero: "That's true."

sluffy

I really should get back on the ball with this. Game likes to over-transfer data and it tends to drop sometimes.


max transfer size
$80/BFF3 C9 01 18    CMP #$1801              A:1B90 X:10C3 Y:0000 D:1DE1 DB:80 S:1FEF P:envmxdIzC HC:0934 VC:202 FC:06 I:00
$80/BFF6 B0 0B       BCS $0B    [$C003]      A:1B90 X:10C3 Y:0000 D:1DE1 DB:80 S:1FEF P:envmxdIzC HC:0958 VC:202 FC:06 I:00


1-time transfer
$00/BFF8 A9 FF FF    LDA #$FFFF              A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvmxdIzc HC:0238 VC:000 FC:00 I:00
$00/BFFB 8D 1D 11    STA $111D  [$00:111D]   A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvmxdIzc HC:0254 VC:000 FC:00 I:00
$00/BFFE 9C 1F 11    STZ $111F  [$00:111F]   A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvmxdIzc HC:0270 VC:000 FC:00 I:00
$00/C001 80 0C       BRA $0C    [$C00F]      A:0000 X:0000 Y:0000 D:0000 DB:00 S:01FF P:EnvmxdIzc HC:0286 VC:000 FC:00 I:00


split transfers
$80/C003 A9 00 18    LDA #$1800              A:1B90 X:10C3 Y:0000 D:1DE1 DB:80 S:1FEF P:envmxdIzC HC:0982 VC:202 FC:06 I:00
$80/C006 85 04       STA $04    [$00:1DE5]   A:1800 X:10C3 Y:0000 D:1DE1 DB:80 S:1FEF P:envmxdIzC HC:1006 VC:202 FC:06 I:00

$80/C008 18          CLC                     A:1800 X:10C3 Y:0000 D:1DE1 DB:80 S:1FEF P:envmxdIzC HC:1046 VC:202 FC:06 I:00
$80/C009 6D 1D 11    ADC $111D  [$80:111D]   A:1800 X:10C3 Y:0000 D:1DE1 DB:80 S:1FEF P:envmxdIzc HC:1064 VC:202 FC:06 I:00
$80/C00C 8D 1D 11    STA $111D  [$80:111D]   A:1810 X:10C3 Y:0000 D:1DE1 DB:80 S:1FEF P:envmxdIzc HC:1104 VC:202 FC:06 I:00



$1801/$1800 = way too much. Set mine at $1401/$1400, which cuts it close. Could lower another $100 on safe side maybe..

DMA[0]: CPU->PPU Mode:1 0x7E4010->0x2118 Bytes:1400 (inc) V:229 VRAM: 5008 (1,0) word
$80/84AC 8C 0B 42    STY $420B  [$80:420B]   A:5008 X:0060 Y:0001 D:0000 DB:80 S:1FDF P:envmXdIzc HC:1214 VC:229 FC:19 I:00
$80/84AF 4C 69 84    JMP $8469  [$80:8469]   A:5008 X:0060 Y:0001 D:0000 DB:80 S:1FDF P:envmXdIzc HC:1196 VC:260 FC:19 I:00


Random graphic glitches disappear for me with generic fastrom build. Have to see if I can trigger heal bug on no$sns. Does it happen with vanilla too or just rainponcho's fast or seal of rimsala edition?

Time/SpaceMage

The bug is with rainponcho's FastROM patch. The rest of SoR just changes data and doesnt touch the code.

sluffy

no$sns -- tried Heal with just FastROM patch on-site but no hangs, crashes. Maybe I'm doing it wrong.


Time/SpaceMage

No release date yet, until this bug is narrowed down so it can be played on real hardware! At this point I think it's in the level up patch. I should have some time to take a look tonight.

If you're impatient and want a pre-release build to beta, shoot me a PM!