Re: A83: large sprite problem


[Prev][Next][Index][Thread]

Re: A83: large sprite problem




There are several things you need to change and add into your source...

After the "call _grbufcpy_v" the program is entering the Sprite routine 
again. Theoretically that should work with its final ret, but it probably 
doesnt produce the right effect once you get it working... So, after the 
"call _grbufcpy_v" put in a "jp _getkey" which is the equivalent of "call 
_getkey \ ret" but is a byte shorter... Also, you may want to change all the 
.dw's to .db's in your sprite data. Perhaps that will alter something to make 
it better. That should be all, see if that works. Write back if youre still 
having problems, cya...

Jason_K
TCPA Member
tcpa.calc.org


In a message dated 9/2/99 5:10:00 PM Central Daylight Time, 
cderenburger@hotmail.com writes:

> I thought I had this done correctly, but apparently not.  You don't have to
>  use large sprite as a library if you are using it in your code do you?
>  please help!
>  
>  .NOLIST
>  #define equ .EQU
>  #define EQU .equ
>  #define end .end
>  #include "ti83asm.inc"
>  #include "tokens.inc"
>  .LIST
>  .org     9327h
>    call _clrLCDFull
>           call _runIndicOff
>           call _grbufclr  ; Clear the graph buffer.
>           call _homeup
>  glow:
>           ld ix, down1
>           ld a, 50
>           ld l, 30
>           ld b, 16
>           ld c, 2
>           call largeSprite
>           call _grbufcpy_v
>  largeSprite:
>   di
>   ex  af,af'
>   ld  a,c
>   push    af
>   ex  af,af'
>   ld  e,l
>   ld  h,$00
>   ld  d,h
>   add hl,de
>   add hl,de
>   add hl,hl
>   add hl,hl
>   ld  e,a
>   and $07
>   ld  c,a
>   srl e
>   srl e
>   srl e
>   add hl,de
>   ld  de,gbuf
>   add hl,de
>  sl0: push    hl
>  sl1: ld  d,(ix)
>   ld  e,$00
>   ld  a,c
>   or  a
>   jr  z,sl3
>  sl2: srl d
>   rr  e
>   dec a
>   jr  nz,sl2
>  sl3: ld  a,(hl)
>   xor d
>   ld  (hl),a
>   inc hl
>   ld  a,(hl)
>   xor e
>   ld  (hl),a
>   inc ix
>   ex  af,af'
>   dec a
>   push    af
>   ex  af,af'
>   pop af
>   jr  nz,sl1
>   pop hl
>   pop af
>   push    af
>   ex  af,af'
>   ld  de,$0C
>   add hl,de
>   djnz    sl0
>   pop af
>   ret
>  
>  
>  down1:
>  .dw %00000001, %10000000
>  .dw %00000010, %01000000
>  .dw %00000101, %10100000
>  .dw %00000100, %00100000
>  .dw %00000010, %01000000
>  .dw %00000001, %10000000
>  .dw %00000111, %11100000
>  .dw %00001010, %01010000
>  .dw %00001010, %01010000
>  .dw %00001010, %01010000
>  .dw %00000001, %10000000
>  .dw %00000010, %01000000
>  .dw %00000010, %01000000
>  .dw %00000010, %01000000
>  .dw %00000010, %01000000
>  .dw %00000110, %01100000
>  
>  .end
>  End
>