A couple of years ago I caught a bug on the idea of building my own computer. Now I have seen this done but for some odd reason fate has never tempted me to build one myself and learn to program that machine in its own language. The core of the machine is the 8 or 16 bit 65c816 made by Western Design Center, Bill Mench who runs the outfit is also one of the central figures in the design of the 6502. To make a long story short the 16 bit cpu is compatible with the venerable 6502 code. The 6502 is arguably the most popular CPU in history Its still being today in many applications. The 65816 on the other hand did not take off like its little brother. Offhand I can only think of a few machines that put it to work like the APPLE IIGS, Then there were accelerator cards that put the main computers 6502 to sleep and then the 816 took over. Overall the 816 was a little late to the market and never gained its much needed popularity. The biggest death Knell to 65xx based processors was the attitude that a computer was like an appliance, not upgradeable. The XT was a leap in forward thinking, in the fact that the hardware you bought could be moved to the next machine. People became disenchanted with the idea of buying a whole new computer and accessories every couple of years and opted to go with PC compatible hardware, Even Apple had held that opinion way late in the computer industry. As their mac line was not upgradable. So I have decided to make this one more than just a simple board with some blinking lights. This puppy is going to be expandable, and a hack at home funbox.
The basic system contains 1MB of SRAM, Its moderately cheap fast and easy to interface to. Dram requires ram refresh lines and timing and I really dont have time to fiddle with that right now. Perhaps later a board could be made to interface in the expanded area. Since the IO is all on an in system programmable CPLD the memory map can be moved around to change the memory map
Dual Serial Ports allow for debugging of the system. The core is also a CPLD that handles the SPI interfacing based on Daryl Rictors 65SPI. Towards the final stages of this project the SPI port will be able to handle more than 4 devices so that other SPI devices can be connected easily. Video is being provided by a pretty much off the shelf gameduino. I was undecided on the video part of me wanted to try something late era Yamaha.
The objective was to try to attain graphics feel from the era. I decided that gameduino filled that space with a bit more horsepower and it is VGA. The system is built on a ISA slot board. Though many of the same data and address lines are being used it is not PC compatible with ISA cards, but it may later as it gets beyond the infancy stages.
Board 1Oh look at that, sure enough an ISA board (which can be found on ebay time to time for cheap!). Everything is laid out and I used poor mans wire wrap, Wire wrap sockets are so expensive anymore so I use Single inline headers with the wires pushed flat to the plastic holder. I stuff these through the board and solder them to each pin on the socket. They arent long enough for more than 3 connection points per pin, but when you can buy a 100 40pin Sip headers for 7 bux delivered they make super cheap wire wrapping pins.
This is how its starting to flesh out on the breadboard. Due to room I have decided to put the SPI on another board with all its interfaces. I may merge it all into a single board when I have some screened up. The cards will slide into a simple passive ISA backplane. Speed testing and performance on that may make me put in wait states for all access on the ISA buss. I think the limit of ISA was 14Mhz which is within the limits of this design, but may not be for future designs of 100mhz 65816 on FPGA board will produce a necessity for it.
The schematics are in flux right now and I will have to post them when I get more happy with the results.
The Software isnt even in the works yet.
Update 4/23/2015 - Computer crash...Read more »
ah very neat! I too am in the thinking/planning stage of a 65C816 board, in my specific case I am deliberately seeking to make it ISA bus compatible. so I can make use of 16 bit ISA Video & Sound cards.