News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Chrono Trigger Bugfix and Uncensoring Patch  (Read 82749 times)

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #340 on: September 04, 2019, 03:42:30 pm »
manifest.bml for those running Higan:
Code: [Select]
cartridge region=NTSC
  rom name=program.rom size=0x600000
  ram name=program.srm size=0x2000
  map id=rom address=00-3f:8000-ffff
  map id=rom address=40-7d:0000-ffff
  map id=rom address=80-bf:8000-ffff
  map id=rom address=c0-ff:0000-ffff
  map id=ram address=10-3f,90-bf:6000-7fff mask=0xe000

  msu1
    rom name=chrono_msu1.msu
    map id=io address=00-3f,80-bf:2000-2007
    track number=1 name=chrono_msu1-1.pcm
    track number=2 name=chrono_msu1-2.pcm
    track number=3 name=chrono_msu1-3.pcm
    track number=4 name=chrono_msu1-4.pcm
    track number=5 name=chrono_msu1-5.pcm
    track number=6 name=chrono_msu1-6.pcm
    track number=7 name=chrono_msu1-7.pcm
    track number=8 name=chrono_msu1-8.pcm
    track number=9 name=chrono_msu1-9.pcm
    track number=10 name=chrono_msu1-10.pcm
    track number=11 name=chrono_msu1-11.pcm
    track number=12 name=chrono_msu1-12.pcm
    track number=13 name=chrono_msu1-13.pcm
    track number=14 name=chrono_msu1-14.pcm
    track number=15 name=chrono_msu1-15.pcm
    track number=16 name=chrono_msu1-16.pcm
    track number=19 name=chrono_msu1-19.pcm
    track number=20 name=chrono_msu1-20.pcm
    track number=21 name=chrono_msu1-21.pcm
    track number=22 name=chrono_msu1-22.pcm
    track number=23 name=chrono_msu1-23.pcm
    track number=24 name=chrono_msu1-24.pcm
    track number=27 name=chrono_msu1-27.pcm
    track number=28 name=chrono_msu1-28.pcm
    track number=29 name=chrono_msu1-29.pcm
    track number=30 name=chrono_msu1-30.pcm
    track number=31 name=chrono_msu1-31.pcm
    track number=35 name=chrono_msu1-35.pcm
    track number=36 name=chrono_msu1-36.pcm
    track number=37 name=chrono_msu1-37.pcm
    track number=38 name=chrono_msu1-38.pcm
    track number=39 name=chrono_msu1-39.pcm
    track number=40 name=chrono_msu1-40.pcm
    track number=41 name=chrono_msu1-41.pcm
    track number=42 name=chrono_msu1-42.pcm
    track number=43 name=chrono_msu1-43.pcm
    track number=44 name=chrono_msu1-44.pcm
    track number=45 name=chrono_msu1-45.pcm
    track number=46 name=chrono_msu1-46.pcm
    track number=47 name=chrono_msu1-47.pcm
    track number=48 name=chrono_msu1-48.pcm
    track number=49 name=chrono_msu1-49.pcm
    track number=50 name=chrono_msu1-50.pcm
    track number=51 name=chrono_msu1-51.pcm
    track number=54 name=chrono_msu1-54.pcm
    track number=56 name=chrono_msu1-56.pcm
    track number=57 name=chrono_msu1-57.pcm
    track number=59 name=chrono_msu1-59.pcm
    track number=60 name=chrono_msu1-60.pcm
    track number=61 name=chrono_msu1-61.pcm
    track number=62 name=chrono_msu1-62.pcm
    track number=63 name=chrono_msu1-63.pcm
    track number=64 name=chrono_msu1-64.pcm
    track number=66 name=chrono_msu1-66.pcm
    track number=68 name=chrono_msu1-68.pcm
    track number=69 name=chrono_msu1-69.pcm
    track number=70 name=chrono_msu1-70.pcm
    track number=72 name=chrono_msu1-72.pcm
    track number=73 name=chrono_msu1-73.pcm
    track number=77 name=chrono_msu1-77.pcm
    track number=78 name=chrono_msu1-78.pcm
    track number=80 name=chrono_msu1-80.pcm
    track number=81 name=chrono_msu1-81.pcm
    track number=82 name=chrono_msu1-82.pcm
    track number=84 name=chrono_msu1-84.pcm
    track number=85 name=chrono_msu1-85.pcm

