Isolinux HowTo for newbies - Part2

ISOLINUX DISPLAY FILE FORMAT

There are many names for Isolinux display file, like : splash message, splash screen... so don't get confused about this.
As we saw in Part1, there is a default display message often called Welcome message, and messages linked to Function keys ( F1, F2....).
There is no structure differences between this messages. They are the same kind of files.
Isolinux display messages can contain plain text and some commands that are used for text color attributes (foreground and background), clear screen command, etc...
Isolinux can display messages in two different modes: graphic and text mode.
In text mode, Isolinux can display only text messages that contains just ASCII codes (extended ASCII table with 255 characters) - look at www.asciitable.com for details on this character set. Isolinux can also display messages with custom font, but this won't be disscused in this document.
In graphic mode, Isolinux can display images in LSS16 format (used just by Isolinux and other programs from this family). The image is displayed in 640x480 16-color mode. Once in graphics mode, the text color attributes work slightly differently: the background color is ignored, and the foreground colors are the 16 colors specified in the image file. For that reason, ppmtolss16 Perl script included in Syslinux package allows you to specify that certain colors should be assigned to specific color indicies. Color indicies 0 and 7, in particular, should be chosen with care: 0 is the background color, and 7 is the color used for the text printed by isolinux itself. To use ppmtolss16 Perl script in Windows you need to have Perl interpreter installed (for example Active Perl). Other solution is to use PPMtoLSS from this site (compiled Perl script for Windows with simple GUI).

TEXT MODE

There are no special instructions about writing text. I'll give you just few instructions how to use commands in display messages. Commands are normal ASCII characters and they can be inserted in many ways, but this isn't so easy with normal text editors for Windows. For a long time I have used copy&paste from other peoples display messages. I encourage you to download IsoLinux Mate (still Beta but usefull) for easy inserting ASCII codes.
Commands:
explanation: <0D> = <Ctrl-L> = ASCII 12   means: command hex code is 0D, in some text editors can be inserted with Ctrl+L, ASCII code for this command is 12.

<0D> = <Ctrl-L> = ASCII 12   - Clear Screen command. Don't need parameters. Advice: insert it at the begining of every display message.

<0F> = <Ctrl-O> = ASCII 15  - text color attributes. This command takes two parameters: background and foreground text colors. Syntax: command background foreground.
Values for color codes:
0 = black    
1 = dark blue
2 = dark green
3 = dark cyan
4 = dark red
5 = dark purple
6 = brown
7 = light grey
8 = dark grey
9 = bright blue
a = bright green
b = bright cyan
c = bright red
d = bright purple
e = yellow
f = white
Picking a bright color (8-f) for the background results in the corresponding dark color (0-7), with the foreground flashing (flashing is not implemented in ILM).
example in hex: 0f 31 66  will set dark blue background and white foreground. ASCII code for "1" is 31 in hex, and ASCII code for "f" is 66 in hex.

GRAPHIC MODE

<18> = <Ctrl-X> = ASCII 24 -
enter graphic mode and display graphic image. Syntax: command filename newline. Code for newline is ASCII 10.
This command enters graphic mode and loads image in LSS format.

<19> = <Ctrl-Y> = ASCII 25
- back to text mode if you are in graphic mode. Use this at the begining of message if message is in text mode and one of other messages that you use is in graphic mode. If your Welcome message uses graphic mode, use this this at the begining of other messages to turn off graphic mode so you can use text attributes in ordinary way.

OTHER

ATTENTION: DON'T USE TABS IN DISPLAY MESSAGES.
Isolinux don't interpret Tab like text editors, use spaces instead.

In IsoLinux Mate (ILM) you can insert text attributes (color info commands) and Clear Screen very easy. For other commands use Insert ASCII in ILM. Insert command parameters as normal text after command.