Classic Computer Magazine Archive Article from Compute! magazine

"Acrobat" is a realistic, fast-moving arcade-style game. You must guide your alter ego on a perilous journey through mountains, jungles, and underground caves, while avoiding numerous obstacles by jumping, flipping, or sliding under them. You can select any of three different speeds to start off with, but the action will get faster and harder with each new level you reach. Acrobat will challenge your sense of timing as well as your reflexes. Versions for Atari, Commodore 64, and VIC.


The playing field of "Acrobat" is divided into two sections. The top of the screen contains your man, the obstacles, and the background scenery. The scoreboard is located at the bottom of the screen. It contains your current score, the high score so far, and at the far right, the number of men you have left. You begin the game standing in the middle of a mountain valley, ready for your journey.
    At the beginning of each game, you can choose between three levels of difficulty by pressing the corresponding number. Level 1 is the easiest. Level 3 is almost impossible.
    After you have chosen the difficulty level, press the START button or push the joystick in any direction to start the game.

The Unstoppable Runner
After you have started the game, your man will begin to run. He runs forward automatically, and he cannot be stopped. You must maneuver past the various obstacles that come at you. You can push the joystick forward to jump, backward to slide, or press the joystick button to flip. If you manage to stay alive long enough, you will advance a level, and face new challenges. If you touch any of the obstacles, you will collapse in a heap and lose a man. Push the joystick in any direction to continue. You will receive a free man when you reach 2000 points, and at every 1000 points thereafter.
    You receive points for everything you do. You get 20 points for a jump, 10 points for a slide, 10 points for a flip, and 2 points for every step you take forward. Your score is updated periodically throughout the game.

Special Features
You will advance a level after playing for a certain length of time. The screen is redrawn and you are placed into a new setting. Bonus points are also awarded depending on the number of men you have left. Push the joystick in any direction, or push START to begin running again.
    You can also pause Acrobat while you are running. Simply press the space bar. Press CTRL-S or the joystick button to begin again.
    Press START to restart the entire game at any time except during a pause.

Programming Techniques
Acrobat uses several special features of the Atari computers. High speed player/missile graphics and horizontal scrolling create an effective illusion of movement. Vertical blank interrupts, custom display modes, machine language routines, and numerous sound effects are also used to enhance the game.
    The routine at line 30000 appeared in the article "Extending Player Missile Graphics" (COMPUTE!, October 1981). This short but extremely powerful routine changes the shape of a player at machine language speed. This helps create smooth animation with just one player. I've used this method throughout the program to animate the acrobat and change the shapes of the obstacles. The data for the different shapes of the acrobat are stored in RAM, and their locations are placed into the array PI(). The data for the numerous obstacles are likewise tucked away in safe RAM, and their locations are placed in the array OB().
    The second machine language routine in the program starts at line 30700. This is a slightly modified version of one that appeared in ANTIC (June 1982). This routine moves the obstacles horizontally during the Vertical Blank Interrupt, which occurs 60 times per second. Once this routine is set up and called, it will operate continuously until told to stop.
    Coarse horizontal scrolling occurs in the subroutine at line 90. Line 50 determines the address of screen memory, and stores it in the variable DL4. Then, in line 90, the value stored in DL4, PDL4, is increased and checked to see if it is too high. If it is, PDL4 is set equal to a much lower number. This causes a wraparound effect. Line 125 POKEs PDL4 into DL4, which causes the top half of the GRAPHICS 8 screen to scroll.
    Be very careful typing in lines 27000 to 27070. This subroutine uses the Atari forced read mode to erase certain lines after they are not needed anymore. This increases the amount of memory available before going into GRAPHICS 8. If you have a full 40K-64K system, you can replace these lines with 27000 RETURN. If you need to type this section in, be sure to save the program before running it. If you forget to save, you will lose almost half of what you had typed in.
    If you would rather not spend the time typing in Acrobat, I will make a copy (Atari version only) if you send me a blank tape or disk, a self-addressed, stamped mailer, and $3.

Peter Rizzuto
9 Idlebrook Lane
Aberdeen, NJ 07747

Notes For Commodore Versions

The Commodore versions of "Acrobat" have the same goal as the Atari version; you must slide, flip, and jump to avoid anything that gets in your way.
    Both the VIC-20 and Commodore 64 versions use the keyboard rather than the joystick. This permits a more sensitive re sponse to the player. If you don't like the keys chosen, the 64 version allows you to make changes at the start of the program. This feature is not present in the VIC version, but changes can be made by altering the letters J, S, and F in lines 35-45 of Program 4.
    The VIC and 64 versions are written primarily in BASIC, with a machine language subroutine used for scrolling and placement of the obstacles.
    The 64 version (Program 2) contains an interrupt-driven subroutine to scroll the playfield smoothly. A single sprite is used for the acrobat. Its movement is simulated by continually changing the sprite data pointer (using the FOR-NEXT loop beginning at line 21) to point to each of the acrobat's d• different positions.

The Night Runner
An interesting addition to the 64 version is a night mode. Here your acrobat runs through the darkness with only a flashlight to light his path. You may have seen this effect in arcade racing games. This was done by filling the color RAM with black (to turn everything invisible) then placing a white sprite in front of the acrobat. To insure that screen objects would be visible in the light, the sprite-to-background display priority register was set to give the background priority over the spotlight sprite.
    The scoring of the 64 version is fairly straightforward. Each time the acrobat jumps over or slides under something, you are given 2 points. A flip, because it is much harder to control, is worth 5 points. Later in the game, a chicken will start flying on the screen. Every time you can avoid hitting the chicken, you are given an additional 10 points.
    An extra acrobat is awarded for every 100 points; a quick change of border color will indicate that an extra man was earned. The score will be shown only when you lose an acrobat.

VIC Autoload
The VIC version of Acrobat requires no memory expansion. The program is written in two parts (Programs 3 and 4) and chained to make efficient use of the small amount of memory present. Program 3 will automatically load and run Program 4 from disk. To use the programs with tape, change the 8 to a 1 in line 15 of Program 3, and be sure to save Program 4 immediately following Program 3 on the tape. For either disk or tape, you must save Program 4 with the name AC for the autoload feature to work properly. To avoid an OUT OF MEMORY error, do not add any extra spaces to the program lines when typing Programs 3 and 4.
    In this version, custom characters were used in place of sprites. Because of this, smooth horizontal scrolling was not possible.
    The VIC rules are slightly different from the 64 version. To make the game more challenging, the acrobat now moves forward. There will be a slight flash of the border color to warn that the acrobat will soon move.
    Scoring is as follows: For obstacles you jump over or slide under, you are given 2 points. Flips are worth 8 points, and for each block you move forward, you are given an additional bonus of 10 points.


Program 1: Atari Acrobat

Refer to "COMPUTEI's Guide For Typing In Programs"
article before typing this program in.

J1 10 GOSUB 19000:GOSUB 20000:GOSUB
      25000:GOSUB 20100:GOSUB 27000
A6 11 D=USR(1536):GOSUB 21000:GOSUB
      21220:GOSUB AD:POKE XP,X:GOSUB
      19500:13OTO WT
O1 12 D=USR(ML,MANY,PI(9)):GOSUB MO:
      RETURN
AC 20 D=USR(ML,OB2,OB(QW1)):QW1=QW1+
      O1:IF QW1>MAXQ THEN QW1=MINQ
EH 25 RETURN
AH 30 D=USR(ML,OB1,OB(QW)):QW=QW-01:
      IF QW<MINQ THEN QW=MAXQ
EE 31 RETURN
C0 40 POKE C6,O1:POKE C7,9:? SCORE:I
      F SCORE>ZIP THEN GOSUB 23500:R
      ETURN
EF 41 RETURN
OC 50 DL=PEEK(560)+256*PEEK(561):DL4
      =DL+Z:PDL4=PEEK(DL4):POKE DL+1
      31,13:POKE DL+132,J:POKE DC,U:
      POKE 708,44
LA 55 GOSUB SY:RETURN
GE 90 ST=STICK(0):PDL4=PDL4+J:IF PDL
      4>120 THEN PDL4=81:SC=SC+01
DL 100 IF LEVEL<200 THEN IF PEEK(X1P
       )<25 THEN POKE X1P,220:GOSUB
       B2
DP 110 IF LEVEL>100 THEN IF PEEK(X1P
       )>220 THEN POKE X1P,25:GOSUB
       B2
