Nascom Newsletter |
Volume 3 · Number 3 · August 1983 |
Page 8 of 37 |
---|
I have been using Wordease 2 for about two years. As a teacher I find it invaluable for the preparation of worksheets, exam papers and the like. When I bought this program it was a simple choice between it and Naspen and although both had their advantages and disadvantages I settled for the RAM based system so that it could be sore easily updated. Nothing is perfect however and there were several deficiencies that I have tried to make good over the time I’ve been using it. This article, together with the assembler listing, describe these changes. The main changes are as follows:
The “conditional eject” facility is useful but I found that I very often needed to know how many lines there were remaining on a particular page so that I could decide whether to include an extra paragraph or not. Lines 660 – 1210 encode a routine which outputs the current page being processed and how many lines remain on that page. The right hand side of the top screen line is used during the process phase. Simply put a “halt” at the end of the text to find out how much space is left.
For quite some time I used an ancient Olivetti terminal printer that did not respond to “escape” sequences in the way that more modern printers do. When I started to use an Epson I found several problems – I could switch underline on, but not off again! The justification option in the processor was taking note of the printer control codes so that a line with an underlined word would be justified to a right margin 6 columns in.
The other problem arose when processing printer control codes on the screen via Port1 – the escape sequences tended to mess up the screen display. Lines 1700 – 1930 trap all control-U codes and increment a second line-length counter which is subsequently used for the justification process. There are several patches which are needed to reinstate the correct value at the start of each new line. Lines 3250 –3420 and 1270 – 1370 trap the output via Port1 and Port2 and modify being output. Output to Port1 (screen) has a table of control codes (<20H) and any of these have Bit 7 set so they are output as graphics characters. In order to send Null codes (00H) to the printer to turn off certain features it is necessary to send 255 instead. The Port2 patch detects these codes and sends 00. The problem is the Wordease uses 00h as the end of line marker in its text buffer. Both these Port patches also detect the “pad” character (see below.
It is sometimes necessary to be able to put in “hard spaces’
Page 8 of 37 |
---|