AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
=>     R0 =     pointer to null terminated string to write
     R1 =     pointer to dictionary (0 = RISC OS dictionary)
     R2 =     pointer to null terminated special string
<=     R0-R2 preserved

This call acts like OS_Write0 with several differences:
·     It will break a line at a space if the next word will not fit on the line, except at hard spaces
·     Compacted text is handled
·     CR causes a newline to be generated
·     TAB causes a tabulation to the next multiple of eight columns
·     ASCII 31 is a hard space
·     ESC (ASCII 27) indicates that a dictionary entry should be substituted

Compacted text uses an escape character in the print string to indicate a dictionary entry. It is followed immediately by a byte which is the dictionary entry number. If this byte is in the range 1-255, then the appropriate string in the dictionary is subsituted. If its 0, then the special string pointed to by R2 is subsituted. (This is used in particular by the *Help command.)

The format of an dictionary is a linear list of entries, which can recursively refer to other dictionary entries; each entry is a length byte followed by a 0 terminated string. This means that a dictionary doesn't have to have 255 entries - it can be ended at a point with a zero length entry.

See PRM 1, page 518.
RISC OS default dictionary
Token     String

0     R2
1     "Syntax: *" + R2
2     " the "
3     "director"
4     "filing system"
5     "current"
6     " to a variable. Other types of values can be assigned with *"
7     "file"
8     "default"
9     "tion"
10     "*Configure"
11     "name"
12     " server"
13     "number"
14     "Syntax *" + R2 + " <"
15     " one or more files that match the given wildcard"
16     " and "
17     "relocatable module"
18     CR + "C(onfirm)" + TAB + "prompt for conformation of each"
19     "sets the"
20     "Syntax: *" + R2 + " [<disc spec.>]
21     ")" + CR + "V(erbose)" + TAB + "print information on each file "
23     "spriteLandscape [<XScale> [<YScale> [<Margin> [<Treshold>]]]]"
24     " is used to print a hard copy of the screen on EPSON-"
25     "." + CR + "Options: (use ~ to force off, eg. ~"
26     "printe"
27     "Syntax: *" + R2 + " <filename>"
28     "select"
29     "xpression"
30     "Syntax: *" + R2 + " ["
31     "sprite"
32     " displays"
33     "free space"
34     " (off)"
35     "library"
36     "parameter"
37     "object"
38     " all "
39     "disc"
40     " to "
41     " is "

[sh-index] Back to list of manuals