| D-Bus Interface |
|
The first thing you notice about most CP/M systems (at least the ones I had) is that they're not expandable; no slots in the mother board. This was a step backward for me, having abandoned my old homemade S-100 system, which had lots of slots, but essentially no operating system (no disk drives!). Something had to be done. There is only so much satisfaction you can get by moving characters around on a text-only CRT display.
So I invented the D-Bus. By removing the Z80 from its socket, and replacing it with a Z80 in a wire wrap socket, I now had access to the bus. This is a fairly common trick these days, as you well know if you've installed a processor upgrade kit lately. By adding a latch, a buffer, a little decoding, and a connector to the perf board, I now had the capability (theoretically) to hang 256 devices on the D-Bus while consuming only 2 I/O port addresses on the CP/M system.
The D-Bus connector design was driven by my supply of surplus parts. (This seems to be a recurring theme with my projects; hardware sitting around just waiting for the right project to come along.) I had a lot of 40-pin 3M IDC connectors and ribbon cable around, and a 40 conductor interface worked out perfectly: 8 data lines, 8 address lines, 4 control lines, and alternating grounds in between. Need another port? Just crimp on another connector.
Each D-Bus device I built would be assigned an address, (or addresses) which was then hard wired into its D-Bus interface decoding. In reality, I never attempted to hook all of my projects up simultaneously, but it's comforting to know that I could have, if I wanted to. (Bus loading? Nah...)
Anyway, I don't expect people to read this and immediately start building
their own D-Bus interfaces. I only included it here because so many of my
other projects were built to run on it, and I thought it would be nice if
people had a point of reference for what I was talking about. There's
nothing magical about it. It was just my way of solving the non-expandability
problem I had. What does the "D" stand for, you ask? I'll never tell.
|
|
|||||