Below is the full schematic of my 6502 homebrew computer, as it stands today. I have a couple of expansions in mind, incl. RS232 serial interface, that is not yet hooked up. The main components are:
- CPU – W65C02 processor (IC1)
- 32K ROM – AT28C256 15PU EEPROM (IC2)
- 32K RAM – HM62256B or similar (IC3)
- Address Decoder – AT28C64B EEPROM (IC4)
- I/O Controller – W65C22 VIA (IC5)
- SPI buffer chip – SN74HC125N (IC11)
- MIKROE-3 SD board (connected to SPI (J1))
- LCD 20×4 Display (DS1)
- 74HC245 Bus Transceiver for display (IC13)
- 74HC574N Flip-Flop for connecting buttons (IC12)
- W65C51 Asynch Comms (coming)
- MAX232 RS-232 driver (coming)
- X MHz Clock Oscillator (X1)
- DS1813-10 Reset circuit (X2)
- 74HC00N NAND gates for misc glue logic (IC10)
I will go into more detail on sub-components in future blog posts and later also on the programming/code.
Fascinating project – excellent work. I’m working on a 6502 project but much simpler than yours (so far). Got lots of questions for you so would find any more blog posts useful.
One specific for now though – what made you use a bus transceiver for the display? I added a 2 x 16 line LCD to my data bus and everything stopped working. Adding a 245 transceiver solved that but it may have been re-building the module that solved it not the transceiver. People on the 6502 Family group (Facebook) say that the transceivers should not be necessary. Very interested therefore in how you got you your design.
Robin
Hi Robin. Sorry for the delay in answering and I might in fact not have the answer. I also thought it should be possible to connect the LCD display directly to the data bus, but no matter what I tried I kept on getting strange values on the bus when the LCD supposedly should be inactive. Adding the transceiver solved it. I’m not sure if the issue has to do with the finer timings of the LCD vs CMOS or even the high-impedance state. But adding the bus transceiver solved any issues I had with errant values on the bus and using a directional one I can both read and write to the LCD display. And the glue logic of clock and address decoder allows for data to be transmitted to the LCD without “manually” flipping LCD Enable. If you discover the root cause I’d love to know.
Oh my goodness! an amazing article dude. Thanks Nonetheless I’m experiencing problem with ur rss . Donę° know why Unable to subscribe to it. Is there anyone getting similar rss problem? Anybody who knows kindly respond. Thnkx