Using E-Prime for scanning experiments
At a meeting in June 2005 we decided that E-Prime was going to be our main experimental software package, and that users should try to use E-Prime in preference to alternatives like DMDX, Visual Basic or ERTS. At the last count more than 16 E-Prime keys were found at the unit, representing a minimum investment of over £6400.
PST, the manufacturer of E-Prime, is working on a new version, E-Prime 2.0, which will offer more and better functionality. Upgrading to version 2.0 will cost $395 per key.
A beta version of E-Prime 2.0 is announced to be available ‘this summer’, but this was already the case over a year ago, when we had our ‘experimental software meeting’. Users were already complaining at that time that the beta of version 2.0 had been delayed several times. Given this situation, I don’t think we can expect a usable release version of E-Prime 2.0 within a year. Upgrading all our key will come at a minimum cost of 16 * $400 = $6400, more than £4000.
Timing with eprime
Using the parallel port with E-Prime (Obsolete? See next section to use the Parallel Port with EPrime 2)
I have been investigating the possibility of using the parallel port as an input device with E-Prime. Until now we have been relying on PIO cards as our input device, the reason being that DMDX is optimised for PIO cards.
For a summary of this investigation, see EprimeParallelPort.
Sadly, E-Prime doesn’t recognise the PIO card. One way around this is to use Rhodri’s ScannerSync library. This needs to be included in the E-Prime script and then allows access to the Keithley PIO card. The main problem with this approach is that it isn’t integrated with any of the E-Prime objects, requiring the user to program all timing related actions themselves. Although this is certainly possible, I don’t think it is a good solution for all users, nor for more complicated experiments, as it assumes expertise in E-Basic programming.
But E-Prime does handle input from a standard parallel port. Most computers come with a parallel port (also knows as ‘printer port’), but one can also be installed on any machine very easily and at very low cost. Even with laptops this shouldn’t be a problem. Button boxes for PIO cards and parallel ports are basically identical, except for the connector at the end of the cable. Parallel ports can be used to receive but also to send information, just as with the PIO card. The future of the parallel port isn’t looking good at the moment, though, with more and more computers being sold
Using the Parallel port with E-Prime2
Configuring E-Prime2 to receive responses (AND triggers) via the ParallelPort is relatively easy (this was done with a release candidate for E-Prime2).
Say you want to configure E-Prime to get input from the parallel port for both response box and scanner pule. First, enable in your project 2 ParallelPort devices (apprently EPrime is touchy about the names you give to devices, so if possible just leave the default names, i.e. ParallelPort and ParallelPort2). For both devices set the port mode to be on Input and the address to be &H379 (not 378 -- this will make the input numbering easier to use in E-Prime). The device you want to use for the ButtonBox should also be inverted (as mentioned above). Now that you have two parallel port devices enabled, all you need to know is that the scanner pulse will be received as a number 8, while the four fingers of the right hand will be (from index to pinky) 7,6,5,4.
At this point you can just set your starting screen to pause until an 8 is received from the appropriate parallelport device, and that will trigger your stimuli as soon as a scanner pulse comes in. However, make sure that screens that need response via button box do not allow the number 8, or each trigger will seem like a response to E-Prime and your data will be of little use!