Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: Googie on July 24, 2016, 11:10:31 am

Title: Final Fantasy hacking help... =)
Post by: Googie on July 24, 2016, 11:10:31 am
What's up, fellas? :D

What I did to this hack so far was make the dialogue window speed fast when it opens and closes, and I changed the text with the dancer and the well. Also with some ASM help you can run fast by holding down the B button. These changed were done years ago. This is where I'm stuck, when I enter a building the game crashes, here's a gif...

(http://img.photobucket.com/albums/v681/QB3CF/ffprollem_zpsxlptzosi.gif)

The town graphics are from FF Revamp 0.1, I love the graphics and the author will get the credit. ;)

Also, where are the palettes for The Four Fiends and Chaos located? I wanna change them to the way the palettes look here...

(http://img.photobucket.com/albums/v681/QB3CF/FFPBoss_zps10mngx5n.png)

Here's the patch (https://www.dropbox.com/s/ku0ffv68d0qw3ds/ffprollem.7z?dl=0) with what I did, if anyone can gimme a tips, I'd really appreciate it. Thanks fellas...
Title: Re: Final Fantasy hacking help... =)
Post by: MathUser2929 on July 24, 2016, 11:39:51 am
It's simple, NES can't handle the running speed. You ever try using the run fast code in Super Mario Bros? NES can't handle those speeds.
Title: Re: Final Fantasy hacking help... =)
Post by: Sliver X on July 24, 2016, 01:12:24 pm
It's simple, NES can't handle the running speed. You ever try using the run fast code in Super Mario Bros? NES can't handle those speeds.

You have no idea what you're talking about and I wish you'd stop giving horrible advice to people.

Googie: You're running into that because you changed one of the map background colors to something other than black, which breaks the palette cycling routine. Changing $3D96B from $C0 to $A0 will stop the palette cycling altogether and allow the game to continue.

*Edit*

And sorry, I got blindsided reading MathUser2929's reply and I missed your second question. I'm pretty sure FFHackster can edit all enemy palettes, which would be the simplest way to go about it. I unfortunately lost all my notes from doing DXOII so I don't know where they are in ROM off hand without breaking the game open again.
Title: Re: Final Fantasy hacking help... =)
Post by: dACE on July 24, 2016, 01:14:14 pm
It's simple, NES can't handle the running speed. You ever try using the run fast code in Super Mario Bros? NES can't handle those speeds.

Yeah - somehow I really don't feel convinced you know what you are talking about.
Care to elaborate on WHY the NES can't handle 'those speeds', other than referring to other hacks for other games that causes error?

/dACE
Title: Re: Final Fantasy hacking help... =)
Post by: Bregalad on July 24, 2016, 01:19:39 pm
Quote
It's simple, NES can't handle the running speed. You ever try using the run fast code in Super Mario Bros? NES can't handle those speeds.
I'm sorry about what I'm going to say, but let what has to be said be said. This is just complete bullshit and you have so much no idea what you're talking about.

If the game crashes, there's a good chance you messed up something with the stack. Either you pulled too much bytes, or you pushed bytes you didn't pull later. Another common thing is that there's a jump table, and for some reason you index a routine outside of the jump table's bound, this causes the game to crash. Another possiblity, a loop somehow became an infinite loop that never exists. Those are the 3 possibilities as for how your game crash, in the order from the most likely to least likely.

Use a debugger to see what your CPU is doing after crashing. If it is still running valid code, then you are in the infinite loop situation. If it is jammed somewhere lost in the address range, then it's either a stack or a jump table issue.

The best way to fix this is to use Nintendulator's logger. Just before the game is about to crash, start the "code logger", which will write all instructions the CPU is running to a .txt file. Then enable the one-frame mode with Ctrl+F and run a couple of frames with the space button. Warning, the log file will grow huge very quickly ! That's why you should do just a few frames, if you do that at full speed your computer will crash as it won't be able to follow all the instructions the CPU is executing, which is several hundred thousands per second.
Title: Re: Final Fantasy hacking help... =)
Post by: Disch on July 24, 2016, 02:27:30 pm
Looking good, Googie!   :thumbsup:

This is where I'm stuck, when I enter a building the game crashes, here's a gif...

The game is not crashing, it's just taking a really long time cycling through the palettes because you chose a weird color for black.

Go back to that town and make sure you're using $0F for black and nothing else.  That should fix the problem.

EDIT:  Also I can't remember if the $xD column causes problems or not.... $0D should be avoided anyway because it can muck up CRT displays... but $3D has another shade of gray that people like using.  I'm gonna double check the algorithm to see if $xD would cause problems.  I'll edit again once I find out.

