Re: [stella] Star Fire 2600: Star Background

Subject: Re: [stella] Star Fire 2600: Star Background
From: Manuel Polik <cybergoth@xxxxxxxx>
Date: Thu, 01 Aug 2002 10:42:43 +0200
Hi Thomas!

>Manuel wrote:
>> Ok, as promised, here's finally a binary with some star 
>> background, using an adopted technique which I analysed 
>> by studying the code from Earth Dies Screaming.

>Looks really good. :-)


>> Unlike my first assumption, flicker can't be totally 
>> avoided, since there's no way to enable the ball during 
>> a repositioning line.

>Maybe some optimizing in the kernel will help. What are the 
>timing critical paths? Repositioning?

It's like this, I've two different 2LK paths:

1. [ ] Reposition Sprite 1
2. [ ] Reposition Sprite 2
3. [X] Draw Sprite 1
4. [X] Draw Sprite 2

The X indicates, where I can currently display a star. The Star
background is done with 1LK precission.

>you are doing this to set the shape-pointer:

>    LDY sprtsizetype,X
>    LDA shapeptrtab,Y
>    STA tieshapeptr     ; Set space object pointer

>Why don't you do the first part *outside* the kernel? That would require 
>some extra memory, but you are not short of that anyway.

That is basically a very good idea. It might even work without extra
RAM, when resetting the original values *after* the kernel or with
special set up tables, that let you work with the pointers direct.

It might do well for the first repositioning line. But my major concern
would be the second line. 

>That would save you a lot of cycles inside the kernel.

I'd need to additionally execute this sequence twice in the first line:

    LDY vline
    LDA (starPointer),Y ;
    STA ENABL           ;

->One 'LDY vline' is already there, and one 'STA ENABL' is done in
the second line, so I'd need at least these cycles:

    LDY vline
    LDA (starPointer),Y ;
    LDA (starPointer),Y ;
    STA ENABL           ; En/disable Starfield during kernel

Your idea'd might be utilized twice that line and save these cycles:
    LDY sprtsizetype,X
    LDY xpos,X

So I'd be still short of *calculates* ~ 8 cycles in that line... :-(

Hey, wow. You got me, the 'suicidal try & error coder' into *thinking*
about such things ;-)

Archives (includes files) at
Unsub & more at

Current Thread