Tony Harminc wrote:
Fish wrote:
[...]
and the fact that on VM, it's able to physically position
the physical input tape and it will stay there until the
next command is issued, whereas on your Hercules host, each
time a new command is issued, the > input tape always starts
out positioned at loadpoint each time...
Um, why does a tape in these circumstances not stay where it
was left?
Because the Hercules vmfplc2.exe utility is not the same thing as the Hercules emulator. It's just a simple command-line program.
Hercules must emulate a real tape device, and real tape devices can be positioned and will remain positioned until unloaded.
Host command line commands can also position themselves to any point within a file, but once the utility exits, the next time you issue that same command line again, it has no idea what the previous command did. It's just a one-time-shot file processing command.
For example: on Linux, I believe there is a tool/utility (i.e. command line command) called "head", yes? Entering the command "head -n 10 myfile.txt" will display the first 10 lines of the file. But entering the same command again, does not display the next 10 lines. It will display the exact same first 10 lines exactly like before. It has no idea what the previous command did. It has no idea where the previous command left off at.
The same is true with Hercules's vmfplc2 utility. It doesn't run under the Hercules emulator itself. It runs under the host (Windows or Linux, etc). Each time you enter the command, it starts "fresh".
Who is rewinding/"resetting" to loadpoint (but presumably not
unloading) each time, and why?
Your host operating system (Windows or Linux) in combination with the vmfplc2 executable itself. Each time it is run, it begins fresh. Each invocation knows nothing about any previous invocation.
I guess in my experience it's very common on VM to use TAPE/VMFPLC2
to browse quite interactively, and the Hercules version seems to be
more oriented to batch operation where you know in advance exactly
what you want to do.
Well... VM's VMFPLC2 command is not interactive. It, like Hercules's vmfplc2 command, is not written to be interactive. It, just like Hercules, does one thing each time and that's it. But one of the things it is able to do is issue commands to tape devices, which are then processed by the Hercules emulator, which then positions the emulated tape device as requested and REMEMBERS (for as long as Hercules remains up and running!) where that tape device is positioned at. So the next time the VMFPLC2 is issued, its "input file" (tape device) is still position where the previous command left off at.
If the file that Hercules's vmfplc2 command was reading was actually a real physical tape device, then yeah, it would behave pretty much identically to VM's, because that's the way real tape devices behave. But Hercules's vmfplc2 command is not reading a real tape device. It's reading an ordinary binary Windows/Linux disk file. And Windows/Linux doses not remember where each command "left off at"! It's not an emulator!
Is that clear now? Does all that make any sense?
--
"Fish" (David B. Trout)
Software Development Laboratories
mail: fish@...