Users browsing this thread: 1 Guest(s)
Intermediate Event Editing Video Tutorials

#51
Posts: 139
Threads: 6
Thanks Received: 1
Thanks Given: 4
Joined: May 2013
Reputation: 0
Status
None
Okay so I'm a little confused. Sorry for the "noob" questions but when I'm looking to change a code in Winhex, and I get to the place to change it, what am I looking to make different? For example:

C3/34A9: A9 20 LDA #$20 (status is normal)

Obviously C334A9 brings me to the place I need to be. Doing a Hex search for A920 brings me to the right place. But what and where do I enter LDA #20?


Experience is the benchmark to maturity.

Final Fantasy VI - Ted Woolsey Uncensored Edition:
http://www.romhacking.net/hacks/1386

Final Fantasy IV - Namingway Edition:
http://www.romhacking.net/hacks/2337
  Find
Quote  

#52
Posts: 290
Threads: 3
Thanks Received: 40
Thanks Given: 1
Joined: Apr 2012
Reputation: 9
Status
None
If you're editing the raw hex of the ROM, you wouldn't use LDA #$20 anywhere. It's an assembly mnemonic, and you'd really only use it for documentation purposes or if you start writing actual assembly files, in which case your assembler would convert it to hex and insert it into the ROM.

In this case, A9 20 is the hex translation of LDA #$20.


GET A SILK BAG FROM THE GRAVEYARD DUCK TO LIVE LONGER.

Brave New World
  Find
Quote  

#53
Posts: 139
Threads: 6
Thanks Received: 1
Thanks Given: 4
Joined: May 2013
Reputation: 0
Status
None
So when looking to change something, is the A9 20 what I'm changing?


Experience is the benchmark to maturity.

Final Fantasy VI - Ted Woolsey Uncensored Edition:
http://www.romhacking.net/hacks/1386

Final Fantasy IV - Namingway Edition:
http://www.romhacking.net/hacks/2337
  Find
Quote  

#54
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
To maybe clarify a bit, A9 is hex for "LDA", the #$20 is the value that is being used by LDA, hence A9 20. 20 by itself is actually the command "JSR" which jumps code; but by issuing A9 first, it knows to look for another byte (sometimes two depending on the accumulator size) to use as a part of the command.

Also, if you are editing events, they don't use the processor code the same way your example in C3 does. All of the commands in the event area are actually subroutines defined in assembler code elsewhere to simplify the amount of hex used to make the events, its like it is its own programming language, with only a very small set of things it can do... all related to events. For instance, A9 in the event code actually calls a function that loads the title screen.

Happy Hacking.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite