• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Mac "flicker free" oddbal frequency reslutions to True60HzVGA by active conversion

Trash80toHP_Mini

NIGHT STALKER
I mentioned Three Two Pulldown conversion of 24FPS Movie frames to the 30FPS NTSC Television format in passing a while back, but nothing came of it. So to reboot that WAG, here's the graphic from the linked Wikipedia article:

image.png

The classic approach creates two "dirty frames' of five and the modern version creates a single "dirty frame" of five causing "judder" which can be minimized.

Roughly, as I understand it anyway: Pre-VGA Mac resolutions for Built-in Video and early Mac Video Cards run at higher than 60Hz frequencies producing 67FPS (66.6?) and 75FPS output at several standard VGA and Mac Specific resolutions.

My theory here is that in an active VGA converter with CPLD might produce/reduce common denominator interframes per the Three Two Pulldown model. If CPLD conversion is fast enough for the task, no classic 3-2PD "dirty frames" need be produced by simple combinatorial algorithms if tweening can be implemented in the process? By indexing freqs with the Gamba CPU, VRAM, and Monitor Matrix, tables, a large, but limited set of Mac/VidCard resolutions/frequencies to be converted can be generated. From there we'd reduce the parameters to a workable set for common VidCard output that's beyond the capabilities of onboard video as well as the answer simple things like the eternal question: How do I convert IIci video to VGA, it's not working with my adapter?

I know, kinda complicated as usual for my notions, but an interesting twist came up in between that offhand mention and this proposal:



Rather than worrying about producing HDMI output from the video buffer in a new VidCard design over a limited set of I/O lines, CPU/VidCard Video input requires next to nothing in terms of I/O lines, no. Knocking things down even farther in the food chain, might such a setup be prototyped (at reduced frame rates if needs be?) on GPIO lines in the PiVerse?

Obviously, all of this is well beyond my pay grade, but stringing crap like this together via outlandish WAG is what I do. Whatchathink?

Lest we forget featuritis: Add support for infernal, proprietary DE-9 TTL Output to Dedicated Monitor VGA conversion to the wish list? ;)

edit: forgot the bit about automagically scaling Mac resolutions to 1080p Displays over HDMI at convenient letterbox framed sizes.

 
Last edited by a moderator:

Trash80toHP_Mini

NIGHT STALKER
http://lowendmac.com/1994/macintosh-display-card-24ac/

  • 640 x 480 @ 67 Hz
  • 640 x 480 @ 60 Hz
  • 800 x 600 @ 60 Hz
  • 832 x 624 @75 Hz
  • 1024 x 768 @ 60 Hz or 75 Hz
  • 1152 x 870 @ 75 Hz
  • 640 x 870 @ 75 Hz
  • Maximum Bit Depth: 24-bit/16.7 million colors (all resolutions)
640 x 870 Portrait Res in 16 grays is the most you can squeeze out of that infernal Vampire Video/RBV setup of IIci and IIsi. Scaled up or even unscaled it would be nice to send over HDMI to a cheap-as 1080p Panel. Pixel Doubled 640x480 at 1280x960 would be pretty sweet from those machines, with or without interpolation.

8-bit Portrait output and the additional 8-bit 832x640 16" resolution that Radius Color Pivot Cards offer to LC and 030 PDS Macs would be doubly sweet, again scaled or unscaled.

Coffee's kicking in so that's it for today's WAGs, I hope this makes sense to someone and might prove workable. Finding a MultiSync Panel for Paleolithic Mac resolutions/freqs ain't gettin' one bit easier. ::)

 
Last edited by a moderator:

Cory5412

Daring Pioneer of the Future
Staff member
To my knowledge, the only two modular Macs that can't output 60Hz VGA are the IIci and the IIsi, aside from, say, ultra-budget Mac II-era video cards.

If it's not unreasonably difficult to find an LCD monitor that will just accept 67Hz, I don't see why you couldn't just use one of the normal fixed-mode adapters with the knob or switches to configure 640x480 and then be off. There is even a new run of them being sold on eBay by at least an australian seller.

