Hisoft Pascal

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search

A Pascal compiler from Hisoft. Two versions of this Pascal were made. Original version Hisoft Pascal 4T, (Tape) aka Hisoft Pascal (Disc) or Hisoft Pascal 4D was distributed through AMSOFT. It was designed to compile executable code through Locomotive BASIC RUN"<filname>" statement. Programs produced seem to be of a good size, though files are large due to a Runtime Library (approx 5 or 6Kb) which needs to be included with the binary program in order for the program to function. Other languages such as Borland's "Turbo Pascal" also shared the same thing, where a large library gets placed into generated COM files.

Hisoft Pascal 80 was later released through Hisoft on Disc and operated though CP/M, though program files could be converted to run in Hisoft Pascal 4T. Hisoft Pascal 80 was written for the purpose of producing CP/M 2.2 programs and CP/M Plus programs as well as allow support to GSX.


HiSoft Pascal was reviewed in Amstrad Computer User ACU Issue 2, 1984, page 48. That article relates to some of the benefits gained from using Pascal Compiler and presents examples in Pascal and BASIC along with their execution times, to show how Compilers benefit over Interpreted.

A review of Hisoft Pascal was also done in Amstrad Computer User ACU Issue 11, 1985, page 21-23, by Simon Williams.

Other Material

An article to Starting Pascal was published in ACU Issue 8, 1985, pages 29-31, which included one seemly long program by David Robinson with a few Firmware Procedures to assist along with the program, though after compiling it, haven't been able to determine it's function. Turns out this program is the Hisoft Pascal 4t version of the 3D Surface Plotter, published in the October-November 1984 issue of CPC 464 User. There is a bug in this program, which causes the compiled program to Reset the Computer, but was able to resolve this by adding line:

6170        detail:=detail*10;

Likewise the BASIC Surface Details program isn't functioning correctly, so perhaps the Pascal code could be of some aid for that program.

Interesting Facts

  • Hisoft Pascal 4T has a number of commands and shares a similar interface to Hisoft Devpac, and Source Files saved in this compiler also appear to share the same format as those saved in Hisoft Devpac making them a pain to read in other programs/word processors/type based commands. The advantage to having source files produced this way, allows coders to save memory as they are tokenised, thus allowing larger programs, just as Locomotive BASIC files are tokenised.
  • Unlike Locomotive BASIC which uses "" (Shift+2) for passing strings, Hisoft Pascal 4T uses '' (Shift+7) for passing strings, especially useful is also the support for RSX commands from the Command Line in Hisoft Pascal 4T, so AMSDOS commands can be used and unlike Locomotive BASIC, a 464 doesn't need to pass strings through a variable, so a command like |era,'file.bak' will work.