Manimation

Type: Program
Platform(s): TS 2068

Shows how you can use BASIC to give life to a spritely (pun!) little marching man. Demo/animation on BASIC.

Appears on

Capital Area Timex Sinclair User Group’s Library Tape.
Library tape of the Indiana Sinclair Timex User’s Group.
One of a series of library tapes. Programs on these tapes were renamed to a number series. This tape contained programs 20121 to 20163. These tapes were compiled by Tony Willing.

Source Code

    1 CLEAR 64699: LET l=29
    2 FOR q=1 TO 10: BEEP .06,3*q: NEXT q: PRINT "MANIMATION"
    4 PRINT '''"THIS DEMONSTRATION SHOWS A NEAT"''"WAY OF CREATING 2068 ANIMATION"''"IN BASIC. THE TRICKS ARE:"'''"  *  GRAPHICS ARE PUT IN STRINGS"''"  *  STRINGS STORED IN ARRAYS"''"  *  MULTIPLE UDG SETS;80 udg's!"
    6 PRINT AT 18,6;"please wait...";AT 8,0; OVER 1;"________"
   20 DIM d$(24,3): LET d$(1)="AB": LET d$(2)="CD": LET d$(3)="  ": LET d$(4)="EF": LET d$(5)="GH": LET d$(6)=" I": LET d$(7)="JK": LET d$(8)="LM": LET d$(9)=" N": LET d$(10)="OP": LET d$(11)="QR": LET d$(12)="ST"
   30 LET d$(13)="AB": LET d$(14)="CD": LET d$(15)="EF": LET d$(16)="GH": LET d$(17)="IJ": LET d$(18)="KL": LET d$(19)="  ": LET d$(20)="MN": LET d$(21)="OP": LET d$(22)="  ": LET d$(23)="QR": LET d$(24)="ST"
   40 POKE 23675,176: POKE 23676,254: FOR z=1 TO 2: IF z=2 THEN POKE 23675,5
   50 FOR i=144 TO 163: FOR j=0 TO 7: READ a: POKE USR CHR$ i+j,a: NEXT j: NEXT i: NEXT z: POKE 23675,88: POKE 23676,255
   60 DIM e$(24,3): LET e$(1)="AB ": LET e$(2)="CD ": LET e$(3)="EF ": LET e$(4)="GH ": LET e$(5)="IJ ": LET e$(6)="KL ": LET e$(7)="MN ": LET e$(8)="OP ": LET e$(9)="QR ": LET e$(10)="ST ": LET e$(11)=" U ": LET e$(12)=" A "
   70 LET e$(13)=" B ": LET e$(14)=" C ": LET e$(15)=" D ": LET e$(16)=" E ": LET e$(17)=" FG": LET e$(18)=" HI": LET e$(19)=" JK": LET e$(20)=" LM": LET e$(21)=" NO": LET e$(22)=" PQ": LET e$(23)=" RS": LET e$(24)=" TU"
   80 POKE 23675,93: POKE 23676,253: FOR z=1 TO 2: IF z=2 THEN POKE 23675,181: POKE 23676,252
   90 FOR i=144 TO 164: FOR j=0 TO 7: READ a: POKE USR CHR$ i+j,a: NEXT j: NEXT i: NEXT z
  100 FOR x=1 TO 24: FOR y=1 TO 3: IF CODE d$(x,y)<>32 THEN LET d$(x,y)=CHR$ (CODE d$(x,y)+79)
  110 IF CODE e$(x,y)<>32 THEN LET e$(x,y)=CHR$ (CODE e$(x,y)+79)
  120 NEXT y: NEXT x
  125 PRINT AT 18,6;"(any key to speed man up)"
  130 POKE 23676,254: FOR i=10 TO 18: POKE 23675,176: FOR j=1 TO 22 STEP 3: IF j=13 THEN POKE 23675,5
  140 IF INKEY$="" THEN PAUSE 20
  150 PRINT AT i,2;d$(j): PRINT AT i+1,2;d$(j+1): PRINT AT i+2,2;d$(j+2)
  160 PAUSE 7: NEXT j: NEXT i
  170 POKE 23675,93: POKE 23676,253: PRINT AT 19,2;e$(1): PRINT AT 20,2;e$(2): PAUSE 10: PRINT AT 19,2;e$(3): PRINT AT 20,2;e$(4): PAUSE 10
  180 FOR i=2 TO l: POKE 23675,93: POKE 23676,253: FOR j=5 TO 24 STEP 2
  190 IF INKEY$="" THEN PAUSE 30
  200 PRINT AT 19,i;e$(j): IF j=11 THEN POKE 23675,181: POKE 23676,252
  210 PRINT AT 20,i;e$(j+1): PAUSE 7: NEXT j: NEXT i
  220 POKE 23675,93: POKE 23676,253: PRINT AT 19,i;e$(3): PRINT AT 20,i;e$(4): PAUSE 5: PRINT AT 19,i;e$(1): PRINT AT 20,i;e$(2): PAUSE 10
  230 IF l=2 THEN STOP 
  240 LET l=l-3
  250 GO TO 130
 1000 DATA 0,1,2,2,1,6,10,18,0,128,64,64,128,96,80,72
 1010 DATA 18,17,2,2,2,2,2,2,72,136,64,64,64,64,64,64
 1020 DATA 0,0,0,1,2,2,1,6,0,0,0,128,64,64,128,96,10
 1030 DATA 18,34,33,2,3,1,0,80,72,80,144,64,64,64
 1040 DATA 64,64,64,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0
 1050 DATA 0,0,0,0,128,64,64,1,6,10,17,34,1,3,1
 1060 DATA 128,96,80,72,80,160,64,64,64,64,64,0,0
 1070 DATA 0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,128,64
 1080 DATA 64,1,6,10,18,34,33,2,3,128,96,80,72,80
 1090 DATA 144,64,64,1,0,0,0,0,0,0,0,64,64,64,0,0
 1100 DATA 0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,128,64
 1120 DATA 64,1,6,10,18,18,17,2,2,128,96,80,72,72
 1130 DATA 136,64,64,2,2,2,0,0,0,0,0,64,64,64
 1140 DATA 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0
 1150 DATA 128,2,2,1,3,10,18,10,9,64,64,128,96,80
 1160 DATA 72,68,132,2,2,2,2,2,2,0,0,64,64,128,128
 1170 DATA 0,0,0,0,0,1,2,2,1,6,10,18,0,128,64,64
 1180 DATA 128,96,80,72,10,5,2,2,2,2,2,0,68,130
 1190 DATA 192,128,0,0,0,0,0,1,2,2,1,6,10,18,0,128
 1200 DATA 64,64,128,96,80,72,10,9,2,2,2,2,2,0,68
 1210 DATA 132,64,192,128,0,0,0,0,1,2,2,1,2,6,10,0
 1220 DATA 128,64,64,128,64,96,80,10,9,1,1,1,1,1,0
 1230 DATA 80,144,128,128,128,128,128,0,0,1,2,2,1
 1240 DATA 3,2,6,0,128,64,64,128,64,64,64,3,3,1,1
 1250 DATA 1,1,1,0,64,192,0,0,0,0,0,0,0,1,2,2,1,3
 1260 DATA 3,3,0,128,64,64,128,64,64,64,2,3,1,1,1
 1270 DATA 1,1,0,64,160,64,64,32,32,64,0,0,0,1,1,0
 1280 DATA 1,1,3,0,192,32,32,192,160,32,32,3,2,0,0
 1290 DATA 1,1,1,0,48,200,160,160,16,16,16,0,0,0,0
 1300 DATA 0,0,0,0,1,0,96,144,144,96,208,144,144,2
 1310 DATA 2,0,0,0,1,1,0,148,98,80,80,144,16,16,0
 1320 DATA 0,48,72,72,48,104,104,104,108,114,48,48
 1330 DATA 80,144,144,0,0,12,18,18,12,26,26,27,18
 1340 DATA 14,22,20,20,20,20,24,0,12,18,18,12,26
 1350 DATA 27,27,51,61,18,18,17,17,18,0,0,6,9,9,6
 1360 DATA 13,11,25,0,0,0,0,0,0,0,192,25,38,9,9,17
 1370 DATA 17,17,0,64,64,0,0,0,0,0,0,0,3,4,4,3,6,5
 1380 DATA 13,0,0,128,128,0,128,128,128,12,11,3,3
 1390 DATA 5,9,9,0,128,128,128,0,0,0,0,0,0,1,2,2,1
 1400 DATA 3,3,2,0,128,64,64,128,64,64,192,2,3,1,1
 1410 DATA 3,3,3,0,192,128,0,0,0,0,0,0,0,1,2,2,1,3
 1420 DATA 3,3,0,128,64,64,128,64,64,64,3,1,1,1,1
 1430 DATA 1,1,0,64,128,128,128,128,128,128,0
 9998 CLEAR : SAVE "MANIMATION" LINE 1: PRINT FLASH 1;"VERIFY...": VERIFY "": STOP 

People

No people associated with this content.

Scroll to Top