Language
Showing results for 
Search instead for 
Do you mean 

SLAVE PRINTING BEHIND BLOCK MODE IN FORTRAN

SOLVED
Go to Solution
Valued Contributor Valued Contributor

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
1 ACCEPTED SOLUTION
Honored Contributor Honored Contributor

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!
3 REPLIES
Honored Contributor Honored Contributor

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 Valued Contributor

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?
Highlighted
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