Available on: d32 c128 c64 vic20 atari to8 plus4 pc128op d64 mo5 coleco coco3 coco

EVERY...GOSUB

Define the call of a sub-routine at regular intervals, without interfering with the main program. You must specifying the length of time between every call, measured in TICKS.

Note that the subroutine execution time should be less than the interval time, or the main program timings will be affected. After a subroutine has been entered, the EVERY system is automatically disabled. This means that, in order to call this feature continuously, an EVERY ON command must be inserted into a subroutine before the final RETURN statement.



Define the call of a subroutine 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 subroutine EVERY value/TICKS PER SECONDS seconds.

Note that the subroutine 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. Subroutines 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-subroutines which occurs simultanously to higher-priority-subroutines are not lost. Their task remains or handled again after finishing the higher-prio interrupt.

SYNTAX

 EVERY value TICKS GOSUB identifier
 EVERY value[,timer] TICKS GOSUB label


Legend
  • id : identifier
  • type : datatype
  • v : value
  • "..." : string
  • [...] : optional

EXAMPLE

 EVERY 50 TICKS GOSUB changeBorderColor
 EVERY 50 TICKS GOSUB 100
 EVERY 50,2 TICKS GOSUB label


Used in:

ABBREVIATION: Ev...Gs

Join BASIC 10Liner Contest with ugBASIC!

An interesting competition is held at the beginning of each year: the BASIC 10Liner Contest. It is possible to use ugBASIC to participate in the next "BASIC10Liner" competition, in the following categories:

  • PUR-120 - A game in 10 lines of max 120 characters (w/abbrev.)
  • EXTREME-256 - A game in 10 lines of max 256 characters (w/abbrev.)
  • SCHAU - Any program in 10 lines of max 256 characters (w/abbrev.)
In order to reduce space you can use this abbreviation for this instruction:

EVERY...GOSUB ↔ Ev...Gs

Any problem?

If you have found a problem with this keyword, if you think there is a bug or, more simply, you would like it to be improved, open an issue for this example on GitHub.
Thank you!

open an issue BACK TO KEYWORDS