EDIT 2:  Yes.. $xD will also cause problems.  If you are using $0F black and still having the problem, make sure you're not using any $xD grays, either:

Code: [Select]
;;    The cycling is very simple.  +1 is added to each non-black color until it reaches
;;  $xD (at which point it is replaced with $0F black).  Once all colors reach $0F, the
;;  cycling is complete.
;;
;;    This process can also be done in reverse.  When in reverse, all colors that were
;;  originally non-black start at $xC (where 'x' is their original brightness).  And -1 is done
;;  until they reach their original color.

So if you are using $3D gray... the cycler will start at $3C and will keep subtracting 1 (meaning it won't reach $3D until it wraps completely around... which is why it takes really, really long)

If you REALLY want $xD grays, the palette cycling effect is pretty easy to disable.  Lemme experiment and see if I can shut it off without crashing the game.  Will edit a 3rd time.


EDIT 3:

To disable the palette cycling... change offset 0x3D95B from $20 to $60

Then you can use whatever palette colors you want (but still avoid $0D ... $0D is bad bad bad)


Quote
Also, where are the palettes for The Four Fiends and Chaos located? I wanna change them to the way the palettes look here...

They are editable in Hackster (Enemy Editor -> Edit Graphic -> "Repallete & Reshape" buttons), though I can understand if you want to avoid using Hackster.

From the disassembly:

Code: [Select]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;  Fiend TSA data  [$92E0 :: 0x2D2F0]
;;
;;    $50 bytes of TSA for all 4 fiend graphics (resulting in $140 bytes of data total)
;;      $40 bytes of NT TSA (8x8 image)
;;      $10 bytes of attributes  (4x4)
data_FiendTSA:
  .INCBIN "bin/0B_92E0_fiendtsa.bin"
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;  Fiend TSA data  [$9420 :: 0x2D430]
;;
;;    $C0 bytes of TSA for chaos
;;      $A8 bytes of NT TSA (14x12 image)
;;      $10 bytes of attributes  (4x4)
;;      $08 bytes of padding
data_ChaosTSA:
  .INCBIN "bin/0B_9420_chaostsa.bin"

So the fiends start at 0x2D2F0
With Chaos following at 0x2D430
Title: ###
Post by: FCandChill on July 24, 2016, 02:28:58 pm
Comment removed because reasons...
Title: Re: Final Fantasy hacking help... =)
Post by: tettsui77 on July 24, 2016, 05:37:44 pm
lol
Title: Re: Final Fantasy hacking help... =)
Post by: Dr. Floppy on July 24, 2016, 06:02:13 pm
It's simple, NES can't handle the running speed. You ever try using the run fast code in Super Mario Bros? NES can't handle those speeds.
Battletoads.

Level 3.

 :o
Title: Re: Final Fantasy hacking help... =)
Post by: jink640 on July 24, 2016, 06:10:38 pm
It's simple, NES can't handle the running speed. You ever try using the run fast code in Super Mario Bros? NES can't handle those speeds.
Holy shit, I really hope MathUser is joking because this made me laugh way too much.

Congratulations whoever stole MathUser's account.
Title: Re: Final Fantasy hacking help... =)
Post by: SunGodPortal on July 24, 2016, 06:21:58 pm
Holy shit, I really hope MathUser is joking because this made me laugh way too much.

Congratulations whoever stole MathUser's account.

It's always best to take MethUser's comments with a grain of salt. Like many people (maybe even myself) he tends to have more opinions than facts/knowledge.
Title: ###
Post by: FCandChill on July 24, 2016, 06:24:35 pm
Comment removed because reasons...
Title: Re: Final Fantasy hacking help... =)
Post by: Rotwang on July 24, 2016, 09:05:59 pm
It's time for MathUser2930. We can do better than this.
Title: Re: Final Fantasy hacking help... =)
Post by: Dr. Floppy on July 24, 2016, 09:10:55 pm
It's always best to take MethUser's comments with a grain of salt.

That would probably kill me, and I'm hyponatremic!
Title: Re: Final Fantasy hacking help... =)
Post by: Googie on July 26, 2016, 07:48:10 am
Thanks for the help, fellas. 8)

This is what RetroRain posted in Board 2 a while back, it's the offsets to change the blue color to other colors...

0x3a12c

0x3eb3a

0x201e

He said that these changes are for the intro, world map, inventory, and Coneria. I'm guessing the blue in the dialogue box appears in other places in the ROM. I'll have to play through the game to find 'em. :)

I added the Adventures of Lolo 3 font into my hack, I think it looks better.

(http://img.photobucket.com/albums/v681/QB3CF/ffhacklolo3_zpsjanva96z.png)   

I can understand if you want to avoid using Hackster.

I'ma use the editor most definitely, so it's all good. :thumbsup: