NXSYS (New York City Subway Signalling/Interlocking Simulator)
3-D Track View Feature in OpenGL
For 32-bit Microsoft Windows® (Windows NT and Windows 95/98 only)

Shareable Software by Bernard S. Greenberg

(NXSYS/OpenGL Screen Snapshot

If you are not familiar with NXSYS, please click here to read about it first.

NXSYS' 3-D track view feature exploits the massive power of the OpenGL Graphics interface developed by Silicon Graphics®, Inc. (in its implementation on 32-bit versions of Microsoft® 32-bit Windows) to display a "virtual reality", flight simulator-like window showing the tracks and signals of interlockings as they actually appear to eye of the train operator (previously "motorman"), in full perspective with lighting, shading, etc. If your machine is fast enough, realistic animation is achievable.

This cab view window appears in addition to the interlocking control panel, and, running semi-autonomously in a separate thread, has its own menu and keyboard commands. When you control the signals in NXSYS via the standard means, the "real signals" in the cab view window change aspect dynamically. You can move the viewpoint up and down the tracks and turn around. Self-documentation is supplied. Press F1 for documentation/help when in the Cab View Window.

You can use the cab view window in conjuction with the "train system", and actually see out the front window of a train as it moves over the interlocking, as with a flight simulator.

In order to try it, you need three components:

If you have the OpenGL components available, and you place NXGLVIEW.DLL where NXSYS can find it (for example, in the same directory), NXSYS will display the new window at the time you load an interlocking. If you do not have the DLL, or fail to place it where NXSYS can find it, or you are missing OpenGL, NXSYS will not diagnose an error, but will proceed to operate as it had in the past, without them.

You need a reasonably fast processor for this to perform acceptably. Performance on a 90MHz Pentium(tm) is acceptable; performance on a 33MHz 486 is unacceptable; floating point hardware is a must. Intermediate data points are not available yet. It should look like the image above -- if it does not, please notify the developer, and be sure to describe your video card, processor, and operating system.

NXGLVIEW.DLL and the NXSYS main app "know about" the insides of each other, so you must have compatible versions to use the former. Thus, when NXSYS loads the DLL, they will negotiate and make a check that the versions you have are compatible, and if they are not, you will get a message to that effect advising you to obtain a pair which are. If that occurs, please fetch the latest NXSYS and NXGLVIEW.DLL


Microsoft, Windows, Windows 95, Windows NT, Win32, and Win32s are a trademarks of the Microsoft Corporation. "NX," referring to a scheme of railroad switch and signal control, is a trademark of 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 feedback 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 for personal education and entertainment, 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. Corporations and government, engineering and rapid transit in particular, interested in using these programs for business are asked to contact the author about licensing arrangments. Download of this data constitutes acceptance of these terms.

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


Last updated: 12 May 2001

Mail to author: Use the nycsubway.org Feedback Form

Click here for NXSYS home page.

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