CEMETECH
Leading The Way To The Future
Login [Register]
Username:
Password:
Autologin:

Don't have an account? Register now to chat, post, use our tools, and much more.
Latest Headlines
Online Users
There are 105 users online: 6 members, 67 guests and 32 bots.
Members: critor, Deep Thought, Link, Piguy-3.14.
Bots: VoilaBot (3), Spinn3r (1), VoilaBot (6), Googlebot (20), MSN/Bing (2).
RSS & Social Media
SAX
You must log in to view the SAX chat widget
Author Message
ACagliano


Super-Expert


Joined: 08 Feb 2010
Posts: 922

Posted: 14 Mar 2012 05:04:58 pm    Post subject: LCD Port

Quick Question... for the tutorial I'm writing.

Which port number is the one that you use to write to the LCD? According to wikiti, it looks like either 10 or 11? What is the general procedure?
_________________
-ACagliano

Current Projects

Legend of Zelda. "Ganon's Rage"
51%
Back to top
calcdude84se


Power User


Joined: 14 Jun 2010
Posts: 408

Posted: 14 Mar 2012 05:07:22 pm    Post subject:

WikiTI ought to have the documentation you need. The ports are indeed $10 and $11. $10 is for commands and $11 is for data. An important point is that the LCD needs a delay before writing to either port. Again, WikiTI should have most of this.
_________________
People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster.
-Adam Osborne
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55733
Location: Earth, Sol, Milky Way

Posted: 14 Mar 2012 05:08:55 pm    Post subject:

As calcdude says, WikiTI is entirely comprehensive in terms of what you need to do to write to the LCD. I recommend you just give people instructions on using iFastCopy in a tutorial, though...
_________________


Back to top
ACagliano


Super-Expert


Joined: 08 Feb 2010
Posts: 922

Posted: 14 Mar 2012 05:12:44 pm    Post subject:

Wikiti was pretty good. In the end, I was just a bit unclear as to the difference between 10 and 11. And yes, Kerm I will. My goal, in this tutorial, is to start with the complex stuff, like direct input/output, and then explain how you can use premade routines in the stead of those routines.
_________________
-ACagliano

Current Projects

Legend of Zelda. "Ganon's Rage"
51%
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55733
Location: Earth, Sol, Milky Way

Posted: 14 Mar 2012 05:16:48 pm    Post subject:

ACagliano wrote:
Wikiti was pretty good. In the end, I was just a bit unclear as to the difference between 10 and 11. And yes, Kerm I will. My goal, in this tutorial, is to start with the complex stuff, like direct input/output, and then explain how you can use premade routines in the stead of those routines.
Well, the difference is the one is the command port, and one is the data port. The command port is used for setting modes and sending instructions, while the data port is used for sending actual pixel data to the display.
_________________


Back to top
Kaslai


Member


Joined: 16 Nov 2011
Posts: 172
Location: ???, WA

Posted: 14 Mar 2012 05:27:21 pm    Post subject:

As strange as it sounds, TI83+ Assembly in 28 Days has a good segment on the display driver.
_________________



Back to top
ACagliano


Super-Expert


Joined: 08 Feb 2010
Posts: 922

Posted: 14 Mar 2012 05:28:04 pm    Post subject:

Ok...I just need a bit more help

Quote:
Bit 0: Set if auto-increment mode (commands 05 and 07) is selected, reset if auto-decrement mode (commands 04 and 06) is selected.

What does auto-increment/decrement mode mean?

Quote:
Bit 6: Set if the LCD will transfer 8 bits at a time through Port 11. Reset if the LCD will only trasfer 6 bits at a time.

What is the difference between 6 and 8 bit mode?
_________________
-ACagliano

Current Projects

Legend of Zelda. "Ganon's Rage"
51%
Back to top
Kaslai


Member


Joined: 16 Nov 2011
Posts: 172
Location: ???, WA

Posted: 14 Mar 2012 05:34:19 pm    Post subject:

Auto increment and auto decrement are settings for the driver that will automatically change the column and row after each write, so that you don't have to adjust the pointer after every write.

Bit 6, if I recall correctly, sets each column to 6 bits wide rather than 8. The point of this is for fonts; notice how the home screen font is 6 pixels wide? This setting gets rid of the math needed if you want to display an axis aligned 6px wide font.
_________________



Back to top
calcdude84se


Power User


Joined: 14 Jun 2010
Posts: 408

Posted: 14 Mar 2012 05:35:07 pm    Post subject:

The position that writing/reading port $11 concerns is automatically changed after each access. Auto-increment sets this in the positive direction (either down or right), and auto-decrement in the negative (left or up). Both wrap around the edges. 6-bit mode means port $11 reads/writes 6 bits at a time (the upper two bits don't matter when writing and are 0 when reading), and 8-bit means, well, a whole byte at a time. Setting 6- or 8-bit mode affects column numbers too. Each column in 6-bit mode is 6 pixels wide, so there are more of them.
Edit: ninja'd by Kaslai.
_________________
People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster.
-Adam Osborne
Back to top
ACagliano


Super-Expert


Joined: 08 Feb 2010
Posts: 922

Posted: 14 Mar 2012 05:43:25 pm    Post subject:

And, if I'm correct, based on the way most text and sprite rending OS commands work...is the LCD set to auto increment by default? Or at least, is that standard.
_________________
-ACagliano

Current Projects

Legend of Zelda. "Ganon's Rage"
51%
Back to top
calcdude84se


Power User


Joined: 14 Jun 2010
Posts: 408

Posted: 14 Mar 2012 05:46:26 pm    Post subject:

The OS tends to use the LCD in X auto-increment mode, which (yes, I know I said X--X and Y are named backwards compared to the usual naming) moves the internal pointer a row down every time. That mode is the simplest and is faster than Y auto-increment for updating the entire LCD, as there are fewer columns than rows.
_________________
People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster.
-Adam Osborne
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are GMT - 5 Hours

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Copyright 2000-2013 Cemetech & Kerm Martian :: Page Execution Time: 0.032535 seconds.