As the number of still working Commodore 64, Sinclair and Atari systems dwindle, there is still a lot of demand for such systems, both by those who used such systems back in the 80s and 90s and those who have discovered such systems later on.
The Tomodachi ('friends' in Japanese) X2 project intents to capture all that makes such retro systems so attractive to use along with all of the nostalgic bits, while adding a dose of modern electronics that nevertheless should not get in the way of enjoying all the good that 8 and 16-bit systems had to offer.
Along with full hardware 6502 and Z80 compatibility and an integrated C64/128 and other modes, the Tomodachi X2 project can also be used as its own multi-processor, multi-architecture system, with many interfaces including PS/2, Ethernet, serial & parallel, 3.5" floppy drive support, a Yamaha OPL2 synthesizer chip, high-resolution graphics and much more.
The project's PCB is being designed in KiCad, using a Mini-ITX-compatible layout to allow prototypes to use existing enclosures. The final product may very well use a different form factor. Regardless, the specifications at this point are:
The Tomodachi project isn't a new one. It's something which I have toyed with in some form or another probably since the 1990s. What is new is that for the first time I have decided to put my love for those old home computers and modern technology together to make a system that is practical to make (now and during the coming years/decades). It should also cover all of the points that made systems back then so much fun to use, while not shying away from new technologies that enhance the experience instead of taking away from it.
After months of brainstorming, the design that I came up with is basically the following:
I have had people comment on this diagram with 'it's basically a Commodore 128!', which I think is fair enough. It has the same 6502 compatibility (in the form of the 65C816) and CP/M-via-Z80 compatibility as the C128, though it ups the game by having the 16-bit successor to the 6502, as well as the modern, pipelined version of the Z80.
Also, it has two of each MPU, with the chipset providing access to the full range of DRAM, meaning 16 MB of RAM per 65C816 and eZ80-190 and DMA possible between these RAM segments as well as peripherals. Because there should be peripherals. From a floppy drive (obviously), to Ethernet (100 Mbit at least), to a range of synthesizer chips (Yamaha OPL2, stereo SIDs), as well as LPT (parallel) and COM (serial) ports.
Video isn't drawn explicitly into this diagram, but will be integrated into the chipset, with both VIC-II compatibility as well as its own, 1080p (or better) capable video adapter, outputting video likely via DVI-I (digital & analog output) and DisplayPort.
At this stage a Mini-ITX compatible board layout is being targeted, with the schematic and board layout gradually being finished for the first prototype board. All of this is done in KiCad, naturally. For the chipset an FPGA will be used, with the Lattice ECP5 (without SERDES) being a likely target. Much like the PLA in the C64, it's this chipset that will be the 'magic sauce' that makes the whole system work.
After initial prototyping, fun details such as which shell to use will pop up. Clearly, the system should boot from ROM like the C128 and C64 for that 'instant on' experience. Whether one would use a BASIC shell of some type, boot into a DOS, or use a Forth shell (why not?) is all still up in the air.
My hope is that others will feel interested enough in this project to pitch in, even if it is just with some ideas and sketches on the back of envelopes, scanned in and faxed to me. It's going to be fun, I'm sure :)