home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* SCROBJ.PAS *)
- (* ScrObj schreibt direkt in den Bildschirmspeicher. *)
- (* Die Anfangsadresse des Bildschirmspeichers wird *)
- (* in Init festgelegt. Wer in einem erweiterten *)
- (* Textmodus (zB 80x43) arbeitet, muß die Parameter *)
- (* XL und YL an "Init" entsprechend übergeben. *)
- (* *)
- (* (c) 1991 Raimond Reichert & TOOLBOX *)
- (* ------------------------------------------------------ *)
- UNIT ScrObj;
-
- INTERFACE
-
- USES VSObj;
-
- VAR
- ScrType : BYTE ABSOLUTE $0040:$0049;
-
- TYPE
- ScreenObjPtr = ^ScreenObj;
- ScreenObj = OBJECT (VirtualScreen)
- CONSTRUCTOR Init(XL, YL : BYTE);
- DESTRUCTOR Done; VIRTUAL;
- END;
-
- IMPLEMENTATION
-
- CONSTRUCTOR ScreenObj.Init(XL, YL : BYTE);
- { Ist XL und/oder YL gleich 0, so wird die Standard- }
- { auflösung von 80x25 angenommen. Wird ein erweiter- }
- { ter Textmodus gebraucht, so die Parameter bitte }
- { angeben. Die Variable "VSMem" wird auf den Anfang des }
- { Bildschirmspeichers gerichtet, es wird KEIN }
- { Speicher belegt. }
- BEGIN
- IF (XL = 0) OR (YL = 0) THEN BEGIN
- XL := 80;
- YL := 25
- END;
- XLength := XL;
- YLength := YL;
- ReturnCode := VSOk;
- IF ScrType = 7 THEN VSMem := Ptr($B000, $0000)
- ELSE VSMem := Ptr($B800, $0000);
- END;
-
- DESTRUCTOR ScreenObj.Done;
- BEGIN
- END;
-
- END.
- (* ------------------------------------------------------ *)
- (* Ende von SCROBJ.PAS *)