Sonic's jump speed, son_jumpspeed, is $680 subpixels per frame (6.5 px/frame) out of water. | _incObj/01 Sonic.asm L8_incObj/01 Sonic.asm L1218 | T3 |
Sonic_Jump adds the jump speed along the ground normal (CalcSine of angle − $40); on flat ground that is exactly -$680 to Y speed, nothing to X. | _incObj/01 Sonic.asm L1224–1233_incObj/sub CalcSine.asm L53 | T3 |
ObjectFall's gravity equate adds $38 subpixels/frame to an airborne object's downward speed each frame, Sonic's included. | _incObj/sub ObjectFall & SpeedToPos.asm L5_incObj/01 Sonic.asm L363 | T3 |
During a jump, with no jump button held, Sonic_JumpHeight clamps any rise faster than 4 px/frame to exactly -$400. | _incObj/01 Sonic.asm L1273–1288 | T3 |
| Gravity slows Sonic's 6.5 px/frame take-off below the 4 px/frame release cap within 12 airborne updates. | _incObj/01 Sonic.asm L8_incObj/sub ObjectFall & SpeedToPos.asm L5_incObj/01 Sonic.asm L1276–1284 | T4 |
In the airborne-rolling mode (Sonic_MdJump2), the release check runs before ObjectFall moves Sonic and adds gravity. | _incObj/01 Sonic.asm L359–363 | T3 |
Sonic doesn't move on the press frame; Sonic_Jump drops its return address, skipping the rest of the grounded routine, SpeedToPos included. | _incObj/01 Sonic.asm L1236_incObj/01 Sonic.asm L317–323 | T3 |
| A standing jump curls Sonic up, shrinking his height radius from 19 to 14 and adding 5 to Y, so his feet stay put. | _incObj/01 Sonic.asm L1250–1254_Constants.asm L312–314 | T3 |
ObjectFall adds the pre-gravity speed, shifted left 8 bits, to the 32-bit position, so positions are 16.16 and speeds 8.8 fixed point. | _incObj/sub ObjectFall & SpeedToPos.asm L16–20 | T3 |
Sonic 1 never caps falling speed in the air; with FixBugs = 0, Sonic_JumpHeight's only cap is upward (-$FC0) and skipped after jumps. | _incObj/01 Sonic.asm L1291–1302 | T3 |
Sonic gets no grace window after leaving a ledge: only the grounded modes, Sonic_MdNormal and Sonic_MdRoll, call Sonic_Jump. | _incObj/01 Sonic.asm L113–116_incObj/01 Sonic.asm L318_incObj/01 Sonic.asm L348 | T3 |
| Simulating the jump code (flat ground, out of water) gives apexes of 39 px tapped and 100 px held, airtimes 39 and 62 frames. | _incObj/01 Sonic.asm L1273–1288_incObj/sub ObjectFall & SpeedToPos.asm L16–20 | T4 |