Front Panel Assembly Complete. ... Almost

125 views
Skip to first unread message

John Sandlin

unread,
Sep 9, 2025, 8:05:36 PM (13 days ago) Sep 9
to RC2014-Z80
The physical assembly is done. And the toggle and LEDs are working. But the LCD Module is not showing text sent to it. I used the little basic program for the LCD Module:

10 R=218 : REM 0xDA - Register 20 D=219 : REM 0xDB - Data 30 OUT R,56 : REM 0011 1000 - Function 8 bit, 2 lines, 5x8 dot font 40 OUT R,14 : REM 0000 1110 - Display on, cursor on, no blink 50 OUT R,1 : REM 0000 0001 - Clear display 60 INPUT "Text to display";T$ 70 FOR A=1 TO LEN(T$) 80 PRINT MID$(T$,A,1); 90 OUT D,ASC (MID$(T$,A,1)) 100 NEXT A

I do have it jumpered for 0xDA and 0xDB, so the program is correct as is. Lines 30 through 50 execute and the LCD module responds by clearing the screen. But then the line 90 sending to the Data port doesn't display any text, though line 80 works fine to my terminal. I used up all my time today, so tomorrow I plan to put my o-scope on the data pins (one at a time, I don't have a logic analyzer, to see if I can see the data coming across for the text (The unsurprising "RC2014", entered in response to the prompt in line 60)

IMG_20250909_182855860_HDR.jpg
You can see here, before doing anything, all the LEDs on the I/O panel are working. The switches work, booting into the selected slice, and the module backlight is good and the contrast appears good. Then I send the clear module and try to send the text, then it sits there blank, glowing greenly.

Looks good so far, just need to find where that text  data is leaking off to and direct it back to the LCD module. Any hints or thoughts?

Clark Martin

unread,
Sep 10, 2025, 3:20:19 AM (13 days ago) Sep 10
to rc201...@googlegroups.com
I’m thinking your contrast needs adjusting. IIRC that is one extreme end of contrast, (the other being nothing showing).  Worth a try.


On Sep 9, 2025, at 5:05 PM, John Sandlin <sandli...@gmail.com> wrote:

The physical assembly is done. And the toggle and LEDs are working. But the LCD Module is not showing text sent to it. I used the little basic program for the LCD Module:

10 R=218 : REM 0xDA - Register 20 D=219 : REM 0xDB - Data 30 OUT R,56 : REM 0011 1000 - Function 8 bit, 2 lines, 5x8 dot font 40 OUT R,14 : REM 0000 1110 - Display on, cursor on, no blink 50 OUT R,1 : REM 0000 0001 - Clear display 60 INPUT "Text to display";T$ 70 FOR A=1 TO LEN(T$) 80 PRINT MID$(T$,A,1); 90 OUT D,ASC (MID$(T$,A,1)) 100 NEXT A

I do have it jumpered for 0xDA and 0xDB, so the program is correct as is. Lines 30 through 50 execute and the LCD module responds by clearing the screen. But then the line 90 sending to the Data port doesn't display any text, though line 80 works fine to my terminal. I used up all my time today, so tomorrow I plan to put my o-scope on the data pins (one at a time, I don't have a logic analyzer, to see if I can see the data coming across for the text (The unsurprising "RC2014", entered in response to the prompt in line 60)

<IMG_20250909_182855860_HDR.jpg>
You can see here, before doing anything, all the LEDs on the I/O panel are working. The switches work, booting into the selected slice, and the module backlight is good and the contrast appears good. Then I send the clear module and try to send the text, then it sits there blank, glowing greenly.

Looks good so far, just need to find where that text  data is leaking off to and direct it back to the LCD module. Any hints or thoughts?


--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/rc2014-z80/37371ec7-e5b8-4aaa-983c-c9ab23ec60e6n%40googlegroups.com.
<IMG_20250909_182855860_HDR.jpg>

John Sandlin

