Screen Resolution at boot time |
January, 20, 2003 8:10 PM |
alan |
Maybe this is not an XPF issue, but I have noticed that when I switch from 10.2.3 (@ 1024x768) back to OS 9.22, my system boots at 640x480, and then switches to 1024x786 (the desired resolution) during the boot. It used to stay at 1024 all the time. The "happy mac" and macOS spash screens are HUGE at this reesolution. Booting from 9.22 back to 10.2.3 also seems to start at 640x480 and then switches to 1024 with the blue screen. What controls this very first boot resolution? It it set from XPF, or in PRAM somewhere? Any ideas on how I can get my system to stay at one resolution throughout the boot progrss from 9.22 to 10.2.3 and back to 9.22? My non-XPF systems seem to stay at one resolution. |
. |
RE: Screen Resolution at boot time |
January, 25, 2003 12:04 PM |
marcush |
. |
joevt, I have a Dell 171FP 17" LCD attached to my Radeon. I've only had it for a little over a month. Before that I was using a Dell 19" CRT that displayed the same behavior. I'm at work now but when I get home later today I can get the rest of the info you requested. |
. |
RE: Screen Resolution at boot time |
January, 24, 2003 11:05 PM |
joevt |
. |
tempest, There are drivers on the card and on the disk. The driver on the disk replaces the driver from the card later in the boot. I think it's best to let the ATI drivers do what they want to the properties and not make them use only 8 bytes. It would be a hassle to keep patching them after every update. The best thing to do would be to mess with the properties only at startup and shutdown using an extension. Ben, I'll e-mail you an app (with source code) tomorrow that you can put in your Shutdown Items folder that will hopefully make your Radeon startup in the same resolution as it was set to when it was shutdown. I'ld like to change it to an Extension later. Alan, You're basically right. Both OS 9 and OS X save display prefs in a file and those settings get used later in the boot process. In OS 9, the file is called "Display Preferences". OS X doesn't get display prefs from NVRAM at all. marcush, What kind of monitor is connected to your Radeon? If you run the program "Display Name Registry" while booted in OS 9, what does it say for the "ATYA" property of the "ATY,Radeon,p" node? "Display Name Registry" can be found in the "PCI 3.0 DDK" from Apple's developer web site. The "ATYA" property should have a little icon beside it that means it is saved to NVRAM. avaughs, What do you want to change in PRAM? All those settings can be changed using various OS 9 control panels. PRAM is only a small part of NVRAM and can't be changed using Open Firmware. The stuff you can change in Open Firmware is stored in another part of NVRAM and that is the part that XPostFacto edits. Resetting PRAM will reset the PRAM area (the stuff that PRAM Inspector shows you) and the Open Firmware area and maybe some other stuff (extended PRAM, NVRAM Name Registry Properties...) |
. |
RE: Screen Resolution at boot time |
January, 23, 2003 6:56 PM |
avaughs |
. |
PRAM Inspector allows one to view the values of their PRAM. Is there a utility which allows one to change the PRAM values from withing OS9? I've attempted to use Command-Option-O-F at boot time, but this just results in a black video screen and no activity from my mac (PowerMac 9600 with XClaim 3D video card). |
. |
RE: Screen Resolution at boot time |
January, 23, 2003 2:02 PM |
marcush |
. |
I have an original Radeon Mac Edition card in my Power Tower Pro but I don't see this problem booting into either 10.2.3 or 9.2.2. I can force this behavior if I reset the logic board with the cuda switch or move the Radeon to a different position, but a subsequent reboot restores the boot resolution to my normal 1280x1024. |
. |
RE: Screen Resolution at boot time |
January, 23, 2003 4:21 AM |
tpmco |
. |
alan-- re ur "Since we are on the topic of startup, has anyone else noticed that when booting to OS 9 the happy mac stays on your screen for a LONG time before continuing the boot up? Maybe this is related to the Radeon 7000 also? Sometimes I think it is stuck, but it always boots up. No disk IO, or anything, almost like it is timing out on waiting for something. I'm sure this started after I installed XPF." Could this time be checking dram, or do you have that disabled in the memory control panel? tpmco |
. |
RE: Screen Resolution at boot time |
January, 23, 2003 1:16 AM |
alan |
. |
I failed to mention that I upgraded to the Radeon 7000, and I bet that is when I started getting the 640x480 in OS 9, as you have described. If i understand joevt's reply, the reason OS 9 usually remember's it's resolution setting is that it get's these settings from NVRAM when it draws the gray background. Since OS X doesn't use the gray background routine, it doesn't get the values until much later in the boot process. Sounds like Apple could fix this if they wanted, but since it appears to be largly an Old World problem, I guess we are out of luck. Back to OS 9, it sounds like the Radeon 7000 is really the problem, and that we would need ATI to fix that... Since we are on the topic of startup, has anyone else noticed that when booting to OS 9 the happy mac stays on your screen for a LONG time before continuing the boot up? Maybe this is related to the Radeon 7000 also? Sometimes I think it is stuck, but it always boots up. No disk IO, or anything, almost like it is timing out on waiting for something. I'm sure this started after I installed XPF. I hope Apple improves the feed back during the early stages of OS X booting. The process takes a long time, and all you can see is that little "throbber" going round and round. Even on new machines it takes a long time to get to that blue screen... Thanks for all of your thoughts, and I will watch for updates on the resolution issue! |
. |
RE: Screen Resolution at boot time |
January, 22, 2003 5:08 PM |
bralston |
. |
joevt, it looks like you've spent quite a bit of time dealing with this. I too would like to be able to start up in a full 1024x768 mode with my radeon mac edition. I posted this same request to the forum 2 months ago. I played with it some but you managed to find a whole lot more information than I did. I'm a software developer (I'm the guy who wrote OS9 Helper), and if you want to I'd be willing to work with you to find a patch for this problem. just send me an email. -Ben |
. |
RE: Screen Resolution at boot time |
January, 21, 2003 3:59 AM |
tempest |
. |
Is the driver you're referring to that saves values into NVRAM stored on the card or software drivers on disk. If they're on disk, perhaps they can be patched? |
. |
RE: Screen Resolution at boot time |
January, 21, 2003 12:30 AM |
joevt |
. |
I haven't done any experiments in OS X yet but this is what I've figured out so far: Display drivers have preference properties in the Name Registry. They can set a mod bit to save the preference to NVRAM. The changes are made to NVRAM when the mod bit for the property is set or cleared or when the property is changed (and it has it's mod bit set). On New World Macs, the properties are saved to the aapl,pci Open Firmware variable. Each property includes the open firmware path, property name, and property value which can be up to 64 bytes in length (although I've only seen the number 32 in Apple's docs). Btw: If you try to save too many properties to NVRAM, a crash can occur. The properties are loaded into Open Firmware as soon as it starts up. If you go into Open Firmware during startup, you'll be able to see the properties. This early loading makes the display driver prefs work for both OS 9 and OS X. On Old World Macs, the properties are saved to NVRAM at offset $1400 ($400 bytes max). Each property includes a 6 byte location, a property name (up to 4 bytes) and a property value (8 bytes max). The location includes some flags and a weird hash of the reg properties of the parent nodes I guess; you'd have to trace the Expansion Bus Manager code in ROM that handles the Name Registry stuff to figure that out. The NVRAM prefs are not loaded by Open Firmware. The prefs work in OS 9 because the NVRAM prefs properties are loaded before the display driver is called to initialize the screen (clear it to the gray checkerboard pattern) probably by some Expansion Bus Manager code in the ROM. The OS X boot process does not execute the code in ROM that will load the prefs from NVRAM so the display driver will always start in the default 640 x 480 mode. The reason that the Radeon 7000 always starts in 640 x 480 mode on Old World Macs even under OS 9 is because it's driver attempts to store 64 bytes of settings to NVRAM which is not allowed on Old World Macs. However, a simple extension could be made to truncate that property at shutdown time to the first 8 bytes which will then get saved correctly to NVRAM and will cause the display to startup in whatever mode was selected at shutdown. I don't know what the other 56 bytes are for... You might think this is one more reason why the original Radeon is better but it has the same problem: it tries to save 32 bytes which won't work either. I haven't tested if the original Radeon works with the last 24 bytes of its prefs removed but it doesn't look like anything important is stored in those bytes so it probably will work. I have tried forcing all 64 bytes of the Radeon 7000 prefs to be saved to NVRAM and it works except that any subsequent properties do not get loaded which is not really a problem because generally, only display drivers store their prefs to NVRAM and people usually use only one monitor (that leaves a lot of the $400 bytes unused). After the pref is loaded into the Name Registry, some of the 64 bytes in NVRAM get changed which suggests that properties may be stored in NVRAM in fixed length structure (I'll have to test different sizes for names and values to test that). There's a program called PRAM Inspector which tells you what is stored in PRAM (NVRAM offset [$1310..$1323]). There's extended PRAM (everywhere else in NVRAM [$1300..$13FF]) which I don't know anything about. I don't think any prefs are stored in either place but I'd have to test the built-in video to verify. |
. |
RE: Screen Resolution at boot time |
January, 21, 2003 12:03 AM |
tpmco |
. |
I have noticed that after resetting PRAM, OS 9 boot is to default screen resolution (640 x 480). However, there is no change in OS X 10.2.3 in screen resolution. OS 9 screen resolution does change during boot to 1152 when the ixMicro control panel setting is loaded. Using 7600 w/ ixMicro UltRez video card and NEC multi sync 21" @ 1152 as normal setting. Just my own observation. tpmco |
. |
RE: Screen Resolution at boot time |
January, 20, 2003 8:32 PM |
OSXGuru |
. |
I think it is set in PRAM somewhere, and it is quite possible that Mac OS X and Mac OS 9 are having a little argument as to where to make that setting :-) I don't actually understand the "screen resolution at boot" issues very well. |