Do they (or other low-cost PCB manufacturers suitable for hobbyists) have a search function for which components they can supply?
Yes, but it is a bit wonky:
jlcpcb.com/parts. The part numbers (C
nnn...) are the same as LCSC, so you might wish to use the LCSC catalog, note the part number, and then search on that at JLCPCB.
I've found it easiest to do from within EasyEDA. Just open
the editor, select
File >
New >
Schematic, to start a new schematic. Clicking on the
Library button on the left brings up the parts selector. I use
Search engine: EasyEDA,
Types: Symbol,
Classes: JLCPCB Assembled to find out what JLCPCB have in their catalog. Type something in the search bar center top, for example
TS5V330, press Enter, and you see the list of seven JLCPCB might have in their catalog. Clicking on one lists parts price (not taking minimum quantities into account!), LCSC stock, and JLCPCB stock for assembly. If you don't find what you want, click
Cancel at bottom right; otherwise click
Place and click on the schematic to drop the part there.
Thanks to what I've learned here about the ability to switch off an entire MUX in one go, and experiencing that it's hard to find a single MUX chip with several channels (i.e. 7 or 8 ) along with multiple positions (i.e. 3 or 4) I got the idea that I can probably go for a single position (1:1) MUX with 7 (or more) channels for the new Atari DIN13 output side, and if I recall correctly there are several MUX chips like that to choose from with low resistance and in a solderable package.
Exactly. I'm playing with a cheap USB to isolated UART-and/or-SPI gadget, and using something very similar to route the signals via the unidirectional isolators (cheaper and more robust).
Also note that there are cheap, tiny "configurable" logic gates like 74LVC1G57 (in SC-74/SOT23-6/SOT457, the 0.95mm pitch size that is still hand-solderable), that you can use to generate the three selector signals based on the three position signals. Each one has three inputs and one output. The idea is that to get the logic you want, you tie one or two of the inputs to VCC or GND, so that you get the desired pattern on the output, for enabling the desired muxes/buffers/switches.
How can I find the bandwidth requirement for the Atari ST video output?
TI AN-944 explains this.
Basically, the maximum video frequency is
H×
V×
f/2, where
f is the refresh rate (frames per second),
V the number of rows per frame, including blanking and retrace intervals, and
H is the number of pixels per row, including blanking and retrace intervals.
For the industry standard VESA 640×480 60Hz non-interlaced mode, it is about 12.6 MHz. I'd say any analog switch with 3db bandwidth wider than 30 MHz or so should work for you.
What I would do if I were you, right now, is a table (spreadsheet, I use LibreOffice Calc). Allocate one column for each output connector
pin. Allocate one row for each possible mode. Label each cell with the input connector pin name. This gives you the states of the muxes/switches in each mode, and the needed switch/mux topology can (often easily) be derived from that.
To post a nice table here, quote this message, and examine the code for the table below. Each table row is defined on a single row of text.
so perhaps your solution with multiple chips is the way to go.
Just think of it as a bigger MUX/switch IC split into physically separate parts. Each part gets the same selector/mode signals, and just provides additional channels; like those rotary switches where you can stack additional modules to the same axle, to get more poles.
Consider this example:
$$\begin{array}{l|ccc}
~ & X & Y & Z \\
\hline
1 & A & B & ~ \\
\hline
2 & A & ~ & B \\
\hline
3 & ~ & A & B \\
\end{array}$$
In mode 1, we have X=A, Y=B, Z=not connected.
In mode 2, we have X=A, Y=not connected, Z=B.
In mode 3, we have X=not connected, Y=A, Z=B.
It turns out that we only need four single-pole, single-throw (1:1) switches to implement the above. All I need to do, is expand the mode to four separate signals. 1 becomes 1010, 2 becomes 1100, and 3 becomes 0101. First signal controls X:A, second Y:A, third Y:B, and fourth Z:B switch/mux. The switches/muxes are in parallel, with A going to the first two switches, B to last two switches; X to first switch, Y to middle two switches, and Z to last switch.
Given a three-pole slide switch (SP3T) with a single wiper and three or four pins, I'd need two pull-down resistors and two 74LVC1G45 chips to expand the slide state to those four signal lines. The wiper I'd connect to VCC, and the two outer non-wiper pins to
U and
V with pull-down resistors to ground. Then, in the first state,
U=1 and
V=0; in the second,
U=0 and
V=0; and in the third,
U=0 and
V=1.
The first of the four signals is 1, 1, 0 in the three states. That's just
V inverted; one '1G45 chip.
The second of the four signals is 0, 1, 1 in the three states. That's just
U inverted; one '1G45 chip.
The third of the four signals is 1, 0, 0 in the three states. That's just
U. No chip needed.
The fourth of the four signals is 0, 0, 1 in the three states. That's just
V. No chip needed.
So, this scheme I could implement with the slide switch, two pull-down resistors, two 74LVC1G45 chips (or one 74LVC2G14 dual inverter chip), and four
TI TS5A3167 chips, for about 150 MHz bandwidth and 1Ω on-state resistance, assuming all signals are within 0V and VCC, with VCC between 1.7V and 5.5V (for LVC).
Hopefully you can see how I worked it all out starting from the connection table.
However,
personally I'd just use one of the cheap microcontrollers to do the mapping. That way you can ensure all switches are turned off before new ones are turned on; break-before-make, to ensure no shorts occur. (If above the two first switches are on at the same time, we end up shorting X and Y together.) You can get Padauk PFS154 in SOP-8 (1.27mm pitch) which costs less than ten cents in singles at LCSC, and is programmable in C using the
Free PDK SDCC-based toolchain. Or, you could use a more powerful RISC-V CH32V203 MCU (GNU RISC-V toolchain) for 0.30€-0.40€, and maybe add indicator LEDs and other niceties. (See
this one for how simple they are to use.)