Nova 1000 claims to provide the humble TS1000 with the ability to perform multi-tasking. In case you are unaware, the usual method to achieve multi-tasking is to use one of the newer CPU’s. The reason is that they have the additional registers and have been specifically designed for multi-tasking. Obviously then, this is no small claim for the Z80 CPU or the TS1000.
The tape comes with three versions of the program on it. The first version contains the machine code in an uneditable line 0, to allow you to add your program lines. This version also contains an impressive demonstration routine. It would have been a nice touch to have provided the 0 REM line by itself. As the program is delivered, you must delete all the unwanted lines.
Much of the how to use this program information must be gleaned from the demo, as the two page documentation is not very informative.
Version 2 is an auto-relocatable version, you supply the address and it moves itself. Version 3 will load and move itself above Ramtop. All three versions require 500 bytes overhead with the loader.
The program boasts a real-time clock however, it is a 99 hour clock and I would not find it of much use. The clock readout is in the 99:99:99:99 format and appears in the upper left corner of the screen. The clock requires its own string variable for communication with the user program.
There is also a trace function which shows the Basic line being executed in the upper right corner of the screen. I like the idea but found it to be of little value as presented.
Nova 1000 claims up to 400% speed increases over the normal TS Basic. The time savings are obtained by manipulation of the display file size and I could not verify them.
The last feature is an auto-repeat on the keyboard. This I liked and found to be the most useful. It really speeds up keyboard entry.
All of these functions are controlled by poking various values into the program (to set program variables) before calling Nova 1000. Nova is then called with a variety of RAND USR calls, depending on the function desired. Nova 1000 will require a new programming discipline. Briefly, you need to set variables to pass parameters to Nova, then make the RAND USR call with perhaps another parameter behind it. I think most beginning programmers will be baffled by Nova 1000. The reason is that the program listing will not be very clear, due to the many and varied USR calls needed to make Nova 1000 function.
Nova 1000 appears to be pseudo-multi-tasking. I have not had time to experiment enough yet so I cannot be sure what is happening. It appears that Nova is capable of running a Basic and a MC program concurrently, but not two Basic programs. Nova does therefore provide a multi-tasking environment, albeit limited.
My copy came from Weymil Corp. via RMG Enterprises. The last advertised price I saw was $20.00 and the ad was as informative as the documentation. However, better documentation, some good clear examples, and Nova 1000 could be a winner.