CO 120 IF PEEK (X2P)<30 THEN POKE X2P
       ,255:GOSUB 30
OF 125 POKE DL4,PDL4:RETURN
DC 200 GOSUB MO:SOUND J,150-Y,8,Z:GO
       SUB 12:SCORE=SCORE+B2:YF=Y:FO
       R Q=01 TO K:YF=YF-J:F=5:GOSUB
        JUM:NEXT Q
DJ 205 SOUND J,150-YF,8,Z:FOR Q=O1 T
       O K:YF=YF-J:F=6:GOSUB JUM:NEX
       T Q:SOUND J,150-YF,B,Z:GOSUB
       40:FOR Q=O1 TO 6
JN 215 YF=YF+J:F=7:GOSUB JUM:NEXT Q:
       SOUND J,150-YF,8,Z:F=K:SOUND
       J,O,O,O:GOSUB JUM
GE 240 F=Z:IF PEEK(CO) THEN 10000
AK 245 D=USR(ML,MANY,PI(F)):POKE RES
       ,O:SOUND 1,O,O,O:RETURN
FE 250 D=USR(ML,MAN+YF,PI(F)):GOSUB
       MO:SOUND O1,170-YF,E,J:RETURN
EN 300 GOSUB MO:GOSUB U:SOUND J,170-
       Y,8,Z:SCORE=SCORE+E:YF=Y
GI 305 FOR A=01 TO J:FOR F=11 TO 14:
       YF=YF-J:GOSUB JUM:NEXT F:NEXT
        A:SOUND J,170-YF,8,Z:GOSUB 40
EE 310 FOR A=01 TO J:FOR F=11 TO 14:
       YF=YF+J:GOSUB JUM:NEXT F:NEXT
        A:SOUND J,O,O,O:GOTO 240
GI 315 GOTO 240
PG 2000 GOSUB MO:D=USR(ML,MANY,PI(F)
        ):IF PEEK(STA)=6 THEN 11100
PL 2005 IF PEEK(KEY)=33 THEN GOSUB 1
        3000
JF 2010 SOUND O1,231+F,E,E:SOUND 01,
        O,O,O
PP 2015 IF PEEK(CO) THEN GOSUB 10000
BC 2020 IF ST=13 THEN GOSUB 8000
OC 2025 IF ST=14 THEN GOSUB 200
EL 2030 IF STPIG(O)=O THEN GOSUB 300
LD 2035 IF SC>7 THEN MAXQ=MAXQ+01:MI
        NQ=MINQ+O1:SC=O:IF MAXQ>LIMI
        T THEN 24000
BD 2040 F=F+01:IF F>Z THEN F=O1
KK 2045 SCORE=SCORE+J:GOTO 2000
EA 8000 SCORE=SCORE+E:D=USR(ML,MANY,
        PI(16)):GOSUB MO
CO 8010 FOR T=O1 TO 7:D=USR(ML,MANY,
        PI(17)):GOSUB MO:NEXT T:GOSU
        B 40:D=USR(ML,MANY,PI(16)):F
        =O1:RETURN
EN 9000 SOUND O1,INT(RND(O)*40),E,J:
        RETURN
OP 9100 POKE XlP,O:POKE X2P, 30:POKE
        G8,O:POKE G9,O:POKE 53249,O:
        POKE 53251,30:POKE 705,BACKC
        :POKE 707,BACKC:RETURN
CH 9200 POKE 705,U:POKE 707,136:POKE
         G8,O1:POKE G9,O1:RETURN
GC 9500 RETURN :READ A,I,R,L:IF A=-O
        1 THEN GOSUB 14000:RETURN
AN 9510 SOUND O,A,E,6:SOUND O1,I,E,6
        :SOUND J,R,E,Z:FOR I=O1 TO L
        :NEXT I:GOTO 9500
AP 10000 GOSUB 14000:D=USR(ML,MANY,P
         I(E)):LI=LI-O1:GOSUB SY:D=U
         SR(ML,MANY,EX(O1))
KB 10005 FOR I=O1 TO K:D=USR(ML,MANY
         ,EX(I)):FOR A=O1 TO 8:NEXT
         A:NEXT I:FOR I=O1 TO 65:NEX
         T I
J0 10010 D=USR(ML,MANY,EX(Z)):SOUND
         O1,255,8,8:GOSUB SY:POKE CC
         ,K:POKE C7,36:POKE C6,O1:?
         LI:SOUND O1,O,O,O:IF LI=O T
         HEN 11000
IM 10012 FOR I=O1 TO 50:NEXT I:RESTO
         RE 31700:GOSUB 9500
HJ 10015 IF PEEK(STA)=6 THEN 11100
GJ 10020 IF STICK(O)=15 THEN 10015
OA 10025 POKE RES,O:GOSUB GO:POKE CC
         ,K:ST=15:RETURN
AD 11000 POKE C6,K:POKE C7,K:? "{RVS}****
         *********GAME OVER!*******
         ****{OFF}{U}":POKE,C6,O1
IK 11002 FOR I=O1 TO 50:NEXT I:RESTO
         RE 31500:GOSUB    9500
IK 11005 IF STRIG(O)=O OR PEEK(STA)=
         6 THEN SOUND O1,O,O,O:POKE
         RES,O:GOTO 11100
KG 11010 GOSUB 9000: GOTO 11005
DL 11100 Q=O1:QW1=O1:F=E:MINQ=O1:MA
         XQ=J:LI=K:SC=O:X=120:LIMIT=
         6:BACKC=96:LEV=O1:SPED=197
JK 11105 POKE BC,BACKC:POKE PC,BACKC
         :GOSUB SY:POKE XP,O
IB 11110 POKE DC,BACKC:POKE DL+131,1
         5:GOSUB SY:POKE XP,C:POKE
         552,198:POKE 1554,197:POKE
         1565,198:POKE 1567,197
HC 11120 POKE DL4,80:GOSUB 21220:GOS
         UB 21038:IF SCORE>HI THEN H
         I=SCORE
LN 11125 POKE C6,O1:POKE C7,26:? HI:
         SCORE=O:POKE DC,U:POKE DL+1
         31,13:IF LEVEL=O THEN 11130
KL 11128 RESTORE 31000+LEVEL:COLOR:O
         :GOSUB 15000:RESTORE 31000:
         COLOR O1:GOSUB 15000
IH 11130 LEVEL=O:POKE XP,X:GOSUB AD:
         GOSUB 19500
BH 12000 IF STICK:(O)<>15 OR PEEK(STA
         )=6 THEN 12030
LJ 12005 IF SCORE>O THEN 12025
IL 12010 IF PEEK(KEY)=31 THEN POKE C
         6,K:POKE C7,31:? "{UP}":TY
         P=01:POKE 1554,197:SPED=197
FL 12015 IF PEEK(KEY)=30 THEN POKE C
         6,K:POKE 07,31:? "2{UP}":TY
         P=J:POKE 1554,198:SPED=197
FP 12020 IF PEEK(KEY)=26 THEN POKE C
         6,K:POKE C7,31:? "3{UP}":TY
         P=J:POKE 1554,198:SPED=198
CP 12025 POKE RES,O:GCSUB 9000:GOTO
         WT
GG 12030 SOUND O1,O,O,O:POKE KEY,255
         GOSUB 19505:RESTORE 31800:
         GOSUB 9500:GOSUB GO:POKE CC
         ,K:GOSUB 300:GOTO 2040
KF 13000 POKE KEY. 255:D=USR(ML,MANY,
         PI(E)):GOSUB 14000:POKE G8,
         O:POKE G9,O
IN 13005 IF PEEK(KEY)<>190 AND STRIG
         (O)=1 THEN 13005
OG 13010 POKE RES,O:POKE KEY,255:POK
         E G8,O1:POKE G9,O1:RETURN
AJ 14000 SOUND O,O,O,O:SOUND O1,O,O,
         O:SOUND J,O,O,O:SOUND K,O,O
         ,O:RETURN
FB 15000 READ XC,YC:PLOT XC,YC
IC 15010 READ XC,YC:IF XC=-O1 THEN G
         OSUB 140600: RETURN
OO 15015 IF XC=-9 THEN 15000
PP 15020 DRAWTO XC,YC: IF XC>255 THEN
         XC=XC-755:SOUND O,XC,E,J:G
         OTO 15010
AJ 15025 SOUND 0,XC,10,J:GOTO 15010
PL 16000 POKE XF,O:POKE 53249,O:POKE
         532500,O:POKE 53251,O
