Open noonscoomo opened 7 months ago
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
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.
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.
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.
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?