BrainMaster Software - Dynamic Link Library (DLL) Interface

What is it?

The BrainMaster Dynamic Link Library is a software interface that allows several things to happen:

(1) Specialized software programs can run concurrently with the BrainMaster control and display software, providing additional functions such as advanced displays, trending and summarization, interactive games, light and sound control, and so on. These programs have live access to all EEG parameters including alpha, beta, etc. levels and statistics, frequency spectra, trends, and raw waveforms.

(2) A researcher or developer can design their own programs, and link them to the BrainMaster control/display program, and to each other, using the DLL interface. A single function call is all that is needed to access any of the BrainMaster variables. Add-on programs can be written in C, C++, Pascal, or Visual Basic, and linked using standard Microsoft Windows DLL linking conventions. The BrainMaster DLL is written in C.

A persistent, static memory area of up to 640K is allocated by the DLL library, and its contents can be read or written by programs that use the DLL interface. Programs can be started and stopped independently, including the BrainMaster master.exe program, and they will attach to the memory area without disturbing the other programs. Any number of programs can use the DLL library, and can start or stop at any time, without disrupting other programs.

In order to develop software using the interface, all of the requisite header files, libraries, and documentation are included without charge with every distribution of the BrainMaster software (beginning with the 11/20/96 1.0 beta release), allowing any user to become a program designer and developer. The design of this software makes the BrainMaster an open, extensible system that can accomodate independently written and supplied software extensions.

The BrainMaster DLL has been specifically set up to provide the following:

NOTE: As of 11/20/96, only the first two datasets have been implemented. Contact us for the latest SW.

  • Component values (alpha, beta, etc.) for up to 8 channels (4 times/second)
  • Component thresholds, "hits," maxima, minima (4 times/second) 
  • Component means, and standard deviations (every 2 minutes)
  • Most recent FFT Spectra of up to 8 channels, 1 Hz resolution (4 times/second)
  • Summary FFT Spectra for 2 channels, previous 2 minutes, 1 Hz resolution (1/second)
  • Raw EEG waveform data for 2 channels (2 minutes duration/channel)
The files included, free of charge, in the BrainMaster DLL Interface are as follows:

thedll.txt - text explanation of the DLL interface

thedll.h - C-style header file defining the DLL interface function

dlldefs.h - C-style header file defining the shared area memory map

thedll.lib - library containing a binding to the function DllCFunc()

thedll.dll - the dll file that all programs load at runtime

test.exe - a simple demonstration program displaying EEG values & a graphic

test.cpp - C source code for test.exe, buildable using a C or C++ compiler

test.prj - project file in Microsoft C format