[Back to SCREEN SWAG index]  [Back to Main SWAG index]  [Original]

{

   Read the character visible on the screen


               ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
               º                                        º°
               º          AVONTURE CHRISTOPHE           º°
               º              AVC SOFTWARE              º°
               º     BOULEVARD EDMOND MACHTENS 157/53   º°
               º           B-1080 BRUXELLES             º°
               º              BELGIQUE                  º°
               º                                        º°
               ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ°
               °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

}


Procedure ReadCar (X, Y : Word; Var Attr : Byte; Var Carac : Char);

Var
   Car      : ^char;
   Attribut : ^Byte;
   AdressP  : Word Absolute $0040:$004E; { Address of the screen page }

Begin

   New (car);  { Allocate memory for the character }

   { Get the character from the screen video memory -for the active video
     page- }

   Car := Ptr($B800,(Y*160 + X Shl 1 + AdressP Shl 12));

   Carac := car^;

   New (attribut); { Allocate memory for the character color attribute }

   { Get the color attribute of the character -for the active video page- }

   Attribut := Ptr($B800,(Y*160 + X Shl 1 + 1 + AdressP Shl 12));

   Attr := attribut^;

End;

[Back to SCREEN SWAG index]  [Back to Main SWAG index]  [Original]