I have been looking at the format of the Dell bios splash screen and wondering if anybody else has looked at this before as its a non standard BMP format. I think i have worked out part of the format but there are still bits of it i dont understand. The following was taken from the Precision 470 bios: The splash screen BMP appears to be contained in 00-0E-1A (obtained with apokrif's tools) and when unpacked looks like this: Code: Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 00 00 03 98 01 7A 00 10 00 04 01 00 00 07 02 00 ...˜.z.......... 00000010 00 D5 49 00 00 87 2E 00 00 55 1D 00 00 1D 0A 00 .ÕI..‡...U...... 00000020 00 F2 53 00 00 ED 51 00 00 E9 50 00 00 E6 4F 00 .òS..íQ..éP..æO. 00000030 00 E2 4E 00 00 DF 4D 00 00 B3 3D 00 00 2E 10 00 .âN..ßM..³=..... 00000040 00 0E 05 00 00 00 00 00 00 FF FF FF FF FF FF FF .........ÿÿÿÿÿÿÿ <snip raster data> 00006170 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00006180 FF 00 00 ÿ.. The header seems to consist of 3 unknown bytes 00 00 03 followed by the width in pixels 0x0198 (408 pixels) and the height in pixels 0x007A (122 pixels) Then there is some pallette index data, im unsure if this begins directly after the height bytes or if it begins with the 04 01 00 00, the actual image info begins at 0x49 where all the FF's begin and appears to end at 0x6180 and have 2 trailing 00's. I have cut the raster data and what i think was the pallette index and pasted it on the end of a proper 4bpp BMP header of the correct size and obtained the attached BMP. Anyone understand this format better than me and fancy filling in the blanks? en4rab
I think i have a bit more of a grip on the format, but im still not 100% on whats what, using the example of the dell logo in the post above: Code: 00 00 03 < Header, im unsure if there is any more to it than this 98 01 < Image width 0x0198 (408 pixels) 7A 00 < Image height 0x007A (122 pixels) 10 00 < I think this is the number of colours used/number of palette entrys 0x10 = 16 colours 04 01 00 00 < First palette entry, BB GG RR 00 07 02 00 00 D5 49 00 00 87 2E 00 00 55 1D 00 00 1D 0A 00 00 F2 53 00 00 ED 51 00 00 E9 50 00 00 E6 4F 00 00 E2 4E 00 00 DF 4D 00 00 B3 3D 00 00 2E 10 00 00 0E 05 00 00 00 00 00 00 < last palette entry FF FF FF FF < Beginning of raster data <snip> FF FF FF < end of raster data 00 00 < looks like 2 bytes of padding left from creating the image in a paint package before conversion to dells simple bitmap format Essentially this is a 4bpp bitmap with a custom header, it should be possible to create a new logo in your favourite paint package and then cut the BMP header off leaving the palette indexs and paste the custom dell header on instead. The last 2 0x00 bytes are interesting and i think are an artifact of the image having been created in a paint package and converted, in a proper BMP those 2 null bytes would round the image size to 0x61B0, making the last byte byte 0x61AF, this doesnt seem to round the logo in the dell format to an even number. I seem to have caught some sort of plague but when im feeling better ill have a go at modding the logo and post the results, i think this apply to most optiplex, precision and dimension desktops, for the following systems: Dell Latitude C-Series and D-Series systems, except for Latitude CP and Latitude CPi. Dell Inspiron 3700, 3800, 4000 series, 8000 series, 9000 series, 500m series, 600m series. Dell Precision M-Series Dell already provide a tool splash.exe to allow you to change the bios boot logo.
Have you tried modifying the image data at all to see if the bios accepts it? Or is that too risky? I have a few inspiron 1525s and vostro 1400s which I know I can recover if the bios gets corrupt so if you want me to test a modded bios I will happily test for you.
They have few defferent formats - varations of BMP. I wrote tools to to convert back and forth quite some time ago. Nobody seemed interested at that time so I didn't post anything...
Does it work for old BIOS format? If it does - that's the very thing Andy & yo'll looking for - it has old style compression code! ;-)
Works with Inspiron 6400 as well (wasn't sure since oem splash screen has different dimensions)... and couldn't find out elsewhere... It will be interesting to then backup the bios and see if it actually mods the bios bootscreen or if it stores the bmp elsewhere, say in the hard drive boot sectors Edit, Yes it does save it to bios....
Yep. I.e. it does have compresson code. But I think Inspiron 6400 has "new" compresson format. Am I mistaken? How many versions of SPLASH.EXE exists - i.e. what is the oldest one?
One possible reason the desktops aren't officially supported, Dell does have administration tools for their corporate customers (I forget the name of the software suite) and I believe it supports changing boots screens, I suppose so they company can have a corporate logo for their boot screen...
I've used phoenix tool to extract the bios.exe, and looking in the dump folder i've found the .rom with the bitmap. I've done as described and copied the raster data into an external file which then opens fine. Next i've filled the raster data section with all FF's, which changes the logo to all black. I'd like to see if this can be flashed, but this is where i'm stuck! - Phoenix tool only writes the .rom with the modified slic... But I need to also update the bmp .rom. - The extracted bios.hdr file has the: 00-00-03 Header 98-01 Image Width 7A-00 Image Height [But the raster section is compressed] How do I re-compress this bmp rom??? I have tried "lzss-r e original_bmp.rom compressed_original_bmp.rom" and compared against the hdr file as it shouldn't have changed. Again the 00-00-03..... etc looks fine, the compressed section (which shouldn't have change) is different.
You’ve done everything right. lzss-r is home brew program, it compression algo produce stream compatible with de-compressor in Dell BIOS, but it’s not the same if you shrink same file using Dell compressor. I’ll work, I have done replacement myself. I would suggest not changing resolution unless you fiddling with notebook. Once you reinsert recompressed logo - you’ll need update CRC - you won’t be able to flash it otherwise. HDR tool can replace any module and update CRC as well. The reason I didn’t post updated version – we had some discussion about legality of CompuTrace module removing and I’ve decided not too…
Thanks for the quick response Apokrif! I'm not changing the resolution or anything, right not just experimenting by changing the whole image to black fffffff..... Cheers, LOllett
Apokrif, I would think if someone wants to make use of Andy's tools for this purpose the easiest thing to do would be to choose the advanced options, check "don't alter any acpi tables" uncheck "replace all oem/table id occurences" and the Dell option, perhaps the most important would be to check the first four and the last "control options". If the tool requests to make any changes to acpi, slic etc deny then, before rebuilding the bios it will offer to allow the user to make any changes to additional modules, you could then replace the boot screen module, keeping the same name, using the format described in this thread, and then complete the mod, of course check the log to ensure there is no changes recorded other than your custom boot screen, right?
Hi to all of you! My first post - very n00bish i think - please be considerate with me and my poor english... Maybe someone can help me with my problem.... im own a dell d430 and i want to change the splash screen... before some of u say - use the post screen tool - it works for me but i loose the loading bar... and resolution and fitting really sucks... So im finding out how to put files back into bios - flashed it and it works. so my question is: 1. Ive changed all pics to the background color #AAAAA - is it possible to change the whole splashscreen background from #000000 (black) to #AAAAAA (grey)? If someone can help me, I would appreciate it very much... thanks in advance - cheers CRC
I guess, BIOS code doesn’t change background color, but set resolution + clear screen only (black is the default background color). I might be very well mistaken - I haven’t seen code loading those images- never had enough time to find it.
I have an Inspiron 6400 and I have windows 7 and ubuntu set up to dual boot (ubuntu boots when the mediadirect button is pressed). I was wondering if anyone out there knew how to change or get rid of the MediaDirect bios POST image? I've been looking everywhere on the net to no avail. I already have a patched bios for the slic tables.