
For the electrical setup, use the programming-track guide. For a locomotive already in a group, check consist membership before changing its individual address. Keep factory reset as a separate decision, not a routine part of renumbering.
Four numbers that should not be merged
| Identity | What it means | What to record |
|---|---|---|
| Prototype road number | The number carried by the real locomotive or represented by the model. | Railway, era, full number and model item number. |
| Individual DCC address | The decoder's normal control identity, including short or long type. | Number plus type, not an ambiguous string of leading zeros. |
| Consist identity | A grouping mechanism that may alter command routing. | Membership method and the supported way to return to solo control. |
| Accessory address | An identity used for equipment such as turnout control. | A separate record; this calculator is not for accessory decoders. |
A roster entry such as model 4472 · long 4472 · no active consist is clearer than “4472” alone. Two models of the same prototype need an intentional operating policy: shared control may be deliberate, but independent operation requires identities that the system can distinguish.
Do not confuse encoding range with system support
| Evidence | What it establishes | Decision boundary |
|---|---|---|
| NMRA S-9.2.2 | CV1 uses 1–127 for ordinary short addresses; CV17 and CV18 store an extended address. | Extended addressing is an implemented capability, not a guarantee for every old decoder. |
| Atlas arithmetic appendix | CV17 ranges from 192 to 231 and CV18 from 0 to 255, yielding the extended-address encoding through 10239. | The appendix's arithmetic does not certify a different command station. |
| Digitrax KB236 | The cited legacy article lists short 1–127 and long 128–9983. | Match the actual controller manual; do not promote an old support article into a universal limit. |
| TCS CS-105 manual | Documents long-address selection below 128 and support through 10239, with a decoder-compatibility warning above 9999. | That low-address selection syntax belongs to the documented TCS workflow. |
| NCE address workflow | Separates selecting a locomotive from programming it, and explicitly offers long versus short selection. | Typing a new number into normal locomotive selection does not rewrite the decoder. |
Practical transfer rule: before visiting another layout, verify that both command systems can select the same number and type. “Two-digit” does not mean short addresses stop at 99; 100–127 also fit CV1. This guide excludes address zero from its planning tool to avoid special-purpose behavior.
Four gates before an address change
1. Identity
GO only when the installed decoder and active address type are known. A locomotive brand is not enough to identify a replacement decoder.
2. Compatibility
GO only when the decoder and every intended command station accept the target number and type. A calculator result alone leaves this gate on HOLD.
3. Recovery
GO only with a preserved baseline and a documented route back through the programming output. Stop for uncertain wiring, heat or a short circuit.
4. Roster
GO only after checking duplicate individual addresses and relevant consist identities. Define which physical model must respond and which must not.
Tool 1: address bytes and CV29 bit-preservation calculator
This is an arithmetic preview, not a programmer. The initial values are examples, not detected settings. Replace CV29 with a known read value and confirm the exact decoder manual before using any result. The tool only supports multifunction-decoder CV29 values with bit 7 clear.
Long-address arithmetic: CV17 = 192 + floor(address ÷ 256); CV18 = address mod 256. The reverse check is address = (CV17 − 192) × 256 + CV18. Thus 1234 gives 196 and 210, not a split into decimal digits.
CV29 bit preservation: for the supported multifunction-decoder case, set bit 5 for long addressing or clear it for short addressing while retaining the other bits. An original 6 becomes 38 for long addressing; an original 38 stays 38. Do not blindly add 32 twice, or replace every decoder's value with 38. The displayed result does not approve other bits already present in your baseline.
If the new address does not respond
| Observation | Check before another write | Next controlled action |
|---|---|---|
| Old address still works | Was this only a throttle selection? Is the programmed format active? | Review the programming result and address-type selection. |
| Neither address works | Correct output, contact, readback and supported selection syntax. | Return to the documented isolated programming workflow; do not try random CV29 values. |
| Works on one system only | Supported number range, short/long type and selection syntax. | Compare manuals and the address record for both systems. |
| Functions work but motor control differs | Active consist membership and command routing. | Use the consist workflow before treating the address as corrupt. |
| Another locomotive also responds | Duplicate address and type or intentional shared control. | Stop operation and isolate the intended model before correcting the roster. |
| Unexpected heat or a short | Electrical condition rather than numbering. | Switch off power and use the installation or troubleshooting workflow. |
Programming on the main is not a universal shortcut. NCE documents address programming in its POM workflow, but decoder support and restrictions still apply. This article deliberately uses the isolated programming-track route; see the exact manuals before attempting a different method.
Tool 2: address-change passport
Copy these rows into a roster entry or paper card. An empty field is an unresolved decision, not implied approval. Keep the previous record after the change so a later reset, decoder replacement or visiting-layout problem can be traced.
| Record | Before change | Release evidence |
|---|---|---|
| Physical identity | Model item, installed decoder and prototype number. | The same identified model is under test. |
| Control identity | Number, short/long type and applicable system. | Target number and type are supported on each intended system. |
| Configuration snapshot | Readable CV1/17/18/29; unknowns explicitly marked. | Readback or the system's documented confirmation is recorded. |
| Group state | Consist method, membership and function routing. | Solo and intended group behavior are separately verified. |
| Observed test | Clear test track and expected stop/direction/functions. | Only the intended model responds; unchanged behavior still passes. |
| Rollback and triggers | Prior values and programming recovery method. | Reopen after reset, firmware/decoder change, roster conflict or system transfer. |
Example, not a measured test: a model representing road number 60103 cannot use that full number in this tool's extended encoding. Record “prototype 60103” and choose a separate supported address after checking the roster. Simply dropping the first or last digit does not prove uniqueness.
Six steps to a recoverable address change
1. Identify the decoder and control system
Record the installed decoder, command station, throttle and applicable manuals. Confirm the supported address type and range on every system where the locomotive will run.
2. Preserve the current identity
Record the active short or long address, readable CV1, CV17, CV18 and CV29 values, plus any consist membership. Mark unknown values as unknown rather than substituting defaults.
3. Choose an unambiguous target
Check the roster for an existing user of the same address and type. Keep the prototype road number separate when it exceeds the supported range or another model already uses it.
4. Program through the documented workflow
Isolate the intended decoder on the supported programming output. Prefer the system's address menu; if manual CV programming is required, follow the exact manual and preserve unrelated CV29 bits.
5. Select and test the new identity
Leave programming mode, select the new address with the correct short or long format, and test stop, low-speed motion, direction and functions on a clear operating test track.
6. Record release or restore the baseline
Release the change only when the intended locomotive responds and other roster entries remain unaffected. If it fails, record the evidence and use the preserved programming-track recovery route.
Railway-culture answer: a locomotive can outlive its number
The National Railway Museum documents Flying Scotsman's changing identities, including 4472, 103 and 60103, alongside changes in appearance. A modeled era therefore belongs in the roster as well as the number. Our modeling inference is simple: preserve the prototype identity independently of the electronic control address.
For railfans: why a famous number does not describe the whole locomotive.
Official and first-party sources
Read 2026-09-03. Standards describe the shared encoding; the exact product manual determines support. The Atlas appendix is used for arithmetic, not as a universal programming procedure. Museum history is context, not decoder documentation.
- NMRA — standards index and revision status
- NMRA — S-9.2.2 configuration variables (2012)
- Atlas — VO1000 guide, extended-address arithmetic appendix
- Digitrax — CV information and address tools
- Digitrax — KB236 address ranges (legacy article)
- TCS — CS-105 short, long and consist address programming
- NCE — selecting a locomotive versus changing its address
- National Railway Museum — the many guises of Flying Scotsman
FAQ
What is the difference between short and long DCC addresses?
A short address uses CV1; an extended or long address uses CV17 and CV18. CV29 selects which format is active for normal individual control. The command station and decoder must both support the chosen format.
Can a short DCC address have three decimal digits?
Yes. The short-address range includes 100 through 127. The traditional two-digit label is not a reliable count of the decimal digits printed on the throttle.
Can a long DCC address be below 128?
Some systems support it. TCS documents low-numbered long addresses for the CS-105, while Digitrax's cited legacy guidance starts long addresses at 128. Confirm the exact system and selection syntax before moving a locomotive between layouts.
How do I calculate CV17 and CV18 for address 1234?
The address encoding gives CV17 = 196 and CV18 = 210. Those values store the extended address; the correct address-selection state in CV29 is also required. Prefer a supported address-programming menu.
Should I add 32 to CV29 to enable a long address?
Only if bit 5 is currently clear. If it is already set, adding 32 again changes the wrong state. Read and preserve the original value, then set or clear only the documented address-selection bit.
Is CV29 equal to 38 a universal setting?
No. The example 38 comes from setting bit 5 in an original value of 6. Your decoder may have different direction, speed-table or other configuration choices that must be preserved.
Does selecting a locomotive number program its decoder?
No. Selecting an address tells the throttle which locomotive to control. Changing the stored address is a separate programming operation, as NCE's workflow explicitly distinguishes.
Is 10239 supported by every DCC system?
No. It is the upper result of the extended-address encoding used here, not a universal equipment guarantee. Check both the decoder and command station; published system ranges differ.
What if the locomotive has a five-digit road number?
Keep the full prototype number in the roster and assign a separate supported, unambiguous control address. Do not silently truncate the number and assume the result is unused.
Can I change the address using programming on the main?
Only when the exact decoder and system document that operation. Address changes can remove the path used to reach the decoder. This guide uses an isolated programming-track workflow with a recorded recovery path.
Why can the lights work while the locomotive ignores speed commands?
Check active consist membership and address routing before assuming an address write failed. Motor and function behavior can follow different rules; use the decoder and command-station manuals.
Should I factory-reset a locomotive when I forget its address?
Not as the first step. Use supported programming-track readback and inspect address type and consist state first. A reset is a separate recovery decision and can discard settings you wanted to keep.
Continue the commissioning workflow
Use the programming-track guide for isolation and readback, the function-mapping guide for unchanged-function checks, and the reset and recommissioning guide when documented recovery is actually needed.