You probably could build, or find an off-the-shelf scan converter if your only option was some PC monitor from 1987 that can only accept, strictly, 640x480@60, but there's bound to be a better solution.

 

Trash80toHP_Mini

NIGHT STALKER
I think you've missed the point: at this  time what you say may be true to a very limited extent for that one pitiful resolution. But the supply of MultiSync CRTs is rapidly dwindling. Capable MultiSync LCD panels are showing their age and being phased out of currently available product from what I've seen. I expect availability of new MultiSync Displays compatible with classic mac freqs/resolutions to drop off entirely in the not so distant future if that hasn't happened already?

Unfortunately we're currently mired in the age of inexpensive 60Hz limited 1080p Displays. While a terrible desktop resolution to my way of thinking, is an incredibly inexpensive vehicle to fold a wide variety of Classic Macs into our primary workstations. With single of multiple HDMI inputs and BMOW's magic ADB box, current USB, multiple HDMI inputs of cheap switchboxes will suffice and modern KVM switch tech can be brought into play.

BTW, I'm the one who pointed out that new build Adapter from Oz.  [;)]

With the active adapter as proposed, just as oddball 75Hz higher resolutions on the list come into play from more advanced, VRAM enabled built-in video output and VidCards over several generations.

  • 832 x 624 @75 Hz
  • 1024 x 768 @ 75 Hz
  • 1152 x 870 @ 75 Hz
  • 640 x 870 @ 75 Hz


Active Adaptation of those resolutions to 60Hz 1080p over HDMI could be the cat's meow? It would without doubt bring the most out of the sad;y limited capabilities of the IIci and IIsi. Portrait rocks, even in 16 grays it puts 640x480 to shame, color or not. Again, that's the way I see it. Pixel doubled 640x480 in color from the RBV twins on a HDMI panel would kill.

 
Last edited by a moderator:

Cory5412

Daring Pioneer of the Future
Staff member
My point was that LCDs such as the plentiful Dell UltraSharp series are likely to be able to accept these different resolutions.

Anything multisync-era (incl. the 24ac, most Quadras after the 700/900, the 24ac, all PowerPC Macs) are new enough that it should have no problem syncing down to 60Hz for any resolution they support, and in my experience using an ultrasharp with Sun equipment, they have no problems with non-native resolutions. (1152x900 is the Sun default resolution, for example.) Those MultiSync presenting machines and cards don't even need DIP switch adapters, a DB15-HD15 cable (such as the one used on the multiple scan 1705) or a regular VGA hd15 cable and a DB15 to HD15 adapter will work fine.

I am using a Dell P1914, but this would apply to any UltraSharp 170xFP or 190xFP  (and the newer WFP variations.) Monitors matching this general description are still being made by Dell and HP at the very least. For example, the updated version of the display I use https://www.dell.com/en-us/work/shop/dell-19-monitor-p1917s/apd/210-aiij/monitors-monitor-accessories

I don't think this is anywhere near as big a problem as you think it is. At absolute worst, all we have to do is be careful not to trash the entire stock of business midrange LCD computer monitors made in the past twenty years, and we'll be fine.

 

Gorgonops

Moderator
Staff member
To my knowledge, the only two modular Macs that can't output 60Hz VGA are the IIci and the IIsi, aside from, say, ultra-budget Mac II-era video cards.
Actually a lot of fairly high-end cards don't support 60hz, that didn't really get to be a priority for Apple until around the time the later LC models came out.

Anyway, I'm not entirely clear on what Trash is proposing here; the standard way of dealing with mismatched frame frequencies when doing video conversion without tearing or other artifacts is to rely on digitizing whole frames into a two-page framebuffer so you can hold one frame on the screen for however long you arbitrarily need to while the other page fills up. In a case like converting from 67hz to 60 this would have the practical effect of some frames being dropped on the floor and a slight delay being introduced to the feed. (If you make the bear dance well said delay probably won't be more than a little less than twice the frame interval.) "Dirty Frames" as referenced in the Wikipedia article about pull-down aren't really a thing here because that's a characteristic of interlaced output devices.

