home *** CD-ROM | disk | FTP | other *** search
- var
- GDTYPE: Integer;
- GDOTHER: Integer;
- GDMEMORY: Integer;
- GDMAXCOL: Integer;
- GDMAXROW: Integer;
- GDMAXPAL: Integer;
- GDMAXCLR: Integer;
-
- GDCOLOR: Integer;
- GDMERGE: Integer;
- GDSTYLE: ^Byte;
- GDSHADE: ^Byte;
- GDSHADE1: array [0..65] of byte;
- GDASPC1: Integer;
- GDASPC2: Integer;
- GDCUR_X: Integer;
- GDCUR_Y: Integer;
-
- GDGSEG: Integer;
- GDGSADR: Integer;
-
- GDWD_X1: Integer;
- GDWD_X2: Integer;
- GDWD_X3: Integer;
- GDWD_Y1: Integer;
- GDWD_Y2: Integer;
- GDWD_Y3: Integer;
- GDVW_X1: Integer;
- GDVW_X2: Integer;
- GDVW_X3: Integer;
- GDVW_Y1: Integer;
- GDVW_Y2: Integer;
- GDVW_Y3: Integer;
-
- GDC_FLG: Integer;
- GDS_FLG: Integer;
- GDW_FLG: Boolean;
-
- GDCURX1: Integer;
- GDCURY1: Integer;
-
- procedure GPPARMS;
- begin
- inline
- ($B4/$12/$B3/$10/$B9/$FFFF/$CD/$10/$83/$F9/$FF/$74/$40/$8A/$C7/$25/>$0001/
- $34/$01/$04/$04/$A3/>GDTYPE/$89/$0E/>GDOTHER/$8A/$C3/$25/>$0003/$40/$B1/
- $06/$D3/$E0/$A3/>GDMEMORY/$BB/>$0004/$3D/>$0040/$74/$03/$BB/>$0010/$89/
- $1E/>GDMAXCLR/$B8/>$0010/$A3/>GDMAXPAL/$B8/$027F/$A3/>GDMAXCOL/$B8/
- $015D/$A3/>GDMAXROW/$EB/$05/$33/$C0/$A3/>GDTYPE);
-
- GDGSEG := $A000;
- GDGSADR := $7FF8;
-
- end;
-
- procedure GPINIT;
- begin
- inline
- ($B4/$12/$B3/$10/$B9/$FFFF/$CD/$10/$83/$F9/$FF/$74/$0D/$B8/>$0010/$F6/$C7/
- $01/$74/$03/$B8/>$000F/$CD/$10);
-
- GDCOLOR := LightGray;
- GDMERGE := 0;
- GDASPC1 := 3;
- GDASPC2 := 4;
- GDCUR_X := 0;
- GDCUR_Y := 0;
-
- GDWD_X1 := 0;
- GDWD_X2 := GDMAXCOL;
- GDWD_X3 := GDMAXCOL + 1;
- GDWD_Y1 := 0;
- GDWD_Y2 := GDMAXROW;
- GDWD_Y3 := GDMAXROW + 1;
-
- GDVW_X1 := 0;
- GDVW_X2 := GDMAXCOL;
- GDVW_X3 := GDMAXCOL + 1;
- GDVW_Y1 := 0;
- GDVW_Y2 := GDMAXROW;
- GDVW_Y3 := GDMAXROW + 1;
-
- GDS_FLG := 0;
- GDW_FLG := False;
- end;
-
- procedure GPTERM;
- begin
- inline
- ($B4/$12/$B3/$10/$CD/$10/$B8/>$03/$F6/$C7/$01/$74/$03/$B8/>$07/$CD/$10);
- end;
-
- procedure GPCOLOR(Color: Integer);
- begin
- GDCOLOR := Color;
- GDS_FLG := 0;
- end;
-
- procedure GPSTYLE(Var Style);
- begin
- GDSTYLE := addr(Style);
- GDS_FLG := -1;
- end;
-
- procedure GPSHADE(Var Shade);
- var
- mx,my,x,y,x1,y1,i: Integer;
- colors: array [0..65] of byte absolute Shade;
- begin
-
- GDSHADE := addr(Shade);
-
- mx := colors[0];
- my := colors[1];
-
- x := 0;
- y := 0;
- x1 := 0;
- y1 := 0;
-
- for i := 0 to 63 do
- begin
-
- if x1 = 8 then
- begin
- x1 := 0;
- y1 := y1 + 1;
- y := y + 1;
- end;
-
- if x = mx then
- begin
- x := 0;
- end;
-
- if y = my then
- begin
- y := 0;
- end;
-
- GDSHADE1[y1*8+x1+2] := colors[y*mx+x+2];
-
- x := x + 1;
- x1 := x1 + 1;
-
- end;
-
- GDSHADE1[0] := 8;
- GDSHADE1[1] := 8;
-
- inline
- ($C7/$06/GDS_FLG/$FFFF /$BA/$03CE /$B8/$0205 /$EF /$B0/$08 /$EE /$42
- /$8E/$06/GDGSEG /$8D/$36/GDSHADE1 /$46 /$46 /$8B/$3E/GDGSADR /$B9/>$40
- /$B0/$80 /$EE /$26/$8A/$25 /$8A/$24 /$26/$88/$25 /$D0/$C8 /$83/$D7/$00
- /$46 /$E2/$EF /$B0/$FF /$EE /$4A /$B8/>$05 /$EF);
- end;
-
- procedure GPPAL(Palette,Color: Integer);
- begin
- inline
- ($8A/$5E/<Palette/$8A/$7E/<Color/$B8/$1000/$CD/$10);
- end;
-
- procedure GPPLOT(X,Y: Integer);
- begin
- inline
- ($C7/$06/GDC_FLG/>$00 /$8B/$46/$04 /$3B/$06/GDVW_Y1 /$7C/$15
- /$3B/$06/GDVW_Y2 /$7F/$0F /$8B/$7E/$06 /$3B/$3E/GDVW_X1 /$7C/$06
- /$3B/$3E/GDVW_X2 /$7E/$08 /$C7/$06/GDC_FLG/>$02 /$EB/$49 /$A3/GDCUR_Y
- /$D1/$E0 /$D1/$E0 /$03/$46/$04 /$05/$A000 /$8E/$C0 /$89/$3E/GDCUR_X
- /$8B/$CF /$D1/$EF /$D1/$EF /$D1/$EF /$BA/$03CE /$8A/$26/GDMERGE /$B0/$03
- /$EF /$B8/$0205 /$EF /$B0/$08 /$EE /$42 /$B0/$80 /$80/$E1/$07 /$D2/$C8
- /$EE /$26/$8A/$05 /$A0/GDCOLOR /$26/$88/$05 /$B0/$FF /$EE /$4A /$B8/>$05
- /$EF /$B0/$03 /$EF);
- end;
-
- procedure GPBOX1(X1,Y1,X2,Y2: Integer);
- begin
- inline
- ($BA/$03CE/$8A/$26/GDMERGE/$B0/$03/$EF/$B8/$0205/$EF/$8B/$46/$0A/$8B/$5E/
- $08/$8B/$7E/$06/$8B/$C8/$80/$E1/$07/$B2/$FF/$D2/$EA/$88/$56/$0A/$8B/$CF/
- $80/$E1/$07/$B2/$80/$D2/$FA/$88/$56/$08/$8B/$4E/$04/$8B/$D0 /$D1/$EA/$D1/
- $EA/$D1/$EA/$D1/$EF/$D1/$EF/$D1/$EF/$2B/$FA/$75/$0B/$50/$8A/$46/$08/$22/
- $46/$0A/$88/$46/$08/$58/$4F/$2B/$CB/$41/$8B/$F0/$D1/$EE/$D1/$EE/$D1/$EE/
- $8B/$C3/$D1/$E0/$D1/$E0/$03/$C3/$05/$A000/$8E/$C0/$BA/$03CE/$B0/$08/$EE/
- $42/$8A/$26/GDCOLOR/$8A/$46/$0A/$EE/$E8/>$18/$0B/$FF/$78/$12/$74/$09/$B0/
- $FF/$EE/$E8/>$0C/$4F/$75/$FA/$8A/$46/$08/$EE/$E8/>$02/$EB/$11/$51/$56/
- $26/$8A/$04/$26/$88/$24/$83/$C6/$50/$E2/$F5/$5E/$59/$46/$C3/$B0/$FF/$EE/
- $4A/$B8/>$03/$EF/$B8/>$05/$EF);
- end;
-
- procedure GPBOX(X,Y: Integer);
- begin
- GPBOX1(GDCUR_X,GDCUR_Y,X,Y);
- end;
-
- procedure GPMOVE(X,Y: Integer);
- begin
- GDCUR_X := X;
- GDCUR_Y := Y;
- end;
-
- procedure GPLINE(X1,Y1: Integer);
- begin
- inline
- ($55/$8B/$0E/GDCUR_X /$8B/$1E/GDCUR_Y /$8B/$76/$06 /$8B/$7E/$04
- /$89/$36/GDCUR_X /$89/$3E/GDCUR_Y /$C7/$06/GDC_FLG/>$00 /$33/$C0
- /$3B/$1E/GDVW_Y1 /$7D/$03 /$80/$CC/$08 /$3B/$1E/GDVW_Y2 /$7E/$03
- /$80/$CC/$04 /$3B/$0E/GDVW_X1 /$7D/$03 /$80/$CC/$02 /$3B/$0E/GDVW_X2
- /$7E/$03 /$80/$CC/$01 /$3B/$3E/GDVW_Y1 /$7D/$02 /$0C/$08 /$3B/$3E/GDVW_Y2
- /$7E/$02 /$0C/$04 /$3B/$36/GDVW_X1 /$7D/$02 /$0C/$02 /$3B/$36/GDVW_X2
- /$7E/$02 /$0C/$01 /$0B/$C0 /$75/$03 /$E9/>$99 /$C7/$06/GDC_FLG/>$01
- /$84/$E0 /$74/$09 /$C7/$06/GDC_FLG/>$02 /$E9/$0270 /$0A/$C0 /$75/$06
- /$87/$CE /$87/$DF /$86/$E0 /$A8/$02 /$75/$24 /$A8/$04 /$75/$3C /$A8/$08
- /$75/$54 /$8B/$EF /$2B/$EB /$A1/GDVW_X2 /$2B/$C1 /$F7/$ED /$8B/$EE
- /$2B/$E9 /$F7/$FD /$03/$C3 /$8B/$36/GDVW_X2 /$8B/$F8 /$E9/$FF6E /$8B/$EF
- /$2B/$EB /$A1/GDVW_X1 /$2B/$C1 /$F7/$ED /$8B/$EE /$2B/$E9 /$F7/$FD
- /$03/$C3 /$8B/$36/GDVW_X1 /$8B/$F8 /$E9/$FF52 /$8B/$EE /$2B/$E9
- /$A1/GDVW_Y2 /$2B/$C3 /$F7/$ED /$8B/$EF /$2B/$EB /$F7/$FD /$03/$C1
- /$8B/$F0 /$8B/$3E/GDVW_Y2 /$E9/$FF36 /$8B/$EE /$2B/$E9 /$A1/GDVW_Y1
- /$2B/$C3 /$F7/$ED /$8B/$EF /$2B/$EB /$F7/$FD /$03/$C1 /$8B/$F0
- /$8B/$3E/GDVW_Y1 /$E9/$FF1A /$BA/$03CE /$8A/$26/GDMERGE /$B0/$03 /$EF
- /$B8/$0205 /$EF /$8B/$D6 /$3B/$D1 /$73/$04 /$87/$CA /$87/$DF /$2B/$D1
- /$2B/$FB /$8B/$F3 /$D1/$E6 /$D1/$E6 /$03/$F3 /$D1/$E6 /$D1/$E6 /$D1/$E6
- /$D1/$E6 /$8B/$D9 /$D1/$EB /$D1/$EB /$D1/$EB /$03/$DE /$8B/$F2 /$BA/$03CE
- /$B0/$08 /$EE /$42 /$80/$E1/$07 /$B0/$80 /$D2/$C8 /$83/$3E/GDS_FLG/$00
- /$75/$03 /$E9/>$BE /$56 /$C4/$36/GDSTYLE /$26/$80/$3C/$01 /$75/$08
- /$26/$8A/$64/$01 /$5E /$E9/>$AB /$5E /$89/$76/$04 /$89/$7E/$06 /$0B/$FF
- /$79/$0C /$F7/$DF /$3B/$FE /$77/$03 /$EB/$73/$90 /$EB/$4D/$90 /$3B/$FE
- /$77/$25 /$8B/$CE /$8B/$FE /$D1/$EF /$F7/$DF /$C4/$36/GDSTYLE
- /$26/$8A/$24 /$46 /$E8/$0125 /$D0/$C8 /$83/$D3/$00 /$03/$7E/$06 /$78/$F3
- /$83/$C3/$50 /$2B/$7E/$04 /$EB/$EB /$8B/$CF /$D1/$EF /$F7/$DF
- /$C4/$36/GDSTYLE /$26/$8A/$24 /$46 /$E8/$0102 /$83/$C3/$50 /$03/$7E/$04
- /$78/$F5 /$D0/$C8 /$83/$D3/$00 /$2B/$7E/$06 /$EB/$EB /$8B/$CF /$D1/$EF
- /$F7/$DF /$C4/$36/GDSTYLE /$26/$8A/$24 /$46 /$E8/>$DF /$83/$EB/$50
- /$03/$7E/$04 /$78/$F5 /$D0/$C8 /$83/$D3/$00 /$03/$7E/$06 /$EB/$EB
- /$8B/$CE /$8B/$FE /$D1/$EF /$F7/$DF /$C4/$36/GDSTYLE /$26/$8A/$24 /$46
- /$E8/>$BA /$D0/$C8 /$83/$D3/$00 /$2B/$7E/$06 /$78/$F3 /$83/$EB/$50
- /$2B/$7E/$04 /$EB/$EB /$8A/$26/GDCOLOR /$55 /$8E/$06/GDGSEG /$0B/$FF
- /$79/$08 /$F7/$DF /$3B/$FE /$77/$4C /$EB/$6D /$3B/$FE /$77/$23 /$8B/$CE
- /$8B/$EE /$D1/$ED /$F7/$DD /$EE /$26/$80/$3F/$00 /$26/$88/$27 /$49
- /$78/$79 /$D0/$C8 /$83/$D3/$00 /$03/$EF /$78/$EC /$83/$C3/$50 /$2B/$EE
- /$EB/$E5 /$8B/$CF /$8B/$EF /$D1/$ED /$F7/$DD /$EE /$26/$80/$3F/$00
- /$26/$88/$27 /$49 /$78/$56 /$83/$C3/$50 /$03/$EE /$78/$EE /$D0/$C8
- /$83/$D3/$00 /$2B/$EF /$EB/$E5 /$8B/$CF /$8B/$EF /$D1/$ED /$F7/$DD /$EE
- /$26/$80/$3F/$00 /$26/$88/$27 /$49 /$78/$33 /$83/$EB/$50 /$03/$EE
- /$78/$EE /$D0/$C8 /$83/$D3/$00 /$2B/$EF /$EB/$E5 /$8B/$CE /$8B/$EE
- /$D1/$ED /$F7/$DD /$EE /$26/$80/$3F/$00 /$26/$88/$27 /$49 /$78/$10
- /$D0/$C8 /$83/$D3/$00 /$03/$EF /$78/$EC /$83/$EB/$50 /$2B/$EE /$EB/$E5
- /$5D /$EB/$25 /$EE /$50 /$26/$8A/$04 /$8E/$06/GDGSEG /$26/$8A/$27
- /$26/$88/$07 /$8E/$06/GDSTYLE+2 /$58 /$FE/$CC /$75/$07 /$8B/$36/GDSTYLE
- /$26/$8A/$24 /$46 /$49 /$78/$01 /$C3 /$58 /$BA/$03CE /$B8/>$03 /$EF
- /$B8/>$05 /$EF /$B8/$FF08 /$EF/$5D);
- end;
-
-
- procedure GPRECT(X2,Y2: Integer);
- var
- X1, Y1: Integer;
- begin
- X1 := GDCUR_X;
- Y1 := GDCUR_Y;
- GPLINE(X1,Y2);
- GPLINE(X2,Y2);
- GPLINE(X2,Y1);
- GPLINE(X1,Y1);
- end;
-
- procedure GPCIR(Radius: Integer);
- begin
- inline
- ($83/$EC/$42 /$C7/$06/GDC_FLG/>$02 /$8B/$46/$04 /$0B/$C0 /$75/$01 /$40
- /$8B/$D8 /$A1/GDCUR_X /$2B/$C3 /$3B/$06/GDVW_X2 /$76/$03 /$E9/$02DC
- /$03/$C3 /$03/$C3 /$3B/$06/GDVW_X1 /$73/$03 /$E9/$02CF /$8B/$C3
- /$F7/$26/GDASPC1 /$F7/$36/GDASPC2 /$8B/$D0 /$8B/$0E/GDCUR_Y /$2B/$C8
- /$3B/$0E/GDVW_Y2 /$76/$03 /$E9/$02B4 /$89/$4E/$C2 /$03/$C8 /$03/$C8
- /$3B/$0E/GDVW_Y1 /$73/$03 /$E9/$02A4 /$89/$4E/$C0 /$C7/$06/GDC_FLG/>$00
- /$D1/$E0 /$D1/$E0 /$03/$C2 /$8B/$F0 /$A1/GDCUR_Y /$D1/$E0 /$D1/$E0
- /$03/$06/GDCUR_Y /$05/$A000 /$2B/$C6 /$89/$46/$F6 /$03/$C6 /$03/$C6
- /$89/$46/$F4 /$8B/$36/GDCUR_X /$89/$76/$C6 /$89/$76/$C4 /$8B/$CE /$D1/$EE
- /$D1/$EE /$D1/$EE /$B0/$80 /$80/$E1/$07 /$D2/$C8 /$88/$46/$FE
- /$89/$76/$FC /$88/$46/$FA /$89/$76/$F8 /$8B/$CA /$8B/$C2 /$F7/$E2
- /$89/$46/$F2 /$89/$56/$F0 /$D1/$E0 /$D1/$D2 /$89/$46/$EA /$89/$56/$E8
- /$8B/$C3 /$F7/$E3 /$52 /$50 /$D1/$E0 /$D1/$D2 /$89/$46/$E6 /$89/$56/$E4
- /$58 /$D1/$E1 /$49 /$F7/$E1 /$89/$46/$EE /$89/$56/$EC /$58 /$F7/$E1
- /$01/$46/$EC /$33/$C0 /$89/$46/$D6 /$89/$46/$D4 /$BA/$03CE
- /$8A/$26/GDMERGE /$B0/$03 /$EF /$B8/$0205 /$EF /$B0/$08 /$EE /$E8/$0160
- /$B9/$FFFF /$8B/$46/$D6 /$8B/$56/$D4 /$03/$46/$F2 /$13/$56/$F0
- /$89/$46/$E2 /$89/$56/$E0 /$79/$08 /$33/$C1 /$33/$D1 /$40 /$73/$01 /$42
- /$89/$46/$D2 /$89/$56/$D0 /$8B/$46/$D6 /$8B/$56/$D4 /$2B/$46/$EE
- /$1B/$56/$EC /$89/$46/$DE /$89/$56/$DC /$79/$08 /$33/$C1 /$33/$D1 /$40
- /$73/$01 /$42 /$89/$46/$CE /$89/$56/$CC /$8B/$46/$E2 /$8B/$56/$E0
- /$2B/$46/$EE /$1B/$56/$EC /$89/$46/$DA /$89/$56/$D8 /$79/$08 /$33/$C1
- /$33/$D1 /$40 /$73/$01 /$42 /$89/$46/$CA /$89/$56/$C8 /$8B/$46/$D2
- /$8B/$56/$D0 /$3B/$56/$CC /$77/$42 /$72/$05 /$3B/$46/$CE /$73/$3B
- /$3B/$56/$C8 /$77/$36 /$72/$05 /$3B/$46/$CA /$73/$2F /$D0/$46/$FE
- /$83/$5E/$FC/$00 /$FF/$4E/$C6 /$D0/$4E/$FA /$83/$56/$F8/$00 /$FF/$46/$C4
- /$8B/$46/$E2 /$8B/$56/$E0 /$89/$46/$D6 /$89/$56/$D4 /$8B/$46/$EA
- /$8B/$56/$E8 /$01/$46/$F2 /$11/$56/$F0 /$E9/>$8D /$8B/$46/$CE
- /$8B/$56/$CC /$3B/$56/$D0 /$77/$3C /$72/$05 /$3B/$46/$D2 /$73/$35
- /$3B/$56/$C8 /$77/$30 /$72/$05 /$3B/$46/$CA /$73/$29 /$83/$46/$F6/$05
- /$FF/$46/$C2 /$83/$6E/$F4/$05 /$FF/$4E/$C0 /$8B/$46/$DE /$8B/$56/$DC
- /$89/$46/$D6 /$89/$56/$D4 /$8B/$46/$E6 /$8B/$56/$E4 /$29/$46/$EE
- /$19/$56/$EC /$EB/$47/$90 /$D0/$46/$FE /$83/$5E/$FC/$00 /$FF/$4E/$C6
- /$D0/$4E/$FA /$83/$56/$F8/$00 /$FF/$46/$C4 /$83/$46/$F6/$05 /$FF/$46/$C2
- /$83/$6E/$F4/$05 /$FF/$4E/$C0 /$8B/$46/$DA /$8B/$56/$D8 /$89/$46/$D6
- /$89/$56/$D4 /$8B/$46/$EA /$8B/$56/$E8 /$01/$46/$F2 /$11/$56/$F0
- /$8B/$46/$E6 /$8B/$56/$E4 /$29/$46/$EE /$19/$56/$EC /$E8/>$1A
- /$8B/$46/$F6 /$3B/$46/$F4 /$74/$03 /$E9/$FEAF /$B0/$FF /$EE /$4A
- /$B8/>$05 /$EF /$B8/>$03 /$EF /$E9/>$A0 /$8A/$26/GDCOLOR /$BA/$03CF
- /$8B/$5E/$C6 /$3B/$1E/GDVW_X1 /$73/$08 /$C7/$06/GDC_FLG/>$01 /$EB/$3B
- /$8A/$46/$FE /$EE /$8B/$76/$FC /$8B/$5E/$C2 /$3B/$1E/GDVW_Y1 /$73/$08
- /$C7/$06/GDC_FLG/>$01 /$EB/$09 /$8E/$46/$F6 /$26/$8A/$04 /$26/$88/$24
- /$8B/$5E/$C0 /$3B/$1E/GDVW_Y2 /$76/$08 /$C7/$06/GDC_FLG/>$01 /$EB/$09
- /$8E/$46/$F4 /$26/$8A/$04 /$26/$88/$24 /$8B/$5E/$C4 /$3B/$1E/GDVW_X2
- /$76/$08 /$C7/$06/GDC_FLG/>$01 /$EB/$3B /$8A/$46/$FA /$EE /$8B/$76/$F8
- /$8B/$5E/$C2 /$3B/$1E/GDVW_Y1 /$73/$08 /$C7/$06/GDC_FLG/>$01 /$EB/$09
- /$8E/$46/$F6 /$26/$8A/$04 /$26/$88/$24 /$8B/$5E/$C0 /$3B/$1E/GDVW_Y2
- /$76/$08 /$C7/$06/GDC_FLG/>$01 /$EB/$09 /$8E/$46/$F4 /$26/$8A/$04
- /$26/$88/$24 /$C3 /$8B/$E5);
- end;
-
- procedure GPFLOOD1(x1,x2,y1,y2,sadr,flg: Integer; var shade; merge,color,
- x,y,bc: Integer); external 'GPFLOOD.BIN';
-
- procedure GPFLOOD(color: Integer);
- begin
- GPFLOOD1(GDVW_X1,GDVW_X2,GDVW_Y1,GDVW_Y2,GDGSADR,GDS_FLG,GDSHADE1,GDMERGE,
- GDCOLOR,GDCUR_X,GDCUR_Y,color);
- end;
-
- procedure GPFILL(color: Integer);
- begin
- GPFLOOD(color);
- end;
-
- procedure GPWINDOW(X1,Y1,X2,Y2: Integer);
- var
- i: Integer;
- begin
- GDWD_X1 := X1;
- GDWD_Y1 := Y1;
- GDWD_X2 := X2;
- GDWD_Y2 := Y2;
-
- GDWD_X3 := X2 - X1 + 1;
- GDWD_Y3 := Y2 - Y1 + 1;
- if X1 > X2 then
- GDWD_X3 := X2 - X1 - 1;
-
- if Y1 > Y2 then
- GDWD_Y3 := Y2 - Y1 - 1;
-
- GDW_FLG := True;
-
- end;
-
- procedure GPVIEWPORT(X1,Y1,X2,Y2: Integer);
- var
- i: Integer;
- begin
- if X1 > X2 then
- begin
- i := X1;
- X1 := X2;
- X2 := i;
- end;
-
- if Y1 > Y2 then
- begin
- i := Y1;
- Y1 := Y2;
- Y2 := i;
- end;
-
- GDVW_X1 := X1;
- GDVW_Y1 := Y1;
- GDVW_X2 := X2;
- GDVW_Y2 := Y2;
-
- GDVW_X3 := X2 - X1 + 1;
- GDVW_Y3 := Y2 - Y1 + 1;
-
- GDW_FLG := True;
-
- end;
-
- procedure GPSCALE(var X,Y: Integer);
- begin
- inline
- ($C4/$7E/$08 /$26/$8B/$05 /$2B/$06/GDWD_X1 /$F7/$2E/GDVW_X3
- /$F7/$3E/GDWD_X3 /$03/$06/GDVW_X1 /$26/$89/$05 /$C4/$7E/$04 /$26/$8B/$05
- /$2B/$06/GDWD_Y1 /$F7/$2E/GDVW_Y3 /$F7/$3E/GDWD_Y3 /$03/$06/GDVW_Y1
- /$26/$89/$05);
- end;
-
- function GPCLIP2(var X1,Y1,X2,Y2: Integer): Integer;
- begin
- inline
- ($55 /$C4/$7E/$10 /$26/$8B/$0D /$C4/$7E/$0C /$26/$8B/$1D /$C4/$7E/$08
- /$26/$8B/$35 /$C4/$7E/$04 /$26/$8B/$3D /$33/$C0 /$89/$46/$14 /$33/$C0
- /$3B/$1E/GDWD_Y1 /$7D/$03 /$80/$CC/$08 /$3B/$1E/GDWD_Y2 /$7E/$03
- /$80/$CC/$04 /$3B/$0E/GDWD_X1 /$7D/$03 /$80/$CC/$02 /$3B/$0E/GDWD_X2
- /$7E/$03 /$80/$CC/$01 /$3B/$3E/GDWD_Y1 /$7D/$02 /$0C/$08 /$3B/$3E/GDWD_Y2
- /$7E/$02 /$0C/$04 /$3B/$36/GDWD_X1 /$7D/$02 /$0C/$02 /$3B/$36/GDWD_X2
- /$7E/$02 /$0C/$01 /$0B/$C0 /$75/$03 /$E9/>$96 /$C6/$46/$14/$01 /$84/$E0
- /$74/$08 /$C6/$46/$14/$02 /$5D /$E9/>$A1 /$0A/$C0 /$75/$06 /$87/$CE
- /$87/$DF /$86/$E0 /$A8/$02 /$75/$24 /$A8/$04 /$75/$3C /$A8/$08 /$75/$54
- /$8B/$EF /$2B/$EB /$A1/GDWD_X2 /$2B/$C1 /$F7/$ED /$8B/$EE /$2B/$E9
- /$F7/$FD /$03/$C3 /$8B/$36/GDWD_X2 /$8B/$F8 /$E9/$FF71 /$8B/$EF /$2B/$EB
- /$A1/GDWD_X1 /$2B/$C1 /$F7/$ED /$8B/$EE /$2B/$E9 /$F7/$FD /$03/$C3
- /$8B/$36/GDWD_X1 /$8B/$F8 /$E9/$FF55 /$8B/$EE /$2B/$E9 /$A1/GDWD_Y2
- /$2B/$C3 /$F7/$ED /$8B/$EF /$2B/$EB /$F7/$FD /$03/$C1 /$8B/$F0
- /$8B/$3E/GDWD_Y2 /$E9/$FF39 /$8B/$EE /$2B/$E9 /$A1/GDWD_Y1 /$2B/$C3
- /$F7/$ED /$8B/$EF /$2B/$EB /$F7/$FD /$03/$C1 /$8B/$F0 /$8B/$3E/GDWD_Y1
- /$E9/$FF1D /$5D /$8B/$C7 /$C4/$7E/$10 /$26/$89/$0D /$C4/$7E/$0C
- /$26/$89/$1D /$C4/$7E/$08 /$26/$89/$35 /$C4/$7E/$04 /$26/$89/$05);
- end;
-
- procedure SetViewport(X1,Y1,X2,Y2: Integer);
- begin
- GPVIEWPORT(X1,Y1,X2,Y2);
- end;
-
- procedure SetWindow(X1,Y1,X2,Y2: Integer);
- begin
- GPWINDOW(X1,Y1,X2,Y2);
- end;
-
- procedure MovAbs(X,Y: Integer);
- begin
- GDCURX1 := X;
- GDCURY1 := Y;
- end;
-
- procedure MovRel(X,Y: Integer);
- begin
- GDCURX1 := GDCURX1 + X;
- GDCURY1 := GDCURY1 + Y;
- end;
-
- procedure LnAbs(X2,Y2: Integer);
- var
- X1,Y1: Integer;
- I: Integer;
- begin
- X1 := GDCURX1;
- Y1 := GDCURY1;
- GDCURX1 := X2;
- GDCURY1 := Y2;
-
- if GPCLIP2(X1,Y1,X2,Y2) <> 2 then
- begin
- GPSCALE(X1,Y1);
- GPMOVE(X1,Y1);
- GPSCALE(X2,Y2);
- GPLINE(X2,Y2);
- end;
-
- end;
-
- procedure LnRel(X,Y: Integer);
- begin
- LnAbs(GDCURX1 + X, GDCURY1 + Y);
- end;
-
- procedure GPMERGE(Merge: Integer);
- begin
- GDMERGE := Merge and $03 shl 3;
- end;
-
- procedure GPWTCOL(var BUF; N: Integer);
- begin
- inline
- ($1E/$A1/GDCUR_Y/$D1/$E0/$D1/$E0/$03/$06/GDCUR_Y/$05/$A000/$8E/$C0/$8B/$3E/
- GDCUR_X/$8B/$CF/$D1/$EF/$D1/$EF/$D1/$EF/$BA/$03CE/$8A/$26/GDMERGE/$B0/$03/
- $EF/$B8/$0205/$EF/$B0/$08/$EE/$42/$B0/$80/$80/$E1/$07/$D2/$C8/$EE/$8B/$4E/
- $04/$C5/$76/$06/$8A/$24/$46/$26/$8A/$1D/$26/$88/$25/$83/$C7/$50/$E2/$F2/
- $B0/$FF/$EE/$4A/$B8/>$05/$EF/$B8/>$03/$EF/$1F);
- end;
-
- procedure GPWTROW(var BUF; N: Integer);
- begin
- inline
- ($1E/$A1/GDCUR_Y/$D1/$E0/$D1/$E0/$03/$06/GDCUR_Y/$05/$A000/$8E/$C0/$8B/$3E/
- GDCUR_X/$8B/$CF/$D1/$EF/$D1/$EF/$D1/$EF/$BA/$03CE/$8A/$26/GDMERGE/$B0/$03/
- $EF/$B8/$0205/$EF/$B0/$08/$EE/$42/$B0/$80/$80/$E1/$07/$D2/$C8/$8B/$4E/$04/
- $C5/$76/$06/$EE/$8A/$24/$46/$26/$8A/$3D/$26/$88/$25/$D0/$C8/$83/$D7/$00/
- $E2/$EF/$B0/$FF/$EE/$4A/$B8/>$05/$EF/$B8/>$03/$EF/$1F);
- end;
-
- function GPRDPAL(Palette: Integer): Integer;
- begin
- inline
- ($33/$C0/$8E/$C0/$26/$C4/$1E/$04A8/$83/$C3/$04/$26/$C4/$1F/$8C/$C0/$0B/$C3/
- $74/$14/$8A/$46/<Palette/$3C/$FF/$75/$02/$B0/$11/$32/$E4/$03/$D8/$26/$8A/
- $07/$32/$E4/$EB/$03/$B8/$FFFF/$89/$46/$06);
- end;