board region=ntsc
  rom name=program.rom size=0x600000
    map address=00-3f:8000-ffff
    map address=40-7d:0000-ffff
    map address=80-bf:8000-ffff
    map address=c0-ff:0000-ffff
  ram name=program.srm size=0x2000
    map address=10-3f,90-bf:6000-7fff mask=0xe000

  msu1
    map address=00-3f,80-bf:2000-2007
    rom name=msu1.rom
    track number=1 name=chrono_msu1-1.pcm
    track number=2 name=chrono_msu1-2.pcm
    track number=3 name=chrono_msu1-3.pcm
    track number=4 name=chrono_msu1-4.pcm
    track number=5 name=chrono_msu1-5.pcm
    track number=6 name=chrono_msu1-6.pcm
    track number=7 name=chrono_msu1-7.pcm
    track number=8 name=chrono_msu1-8.pcm
    track number=9 name=chrono_msu1-9.pcm
    track number=10 name=chrono_msu1-10.pcm
    track number=11 name=chrono_msu1-11.pcm
    track number=12 name=chrono_msu1-12.pcm
    track number=13 name=chrono_msu1-13.pcm
    track number=14 name=chrono_msu1-14.pcm
    track number=15 name=chrono_msu1-15.pcm
    track number=16 name=chrono_msu1-16.pcm
    track number=19 name=chrono_msu1-19.pcm
    track number=20 name=chrono_msu1-20.pcm
    track number=21 name=chrono_msu1-21.pcm
    track number=22 name=chrono_msu1-22.pcm
    track number=23 name=chrono_msu1-23.pcm
    track number=24 name=chrono_msu1-24.pcm
    track number=27 name=chrono_msu1-27.pcm
    track number=28 name=chrono_msu1-28.pcm
    track number=29 name=chrono_msu1-29.pcm
    track number=30 name=chrono_msu1-30.pcm
    track number=31 name=chrono_msu1-31.pcm
    track number=35 name=chrono_msu1-35.pcm
    track number=36 name=chrono_msu1-36.pcm
    track number=37 name=chrono_msu1-37.pcm
    track number=38 name=chrono_msu1-38.pcm
    track number=39 name=chrono_msu1-39.pcm
    track number=40 name=chrono_msu1-40.pcm
    track number=41 name=chrono_msu1-41.pcm
    track number=42 name=chrono_msu1-42.pcm
    track number=43 name=chrono_msu1-43.pcm
    track number=44 name=chrono_msu1-44.pcm
    track number=45 name=chrono_msu1-45.pcm
    track number=46 name=chrono_msu1-46.pcm
    track number=47 name=chrono_msu1-47.pcm
    track number=48 name=chrono_msu1-48.pcm
    track number=49 name=chrono_msu1-49.pcm
    track number=50 name=chrono_msu1-50.pcm
    track number=51 name=chrono_msu1-51.pcm
    track number=54 name=chrono_msu1-54.pcm
    track number=56 name=chrono_msu1-56.pcm
    track number=57 name=chrono_msu1-57.pcm
    track number=59 name=chrono_msu1-59.pcm
    track number=60 name=chrono_msu1-60.pcm
    track number=61 name=chrono_msu1-61.pcm
    track number=62 name=chrono_msu1-62.pcm
    track number=63 name=chrono_msu1-63.pcm
    track number=64 name=chrono_msu1-64.pcm
    track number=66 name=chrono_msu1-66.pcm
    track number=68 name=chrono_msu1-68.pcm
    track number=69 name=chrono_msu1-69.pcm
    track number=70 name=chrono_msu1-70.pcm
    track number=72 name=chrono_msu1-72.pcm
    track number=73 name=chrono_msu1-73.pcm
    track number=77 name=chrono_msu1-77.pcm
    track number=78 name=chrono_msu1-78.pcm
    track number=80 name=chrono_msu1-80.pcm
    track number=81 name=chrono_msu1-81.pcm
    track number=82 name=chrono_msu1-82.pcm
    track number=84 name=chrono_msu1-84.pcm
    track number=85 name=chrono_msu1-85.pcm

