PAUSE
                                =====

This is a "compatibility toolkit" to redefine the PAUSE command in
SuperBASIC. It only works in Qdos JS and above. It should do no harm in
Minerva or SMSQ/E.

The issue this toolkit tries to solve is that some programs, that might
otherwise have worked, fail for the trivial reason of this slight
incompatibility.


Syntax:
-------

        PAUSE                   channel #0 assumed, timeout: forever
        PAUSE#channel           timeout: forever
        PAUSE timeout           channel #0 assumed
        PAUSE#channel, timeout

where
   channel is an open console channel (default #0) and
   timeout is -1, (0..32k-1)s / 50    (default -1 = forever)


Examples:
---------

PAUSE             If there is a valid channel #0, pause forever
PAUSE 100         If there is a valid channel #0, pause for 2 seconds

PAUSE           - In both cases, if there is no open console channel #0
PAUSE 100         the routine returns immediately, ie no timeout.
                  It does NOT open a console window like SBASIC does.

PAUSE#3         - if channel #3 is an open console channel the program
PAUSE#3; -1       pauses forever. If the channel is not open, or not a
                  a console channel, the routine returns immediately
                  without error.

A valid PAUSE command may be interrupted by a keypress.

PAUSE -3        - returns error Bad parameter (SBASIC hangs?)
PAUSE 3, 50     - returns error Bad parameter (no #hash)
PAUSE#1, 2, 3   - returns error Bad parameter (too many parameters)
PAUSE#4, 50     - if channel #4 is not open or not a console channel
                  it returns immediately without error.


Software status:
----------------

V0.02, pjw, 2024 Nov 05, added invalid channel logic

               Conditions of use and DISCLAIMER as per Knoware.no

Generated by QuickHTM, 2025 Aug 29