Pascal/MT+ Misc. Documentation

Distribution disk files

The files @RNB.SRC and @WNB.SRC have been renamed to RNB.SRC and ATWNB.SRC because of CP/M naming restrictions.

APUSUB.MAC

This file contains the 9511 drivers used by TRAN9511 and is included for user convienence. This need not be assembled as it is already included in TRAN9511.ERL.

INDEXER

A utility program called INDEXER is included in source code form. See INDEXER.DOC for more information.

XREF

A cross-reference program is included in source and object form. See XREF.DOC for more information.

PROG.SRC, MOD1.SRC, MOD2.SRC

Overlay demonstration programs.

STRIP

Due to many user requests we have included a program which can be used to reduce the disk/memory requirements for compilcated overlay files. This program 'STRIP.SRC' is included in source code form and must be compiled. Its purpose is to remove unneeded entry point names from the name table at the end of an overlay file. The first three bytes of an overlay file are the overlay number and a pointer to the name table for the overlay. Entries in the name table are 10 bytes long with 8 bytes for the name and two bytes for the address. After the overlay manager insures that the overlay is in memory it then searches this table for the desired routine and branches to the address found in the name table.

The linker always includes all entry points to the overlay (including run-time routines) in this name table even if only one of the entry points is all that is needed. For example the .004 overlay in the compiler really requires only one entry point while there are about 100 public names in all of the modules which make up this overlay.

The proper operation of the STRIP program requires that the user have two pieces of data: 1) the loading address of the overlay (this is used to calculate the offset of the name table within the file) and 2) the names of all the essential entry points (i.e. those declared EXTERNAL[..] in some Pascal module).

The program is invoked as:

    STRIP<cr>

where <cr> means the RETURN key. It then prompts for file name and the user should enter the name of the overlay file (such as SPP.002) and then wait for the prompt 'base address' to which the user should respond with the hex address of the overlay area into which this overlay will load when it is executed (e.g. 1600 for SPP.002 as supplied). The program will then display each entry point name in the table followed by a question mark. If the name is to remain enter either <cr> or Y<cr>. If the name is to be deleted enter N or n followed by <cr>. When all entry points have been displayed and answered the program will display all of the entry points which have not been deleted and then ask 'Write it?' to which the user should respond 'YESDOIT' in all capital letters followed by <cr> if all is correct else respond with <cr> only if a mistake was made. If YESDOIT is entered the old file is deleted and the new file is written to the disk.

This can be helpful in many programs but particularly with SPP as the user can trim the name tables of the overlays so that the overlay code does not exceed the /D address while allowing the overlay area to be located higher in memory.