information
  title:    Chrono Trigger MSU-1
  name:     chrono_msu1.sfc
  region:   NA
  revision: 1.0

Chronosplit

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #341 on: September 06, 2019, 12:02:29 pm »
I have found a bug with MSU1!  The portal at mystic mountain seems to echo a bit when opened.  Most other things I'm throwing at MSU1 seem to be fine.

Also, is anyone having any issues with the SNES9x standalone app and MSU1?  This seems to not be a problem on the RA core on any platform I test it in (and may very well be my computer's power), but music transitions are a bit more abrupt on the world map there.  Everything's timed correctly everywhere else.  I'm using the latest version of both. :o

manifest.bml for those running Higan:
Code: [Select]
cartridge region=NTSC
  rom name=program.rom size=0x600000
  ram name=program.srm size=0x2000
  map id=rom address=00-3f:8000-ffff
  map id=rom address=40-7d:0000-ffff
  map id=rom address=80-bf:8000-ffff
  map id=rom address=c0-ff:0000-ffff
  map id=ram address=10-3f,90-bf:6000-7fff mask=0xe000

  msu1
    rom name=chrono_msu1.msu
    map id=io address=00-3f,80-bf:2000-2007
    track number=1 name=chrono_msu1-1.pcm
    track number=2 name=chrono_msu1-2.pcm
    track number=3 name=chrono_msu1-3.pcm
    track number=4 name=chrono_msu1-4.pcm
    track number=5 name=chrono_msu1-5.pcm
    track number=6 name=chrono_msu1-6.pcm
    track number=7 name=chrono_msu1-7.pcm
    track number=8 name=chrono_msu1-8.pcm
    track number=9 name=chrono_msu1-9.pcm
    track number=10 name=chrono_msu1-10.pcm
    track number=11 name=chrono_msu1-11.pcm
    track number=12 name=chrono_msu1-12.pcm
    track number=13 name=chrono_msu1-13.pcm
    track number=14 name=chrono_msu1-14.pcm
    track number=15 name=chrono_msu1-15.pcm
    track number=16 name=chrono_msu1-16.pcm
    track number=19 name=chrono_msu1-19.pcm
    track number=20 name=chrono_msu1-20.pcm
    track number=21 name=chrono_msu1-21.pcm
    track number=22 name=chrono_msu1-22.pcm
    track number=23 name=chrono_msu1-23.pcm
    track number=24 name=chrono_msu1-24.pcm
    track number=27 name=chrono_msu1-27.pcm
    track number=28 name=chrono_msu1-28.pcm
    track number=29 name=chrono_msu1-29.pcm
    track number=30 name=chrono_msu1-30.pcm
    track number=31 name=chrono_msu1-31.pcm
    track number=35 name=chrono_msu1-35.pcm
    track number=36 name=chrono_msu1-36.pcm
    track number=37 name=chrono_msu1-37.pcm
    track number=38 name=chrono_msu1-38.pcm
    track number=39 name=chrono_msu1-39.pcm
    track number=40 name=chrono_msu1-40.pcm
    track number=41 name=chrono_msu1-41.pcm
    track number=42 name=chrono_msu1-42.pcm
    track number=43 name=chrono_msu1-43.pcm
    track number=44 name=chrono_msu1-44.pcm
    track number=45 name=chrono_msu1-45.pcm
    track number=46 name=chrono_msu1-46.pcm
    track number=47 name=chrono_msu1-47.pcm
    track number=48 name=chrono_msu1-48.pcm
    track number=49 name=chrono_msu1-49.pcm
    track number=50 name=chrono_msu1-50.pcm
    track number=51 name=chrono_msu1-51.pcm
    track number=54 name=chrono_msu1-54.pcm
    track number=56 name=chrono_msu1-56.pcm
    track number=57 name=chrono_msu1-57.pcm
    track number=59 name=chrono_msu1-59.pcm
    track number=60 name=chrono_msu1-60.pcm
    track number=61 name=chrono_msu1-61.pcm
    track number=62 name=chrono_msu1-62.pcm
    track number=63 name=chrono_msu1-63.pcm
    track number=64 name=chrono_msu1-64.pcm
    track number=66 name=chrono_msu1-66.pcm
    track number=68 name=chrono_msu1-68.pcm
    track number=69 name=chrono_msu1-69.pcm
    track number=70 name=chrono_msu1-70.pcm
    track number=72 name=chrono_msu1-72.pcm
    track number=73 name=chrono_msu1-73.pcm
    track number=77 name=chrono_msu1-77.pcm
    track number=78 name=chrono_msu1-78.pcm
    track number=80 name=chrono_msu1-80.pcm
    track number=81 name=chrono_msu1-81.pcm
    track number=82 name=chrono_msu1-82.pcm
    track number=84 name=chrono_msu1-84.pcm
    track number=85 name=chrono_msu1-85.pcm

board region=ntsc
  rom name=program.rom size=0x600000
    map address=00-3f:8000-ffff
    map address=40-7d:0000-ffff
    map address=80-bf:8000-ffff
    map address=c0-ff:0000-ffff
  ram name=program.srm size=0x2000
    map address=10-3f,90-bf:6000-7fff mask=0xe000

  msu1
    map address=00-3f,80-bf:2000-2007
    rom name=msu1.rom
    track number=1 name=chrono_msu1-1.pcm
    track number=2 name=chrono_msu1-2.pcm
    track number=3 name=chrono_msu1-3.pcm
    track number=4 name=chrono_msu1-4.pcm
    track number=5 name=chrono_msu1-5.pcm
    track number=6 name=chrono_msu1-6.pcm
    track number=7 name=chrono_msu1-7.pcm
    track number=8 name=chrono_msu1-8.pcm
    track number=9 name=chrono_msu1-9.pcm
    track number=10 name=chrono_msu1-10.pcm
    track number=11 name=chrono_msu1-11.pcm
    track number=12 name=chrono_msu1-12.pcm
    track number=13 name=chrono_msu1-13.pcm
    track number=14 name=chrono_msu1-14.pcm
    track number=15 name=chrono_msu1-15.pcm
    track number=16 name=chrono_msu1-16.pcm
    track number=19 name=chrono_msu1-19.pcm
    track number=20 name=chrono_msu1-20.pcm
    track number=21 name=chrono_msu1-21.pcm
    track number=22 name=chrono_msu1-22.pcm
    track number=23 name=chrono_msu1-23.pcm
    track number=24 name=chrono_msu1-24.pcm
    track number=27 name=chrono_msu1-27.pcm
    track number=28 name=chrono_msu1-28.pcm
    track number=29 name=chrono_msu1-29.pcm
    track number=30 name=chrono_msu1-30.pcm
    track number=31 name=chrono_msu1-31.pcm
    track number=35 name=chrono_msu1-35.pcm
    track number=36 name=chrono_msu1-36.pcm
    track number=37 name=chrono_msu1-37.pcm
    track number=38 name=chrono_msu1-38.pcm
    track number=39 name=chrono_msu1-39.pcm
    track number=40 name=chrono_msu1-40.pcm
    track number=41 name=chrono_msu1-41.pcm
    track number=42 name=chrono_msu1-42.pcm
    track number=43 name=chrono_msu1-43.pcm
    track number=44 name=chrono_msu1-44.pcm
    track number=45 name=chrono_msu1-45.pcm
    track number=46 name=chrono_msu1-46.pcm
    track number=47 name=chrono_msu1-47.pcm
    track number=48 name=chrono_msu1-48.pcm
    track number=49 name=chrono_msu1-49.pcm
    track number=50 name=chrono_msu1-50.pcm
    track number=51 name=chrono_msu1-51.pcm
    track number=54 name=chrono_msu1-54.pcm
    track number=56 name=chrono_msu1-56.pcm
    track number=57 name=chrono_msu1-57.pcm
    track number=59 name=chrono_msu1-59.pcm
    track number=60 name=chrono_msu1-60.pcm
    track number=61 name=chrono_msu1-61.pcm
    track number=62 name=chrono_msu1-62.pcm
    track number=63 name=chrono_msu1-63.pcm
    track number=64 name=chrono_msu1-64.pcm
    track number=66 name=chrono_msu1-66.pcm
    track number=68 name=chrono_msu1-68.pcm
    track number=69 name=chrono_msu1-69.pcm
    track number=70 name=chrono_msu1-70.pcm
    track number=72 name=chrono_msu1-72.pcm
    track number=73 name=chrono_msu1-73.pcm
    track number=77 name=chrono_msu1-77.pcm
    track number=78 name=chrono_msu1-78.pcm
    track number=80 name=chrono_msu1-80.pcm
    track number=81 name=chrono_msu1-81.pcm
    track number=82 name=chrono_msu1-82.pcm
    track number=84 name=chrono_msu1-84.pcm
    track number=85 name=chrono_msu1-85.pcm

information
  title:    Chrono Trigger MSU-1
  name:     chrono_msu1.sfc
  region:   NA
  revision: 1.0
Ah, I had forgotten to ask about this, thank you!
« Last Edit: September 06, 2019, 12:19:59 pm by Chronosplit »

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #342 on: September 06, 2019, 12:57:50 pm »
I have found a bug with MSU1!  The portal at mystic mountain seems to echo a bit when opened.  Most other things I'm throwing at MSU1 seem to be fine.

Also, is anyone having any issues with the SNES9x standalone app and MSU1?  This seems to not be a problem on the RA core on any platform I test it in (and may very well be my computer's power), but music transitions are a bit more abrupt on the world map there.  Everything's timed correctly everywhere else.  I'm using the latest version of both. :o
Ah, I had forgotten to ask about this, thank you!

Just tested on my old save that has everything but the Black Omen done.
Both SNES9x 1.60 and BSNES Plus v04, with and without the .msu file, give me the same SFX for that portal.
I am also not running on RetroArch currently because I've a dead GPU (OpenGL, DirectX, etc won't work as the driver refuses to load). DirectDraw on SNES9X and GDI on BSNES works for me, but GDI on RetroArch won't (freezes at the main screen).

Either way, if the echo doesn't go away for you, try playing with these:
Code: [Select]
            scope Echo {
                constant LIMIT($07)
                constant VALUE($05)
            }
They are located within the SNES.SPC scope definitions. I've made them into named constants as an easy way to tweak them.
LIMIT is the upper value it will start enforcing VALUE. Try lowering them.

In another note, I am currently writing another hack moving all the important items in the charm list to the normal drop list. I hate Ayla, and the way she is arguably the best party member after Magus (overpowered and charm), makes this game a chore for an OCD like me to finish.
Thing is, the game has a hardcoded limit for how many items a battle can give (3). I know where it's hardcoded and I believe it's safe to raise it to 4 (it will use one extra byte in that RAM address), but I was wondering... if I recall correctly, the maximum number of enemies per battle is 4, right? No need to raise the cap any further?

Mauron

  • Hero Member
  • *****
  • Posts: 525
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #343 on: September 06, 2019, 03:00:01 pm »
I know it's possible to get six enemies in a battle, but I don't know of any that exceed that.
Mauron wuz here.

Chronosplit

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #344 on: September 06, 2019, 03:14:06 pm »
Just tested on my old save that has everything but the Black Omen done.
Both SNES9x 1.60 and BSNES Plus v04, with and without the .msu file, give me the same SFX for that portal.
I am also not running on RetroArch currently because I've a dead GPU (OpenGL, DirectX, etc won't work as the driver refuses to load). DirectDraw on SNES9X and GDI on BSNES works for me, but GDI on RetroArch won't (freezes at the main screen).

