Layer2Scroll value is 2 seperate bytes.  Each byte is 2 nybbles.

The first nybble of each byte is the speed at which the background of a room scrolls.
A value of 0 makes it stay put.  You walk passed things in the background "as if they were standing still".
A value of F makes it scroll as fast as the foreground.  Front/background move together.
Other values change the speed accordingly.

The second nybble of each byte is the type of background you have in a room.
0 = layer 2 data is a hardcoded one, pointed to in the pointer editor
1 = layer 2 data is in the level data itself

Example:
01C1 (01 C1)
01 = vertically, doesn't scroll... uses a hardcoded background
C1 = horizontally, it scrolls... also uses the hardcoded background

#0#0 or #1#1 . . . The second nybble of each byte *must* be the same.