80-Bus News

  

May–June 1983 · Volume 2 · Issue 3

Page 56 of 59

Both compilers provide a way to include machine code routines in programs, and call them. This means that they both admit that carefully written machine code goes even faster than their standard run time routines, I suppose. There is no shame in that. Still, given the program speed that either compiler dives you, machine code routines are only rarely necessary, when you are using the computer to control some tricky peripheral, for example.

Both compilers have random number routines, but the Hisoft one is primitive, as it just returns the contents of the Z80 refresh resister, which often causes programs that use it to be far less random than the programmer wanted them to be. Compas has a function “random(i)” which returns an integer r in the range 0<-r<=i. This is very useful in game programming!

Another of the things Pascal could have done with is a little extension to the CASE statement, so that you could specify what was to happen if the controlling variable didn’t match any of the items in the CASE statement. Surprise! Compas has OTHERS, and Hisoft has ELSE. These mean the same as each other!–


CASE i OF
  1: WRITE('one');
  2: WRITE('two');
  OTHERS: WRITE('lots')
END;

CASE i OF
  1: WRITE('one');
  2: WRITE('two');
ELSE WRITE('lots')

Standard Pascal only knows about sequential files, Compas has random access files too. Hisoft have been promising to add theses but have not yet done it, or have forgotten to send me the new version!

In the event that you manage to write a program that is too big for your machine, what can you de? If you have Compas, you can chain programs, which is handy. You can do it with Hisoft programs as well, IF you know enough about using CP/M.

Selling your programs.

If you write it with Compass you are forced by the licence you have signed to pay Polydata a percentage of the money you get far your program. This is supposedly because the program will contain Polydata’s run time routines. In facts they would be of no use to the buyer on their own, with no way of knowing how to call them. People who sell software with conditions like this attached should be forced to say so in their advertising. Given the price of Compas, I think they ought to be happy with what they have, and not try to make even more money from the work of others. Hisoft do NOT demand money in this wav.

Conclusions.

The suitability or otherwise of either of the compilers for your Purposes will depend very much on what those purposes are. If you want to write large suites of business programs, and do it without having to write your own routines to do fancy screen handling, string handling and high precision calculations for you, then it will have to be Compas. You will also have all the bother of paying them again if you sell your work. If, on the other hands you want to learn Pascal, and write amazing games, fast control programs and generally stay close to “proper” Pascal, then go for Hisoft. Then, when you sell 100,000 copies of your game to all the Spectrum owners [yes, Hisoft Pascal 4 is available for the Spectrum, so you can write games/​etc for a huge market!] you can keep all the money, until the tax man finds out. My own preference? Frankly, it is the Hisoft product, and I am looking forward to the day they bring out Modula 2!

Page 56 of 59