home *** CD-ROM | disk | FTP | other *** search
- (*------------------------------------------------------------*)
- (* OPENWORK.PAS *)
- (* Demonstration, wie mit den BDOS- und BIOS-Funktionen fuer *)
- (* das JRT-Pascal die Funktion Open-Workstation des GSX aus- *)
- (* gefuehrt werden kann. *)
-
- Extern
- CONST
- $ImpFile(B:GSXP.LIB) (* Damit oeffnet mein Source-Linker *)
- (* meine GSX-Lib. *)
- $Import(CONST) (* Holt die GSX-Konstanten. *)
-
- TYPE
- $Import(Types) (* Holt die GSX-Typdeklarationen *)
-
- VAR
- $Import(Variables) (* Holt die GSX-Variablen *)
-
-
-
- PROCEDURE OpenWork(Device : INTEGER);
-
- TYPE Register = RECORD
- CASE INTEGER OF
- 1 : (Flag,A,C,B,E,D,L,H : CHAR);
- 2 : (AF,BC,DE,HL : INTEGER);
- END;
-
- VAR PB : ARRAY[1..5] OF INTEGER;
- BDOSReg, ResReg : Register;
-
- BEGIN
- Contrl[1] := 1; Contrl[2] := 0; Contrl[4] := 10;
- (* ... Hier kommen die Wertzuweisungen an die Felder ... *)
- (* ... Statt VDI_Call folgende Anweisungen einfuegen ... *)
- PB[1] := Addr(Contrl);
- PB[2] := Addr(IntIn);
- PB[3] := Addr(PtsIn);
- PB[4] := Addr(IntOut);
- PB[5] := Addr(PtsOut);
- BDOSReg.C := Chr(115);
- BDOSReg.DE := Addr(PB);
- VDIError := Contrl[3] <> 6;
- (* Normalerweise VDIError := Contrl[3] <> 0 *)
- (* Hier kommt dann der Quelltext der IntOut-Auswertung *)
- END;
-
- (*------------------------------------------------------------*)
- (* Ende OPENWORK.PAS *)
-