MC 16005 POKE 559,62:POKE PC,BACKC:P
         OKE DC,BACKC:POKE BC,BACKC:
         POKE 752,O1:COLOR O1:RETURN
EE 16010 A=PEEK(16):IF A=128 THEN RE
         TURN
Ik 16015 POKE 16,A-128:POKE 53774,A-
         128:RETURN
HC 17000 ? "{CLEAR}":IF LEV>9 THEN P
         OKE C6,J:POKE 07,9:? "You a
         re too good for me!":POKE D
         C, U:LEVEL=200:GOTO 11000
NI 17001 POSITION O1,O1:? "{Q}{35 R}
         {E}":POSITION O1,J:? "|
         {6 SPACES}Now advancing to
         Level ";LEV:
PJ 17002 ? "{5 SPACES}:"
PA 17005 POSITION O1,K:? "{Z}{35 R}
         {C}":POKE C6,O1:POKE C7,O1:
         RETURN
K0 17500 A=100*LI/5:FOR I=O1 TO 5:SC
         ORE=SCORE+A:POKE C6,O1:POKE
         C7,9:? SCORE;:FOR R=O1 TO
         20:SOUND O,40-R*J,E,8
PN 17505 NEXT R:NEXT I:POKE C6,O1:RE
         TURN
IB 19000 GRAPHICS 0:GOSUB 16010:POKE
         752,1:DL=PEEK(560)+PEEK(56
         1)*256:DL=DL+4:POKE 709,96:
         POKE 710,96:POKE 712,96
JA 19005 POKE DL+16,6:POKE DL+17,6:P
         OKE DL+28,65:POKE DL+29,PEE
         K(560):POKE DL+30,PEEK(561)
         :? "{CLEAR}"
BE 19011 POSITION 11,20:? "ONE MOMEN
         T PLEASE..."
BN 19015 POSITION 4,7:? "{Q}{2 R}
         {E} {Q}{2 R} {Q}{2 R}{E}
         {Q}{2 R}{E} {Q}){R}{E} {Q}
         {2 R}{E} {R}{W}{R}":POSITIO
         N 4,8:? "|  | |{3 SPACES}:
          | |  | | |  |  |  |"
AG 19020 POSITION 4,9:? "{A}{2 R}
         {D} |{3 SPACES}{A}{R}{W}
         {C} |  | {A}{R}{X}{E} {A}
         {2 R}{D}  |":POSITION 4,10:
         ? "|  | |{3 SPACES}| {Z}
         {E} |  | |  | |  |  |"
AN 19025 POSITION 4,11:? "{X} {X}
         {Z}{2 R} {X} {X} {Z}{2 R}
         {C} {Z}{2 R}{C} {X} {X}
         {X}":POKE 709,10:RETURN
EO 19500 POKE C6,3:POKE 07,8:? "Sele
         ct Difficulty ---> 1{UP}":T
         YP=1:RETURN
EF 19505 POKE C6,3:POKE C7,8:? "
         {24 SPACES}{UP}":RETURN
KK 20000 X=120:Y=141:F=10:QW=1:QW1=Q
         W:LI=3:HI=0:SCORE=HI:SC=HI:
         ML=1600:DIM PI(18),OB(17),E
         X(4):06=656:07=657:Z=4
AH 20005 XP=53248:X1P=206:X2P=207:MO
         =90:SY=9100:GO=9200:O=0:O1=
         1:PC=710:BC=712:DC=709:CO=5
         3260:J=2:G8=208:G9=209
PF 20010 STA=53279:CC=53278:RES=77:K
         EY=764:B2=20:WT=12000:AD=50
         :JUM=250:SPED=197:LEV=1:ZIP
         =2000:K=3:E=10:U=12
PM 20015 FOR A=1600 TO 1624:READ I:P
         OKE A,I:NEXT A:FOR A=260 TO
         419:READ I:POKE A,I:NEXT A
IF 20020 FOR A=1650 TO 1777:READ I:P
         OKE A,I:NEXT A:FOR A=O1 TO
         18:READ I:PI(A)=I:NEXT A
AE 20025 A=PEEK(106)-40:POKE 54279,A
         :P=256*A:POKE 559.62:POKE 6
         23,O1:POKE 53277,3:POKE XP,
         O:POKE 704,30
EE 20030 MAN=P+1024:MANY=MAN+Y:OBl=P
         +1280+141:OB2=P+1792+141:FO
         R I=MAN TO P+1536:POKE 1,0:
         NEXT I
KK 20035 FOR I=P+1792 TO P+2048:POKE
         I,O:NEXT I:RETURN
NJ 20100 FOR A=P TO P+191:READ I:POK
         E A,I:NEXT A
CC 20105 C=O1:FOR A=P TO P+159 STEP
         16:OB(C)=A:C=C+O1:NEXT A:OB
         (11)=OB(8):OB(U)=OB(7)
EM 20110 FOR I=P+400 TO P+463:READ A
         :POKE I,A:NEXT I:C=O1:FOR I
         =P+400 TO P+463 STEP 16:EX(
         C)=I:C=C+O1:NEXT I
FI 20115 FOR I=P+200 TO P+247:READ A
         :POKE I,A:NEXT I:OB(1-)=P+2
         32:OB(14)=OB(O1):OB(15)=P+2
         16:OB(16)=P+200:OB(17)=0B(O
         1)
PI 20120 RESTORE 30700:FOR I=1536 TO
          1576:READ A:POKE I,A:NEXT
         I:POKE GB,O:POKE G9,0:POKE
         XIP,O:POKE X2P,B2:RETURN
MI 21000 GRAPHICS 8:GOSUB 16010:LEVE
         L=O:BACKC=96:GOSUB 16000:PO
         KE DC,U
HA 21005 MINQ=O1:MAXQ=J:SC=O:LIMIT=6
         :POKE 1552,198:RESTORE 3100
         O:GOSUB 15000
CA 21010 FOR I=O1 TO 319 STEP J:PLOT
          I,124:DRAWTO I,125:NEXT I:
         FOR I=J TO 318 STEP J:PLOT
         I,132:DRAWTO I,149:NEXT I
CP 21015 POKE DC,BACKC
KG 21038 ? "{CLEAR}":POSITION O1,O1:
         ? "{Q}{31 R}{W}{3 R}{E}":PO
         SITION O1,3:? "|{RVS}SCORE{OFF}:0";
GB 21040 ? "{7 SPACES}{RVS}HI SCORE{OFF}:0
         {7 SPACES}| 3 |":POSITION O
         1,Z:? "{Z}{31 R}{X}{3 R)
         {C}":RETURN
LK 21220 D=USR(ML,OBI,OB(QW)):D=USR(
         ML,MANY,PI(F)):D=USR(ML,OB2
         ,OB(QW)):RETURN
KC 22000 BACKC=196:GOSUB 16000:GOSUB
         SY:GOSUB 17000:POKE DC,U:C
         OLOR O:RESTORE 31000:GOSUB
         15000:COLOR O1
LO 22010 RESTORE 31100:GOSUB 15000
GE 22020 MINQ=7:MAXQ=S:QW=MINQ:QWI=Q
         W:SC=O:LIMIT=U:F=E:POKE 155
         2,198:POKE 1567,SPED:IF LEV
         =5 THEN LIMIT=E
JG 22030 POKE DC, BACKC:GOSUB 21038:G
         OSUB 21,220
AK 22035 POKE C6,O1:POKE C7,9:? SCOR
         E;:POKE C7,26:? HI;:POKE C7
         ,36:? LI
PL 22040 POKE DL4, 80:D=USR(ML,MANY,P
         I(E)):GOSUB SY:POKE XF,120:
         POKE CC,K:POKE DC,U:GOSUB A
         D:GOSUB 17500:GOTO WT
FD 22100 BACKC=O:GOSUB 16000:GOSUB S
         Y:GOSUB 17000:POKE DC,U:COL
         OR O:RESTORE 31100:GOSUB 15
         000:COLOR O1
MA 22110 RESTORE 31200:GOSUB 15000
MK 22120 MINQ=13:MAXQ=14:QW=MINQ:QW1
         =QW:SC=O:LIMIT=17:F=10:POKE
          1552,230:IF SPED=198 OR TY
         P=2 THEN POKE 1554,230
CM 22125 GOTO 22030
BE 23500 POKE PC,14:POKE BC,14:LI=LI
         +O1:ZIP=ZIP+1000:POKE C6,O1
         :POKE C7,36:? LI;"{UP}":POK
         E PC,BACKC:POKE BC,BACKC:RE
         TURN
