ts-7000
[Top] [All Lists]

[ts-7000] Re: 2 x 24 LCD screen

To:
Subject: [ts-7000] Re: 2 x 24 LCD screen
From: "waggywagz" <>
Date: Mon, 04 Sep 2006 23:01:47 -0000
--- In  "Yan Seiner" <> wrote:
>
> I've been playing with the 2x24 LCD screen that TS supports with the
> header.
> 
> I've got the beginning of an ANSI driver for the screen, but I have
> one question...
> 
> Jim Jackson's page and his lcdd code seem to indicate that there is an
> 80 byte buffer for the characters, split between the two visible
> lines. And indeed, if you set the cursor on position 40, it goes to
> the first position of the second line.
> 
> But then if you try to move it, it sits there until the cursor
> position reaches 64, and then it starts to move again.
> 
> In other words it is acting as if ther is a 128 byte buffer, split
> between the two lines, and not an 80 byte buffer.  Possibly the
> movement to the second line on cursor position 40 is a bug or kludge.
>
I agree with your assessment of cursor position 40 behavior (it was
likely done that way intentionally as a 'feature'), and may have some
insight on the rest since I've successfully managed to reprogram the
TS-7300 FPGA to drive a 480x320 monochrome LCD as an 80x40 character
display.  (Yes, I load the very cute little tiny 5x7/6x8 font provided
with the screen into FPGA ram.)  Anyway, I have been thinking about
how best to map memory addresses (as seen by the CPU) to cursor
positions.  One way is to map the whole 3200 characters contiguously
for easy screen dumps and loads.

Another approach is to map some of the cursor address bits to the
cusor's x-position, and some to the cursor's y-position.  This has the
advantage of easier driver programming to support different line
widths.  This appears to be the case with the 24x2 character LCD
buffer.  In other words, programs written to display properly by
positioning the cursor on a 24x2 character display using 1 bit for the
y-position followed by 6 bits for the x-position will continue to work
with larger displays (up to 64 characters wide and any height) using
the same cursor address scheme.  (However, the 'off-screen' portion of
the buffer, perhaps provided for 'scrolling' the display lines, would
be visible on a wider display.)
 
> Has anyone tried to work with the LCD cursor positioning?  Anyone
> interested in being a guinea pig for alpha-code and testing an
> pseudo-ANSI driver for the screen?  I can't help but think another
> pair of eyes might see something I am missing...
> 
> I'll post a tarball shortly.
> 

I have a TS-supplied 24x2 character display and though I haven't done
anything with it yet, I am looking forward to hooking it up to test
your code and perhaps get some inspiration from it.

Now that I have a working 80x40 character LCD display (my first
verilog project; more details later), I have been muttering foul
language while pacing the endless twisted corridors of the Linux
console legacy, unable to decipher the cryptic signposts: tty, ptty,
ttym, ttys, ttyS, vt, vc, vcs, and vcsa, /dev, /proc, as well as
getty, mingetty, screen, ttys, and so on, in a vain attempt to figure
out a simple way to use the darn thing as a console.

Cheers!
-David Wagner





 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU