Close

RC 2022/10 Day 7: 1602 LCD Display

A project log for Flounder Z180 Computer

Standalone single-board computer based on the Zilog Z180 CPU

colin-mColin M 10/08/2022 at 01:260 Comments

First week of Retro Challenge is in the bag! Happy to say I've got at least some of a functioning computer, albeit missing a lot of the project goals.

Today I hooked up a 1602 LCD display as a stepping stone to the 4004 I'd like to end up with. The 4004 is really two smaller displays smashed together, so there's a little complexity to make them behave as one. I wanted to prove out the circuit with the smallest LCD display I had.

The connections are about as simple as possible. Data bus connects to the 8 data pins, chip-select (active high) goes to a decoder pin on the CPLD (mapped to 0x6000 in I/O space), register select goes to A0. I hooked up the R/W pin on the display directly to the WR pin of the Z180. I've seen reports of this not working for some people. Instead, they inverted the RD signal and passed that in instead. So far, I've had no issues using the WR pin, but I'll do some testing at different clock speeds to see if there's any timing issues.

One nice thing that made connecting up this display easier was having access to I/O peek and poke commands in the system monitor. I was able to prove the display was wired up properly without writing a single line of code, instead I could just poke commands and data into the LCD until I was sure the circuit was correct. I did wrap up these commands into some C functions eventually. Once I adapt the monitor code to use this display as output and the PS/2 keyboard as input, I'll technically have a standalone computer. Pretty cool :-)

Discussions