IO 24000 LEV=LEV+O1:LEVEL=LEVEL+100:
         IF LEVEL>200 THEN POKE DL+1
         31,15:GOTO 24500
BK 24O10 POKE DL+131,15:GOTO 21900+L
         EVEL
DF 24500 BACKC=96:GOSUB 16000:GOSUB
         SY:GOSUB 17000:POKE DC,U
LB 24505 RESTORE 31000+LEVEL-100:COL
         OR O:GOSUB 15000:RESTORE 31
         000:COLOR O1:GOSUB 15000:SP
         ED=198
MM 24510 LEVEL=O:BACKC=96:POKE 1552,
         198:POKE 1554,198:MINQ=O1:M
         AXQ=J:QW=MINQ:QWI=QW:SC=O:L
         IMIT=Z:F=E:GOTO 22030
PC 25000 FOR I=30 TO 108 STEP J:POKE
          XP,I:D=USR(ML,MANY,PI(F)):
         F=F+O1:IF F>Z THEN F=O1
JB 25005 NEXT I:D=USR(ML,MANY,PI(9))
         :FOR A=O1 TO J:FOR F=11 TO
         14:Y=Y-J:I=I+J:POKE XP,I
PJ 25015 D=USR(ML,MAN+Y,PI(F)):NEXT
         F:NEXT A:FOR A=O1 TO J:FOR
         F=11 TO 14:Y=Y+J:I=I+J
IC 25020 POKE XP,I:D=USR(ML,MAN+Y,PI
         (F))-NEXT F:NEXT A:F=O1
KN 25025 FOR I=I+J TO 220 STEP J:POK
         E 53248,1:D=USR(ML,MANY,PI(
         F)):F=F+O1:IF F-Z THEN F=O1
JO 25030 NEXT I:F=E:RETURN
HD 27000 GRAPHICS O:POKE 752,O1:POKE
         710,96:POKE 712,96:POKE 70
         9,96:POKE 842,13:GOSUB 16010
PI 27005 ? "{CLEAR}":POSITION J,6:FO
         R I=30000 TO 30010:? I:NEXT
          I:? "CONT":POSITION O,O:ST
         OP
JC 27010 ? "{CLEAR}":POSITION J,6:FO
         R I=30080 TO 30098 STEP J:?
         I:NEXT I:? "CONT":POSITION
         O,O:STOP
LF 27015 ? "{CLEAR}":POSITION J,6:FO
         R I=25000 TO 25030 STEP 5:?
          I:NEXT I:FOR I=19000 TO 19
         025 STEP 5:? I:NEXT I:"? "CO
         NT"
LK 27020 POSITION O,O:STOP
JO 27025 ? "{CLEAR}":POSITION J,6:FO
         R I=20000 TO 20035 STEP 5:?
          I:NEXT I:FOR I=20100 TO 20
         120 STEP 5:? I:NEXT I:? "CO
         NT"
LL 27030 POSITION O,O:STOP
PE 27035 ? "{CLEAR}":POSIITION J.6:FO
         R I=27000 TO 27035 STEP 5: ?
          I:NEXT I:? "30700":? "3070
         2":? "GOTO 27070":POSITION
         O,O:STOP
HG 27070 POKE 842,12:RETURN
DM 30000 DATA 104,104,133,204,104,13
         3,203,104,133,209,104,133,2
         08,160,0,177,208,145,203,20
         0,192,16,208,247,96
GN 30001 DATA 12,12,8,56,90,156,24,3
         0,18,36,72,132,128,0,0,0,12
         ,12,8,56,88,94,88,24,20,18,
         226,130,3,0,0,0
ML 30002 DATA 12,12,8,24,24,24,24,24
         ,216,56,20,4,4,4,6,0,12,12,
         8,24,56,56,60,56,30,18,20.1
         6,16,16;24,0
IM 30003 DATA 0,0,24,24,18,52,56,50,
         53,56,48,32,64,128,0,0,0,0,
         12,12,8,24,60,91,24,24,158,
         113,0,0,0,0
LP 30004 DATA 0,0,12,12,8,24,26,28,1
         52,88,56,28,2,1,0,0,0,0,12,
         12,8,24,26,28,24,24,120,12,
         4,4,4,0
HD 30005 DATA 0,0,0,0,0,0,0,0,0,0,0,
         0,0,0,0,0,12,12,8,24,24,24,
         24,24,24,8,8,8,8,8,12,0
BC 30006 DATA 0,0,0,192,200,132,204,
         248,112,0,0,0,0,0,0,0,0,0,0
         ,24,4,2,102,108,16,0,0,0,0,
         0,0,0
PK 30007 DATA 0,0,0,14,31,51,33,19,1
         9,0,0,0,0,0,0,0,0,0,0,8,54,
         102,64,32,24,0,0,0,0,0,0,0
FJ 30008 DATA 48,48,16,28,26,122,26,
         24,40,72,71,65,192,0,0,0,0,
         0,96,96,64,100,56,48,48,58,
         29,24,15,0,0,0
GD 30009 DATA 0,0,0,0,0,0,0,0,0,0,19
         2,208,144,254,125,0,48,48,1
         6,24,28,28,60,28,120,72,40,
         8,8,8,24,0
JA 30010 DATA 260,276.292,308,324,34
         0,356,372,388,404,1650,0566
         ,1682,1698,1714,1730,1746,1
         762
HN 30080 DATA 0,0,0,0,0,0,0,0,0,0,0,
         8,28,62,127,0,0,0,0,0,0,0,0
         ,0,0,8,8,8,8,8,8,0
PF 30082 DATA 0,0,0,0,0,0,0,32,64,25
         5,64,32,0,0,0,0,0,0,0,0,0,0
         ,0,8,8,8.8,8,8,8,8,0
BH 30084 DATA 0,0.0,0,32,64,255,64,3
         2,0,0,0,0,0,0,0,0,0,0,0,0,0
         ,0,255,255,255,255,255,255,
         255,255,0
OM 30086 DATA 0,0,0,0,0,0,64,255,64,
         0,0,0,0,0,0,0,0,0,0,0,0,0,4
         8,88,60,4,8,16,34,37,25,0
KN 30088 DATA 0,0,0,0,96,109,255,28,
         12,6,0,0,0.0,0,0,0,0,0,48,1
         12,248,236,70,3,1,0,0,0,0,0
         ,0
FM 30090 DATA 0,0,0,0,0,0,0,0,0,0,0,
         30,247,255,66,0,0,0,0,0,24,
         60,126,219,126,0,0,0,0,0,0,
         0
PO 30092 DATA 12,12,24,24,24,24,24,2
         4,24,24,8,44,8,16,0,0,0,0,1
         24,24,24,24,24,24,8,
         4,4,56,0
FD 30094 DATA 0,0,0,0,12,31,27,27,24
         ,24,24,8,4,4,56,0,0,0,0,0,0
         ,0,0,4,14,11,9,9,11,11,59,0
MN 30096 DATA 0,0,0,0,0,0,0,0,0,0,25
         5,255,126,126,36,0,0,0,0,0,
         0,0,36,126,219,129,0,0,0,0,
         0,0
DE 30098 DATA 0,0,0,0,0,0,0,0,28,8,8
         ,28,28,28,28,0
NB 30700 DATA 104,160,10,162,6,169,7
         ,76,92,228,169,0,197,208,24
         0,9,198,206,197,206,166,206
         ,142,3,208
DM 30702 DATA 197,209,240,9,198,207,
         197,207,166,207,142,1,208,7
         6,98,228
ME 31000 DATA 1,93,56,55,62,55,100,9
         3,134,67,319,93,210,59,245,
         80,280,67,319,93,-1,-1
IO 31100 DATA 1,50,4,52,8,53,14,53,1
         9,57,23,58,29,57,39,60,45,6
         0,45,93,65,93,65,60,71,60,8
         1,57,87,58,91,57,96
AC 31102 DATA 53,104,53,108,52,111,5
         0,119,40,125,37,130,30,133,
         25,132,18,131,13,131,7,128,
         3,124,1,-9,-9
IG 31104 DATA 45,60,47,61,49,63,52,6
         2,56,63,58,61,60,59,63,61,6
         5,60,-9,-9
MC 31106 DATA 115,45,120,48,125,49,1
         34,49,140,54,145,56,155,56,
         155,93
