| Start a new topic Add Reply |
Sep 22 2011, 02:35 PM
Post #421
Make sure is not FAT binary, if so cut it off and keep only the Ia32 part, or build your own refit x86 only.
Sep 23 2011, 05:11 AM
Post #422
[attachment=3807:boot.zip]
nice share, it work well on my 2gb mini, logo is nice :-)
thanks jafd
Sep 23 2011, 09:01 PM
Post #423
You should remove them (read posts #378 and #381 for the original question and answer).
Post #180 answers your need :
Keep on posting feedback on your install.
Have a nice day/evening/night !
Cobus.
Post #180 answers your need :
Keep on posting feedback on your install.
Have a nice day/evening/night !
Cobus.
Thank you for the help. Everything works fine now..... well almost everything.
This is a general question about the 311. My touchpad is completely messed up at times. It wont recognize my input sometimes. Other times it will fly across the whole screen uncontrollably. Sometimes it starts to click on its own...
This happens on Windows XP, Arch(linux) and OS X. Is this a common thing with the 311? Im starting to think that my touchpad is defective....Has anyone experience with replacing the touchpad?
Also, I have ordered an AR9285. Do I have to do something particular while installing it or will OS X handle everything by its own?
Im sorry that I cant be more of help (feedback wise). I will try to replace the touchpad and install WiFi and use the 311 more frequently to post more feedback.
This post has been edited by Flygplan: Sep 23 2011, 11:56 PM
Sep 24 2011, 04:07 PM
Post #424
Hello !
My trackpad is jumpy with Windows XP, but not with MacOS X.
Mac Hosehead swapped his trackpad last year : LINK if it is of any help...
Have a nice day/evening/night !
Cobus.
My trackpad is jumpy with Windows XP, but not with MacOS X.
Mac Hosehead swapped his trackpad last year : LINK if it is of any help...
Have a nice day/evening/night !
Cobus.
Reason for edit: Corrected link
Sep 25 2011, 02:05 PM
Post #425
Mac Hosehead swapped his trackpad last year : LINK if it is of any help...
Dunno, I have observed that Mini's trackpad misbehaves more and more as it grows hot from uptime.
Sometimes I'm starting to hate it so much that I kextunload it altogether and hook up a mouse. That's also because I'm lousy at hardware, and I don't want to break the laptop beyond repair.
Maybe what I need is Magic Trackpad after all.
Sep 25 2011, 09:26 PM
Post #426
Maybe what I need is Magic Trackpad after all.
I never used the touch pad or ever will, still I added the scroll function as a challenge and was fun...
I have a Razer Orochi BT mouse and I'm very satisfied about it, it does have a lag on connection as any other BT mouse, but is far the best mouse I ever had!
Even the Mini is a mini I cannot work without a mouse, most advanced touch pad(s) still cannot compete with a damn good mouse, note that I'm not using the mini for surfing the web or playing the media.
Oct 20 2011, 07:54 PM
Post #427
Hi!
No more news here? In the meantime I've ordered an Atheros AR9285 mini-pci and later on I'll install OSX!
I was wondering if it's worth an upgrade to a SSD...!?
No one here have a Solid State Drive installed?
This post has been edited by Iperzampem0: Oct 20 2011, 07:55 PM
No more news here? In the meantime I've ordered an Atheros AR9285 mini-pci and later on I'll install OSX!
I was wondering if it's worth an upgrade to a SSD...!?
No one here have a Solid State Drive installed?
This post has been edited by Iperzampem0: Oct 20 2011, 07:55 PM
Oct 21 2011, 08:18 AM
Post #428
I was wondering if it's worth an upgrade to a SSD...!?
No one here have a Solid State Drive installed?
No one here have a Solid State Drive installed?
Hello !
I have a SSD, but speeds are hard to compare in my case :
I installed MacOS X 10.6.5 and 10.6.7 on two hard disks for evaluation purposes (several months of evaluation).
These disks were almost empty (approx. 10-15 GB) with fresh installs, and therefore quite quick, and I never had too many windows open at the same time.
Then I bought a 250 GB Crucial M4 SSD (SATA 6 GB/s capable), installed MacOS X 10.6.7 and imported all my data from my old PowerBook G4. This means only 30-40 GB of free disk space.
The SSD is quite loaded, and I always have lots of Safari windows open.
As a result, I was not very impressed by the SSD. It is good, but I read it should be impressive.
Someone that has the same usage of the SSD than a previous HD could probably feel better the acceleration than I can.
Or maybe the bottleneck is somewhere else in our computers (our SATA 3 GB/s interface for example).
As a bottom line, I think that a SSD will have more effect in a MacBook Pro than in a Mini 311c, but it can be worth it if the SSD can help you postpone the buy of a faster computer (that will benefit from the SSD too ).
Have a nice day !
Cobus.
Oct 22 2011, 06:22 AM
Post #429
Hi!
No more news here?
No more news here?
I'm trying for like a month to get the built in USB card reader as boot device, and so far failed or got some results only on efi booting.
A cheap external USB SDHC reader works w/o any trouble but not built-in one.
The problem with this Realtek card reader is that is a USB Multi-Lun device, so either the EFI UsbMassStorage driver has no support for it(is based on old EDK rev) or HP didn't want us to have this feature!
Knowing HP, I bet more on second variant, so I tried to fix it:
First I started to look on many InsydeEfi BIOS'es from vendors like Acer or Sony that sell the notebooks with card readers, none of the Acer Aspire One has this feature and only a few Sony have it but on most case they don't use USB readers, so dead end.
There is one with mcp79 and 32 bit atom from Sony, Signature X line, but even after so long time they didn't released a BIOS update so I couldn't get a copy to look at, if you know someone that has one ask for a BIOS dump, it may help.
Second I tried to use EDK/EDK2 UsbMassStorage and/or rest of the USB drivers, best result was that I got it to boot/recognized only on EFI.
The reason for this is HP again...
All original USB drivers , except UsbMassStorage, has a RT_DEPEX(Run Time Dependencie Expression) that look like this on hex:
QUOTE
026AC765C91ED7664EAB06C6230D52842508
In "translation" is PUSH GUID DEPENDENCY_END
This point to an unknown protocol GUID:
PUSH C965C76A-D71E-4E66-AB06-C6230D528425 DEPENDENCY_END
And the protocol is installed, dumped protocols with rEfit dumpprot:
QUOTE
.....
Handle 80 @ BED56C10
107A772C-D5E1-11D4-9A46-0090273FC14D ComponentName "PCI Bus Driver"
18A031AB-B443-4D1A-A5C0-0C09261E9F71 DriverBinding
5B1B31A1-9562-11D2-8E3F-00A0C969723B LoadedImage Device "MemMap(11:BF804010-BFB0400F)" File "FVFile(C0734D12-7927-432B-986B-A7E3A35BA005)"
Handle 81 @ BED56710
5B1B31A1-9562-11D2-8E3F-00A0C969723B LoadedImage Device "MemMap(11:BF804010-BFB0400F)" File "FVFile(31FD7EAF-80A7-435E-8E0A-3F185F8667DD)"
Handle 82 @ BED56190
C965C76A-D71E-4E66-AB06-C6230D528425
.......
Handle 80 @ BED56C10
107A772C-D5E1-11D4-9A46-0090273FC14D ComponentName "PCI Bus Driver"
18A031AB-B443-4D1A-A5C0-0C09261E9F71 DriverBinding
5B1B31A1-9562-11D2-8E3F-00A0C969723B LoadedImage Device "MemMap(11:BF804010-BFB0400F)" File "FVFile(C0734D12-7927-432B-986B-A7E3A35BA005)"
Handle 81 @ BED56710
5B1B31A1-9562-11D2-8E3F-00A0C969723B LoadedImage Device "MemMap(11:BF804010-BFB0400F)" File "FVFile(31FD7EAF-80A7-435E-8E0A-3F185F8667DD)"
Handle 82 @ BED56190
C965C76A-D71E-4E66-AB06-C6230D528425
.......
If it was only the DEPEX was simple to fix/replace drivers, but same GUID can be found inside all USB PE32 binaries, you can found that searching for "6AC765C91ED7664EAB06C6230D528425"
So what mean this?
We cannot simple replace drivers and expect them to work, and this was proved on my several attempts to add/replace with EDK/EDK2 UsbMassStorage or UsbBus drivers.
After I deleted from BIOS all USB drivers except PEIM and added EDK UsbBus EHCI and MassStorage the card reader pooped up on boot options but only if it has on it /efi/boot/bootia32.efi, and not as legacy boot, this can be fixed with a legacy EFI GUI interface and bypass HP one but there is another problem(LOL).
There is no OHCI driver on EDK/EDK2 so it will not be proper initialized, as result bluetooth is dead on both Windows/OS X, built in EHCI/OHCI drivers refuse to work with EDK UsbBus, so dead end again...
IMHO the best is if we can make HP to "eat" fixed UsbMassStorage driver, but so far failed.
If you want to help, spam HP Support asking for USB Card Reader boot option, maybe they will fix it, or if you have other idea I am open to listen.
That's all news I have.
Oct 22 2011, 06:10 PM
Post #430
I'm trying for like a month to get the built in USB card reader as boot device, and so far failed or got some results only on efi booting.
A cheap external USB SDHC reader works w/o any trouble but not built-in one.
The problem with this Realtek card reader is that is a USB Multi-Lun device, so either the EFI UsbMassStorage driver has no support for it(is based on old EDK rev) or HP didn't want us to have this feature!
Knowing HP, I bet more on second variant, so I tried to fix it:
First I started to look on many InsydeEfi BIOS'es from vendors like Acer or Sony that sell the notebooks with card readers, none of the Acer Aspire One has this feature and only a few Sony have it but on most case they don't use USB readers, so dead end.
There is one with mcp79 and 32 bit atom from Sony, Signature X line, but even after so long time they didn't released a BIOS update so I couldn't get a copy to look at, if you know someone that has one ask for a BIOS dump, it may help.
Second I tried to use EDK/EDK2 UsbMassStorage and/or rest of the USB drivers, best result was that I got it to boot/recognized only on EFI.
The reason for this is HP again...
All original USB drivers , except UsbMassStorage, has a RT_DEPEX(Run Time Dependencie Expression) that look like this on hex:
In "translation" is PUSH GUID DEPENDENCY_END
This point to an unknown protocol GUID:
PUSH C965C76A-D71E-4E66-AB06-C6230D528425 DEPENDENCY_END
And the protocol is installed, dumped protocols with rEfit dumpprot:
If it was only the DEPEX was simple to fix/replace drivers, but same GUID can be found inside all USB PE32 binaries, you can found that searching for "6AC765C91ED7664EAB06C6230D528425"
So what mean this?
We cannot simple replace drivers and expect them to work, and this was proved on my several attempts to add/replace with EDK/EDK2 UsbMassStorage or UsbBus drivers.
After I deleted from BIOS all USB drivers except PEIM and added EDK UsbBus EHCI and MassStorage the card reader pooped up on boot options but only if it has on it /efi/boot/bootia32.efi, and not as legacy boot, this can be fixed with a legacy EFI GUI interface and bypass HP one but there is another problem(LOL).
There is no OHCI driver on EDK/EDK2 so it will not be proper initialized, as result bluetooth is dead on both Windows/OS X, built in EHCI/OHCI drivers refuse to work with EDK UsbBus, so dead end again...
IMHO the best is if we can make HP to "eat" fixed UsbMassStorage driver, but so far failed.
If you want to help, spam HP Support asking for USB Card Reader boot option, maybe they will fix it, or if you have other idea I am open to listen.
That's all news I have.
A cheap external USB SDHC reader works w/o any trouble but not built-in one.
The problem with this Realtek card reader is that is a USB Multi-Lun device, so either the EFI UsbMassStorage driver has no support for it(is based on old EDK rev) or HP didn't want us to have this feature!
Knowing HP, I bet more on second variant, so I tried to fix it:
First I started to look on many InsydeEfi BIOS'es from vendors like Acer or Sony that sell the notebooks with card readers, none of the Acer Aspire One has this feature and only a few Sony have it but on most case they don't use USB readers, so dead end.
There is one with mcp79 and 32 bit atom from Sony, Signature X line, but even after so long time they didn't released a BIOS update so I couldn't get a copy to look at, if you know someone that has one ask for a BIOS dump, it may help.
Second I tried to use EDK/EDK2 UsbMassStorage and/or rest of the USB drivers, best result was that I got it to boot/recognized only on EFI.
The reason for this is HP again...
All original USB drivers , except UsbMassStorage, has a RT_DEPEX(Run Time Dependencie Expression) that look like this on hex:
In "translation" is PUSH GUID DEPENDENCY_END
This point to an unknown protocol GUID:
PUSH C965C76A-D71E-4E66-AB06-C6230D528425 DEPENDENCY_END
And the protocol is installed, dumped protocols with rEfit dumpprot:
If it was only the DEPEX was simple to fix/replace drivers, but same GUID can be found inside all USB PE32 binaries, you can found that searching for "6AC765C91ED7664EAB06C6230D528425"
So what mean this?
We cannot simple replace drivers and expect them to work, and this was proved on my several attempts to add/replace with EDK/EDK2 UsbMassStorage or UsbBus drivers.
After I deleted from BIOS all USB drivers except PEIM and added EDK UsbBus EHCI and MassStorage the card reader pooped up on boot options but only if it has on it /efi/boot/bootia32.efi, and not as legacy boot, this can be fixed with a legacy EFI GUI interface and bypass HP one but there is another problem(LOL).
There is no OHCI driver on EDK/EDK2 so it will not be proper initialized, as result bluetooth is dead on both Windows/OS X, built in EHCI/OHCI drivers refuse to work with EDK UsbBus, so dead end again...
IMHO the best is if we can make HP to "eat" fixed UsbMassStorage driver, but so far failed.
If you want to help, spam HP Support asking for USB Card Reader boot option, maybe they will fix it, or if you have other idea I am open to listen.
That's all news I have.
Thanks for your job and the time you spend for the community
Have a good we and keep in touch
All the best
Oct 24 2011, 03:17 PM
Post #431
Hi everyone.
I have just wiped out my HP Mini 311 and reinstalled Mac OS X. I went from base install 10.6 using Mowglibook's HP Mini 311 Retail Pack 0.9 and then upgraded straight to 10.6.7 with THeKiNG's 09032011 and Chameleon bootloader files from the Bootloader.zip at the OP.
In essence I have icelord's F.16 flashed bios + 09032011 (3GB DSDT.aml and only kexts from "Extensions" folder installed in /S/L/E).
With hibernatemode 0.
My HP Mini 311 does not sleep. Only black screen.
Also when I jump to 10.6.8, I get stuck at "Cannot locate LCPDriver - cannot load Fakesmc". Am I doing something wrong?
I think it's the bootloader bin files that I got wrong. Which exact Chameleon version should I use (a link will be appreciated)?
Thank you for all the hardwork and a pleasant day to everyone.
I have just wiped out my HP Mini 311 and reinstalled Mac OS X. I went from base install 10.6 using Mowglibook's HP Mini 311 Retail Pack 0.9 and then upgraded straight to 10.6.7 with THeKiNG's 09032011 and Chameleon bootloader files from the Bootloader.zip at the OP.
In essence I have icelord's F.16 flashed bios + 09032011 (3GB DSDT.aml and only kexts from "Extensions" folder installed in /S/L/E).
With hibernatemode 0.
My HP Mini 311 does not sleep. Only black screen.
Also when I jump to 10.6.8, I get stuck at "Cannot locate LCPDriver - cannot load Fakesmc". Am I doing something wrong?
I think it's the bootloader bin files that I got wrong. Which exact Chameleon version should I use (a link will be appreciated)?
Thank you for all the hardwork and a pleasant day to everyone.
Oct 24 2011, 04:07 PM
Post #432
Hi !
Why install RP 0.9 ?
I think that THe KiNG 09032011 pack can be installed straight on a fresh install.
I am afraid you mixed packs, which is a bad idea.
Have a nice day !
Cobus.
Why install RP 0.9 ?
I think that THe KiNG 09032011 pack can be installed straight on a fresh install.
I am afraid you mixed packs, which is a bad idea.
Have a nice day !
Cobus.
Oct 25 2011, 06:09 AM
Post #433
Hi !
Why install RP 0.9 ?
I think that THe KiNG 09032011 pack can be installed straight on a fresh install.
I am afraid you mixed packs, which is a bad idea.
Have a nice day !
Cobus.
Why install RP 0.9 ?
I think that THe KiNG 09032011 pack can be installed straight on a fresh install.
I am afraid you mixed packs, which is a bad idea.
Have a nice day !
Cobus.
I'm sure I did not mix the packs. Because the RP 0.9 was just installed only on the USB stick that I used as installer. I boot the "Vanilla" 10.6 installation on my internal hard drive using the USB stick so I did not do any modifications on the Mac OS X file system on my internal hard drive. The first changes was that I applied 10.6.7 combo then I installed THeKiNG's 09032011 pack before restarting.
My HP Mini 311 does not go to sleep. Only blank screen.
Oct 25 2011, 12:51 PM
Post #434
Also when I jump to 10.6.8, I get stuck at "Cannot locate LCPDriver - cannot load Fakesmc". Am I doing something wrong?
You have a "soup" there...
Check again file permissions, duplicates(make sure you don't have something on efi partition) remove all caches and rebuild, basic maintenance stuff.
I suspect you used some installer package that did the mess, or if manual you installed file(s) wrong.
Start over a clean install with latest pack and don't mix!
Oct 25 2011, 03:07 PM
Post #435
Which i386 files should I be using with the latest pack from THeKiNG? The one on the first post on this thread.
With all due respect, I am sure I do not have a soup in here. The RP 0.9 never touched my internal hardrive.
I manually created a USB installer of 10.6 (I imaged from a retail Snow DVD I bought from Apple way back when it ws first launched) and used RP 0.9 to make that USB bootable.
After I installed 10.6 to my internal hdd, I booted Chameleon off of that USB but F8 and just chose my internal hdd instead.
And then once that was done - there was even the Apple Mac OS X welcome video without sound because I did NOT install the VoodooHDA.kext at all - certainly NOT onto my 10.6 installation on my internal HDD.
Sorry for the term but I believe my initial 10.6 installation was as virgin as could be when I installed 10.6.7 (and also tried with 10.6.8) latest THeKiNG package.
Would RP 0.9 which was installed on the USB have "infected" my internal HDD install?
With all due respect, I am sure I do not have a soup in here. The RP 0.9 never touched my internal hardrive.
I manually created a USB installer of 10.6 (I imaged from a retail Snow DVD I bought from Apple way back when it ws first launched) and used RP 0.9 to make that USB bootable.
After I installed 10.6 to my internal hdd, I booted Chameleon off of that USB but F8 and just chose my internal hdd instead.
And then once that was done - there was even the Apple Mac OS X welcome video without sound because I did NOT install the VoodooHDA.kext at all - certainly NOT onto my 10.6 installation on my internal HDD.
Sorry for the term but I believe my initial 10.6 installation was as virgin as could be when I installed 10.6.7 (and also tried with 10.6.8) latest THeKiNG package.
Would RP 0.9 which was installed on the USB have "infected" my internal HDD install?
Oct 25 2011, 08:12 PM
Post #436
The RP 0.9 never touched my internal hardrive.
OK. This was not clear to me in your 1st post.
Did you install THe KiNG's hacked BIOS or his included DSDT_xGB.aml ?
Do you boot verbose or not ?
Have a nice day/evening/night !
Cobus.
Oct 26 2011, 01:59 PM
Post #437
@THe KiNG:
Thanks for your continuos hard work!
I have a request: mine is a Compaq Mini 311c, not branded as HP, so I have a red boot screen. I have installed your hacked BIOS, but now I have the Apple logo with the rest of the screen that's red
I think I should have all the screen black.
Can you make, please, an updated version (black screen with white Apple logo) of your hacked BIOS just for people like me which have an HP Mini branded by Compaq with the red boot screen?
This post has been edited by Iperzampem0: Oct 26 2011, 02:01 PM
Thanks for your continuos hard work!
I have a request: mine is a Compaq Mini 311c, not branded as HP, so I have a red boot screen. I have installed your hacked BIOS, but now I have the Apple logo with the rest of the screen that's red
Can you make, please, an updated version (black screen with white Apple logo) of your hacked BIOS just for people like me which have an HP Mini branded by Compaq with the red boot screen?
This post has been edited by Iperzampem0: Oct 26 2011, 02:01 PM
Oct 28 2011, 06:25 PM
Post #438
I have the Apple logo with the rest of the screen that's red
I think I should have all the screen black.
So you have red background with apple logo on a black square?
Can you take a pic so i can see how it is?
The problem is that the logo is not a full screen one, rest of the screen is filled with desired color by BIOS, after the brand check.
To change the color of the background we need to find where it does that and hack it, will not be easy to find where, but not impossible.
How is done in (U)EFI:
CODE
typedef struct {
UINT8 Blue;
UINT8 Green;
UINT8 Red;
UINT8 Reserved;
} EFI_UGA_PIXEL;
typedef EFI_UGA_PIXEL EFI_GRAPHICS_OUTPUT_BLT_PIXEL;
.......
EFI_STATUS
EFIAPI
WinNtGopSetMode (
IN EFI_GRAPHICS_OUTPUT_PROTOCOL * This,
IN UINT32 ModeNumber
)
{
EFI_STATUS Status;
GOP_PRIVATE_DATA *Private;
GOP_MODE_DATA *ModeData;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Fill;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *NewFillLine;
RECT Rect;
UINTN Size;
UINTN Width;
UINTN Height;
Private = GOP_PRIVATE_DATA_FROM_THIS (This);
if (ModeNumber >= This->Mode->MaxMode) {
return EFI_UNSUPPORTED;
}
ModeData = &Private->ModeData[ModeNumber];
This->Mode->Mode = ModeNumber;
Private->GraphicsOutput.Mode->Info->HorizontalResolution = ModeData->HorizontalResolution;
Private->GraphicsOutput.Mode->Info->VerticalResolution = ModeData->VerticalResolution;
Private->GraphicsOutput.Mode->Info->PixelsPerScanLine = ModeData->HorizontalResolution;
if (Private->HardwareNeedsStarting) {
Status = WinNtGopStartWindow (
Private,
ModeData->HorizontalResolution,
ModeData->VerticalResolution,
ModeData->ColorDepth,
ModeData->RefreshRate
);
if (EFI_ERROR (Status)) {
return EFI_DEVICE_ERROR;
}
Private->HardwareNeedsStarting = FALSE;
} else {
//
// Change the resolution and resize of the window
//
//
// Free the old buffer. We do not save the content of the old buffer since the
// screen is to be cleared anyway. Clearing the screen is required by the EFI spec.
// See UEFI spec -EFI_GRAPHICS_OUTPUT_PROTOCOL.SetMode()
//
Private->WinNtThunk->HeapFree (Private->WinNtThunk->GetProcessHeap (), 0, Private->VirtualScreenInfo);
//
// Allocate DIB frame buffer directly from NT for performance enhancement
// This buffer is the virtual screen/frame buffer. This buffer is not the
// same a a frame buffer. The first row of this buffer will be the bottom
// line of the image. This is an artifact of the way we draw to the screen.
//
Size = ModeData->HorizontalResolution * ModeData->VerticalResolution * sizeof (RGBQUAD) + sizeof (BITMAPV4HEADER);
Private->VirtualScreenInfo = Private->WinNtThunk->HeapAlloc (
Private->WinNtThunk->GetProcessHeap (),
HEAP_ZERO_MEMORY,
Size
);
//
// Update the virtual screen info data structure
//
Private->VirtualScreenInfo->bV4Size = sizeof (BITMAPV4HEADER);
Private->VirtualScreenInfo->bV4Width = ModeData->HorizontalResolution;
Private->VirtualScreenInfo->bV4Height = ModeData->VerticalResolution;
Private->VirtualScreenInfo->bV4Planes = 1;
Private->VirtualScreenInfo->bV4BitCount = 32;
//
// uncompressed
//
Private->VirtualScreenInfo->bV4V4Compression = BI_RGB;
//
// The rest of the allocated memory block is the virtual screen buffer
//
Private->VirtualScreen = (RGBQUAD *) (Private->VirtualScreenInfo + 1);
//
// Use the AdjuctWindowRect fuction to calculate the real width and height
// of the new window including the border and caption
//
Rect.left = 0;
Rect.top = 0;
Rect.right = ModeData->HorizontalResolution;
Rect.bottom = ModeData->VerticalResolution;
Private->WinNtThunk->AdjustWindowRect (&Rect, WS_OVERLAPPEDWINDOW, 0);
Width = Rect.right - Rect.left;
Height = Rect.bottom - Rect.top;
//
// Retrieve the original window position information
//
Private->WinNtThunk->GetWindowRect (Private->WindowHandle, &Rect);
//
// Adjust the window size
//
Private->WinNtThunk->MoveWindow (Private->WindowHandle, Rect.left, Rect.top, Width, Height, TRUE);
}
NewFillLine = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL) * ModeData->HorizontalResolution);
if (NewFillLine == NULL) {
return EFI_DEVICE_ERROR;
}
if (Private->FillLine != NULL) {
FreePool (Private->FillLine);
}
Private->FillLine = NewFillLine;
Fill.Red = 0x00;
Fill.Green = 0x00;
Fill.Blue = 0x00;
This->Blt (
This,
&Fill,
EfiBltVideoFill,
0,
0,
0,
0,
ModeData->HorizontalResolution,
ModeData->VerticalResolution,
ModeData->HorizontalResolution * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)
);
return EFI_SUCCESS;
}
UINT8 Blue;
UINT8 Green;
UINT8 Red;
UINT8 Reserved;
} EFI_UGA_PIXEL;
typedef EFI_UGA_PIXEL EFI_GRAPHICS_OUTPUT_BLT_PIXEL;
.......
EFI_STATUS
EFIAPI
WinNtGopSetMode (
IN EFI_GRAPHICS_OUTPUT_PROTOCOL * This,
IN UINT32 ModeNumber
)
{
EFI_STATUS Status;
GOP_PRIVATE_DATA *Private;
GOP_MODE_DATA *ModeData;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Fill;
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *NewFillLine;
RECT Rect;
UINTN Size;
UINTN Width;
UINTN Height;
Private = GOP_PRIVATE_DATA_FROM_THIS (This);
if (ModeNumber >= This->Mode->MaxMode) {
return EFI_UNSUPPORTED;
}
ModeData = &Private->ModeData[ModeNumber];
This->Mode->Mode = ModeNumber;
Private->GraphicsOutput.Mode->Info->HorizontalResolution = ModeData->HorizontalResolution;
Private->GraphicsOutput.Mode->Info->VerticalResolution = ModeData->VerticalResolution;
Private->GraphicsOutput.Mode->Info->PixelsPerScanLine = ModeData->HorizontalResolution;
if (Private->HardwareNeedsStarting) {
Status = WinNtGopStartWindow (
Private,
ModeData->HorizontalResolution,
ModeData->VerticalResolution,
ModeData->ColorDepth,
ModeData->RefreshRate
);
if (EFI_ERROR (Status)) {
return EFI_DEVICE_ERROR;
}
Private->HardwareNeedsStarting = FALSE;
} else {
//
// Change the resolution and resize of the window
//
//
// Free the old buffer. We do not save the content of the old buffer since the
// screen is to be cleared anyway. Clearing the screen is required by the EFI spec.
// See UEFI spec -EFI_GRAPHICS_OUTPUT_PROTOCOL.SetMode()
//
Private->WinNtThunk->HeapFree (Private->WinNtThunk->GetProcessHeap (), 0, Private->VirtualScreenInfo);
//
// Allocate DIB frame buffer directly from NT for performance enhancement
// This buffer is the virtual screen/frame buffer. This buffer is not the
// same a a frame buffer. The first row of this buffer will be the bottom
// line of the image. This is an artifact of the way we draw to the screen.
//
Size = ModeData->HorizontalResolution * ModeData->VerticalResolution * sizeof (RGBQUAD) + sizeof (BITMAPV4HEADER);
Private->VirtualScreenInfo = Private->WinNtThunk->HeapAlloc (
Private->WinNtThunk->GetProcessHeap (),
HEAP_ZERO_MEMORY,
Size
);
//
// Update the virtual screen info data structure
//
Private->VirtualScreenInfo->bV4Size = sizeof (BITMAPV4HEADER);
Private->VirtualScreenInfo->bV4Width = ModeData->HorizontalResolution;
Private->VirtualScreenInfo->bV4Height = ModeData->VerticalResolution;
Private->VirtualScreenInfo->bV4Planes = 1;
Private->VirtualScreenInfo->bV4BitCount = 32;
//
// uncompressed
//
Private->VirtualScreenInfo->bV4V4Compression = BI_RGB;
//
// The rest of the allocated memory block is the virtual screen buffer
//
Private->VirtualScreen = (RGBQUAD *) (Private->VirtualScreenInfo + 1);
//
// Use the AdjuctWindowRect fuction to calculate the real width and height
// of the new window including the border and caption
//
Rect.left = 0;
Rect.top = 0;
Rect.right = ModeData->HorizontalResolution;
Rect.bottom = ModeData->VerticalResolution;
Private->WinNtThunk->AdjustWindowRect (&Rect, WS_OVERLAPPEDWINDOW, 0);
Width = Rect.right - Rect.left;
Height = Rect.bottom - Rect.top;
//
// Retrieve the original window position information
//
Private->WinNtThunk->GetWindowRect (Private->WindowHandle, &Rect);
//
// Adjust the window size
//
Private->WinNtThunk->MoveWindow (Private->WindowHandle, Rect.left, Rect.top, Width, Height, TRUE);
}
NewFillLine = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL) * ModeData->HorizontalResolution);
if (NewFillLine == NULL) {
return EFI_DEVICE_ERROR;
}
if (Private->FillLine != NULL) {
FreePool (Private->FillLine);
}
Private->FillLine = NewFillLine;
Fill.Red = 0x00;
Fill.Green = 0x00;
Fill.Blue = 0x00;
This->Blt (
This,
&Fill,
EfiBltVideoFill,
0,
0,
0,
0,
ModeData->HorizontalResolution,
ModeData->VerticalResolution,
ModeData->HorizontalResolution * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)
);
return EFI_SUCCESS;
}
So we need to find how this part looks in compiled module(hex) then search in extracted BIOS modules and hardcode our values for black:
QUOTE
Fill.Red = 0;
Fill.Green = 0;
Fill.Blue = 0;
Fill.Green = 0;
Fill.Blue = 0;
Apple gray will be:
QUOTE
Fill.Red = 191;
Fill.Green = 191;
Fill.Blue = 191;
Fill.Green = 191;
Fill.Blue = 191;
Oct 28 2011, 07:32 PM
Post #439
So you have red background with apple logo on a black square?
Exactly, I have it
What can I do to help you with this "hardcode"?
Oct 28 2011, 07:43 PM
Post #440
What can I do to help you with this "hardcode"?
Get me some free time...
I had this on my TODO list, remove the logo and set background as is on apple boot(grey)then once boot is started to show the apple logo, just no time to get on it.
The few time I have now I spent on USB/Card Reader boot stuff and EFI GUI implementation.
Trying to write UEFI OHCI driver, hope to have success since it will be first time I'll do such thing
| Add Reply Start a new topic |
0 Members:









