Turing Trains


computational train track layouts



This section demonstrates some interesting train track layouts. Each is constructed as a compact 'table-top' circuit, and carries out a dedicated computational operation.

They work in your browser window as usual. Of course, any of these layouts can be built using Duplo track and points.

Passive Points

Passive points are single lazy points which direct the train back along the track from whence it came. This allows a function to be called from two different places, and the train returned correctly. Passive points are not interactive because they never need to be switched or reset by the operator.

Subroutine 'calls'
Click layout to pause/run train. Click start to reset train.

Also used in Add and Subtract functions to return the train to the stage it was passed down from.

Halt sprung point

In computational layouts, the train must return to its start position to indicate successful completion of a subroutine. It then 'halts'. If the whole layout is a subroutine in some larger scheme, then the train can continue back to the 'calling' routine.

Halt is a special condition. It is not the same as a returning error, where the train 'stops' in the error siding and does not continue back to any calling routine.

Overflow Error

Sometimes, you don't want a register to rollover. If the data is too large to be held in the register, then the calculation has 'failed' and any result will be incorrect. The calculation will have to be re-run with smaller data or larger registers.

To indicate an overflow error, the final stage can return the train along a separate 'overflow error' (oe) line, to a siding close to the start. This saves time scanning a large layout for trains which have failed to return.

Inverted Lazy Point

Similar to a lazy point but a train arriving on a branch line switches the point to the opposite branch line, before exiting as normal on the main line.

The additional 'inverter circuit' of four sprung points causes the train to swop branch lines if it arrives on a branch line, but not on exit.

Used in Gray Code Counter circuit.

Inverted Lazy Point
inverted lazy point

Bypassed Lazy Point

A train arriving on the 'dead' or 'wrong' branch line never corrects the point as it passes onto the main line. This is called bypass and the effect can be achieved with extra sprung points.

Single Bypass
Trains arriving on the upper branch line bypass the lazy point and so never correct it. Trains arriving on the lower branch line correct the points as normal.

Dual Bypass
Uses a dual sprung point, which is just a neater way of drawing 2 separate sprung points. The lazy point is never corrected. It is 'uncorrectable'.

Used in R. A. Memory layout.

Single bypass
single bypass

Dual bypass
dual bypass


Some sections of track can be removed as they cannot be traversed by the loco or provide no extra capability.

Here, the branch lines from two sprung points are directly connected together. The central section of track can never be reached and so is redundant.

redundant track

Here, the lazy point can be removed as it makes no difference to the trains route. It may be needed thogh if the lazy point is linked to other points.

redundant track

Turing Trains | cr31.co.uk | 2017


use your browsers 'zoom' option to enlarge layouts