SLAVE PRINTING BEHIND BLOCK MODE IN FORTRAN (262 Views)
Reply
Valued Contributor
David T. Darnell
Posts: 69
Registered: ‎05-24-2000
Message 1 of 4 (262 Views)
Accepted Solution

SLAVE PRINTING BEHIND BLOCK MODE IN FORTRAN

I am maintianing an old application, originally CM/F66, now NM/F77. When printing to the slave printer, there are a few things the original programmers did that make no sense to me, but might be there for a reason.

1) Before every escape sequence, the program sends a CHAR(320B) character. I removed this, and everything still seems to work great on a Reflection (no "s") VT-MGR session. What might this CHAR(320B) be for?

2) Before printing to the slave, one of the escape sequences is &s0G which is "turn off handshaking". I have not experimented with removing this, but it seems unnecessary. Any hints?

-dtd
Honored Contributor
Kwan Fong, Emile
Posts: 1,162
Registered: ‎07-10-2000
Message 2 of 4 (262 Views)

Re: SLAVE PRINTING BEHIND BLOCK MODE IN FORTRAN

1) 320B looks like carriage control setting; 320B means no space, no return, next printing physically follows this (typical for escape sequences, as there should be no carriage movement).

2) Esc&s0G sets to 'NO' the InhHndShk field in the HP 2392 or 700/9x terminal configuration menu. This field determines the type of handshaking to be used when transferring blocks of data to the host. I don't think this will have any effect for a slave printer as slave printer is usually configured using the External Device Configuration menu where there is no such field (InhHndShk).
King is the customer!
Valued Contributor
David T. Darnell
Posts: 69
Registered: ‎05-24-2000
Message 3 of 4 (262 Views)

Re: SLAVE PRINTING BEHIND BLOCK MODE IN FORTRAN

Thanks, Emile,

Now, I am intrigued by the use of the 320B character for carriage control. Is this a special directive to the terminal I/O "driver"?

This appears to be a special feature unique to the HP3000 (like on the HP1000 ending a string with an underscore suppresses cr/lf).

Where (in what manual) can I find information on using these special control characters?
Frequent Advisor
jp
Posts: 81
Registered: ‎06-13-2003
Message 4 of 4 (262 Views)

Re: SLAVE PRINTING BEHIND BLOCK MODE IN FORTRAN

David,
This sounds a bit like default write behaviour control on terminal. On mpe Basic/v, default behaviour in a Print statement is do CR/LF at end of print. Adding a ; to end prevents this, so your final line of print can be a result of multiple independent Prints. Also, when sending a cursor position esc sequence, doing a CR/LF at end would nullify the positioning, so a ; is mandatory. It may be that none of the code actually does a cursor positioning write separately from writing data to the screen, so no changes are observed after you removed the 320b command. DO Fortran Format statements haver a syntax that indicates 'no cr/lf yet please'? In mpe Basic 'Image ' statements (like format) use '#' at the front to indicate this behaviour.
hth,
jp
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.