Mac Sync-inator Update
I’m beginning to see the light at the end of the tunnel for my Mac Sync-inator Mac to VGA adapter. The hardware is essentially final now, and all that remains are software tweaks, which are mostly related to the new composite sync splitter behavior. Along the way I’ve amassed a large test fleet of different monitors and an even larger number of Macintosh and Apple-compatible video sources, and testing all those combinations has been very slow.
Elevator Pitch
The Sync-inator is a small in-line dongle that aims to be a “pro version” of the Mac to VGA adapters you likely already have, and that takes some of the frustration out of the Mac-to-monitor setup dance, and enables some new combinations of video sources and monitors to work together that were previously incompatible.
The Sync-inator works by rerouting, modifying, or splitting the sync signals from the video source before they’re sent to the monitor. It’ll do everything that common Mac to VGA adapters (e.g. Belkin) will do, plus more. Sync-inator is not a video scaler, and the timing and resolution of the RGB video signals are not modified in any way, only the sync.
The Sync-inator’s “normal” features are:
- DIP switches to set the desired video resolution. Settings for common resolutions are printed on the back of the device.
- Configurable passive methods of sync pass-through, like a sync switch matrix.
The “pro” features of the Sync-inator over standard VGA adapters are:
- Micrcontroller-driven active splitting of a composite sync signal into separate hsync and vsync signals. This is essential for older video sources that only provide composite sync. Although some monitors can handle composite sync or sync on green directly, many can’t, and for those monitors a composite sync splitter is required. This is what motivated this project initially, trying to get my Mac IIci built-in video working on one such monitor.
- Auto-detecting and auto-configuration of the sync behavior, reducing the typical setup hassles experienced with other adapters. If it senses that hsync and vsync signals are already present, it’ll simply pass them through. If those signals aren’t present, then it’ll kick over to composite sync splitter mode.
- Sync-inator has two LEDs that will visually show whether the video source is outputting composite sync, separate h and vsync, both, or neither. This should further reduce setup hassles, by making it easy to distinguish between cases where there’s no picture due to sync/resolution compatibility problems versus cases where the video source isn’t outputting anything at all.
- Sync-inator has a serial port that will dump a bunch of diagnostic info about the video source and its characteristics and timing. That’s fun for video nerds, and maybe useful for something.
“Sync splitting” is a slightly misleading term, because it sounds like there are already two signals that simply need to be separated. In reality it’s more like “sync generation”, synthesizing two wholly new hsync and vsync signals using the csync signal as a reference. This is straightforward in theory, but in practice it’s proven challenging to get every timing detail 100 percent right. Along the way I’ve discovered that some monitors care about certain aspects of hsync and vsync that others don’t seem to: like whether they trigger from the hsync falling edge, rising edge, or both edges, their sensitivity to changes in hsync pulse width, and their tolerance for small amounts of jitter in sync signal edges.
Apple IIgs Testing
The Apple IIgs uses the same DB-15 port as early Macintosh computers for connecting RGB monitors, so I wondered whether the Sync-inator could also be made to work on the IIgs. The answer is mostly yes, although there are a few things to watch for. Although the IIgs uses the same pins as the Mac for RGB signals, grounds, and composite sync, some of the other pins are different. On the Mac, three pins are used as a Sense ID to set the desired video resolution, but the IIgs uses one of these same pins for a -5V power supply. It doesn’t need a Sense ID since it always outputs the same video resolution. Unfortunately this means one of the Sense ID DIP switch combinations will connect the IIgs -5V supply to GND. This isn’t fatal, but it prevents the IIgs from turning on, and it’s definitely not good. For IIgs use, the Sense ID switches can all be turned off.
Another challenge for the IIgs is the horizontal sync rate of 15.7 kHz, which is much lower than typical monitors will support. Even if the sync signals are all good, most monitors will refuse to display the RGB video from a IIgs. For testing purposes I bought a Samsung SyncMaster 512N specifically because it was reported to work at 15 kHz with the IIgs. Unfortunately it was a bust. The 512N’s activity LED would turn green and the backlight would turn on, but no picture would appear. The monitor’s front panel buttons were also unresponsive, as if the monitor firmware were frozen. I tried the IIgs’ RGB video in composite sync splitting mode, as well as sync-on-green and csync-to-hsync modes, with the same results every time. The failure in csync splitting mode could be a flaw with the Sync-inator, but the other modes should definitely have worked since this monitor supports 15 kHz as well as SOG and csync-to-hsync (I confirmed its sync support with some other video sources).
So I started doing some digging. In the manual for the 512N, it lists 30 kHz as the lowest supported refresh rate, not 15 kHz. Then I found a handy web page with a big list of older monitors and brief reports of their 15 kHz support. This page lists the 510N’s 15 kHz capabilities as “partial”. It doesn’t have an entry for the 512N, but I think they’re the same thing with and without audio speakers. The other SyncMasters in the same product series were also listed as “partial” or “no”.
After doing more reading, this leads me to believe that 15 kHz may be an undocumented feature that may only work on some 512N samples. Either Samsung changed the internal design during the product’s lifetime without changing the model number, or it’s a question of engineering tolerances and manufacturing variability whether 15 kHz works or not. In my case, the answer seems to be “not”.
Update: I later discovered that the IIgs was in PAL mode (50 Hz refresh). After switching the IIgs to 60 Hz vertical refresh, the 512N behaved identically to the VE228H described next.
A Second 15 kHz Monitor
But hang on, that handy web page also lists the Asus VE228H as having full 15 kHz support, and that just happens to be one of the eleven monitors in my growing fleet of test equipment. So I hooked up the VE228H in sync-on-green mode, and it worked! The title photo shows an Apple IIgs GS/OS desktop output via the Sync-inator on the VE228H. I also tried the mode where csync is sent to the monitor’s hsync input, and that worked too, even when I physically cut the green video line to be certain the monitor wasn’t sneakily using SOG.
Sadly the Sync-inator’s csync splitting mode didn’t work on the VE228H – mostly it just showed a blank screen or “out of range” error. That’s OK because csync splitting isn’t needed in this particular case, since one of the other sync modes can be used instead, but it meant that something wasn’t quite right with my 15 kHz csync-split signal. That might eventually be a problem in other settings with other monitors. I spent a long time fiddling with parameters and attempting to hand-tune the resulting sync signals to be as good as possible, and while I did succeed in getting the IIgs video to appear for brief moments, I never found a combination that worked reliably.
Is this a failure? Looking at that 15 kHz web page list again, most of the comments for monitors that worked say that they were tested with a simple passive adapter, without any fancy sync processing. The Sync-inator can do that too, as my tests showed. A 15 kHz csync splitting mode would only be relevant in cases where somebody has a IIgs and a 15 kHz monitor, but the monitor only supports 15 kHz on its separate hsync/vsync inputs and can’t support that same signal as sync-on-green or csync-to-hsync. The comments on the web page would suggest that’s a rare situation, maybe non-existent. Manufacturers that include 15 kHz support probably know that they’re targeting older computers and game consoles where composite sync and SOG are common.
Given all this, I’m planning to remove explicit IIgs support from the csync-splitting code, since it doesn’t work in its current incarnation, and since most of the time it should be possible to use another sync mode with the IIgs (assuming a 15 kHz monitor). Removing the IIgs-specific code would have other benefits too, slightly simplifying the main loop code for csync splitting and enabling it to run a bit faster, which might also help in other areas.
Status and Next Steps
With that, I think I’ve nearly reached the end of compatibility testing. One significant change made recently is the addition of a feature that dynamically changes the microcontroller’s system clock speed depending on the supply voltage it detects. The Sync-inator is normally self-powered, drawing its supply current from the sync signals themselves, and the supply voltage varies depending on the particular Mac or video card being used. Higher clock speeds require higher supply voltages. This clock speed adjustment allows for slightly more precise csync splitting behavior when sufficient voltage is available, but has no effect on the other passive sync translation modes.
“Normal” Mac-to-VGA adapter behaviors are now 100 percent working, including setting the desired video resolution through DIP switches, and choosing a passive sync translation mode. This matches the capabilities of other Mac-to-VGA adapters.
For troubleshooting help, the csync and hsync/vsync activity LEDs are working, and the serial port output is working. The default DIP switch setting for the sync mode is also “automatic”, which aims to reduce guesswork.
For the Mac IIci and IIsi, composite sync splitting is 100 percent working on every monitor that I’ve tested. That was my main goal, and it’s met. This enables the IIci and IIsi to work on a wider selection of monitors than before.
I’m fairly certain there aren’t any other Macintosh models whose built-in video doesn’t output separate hsync/vsync signals and that would benefit from csync splitting. Among plug-in video cards, I’ve only found a few early cards from the 1980s that don’t output separate hsync/vsync. For the Macintosh Monochrome Card, composite sync splitting with the Sync-inator is working out-of-the-box with 90 percent of monitors tested, and the one exception also works if an external 5V power supply is used. That’s great.
The Toby Nubus video card has a strangely different csync signal than others. It works with all of the monitors tested, but has a few quirks. For a small number of monitors, an external 5V supply for the Sync-inator is needed when using csync splitting mode. One “Planar” brand monitor balks at the csync splitting signals from the Toby, but automatically switches over to sync-on-green which works. I’d rate the csync splitting support for Toby as 4.5 out of 5 stars.
The SuperMac ColorCard SE/30 is another oddball. It fares similar to the Toby, working with all of the monitors tested but requiring a 5V Sync-inator supply when used with some fussier monitors. The benefit of a 5V supply appears to increase for higher resolution video modes. The Planar monitor behaves the same as with the Toby card, switching over to sync-on-green. I’d rate the csync splitting support for this SuperMac card as 4.5 out of 5 stars.
Although I’ve focused heavily on csync splitting in this discussion, most of the time csync splitting mode won’t be needed, because you’re not using a crusty old video source with composite sync or else because your monitor supports SOG or csync-to-hsync. Those common cases are completely working, 5 out of 5 stars.
I still need to clean up a few loose ends here, but I’m hoping I can finally finish this project soon.
Read 10 comments and join the conversation10 Comments so far
Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.
Excellent, news, thank you for all the good work Steve 😊 This is about 640×480 support, right? What is the status of 800×600 or 1024×768 support? I remember you mentioning difficulties in case of “flatlined” blank signals or so…
It’s not limited by resolution, and composite sync splitting should work for any video resolution, although most composite Mac sources are limited to 640×480.
Some composite video sources continue to provide timing pulses on every scan line during the vertical sync, but some (Toby and the SuperMac Color Card) don’t. Those are the ones I described as “flatlined” because the composite sync signal essentially turns off for several lines during the vertical sync period. Both types of sources are now working with the Sync-inator, but the flatlined signals are more difficult to handle. With no external timing information during the flatlined period, the Sync-inator must generate hsync pulses using an internal timer whose resolution and phase aren’t a perfect match for the video signal. This creates a slight discrepancy (tens of nanoseconds usually, but sometimes more) between the generated hsync pulses and a theoretically perfect hsync pulse. When the supply voltage derived from self-powering is too low, then the microcontroller clock speed must be reduced, which makes the timer resolution more coarse and exacerbates this issue. In those cases, attaching an external 5V supply enables the microcontroller to run faster and get more fine-grained timer resolution.
This isn’t an issue for the Mac IIci or IIsi, or the Macintosh Monochrome Card, because they provide timing pulses during the vertical sync. And it’s mostly not an issue for the Toby card, because the self-powered voltage is high enough to run the microcontroller at full speed. It’s really only the SuperMac ColorCard where it becomes an issue. Composite sync splitting on that card with the Sync-inator self-powered worked on about two-thirds of monitors tested. The remaining monitors worked after a 5V external power supply was connected.
Some thoughts on getting extra power from the Mac:
Two ADB sockets on the Syncinator PCB and an ADB cable could easily add a good +5V supply.
Alternatively, put the two ADB sockets and a USB type A socket on a separate PCB, add an ADB cable and a USB type A to Micro-B cable.
Some early slimline USB-CDROMs and external harddisks for PC use came with a special PS/2 plug combining Mini-DIN male and female in a single case, and a cable with a DC plug to deliver more current from the keyboard/mouse connector to the peripheral than available on USB. That could in theory also be used for ADB, but I guess getting such a plug made is way too expensive.
I hear ya on the monitor situation. I have an Apple IIGS setup which I’ve tried various solutions to get a proper VGA signal out of for display on a modern VGA LCD monitor.
I’m currently using a Manila Gear VGA Adapter (a DA-15 to DE-15 adapter with an integrated sync separator, about $50). I’ve experimented with a number of monitors because you indeed need one which will sync down to 15 kHz. Add the Samsung Syncmaster 171MP to your list (2002 vintage), as I have one and it works. Acer seemed to have quite a few workable ones on that 15 kHz webpage list, so I tried my just purchased Acer SB220Q bi, 21.5 inch LCD and I was amazed it worked immediately and had a very sharp, crisp display as well. These monitors go for about $80 on sale right now.
The scaler cards will work so that *most” modern monitors will accept their outputs, but they are inherently a little blurrier in their display.
For now, I’ll probably settle on my Manila gear device and the Acer monitor.
Good luck with the project Steve.
@WILLIAM SCOTT does the IIgs image on the Acer monitor appear stretched, or can you configure settings to get the correct aspect ratio?
The Manila Gear adapter is very similar to my first-generation Sync-inator prototype that I described last October: https://www.bigmessowires.com/2023/10/11/mac-to-vga-sync-splitter-prototype/ The MG adapter connects the composite sync signal to the monitor’s hsync input, and uses an LM1881 chip to generate a new vsync signal. This version of the Sync-inator does something very similar except with software instead of an LM1881.
The image is stretched horizontally, I’d say about 2x. I haven’t found a way to correct the aspect ratio on this Acer monitor.
Initial product description and usage info is now available at https://www.bigmessowires.com/mac-sync-inator/. I’m looking for a few beta testers with time and interest to put the Sync-inator through its paces, let me know if you’re interested.
Thank you Steve and good luck with the project. I’ll be following your progress. I have commitments for February and March which will take me away from my gear, so unfortunately I can’t be of assistance. Sorry.
Another excellent choice for a monitor is the currently sold Dell SE2722H:
https://www.dell.com/en-us/shop/dell-27-monitor-se2722h/apd/210-ayyh/monitors-monitor-accessories
See the discussion here for details:
https://forums.atariage.com/topic/329388-a-new-27-inch-monitor-that-is-available-and-works-100/
I purchased one and it works flawlessly in all modes with my Atari ST.
One more comment:
You might want to experiment with the Extron RGB-HDMI 300a:
https://www.extron.com/product/rgbhdmi300a
You can get them rather inexpensively on eBay, and they do an amazing job with weird RGB signals, including (for example) my Sharp x68000. Would probably be a great combo with your adapter, which I just ordered (thanks!).