Jump to content

VideoMacPacHack: PDS video card for the Mac Portable


Recommended Posts

Hi folks, check this out:

 

DualScreen_s.jpg.654b2941ae985ada24291637a03e8eec.jpg

 

That's a Mac Portable driving an external 800x600 SuperVGA display in addition to its 640x400 LCD. It's no trick---Flight Simulator 4 is putting windows on both displays. (Yes, it's Woz's autograph too but that's not important right now.) The secret is this board that was sitting in the PDS slot when a friend salvaged the machine from a university storage closet in 1999:

 

VideoMacPac_top_s.jpg.18740ec720dc14e5286450b114c70024.jpg

 

That's a "VideoMacPac" external display card made by a company called Computer Care Inc. We think this company is long gone now, but if you want a VideoMacPac of your own, it's easier than you might think! My friend Andrew (you'll know him on the forum as apm) was so interested in the device that he:

 

  • Reverse engineered the connector on the board and made a VGA adaptor for it. This was really cool because up until now the card had been dead weight inside the computer. I knew what it was because the machine had a control panel for it already installed, but Andrew worked out the interlock built into the adaptor that actually turns the thing on. Then he:
  • Beeped out the board and duplicated the whole thing, substituting modern components for a couple unavailable old ones. See how there's no ROM on the board? The control panel downloads the CPLD firmware to the card on boot, so there's nothing more to the card than the circuit itself. Andrew dubbed his replacement the "VideoMacPacHack". That's where things stayed for a while, but now:
  • he's put everything up on GitHub! (https://github.com/apmcpherson/VideoMacPacHack) The layout, the BOM, all that you need is there to make your own. Plus there's some really detailed technical writeups about how the thing works, which makes for good reading.

 

Hats off to Andrew for figuring this stuff out---it was fun to watch and to be the rubberduck now and then. Let us know if you make one of your own!

 

Edited by stepleton
format fix
Link to post
Share on other sites

Tom is overly modest about his own role in this project! We actually finished the design back in 2017, but the rest of life took over and documentation seemed like an insurmountable hurdle until the current lockdown.

 

I've tried to put sufficient materials on the Github repo so that anyone can make their own board if they can get their hands on the right parts. The hard-to-source bits are the XC2018 CPLD, the 42C4064 VRAM (in ZIP package) and the oscillator cans, though you can get away with fewer and/or different frequencies depending on which resolutions you need (see the table here). At least for the chips, I was able to find small quantities on eBay, though I still haven't found the exact oscillator frequencies from the original.

 

The whole design is through-hole with the exception of a single extra NAND gate that was needed to replace the original GAL, and would only fit the board in surface mount package. It's interesting to see that there are quite a few video cards of this era based on essentially the same design, whose origin seems to be the Lapis DisplayServer series of cards. This card that Bolle found seems to be another example.

 

Besides the design materials themselves, I've documented what I could reverse engineer about how the card works. It might be useful in adapting this design to other screen resolutions and even to other machines.

Link to post
Share on other sites
  • 2 weeks later...

This is great in so many ways.

  1. Weird obscure niche hardware that is technically amazing;
  2. It gets documented thoroughly through a reverse engineering;
  3. Not just that, but new ones get built and open-sourced.

Hats off. I wish I had a Portable so I'd have an excuse to build one of these.

Link to post
Share on other sites
  • 2 weeks later...
On 4/6/2020 at 3:26 PM, apm said:

The whole design is through-hole with the exception of a single extra NAND gate that was needed to replace the original GAL, and would only fit the board in surface mount package. 

I'm curious about this, were GALs really a problem? Microchip still produces the ATF16v8B that should be compatible with the original.

 

(Older GALs are also readily available on Aliexpress and whatnot; got a whole sack of GAL20v8s on the shelf behind me right now.)

Link to post
Share on other sites
  • 2 weeks later...
On 4/6/2020 at 6:26 PM, apm said:

Tom is overly modest about his own role in this project! We actually finished the design back in 2017, but the rest of life took over and documentation seemed like an insurmountable hurdle until the current lockdown.

 

I've tried to put sufficient materials on the Github repo so that anyone can make their own board if they can get their hands on the right parts. The hard-to-source bits are the XC2018 CPLD, the 42C4064 VRAM (in ZIP package) and the oscillator cans, though you can get away with fewer and/or different frequencies depending on which resolutions you need (see the table here). At least for the chips, I was able to find small quantities on eBay, though I still haven't found the exact oscillator frequencies from the original.

 

The whole design is through-hole with the exception of a single extra NAND gate that was needed to replace the original GAL, and would only fit the board in surface mount package. It's interesting to see that there are quite a few video cards of this era based on essentially the same design, whose origin seems to be the Lapis DisplayServer series of cards. This card that Bolle found seems to be another example.

 

Besides the design materials themselves, I've documented what I could reverse engineer about how the card works. It might be useful in adapting this design to other screen resolutions and even to other machines.

 

the XC2018 FPGA is an interesting chip, born from the XC2064 family of FPGAs which was the first ever FPGA. I ended up running into a copy of XACT so I could work with those chips. 

 

Reverse engineering the bitstream back into XACT compatible logic is somewhat of a bear, and its buggy. I still never got that 100% but eh, is what it is I suppose. 

Edited by techknight
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...