I know literally nothing about dosbox besides how to mount it to a folder and call the program.exe.
I'm a researcher at a university, and I currently write programs in Turbo Pascal and use dosbox to run them for participants. I also work with animals, and I am trying to figure out how to get my program to dispense pellets using dosbox. Essentially, there is a pellet.exe that needs to be called when the participant chooses the correct response. I have been told that dosbox is not able to call executables and am wondering if this is true?
I have been told that dosbox is not able to call executables
Not sure what you mean by that. You can run DOSBox with multiple "-c" arguments to make DOSBox automatically run commands when it starts. https://www.dosbox.com/wiki/Usage provides an example:
This would mount c:\atlantis as c:\ and run atlantis.exe. Before it does that, it would first mount C:\SAVES as the D drive. […] Show full quote
1dosbox c:\atlantis\atlantis.exe -c "MOUNT D C:\SAVES"
This would mount c:\atlantis as c:\ and run atlantis.exe. Before it does that, it would first mount C:\SAVES as the D drive.
Alternatively, you can specify commands in the [autoexec] section of DOSBox.conf, and specify a particular dosbox.conf using the "-conf configfilelocation" command line argument.
I would be much more concerned about what pellet.exe is supposed to do. Do you have some kind of robot connected to the parallel port or serial port of your computer? Because DOSBox isn't necessarily going to be able to access those ports.
An even better question: why are you writing programs in Turbo Pascal and then running them in DOSBox? Even if you like Turbo Pascal, there is surely a means of compiling Turbo Pascal programs that will allow them to run under Windows without requiring DOSBox. DOSBox is not really suited for running non-gaming applications.
EDIT: Reading this again, I think I understand now: pellet.exe is a program that runs under Windows, and you are trying to call it from within DOSBox, right? That is indeed something that is not particularly possible. You could potentially write a program that creates a file when the participant chooses the correct response, and then use a Windows program to watch for the creation of that file and that runs pellet.exe accordingly. But as I said, you would be much, much better off just writing your programs for Windows.