The printer device under CP/M emulation:

The printer device is implemented in all BIOS's for the DRI OS's, so any CP/M or MP/M command using the print device is supposed to work. All output to the printer device goes into the UNIX file ~/z80pack-x.y/cpmsim/printer.cpm.

Example for CP/M 2 and CP/M 3:
pip lst:=b:sysgen.sub

Under MP/M 2 better use the print spooler utility:
spool b:sysgen.sub

To print work done on the command line use CTRL-P to start printing all console output, use another CTRL-P to stop output again.

The printer device doesn't need to be polled, because all output goes into a UNIX file the device always is ready for output. See the various BIOS sources for reference.