AC 31108 DATA 175.93,175,56,185,56,1
         90,54,196,49,206,49,211,48,
         220,45,223,40,227,35,226.34
         ,-9,-9
DE 31110 DATA 155,56,159,57,165,56,1
         70,57,175,56,-9,-9
GC 31112 DATA 220,45,225,50,234,51,2
         40,50,250,54,253,54,253,93,
         273,93,273,54,280,52
CJ 31114 DATA 286,51,294,52,300,54,3
         07,53,310,51,319,48,-9,-9
EF 31116 DATA 319,48,315,46,312,44,3
         10,40,308,36,305,35,300,28,
         298,24,299,20,300,17,302,12
         303,6,305,2,308,1,-9,-9
NF 31118 DATA 253,54,259,55,266,54,2
         70,55,274,54,-1,-1
KG 31200 DATA 1,1,10,10,30,10,38,18,
         43,30,50,54,60,65,65,52,70,
         72,72,75,74,80,85,80,90,72,
         94,66,123,66,123,55,140,40
IO 31202 DATA 135,24,145,15,160,24,1
         80,12,170,40,191,82,200,62,
         206,70.213,60,200,40,207,35
         ,213.43,230,24,240,50
0K 31204 DATA 256,50,260,55,273,30,2
         80,44,275,60,290,50,295,55,
         300,20,319,1,-1,-1
IG 31500 DATA 204,0,0,147,217,0,0,18
         ,204,0,0,91,173,0,0,95,182,
         0,0,90,204,0,0,70
AJ 31502 DATA 217,144,0,25,204,136,1
         02,140,-1,0,0,0
IA 31700 DATA 102,0,0,40,114,0,0,40,
         128,0,0,40,136,0,0,40,0,0,0
         ,40,162,108,0,40,153,102,76
         ,80,-1,0,0,0
EL 31800 DATA 162,121,96,70,121,96,8
         1,35,162,121,96,70,121,96,8
         1,35,96,81,60,70,-1,0,0,0


Program 2: Commodore 64 Acrobat

Refer to "COMPUTE!'s Guide For Typing In Programs"
article before typing this program in.

1 POKE55,0:POKE51,0:POKE56,60:POKE52,60:C
  LR:POKE828,0                   :rem 155
3 L=54272:FORV=LTOL+24:POKEV,O:NEXT:POKEL
  +1,50:POKEL+24,143             :rem 128
5 POKEL+5,17:POKEL+6,0:SY=53253:POKE53252
  ,167:POKE 2042,255:POKE53277,4  :rem 57
7 GOSUB77:GOSUB365:SYS 16436:POKE53265,PE
  EK(53265)OR128                  :rem 11
9 GOSUB355:POKE53281,0:POKE53275,4:POKE53
  288,0                          :rem 188
11 POKE16645,15:PRINT"(CLR}":SYS 16610:PO
   KE832,0:POKE53289,0:POKE53271,4
                                 :rem 251
13 POKE53269,7:POKE53248,150:Y=53249:POKE
   Y,173:POKE53280,1              :rem 88
15 PRINT"{HOME}{18 DOWN}{GRN}[<40 £>]"
                                 :rem 218
17 LI=3:C=240:D=243:5=1:P=129:POKE828,0:D
   E=O:POKE16404,0:POKE53279,0:SC=O:Sl=0
                                   :rem 1
19 POKE53265,PEEK(53265)AND127:POKE53278,
   O:FM=99                       :rem 252
21 FORA=CTOD:POKEV1,A:POKEV2,P   :rem 188
23 PO=V3-PEEK(V4):IFPO<V5THENP0=V5
                                 :rem 188
25 POKEV6,PO:GETA$:IFA$=R$ANDQ<=.THENA=D:
   C=247:D=250:Q=9:S=.9:P=33:51=5 :rem 65
27 IFA$=J$ANDQ<=.THENA=D:Q=18:S=3:51=2
                                  :rem 31
29 IFA$=S$ANDQ<=.THENA=D:C=252:D=252:Q=.4
   :S=.07:P=128:51=2             :rem 142
31 IF(PEEK(V7)<>V9)OR(PEEK(V8)<>V9)THENSC
   =SC+Sl:Sl=.                   :rem 191
33 POKEV2,VA:POKEY,VB-Q:POKESY,VC-Q:Q=Q-S
   :IFQ<=.THENC=240:D=243:Q=0:P=129
                                 :rem 138
35 IF(PEEK(VD)ANDVF)THEN47        :rem 97
37 U=PEEK(V4)/VE:IFU=INT(U)THENPOKEVG,U+V
   H                             :rem 247
39 SC=SC+PEEK(VI):POKEVI,.       :rem 119
41 IFSC>FMTHENFM=FM+100:LI=LI+1:FORQQ=15T
O1STEP-1:POKE53280,QQ:NEXT        :rem 44
43 IF(PEEK(V7)<>V9)OR(PEEK(V8)<>V9)THENSC
=SC+Sl:Sl=.                      :rem 194
45 NEXT:GOTO 21    :rem 126
47 POKE53265,PEEK(53265)OR128:POKEL+6,88:
   POKE53269,3                     :rem 5
49 POKEL+4,33:FORZ=244TO246:POKE2040,Z:FO
   RTD=lT075:POKEL+1,TD:NEXT:NEXT :rem 28
51 POKE{2 SPACES}L+4,32:POKEL+6,0 :rem 67
53 PRINT"{WHT}{HOME}{20 DOWN}(14 SPACES}S
   CORE"SC                       :rem 183
55 POKE198,0:LI=LI-1:IFLI=0THEN69:rem 255
57 PRINT"{WHT}{DOWN}{11 SPACES}MEN REMAIN
   ING"LI                         :rem 98
58 FORTD=1TO2000:NEXT             :rem 56
59 PRINT"{HOME}{20 DOWN}{39 SPACES}"
                                 :rem 166
61 PRINT"{DOWN}(36 SPACES}"       :rem 73
62 PRINT"{HOME}{2 DOWN}"TAB(12)"HIT SPACE
   BAR":WAIT198,1:PRINT"{HOME}(2 DOWN)"T
   AB(12)"(13 SPACES}"           :rem 224
63 POKE 16404,0:POKE53265,PEEK(53265)AND1
   27                            :rem 117
65 FORTD=1TO150:NEXT:Q=O:POKE53288,0:POKE
   832,0:POKE53251,0:POKE53278,0 :rem 198
67 POKE53279,0:POKE53269,7:GOTO 25
                                 :rem 177
69 PRINT"{2 DOWN}{WHT}{4 SPACES}DO YOU WA
   NT TO PLAY AGAIN? (Y/N)"      :rem 208
71 GETA$:IFA$<>"Y"ANDA$<>"N"THEN71
                                 :rem 205
73 IF A$="Y"THEN11               :rem 201
75 POKE828,0:SYS828              :rem 116
77 R$="F":J$="J":S$="S":PRINT"{CLR}{WHT}
   {3 DOWN} {15 RIGHT}ACROBAT"    :rem 40
79 PRINT"{2 DOWN}{7 SPACES}{RVS}F{OFF}
   {3 SPACES}MAKES THE ACROBAT FLIP"
                                 :rem 198
81 PRINT"{2 DOWN}{7 SPACES}{RVS}J{OFF}
   {3 SPACES}MAKES THE ACROBAT JUMP"
                                 :rem 212
83 PRINT"{2 DOWN}{7 SPACES}{RVS}S{OFF}
   {3 SPACES}MAKES THE ACROBAT SLIDE"
                                  :rem 20
85 PRINT"{3 DOWN}{12 SPACES}HIT E TO EDIT
   KEYS"                         :rem 160
87 PRINT"{2 DOWN}{10 SPACES}ANY OTHER KEY
   TO START"                     :rem 230
89 GETA$:IFA$=""THEN89             :rem 5
91 IFA$<>"E"THEN99                 :rem 2
92 PRINT"{CLR}{2 DOWN} YOU MUST ENTER LET
   TERS BETWEEN A AND Z"          :rem 80
93 PRINT"{2 DOWN}{13 SPACES}KEY TO FLIP?"
   ;:GOSUB600:R$=A$    :rem 50
95 PRINT"{2 DOWN}{13 SPACES}KEY TO JUMP?"
;:GOSUB600:J$=A$                  :rem 61
97 PRINT"{2 DOWN}{13 SPACES}KEY TO SLIDE?
   ";:GOSUB600:S$=A$             :rem 125
