home *** CD-ROM | disk | FTP | other *** search
- Path: news.uh.edu!barrett
- From: c.j.coulson@newcastle.ac.uk (C. J. Coulson)
- Newsgroups: comp.sys.amiga.reviews
- Subject: REVIEW: HighSpeed Pascal compiler
- Followup-To: comp.sys.amiga.programmer
- Date: 15 Nov 1994 22:25:09 GMT
- Organization: The Amiga Online Review Column - ed. Daniel Barrett
- Lines: 378
- Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
- Distribution: world
- Message-ID: <3abcg5$6ne@masala.cc.uh.edu>
- Reply-To: c.j.coulson@newcastle.ac.uk (C. J. Coulson)
- NNTP-Posting-Host: karazm.math.uh.edu
- Keywords: programming, Pascal, commercial
- Originator: barrett@karazm.math.uh.edu
-
-
- PRODUCT NAME
-
- HighSpeed Pascal ("HSPascal")
-
- The bulk of this review is about version 1.10; however I have
- included some additional information about the new version 1.20 that was
- released in late September/early October 1994.
-
-
- BRIEF DESCRIPTION
-
- An Amiga Pascal compiler that is very nearly 100% compatible with
- Turbo Pascal 5.0.
-
-
- AUTHOR/COMPANY INFORMATION
-
- Name: HiSoft
- Address: The Old School
- Greenfield
- Bedford
- England
- MK45 5DE
-
- Telephone: +44 525 718181
- FAX: +44 525 713716
-
- E-mail: hisoft@cix.compulink.co.uk
-
-
- LIST PRICE
-
-
- Version 1.10 is currently being advertised for 49.95 UK Pounds, with
- the full price of V1.20 99.95 UK Pounds.
-
- Upgrades for registered users are available:
-
- From V1.00 to V1.20 - 14.95 UK Pounds + postage
- From V1.10 to V1.20 - 9.95 UK Pounds + postage
-
- Postage is currently 2.00 UKP within the UK, 4.00 UKP in Europe and
- 7.00 UKP anywhere else.
-
-
- SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
-
- HARDWARE
-
- 512K RAM required. I recommend 2MB RAM or more.
-
- I recommend a second floppy drive or a hard drive.
- Hard drive installation requires 1.5MB of hard drive space.
-
- SOFTWARE
-
- Workbench 1.3 or higher required.
-
-
- COPY PROTECTION
-
- None.
-
-
- MACHINE USED FOR TESTING
-
- Amiga 4000/030/882 - 25MHz
- 2MB Chip RAM, 4MB Fast RAM
- 124MB Seagate Hard Drive
- 405MB Samsung Hard Drive
- Microvitec 1438 Multisync Monitor
- AmigaDOS 3.0
-
-
- INSTALLATION
-
- V1.10 requires manual installation, which is best carried out by
- dragging the directories/files from the floppy to the required location on
- the hard drive. V1.20 includes an Installer script that makes life a lot
- easier. The installation requires about 1.5MB of hard drive space.
-
-
- REVIEW
-
- My first impressions of this package were good. Upon opening the
- box, I encountered two very nicely put together manuals and a HiSoft disk
- wallet containing the four disks: two for each version of the compiler.
- (V1.20 comes on two disks, containing all the 1.3 and 2.0+ files in
- archives.) There is no empty space inside the box, unlike a lot of other
- commercial utilities. When everything is put inside, the box feels quite
- heavy and well filled, which somehow gives you a feeling of getting value for
- your money. :-)
-
- Anyway, after a painless installation, I got my first view of the
- HiSoft editor. For Devpac3 users, the HighSpeed Pascal editor will be
- instantly familiar, as it is virtually identical, with only a few changes in
- the settings menus (after all it is a Pascal compiler, not a 68000 assembler
- :-)). The editor supplied with V1.20 is slightly different. Although is
- appears the same on the surface, most of the menus have been re-arranged,
- with some old options being either renamed or removed and replaced with new
- options. After a year of using V1.10, I am a little lost in the new editor
- layout, but it does have advantages over the old editor's and is totally
- AmigaDOS 3.0 compliant.
-
- For those who have never experienced a HiSoft editor before, here is
- a quick rundown on what to expect. The editor runs on the Workbench screen;
- so if you can, you should probably run Workbench in some high resolution
- mode, unless you like editing source code in medium resolution. The fonts
- used for the source code display and menus are user-definable, which is a
- good thing. There are several menus with quite a few options/sub-menus to
- deal with, and some of the menu choices lead to new windows containing cycle
- gadgets and string requesters for even more configuration options. As far
- as I know, even the 1.3 version of the compiler features 2.0+ style screen
- gadgets via hard coded gadget routines.
-
- V1.20 note: You no longer need to use the Workbench screen. It can
- use the Workbench screen, open its own screen in any screen mode your Amiga
- can generate, or even run on a public screen. To test this last feature,
- some of this review, like this paragraph, was written with HighSpeed Pascal
- running on the public screen opened by Powerpacker 3. Being able to open
- its own screen is also useful if, like me for instance, you like having a
- colourful Workbench but also want fast scrolling through your source code.
- No problem: just make HSPascal open its own 2 or 4 colour screen and you
- have the best of both worlds. I assume that it will even work on third
- party display boards that add their screen modes into the system mode list,
- though I can't test this for myself (would someone like to donate a 24-bit
- graphics card?).
-
- The editor is so good at its job that I use it all the time as a
- general text editor. OK, it's not as good as a dedicated text editor, but
- since these tend to cost just as much as the entire HSPascal package, I'll
- stick to using the HiSoft editor. Of course, if you prefer using another
- text editor to edit your source code, you can do so. You can then either
- load the source into the HiSoft editor and use the in-built compiler options
- to compile the code, or you can just use the CLI interface to the compiler,
- which is VERY similar to the DOS interface for PC Turbo Pascal.
-
- So, once you've got your source code on disk and ready to compile,
- how well does HighSpeed Pascal cope with that? "Very well" is the answer.
- HSPascal implements virtually all of the Turbo Pascal 5.0 functions, with
- only the scalable typeface support and some PC specific things missing, like
- the memory overlay management commands. Oh yes, the inline assembler uses
- 68000 code rather than 8086 code. :-)
-
- There are a few little compatibility problems that are related to the
- differences between the Amiga and the PC, mainly in the DOS unit. However,
- they are documented in the Technical Reference manual. Some other problems
- are not. For example, the standard PC DOS shell is a 25 line display. On an
- Amiga, the Shell display is any height you like. Thus a Pascal program
- written on the PC expecting a 25 line display may well cause a garbled
- display on the Amiga. Of course there are ways around this, like using the
- inbuilt function to test the size of the Shell display before writing to
- it. Note that most problems will occur when using Pascal code written for
- use on a PC, or if following Pascal tutorials from Turbo Pascal textbooks,
- all of which assume that Turbo Pascal is a PC only product (which,
- technically, it is). If you are not concerned with the portability of your
- code, you can happily ignore any differences between PC and Amiga and just
- get on with writing code.
-
- So, what about those programmers who would like to include, say,
- Intuition routines in their programs? Well, HighSpeed Pascal does not
- directly support Intuition nor any Amiga system functions other than those
- needed to emulate Turbo Pascal functions. Thus, whilst disk handling is
- fairly well done, graphics handling is primitive and audio support
- apparently non-existent. However, a full set of Includes are provided (for
- AmigaDOS 1.3 and 2.0 with HighSpeed V1.10, or for AmigaDOS 1.3 and 3.0 with
- HighSpeed V1.20) so anyone with knowledge of system programming could use
- HighSpeed Pascal to create system accessing programs. For anyone who wants
- to write programs like this but who does not know anything about programming
- the system directly, you really should steer clear of HighSpeed Pascal.
-
- What market is HighSpeed Pascal aimed at? It would seem that
- primarily it is intended for those programmers who need to write standard
- Turbo Pascal compatible code without going near a PC, and as a secondary
- function, by providing hooks into the operating system, it can be used by
- Amiga programmers who might otherwise choose to use C, Assembler, or any
- other language. Personally, I bought it when my Electronics Degree project
- became too much for PCQ Pascal to handle. For my needs, writing a 7000+ line
- piece of Turbo Pascal code, HighSpeed Pascal was the ideal compiler, allowing
- me to write code that I knew, with a little bit of care when writing the DOS
- related routines, would function identically on both my Amiga and the
- University PCs, and I didn't need to so much as look at a PC to write the
- code. In seven months of program development, I only used a PC during the
- last month as part of the final testing/debugging phase of the project.
-
- Supplied as part of the package is MonAm, the HiSoft debugger.
- Unfortunately, it is designed to be a 68000 debugger and as a result you will
- require some knowledge of 68000 assembler in order to get the most out of
- this utility. To aid debugging, programs can be compiled with debugging data
- embedded in the executable, which allows the debugger to display functions
- and procedures by name rather than by some arbitrary identifier.
- Additionally, you can display the 68000 code alongside the Pascal source and
- single step through the code. It must be stressed that MonAm is NOT a
- Pascal debugger, and as the manual states, "One thing to consider before
- groping around inside your program with MonAm is that many bugs can be
- discovered much more easily by simply looking at the source code."
-
-
- COMPILATION SPEEDS
-
- The following times show how long HighSpeed Pascal takes to compile
- various length pieces of code, when the source code is stored on hard drive
- and the executable file is written to the same hard drive. Note that V1.10
- and V1.20 are almost identical in compilation speed, with V1.20 being
- slightly slower (around a second or two) for long files. Of course, since
- V1.20 uses the AmigaDOS 3.0 includes and link library, which are larger than
- the 2.0 equivalents, the extra data handling required for these support
- files may be the cause of the speed differences.
-
- Program Length (KB/Lines) Compilation Time
-
- Minimal program less than 0.5 second
- 20KB/500 lines or less less than 3 seconds
- 160KB/7000 lines 9 seconds
-
- The "Minimal program" is the shortest possible (I think) Turbo Pascal
- program:
-
- PROGRAM x;
- BEGIN
- END.
-
- This test shows the time overheads incurred by the compiler and linker.
-
- In the third case, the program consisted of a skeleton main program
- with most of the code contained in 13 user defined units, along with one
- pre-defined unit. In total then, 15 disk files were used to compile this
- program; yet even with all the disk accessing required, compilation was
- still very fast indeed.
-
- The limited (!) number of results is due to two things. First, I
- don't have all that many Pascal programs available to test, and second, most
- of the programs I do have are so short that they compile in about 1 second.
- Unless you are writing a huge program or are compiling from floppy to
- floppy on a 0.5MB 7MHz 68000 Amiga, HighSpeed Pascal lives up to its name.
-
-
- DOCUMENTATION
-
- The 202-page User Manual (spiral bound) contains information about
- the use of the software. The 278-page Technical Reference (spiral bound)
- containing information about the inbuilt functions/procedures, and some
- information about general Turbo Pascal syntax. An on-disk README file
- contains the latest information about the specific software versions/disk
- contents, etc.
-
- The quality of the printed manuals is very good indeed, and unlike
- most companies producing Amiga compilers, HiSoft realise the best form of
- binding for a software manual is the spiral bound method. No more straining
- with one hand to keep the manual open at the page you want, whilst trying to
- type with your other hand. The contents and index sections are on the whole
- very well done, allowing you to find what you want very easily.
-
- The Technical Reference is NOT a Pascal programming guide. You will
- need to know at least how to program in Standard Pascal before using this
- compiler. What the reference DOES tell you is the syntax of every function
- and procedure provided either within HighSpeed Pascal itself, or in the
- supplied units (DOS, Graph etc.). It also describes the basic syntax of the
- Pascal constructs like REPEAT..UNTIL, CASE, IF..THEN..ELSE etc. and also the
- format of the various pre-defined variable types. In short, it describes
- all you need to know to write code using the HighSpeed Pascal extensions to
- the basic Pascal language. Of course, if you already have experience with
- TurboPascal 5.0 on the PC, you should be able to dive in and write code
- without much use of the Reference.
-
-
- LIKES
-
- It is a very well programmed utility that is, as far as I can see,
- completely Style Guide compliant. It works without complaint regardless of
- what commodities I have installed, and as far as the editing and compiling of
- source is concerned, it has shown itself to be VERY VERY stable. Of course,
- once you run a compiled program either from the Shell, the Workbench or from
- the Run option, HSPascal can do little if the program causes a system
- failure, but that is not a fault of HSPascal.
-
-
- DISLIKES AND SUGGESTIONS
-
- It is a pity that HiSoft did not extend the TurboPascal function set
- to add Amiga specific functions, such as the automatic creation of Intuition
- windows, menus etc., in the same way that BlitzBasic allows you to create
- Intuition interfaces with little effort. A missed chance by HiSoft I think.
-
- There is no on-line help available. Although the printed manuals are
- excellent, there are times when on-line aid is more useful. (CD-ROM owners
- see below).
-
-
- CD-ROM OWNERS READ THIS
-
- The following is copied from a letter I received from HiSoft.
-
- "The HiSoft Language CD-ROM will contain the latest versions of all
- three language packages; each system is supplied ready to run from the CD,
- with installation programs to install the individual programs onto your hard
- disk. Full on-line documentation for each package using AmigaGuide is also
- included." Note: 'all three language packages' refers to Devpac, Pascal and
- BASIC.
-
- No price or release dates are known at this time, but it is good to
- see HiSoft promoting the serious use of CD-ROMs on the Amiga.
-
-
- COMPARISON TO OTHER SIMILAR PRODUCTS
-
- As far as Amiga Pascal products go, the only other compiler I have
- used is PCQ Pascal, which was public domain and is now, I believe, shareware.
- Since PCQ supported only the Standard Pascal command set, and since it relied
- on using other PD products like A68K and Blink to create the final executable
- program, it cannot be fairly compared to a commercial TurboPascal compiler
- like HSPascal.
-
- Compared to TurboPascal 6.0 on the PC, HSPascal wins on looks, since
- Turbo 6 does not have a Windows interface. As far as compilation of code
- goes, both compilers seem to work as well as each other, although I think
- HSPascal is somewhat faster in compiling (subjective opinion only). As an
- Amiga user, I prefer using HSPascal, and only use TurboPascal if I have to be
- sure that my code will work on a PC, and even then I would only use it to
- test the code *after* I had written it using HSPascal.
-
-
- BUGS
-
- None that I know of.
-
-
- VENDOR SUPPORT
-
- I have not had to contact the vendor at all.
-
-
- WARRANTY
-
- A 30 day period from the date of purchase is provided free. If you
- require further support from HiSoft, you must pay for it. Two schemes exist:
- the Silver Support and Gold Support schemes. Silver Support costs 19.95 UK
- Pounds and is a one-off payment. This gives you access to technical help
- from HiSoft, and also provides access to reduced cost upgrades (see the List
- Price section). Gold Support costs 39.95 UK Pounds PER YEAR, but offers
- free incremental upgrades (i.e. from V1.1 to V1.2 would be free, but from
- V1.x to V2.x would not be). Both schemes cover all HiSoft products you may
- own without having to pay any extra. Thus someone with HSPascal, Devpac and
- Hisoft Basic could get support for all three by paying just once. If you
- have already registered another HiSoft product, HSPascal will be covered by
- that support registration, you only need return the registration card to
- activate the support.
-
-
- CONCLUSIONS
-
- If you require a fast and reliable Turbo Pascal 5 compatible compiler
- for your Amiga, this is the only choice. If you are just starting out with
- Pascal programming, you may prefer the simpler and cheaper PCQ Pascal option,
- and perhaps purchase HSPascal at a later date.
-
- Overall this is an excellent utility and is a worthy companion to
- the other great HiSoft products available. (I'm not connected to HiSoft by
- the way; I just happen to like their products.)
-
-
- COPYRIGHT NOTICE
-
- This is a freely distributable document. Use it however you like, as
- long as any alterations do not change the context of the review. Also, don't
- try to pass it off as your own work, because IT ISN'T!
-
- Chris
- email: c.j.coulson@ncl.ac.uk
-
- ---
-
- Daniel Barrett, Moderator, comp.sys.amiga.reviews
- Send reviews to: amiga-reviews-submissions@math.uh.edu
- Request information: amiga-reviews-requests@math.uh.edu
- Moderator mail: amiga-reviews@math.uh.edu
- Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews
-