
One of the first things you will notice about the expanded Basic Pane in the Comprehensive Programmer is that there are a lot more options than you found in the Basic Programmer.

Here we find the CVs for 2 and 4 digit addressing, normal direction of motion, number of speed steps, and analog conversion.
The address of a decoder is the prefix for the code it responds to. This is how you are able to run multiple locomotives on a single line and keep all their speeds and functions independant. Decoders originally could have only a two digit address... after all, who could possibly need more than 100 locomotives? Some lower-end command stations and decoders still use only two digit addressing. Newer decoders can have up to a four digit address. The "Addressing Mode" option lets you choose between two and four digit addresses. The addresses themselves are input into the appropriate text boxes. The "Extended Addressing" check box turns on and off the 4 digit address mode. This allows you to have two different addresses stored in a locomotive, and toggle between the two.
The option for "Normal direction of movement" is important for people who model railroads like the NS, who ran locomotives long hood forward, or for the person who occasionaly makes a mistake and hooks the decoder up in reverse. It lets you change the direction defined in the decoder as "forward".
Unless your command station or decoder can only handle 14 speed steps, you'll find you get much finer control of your locomotives by using the "28/128 speed steps" option.
"Analog Conversion" mode allows the decoder to run under regular analog DC voltage control or DCC commands. If you find that your locomotive is "breaking away" and running out of control at high speed on a DCC layout, you might want to disable this capability. Decoder equipped locomotive tend to run slower when they are on a conventional analog layout, and lighting functions will be dim or off at low speeds because sufficent voltage is not available.
Finally, off to the right you will see "User Private ID #1" and "User Private ID #2". These CVs have nothing to do with any function of the decoder. They simply provide you with a method of electronically marking your equipment. I always use these CVs, even though I have custom-painted equipment for my own freelanced railroad - it gives me yet one more way to identify my equipment.
At the bottom of the programmer pane you will find two rows of buttons, as shown in the excerpt below.

The top row operates only on the currently visible pane. These buttons are:
The second row of buttons performs essentially the same functions, but on the entire range of CVs for the decoder. This allows you to read all CVs, for example, or to make a series of changes across several panes then write them all to the decoder. Again, you have the option of reading/writing only the changed data, or all data.
Below the two rows of buttons is a text line that shows what the current programming mode is, and a "Set" button that allows you to change it without exiting the programmer.
Finally, the bottom line of the pane is a monitor that tells you exactly what the system is doing. It shows "idle" in these screen shots because I was not actively programming decoders when they were made.