Sunday, July 08, 2007


And....bugger....My C128 has died on me. No idea why, just stopped powering up. FEK'in hell... Oh well...I'll probably butcher the PSU so I can use it, but I'll try and get another from ebay...bugger...NOT happy... I've NO idea why its dead, and not even sure how I could figure it out. At least it didnt take the SuperCPU with it!

I was also thinking about the sprites... Currently I store 3x3 chars and that lets me keep the sprites simple.....BUT....I "could" strip the lower 3 chars and add code to manage it. It would free up some 3.5k, but the code would be pretty complicated (like it isn't already!). I'll have to think about it, I'm not sure....

I think I'm going to finish my assembler, and then get bak onto XeO3 again.... Oh well...


Vladimir Jankovic said...

How do you mean "sprite storing is simple in 3x3 chars"?

Aren't they 16x16 pixels ?
Or are you talking about cache? (I guess you do :)

Mike said...

The basic sprite storage in 16x16 is in colum order like this:-


Once that gets into the cache it goes like this



With 2,5,8,c,f and i all being blank. This means drawing the 16x16 rotated sprite is simply a matter of drawing 3x3 chars where each character can be clipped or not drawn as need be.

Now, because the lower chars are blank, I could just store



And then when drawing, just pretend the data is 0. As I said, this would save 3.5k but would make the code even more complex....

Vladimir Jankovic said...

So you were talking about cache :)

Well, as always it depends on what you need more... space or speed or simplicity.

I vote for simple solution - keep it as it was...

p.s.Great to see project going ahead!

Mike said...

Well, if that were the only reason, I'd agree; but it is slightly faster, AND it free's up 3.5k!

But Im not sure how complex the code will be to write and maintain... I'm just now sure... Sometimes you just have to take the hit or you end up getting nothing done.

Vladimir Jankovic said... complex the code will be to write and maintain?


My experience with complex code (unrolled softsprite routine in hires mode with jumping inside the "lda sta code" depending on y coordinate.....) ufff man that was pain to grasp and to do properly...
After a week of pain, I just made it "normal" way and it all worked perfectly in an hour... :)