1. (WINDOWS) Clean up some problems in the TCPCLI/TCPSRV subroutines. In particular, blocking mode was not working in TCPSRV, and neither routine was returning meaningful system error values in status for errors prior to a successful connect.
2. Clean up some problems in MIAMEX,65,FLAGS (screen snapshot):
XCALL MIAMEX,65,FLAGS
(FLAGS: 1=append, 2=print, 4=dialog) Previously, FLAGS=0 was appending anyway, FLAGS=2 did nothing, and there was no way to print without using FLAGS=4. Now, FLAGS=0 will generate a screen picture in MEM0:.BUF[1,1] (if MEM0:[1,1] exists, else in the current directory). To print it, you would have to use XCALL SPOOL. A subsequent call with FLAGS=0 will overwrite the file.
With FLAGS=2, it will print the screen to the default screen printer, which is initially defined by the optional second parameter in the PRINTER= statement in MIAME.INI, and later overridden by entering a printer name in the print screen dialog. If no screen printer is defined, then the system default printer is used.
As before, with FLAGS=5, it performs the same function as ^P does within most input prompts (i.e. pops up a window asking you if you want to view the screen snapshot buffer, print it, etc.) With FLAGS=1 it simply appends a time-stamped copy of the current screen to MEM0:.BUF[1,1] (or .BUF in the current directory.)
3. (WINDOWS) GDI printing no longer resets the font at the start of each page. Now, it should preserve the font, mapmode, pen, brush, and color parameters that were in effect at the end of the previous page.
4. Underlined blanks now show up as such in the print screen.
5. The high bit in FUNMAP now enables or disables all function keys (or pseudo function keys made from ^G sequences) beyond F32. Previously, it worked on a modulo 32 basis, which was too confusing.
6. The print screen dialog now seals up its attributes, eliminating problems with attributes spilling over into the box.
7. (WINDOWS) Fix problem with propagation of character attributes inside of smart boxes when using FIELDEMU.
8. (WINDOWS) TELSER.LIT 1.0(103) now provides two new switches:
TELSER {/S} {/T:}
/S forces waiting process to appear on taskbar; otherwise, it will be totally hidden. (Previously is always acted as /S)
/T: forces use of the specified terminal driver, in which case it will not prompt for driver upon connection.
(It still does not actually query the telnet client; that will be left for a later release.)
9. (WINDOWS) Telnet server mode improvements:
A. It now translates most windows message boxes into text versions (essential for telnet mode because otherwise the MessageBox would be only available to the server, not the client.) B. AMOS_RUNSBR mode is set automatically, which should resolve some cases in which the session would appear to hang because a subroutine launched in another window on the server was waiting for input. C. Garbage escape sequences no longer appear in VUE and elsewhere when using the am62a emulation.
(There are still some related problems with Telnet server mode that are yet to be resolved, so this is still definitely 'beta'.)
10. XCALL AMOS,,"Q" (any 2nd parameter) now properly silences output when AMOS_RUNSBR is on.
11. (WINDOWS) XCALL MIAMEX,100,FILESPEC{,STATUS}{,FLAGS} now allows you to play a WAV (sound) file directly. (You could also use MIAMEX,96 to launch the media player associated with a multimedia file.) FILESPEC is the file spec of the WAV file (AMOS or Windows syntax) STATUS optional returns 0 (FALSE) if it failed to play, else ok. FLAGS are optional parameters used by the Windows PlaySound() function (add applicable flags together):
1 Return immediately (while sound still playing.) To terminate the sound later, call with FILESPEC = ""
8 Play sound countinously. Must be used with option 1 (e.g. 1+8=9); terminate with another call (using another FILESPEC or "")
16 Don't stop a currently playing sound.
8192 Don't wait if driver busy.
65536 FILESPEC is not a file but the name of an "eventlabel" defined in the registry. (see HKEY_USERS\.Default\AppEvents\EventLabels) (e.g. "SystemAsterisk" or "NMain-MouseClick")
See updated MIAMEX.BAS[7,376] for an example.
12. XLOCK.SBR now supports 2 new modes to check for the presence of a lock without actually setting the lock if it is not in use:
MODE 4: check for lock availability, no waiting (like MODE 0)
MODE 5: check and wait. (Like MODE 1 but doesn't set a lock)
13. Fix a couple of problems in PCKLST.SBR which could cause it to fail if there was no trailing null on the end of the FILE parameter or if the PROMPT parameter was mapped several bytes larger than the prompt string passed.