Re: A86: Erasing Old Sprites
[Prev][Next][Index][Thread]
Re: A86: Erasing Old Sprites
He is the code.
Thanks
>
>If you change PutSprite so that it xor's the sprite to the screen, then
when
>you Putsprite once it will put the sprite down, and a second time will
erase
>it. If you put the putsprite routine into an e-mail, either I or someone
else
>can change it so it xor's to the screen. This is probably the easiest way,
>and you don't need to have the "Clear" sprite.
>
>
>In a message dated 8/31/98 6:44:37 PM Central Daylight Time, diddy@apci.net
>writes:
>
><< I am trying to learn asm, and I am working on a sprite demo. This code
> should draw a sprite and then when I press a directional key it should
> delete the old sprite position and then draw it in the new sprite position
> (deleting the old one). I did not include the PutSprite routine because I
> think everyone that could answer this question knows what the answer is.
> The problem is it does not do this (what I explained above) so I was
> wondering if anyone could help.
>
> Anyway in case you dont know the variables:
>
> cd = x,y coordinates
> ix = the sprite to display
>
> Also this is and 8x8 sprite rotuine that i got off of ticalc.org.
>
> If anyone could help me I would be greaty appreciated. Oh yeah and I
> removed the comments for space concerns
>
> #include "asm86.h"
> #include "ti86asm.inc"
>
> .org _asm_exec_ram
>
> call _clrLCD
> call BUSY_OFF
> jr Setup
>
> Setup:
> ld b,0
> ld c,0
> ld ix,0
> ld ix,Dude
> call PutSprite
> jr Test
>
> Test:
> jp ClearOld
>
> Move:
> call GET_KEY
> cp K_EXIT
> jr z,Exit
> cp K_UP
> jr z,Up
> cp K_DOWN
> jr z,Down
> cp K_LEFT
> jr z,Left
> cp K_RIGHT
> jr z,Right
> jr Move
>
> Up:
> ld a,c
> sub 8
> ld c,a
> jp DrawNew
>
> Down:
> ld a,c
> add a,8
> ld c,a
> jp DrawNew
>
> Left:
> ld a,b
> sub 8
> ld b,a
> jp DrawNew
>
> Right:
> ld a,b
> add a,8
> ld b,a
> jp DrawNew
>
> Exit:
> call _clrLCD
> ret
>
> ClearOld:
> ld b,b
> ld c,c
> ld ix,0
> ld ix,Clear
> call PutSprite
> jp Move
>
> DrawNew:
> ld ix,0
> ld ix,Dude
> call PutSprite
> jp Move
>
> Dude:
> .db %01110000
> .db %01110000
> .db %00100000
> .db %00100100
> .db %01111110
> .db %00110100
> .db %00111000
> .db %01101100
>
> Clear:
> .db %00000000
> .db %00000000
> .db %00000000
> .db %00000000
> .db %00000000
> .db %00000000
> .db %00000000
> .db %00000000
> .db %00000000
> >>
>
>
movedude.asm