[Back to DOS SWAG index] [Back to Main SWAG index] [Original]
{
GUY MCLOUGHLIN
 Program to load data into 16 Byte area of RAM known as
 the Dos "Inter-Process Communication Area".
}
Program Load_Dos_IPCA;
Type
  arby16 = Array[1..16] of Byte;
{ "Absolute" Array Variable used to access the Dos IPCA. }
Var
  IPCA  : arby16 Absolute $0000:$04F0;
  Index : Byte;
begin
{ Write data to the Dos IPCA. }
  For Index := 1 to 16 do
    IPCA[Index] := (100 + Index)
end.
{ Program to read data from 16 Byte area of RAM known  }
{ as the Dos "Inter-Process Communication Area". }
Program Read_Dos_IPCA;
Type
  arby16 = Array[1..16] of Byte;
{ "Absolute" Array Variable used to access the Dos IPCA. }
Var
  IPCA  : arby16 Absolute $0000:$04F0;
  Index : Byte;
begin
  Writeln;
  { Display the current data found in the Dos IPCA. }
  For Index := 1 to 16 do
    Write(IPCA[Index] : 4);
  Writeln
end.
{
  NOTE:
  if you plan on using this in any of your serious applications, I would
  recommend using the last 2 Bytes of the IPCA as a CRC-16 error-check. As
  you have no guarantee that another Program won't use the IPCA too.
}
[Back to DOS SWAG index] [Back to Main SWAG index] [Original]