No, I haven't looked at BSAVE yet nor at CLOSE from that point of view.
For existing files saved with BSAVE on the flash drive, when BOLD/BAPPEN are called, the routine will send the data, then an FF, then pad the rest up to the 256-byte boundary, emulating what the 4924 would have sent. This seems to adequately deal with the missing FF at the end of the data in the file - assuming there is supposed to be one. Tests would seem to indicate that at least one FF is needed at the end of the data otherwise a MAG TAPE ERROR ocurrs.
On the other hand, files recovered from tape, such as the ones from the Opt30Demo, don't have any FF characters at the end of the data or at the end of the file, yet somehow the Tek automatically stops loading when the end of the data has been reached. The recovered files are, I presume, an exact replica of what was recovered from the tape and one can readily determine that file lengths are already in exact multiples of 256 bytes. Manually changing the byte at the end of the data was an experiment, but if BOLD/BAPPEN already work on other Opt30Demo program files that have not been modified, then how does that work without an FF at the end of the data? Adding an FF manually is easy enough since one can determine the end of the data visually in a hex editor, but making that modification programmatically would be tricky since we don't know where the end of the data is. Somehow, the Tek can make that determination though....? If it works without modifying the file, do we actually need to modify anything?
It is also the case with the flash drive that if a file length is exactly on a 256-byte boundary (file-length mod 256 = 0) , then BOLD/BAPPEN send no FF or padding characters. This means that the binary program files that have been recovered from tape are read exactly as they are and the data is not modified in any way before being sent over the GPIB bus.
Also, as determined from the traces, BOLD/BAPPEN do not signal EOI at any time so the flash drive routines does not send an EOI either.
I am happy to make any further modifications, but we would need to more fully understand the mechanism. Specifically, why do the Opt30Demo files load without having an FF at the end of the data, whereas other binary program files, as determined by traces and experimentation, appear to require one?
I suppose you could say the jury is out on the best was forward.