Current Bugs LSM (versions 2
and 3 )
Am I ever going to update LSM?
The quick answer is no. I don't get paid for this anymore. I have looked into
Windows32 programming in detail and decided it is not worth it. The multitasking
operating system will require considerable work to ensure reliable for real time
stimulus generation with commercial hardware.
- LSM cannot consistently set
all video boards to 256-color mode. Most video boards now only use
direct color mode (24 or 32 bits/per pixel). The video boards listed on the LSM
home page are the only boards that I know of that handle 256 color mode
well. This situation is unlikely to improve since the VBE standard will be
phased out for that "oh, so great" DIRECTX. If you want a
compatible board look for one that VESA VBE 3.0 compilant.
- "Page flipping"
may not work on all video cards and page flipping is limited to on-board
video memory only. In VBE 3.0 or higher, the page flipping occurs after
a vertical refresh. If your board uses VBE 2.0 or lower then you need a bug
fix. Contact me for another version of LSM. This is particularly true of ATI
video cards. The software actually calls a VESA BIOS function of a vertical
scroll (interrupt 10h; ax = 4F07h, bx = 80h, cx = 00h, dx = offset factor *
bank). I found this BIOS call to be more consistently implemented across
video boards. The drawback is improper page flipping if the user sets custom
front and back vertical porches (e.g. to change vertical frame timing). I
can perform BitBLT swapping of memory to video memory, but it is too slow!
- Currently there is no
provision for pure luminance modulation. For instance, you want to
modulate the intensity of a bright white line on a completely black
background. This method is avoided since the mean luminance of the stimulus
is changing. It is completely feasible to program LSM to do this, but I have
not seen a reason yet to do so
- There is no error checking
for spatial frequency sweeping. Since LSM uses 256-color mode, the
spatial frequency sweep must be an sub-multiple of the spatial period.
You can set LSM to do a very slow spatial frequency sweep but the spatial
pattern will have "uneven interruptions" or asymmetry. The best
solution is to set the spatial sweep factor to 0.5 (octave steps
downward) and set the spatial period to an even number with the most
octave steps (i.e., 248).
- Bitmap files are limited to
PCX (ver 5) format only. I have
code for reading Windows ".bmp" format but I have no plans to
implement it.
Bug Fixes and new additions.
- Version 3.0d (3/3/2004)
corrected a serious flaw in trigger timing. When the user used the
mouse (or joystick) to pause a series of Epochs, the trigger was not
restarted even though the stimulus cycle was. If you were using the LPT port
for as a TTL trigger and then paused the stimulus, the triggering could be
offset from the start of the stimulus.
- Version 3.0c corrected a
bug in Triggering, LSM triggering was out of synch of the stimulus by one
video frame, usually before the start of the temporal cycle. The
problem was that the program waited until the end of the trigger cycle
period to output a trigger. Hence, the trigger was one frame BEFORE the
expected start of the stimulus timing cycle.
- Version 3.0a corrected the clipping of standard bit maps
after implementation of video page offset.
- Version 3.0a adds the ability
to move a bitmap in the video screen by either an ascii file with (x, y)
values or by mouse.
- Version 3.0a added option to
wait for an input trigger to the LPT port before starting the stimulus
generation.
- Version 3.0a added more
options for video frame timing for the luminance calibration (CalibRGB.exe).
- Version 3.0a corrected the bug
that prevented chaining of multiple stimulus files.
- Version 2.0a corrects the PCX
timing parameter that wasn't saved in the configuration files.
- Version 2.0a adds
"sticky" submenus.
- Added a parameter to increase
the trigger pulse length by placing a number from 0 (shortest) to 255
(longest) on the third line of the LSM.INI file. Edit the file with NOTEPAD
or any other text editor. Each increment in time is dependent upon your
machine's speed.
- Version 2.0 implements many
new changes in simple menus, separate bitmap manipulation, etc.
- Fixed bug in reading files
that failed to reset Background "on/off" and "random"
starting contrast. (5/14/01)
- "Glizty" start-up
configuration demonstrates simultaneous sweep in color, of a color grating
of changing spatial frequency on top of a PCX bitmap (s.f. sweep is slow,
which is inappropriate for the spatial period) (ver 1.2f).
- If the screen resolution
doesn't change, LSM now continually loops through stimulus file(s) without
resetting the graphics mode (ver 1.2f).
- Corrected bug that wouldn't
allow user to load up a spatial function by text file (ver 1.2f).
- Improved lock-up problems and
added more options with the Calibration program 'Calibrgb.exe' (Ver 1.2f)
- improved lock-up with random
dot example (ver 1.2e)
- plots the raw data of current
calibration file (ver 1.2e)
- fixed bug with randomization
of color vectors for 2-alternative forced choice (ver. 1.2e)
- improved timing between trials
for 2-alternative forced choice (ver. 1.2e)
- Increased the possible number
of drift values in an ASCII text file to 2048 directions (ver. 1.2d)
- Added a screen "blanking
box" at the bottom left of the screen in any menu screen, so that the
user can black out the screen while not working (ver. 1.2c)
- Manually enter in values for
the luminance calibration program / corrects the check on calibration data (ver.
1.2c)
- fixes bugs that left files
open after loading files from the disk. (ver. 1.2a)
- corrected the SF_Sweep demo
configuration file (ver. 1.2)
- corrected extra video frame
between page flipping for multiple PCX files, still needs fixing for speed (ver.
1.2)
- Correctly runs through chained
stimulus files / add arbitrary drift option (ver. 1.2)
- incorporates compatibility
with Matrox video setup for DOS (VBESETUP and VBETSR) (ver. 1.2)
- corrected triggering (ver.
1.2)
- add comments during a test run
in alternative forced choice program (ver. 1.1)
- Fixed pixel clock bug on
screen timing program "VARYH&V" (ver. 1.1)
- fixed bug generating a
screen with arbitrary spatial waveform (ver. 1.1)
- Implemented multiple page
flipping for multiple PCX files. This is helpful for dynamic random dot
stereo.
- better input routine (ver.
1.1)
Return back to LSM home page