Those of you who use a PC as well as your Beeb will be familiar with the concept of a TSR. A TSR is a "Terminate and Stay Resident" program which is a feature of MS-DOS operating systems. The idea is that the program is loaded (usually doing very little else except announce itself on the screen) and then stops, but staying resident in memory. It is then activated by what has come to be known as a 'hot-key' combination: a selection of keys which are unlikely to be used elsewhere (such as Ctrl-Shift-X). When these keys are pressed and no matter what else is happening, the current computer activity is suspended and the TSR takes over. When it has finished doing whatever it was designed to do then control is passed back to the program which was running before.
TSRs are wonderful things as they are programs which are instantaneously and universally available (no matter what discs are in the drives), but they have one major drawback: they consume memory permanently, even when not running. Essential Software (whose upgraded Ramdisc I enthusiastically reviewed in BEEBUG Vol.8 No.5) has come up with a bunch of TSRs for the 512 co-processor, but with one highly important difference: they all reside in the BBC micro and NOT the 512 DOS co-processor, so taking up NO DOS memory at all. In order to achieve this, they all fit in the 4K of RAM left unused in the Beeb itself between the Tube code (&2F00 approximately) and the bottom of mode 3 screen memory (&4000).
The set of routines available form a suite of programs which cram an amazing number of utilities into this space. Residing in the I/O processor also gives them one other big advantage: the hotkeys which start them off cannot be confused with any DOS+ package as of course the Beeb sees the keystrokes first before passing them on to DOS+. The result is that there can be no possible key conflict (as can happen with standard TSRs). Essential has called each of its TSRs 'modules', and has bundled them all together in a very pleasing and homogeneous way. The 'look-and-feel' of the various modules is excellent and quite intuitive in their mode of operation, and there is room for them all to co-exist at once.
So what's on offer? Let's look first at the disc which contains the Print Screen utilities to see how the system fits together.
The ability (on a PC) to press the PrtScrn key and have a copy of the screen dumped to the printer is a facility I have much missed on the 512 (and even the BBC). Snatching a screenshot of a word processor or spreadsheet from the printer to use somewhere else or as reference to another program is very useful indeed, and Essential's disc caters for this superbly. At the DOS+ prompt simply type PRTSCRN 9 or PRTSCRN 24 (9-pin and 24-pin printers) to load the program from the DOS disc down into the Beeb's memory. Nothing else happens until you hotkey with Shift-Ctrl-T, when the current text screen is dumped to the printer. But make sure you're printing at 10 characters to the inch or those fancy box characters you see on the screen won't be lined up nicely because the utility uses graphics printing to emulate a full IBM-compatible printer. And if you prefer 8 lines per inch then Ctrl-Shift-X instead produces this. Simple but very useful.
Also on the disc is GRDUMP, which does the same for a graphics image and prints sideways in 11" x 5" in plain mode (Shift-Ctrl-P) or blackwhite inversion (Shift-Ctrl-I).
To assist with the overall module organisation, there is also on the disc a set of five utilities. While GRDUMP loads the graphics dump modules, you have to dismiss them (though I see no reason for doing so) with TELL GRDUMP DIE, while TELL GRDUMP SLEEP and TELL GRDUMP WAKE will suspend or reactivate the graphics dump - maybe because you've turned the printer off?
NEWKEYS GRDUMP will allow you to choose a different hot-key combination. SAVEKEYS and LOADKEYS enable the saving of these key set-ups to disc, and STATUS reports on the presence (awake or comatose) and hot-key triggers for the modules currently installed. TELL, NEWKEYS, SAVEKEYS, LOADKEYS and STATUS are programs which appear on each disc in the series.
One very disappointing program which came with the 512 was STAR. Again Essential has improved many fold on this DOS+ utility. SUPRSTAR is a module which when loaded is hot-keyed into action with Shift-Ctrl-* (although I used NEWKEYS to change this to Ctrl-Esc), and drops into a mode 7 screen straight from the application you're running. Issuing star commands is easy now, and pressing Escape takes you back to the 512, so because I can hotkey I can print a DFS catalogue of a disc for my son without ever unloading my database in the 512!
SUPRSTAR requires care, however. When in BBC mode, you mustn't do anything which might disturb the Beeb's memory: starting a language is fatal, as is *COPY, *FORM (Acorn's anyway), etc. So in fact you're very limited as to what can be accomplished but I can certainly use my sideways ROM commands which set up my printer styles (see BEEBUG Vol.5 No.3) without even leaving my DOS word processor.
Because SUPRSTAR is so limiting, a supplementary disc is available which contains two star commands: *GOBBC and *512. The former should be issued at the SUPRSTAR page, when it will save on disc all the important RAM which I mentioned earlier, and then enter Basic, giving a complete BBC environment in which to work. Of course PAGE is much higher (on a model B) at &2500, but you can do ANY operations (including word processing etc.) provided you don't press Break - if you do then of course you've lost your DOS+ session you hotkeyed from and you'll have to reboot. At the end, issue the command *512 and return to the SUPRSTAR screen, Escape to DOS and it's exactly as you left it. Amazing!
Another disc is available with a mouse driver. Now I'm not a great lover of mouse interfaces, but with this module installed I can scroll around my spreadsheet at lightning speed. The two buttons on the mouse are programmed to produce keyboard presses of Return and Escape (but can be altered of course), and any movement of the mouse is changed to a series of cursor key strokes. Consequently they work with any package which uses cursor key movements, and with the supplied variable sensitivity program (to change the keystrokes per inch generated) I can now play chess sat back in my armchair with my previously unused 512 mouse!
There is also a module to save DOS screens to DFS or ADFS format, and a Miscellaneous Disc contains the modules COLORDEF (to change screen colours - I hate the American spelling) and SUSPEND (hotkey to suspend, hotkey to resume) as well as standard DOS command-line programs to lock the computer until a password is given, together with SOUND and ENVELOPE programs to enliven your otherwise silent batch files. Also on the disc is SELECT, which is a program enabling you to make a choice within a batch file. Planned future hotkey modules - which Robin Burton assures me will easily be ready by the time this article is in print - include a Notepad (using BBC sideways RAM storage), and a key translation program which allows change of key function from anything to anything (model B users note well).
Altogether these are a valuable and useful set of additions, which I commend heartily to you.