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

Author Topic: Final Fantasy hacking help... =)  (Read 3181 times)

Googie

  • Hero Member
  • *****
  • Posts: 837
  • I'd like to solve the puzzle... Jiggers!
    • View Profile
    • My work in progress ROM Hacking site
Final Fantasy hacking help... =)
« 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...



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...



Here's the patch with what I did, if anyone can gimme a tips, I'd really appreciate it. Thanks fellas...

MathUser2929

  • Hero Member
  • *****
  • Posts: 1572
    • View Profile
Re: Final Fantasy hacking help... =)
« Reply #1 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.

Sliver X

  • Hero Member
  • *****
  • Posts: 1038
  • EX•CINERIBVS•IGNIS•EXCITABITVR
    • View Profile
    • Panicus - A Fragment of Memory
Re: Final Fantasy hacking help... =)
« Reply #2 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.
« Last Edit: July 24, 2016, 01:24:33 pm by Sliver X »

dACE

  • Sr. Member
  • ****
  • Posts: 353
    • View Profile
Re: Final Fantasy hacking help... =)
« Reply #3 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

Bregalad

  • Hero Member
  • *****
  • Posts: 2651
    • View Profile
Re: Final Fantasy hacking help... =)
« Reply #4 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.

Disch

  • Hero Member
  • *****
  • Posts: 2746
  • NES Junkie
    • View Profile
Re: Final Fantasy hacking help... =)
« Reply #5 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
« Last Edit: July 24, 2016, 02:45:25 pm by Disch »

FCandChill

  • Hero Member
  • *****
  • Posts: 530
    • View Profile
###
« Reply #6 on: July 24, 2016, 02:28:58 pm »
Comment removed because reasons...
« Last Edit: July 29, 2016, 12:04:10 am by FCandChill »

tettsui77

  • Jr. Member
  • **
  • Posts: 8
  • hyakuren no tetsu
    • View Profile
    • tettsui seventy-seven [tumblr]
Re: Final Fantasy hacking help... =)
« Reply #7 on: July 24, 2016, 05:37:44 pm »
lol
鉄槌77~百錬

Dr. Floppy

  • Restricted Access
  • Hero Member
  • *
  • Posts: 972
  • Make America GREAT Again!
    • View Profile
    • BaddestHacks.net
Re: Final Fantasy hacking help... =)
« Reply #8 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

jink640

  • Sr. Member
  • ****
  • Posts: 377
  • From nuggets to dust.
    • View Profile
Re: Final Fantasy hacking help... =)
« Reply #9 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.

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: Final Fantasy hacking help... =)
« Reply #10 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.
War is Peace. Freedom is Slavery. Ignorance is Strength.

FCandChill

  • Hero Member
  • *****
  • Posts: 530
    • View Profile
###
« Reply #11 on: July 24, 2016, 06:24:35 pm »
Comment removed because reasons...
« Last Edit: August 26, 2016, 12:52:46 am by FCandChill »

Rotwang

  • Full Member
  • ***
  • Posts: 170
    • View Profile
Re: Final Fantasy hacking help... =)
« Reply #12 on: July 24, 2016, 09:05:59 pm »
It's time for MathUser2930. We can do better than this.

Dr. Floppy

  • Restricted Access
  • Hero Member
  • *
  • Posts: 972
  • Make America GREAT Again!
    • View Profile
    • BaddestHacks.net
Re: Final Fantasy hacking help... =)
« Reply #13 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!

Googie

  • Hero Member
  • *****
  • Posts: 837
  • I'd like to solve the puzzle... Jiggers!
    • View Profile
    • My work in progress ROM Hacking site
Re: Final Fantasy hacking help... =)
« Reply #14 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.

   

I can understand if you want to avoid using Hackster.

I'ma use the editor most definitely, so it's all good. :thumbsup:   
« Last Edit: July 31, 2016, 01:58:24 pm by Googie »