******************************************************************* * * * * * PASCAL/Z HOT NEWS * * * * * ******************************************************************* This is a collection of items which are in no particular order but concern changes, additions and clarification of Pascal/Z. 1) New features introduced in Pascal/Z version 4.0 A PASCAL/Z SYMBOLIC DEBUGGER -- Version 4.0 includes our new interactive symbolic debugger for isolating and correcting faults in Pascal/Z programs. See the SWAT (SoftWare Analysis Tool) Reference Manual for information on using the debugger. (Note that the debugger will work only with versions of CP/M which support Random Access, i.e. version 2.0 or later.) OVERLAYS -- enables the user to run programs which would normally not fit in available memory, by swapping sections of code into an allocated overlay area. ( See pages 79-84 of the Pascal/Z Implementation Manual.) 48K PASCAL/Z COMPILER -- has been converted to an overlaying compiler. This has resulted in symbol and type tables almost equal in size to the 54k version of the compiler. ( See pages 34-35 of the manual for details.) 2) Modified LIB.REL modules -- The following library modules have been modified since version 3.3: BYTOT.SRC CMPCHK.SRC DYNALL.SRC ENTEXT.SRC EOFLN.SRC ERROR.SRC INPT.SRC OUTPT.SRC RENERA.SRC New LIB.REL modules are the following: L0.SRC OVERLAY.SRC Also, changes have been made to: MAIN.SRC EMAIN.SRC and FIXED.PAS of the fixed pt. package 3) NOTE - In order to avoid assembler errors when using the FIXED POINT PACKAGE during separate compilation, the procedure names DIVD and MULT in FIXED.PAS have been be changed to $DIVD and $MULT so as to not conflict with the DIVD and MULT macros in MAIN.SRC and EMAIN.SRC. Similarly, all user declared procedure and function names in separately compiled programs should not conflict with macro names. 4) NOTE - It is possible to generate the linker error: 'ENTRY POINT SYMBOL REDEFINED' during separate compilation if an enumeration type in a separate module is assigned the same label by the compiler as a procedure or function in another module. This message is harmless but annoying. This condition can occur when separate modules are compiled with the four letter extension - pascal myprog.aaaa where myprog is a separate module. If the compiler, the separate module to be compiled, and the .SYM and .TYP files are on the same drive, then the forth letter ( specifying the drive for the .SYM and .TYP files ) is not necessary, and the problem will be avoided. 5) The assembler (ASMBLE/Z) and linker/loader (LINK/Z) now accept up to eight significant characters. 6) There is no longer any need to change the names of the .COM files when switching between the 48K and 54K versions of the compiler. To invoke the 48K version, you now type A>PASCAL48 which automatically chains to PAS248 To invoke the 54K version, you now type A>PASCAL54 which automatically chains to PAS254 7) In order for symbolic I/O of global enumeration types to work properly in separately compiled modules, the enumeration type must be declared as an explicit TYPE, e.g. TYPE color = ( red, blue, yellow ); VAR clr : color; rather than VAR clr : (red, blue, yellow ); 8) If the assembler is given "y" as the listing drive, it will output the listing file to the printer, as does the compiler. 9) If you owned an earlier version of Pascal/Z, remember to reassemble and relink any external routines, since the assembler and linker now accept up to eight significant characters. If you receive the message "Unresolved EXTERNAL", this is the most likely cause. 10) If when using overlays you get an "Entry point redefined" message for the FLTIN module, ignore it. This module occurs twice in the library and this is usually accounted for, except when using overlays.