Val-Tech Home
Products
Services
Software
Links
Research
Contact Val-Tech
About Val-Tech
Valiant Technologies, Inc. Home PageRTSS: Response Time Software System


The Response Time Software System (RTSS) is a software package for performing experiments on human performance response times. It was developed for Dr. Peder Johnson at the University of New Mexico Department of Psychology. The program uses a script language to allow the experimenter to easily build complex response time experiments without the need for any hardware beyond a standard IBM PC. In addition to the main program, there are support programs for creating the experiment scripts and reducing the experiment data. Experiments that once took weeks to structure can now be created in minutes.


The RTSS package is written for the IBM PC class of computers equipped with a CGA compatible type display. Monochrome displays are not supported because of the need for a 40 column display format. The program uses a script language to allow the experimenter to easily build basic response time experiments. This documentation describes the basics of the script language compiler. Arguments for the commands in the language are separated by spaces. Arguments are position sensitive, but not all arguments must be entered.

The program is evoked through the DOS command line "RTSS script.rts" where script.rts is the name of an RTSS script file. The .rts extension is optional and is taken as the default. When the program begins, the script file is first compiled. In the event of a compilation error, the line number, the offending line and the error are displayed. The compilation terminates on the first error.

Once the script has been compiled, a data file is created with a MMDDhhmm.xxx format for the file name, where MM is the month, DD is the day, hh is the hour and mm is the minute. The .xxx extension will depend on the use of the NODEID command. The default is not to have an extension. After the data file has been created, the screen is set to a width of 40 columns and the script is executed.

Timing of user responses is accurate to about one millisecond. The actual timing resolution is dependent on the refresh rate of the display screen. For a 60Hz system, the resolution is 1/1200 seconds. In order to eliminate video refresh related timing jitter in the response time trials, the standard time unit for displaying stimuli is the "jiffy". There are 60 jiffies in 1 second for a 60Hz based screen system. Since the refresh rate of video systems can vary widely, the RTSS calibrates the meaning of the jiffy when the program is started. The calculated value is displayed prior to script compilation.

The timing is performed by reprogramming the 8254 timer chip to as close to 20 times the video refresh rate as possible (for a 60Hz system this is 1200.382293763Hz). The actual setting is calculated by dividing 1,193,180 by the desired frequency, rounding the integer part of the result and then dividing 1,193,180 by this value. For example:

1193180 / 1200 = 994.3166666667
1193180 / 994= 1200.382293763

For a 60Hz screen, this slight deviation from 1200Hz results in about a 0.032% error which corresponds to a drift rate of approximately 0.32 milliseconds per second, which is not a problem for reaction time studies. The drift only affects the absolute display times of the events in the individual trials. The value of 20 times the video refresh rate was chosen so that the response timer can be kept in synchronization with the screen vertical retrace frequency which is needed to avoid up to 1 jiffy of timing jitter. The response timer and the screen retrace are synchronized at the start of each trial. The RTSS also writes to the display only when the horizontal retrace is on the return path so there is no "snow" on the older CGA type displays.

The 8254 timer chip controls the timing for the DOS time of day clock so a fix up is performed each time the timer is set back to its normal state (about 18.2Hz) in order to maintain the integrity of the time of day values. The keyboard state is tested at 20 times the video refresh rate by patching into the standard DOS time of day interrupt vector. When a keypress is encountered, the keyboard state and the time of the event are recorded. The keypress event is then translated and stored in memory. This procedure along with the synchronizations are performed for each trial. At the end of a group of trials the standard timer settings and interrupts are restored and the time of day values are properly compensated.

The RTSS script language can be divided into several groups:

  • Identification Commands
  • Pregroup Commands
  • Defaults Commands
  • Group Commands
  • Intergroup Commands
  • Trial Events

Each command type is discussed in the documentation.

When RTSS completes, it returns a DOS ERRORLEVEL value depending on how the program terminated. This feature allows the RTSS software to be more effectively imbedded in a DOS BATCH command file. The return values are:

  • ERRORLEVEL of 0 if the program runs to completion
  • ERRORLEVEL of 1 if a file error is encountered
  • ERRORLEVEL of 2 if a compilation error is encountered
  • ERRORLEVEL of 3 if a hardware error is encountered
  • ERRORLEVEL of 4 if Ctrl-Break is used

Script Structure

The RTSS script structure is designed to be readable and to minimize the amount of control structures necessary to create an experiment. For example, most of the RTSS commands can be entered without the bulk of their command arguments. Adjustable default values are used when an argument is not present. The delay between trials (the intertrial interval, or ITI) is automatically inserted between trials unless explicitly entered by the user. The delay between groups (the rest period) is also automatic unless explicitly entered. Clearing of the display area and any feedback information at the start of each trial, and at the end of a GROUP block, is also automatic. This structure allows the emphases to be on developing the experiment and not debugging the script.

The documentation and the DOS executables are both available for download.

Home | Products | Services | Software
Links | Research | Contact Us | About Us

Copyright © 1996-2000, Valiant Technologies, Inc. , All Rights Reserved

10/27/00 ern