Either way, if the echo doesn't go away for you, try playing with these:
Code: [Select]
            scope Echo {
                constant LIMIT($07)
                constant VALUE($05)
            }
They are located within the SNES.SPC scope definitions. I've made them into named constants as an easy way to tweak them.
LIMIT is the upper value it will start enforcing VALUE. Try lowering them.
I'll keep going and see what I find.  It's definitely possible that what I'm hearing is completely intended (by the way, the final battles sound amazing).

Quote
In another note, I am currently writing another hack moving all the important items in the charm list to the normal drop list. I hate Ayla, and the way she is arguably the best party member after Magus (overpowered and charm), makes this game a chore for an OCD like me to finish.
Thing is, the game has a hardcoded limit for how many items a battle can give (3). I know where it's hardcoded and I believe it's safe to raise it to 4 (it will use one extra byte in that RAM address), but I was wondering... if I recall correctly, the maximum number of enemies per battle is 4, right? No need to raise the cap any further?
I believe Mauron is correct.  It would be interesting to raise the mosnter cap if I had coliseum in here, but as it is I don't think there'd be much of a reason to in your case at least.  I could be wrong though.

ThegreatBen

  • Hero Member
  • *****
  • Posts: 604
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #345 on: September 06, 2019, 04:28:44 pm »
6 is the limit,  any beyond that will cause weird glitches.

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #346 on: September 07, 2019, 09:49:24 am »
I know it's possible to get six enemies in a battle, but I don't know of any that exceed that.

