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 ______________________________________________________________________