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

  1.  ¢; UPWARD by Greg Knauss¢¢;      CHECKSUM DATA¢;[6A 3D EB A8 39 AC 1E D9 ¢; FF 74 FC 62 C0 0B 27 6C ¢; 92 E6 FF 87 E9 7E E6 9F ¢; AA A6 E8 78 A7 9A 95 62 ¢; 80 D9 29 79 79 70 EF 7C ¢; C0 85 AA CD 1A B4 EF EB ¢; B8 E1 E9 F2 DD FB 7B D0 ¢; 45 29 D6 58 AB 75 E8 7E ¢; 8F 16 A5 2E D9 6E 31 61 ]¢¢BYTE¢  P,PLY=1780,PIC,PL=1784,PD=1772,¢  DRW=[1],SKX,SKY=1782,SPIC=[1],¢  SSP=[3],SAC=[80],SCT=[0],DAX,¢  DAY=1783,DART,Y,S,I,L,PM,PC=53253,¢  PPC=53260,SLO,SHI,LO,HI,N,V,ES,STR,¢  SN,LNS=[0]¢¢BYTE ARRAY¢  ST="D:UPSET.A"¢¢INT¢  X1,Y1,K,SX,SY,DX,DY¢¢CARD¢  DRB,DL,CH,SC=[0],HSC=[0],AIR,J¢¢¢PROC DLIST()¢  [112 112 112  71   0   0   6   2¢     0   2 128   0 101   0   0  37¢    37  37  37  37  37  37  37  37¢     5  65   0   0]¢RETURN¢¢¢PROC DLI()¢  [ 72 169   0 141  10 212 141  22¢   208 169   0 141  23 208 169   0¢   141  24 208 169   0 141  25 208¢   169   0 141  10 212 169   0 141¢    26 208 169   0 141   9 212 104¢    64]¢RETURN¢¢¢PROC PLRVBI()¢  [162   3 189 244   6 240  89  56¢   221 240   6 240  83 141 254   6¢   106 141 255   6 142 253   6  24¢   169   0 109 253   6  24 109 252¢     6 133 204 133 206 189 240   6¢   133 203 173 254   6 133 205 189¢   248   6 170 232  46 255   6 144¢    16 168 177 203 145 205 169   0¢   145 203 136 202 208 244  76  87¢     6 160   0 177 203 145 205 169¢     0 145 203 200 202 208 244 174¢   253   6 173 254   6 157 240   6¢   189 236   6 240  48 133 203  24¢   138 141 253   6 109 235   6 133¢   204  24 173 253   6 109 252   6¢   133 206 189 240   6 133 205 189¢   248   6 170 160   0 177 203 145¢   205 200 202 208 248 174 253   6¢   169   0 157 236   6 202  48   3¢    76   2   6  76  98 228   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]¢RETURN¢¢¢PROC GPIX()¢  [ 56  56  56  16 124 254 186 186¢   186 124  56  40  40  40  40 108¢    56 186 186 146 254 124  56  56¢    56  56  56  40  40  40  40 108¢   184 184 186 210 122  62  60  56¢    56  60  60  44  40  44  32  96¢    56 186 186 146 254 124  56  56¢    56  56  56  40  40  40  40 108¢    58  58 186 150 188 248 120  56¢    56 120 120 104  40 104   8  12¢    28  24  28   8  28  60  60  62¢    60  30  31  17  50  34  32  48¢    28  24  28   8  60 125  95  94¢    28  28  28  54  98  66  67   0¢    28  24  28   8  28  60  60  60¢    62  28 108  60  20   4   4   6¢    28  24  28   8  28  28  28  28¢    28  28  30  30  28   8   8  12¢    56  24  56  16  56  60  60 124¢    60 120 248 136  76  68   4  12¢    56  24  56  16  60 190 250 122¢    56  56  56 108  70  66 194   0¢    56  24  56  16  56  60  60  60¢   120  56  54  60  24  16  16  48¢    56  24  56  16  56  56  56  56¢    56  56 120 120  56   8   8  24¢    56  58  58  18 126 252 184 184¢   184 120  56  40  40  40  40 108]¢RETURN¢¢¢PROC SPIX()¢  [  0   0   0   0   0   0  40 186¢   214 124  56  16  40  56 214 124¢    56  16  40  56  84 254 186  16¢    40  56  84 254  56  16]¢RETURN¢¢¢PROC MUS()¢  [  0   0   0   0 150   0 100 100 ¢     0   0  75   0 100 100   0  55¢    75 100   0 100  75  55   0   0]¢¢¢PROC MUS1()¢  [250   0   0 250   0   0 250   0¢     0 250   0   0 250   0   0 250¢     0   0 250   0   0 250   0   0]¢¢¢PROC SETUP()¢  Graphics(0)¢  Poke(82,0)¢  Poke(752,1)¢  PrintE(" ")¢  CH=(Peek(106)-40)*256¢  MoveBlock(CH+80,CHSTORE,272)¢  Zero(CH,8)¢  DL=PeekC(560)¢  SHI=Peek(106)-36¢  SLO=0¢  MoveBlock(DL,DLIST,29)¢  J=PeekC(88)¢  PokeC(DL+4,J)¢  PokeC(DL+13,SHI*256)¢  PokeC(DL+26,DL)¢  Zero(704,9)¢  Poke(DLI+2,0)¢  Poke(DLI+10,0)¢  Poke(DLI+15,0)¢  Poke(DLI+20,0)¢  Poke(DLI+25,0)¢  Poke(DLI+35,CH/256)¢  PokeC(512,DLI)¢  Poke(54286,192)¢  MoveBlock(1536,PLRVBI,160)¢  PM=Peek(106)-16¢  DRB=PM*256+1¢  Zero(DRB+1024,1024)¢  Poke(623,4)¢  Poke(559,62)¢  Poke(1788,PM+4)¢  Poke(53277,3)¢  Poke(54279,PM)¢  Poke(1771,PM)¢  PL=16¢  Poke(1785,3)¢  PD=1¢  Poke(1773,1)¢  SKY=6¢  SKX=0¢  Poke(1786,6)¢  Poke(1774,0)¢  Poke(1787,1)¢  Poke(1775,1)¢  MoveBlock(DRB,GPIX,240)¢  MoveBlock(DRB+511,SPIX,30)¢  FOR J=DRB TO DRB+2 DO¢    Poke(J+256,56)¢    Poke(J+512+255,60)¢  OD¢  POKEC(548,PLRVBI) ¢RETURN¢¢¢PROC OXY()¢  Color=32¢  Plot(38,2)¢  DrawTo(AIR/200+5,2)¢RETURN¢¢¢PROC LIFE()¢  Color=32¢  Plot(38,1)¢  DrawTo(STR/6-2,1)¢RETURN¢¢¢PROC PLAY()¢  V==+2¢  IF V>15 THEN¢    N==+1 V=0 ¢    Sound(0,0,0,0)¢    Sound(1,0,0,0)¢  FI¢  IF N=24 THEN¢    N=0¢  FI¢  J=Peek(MUS+N)¢  IF J>0 THEN¢    Sound(0,J,12,15-V)¢  FI¢  J=Peek(MUS1+N)¢  IF J>0 THEN¢    Sound(1,J,10,15-V)¢  FI¢  RETURN¢¢¢PROC MOVE()¢  PLY==+Y1¢  P==+X1¢  Poke(53248,P)¢  Poke(53249,P)¢  Poke(1781,PLY+15)¢  Poke(704,15)¢  IF PPC=6 THEN¢    STR==-1¢    Poke(704,70)¢    LIFE()¢  FI¢  IF PPC=10 OR PPC=8 THEN¢    STR==-25¢    Poke(53251,0)¢    DART=0¢    LIFE()¢  FI¢RETURN¢¢¢PROC SRTDRT()¢  DART=0¢  Poke(53251,0)¢  DAX=Rand(50)+100¢  DAY=0¢RETURN¢¢¢PROC BANG()¢  DAX=DAX+DX¢  Poke(53251,DAX)¢  IF DAX=2 OR DAX=252 THEN¢    DART=0¢    SRTDRT()¢  FI¢RETURN¢¢¢PROC SKYLER()¢  IF SCT=SSP THEN¢    SCT=0¢    IF SKX MOD SAC=0 THEN¢      SX=0¢      SY=0¢      IF SKX<P THEN¢        SX=1¢      FI¢      IF SKX>P THEN¢        SX=-1¢      FI¢      IF SKY<PLY THEN¢        SY=1¢      FI¢      IF SKY>PLY THEN¢        SY=-1¢      FI¢    FI¢    SPIC==+1¢    IF SPIC=5 THEN¢      SPIC=1¢    FI¢    Poke(1774,SPIC*6)¢    SKY==+SY¢    SKX==+SX¢    Poke(53250,SKX)¢  FI¢  SCT==+1¢RETURN¢¢¢PROC WAY()¢  X1=0¢  Y1=0¢  IF S=14 THEN¢    Y1=-1¢    LO=1¢    HI=4¢  FI¢  IF S=13 THEN¢    Y1=1¢    LO=1¢    HI=4¢  FI¢  IF S=7 THEN¢    X1=1¢    LO=5¢    HI=8¢  FI¢  IF S=11 THEN¢    X1=-1¢    LO=9¢    HI=12¢  FI¢  IF X1<>0 THEN¢    K=X1¢  FI¢RETURN¢¢¢PROC LEGAL()¢  IF PC=0 THEN¢    Y1=1¢    X1=0¢  FI¢  IF PC=1 OR PC=9 THEN¢    Y1=0¢  FI¢  IF PC=2 THEN¢    P==-K¢    Y1=1¢    X1=0¢  FI¢  IF PC=3 THEN¢    Y1=-1¢  FI¢  IF PC=4 OR PC=6 THEN¢    X1=0¢  FI¢  IF P<48 THEN¢    P=48¢  FI¢  IF P>202 THEN¢    P=202¢  FI¢RETURN¢¢¢PROC ANIMATE()¢  IF S=15 THEN¢    IF PC=1 OR PC=5 OR PC=9 THEN¢      PD=DRW¢    FI¢    IF PC=0 THEN¢      PD=DRW+16¢    FI¢  FI¢  IF PC=1 OR PC=9 THEN¢    IF S=13 OR S=14 THEN¢      PD=DRW+208¢      S=15¢    FI¢  FI¢  IF (S=7 OR S=11) AND¢     (PC=4 OR PC=6) THEN¢    S=15¢  FI¢  IF S<>15 THEN¢    IF (X1<>0 AND P MOD 2=0) OR¢       (PC<>0 AND Y1<>0 AND¢        PLY MOD 3=0) OR¢       (PC=0 AND (S=7 OR S=11)) THEN¢      PIC==+1¢    FI¢    IF PIC<LO OR PIC>HI THEN¢      PIC=LO¢    FI¢    PD=DRW+PIC*16¢  FI¢RETURN¢¢¢PROC JUMP()¢  IF X1=1 THEN¢    PD=DRW+96¢  FI¢  IF X1=-1 THEN¢    PD=DRW+160¢  FI¢  FOR I=1 TO 40 DO¢    IF I>35 THEN¢      Y1=2¢    FI¢    IF I<19 THEN¢      Y1=1¢    FI¢    IF I<11 THEN¢      Y1=0¢    FI¢    IF I<8 THEN¢      Y1=-1¢    FI¢    IF I<4 THEN¢      Y1=-2¢    FI¢    Poke(53278,0)¢    FOR J=1 TO 750 DO OD¢    IF (PC=4 OR PC=6) AND I>10 THEN¢      PD=DRW+32¢    FI¢    IF PC>0 AND PC<>2 AND I>10 THEN¢      RETURN¢    FI¢    IF PLY=189 OR STR<54 THEN¢      RETURN¢    FI¢    IF P<48 OR P>202 THEN¢      X1=-X1¢      K=X1¢    FI¢    IF PC=2 THEN¢      X1=-X1¢    FI¢    MOVE()¢    SKYLER()¢    PLAY()¢    IF DART=1 THEN¢      BANG()¢    FI¢  OD¢RETURN¢¢¢PROC DN()¢  SndRst()¢  FOR S=1 TO 6 DO¢    FOR I=0 TO 15 DO¢      Poke(54277,I)¢      PLY==-1¢      SKY==-1¢      DAY==-1¢      Poke(1781,PLY+15)¢      FOR J=1 TO 100 DO OD¢    OD¢    Poke(54277,0)¢    SLO==+40¢    IF SLO<40 THEN¢      SHI==+1¢    FI¢    Poke(DL+13,SLO)¢    Poke(DL+14,SHI)¢  OD¢  SRTDRT()¢  SC==-10¢RETURN¢¢¢PROC UP()¢  SndRst()¢  FOR S=1 TO 6 DO¢    Poke(54277,15)¢    SLO==-40¢    IF SLO>215 THEN¢      SHI==-1¢    FI¢    Poke(DL+13,SLO)¢    Poke(DL+14,SHI)¢    I=15¢    FOR Y=1 TO 16 DO¢      Poke(54277,I)¢      I==-1¢      PLY==+1¢      SKY==+1¢      DAY==+1¢      Poke(1781,PLY+15)¢      FOR J=1 TO 100 DO OD¢    OD¢  OD¢  SRTDRT()¢  SC==+10¢RETURN¢¢¢PROC FADEIN()¢  FOR I=0 TO 15 DO¢    Poke(704,I)¢    Poke(707,I)¢    Poke(710,I)¢    IF I<5 THEN¢      Poke(DLI+20,64+I)¢    FI¢    IF I<5 THEN¢      Poke(712,144+I)¢    FI¢    IF I<7 THEN¢      Poke(DLI+10,48+I)¢      Poke(709,I)¢    FI¢    IF I<9 THEN¢      Poke(DLI+2,48+I)¢      Poke(706,I)¢    FI¢    IF I<11 THEN¢      Poke(DLI+15,I)¢    FI¢    IF I<13 THEN¢      Poke(708,32+I)¢    FI¢    FOR J=1 TO 2000 DO OD¢    Sound(0,200,8,15-I)¢  OD¢RETURN¢¢¢PROC PLRGO()¢  FOR I=0 TO 3 DO¢    Poke(704+I,0)¢    Poke(53248+I,0)¢  OD¢  DN()¢  PLY=200¢  DN()¢  Poke(559,0)¢  Poke(712,0)¢  UP()¢  PLY=50¢  UP()¢RETURN¢¢¢PROC PAUSE()¢  Poke(764,255)¢  SndRst()¢  Position(27,0)¢  Print("PAUSED")¢  WHILE Peek(764)<>33 DO OD¢  Position(27,0)¢  Print("      ")¢  Poke(764,255)¢RETURN¢¢¢PROC TITLE()¢  SndRst()¢  J=PeekC(88)¢  Poke(77,0)¢  Poke(88,SLO-40)¢  Poke(89,SHI-1)¢  Print("***>   B*C          ")¢  Print("             A******")¢  Print("***C    3           ")¢  Print("             B******")¢  Print("***                 ")¢  Print("              4B****")¢  Print("**C     + + ++> +   ")¢  Print("+ A+> ++> ++>   3B**")¢  Print("*C      * * * * *   ")¢  Print("* * * * * *B*     B*")¢  Print("*>      * * *+C * + ")¢  Print("* *+* *+C * *      *")¢  Print("**      *>* *   *>*A")¢  Print("* * * *B> *A*     A*")¢  Print("**>     B*C *   B***")¢  Print("C * * * B>**C    A**")¢  Print("B**+++++++++++++++++")¢  Print("+++++++++++++++++**C")¢  Print(" 3456789876543456789")¢  Print("8987654345678987653 ")¢  Zero(SHI*256+400,600)¢  PokeC(88,J)¢  Print("}       רסתIJפג")¢  Position(4,1)¢  Print("Copyright 1985 ")¢  Print("ANALOG Computing")¢  IF HSC=0 THEN¢    Position(13,2)¢    Print("By Greg Knauss")¢  FI¢  IF HSC>0 THEN¢    Position(13,2)¢    Print("High Score: ")¢    PrintC(HSC)¢  FI¢  AIR=6600¢  STR=246¢  SN=1¢  N=0¢  V=0¢  P=183¢  PLY=187¢  S=15¢  PIC=0¢  MOVE()¢  FADEIN()¢  FOR L=1 TO 5 DO¢  PLY=187¢    PD=DRW+208¢    FOR J=1 TO 10000 DO OD¢    PD=DRW¢    FOR J=1 TO 10000 DO OD¢  OD¢  SRTDRT()¢  S=11¢  WHILE Peek(53279)<>6 AND¢        STrig(0)<>0 DO¢    AIR=6600¢    STR=246¢    IF P=190 THEN¢      S=11¢    FI¢    IF P=58 THEN¢      S=7¢    FI¢    PLY=187¢    WAY()¢    MOVE()¢    ANIMATE()¢    SKYLER()¢    PLAY()¢    Poke(53278,0)¢    FOR J=1 TO 700 DO OD¢    IF Peek(53279)=5 THEN¢      SSP==-1¢      SCT=0¢      IF SSP=0 THEN¢        SSP=3¢      FI¢      SndRst()¢      FOR J=1 TO 250 DO¢        Sound(0,J,10,15-J/16)¢      OD¢    FI¢    IF Peek(53279)=3 THEN¢      SAC==-20¢      IF SAC=0 THEN¢        SAC=80¢      FI¢      SndRst()¢      FOR J=1 TO 250 DO¢        Sound(0,250-J,10,15-J/16)¢      OD¢    FI¢    IF P=DAX AND DART=0¢             AND DAY=0 THEN¢      DART=1¢      DAY=Rand(100)+75¢      DX=Rand(2)¢      IF DX=0 THEN¢        DX=-3¢        DAX=245¢      FI¢      IF DX=1 THEN¢        DX=3¢        DAX=3¢      FI¢    FI¢    IF DART=1 THEN¢      BANG()¢    FI¢    IF DART=0 THEN¢      SRTDRT()¢    FI¢  OD¢  SC=110¢  PLRGO()¢  SHI=SHI+4¢  Poke(DL+14,SHI)¢RETURN¢¢¢PROC ERR()¢  Close(1)¢  IF SN=1 THEN¢    Position(0,1)¢    Print(" Please insert a ")¢    PrintE("disk with Upward sets ")¢    Print("    present and press")¢    Print(" the á⌠≥Θττσ≥á.   ")¢    Poke(712,149)¢    Poke(559,62)¢    WHILE STrig(0)=1 DO OD¢    SSP==+1¢    SAC==+20¢    Poke(559,0)¢    Poke(712,0)¢  FI¢  SN=1¢  SSP==-1¢  IF SSP=0 THEN¢    SSP=1¢    SAC==-20¢    IF SAC=0 THEN¢      SAC=20¢      SSP=1¢    FI¢  FI¢  Open(1,"D:UPSET.A",4,0)¢RETURN¢¢¢PROC READSET()¢  IF LNS=0 THEN¢    Close(1)¢    LNS=1¢    Poke(ST+9,SN+64)¢    Error=ERR¢    Open(1,ST,4,0)¢    FOR J=0 TO 2999 DO¢      S=GetD(1)¢      Poke(SHI*256+J,S)¢    OD¢  FI¢  Close(1)¢  AIR=6600¢  STR=246¢  ES=0¢  Print("}       רסתIJפג")¢  Position(2,1)¢  Print("Str:áááááááááááááá")¢  Print("áááááááááááááááááá")¢  Position(2,2)¢  Print("Air:áááááááááááááá")¢  Print("áááááááááááááááááá")¢  FOR J=3000 TO 3079 DO¢    Poke(SHI*256+J,10)¢  OD¢  Poke(559,62)¢  FADEIN()¢  FOR P=1 TO 11 DO¢    DN()¢    PLY=200¢  OD¢  PD=DRW¢  Poke(704,0)¢  P=185¢  PLY=187¢  MOVE()¢  FOR I=0 TO 15 DO¢    Poke(704,I)¢    FOR J=1 TO 3000 DO OD¢  OD¢RETURN¢¢¢PROC GOGOGO()¢  DO¢    SETUP()¢    TITLE()¢    DO¢      READSET()¢      WHILE ES=0 DO¢        Poke(77,0)¢        IF PC=8 OR PC=10 OR PC=12 OR¢           STR<54 OR AIR<54 THEN¢          ES=1¢        FI¢        IF PLY<110 AND SLO=0 THEN¢          ES=2¢        FI¢        AIR==-1¢        IF AIR MOD 200=0 THEN¢          OXY()¢        FI¢        S=Stick(0)¢        WAY()¢        IF STrig(0)=0 AND PC<>0 AND¢           PC<>2 AND PC<>3 AND¢           PC<>8 THEN¢          JUMP()¢        FI¢        LEGAL()¢        MOVE()¢        SKYLER()¢        ANIMATE()¢        PLAY()¢        Poke(53278,0)¢        IF P=DAX AND DART=0 AND¢           DAY=0 THEN¢          DART=1¢          DAY=PLY+10¢          DX=Rand(2)¢          IF DX=0 THEN¢            DX=-3¢            DAX=245¢          FI¢          IF DX=1 THEN¢            DX=3¢            DAX=3¢          FI¢        FI¢        IF DART=1 THEN¢          BANG()¢        FI¢        IF PLY>189 THEN¢          DN()¢        FI¢        IF PLY<85 THEN¢          UP()¢        FI¢        FOR J=1 TO 700 DO OD¢        IF Peek(764)=33 THEN¢          PAUSE()¢        FI¢      OD¢      IF ES=2 THEN¢        SC==+(STR/3)+(AIR/100)¢        Poke(706,0)¢        Poke(707,0)¢        Position(25,0)¢        Print("SCORE: ")¢        PrintCE(SC)¢        Print("            ")¢        Print("Congratulations!")¢        PrintE("           ")¢        Print("  For next cavern ")¢        Print("press the á⌠≥Θττσ≥á.")¢        WHILE STrig(0)=1 DO¢          PD=DRW+16¢          X1=0¢          SKY=200¢          JUMP()¢          FOR J=1 TO 800 DO OD¢        OD¢        Zero(SHI*256+400,600)¢        PLRGO()¢        SC==+110¢        LNS=0¢        SN==+1¢      FI¢      UNTIL ES=1¢    OD¢    PD=DRW+16¢    FOR I=0 TO 15 DO¢      PL==-1¢      PLY==+1¢      Poke(704,15-I)¢      SKYLER()¢      IF DART=1 THEN¢        BANG()¢      FI¢      PLAY()¢      FOR J=1 TO 1000 DO OD¢    OD¢    S=0¢    WHILE STrig(0)=1 DO¢      SKYLER()¢      IF DART=1 THEN¢        BANG()¢      FI¢      PLAY()¢      S==+1¢      IF S=1 THEN¢        Position(21,0)¢        Print("    τβϕσ  ∩÷σ≥    ")¢      FI¢      IF S=100 THEN¢        Position(21,0)¢        Print("    SCORE: ")¢        PrintC(SC)¢        IF SC>HSC THEN¢          Print("¬")¢        FI¢        Print("   ")¢      FI¢      FOR DL=1 TO 800 DO OD¢    OD¢    IF SC>HSC THEN¢      HSC=SC¢    FI¢    IF SN>1 THEN LNS=0 FI¢  OD¢RETURN¢¢