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
>