Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LC-display and lcc documentation #1

Open
noonscoomo opened this issue Nov 22, 2023 · 4 comments
Open

LC-display and lcc documentation #1

noonscoomo opened this issue Nov 22, 2023 · 4 comments

Comments

@noonscoomo
Copy link

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?

@visrealm
Copy link
Owner

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

@noonscoomo
Copy link
Author

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
Copy link
Author

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.

@visrealm
Copy link
Owner

visrealm commented Nov 30, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants