Documentation for DB15 to VGA adapters

  • It's #MARCHintosh 2025! Join in on the fun and post your project or play with some new stuff in our #MARCHintosh 2025 thread.

joevt

Tinkerer
Mar 5, 2023
90
39
18
@alxlab I saw your designs but after I had made mine, so I figured I could share anyway. It's fairly large and there's plenty of room to solder easily even with limited skills (e.g. for me ;-) ). There's also a very basic 3D-printable shell. It's not subtle, but it does the job for me :)

In fact I was thinking about an even more trivial version, with just the two plugs and an hardwired configuration, but I haven't yet found a 'proper' way of auto-generating the schematics/PCB from the required sense configuration.
I wrote an app in Think Pascal in 1996 to generate sense line schematics. Each possible sense combination shows 4 schematics. The leftmost is probably the simplest. I suppose two diodes in parallel, one in each direction, would be equivalent to a wire.

There's 512 possible circuits (2(diode left {no,yes}) x 2(diode right {no,yes}) x 2(ground {no,yes})^3(sense line {0,1,2})) that produce 45 different results. Only some of those results correspond to a known display type. This is only for sense lines. Other stuff like sync on green or DDC passthrough for VGA is not included.
MonitorSenseLines.png
 

Attachments

  • MonitorSenseLines.zip
    92.8 KB · Views: 147
Last edited:
  • Like
Reactions: Paralel

joevt

Tinkerer
Mar 5, 2023
90
39
18

Code:
Examining the chart, including all the displays listed in IOMacOSVideo.h, we come up with these options:

====================================================================================================================================================================================================================================
Grounds  Diodes and wires     Sense-code
0g 1g 2g 1>2 2>1 0>1 1>0 2=0     Extended-sense  Apple enum                 VGA adapter setting name   Apple comment                     joevt comment
====================================================================================================================================================================================================================================
0g 1g 2g                      0, 0x00 (00 00 00) kESCZero21Inch             21" COLOR                  21" RGB                           RGB 21", 21" Color, Apple 21S Color     1152x870 100MHz         68.7kHz  75Hz
   1g 2g                      1, 0x14 (01 01 00) kESCOnePortraitMono        PORTRAIT                   Portrait Monochrome               B&W 15", Apple Portrait                  640x870   57.2832,4MHz 68.9kHz  75Hz
0g    2g                      2, 0x21 (10 00 01) kESCTwo12Inch              12" RGB                    12" RGB                           12" Apple RGB                            512x384   15.6672MHz   24.48kHz 60.15Hz
0g 1g                         4, 0x0A (00 10 10) kESCFourNTSC               NTSC                       NTSC                              NTSC underscan 512x384, overscan         640x480   12.2727MHz   15.7kHz  59.94Hz
   1g                         5, 0x1E (01 11 10) kESCFivePortrait           15" TILT                   Portrait RGB                      RGB 15", 15" Tilt                                  57.2834MHz
      2g         0>1          3, 0x31 (11 00 01) kESCThree21InchRadius                                 21" RGB (Radius)
      2g             1>0      3, 0x34 (11 01 00) kESCThree21InchMonoRadius                             21" Monochrome (Radius)
      2g                      3, 0x35 (11 01 01) kESCThree21InchMono        2 PAGE MONO                21" Monochrome                    B&W 21", Apple 2 Page Mono              1152x870 100MHz         68.7kHz  75Hz
0g       1>2 2>1              6, 0x03 (00 00 11) kESCSixMSB1                MULITPLE-SCAN 14"          MultiScan Band-1 (12" thru 16")   Multiple Scan 13, 14"                    640x480 67MHz, 832x624 75MHz
0g       1>2                  6, 0x0B (00 10 11) kESCSixMSB2                MULITPLE-SCAN 21"          MultiScan Band-2 (13" thru 19")   Multiple Scan 16, 17"                    640x480 67MHz, 832x624 75MHz, 1024x768 75MHz
0g           2>1              6, 0x23 (10 00 11) kESCSixMSB3                MULITPLE-SCAN 16"          MultiScan Band-3 (13" thru 21")   Multiple Scan 20, 21"                    640x480 67MHz, 832x624 75MHz, 1024x768 75MHz, 1152x870 75MHz
0g                            6, 0x2B (10 10 11) kESCSixStandard            13" RGB or HI-RES (12-14") 13"/14" RGB or 12" Monochrome     B&W 12", 12" Apple Monochrome, 13" Apple RGB, Hi-Res 12-14"  640x480 30.24MHz 35.0kHz 66.7Hz
         1>2 2>1 0>1 1>0      7, 0x00 (00 00 00) kESCSevenPAL               NTSC/PAL                   PAL                               PAL, NTSC/PAL (Option 1) underscan 640x480, overscan 768x576 14.75MHz 15.625kHz 50Hz
         1>2 2>1     1>0      7, 0x14 (01 01 00) kESCSevenNTSC                                         NTSC                              NTSC w/convolution (Alternate) 12.2727MHz
         1>2 2>1              7, 0x17 (01 01 11) kESCSevenVGA               VGA                        VGA                               VGA 640x480 25.175MHz 31.47kHz 59.95Hz SVGA (Super VGA) 800x600 36MHz 35.16kHz 56Hz, 1024x768 35.16MHz 60Hz
                         2=0  7, 0x2D (10 11 01) kESCSeven16Inch            16" COLOR                  16" RGB (GoldFish)                RGB 16", 16" Color                       832x624 57.2832,4MHz 49.7kHz 75Hz
             2>1 0>1 1>0      7, 0x30 (11 00 00) kESCSevenPALAlternate                                 PAL (Alternate)                   PAL w/convolution (Alternate) (Option 2) underscan 640x480, overscan 768x576 14.75MHz 15.625kHz 50Hz
                 0>1 1>0      7, 0x3A (11 10 10) kESCSeven19Inch            19" COLOR                  Third-Party 19"                   RGB 19", 19" Color                      1024x768  80MHz
                     1>0      7, 0x3E (11 11 10) kESCSevenDDC                                          DDC displaySev
                              7, 0x3F (11 11 11) kESCSevenNoDisplay                                    No display connected              no-connect
====================================================================================================================================================================================================================================


And these are the options for sync modes:
======================================================

                              10 Dip  6 Dip
Mode #: Description           Switch  Switch  DB15M(Mac)->HD15F(PC)
===============================================================================
Mode 1: Composite Sync (1) :  5       4       3->13
Mode 2: Composite Sync (2) :  56      45      3->13 15->13
Mode 3: Sync on V          :    7       6                  12->14
Mode 4: Sync on H          :   6       5            15->13
Mode 5: Separate Sync      :   67      56           15->13 12->14
Mode 6: Sync on Green      :                   
===============================================================================

3 dip switches for grounds (0g 1g 2g)
4 dip switches for diodes (1>2 2>1 0>1 1>0)
1 dip switch for a wire (2=0)
3 dip switches for sync modes (3->13 15->13 12->14) 

11 dip switches total.


If we only include displays listed for the 10 dip switch adapter, then we can get something like this:

                          Sense-code
0g 1g 2g 2>1 1>2 0=1 2=0     Extended-sense  Apple enum           VGA adapter setting name   
=============================================================================================
0g 1g 2g                  0, 0x00 (00 00 00) kESCZero21Inch       21" COLOR                  
   1g 2g                  1, 0x14 (01 01 00) kESCOnePortraitMono  PORTRAIT                   
0g    2g                  2, 0x21 (10 00 01) kESCTwo12Inch        12" RGB                    
0g 1g                     4, 0x0A (00 10 10) kESCFourNTSC         NTSC                       
   1g                     5, 0x1E (01 11 10) kESCFivePortrait     15" TILT                   
      2g                  3, 0x35 (11 01 01) kESCThree21InchMono  2 PAGE MONO                
0g       2>1 1>2          6, 0x03 (00 00 11) kESCSixMSB1          MULITPLE-SCAN 14"          
0g           1>2          6, 0x0B (00 10 11) kESCSixMSB2          MULITPLE-SCAN 21"          
0g       2>1              6, 0x23 (10 00 11) kESCSixMSB3          MULITPLE-SCAN 16"          
0g                        6, 0x2B (10 10 11) kESCSixStandard      13" RGB or HI-RES (12-14") 
         2>1 1>2 0=1      7, 0x00 (00 00 00) kESCSevenPAL         NTSC/PAL                   
         2>1 1>2          7, 0x17 (01 01 11) kESCSevenVGA         VGA                        
                     2=0  7, 0x2D (10 11 01) kESCSeven16Inch      16" COLOR                  
                 0=1      7, 0x3A (11 10 10) kESCSeven19Inch      19" COLOR                  
=============================================================================================
That's 7 dip switches for the sense-codes and 3 dip switches for the sync but there's only 9 dip switches specified in the 10 dip switch instructions.
We need to map the dip switches to figure out how they did the above with only 6 dip switches for the sense-codes.
See https://68kmla.org/bb/index.php?threads/mac-to-vga-monitor-adapter-struggles.45423/post-502564 for the solution.
The first 3 dip switches are not switched to ground - they are switched to a common which can be tied to ground using dip switch 4.
This eliminates the need for separate 0=1 and 2=0 dip switches so we get this:

    Dip Switches
---------------------    
 1  2  3  4  8   9                Sense-code
s0 s1 s2  g 2>1 1>2   Dip Switch     Extended-sense  Apple enum           VGA adapter setting name   
=====================================================================================================
s0 s1 s2  g           1234        0, 0x00 (00 00 00) kESCZero21Inch       21" COLOR                  
   s1 s2  g            234        1, 0x14 (01 01 00) kESCOnePortraitMono  PORTRAIT                   
s0    s2  g           1 34        2, 0x21 (10 00 01) kESCTwo12Inch        12" RGB                    
s0 s1     g           12 4        4, 0x0A (00 10 10) kESCFourNTSC         NTSC                       
   s1     g            2 4        5, 0x1E (01 11 10) kESCFivePortrait     15" TILT                   
      s2  g             34        3, 0x35 (11 01 01) kESCThree21InchMono  2 PAGE MONO                
s0        g 2>1 1>2   1  4   89   6, 0x03 (00 00 11) kESCSixMSB1          MULITPLE-SCAN 14"          
s0        g     1>2   1  4    9   6, 0x0B (00 10 11) kESCSixMSB2          MULITPLE-SCAN 21"          
s0        g 2>1       1  4   8    6, 0x23 (10 00 11) kESCSixMSB3          MULITPLE-SCAN 16"          
s0        g           1  4        6, 0x2B (10 10 11) kESCSixStandard      13" RGB or HI-RES (12-14") 
s0 s1 s2              123         7, 0x00 (00 00 00) kESCSevenPAL         NTSC/PAL                   
   s1 s2               23         7, 0x17 (01 01 11) kESCSevenVGA         VGA                        
s0    s2              1 3         7, 0x2D (10 11 01) kESCSeven16Inch      16" COLOR                  
s0 s1                 12          7, 0x3A (11 10 10) kESCSeven19Inch      19" COLOR                  
=====================================================================================================


If we only include displays listed for the 6 dip switch adapter, then we get this:

   Dip Switches       Sense-code
---------------------    Extended-sense  Apple enum       VGA adapter setting name   
1            3   2
=============================================================================================
0g 1g 2g     0=1 2=0  0, 0x00 (00 00 00) kESCZero21Inch   21" COLOR                  
0g    2g         2=0  2, 0x21 (10 00 01) kESCTwo12Inch    12" RGB                    
0g 1g        0=1      4, 0x0A (00 10 10) kESCFourNTSC     NTSC                       
0g                    6, 0x2B (10 10 11) kESCSixStandard  13" RGB or HI-RES (12-14") 
         1=2 0=1 2=0  7, 0x00 (00 00 00) kESCSevenPAL     NTSC/PAL                   
                 2=0  7, 0x2D (10 11 01) kESCSeven16Inch  16" COLOR                  
             0=1      7, 0x3A (11 10 10) kESCSeven19Inch  19" COLOR                  
=============================================================================================
Notice that there's only 3 dip switches for these sense codes. The columns without a dip
switch number can be derived by the columns with a dip switch number.
 
Last edited:
  • Like
Reactions: XKSTEVE

Melkhior

Tinkerer
Jan 9, 2022
98
50
18
@joevt Nice set of data! But while all those settings were useful back in the day, it's likely 90+% of people looking for such an adapter today only need 'VGA' and 'Multi-Scan 16". Those two will cover all resolutions that have a chance of working with monitors that are even just a bit newer than the Mac they connect to. From the mid-90s onward, everything is multi-sync and is likely to support VGA, SVGA and probably XGA (1024x768)...
 
  • Like
Reactions: bakkus

joevt

Tinkerer
Mar 5, 2023
90
39
18
@Melkhior, true, the VGA or a Multisync option might be the only ones needed to use most displays with Mac OS. However, an adapter that can pretend to be any of the known displays would be useful when one wants to see how Mac OS behaves when a specific display type is connected.

The info was an academic exercise for completeness. But for real completeness, one would perform the same analysis on the other adapters to see if they might have other features that the 10 dip switch adapter doesn't or if they have a more efficient schematic (fewer diodes and switches).
 

jerry507

New Tinkerer
Aug 30, 2023
1
3
3
Hi, I joined to add my Viewsonic VMAC-1 to this list.
 

Attachments

  • vmac1back.jpg
    vmac1back.jpg
    646.8 KB · Views: 128
  • vmac1front.jpg
    vmac1front.jpg
    262.3 KB · Views: 125
  • vmac1instructions.jpg
    vmac1instructions.jpg
    478.8 KB · Views: 133

JDW

Administrator
Staff member
Founder
Sep 2, 2021
1,782
1,517
113
54
Japan
youtube.com
I use the DIP settings below on my UniMacFly adapter with my Mac IIci, either with onboard video or the Radius Thunder 24/GT.

tempImage8HC5qc.png 1711981505409.png

That allows the attached VGA LCD to display 640x480 just fine, and I can switch to higher resolutions with ease too, all without changing the DIP SW settings. It's the 13" 640x480 setting with SYNC ON GREEN.
 
  • Like
Reactions: XKSTEVE

XKSTEVE

New Tinkerer
Nov 2, 2022
43
19
8
Somerset, United Kingdom.
I use the DIP settings below on my UniMacFly adapter with my Mac IIci, either with onboard video or the Radius Thunder 24/GT.

View attachment 15932

That allows the attached VGA LCD to display 640x480 just fine, and I can switch to higher resolutions with ease too, all without changing the DIP SW settings.
This works on my IIci with onboard and supermac 8 card
 

Attachments

  • IMG_3825.jpeg
    IMG_3825.jpeg
    776.3 KB · Views: 60

XKSTEVE

New Tinkerer
Nov 2, 2022
43
19
8
Somerset, United Kingdom.
Here is another one. Not sure what this would work with and it does not like my LC or my supermac 8 or IIci internal video but I only have a single old 15” lcd so it may have been my display (image ghosts) sold it now but still have another without dips to sell.
 

Attachments

  • IMG_0036.jpg
    IMG_0036.jpg
    475.2 KB · Views: 63
  • IMG_0042.jpg
    IMG_0042.jpg
    611.8 KB · Views: 70
  • IMG_0035.jpg
    IMG_0035.jpg
    564.6 KB · Views: 54
  • IMG_0041.jpg
    IMG_0041.jpg
    500.4 KB · Views: 63
Last edited:

XKSTEVE

New Tinkerer
Nov 2, 2022
43
19
8
Somerset, United Kingdom.
Another Unimac Total Technologies Ltd Adaptor; The Unimac 82D as previously pictured but here is the paperwork which I remastered in Serif Affinity Publisher from a badly damaged original. Hopefully this helps someone.

Adaptor tested working on LC, LCII, LCIII, LC475, Iici internal and SuperMac Spectrum 8 mkIII. Settings in picture work on LC - LC 475 640x480.
 

