Hi! Please take a look at this documentation for an S-100 80386DX board that’s capable of running a “sophisticated” operating system like Linux or NetBSD:
I agree the “over the top” daughter board may be necessary for all the components. I suggest we place all the CPU and bus control logic on the main CPU board and use a pair of the newer 40 pin (80 wire) IDE connectors to export all the memory and its interface logic to another board.
In the Intel 80386 Hardware Reference Manual there are circuits for interfacing EPROM and DRAM chips. I recommend using the 72 pin DRAM SIMMs since they are “regular” DRAM chips packed on to mini circuit boards and use the same interface as a regular DRAM chip. The key for exporting a memory board will be to have many solid ground connections between the processor and the memory board so we’ll need to keep them close or just make a double thick S-100 board using a mezzanine connector like we did on the S-100 System Monitor Board. If we maximize the full space available it would give us approximately 100 square inches of PCB space minus the usual ~10 square inches of S-100 overhead for voltage regulators, filter capacitors, mezzanine connectors, brackets, mounting holes, clearance margins, etc.
The main benefit of using the 80386DX is that it meets the minimum criteria for a “sophisticated” operating system like NetBSD or Linux which are both essentially SysV/BSD Un*x derivatives/mutants. AFAIK the minimum requirement is a 32 bit ISA and an MMU with enough address space to hold a rather large kernel and associated components.
The memory 16MB addressing limit of the S-100 bus would be possible in theory to hold Linux or NetBSD but would be extremely limiting in my opinion unless we were seeking a mini Linux like Freesco. We should strive for as large a memory space as possible and I believe 256MB (28 address lines) is a realistic goal using a pair of 128MB DRAM SIMMs. However, this would require at least 24 true address lines being multiplexed to DRAM A0-A11 and 8 individual separate CASx/RASx pairs. To get the density we will need, I think DRAM is the only realistic option without resorting to hobbyist unfriendly large SMT devices. Also we can add a pair of 27C1024 16-bit EPROMs for a full 32 bit data path to the boot ROMs.
This is an enormous project and I recommend starting with a relatively low CPU speed like 4 MHz as a starting point. Once the basic hardware is working identify the bottlenecks one at a time and gradually increase the clock speed. John is well familiar with this technique since all the CPU boards to date have gone down that path.
Thanks and have a nice day!
MACROTRON dram 72-pin simm 128mb.pdf
Description: Adobe PDF document