Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

I find you lack of faith in the forth dithturbing. -- Darse ("Darth") Vader


devel / comp.arch.embedded / Re: Convert 16x2 chars display to big TFT display

SubjectAuthor
* Convert 16x2 chars display to big TFT displaypozz
+* Re: Convert 16x2 chars display to big TFT displayReinhardt Behm
|`* Re: Convert 16x2 chars display to big TFT displaypozz
| +- Re: Convert 16x2 chars display to big TFT displayReinhardt Behm
| `* Re: Convert 16x2 chars display to big TFT displayStef
|  `- Re: Convert 16x2 chars display to big TFT displaypozz
+* Re: Convert 16x2 chars display to big TFT displayDon Y
|+* Re: Convert 16x2 chars display to big TFT displayolaf
||`- Re: Convert 16x2 chars display to big TFT displayDon Y
|+* Re: Convert 16x2 chars display to big TFT displaypozz
||+- Re: Convert 16x2 chars display to big TFT displayDon Y
||`- Re: Convert 16x2 chars display to big TFT displayRick C
|`- Re: Convert 16x2 chars display to big TFT displayRick C
`- Re: Convert 16x2 chars display to big TFT displayMichael Schwingen

1
Convert 16x2 chars display to big TFT display

<siccap$o73$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=611&group=comp.arch.embedded#611

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: pozzu...@gmail.com (pozz)
Newsgroups: comp.arch.embedded
Subject: Convert 16x2 chars display to big TFT display
Date: Tue, 21 Sep 2021 12:31:54 +0200
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <siccap$o73$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 21 Sep 2021 10:31:54 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="ea736a72948848726d1f4840c43d5945";
logging-data="24803"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18SlSh9DT3lZQx+PIFyndP7MZXCOfcyZow="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:PMUX5V3hLBbi5G4hRqliUn63lSI=
Content-Language: it
X-Mozilla-News-Host: news://news.eternal-september.org:119
 by: pozz - Tue, 21 Sep 2021 10:31 UTC

I have a CPU board that interfaces to a standard 16x2 chars display,
based on HD44780 controller.

I'd like to replace this display with a full-color big TFT display,
maybe 10", but I can't change the firmware of the CPU (because I don't
have the source code and I can't rewrite it, because of cost and time).

The simple idea is to create an interface between the current CPU board
and the TFT display. This interface should be able to detect the signals
from the CPU and that was directed to HD44780, interpret the
instructions (write CGRAM/DDRAM and so on) and write the same things to
the big TFT display.

Of course, exactly the same texts will be written on TFT display (of
course with a bigger and visible font) and this is acceptable.

So the MCU on the interface should be able to read 8 data bits, RS and
R/W signals syncronous to signal E.

I'm thinking to configure E signal as an external interrupt on the
falling edge. In the interrupt, I read data bits, R/W and RS and decode
the instruction or data.

Any suggestions? Maybe a similar code is already online.

Re: Convert 16x2 chars display to big TFT display

<sicnjb$s8l$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=612&group=comp.arch.embedded#612

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: rbe...@hushmail.com (Reinhardt Behm)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Tue, 21 Sep 2021 13:44:11 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <sicnjb$s8l$1@dont-email.me>
References: <siccap$o73$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 21 Sep 2021 13:44:11 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="fb54a4baf10837b8c0c93c7e1da9d362";
logging-data="28949"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+3GaEU4iugYzHc7BpoTH2j"
User-Agent: Pan/0.146 (Hic habitat felicitas; 8107378
git@gitlab.gnome.org:GNOME/pan.git)
Cancel-Lock: sha1:JzluJHFC4lATby6QElapZm9BPPw=
 by: Reinhardt Behm - Tue, 21 Sep 2021 13:44 UTC

On Tue, 21 Sep 2021 12:31:54 +0200, pozz wrote:

> I have a CPU board that interfaces to a standard 16x2 chars display,
> based on HD44780 controller.
>
> I'd like to replace this display with a full-color big TFT display,
> maybe 10", but I can't change the firmware of the CPU (because I don't
> have the source code and I can't rewrite it, because of cost and time).
>
> The simple idea is to create an interface between the current CPU board
> and the TFT display. This interface should be able to detect the signals
> from the CPU and that was directed to HD44780, interpret the
> instructions (write CGRAM/DDRAM and so on) and write the same things to
> the big TFT display.
>
> Of course, exactly the same texts will be written on TFT display (of
> course with a bigger and visible font) and this is acceptable.
>
> So the MCU on the interface should be able to read 8 data bits, RS and
> R/W signals syncronous to signal E.
>
> I'm thinking to configure E signal as an external interrupt on the
> falling edge. In the interrupt, I read data bits, R/W and RS and decode
> the instruction or data.
>
> Any suggestions? Maybe a similar code is already online.

I guess you don't need an interrupt. The signals to the 44780 are quite
slow and well sequenced. So simple polling would do.
Beware that the E signal is high when data is valid. So I would look for
the rising edge.

--
Reinhardt

Re: Convert 16x2 chars display to big TFT display

<sicok4$3k3$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=613&group=comp.arch.embedded#613

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: pozzu...@gmail.com (pozz)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Tue, 21 Sep 2021 16:01:42 +0200
Organization: A noiseless patient Spider
Lines: 42
Message-ID: <sicok4$3k3$1@dont-email.me>
References: <siccap$o73$1@dont-email.me> <sicnjb$s8l$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 21 Sep 2021 14:01:41 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="ea736a72948848726d1f4840c43d5945";
logging-data="3715"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19qnIm4wxbBzVjpRbx05LMl/AZcV75k8cY="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:9jgxi+eRyFAn9RtIJPIoLe6Ig2Q=
In-Reply-To: <sicnjb$s8l$1@dont-email.me>
Content-Language: it
 by: pozz - Tue, 21 Sep 2021 14:01 UTC

Il 21/09/2021 15:44, Reinhardt Behm ha scritto:
> On Tue, 21 Sep 2021 12:31:54 +0200, pozz wrote:
>
>> I have a CPU board that interfaces to a standard 16x2 chars display,
>> based on HD44780 controller.
>>
>> I'd like to replace this display with a full-color big TFT display,
>> maybe 10", but I can't change the firmware of the CPU (because I don't
>> have the source code and I can't rewrite it, because of cost and time).
>>
>> The simple idea is to create an interface between the current CPU board
>> and the TFT display. This interface should be able to detect the signals
>> from the CPU and that was directed to HD44780, interpret the
>> instructions (write CGRAM/DDRAM and so on) and write the same things to
>> the big TFT display.
>>
>> Of course, exactly the same texts will be written on TFT display (of
>> course with a bigger and visible font) and this is acceptable.
>>
>> So the MCU on the interface should be able to read 8 data bits, RS and
>> R/W signals syncronous to signal E.
>>
>> I'm thinking to configure E signal as an external interrupt on the
>> falling edge. In the interrupt, I read data bits, R/W and RS and decode
>> the instruction or data.
>>
>> Any suggestions? Maybe a similar code is already online.
>
> I guess you don't need an interrupt. The signals to the 44780 are quite
> slow and well sequenced. So simple polling would do.

Are you sure? Enable cycle time could be 500ns at 5V, look at page 52 of
datasheet[1].

> Beware that the E signal is high when data is valid. So I would look for
> the rising edge.

Are you sure? Look at Figure 25[1], data are valid at the falling edge
of E signal.

[1] https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

Re: Convert 16x2 chars display to big TFT display

<sicsfc$s8l$2@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=614&group=comp.arch.embedded#614

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: rbe...@hushmail.com (Reinhardt Behm)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Tue, 21 Sep 2021 15:07:24 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <sicsfc$s8l$2@dont-email.me>
References: <siccap$o73$1@dont-email.me> <sicnjb$s8l$1@dont-email.me>
<sicok4$3k3$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 21 Sep 2021 15:07:24 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="fb54a4baf10837b8c0c93c7e1da9d362";
logging-data="28949"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19eX+zDNrug+/zqSnG8+laT"
User-Agent: Pan/0.146 (Hic habitat felicitas; 8107378
git@gitlab.gnome.org:GNOME/pan.git)
Cancel-Lock: sha1:fbcwcrhgSUvX3/vAZjlMlr0BPTk=
 by: Reinhardt Behm - Tue, 21 Sep 2021 15:07 UTC

On Tue, 21 Sep 2021 16:01:42 +0200, pozz wrote:

> Il 21/09/2021 15:44, Reinhardt Behm ha scritto:
>> On Tue, 21 Sep 2021 12:31:54 +0200, pozz wrote:
>>
>>> I have a CPU board that interfaces to a standard 16x2 chars display,
>>> based on HD44780 controller.
>>>
>>> I'd like to replace this display with a full-color big TFT display,
>>> maybe 10", but I can't change the firmware of the CPU (because I don't
>>> have the source code and I can't rewrite it, because of cost and
>>> time).
>>>
>>> The simple idea is to create an interface between the current CPU
>>> board and the TFT display. This interface should be able to detect the
>>> signals from the CPU and that was directed to HD44780, interpret the
>>> instructions (write CGRAM/DDRAM and so on) and write the same things
>>> to the big TFT display.
>>>
>>> Of course, exactly the same texts will be written on TFT display (of
>>> course with a bigger and visible font) and this is acceptable.
>>>
>>> So the MCU on the interface should be able to read 8 data bits, RS and
>>> R/W signals syncronous to signal E.
>>>
>>> I'm thinking to configure E signal as an external interrupt on the
>>> falling edge. In the interrupt, I read data bits, R/W and RS and
>>> decode the instruction or data.
>>>
>>> Any suggestions? Maybe a similar code is already online.
>>
>> I guess you don't need an interrupt. The signals to the 44780 are quite
>> slow and well sequenced. So simple polling would do.
>
> Are you sure? Enable cycle time could be 500ns at 5V, look at page 52 of
> datasheet[1].

An eternity.
>> Beware that the E signal is high when data is valid. So I would look
>> for the rising edge.
>
> Are you sure? Look at Figure 25[1], data are valid at the falling edge
> of E signal.

Data should be valid for the whole E time. Look for the rising edge and
sample the other signals. Otherwise you rely on the z´unspecified hold
time of your signal source.

--
Reinhardt

Re: Convert 16x2 chars display to big TFT display

<nnd$30b3f1c5$676716e7@842302c0f288425a>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=615&group=comp.arch.embedded#615

  copy link   Newsgroups: comp.arch.embedded
Newsgroups: comp.arch.embedded
From: me...@this.is.invalid (Stef)
Subject: Re: Convert 16x2 chars display to big TFT display
References: <siccap$o73$1@dont-email.me> <sicnjb$s8l$1@dont-email.me>
<sicok4$3k3$1@dont-email.me>
Mail-Copies-To: nobody
User-Agent: slrn/1.0.3 (Linux)
Message-ID: <nnd$30b3f1c5$676716e7@842302c0f288425a>
Organization: Newsxs
Date: Tue, 21 Sep 2021 17:09:48 +0200
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.mixmin.net!feed.abavia.com!abe002.abavia.com!abp002.abavia.com!news.newsxs.nl!not-for-mail
Lines: 58
Injection-Date: Tue, 21 Sep 2021 17:09:48 +0200
Injection-Info: news.newsxs.nl; mail-complaints-to="abuse@newsxs.nl"
 by: Stef - Tue, 21 Sep 2021 15:09 UTC

On 2021-09-21 pozz wrote in comp.arch.embedded:
> Il 21/09/2021 15:44, Reinhardt Behm ha scritto:
>> On Tue, 21 Sep 2021 12:31:54 +0200, pozz wrote:
>>
>>>
>>> So the MCU on the interface should be able to read 8 data bits, RS and
>>> R/W signals syncronous to signal E.
>>>
>>> I'm thinking to configure E signal as an external interrupt on the
>>> falling edge. In the interrupt, I read data bits, R/W and RS and decode
>>> the instruction or data.
>>>
>>> Any suggestions? Maybe a similar code is already online.
>>
>> I guess you don't need an interrupt. The signals to the 44780 are quite
>> slow and well sequenced. So simple polling would do.
>
> Are you sure? Enable cycle time could be 500ns at 5V, look at page 52 of
> datasheet[1].

Datasheet indeed says 500ns minimum. It ofcourse depends on the mcu what
the actual timing is. 500ns is 'slow' for todays controllers, so I think
you could do polling as long as you don't do too much else (depending on
the speed of your mcu). But an interrupt may be a safer choice and makes
other processing (outside irq) easier. But even with using an interrupt
you have to make sure latency is small enough, especially if there are
other interrupts.

>> Beware that the E signal is high when data is valid. So I would look for
>> the rising edge.
>
> Are you sure? Look at Figure 25[1], data are valid at the falling edge
> of E signal.
>
> [1] https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

Both is true: data is valid when E is high, but with a small delay (Tddr
and Tdhr), so data is still valid on the falling edge. But you must be
very fast in your response, minimum Tdhr is only 5 ns. This would
require an awfully fast interrupt response. Setting an interrupt on the
rising edge gives you another challenge: Tddr is 160ns max, so you may
not actually read the data within 160ns of the rising edge of E. If you
have a fast interrupt response, you may need to wait a little before
reading.

Maybe an FPGA solution is easier for this problem. ;-)

have you already thought about the other end of the interface? How do
you plan to get data to the TFT panel? And don't forget about the part
in between, the frame buffer etc.

--
Stef

Yow! Those people look exactly like Donnie and Marie Osmond!!

Re: Convert 16x2 chars display to big TFT display

<sid2cv$dqr$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=616&group=comp.arch.embedded#616

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: pozzu...@gmail.com (pozz)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Tue, 21 Sep 2021 18:48:32 +0200
Organization: A noiseless patient Spider
Lines: 84
Message-ID: <sid2cv$dqr$1@dont-email.me>
References: <siccap$o73$1@dont-email.me> <sicnjb$s8l$1@dont-email.me>
<sicok4$3k3$1@dont-email.me> <nnd$30b3f1c5$676716e7@842302c0f288425a>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 21 Sep 2021 16:48:31 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="ea736a72948848726d1f4840c43d5945";
logging-data="14171"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/x0mgQ6qeT34uxasyU8f0a03O48Quu4Js="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:4kzCQJm2klgxfLCGS3owC9yRBE0=
In-Reply-To: <nnd$30b3f1c5$676716e7@842302c0f288425a>
Content-Language: it
 by: pozz - Tue, 21 Sep 2021 16:48 UTC

Il 21/09/2021 17:09, Stef ha scritto:
> On 2021-09-21 pozz wrote in comp.arch.embedded:
>> Il 21/09/2021 15:44, Reinhardt Behm ha scritto:
>>> On Tue, 21 Sep 2021 12:31:54 +0200, pozz wrote:
>>>
>>>>
>>>> So the MCU on the interface should be able to read 8 data bits, RS and
>>>> R/W signals syncronous to signal E.
>>>>
>>>> I'm thinking to configure E signal as an external interrupt on the
>>>> falling edge. In the interrupt, I read data bits, R/W and RS and decode
>>>> the instruction or data.
>>>>
>>>> Any suggestions? Maybe a similar code is already online.
>>>
>>> I guess you don't need an interrupt. The signals to the 44780 are quite
>>> slow and well sequenced. So simple polling would do.
>>
>> Are you sure? Enable cycle time could be 500ns at 5V, look at page 52 of
>> datasheet[1].
>
> Datasheet indeed says 500ns minimum. It ofcourse depends on the mcu what
> the actual timing is. 500ns is 'slow' for todays controllers, so I think
> you could do polling as long as you don't do too much else (depending on
> the speed of your mcu). But an interrupt may be a safer choice and makes
> other processing (outside irq) easier. But even with using an interrupt
> you have to make sure latency is small enough, especially if there are
> other interrupts.
>
>
>>> Beware that the E signal is high when data is valid. So I would look for
>>> the rising edge.
>>
>> Are you sure? Look at Figure 25[1], data are valid at the falling edge
>> of E signal.
>>
>> [1] https://www.sparkfun.com/datasheets/LCD/HD44780.pdf
>
> Both is true: data is valid when E is high,

Immediately before the falling edge data must be valid, but they aren't
valid immediately after the rising edge. So I don't think the sentence
"data are valid when E is high" is correct.

> but with a small delay (Tddr
> and Tdhr), so data is still valid on the falling edge.

So I think it's much more robust to read on the falling edge.

> But you must be
> very fast in your response, minimum Tdhr is only 5 ns. This would
> require an awfully fast interrupt response.

I got the point and indeed is critical. Maybe rising edge is better,
because most probably MCU set data bits and after make a pulse on E.

>Setting an interrupt on the
> rising edge gives you another challenge: Tddr is 160ns max, so you may
> not actually read the data within 160ns of the rising edge of E. If you
> have a fast interrupt response, you may need to wait a little before
> reading.

Consider that the read operation for HD44780 will be a write operation
for my interface. In other words, when a read operation is send from
MCU, my interface should write on data bits.

Howevere your point is valid: my interface should write on data bits
before Tddr, 160ns maximum, and this could be difficult.

Anyway read operations aren't usually used on this kind of applications.

>
> Maybe an FPGA solution is easier for this problem. ;-)
>
> have you already thought about the other end of the interface? How do
> you plan to get data to the TFT panel? And don't forget about the part
> in between, the frame buffer etc.

I will send data to a serial port.

Re: Convert 16x2 chars display to big TFT display

<sie4o9$dlc$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=617&group=comp.arch.embedded#617

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: blockedo...@foo.invalid (Don Y)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Tue, 21 Sep 2021 19:34:39 -0700
Organization: A noiseless patient Spider
Lines: 44
Message-ID: <sie4o9$dlc$1@dont-email.me>
References: <siccap$o73$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 22 Sep 2021 02:34:49 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="17629caab4a39312dba1aea36f1b1ecd";
logging-data="13996"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/S/mBYrZq9wnrhs7s1uc1c"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.1.1
Cancel-Lock: sha1:VMOqWYiZdDQd4poW0e66IJQoDwA=
In-Reply-To: <siccap$o73$1@dont-email.me>
Content-Language: en-US
 by: Don Y - Wed, 22 Sep 2021 02:34 UTC

On 9/21/2021 3:31 AM, pozz wrote:
> I have a CPU board that interfaces to a standard 16x2 chars display, based on
> HD44780 controller.
>
> I'd like to replace this display with a full-color big TFT display, maybe 10",
> but I can't change the firmware of the CPU (because I don't have the source
> code and I can't rewrite it, because of cost and time).
>
> The simple idea is to create an interface between the current CPU board and the
> TFT display. This interface should be able to detect the signals from the CPU
> and that was directed to HD44780, interpret the instructions (write CGRAM/DDRAM
> and so on) and write the same things to the big TFT display.
>
> Of course, exactly the same texts will be written on TFT display (of course
> with a bigger and visible font) and this is acceptable.
>
> So the MCU on the interface should be able to read 8 data bits, RS and R/W
> signals syncronous to signal E.
>
> I'm thinking to configure E signal as an external interrupt on the falling
> edge. In the interrupt, I read data bits, R/W and RS and decode the instruction
> or data.
>
> Any suggestions? Maybe a similar code is already online.

You will likely find there are issues that you've not even considered
that the original software relies on (directly or indirectly).

Can your emulation handle a *steady* stream of reads/writes? Or,
are you expecting the host to be gentle with the display interface?
Keep in mind, that you have to run a fair bit of code to paint
pels onto the display from "character codes".

Does the host rely on the timing of the display's "busy" indication
in any way? Are there any bug in the display controller that
the host code works around -- that you'd have to emulate (but
aren't disclosed in the datasheet because they *are* bugs)?
Are the visual characteristics of your display similar to those
of the original display? Cursor/character blink and other
attributes?

Put a pair of back-to-back latches on the data bus and some
steering logic and don't sweat the fine-grained timing issues.

Re: Convert 16x2 chars display to big TFT display

<ujmq1i-l2c.ln1@criseis.ruhr.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=618&group=comp.arch.embedded#618

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!rocksolid2!news.neodome.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ola...@criseis.ruhr.de (olaf)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Wed, 22 Sep 2021 06:04:46 +0200
Lines: 15
Message-ID: <ujmq1i-l2c.ln1@criseis.ruhr.de>
References: <siccap$o73$1@dont-email.me> <sie4o9$dlc$1@dont-email.me>
X-Trace: individual.net auHUZ92z8FB1IdhjZYW++wm4t3UNO4ZiP5fcg78FZ7Gcefo/Z1
X-Orig-Path: not-for-mail
Cancel-Lock: sha1:z8cQ1+Qz6hpWp28sTgsyAH8WwcU=
User-Agent: tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/5.4.113 (x86_64))
 by: olaf - Wed, 22 Sep 2021 04:04 UTC

Don Y <blockedofcourse@foo.invalid> wrote:

>You will likely find there are issues that you've not even considered
>that the original software relies on (directly or indirectly).

Of course, but in these day much is possible.

https://hackaday.com/2021/09/02/pi-pico-emulates-rom-for-speedy-retro-hacking/

But it feels strange to do this. :-)

Olaf

Re: Convert 16x2 chars display to big TFT display

<siec0f$fpv$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=619&group=comp.arch.embedded#619

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: blockedo...@foo.invalid (Don Y)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Tue, 21 Sep 2021 21:38:29 -0700
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <siec0f$fpv$1@dont-email.me>
References: <siccap$o73$1@dont-email.me> <sie4o9$dlc$1@dont-email.me>
<ujmq1i-l2c.ln1@criseis.ruhr.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 22 Sep 2021 04:38:39 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="17629caab4a39312dba1aea36f1b1ecd";
logging-data="16191"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/WJuV9GSG0E1BhlB9hC72i"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.1.1
Cancel-Lock: sha1:17D7l+vARjUruf/7yzCMpRAE6fg=
In-Reply-To: <ujmq1i-l2c.ln1@criseis.ruhr.de>
Content-Language: en-US
 by: Don Y - Wed, 22 Sep 2021 04:38 UTC

On 9/21/2021 9:04 PM, olaf wrote:
> Don Y <blockedofcourse@foo.invalid> wrote:
>
>
> >You will likely find there are issues that you've not even considered
> >that the original software relies on (directly or indirectly).
>
> Of course, but in these day much is possible.
>
> https://hackaday.com/2021/09/02/pi-pico-emulates-rom-for-speedy-retro-hacking/
>
> But it feels strange to do this. :-)

It used to feel strange to only partially decode address spaces for
devices -- so, a single 8b latch would occupy 128KB of address space.

<shrug> Times change.

By comparison, a ROM is highly predictable. You don't, for example,
expect a read of address X to take longer when it follows a read of
address A vs. B. Or, when the datum returned is Q vs. R.

A display controller, OTOH, is a serial machine and the time it
takes to perform an action is typically related to the amount of
"effort" that must be expended.

It's likely that the original code took this into consideration
(implicitly or explicitly). and, without delving into that code,
it's hard to decide how you can reasonably expect to emulate it
without unexpected consequences in the host.

[E.g., the host may expect to have to wait when it does X.
But, will expect X to have completed before some particular
future time. If you fail to do so, there's no easy way
of knowing what might "misfire".]

Re: Convert 16x2 chars display to big TFT display

<siejm8$lts$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=620&group=comp.arch.embedded#620

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: pozzu...@gmail.com (pozz)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Wed, 22 Sep 2021 08:49:46 +0200
Organization: A noiseless patient Spider
Lines: 81
Message-ID: <siejm8$lts$1@dont-email.me>
References: <siccap$o73$1@dont-email.me> <sie4o9$dlc$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 22 Sep 2021 06:49:44 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="7b96d2b669627c51698e2a3202e4493f";
logging-data="22460"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Mruf4hXGpjgRLGVVNJJ8SJRqskaFyFXM="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:fcQR7PkK4q2qIcFAizSTGIH8XP8=
In-Reply-To: <sie4o9$dlc$1@dont-email.me>
Content-Language: it
 by: pozz - Wed, 22 Sep 2021 06:49 UTC

Il 22/09/2021 04:34, Don Y ha scritto:
> On 9/21/2021 3:31 AM, pozz wrote:
>> I have a CPU board that interfaces to a standard 16x2 chars display,
>> based on HD44780 controller.
>>
>> I'd like to replace this display with a full-color big TFT display,
>> maybe 10", but I can't change the firmware of the CPU (because I don't
>> have the source code and I can't rewrite it, because of cost and time).
>>
>> The simple idea is to create an interface between the current CPU
>> board and the TFT display. This interface should be able to detect the
>> signals from the CPU and that was directed to HD44780, interpret the
>> instructions (write CGRAM/DDRAM and so on) and write the same things
>> to the big TFT display.
>>
>> Of course, exactly the same texts will be written on TFT display (of
>> course with a bigger and visible font) and this is acceptable.
>>
>> So the MCU on the interface should be able to read 8 data bits, RS and
>> R/W signals syncronous to signal E.
>>
>> I'm thinking to configure E signal as an external interrupt on the
>> falling edge. In the interrupt, I read data bits, R/W and RS and
>> decode the instruction or data.
>>
>> Any suggestions? Maybe a similar code is already online.
>
> You will likely find there are issues that you've not even considered
> that the original software relies on (directly or indirectly).

Yes, it could be possible.

> Can your emulation handle a *steady* stream of reads/writes?  Or,
> are you expecting the host to be gentle with the display interface?

The host is a 16-bits MCU from Fujitsu. I will measure timings by an
oscilloscope, but I don't think it writes so fast.
And I can implement a busy flag trick: after any instruction, I can
simulate a busy state... if the host really use busy flag check (I
suspect yes, because I saw R/W signal goes high and low often).

> Keep in mind, that you have to run a fair bit of code to paint
> pels onto the display from "character codes".

I will send sniffed character codes by a serial line to a "smart TFT".

> Does the host rely on the timing of the display's "busy" indication
> in any way?

Most probably the host polls for busy flag and I think I can replicate this.

> Are there any bug in the display controller that
> the host code works around -- that you'd have to emulate (but
> aren't disclosed in the datasheet because they *are* bugs)?

I wrote some code for HD44780 in the past and I don't remember of any
workaround. Of course it depends on how many features of controller the
host uses.

> Are the visual characteristics of your display similar to those
> of the original display?  Cursor/character blink and other
> attributes?

If I can sniff these things, I think I can replicate on the TFT.

> Put a pair of back-to-back latches on the data bus and some
> steering logic and don't sweat the fine-grained timing issues.

Yes, it could be done in this way.

And I was thinking to leave the original display connected and put the
interface as a passive sniffer. In this way I don't need to replicate
the exact behaviour of the controller, but only detect the stream of
data and commands. Of course, in this case I have to be fast enough as
the controller (I can't stop communication by busy flag).

Re: Convert 16x2 chars display to big TFT display

<siennk$j6d$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=621&group=comp.arch.embedded#621

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: blockedo...@foo.invalid (Don Y)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: Wed, 22 Sep 2021 00:58:32 -0700
Organization: A noiseless patient Spider
Lines: 92
Message-ID: <siennk$j6d$1@dont-email.me>
References: <siccap$o73$1@dont-email.me> <sie4o9$dlc$1@dont-email.me>
<siejm8$lts$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 22 Sep 2021 07:58:44 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="17629caab4a39312dba1aea36f1b1ecd";
logging-data="19661"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/kJokyKoEOibaNKOpemcpt"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.1.1
Cancel-Lock: sha1:qd5ph+kFoFaQLpORTXr9IsqO34g=
In-Reply-To: <siejm8$lts$1@dont-email.me>
Content-Language: en-US
 by: Don Y - Wed, 22 Sep 2021 07:58 UTC

On 9/21/2021 11:49 PM, pozz wrote:
> Il 22/09/2021 04:34, Don Y ha scritto:
>> On 9/21/2021 3:31 AM, pozz wrote:
>> You will likely find there are issues that you've not even considered
>> that the original software relies on (directly or indirectly).
>
> Yes, it could be possible.
>
>> Can your emulation handle a *steady* stream of reads/writes? Or,
>> are you expecting the host to be gentle with the display interface?
>
> The host is a 16-bits MCU from Fujitsu. I will measure timings by an
> oscilloscope, but I don't think it writes so fast.

But you will only be able to observe the activities that *happen*
while you are watching. Without access to the sources, you won't know
if this is representative of every possible set of interactions with
the display (and, thus, YOUR display).

> And I can implement a busy flag trick: after any instruction, I can simulate a
> busy state... if the host really use busy flag check (I suspect yes, because I
> saw R/W signal goes high and low often).

Again, you are assuming that the host software always checks for this
and honors it. Are you sure the developer didn't "forget" in some
cases? (in which case, you have to emulate the "forgotten" case)?
Or, didn't implicitly rely on knowledge of how the (old) display
device would react in a given situation? (e.g., "I know that if I
issue an XYZ command, the display controller will finish processing
it in 1.3 microseconds... and, the time it takes for my code to
advance to the next display access happens to be 1.8 microseconds
so no need to check the busy flag")

I can't know that the code does this. Nor can you -- without
a look at the source code.

>> Keep in mind, that you have to run a fair bit of code to paint
>> pels onto the display from "character codes".
>
> I will send sniffed character codes by a serial line to a "smart TFT".
>
>> Does the host rely on the timing of the display's "busy" indication
>> in any way?
>
> Most probably the host polls for busy flag and I think I can replicate this.

See above.

>> Are there any bug in the display controller that
>> the host code works around -- that you'd have to emulate (but
>> aren't disclosed in the datasheet because they *are* bugs)?
>
> I wrote some code for HD44780 in the past and I don't remember of any
> workaround. Of course it depends on how many features of controller the host uses.

Which you won't know without a look through the code...

>> Are the visual characteristics of your display similar to those
>> of the original display? Cursor/character blink and other
>> attributes?
>
> If I can sniff these things, I think I can replicate on the TFT.
>
>> Put a pair of back-to-back latches on the data bus and some
>> steering logic and don't sweat the fine-grained timing issues.
>
> Yes, it could be done in this way.
>
> And I was thinking to leave the original display connected and put the
> interface as a passive sniffer. In this way I don't need to replicate the exact
> behaviour of the controller, but only detect the stream of data and commands.
> Of course, in this case I have to be fast enough as the controller (I can't
> stop communication by busy flag).

I'm not sure I see what that buys you. It certainly doesn't help
the cost. And, the sniffed signals *should* be identical to your
emulation of them. What will you do if there is a discrepancy,
at run time, 3 months from now? Light a big "error" indicator?

If I was tackling something like this, I'd try to build a model of
the controller's internal state in the "emulator". Then, design
a hardware interface that handled the fine-grained timing issues
(to decouple the emulator as much as possible). Then, see how
fast I could get the interface between that hardware and the
*model* to run.

Then, in the background, run a task that examines the state of
the model and "paints" the new display, accordingly. Hopefully,
the slippage won't cost you any features or result in display
artifacts that aren't already part of the original design
(e.g., updating the contents of the display asynchronously
wrt it's being painted into the hardware)

Re: Convert 16x2 chars display to big TFT display

<3e5b5cd5-44eb-42de-b377-00cc9eec6798n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=622&group=comp.arch.embedded#622

  copy link   Newsgroups: comp.arch.embedded
X-Received: by 2002:ac8:7dc7:: with SMTP id c7mr1810543qte.0.1633149632474;
Fri, 01 Oct 2021 21:40:32 -0700 (PDT)
X-Received: by 2002:a25:6705:: with SMTP id b5mr1816989ybc.116.1633149632245;
Fri, 01 Oct 2021 21:40:32 -0700 (PDT)
Path: i2pn2.org!rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch.embedded
Date: Fri, 1 Oct 2021 21:40:32 -0700 (PDT)
In-Reply-To: <sie4o9$dlc$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=24.139.156.49; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 24.139.156.49
References: <siccap$o73$1@dont-email.me> <sie4o9$dlc$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3e5b5cd5-44eb-42de-b377-00cc9eec6798n@googlegroups.com>
Subject: Re: Convert 16x2 chars display to big TFT display
From: gnuarm.d...@gmail.com (Rick C)
Injection-Date: Sat, 02 Oct 2021 04:40:32 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 86
 by: Rick C - Sat, 2 Oct 2021 04:40 UTC

On Tuesday, September 21, 2021 at 10:34:52 PM UTC-4, Don Y wrote:
> On 9/21/2021 3:31 AM, pozz wrote:
> > I have a CPU board that interfaces to a standard 16x2 chars display, based on
> > HD44780 controller.
> >
> > I'd like to replace this display with a full-color big TFT display, maybe 10",
> > but I can't change the firmware of the CPU (because I don't have the source
> > code and I can't rewrite it, because of cost and time).
> >
> > The simple idea is to create an interface between the current CPU board and the
> > TFT display. This interface should be able to detect the signals from the CPU
> > and that was directed to HD44780, interpret the instructions (write CGRAM/DDRAM
> > and so on) and write the same things to the big TFT display.
> >
> > Of course, exactly the same texts will be written on TFT display (of course
> > with a bigger and visible font) and this is acceptable.
> >
> > So the MCU on the interface should be able to read 8 data bits, RS and R/W
> > signals syncronous to signal E.
> >
> > I'm thinking to configure E signal as an external interrupt on the falling
> > edge. In the interrupt, I read data bits, R/W and RS and decode the instruction
> > or data.
> >
> > Any suggestions? Maybe a similar code is already online.
> You will likely find there are issues that you've not even considered
> that the original software relies on (directly or indirectly).
>
> Can your emulation handle a *steady* stream of reads/writes? Or,
> are you expecting the host to be gentle with the display interface?
> Keep in mind, that you have to run a fair bit of code to paint
> pels onto the display from "character codes".
>
> Does the host rely on the timing of the display's "busy" indication
> in any way? Are there any bug in the display controller that
> the host code works around -- that you'd have to emulate (but
> aren't disclosed in the datasheet because they *are* bugs)?
> Are the visual characteristics of your display similar to those
> of the original display? Cursor/character blink and other
> attributes?
>
> Put a pair of back-to-back latches on the data bus and some
> steering logic and don't sweat the fine-grained timing issues.

No need for adding hardware. Read the data lines and the enable signal (and R/W, RS if you want) in a single read operation. Save the previous value in a memory location and watch the new value for E to drop from 1 to 0. Then read the previous sample where E was high. If your reads are fast enough it will contain valid write data. The tDSW is only 80 ns with 5V power, so the interface reads will need to be faster than 12.5 MHz to assure valid data. With a 3.3V unit the timing is 195 ns, so a bit faster than 5 MHz will do the job. If you are emulating a 4 bit data bus the entire set of signals fits in a single byte port.

Otherwise a rather simple FPGA can do the job. If you want to emulate the full set of features of the HD44780 it might take a bit of work since it does some fancy cursor operations and has an internal buffer for user defined characters.

The HD44780 has a few bugs that require software work arounds in the drivers. The big one is the reset issue that requires an arcane sequence to initialize the device. This does not need to be emulated since the work around sequence will work even if the chip doesn't have the bug. The operation of the cursor and character writing is a bit clumsy, but should not be hard to emulate. I don't recall any timing you will be obligated to emulate other than meeting the bus speeds which is obvious. The various delays in the chip are handled in the interface software either by reading a flag or simply by waiting some minimum time. If your emulation runs faster it won't matter. I'm pretty sure there is no "too fast", but it's been a year or so since I worked with it and don't recall every detail.

--

Rick C.

- Get 1,000 miles of free Supercharging
- Tesla referral code - https://ts.la/richard11209

Re: Convert 16x2 chars display to big TFT display

<df13e604-79f3-49c9-8031-a679885efc7an@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=623&group=comp.arch.embedded#623

  copy link   Newsgroups: comp.arch.embedded
X-Received: by 2002:a37:40e:: with SMTP id 14mr1273143qke.197.1633150336594;
Fri, 01 Oct 2021 21:52:16 -0700 (PDT)
X-Received: by 2002:a25:c014:: with SMTP id c20mr235639ybf.55.1633150336343;
Fri, 01 Oct 2021 21:52:16 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch.embedded
Date: Fri, 1 Oct 2021 21:52:16 -0700 (PDT)
In-Reply-To: <siejm8$lts$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=24.139.156.49; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 24.139.156.49
References: <siccap$o73$1@dont-email.me> <sie4o9$dlc$1@dont-email.me> <siejm8$lts$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <df13e604-79f3-49c9-8031-a679885efc7an@googlegroups.com>
Subject: Re: Convert 16x2 chars display to big TFT display
From: gnuarm.d...@gmail.com (Rick C)
Injection-Date: Sat, 02 Oct 2021 04:52:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 91
 by: Rick C - Sat, 2 Oct 2021 04:52 UTC

On Wednesday, September 22, 2021 at 2:49:47 AM UTC-4, pozz wrote:
> Il 22/09/2021 04:34, Don Y ha scritto:
> > On 9/21/2021 3:31 AM, pozz wrote:
> >> I have a CPU board that interfaces to a standard 16x2 chars display,
> >> based on HD44780 controller.
> >>
> >> I'd like to replace this display with a full-color big TFT display,
> >> maybe 10", but I can't change the firmware of the CPU (because I don't
> >> have the source code and I can't rewrite it, because of cost and time)..
> >>
> >> The simple idea is to create an interface between the current CPU
> >> board and the TFT display. This interface should be able to detect the
> >> signals from the CPU and that was directed to HD44780, interpret the
> >> instructions (write CGRAM/DDRAM and so on) and write the same things
> >> to the big TFT display.
> >>
> >> Of course, exactly the same texts will be written on TFT display (of
> >> course with a bigger and visible font) and this is acceptable.
> >>
> >> So the MCU on the interface should be able to read 8 data bits, RS and
> >> R/W signals syncronous to signal E.
> >>
> >> I'm thinking to configure E signal as an external interrupt on the
> >> falling edge. In the interrupt, I read data bits, R/W and RS and
> >> decode the instruction or data.
> >>
> >> Any suggestions? Maybe a similar code is already online.
> >
> > You will likely find there are issues that you've not even considered
> > that the original software relies on (directly or indirectly).
> Yes, it could be possible.
> > Can your emulation handle a *steady* stream of reads/writes? Or,
> > are you expecting the host to be gentle with the display interface?
> The host is a 16-bits MCU from Fujitsu. I will measure timings by an
> oscilloscope, but I don't think it writes so fast.
> And I can implement a busy flag trick: after any instruction, I can
> simulate a busy state... if the host really use busy flag check (I
> suspect yes, because I saw R/W signal goes high and low often).
> > Keep in mind, that you have to run a fair bit of code to paint
> > pels onto the display from "character codes".
> I will send sniffed character codes by a serial line to a "smart TFT".
> > Does the host rely on the timing of the display's "busy" indication
> > in any way?
> Most probably the host polls for busy flag and I think I can replicate this.
> > Are there any bug in the display controller that
> > the host code works around -- that you'd have to emulate (but
> > aren't disclosed in the datasheet because they *are* bugs)?
> I wrote some code for HD44780 in the past and I don't remember of any
> workaround. Of course it depends on how many features of controller the
> host uses.
> > Are the visual characteristics of your display similar to those
> > of the original display? Cursor/character blink and other
> > attributes?
> If I can sniff these things, I think I can replicate on the TFT.
> > Put a pair of back-to-back latches on the data bus and some
> > steering logic and don't sweat the fine-grained timing issues.
> Yes, it could be done in this way.
>
> And I was thinking to leave the original display connected and put the
> interface as a passive sniffer. In this way I don't need to replicate
> the exact behaviour of the controller, but only detect the stream of
> data and commands. Of course, in this case I have to be fast enough as
> the controller (I can't stop communication by busy flag).

The timing of the HD44780U and the various emulations is specified assuming a given internal clock speed set by an RC. If you look at the timing details of the instructions as the clock speed varies you can get timings that can let software work without reading the READY flag. The data sheet timings are based on the ideal timing of the internal clock and are not accurate for production variations as well as temperature and voltage. But since there is never any harm in the controller working faster than the given timings, you don't really need to worry with this as long as your MCU runs faster than the HD44780U with a 270 kHz clock. I can't think of a reason why your emulator device would not work much faster than the HD44780U.

--

Rick C.

+ Get 1,000 miles of free Supercharging
+ Tesla referral code - https://ts.la/richard11209

Re: Convert 16x2 chars display to big TFT display

<slrnsntar4.esn8.news-1513678000@a-tuin.ms.intern>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=707&group=comp.arch.embedded#707

  copy link   Newsgroups: comp.arch.embedded
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: news-151...@discworld.dascon.de (Michael Schwingen)
Newsgroups: comp.arch.embedded
Subject: Re: Convert 16x2 chars display to big TFT display
Date: 31 Oct 2021 14:42:44 GMT
Lines: 18
Message-ID: <slrnsntar4.esn8.news-1513678000@a-tuin.ms.intern>
References: <siccap$o73$1@dont-email.me>
X-Trace: individual.net aj8DOm2WTd3N9qzLd+PJqA1Ts1n7RvE7aIfRsQKwM/UaCDehBT
Cancel-Lock: sha1:JYL4dcv7j+bspBhNaB0Sdficx9c=
User-Agent: slrn/1.0.3 (Linux)
 by: Michael Schwingen - Sun, 31 Oct 2021 14:42 UTC

On 2021-09-21, pozz <pozzugno@gmail.com> wrote:
> The simple idea is to create an interface between the current CPU board
> and the TFT display. This interface should be able to detect the signals
> from the CPU and that was directed to HD44780, interpret the
> instructions (write CGRAM/DDRAM and so on) and write the same things to
> the big TFT display.
[...]
> Any suggestions? Maybe a similar code is already online.

It's not HD44780, but

https://github.com/bigtreetech/BIGTREETECH-TFT35-V3.0

does exactly that for a 12864 LCD (which has a parallel interface with
similar timing requirements). Look for "Marlin Mode" in the source code.

cu
Michael

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor