Jump to content
noidentity

1920x1080 on PM8500 built-in, Twin Turbo 128

Recommended Posts

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.

Edited by Guest

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×