[A83] Re: Partial FastCopy
[Prev][Next][Index][Thread]
[A83] Re: Partial FastCopy
-
To: assembly-83@lists.ticalc.org
-
Subject: [A83] Re: Partial FastCopy
-
From: Olle Hedman <alh@home.se>
-
Date: Mon, 12 Aug 2002 15:11:09 +0200
-
References: <JHGACB47221A0HXR4153C93YGBUQ2X.3d3bf9dc@leshoffmann@9online>
-
Reply-To: assembly-83@lists.ticalc.org
-
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1b) Gecko/20020721
crono@ifrance.com wrote:
>I want to write a routine based on IonFastCopy, than refleshes only
>the first X lines of the screen, but I don't fully undrestand how does
>work the port 10 :
>
>
Sorry for the late reply, I have been away travelling for a month. Noone
seems to have replied at this though.
What you need is to read the pdf for the LCD routine. You can find it
here: ftp://d188.ryd.student.liu.se/calculator/ti83/tech/t6a04.pdf
It has all info about the chip you need.
>To point to the highest line of the screen, we have to do :
>ld a,80h ; 80h=128d=%10000000
>out (10),a
>And to point to the leftmost column, we have to do:
>ld a,20h ; 20h=32h=%00100000
>out (1O),a
>
>So after doing these 2 commands, the port 10 is set like that:
>%10100000
>Right ?
>
>
No. The second write overwrites the first, so after the second command
it is %00100000
in and out works just like ld, but for ports.
>Now I begin to doubt :
>because, by default, the LCD driver is in X-increment mode, after each
>writing throught the port 11, the X-coordinate (that is in fact the #
>of the row !?) is increased, right ?
>
>
Read the docs. there are two modes, the X increment and the Y increment.
be sure to be at the right mode.
And you need to think about it more and understand it better. I'm
willing to help you later when you have read the pdf. feel free to mail me.
>So, can somebody explain this to me, and how can I modify the FastCopy
>routine in order to refresh only the first X lines of the screen ?
>
>
A problem with changing FastCopy is that it most probably work in Y
increment mode, wich is faster since to fill the screen you have to do
less outputs to port 10
Y increment works with 8 columns at a time ( you write bytes of 8, where
each pixel is a bit), not lines. When you have filled a line (X
increment) or 8 columns (Y increment) you have to write to port 10 again
to change row/columnset.
so with Y increment you need 96/8 = 12 writes to 10, but in X increment
you need 64 writes.
But you need X increment to change only the top lines.
So read the pdf, ask some more questions, and I don't think you will
have much problems. biggest problem is timeing, since the lcd driver is
slow and need delays between the writes.
///Olle
Follow-Ups: