home *** CD-ROM | disk | FTP | other *** search
-
- IPCA.EXE
- ********
-
- (Ver 1.2a - 19 Apr 91)
-
- Copyright (c) and developed by
-
- José Campione
- 2415 SouthVale Cr. U-25, Ottawa, Ont. K1B 4T9 (613) 523-4345.
-
- and
-
- C. Robert Parkinson
- 5 Ramsgate, Ottawa, Ont. K1V 8M4, (613) 523-7299.
-
-
- ... from the PUB SQUAD ...
-
- * * *
-
- NOTICE
- ======
-
- This program and every file distributed with it are copyright (c)
- by the authors who retain authorship both of the pre-compiled and
- compiled codes. Their use and distribution is unrestricted as long
- as nobody gets any richer in the process. Although these programs
- were developed to the best of the authors abilities, no guarantee
- can be made on the results of their performance. By using them the
- user accepts all risks and the authors decline all liabilities.
-
-
- INTRODUCTION
- ============
-
- DOS has an interesting memory location area with the pompous name
- of "Inter-Process Communication Area" (IPCA), also sometimes referred
- to as the "Inter-Application Communications Area". This area is
- actually the last 16 bytes of the 256-byte BIOS Data Area, also known
- as the BIOS Communication Area. The BIOS Data Area is found starting
- at memory address 0000:0400 and extending to 0000:04FF. Therefore,
- the IPCA consists of 16 consecutive bytes, located at RAM memory
- address 0000:04F0h through 0000:04FFh.
-
- The IPCA is very seldom used by any program, but it can be used
- to store and retrieve small items of information, allowing
- communication between programs or processes across program, shell and
- subdirectory boundaries. Thus, the IPCA can readily be used as a
- "mini-environment" and IPCA.EXE will act as a "mini-SET command".
-
- It can be used to set 8-byte flags (128 bits). It allows for
- 256^16 combinations of bytes.
-
- IPCA.EXE defines this area as an array of bytes and allows its
- use through strings entered on the command line.
-
- Depending on the commands, use of the area is accessed as a
- string of characters or an array of bytes. When accessing it through
- the string commands, the area has room for 15 characters. When it is
- accessed by the byte commands, the entire 16-byte area is accessible.
-
- Caution must be taken in using this area, as there is no
- guarantee that an intermediate program will not overwrite the area
- before the desired "target" recipient can retrieve the information.
-
- To view the entire BIOS Data Area, including the IPCA, you may
- use the program BIOSDATA.EXE, from PC Magazine Vol 9 #22 (25 Dec 90).
- The IPCA will be the last displayed line on the screen.
-
- More information on this area can be found in "Turbo Pascal
- Advanced Techniques", by Chris Olsen and Gary Stoker (QUE Corp 1989).
-
-
- SYNTAX
- ======
-
- The following commands are permitted in IPCA.EXE:
-
- General Commands:
- -----------------
- IPCA 0 .............. clears the entire IPCA area.
-
- IPCA w .............. writes the entire IPCA contents to the screen.
-
-
- String Commands:
- ----------------
- IPCA e qwerty ....... enters string "qwerty", starting in position 1.
-
- IPCA a asdfgh ....... adds "asdfgh", starting with the next available
- byte space (immediately after "qwerty" if the
- previous command has been run first).
-
- IPCA c tyasd ........ checks to see if the string "tyasd" exists in
- the IPCA (it would succeed it the previous two
- commands had been entered first, because the
- IPCA string would be: "qwertyasdfgh" with
- "tyasd" starting at position 5).
- If it succeeds EL = 0, if not EL = 1.
-
- IPCA r tyasd ........ same as above, but will report "yes!" or "no!".
-
-
- Byte Commands:
- --------------
- IPCA s 10 234 ....... sets byte 10 in the IPCA to the value 234.
-
- IPCA t 10 234 ....... tests to see if byte 10 in the IPCA has value
- 234; if yes, it exits with EL = 0, if not,
- then EL = 1.
-
- IPCA u 10 234 ....... same as above but will report "yes!" or "no!".
-
- IPCA b 10 ........... exits with EL set to the ASCII value of byte
- 10.
-
-
- NOTE: The byte commands allow access to byte 1, which determines the
- ---- used and available area for strings. Also, the setting of
- bytes does not automatically modify byte 1 in the IPCA. This may
- create confusion when mixing string and byte commands. It can be
- done, but care is required.
-
- First parameters are case insensitive, but the strings in the
- second parameter, as well as the searches, are case sensitive.
-
- When reporting to the screen, null bytes are written as underline
- characters and ASCII 7 is written as a period. But the stored byte
- values are the real ones.
-
-
- ERROR MESSAGES
- ==============
-
- The following error messages will be written on-screen, as
- necessary:
-
- 1 - Two parameters required in command line.
-
- 2 - 1st parameter longer than one character.
-
- 3 - 2nd parameter longer than 15 characters.
-
- 4 - 1st parameter not an acceptable "AECRSTUW" value.
-
- 5 - 2nd parameter too long to fit in IPCA.
-
- 6 - 2nd parameter must be in ASCII [1..16] range.
-
- 7 - 3rd parameter is not in ASCII [0..255] range.
-
- EXIT ERRORLEVELS
- ================
-
- If there is an error, the program exits with EL = 255. If no
- error, EL = 0, except for parameters c,r,t and u. If the conditions
- tested by these parameters are not met, the program exits with
- EL = 1.
-