Scor­pio News


July–September 1988 – Volume 2. Issue 3.

Page 10 of 39
  • Each of the above listed facilities is self contained and does not inherently need any of the others.
  • Each facility takes a significant time, and each one also runs to completion (and will thus not be called up twice in succession except in unusual circumstances).
  • Therefore the time taken to load one of these parts would be a change- round time which is only encountered once for each unit (within a reasonable time).
  • Thus it is very reasonable to break the program up in this manner. We will require a menu section to drive them from, and we must ask whether they all fit in memory with a good size data area remaining.

In practice I found that the editor and the dot matrix printer dump were the only ones which took a significant space, and both could be fitted in quite acceptably on a 40K system. There was one extra consideration, which was that I had decided to provide help messages which take a large amount of space. These I put in a separate file to be read in and displayed as required.

The mistake (in my opinion) made on the other version was breaking down the individual editing functions. Now I am quite aware that Wordstar does this to some extent, however Wordstar has all the common functions available instantly and those which it loads from disk remain resident for immediate access until some other function overwrites them. The situation I found with the PCB program was that if I asked for a DIL pack pad set, I have to wait while the disk whirrs before continuing and if the next thing I want to do is put another DIL pack on I have to wait again. Placing and deleting tracks was slightly better in that several tracks can be placed or deleted in one go, but then a specific instruction had to be given to return to normal mode and – guess what – the disk starts up again.

Now let us suppose for a moment that it is in fact necessary to break down the code further. Perhaps the editor won’t fit all in one (a very possible problem for my current project). How do we approach the problem now. Well, let’s look at Wordstar again. (Incidentally the reason I refer to Wordstar so often is that I am using it to enter this text, so it’s an easy example.) Looking at the main editing menu I see 21 commands listed. These are the common commands and only one of them (delete line) is non-resident. In documents, however, this command is fairly rare so that is not a problem. Now let’s look at the other menus. The block menu contains disk and file handling commands which can be non-resident without making a noticeable difference. It also contains the block handling routines, some of which will, in long files, often require disk transfers so it would be difficult to tell that they are non-resident. Of the 19 commands in the quick menu only find and replace are non-resident and then only the opening bits which are used once only. The print menu has only one function during editing so it is resident. The on-screen menu has only centre text non- resident. The help menu is entirely non-resident since it is all messages which occupy vast amounts of memory, and (perhaps more importantly) the sort of experienced user who is concerned about speed will not often use it.

Page 10 of 39