Skip to main content
Home Forums 1920x1080 on PM8500 built-in, Twin Turbo 128
1920x1080 on PM8500 built-in, Twin Turbo 128
· Hardware · 35 posts · Nov 3, 2009 — Aug 4, 2019 View original thread ↗
I have been able to hack the built-in video driver of my PowerMac 8500 to support 1920x1080 and 1680x1050 LCD panels perfectly (been using 1920x1080 for over a month now with zero problems). The LCD is able to lock on to the pixel rate and phase so that each pixel is perfectly clear, no blurring or anything. The new resolution shows up normally in Monitors, and when selected and the machine restarted, it will properly switch to the new resolution part way through the boot screen.

I've also done the same for the IX-Micro PCI video card that the PowerMac 9600 and some others used. This will probably also work on all PowerMac models using the same video circuitry: 7300, 7500, 7600, 8500, and 8600 (maybe someone can post a definitive list of models using the same circuitry, in case I left some out). This is a software-only modification; no hardware changes needed.

Is there any interest in posting these, or does everyone use these older machines on smaller displays or with newer video cards? I've figured out how to adjust all the standard video parameters, allowing custom modes with other resolutions too. The parameters adjustable are pixel rate (e.g. 148.5 MHz), horizontal rate, refresh rate, front/back porch and sync width for horizontal and vertical, and of course the horizontal and vertical pixel size. There are no code changes, just adjustments of the timing values in the driver. There is also a choice of modifying the driver in the System file, or modifying a video driver extension. Also, adjustments can be made to parameters without restarting.

Please do post your goodies. I'm not currently using any monitor larger than 17 inches on the 8600 but who knows what might happen in the future.

This is marvellous stuff. Under what System/s will it work?

Excellent work, Noidentity. I suspect that you are repeating some of the investigations performed by the authors of the various shareware "set res" utilities, but it is much better to have this info in the public domain. If you need a host for a couple of web pages, pm me (but don't expect a reply for a bit).

My stuff is at http://www.vintagemacworld.com/ BTW.

I'm using Mac OS 9.2.2, but I imagine it'll work even with System 7 (I could try tomorrow, as I still have an easily-bootable version of it... I didn't stop using System 7 until about 2004!). Like I said, it's just modification of the video mode parameters in that special video driver that works with System 7-9. And yeah, it goes way beyond any of the resolution drivers I've seen before, basically what Switch Res X supports on OS X. I could also add resolutions for 1440x900, 1600x1200, etc. The first thing is to have others try it on their displays. Anyone actually using one of the mentioned PowerMac machines with a widescreen or fairly large LCD?

This program and driver allow custom resolutions using built-in video on a PowerMac 7300, 7500, 7600, 8500, and 8600. I have used it to get perfect 1920x1080 on an LCD for over a month now. I have tested it in Mac OS 9.2.2 and Mac OS 7.6.1.

* To use, you first need a "modeline" or the raw video parameters your display uses. When using a modeline, you can paste the full modeline, or strip off the ModeLine "123x456" prefix and also the sync polarities from the end. For example, you can paste

148.35 1920 2008 2052 2200 1080 1084 1089 1125

into the modeline field without problem.

* Put the "73/75/76/85/8600 GraphicsDriver" extension into the Extensions folder, but don't restart yet.

* Run Customize and paste your modeline into the Modeline field and click Decode, or enter the individual parameters into the fields.

* Click Save, then restart.

* Open Customize again and click Apply. This will try the new resolution until you click the mouse. If it doesn't work, you can adjust parameters and click Apply again until you get them right.

* Once you have good parameters, click Save, then open the Monitors control panel and select the new resolution and enjoy (on System 7, hold the Option key when clicking Options... in the Monitors control panel, otherwise the custom resolution won't show up).

The refresh rate, horizontal rate, and pixel clock fields all control the same thing, so only one really matters. If you want to specify a particular one and have the others derive from it, clear the other two.

This driver is based on the original "73/75/76/85/8600 GraphicsDriver". All I've done is decompress the globals in the extension to make them easy to modify, and written the Customize application to modify the parameters. The driver code is unchanged.

Here are a few modelines I've used:

ModeLine "1680x1050" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 +HSync +VSync

ModeLine "1920x1080" 148.35 1920 2008 2052 2200 1080 1084 1089 1125 +HSync +VSync

Download it here: CustomGraphicsDriver.sit

How do you obtain the "modeline" for any given monitor?

I'd google for them. The MythTV Modeline database might have what you need. Another place for the raw values is the EIDE info for the display, which you might also find on the web. Any particular resolution you're trying to achieve?

I don't really use my 8500 that much anymore. However, I downloaded your utility just in case I need it in the future and I wanted to make sure the documentation is as complete as possible. Thanks for the added info.

Noidentity,

This worked great on my 8600 built-in video. Can you post the version for the 9600? I have a Twin-Turbo 128 M8A that I think is the same as the 9600 PCI card.

Thanks,

Mike

Thanks for confirming that it works for someone besides me! What resolution are you running the 8600 at with it?

I'll have to do some coding before I can post the TwinTurbo version using that latest GUI. I pulled my card out and it is the TwinTurbo 128M8A version 3.8.1 (looking at the tag on the EPROM). What resolution are you intending on running this one at?

I am running 1680x1050 on a ViewSonic VG2230wm, and intend to use this with the TwinTurbo 128M8A also. I prefer to use the TwinTurbo as it seems slightly faster and has more VRAM. I have a 1920x1200 display, and can try it with that if you would like the test results. This is attached to a different computer. It is really nice not having the stretched screen I have been putting up with since my CRT died.

I used your timings, and they seem pretty good so I did not spend any time tweaking the modeline. The one in the MythTV database was no good.

Thanks,

Mike

OK, here's the TwinTurbo 128 M8A version: Custom_TwinTurbo9600_Driver.sit

I included extensions pre-configured for 1680x1050 and 1920x1080, so for those resolutions, just drop the appropriate extension and restart, then select the resolution in Monitors. Currently I haven't figured out how to have it re-select this resolution each time you restart (it'll show it selected for me, but I have to switch to another resolution, then switch back, to get it to take effect after a restart). Let me know how this works on your TwinTurbo.

Here's the same for the built-in version, extensions pre-configured for 1680x1050 and 1920x1080 (no other changes to this): CustomGraphicsDriver.sit

Outstanding work. I just got my first 1080p display this weekend, so I might drag the 7300 bedroom system into the workroom and try your driver at 1920x1080.

home.ripway.com is timing out when I try to download the driver. I will try again tomorrow.

Thanks,

Mike

noidentity,

I was able to download the driver today. It is working great on my TT128 at 1680x1050.

Thanks again,

Mike

If you have a 3dfx VooDoo 3, 4, or 5 video card, the resolutions available for the OS are contained in a simple text file that you can modify. I thought it was pretty nifty, you could do any resolution you want to with it.

What/ where is the text file for the Voodoo cards? I have a Voodoo 5 that one of these days will run an LCD; it'd be handy to have the details squirreled away for that purpose.

Is there any way I might get this to work on my Performa 6300 using the built in video?

No, this only works on Macs with the same video chip as the 8500.

What kind of VGA adapter would one need for this? I have a Belkin adapter with DIP switches to set resolution, which makes me not sure this'll work for me.

Sorry for the overdue reply. You may need the adapter set to multisync, but as long as it can do say 1280x960 normally, then this will work. I've done this with several adapters, and a couple of 8500 motherboards now.

Just out of curiosity, do you think there would be any way to hack the driver for the old Radius Color Pivot II Cards to put out a 60 Hz resolution for use with modern LCDs?

Maybe. It depends on whether the resolutions are hard-coded into its driver ROM, or are in an extension that can be modified. For the built-in driver for the PM8500, I had to figure out which values affected the video parameters. Here you might just need to find what sets the dot clock so you can lower it. Once I figured out the built-in driver, finding the resolution tables in the TwinTurbo PCI card was a lot easier.

Can you point me to any extension/driver that's used for this card? I could take a quick look in case there's any kind of obvious resolution table inside. I wasn't able to find anything on the web after a few minutes of searching.

I'm not at home, so I can't upload the driver but . . .

. . . KnightTech is 404! BLEH!!!!!!!!!!!!!!!!!!! :p

IIRC, I've got all the RadiusWare downloads backed up on various Macs and I snagged a Full installation/Documentation set of one of the revs from macmetex fairly recently and I've got everything from the 7.0.1 Rocket/RocketShare era on Floppy w/Docs! [:D] ]'>

I'll find out what's relevant and email it to you if necessary.

The cards have everything they need in their DeclROM to Flash the Radius Logo and load the drivers for the fixed resolutions I've tested as the first init/whatchamacallit loaded.

My original plan was to search out and swap any relevant crystal cans to try to slow the 66.6Hz or, preferably, the 75Hz 16" Rez down to 60Hz. But then again . . .

. . . I'm just a simple HardwareHacker/KnuckleDragger with an analog, vacuum tube based, video replay type brain. ::)

edit: Got TTL EPROM Burner/Reader?

No, unfortunately I don't have much hardware tools beyond a digital multimeter and anything custom I make on a breadboard.

Using a ROM might be too difficult. Regardless, the idea is to find the resolution values together, which is likely a table. If there are other values inbetween, those might be the mode parameters. Then you find the specified values for the resolutions (blanking, front porch, back porch, etc.) and see if you can find those in the table, or ratios that match ratios of the specified values. After some trial-and-error, you might find a pattern that makes sense. Then you try changing a value and see how that actually affected the resolution (preferably on a multisync CRT that shows you the H and V rates). Repeat 100x :)

I'm pretty sure the TwinTurbo PCI card on my PM 8500 doesn't require a driver to work unaccelerated, and that it can change resolutions, yet it also has an extension that overrides these and was able to be modified for custom resolutions. So doing the Radius logo from ROM doesn't rule out the extension allowing customization in the same way.

The basic drivers are in the DeclROM for Sense Line defined/activated FixedRez Apple Monitor standards.

IIRC, the RadiusWare control Panel would be where any "options" were set for Radius Products. When you click on "Options" in the Monitors Control Panel, you get a basic splash screen indicating the hardware loaded via DeclROM.

I'll look over what I've got, meanwhile I've got my curiosity going about the LC version of this card!

Hmmm, even if there is no extension with the driver, it still could be possible to patch the driver in memory. So the process might be an extension that finds it in memory, patches it, then changes the resolution to a patched one. The apps posted here do that so you can test without restarting. But figuring out how to find the Radius driver could be tricky, without having something on disk to use as a search string.

I'm terrible at pattern finding, BTW, but an ace at finding pattern disruptions . . . picture the sort of guy who can find a four leaf clover just about anywhere without too much fuss . . . but would totally miss it if the clover pattern spelled out: "SCHMUCK!!!"

Like I said: HardwareHackin'KnuckleDragger! :lol:

Maybe I'll snag another card and have macmetex send it off to Trag, he's an EE type who's working on some nifty ROM projects . . . or one of the other boffins here who might still have an old school TTL EPROM burning/reading rig! If someone can send you the DeclROM contents, could you (or another 68kMLA volunteer?) take a peek at it?

mp.ls