I have published my reverse engineering schematics and other work here:
https://github.com/drwonky/Fadal
That repository only included the reverse engineering, I realized the other day that at least 2 Fadal parts suppliers may seem unhappy that I'm digging this deep into reverse engineering. I get the same vibe I got 20 years ago about Ford EEC-IV tuning, everyone who had the information guarded it like a national secret, but in the last 20 years all of the information has escaped and you can learn everything you want.
These machines aren't getting any younger, so someone doing engineering to unlock the designs and create replacement parts means there is a way to extend their life. AFAICT, all of the parts being sold by vendors are refurbished original boards, so they are relying on the resilience of old technology. That said, Fadal seems to have heavily leveraged PAL (Programmed Array Logic) and PROM (Programmable Read Only Memory) chips in their 3rd revisions and later. The -1 CPU board has nothing bespoke, the -2 CPU board has at least 1 PAL and 2 PROMs to replace logic chips. The -4 CPU has PALs all over and the -4 video card has FPGAs (Field Programmable Gate Array) or CPLDs (Complex Programmable Logic Device) doing the heavy lifting.
A single 128KB board retails for $350, this board literally replaces 2 SKUs (1460-0 & 1460-1) and > $1000 worth of boards in a 1400-2 control. I can see why they may not want to share any information.
The cost of getting low quantity boards from Chinese board houses is absolutely mind blowing. 20 years ago I bought 3 prototype boards from a domestic board house that still exists today. It cost me a good chunk of money and took a while. I quoted these recent boards and they gave me a price of $524 for 3 boards! The off-shore board houses are literally 10x cheaper for prototypes. I'm astounded at the cost, but in reality the cost *should* go down over 20 years, since there is more competition and customer base (not just SMBs, but individuals).
I got out of electronics because the parts were expensive, boards were prohibitively expensive, and the software was garbage or had annoying price tags connected to doing anything useful. FOSS (Free and Open Source Software) has made it possible to do professional designs quickly with no out of pocket expense, and I'm not going to be held hostage when Company A buys Company E and makes it subscription only.
I used KiCAD to do the schematic capture and board layout, several board houses have bespoke plugins directly for quoting jobs.
- PCBWay has seamless integration that 1-click sends you to their site and quotes the boards, ready for purchase
- JLCPCB has a plugin that creates the production files in 1-click that you just drag-n-drop to their website, adding a couple more steps
- Sierra Proto has a plugin that is buggy, slow, and not well integrated. Eventually I was able to get a quote for a price that was totally unreasonable.
Unfortunately it was experiences like that last one that pushed me away from electronic design, it was not economical or quick to test and iterate. ExpressPCB came a long and provided free schematic capture and layout software that was directly tied to their fab, and they would quote you boards based on a generic 2x3 deal, or you could get bespoke sizes for more.
OSHPark is a more recent community driven solution for cheapish and fastish protypes. Their boards are very high quality and at certain sizes it's economical. For a 5x10 board it is prohibitively expensive ($264), so I went the cheap route. You also don't get the benefit of ticking different boxes during ordering with OSHPark, like using untented vias, gold fingers, beveling, the list goes on. For an authentic 80's experience, lead tinned pads is the standard for the off-shore board houses.
To explain the test harness better, for those that don't immediately intuit what I'm doing: So you design a board, you pore over the details, you check and check again, but alas you are reverse engineering and not 100% certain what you are doing will work. Well, if you worked for the OEM then you'd just build your prototype and slap it into their board tester, it would safely apply power and exercise your board. If you did something wrong, it would have the safeties in place to avoid blowing up a real control.
I don't have a board tester, so either I test in a "live" CNC control, or I design and build my own board tester. Back when all this stuff was new, everything ran on 5 volts. Devices with 5 volt logic are kinda peculiar, they actually switch from low to high at around 2 volts, and from high to low at 0.8 volts. This means you need at least 2 volts to obtain a "logic high" state, and at most 0.8 volts to obtain a "logic low" state. As technology advanced they moved from "high voltage" processes to "low voltage" processes. The "nanometer" race that you might see with computer chips and cell phones directly drives this. The smaller the size of the transistor, the lower the voltage it runs at, the lower the voltage it runs at, the less power it takes. So by "shrinking" a design you get more power efficiency and lower voltage, basically "for free", but there are asterisks and caveats tied to that statement.
Today's hobby level stuff runs at 3.3 volts, which is lower than 5 volts. This means you need some way of interfacing from 3.3v to 5v safely. In one direction you output ~2.4v into a chip that needs 2v to switch, this is a neat hack that 3.3v logic has up its sleeve. But in the other direction you need to "tolerate" 5v logic. This means you need chips that can run at 3.3v but "tolerate" 5v input. In my tester board I'm using 74LVC245 logic chips, these are 3.3v chips that have 5v tolerant inputs, but will only output 3.3v. There are other variants of the '245 that allow you to have multiple voltage supplies, so in 1 direction it'll output from one voltage supply, and in the other direction it'll output from a different voltage supply. This is an easy way of doing low latency level shifting. I didn't use those chips, it's a 6 in 1, half a dozen of the other scenario.
So, I've got a Fadal board that runs at 5v, talking to 5v tolerant bus transceivers that can talk to the 3.3v microcontroller which runs the show. For the microcontroller that drives the board tester I gave myself 2 options: Raspberry Pi Pico and Parallax Propeller 2. I'm really kind of wasting the Propeller 2 here, but a second revision of the board could dispense with most of the logic chips if I designed it to only work with the Propeller 2. The Propeller 2 can directly interface with 5v logic if you have a series resistance to limit current, because each pin has a protection diode that shunts overvoltages to the power rail, thus it acts as a crowbar with the series resistance to accept 5v input.
While it's possible to dispense with most of the logic chips with a P2, the unfortunate truth is that in the "P2 Edge module" form factor, it's $71 and a Raspberry Pi Pico is $4. So even if I have to spend another $10 on logic chips, the Pico is the cheaper route. I wanted to tinker with the P2, so that's the real reason I added the socket to the board. I was part of the original alpha test group during the development of the P2, and I wrote some software for it back then. It went through a complete redesign after the "P2 Hot" design was deemed to consume too much power.
With my test harness board, I have all of the signals on the backplane broken out to header pins, and the vast majority of active signals are connected to the buffers. In theory I could probably talk to any board left of the Axis drive cage.
Last night I looked at some pictures of the 1400-4 board and Fadal did not connect to any pad on the backplane except 5v and ground. All of the communications goes over that little pin bus connector on the back of the card -- CPU, video, and control interface board. In fact, some of the signals on the CIB board go straight from the narrow connector to the backplane connector (address and data lines).
My guess is that Fadal wanted a 16bit data bus and instead of repurposing the S100 bus to 16bit (like later S100 standards), they just added a secondary bus and connector. The -4 CPU is a 12Mhz 286 processor (running at 10Mhz), and it's my understanding the -4 control can still only have "422k" of memory (but really it's 576KB). The -5 control is a 25Mhz 386sx processor (running at 24Mhz) and it can have up to 16MB of memory. This means the -4 control runs essentially an upgraded version of the software from the -1 through -3 CPU cards, but the -5 CPU runs a completely rewritten software that runs in "protected mode", which allows full access to 16MB of RAM on a 386sx (because that chip has 24 address lines, limiting to 16MB). The -1 and -2 control have an 8088-2 processor (rated for 8Mhz) running at 7.3728Mhz. EDIT: I found a picture of the 1400-3 CPU and it looks identical to a 1400-4, I'm assuming the "wasn't good" reputation is related to the software and not the hardware, since this was the first iteration of the 80286 processor card. Going from 8088 to 80286 is a big step and they are 2 very different processors.
The later CPU cards appear to do wacky things like put a piggyback PC based industrial computer on the board and run the Fadal software. I've been told these are problematic.