so have we figured out exactly what determines the overall background color yet?
so have we figured out exactly what determines the overall background color yet?
On which part? On the the bootloader image it seems like it is probably picking up the color of one of the edges of the image because the original Motorola one has black edges and the top and bottom fills in black. Both of mine have white backgrounds, but due to some clipped text (in the original image I grabbed off the forum) the bottom edge isn't 100% white (there is some gray), so I'm thinking perhaps something along the lines of sample all the pixels in the top and bottom line of the image and whatever color is most common is what it uses? Just a guess. It could be deduced with enough experimentation.
Droid 1 - the "unbrickable" droid.
FRG22D - stock, rooted, ChevyNo1 LV 1.1GHz kernel, SetCPU 2.0.2, Superuser 2.3.6.1
Droid X, Droid 2, Droid 2 Global (Band Unlocked), Droid Pro Global (Band Unlocked)
Recommended reading for newbies: How to ask questions the smart way
From the other thread, I was able to determine that the top left corner isn't where the color comes from. I used the image attached in one of the logos, and the color for the background was olive green. And the top right and bottom left corners have that color as do random edges. All the rest of mine were solid backgrounds and showed up as you would expect.
I think tparker was having problems with one of his that looked like it was all black, but had a white background.
I clear it up, I may have to create a logo with different colors around the outside edges and see what shows up.
Now I feel compelled to replace it 1000 times if I have to to find out what pixel or pixels it looks at to decide the fill color for the top and bottom. Fortunately, if I'm starting from a clean boot of my PC with all the USB ports 100% happy the SBF takes like 15 seconds from hitting the start button until I have "PASS". Just need to prep up like 10 SBF's and start hammering some flashes on. But I need to eat dinner first. And hopefully I'll get back and you'll have posted the answer.![]()
Droid 1 - the "unbrickable" droid.
FRG22D - stock, rooted, ChevyNo1 LV 1.1GHz kernel, SetCPU 2.0.2, Superuser 2.3.6.1
Droid X, Droid 2, Droid 2 Global (Band Unlocked), Droid Pro Global (Band Unlocked)
Recommended reading for newbies: How to ask questions the smart way
That's dedication, right there!
Thanks for all you do for us!
Me: Motorola Droid RazrMaxx - Rooted
Wife: Motorola Droid X - Update Broke Root (Soon to be Samsung Note2)
Son: Motorola Droid 4 - Rooted
Daughter: Motorola Droid Bionic - Rooted
Spare Rooted Phones: LG Vortex & 3 Droid 1s
Well, first attempt at making one of the new ones bombed.I'm bringing Simply Stunning back up right now after a fresh install after I got an error 21 when attempting to restore my latest nandroid.
Oh well, just have to keep trying... Might have that multicolored image now to see.
And looking at the camo image I made, none of them have that color in the very corner of the image. It's getting interesting.
Last edited by fish1552; 09-07-2010 at 10:02 PM.
Droid 1 - the "unbrickable" droid.
FRG22D - stock, rooted, ChevyNo1 LV 1.1GHz kernel, SetCPU 2.0.2, Superuser 2.3.6.1
Droid X, Droid 2, Droid 2 Global (Band Unlocked), Droid Pro Global (Band Unlocked)
Recommended reading for newbies: How to ask questions the smart way
Ok, if you want to try the lined images feel free. I figure the vertical one might be the one you'll figure out the color on.
Last edited by fish1552; 03-28-2011 at 06:47 AM.
OK, I actually got it narrowed down to a single pixel with only 2 flashes, plus 1 extra for confirmation. Not bad. Total elapsed time from start to finish, 52 minutes -- including writing the completely optional SMG building script, and not including writing it up in this post.
This is the first image:
Basically the top line is completely orange, the bottom line is completely pink, the left line is red, then green, then blue (top to bottom), but not including the topmost or bottom-most pixel, and the right line is gold, then aqua, then gold (oops, used the same color twice) not including the topmost or bottom-most pixel. The middle is of course yellow.
When I flashed this in, the background was orange. Yay - our pixel is on the top line.
This is the second image:
Now the whole image is yellow except the top line (since we only care about the top line). The upper left pixel is black, the upper right pixel is white, and then at about 80 pixels apiece the segments in between are red, orange, yellow, green, blue, and violet. Yeah, if the background had been yellow it would have been semi-ambiguous, but not really since the body seems not to matter.
Flashed it in, booted, background was white.
Voila -- the only thing white in that image is the upper right pixel.
Made this 3rd image just for confirmation:
The whole image is yellow except the upper right pixel is pink. Flashed it in, booted, background is pink. Mystery solved and confirmed.
Final answer -- the upper right corner of the image (as saved, after mirroring, before doing all the other manipulation to it in the hex editor) is the color that will be the background.
Also, I'm a programmer, so I got tired of hex editing files manually and dashed off a quick script to do all the hex manipulation of the BMP. Just save the BMP, feed it to this script (assuming you've got Perl on your machine) and it spits out a CG42.smg file.
I could make it do the mirror for you too, but that's a little tougher than the reverse and presumably everyone that has been making these is used to doing the mirror (and it takes like half a second), so I doubt I'd bother making changes at this point.Code:#!/usr/local/bin/perl # MotoCache1 - take 480 x 182, 24 bit BMP file and make it into a CG42 code group use strict; my $file = $ARGV[0]; die("Syntax: MakeCG42FromBMP.pl filename.bmp") unless (-e $file); open (IN,$file) or die ("No in $file. Error: $!"); binmode IN; open (OUT,">$file.CG42.smg") or die ("No out $file.CG42.smg"); binmode OUT; my $junkData; my $junkBytes = read(IN,$junkData,54); die ("Failed to read the 54 junk bytes at the beginning.") unless $junkBytes == 54; my $imageData; my $imageBytes = read(IN,$imageData,262080); die ("Failed to read the 262080 image bytes.") unless $imageBytes == 262080; close IN; my $pad64 = "\xFF" x 64; $imageBytes = reverse(split(//,$imageData)) . $pad64; print OUT $imageBytes; close OUT;
P.S. The attachments are PNG's just to make them small -- the ones actually used in the files were of course BMPs. For anybody that has never understood what hacking is, that's hacking. Modify, observe, hypothesize, test, repeat until solved. The better (or luckier) you are, the fewer "repeat" cycles you hopefully need.
Last edited by MotoCache1; 09-07-2010 at 11:17 PM.
Droid 1 - the "unbrickable" droid.
FRG22D - stock, rooted, ChevyNo1 LV 1.1GHz kernel, SetCPU 2.0.2, Superuser 2.3.6.1
Droid X, Droid 2, Droid 2 Global (Band Unlocked), Droid Pro Global (Band Unlocked)
Recommended reading for newbies: How to ask questions the smart way
wow thats exactly what i was wanting to do but i havnt been able to edit your custom sbf files to try it out :/ but this will fix my boot logo thanks for the dedication to find out the answer.
Moto Droid <--Best Phone Ever Made)
TUD 1.0 Rom
Slayher's 1.2 ghz
Check This Out To Change Your Boot Logo (The M) <--- Warning this will put your phone back to 2.0.1 And Is For Educational And Proof of Concept Purposes Only!!
If you want a quick fix Check out Shibby's Boot Logo Generator.
If You Like My Work And Wanna Buy Me A Beer (I Like Guinness) PM me!