Index: trunk/i386/libsaio/ati.c =================================================================== --- trunk/i386/libsaio/ati.c (revision 1241) +++ trunk/i386/libsaio/ati.c (revision 1242) @@ -568,7 +568,7 @@ #define FLAGTRUE MKFLAG(0) #define EVERGREEN MKFLAG(1) -static uint8_t atN = 0; +//static uint8_t atN = 0; typedef struct { type_t type; @@ -1126,10 +1126,11 @@ static bool init_card(pci_dt_t *pci_dev) { - char name[24]; - char name_parent[24]; - int i; - bool add_vbios = true; + bool add_vbios = true; + char name[24]; + char name_parent[24]; + int i; + int n_ports = 0; card = malloc(sizeof(card_t)); if (!card) @@ -1182,7 +1183,7 @@ } } - card->ports = 2; // default +// card->ports = 2; // default if (card->info->chip_family >= CHIP_FAMILY_CEDAR) { @@ -1190,7 +1191,7 @@ card->ports = 3; } - atN = 0; +// atN = 0; card->cfg_name = getStringForKey(kAtiConfig, &bootInfo->chameleonConfig); if (!card->cfg_name) @@ -1205,10 +1206,9 @@ card->ports = card_configs[i].ports; } - //Azi: http://forum.voodooprojects.org/index.php/topic,1959.msg10402.html#msg10402 - // get around this... - if (pci_dev->device_id == 0x9552 && pci_dev->subsys_id.subsys_id == 0x04341028 ) - card->ports = 2; + getIntForKey(kAtiPorts, &n_ports, &bootInfo->bootConfig); + if (n_ports > 0) + card->ports = n_ports; sprintf(name, "ATY,%s", card->cfg_name); aty_name.type = kStr; Index: trunk/i386/boot2/boot.c =================================================================== --- trunk/i386/boot2/boot.c (revision 1241) +++ trunk/i386/boot2/boot.c (revision 1242) @@ -441,8 +441,7 @@ } } - - // Notify moduals that we are attempting to boot + // Notify modules that we are attempting to boot execute_hook("PreBoot", NULL, NULL, NULL, NULL); if (!getBoolForKey (kWake, &tryresume, &bootInfo->chameleonConfig)) { Index: trunk/i386/boot2/boot.h =================================================================== --- trunk/i386/boot2/boot.h (revision 1241) +++ trunk/i386/boot2/boot.h (revision 1242) @@ -108,6 +108,7 @@ #define kUseAtiROM "UseAtiROM" /* ati.c */ #define kAtiConfig "AtiConfig" /* ati.c */ +#define kAtiPorts "AtiPorts" /* ati.c */ #define kATYbinimage "ATYbinimage" /* ati.c */ #define kUseNvidiaROM "UseNvidiaROM" /* nvidia.c */ Index: trunk/doc/BootHelp.txt =================================================================== --- trunk/doc/BootHelp.txt (revision 1241) +++ trunk/doc/BootHelp.txt (revision 1242) @@ -72,7 +72,8 @@ ignore /E/E and /S/L/E/Extensions.mkext. GraphicsEnabler=Yes|No Automatic device-properties generation for gfx cards. - AtiConfig= Use a different card config + AtiConfig= Use a different card config, e.g. AtiConfig=Megalodon. + AtiPorts= Specify the number of ports, e.g. AtiPorts=2. UseAtiROM=Yes|No Use an alternate Ati ROM image (path: /Extra/__.rom) UseNvidiaROM=Yes|No Use an alternate Nvidia ROM image Index: trunk/CHANGES =================================================================== --- trunk/CHANGES (revision 1241) +++ trunk/CHANGES (revision 1242) @@ -1,3 +1,7 @@ +- Added AtiPorts option to GraphicsEnabler, so users can override the default number of ports. It proved + to be useful when used to limit the number of ports that a framebuffer registers, which seems to be a + requirement on laptops that can only use 2 ports at the same time. Thanks to AniV for the tip: + http://forum.voodooprojects.org/index.php/topic,1959.msg10402.html#msg10402 - Added NVidia ION AHCI controllers dev id to AHCIPortInjector kext. Forgot to mention source on the commit: http://forum.voodooprojects.org/index.php/topic,1170.0.html - Renamed com.apple.Boot.plist to org.chameleon.Boot.plist.