Silverfrost Forums

Welcome to our forums

Differences between salflibc.dll in v6.10 and 6.20

13 Feb 2012 12:59 #9595

Our application runs on Win 7 (64 bit) in the cmd window with the presence of ansicon.exe www.github.com/adoxa/ansicon which mimics the old DOS ansi.sys escape sequences.

It ran perfectly under v6.10 but when we upgraded in January to v6.20 on the same laptop the escape sequences were not trapped but were simply passed through to be displayed as text in the command window.

Replacing the new salflibc.dll with the old v6.10 version it again works but that is probably not a very advisable solution!!

Can you please tell me what change(s) you have made to salflibc which may be causing this to happen and give me any suggestions.

13 Feb 2012 10:55 #9600

Can you provide a few lines of code to illustrate how the escape sequences are delivered.

13 Feb 2012 2:59 #9604

Here is an example of cursor positioning:

  CHARACTER(LEN=1)     CESC
  CHARACTER(LEN=20)   TEXT20
  INTEGER*2  NROW, NCOL
  NROW = 4
  NCOL  = 10
  CESC	=  CHAR(27)
  WRITE	  (TEXT20,100)  CESC,NROW,NCOL

100 FORMAT( A1,'[',I0,';',I0,'H' ) CALL SOUA@(TEXT20)

13 Feb 2012 8:27 #9605

Don’t you find that a 3rd part Escape code handler is an additional layer of complexity in your program? You already use SOUA@ instead of a simple WRITE, so you are clearly aware of the FTN77 enhancements. Why don’t you use SET_CURSOR_POSITION@ (and the other related routines) as well?

Eddie

13 Feb 2012 9:37 #9606

The use of one, two or three parameter escape sequences is simply a carry-over from the legacy MS Fortran for DOS.

However, I would appreciate your help in finding documentation for the SET_CURSOR_POSITION@ and related routines you suggest as they don't appear in the Silverfrost help index.

Are you perhaps referring to the .Net Framework Console Class method SetCursorPosition( int left, int top ) available in mscorlib.dll? That might be an answer to the requirement to hook the escape sequences with ansicon. Thanks.

14 Feb 2012 9:16 #9609

The only change that I can find in the IO library is date 24 Dec 2010 which predates the 6.10 release. I will pass this on to our IO specialist to see if he has any ideas.

14 Feb 2012 9:23 #9611

SET_CURSOR_POS@ (did I say 'POSITION'?) is one of the many useful routines carried over from FTN77 with DBOS (the DOS extender). Some while ago we found the PDF version of the Salford manuals, and Silverfrost put them on their main website. In the FTN95 area, look for 'Documentation' and then choose 'Salford FTN77 Library Reference' (or go straight to http://www.silverfrost.com/manuals/77library.pdf). What you are looking for starts at page 163. If you don't already know of these routines, then I'm prepared to bet that you find other gems in this library. As far as I know anything that isn't DBOS-specific or related to the old graphics system still works.

Like you I used to use MS Fortran and escape-codes - but preferred the VT52 set (Apricot and Victor PCs) to the ANSI codes, and always found it irritating that IBM PC true compatibles needed an installable device driver to support them.

(.NET is beyond me, but I am reasonably adept at Clearwin).

Eddie

21 Feb 2012 9:15 #9660

Hi aldavhu221,

I have reproduced the problem you were having and we have traced it back to a change made to fix an unrelated issue for 6.20. We have now changed the way we fixed the issue to allow the escape sequences to reach ansicon. This change will be included in the next release of FTN95.

27 Feb 2012 12:30 #9717

Thanks for diagnosing the problem and we look forward to the fix in the next FTN95 release. Any idea yet when this likely?

27 Feb 2012 4:06 #9722

If you look in the Announcements section of this Forum you will get an impression of the pattern of release dates.

Please login to reply.