Thanks for the replies.
As it sits right now, I haven't been working much on the map portion of it as it seems to be running really smooth and have been working on other portions of the project.
As for 1/2 tiles, the downside to this is that it doesn't move 10 pixels every time, it moves 1 pixel every time, to give a very smooth scrolling effect. I have to double my tiles and use the DRAW command for tiles that look the same as the array'd ones around the border, but since its only the border, it doesn't slow down very much.
And as for the BLOAD and BSAVE, I've been thinking about that one too, but right now, I'm using BLOAD every time I move the map. This way I can have as many tiles as I want and only one is in memory at any given moment. I think I'll try putting them all in memory at once to see if it speeds things up since, after doing the math, tiles don't take up much memory.
A 20x20 tile is 202 bytes. 202 * 100 tiles = 20200, or 19.7kb. The program usually has around 40 - 50kb and 100 tiles is a lot, so I should be just fine. Especially since that's only when its drawing the map. If it goes into anything else, like fighting or the status screen, all of that is removed, which makes way for that. I'll have to give it a try.
I think I tried it before way back when it was all DRAW statements, but each tile then was around 2KB each (the DRAW tiles are much bigger
but they can draw around the borders without crashing), so the same amount of tiles would be 2MB. Yeah, wasn't gonna work.