99 PRINT"{2 DOWN}{13 SPACES}PLEASE WAIT..
   ."                            :rem 222
101 FORA=15360TO16383:READB:POKEA,B:NEXT
                                 :rem 199
103 Vl=2040:V2=54276:V3=15:V4=828:V5=7:V6
    =16645:V7=1718:V8=1678:V9=32:VA=128
                                  :rem 52
105 VB=173:VC=164:VD=53279:VE=3:VF=1:VG=5
    1242:VH=49:VI=1000:RETURN    :rem 218
107 DATA0,0,0,0,0,0,0,0          :rem 102
109 DATA0,0,0,0,0,28,0,0         :rem 162
111 DATA28,0,0,248,0,3,112,0     :rem 112
113 DATA6,112,0,12,127,0,0,112   :rem 206
115 DATA0,0,112,0,0,112,0,0       :rem 45
117 DATA072,0,0,132,0,0,130,0    :rem 154
119 DATA0,130,0,0,132,0,0,136    :rem 157
121 DATA0,1,4,0,0,128,0,111       :rem 53
123 DATA0,0,0,0,0,0,0,0          :rem 100
125 DATA0,0,0,0,0,28,0,0         :rem 160
127 DATA028,0,0,248,0,1,240,0    :rem 167
129 DATA1,240,0,1,255,0,0,112    :rem 162
131 DATA0,0,112,0,0,112,0,0       :rem 43
133 DATA72,0,0,132,0,0,130,0     :rem 104
135 DATA1,2,0,2,4,0,4,8          :rem 124
137 DATA0,2,4,0,0,0,0,111        :rem 210
139 DATA0,0,0,0,0,0,0,0          :rem 107
141 DATA0,0,0,0,0,28,0,0         :rem 158
143 DATA28,0,0,248,0,0,240,0     :rem 116
145 DATA0,252,0,0,255,0,0,112    :rem 161
147 DATA0,0,112,0,0,112,0,0       :rem 50
149 DATA72,0,0,136,0,0,136,0     :rem 121
151 DATA1,8,0,2,8,0,4,8          :rem 132
153 DATA0,2,4,0,0,0,0,111        :rem 208
155 DATA0,0,0,0,0,0,0,0          :rem 105
157 DATA0,0,0,0,0,28,0,0         :rem 165
159 DATA28,0,0,248,0,1,112,0     :rem 122
161 DATA2,114,0,4,124,0,0,112    :rem 157
163 DATA0,0,112,0,0,112,0,0       :rem 48
165 DATA96,0,15,192,0,16,64,0    :rem 188
167 DATA0,64,0,0,64,0,0,64        :rem 26
169 DATA0,0,96,0,0,0,0,111        :rem 16
171 DATA0,0,0,0,0,0,0,0          :rem 103
173 DATA0,0,0,0,0,28,0,0         :rem 163
175 DATA28,0,0,120,0,0,112,0     :rem 108
177 DATA0,114,0,0,124,0,0,112    :rem 158
179 DATA0,0,112,0,0,112,0,0       :rem 55
181 DATA96,0,0,96,0,0,96,0        :rem 37
183 DATA0,96,0,0,96,0,0,96        :rem 39
185 DATA0,0,112,0,0,0,0,111       :rem 51
187 DATA0,0,0,0,0,0,0,0          :rem 110
189 DATA0,0,0,0,0,0,0,0          :rem 112
191 DATA0,0,0,0,0,0,63,128        :rem 13
193 DATA0,127,192,0,127,248,0,112:rem 125
195 DATA56,0,112,56,0,112,0,0    :rem 171
197 DATA96,0,0,96,0,0,96,0        :rem 44
199 DATA0,96,0,0,96,0,0,96        :rem 46
201 DATA0,0,112,0,0,0,0,111       :rem 40
203 DATA0,0,0,0,0,0,0,0           :rem 99
205 DATA0,0,0,0,0,0,0,0          :rem 101
207 DATA0,0,0,0,0,0,63,0         :rem 160
209 DATA0,127,128,0,127,128,0,115:rem 122
211 DATA128,0,115,128,0,99,128,0  :rem 76
213 DATA110,0,0,110,0,0,96,0     :rem 103
215 DATA0,96,0,0,96,0,0,96        :rem 35
217 DATA0,0,112,0,0,0,0,111       :rem 47
219 DATA0,0,0,0,0,0,0,0          :rem 106
221 DATA0,0,0,0,0,0,0,0           :rem 99
223 DATA0,0,0,0,0,0,0,0          :rem 101
225 DATA0,63,0,12,127,128,6,115   :rem 21
227 DATA128,3,115,128,1,227,128,0:rem 128
229 DATA238,0,0,14,0,0,0,0        :rem 13
231 DATA0,0,0,0,0,0,0,0          :rem 100
233 DATA0,0,0,0,0,0,0,111        :rem 201
235 DATA0,0,0,0,0,0,0,0          :rem 104
237 DATA0,0,0,0,0,0,0,0          :rem 106
239 DATA0,0,0,0,0,1,0,0          :rem 109
241 DATA1,143,0,0,223,128,0,115    :rem 7
243 DATA128,0,35,128,0,195,128,0  :rem 79
245 DATA255,0,0,62,0,0,0,0        :rem 13
247 DATA0,0,0,0,0,0,0,0          :rem 107
249 DATA0,0,0,0,0,0,0,111        :rem 208
251 DATA0,0,0,0,0,0,0,0          :rem 102
253 DATA0,0,0,0,0,0,0,0          :rem 104
255 DATA0,0,0,112,0,0,119,0       :rem 57
257 DATA1,199,128,1,206,192,1,206:rem 137
259 DATA96,1,254,48,0,252,0,0    :rem 190
261 DATA0,0,0,0,0,0,0,0          :rem 103
263 DATA0,0,0,0,0,0,0,0          :rem 105
265 DATA0,0,0,0,0,0,0,111        :rem 206
267 DATA0,0,0,0,0,0,0,0          :rem 109
269 DATA0,0,0,0,0,0,0,0          :rem 111
271 DATA0,0,0,124,0,0,255,0       :rem 59
273 DATA1,195,0,1,196,0,1,206    :rem 180
275 DATA0,1,251,0,0,241,128,0    :rem 167
277 DATA0,128,0,0,0,0,0,0        :rem 217
279 DATA0,0,0,0,0,0,0,0          :rem 112
281 DATA0,0,0,0,0,0,0,111        :rem 204
283 DATA0,0,0,0,0,0,0,0          :rem 107
285 DATA0,0,0,0,0,0,0,0          :rem 109
287 DATA0,0,0,0,0,0,0,0          :rem 111
289 DATA0,63,0,12,127,128,6,115   :rem 31
291 DATA128,3,115,128,1,227,128,0:rem 129
293 DATA238,0,0,14,0,0,0,0        :rem 14
295 DATA0,0,0,0,0,0,0,0          :rem 110
297 DATA0,0,0,0,0,0,0,111        :rem 211
299 DATA0,0,0,0,0,0,0,0          :rem 114
301 DATA0,0,0,0,0,0,0,0           :rem 98
303 DATA0,0,0,0,0,0,0,0          :rem 100
305 DATA0,0,0,0,0,0,0,0          :rem 102
307 DATA0,96,0,0,240,0,0,255     :rem 121
309 DATA248,0,31,254,0,8,133,0   :rem 230
311 DATA7,2,128,0,2,128,0,5       :rem 73
313 DATA0,0,10,0,0,27,0,0        :rem 207
315 DATA0,0,0,0,0,0,0,32,224,0,97,16,0,34
    8,0,34,8,0,34,8,0,34,8,0,34,8,0,33,1
    6                             :rem 11
317 DATA0,112,224,0,0,0,0,0,0,0,0,0,0,0
                                  :rem 93
319 DATA0,0,0,0,0,0,0,0,0,0       :rem 35
321 DATA0,0,0,0,0,0,0,0,0,0       :rem 28
323 DATA012,0,0,50,7,128,9,8     :rem 129
325 DATA64,6,243,128,2,0,128,1   :rem 234
327 DATA3,0,0,132,0,0,120,0       :rem 54
329 DATA0,40,0,0,40,0,0,84        :rem 16
331 DATA0,0,0,0,0,0,0,0          :rem 101
333 DATA0,0,0,0,0,0,0,0          :rem 103
335 DATA0,0,0,0,0,0,0,0          :rem 105
337 DATA0,0,0,0,0,0,0,0          :rem 107
339 DATA0,0,0,0,0,0,0,0          :rem 109
341 DATA0,0,3,255,0,63,255,1     :rem 123
343 DATA255,255,015,255,255,63,255,255
                                 :rem 143