That's the limit, but does the original game ever uses more than 4 in any battle?

In another note directed at you, I've been trying to remove part of her Charm animation as to make Charm fit a Confuse effect animation, but anytime I mess with the animation objects (mainly the last effect object) the game simply deadlocks after the animation plays until that point.
Is it even possible to do it with Hi-Tech? Does the game enforces a certain number of frames per tech animations?
I do intend to make her Charm confuse one enemy, while making the Charm Item Slot serves as a maximum number of the same item that can be dropped in one battle. I've written a Python script to dump and format all that info into ASM, as to make it portable across other romhacks.

ThegreatBen

  • Hero Member
  • *****
  • Posts: 604
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #347 on: September 07, 2019, 10:13:40 am »
Several times actually, 3 Incognito and 3 Peeping Doom in the Black Omen, also in the Omen is the battle with 2 Boss Orbs and 4 Sidekicks.

Interestingly larger enemies take up several enemy indexes, Lavos Spawn and the shell cannot be loaded with other enemies because the shell counts as five, things like Winged Ape are two.

Mauron

  • Hero Member
  • *****
  • Posts: 525
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #348 on: September 07, 2019, 10:56:11 am »
That's the limit, but does the original game ever uses more than 4 in any battle?

In another note directed at you, I've been trying to remove part of her Charm animation as to make Charm fit a Confuse effect animation, but anytime I mess with the animation objects (mainly the last effect object) the game simply deadlocks after the animation plays until that point.
In addition to the ones ThegreatBen mentioned, there's also the six Nu fight, although only three can be charmed.

