Moving to Win 10 so I need to replace NTVDM. We have 5 pcs with files on a network share, so vDos RL is a must. I installed vDos on one Win 7 box and it seems to be working well. I have read the printing.pdf and many of the forum threads. I understand most of it. I grew up on DOS. It seems there are several options to accomplish what I need so I am looking for advice for the best solution. My application outputs to LPT1: expecting a PCL(5) printer. When running a simple report, I get the printer dialog several times (broken pages you called them). I am sure this is because of timeouts.
Goal 1 is to get printing to work exactly like it did in 1990. I think I can set TIO to 0, but you warn that I might never get output until exit. I could add 'press any key' to the end of every report and use TIO Key. I do not understand TIO Files. Also, on TIO, you say the default is 1 sec after FF otherwise 5 seconds. If I override TIO to 99, I assume the 5 changes to 99. What happens to FF timeout? So my question is: what is the best way to get my LPT1: PCL output stream to come out as one report?
Goal 2 is to print to PDF including a graphic image. That can be another thread for another day. Thank you for this well supported product.
I don’t quite understand why the printer dialog would popup several times. In earlier versions vDos stopped executing your program until that dialog was dismissed off. Version 2020 will however continue execution and further printer output should just be added until the printer dialog is answered. But if you'll use a pre-selected printer, that dialog won't show, so you would have to use TIO.
The TIO 0, FILES or KEYS options just have to be tried, any could work. TIO 0 is similar to FILES, the first depends on the printer being opened with the standard DOS open file API call, and closed as the print job is finished. FILES assumes the program will open at least one (more) file as printing starts, the moment the (extra) files are closed again, vDos will consider the printjob finished. You’re not supposed to add 'press any key' yourself. The idea here is that your program will for instance return to a selection menu and wait for a key pressed itself.
TIO 99 will change both timeout values to 99 seconds.
vDos PCL interpreter doesn’t support graphics. If it will be static images, like a letterhead, it’s best to print to PDF and let the PDF printer add the images (https://www.vdos.info/faqs.html - Printing - Digital printing with stationary (PDF)). Else use the RAW option or the externa PCL6 program.
Don’t spend too much time at optimizing your code. You could be disappointed by the results. I experienced many just focus on one specific task, rarely used and already taken considerable time to execute. Mostly it’s not worth the trouble. If at any comfort; though slower than NTVDM, vDos performs better than a DOS PC at the time the DOS application was first used.