A bouncing ball animation. Use Q to quit between BASIC and Machine Code version. In MC version, use 6 and 7 to speed up or slow down the animation.
PROG : 16509
D-FILE: 29094
VARS : 29887
E-LINE: 29888
STKBOT: 29888
STKEND: 29888
9999 means line number
PRINT means treat as KEYWORD P
0 REM MCII
30403 ?/INKEY$??INKEY$??INKEY$??
INKEY$? ??INKEY$?õPI?8PI?INPUT
PI???LN Vò84IF INT £FAST STR$
ACS ?C!Y-LN õPILN (INKEY$)(BLN
UNPLOT RNDK;)CONT óLN UNPLOT RND
K=)? LN UNPLOT RNDK>2úLN UNPLOT
RNDK)/=LN òINKEY$)CONT óLN ò
INKEY$)? LN òINKEY$2úLN òINKEY$2
ñLN òINKEY$SGN LPRINT TAN FAST B
GOSUB ?LPRINT TAN Y0BGOSUB ?SóW/
RAND ;?õPI?J??J?7TAN E£RND)5
FAST GOSUB ?/RNDù7FAST ;FOR 5
CHR$ òGOSUB PISTOP AT FOR GOSUB
KLPRINT ñQòù6:RNDCLEAR QT5CLEAR
QUóTAN LN VòñCOPY RETURN JFAST
GOSUB PILPRINT COS //LN VòG4IF
LN Vò?RETURN COPY CSAVE ñCOPY
RETURN JFAST GOSUB PILPRINT C
INPUT J?8COS 9?LN X÷ASN DRNDTAN
ACS UNPLOT 6ORNDEORND?NEW ?PCOS
LN ?INKEY$CNEXT TAN YF( AND
GOTO PI?YñACS CKòYôACS DKòACS ÷
PRINT LN INT INKEY$÷ACS ?Kò
INPUT ??)2£UKRND<IF VAL INKEY$
LET J4/òLET KRETURN !SòINPUT ?/Q
Y*( AND GOTO PI?NEW 3?VAL VAL
VAL JACS (ACS (ACS (??DDAT ??ù
AT ?ùGOSUB ?£RNDù76:RNDAT Y/(MU
RNDY5)MTRNDTAN STR$ FAST VAL
RETURN
8218 RNDACS ?CõLN ( /QE:RNDLN ?
PI/CRETURN RNDABS JPI5ñRNDACS ?C
õLN ( /*E:RNDPRINT LET E:RND?76:
RND5TRNDPAT LPRINT SGN TAN 7
PRINT 6:RNDCLEAR QT5UURNDXMURND
RETURN òATN ?PILET TAN U5RND
RETURN CöXM5RND/AE£RNDñSAVE òùQ
?FAST LN ?INKEY$CCLS LPRINT Q
RETURN CASN EúRETURN ZC:RETURN D
4÷ACS 0F?O4CLS ?/INKEY$LN ?!/
ABS ?LCOS ,LN õPI<"/PRINT
RETURN ?SùRETURN ""ACS R AND FPI
NEW Z5)ñ?ôRETURN 5K£RETURN ñCô
RETURN *SôJLN õPIACS õPI7/PRINT
NEW ZLN õPIJ?!PIINT º?MCIF LN O?
VAL ?PI) STR$ FOR 7DFOR D?+?0
FOR KPLOT FOR FOR J?3??3?OC/FOR
JACS 0ACS 1?+?0IF ù??+??0?STOP ;
STOP /<>LPRINT AT ACS ?TAB (
INKEY$TAN ??*>=(INKEY$FOR ?C?
ACS ?TAB (INKEY$TAN GOSUB ?MRND?
ICLEAR ?Rö GOSUB ?/GOSUB ?/??
GOSUB ?Kñ76MRNDACS W??TAN LN E
-RND7PRINT LN -?LN -?LN S?LN
INPUT ?INT ?LN R?LN <>?TAN LN
LEN ?YCODE LN RUN ?LN *?/$LN R?5
LN >?óLN NEXT ?FAST LN LEN ?
LPRINT LN >?LN A?LN LLIST !)
CLEAR ?ñ( LN IF ?E?RNDLN INPUT ?
)RUN ?ñô LN IF ?E?RNDLN INPUT ?
LN .?LN .?YRUN LN RUN ?Y?LN RUN
?LN LET ?RETURN YTAB DRND5LIST ?
FAST LN EúE?RNDDIM LN POKE ?4
CLS INT ?
30455
30386 DER II ENDAT YTAN ?B?6?RND
GOSUB ?0RND<5?RNDLN ??5 6?RNDE?
RND6?RNDLN A?WMõ?5?RNDFAST LN 7?
LPRINT FAST 7776-RNDU*RNDM5RND
LN -?RETURN PAUSE ATN NEXT ?
RETURN RAND ATN CHR$ ?RETURN IF
ATN ,?RETURN THEN CREM RETURN
DIM ATN J?RETURN GOTO ATN ??
RETURN GOSUB ATN >?RETURN FOR
ATN PAUSE ?RETURN NEXT ATN 2?
RETURN SLOW ATN ""?RETURN POKE
ATN VAL ?RETURN FAST ATN L?
RETURN INPUT ATN ¶?RETURN PLOT
ATN ??RETURN UNPLOT ATN ³?
RETURN LET ATN 2?RETURN CLS ATN
K?RETURN STOP ASN £?RETURN
PRINT ATN LET ?RETURN LPRINT
ATN CHR$ ?RETURN NEW ATN ò?
RETURN COPY ATN UNPLOT ?RETURN
REM C?RETURN SCROLL ATN P?
RETURN RETURN ATN $?RETURN
CLEAR ATN A?RETURN 4;E-RND-?
RETURN
8202 2?TAB Q?LN £?LN LEN ?YSLN
RUN ??DRNDLN H?5=RND?S?5?!?S?5?ó
?S?SCROLL RETURN ?4SGN LN RUN ?5
/?LN S?/LEN ñRETURN RETURN
GOSUB ?ACS 1**?POKE ??7?STR$
FOR FAST 67RND6úRNDLN .?LN
INPUT ?JLN RUN ?LPRINT LN ??..
FOR SGN LN ??GOSUB ??RNDLN ??
FAST GOSUB ??RNDBGOSUB ?LPRINT
**6?RND?SCROLL ??7?7TAN ?7?7TAN
FAST AT E0RND7LN ??FOR BGOSUB PI
SQR E?RNDGOSUB ?**FOR 7/GOSUB Y?
PRINT LN -?LN ??LN ??FOR LN ??
FOR LET ?U?YLN /DIM FAST SCROLL
RETURN
10249 CõPRINT LN RUN ?LET LPRINT
TAN VAL FAST E?RNDPRINT ?FAST 76
?RNDLN POKE ?RETURN D4-Y
52727 LN INPUT ?JLN RUN ?LET A ?
LN INPUT ?/òLPRINT LET LPRINT
AT JTAN 5CLEAR ACS LN X?5ñEXP
LN X?LN LET ?5CLEAR ACS LN X?5ñ:
?X?LN -?RETURN
8198 ?LN -?RETURN INKEY$CZ
RETURN
51890 "CYRETURN AT C?RETURN CHR$
ASN >=?RETURN TAB ASN GOTO ?
RETURN ,ASN O?PRINT E-RND7LET ñT
?VAL ñ VAL ñM?VAL ???5INPUT ?
LN S?/?5RND?LN S?/óLN ??5IF ?LN
S?/?Y?LN B?E?RNDFAST LN X?ñCOPY
COPY LN ? óPRINT LN RUN ?LET
RETURN "CõLN B?/INPUT LPRINT
VAL GOSUB ??RNDLN ??Y)LN U?Yñ
LPRINT ?U?LN I?LN SQR ?5??LN X?5
PRINT !LN S?LN -?RETURN ,C>
RETURN ;ASN CLS ?RETURN +ASN
CLS ?5.?LN S?JTAN 5X?LN S??CLS ?
5ñRNDACS ?TAB :"JLN RUN ?UTRND
RETURN )S?:(Y/5URND-??PRINT !LN
??Y?LN B?5RUN ?LN S?/JLN H?5RUN
?LN S?/8?NEW 3?5ñRNDACS ?C:5SRND
-ACS COPY LEN WUSR ?!?òùUTRND
CHR$ 5±UNPLOT .?/RY
50167 LN ABS ?5IF ?LN S??.?LN ??
STR$ LN ??STR$ AT SGN TAN
RETURN RNDABS CONT ?ñWRNDòLN ??
RETURN 0SúRETURN RNDKöLN -?ó/
INPUT RETURN (M÷?CôRETURN $4òóòú
ACS COPY òLN ³?A ?DDGOSUB ??RNDù
?U÷?RETURN $C!RETURN (4òJTAN ?
TAN YñTAN EôRND9ñWRNDJMö?úY4£
ACS ?4KACS LIST ACS RNDFAST 5ö?O
ASN CONT ?LPRINT ?FFAST LN
SCROLL ?LPRINT óACS ?CNEXT J?6ù?
Uö?LN ??RETURN ñ4"Y5LN U?5SAVE ?
LN S?Uö?5õ??ôS**?TAN Eù?)M
GOSUB ?GOSUB ??RNDGOSUB ?SQR
INT ³FAST LN ???NLPRINT ""GOSUB
?ñ?LN ??) LN ??E?RNDGOSUB ?ñ?;6
ñ?ñ ?COS :LN -?LN S?RETURN ñ
ASN ??RETURN 4úLN ?ACOPY FAST
LN -?RETURN =TAB CONT ?LN H?
LPRINT ?RETURN COPY 4£5SGN FOR
LN X?5???S?Y6?U?FAST 5??LN S?LN
-?LN ??RETURN (46LPRINT LN **?5
STR$ VAL LN X?5??LN S?LN -?LN 3?
5AT SGN LN X?5???S?LN -?LN 3?
LPRINT Y5LN U?5???S?I+FAST LN -?
RETURN (CRAND RETURN "4õLN ??/?
RETURN INKEY$4!5RND?LN S?/?
RETURN CHR$ 4"LN ??5U?LN S?/?LN
ABS ?/?LN S?LN -?FAST LN ??
RETURN (4NLN -?LN H?E-RND??LN X?
/"LN -?RETURN TO TAB CONT ?LN O
?5??LN S?LPRINT Y5LN U?5???S?
LPRINT Y5LN U?5H??S?5??LN S?LN ?
?RETURN )CùLPRINT X""LN -??5?LN
-?/FOR ?ññ /ùLN POKE ?ñ GCOS £)
ù?>TAN B.GOSUB ???LIST INT º
STR$ LN ??FOR SGN ;FOR TAN Eñ?6õ
?TAN ?LCOS Eõ?FOR GOSUB KGOSUB ?
õ?TAN FAST Eõ?GOSUB ?ñ?BGOSUB ?
FAST AT LPRINT LN ??VAL FAST LN
??LPRINT AT ?7?TAN FOR ö!?
RETURN CñACS ??FOR 5 ACS T3Kñ
;FOR DFOR (PRINT TAN JPRINT LN ?
?LN ??RETURN + AND RND?RETURN ;
ABS RND?YFAST LN B?LN -?PRINT
LN ??LET RETURN +CôRETURN -47AT
??RETURN 4ôPRINT FAST /PEEK
FAST 5??LN X?LN NEXT ?YFAST 5??
LN U?/ZPRINT VAL /0RETURN /C(
RETURN *TAB CONT ?LN V?5)?LN S?/
BLN V?5CLEAR ?/NEXT YLPRINT LN B
?LET RETURN COS RETURN +C)LN V?
5BFOR LN X?5GOSUB ?LN X?/SCROLL
LN V?Y;LN B?/<>YSGN ?B?RETURN )4
USR LN -?/INT RETURN PEEK 4?LN ?
?5A ?X?RETURN USR 4>LN ??5???S?ñ
??VAL FAST TAN ??TAN RETURN
CODE 4G5õ?YELN U?YFAST LN B?I
COPY LN 5?YSGN LN B?5>?/USR Eõ?
GOSUB ?õ?JGOSUB ???COS ,?TAN
RETURN RND4õ5ARND/VRETURN ABS 4)
LN ??5ACS ?LN X?YCODE 5???U?
RETURN INT ASN ??RETURN LEN 4,
LN -?LN S?LN -?Y5LN U?5>=?/º77
LN ??FOR TAN RETURN SGN 4+LN ??5
LIST ??S??PCOS ACS ?5ñ TAB ??
TAN RETURN SQR TAB CONT ?LN ??5ú
??S?JXACS ?CòINT ¹??A )RND ö!
GOSUB ?Kñ;ZACS >·GOSUB ?·GOSUB ?
(LIST ??TAN LN H?LN -?PRINT Y
FAST LN B?LN H?YSGN LN B?LET
TAN LN -?RETURN -PRINT ATN -?
RETURN (C-RETURN RNDK$RETURN A
USR ??>=µ?LET ATN ??TAN LN ??/
PLOT LN H?/LET 5??/??J??J?7TAN
LN S?RETURN ASN >?YE/PLN ??Y5/I
)(BLN A?LN $?Uõ??£E?RND6?RNDöô
LN B?(CLS $4PLOT LPRINT GOSUB ??
RNDTAN 5Eú/ó5"RNDYLN LN B??LN B?
??B?LN I?LN SQR ?5FOR ?/GOSUB
RETURN ,TAB CONT ?TAN LN ??
RETURN
10245 ?/!YE5ORNDLN U?Y65MRND?U?
LN -?LN S?FAST FAST LN -?LN I?Y7
LN B?5GOSUB ?LN X?LPRINT LN X?Y6
77LN U?LPRINT GOSUB ??RND???LN -
?LN S?FAST FAST YELN U?576LN X?
LPRINT LN X?77YGOSUB LN B?Y?LN U
?YB5GOSUB ?LN U?YIF LPRINT LN ??
FOR ?U?5 /?LN -?RETURN LN )?
LET RETURN AABS CONT ?RETURN 0
AND CONT ?CHR$ 0ö ?ù/ TO FAST E
-RND)õ ;6-RNDLPRINT TAN LN -?LN
S?RETURN ñC1PRINT FAST 5*?LN S?
LPRINT LET RETURN TAB ??YFOR
LN B?LN S?Y5LN U?LN -?5V??S?
GOSUB ?ñ?VAL FAST LN ò?6ñ?FAST
LN PAUSE ?RETURN
10249 KPRINT LN $?/LIST SGN
GOSUB ?FAST AT LPRINT LN ³?AT
GOSUB ?ñ?FAST LN ò?ñ3 LN ??
LPRINT TAN FAST LN LET ?LPRINT
RETURN ?""J?FY
48672 £RNDñSAVE òùYL?TAN ?7Y
48672 /PAUSE LN ò?FAST FAST LN
PAUSE ?RETURN
10257 C!RETURN 0SLET RETURN AK
GOSUB LN $?/CONT 5 SGN ,RETURN
-C(RETURN LC?CHR$ 0DFAST DDAT ùö
?ù</CONT SGN ,RETURN -PRINT LN
NEW ?LET ""???Y.PRINT LN I?LN
SQR ?5??LN X?YYLN B?LET LN B?YM5
KRNDLN U?5,RND?S?Y4/**?PCOS ?N
COS RTAN ?PCòRTAN ?NCOS RTAN E-
RND7(CPLOT RETURN INKEY$ASN ??
RETURN CHR$ ASN ??RETURN "ASN ??
7LN I?RETURN OR 4ú5??LN S?YABS
/?RETURN AND 4õ5·?/LIST PRINT Y
B5GOSUB ?LN U?LET RETURN =4ôY
TAB /GRETURN <>4ôYASN /8RETURN >
C+RETURN <4÷YASN LN 5?/<RETURN
>=4ú5CóLN X?YPAUSE /÷RETURN <=
TAB CONT ?YIF LN 5?LN -?RETURN
AND ASN ,?TAN LN B?EúRND7LN ??
FOR LN ??FOR ?X?LN X?6õ?6÷?TAN E
õ?QCOPY 7TAN 5??LN S?LN 3?LN -?
PRINT 5N?LN S?LN 3?5X?LN S?52?
LN S?LET RETURN =4ôYTAB /A
RETURN <>4ôYASN /2RETURN >4÷Y
ASN LN 5?/!RETURN <C<RETURN >=4ô
Y AND /·RETURN <=TAB CONT ?5Có
LN X?YABS ?+?E÷?GOSUB ?ñ?úWOY""
RETURN COS 7ó/POKE 5R??S?LN
SCROLL ò5VRNDACS QTAN 5LEN ??S?5
VRNDACS PLOT ?÷ò5ò LN **ù""FAST
LN 2?SGN ??ú5ò LN **ù""LN 2?COS
LN 2?COS ??E£RND/SCROLL óóóVAL ó
óóóVAL LN EXP ?5ó LN **ùAT LN 2ù
7Y
28963 7AT ?7?7QREM 7?7?7TAN 77?7?
ù7U£RND1""U$RND0TAN LN -?LN S?Y5
LN U?YGOSUB LN B?Y?5ñ?LN U?5??
LN S?LN H?5???S?7D7FAST FAST AT
Eñ?LN COS :AT LN ??GOSUB ?ñ?TAN
Eñ???<Q /óEñ??LCOS GOSUB KTAN
FAST LN ??5GOSUB ?LN X?LPRINT
LN X?5Dù?X?LN ?5??LN S?5FOR SGN
?X?EôRND9QCOPY FQCOPY FQ 6ù?Y5E?
RNDLN U?I:Uõ??LN X?5ATN ??S?£JM5
RNDöô?7(UNPLOT $4RUN 54 6?RNDE0
RNDñ? ù6ñ?6õ?TAN ?¸RND?:RND?)RND
?1RND?4RNDFOR ?7RNDACS ? EXP ?
LN ?QùREM
30241 :(LN ATN ??Y?THE BALL<BY:ST
EVEN REID(C)1983>)3?ñ3 LN IF ?
LN .????
)??ñ4 LN IF ?LN .?5ò
FAST 5= SGN 7GOSUB ?FOR ?6GOSUB
??$? )£?ññ LN IF ?5ú LN RUN ??L?
!!!!¸¸¸¸!!¸¸ )3?ñ> LN IF ?5
3 LN RUN ??CODE ? )??ññ LN IF ?
LN .?EFOR ?76FOR ?GOSUB ?GOSUB ?
BGOSUB ?IF ¹??ô?
)SLOW ?ñ4 LN IF
?5 6LOAD ?5IF 6NEXT ?5ñ LN ??6
RUN ?5ñ 6CLS ?5= 6COPY ?5ñ 6ó?E
COPY ?6÷?Eó?6"?5??LN SAVE ?LN ??
??? )??ññ LN ??5??LN ??5<?LN
SAVE ?LN ????? )??ññ LN ??5<?LN
??5ñ 6*?ECOPY ?FAST E÷?SGN B
GOSUB ?ASN F?E÷?FAST E"?SGN ??
LN PRINT !5<?LN SAVE ?5<?LN H?
LN IF ?LN .?Eó?FAST E"?SGN B
GOSUB ?ASN **?E÷?FAST E"?SGN ??
LN PRINT !5<?LN SAVE ?5<?LN H?
LN IF ?LN .?ECOPY ?FAST Eó?SGN ?
?LN PRINT !5??LN SAVE ?5??LN H?
LN IF ?LN .?ELOAD ?FAST 5ñ SGN B
GOSUB ?TAB !?LN ;?ELOAD ?FAST 5
SGN BGOSUB ?TAB ;?LN ??ECOPY ?6
÷?Eó?6"?ECOPY ?FAST ERUN ?SGN ;6
COPY ?Eó?FAST ECLS ?SGN ;6ó?E
COPY ?FAST 5ò SGN BGOSUB ?TAB ??
ERUN ?LN ??6RUN ?ECOPY ?FAST 5=
SGN BGOSUB ?TAB ??ERUN ?LN ??6
RUN ?Eó?FAST 5ñ SGN BGOSUB ?TAB
²?ECLS ?LN ??6CLS ?Eó?FAST 52
SGN BGOSUB ?TAB ;?ECLS ?LN ??6
CLS ?E*?FAST 52 SGN BGOSUB ?TAB
H?5ñ 6LOAD ?ELOAD ?FAST 5ñ SGN B
GOSUB ?TAB Y??LN ?E*?FAST 5ñ
SGN ;6*??LIST ?E*?FAST 5ñ SGN B
FOR GOSUB ?6*?E*?FAST 5ñ SGN B
GOSUB ?TAB LIST ?5 6LOAD ?LN ??
LN RND?LN ??LN N?? ?Q)COPY ?ññ
LN ??LN X?LN 2?TAB <?TAN LN N??5
0 SGN BGOSUB ?TAB ??5??LN SAVE ?
LN ???O? )N?ññ LN ??5??LN ??E*?
FAST 5. SGN BGOSUB ?TAB ??5<?LN
SAVE ?LN ????? )??ññ LN ??5<?LN
??E*?FAST 5, SGN BGOSUB ?TAB *?5
??LN SAVE ?LN ???¸?!)·?ññ LN ??5
??LN ??E*?FAST 5; SGN BGOSUB ?
TAB AT ?5<?LN SAVE ?LN ???M?¸)L?
ññ LN ??5<?LN ??E*?FAST 5/ SGN B
GOSUB ?TAB FOR ?5??LN SAVE ?LN ?
??>=?¸)<=?ññ LN ??5??LN ??E*?
FAST 5* SGN BGOSUB ?TAB +?5<?LN
SAVE ?LN ???ö?!)õ?ññ LN ??5<?LN
??E*?FAST 5- SGN BGOSUB ?TAB Z?5
??LN SAVE ?LN ???K?!)J?ññ LN ??5
??LN ??E*?FAST 5+ SGN BGOSUB ?
TAB ??5<?LN SAVE ?LN ?????¸)??ññ
LN ??5<?LN ??E*?FAST 5> SGN B
GOSUB ?TAB <?5??LN SAVE ?LN ???´
?¸)³?ññ LN ??5??LN ??E*?FAST 5)
SGN BGOSUB ?TAB X?5<?LN SAVE ?
LN ???I?!)H?ññ LN ??5<?LN ??E*?
FAST 5: SGN BGOSUB ?TAB SCROLL ?
5??LN SAVE ?LN ???**? )NOT ?ññ
LN ??5??LN ??E*?FAST 5$ SGN B
GOSUB ?TAB )?5<?LN SAVE ?LN ???ò
? )ñ?ññ LN ??5<?LN ??E*?FAST 5ú
SGN BGOSUB ?TAB V?5??LN SAVE ?
LN ???G? )F?ññ LN ??5??LN ??E*?
FAST 5ù SGN BGOSUB ?TAB ??5<?LN
SAVE ?LN ????? )??ññ LN ??5<?LN
??TAN E*?FAST 5ù SGN BGOSUB ?
TAB (?5??LN SAVE ?LN ???±? ) ?ññ
LN ??5??LN ??E*?FAST 5ú SGN B
GOSUB ?TAB U?5<?LN SAVE ?LN ???F
? )E?ññ LN ??5<?LN ??E*?FAST 5$
SGN BGOSUB ?TAB SLOW ?5??LN
SAVE ?LN ???STR$ ?¸)USR ?ññ LN ?
?5??LN ??E*?FAST 5: SGN BGOSUB ?
TAB :?5<?LN SAVE ?LN ???COPY ?!)
RETURN ?ññ LN ??5<?LN ??E*?FAST
5) SGN BGOSUB ?TAB S?5??LN SAVE
?LN ???D?!)C?ññ LN ??5??LN ??E*?
FAST 5> SGN BGOSUB ?TAB ??5<?LN
SAVE ?LN ?????¸)??ññ LN ??5<?LN
??E*?FAST 5+ SGN BGOSUB ?TAB £?5
??LN SAVE ?LN ?????¸)??ññ LN ??5
??LN ??E*?FAST 5- SGN BGOSUB ?
TAB Q?5<?LN SAVE ?LN ???B?!)A?ññ
LN ??5<?LN ??E*?FAST 5* SGN B
GOSUB ?TAB STEP ?5??LN SAVE ?
LN ???SGN ?!)SQR ?ññ LN ??5??LN
??E*?FAST 5/ SGN BGOSUB ?TAB ú?5
<?LN SAVE ?LN ???CLS ?¸)IF ?ññ
LN ??5<?LN ??E*?FAST 5; SGN B
GOSUB ?TAB O?5??LN SAVE ?LN ???9
? )8?ññ LN ??5??LN ??E*?FAST 5,
SGN BGOSUB ?TAB ??5<?LN SAVE ?
LN ????? )??ññ LN ??5<?LN ??E*?
FAST 5. SGN BGOSUB ?TAB ¸?5??LN
SAVE ?LN ????? )??ññ LN ??5??LN
??E*?FAST 50 SGN BGOSUB ?TAB M?5
<?LN SAVE ?LN ???7? )6?ññ LN ??5
<?LN ??TAN 5ñ FAST ENEXT ?SGN 7
GOSUB ?.?61?E.?76.?GOSUB ?1?B
GOSUB ?IF ??E3?FAST 5 SGN B
GOSUB ?PAUSE LET ?E3?FAST 5ñ
SGN BFOR GOSUB ?63?E3?FAST 5ñ
SGN BGOSUB ?TAB 0?5+ FAST 5:
SGN ??LN PRINT !?<? )??ñô LN
IF ?ENEXT ?67?LN ??LN RND?LN ??
LN N??M?7)L?ññ LN ??LN X?LN 2?
TAB ??ENEXT ?FAST 5ú SGN ;6NEXT
?ENEXT ?FAST 5CONT óSGN BGOSUB ?
PAUSE ??5CONT ó6NEXT ?LN ??LN
RND?LN ??LN N????6)??ññ LN ??LN
X?LN 2?TAB +?ENEXT ?FAST 5ú SGN
BFOR GOSUB ?6NEXT ?ENEXT ?FAST 5
SGN BGOSUB ?ASN G?IF G?5 6
NEXT ?E7?FAST ENEXT ?SGN BGOSUB
?TAB V?TAN 5+ FAST 5: SGN ??LN
PRINT !ENEXT ?LN INPUT ??ABS ? )
SGN ?ññ LN IF ?5ú 63?TAN TAN
+ + ñ IF COPY COPY
COPY COPY : ) ? > "?ñ
F?ñ ) CLS CLS IF ñ ó?
REM MCODER II COP
YRIGHT 1983 D C THRELFALL COMP
ILER AT 17300 PROG AT 20500
0 REM MCII
30403 ?/INKEY$??INKEY$??INKEY$??
INKEY$? ??INKEY$?õPI?8PI?INPUT
PI???LN Vò84IF INT £FAST STR$
ACS ?C!Y-LN õPILN (INKEY$)(BLN
UNPLOT RNDK;)CONT óLN UNPLOT RND
K=)? LN UNPLOT RNDK>2úLN UNPLOT
RNDK)/=LN òINKEY$)CONT óLN ò
INKEY$)? LN òINKEY$2úLN òINKEY$2
ñLN òINKEY$SGN LPRINT TAN FAST B
GOSUB ?LPRINT TAN Y0BGOSUB ?SóW/
RAND ;?õPI?J??J?7TAN E£RND)5
FAST GOSUB ?/RNDù7FAST ;FOR 5
CHR$ òGOSUB PISTOP AT FOR GOSUB
KLPRINT ñQòù6:RNDCLEAR QT5CLEAR
QUóTAN LN VòñCOPY RETURN JFAST
GOSUB PILPRINT COS //LN VòG4IF
LN Vò?RETURN COPY CSAVE ñCOPY
RETURN JFAST GOSUB PILPRINT C
INPUT J?8COS 9?LN X÷ASN DRNDTAN
ACS UNPLOT 6ORNDEORND?NEW ?PCOS
LN ?INKEY$CNEXT TAN YF( AND
GOTO PI?YñACS CKòYôACS DKòACS ÷
PRINT LN INT INKEY$÷ACS ?Kò
INPUT ??)2£UKRND<IF VAL INKEY$
LET J4/òLET KRETURN !SòINPUT ?/Q
Y*( AND GOTO PI?NEW 3?VAL VAL
VAL JACS (ACS (ACS (??DDAT ??ù
AT ?ùGOSUB ?£RNDù76:RNDAT Y/(MU
RNDY5)MTRNDTAN STR$ FAST VAL
RETURN
8218 RNDACS ?CõLN ( /QE:RNDLN ?
PI/CRETURN RNDABS JPI5ñRNDACS ?C
õLN ( /*E:RNDPRINT LET E:RND?76:
RND5TRNDPAT LPRINT SGN TAN 7
PRINT 6:RNDCLEAR QT5UURNDXMURND
RETURN òATN ?PILET TAN U5RND
RETURN CöXM5RND/AE£RNDñSAVE òùQ
?FAST LN ?INKEY$CCLS LPRINT Q
RETURN CASN EúRETURN ZC:RETURN D
4÷ACS 0F?O4CLS ?/INKEY$LN ?!/
ABS ?LCOS ,LN õPI<"/PRINT
RETURN ?SùRETURN ""ACS R AND FPI
NEW Z5)ñ?ôRETURN 5K£RETURN ñCô
RETURN *SôJLN õPIACS õPI7/PRINT
NEW ZLN õPIJ?!PIINT º?MCIF LN O?
VAL ?PI) STR$ FOR 7DFOR D?+?0
FOR KPLOT FOR FOR J?3??3?OC/FOR
JACS 0ACS 1?+?0IF ù??+??0?STOP ;
STOP /<>LPRINT AT ACS ?TAB (
INKEY$TAN ??*>=(INKEY$FOR ?C?
ACS ?TAB (INKEY$TAN GOSUB ?MRND?
ICLEAR ?Rö GOSUB ?/GOSUB ?/??
GOSUB ?Kñ76MRNDACS W??TAN LN E
-RND7PRINT LN -?LN -?LN S?LN
INPUT ?INT ?LN R?LN <>?TAN LN
LEN ?YCODE LN RUN ?LN *?/$LN R?5
LN >?óLN NEXT ?FAST LN LEN ?
LPRINT LN >?LN A?LN LLIST !)
CLEAR ?ñ( LN IF ?E?RNDLN INPUT ?
)RUN ?ñô LN IF ?E?RNDLN INPUT ?
LN .?LN .?YRUN LN RUN ?Y?LN RUN
?LN LET ?RETURN YTAB DRND5LIST ?
FAST LN EúE?RNDDIM LN POKE ?4
CLS INT ?
30455
30386 DER II ENDAT YTAN ?B?6?RND
GOSUB ?0RND<5?RNDLN ??5 6?RNDE?
RND6?RNDLN A?WMõ?5?RNDFAST LN 7?
LPRINT FAST 7776-RNDU*RNDM5RND
LN -?RETURN PAUSE ATN NEXT ?
RETURN RAND ATN CHR$ ?RETURN IF
ATN ,?RETURN THEN CREM RETURN
DIM ATN J?RETURN GOTO ATN ??
RETURN GOSUB ATN >?RETURN FOR
ATN PAUSE ?RETURN NEXT ATN 2?
RETURN SLOW ATN ""?RETURN POKE
ATN VAL ?RETURN FAST ATN L?
RETURN INPUT ATN ¶?RETURN PLOT
ATN ??RETURN UNPLOT ATN ³?
RETURN LET ATN 2?RETURN CLS ATN
K?RETURN STOP ASN £?RETURN
PRINT ATN LET ?RETURN LPRINT
ATN CHR$ ?RETURN NEW ATN ò?
RETURN COPY ATN UNPLOT ?RETURN
REM C?RETURN SCROLL ATN P?
RETURN RETURN ATN $?RETURN
CLEAR ATN A?RETURN 4;E-RND-?
RETURN
8202 2?TAB Q?LN £?LN LEN ?YSLN
RUN ??DRNDLN H?5=RND?S?5?!?S?5?ó
?S?SCROLL RETURN ?4SGN LN RUN ?5
/?LN S?/LEN ñRETURN RETURN
GOSUB ?ACS 1**?POKE ??7?STR$
FOR FAST 67RND6úRNDLN .?LN
INPUT ?JLN RUN ?LPRINT LN ??..
FOR SGN LN ??GOSUB ??RNDLN ??
FAST GOSUB ??RNDBGOSUB ?LPRINT
**6?RND?SCROLL ??7?7TAN ?7?7TAN
FAST AT E0RND7LN ??FOR BGOSUB PI
SQR E?RNDGOSUB ?**FOR 7/GOSUB Y?
PRINT LN -?LN ??LN ??FOR LN ??
FOR LET ?U?YLN /DIM FAST SCROLL
RETURN
10249 CõPRINT LN RUN ?LET LPRINT
TAN VAL FAST E?RNDPRINT ?FAST 76
?RNDLN POKE ?RETURN D4-Y
52727 LN INPUT ?JLN RUN ?LET A ?
LN INPUT ?/òLPRINT LET LPRINT
AT JTAN 5CLEAR ACS LN X?5ñEXP
LN X?LN LET ?5CLEAR ACS LN X?5ñ:
?X?LN -?RETURN
8198 ?LN -?RETURN INKEY$CZ
RETURN
51890 "CYRETURN AT C?RETURN CHR$
ASN >=?RETURN TAB ASN GOTO ?
RETURN ,ASN O?PRINT E-RND7LET ñT
?VAL ñ VAL ñM?VAL ???5INPUT ?
LN S?/?5RND?LN S?/óLN ??5IF ?LN
S?/?Y?LN B?E?RNDFAST LN X?ñCOPY
COPY LN ? óPRINT LN RUN ?LET
RETURN "CõLN B?/INPUT LPRINT
VAL GOSUB ??RNDLN ??Y)LN U?Yñ
LPRINT ?U?LN I?LN SQR ?5??LN X?5
PRINT !LN S?LN -?RETURN ,C>
RETURN ;ASN CLS ?RETURN +ASN
CLS ?5.?LN S?JTAN 5X?LN S??CLS ?
5ñRNDACS ?TAB :"JLN RUN ?UTRND
RETURN )S?:(Y/5URND-??PRINT !LN
??Y?LN B?5RUN ?LN S?/JLN H?5RUN
?LN S?/8?NEW 3?5ñRNDACS ?C:5SRND
-ACS COPY LEN WUSR ?!?òùUTRND
CHR$ 5±UNPLOT .?/RY
50167 LN ABS ?5IF ?LN S??.?LN ??
STR$ LN ??STR$ AT SGN TAN
RETURN RNDABS CONT ?ñWRNDòLN ??
RETURN 0SúRETURN RNDKöLN -?ó/
INPUT RETURN (M÷?CôRETURN $4òóòú
ACS COPY òLN ³?A ?DDGOSUB ??RNDù
?U÷?RETURN $C!RETURN (4òJTAN ?
TAN YñTAN EôRND9ñWRNDJMö?úY4£
ACS ?4KACS LIST ACS RNDFAST 5ö?O
ASN CONT ?LPRINT ?FFAST LN
SCROLL ?LPRINT óACS ?CNEXT J?6ù?
Uö?LN ??RETURN ñ4"Y5LN U?5SAVE ?
LN S?Uö?5õ??ôS**?TAN Eù?)M
GOSUB ?GOSUB ??RNDGOSUB ?SQR
INT ³FAST LN ???NLPRINT ""GOSUB
?ñ?LN ??) LN ??E?RNDGOSUB ?ñ?;6
ñ?ñ ?COS :LN -?LN S?RETURN ñ
ASN ??RETURN 4úLN ?ACOPY FAST
LN -?RETURN =TAB CONT ?LN H?
LPRINT ?RETURN COPY 4£5SGN FOR
LN X?5???S?Y6?U?FAST 5??LN S?LN
-?LN ??RETURN (46LPRINT LN **?5
STR$ VAL LN X?5??LN S?LN -?LN 3?
5AT SGN LN X?5???S?LN -?LN 3?
LPRINT Y5LN U?5???S?I+FAST LN -?
RETURN (CRAND RETURN "4õLN ??/?
RETURN INKEY$4!5RND?LN S?/?
RETURN CHR$ 4"LN ??5U?LN S?/?LN
ABS ?/?LN S?LN -?FAST LN ??
RETURN (4NLN -?LN H?E-RND??LN X?
/"LN -?RETURN TO TAB CONT ?LN O
?5??LN S?LPRINT Y5LN U?5???S?
LPRINT Y5LN U?5H??S?5??LN S?LN ?
?RETURN )CùLPRINT X""LN -??5?LN
-?/FOR ?ññ /ùLN POKE ?ñ GCOS £)
ù?>TAN B.GOSUB ???LIST INT º
STR$ LN ??FOR SGN ;FOR TAN Eñ?6õ
?TAN ?LCOS Eõ?FOR GOSUB KGOSUB ?
õ?TAN FAST Eõ?GOSUB ?ñ?BGOSUB ?
FAST AT LPRINT LN ??VAL FAST LN
??LPRINT AT ?7?TAN FOR ö!?
RETURN CñACS ??FOR 5 ACS T3Kñ
;FOR DFOR (PRINT TAN JPRINT LN ?
?LN ??RETURN + AND RND?RETURN ;
ABS RND?YFAST LN B?LN -?PRINT
LN ??LET RETURN +CôRETURN -47AT
??RETURN 4ôPRINT FAST /PEEK
FAST 5??LN X?LN NEXT ?YFAST 5??
LN U?/ZPRINT VAL /0RETURN /C(
RETURN *TAB CONT ?LN V?5)?LN S?/
BLN V?5CLEAR ?/NEXT YLPRINT LN B
?LET RETURN COS RETURN +C)LN V?
5BFOR LN X?5GOSUB ?LN X?/SCROLL
LN V?Y;LN B?/<>YSGN ?B?RETURN )4
USR LN -?/INT RETURN PEEK 4?LN ?
?5A ?X?RETURN USR 4>LN ??5???S?ñ
??VAL FAST TAN ??TAN RETURN
CODE 4G5õ?YELN U?YFAST LN B?I
COPY LN 5?YSGN LN B?5>?/USR Eõ?
GOSUB ?õ?JGOSUB ???COS ,?TAN
RETURN RND4õ5ARND/VRETURN ABS 4)
LN ??5ACS ?LN X?YCODE 5???U?
RETURN INT ASN ??RETURN LEN 4,
LN -?LN S?LN -?Y5LN U?5>=?/º77
LN ??FOR TAN RETURN SGN 4+LN ??5
LIST ??S??PCOS ACS ?5ñ TAB ??
TAN RETURN SQR TAB CONT ?LN ??5ú
??S?JXACS ?CòINT ¹??A )RND ö!
GOSUB ?Kñ;ZACS >·GOSUB ?·GOSUB ?
(LIST ??TAN LN H?LN -?PRINT Y
FAST LN B?LN H?YSGN LN B?LET
TAN LN -?RETURN -PRINT ATN -?
RETURN (C-RETURN RNDK$RETURN A
USR ??>=µ?LET ATN ??TAN LN ??/
PLOT LN H?/LET 5??/??J??J?7TAN
LN S?RETURN ASN >?YE/PLN ??Y5/I
)(BLN A?LN $?Uõ??£E?RND6?RNDöô
LN B?(CLS $4PLOT LPRINT GOSUB ??
RNDTAN 5Eú/ó5"RNDYLN LN B??LN B?
??B?LN I?LN SQR ?5FOR ?/GOSUB
RETURN ,TAB CONT ?TAN LN ??
RETURN
10245 ?/!YE5ORNDLN U?Y65MRND?U?
LN -?LN S?FAST FAST LN -?LN I?Y7
LN B?5GOSUB ?LN X?LPRINT LN X?Y6
77LN U?LPRINT GOSUB ??RND???LN -
?LN S?FAST FAST YELN U?576LN X?
LPRINT LN X?77YGOSUB LN B?Y?LN U
?YB5GOSUB ?LN U?YIF LPRINT LN ??
FOR ?U?5 /?LN -?RETURN LN )?
LET RETURN AABS CONT ?RETURN 0
AND CONT ?CHR$ 0ö ?ù/ TO FAST E
-RND)õ ;6-RNDLPRINT TAN LN -?LN
S?RETURN ñC1PRINT FAST 5*?LN S?
LPRINT LET RETURN TAB ??YFOR
LN B?LN S?Y5LN U?LN -?5V??S?
GOSUB ?ñ?VAL FAST LN ò?6ñ?FAST
LN PAUSE ?RETURN
10249 KPRINT LN $?/LIST SGN
GOSUB ?FAST AT LPRINT LN ³?AT
GOSUB ?ñ?FAST LN ò?ñ3 LN ??
LPRINT TAN FAST LN LET ?LPRINT
RETURN ?""J?FY
48672 £RNDñSAVE òùYL?TAN ?7Y
48672 /PAUSE LN ò?FAST FAST LN
PAUSE ?RETURN
10257 C!RETURN 0SLET RETURN AK
GOSUB LN $?/CONT 5 SGN ,RETURN
-C(RETURN LC?CHR$ 0DFAST DDAT ùö
?ù</CONT SGN ,RETURN -PRINT LN
NEW ?LET ""???Y.PRINT LN I?LN
SQR ?5??LN X?YYLN B?LET LN B?YM5
KRNDLN U?5,RND?S?Y4/**?PCOS ?N
COS RTAN ?PCòRTAN ?NCOS RTAN E-
RND7(CPLOT RETURN INKEY$ASN ??
RETURN CHR$ ASN ??RETURN "ASN ??
7LN I?RETURN OR 4ú5??LN S?YABS
/?RETURN AND 4õ5·?/LIST PRINT Y
B5GOSUB ?LN U?LET RETURN =4ôY
TAB /GRETURN <>4ôYASN /8RETURN >
C+RETURN <4÷YASN LN 5?/<RETURN
>=4ú5CóLN X?YPAUSE /÷RETURN <=
TAB CONT ?YIF LN 5?LN -?RETURN
AND ASN ,?TAN LN B?EúRND7LN ??
FOR LN ??FOR ?X?LN X?6õ?6÷?TAN E
õ?QCOPY 7TAN 5??LN S?LN 3?LN -?
PRINT 5N?LN S?LN 3?5X?LN S?52?
LN S?LET RETURN =4ôYTAB /A
RETURN <>4ôYASN /2RETURN >4÷Y
ASN LN 5?/!RETURN <C<RETURN >=4ô
Y AND /·RETURN <=TAB CONT ?5Có
LN X?YABS ?+?E÷?GOSUB ?ñ?úWOY""
RETURN COS 7ó/POKE 5R??S?LN
SCROLL ò5VRNDACS QTAN 5LEN ??S?5
VRNDACS PLOT ?÷ò5ò LN **ù""FAST
LN 2?SGN ??ú5ò LN **ù""LN 2?COS
LN 2?COS ??E£RND/SCROLL óóóVAL ó
óóóVAL LN EXP ?5ó LN **ùAT LN 2ù
7Y
28963 7AT ?7?7QREM 7?7?7TAN 77?7?
ù7U£RND1""U$RND0TAN LN -?LN S?Y5
LN U?YGOSUB LN B?Y?5ñ?LN U?5??
LN S?LN H?5???S?7D7FAST FAST AT
Eñ?LN COS :AT LN ??GOSUB ?ñ?TAN
Eñ???<Q /óEñ??LCOS GOSUB KTAN
FAST LN ??5GOSUB ?LN X?LPRINT
LN X?5Dù?X?LN ?5??LN S?5FOR SGN
?X?EôRND9QCOPY FQCOPY FQ 6ù?Y5E?
RNDLN U?I:Uõ??LN X?5ATN ??S?£JM5
RNDöô?7(UNPLOT $4RUN 54 6?RNDE0
RNDñ? ù6ñ?6õ?TAN ?¸RND?:RND?)RND
?1RND?4RNDFOR ?7RND?? ??
125
2 REM 5?RNDFAST 6?RND77?7?ù77
7?7?ù777?7?ù7SGN BGOSUB ?6?RND
FOR EôRND?7?7FOR E?RNDGOSUB ??
RNDGOSUB KJTAN LN SCROLL ò5VRND
ACS QI?FAST EôRND?7?LPRINT FAST
VAL LN 7ùEôRND77AT SGN GOSUB KJ
TAN ?RND ? 5²RNDJ) ?¶7FOR B
GOSUB ?FOR ABS ??ö ?TAN
3 REM MCODER II
COPYRIGHT 1983 D C THRELFALL
COMPILER AT 17300 PROG AT 20500
10 REM BY:STEVEN L. REID <SLR>
(DESIGNED)1983
<<<<THE BALL>>>>
20 PRINT "THE BALL<BY:STEVEN R
EID(C)1983>"
30 PRINT "
"
40 FOR A=2 TO 20
50 PRINT " ";TAB 10;" !!!!¸
¸¸¸!!¸¸ ";TAB 31;" "
60 NEXT A
70 PRINT "
";
80 LET B=0
90 LET H=-1
100 LET V=1
110 LET X=20
120 LET Y=1
130 LET C=X
140 LET U=Y
150 LET A$=" "
160 LET B$=" "
170 LET J=1
180 IF X<>C THEN PRINT AT C,U;B
$
190 IF Y<>U THEN PRINT AT C,U;B
$
200 PRINT AT X,Y;A$
210 REM **CHECK COLOR**
220 IF B=1 THEN GOSUB 1000
230 IF B=0 THEN GOSUB 2000
240 REM **MOVEMENT**
250 LET C=X
260 LET U=Y
270 LET X=X+H
280 LET Y=Y+V
290 IF X=2 THEN LET H=-H
300 IF X=20 THEN LET H=-H
310 IF Y=1 THEN LET V=-V
320 IF Y=30 THEN LET V=-V
330 IF J=30 THEN LET B=1
340 IF B=1 THEN GOTO 370
350 LET J=J+1
360 GOTO 400
370 LET J=J-1
380 IF J=1 THEN LET B=0
390 REM **GOTO START**
400 IF INKEY$="Q" THEN GOTO 350
0
410 GOSUB 3000
420 GOTO 180
1000 REM **CHECK COLOR - 1**
1010 IF J=28 THEN LET A$=" "
1020 IF J=27 THEN LET B$=" "
1030 IF J=26 THEN LET A$="!"
1040 IF J=25 THEN LET B$="¸"
1050 IF J=24 THEN LET A$="¸"
1060 IF J=23 THEN LET B$="!"
1070 IF J=22 THEN LET A$="!"
1080 IF J=21 THEN LET B$="¸"
1090 IF J=18 THEN LET A$="¸"
1100 IF J=17 THEN LET B$="!"
1110 IF J=14 THEN LET A$=" "
1120 IF J=13 THEN LET B$=" "
1130 IF J=10 THEN LET A$=" "
1140 IF J=9 THEN LET B$=" "
1150 RETURN
2000 REM **CHECK COLOR - 0**
2010 IF J=9 THEN LET A$=" "
2020 IF J=10 THEN LET B$=" "
2030 IF J=13 THEN LET A$="¸"
2040 IF J=14 THEN LET B$="!"
2050 IF J=17 THEN LET A$="!"
2060 IF J=18 THEN LET B$="¸"
2070 IF J=21 THEN LET A$="¸"
2080 IF J=22 THEN LET B$="!"
2090 IF J=23 THEN LET A$="!"
2100 IF J=24 THEN LET B$="¸"
2110 IF J=25 THEN LET A$=" "
2120 IF J=26 THEN LET B$=" "
2130 IF J=27 THEN LET A$=" "
2140 IF J=28 THEN LET B$=" "
2150 RETURN
3000 REM **START MCODER?**
3010 IF S=0 THEN RETURN
3020 LET S=S-1
3030 IF S>0 THEN RETURN
3040 PRINT AT 2,1;"WAIT...";AT 3
,3;"THIS CAN BE";AT 4,5;"MUCH FA
STER*";
3050 FOR W=1 TO 100
3060 NEXT W
3500 CLS
3510 LET L=USR 20500
3520 CLS
3530 GOTO 10
3990 STOP
4000 SAVE "BALLMC"
4010 LET S=65
4020 GOTO 10
4030 REM * THE BALL REDUX *
* SLR 1983/2012/2014 *