• 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.

Pixel-perfect Mac IIci onboard video on LCD monitor (WIP)

smammy

New member
Thanks to @imactheknife, I now have a Mac IIci in fabulous condition. Because I never want anything to be easy, I've set a goal for myself to get pixel-perfect output from the onboard video to an inexpensive LCD monitor. After a bunch of research and some tinkering, I've learned some things but I'm kinda stuck. I'd like to brain dump what I've got so far and see if anyone has any thoughts.

Goal is to use onboard video as if a AppleColor High-Resolution RGB Monitor is attached.

Per Macintosh IIci Developer Notes, this mode is activated by grounding MON.ID2 and MON.ID3 and leaving MON.ID1 floating. Resolution is 640x480 and refresh rate is 66.67Hz. On the DB15 connector, CSYNC~ is driven while HSYNC~ and VSYNC~ are not connected. (It surprises me that CSYNC~ is driven in this mode, since everything else I've read says that this machine uses sync-on-green.)

I bought one of those 10-dip "MAC/IBM" adapters. (This one, I think.) "Signal modes" for 640x480@66Hz are:
MODE 1 (CSYNC → VGA pin 13) DIP=145
MODE 2 (CSYNC & HSYNC → VGA pin 13) DIP=1456 (ignore, we don't have HSYNC)
MODE 3 (VSYNC → VGA pin 14) DIP=147 (ignore, we don't have VSYNC)
MODE 4 (HSYNC → VGA pin 13) DIP=146 (ignore, we don't have HSYNC)
MODE 5 (MODE 3 + MODE 4) DIP=1467 (ignore, we have neither VSYNC nor HSYNC)
MODE 6 ("SYNC on GREEN") DIP=14

(I assume MODE 6 just doesn't route any sync signals and doesn't do anything fancy like adding a sync signal to the green channel…)

Because I haven't seen it anywhere, here's my guess at what each DIP switch does:
Code:
 1  DIP4=OFF: related to type-6/7 scheme? DIP4=ON: pull MON.ID1 low.
 2  DIP4=OFF: related to type-6/7 scheme? DIP4=ON: pull MON.ID2 low.
 3  DIP4=OFF: related to type-6/7 scheme? DIP4=ON: pull MON.ID3 low.
 4  Sense line encoding: OFF=type-6/7 scheme. ON=original scheme.
 5  CSYNC → VGA pin 13.
 6  HSYNC → VGA pin 13.
 7  VSYNC → VGA pin 14.
 8  DIP4=OFF: related to type-6/7 scheme? DIP4=ON: unused?
 9  DIP4=OFF: related to type-6/7 scheme? DIP4=ON: unused?
10  unused.

Monitor #1 is a Dell E156FPf (Rev A03). Uses a GM2621 controller. Native res. is 1024x768. Not a lot of features. This monitor always stretches a lower-resolution image so it won't get me my pixel-perfect output.

In MODE 1, I get the "washed out" image described here. Unfortunately, this monitor doesn't give you manual control over signal gain and offset, so I can't compensate.

No image in MODE 6. (The GM2621 supports sync-on-green, but it's apparently not enabled in this display.)

Monitor #2 is a Samsung SyncMaster 730B. I don't know what controller is uses. Native res is 1280x1024. Somewhat more featureful.

In MODE 1, color is correct and image looks decent. However, it stretches the 480 line image to fit the 1024 line panel, causing vertical blurring. It also seems to introduce horizontal blurring, even though it could be using sharp 2x horizontal scaling. No options in the OSD or the service menu to change scaling or blurring behavior.

So if I'm going to proceed with the Mac-to-VGA method, I'm going to need to find a monitor that:

1a) supports sync-on-green
-OR-
1b)
(1) supports composite sync​
AND (2) can accommodate R/G/B signals with sync, either auto-detect or let me adjust it manually.​

2a) has an option to turn scaling off
-OR-
2b)
(1) has an option to preserve aspect ratio when scaling​
-AND- (2) has either a horizontal res. that's a multiple of 640 or a vertical res. that's a multiple of 480​
-AND- (3) doesn't introduce blur when it's scaling a signal to an integer multiple of its native res​

I think an ideal setup would be a 1280x1024 panel that will preserving aspect ratio and not add blur when scaling. Second choice would be a 1024x768 panel that supports turning scaling off completely and

Finding a single monitor that supports all of this seems like it would be pretty hard.

There are some lists of monitors that people have tested for fairly specialized things, but none of them are exactly what I'm after. There's List of modern monitors that support 15 kHz analog RGB signals, which is the only list I've found for people who care about preserving aspect ratio, but they don't generally list whether a monitor supports sync-on-green. A list from the higherintellect vintage computing wiki lists monitors that support sync-on-green with very little other information. And the PS2 Linux community has a Sync on Green Monitor DB that's fairly extensive but doesn't give any information about resolution or scaling.

Unless someone out there is using a monitor like this and can tell me "oh yeah, this one does that and they're cheap and plentiful" then I have a long slog ahead of me digging up specs/manuals for old monitors to figure out what scaling options they have and/or whether they support sync-on-green.

But what if there's another option? Devices like the RGBtoHDMI seem very attractive, as they give you a ton of control over how the input signal is interpreted and how it's mapped onto pixels in the digital output signal. But it seems to be targeting much older computers with much lower resolutions, and I can't really figure out if it meet my needs.
  • Can it handle a 480p input signal?
  • Can it handle a 66.67Hz refresh rate?
  • What the heck is the deal with "digital" input versus the various "analog" input boards? I thought all these old computers had analog video output? What does the bit depth of the analog boards refer to? Is it the ADC resolution?
Anyway, that's where I am so far. If anyone has any insight into any of this, or can correct any misconceptions I might have, I'd be grateful. I'll write more as I continue banging my head into this. Cheers!
 

MacKilRoy

Well-known member
I don’t understand. Maybe I missed something.

You have a 1024x768 LCD monitor right? Wouldn’t the simplest solution be to get a NUBUS video card and output that native resolution?
 

NJRoadfan

Well-known member
If you can tap the digital output from the video chip (whatever is going into a RAMDAC) than something like the RGBToHDMI might work. If the IIci uses an integrated RAMDAC, you can forget it. Also it really depends on how large the actual palette is for the onboard video. The RGBToHDMI can do up to 12-bit (4096 colors, 4 bits for each primary) which allows it to support the Apple IIgs and original VGA output.

Another option is to use something like the OSSC which you can tweak the incoming video signal to your heart's content. Every parameter is adjustable and you can dial in a pixel perfect picture. Further, the unit can do basic integer scaling and supports composite, sync-on-green, or H+V sync.
 

jmacz

Well-known member
With the onboard video, you are probably looking for a 640x480 lcd panel to get 1:1 with no scaling. And thats only at 8bit color.

I concur with @MacKilRoy. You are probably better off getting a nubus video card that can drive 1024x768 at 60 or 75Hz and then get a 15” LCD monitor (Samsung and NEC work well). Most of the Samsung and NEC 15” monitors support 1024x768 native at 60 or 75Hz. You can find their manuals online and confirm the native resolution and vertical refresh. This is what I did with SuperMac cards. I did not have much luck with the DELL LCDs. I am using a Samsung SyncMaster 512N and NEC AccuSync 52V.
 

volvo242gt

Well-known member
LC III, running a Dell 1908FP monitor at 640x480. Sony MacView LX adapter with the middle two DIP switches on for VGA mode.
IMG_8997.JPG
 

joshc

Well-known member
LC III, running a Dell 1908FP monitor at 640x480. Sony MacView LX adapter with the middle two DIP switches on for VGA mode.
View attachment 61976
But that's scaled. I think what OP is talking about is a 1:1 representation on the display of the native 640x480 resolution. The monitor I use has built-in software that supports this.

1:1 (640x480):

IMG_9922.jpeg

Filled to screen (scaled):

IMG_9923.jpeg

The scaling options in the Compaq TFT8030's Pixelworks software (apologies for the dirty screen...):

IMG_9924.jpeg
 

smammy

New member
You have a 1024x768 LCD monitor right? Wouldn’t the simplest solution be to get a NUBUS video card and output that native resolution?
Yeah, that's true, and definitely an option. I was trying to avoid getting into the whole "what video card should I buy" side-quest but now I'm in a whole ’nother side quest instead sooo…

If you can tap the digital output from the video chip (whatever is going into a RAMDAC) than something like the RGBToHDMI might work.
Ah, gotcha, that makes sense.

Another option is to use something like the OSSC which you can tweak the incoming video signal to your heart's content.
Thanks, I'll look into it!

But that's scaled. I think what OP is talking about is a 1:1 representation on the display of the native 640x480 resolution.
Bingo.

The monitor I use has built-in software that supports this.

1:1 (640x480):

View attachment 61980

Filled to screen (scaled):

View attachment 61981

The scaling options in the Compaq TFT8030's Pixelworks software (apologies for the dirty screen...):

View attachment 61982
Yeah, that "Fill to aspect ratio" is exactly what I'm after. Thanks for the pics.
 

cheesestraws

Well-known member
Look at the Extron RGB-HDMI 300(A). They are often available relatively cheap on eBay, and they have very highly customisable scaling.
 
Top