Jmstein7 wrote:
Okay, I made some drastic changes, based on what all of you have more or less suggested:
https://github.com/jmstein7/65c02_errata/blob/main/Schematic_revised.pdfStill stinks
Jon
PS I'm using a WDC 65c02. Got them from Mouser.
PPS This is a generic pcb version of it:
https://github.com/jmstein7/65c02_errata/blob/main/PCB_default.pdf Well, not sure about your latest schematic... seems the first sheet is mostly unchanged, i.e., still no actual reset circuit. The second sheet has issues... look at the '138 decoder. You have A0, A1, A2 going to the 3 inputs, which basically has the outputs at single addresses. Yet you're using these for chip selects for the two VIAs and the ACIA. The VIAs require 16 addresses each and the ACIA 4 addresses. Needless to say this doesn't work.
Also, you've added a 3-input NAND gate and only one gate is used, but configured as a basic inverter. Yet, you have 3 unused gates on the 7402 NOR gate, one of which could be used as an inverter.
I'm going to suggest you back up here.... write some design goals down first. Meaning, define your I/O devices and include how many memory addresses each one requires. Do the same for your desired memory configuration, both RAM and ROM. Include control signals for each device and finally build a memory map to include everything. You then need to define how you generate the signals to support each chip (RAM, ROM and the I/O devices).
Again, it helps to look at some other designs to see how they work. I'll include an old one from my earlier stuff... just the CPU, RAM, ROM and basic decode circuitry to define an I/O page at $FE00 and break that down into 8- chip selects using a 74138. This is quite simple.... my original design for this dates back to the 1980's.... shortly after I got my first Rockwell 65C02.
Attachment:
65C02-CPU-Rev-1.1.jpg [ 681.62 KiB | Viewed 555 times ]