# DCC addressing primer



## Greg Elmassian (Jan 3, 2008)

After the multiple threads on virtually the same issue, it's clear that some confusion on addressing exists, and moreover, misinformation is being generated that may harm more than just the person misunderstanding.

So, I'll attempt to help out the general population.


----------



## Greg Elmassian (Jan 3, 2008)

So, in DCC, the address(es) of the mobile decoder is stored in the decoder itself.

Yes, there are systems that have a local database of information, but the decoder ONLY responds to the address(es) stored in it.

Very early decoders might not have all 3 of the following addresses, but here they are, kind of in order of "evolution"

short address (1 to 127)
long address (1 to 9999)
consist address (1-127)

Early systems only had short addressing. There are some reports of very early LGB stuff that could not be programmed to the full short addressing range, but often this information is not reliable, since some LGB controllers had additional restrictions in the addresses they can use.

Nothing modern has this restriction, in either the decoder or the controller/throttle.

The DCC long address actually uses 2 CV registers internally, since CV registers are only 8 bits, you can see that 8 bits cannot represent more than 256 addresses (and address 0 is reserved), so you need another 8 bits / another CV to store this)

There is also a consist address... this is the address that all locos are set to in an "advanced" consist.

Hopefully this explanation helps.

Greg


----------



## Paul Burch (Jan 2, 2008)

Greg,
When you say 256 addresses you might have to explain how you got there. Most people are not going to be familiar with how the bits are weighted. 1,2,4,8 etc.


----------



## Greg Elmassian (Jan 3, 2008)

I've started a "bits and bytes" thread, where I'll go into this, and also post (and invite posts of course) on nice CV and binary calculators.

See the thread I just started, and your advice and experience is very welcome, I do not intend to "own" these threads, merely break DCC up into nice "bite sizes" of topics where people can get help and discuss stuff.

There's too many threads and web sites in my opinion where you get the "whole enchilada" and it's overwhelming to many people

Regards, Greg


----------



## Dan Pierce (Jan 2, 2008)

Many sites have an address decoder program for long addresses as it is not only the number divided by 256 but the value needs to be added to 192 in CV 17.
Also some systems go over 9999, but not by much (10239 for Zimo decoders) not that anyone would have this many engines and if used, what is the limit of other systems.


----------



## Greg Elmassian (Jan 3, 2008)

Yep, and most modern systems let you enter the long address in decimal and program CV17 and CV18 for you... the days of manually calculating the CV17 and CV18 addresses is so long gone, I was not going to introduce the mechanics at first.

So to move forward a bit...

"what do we do with these 3 addresses?"

You tell the decoder to respond to the short or long address by setting a CV. It will always respond to the consist address if set.

You can tell the system, usually on a per throttle/cab basis to "call" or "select" a loco with long or short addresses. Some systems just use something special to eliminate the overlap, like entering 3 means short address 3, and entering 0003 means long address 3.

Consist addresses usually are entered like a short address.

So now, you, the operator can determine how to address a loco or consist, no matter how it is addresses.

But, when would you want to use short addresses when you see that they are limited to 1 to 127. In my opinion, unless you have some really old control system, never!

Electronics is so inexpensive today, compared to the cost invested in your locos that it's silly.

What I do is use long addressing, and use the loco number for the address. makes it simple. You basically have up to 4 digits when you do this.

By not using short addresses, I avoid most of the overlap danger, i.e. if I have loco 27, then it's long address is likewise 27...

The only overlap is consist addresses... I normally adopt a convention to take the first 2 digits of the lead loco in a consist as the consist address, but you can do it any way you want. Since the addresses are 1 to 127, picking a 2 digit number means all 2 digit addresses are available.

Also, it eliminates you using short addresses 1-9 for locos. This is normally a good idea, since the default short address of a decoder is usually 3.

As an aside, I normally never change the default short address of 3 and always use long addresses. If I must use the loco on some antiquated setup, then I switch back to short addressing and I know the loco short address is 3.

Whew, that was a lot, any questions or helpful comments?

Greg


----------

