Language
Showing results for 
Search instead for 
Do you mean 

SLAVE PRINTING BEHIND BLOCK MODE IN FORTRAN

SOLVED
Go to Solution
Valued Contributor [Founder]

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
3 REPLIES
Honored Contributor [Founder]

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 [Founder]

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

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