Topics discussed in this section:

The Structure of an Item


Conditional Branching

Correct Response Indicator (CR)

Scrambling an Item File


The broad structure of an item file is as follows:

Parameter line.

The first line of the item file contains the parameters which control the conditions of the experiment. The following is a brief summary of the parameters. These are discussed more fully in Section 3.

NITM (n) the number of items in the file

MDSP (m) method of display.

DEL (d) the number of ticks delay between pressing the foot switch and presentation of the item.

FD (f) frame duration. This controls the normal duration of a frame in clock ticks.

Defaults to 0 if not specified.

TIME LIMIT (t) the time limit for a correct response (in msec).

BLOCKSIZE (s) the size of a block for item-scrambling purposes (see 2.4 below).

GROUPING (g) the number of items to be grouped together for scrambling purposes (see 2.4 below).

SEED (i) an initial seed for the random number generator used in item-scrambling (see 2.4 below).

DISPLAY COLOR (v) sets the foreground and background colors ) (available for DMTG only).

METHOD OF INPUT (k) enables or disables data input lines (see sec. 3)

LINES IN DISPLAY (l) decreases the number of lines displayed on high-resolution display devices

These parameters must be entered on the first line of the item file, but may be entered in any order. Each parameter value is preceded by the special code-letter (specified above in brackets). Each parameter is terminated by a blank.

A typical first line of an item file might then look like this:

n100 f4 m40 s16

This line specifies that there are 100 items, with a frame duration of 4 ticks, a method of display designated as option 40 (see sec. 3.1), and a scramble blocksize of 16.


Then follow the instructions, the practice items, and the test items. For checking purposes, each item or instruction should be followed by a carriage return, but this is not essential (although the carriage return after the parameter line is essential).

Termination line.

The final item in the file should be an instruction informing the subject that the experiment is finished. This should contain a marker (L) indicating that this is the end of the file (see section 3.3k).


An item consists of a sequence of frames. The total length of an item may not exceed 500 characters (including the item number and special characters). The end of the item, or sequence, is marked by the symbol ";".

The sequence is divided up into any number of frames, the boundary of a frame being marked by "/". DMASTR displays the sequence one frame at a time, with the frame automatically centered in the screen. Frames can de displayed on any one of four different lines. As each frame is displayed, any characters on the same line as this frame are normally erased before the new frame is displayed. There is no gap in time between the erasure of the previous characters and the display of the new characters, since the erasure occurs in between successive sweeps of the raster.

Each frame contains text characters, and display-control switches. The text characters are enclosed in double quotation marks. These are the characters actually displayed to the subject. All characters not so enclosed are treated as display-control switches. For example:


consists of 5 frames. This sequence displays first the word DOG, then HOUSE superimposed on it, then a blank frame, then WATCH. The first frame contains the display-control switch B, and the second contains the display-control switch C (the functions of these characters is explained in sect. 3.3). The final frame (/;) serves merely to erase WATCH, and hence is termed the erase frame. If the final / was omitted, then WATCH would remain on the screen.


Correct response indicator (CR).

This symbol informs DM what the correct response to this item is. There are four possibilities:

+ refers to positive responses such as Yes, Same, True, Grammatical, etc.

A response will be treated as correct if the positive button is pressed.

- refers to negative responses such as No, Different, False, Ungrammatical, etc.

A response will be treated as correct if the negative button is pressed.

^ no response at all should be made.

= either positive or negative responses are correct

The CR indicator may be omitted under certain circumstances: e.g., if the subject is not expected to make any timed response (e.g., if the item displayed is an instruction, or if the subject is to make a written identification response), or if the display is a response-contingent display (i.e., the next frame in the sequence is not displayed until the subject makes a response), in which case, the CR indicator is located in the appropriate frame.

Note: If the CR indicator is equal to "!", the entire item is ignored by DMASTR, which permits items to be used as comments lines.

Item number (ITMID).

This gives the item number, which will serve to identify the item when the data are retrieved from the data file. If two items have the same item number, then the data from the item presented second will replace the first.