Attachments

  • Canon 6d Studio-5511.jpg
    Canon 6d Studio-5511.jpg
    301.1 KB · Views: 32
  • Canon 6d Studio-5512.jpg
    Canon 6d Studio-5512.jpg
    281.9 KB · Views: 34
  • Canon 6d Studio-5513.jpg
    Canon 6d Studio-5513.jpg
    278.1 KB · Views: 36
  • Canon 6d Studio-5514.jpg
    Canon 6d Studio-5514.jpg
    234.2 KB · Views: 27
  • UniMac 82D.pdf
    652 KB · Views: 30
  • Like
Reactions: Nitram78

XKSTEVE

New Tinkerer
Nov 2, 2022
43
19
8
Somerset, United Kingdom.
Thanks for your work on that manual!
I made a small improvement by swapping out the images for vector art (see attachment below).
Thanks for the updated graphics. Have been meaning to finish mine off for ages but just never seem to have the time so you saved me a job and very kind of you to spare your valuable time.
 
  • Like
Reactions: JDW

phunguss

Active Tinkerer
Dec 24, 2023
346
307
63
Stillwater, MN
Lots of good documentation here, but I have not seen any DIY options. I loved the no-switch NEC multisync adapters. Back in the 90s when I found one that worked the best, I often built my own. I no longer have any of those, and I just acquired two machines that need the Apple DB15 to VGA for use with current/older LCD monitors. Not having any DB15 on hand, I chose to cut a DB25 and make my own. I also did not have a spare VGA plug on hand, so I started with a VGA extension cable and butchered it.
db15VGA-01start.jpg

Cutting the DB25, then bending the shield around a little.
db15VGA-02sawed.jpg

I then found this wiring diagram and soldered it up.
db15VGA-03soldered.jpg

Installed next to a BlueSCSI v2, and works perfectly. I then ordered a standard NEC adapter from eBay, but it didn't work at all.
db15VGA-04works.jpg

So I had to butcher it to find out why.
db15VGA-05dont.jpg

Lots of layers.
db15VGA-06disassembly.jpg

And it looks like neither H-sync nor V-sync from the Mac side was wired to the VGA port. In fact the VGA plug had 4 pins missing. The diode was in the correct location and orientation.
db15VGA-07missing.jpg

I then swiped a spare VGA plug from a "low-profile" adaptable video card (with the 10pin ribbon cable) and soldered it back together (with that previously mentioned wiring diagram.
db15VGA-08soldered.jpg

It was a little too tight to try and cram back into the original molded covering, but I had some longer screws so I am 3D printing a case for it now.
db15VGA-09wider.jpg

Testing it to make sure I wired correctly.
db15VGA-10installed.jpg

And I get all 4 resolutions.
db15VGA-11working.jpg

Final cased adapter.
db15VGA-12cased.jpg
 
Last edited:

XKSTEVE

New Tinkerer
Nov 2, 2022
43
19
8
Somerset, United Kingdom.
Just wanted to put up a public thanks to @alxlab for sharing the schematics and gerbers for these adaptors. Got fed up trying to get originals off eBay, in fact generally fed up with eBay these days with prices seemly to have sky rocketed beyond sensible for all vintage Macintosh stuff- but thats for another post.
Managed to get the parts needed in the UK from Farnell without issue and the PCBs were fabricated by PCBway.
I now have more than I needed but have to say they work exactly as described and are a welcome addition to my collection.
I did end up doing my own design for the cases as I needed them to clear the lip sometimes found on macs and for nubus gpu cards.
 

Attachments

  • Canon 6d Studio-5632.jpg
    Canon 6d Studio-5632.jpg
    451 KB · Views: 11
  • Canon 6d Studio-5633.jpg
    Canon 6d Studio-5633.jpg
    430.8 KB · Views: 13
  • Canon 6d Studio-5630.jpg
    Canon 6d Studio-5630.jpg
    475.2 KB · Views: 12
  • Canon 6d Studio-5634.jpg
    Canon 6d Studio-5634.jpg
    349.8 KB · Views: 10
  • Canon 6d Studio-5628.jpg
    Canon 6d Studio-5628.jpg
    397.8 KB · Views: 13
Last edited: