Re: A92: A quick method to fill rectangles


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

Re: A92: A quick method to fill rectangles






Marcel FONDACCI wrote:

> -----Message d'origine-----
> De : Anton Ivanov <ivanova@ucs.orst.edu>
> @ : assembly-92@lists.ticalc.org <assembly-92@lists.ticalc.org>
> Date : vendredi 3 avril 1998 21:14
> Objet : Re: A92: A quick method to fill rectangles
>
> >
> >Marcel FONDACCI wrote:
> >>
> >> I am just making a Tunnel-game for fargo II and released the very
> >> beginning of this game because I had sevral problems :
> >> Does somebody know a fast method to FILL rectangles with solid BLACK
> >> in assembly ?
> >
> >The easiest method if you don't know exactly how LCD mem works is to use
> >LineLib to fill the rectangle line by line.
> >
> >> How is it possible to scroll the screen without redrawing all the
> >> screen ?
> >> (like a screenshot maybe ???)
> >
> >The fastest (but not most memory efficient) way is to make a handle to
> >store all of LCD mem but one row of 30 bytes.  So if you want to scroll
> >one row up, you would store everything but the first row and then paste
> >the contents of the handle right into the beginning of LCD mem.  I hope
> >you get the idea.  If you want to scroll sideways, you have to shift all
> >bytes (or words) in every row by one bit in appropriate direction.
> >
>     Yes I understand, but I don't know how to use handles (I just know how
> to allocate them and how to free them)

Once you've allocated the handle, use the macro tios::DEREF d0,a0If d0.w word
has the handle number, a0.l will hold the address of the first byte of the
memory block that the handle represents.  Then, you can copy the LCD to that
memory and do as I said.

> I think I am able to make them pointing on the LCD mem, but I don't know how
> to manipulate them :
> such as deleting a row or changing an element ...
>
>     Can you explain me how can I do that and/or another method to scroll the
> screen without using a handle.
> (I currently use a simple array with a linelib equivalent method but the
> screen is flashing)




References: