Source code for NAADSM/PC

This page is intended for programmers and advanced users who wish to review or modify the NAADSM/PC source code, or to build the application from source code.

Current NAADSM source code

As of versions 3.2.19 and 4.0.13 of NAADSM, we have moved source code from this website to the NAADSM project page at

Current source code for NAADSM is now available via the NAADSM Subversion repository at For instructions on accessing the Subversion repository, please see the Subversion documentation provided by Additional information for developers will be provided as it becomes available.

Source code for older versions of NAADSM

An archive of source code packages for older versions of NAADSM is available here.

Components of NAADSM

NAADSM/PC is composed of two major components: the graphical user interface and the core model library. These two components are written in different languages and must be compiled separately. These components make use of several subcomponents and libraries, each of which must also be downloaded and installed or compiled.

The graphical interface of NAADSM/PC is written in Delphi Version 7, Professional Edition. While it may be possible to compile the interface with other versions of Delphi, no others have been tested.

The NAADSM core is written in C and is shared between NAADSM/PC and NAADSM/SC. For NAADSM/PC, the core code is compiled as a dynamically linked library which is then called by the user interface.

The core library can be compiled with the GNU Compiler Collection (GCC) for Windows, version 3.4.2 or higher. There are a number of implementations of GCC for Windows, the two most prominent of which are included in Cygwin and MinGW. The core library must be built with the MinGW implementation of GCC: libraries built with the Cygwin tools are incompatible with NAADSM/PC.

Required libraries and components for the NAADSM/PC interface

The user interface requires the following external libraries and components:

Required libraries for the NAADSM core

The NAADSM core library makes use of several additional programming libraries. In most cases, compiled binary versions are available. It may be necessary, however, to build some libraries from source code. As noted above, libraries must be built with the MinGW implementation of GCC: libraries built with Cygwin are incompatible with NAADSM/PC.