DMDX Help.


File Format notes.

   

   When I originally created the ASCII output files that DMDX generates I considered their formats fairly obvious, having had to explain them a number of times some time ago this note rectifies such oversight.  DMDX data files are created in the directory that the item file is in unless said directory is read only or otherwise not writable (say it's a DVD or you're deliberately using a read only network share) and the data file is ASCII in which case the temporary directory will be used (%temp% in a batch file for DOS prompt).  The binary .DTP file format is excluded from the %temp% fall back logic as I'm not touching deprecated code.  As of version 6.3.0.2 DMDX now emits the actual path and name for ASCII data files in the diagnostics.

DTP
   
The .DTP file format is totally deprecated, don't think anyone uses it any more and for good reason.  It's a binary file of 256 or 512 16-bit words, one per item (limits you to item numbers less than 513 and RTs less than 32 seconds).  As with all DMDX formats words are negative if the response was incorrect.

AZK
    The .AZK text file format is the default that DMDX uses, if the Unicode option is in use the character set of these files may be UTF-8 instead of whatever local code page your machine is using, if <prose utf8bom> is in use it is certainly UTF-8.  Output is typically one item per line with the item number and the RT (which will be negative if incorrect).
Subjects incorporated to date: 001
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 04/20/2010 13:29:10 on 666-DEVEL, refresh 16.67ms
  Item       RT
     10  -4000.00
     20    712.86
     30   -809.09
     40    896.93
     50    679.68 
    Here five items numbered ten through fifty were responded to, the first one being a timed out out item where the subject didn't respond within the 4000 millisecond timeout and the third being an incorrect response.  Multiple subjects will have their data appended to that:
Subjects incorporated to date: 002
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 04/20/2010 13:29:10 on 666-DEVEL, refresh 16.67ms
  Item       RT
     10  -4000.00
     20    712.86
     30   -809.09
     40    896.93
     50    679.68

**********************************************************************
Subject 2, 04/21/2010 11:50:53 on 666-DEVEL, refresh 16.67ms
  Item       RT
     10    896.93
     20    679.68 *** ABORTED *** 
     30   1787.99
     40    649.58
     50    553.33  
    Here the second subject's second item was aborted.  Other information can be interjected within those lines where the first character of the line is an exclamation mark:
Subjects incorporated to date: 001
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 04/20/2010 13:29:10 on 666-DEVEL, refresh 16.67ms
  Item       RT
     10  -4000.00
     20    712.86
