Dragon User
1st October 1987Valuable Archaeological Artefacts Discovered By Explorers In Delta
Although the demise of Premier was some time ago, I decided that other Dragon owners (in particular DeltaDOS users), should know about the excellent software that the company produced. I feel they never got the recognition they deserved at the time and this might, have been a reason for their collapse. Both of these products must be used in conjunction with DeltaDOS.
Toolkit
This comes in the form of an EPROM fitted inside your DOS controller. I can almost hear you say "Ah! But you can't buy them any more... let alone get one fitted!" Well, I tried and I tried to find a supplier and almost gave up trying, but in the end I found a very helpful person who was kind enough to supply an EPROM for me and fit it. Toolkit gives the user 60 extra Basic commands and functions. I have condensed a description of these below. There are 24 low-res screens available to the user also.
AUTO x,y | Gives automatic line numbering from x in increments of y |
BEEP | Produces one single tone through normal sound channel |
BEEP n | Produces n tones |
BEEP ON | Produces a single tone every time a key is pressed |
BEEP OFF | Stops the above |
BLOCK x,y,a,b,z,s | Draw block, start x,y,length,a,heightb,character z,screen s |
BREAK ON/OFF | Disable and enable the Break key |
CAPPEND | Append a cassette program from tape |
CDIR | zproduces a fully comprehensive tape directory |
CLSx,s | Fill screen s with character x |
DEEK/DOKE | Double byte equivalents to PEEK and POKE |
ECHOx-y,z | Copy lines x to y to line z onwards |
ENCA=/ENCB= | Set enclosure chracters for SEARCH and REPLACE |
ERL | Returns line where an error was encountered |
ERR | Returns a generated error code |
ERROR n | Simulate error number n |
ERROR GOTO n | Goto line number n when error occurs |
ERROR OFF | Turn off all error trapping |
E. | Edit last line entered |
E. n | Edit line n |
E, | Edit next line |
E; | Edit line previous to E |
FRAMEx,y,s,b,c,s | Draw an open rectangle as per BLOCK |
FREE$ | Display amount of string space remaining |
GOSUB n | Variable controlled GOSUB |
GOTO n | Variable controlled GOTO |
HANG | Halts program until a key is pressed |
HME | Returns the cursor to top left without clearing screen |
HLINx,y,a,z,s | Draw horizontal line start x,y,length a, character z,screen s |
INKEY | Same as INKEY$ but returns ASCII value |
INPn,A$ | Controlled input of length n, into variable A$ |
INP@sc,n,A$ | As INP but to specific screen location sc |
KEYS$ | Auto-repeat keyboard scan - returns with character |
KEY | As KEY$ but returns ASCII value of key pressed |
LIMIT= | Set the delimiter character for SEARCH and REPLACE |
LOOK x,y,s | PEEK at screen location x,y on screen s |
LVARS | Give a list to the printer of active variables in a program |
MOVE x,y | Move contents of screen x to screen y |
OLD | Attempt to recover a NEWed or crashed program |
PAGE | List program in controlled chunks |
PAUSE n | Cause program to pause n milliseconds |
PLAN | Suite of printer commands |
PROG x | Program definable keys A-H (Shifted) |
PROC I | Define printer header |
PRUNE | Removes all statements following a REM or ' |
RDATA x,A$ | Read x items of DATA into A$ |
REPLACE 'x';'y' | Replace x with y in program at user's discretion |
REPLACE 'x','y' | As above but does all occurences without asking |
RESUME | Resume program from error statement |
RESUME NEXT | Resume program from statement after error |
RESUME GOTO n | Resume program at line n |
SEARCH 'x' | Search for all occurences of x in a program |
SET x,y,z,s | Fill single column/row address x,y with character x,screen s |
SWOP x,y | Swop contents of screens x and y |
TRACE ON/OFF | Same as TRON except output goes to top right of screen |
VARS | Displays a list of active variables in a program |
VLIN x,y,a,z,s | Draw a vertical line start x,y,height a, character z, screen s |
WILD= | Set wild card character for SEARCH function |
As you can see, this is an excellent utility and you might be surprised to know that the above list is not the end of the story! Toolkit also provides a Screen Editor, which can be used on its own or with the Dragon's line editor. If anyone has used a BBC Micro, they'll know what type of editor this is. Basically, you use certain keys to move a cursor around and another key to copy everything that falls under the cursor. The difference here is that you can put text onto a temporary screen, edit it without disturbing your main listing and then return to the first screen. Brilliant!
Scribe
This is quite simply a hi-res text generator. The difference is that it fully interaces with the Dragon Basic/DeltaDOS. In other words, you can write your programs using it. It is supplied on disc and therefore it is bootable. By using control codes, you can perform special tasks such as selecting inverse characters and changing the colour set, the screen area is increased to 42 x 24 character density and again fully interfaces with BASIC, although you cannot poke characters to the text screen as is usual with programs of this type. A very useful feature has been added to allow you to generate new characters from within a program... the PRINT! command. The character set also includes quite a few graphics characters such as playing card symbols, etc. and it can be saved for later retrieval. Another new command is the PUT@ command, allowing you to precision place characters on the graphics screen. This is extremely useful when dealing with subscripts and superscripts.
The only failing of this software is that it does not fully interface with Toolkit. You cannot use the INP@ command or the Toolkit editor whilst running Scribe. This is because the screen locations are not translated. It should be possible for a competent programmer to modify these problems though.
I hope that this review gets published and that it is of some interest. I hold a personal opinion that DeltaDOS users have been given a raw deal in the past in regards to printed matter and hopefully this will redress the balance slightly.
Oh yes, I nearly forgot... I award Toolkit five Dragons and Scribe four Dragons (only 4 because it does not interface with Toolkit).