I've had the idea for a side project for quite some time. It's nothing new but I've wanted to prototype 65c02 computers as easily as the Arduino folks do with their shields.
My idea was to build modules (or "bricks") that would have common lines in the same place for each brick.
For example, the address bus, data bus, etc. would be in the same spot. Other bricks that use those buses would have the same headers in the same spot. So a 65c22, for example, would have the 8 data pins in the same spot. Four address pins (A0:A3) in the same spot, etc.
Now certain pins that are specific to the 65C02 and not useful for other bricks would be in their own section. Not connected to anything but a header for experiments. Of course, a custom brick could be made to use those pins as needed.
Finally, a section for chip selects is off to the side and not connected to the CPU. I haven't figured out how I would do this yet. But I'm thinking of several different "glue" bricks that would tie an address line and a line from a mux, etc. into a chip select. Or a glue brick could be a CPLD that ties all of the chip selects into address lines or where ever.
A ROM brick would tie into address pins, data pins, RW, etc. But again, the "magic" would be with the glue bricks.
At the very least, I would have a small board with a 65c02 ready to plug in with fewer wires.
Your thoughts are welcomed. I would love your opinions.
I used the EasyEDA to design my board. This is the first board I've ever designed so I'm sure I've made mistakes.
One thing missing is an on-board clock. I realize I forgot that. I have a pin for an external clock. I could use some ideas for that too. Perhaps having an on-board clock would be ideal. But keep in mind I'm not designing for speed. 1-4 Mhz tops.
Also, notice there is a jumper for the power source. I thought it would be nice if each board could select between 3.3v and 5v. All they would have to do is put a jumper on VCC. Of course, level shifters would be required on modules of different voltages.
Thanks!
https://easyeda.com/editor#id=u41trXf9qI