That need for a substantial amount of RAM on the conversion device for buffering frames is why those cheap VGA-HDMI converters expect you to use a frame rate appropriate for the output device on the HDMI side. There really isn't a very clean way around that. People *are* already churning out FPGA-based double-buffering converters like described above for various older home computers (there's a really nice one out there for converting CGA and EGA, for instance) but those low resolutions need only a fraction of the RAM you'd need to buffer a high-resolution display intended for an analog monitor in full color. (IE, a device that double-buffers 640x480@24 bit needs around 2MB of RAM and some quite fast A/D converters, and the requirement climbs upwards from there.) Also remember that analog-to-digital is fundamentally harder than digital to analog; all it takes to do digital-to-analog is a resistor ladder.

In short, this is fundamentally not a cheap or easy product. The requirement for a ton of high-speed RAM (broadly speaking twice as much as you'd need for a video card of the same resolution) and those super-fast A/D converters probably add up to make this *not* an easier ask than a full new-build video card.

 

Cory5412

Daring Pioneer of the Future
Staff member
That's fair, and my expertise basically starts in 1990. Although, I have been told some of the higher end video cards (like, color ones that work on multiple monitors) from the II-IIx/IIcx era do work with Apple's own multiple scan displays, so I don't see why those wouldn't work with a modern LCD, even if you do need to trick it into the right resolution by using a fixed-mode adapter.

 Even on a modern computer, you can set the refresh output to 75Hz when you're using an LCD and it'll work fine. It's not "the correct refresh rate", but it will work.

The other thing that's increasing in popularity in consumer displays is above-60Hz refresh rates, up to ~144. Any of these displays should have no trouble syncing at 75, and 67 will almost certainly work. Granted, analog input on its own is becoming less common on brand new displays.

But, again, there is a HUGE stock of reasonable office computer monitors that have lots of known compatibility with not only vintage Macs but things like SGIs and Suns.

The best thing any of us who has a little bit of room in our homes right now can do for the long-term future of machines like "every Mac between the Quadra 650 to the Beige G3, and relevant same-period video cards" is probably to hold onto a couple more LCDs than we're actually using.

 

Gorgonops

Moderator
Staff member
The other thing that's increasing in popularity in consumer displays is above-60Hz refresh rates, up to ~144. Any of these displays should have no trouble syncing at 75, and 67 will almost certainly work.
The issue a lot of people run into is that most modern LCDs that retain VGA ports are actually very picky about what refresh rates they'll handle; they *really* expect whatever's attached to them to honor the standard VESA modes. Perhaps gaming-oriented displays that support those ridiculous-high modes that are mostly only useful for impressing people who read spec sheets and don't know better are an exception, but most consumer class LCDs sold today are much less flexible than pretty ancient LCD screens sold in the early 'aughts when it comes to putting up with odd mode monkeyshines.

And not every computer/monitor combination is going to let you set the refresh to 75hz. I've seen plenty of cases where either the driver will tell you, essentially, "The monitor's DDC info said it can't do that so I'm not gonna", or you'll get an input-out-of-range blank screen when you try it.

 

Cory5412

Daring Pioneer of the Future
Staff member
That's not unreasonable behavior several years after Intel GPUs finally dropped onboard VGA. The real goldmine is gong to be in 1024x768 and 1280x1024 business displays manufactured between 1998 and 2018-ish.

 

Trash80toHP_Mini

NIGHT STALKER
edtt: two posts late to the party, cell phone died mid-post. :grin:

I'll agree wholeheartedly with you there about keeping a couple of extra Mac Res capable LCDs for backup. Do you know if the UltraSync series is still in production or when it was discontinued if not?

I'll step out on a limb and assume those "above-60Hz refresh rates, up to ~144" are being developed for Gaming, 3D 4K movies, VR and such? I'd not pin a lot of hope on such new standards being backward compatible with much of anything pre-dating 60Hz 1080p. Is such display tech really MultiSync in the traditional sense or more a support for fixed resolutions developing within those new realms?

I'm not entirely clear on what Trash is proposing here
That makes two of us!  :lol:   What you've described as two-page framebuffe setup sounds close enough. If so, I'll put a hard ceiling of 16" and Portrait resolutions at 8-bit or maybe even 16-bit on the spec to limit the amount of RAM required for taking built-in video output digital. 8-bit 21" Grayscale Res should also fit somewhere in between, but 4-bit would be fine for that if needs be on a 1080p Panel.

That ceiling spec would pretty much cover everything from Mac II Cards thru LCIII Macs and all but the highest end VidCards from that era. Second gen Quadras, maxed VRAM Q700/900 and the LC475/Q605 venture into 24-bit territory at 16" and lower resolutions, but RAM requirements for 24-bit anything would be insane?

I hope I'm not asking for the world here. Sure a new build VidCard would be awesome, but we'd be talking about developing three new VidCards to cover NuBus, LC PDS and 030 PDS machines that could all be supported along with a crap-ton of lower end VidCards for same by developing an Active, Digital VGA output converter for those inputs.

New, outlandish WAG __________________________________________________________________

The two-page framebuffer setup you describe sounds painfully linear to me. Might pipelining parallel processes cut down on the speed hit and memory requirements using something on the order of JPEG type compression to limit buffering to processing DELTA rather than full frame? Expecting a rapid slapdown for this marginally sane WAG. At only  4 or 8 bits for GS or even 16-bit for RGB, there might be a lot of opportunity for compression on the fly?

 
Last edited by a moderator:

Unknown_K

Well-known member
LCD monitors can be very picky. I have a high end PCI (notE) CAD card that is supposed to do analog 1920x1080 @60HZ but when you set that resolution the DELL monitor goes blank because it doesn't like the signal. It does work at lower resolutions, I just think when the card is supposed to be doing 60HZ it might be doing slightly less.

From my understanding didn't AMD (ATI) and Nvidia drop VGA from their newer cards?

You could keep a few old LCD monitors around for old Macs or just find a couple Sony Trinitron CRTs and do it old school at native resolutions that work with SOG and be done with it (while they still function). 

P.S. Not sure I would want a 1999 era LCD  because of low refresh motion blur and bad color reproduction (for business class monitors of the age).

 

Cory5412

Daring Pioneer of the Future
Staff member
The UltraSharp series still exists, but it has moved upmarket slightly. Dell's been using it to denote really good displays, and most of the functionality that makes, say, an UltraSharp 170xFP or 190xFP desirable is now in the P series, such as my P1914s. For example, mine works fine on my Sun SparcStation 10 using a common adapter, at that machine's default output resolution and sync, which is 1152x900@76Hz. It wasn't particularly expensive, and it's quite a nice display: IPS, VGA, DVI, DisplayPort inputs, and a USB hub. Even the old 15" ultrasharps can do this, just, at up to 1024x768, which is suitable for Macs up through the PCI PowerMacs, really, so it's worth holding onto small displays, too.

I bought a display off the shelf at Staples back in 2008 to do the same thing, but with a slightly newer Sun system, and still have that display today (UltraSharp 1908WFP).

Yes, the new high-frequency displays are primarily for gaming. That was a distraction -- forget I said it.

(Especially since there's some neat tech there that's really above my head. They're extremely multi-sync. All "modern" LCDs (anything after the late '90s) are. 60Hz happened to be a convenient standardization point because it was relatively easy for computers to do at that time, and because the way LCDs work means that there's no penalty to the way static images look if you refresh the image slowly. Some larger panels take advantage of this by running at a lower resolution. For example, in situations where you can't feed a 4k display at 60Hz over a particular type of cable, they'll often run at 30Hz, which is suitable for office applications, but not really for video or games. (I believe this is no longer common, but there was an extremely hot couple months where budget 4k displays that can do 30Hz 4k or 60Hz 1080p existed. Higher refresh rates are still largely limited to 1920x1080 or 2560x1440 displays, mostly for graphics horsepower and displayport and HDMI bandwidth/throughput reasons -- I say give it two graphics cards generations (~12-18 months, depending) before we see 2160p100 or 2160p120 gaming.

Anyway: my point is that reasonable midrange LCDs have supported what it looks like you want to do for round-about 20 years now. There's a huge stock of LCDs that work well with vintage Macs and my impression here is that it's relatively uncommon for people to use exclusively era-appropriate CRTs. There are pictures of old Macs connected to these kinds of LCDs and even things like TVs all over.

 

NJRoadfan

Well-known member
The weirdest thing I've noticed with "picky" LCDs is that many of them will take those oddball resolutions/refresh rates no problem if they are converted to DVI/HDMI using the OSSC in pass-thru mode (just about every Samsung TV I've encountered can natively handle 240p via HDMI with no upscaling applied beforehand!). They won't touch the same signals via the onboard VGA port though.

 

