I've simplified the scrolling code for the overworld area, it's now much simpler and handles stopping at the edges and having the character move away from the center like the sidescrolling areas. In addition the overworld collision detection is now working properly. Finally some of the teleports are working as well, so if you walk on the palace icon, for example, you'll be transported to the sidescrolling area. Here is an overworld screenshot:
In addition, to avoid weird artifacts when switching between areas, I started looking at the Fading code. I don't really want to fade in and out, more just blank out the screen for a few frames so I added my own "color shift" function. So it's a nice convenient way to blank out the screen and get rid of the glitchy look when transitioning. After looking at it, though, I realized I could use the color shifting to save a lot of space in some cases. For example, before you get the candle, caves are supposed to be dark. On the NES they accomplished this by changing the palette but on Uzebox I can use the "DDRC" to colorshift and achieve a similar effect, as seen here:
No additional tiles are needed, but it unfortunately also effects the UI - not much I can do about that though.
All in all, though, I'm happy with the effect. So I'll finish connecting the overworld locations and sidescrolling areas and probably release another interim demo, so you can look around the demo area properly. Once that is done I'll start on combat.