unread,
Sep 10, 2025, 4:38:08 AM (13 days ago) Sep 10
to RC2014-Z80
I did try that, but I'll try again as I break out my tiny oscope and watch for data on the data lines.

Doug Jackson

unread,
Sep 10, 2025, 4:45:43 AM (13 days ago) Sep 10
to rc201...@googlegroups.com
Have you had success initialising this type of module in the past.  Whenever I use them I often find that initialisation, and the timing between sending commands is a bit of an artwork 

John Sandlin

unread,
Sep 10, 2025, 10:18:48 AM (12 days ago) Sep 10
to RC2014-Z80
This pretty much my first LCD Module like this, so no, I haven't had success before with them. 

John Sandlin

unread,
Sep 10, 2025, 12:44:21 PM (12 days ago) Sep 10
to RC2014-Z80
I've dialed the contrast from one extreme to the other slowly, looking for the  text that should be there. It isn't. I left it at the point where when the screen is cleared, the cells are just barely darker than the non-cell areas. For now at least, once I have text showing, I'll dial it back so the cells are clear when not set.

Using the 16 pin header on the back of the LCD I see all the data lines are normally high. Pins 5 and 6 of the header show activity all the time, switching high to low and back, sort of irregularly. Pin 5 is R/W and pin 6 is E (Enable Signal).   When I send the command to INIT and CLEAR the display (three OUT commands in row) I can see data lines D0 through D5 drop low momentarily (bit patterns sent, in order "0011 1000 - 0000 1110 - 0000 0001" ) Since I don't have a logic analyzer, I can't see the time relation ship between the 3 bytes or the overlap of D3 for the first two bytes, it goes by pretty quick. When I send the text, using "RC2014" for the input to T$, I do see the data lines drop low for a moment, though again, I can't really see if the right bit patterns are expressed. But there is activity. Though I wasn't sure the data lines are normally High or normally Low, or floating (I would assume floating, but I'm not seeing them pop high for 1s, just the drop to gnd momentarily as I send the text).

On Wednesday, September 10, 2025 at 3:45:43 AM UTC-5 Doug Jackson wrote:

John Sandlin

unread,
Sep 10, 2025, 4:49:45 PM (12 days ago) Sep 10
to RC2014-Z80
I found the problem. I didn't get a picture of it, but it was mechanical - one of the tabs on the back of the LCD module was poking up to touch pins on the 20 pin to 16 pin LCD Breakout PCB  (pins 14 and 16 -the 7th and 8th pins on the even side), I clipped it off so it isn't touching now (hopefully the remaining tabs are sufficient to hold the LCD panel together). 

Here is the result:
IMG_20250910_153421299_HDR.jpg

Managed by a small basic program

`
10 R=218 : REM 0XDA - REGISTER
20 D=219 : REM 0XDB - DATA
30 OUT R,56 : REM 0011 1000 - FUNCTION 8 BIT, 2 LINES, 5X8 DOT FONT
40 OUT R,14 : REM 0000 1110 - DISPLAY ON, CURSOR ON, NO BLINK
50 OUT R,1  : REM 0000 0001 - CLEAR DISPLAY
60 T$="RC2014 Zed Pro      "
61 T$=T$+"Running RomWBW      "
62 T$=T$+"4x20 LCD Driver     "
63 T$=T$+"https://rc2014.co.uk"

70 FOR A=1 TO LEN(T$)
80 PRINT MID$(T$,A,1);
90 OUT D,ASC(MID$(T$,A,1))
100 NEXT A

`

Spencer Owen

unread,
Sep 11, 2025, 6:36:59 AM (11 days ago) Sep 11
to rc201...@googlegroups.com

Good work on tracking that down. From your earlier symptoms I suspected it might be a data line or two, such that the Display Clear signal got through but maybe not other messages. Things like that can be really tricky to track down... right up until you see it and it's obvious :-)

Spencer

Reply all
Reply to author
Forward
0 new messages