home *** CD-ROM | disk | FTP | other *** search
-
- HighSpeed Pascal 1.10
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- 26th May 1992
- ¯¯¯¯¯¯¯¯¯¯¯¯¯
-
- Welcome to HighSpeed Pascal. This file is intended to
- supplement the manual, giving you the latest details on
- your version of HighSpeed Pascal.
-
- We regret that we are no longer able to supply the Amiga
- speech libraries with our products. If you have either
- Workbench 1.3 or 2.0 and wish to use these facilities, you
- must transfer the narrator.device, translator.library and
- speak-handler files from your original Workbench disks.
-
- A complete set of Pascal 'units' for programming Release 2
- of the operating system are now supplied on a fourth disk.
- Installation details plus important information concerning
- both these and the 1.3 units can be found in the Units Disk
- ReadMe file.
-
-
- Installation
- ¯¯¯¯¯¯¯¯¯¯¯¯
- When using Workbench to back up your disks, rename each one
- afterwards to remove the words 'copy of '. Please note
- that Program Disk 2.0 is a FastFileSystem disk and is
- unreadable from Workbench 1.3.
-
- For memory reasons, both Program Disks are configured to
- use the Workbench 1.3 units by default. Details of how to
- switch over to the new 2.0 units is in the Units Disk
- ReadMe file. Units Disk 2 is only required if you use
- these units.
-
- Since Pascal.lib is located on the Units Disk, you may see
- a 'volume not mounted' requester the first time you compile
- or run a program (such as the Quick Tutorial in the
- manual). Simply insert the requested disk in any drive to
- continue. Hard disk users should follow the installation
- procedure given in the manual.
-
- You may wish to update the Default Tools of icons in
- Prefs/Env-Archive (using Info from Workbench) to include
- the correct volume names for your system.
-
-
- Updating 1.00
- ¯¯¯¯¯¯¯¯¯¯¯¯¯
- If you are upgrading from version 1.00, it is simplest to
- just re-install the package. For floppy disk users this is
- a matter of copying your source files from the old disks to
- a backup of the 1.10 disks.
-
- Hard disk users are advised to rename their old HSPascal
- drawer before installing the new version. Source files,
- preferences etc. can then be moved from the old drawer into
- the new one. It is often convenient to keep such files in
- a separate 'Programs' drawer.
-
- Finally, only delete the old HighSpeed Pascal drawer once
- you are certain that all useful files have been transferred
- (possibly allowing several days to avoid unnecessary
- grief!).
-
-
- Floating Point Support
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Any Pascal program including floating point calculations
- will automatically take advantage of a 68881/2 maths
- coprocessor if present.
-
- The Real type now defaults to Extended precision for
- maximum speed and accuracy, although this can be changed if
- required. Extended now uses 12 bytes and IS compatible
- with the 68881/2 format (contrary to page 10 and 260-261 of
- the Technical Reference Manual).
-
-
- Miscellaneous
- ¯¯¯¯¯¯¯¯¯¯¯¯¯
- Range and Stack Checking also give automatic Ctrl-E break
- checking which may be used to stop a runaway program. This
- facility can be controlled from the program via the boolean
- System variable, BreakOn.
-
- Although not mentioned in the manual, the inline assembler
- accepts the syntax <recordtype>.<fieldname> which gives the
- byte offset to any field within a record. This permits
- symbolic names to be used instead of constant values, e.g:
-
- move.w tRectangle.MinX(a0),d0
-
- The XASSEMBLER keyword may be used instead of ASSEMBLER to
- suppress the LINK and UNLK A6 instructions which are
- normally generated. However, such routines cannot refer to
- parameters by name or @result although it can use constant
- offsets into the stack instead. For this reason XASSEMBLER
- is not recommended except for short or parameterless
- procedures.
-
- Hexadecimal constants now behave the same as decimal
- constants to be compatible with Turbo Pascal. Previously,
- $8000 would be sign extended to $FFFF8000.
-
- The CRT unit now contains the TextCursor procedure which
- takes a single boolean value and enables or disables the
- output window cursor. Note that this and other effects can
- be achieved by writing ANSI-style escape sequences.
-
- Printer output is done through the 'lst' file, available
- when you 'use' the Printer unit. WriteLn(lst, 'Hello'),
- for example, will write to the printer instead of the
- screen. Note that only standard Amiga escape sequences
- should be used to control printing and not your printer's
- own escape codes. For a printout of all program output,
- try using the method described below under CLI vs Workbench.
-
- The System unit variable ThisTask points to the program's
- Process structure and may be cast to a pTask or pProcess as
- required.
-
-
- Editor
- ¯¯¯¯¯¯
- When starting HSPascal from a CLI, an empty window is now
- created for any named file which is not found. The
- Workbench 2 version also recognises AmigaDOS patterns such
- as "#?.pas" which would open all the files ending in ".pas".
-
- There are now two Open commands on the Project menu, 'Open'
- (Amiga-L) and 'Open New' (Amiga-O) which is equivalent to
- the Open command described on page 50 of the User Manual.
- The 'Close' command (Amiga-K) has moved to the Window menu
- and now only closes the current window. Some other Window
- menu commands now have shortened names.
-
- 'Open' is useful when you wish to open a file without
- having it create an extra window like Open New does.
- Instead, Open replaces the current project with the
- selected file, prompting first if the project has been
- modified.
-
-
- A number of new settings have been added. A flashing
- cursor is optional and the Shift-Backspace command (delete
- to start of line) may be disabled.
-
- 'Save Before Run' will automatically save any modified
- projects when you select Run or Debug. This safeguards you
- in case your program crashes and ensures that the correct
- source files are used for debugging. Selecting 'Warn'
- produces a requester before saving whilst 'Always' saves
- all changes without prompting.
-
- 'Program Window' lets you choose if a window is produced
- when you Run or Debug and whether it waits for a keypress
- before closing. With Workbench 2 the window only appears
- if used and is closed by Ctrl-\.
-
- Two settings are only accessible by manually editing
- settings files: the clipboard unit number (CLIP=<n>) and
- the program window size (OUTPUTWIN=<x>,<y>,<w>,<h>).
-
-
- Page 41 of the User Manual shows the split and join line
- keyboard shortcuts the wrong way round. The end of the
- first paragraph on page 49 should say LEFT Amiga key.
- Additional keyboard shortcuts to pages 63-65 are:
-
- Right Amiga-I Paste File
- Right Amiga-K Close Window
- Right Amiga-L Open (see above)
- Ctrl-K Delete to End of Line
- Shift-Alt-cursor key Scroll window
-
- Use Esc to close the Find requester if you wish to retain
- its contents. To enter Find text without an automatic Find
- Next, hold down Ctrl, Shift or Alt when pressing Return
- (this also works with other editor text gadgets).
-
- The cursor line and column numbers appear in the About
- requester (accessed via the Help key).
-
-
- File Requesters
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Although the ARP file requester used by the 1.3 editor has
- an internal limit of 32 characters for directory names, it
- is possible to overcome this with HSPascal. To specify a
- long pathname such as "HardDisk:HSPascal/programs/graphics/
- drawing.pas" for example, you can select "HardDisk:
- HSPascal/programs" as the Drawer and then type "graphics/
- drawing.pas" into the File gadget.
-
- Some users may wish to use a program which replaces
- standard requesters with its own, such as the public domain
- ReqTools library.
-
- Pascal units for programming both ARP and ReqTools can be
- found in the Extras drawer of the Units Disk along with the
- FileRequest.pas example program. This example also
- requires the ASL unit included on Units Disk 2.
-
-
- CLI vs Workbench
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Unfortunately, page 278 of the Technical Reference Manual
- was included in error. The correct information is as
- follows:
-
- Programs compiled with HighSpeed Pascal can be used from
- both command line and Workbench environments. From a CLI
- or Shell, the current window is used for text input and
- output unless redirected with < or >. To redirect output
- to the printer, for example, use "progname >PRT:". This
- can also be used with Execute on the Program menu if you
- first compile your program to disk.
-
- Command line arguments are accessed via the DOS unit's
- ParamCount and ParamStr functions. CmdLinePtr.Len and
- CmdLinePtr.Ptr in System unit refer to the original program
- command line.
-
-
- When a program is run from Workbench by double-clicking its
- icon, all selected icons are passed as arguments.
- ParamCount gives the number of these whilst ParamStr
- returns their full pathnames. You may use the Icon unit to
- access the icons and attached tooltypes if required.
-
- An output window is opened automatically using the C string
- pointed to by WBWindowName in the System unit. The
- WBenchMsg pointer, which is NIL when run from a CLI, points
- to the WBStartup message (defined in the Workbench unit).
- WBExitDelay is the number of milliseconds before the output
- window disappears after the program has finished. It
- defaults to 2000, i.e. 2 seconds.
-
-
- Debugging
- ¯¯¯¯¯¯¯¯¯
- For Line Number Debugging to function, the program or unit
- name present in the source MUST match the actual file name.
- For example, the source file "example1.pas" should start
- with "program example1". For this reason, spaces in file
- names are not recommended.
-
- To activate a MonAm window, press Right Amiga and the
- window number. This will adjust the display to reveal the
- window if it is currently hidden, then activate it.
-
- Note that MonAm is not 'pure' for use with the AmigaDOS
- RESIDENT command.
-
-
- If you have any comments, suggestions or problems with this
- or any HiSoft product, please contact us at:
-
- HiSoft
- The Old School
- Greenfield
- Bedford
- MK45 5DE
- U.K.
-
- Tel: +44 (0)525 718181
- Fax: +44 (0)525 713716
-