Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

11/03/2023 20:06 d8b-controller

d8b-controller
Hardware
In the CPU, Mackie uses a part that adapts two motherboard serial port
pinouts (COM1 and COM2) to the single male DB25 port. I replaced this with
a dual DB9 RS232 output ports plugged into the motherboard and the ports
mounted in an unused expansion card slot.

I've replaced the hard drive with an


ejectable IDE flash card adapter and
copied the original hard drive image onto a
CF card using Macrium Reflect Free
Edition. I removed the floopy drive and
put the front plate of the flash drive in its
place. This makes it easy to switch back and forth between booting
MackieOS (flash card in), not booting to anything at all (eject the card
and the system will stop after the POST but will still fully power the
console, which isn't the case if you remove power from the
motherboard), or booting Linux (insert a different flash card).

My development/control computer sits in between the CPU and the Console


using a USB quad-RS232 serial port. I've assigned its ports to COM11 (CPU
COM1), COM12 (Console COM1), COM13 (CPU COM2), and COM14
(Console COM2). The two CPU ports (COM11/COM13) are connected to the
CPU using null modem RS232 cables to the corresponding new DB9 RS232
ports on the back of the CPU. The two Console ports (COM12/COM14) use
the custom harness described below to tether to a stock DB25 cable which runs
to the back of the Console.

The power cable is connected as usual


from the CPU to the Console.

As best I can tell, the DB25 cable is organized as two sequential RS422
serial lines, but in practice so little of the RS422 protocol is used that it's
sufficient to just connect three wires for each (RX, TX, and GROUND).
I used ribbon crimb connectors and ribbon cable because they require no
soldering and are (if you're careful) reusable.

I built my tether using two DB9 Female ribbon crimp adapters, one DB25 Male ribbon crimp adapter, and
some color-coded 10-conductor ribbon cable. This d8b-2-mcu wiki page was very helpful in figuring out
how to cross from RS232 to the cable's RS422 wiring.

On the DB25 side of the tether, I simply stacked two ribbons, with the
first ribbon's black wire at pin 1 and the second ribbon's black wire at pin
6 (so the ribbons are flush with each other and with the "leftmost"
logical side of the connector).

NOTE: Any decent component will have the pin numbers labeled,
usually on the contact face -- the part where the male and female
connectors interface. Use those numbers to figure out where the wires
go. Don't trust your ability to translate between a flat 2D picture and the
3D object in your hands.

d8b.adamdbradley.com 1/2
11/03/2023 20:06 d8b-controller

On the DB9 side of the tether, the ribbon connected to the DB25 pin 1 is
"COM1" and the ribbon connected to the DB25 pin 6 is "COM2". They
are both connected to the DB9 using the same pattern: the second ribbon
wire (white) goes to DB9 pin 6, the third ribbon wire (gray) goes to DB9
pin 2, and the fifth ribbon wire (blue) goes to DB9 pin 5.

I suspect that a much simpler tether could be built with a dual DB9
RS422 adapter; instead of hand-wiring the DB9 end, you would simply
crimp the ribbons directly into the DB9s with each of the black wires at
pin 1. I haven't tried this though, so caveat emptor.

Software
I use Eclipse for my day job, so I used it here too.

The code requires the Java 1.8 JRE for the java.time API and a few other niceties.

I used Macrium Reflect Free Edition to snapshot the MackieOS hard drive and build the flash drive images.
One irritation is that I was unable to write the flash images using normal USB flash adapters; I had to use the
Flash IDE adapter, plugged into an IDE-to-USB adapter.

The source code is in Github: github.com/docbradley/d8b-controller and is currently licensed under LGPL
v3.

The code uses the JSSC library to drive the serial port, Google Guava and Apache Commons-IO for utility
classes, and the ubiquitous junit for unit testing. Dependencies and build logic are modeled using Maven.

Colophon
Typeset old-school style using a text editor to write HTML by hand.

Copyright © 2014 Adam D. Bradley. All rights reserved.

d8b.adamdbradley.com 2/2

You might also like