home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 189.img / TCS120S.ZIP / SCRAM2.PAS < prev    next >
Pascal/Delphi Source File  |  1980-01-01  |  3KB  |  113 lines

  1. {$G512}
  2. {512} {windowing etc doesnt work via Standard Output Device..thats why it wasn't so great before..}
  3. {$C-}
  4.  
  5. {$K-}
  6. {$U-}
  7. var shift:integer;
  8. {$Igentypes.pas}
  9. {$Imodem.pas}
  10. type all=record
  11.      num,next,werex,werey,a1,a2,a3,a4:integer;
  12.      c1,c2,c3:anystr;
  13. end;
  14. var SCRAM,WOW,task:integer;
  15.     current,u1,u2,u3:all;
  16.     d3:char;
  17.    Xtron,wammy,sAMMY:BOOLEAN;
  18. procedure swit2;
  19. begin
  20. if wammy=true then wammy:=false else wammy:=true;
  21. end;
  22.  
  23. procedure switchit;
  24. var xx,yy:integer;
  25.  
  26. begin
  27. xx:=wherex;yy:=wherey;
  28. window (1,1,80,24);
  29. if sammy then begin
  30. sammy:=false;gotoxy (1,24); write ('Scramble OFF! Keyed to #',scram );
  31. end else begin
  32. sammy:=true;
  33. gotoxy (1,24); write ('Scramble On! Keyed to #',scram );
  34. end;
  35. if xtron then write (' Xtron Scrambling on!') else write ('                       ');
  36. window (1,1,80,23);
  37. gotoxy (xx,yy);
  38. end;
  39.  
  40.  
  41. PROCEDUre routine;
  42. var abc,cnt:integer;
  43. ed,cd:char;
  44. begin
  45.  
  46.    if keypressed then begin
  47.     read(kbd,cd);
  48.     ed:=cd;
  49.     cnt:=ord(cd);
  50.  IF (cnt=27) and keypressed  then begin
  51.   read (kbd,cd); if cd=';' then  switchit;
  52.    if cd='<' then  swit2;
  53.    if cd='=' then scram:=scram+1;
  54.    if cd='>' then scram:=scram-1;
  55.    if cd='C' then Xtron:=true else xtron:=false;
  56. IF CD='D' THEN HALT;
  57. switchit;switchit;
  58.    cd:=chr(8);
  59.     end;
  60.  
  61. if cnt=27 then EXIT;
  62.   {    cnt:=ord(cd);}
  63.     IF (CNT>32) AND SAMMY THEN if xtron then cnt:=(cnt xor 255)+(scram-100) else cnt:=cnt+scram;
  64.     if (cnt<0) or (cnt>255) then cnt:=0;
  65.     cd:=chr(cnt);
  66.   sendchar(cd);end;
  67.  
  68.    if (numchars>0) AND NOT KEYPRESSED then begin
  69.      begin
  70.     cd:=getchar;
  71.   if cd=#2 then begin
  72.   xtron:=false;end;
  73.   if cd=#4 then
  74.   begin
  75.   xtron:=true;end;
  76.    cnt:=ord(cd);
  77.    if (cnt>(scram-1)) then begin
  78.     if xtron then cnt:=(cnt xor 255)+(scram-100) else cnt:=cnt-scram;
  79.    if xtron then Textcolor (lightBlue) else  textcolor(LightRed);
  80.     end else textcolor (White);
  81.    if (cnt>0) or (cnt<256) then cd:=chr(cnt) else cd:=' ';
  82.  IF CNT=10 THEN WRITELN ELSE
  83.  write (cd);
  84.                    end;
  85.     end;
  86.     end;
  87.    FUNCTION HUNGUPON;
  88.    BEGIN
  89.    END;
  90. VAR YO:STRING[3];
  91. begin
  92.    CLRSCR;{-256 com2}  {2 for com2}
  93. if paramcount>0 then yo:=PARAMSTR(1) else yo:='1';
  94.  
  95. if yo='2' then icomoffset:=-256 else
  96. ICOMOFFSET:=-256;
  97. if yo='2' then setparam ( 2 ,1200,false) else setparam (1,1200,false);
  98. scram:=126;shift:=0;
  99. textcolor (LightBlue);
  100. textcolor (White);
  101. window (1,1,80,23);
  102. gotoxy (1,3);
  103. SAMMY:=FALSE;
  104. wammy:=false;
  105.  
  106. repeat
  107.  
  108. routine;
  109. routine;
  110. UNTIL 0=1;
  111.  
  112. end.
  113.