øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1940.msg22610e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexf63a.htmldelayedslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1940.105e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexf63a.html.zx! g^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ ,/OKtext/htmlISO-8859-1gzip8:ÖÿÿÿÿÿÿÿÿÑHTue, 10 Mar 2020 03:48:08 GMT0ó°° ®0®P®€§²ð®! g^ÿÿÿÿÿÿÿÿ+ Chillyfeez's Mods, hacks, research notes, etc.

Author Topic: Chillyfeez's Mods, hacks, research notes, etc.  (Read 17636 times)

avalanche

  • Mom Bomb
  • *
  • Posts: 122
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #105 on: March 01, 2015, 02:59:39 PM »
I think the bounce looks okay, perhaps the screenshot was taken at an awkward moment.

If your results are working, then that's good.  I'd be concerned about introduced bugs by changing the decimal conversion routine as you did, because there are perhaps 4 callers in the bank, but I could only discern what two of them were (party HP window and damage), and that greater-than-9 first digit -- and maybe semantically different other digits -- could in theory cause problems with the other callers.  The fact that the original decimal conversion routine already did 5 digits makes me want to use it unmodified, but what you did could certainly be an ingenuitive hack to only write 4 (albeit special) digits, so long as no other caller got tripped up by it.

I fixed the "06" problem by making a few more 1-byte tweaks, but at least the "Miss!0" remains to be fixed.  For my hack attempt, I am actually using all 5 digits (oddly yours is not...), so I think I actually need an FF written into the 5th byte to blank out any remnant digit.  Like you, I wanted to avoid jumping to an unused section for additional assembly due to the conflict with other patches, but I was not able so far to fit a code change in place that sets the Miss sprites to also put a proper FF in there. 


I forgot to touch on the ROL vs ASL topic before.  ROL indeed works similarly to ASL, but where as ASL always puts a 0 for the new bottom bit and the top bit is discarded, ROL moves the carry flag into the bottom bit and then puts the top bit into the carry flag.  That way the carry flag can be used as temporary memory, and that is why it is often combined into a 2-byte operation.  i.e. during the first use, the top bit moves into the carry flag, and during the second use, the carry flag moves into the bottom bit.  You can see how this mimics a single 16-bit operation.  You'll also see that all uses of ROL or ROR probably have a SEC or CLC beforehand to ensure they know what the value of the carry flag is upon the first use.

avalanche

  • Mom Bomb
  • *
  • Posts: 122
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #106 on: March 01, 2015, 07:11:31 PM »
Arg.  I tried to use the MVN instruction combined with finding a few places in ROM that happened to have the needed bytes for the "Miss!" sprites (6C 6D 6E 6F).  But that instruction takes SO many other instructions to setup, plus I found that it has the side effect of changing the data bank register, so that has to be restored or the game hangs, and by the time all that is added, it was still 1 byte too long.

By the way, if you ever go to use the MVN or MVP instructions, the description at http://wiki.superfamicom.org/snes/show/65816+Reference is completely wrong.  It appears reasonable, but don't trust a single word of it...  This PDF is a much more thorough and accurate document, but much less handy:  http://wiki.superfamicom.org/snes/files/assembly-programming-manual-for-w65c816.pdf

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #107 on: March 02, 2015, 04:50:18 PM »
Well, it works!
Props to JCE3000GT for finding and posting the location of the damage limits... I was having a bit of trouble finding them on my own.

As for other calls to the decimal conversion routine that I've butchered... The game is constantly calling the routine during battle, which leads me to believe it is used for the party HP window (which is constantly updated), but that won't matter because party members' HP never rate higher than 9999. I tried casting the Peep spell and using the Peep ability on monsters with 65535 HP and it displayed just fine, so I'm operating under the belief that there is no collateral damage from what I did.

Don't get me wrong, I still like the idea of being able to do this without any custom-written assembly, but I'm satisfied with these results.

These images show actual damage outputs (of course, with lv. 99 characters and maxed out stats)





And Kain's Jump attack:



I do intend to put a patch together to submit to RHDN. There's quite a bit of FFIV hacking going on there at the moment, and I think some of those folks might be interested in this.
I plan to list avalanche and JCE3000GT as hackers on this project, as well as myself.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #108 on: March 02, 2015, 08:14:44 PM »
Quite an impressive piece of work! Meteo would be worth the 10 Charge Time if it deals That much damage! Did you also plan on character's having more than 9999 HP then?

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #109 on: March 02, 2015, 09:30:20 PM »
No. There are several reasons why I wouldn't do that, the biggest one being the lack of space in the party HP window. After the brief (and ultimately failed) foray I took into trying to expand command and/or spell names, the one thing I know for sure is that what is going on in those windows is really complicated. Even if I was able to properly resize the battle windows to accommodate two extra characters, I'm not sure I'd be able to make an extra digit display there, or if the work it'd take would be worth the reward.