Gorgonops

Moderator
Staff member
They won't touch the same signals via the onboard VGA port though.
It's really annoying how the VGA ports appear to be intentionally crippled in a lot of monitors. Theoretically any monitor that also has a composite/svideo/component input should be able to handle NTSC-rate RGB, but for some reason they don't accept anything less than VGA on the RGB port. My only guess is that there may be some common A/D input part they use that has that limitation, but I'm not sure that explanation holds water because the Euro versions of a lot of TVs have SCART ports that can handle TV-rate RGB.

 

Trash80toHP_Mini

NIGHT STALKER
That really is weird. It's right out of the strange, but true field. Curious to know how that may work from a technical standpoint.

digitizing whole frames into a two-page framebuffer so you can hold one frame on the screen for however long you arbitrarily need to while the other page fills up. In a case like converting from 67hz to 60 this would have the practical effect of some frames being dropped on the floor and a slight delay being introduced to the feed. (If you make the bear dance well said delay probably won't be more than a little less than twice the frame interval.)
Dropping frames sounds like the path to a doable, if non-trivial solution.

,  ,  .  those cheap VGA-HDMI converters expect you to use a frame rate appropriate for the output device on the HDMI side.
Dropping 67Hz from the spec sounds to me like the other half of a possible solution?

All the higher resolutions in question (including Portrait from the RBV afflicted twins) run at 75Hz, which is a delightfully dividable number, that extra 15Hz being a 25% multiple of 60FPS frame rates. The inverse being an 80% multiple of 75FPS to achieve that appropriate 60FPS rate for my cheap VGA-HDMI converter's input.

  • 832 x 624 @75 Hz
  • 1024 x 768 @ 75 Hz
  • 1152 x 870 @ 75 Hz
  • 640 x 870 @ 75 Hz
You'd be dropping every fifth full frame, but requiring implementation of a delay mechanism to sync the remaining four full frames to achieve an even 60FPS VGA signal stream for that inexpensive, off the shelf VGA-HDMI converter. Might this approach sidestep the standard two-page frame buffer setup with its unworkable memory requirements? From the little I recall, analog delays aren't all that difficult to implement? Evenly or randomly distributing the dropped frames might decrease "judder" to a level that would be unnoticeable? Gaming would be a worst case scenario, but higher than 640x480 resolutions we're talking about aren't particularly suited to that anyway.

Dunno, caffeine is kicking in so I'll have to apply logical analysis to this WAG later today.

 
Last edited by a moderator:

Trash80toHP_Mini

NIGHT STALKER
Reread and tried to fix the multiplier/divider numbers for clarity, but edit window closed, so:

75Hz/75FPS x .8 = 60Hz/60FPS or 4 full frames plus 1 extra full frame to be pitched onto the floor.

First of the 4 remaining full frames at baseline 60Hz sync position with incremental delays applied to the 3 remaining full frames to evenly hit the 60Hz/60FPS rate ticks.

Analog operations ought to be fast enough to iteratively loop the required delays to those 3 remaining full frames in sequence using a single circuit? Maybe three circuits would be required? More may be less, more simple in implementation and requiring less speed than iterative processing? A timer might be used to trash that pesky, extraneous fifth, full frame without any intelligence required of the adapter? Might keeping everything on the adapter within the analog realm do the trick?

Dunno  .  .  .  still clear as mud. :-/

edit: MUD :blink:

 
Last edited by a moderator:

Gorgonops

Moderator
Staff member
You can't just "analog-ishly" pitch frames onto the floor to resolve frame-rate mismatches. Remember, what's being transferred in the video signal at any given moment in time is the color/intensity of a single pixel *somewhere* in the 2D grid that makes up the screen, and that feed is completely continuous. That moving dot of light *always* needs to move a continuous fixed speed, IE, the pixel clock, and that clock is different for the same video mode running at different frequencies. Outside of some very specific special cases (like simple "line doublers" to turn 240p into 480p) there's no getting around needing to buffer entire frames of video.

Note about what I said about needing enough RAM to buffer 2 full frames; that's not necessarily true if you have dual-ported VRAM; in that case you can simply have the input scan repaint the pixels in the same buffer that's being referenced by the output scan. The downside to this approach is you *can* get tearing and other anomalous artifacts because your output will essentially always be a combination of two input frames. To understand this, imagine the output circuitry running at a 60hz frame rate starts sending an all-white frame, call it "Frame A" to the monitor. Shortly after it starts doing that input from the computer starts painting an *all black* frame, "Frame B" into the buffer. Because the input frame rate is 75hz the input scan passes the output scan halfway through the frame, and the moment it does the converter will no longer be outputting the white pixels from frame A, it'll be throwing out the black pixels from frame B, resulting in the monitor receiving a half white, half black frame that was never actually output from the computer.

For most purposes (especially involving a simple GUI desktop) this isn't going to matter a whole lot, but it is technically a visual anomaly that might be perceptible under certain circumstances.

 
Last edited by a moderator:

Cory5412

Daring Pioneer of the Future
Staff member
ll the higher resolutions in question (including Portrait from the RBV afflicted twins) run at 75Hz,
I'm going to say it again.

The monitors I'm talking about, midrange business LCD monitors from, if not all the way back to 1998, at least the early 2000s, up through at least 2017, support 75Hz input and display it well.

I don't think that there's a need for what you're describing. You're making the already-not-always-clear concept of "VGA adapter" way more complicated than it has to be.

The OSSC that @NJRoadfan mentioned already exists for gaming and certain 8-bit/non-mac vintage scenarios, but the Mac doesn't need that kind of treatment.

 

Gorgonops

Moderator
Staff member
For the most part I basically agree that this is a solution looking for a problem. While it's true there are individual edge cases where you might be stuck looking at a video output that's genuinely difficult to find a modern monitor work with (IE, mono portrait or two-pages display cards, really old Mac cards that only support composite sync, etc) *most* Macs will work at least begrudgingly with decent "pro-grade" LCD monitors that aren't that hard to find. Even with many of the hard cases (TTL or ECL two-page-er's) it's possible to fudge it with solutions like resistor-ladder DACs that fall well short of full timeshifting scalers; the only requirement is, again, you will probably be stuck using an older "Pro-grade" monitor instead of a cheap TV with a VGA port.

The one thing the world probably could use is a hobbyist-priced sync-on-green separator for old Mac video cards that don't have separate TTL sync. (The 67hz bit really shouldn't be that big of a deal as long as you're willing turn over a few rocks for a monitor.) Here's a ridiculously expensive one. It should be possible to make one for considerably less than that because there exist dedicated sync-separator chips, it's just a little bit more complicated than slamming one chip on the line because those chips don't *strip* the sync off the green...

But, well, quite a few LCDs that support non-VESA framerates also support Sync-on-Green, so maybe that's not even that big of a deal.

 
Top