When it comes to homebrew computer designs, nothing beats the classic microprocessors from 1970s and 1980s. SDC is an idea of a computer bringing together old and new technologies. The SDC consists of some real, classic CPU and a modern microcontrollers acting as memory, peripheral controller, glue logic and a diskette. No other ICs are needed, not even a single logic gate.
The SDC communicates with a PC via USB, which is also used for powering the computer.
It presents itself to a PC as a composite device with two virtual serial ports (VCOMs) and mass storage (for future enhancements). The first VCOM is used for interaction with the hardware monitor (more on this below), the second serves as a terminal interface for the target computer.
The microcontroller also serves as hardware monitor for the target CPU. It allows for:
- memory and I/O display and editing
- .HEX file loading
- target Flash programming
- target control (reset, clock frequency setting)
- hardware single-stepping on bus-cycle or instruction basis (with instruction disassembly), breakpointing, etc.
- examining the details of CPU operation at hardware level - that's how I discovered the interrupt handling error in some clones of 8080A CPU.
Currently there are three kinds of SDC designs:
- SDC_One is a PCB to be placed on top of STM32 Nucleo development board containing either STM32L476 or STM32L496 MCU. There are 5 versions of the board, supporting 8085, Z80, 65C02, W65C816, MC68008 and 8080. Target RAM size is 64 KiB for 8-bit CPUs, 80 or 256 KiB for W65C816 and MC68008. 8080, 8085 and Z80 versions run CP/M-80, while the MC68008 version runs CP/M 68k.
- SDC_Zero is a simplified design, which may be assembled on a breadboard in 30 minutes. It is based on the popular, low cost BluePill board (STM32F103C). Two versions were developed, based on 8085 and 65C02 CPUs. SDC_Zero has 16 KiB RAM and 64 KiB ROM available to the target and may run some flavor of BASIC interpreter (or any other software).
- SDC_85 and SDC_68k are the smallest possible computers based on DIL40 ad DIL64 versions of the processors. The whole computer has a size of a DIL socket, with the microcontroller placed under the CPU. They may run the respective versions of CP/M system (not ready and not tested yet).
SDC_85 is based on 8085 and STM32L412. It has 32KiB RAM and 64 KiB ROM.
SDC_68 uses MC68000 (used in the first MacIntosh computer, Amigas and Atari ST) or MC68010. It has 256 or 512 KiB of RAM and 64 KiB of Flash.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Great job on the SDC designs! The seamless blend of classic microprocessors with modern microcontrollers is truly intriguing. The USB communication and composite device setup for PC interaction showcase innovative thinking.
The clarity in the three SDC designs is commendable, and the SDC_Zero's quick assembly potential on a breadboard stands out. Its adaptability to various CPUs and target applications, like CP/M systems, enhances its overall appeal.
Eagerly anticipating future enhancements, particularly the potential addition of mass storage. Keep up the excellent work! If you ever venture into the realm of technology and adventure, exploring potential desert safari deals could be a captivating addition.
Are you sure? yes | no
Is the code for this project posted anywhere?
Are you sure? yes | no
Ah, I have it. SDC should stand for Software Ducttape Computer. Duct tape sticks things together, and that's exactly what your microcontroller does. Besides, it's a much catchier name. 😁
Are you sure? yes | no
I think you need a more apt name than SDC because my first impression on seeing the term was emulation or virtualization. The architecture of the computer is already defined by the MPU silicon, your software provides virtual glue circuitry. What you are describing is Software Defined Microprocessor Interface. Unfortunately you've already used SDC for several of your designs. Maybe you can retrofit a more apt expansion to SDC. Maybe Software Defined Controller? Software Deputized Computer?
Anyway, cool designs and interesting to read your explorations in this space.
Are you sure? yes | no