the keyboard. The statement can be used to redirect output to the printer (e.g. ) where x is the slot number containing the printer port card. To send a BASIC program listing to the printer, the user types . Using on a slot with a disk drive (usually in slot 6) causes Applesoft to boot the disk drive. Using on a slot with an 80 column card (usually in slot 1) switches to 80 column text mode. As with Commodore BASIC, numeric variables are stored as 40-bit floating point; each variable requires five bytes of memory. The programmer may designate variables as integer by following them with a percent sign, in which case they use two bytes and are limited to a range of -32768 to 32767; however BASIC internally converts them back to floating point when performing calculations, while each percent sign also takes an additional byte of program code, so in practice this feature is only useful for reducing the memory usage of large array variables, as it offers no performance benefit. The RND function generates a pseudorandom fractional number between 0 and 1. returns the most recently generated random number. with a negative number will jump to a point in the sequence determined by the particular negative number used. RND with any positive value generates the next number in the sequence, not dependent on the actual value given. Like other implementations of Microsoft BASIC, Applesoft discards spaces (outside of strings and comments) on program lines. LIST adds spaces when displaying code for the sake of readability. Since adds a space before and after every tokenized keyword, it often produces two spaces in a row where one would suffice for readability. The default prompt for INPUT is a question mark. PRINT does not add a leading space in front of numbers. Limitations Through several early models of the Apple II, Applesoft BASIC did not support the use of lowercase letters in programs, except in strings. PRINT is a valid command but print and Print result in a syntax error. Applesoft lacks several commands and functions common to most of the non-6502 Microsoft BASIC interpreters, such as: INSTR (search for a substring in a string) PRINT USING (format numbers in printed output) INKEY$ (check for a keypress without stopping the program; although a PEEK to location $C000 achieves this action) LPRINT (output to a printer instead of the screen)