345 DATA255,255,255,255,255,255,63,255
                                 :rem 151
347 DATA255,15,255,255,1,255,255,0
                                 :rem 191
349 DATA063,255,0,3,255,0,0,0    :rem 178
351 DATA0,0,0,0,0,0,0,0          :rem 103
353 DATA0,0,0,0,0,0,0,0          :rem 105
355 REM MOUNTAIN MAKER            :rem 92
357 0=50688:FORA=1TO76:READB:IFB<OTHEN361
                                 :rem 238
359 0=0+1:POKEO,78:FORC=ITOB-1:0=0-255:PO
    KEO,78:NEXT:NEXT:GOT0363     :rem 114
361 0=0+1:POKEO,77:FORC=ITOABS(B)-1:0=0+2
    57:POKEO,77:NEXT:NEXT        :rem 129
363 POKE51238,4:POKE51239,1:POKE51240,25:
    RETURN                        :rem 10
365 FORA=16384TO16891:READI:POKEA,I:NEXT:
    RETURN                         :rem 6
367 DATA162,15,169,120,141,23,64,169
                                  :rem 37
369 DATA4,141,24,64,169,192,141,21
                                 :rem 191
371 DATA64,160,39,185,0,0,153,0   :rem 29
373 DATA0,136,16,247,238,21,64,173
                                 :rem 190
375 DATA23,64,24,105,40,141,23,64:rem 129
377 DATA173,24,64,105,0,141,24,64:rem 134
379 DATA202,208,222,96,32,86,64,169:rem 1
381 DATA199,141,22,208,169,16,141,17
                                  :rem 38
383 DATA208,169,255,141,15,212,169,128
                                 :rem 142
385 DATA141,18,212,169,192,141,21,64
                                  :rem 33
387 DATA169,0,141,20,64,96,160,0  :rem 88
389 DATA169,32,153,0,192,200,208,250
                                  :rem 31
391 DATA238,92,64,173,92,64,201,208
                                 :rem 250
393 DATA208,236,169,192,141,92,64,169
                                 :rem 105
395 DATA160,141,18,208,169,27,141,17
                                  :rem 38
397 DATA208,169,127,141,13,220,169,145
                                 :rem 141
399 DATA141,20,3,169,64,141,21,3  :rem 84
401 DATA169,129,141,13,220,141,26,208
                                  :rem 69
403 DATA96,234,173,25,208,41,1,240
                                 :rem 181
405 DATA42,141,25,208,206,22,208,173
                                  :rem 21
407 DATA22,208,201,192,208,26,238,20
                                  :rem 23
409 DATA64,173,20,64,201,216,208,8
                                 :rem 186
411 DATA32,198,64,169,0,141,20,64:rem 135
413 DATA32,0,64,169,199,141,22,208
                                 :rem 188
415 DATA76,188,254,76,109,65,238,60:rem 6
417 DATA3,173,60,3,74,74,144,18   :rem 41
419 DATA169,255,141,33,65,169,0,32
                                 :rem 196
421 DATA91,65,169,1,141,41,208,76:rem 141
423 DATA241,64,169,7,32,91,65,169:rem 153
425 DATA192,141,33,65,169,0,141,41
                                 :rem 183
427 DATA208,32,77,65,160,0,169,41:rem 143
429 DATA133,251,169,206,133,252,32,68
                                  :rem 87
431 DATA65,24,101,251,105,15,133,251
                                  :rem 12
433 DATA165,251,201,208,144,1,96,173
                                  :rem 29
435 DATA27,212,16,35,32,68,65,170:rem 141
437 DATA189,243,65,145,251,173,27,212
                                  :rem 93
439 DATA201,192,144,214,32,68,65,74
                                 :rem 246
441 DATA101,251,133,251,32,68,65,170
                                  :rem 22
443 DATA189,243,65,145,251,208,195,198
                                 :rem 156
445 DATA252,32,68,65,170,189,243,65:rem 0
447 DATA145,251,208,182,173,27,212,74
                                  :rem 88
449 DATA74,74,74,74,96,162,0,169 :rem 115
451 DATA32,157,0,206,157,0,205,232
                                 :rem 173
453 DATA208,247,96,162,0,157,0,216
                                 :rem 191
455 DATA157,0,217,157,0,218,157,0:rem 136
457 DATA219,232,208,241,96,173,64,3
                                 :rem 249
459 DATA208,60,173,60,3,201,6,144:rem 134
461 DATA96,74,74,176,92,173,27,212
                                 :rem 208
463 DATA201,254,144,85,169,254,141,249
                                 :rem 143
465 DATA7,169,1,141,64,3,173,27   :rem 44
467 DATA212,16,7,169,170,141,3,208
                                 :rem 189
469 DATA208,5,169,184,141,3,208,169:rem 0
471 DATA80,141,2,208,169,2,141,16:rem 131
473 DATA208,169,1,141,40,208,56,173
                                 :rem 241
475 DATA2,208,233,2,144,5,141,2   :rem 26
477 DATA208,208,30,173,30,208,169,255
                                  :rem 91
479 DATA141,2,208,173,16,208,208,12
                                 :rem 237
481 DATA169,0,141,2,208,169,0,141:rem 131
483 DATA64,3,240,5,169,0,141,16   :rem 34
485 DATA208,201,145,208,19,173,30,208
                                  :rem 82
487 DATA41,3,201,3,240,10,169,253:rem 128
489 DATA141,249,7,169,10,141,232,3
                                 :rem 192
491 DATA76,49,234,42,87,81,88,90 :rem 118
493 DATA83,65,160,255             :rem 71
495 DATA 4,-4,4,-4,4,-4,4,-4,4,-4 :rem 49
497 DATA 3,-3,4,-4,2,-2,3,-3,2,-2,4,-4,2,
    -2                           :rem 253
499 DATA 2,-2,4,-4,4,-3,3,-4,4,-4,3,-3
                                  :rem 26
501 DATA 3,-3,3,-3,2,-3,3,-2,2,-3,3,-2,4,
    -4                           :rem 239
503 DATA 4,-4,2,-4,4,-2,4,-4,4,-2,2,-4
                                  :rem 12
505 DATA 4,-4,4,-4,4,-4,4,-4,4,-4 :rem 41
507 DATA 4,-4,4,-4               :rem 100
600 POKE198,0                    :rem 195
605 GETA$:IFA$<"A"ORA$>"Z"THEN605:rem 123
610 PRINTA$:RETURN               :rem 163


Program 3: VIC Acrobat, Part 1

Refer to "COMPUTU's Guide For Typing In Programs"
article before typing this program in.

0 POKE52,26:POKE56,26:POKE55,0:POKE51,0:P
  RINT"{CLR}{3 DOWN}{8 SPACES}ACROBAT"
                                 :rem 233
1 PRINT"(2 DOWN}{5 SPACES}USE THESE KEYS"
                                 :rem 198
2 PRINT"{2 DOWN}{7 SPACES}(RVS}J{OFF} TO
  {SPACE}JUMP":PRINT"{DOWN}{7 SPACES}
  (RVS}S{OFF} TO SLIDE":PRINT"{DOWN}
  {7 SPACES}{RVS}F{OFF} TO FLIP" :rem 237
3 PRINT"{2 DOWN}{6 SPACES}PLEASE WAIT
  (WHT}"                          :rem 26
8 FORA=7168TO7679:POKEA,PEEK(A+25600):NEX
  T                               :rem 33
10 READA:IFA=-1THEN12            :rem 245
11 FORB=7168+A*8T07175+A*8:READC:POKEB,C:
   NEXT:GOT010                   :rem 177
12 READA:IFA=-1THEN15            :rem 250
13 Q=Q+I:POKE6655+Q,A:GOT012     :rem 157
15 S$="LO"+CHR$(34)+"AC"+CHR$(34)+",8:"+C
   HR$(131):REM CHANGE 8 TO 1 FOR TAPE
                                  :rem 52
16 FORI=ITOLEN(S$):POKE630+I,ASC(MID$(S$,
   I)):NEXT:POKE198,I:END         :rem 94
