Click Here To Go To The Your Computer Archive

Written By Nigel Langley

Cover Art
Click Here To Enlarge Loading Screen

Loading Screen
Click Here To Enlarge Opening Screen

Opening Screen
Click Here To Enlarge Screenshot

Game Screenshot

Word Processor

Nigel Langley, Weeping Cross, Stafford

The program is a word processor written entirely in BBC Basic for the Model B or, like mine, a Model A which you have upgraded yourself, to include the printer interface and the extra 16K of DRAM. When all unnecessary spaces are removed, the program will reside in less than 2K bytes.

The best mode to operate a word processor in is mode 0, as it has 80 columns, as do many printers, and has 32 lines of text of which I have used 31 for the work area.

However, in mode 0, the BBC computer holds the video data in eight bytes per character and printers will only accept ASCII codes. To overcome this problem I have set aside a section of RAM just below the video RAM, and use this to store the ASCII code for the data on the screen.

Full screen editing is enabled by the use of *FX 4,2, which makes the cursor-control keys generate numerical values. Other editing facilities are insertion and close-up, which although slow make the program a very usable tool.

The hash symbol calls insertion Proc; the double bar calls close-up Proc, and Escape calls the menu Proc.

Line 10 - Puts Page Mode on.
Line 20 - alters the interlace timing, effectively moving the display down by one line upon the next mode change.
Lines 80 to 130 - set up my parallel display memory and set it to &20 (spc).
PROCopt - is the default PROC as set by line 220. This sets up the menu.
PROCwrite - takes the code from PROCget and either dumps it on the screen, or moves into the edit modes. It is important that CHR$(&7F) (delete) is ignored as it ruins the edit operation. PROCwrite also keep the parallel video memory updated.
PROCprint - carries out the control of the printer. It takes data out of the parallel video RAM one byte at a time and dumps it in the printer's buffer.
PROCinsert and PROCclose - are the procedures that make the word processor so versatile. They carry out large amounts of memory management in the parallel video RAM, after which they transfer the results on to the screen
PROCget - is my universal keyboard reading procedure. It handles the cursor controls, manages the address pointer of the parallel video RAM and returns any other key values which are entered. Again, this could easily be replaced by an assembler routine using OSRDCH.
PROCsave and PROCload - are standard methods of loading and storing sections of memory; in this case the parallel video memory.