home *** CD-ROM | disk | FTP | other *** search
- Program SamplePatch;
-
- {
- This program demonstrates how to use the program
- PATCH.COM to enable a Turbo Pascal program to
- access the CP/M command tail.
-
- Background: the Z80 versions of Turbo Pascal trash all
- but the first 32 bytes of the CP/M command tail in a
- .COM file. Eliot Moss wrote PATCH.PAS to move the
- command tail to high memory; his program will repair
- any .COM file generated with Turbo version 2.0. (The
- 8088 versions do not share this problem since MS-DOS
- implements the command tail differently. Also, the
- addresses are different in Z80 version 1.0.)
-
- Usage: write your .PAS source file the way you normally
- would. Add the following lines:
-
- In the 'type' section:
- PatchString = string[127];
-
- In the 'var' section:
- CmdPtr : ^PatchString absolute $DB;
- CmdTail : string[127];
-
- As the very first line of your main program:
- CmdTail := CmdPtr^;
-
- Assume your program source is FOO.PAS. Compile your
- program into FOO.COM. Exit from Turbo and type:
- PATCH FOO
-
- To use your file, type: FOO these are the args to foo
-
- Written by : Ferd S. Brundick
- Date written : 20 Jan 85
- }
-
- type
- PatchString = string[127];
-
- var
- CmdPtr : ^PatchString absolute $DB;
- CmdTail : string[127];
-
- begin { program SamplePatch }
-
- { copy CP/M command tail to a safe location }
- CmdTail := CmdPtr^;
-
- { display command tail to show that it is intact }
- writeln('Your command tail was:');
- writeln('|', CmdTail, '|')
-
- end. { program SamplePatch }
-