The item number must be less than 512, and must be terminated by a blank space. Note that the sign before the item number (indicating the correct response) does not change the value of the item number. That is, +25 is the same as -25 as far as the item number is concerned. Each item should have a different number.

If the ITMID is zero, the sequence is treated as an instruction to the subject rather than as an item.

Practice items may have their own numbers, or identical numbers (if two items have the same number, then the response to only the most recently presented item will be stored).

Text characters.

The characters displayed on the screen. These must be preceded and terminated by quotation marks.

e.g., "This appears on the screen" but this doesn't;

The only characters that are not permitted are the double quotation marks themselves, and the item terminator (";").

Display-control characters.

These signal special action for the current frame (e.g., reading the clock, changing to a new line). These are defined in sect. 3.3.

Frame delimiter (/).

This marks the boundary of each frame. For example:


Item delimiter (;).

Every item and every instruction must be terminated by this character.

The following is a typical example of a complete item:

+004 "The"/"boy"/"went"/*"HOME"/;

This displays each word for the time specified in FD in the center of the viewing area. The subject is intended to respond to the item in upper-case letters, hence the display-control character * (the clock-on symbol) is located in this frame. The reaction time would be stored and labelled as the RT for item 4. The correct response is a positive response (indicated by the + at the beginning).

Conditional branching.

{ only for DM Ver 2.57 and DMTG ver 5.10 and higher }

There may be circumstances where the sequencing of items depends on the response that the subject makes. For example, in the following sequence, we may wish to interrogate the subject about the masked presentation of the target word "MOUSE":

001 "#####" / %3 "MOUSE" / "######"/;

+002 * "what did you see: HOUSE or MOUSE?";

+003 * "Was it in upper-case letters?";

004 "#####" / %3 "FISH" / "######"/;

Subjects are instructed to press the YES key if they saw the word on the right, otherwise they press the NO key. Now, suppose that the question about upper-case letters is only relevant if they got the right word. One would then wish to skip item 003 and proceed directly to 004.

This can be arranged with the branch instruction, which has the following form:

? n,m

which has the consequence of skipping to item 'm' instead of the succeeding item, depending on the subject's response, and the value of 'n'.

If n = 1, branching is unconditional (it will occur no matter how the subject responds).

If n = 2, branching occurs only if the subject responds correctly.

If n = 3, branching occurs only if the subject responds incorrectly.

So our above example could be expressed thus:

001 "#####" / %3 "MOUSE" / "######"/;

+002 ?3,4 * "what did you see: HOUSE or MOUSE?";

+003 * "Was it in upper-case letters?";

004 "#####" / %3 "FISH" / "######"/;

The branch instruction in item 002 says to branch to item 004 if the subject's response to item 002 is incorrect. Note that nothing would have been achieved if the branch instruction had been ?2,3, i.e., branch to item 003 if the subject responds correctly. That is what would have happened anyway (without the branch), and if the condition on the branch is not fulfilled (i.e., the subject responds incorrectly), the default condition is to proceed to the next item. So, whatever happens, item 003 will be displayed after item 002.

A further point to watch out for here is that the scrambling procedure is used carefully. If the experiment consists of local blocks of three items (as in the above example), then a grouping factor of 3 should be used. Otherwise the desired effects will not occur, since the structure of the item sequence will not be preserved.

Note also that backward jumps are not permitted. This will produce the error message:


where N is an item number. This means that the program enountered an end-of-file marker before it found the item to jump to (item N). This error message will also be displayed if the item you are jumping to has not been included in the item file.


The logic of scrambling.

A purely random ordering of the items does not guarantee an even distribution of conditions across the experiment. For example, by chance, you may have most of the items in one condition placed in the second half of the experiment, and most of the items in another condition placed in the first half.

To circumvent this problem, DM/DMTG first divides the item file up into a number of blocks of items, the size of this block being determined by the BLOCKSIZE parameter (see below). It then randomly orders the items within each block, and then finally randomly orders the blocks themselves. The scramble block size parameter and other scramble parameters are entered on the first line of the item file (the parameter line), along with the other DMASTR parameters.

If you arrange your item file so that the first block consists of an equal number of examples of each type of condition (instead of having all the instances of the first condition together at the beginning of the file), then you can be confident that extraneous serial effects (such as practice or fatigue) are more evenly distributed across conditions. This means that you have a pseudo-random order, not a random order.

A further advantage of scrambling is that no two subjects are likely to receive precisely the same sequence of items. This is important, since a difficult item (on which an error is likely) may increase the reaction-time for the following item. If this is always the same item, then one has introduced a systematic error of measurement for that item. For this reason, it is preferable to scramble the items for each subject separately.

Controlling the way DM scrambles.

Item file scrambling is controlled by means of parameters entered at the top of the item file and $ and \ delimiters in the body of the file.

Scramble parameters.

These appear on the first line of an item file with the other DMASTR parameters (see 2.1 above). Three parameters may be specified:

BLOCKSIZE: the number of items to be treated as a block. If this parameter is not specified the item file will not be scrambled.

GROUPING: the number of items to be treated as a group. Normally, this parameter is not specified, and defaults to 1. Suppose, however, the items are arranged as pairs on your item file, e.g., (1,2), (3,4), (5,6). If you wanted item 2 to always follow item 1, and item 4 to always follow item 3, etc., then this parameter should have the value 2. This means that DMASTR will treat each successive pair of items as though they were a single item. Items in a pair will never be separated. Thus the eventual order of items might be: 5, 6, 3, 4, 1, 2.

SEED: the initial seed for the random number generator. Normally this parameter is not specified, and a different pseudo-random order is created each time the item file is scrambled. If a value is specified, the random number generator will always use that value as its initial seed and thus it will always produce the same pseudo- random order.

$ Delimiters

These allow some sections of the file to remain in a fixed absolute position within the file. Any material enclosed within a pair of $ symbols will not be scrambled, and the order of this segment relative to the rest of the file will remain constant.

It is important to note that the scramble programs do not respect any of the internal conventions of an ITM file, except for the parameters on the first line and the item delimiter (;). Thus the task instructions, the practice items and the final end-of-experiment message will appear at unpredictable locations unless they are enclosed within $ delimiters. In the following example, the text in bold print will not be moved:

n5 f25 m40 s2 (DM input parameters)

$0 "This is the instruction";

0 "Here is the practice item";

=250 *"dog"/;

0 "End of practice";$

=001 *"house"/;

=002 *"table"/;

=003 *"cough"/;

=004 *"cigarette"/ ;

$0 LB"End of experiment";$

This would generate an item sequence that might look like this:

0 "This is the instruction";

0 "Here is the practice item";

=250 *"dog"/;

0 "End of practice";

=004 *"cigarette"/;

=003 *"cough"/;

=001 *"house"/;

=002 *"table"/;

0 LB"End of experiment";


A backslash essentially divides the item file into two or more separate files. Once a backslash is encountered, all the preceding material is scrambled and output, and then the material after the initial backslash is treated as a new input.

The implication of this option is that one can define segments to be scrambled in the normal way, except that the segments retain a fixed serial order relative to each other. So for example, if you had an experiment with two different tasks, and it was important to make sure that all the items for one task were presented before all the items on the second task, then a backslash separating the two phases of the experiment is required. If this option is not used, then you will find that items from the second phase will appear in the first, and vice versa.

Background Scrambling.

To scramble a file at any time other than when using DM to display the file, use the background scramble program BSCRAM. This works in the same way as the DM routine, except that the scramble parameters are keyed in at run-time (do not include an initial parameter line).

Fixed Item Order.

If you want your items presented in the same scrambled order to all subjects, specify an initial seed for the random number generator (see 2.4.2 above).

If you do not want your item file to be scrambled at all, omit the scramble blocksize parameter from the first line of the file.

Back to Top