1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

If a semicolon is present at the end of a PRINT statement, the
'default' of a concluding carriage return is surpressed. 'PRINT's are
not really buffered-- they appear as soon as ready, even if the
trailing carriage return is surpressed. If a PRINT exists by itself,
it will print a 'carriage return' and go to the left edge of the next
screen row, scrolling if necessary. The 'SPEED=n' command (x=0..255,
255 is default of no delay, 0 is rather glacial) can be used to insert
a pause after each and every character outputted.

A comma present separating items jumps to the next 'tab' stop, which
are located 16 columns apart at columns 1, 17, 33, etc. The second tab
stop exists only if column 16 for that line is empty (i.e. filled with
spaces), and the third only if columns 24-32 are empty.

For floating-point values, scientific notation is used for values with
absolute value less than 0.01 or if there are more than 9 digits in
front of the decimal point.

'PRINT's of numeric values are always left-justified, and the output
will take up however much space is needed to represent it. Strings
similarly take up as much room as necessary and no wordwrapping is
done. No print formatting (such as the 'PRINT USING' of other Basics)
for other forms is built in; you'll have to write your own if this is
needed.

There are a few commands to do other fun things with the text output.
'INVERSE' will set text to come up in the reverse of the normal
background and foreground text colors. [All text output from Applesoft
is monochrome, but the GS has user-definable foreground and background
colors, versus the fixed white foreground, black background of
previous Apple II models.] If the 80-column card is not active,
'FLASH' will set the text to blinking. [See next section for special
notes on getting flashing text working when 80-column cards are
active.] 'NORMAL' will set the text to appear normal again. All three
do not affect what's currently on the screen, but only affect future
text output.

'HOME' will clear the screen and leave the cursor in the top left.
'VTAB n' will set the cursor's vertical position on the screen-- 1 is
the top row on the screen, 24 is on the bottom. 'HTAB n' similarly
sets the horizontal position of the cursor from columns 1 to 80.
[80-column mode on an unenhanced //e tends not to support HTAB well
past the 39th column; you may want to do 'POKE 1403,n' to set to
column n-1.

3.2 Mousetext and special 80-column text output

Enhanced //es with 80 column cards, //cs, IIc+s, and IIGSs have the
ability to display a special set of characters onscreen, useful for
text menuing/windowing, and the like. To enable it, make sure that the
80 column card is on (use PR#3), set INVERSE text, and then set the
mousetext mode on with a 'PRINT CHR$(27)'.

Once that is done, you can use any of the mousetext characters, which
are A-Z, and the punctuation "@[\]_\". [Sorry, HTML does not really
have Mousetext, so you're going to have to determine what they look
like for yourself.] To exit Mousetext mode, do 'PRINT CHR$(24)'

Also, you can get FLASHing text under 80-columns if you're willing to
not use any Mousetext characters at the same. POKE 49166,0 sets any
Mousetext characters onscreen to flashing charactes, and 49167,0 turns
all flashing text to Mousetext.