Have you altered any of the commands dealing with counter 1C? In Charm, there are increment counter commands in every object except 4, and wait for counter commands in every object. If those don't reach the necessary values, it will lock when trying to use the tech.
Mauron wuz here.

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #349 on: September 07, 2019, 11:02:09 am »
In addition to the ones ThegreatBen mentioned, there's also the six Nu fight, although only three can be charmed.

Have you altered any of the commands dealing with counter 1C? In Charm, there are increment counter commands in every object except 4, and wait for counter commands in every object. If those don't reach the necessary values, it will lock when trying to use the tech.

Yup, I'd left the increment ones with a Return, still deadlocks.

@ThegreatBen, thanks, I don't think I've ever seen that address space used, so I believe using  3 more bytes of RAM in there is harmless. I'll do some testings though, and as long as the extra three bytes addresses aren't used while in battle, it should be a very simple hack.

EDIT:

High RAM addresses during battle:
$7EB2A7-$7EB2AC (6 bytes, all reserved for enemy drops. The game only sets a maximum of 3, but all the other bytes are zero'ed too at the start of the battle and checked later on for drops).
$7EB2AD (not sure, seems to be always zero).
$7EB2AE (Player target for the action, $00 to $02 are party members, enemies start at $03).
$7EB2AF (End of battle flags, flag $20 means there are enemy drops to reward).

Should be pretty safe to increase the maximum to 6, as the game was coded this way anyway and only limited to 3 by a cpy instruction.
« Last Edit: September 07, 2019, 11:57:09 am by Cthulhu88 »

Mauron

  • Hero Member
  • *****
  • Posts: 525
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #350 on: September 07, 2019, 11:51:09 am »
I'd guess you're having issues with exceeding the value. Wait for Counter only tests for equality. Since you're familiar with ASM, you can use the Offset value as a breakpoint and check the value of the counters, starting at $7E:5D80.
Mauron wuz here.

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #351 on: September 07, 2019, 01:05:44 pm »
I'd guess you're having issues with exceeding the value. Wait for Counter only tests for equality. Since you're familiar with ASM, you can use the Offset value as a breakpoint and check the value of the counters, starting at $7E:5D80.

Leaving the waits in still kept deadlocking.
I finally managed to get the animation to work the way I want it to by just removing the last Play Animation and Move to commands.

By the way, clicking on Layer 3 Packet when the tech has no Layer 3 packet leads to an unhandled exception. You might you want to catch it within your code or just grey out Layer 3 Packet when there is none.

Chronosplit

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #352 on: September 07, 2019, 11:09:16 pm »
Sounds like that portal bug was intended behavior.  The fact that I'm still finding out cool things about some areas of CT is a testament to the level of detail they went to.

Anyway... if no one has anything to interject with, I believe I'm safe in putting MSU1 into all six patches all at once (don't worry, I'll carry an antipatch in my tools in case of major update).  This week I'll tackle Antiquity, and I'll probably put up a beta because I know better by now than to just ram it in.

And then we'll have v8.  And then... huh, I guess we'll be done for now.  I'll be honest, I've never truly been in a spot where I can safely say I have nothing left to add.  Well, not quite.  If a new HP-to-1 fix appears in a box it'll be added.  And yeah the 600 AD NPC thing is next in the horizon, but that's removed from this project.

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #353 on: September 08, 2019, 11:59:01 am »
Anyway... if no one has anything to interject with, I believe I'm safe in putting MSU1 into all six patches all at once (don't worry, I'll carry an antipatch in my tools in case of major update).  This week I'll tackle Antiquity, and I'll probably put up a beta because I know better by now than to just ram it in.

I've another revised version of the code with some very minor improvements, if you already want to include it in. I haven't heard from qwertymodo though, and I've sent him some private messages with all the issues I've found within his code and some other suggestions.

I do highly recommend that you never edit your patches after applying the MSU-1 code. Just do whatever you need to do and then always cross-assemble the code last. This way we can keep improving the MSU-1 routines directly from the ASM source code.

And then we'll have v8.  And then... huh, I guess we'll be done for now.  I'll be honest, I've never truly been in a spot where I can safely say I have nothing left to add.  Well, not quite.  If a new HP-to-1 fix appears in a box it'll be added.  And yeah the 600 AD NPC thing is next in the horizon, but that's removed from this project.

Could you describe, in details, what this HP-to-1 bug is and why you had to remove the old fix? Maybe I can fix it myself.

Chronosplit

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #354 on: September 08, 2019, 03:32:51 pm »
I've another revised version of the code with some very minor improvements, if you already want to include it in. I haven't heard from qwertymodo though, and I've sent him some private messages with all the issues I've found within his code and some other suggestions.

I do highly recommend that you never edit your patches after applying the MSU-1 code. Just do whatever you need to do and then always cross-assemble the code last. This way we can keep improving the MSU-1 routines directly from the ASM source code.
Alright, I read you loud and clear.  I think the best course of action is to let you know when everything's prepared, just in case.  I do have a couple more things to do before MSU-1 is the last item on the list.

Quote
Could you describe, in details, what this HP-to-1 bug is and why you had to remove the old fix? Maybe I can fix it myself.
This is a bug which Mauron made an attempt at fixing, but had to pull due to it messing with the Nu fight in the Dark Ages.  The bug is that when an enemy attacks you with an ability that is made to only reduce your HP to 1 (Queen Zeal for example), Barrier and Shield are not functional for the rest of the battle.  Now, here's the thing... there's a reason for that: http://www.romhacking.net/forum/index.php?topic=23466.msg369200#msg369200

I believe the original fix Mauron had is also in the Chrono Trigger Plus thread, I can't track it down at the moment though.

Mauron

  • Hero Member
  • *****
  • Posts: 525
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #355 on: September 08, 2019, 03:37:16 pm »
HP-to-1, by default, disables Barrier and Shield for the remainder of the battle. Unfortunately the 6 Nu fight relies on this behavior, as three of the Nus have a particularly weak attack that does 1 damage normally. Barrier/Shield (the physical one, I forget which is which) reduces that 1 minimum to 0.

My plan for the next fix is to have an override in AI data, to preserve the Nu behavior when clearing the flag that disables Barrier and Shield after each attack.
Mauron wuz here.

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #356 on: September 08, 2019, 04:08:59 pm »
HP-to-1, by default, disables Barrier and Shield for the remainder of the battle. Unfortunately the 6 Nu fight relies on this behavior, as three of the Nus have a particularly weak attack that does 1 damage normally. Barrier/Shield (the physical one, I forget which is which) reduces that 1 minimum to 0.

My plan for the next fix is to have an override in AI data, to preserve the Nu behavior when clearing the flag that disables Barrier and Shield after each attack.

You know far more than me about this issue. I'll leave it to you to tackle it.

Mauron

  • Hero Member
  • *****
  • Posts: 525
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #357 on: September 08, 2019, 04:29:31 pm »
It's part of an extensive AI rewrite that will allow easy AI editing, which is part of why it's taking a while to get to.
Mauron wuz here.

Cthulhu88

  • Jr. Member
  • **
  • Posts: 47
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #358 on: September 12, 2019, 03:15:15 am »
I've found some inconsistencies at the "Floating Away" ending. For instance, the Middle Ages king says "Magus's army" rather than Fiendlord's army.
There was another one at the same scene (throne room), but I can't seem to remember what was it.

EDIT:

The second one was Taban clearly getting drunk at the Fair, but still calling it lemonade, lol.
« Last Edit: September 12, 2019, 11:14:16 am by Cthulhu88 »

Chronosplit

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
Re: Chrono Trigger Bugfix and Uncensoring Patch
« Reply #359 on: September 12, 2019, 05:03:54 pm »
I've found some inconsistencies at the "Floating Away" ending. For instance, the Middle Ages king says "Magus's army" rather than Fiendlord's army.
There was another one at the same scene (throne room), but I can't seem to remember what was it.

EDIT:

The second one was Taban clearly getting drunk at the Fair, but still calling it lemonade, lol.
Noted, I'll take a look at that inconsistency!  I'm pretty sure that's in all of the patches because I didn't realize there was a mention in that ending.  Whoops.

Hmm.  I remember changing the lemonade to hard lemonade (that means lemonade with alcohol in it) in a similar way to hard cider, because I couldn't really find another alcoholic item suitable for switching in other than your generic beer/wine.  I don't want to change the variety of items presented in these lines by Woolsey, but I do want the alcohol back in.  Thinking about it, it may be smart to go ahead and leave the lemonade behind (though I don't know to what just yet).
« Last Edit: September 12, 2019, 05:23:50 pm by Chronosplit »