As part of running the game, I did some research. May as well put it down in writing here, since I don't think I'm ever going to run this game again.
First, I have some RAM addresses. Tompa helped me find these. Actually, I'll be honest: I didn't help much =p (I tried, but after an hour of trying to get x position and then realizing my final answer was wrong after all...).
x position: 057B, 2 bytes, unsigned
I'm fairly certain these numbers are correct, but if it's important (if you're TASing or whatever), you should double-check. Speed does /not/ seem to correlate linearly to pixels per frame either.
tompa also had this to say:
Neither of us are really sure what that means.
Just holding forward will get you to 304 speed. Jumping & holding both buttons will get you to 604, but you lose it when you land. If you bunnyhop and jump on the frame you touch the ground, however, you can preserve it. This is the fastest form of movement.
However, stringing together a bunch of frame-perfect jumps is not gonna be 100% successful. If, when you land from midair, you hold both face buttons and just press forward, Bart will walk forward at the same speed: 604. The catch is that the next time you go to jump, you will automatically get knocked down to 304 speed again, as if you had failed a bunnyhop.
The obvious solution, then, is to walk most distances and only bunnyhop when you absolutely need to. In this manner, you should save a bunch of time on average. I never bothered timing the loss from each instance of losing speed, but I figure it's somewhere between a tenth to a quarter of a second, just from eyeballing it.
When you're on the skateboard in the great wall stage, things are much more complicated.
When you're on flat ground (i.e. just starting the stage), both jumping and not holding straight forward cause you to lose horizontal speed. Incidentally, this is why you want to go through the top door right after you spawn: you get to accelerate to max much faster, since it's much closer to your horizontal plane than the bottom door. You actually lose horizontal speed when you're holding up-right or down-right, as opposed to straight right.
On the downslopes, that prohibition is removed. If you hold up-right or down-right, you lose no horizontal speed. Jumping still causes you to lose time: about 1 frame each time you jump, provided you accerlate back to max immediately after landing. Also, you want to avoid all the krusty head pickups you can (they get tallied up at the end of each chapter), & you want to land as soon as possible after the mandatory big jumps.
Lastly, Bartman (flying powerup) has the same horizontal speed as walking or bunnyhopping. Obviously his vertical speed is way different.
Some specific stage notes:
China 1 (the junk): far as I can tell, climbing the mast is frames faster than going for the bartman flying powerup if you do it absolutely perfectly. I don't trust myself to do that, so I just flew it.
China 2: I wrote a lot about the movement mechanics in this stage up above. I will say I didn't try too hard on making an optimized route here, since that's a lot of complexity that boils down to, damn, I lost exactly 1 frame here.
China boss (Fu Manchu Burns): Absolutely hate this guy. I swear his hitbox is fundamentally broken. As far as I can tell he's only supposed to take damage when his fan is closing or closed, but that distinction seems fuzzy at best. I saw a quickkill in one of the TAS wips but was never able to replicate it, and the guy is random anyways.
Ice Cave: It's possible to skip waiting for the bubbles with a frame-perfect bunnyhop, but if you miss it, you pretty much die instantly.
Ice River: the ice floes you stand on get gradually pushed back left by the current. Jumping on them moves them forward. How high the jump was when you land on them doesn't seem to matter, so I just spammed small jumps (but I also took it pretty safe when jumping from one floe to another, since this game's physics are trash).
Ice boss: double-hits are pretty easy if he spawns next to you.
Egypt 1: top route is a few seconds faster than bottom route (you don't have to time the assisted jump up into top route: just keep the face buttons held as you land on the launcher platform & it'll launch you up automatically). I cut several hard jumps out of my runs b/c they're hard. The really tiny platforms are pretty screwy: their hitbox seems a little to the right of where they visually appear. The bigger platforms are also screwy: sometimes you have to jump around on them to make them move, or sometimes you have to keep trying to make them spawn at all.
Egypt 2: because of the quicksand in this level, bunnyhopping is better than running for the beginning section. The invincibility is slower, but dodging the cyclones is harder than it appears, so I always ended up losing more time when I tried to skip it. At the bottom of the pit, the rightmost bartman flying powerup is faster despite being out of the way, b/c you're drawing the scorpion away from the door by getting it. If you get the powerup on the left, you have to wait.
Hollywood 2: The opening section seems a bit random in when the fireballs and flaming dudes will spawn. I was also never able to find a great route for fence + stomper section. I did, however, make a map of the coffin teleporter maze: it's simpler than it seems. See also: For the RIP room, it's possible to be much more aggressive than I was, but the room is honestly complete trash & harder than everything else in the game combined. The hard jumps are indeed frame perfect, & you also need to have a good setup for them to make sure you're actually at max speed and far enough right when you bunnyhop.
Hollywood boss: as far as I can tell, he has very few to no invulnerability frames, but the megaphones he throws often block your shots. Easiest way to fight him seems to be to stay in front of where he's moving (he always comes down, goes left, goes to the right, then back to the center and up), jump up, and mash shot a couple times backwards. If you play it right, the cherry bomb drop will fall either while he's up out of range, or beforehand (the bomb drop spawns when you reach 0 shots in your inventory). He takes 15 hits; you should be able to get him in 2 cycles (I lost several seconds here in my run).
other resources: there's a tasvids thread with a couple WIPs from like 2006. One of them desyncs partways into egypt, & while it isn't terribly well optimized (I think it was done on a bad rom & I couldn't find the right one, the checksums don't match), it does a bunch of stuff I don't do. If you could watch the full video, it may prove even more helpful. The other video looks like some guy did bad RTAs with a few savestates, it's pretty useless.