Couple of friends (ccureau, Bor_ed) and I threw some ideas around some months back about building our own singleboard computer which would be based, ofcourse, on 6502 or 65816. Having said that, what followed was some tight discussions upon features over complexivity of the design which I think I rather won .. so this is rather more how I envisioned it.
The system specifications:
Using a 65816 CPU on a separate CPU-board that only has the de-multiplexing logic on it along with oscillator and couple of other components. The reason for going this route (having a separate CPU-board and "mainboard") is two fold. Firstly, to reduce the size of the actual "mainboard" to be able to hopefully to fit it inside the limits of cheap PCB manufacturers and secondly, this approach allows the usage of 6502 or 65816 CPU on this system. The system is designed so that only lowest 64kByte can be used with 6502 and still have a fully functional design while using a 65816 with additional 8 bits worth of decoded address-bus will allow the usage of the additional memory sitting above 64kByte barrier.
The CPU-module connects to the actual "mainboard" which has address-decoding logic for low-RAM (0k to ~56k), 8 16byte sized I/O blocks above that and finally ROM area where we have a 8kByte EEPROM sitting at. This constitutes as the low 64kB area of the memory map. Above that from 64kByte upwards to 16MByte memory top is where a single 30pin 8bit SIMM-socket sits at together with a CBR-refreshing logic circuitry. a 6502 has no access to this area of the memory while 65816 can use this for add-on RAM.
What else sits on the "mainboard" is a Dallas RTC chip to keep time as well as to handle power-on reset and store some default settings in it's internal NVRAM. This serves mostly the purpose of the operating system that will get written for the system.
Then there's the two VIA 6522 chips that serve a variety of purposes. Hanging off from these there is a full 16bit 2,5" IDE interface and a Centronics port along with ps/2 interface for keyboard and some system control lines for LEDs and EEPROM control. Yes, the system is designed to be able to re-write the EEPROM chip in-place.
In addition to the above, we have an 16550 + MAX233 driven rs232 interface along with two Atari style joystick ports. Envisioning to get a mouse and joystick there
Oh, and the compulsory GeekPort(tm) is routed to a connector with remaining I/O block select lines to connect any additional hardware into the system. The system has NMI connected from one VIA to serve as a timer for task-switching for the operating system and IRQ line is routed via a second VIA so that we can easily check which source caused the IRQ.
The status as of writing this is that the schematics are done and preliminary prototype has been build on a breadboard. I will be starting to get some test-code into the thing and test-run it to check that everything works as designed hopefully this weekend.
Questions and comments very welcomed.