Program GF2strip;

Uses CRT,DOS;

Var
  IFS,OFS:Text;
  RCH:Char;
  IFN,OFN:String[255];
  ADD:Boolean;
  CTR:Integer;

Procedure Usage;
Begin
  WriteLn('GF2strip v1.00 by Zebedee ©1996 Carnage (19-Dec-96)',#10);
  WriteLn('Usage: GF2strip <infile> <outfile> <add|remove>');
  Halt(20);
End;

Begin
  If ParamStr(1)='?' Then Usage;
  If ParamCount<>3 Then Usage;
  IFN:=ParamStr(1);
  OFN:=ParamStr(2);
  If ParamStr(3)='add' Then ADD:=True Else ADD:=False;
  Reset(IFS,IFN);
  If IOResult<>0 Then Begin
    WriteLn('File not found!');
    Halt(20)
  End;
  ReWrite(OFS,OFN);
  WriteLn('Source:',IFN);
  WriteLn('Target:',OFN);
  Write('Add   :');
  If ADD Then WriteLn('TRUE') Else WriteLn('FALSE');
  IF ADD Then Begin
    Write(OFS,#$47,#$46,#$49,#$46,#$4B,#$69,#$6E,#$67,#$73,#$6F,#$66,#$74,#$00,#$00,#$00,#$00);
    Write(OFS,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00);
    Write(OFS,#$00,#$00,#$FF,#$FF,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00);
    Write(OFS,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00);
    Write(OFS,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00);
    Write(OFS,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$ED);
    Write(OFS,#$00,#$00,#$02,#$45,#$00,#$00,#$01,#$12,#$00,#$00,#$01,#$FD,#$00,#$00,#$7F,#$FF);
    Write(OFS,#$FF,#$FF,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00,#$00);
    Write(OFS,#$03,#$57);
  End Else Begin
    For CTR:=1 To $81 Do
      Read(IFS,RCH);
  End;
  While not Eof(IFS) Do
  Begin
    Read(IFS,RCH);
    Write(OFS,RCH);
  End;
  Close(OFS);
  Close(IFS);
End.