Home > CBM > BASIC > Keywords > Sleep 180 Subpages: (divide), (equal), (less), (minus), (more), (multiply), (plus), (power), Abs, And, Append, Asc, Atn, Auto, Backup, Bank, Begin, Bend, Bload, Boot, Box, Bsave, Bump, Catalog, Char, Chr, Circle, Close, Clr, Cmd, Collect, Collision, Color, Concat, Cont, Copy, Cos, Data, Dclear, Dclose, Dec, Def, Delete, Dim, Directory, Dispose, Dload, Do, Dopen, Draw, Ds, Ds string, Dsave, Dverify, El, Else, End, Envelope, Er, Err, Exit, Exp, Fast, Fetch, Filter, Fn, For, Fre, Get, Get num, Getkey, Go, Gosub, Goto, Graphic, Gshape, Header, Help, Hex, If, Input, Input num, Instr, Int, Joy, Key, Left, Len, Let, List, Load, Locate, Log, Loop, Mid, Monitor, Movspr, New, Next, Not, Off, On, Open, Or, Paint, Peek, Pen, Pi, Play, Pointer, Poke, Pos, Pot, Print, Print num, Pudef, Quit, Rclr, Rdot, Read, Record, Rem, Rename, Renumber, Restore, Resume, Return, Rgr, Right, Rlum, Rnd, Rreg, Rspcolor, Rsppos, Rsprite, Run, Rwindow, Save, Scale, Scnclr, Scratch, Sgn, Sin, Slow, Sound, Spc, Sprcolor, Sprdef, Sprite, Sprsav, Sqr, Sshape, St, Stash, Step, Stop, Str, Swap, Sys, Tab, Tan, Tempo, Then, Ti, Ti string, To, Trap, Troff, Tron, Until, Using, Usr, Val, Verify, Vol, Wait, While, Width, Window, Xor |
| Keyword | Abbreviation | Token (hex) | Version(s) | Classification | | SLEEP | S{Shift+L} | FE 0B | 7.0 | Command and Statement |
SLEEP seconds | Parameters | Type | Legal Value(s) | Default Value | Note(s) | | seconds | Unsigned Integer | 0 ~ 65535 | | |
Program flow control. Suspend execution for a specified period of time.
SLEEP provides a more reliable delay mechanism than the often used "empty FOR/NEXT". It works correctly regardless of NTSC/PAL differences or CPU speed. Technically it uses the KERNAL's Jiffy timer, so as long as the KERNAL interrupt hasn't been disabled or redirected this works fine. While the program waits, it checks the STOP key and normal system IRQ routines continue to execute (such as checking the keyboard, moving sprites, and generating sound). However a COLLISION will not execute while BASIC SLEEPs. Any COLLISION will be detected, but not acted upon until SLEEP finishes waiting. In this regard, the classic FOR/NEXT delay may be preferred. The only real problem is the parameter is converted to an (unsigned) integer (see INT) so that fractional seconds of delay are not possible. If seconds is numeric, but not legal (see above) then ILLEGAL QUANTITY ERROR occurs. If seconds is a string, TYPE MISMATCH ERROR occurs. If seconds is omitted, SYNTAX ERROR is generated. Example:
SLOW : T = 5 : SLEEP T (delay of 5 seconds)
READY.
FAST : T = 5 : SLEEP T (delay of 5 seconds)
READY.
|
© H2Obsession, 2014 |