Creating a Boot Splash Image (splash.bmx) for Windows CE

If you’re booting an OS on a device that supports the BIOSLoader, an option is to display a “splash screen” image while the OS loads from disk.  The file is, by default, called ‘splash.bmx’, which is expected to be a compressed binary file, *not* an image.  The compressed binary file can be generated from a bitmap using bincompress.exe (which ships with Platform Builder).


While that seems all well and good, there are also some other limitations.  For example the source bitmap (pre compression) must be 256-color, and I believe there is likely a maximum file size as well (I’m sure the loader allocates a static block of RAM to hold the image).  Well my image editor of choice (Paint.NET) doesn’t have a simple mechanism to save as a 256-color bitmap, not all of my PCs have Platform Builder (and thereforebincompress) installed, and I’m a fan of simplifying multistep processes in general.


So I created a very simply Windows app that you use to browse to an image, then click a button and it converts it to 256-color and generates the splash.bmx file for you.  It was just a couple hours of playing around, so it’s not overly robust (it could probably use a command-line interface for automation, and a “preview” of the conversion would be nice) but it’s functional for what I needed to get done this week.  Here’s what it looks like:



 


I’ve published the work (source and binary) up on Codeplex.

2 thoughts on “Creating a Boot Splash Image (splash.bmx) for Windows CE”

  1. Any time I find myself doing a task more than 3 times, I try to create a tool to automate it. In this case, having a tool to handle all of the limitations of splash.bmx (which I can’t actually find documented anywhere) made it more than worthwhile.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s