Hi, I've been lurking around here for 10 months or so and have found the physics guide and various posts in the forum extremely useful and helpful with lots of information that is useful to understanding how Sonic 1 worked. Probably like a lot of people, I was blown away with Sonic 1 when it first came out, although I never had a megadrive it impressed me a lot as a young programmer and I always wondered just how they achieved the end result. I suffer with insomnia and I've been meaning to write a game for a long time, the last game I wrote was back in 1992 and I've spent several years telling myself to write a old school platform but it's never got past thinking about it. I decided that as a refresher and also to understand how the original game worked (to cure another itch!) I decided that I'd have a go at re-creating bits of sonic 1, since there was plenty of information out there and with the disassembles, the possibly of using real data that was used in a real game seemed like a useful exercise. What I didn't count on was how much effort it would be to extract that data into easily usable data, by that I mean I could have just used the data as is, but I decided to extract it into JSON and PNG files since I could look at the data and easily modify it, I have a tool that's held together with sticky tape that alongside the disassembly it extracts the data with meaningful names and so on, it's easy to look at, since I was going to only implement small parts the ability to change stuff easily was a motivator to creating my own platform engine. Now.... As I got deeper into the mechanics of the game, I reached a point where I'd implemented so much that it seemed silly not to complete the engine so that it could play the GHZ levels in full, so I ended up going much further in what I implemented than I actually intended to implement. I'm now at a point where I'm going back and fixing the many small issues that existed, the engine was written over about 2 months in my free time on and off but for the past 6 months I hadn't touched it due to lack of time, now I'm back fixing stuff. One thing I can't seem to get a handle on is the S-tunnels, Sonic just doesn't go through them with the speed of the original engine, I've spent a lot of time going through the disassembly but I can't see what I'm doing wrong. If I remove the cap of x speed of 16 then he does indeed speed up - way too much. The chunk between the s tunnels seems to be causing the issue, once he exits the first tunnel his ground speed is capped making him lose momentum, I think this is the issue but I've probably spend too much time staring at the code now and I may be missing something entirely obvious, I'd be interested if anybody has any deeper knowledge! The first video is one I just recorded of me speeding through to the s tunnels, the second video is from a much earlier version of the engine but with the various debug options turned on and off to see what the engine is doing.