User Tools

Site Tools


ugbasic:user:kw:every...call
Translations of this page:


ugBASIC User Manual

EVERY...CALL ✓

SYNTAX

   EVERY value[,timer] TICKS CALL identifier

PURPOSE

Define the call of a procedure at regular intervals, without interfering with the main program. You must specifying the length of time between every call, measured in TICKS. The ugBASIC branches to the procedure EVERY value/TICKS PER SECONDS seconds.

Note that the procedure execution time should be less than the interval time, or the main program timings will be affected.

There are 8 delay timers from 0 to 7 which can be specified with timer. If omitted timer defaults to 0. In the case of parallel task has 0 the highest and 8 the lowest priority.

With EVERY OFF and EVERY ON you can disable or enable the timed calls. Procedures run as long as the main loop / program runs, even the main programm is paused. It is important to know or realise that low-priority-procedures which occurs simultanously to higher-priority-procedures are not lost. Their task remains or handled again after finishing the higher-prio interrupt.

EXAMPLE

  EVERY 50 TICKS CALL changeBorderColor
  EVERY 50,2 TICKS CALL changeBorderColor

See also the following example files:

ABBREVIATION

 Ev...Ca

AVAILABLE ON

  • Dragon 32
  • Commodore 128 (MOS 8502)
  • SEGA SG-1000
  • Commodore 64
  • Commodore VIC-20
  • Atari (400/800)
  • Commodore PLUS/4
  • VG-5000
  • Olivetti Prodest PC128
  • Dragon 64
  • Thomson MO5
  • SEGA SC-3000
  • ColecoVision
  • TRS-80 Color Computer 3
  • MSX
  • TRS-80 Color Computer

ANY PROBLEM?

If you have encountered a problem using this command, if you think there is a bug or the explanation is unclear, please open an issue for this keyword on GitHub. Thank you!

POWERED BY