I dunno, maybe I'll look into it someday, but it's not high on the list of priorities.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #110 on: March 04, 2015, 09:57:29 PM »
The patch is up on RHDN.
http://www.romhacking.net/hacks/2343/
(as of 3/4, credits are pending, because the site doesn't let you add credits until the main submission has been approved)

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #111 on: March 05, 2015, 08:46:15 AM »
The patch is up on RHDN.
http://www.romhacking.net/hacks/2343/
(as of 3/4, credits are pending, because the site doesn't let you add credits until the main submission has been approved)

I love the tagline you used for it. But won't Bahamut also break the Damage Limit, or does it not deal much more than 9999 damage?

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #112 on: March 05, 2015, 10:40:45 AM »
Meteo ends up being significantly more powerful than bahamut. The difference is more noticeable the larger the enemy party. Test around the group of eight imps/imp caps that can be found around Fabul to see.

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #113 on: March 05, 2015, 12:01:17 PM »
Great work chillyfeez and avalanche!  I'm so glad someone made use of that data. I always wanted to see the 5th digit possible. 

And if memory serves me Meteo had a 200 power vs 99 power for Bahamut..?  So Bahamut would break the limit but only barely and only assuming max Wisdom. 

I tinkered with the character stat caps too but the lack of assembly knowledge prevented me from doing more.  The stats (Str, Vit, etc) are easily functional past 99 but the HP is tricky and may break some spells that base on HP...not sure.  I can say having STR higher than 99 will make the HP damage cap removal even better.  :)

avalanche

  • Mom Bomb
  • *
  • Posts: 122
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #114 on: March 05, 2015, 12:05:13 PM »
I plan to list avalanche and JCE3000GT as hackers on this project, as well as myself.

Very kind of you, though I don't think I really helped any.  I was amused to see the difference between my new (large) identifier on that site and JCE3000GT's.  (Deservedly so)

The need for some unused space for assembly got me thinking.  Is there a tool that can detect whether a set of patches conflict with each other?  Detecting logical problems would not be doable, but it should be possible to check if they modify the same existing code or reuse the same unused space.  I suppose it would just be detecting an overlap in the range of bytes an IPS modifies.

Grimoire LD

  • FF4 Hacker
  • *
  • Posts: 1,684
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #115 on: March 05, 2015, 01:12:49 PM »
Yes, I have a feeling Chillyfeez and I have ran into this problem already when I've tried to apply patches that he has made to already heavily modified files like Combat Boost. Having a tool that would be able to tell if there's a code conflict would be wonderful.

chillyfeez

  • FF4 Hacker
  • *
  • Posts: 1,285
  • Gender: Male
  • Go ahead, ask me about Angel Feathers!
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #116 on: March 05, 2015, 04:25:31 PM »
I plan to list avalanche and JCE3000GT as hackers on this project, as well as myself.

Very kind of you, though I don't think I really helped any.
Nonsense. Having a person off of whom to bounce ideas is extraordinarily important, IMHO (which is why Grimoire LD makes it into the credits of almost all of my ROM Hacking endeavors). And I'm sure some of the things you posted here helped me focus what I was doing.

Quote
The need for some unused space for assembly got me thinking.  Is there a tool that can detect whether a set of patches conflict with each other?  Detecting logical problems would not be doable, but it should be possible to check if they modify the same existing code or reuse the same unused space.  I suppose it would just be detecting an overlap in the range of bytes an IPS modifies.
I would use a tool like that all the time. So many of my mods end up being incompatible with each other. I have a bad habit of using the same "free" space over and over again.

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage

avalanche

  • Mom Bomb
  • *
  • Posts: 122
    • View Profile
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #118 on: March 05, 2015, 05:13:54 PM »
Well I whipped this up before I saw the wayback machine link.  Maybe somebody will enjoy it.  I don't have an account on RHDN, so I'll try to upload it here.

It's a command line tool for Windows, no GUI.  Takes any number of IPS paths as arguments, and displays the file offset ranges and filenames for any conflicts.

JCE3000GT

  • Master of FF4
  • *
  • Posts: 1,429
  • Gender: Male
  • Vladof
    • View Profile
    • BlitzKrieg Innovations
Re: Chillyfeez's Mods, hacks, research notes, etc.
« Reply #119 on: March 05, 2015, 07:34:01 PM »
Ok, so I have something to inject in the 5-digit HP discussion.  I played around with this myself a bit and I believe it is quite possible to successfully do this with only minor menu modifications.  I created some mock-ups a while ago for me to visually see what these extra digits may look like.  I'll put them below.  I know I'm missing the battle magic menu, but, I seriously doubt anyone would even want more than 9,999 MP.  Also, the max HP can be removed from battle.  I think 5-digit displays for HP would really add a certain level of interest in the game. 







The other thing I was working on was increasing the HP of the monsters from 2 bytes to 3 bytes (24-bit in other words), but I didn't get very far on that since I retired shortly afterwards.  I may poke around on that since I've got a new workstation setup in my office at home and this interests me at the moment. 


Thoughts?
« Last Edit: March 05, 2015, 07:46:00 PM by JCE3000GT »