Some commands might be a fixed length, so the game will always expect them to be 4 or 8 or whatever bytes long. Others like 0A, which can be a variable length, might be what makes the FF necessary to let the game know 'okay, that's all we're doing with this command'.
You're right, that's what it's used for.
Could be setting sprite animation speed / movement acceleration, if there are instances where the characters 'run' or move around faster than normal.
From what I see, the characters only move at one set speed. The character you control can run but only when the map is not scrolling.
For the event commands, here's what I know so far.
01 Activates event when a certain tile is stepped on.
02 At the beginning of some events
03 At the beginning of some events
04 Calls a single dialogue box at a time
05 Teleport to a different map
06 At the beginning of some events
07 ??? May not be used
08 Tells a character to move or face a direction
09 Tells a character to appear
0a Tells a character or characters to disappear
0b Pauses an event
0c Pans the screen
0d ??? May have something to do with events triggered by talking to a NPC or object
0e Enables character animation
0f Disables character animation
10 ??? May not be used
11 Fades screen to black
12 Fades screen back in from black
13 Calls for a boss fight
14 Moves character and allows the camera to follow that character
15 ??? May not be used
16 Tells two characters to move at the same time
17 ??? May not be used
18 Shakes the screen
19 ??? May not be used
1a Brings up two-choice decision box
1b adds key item to inventory
1c Adds a character to the party
1d ??? May not be used
1e ??? May not be used
1f Removes a character from the party
20 ??? May not be used
21 Adds money to you
22 ??? May not be used
23 ??? May not be used
24 Subtracts money from you
25 ??? May not be used
26 ??? May not be used
27 ??? May not be used
28 ??? May not be used
29 Calls for dialogue
2a Swaps two characters sprites
2b ??? May not be used
2c ??? May not be used
2d ??? May not be used
2e ??? May not be used
2f ??? May not be used
30 Fades screen to black and does something else along with that.
31 Fades screen back in from black and determines the appearance of your character when it does.
The 18 unknown ones may not be used or just don't exist. But I have not come across any of them yet. And I haven't come across any commands past "31".
02 xx, 03 xx, and 06 xx
I don't know what purpose the first byte serves.
I don't know what the second byte is. But I think it may determine the order in which events happen in the game. There are 02 xx, 03 xx, and 06 xx byte sets throughout the event banks in the rom. And the second byte in each set seems to be one digit higher than the second byte of the byte set that preceded it.
Example: At 0x003301 is 03 74
At 0x0032ff is 20 73
and At 0x00330a is 06 74
03 74 and 06 74 are both part of the same event, but 02 73 is part of an event that came right before the event with the 03 74 byte set.
I guess since many events in the game take place on the same maps, this determines which events play out first.
So far, I've come across 31 event commands. What I don't know yet is:
1. What command adds an item to the inventory when you open a chest.
2. A conditional event branch for when something is triggered by having the correct key item.
Example: Continuing past the Sleeping forest when you have the Lunar Harp.
When looking at something I don't understand, what I do is create a savestate, turn on the Code Data Logger, and play out the event.
Then I look at all of the data the Code Data Logger highlights and find the part I don't understand.
I then change one or two bytes and replay the event to see what has changed if anything at all.
This is how I've figured out all of the event commands I know.