
PS: In my book, optimizing for size (or speed) while not breaking functionality, is always an improvement.
Moderator: Moderators
carlsson wrote:Maybe you can move onto multi-colour mode and use four pixels wide graphics?![]()
Good point.PS: In my book, optimizing for size (or speed) while not breaking functionality, is always an improvement.
I think you'd notice it. I'm using fractional horizontal scrolling speeds, and losing out on half of the resolution would cause a noticeable jitter.carlsson wrote:Frankly, the slowest scrolling speed appears fast enough for me to not determine if you were scrolling one or two pixels at a time.
Hmm, I thought I only copied 1k?By the way, I observed that you copy the whole 4K character set into RAM so it is available with custom characters?
Yes, I kind of accidentally discovered this. However, some of my optimizations to speed up the screen "render" require characters numbers >= 128 as they use the high bit as a signal that a platform is ending (or starting, already can't remember).You spoke about whether it is possible to make Splatform for +3K or even unexpanded VIC. You probably are aware that with custom characters at $1C00, you can access the first half of the standard character set (i.e. letters and numbers) with reverse graphics, at least in an "unexpanded" configuration. I don't know if this relevation would save some space and make it more likely to fit into 3.5K alltogether.
Yes, that's definitely do-able.The magic scrolling appears to be based upon whichever graphic shapes are stored at $1BF0 and onwards. I suppose you could store those graphics as custom graphics without the need to have the whole character set represented?
Ah, now I've managed to assemble it back again! It sounds simpler than it is. Steve uses a lot of zero page in his music routine, it appears like the setup routine transfers all music data into zero page upon startup?carlsson wrote:I disassembled [..] TinySID [..] 256 bytes.
Yeah. Thomas was really disappointed when I sent him my source code back when and he saw how many easy short-cuts I tookcarlsson wrote:I didn't see the pre-rendered levels coming. That explains why you need a good bit of RAM.
A cart version would be really cool, but because my RAM usage is so high in this game (around 6k not including zp or screen memory) it isn't currently possible. See my comments above about why I probably won't go to all the effort to try using less RAM. Though carlsson's comments/suggestions still have me thinking about iteslapion wrote:Do you think you could make a cart version so we could include it in the multicart ?
I know very little of programming but it sounds feasible... does it ?
Because of how the level generating algorithm works (really, just alternating random lengths of blank chars and then platforms wrapping around each row, so any given platform's position is dependant on all those that came before it) it would surely be slower than the compressed format I had envisioned which would be row-based.carlsson wrote:Is it feasible to use the level generating algorithm a little at a time, so you render e.g. 24x20 = 480 bytes at a time? That is assuming the screen width is 22 columns and you want at least one column in each direction outside the visible area. Would it be just as bad as depacking an already generated level?
Cool, that'd be great if you get it going...carlsson wrote:Ah, now I've managed to assemble it back again! It sounds simpler than it is. Steve uses a lot of zero page in his music routine, it appears like the setup routine transfers all music data into zero page upon startup?
I'll try to understand which part does what and replace the SID references to VIC references. Since the music chip is simpler, the routine should become even shorter...
Yes, this one was quite a bit less friendly to use due to the much larger zero page usage. It took me three seperate sessions (not particularly long, but very trying) to get it completely workingcarlsson wrote:The routine is based on the one he submitted to TinySID compo. I don't know how the routine originally used in Splatform 64 differed, but maybe it used less of zeropage?