Calvin Allett wrote:
> so would it seem feasable to be able to alter the routine 
> with a flag, so that it jumps straight back every other frame 
> and only draws the other frames?

Assuming you don't need to worry about redrawing them if they haven't moved
you could simply add your own interrupt handler to check whether the
positions are the same and don't call the sprite routine if they are.

If your BASIC program _is_ changing the display then you will have to call
them every frame anyway, since the masks will go horribly wrong otherwise
(in fact, won't they anyway?)
 
I'm confused why you'd want to fake hardware sprites with interrupts anyway,
why not just write some MC to blat the sprite and call it from your BASIC
routine? That gives much more fine-grained control.

Anyway, something like:
 
MyInt:
             PUSH HL
             PUSH BC
Sprite1:
            LD BC, 0000
            LD HL, (SpritePos1)
            SBC HL, BC
            JP Z, GoSprites
Sprite2:
            LD BC, 0000
            LD HL, (SpritePos2)
            SBC HL, BC
            JP NZ, GoSprites
Sprite3:
            LD BC, 0000
            LD HL, (SpritePos3)
            SBC HL, BC
            JP NZ, GoSprites
Sprite4:
            LD BC, 0000
            LD HL, (SpritePos4)
            SBC HL, BC
            JP NZ, GoSprites
             POP BC
             POP HL
            reti
GoSprites:
            LD HL, (SpritePos1)
            LD (Sprite1+1), HL
            LD HL, (SpritePos2)
            LD (Sprite2+1), HL
            LD HL, (SpritePos3)
            LD (Sprite3+1), HL
            LD HL, (SpritePos4)
            LD (Sprite4+1), HL
             POP BC
             POP HL
            JP OldHandler

It's not exactly optimal but it's fairly obvious what it does.

Geoff


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________

Reply via email to