!  Display error at msec 12649.61, tick 758 in item 20, frame "TEST"
!    moved into video memory 2 ticks late
!     (previous frame's duration will have been longer)
     30   -809.09
     40    896.93
     50    679.68 
    Here a display error has occurred.  And additional columns of data can be present, for example the <RecordClockOnTime> keyword has been used below:
Subjects incorporated to date: 001
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 04/06/2004 11:06:26 on 666-DEVEL, refresh 11.78ms
  Item       RT       COT
   250   -500.00      0.00
   250   -500.00   1435.41
   250   -500.00   2870.81
   250   -500.00   4306.22
    Later versions of DMDX will have additional data in the subject line, DMDX's version number and an indication of the Windows version running:
Subject 1, 08/06/2017 15:46:12 on WIN10LAPTOP, DMDX 5.1.5.2, Windows 6.2.9200, refresh 16.95ms 
    All versions of DMDX can have a subject ID if it's been provided at the end of the subject line:
Subject 2, 08/24/2017 15:44:56 on WIN10LAPTOP, DMDX 5.1.5.2, Windows 6.2.9200, refresh 16.95ms, ID abc
    Occasionally people wish to annotate data files and doing so is certainly possible however there are a few caveats.  First and foremost, the file must remain a text file, it cannot be saved as an .RTF file or a .DOC or .DOCX or anything else, it needs to be plain text with the .AZK extension.  If you do save it as some other file type and DMDX pukes on it you can try and save it as a text file and maybe the format won't have been busted too bad but there's no guarantees.  Next up you want to avoid editing lines that deal with the subject number or number of subjects as DMDX has to parse those lines.  Lastly you can put an exclamation mark at the start of the lines you edit (like the display error above) as DMDX and ANALYZE will ignore lines that begin with !.  Technically you could add notes at the end of lines other than the number of subjects line however it's safer to use the ! at the start of a new line.  These rules apply to the .ZIL data file type below as well.


ZIL
    The .ZIL file format is used when an experiment no longer falls into DMDX's standard binary response paradigm.  Here all keystroke information is listed after the normal output in pairs of time and keystroke:
Subjects incorporated to date: 001
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 04/30/2010 13:19:32 on 666-DEVEL, refresh 16.67ms
Item 1
 1169.32,+1 1302.79,-1 1859.05,+2 1981.58,-2 2462.57,+3 2590.59,-3 3087.72,+4 3207.52,-4
Item 2
 808.51,+2 933.77,-2 1062.55,+2 1206.96,-2 1448.67,+1 1584.89,-1 1778.20,+3 1966.26,-3
    Here in item 1 keys 1, 2, 3 and 4 were pressed and we see the times the keys were pressed (the 1 key 1169.32 ms after the clock on) and times they were released (the 1 key being released 1302.79 ms after the clock on).  Item 2 had the sequence 2213 pressed.  One can remove the key release information by validating just the key presses for instance:
**********************************************************************
Subject 4, 04/30/2010 13:30:39 on 666-DEVEL, refresh 16.67ms
Item 1
 2326.75,+1 2739.34,+2 3151.76,+3
Item 2
 1067.81,+3 1528.83,+2 2002.86,+1
    If one uses the <ZillionOneResponse> mode then RTs will be appended on the item number line:
Subjects incorporated to date: 001
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 03/21/2003 14:59:10 on 666-DEVEL, refresh 11.78ms
Item 9991, 1706.12
 1706.12,+2
Item 9992, 900.77
 900.77,+3
    Here's a <zor> script using DMDX's auto mode so there are extra comments containing diagnostics, a startup display error just for good measure (actually a very common thing to see on the first item in a file), a warning relevant to auto or EZ modes and it uses <AbortDQPurge> so every item is aborted.  Here you can see the appended RT coming after the aborted message:
Subjects incorporated to date: 001
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 06/11/2010 10:28:28 on 666-DEVEL, refresh 10.00ms
!  DMDX is running in auto mode (automatically determined raster synch)
!  Video Mode 1024,768,32,100
!  Item File <D:\dx3\test\test abortDQPurge fix.rtf>
!  Display error at msec 561.04, tick 48 in item 500, frame "vertical fixation2"
!    was blocked by Flip() not returning for 96.28ms
!     (previous frame's duration will have been longer)
!    -- possibly caused by another process taking 2 ticks
!  WARNING: Explicit frame duration (% or <%>) used in EZ or auto mode, use <%ms> instead
Item 500 *** ABORTED ***, 253.18
 253.18,+Right Shift
Item 500 *** ABORTED ***, -227.94
 227.94,+Right Shift
Item 221201 *** ABORTED ***, -101.59
 101.59,+Right Shift
Item 122102 *** ABORTED ***, -194.60
 194.60,+Right Shift
    If one uses the <ZillionOneLine> keyword with the earlier example then all output for each item is put on one line (the zilliononeline utility will do this post hoc if you forget to include <zol>...):
**********************************************************************
Subject 5, 04/30/2010 13:48:11 on 666-DEVEL, refresh 16.67ms
Item 1 1191.46,+2 1350.61,+2 1613.11,+3 1762.12,+1
Item 2 463.16,+3 631.01,+2 842.50,+1
Item 3 535.58,+1 636.32,+2 770.90,+3
    Here's the earlier <zor> script using <zol> (without a display error this time) where you can see the effect of <zol> is to have the RT printed twice in a row however the first time it's printed it's negative or positive based on it's correctness, the second time is it's absolute value (which under some rare circumstances involving <ContinueClockOn> below could in fact be negative -- but that's that a exceedingly rare usage) :
**********************************************************************
Subject 2, 06/11/2010 10:28:28 on 666-DEVEL, refresh 10.00ms
!  DMDX is running in auto mode (automatically determined raster synch)
!  Video Mode 1024,768,32,100
!  Item File <D:\dx3\test\test abortDQPurge fix.rtf>
!  WARNING: Explicit frame duration (% or <%>) used in EZ or auto mode, use <%ms> instead
Item 500 *** ABORTED ***, 275.55 275.55,+Right Shift
Item 500 *** ABORTED ***, -314.28 314.28,+Right Shift
Item 211203 *** ABORTED ***, -125.83 125.83,+Right Shift
Item 212213 *** ABORTED ***, 250.68 250.68,+Right Shift
    If you use the <ZillionTypedResponses> then the resultant text (that which would be displayed) is added in brackets after the item number (<zol> is used here too):
Subjects incorporated to date: 001
Data file started on machine 666-DEVEL

**********************************************************************
Subject 1, 09/11/2007 10:45:32 on 666-DEVEL, refresh 16.67ms
Item 1, (REAL) 968.53,+R 990.13,+E 1122.47,+A 1922.44,+L 2164.61,+Enter
    Similarly if one uses <rcot> then it's data will be added in there as well:
**********************************************************************
Subject 4, 10/18/2006 14:32:47 on 666-DEVEL, refresh 16.58ms       COT
Item 1, COT 0.00, No Responses.
Item 2, COT 994.83
 -1751.87,+Space -1639.71,-Space 182.03,+Left Shift 295.29,-Left Shift 766.40,+Left Shift 882.42,-Left Shift
    An astute observer would note the negative RTs provided in the keystroke data there, this is because that test was done with <ContinueClockOn> in the second item and I was testing whether zillion responses survived the changes made for it and the negative times (correctly) indicate those keystrokes occurred before item 2 was actually being displayed.  They would also have noticed that the COT heading for AZK files has been appended to to the subject line (if a subject ID had been used it would become part of it, oops).  This was fixed in version 5.1.5.3.  Corrected current output would look something like this:
**********************************************************************
Subject 4, 10/18/2006 14:32:47 on 666-DEVEL, DMDX 5.1.5.3, Windows 6.2.9200, refresh 16.58ms
Item 1, COT 0.00, No Responses.
Item 2, COT 994.83
 -1751.87,+Space -1639.71,-Space 182.03,+Left Shift 295.29,-Left Shift 766.40,+Left Shift 882.42,-Left Shift




DMDX Index.