NXSYS
New York City Subway
Signalling and Interlocking Simulator
for Microsoft Windows®

A tool and toy and labor of love by Bernard S. Greenberg
(contact Bernard)

If you are looking for news of latest versions and latest bug fixes, click here for bugfix/update info.

(Screen Snapshot)

NXSYS is an application for modern versions of Microsoft® Windows® that recreates for you the experience of controlling switches, signals, and trains in the New York City Subway system. Rather than conventional menus and toolbars, NXSYS presents to you the exact same user interface as so-called "Entrance-Exit" "pushbutton interlockings" present to New York City subway towerpersons, except that instead of pressing buttons with your finger, you click with the mouse. And instead of commanding real trains full of people, NXSYS simulates them cybernetically. You see the same display, get the same options and responses, must learn the same skills, and may enjoy the same pleasures as a towerperson at an "entrance-exit" interlocking.

There is no more comprehensive, detailed information source on New York Subway Signalling publicly available, or perhaps even to insiders. This is THE way to learn about New York City Subway signalling. And it's for free, fun, interactive, extensible, and assumes no prior knowledge. (If you wish to learn about NY City signalling right now on the web, and aren't interested in trying NXSYS, or don't have a Windows® machine, please visit http://www.nycsubway.org/signals/, written by the author of this program and its documentation.)

Signal photo by D. Pirmann

The trains and tracks are imaginary, but the control panel, the extensive relay logic circuitry, and the real-time behavior and interaction of you and the imaginary trains and tracks are not. You press buttons and establish and cancel routings, control signals and switches, and interact with moving trains. You are limited by the circuitry to safe moves -- you are prevented from sending trains crashing at each other, setting routes that conflict with each other, moving switches while trains are on them, or executing any other invalid or dangerous action. Learning to control the switches and signals under these constraints is by no means trivial, and this is wherein the fun of NXSYS lies. NXSYS is supplied with two sample interlockings, a (fairly complex) 4-track layout, and a full-spec detailed three-track layout, an automatic demo that shows you what to do and comments on it, and a comprehensive help file in standard Windows® hypertext help format that explains not only all the functions of the program and supplied interlockings, but all of the railroad signalling, switching, and New York-specific concepts involved.

NXSYS actually simulates relay wiring and logic designed according to New York City Transit Authority models and standards that have changed little in forty years. For the electrically-inclined, NXSYS allows the actual relay circuits to be shown in standard NYCTA notation, printed out en masse to a system printer, and actually observed in operation! Information is available for designing your own layouts. Not insignificantly, NXSYS can also be used as a powerful tool for interactive relay-logic design and simulation.

A lifelike three-dimensional "flight simulator" view, showing the interlocking as you operate it, as a train operator would see it, is available. Click here for more detail, including a screen shot. NXSYS is also an OLE Automation Server, and can be scripted by OLE Automation clients such as Microsoft Visual Basic®, or its own supplied client.

NXSYS and its sample interlockings are under active development, and although the developer tries his VERY BEST to not post releases with bugs, this does happen. If you find what you think are bugs, or even if you don't, please check this page and the changes file a few days after you download it, and every now and then thereafter, to make sure you have the latest and best. A good rule is: if you download any software n days after it has been released, check again in n days. Do not hesitate to contact the developer if you think you've identified a new bug.


NXSYS can be viewed, utilized, or enjoyed at any of four levels:


Legal Disclaimer -- If you want to use these ideas and software tools for your own model railroad, have fun, but please be aware that the design of safe, reliable signal circuitry for real railroads and other life-critical missions is a highly-skilled specialty requiring years of training, apprenticeship, and certification. Any principles gathered from the documentation and circuitry of this program, even though they often reflect standard practice, are not to be construed as a substitute for circuit design by certified persons and organizations under legal contract. In specific, the author disavows any responsibility for any harm, damage, or injury resulting from use of these circuits or schemes for any purpose whatsoever. These circuits and documentation are provided for educational, demonstrative, and entertainment purposes only, and are not to be used for control of life-critical missions. What is more, if you nonetheless attempt to use these circuits or schemes to construct and offer for sale any device or system, you alone are responsible for ensuring that no patents, copyrights, or other applicable rights are being violated thereby. Download of this software constitutes acceptance of these terms.

NXSYS requires a 32-bit version of the Microsoft Windows® operating system, meaning Windows 95®, Windows 98®, Windows NT®, Windows 2000®, or Windows XP® on the Intel® architecture (386, 486, Pentium®, etc., i.e., any "PC") only. It is not supported on Win32s®. To download it, click below, and unzip in a new directory of your choosing, and be sure to read readme.txt:

NXSYS zip file (500K) -- Click here to download.

If you need the special Windows 95/98 DLL's (if you use Windows NT(tm), you already have what you need) to run the 3-D Cab View software please read the separate page for that feature.

Bug fixes, as updated zipfiles, will occasionally be posted. For a reverse chronological list of bugfixes, click here and make certain that you have reloaded the page recently (control-R in Netscape®).

For those deeply enough involved with the concepts at hand to attempt to design their own scenarios (track layouts) in NXSYS' "relay language", which is a subset of Lisp, the "relay compiler" (a 32-bit command line application) and its associated tools and documentation such as it is are available. Be forewarned, however, that to create your own operative interlockings, you have to design and implement all the relay circuitry -- the tools do not design the interlocking for you. If interested, click on the following link:

NXSYS Relay Compiler (32-bit) zip file (117K) -- Click here to download.

For those NXSYS experts who are also Windows experts who wish to write OLE Automation Controllers for NXSYS, the following additional file is useful and necessary. If you don't know what this means, you don't need it.

NXSYS OLE Automation client tools (31K) -- Click here to download.


Microsoft, Windows, Windows 95, Windows 98 Windows NT, Windows 2000, Win32, Win32s, and Visual Basic, are a trademarks of the Microsoft Corporation. "NX" refers to a scheme of railroad switch and signal control offered by General Railway Signal, Inc. (a unit of SASIB Railway Group). Pentium and Intel are trademarks of the Intel Corporation. Neither this software nor its documentation has been authorized, approved, or verified by them or any other railroad signal concern or the New York City Transit Authority or its successors.

This software is offered without charge, "as is", by the author, Bernard S. Greenberg. It is thought to be relatively bug-free, although bug reports will be fielded at using this form, but no response in any given time promised. No representations, warranties, guarantees, or claims about operability or suitability for any purpose are made. This software is intended for educational, demonstrative, and entertainment purposes only, and is not suitable for use for control of actual railroads or other life-critical missions. The author assumes no responsibility for any damage, harm, injury or loss resulting from use or misuse of either the software or the relay circuit designs therein. The author assumes no responsibility for errors resulting from corruption of the distribution media or files or inadvertent or deliberate corruption in transmission. You may use and share this program as you wish, but are not permitted to incorporate this program or its parts in any distribution, collection, or commercial product without the consent of the author. If you redistribute it, you must redistribute the zipfiles as you received them, intact, with all their components as posted. Download of this data constitutes acceptance of these terms.

This software is intended for personal use and personal education, and offered free of charge under those conditions. Business concerns and governmental organizations, rapid transit and engineering in particular, seeking to use this software for other than entertainment or personal education should contact the author at the address below about licensing arrangements and possible future development.

NXSYS, NXSYS32, track/relay language and compiler and tools
Copyright © Bernard S. Greenberg, 1994, 1996, 1997, 1998


This page last updated: 12 May 2001
If you are looking for notice of latest versions and latest bug fixes, click here for bugfix/update info.

Mail to author: Use the nycsubway.org Feedback Form

Thanks to nycsubway.org, for providing disk storage, accessibility, and network bandwidth to this resource.

Beautiful photo of a modern BMT Signal at Broadway Junction © David Pirmann 1995, used by permission. Anyone interested in the NY Subways should check out his magnificent WWW resource with photos, history, many more NYCTA links, and wonderful info by the trainload.