Pascal 80
Programming: General · ZX-Spectrum 48K · 1 players
MIA Missing in action. This is known to have existed, and no copy has ever been found. If you own one, the archives would like to hear from you.
Discussion
Nobody has started a thread about this yet.
In the magazines 1
Crash #54Jul 1988 · p.70
Simon N Goodwin
(Simon N Goodwin owns the copyright to this review. Please visit http://simon.mooli.org.uk to find original articles and updates, much new material and his contact details.) THREE PASCAL COMPILERS Simon N Goodwin reports on three +3 Pascal Compilers the 007 Disassembler, returns to the topics of the Tech Tape, ZipZap, and Multiface RAM upgrades, and exposes yet more bugs! +3 owners have a wide choice of alternative programming languages, which I intend to survey in future columns. This month I compare three impressive implementations of the Pascal Language. Pascal was invented in 1970 by Niklaus Wirth, an outspoken Swiss professor. It is designed to be efficient and expressive, while forcing the programmer to think out a clear design before coding starts. This makes it popular with academics and methodical people. and hated by hackers who like to make things up as they go along. You can learn a lot by writing large programs in Pascal; it's more of a science and less of an art than, say, BASIC or C. I looked at two compilers from Spectrum stalwarts HiSoft - Pascal +3, which runs on a standard +3, and Pascal 80, which runs under +3 CP/M. The third package is ProPasCal. from Prospero Software, which runs on all Amstrad CP/M systems, including the latest Spectrum. These are powerful compilers, rather than the cut-down subsets that often appear on micros. They support PEEK, POKE, IN and OUT, CASE ELSE/OTHERWISE, 16-bit integers, 32-bit single precision floating-point, CHARs, BOOLEANs, VAR and value parameters, arrays, records (including variants), files (including random access), sets, hex constants, pointers, enumerated and sub-range types - plus all the standard Pascal commands and functions, of course. The table summarises the differences between the compilers. Both HiSoft packages have an integrated editor so you can swap back and forth quickly between compiling and editing. They also work much faster than ProPascal, mainly because the HiSoft compiler is a one-pass 20K program, whereas Prospero's compiler scans three times through the source, using a total of 102K of code in three programs, plus another 16K for the linker! You really need a second disk drive to run ProPascal, although I did manage to run tests, rather laboriously, using an unexpended +3. If you're planning a very big program. ProPascal might turn out to be almost as fast as the HiSoft compilers, because you can compile files in sections and need only recompile the parts you've changed, before linking old and new parts with the linker. Compilation controls are much the same for all three compilers: you can turn break, overflow and subscript checks on or off, control listings, and include other source files. Prospero have a couple of extra options - one rejects everything except strict standard Pascal, while the other tries to produce condensed code, trading speed for size and typically reducing file sizes by about 10%. The manuals were clear and comprehensive: the ProPascal one was easiest to read, while the HiSoft manuals were the best looking. The HiSoll compilers came with laser-printed loose-leaf A5 manuals in ring binders. The ProPascal manual was spiral bound and daisywheel printed on expensive paper - it included an index and tutorial, both notably absent from the HiSoft manuals. HiSoft make up for this, to some extent, with five and seven page contents lists, and suggest that you buy a separate tutorial if you're new to Pascal. All the +3 compilers can handle programs larger than the maximum size for one file. The first file you compile with HiSoft's compilers can 'get' text from other files. ProPascal goes even further, by allowing that file to call up text in another, and the other to call - upon a fourth file, if necessary. ProPascal includes commands to rename, append, erase and check filenames inside your program. You can't do this in Pascal +3, but Pascal SO includes a general purpose routine that lets you call CP/M functions from inside a Pascal program. All three let you 'chain' execution from one compiled program to another. There was little to choose between the speed and size of generated code - all the compilers did a good job of writing Z80 code. They were rather vague about errors, as Pascal compilers tend to be - sometimes they produced rather a lot of spurious error messages after one silly error in a file. HiSoft give you the option to swap back to the editor and fix the problem as soon as one error is found. TRADE-OFFS These are all good Pascal compilers, with inevitable trade-offs. Pascal +3 is best suited to the 4 3. but programs compiled with it won't run on other machines and the editor is rather clumsy, reminiscent of an old-fashioned BASIC editor. The same editor is used in the £25 cassette version of HiSoft Pascal, for earlier Spectrums. The tape compiler is similar to Pascal 3 but won't compile such large programs and lacks refinements like file handling and variant records. If you've got CP/M Plus you can use the much better ED80 editor supplied with Pascal 80 and other HiSoft CP/M languages, at £29.95 separately. ED80 is easy to configure and use, and does everything a good program editor should. It handles large files very quickly, although scrolling is rather slow and unformatted disks can make it crash. HiSoft also include three useful new CP/M utility commands that improve on PIP, ERASE and DIR. Pascal 80 programs are portable to other machines, notably MSX, Tatung Einstein, and Amstrad CPC and PCW systems, but you lose access to Spectrum graphics and sound. ProPascal is the most expensive compiler, at £57.50, but the most comprehensive. Formerly Amstrad ProPascal sold for £300, and it was used to write the entire ProPascal and ProFortran system. ProPascal implements the full ISO standard, without quirks, and has lots of well thought-out extensions - none digit 32-bit integers, 16 digit 'double precision' maths, strings with dynamic lengths up to 255 characters, and error trapping. The snags are the lack of an editor and the need for a second disk drive. The first problem is minor; any ASCII editor will do. The second may be more crucial. I'd be very interested to hear from anyone who's connected a standard 3.5 or 5-25 inch drive to the port on the back of the +3. TECH TABLE: SPECTRUM +3 PASCAL COMPILERS COMPARED Product Name: Pascal +3 Publisher: HiSoft (0525 718181) Operating System: +3 DOS Price: £34.95 Manual Size: 92 Compilation Speed (Line/Min): 1360 Min Compilation Time (Seconds): 4 Compiler Size: 22K Max Object Size (Code & Data): 40K Max Source File Size: 32K Max Identifier Length: 8 Max Set Size: 256 Other Goodies: Turtle graphics; PLOT & DRAW; BEEP; 51 column display; Inline code; Integrated editor; Disassembler Main Snags: Crude editor Product Name: Pascal 80 Publisher: HiSoft (0525 718181) Operating System: CP/M Price: £49.95 Manual Size: 111 Compilation Speed (Line/Min): 1250 Min Compilation Time (Seconds): 8 Compiler Size: 20K Max Object Size (Code & Data): 61K Max Source File Size: 52K Max Identifier Length: 8 Max Set Size: 256 Other Goodies: Full screen editor; CP/M utility commands; Inline code, Disassembler; Integrated editor; Generalised CP/M call Main Snags: Product Name: ProPascal Publisher: Prospero (01 741 8531) Operating System: CP/M Price: £57.50 Manual Size: 182 (A5 pages) Compilation Speed (Line/Min): 560 Min Compilation Time (Seconds): 40 Compiler Size: 102K Max Object Size (Code & Data): 61K Max Source File Size: Depends on your editor Max Identifier Length: 255 Max Set Size: 2039 Other Goodies: String operators; PROC & FN parameters; Error traps; 32-bit & 16 digit maths; ISO standard; Extra file commands; Linker, Xref & librarian utilities Main Snags: No editor supplied; Need drive B
Reviews from people here
Sign in to write about this, or make an account. It takes a minute and lets you correct the catalogue too.
No year, language, publisher, credit, description, tag recorded.
Sign in to correct or add to this.
Hold the rights to this and want it taken down?