Could try referring to
this set of documents, though I couldn't find the one for velocity.
Gravity (according to
this chinese DC guide):
1.7 for most objects
type4 (baseball) gravity 0.85
type6 (drink) gravity 1.133 (17/15)
As far as I know,
dvx works by setting the minimum velocity in a frame. So if you had frame 1 in dvx20 and then frame2 in dvx10, you'd notice that your character will stay in dvx20 as long as he is in frame 1, and then when he goes to frame 2, his speed will slow down due to friction until he reaches dvx10 (assuming he is still in frame 2). Somehow if you go from positive to negative dvx it'd instead set velocity to the negative dvx, didn't check for positive to negative.
dvy works by acceleration rather than setting a velocity. Don't know further details.
dvz simply determines how much you move on z-axis when you hold ^/v. Probably works by setting z-velocity (definitely NOT acceleration).
If dvx/y/z value is greater than 500, you end up setting the velocity to that number, where 501 is -49, 550 is 0, and so on.
Jumping works by setting y-velocity to the jump value, not by acceleration.
Using state 301 or 19 uses the z-velocity determined by running_speedz unless a dvz value is specifically stated in the frame.