DMDX Help.


DMDX 6

    Last Updated : 10/10/24 j.c.f. 

    This is the help for DMDX version 6 (current version number is here), Dmastr for Win32 (Windows 7, 8, 8.1, 10 and 11) with DirectX 9.0 or later.  DMDX is a Win32-based display system used in psychological, linguistic and other laboratories around the world to measure reaction times to visual and auditory stimuli.  It was written by Jonathan C. Forster at the University of Arizona and continues to be maintained by him.  Version 1 worked on 486 class machines, Version 2 of DMDX dropped support for 486 class machines allowing much more accurate timing and generally cleaned up a lot of stuff like multi-monitor support.   Version 3 cut support for Windows 95, radically restructured the Audio Input and introduced the DMDX installer and .CHM help files.  Version 4 added Unicode support (was actually initially added in 3.3 but fleshed out here) and addressed the long standing trouble DMDX had with other applications stealing it's focus.  In addition version 4 also introduced Auto Mode that allows DMDX to operate without the use of TimeDX (all but essential for remote testing), 4.2 expanded the support for millisecond (as opposed to tick) display durations and 4.3 introduced variable length macro names making their use much more readable.  Version 5 added a Direct3D rendering path that is required for Windows 8 and later operating systems as DirectDraw (the original rendering API) is now emulated.  Version 5 also dispenses with operating systems earlier than Windows XP.  Version 5.1 added support for NVidia 3D shutter glasses and that would have been it for DMDX as my position was terminated shortly thereafter however retirement boredom set in and version 5.2 added support for AMD FreeSync and NVidia G-Sync displays (simply so I could stop thinking about the changes needed to do so) allowing DMDX to have a variable retrace rate and arbitrary display durations not tied to the raster interval.  Interestingly almost a decade later with modern OS interfaces no longer providing the necessary functions to track the raster this code may wind up being the only way future machines can sync DMDX's display to the raster what to speak of machines that overheat when DMDX hammers the raster status.  After that version 5.3 significantly tightened up DMDX's parsing of keyword parameters and added an Introduction button that runs a built in item file introducing DMDX's features and exposes some test modes so one doesn't need an item file to quickly test if a machine is going to run DMDX at all well (it wasn't fully blocked out for about another 18 months and still receives periodic updates, it's text is included here).  Version 6 dispenses with support for Windows XP (and Vista I suspect but who ever used that?) with the addition of support for Windows Touch touch screen devices and version 6.1 adds support for eye trackers such as those made by Gazepoint and other devices controlled over a TCP/IP connection.  Version 6.2 added global support for non-Roman character sets in file names using UTF-8, be it in item file names or in resource file names and 6.3 added support for named counters in addition to the classic numbered ones matching the variable length macro names from 4.3.  Version 6.4 now parses Unicode outside quotes to UTF-8 in item files (prior to that Unicode was only preserved inside quotes and even then it was a form of UTF-16, outside quotes it was simply eliminated) which means file names and other names that used to have to be quoted if they weren't using Roman characters no longer need to be quoted.  6.4's modifications also add support for Unicode in counter and macro names (including emoticons!) and should end the decade plus long odyssey of Unicode development in DMDX because if there's another place that could possibly be tripped up by Unicode characters I sure can't imagine where it is.  This involved tearing apart DMDX's recursive macro code (originally added in DMTG in the late 80's) and I realized having done that much I might as well take a crack at in place macros and after much thought (and extensive use of the modern debugger that runs rings around what I was using back when DMDX was created) now with version 6.5 when a back tick ` is used for a lead in instead of the legacy tilde you don't have to make sure your macros are defined before the item they're used in -- something that's pissed me of for decades but was never prepared to address because it was such a daunting thing to try and do, shows you how boring retirement can be...
 

 

Please note that we distribute this software as is, with no guarantees as to its reliability. It may not be redistributed for sale.

The DMASTR software is distributed free of charge, and we ask only that you acknowledge use of the system in publications (e.g., "The experiment was run using the DMASTR software (DMDX) developed at Monash University and at the University of Arizona by K.I.Forster and J.C.Forster.").  You can also cite our DMDX paper: DMDX: A Windows display program with millisecond accuracy. Forster, K.I. & Forster, J.C. Behavior Research Methods, Instruments, & Computers (2003) 35: 116. https://doi.org/10.3758/BF03195503

Although the software has been in constant use for more than 20 years, it is constantly evolving, and hence there is always the possibility that new releases may contain bugs. We do not assume any legal responsibility for the software, but we do assume the responsibility of advising you as rapidly as possible of any bugs that we do detect. For this reason, it is important that you get your name onto the user list serv if you plan to use the system on a regular basis.  To do so:

  1. Send a message to list@list.arizona.edu from the address you want to subscribe to the list.
  2. In the subject line of your message, type in: subscribe dmdx Firstname Name (replace 'Firstname Name' by your own first name and name).

    Once your subscription is confirmed posts can be made to dmdx@list.arizona.edu. Please don't send attachments to the list. Your subscription should also be manageable by pointing your browser at https://list.arizona.edu/sympa/info/dmdx.

There are some exceptions to this rule, notably if the characters you're using are in the code page the machine is using you could probably get away without quotes before version 6.4. OTOH if your file name has spaces in them quotes are likely to still be needed...