This file describes a ROM image which adds "OS_PrettyPrint" support to the BBC in an identical manner to that supplied on RISC OS-based machines. For more information read the article entitled 'What It Is'.
Instructions
At any command line prompt, eg. the BASIC command prompt >, type:
On a Master 128: | *SRLOAD U.DRDIR 8000 (socket#) *INSERT (socket#) where socket# may be 7, 6, 5, 4 |
|
On a Machine with SRAM: | *LOAD U.DRDIR 8000 and press CTRL-BREAK to initialise. |
The image will then be installed into the chosen socket where it will wait for the user to issue one of the following two stimuli:
Osword Call
A=&47 and X & Y point to a control block in memory
XY+00 | 4 byte pointer to null terminated string to print (low byte first) |
XY+04 | 4 byte pointer to user dictionary,or 0 to use built in dictionary (low byte first) |
XY+08 | 4 byte pointer to null terminated 'special string' (low byte first) |
XY+12 | Source of string to print, 00=RAM 128+socket=ROM |
XY+13 | Source of user dictionary, 00=RAM 128+socket=ROM if XY+04 is non zero |
XY+14 | Source of 'special string', 00=RAM 128+socket=ROM |
Command Line
*HELP "fname" | where "fname" contains a valid wadge of text and starts with a 15 byte block as though it had been entered as an OSWord.
To make a file that is suitable for use in this manner is really easy. You just take your prettyprint text and then put the 15 byte OSWord block at the beginning of the file. Because the OSWord block needs addresses putting in it, you'll need to specify a sensible load address in the file's catalogue entry. |
Exit Messages
Missing " | Command line missing a closing ditto |
Dictionary entry not found | Escape sequence number was out of range |
Load address too low | The file specified on the command line loaded in at a silly place in the memory map |
File not found | The file specified on the command line doesn't exist |
Tube hardware not found | The OSWord block specified data to come from the Tube |
Known Problems/Future Enhancements
No known problems.
History
v0.90 | First release version to the EUG User group along with an article on word wrapping text |
v1.00 | Wordwrapping to current text window width implemented |