home *** CD-ROM | disk | FTP | other *** search
/ A.N.A.L.O.G. Magazine 1988 April / 88_apr_a.atr / upeditor.act < prev    next >
Text File  |  2023-02-26  |  9KB  |  1 lines

  1. ¢;UPWARD EDITOR by Greg Knauss¢¢;      CHECKSUM DATA¢;[B4 F9 4B 46 88 45 83 FF ¢; 5A 0C 27 3D EC 4A 1F 34 ¢; 24 27 7E 19 65 C4 11 E8 ¢; 69 63 6C C8 DE AC 77 1F ¢; 4F 3A 10 9D 15 33 5B 6D ¢; 65 AD 02 5F 74 60 ]¢¢BYTE¢  P,I,X=[1],Y=[1],S,STG=[0],SLO,SHI,¢  STC=[32],SN=[1],CLR=[32],ERR=[0],¢  L=[1]¢¢INT¢  X1,Y1¢¢CARD¢  J,SCN,DL,CH¢¢BYTE ARRAY¢  ST="D:UPSET.A"¢¢¢PROC DLI()¢  [ 72 169  56 141  10 212 141  22¢   208 169  54 141  23 208 169  10¢   141  24 208 169  68 141  25 208¢   169   0 141  10 212 169   0 141¢    26 208 169   0 141   9 212 104¢    64]¢RETURN¢¢¢PROC NEWLIST()¢  [112 112 112  71   0   0   6 130¢     0   5  32 101   0   0  37  37¢    37  37  37  37  37  37  37   5¢    65   0   0]¢RETURN¢¢¢PROC CHSTORE()¢  [170 170 170 170 170 170 170 170¢    85 170 170 170 170 170 170 170¢     0  85 170 170 170 170 170 170¢     0   0  85 170 170 170 170 170¢     0   0   0  85 170 170 170 170¢     0   0   0   0  85 170 170 170¢     0   0   0   0   0  85 170 170¢     0   0   0   0   0   0  85 170¢     0   0   0   0   0   0   0  85¢   168  32   0   0   0   0   0   0¢   170  42  32   0   0   0   0   0¢   170  42  34   0   0   0   0   0¢   170 170 170 168  32   0   0   0¢   170 170 170 170 168  32   0   0¢   170 170 170 170 170 168  32   0¢   170 170 170 170 170 170  40  32¢     0   0   0   0   0   0   0   0¢    85 170 170 170 170 170 170  32¢    85 170  42  42  42  10  10   0¢    85 170 170 168 168 160 128 128¢     0   0  64 128 144 164 168 169¢     0   0   0   0   0   0   0   0¢     0   0   0   0   0   0   0   0¢     1   2   2   6  10  26  42 106¢   170  42  42  10  10   2   2   2¢   170 168 160 128 128 128   0   0¢   125 190 190 190 174 190 190 190¢    48  60  60  60  12  60  60  60¢   186 190 190 190 174 190 190 190¢   255 255 255 255 255 255 255 255¢   255 191 191 191 175 175 171 170¢   255 254 254 250 250 234 170 170¢   170 171 175 175 191 191 255 255¢   170 234 234 250 250 250 254 254¢¢áקΦσáµ∩∮∮∩≈Θ∈τáΣβ⌠βáΘ≤á∈∩⌠á⌡≤σΣáΘ∈á¢áóר≡≈β≥Σóáβ∈ΣáΘ≤á⌡∈Θ±⌡σá⌠∩á⌠ΦΘ≤á¢á≡≥∩τ≥βϕ«á¢¢   255 195 195 195 195 195 195 255¢     0  63  48  63   3   3  63   0¢     0  60  51  51  51  51  60   0¢    15  15   3  63 207 207  12  60¢   192 204  12 240 192 192 192 240]¢RETURN¢¢¢PROC TOPSCRN()¢  Poke(83,39)¢  Position(0,1)¢  Print(" *+,-./012 3456789; <=>ABC")¢  Print(" DEF GHIJK   ")¢  Position(0,2)¢  Print(" *+,-./012 3456789; <=>ABC")¢  Print(" DEF וזחטי MN ")¢  Poke(83,0)¢RETURN¢¢¢PROC SETUP()¢  Graphics(0)¢  Poke(752,1)¢  Poke(82,1)¢  PrintE(" ")¢  DL=PeekC(560)¢  SHI=Peek(106)-32¢  SHI==+8¢  SLO=0¢  MoveBlock(DL,NEWLIST,50)¢  SCN=PeekC(88)¢  J=PeekC(88)¢  PokeC(DL+4,J)¢  Poke(DL+12,0)¢  Poke(DL+13,SHI)¢  J=PeekC(560)¢  PokeC(DL+25,J)¢  CH=(Peek(106)-40)*256¢  MoveBlock(CH+80,CHSTORE,512)¢  Zero(CH,8)¢  Poke(DLI+35,CH/256)¢  PokeC(512,DLI)¢  Poke(54286,192)¢  Poke(708,0)¢  Poke(709,6)¢  Poke(710,15)¢  Poke(712,148)¢  Zero(SHI*256+SLO,256*12+40)¢  Print("}  רסתIJפג  דגחקנפ")¢  PrintE("         LEVEL: 1")¢  TOPSCRN()¢RETURN¢¢¢PROC OOPS()¢  Poke(559,34)¢  Position(0,1)¢  Print("   áגחציáדפפנפíá")¢  Print(" Any key to continue.²")¢  I=GetD(1)¢  ERR=1¢  Close(2)¢RETURN¢¢¢PROC SETNO()¢  FOR J=1 TO 15000 DO OD¢  WHILE STrig(0)=1 DO¢    IF Stick(0)=7 AND SN<25 THEN¢      SN==+1¢    FI¢    IF Stick(0)=11 AND SN>1 THEN¢      SN==-1¢    FI¢    IF Stick(0)<>15 THEN¢      Position(24,1)¢      Print("  ")¢      PrintB(SN)¢    FI¢    FOR J=1 TO 7000 DO OD¢  OD¢RETURN¢¢¢PROC CONFIRM()¢  S=0¢  Position(31,1)¢  Print("Y/מ")¢  FOR J=1 TO 15000 DO OD¢  WHILE STrig(0)=1 DO¢    IF Stick(0)=7 THEN¢      Position(31,1)¢      Print("Y/מ")¢      S=0¢    FI¢    IF Stick(0)=11 THEN¢      Position(31,1)¢      Print("ך/N")¢      S=1¢    FI¢  OD¢RETURN¢¢¢PROC SAVE()¢  Position(0,1)¢  Print("              Save set:")¢  Print("            ")¢  Position(24,1)¢  PrintB(SN)¢  SETNO()¢  Position(6,1)¢  Print("Confirm: צβ÷σ as set ")¢  PrintB(SN)¢  Print("?")¢  CONFIRM()¢  IF S=0 THEN¢    RETURN¢  FI¢  Poke(559,0)¢  SHI=Peek(106)-32¢  SLO=0¢  L=1¢  Position(33,0)¢  Print("  ")¢  PrintB(L)¢  Poke(DL+12,SLO)¢  Poke(DL+13,SHI)¢  Close(2)¢  Error=OOPS¢  ERR=0¢  Poke(ST+9,SN+64)¢  Open(2,ST,8,0)¢  IF ERR=0 THEN¢    FOR J=0 TO 2999 DO¢      S=Peek(SHI*256+J)¢      PutD(2,S)¢    OD¢    Close(2)¢  FI¢  Poke(559,34)¢RETURN¢¢¢PROC LOAD()¢  Position(0,1)¢  Print("              Load set:")¢  Print("            ")¢  Position(24,1)¢  PrintB(SN)¢  SETNO()¢  Position(6,1)¢  Print("Confirm: כ∩βΣ set ")¢  PrintB(SN)¢  Print("?")¢  CONFIRM()¢  IF S=0 THEN¢    RETURN¢  FI¢  Poke(559,0)¢  SHI=Peek(106)-32¢  SLO=0¢  L=1¢  Position(33,0)¢  Print("  ")¢  PrintB(L)¢  Poke(DL+12,SLO)¢  Poke(DL+13,SHI)¢  Error=OOPS¢  ERR=0¢  Poke(ST+9,SN+64)¢  Open(2,ST,4,0)¢  IF ERR=0 THEN¢    FOR J=0 TO 2999 DO¢      S=GetD(2)¢      Poke(SHI*256+J,S)¢    OD¢    Close(2)¢  FI¢  Poke(559,34)¢RETURN¢¢¢PROC CLEAR()¢  Position(6,1)¢  Print("Confirm: ב∮σβ≥ set?")¢  Print("            ")¢  CONFIRM()¢  IF S=1 THEN¢    SHI=Peek(106)-32¢    SLO=0¢    L=1¢    Position(33,0)¢    Print("  ")¢    PrintB(L)¢    Poke(DL+12,SLO)¢    Poke(DL+13,SHI)¢    Zero(SHI*256+SLO,3000)¢    PokeC(88,SCN)¢  FI¢RETURN¢¢¢PROC DISK()¢  Poke(83,39)¢  Position(0,1)¢  Print("      EXIT    SAVE    LOAD")¢  Print("    CLEAR     ")¢  S=1¢  WHILE STrig(0)=1 DO¢    IF S>1 AND Stick(0)=11 THEN¢      S==-1¢    FI¢    IF S<4 AND Stick(0)=7 THEN¢      S==+1¢    FI¢    IF Stick(0)=7 OR Stick(0)=11 THEN¢      Position(0,1)¢      Print("      EXIT    SAVE")¢      Print("    LOAD    CLEAR     ")¢    FI¢    IF S=1 THEN¢      Position(5,1)¢      Print("áדןחקá")¢    FI¢    IF S=2 THEN¢      Position(13,1)¢      Print("áצIJשדá")¢    FI¢    IF S=3 THEN¢      Position(21,1)¢      Print("áכנIJגá")¢    FI¢    IF S=4 THEN¢      Position(29,1)¢      Print("áבכדIJפá")¢    FI¢    FOR J=1 TO 5000 DO OD¢  OD¢  FOR J=1 TO 10000 DO OD¢  IF S=2 THEN¢    SAVE()¢  FI¢  IF S=3 THEN¢    LOAD()¢  FI¢  IF S=4 THEN¢    CLEAR()¢  FI¢  X=38¢  STC=32¢  TOPSCRN()¢  Position(38,2)¢  Print("L")¢RETURN¢¢¢PROC LEV()¢  PokeC(88,SCN)¢  Poke(83,39) ¢  Position(33,0)¢  Print("  ")¢  PrintB(L)¢  Poke(83,0)¢  Poke(88,SLO)¢  Poke(89,SHI)¢RETURN¢¢¢PROC SCROLLDN()¢  Color=CLR¢  Plot(X,Y)¢  FOR S=1 TO 6 DO¢    FOR I=0 TO 15 DO¢      Poke(54277,I)¢      FOR J=1 TO 150 DO OD¢    OD¢    Poke(54277,0)¢    SLO==+40¢    IF SLO<40 THEN¢      SHI==+1¢    FI¢    Poke(DL+12,SLO)¢    Poke(DL+13,SHI)¢    Poke(88,SLO)¢    Poke(89,SHI)¢  OD¢  L==+1¢  LEV()¢  CLR=Locate(X,Y)¢RETURN¢¢¢PROC SCROLLUP()¢  Color=CLR¢  Plot(X,Y)¢  FOR S=1 TO 6 DO¢    Poke(54277,15)¢    SLO=SLO-40¢    IF SLO>215 THEN¢      SHI==-1¢    FI¢    Poke(DL+12,SLO)¢    Poke(DL+13,SHI)¢    Poke(88,SLO)¢    Poke(89,SHI)¢    I=15¢    FOR P=1 TO 16 DO¢      Poke(54277,I)¢      I==-1¢      FOR J=1 TO 150 DO OD¢    OD¢  OD¢  L==-1¢  LEV()¢  CLR=Locate(X,Y)¢RETURN¢¢¢PROC GETNPRNT()¢  STC=GetD(1)¢  IF STC<33 OR STC>'K THEN¢    STC=32¢  FI¢  IF STC>'F THEN¢    STC==+128¢  FI¢  Color=STC¢  Plot(X,Y)¢  CLR=STC¢  STG=0¢  IF X<39 THEN¢    X==+1¢    CLR=Locate(X,Y)¢  FI¢  Color='L¢  Plot(X,Y)¢  Poke(764,255)¢RETURN¢¢¢PROC CHOOSE()¢  Color=CLR¢  Plot(X,Y)¢  PokeC(88,SCN)¢  TOPSCRN()¢  Y=2¢  CLR=Locate(X,Y)¢  Color='L¢  Plot(X,Y)¢  DO¢    S=Stick(0)¢    X1=0¢    IF S=11 AND X>0 THEN¢      X1=-1¢    FI¢    IF S=7 AND X<39 THEN¢      X1=1¢    FI¢    IF S<>15 AND (X1<>0 OR Y1<>0) THEN¢      S=Locate(X+X1,Y+Y1)¢      Color=CLR¢      Plot(X,Y)¢      X==+X1¢      Color='L¢      Plot(X,Y)¢      CLR=S¢    FI¢    FOR J=1 TO 2000 DO OD¢    IF STrig(0)=0 THEN¢      STC=CLR¢      FOR J=1 TO 255 DO¢        Sound(0,J,8,15-J/17)¢      OD¢      STG=0¢    FI¢    IF STC='N THEN¢      DISK()¢    FI¢    UNTIL Stick(0)=13¢  OD¢  TOPSCRN()¢  Poke(88,SLO)¢  Poke(89,SHI)¢  Y=0¢  CLR=Locate(X,Y)¢  Color='L¢  Plot(X,Y)¢  IF STC='M THEN¢    STG=1¢    STC='3¢  FI¢RETURN¢¢¢PROC MAIN()¢  SETUP()¢  Poke(88,SLO)¢  Poke(89,SHI)¢  Color=32¢  For J=0 TO 8 DO¢    P=Locate(0,J)¢    Plot(0,J)¢  OD¢  FOR J=3000 TO 3079 DO¢    Poke(SHI*256+J,10)¢  OD¢  Poke(SHI*256+2954,47)¢  Poke(SHI*256+2955,48)¢  Open(1,"K:",4,0)¢  CLR=32¢  DO¢    S=Stick(0)¢    X1=0¢    Y1=0¢    IF (S=10 OR S=14 OR S=6) AND¢        Y>0 THEN¢      Y1=-1¢    FI¢    IF (S=9 OR S=13 OR S=5) AND¢        Y<8 THEN¢      Y1=1¢    FI¢    IF S<12 AND S>8 AND X>0 THEN¢      X1=-1¢    FI¢    IF S<8 AND S>4 AND X<39 THEN¢      X1=1¢    FI¢    IF Stick(0)=14 AND Y=0 THEN¢      CHOOSE()¢    FI¢    IF (X1<>0 OR Y1<>0) AND¢        S<>15 THEN¢      S=Locate(X+X1,Y+Y1)¢      Color=CLR¢      Plot(X,Y)¢      X==+X1¢      Y==+Y1¢      CLR=S¢    FI¢    Color='L¢    Plot(X,Y)¢    IF Peek(53279)=6 AND SLO<>80 THEN¢      SCROLLDN()¢    FI¢    IF Peek(53279)=5 AND SLO<>0 THEN¢      SCROLLUP()¢    FI¢    IF Peek(764)<>255 THEN¢      GETNPRNT()¢    FI¢    IF STrig(0)=0 AND STC<>'M THEN¢      CLR=STC¢    FI¢    IF STrig(0)=0 AND STG<>0 THEN¢      STC==+STG¢      IF STC='9 THEN¢        STG=255¢      FI¢      IF STC='3 THEN¢        STG=1¢      FI¢    FI¢    FOR J=1 TO 2000 DO OD¢  OD¢RETURN¢¢