21 DATA23,0,12,12,24,24,28,30,14  :rem 54
31 DATA24,12,10,10,10,18,50,34,1  :rem 48
41 DATA25,0,0,6,6,8,29,46,76     :rem 140
51 DATA26,12,12,12,60,72,8,8,12   :rem 19
61 DATA27,0,0,3,3,30,44,76,143   :rem 224
71 DATA28,12,10,17,18,20,18,32,16:rem 120
81 DATA29,0,0,6,6,4,28,28,30     :rem 133
91 DATA30,140,10,18,17,34,68,130,64
                                 :rem 225
101 DATA33,0,28,62,51,27,12,120,0:rem 105
111 DATA34,0,64,76,94,118,38,28,24
                                 :rem 189
121 DATA35,0,30,48,216,204,124,56,0
                                 :rem 214
131 DATA36,24,56,100,110,122,50,2,0
                                 :rem 200
141 DATA37,192,192,124,62,3,2,4,8:rem 130
151 DATA38,36,24,255,133,135,133,135,255
                                 :rem 227
161 DATA39,60,124,205,255,252,207,125,60
                                 :rem 222
171 DATA40,63,71,253,133,133,133,134,252
                                 :rem 216
181 DATA41,60,126,223,127,63,255,126,60
                                 :rem 173
191 DATA42,4,6,5,4,116,252,248,112
                                 :rem 177
201 DATA43,195,231,126,60,60,126,231,195
                                 :rem 220
211 DATA44,24,24,102,102,24,24,60,0
                                 :rem 202
221 DATA45,0,60,126,126,126,126,60,0
                                   :rem 8
231 DATA46,1,2,4,8,16,32,64,128   :rem 26
241 DATA47,128,64,32,16,8,4,2,1   :rem 28
251 DATA58,127,251,192,192,192,192,192,22
    4                             :rem 85
261 DATA59,120,252,204,196,220,220,192,22
    4,-1                         :rem 201
271 DATA169,30,133,252,169,44,133,251
                                  :rem 82
281 DATA162,16,160,1,177,251,136,145
                                  :rem 28
291 DATA251,200,200,192,22,208,245,189
                                 :rem 125
301 DATA60,3,136,145,251,24,165,251
                                 :rem 225
311 DATA105,22,133,251,165,252,105,0
                                   :rem 7
321 DATA133,252,202,208,221,96,169,32
                                  :rem 75
331 DATA160,16,153,60,3,136,16,250
                                 :rem 173
341 DATA173,240,3,201,6,208,18,173
                                 :rem 177
351 DATA241,3,201,46,208,3,238,240
                                 :rem 174
361 DATA3,169,46,141,241,3,76,113:rem 135
371 DATA26,201,15,208,18,173,241,3
                                 :rem 178
381 DATA201,47,208,3,206,240,3,169
                                 :rem 182
391 DATA47,141,241,3,76,113,26,32:rem 133
401 DATA148,224,165,141,16,231,76,63
                                  :rem 29
411 DATA26,173,241,3,172,240,3,153
                                 :rem 173
421 DATA60,3,206,242,3,208,36,32  :rem 73
431 DATA148,224,165,141,74,74,74,74
                                 :rem 249
441 DATA74,168,24,109,243,3,141,242
                                 :rem 235
451 DATA3,74,144,9,185,167,26,141:rem 146
461 DATA61,3,76,163,26,185,167,26:rem 150
471 DATA141,62,3,32,0,26,96,38   :rem 242
481 DATA39,40,41,42,43,44,45,-1   :rem 28


Program 4: VIC Acrobat, Part 2

Refer to "COMPUTEI's Guide For Typing In Programs"
article before typing this program in.

0 B1=48:B2=50:B3=9:B4=8039:B5=8061:B6=670
  2:B7=36879                     :rem 254
1 GOSUB500:GOT05                 :rem 238
2 PRINT" {HOME}{WHT}{2 SPACES}SCORE "SC"
  {3 SPACES}MEN" LI: RETURN        :rem 0
5 POKE36879,8:POKE1008,9:POKE1009,47
                                  :rem 58
10 GOSUB160:POKE36878,15:POKE36869,255
                                 :rem 196
15 C=1:D=4:T=240:D1=8041.1:D2=8063.1:Z=32
   :Y=37:LI=3:FL=-1:Vl=36876:V2=36877
                                 :rem 204
17 SC=0:GOSUB2                    :rem 87
20 PRINT"{HOME}(2 DOWN}(3 SPACES}PRESS SP
   ACE BAR":WAIT198,1:PRINT"{HOME}
   {2 DOWN}{19 SPACES}":GOSUB 165 :rem 58
25 FORA=CTOD:OQ=Q:OW=W:IFA<50RA>8THENR1=P
   EEK(D2+W-Q):POKED2-Q+W,L%(A,2):rem 236
30 IFA<>B3THENR2=PEEK(Dl+W-Q):POKED1+W-Q,
   L%(A,l)                       :rem 103
35 POKEV,T:GETA$:IFA$="J"ANDQ<=.THENA=D:Q
   =22:R=3:Sl=2:T=0              :rem 241
37 IFG/B2=INT(G/B2)THEN:W=W+1:IFW>11THENW
   =11                           :rem 219
40 POKEV,.:IFA$="F"ANDQ<=.THENA=D:C=5:D=8
   :Q=.I:S=.025:Sl=8:V=V1         :rem 19
45 IFA$="S"ANDQ<=.THENA=D:C=9:D=9:Q=.1:S=
   .03:Sl=2:T=0                  :rem 126
50 IFPEEK(B4)<>ZORPEEK(B5)<>ZTHENSC=SC+S1
   :S1=0:GOSUB2                  :rem 116
60 IFR1>YORR2>YTHENA=D:FL=.      :rem 243
65 G=G+1:IFG/B1=INT(G/BI)THENPOKEB7,B3
                                  :rem 30
75 Q=Q-S:IFQ<=.THENQ=.:C=1:D=4:T=245:V=V2
                                  :rem 12
80 R=R-1:IFR=.THENQ=.             :rem 24
85 IFA<50RA>BTHENPOKED2-OQ+OW,Z  :rem 254
90 IFA<>B3THENPOKED1+OW-OQ,Z      :rem 31
95 SYSB6:NEXT:POKEB7,8:IFFLGOT025:rem 159
100 POKE8040,32:POKE8062,32:FL=-1:POKE804
    0+W,32:POKE8062+W,32:R1=0:R2=0:rem 55
105 POKE8041+W,32:POKE8063+W,58:FORU=180T
    O110STEP-1:POKEV1,U:IFU=145THENPOKE80
    63+W,59                      :rem 198
110 NEXT:LI=LI-1                 :rem 208
111 FORD=38805TO38805++W:POKEJ,2:FORR=ITO
    3:FORTD=250TO255:POKEV1,TD:NEXT:SC=SC
    +10                           :rem 81
114 GOSUB2:NEXT:NEXT:POKEVI,0:IFLI=OTHEN1
    20                            :rem 19
115 GOT020                        :rem 50
120 POKE36879,8:GOSUB2            :rem 35
130 PRINT"{HOME}{20 DOWN}{6 SPACES}GAME O
    VER"                          :rem 34
135 PRINT"{DOWN} S TO START Q TO QUIT";
                                 :rem 113
140 GETA$:IFA$<>"S"ANDA$<>"Q"THEN140
                                  :rem 36
145 IFA$="S"THENRUN              :rem 134
150 POKE828,0:SYS828             :rem 158
160 FORA=1TO9:READL%(A,1),L%(A,2):NEXT:RE
    TURN                         :rem 223
165 PRINT"(CLR}(18 DOWN}(GRN}((((((((((((
    ((((((((((":W=O:GOSUB2       :rem 170
170 POKE1010,30:FORA=ITO22:SYS6702:NEXT:R
    ETURN                        :rem 138
175 DATA23,24,25,26,27,28,29,30,33,32,34,
    32,35,32,36,32,32,37         :rem 223
500 POKE36869,240:POKE36879,8    :rem 116
505 PRINT"{CLR}{4 DOWN}{WHT}{2 SPACES}CHO
    OSE DIFFICULTY":PRINT"(DOWN} (1-3) 1
    {SPACE}IS THE MOST":PRINT"{DOWN}
    {2 SPACES}DIFFICULT"         :rem 160
510 GETA$:IFA$<"1"ORA$>"3"THEN510 :rem 58
520 PRINT"{CLR}":POKE1011,VAL(A$)+2:POKE3
    6869,255:RETURN              :rem 164