home *** CD-ROM | disk | FTP | other *** search
- { Qwik21.inc - Complete Q screen utilities ver 2.1, 12-09-86 }
- { You MUST read MODIFICATIONS in QWIK21.DOC for any changes in this file! }
-
- type str80=string[80];
- var
- Vmode: byte absolute $0040:$0049;
- Page0seg,Qseg: integer;
- MaxPage: byte;
- CardWait,Qwait: boolean;
-
- Function EGAcheck: Boolean;
- begin
- Inline( $B4/$12/$BB/$10/$FF/$CD/$10/$80/$EF/$FF/$74/$02/$B7/$01/$88/$7E/$04 );
- end;
-
- procedure Qinit;
- begin
- if Vmode=7 then
- begin
- Page0seg:=$B000; CardWait:=false; MaxPage:=0
- end
- else
- begin
- Page0seg:=$B800; CardWait:=true;
- if (Vmode=0) or (Vmode=1) then MaxPage:=7 else MaxPage:=3
- end;
- if EGAcheck=true then
- begin
- MaxPage:=7; CardWait:=false
- end;
- Qseg:=Page0seg; Qwait:=CardWait
- end;
-
- { ----------------------------- QWRITES MODULE ------------------------------ }
- procedure QwriteLV (Row, Col: byte; Attr, Length: integer; VAR St);
- begin
- Inline( $8B/$4E/<LENGTH/$85/$C9/$7E/$18/$1E/$C5/$76/<ST/$FC/$AC/$88/$C4/$8B/$56
- /<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/$71/$00/$1F );
- end;
-
- procedure QwriteV (Row, Col: byte; Attr: integer; VAR St);
- begin
- Inline( $1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$0F/$8B/$56/<ROW/$8B/$7E
- /<COL/$4F/$D1/$E7/$8B/$5E/<ATTR/$E8/$45/$00/$1F );
- end;
-
- procedure Qwrite (Row, Col: byte; Attr: integer; St: Str80);
- begin
- Inline( $1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$12/$8B/$96
- />ROW/$8B/$BE/>COL/$4F/$D1/$E7/$8B/$9E/>ATTR/$E8/$11/$00/$1F );
- end;
-
- procedure QwritesDisp;
- begin
- Inline( $4A/$88/$E6/$31/$C0/$8E/$C0/$26/$A1/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88
- /$DC/$88/$F0/$8E/$46/$FC/$26/$80/$3E/>QWAIT/$00/$26/$8E/$06/>QSEG/$75/$32/$84
- /$FF/$78/$16/$41/$D1/$E9/$EB/$08/$AD/$88/$E7/$88/$DC/$AB/$88/$F8/$AB/$E2/$F5
- /$73/$6C/$AC/$AB/$EB/$68/$41/$89/$CA/$D1/$E9/$EB/$05/$AD/$AA/$47/$88/$E0/$AA
- /$47/$E2/$F7/$D1/$EA/$73/$54/$AC/$AA/$EB/$50/$BA/$DA/$03/$84/$FF/$78/$29/$88
- /$DC/$EB/$01/$AC/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/$F8/$80/$F9/$90/$78/$B7
- /$EB/$0B/$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/$F8/$AB/$FB/$E2/$DF/$EB/$22
- /$AC/$47/$88/$C7/$FA/$EC/$A8/$08/$74/$09/$88/$F8/$80/$F9/$80/$78/$A9/$EB/$0B
- /$D0/$D8/$72/$EE/$EC/$D0/$D8/$73/$FB/$88/$F8/$AA/$FB/$E2/$DE/$FB/$C3 );
- end;
-
- procedure QwriteC (Row, ColL, ColR: byte; Attr: integer; St: Str80);
- begin
- Inline( $1E/$8D/$B6/>ST/$8C/$D2/$8E/$DA/$FC/$AD/$31/$C9/$00/$C1/$74/$1A/$8B/$96
- />ROW/$8B/$BE/>COLL/$03/$BE/>COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$9E/>ATTR
- /$E8/$1E/$FF/$1F );
- end;
-
- procedure QwriteCV (Row, ColL, ColR: byte; Attr: integer; VAR St);
- begin
- Inline( $1E/$C5/$76/<ST/$FC/$AD/$31/$C9/$00/$C1/$74/$16/$8B/$56/<ROW/$8B/$7E
- /<COLL/$03/$7E/<COLR/$4F/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$E8/$EB/$FE
- /$1F );
- end;
-
- { ------------------------------ QFILLS MODULE ------------------------------ }
- procedure QfillC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer; Ch: char);
- begin
- Inline( $8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E
- /<COLS/$29/$CF/$81/$E7/$FE/$FF/$8B/$5E/<ATTR/$8A/$6E/<CH/$E8/$38/$00 );
- end;
-
- procedure Qfill (Row, Col, Rows, Cols: byte; Attr: integer; Ch: char);
- begin
- Inline( $8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$8B/$76/<ROWS/$8A/$4E/<COLS/$8B
- /$5E/<ATTR/$8A/$6E/<CH/$E8/$10/$00 );
- end;
-
- procedure QfillsDisp;
- begin
- Inline( $48/$31/$D2/$8E/$C2/$26/$8B/$16/$4A/$04/$F6/$E2/$D1/$E0/$01/$C7/$88/$E8
- /$30/$ED/$29/$CA/$D1/$E2/$52/$51/$85/$F6/$7E/$31/$85/$C9/$7E/$2D/$88/$DC/$FC
- /$3A/$2E/>QWAIT/$8E/$06/>QSEG/$75/$29/$84/$FF/$78/$0E/$89/$CA/$F2/$AB/$4E/$74
- /$15/$89/$D1/$03/$7E/$FA/$EB/$F4/$41/$89/$CA/$D1/$E9/$73/$02/$AA/$47/$AA/$47
- /$E2/$FA/$4E/$7E/$58/$89/$D1/$03/$7E/$FA/$EB/$EC/$BA/$DA/$03/$88/$C3/$84/$FF
- /$78/$27/$FA/$EC/$A8/$08/$74/$07/$88/$D8/$F2/$AB/$FB/$EB/$0F/$D0/$D8/$72/$F0
- /$EC/$D0/$D8/$73/$FB/$88/$D8/$AB/$FB/$E2/$E4/$4E/$74/$29/$8B/$4E/$F8/$03/$7E
- /$FA/$EB/$D9/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$88
- /$D8/$AA/$FB/$47/$E2/$EA/$4E/$74/$08/$8B/$4E/$F8/$03/$7E/$FA/$EB/$DF/$81/$C4
- /$04/$00/$C3 );
- end;
-
- procedure Qattr (Row, Col, Rows, Cols: byte; Attr: integer);
- begin
- Inline( $8B/$46/<ROW/$8B/$7E/<COL/$4F/$D1/$E7/$47/$8B/$76/<ROWS/$8A/$4E/<COLS
- /$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80/$E8/$26/$FF );
- end;
-
- procedure QattrC (Row, ColL, ColR, Rows, Cols: byte; Attr: integer);
- begin
- Inline( $8B/$46/<ROW/$8B/$7E/<COLL/$03/$7E/<COLR/$4F/$8B/$76/<ROWS/$8B/$4E
- /<COLS/$29/$CF/$81/$CF/$01/$00/$8B/$5E/<ATTR/$84/$FF/$78/$07/$88/$DD/$B7/$80
- /$E8/$F2/$FE );
- end;
- { --------------------------------------------------------------------------- }
-
- procedure QstoreToMem (Row, Col, Rows, Cols: byte; VAR Dest);
- begin
- Inline( $8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$63/$85/$C9/$7E/$5F/$31/$D2/$8E
- /$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C6/$03/$76/<COL/$4E
- /$D1/$E6/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$C4/$7E/<DEST/$3A/$2E/>QWAIT/$8E/$1E
- />QSEG/$75/$0C/$F2/$A5/$4B/$74/$29/$8B/$4E/$FA/$01/$D6/$EB/$F4/$BA/$DA/$03
- /$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$AD/$FB/$AB/$E2
- /$EC/$4B/$74/$08/$8B/$4E/$FA/$03/$76/$FC/$EB/$E1/$1F/$81/$C4/$04/$00 );
- end;
-
- procedure QstoreToScr (Row, Col, Rows, Cols: byte; VAR Source);
- begin
- Inline( $8B/$5E/<ROWS/$8B/$4E/<COLS/$85/$DB/$7E/$68/$85/$C9/$7E/$64/$31/$D2/$8E
- /$C2/$26/$8A/$16/$4A/$04/$8B/$46/<ROW/$48/$F6/$E2/$89/$C7/$03/$7E/<COL/$4F
- /$D1/$E7/$29/$CA/$D1/$E2/$52/$51/$1E/$FC/$3A/$2E/>QWAIT/$8E/$06/>QSEG/$C5/$76
- /<SOURCE/$75/$0C/$F2/$A5/$4B/$74/$2E/$8B/$4E/$FA/$01/$D7/$EB/$F4/$BA/$DA/$03
- /$AD/$88/$C7/$FA/$EC/$A8/$08/$75/$09/$D0/$D8/$72/$F7/$EC/$D0/$D8/$73/$FB/$88
- /$F8/$AB/$FB/$E2/$E8/$FE/$CB/$74/$08/$8B/$4E/$FA/$03/$7E/$FC/$EB/$DC/$1F/$81
- /$C4/$04/$00 );
- end;
-
- procedure QviewPage (Page: byte);
- begin
- Inline( $8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$08/$84/$C0/$78/$04/$B4/$05/$CD
- /$10);
- end;
-
- procedure QwritePage (Page: byte);
- begin
- Inline( $8B/$46/<PAGE/$38/$06/>MAXPAGE/$78/$18/$84/$C0/$78/$14/$31/$C9/$8E/$C1
- /$26/$F7/$26/$4C/$04/$B1/$04/$D3/$E8/$03/$06/>PAGE0SEG/$A3/>QSEG );
- end;
-
- procedure GotoRC (Row, Col: Byte);
- begin
- Inline( $B4/$02/$31/$DB/$8E/$C3/$26/$8A/$3E/$62/$04/$8A/$76/<ROW/$FE/$CE/$8A
- /$56/<COL/$FE/$CA/$CD/$10 );
- end;
-
- procedure CursorChange (New: integer; VAR Old: integer);
- begin
- Inline( $31/$C0/$8E/$C0/$26/$A1/$60/$04/$C4/$7E/<OLD/$AB/$B4/$01/$8B/$4E/<NEW
- /$CD/$10 );
- end;