vrcpu icon indicating copy to clipboard operation
vrcpu copied to clipboard

LC-display and lcc documentation

Open noonscoomo opened this issue 2 years ago • 4 comments

I am interested to reproduce your design with my students to enhance our Ben Eaters SAP-1 we already built. Currently I struggle to understand how you integrated the LC-Display and how the initialisation works. The lcc command seems to do a lot but I can't find any documentation. Can you help with some hints on how you integrated the display and how lcc command works?

noonscoomo avatar Nov 22 '23 06:11 noonscoomo

Hi. The lcc and lcd commands are very similar to other commands which write to registers, except they manipulate two control lines on the character lcd. I don't support reading from the LCD, so R/W is hard-wired to write. I have EN and RS from the LCD connected to my microcode ROMS. These two lines are manipulated by the lcc and lcd commands. The only difference between the two commands is lcc holds RS low (command) and lcd holds RS high (data). You can gain some insignt into the microcode by examining https://github.com/visrealm/vrcpu/blob/master/Arduino/Microcode/Microcode.cpp Hope this helps Troy

visrealm avatar Nov 22 '23 22:11 visrealm

Thank you so much, that makes things much clearer. The code explains it beautifully but maybe it's easier to add them to the commands list.

noonscoomo avatar Nov 23 '23 18:11 noonscoomo

ah btw., do you have some schematics? This would help a lot. Most of the modules are obvious, but schematics would help. Couldn't find them on github.

noonscoomo avatar Nov 29 '23 07:11 noonscoomo

I don't. Most of my build is based on James Bates' build: https://github.com/jamesbates/jcpu . He does have schematics.

The core difference between his and mine (before adding the LCD, NES controller, program loader, etc.) is that all of my devices output-enables are driven through a single 74LS138. That allows me to drive 8 output-enables with 3 microcode ROM outputs. It also allows me to disable all device output-enables with a single CE signal to the 74LS138. I use this feature for the program loader to ensure all outputs are disabled so the ESP8266 can control the bus.

visrealm avatar Nov 30 '23 00:11 visrealm