Skip to content
Free pascal prototypes
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This repository contains Lazarus/Free Pascal prototype projects, packages and reusable units for behavioral experiments.


schedules package

A design time component (TSchedules) that allow following schedules:

  • FR, FI, FT
  • VR, VI, VT
  • DRL, DRH
  • CRF, EXT

If you don't want to install the package, you can reuse the units. They live inside src/schedules/.


All reusable units lives in /src/:               // reusable
	controls.stimulusgrid.pas         // reusable
	controls.stimuluskey.pas          // reusable
	extctrls.stimulus.pas             // reusable
	serialtimer.pas                   // reusable
	sessions.pas                      // not reusable
	tabdelimitedreport.custom.pas 	  // not reusable
	tabdelimitedreport.pas 	          // reusable
	timestamps.pas                    // reusable


Projects lives inside /example/projects/ folder. They are simple Lazarus applications. It is recommended to use Lazarus to compile them.


Given an antecedent stimulus, clicking the stimulus shows a start for some time then hide the start. While the start is visible, clicking the stimulus resets the "hide" timer.

if `S` then `R` -> `C`
if `S` and `C` then reset `C` timer


Uses the serial timer (SerialTimer.pas) to present stimuli (S) with pseudo-random (Tr) and predictable (Tp) intervals from each other. We do this in such a way so that S predicts S'.

S  -> R
S' -> ?

if `S` then `Tp` then `S'` then `Tr` then `S` then [...]

S  -> R
S' -> R'


Ilustrates how to move a ball on screen using TShape and a TTimer. Also ilustrates how to control the direction of the ball using keyboard and mouse. Also ilustrates simple colision algorithm, the ball will


Ilustrates how to track mouse and keyboard events with TForm and TGraphicalControl classes. Ilustrates how to make a cummulative record with thoses events. Uses units like: TabDelimitedReport, Timestamps and ExtCtrl.Stimulus.


  • Prototypes for an experimental "Session" with "Trials".
  • Ilustrates how to create a stimulus matrix grid on screen.
  • Ilustrates how to load bmp files.
  • Ilustrate how to load png files with transparency.
You can’t perform that action at this time.