Rules of Thumb for Memory Management on the C64?
Posted: Sun Dec 30, 2018 4:00 pm
Learning 6502 assembly really is a slow process, but I'm enjoying it. I'm still playing with string output and changing boarder, background, and text colors and generally getting to know my assembler of choice (64tass) as I do.
While messing with strings it seems I habitually put my executable code right up against my text data with no extra space to move around. While space efficient, this seems "wrong" somehow. Add to that the fact that I'm going to be messing with sprites soon and I'm really starting to wonder... what are some rules of thumb for managing memory? Specifically, I'm looking for traditional locations for placing strings, sprite data, SID audio, etc? Also, any source-level conventions I should know (like, "always call Zero Page 'ZP.'") that I should know would be handy, too.
Also, are there any good/simple 64tass sources out there I can learn from? I've found some 6502 assembly code on GitHub, but it's almost always ACME which I've just never taken a liking to.
While messing with strings it seems I habitually put my executable code right up against my text data with no extra space to move around. While space efficient, this seems "wrong" somehow. Add to that the fact that I'm going to be messing with sprites soon and I'm really starting to wonder... what are some rules of thumb for managing memory? Specifically, I'm looking for traditional locations for placing strings, sprite data, SID audio, etc? Also, any source-level conventions I should know (like, "always call Zero Page 'ZP.'") that I should know would be handy, too.
Also, are there any good/simple 64tass sources out there I can learn from? I've found some 6502 assembly code on GitHub, but it's almost always ACME which I've just never taken a liking to.