WAIT: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Created page with "The {{KW|WAIT}} statement waits until the value read from an I/O port has certain bits set. {{PageSyntax}} :{{KW|WAIT}} {{Parameter|port%}}, {{Parameter|andMask%}}[, {{Parameter|xorMask%}}] {{PageDescription}} * The {{KW|WAIT}} statement reads a value from {{Parameter|port%}} using {{KW|INP}}. * If {{Parameter|xorMask%}} is specified, the value is {{KW|XOR}}'d with {{Parameter|xorMask%}}. It has the effect of "toggle these bits". * The value is then {{KW|AND}}'d with...")
 
No edit summary
 
Line 1: Line 1:
The {{KW|WAIT}} statement waits until the value read from an I/O port has certain bits set.
The [[WAIT]] statement waits until the value read from an I/O port has certain bits set.




{{PageSyntax}}
{{PageSyntax}}
:{{KW|WAIT}} {{Parameter|port%}}, {{Parameter|andMask%}}[, {{Parameter|xorMask%}}]
:[[WAIT]] {{Parameter|port%}}, {{Parameter|andMask%}}[, {{Parameter|xorMask%}}]




{{PageDescription}}
{{PageDescription}}
* The {{KW|WAIT}} statement reads a value from {{Parameter|port%}} using {{KW|INP}}.
* The [[WAIT]] statement reads a value from {{Parameter|port%}} using [[INP]].
* If {{Parameter|xorMask%}} is specified, the value is {{KW|XOR}}'d with {{Parameter|xorMask%}}. It has the effect of "toggle these bits".
* If {{Parameter|xorMask%}} is specified, the value is [[XOR]]'d with {{Parameter|xorMask%}}. It has the effect of "toggle these bits".
* The value is then {{KW|AND}}'d with {{Parameter|andMask%}}. It has the effect of "check if these bits are set".
* The value is then [[AND]]'d with {{Parameter|andMask%}}. It has the effect of "check if these bits are set".
* If the final value is non-zero, {{KW|WAIT}} returns. Otherwise, another value is read from {{Parameter|port%}} and checked again.
* If the final value is non-zero, [[WAIT]] returns. Otherwise, another value is read from {{Parameter|port%}} and checked again.
* The {{KW|WAIT}} statement returns immediately if {{Parameter|port%}} is not supported.
* The [[WAIT]] statement returns immediately if {{Parameter|port%}} is not supported.




Line 25: Line 25:


{{PageSeeAlso}}
{{PageSeeAlso}}
* {{KW|INP}}, {{KW|OUT}}
* [[INP]], [[OUT]]
* [[Scancodes]]
* [[Scancodes]]




{{PageNavigation}}
{{PageNavigation}}

Latest revision as of 00:59, 25 January 2023

The WAIT statement waits until the value read from an I/O port has certain bits set.


Syntax

WAIT port%, andMask%[, xorMask%]


Description

  • The WAIT statement reads a value from port% using INP.
  • If xorMask% is specified, the value is XOR'd with xorMask%. It has the effect of "toggle these bits".
  • The value is then AND'd with andMask%. It has the effect of "check if these bits are set".
  • If the final value is non-zero, WAIT returns. Otherwise, another value is read from port% and checked again.
  • The WAIT statement returns immediately if port% is not supported.


Examples

Waiting for vertical retrace
' Either statement can be used to try to reduce screen flickering.
' If both statements are used, try changing the order.

WAIT &H3DA, 8 ' finishes whenever the screen isn't being written to
WAIT &H3DA, 8, 8 ' finishes whenever the screen is being written to


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link