Re: A89: Re: BoulderDash PutSprite Routine


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

Re: A89: Re: BoulderDash PutSprite Routine




I see that now... I guess I'll just use the one from the acz I altered to suit my needs.  Thanks to all for trying to help and clearing things up for me.

 ---- On Jun 23 Olle Hedman <oh@hem.passagen.se> wrote: 
> 
> Just one thing.. this sprite routine cant write sprites at any location. only
> aligned sprites. that is, only on coordinates that is multiples of 16.
> in general changeing from .w to .b should not cause any address error, because
> ..b operations cant cause address errors..
> you also have to change the convertion from (x,y) to actual screen address. (if
> you dont want to be only writeing 8x8 sprites at multiples of 16) and you only
> have to do the line-loop 2 laps instead of 4 as it is now..
> 
> //Olle
> Miles Raymond wrote:
> > 
> > If I'm not mistaken, all you have to do is change a few .w's to .b's but I
> > wouldn't do it, because I don't know what I'm doing!  (And you might end up
> > with a few address errors, but I'm not sure...)  Sorry I can't help you.  =(
> > 
> > -Miles Raymond      EML: m_rayman@bigfoot.com
> > ICQ: 13217756       IRC: Killer2        AIM: KilIer2 (kilier2)
> > http://www.bigfoot.com/~m_rayman/
> > 
> > ----- Original Message -----
> > From: <ti_calc_guy@email.com>
> > To: <assembly-89@lists.ticalc.org>
> > Sent: Wednesday, June 23, 1999 12:12 PM
> > Subject: A89: BoulderDash PutSprite Routine
> > 
> > > Can someone explain this putsprite routine, and how to make it be an 8x8
> > routine rather than 16x16?  It is from BoulderDash, a _great_ game for the
> > ti89, so I know it works as it is below.  If someone could convert it to
> > display 8x8 sprites, I would really appreciate it.  It seems much simpler
> > than the routine I saw on the ACZ site.
> > >
> > > ; --------------------------------
> > > ;
> > > ;  Puts a 16x16 sprite (grayscale)
> > > ;
> > > ;  IN:  a0 - Pointer to sprite
> > > ;       d0 - x coord
> > > ;       d1 - y coord
> > > ;
> > > ;  OUT: -
> > > ;
> > > ; --------------------------------
> > >
> > > PutSprite:
> > >  movem.l d0-d2/a0-a2,-(a7)
> > >  lsl.w   #1,d0
> > >  lsl.w   #5,d1
> > >  move.l  d1,d2
> > >  lsl.w   #4,d2
> > >  sub.w   d1,d2
> > >  add.w   d0,d2
> > >  lea     LCD_MEM,a1
> > >  move.l  plane0,a2
> > >  adda.w  d2,a1
> > >  adda.l  d2,a2
> > >  moveq   #3,d0
> > > PS_NewRow:
> > >  move.w  (a0)+,(a1)
> > >  move.w  (a0)+,(a2)
> > >  move.w  (a0)+,30(a1)
> > >  move.w  (a0)+,30(a2)
> > >  move.w  (a0)+,60(a1)
> > >  move.w  (a0)+,60(a2)
> > >  move.w  (a0)+,90(a1)
> > >  move.w  (a0)+,90(a2)
> > >  lea     120(a1),a1
> > >  lea     120(a2),a2
> > >  dbra    d0,PS_NewRow
> > >  movem.l (a7)+,d0-d2/a0-a2
> > >  rts
> > >
> > > -----------------------------------------------
> > > FREE! The World's Best Email Address @email.com
> > > Reserve your name now at http://www.email.com
> 


-----------------------------------------------
FREE! The World's Best Email Address @email.com
Reserve your name now at http://www.email.com