Top Banner
8/6/2019 Mastering the VIC-20 (John Herriott) http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 1/226
226

Mastering the VIC-20 (John Herriott)

Apr 08, 2018

Download

Documents

CubemanPDX
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 1/226

Page 2: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 2/226

M A S T E R I N GT H

V I C - 2 0B J O H N H E R R I O T T

T O T A B O O K S I n c .B L U E R I D G E S U M M I T . P 1 7 2 1 4

Page 3: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 3/226

M A S T E R I N GT H

V I C - 2 0B J O H N H E R R I O T T

T O T A B O O K S I n c .B L U E R I D G E S U M M I T . P 1 7 2 1 4

Page 4: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 4/226

N o t i c e :V I C - 2 0 i r e g i s t e r e d t r a d e m a r k o C o m m o d o r e B u s i n e s s M a c h i n e s , I n c .

F I R S T E D I T I O NF I R S T P R I N T I N GC o p y r i g h t 1 9 8 3 b T A B O O K S I n c .

P r i n t e d i t h U n i t e d S t a t e s o A m e r i c aR e p r o d u c t i o n o p u b l i c a t i o n o t h c o n t e n t i a n m a n n e r , w i t h o u t e x p r e s sp e r m i s s i o n o t h p u b l i s h e r , i p r o h i b i t e d . N l i a b i l i t y i a s s u m e d w i t h r e s p e c t t t h u s o t h i n f o r m a t i o n h e r e i n .

L i b r a r y o f C o n g r e s s C a t a l o g i n g i P u b l i c a t i o n D a t aH e n i o t t , J o h n .

M a s t e r i n g t h V I C - 2 0 .I n c l u d e s i n d e x .1 V I C 2 0 ( C o m p u t e r ) - P r o g r a m m i n g . I T i t l e .

Q A 7 6 . 8 . V 5 H 4 7 1 9 8 3 0 0 1 . 6 4 8 3 - 6 7 5 4I S B N 0 - 8 3 0 6 - 0 6 1 2 - 2I S B N 0 - 8 3 0 6 - 1 6 1 2 - 8 ( p b k . )

Page 5: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 5/226

C o n t e n t sA c k n o w l e d g m e n t s v

I n t r o d u c t i o n v

C h a p t e rS e t t i n g U t h V I C - 2 0 - U s i n g t h K e y b o a r d - C a p s u l e R e v i e w

C h a p t e rW r i t i n g Y o u r F i r s t P r o g r a m — S a v i n g Y o u r P r o g r a m — D o i n gC a l c u l a t i o n s — U s i n g R o u t i n e s — C a p s u l e R e v i e w

C h a p t e r 1 S o r t i n g R o u t i n e s — S u b r o u t i n e s — C a p s u l e R e v i e w

C h a p t e r 2 U s i n g t h P o k e a n P e e k S t a t e m e n t s — U s i n g D a t a S t a t em e n t s — C a p s u l e R e v i e w

C h a p t e r 4 C o n t r o l l i n g t h D i s p l a y — P r o d u c i n g Y o u r O w C h a r a c t e r S e t s -E n h a n c i n g t h S c r e e n D i s p l a y — C r e a t i n g B a C h a r t s — C a p s u l eR e v i e w

C h a p t e r 6 5 U s i n g S u b r o u t i n e s — C r e a t i n g F l o w c h a r t — D e a l i n g w i t h P r g r a m m i n g P r o b l e m s — U t i l i z i n g D e v i c e s — U s i n g A r r a y s -C a p s u l e R e v i e w

C h a p t e r 7 T h J o y s t i c k — T h e G a m e P a d d l e s — C a p s u l e R e v i e w

C h a p t e r 8 S t r i n g O p e r a t i o n s — O t h e r F u n c t i o n s

C h a p t e r 8 M e m o r y E x p a n s i o n — T h e S u p e r E x p a n d e r — C a p s u l e R e v i e w

C h a p t e r 1 1 0 U s i n g F o r m u l a s w i t h t h S u p e r E x p a n d e r — C a p s u l e R e v i e w

Page 6: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 6/226

C h a p t e r 1 1 0 C o m p u t e r G a m e s — A r r a n g i n g T e x t o t h S c r e e n — U s i n gC o l o r — P r o g r a m m i n g S t r a t e g i e s — A d a p t i n g P r o g r a m s f o U s o t h V I C - 2 0

C h a p t e r 1 A n i m a t e d G r a p h i c s — C r e a t i n g S p e c i a l E f f e c t s

C h a p t e r 1 I n p u t / O u t p u t S t a t e m e n t s — U s i n g P r i n t e r

C h a p t e r 1 U s i n g W o r d P r o c e s s i n g P r o g r a m

C h a p t e r 1 M o r e T r i c k s w i t h t h S c r e e n

A p p e n d i c e sS o r t sC o n v e r t i n g P r o g r a m s t V I B A S I CP r o g r a m m i n g P r o b l e m sP E P r o g r a m s a n O t h e r C o m m e r c i a l P r o d u c t sE r r o r M e s s a g e sT h D a t a B a s e P r o g r a mT h T a l k P r o g r a mT h e A m a z e m e n t P r o g r a m

U s i n g M e m o r y E x p a n d e r sO v e r l a y i n g

P r o d u c i n g M u s i cE x p e r i m e n t i n g w i t h G r a p h i c s

M e m o r y M a T h P r o g r a m s

I n d e x

1 4 1 4 1 4 1 5

1 5

1 5 1 6 1 6 1 6 1 6

1 6 1 7 1 7

1 7

1 1

1 2

1 3

1 4

1 4

9 1

Page 7: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 7/226

A c k n o w l e d g m e n t sA a u t h o r i i n d e b t e d t m a n y p e o p l e f o r a s s i s t a n c e , e v e n w h e n t h a ta s s i s t a n c e h a n o b e e n o b v i o u s . F o m p a r t , w i s h t t h a n k m w i f e f o b e i n g a s t o n i s h i n g l y f o r b e a r i n g ; m s o M i c h a e l f o t h

' F l i g h t o t h B u m b l e B e e " p r o g r a m ; m s o C h a r l e s f o p r e p a r i n gt h c o d i n g d a t a f o t h R u s s i a n c h a r a c t e r s e t ; a n f i n a l l y , D r H a i r yE d s t r o m , A s s i s t a n t D e a n o t h F a c u l t y o M e d i c i n e , M e m o r i a lU n i v e r s i t y o N e w f o u n d l a n d , f o t h H o m e M e d i c i n e C h e s t p r o g r a ma n t h e l o a n o t y p e w r i t e r w h e n m i n e w e n t b e r s e r k i t h m i d d l e o t h c o m p o s i t i o n o t h i s w o r k !

Page 8: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 8/226

I n t r o d u c t i o nY o h a v e e i t h e r b o u g h t o r a r e a b o u t t b u y , V I C - 2 0 c o m p u t e r . T h i sb o o k i c o m p a n i o n t o t h a t c o m p u t e r a n d e a l s o n l y w i t h m a t t e r sc o n c e r n i n g t h m a c h i n e a n d t h t h i n g s y o c a a t t a c h t o i t

A i n s t r u c t i o n m a n u a l c o m e s w i t h t h c o m p u t e r , a i d o e s w i t ha n a p p l i a n c e . I n a d d i t i o n , C o m m o d o r e p r o d u c e s p r o g r a m m e r ' sr e f e r e n c e g u i d e . T h a i o t h i s b o o k i t b o t h c o m p l e m e n t a n c o m p l i m e n t e a c h o t h o s e t e x t s i m u c h t h s a m e w a t h a tc o o k b o o k c o m p l e m e n t s t h m a n u a l t h a t c o m e s w i t h m i c r o w a v eo v e n .

T h V I C - 2 0 h a b e e n a r o u n d f o j u s t o v e r t w y e a r s . S o m et i m e p a s s e d b e f o r e t h m a c h i n e w a t a k e n s e r i o u s l y . N o i h a b e c o m e a f i r m f a v o r i t e o m a n y u s e r s , w r i t e r s , a n t e a c h e r s a h i g h l y v e r s a t i l e p i e c e o e q u i p m e n t .

S h o r t l y b e f o r e C h r i s t m a s i 1 9 8 2 t h V I C - 2 0 b e g a n t a p p e a r i d e p a r t m e n t s t o r e s . f o u n d m y s e l f c h a t t i n g t s a l e s m a n w h r e m a r k e d t h a t h h a s o l d d o z e n s i t h s p a c e o f e d a y s b u t h a tv e r y f e p u r c h a s e s h a b e e n m a d e w i t h o u t f e g a m e c a r t r i d g e sb e i n g p u r c h a s e d a t h s a m e t i m e . T h r e e m o n t h s l a t e r , t h s a m es a l e s m a n r e m a r k e d t h a t r e p e a t p u r c h a s e s s t i l l s e e m e d t b o g a m ec a r t r i d g e s r a t h e r t h a n o e x p a n s i o n m e m o r y m o d u l e s o t h S u p e rE x p a n d e r , a l t h o u g h p u r c h a s e o t h H o m e C a l c u l a t i o n P a c ka g s e e m e d t b p i c k i n g u p

C l e a r l y t h V I C - 2 0 w a b e i n g b o u g h t , l a r g e l y a g a m em a c h i n e w i t h o n l y a f e p e o p l e r e a l i z i n g t h a t i w a a l s o r e a l ,v

Page 9: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 9/226

h i g h l y v e r s a t i l e , a n v e r y u s e f u l c o m p u t e r . I s e e m s t h a t t h e r e i d i m , b u t h a p p i l y g r o w i n g a w a r e n e s s o t h p a r t o f t h g e n e r a l p u b l i ct h a t c o m p u t e r i b e t t e r b u t h a n m e r e g a m e m a c h i n e , e v e nt h o u g h t h r e a s o n w h t h a t s h o u l d b t r u e i n o t y e t c l e a r i t h e i rm i n d s .S p e a k i n g t P T g r o u p s a b o u t c o m p u t e r s i e d u c a t i o n , o f t e nh e a r t h r e m a r k , " W d i t h w r o n g t h i n g ; w b o u g h t g a m em a c h i n e ; w s h o u l d h a v e b o u g h t c o m p u t e r . " T h i s i a f t e r h a v eu s e d b o t h t h V I C - 2 0 a n a n o t h e r s m a l l c o m p u t e r t d e m o n s t r a t ec o m p u t e r a s s i s t e d i n f o r m a t i o n . O t h o s e w h a l r e a d y h a v e V I C - 2 0o s i m i l a r s m a l l c o m p u t e r , f e w , i s e e m s , r e a l i z e t h p o t e n t i a l o u n d e r s t a n d h o t g e t h m a c h i n e t d m a n y o i t r e m a r k a b l et r i c k s .

T h i n c r e a s e i i n t e r e s t i c o m p u t e r s o v e r t h e p a s t f o u r o f i v ey e a r s h a b e e n n o t h i n g s h o r t o a s t o u n d i n g . I m i g h t s e e m t m a n yp e o p l e t h a t t h c o m p u t e r i n e d e v i c e . L i k e t h m i c r o w a v e o v e n ,t h c o m p u t e r , i o n f o r m o a n o t h e r , h a b e e n q u i e t l y g o i n g a b o u ti t b u s i n e s s f o m a n y y e a r s , h a n d l i n g u t i l i t y r e c o r d s , i n c o m e t a a n b a n k s t a t e m e n t s , a n c h a r g e a c c o u n t s — a n d o f t e n b e i n g b l a m e d f o t h e r r o r s !T h C o m m o d o r e l i n e o c o m p u t e r s i p o p u l a r o n i m a n ys c h o o l s . P e r h a p s t h i s i w h y o a r e i n t e r e s t e d i t h V I C - 2 0 .C e r t a i n l y t h V I C - 2 0 w i l l s u p p o r t m u c h o t h a t w h i c h y o u r c h i l d , o y o u , w i l l d i s c h o o l .

A a d e v i c e f o t h h o m e , t h V I C - 2 0 w i l l e n h a n c e a n d a d dc o n c r e t e e x p e r i e n c e t k n o w l e d g e a c q u i r e d a b o u t c o m p u t e r s , d v e l o p i n g v e r s a t i l i t y o t h p a r t o c o m p u t e r s c i e n c e s t u d e n t s a n b r o a d e n i n g t h e i r k n o w l e d g e o t h f u n c t i o n i n g o f c o m p u t e r s , t h d i f f e r e n c e s b e t w e e n c o m p u t e r s , t h a d v a n t a g e s o t h i s m a c h i n eo v e r t h a t o n e , t h d i f f e r e n c e s i f o r m s o B A S I C , a n t h m e a n s o t a c k l i n g p r o b l e m s i f r e s h c i r c u m s t a n c e s . I f a c t , a a e d u c a t o r ,a f i r m l y c o n v i n c e d t h a t t h c o m p u t e r i m e a n s o a l l o w i n ge d u c a t i o n a l s y s t e m s t b e g i n e d u c a t i n g o n c e m o r e a n t h a t c o p u t e r i t h h o m e i a e s s e n t i a l a d j u n c t t c o m p u t e r s c i e n c ec o u r s e s .T h V I C - 2 0 , b u t n o t o n l y t h V I C - 2 0 , h a s t h a d v a n t a g e t h a t i i q u i t e i n e x p e n s i v e a n i w e l l - s u p p o r t e d i b o t h t h e p e r i p h e r a l st h a t c a b a t t a c h e d t i a n t h s o f t w a r e t h a t i a v a i l a b l e t o r u o i t

I t h i s b o o k a s s u m e t h a t y o w i s h t k n o w h o t o c o n t r o l a l a s p e c t s o t h V I C - 2 0 , a n m a i m , q u i t e s i m p l y , i t p r o v i d e y o w i t h t h m e a n s o f r e a l i z i n g t h a t w i s h . h a v e t r i e d t o b a " u s e r

v i

Page 10: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 10/226

f r i e n d l y " i n t h i s b o o k a i t h V I C - 2 0 , l e a d i n g y o t h r o u g h w h a tm i g h t a f i r s t s e e m t b m a z e , i a c o n g e n i a l f a s h i o n .

h a v e a l s o a s s u m e d t h a t y o w i l l w i s h t d m o r e t h a n m e r e l yt y p e i r e a d y - m a d e p r o g r a m s a n w i l l w i s h t l e a r n h o t d e v e l o pp r o g r a m s t h a t a r e p e r s o n a l l y p e r t i n e n t . T h u s , w h i l e t h e r e a r l o t s o p r o g r a m s i n t h i s b o o k , e a c h s e r v e s a b e g i n n i n g o f a l a r g e rp r o g r a m o y o u r o w n .

T h u l t i m a t e a i o a n g o o d t e a c h e r i s c o n t e n d , t d h i o h e r s e l f o u o a j o b w i t h r e s p e c t t a n i n d i v i d u a l s t u d e n t . T h e r e h a b e e n f r i g h t e n i n g i n c r e a s e i t e a c h e r d e p e n d e n c y i r e c e n t y e a r s .Q u i t e b r i g h t p e o p l e h a v e b e e n l e t b e l i e v e t h a t i o r d e r t k n o wa n y t h i n g o n m u s t t a k e c o u r s e !

T h i s i j u s t n o t r u e . O f t e n t h o n l y w o r t h w h i l e r e s u l t o t a k i n gc o u r s e i t h p i e c e o p a p e r t h a t s a y s y o a t t e n d e d a n p a s s e d

s o m e e x a m o o t h e r . h a v e s e e n s o m e o t h e s e p e o p l e , s u p p o s e d l yk n o w l e d g e a b l e a b o u t c o m p u t e r s o r w o r d - p r o c e s s i n g , b l a n c h e w h e nc o n f r o n t e d b m a c h i n e t h a t i n o t t h e s a m e a s t h e o n o w h i c ht h e y t r a i n e d . S u c h c o u r s e s a r q u i t e u s e l e s s a n s e r v e o n l y t p r o v i d e s o m e t e a c h e r s w i t h s a l a r y ! A f t e r w o r k i n g t h r o u g h t h i sb o o k , y o s h o u l d b a b l e t s t a n d o y o u r o w f e e t , r e a d , u n d e rs t a n d , a n m a k e u s o m a t e r i a l y o s e i m a g a z i n e s a n d o t h e rb o o k s .

T h i s b o o k i t e a c h i n g b o o k , b u i w i l l o n l y t e a c h i y o w o r kt h r o u g h a l o t h p r o g r a m s , s e e i n g h o t m o d i f y t h e m , i n t r o d u c i n gt h e m i n t o l a r g e r s c h e m e s , a n u s i n g t h e m a s s p r i n g b o a r d s f o f u r t h e r e f f o r t s . T h p r o c e s s o m e r e l y t y p i n g i r e a d y - m a d e p r g r a m s r a r e l y t e a c h e s a n y t h i n g , a n m o s t r e a d y - m a d e p r o g r a m s d n o p e r f o r m t h e p r e c i s e f i i n c t i o n n e e d e d — o r d n o w o r k ! W h e n y o h a v e w o r k e d t h r o u g h t h i s b o o k , y o s h o u l d h a v e m o s t o t h n e c e ss a r y i n f o r m a t i o n a n s k i l l s t a l l o w y o t m a k e o t h e r p e o p l e ' sp r o g r a m s w o r k a y o w i s h , o b e t t e r s t i l l , p r o d u c e y o u r o w n .

N b o o k c a t r e a t s u b j e c t e x h a u s t i v e l y . T h e r e a r a s p e c t s o t h e o p e r a t i o n o t h V I C - 2 0 t h a t h a v e s e e n f i t o m i t . I y o b e c o m e c o n s u m e d w i t h b u r n i n g d e s i r e t k n o w t h e s e t h i n g s , t h e nm b o o k h a d o n e i t j o b .

T h e r e i r e a l l y n s u c h t h i n g a t i m e l i m i t i t h l e a r n i n gp r o c e s s . D n o b e t e m p t e d t c o m p a r e y o u r p r o g r e s s w i t h t h V I C - 2 0 w i t h t h a t o f s o m e o n e e l s e . T a k e y o u r t i m e , d i g r e s s , d i h e r ea n t h e r e i y o w i s h , e x p l o r e , e x p e r i m e n t , a n d w e l l a l o n g a y o w i s h o a n p o i n t . S o o n y o w i l l b a n a c c o m p l i s h e d c o m p u t e r u s e r .

v i i i

Page 11: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 11/226

C h a p t e rT h V I C - 2 0 i a v a i l a b l e i m a n y p l a c e s a s a p a c k a g e : y o g e t t h ec o m p u t e r i t s e l f , w h i c h l o o k s l i k e h a l f t y p e w r i t e r , a n t a p e -r e c o r d e r ( c a l l e d D a t a s e t t e ) . T h b o c o n t a i n s a l s o s o m e b l a c kw i r i n g , l a r g e a n s m a l l b l a c k b o x , a n a s m a l l p o l i s h e d m e t a l i t e mw i t h t i n y l e v e r , w h i c h s l i d e s b a c k a n f o r t h .

S E T T I N G U T H V I C - 2 0T h t i n y p o l i s h e d m e t a l t h i n g i k n o w n i t h k n o w l e d g e a b l e

c i r c l e s y o h a v e j o i n e d a s T V / g a m e s w i t c h . T h e r e i f l a t l e a ds t i c k i n g o u o o n s i d e . R e m o v e t h a n t e n n a l e a d s f r o m y o u r T a n a t t a c h t h f l a t s i d e s f r o m t h g a m e s w i t c h t t h T V H s c r e w s . T h e n a t t a c h t h T a n t e n n a l e a d s t t h s c r e w s o t h g a m e s w i t c h .

O n o t h b l a c k l e a d s t h a t c o m e s w i t h t h c o m p u t e r h a p l u ga e a c h e n t h a t l o o k s v a g u e l y l i k e p e e l e d m e t a l b a n a n a . A p p r op r i a t e l y e n o u g h t h e s e p l u g s a r e c a l l e d b a n a n a p l u g s l P l a c e o n o t h e m i t h e s m a l l s o c k e t m a r k e d c o m p u t e r o n t h T V / g a m e s w i t c h .T h o t h e r e n i p l u g g e d i n t o s i m i l a r s o c k e t o t h s m a l l e r o t h t w b l a c k b o x e s , w h i c h i k n o w n a a R m o d u l a t o r .

N o t u r n t h c o m p u t e r a r o u n d s t h a t y o c a s e t h b a c k o i t T h e r e a r t w r o u n d s o c k e t s i t h c e n t e r . T h l o n g l e a d f r o mt h R m o d u l a t o r i p l u g g e d i n t o t h l e f t - m o s t o f t h t w r o u n ds o c k e t s . T h e r e i k e y , o p a t t e r n o h o l e s , t h a t e n s u r e s t h a t t h p l u g w i l l f i o n l y o n w a y .

Page 12: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 12/226

y o u h a v e t h D a t a s e t t e , p l u g i i n t o t h s m a l l e s t o t h t h r e ef l a t s o c k e t s , t h o n i m m e d i a t e l y t t h r i g h t o f t h t w r o u n d o n e s .

N o c o n c e r n y o u r s e l f w i t h t h l a r g e r o t h t w b l a c k b o x e s .T h e r e a r t w l e a d s e m a n a t i n g f r o m t h i s : o n p l u g s i n t o t h r i g h t -h a n d s i d e o t h c o m p u t e r . T h e r e y o w i l l s e t w p l u g s , o n o e i t h e r s i d e o a s m a l l s w i t c h . T h l e a d p l u g s i n t o t h e s o c k e t t t h r i g h t , o t t h r e a r , o t h e s m a l l s w i t c h . T h o t h e r l e a d p l u g s i n t ot h e a c p o w e r o u t l e t i t h w a l l .

C h e c k o v e r e v e r y t h i n g t m a k e s u r e t h a t a l p l u g s a r w h e r et h e y s h o u l d b e I y o u h a v e t h c h o i c e m a k e s u r e y o u r T i s e t u s t h e x t e r n a l a n t e n n a . N o s w i t c h o t h T a n t u n e t e i t h e rc h a n n e l o 4 N e x t s w i t c h o t h c o m p u t e r u s i n g t h e s m a l l s w i t c ho t h r i g h t . I y o a r l u c k y , y o w i l l s e t h c o m p u t e r p i c t u r e .T h i s s a y s :• • C B B A S I C V 23 5 8 3 B Y T E S F R E ER E A D Y .

I y o d o n ' t s e t h i s , d n o t w o r r y ! J u s t c h a n g e t t h e o t h e r c h a n n e l( f r o m t o v i c e v e r s a ) . N o w , i a l c o n n e c t i o n s a n s w i t c h e s a r er i g h t , y o w i l l g e t t h e p i c t u r e .

Y o m i g h t n e e d t a d j u s t t h f i n e t u n i n g j u s t l i t t l e a n t h e nt i n k e r w i t h t h c o l o r a n t i n t c o n t r o l s , b u f o a l i n t e n t s a n p u r p o s e s , y o a r u a n r u n n i n g !

U S I N G T H E K E Y B O A R DT h k e y b o a r d i y o u r m e a n s o c o m m u n i c a t i n g w i t h t h c o

p u t e r . T h c o m p u t e r c o m m u n i c a t e s w i t h y o v i t h T V T h c o m m u n i c a t i o n c a b i t h r e e d i m e n s i o n s a i w e r e : n u m b e r s a n l e t t e r s , c o l o r , a n s o u n d . I a d d i t i o n t o t h n u m b e r s a n l e t t e r s ,k n o w n a a l p h a n u m e r i c c h a r a c t e r s , t h V I C - 2 0 c a a l s o p r o v i d ev a r i e t y o s y m b o l s : h e a r t s , c l u b s , s p a d e s , c i r c l e s , a n a p l e t h o r a o s t r a i g h t a n c u r v e d l i n e s . T h e r e a r f o u n d a t i o n c o l o r s . M o r e c a b o b t a i n e d b s o m e a d v a n c e d t r i c k e r y .

T h s o u n d , v i y o u r T s p e a k e r , i r a t h e r i t h n a t u r e o a i m p o l i t e b u r p c u s h o r t i i t p r i m e , b u i s u f f i c e s q u i t e w e l l f o i t p u r p o s e a n d o e s c o m e w i t h t h c o m p u t e r w i t h o u t t h n e e d t b u a n f u r t h e r e q u i p m e n t .

T h k e y b o a r d b e h a v e s i m u c h t h s a m e w a a s a t y p e w r i t e rk e y b o a r d . T y p e t h n u m b e r s t a n y o w i l l s e t h o s e n u m b e r sa p p e a r o t h s c r e e n . N o p r e s s o n o r o t h e r o t h s h i f t k e y s a n y o w i l l s e e ! ' # $ % a p p e a r i n s t e a d . N o r e l e a s e t h s h i f t a n t y p e

Page 13: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 13/226

t h l e t t e r s Q W E R a n T O t h s c r e e n y o s h o u l d g e tQ W E R T . I y o p r e s s t h e s h i f t k e y , h o w e v e r , y o g e b a l l , c i r c l e ,a n t h r e e d i f f e r e n t l i n e s . O t h f r o n t s i d e o e a c h o t h l e t t e r k e y s ,y o w i l l s e p a i r o f s y m b o l s . P r e s s i n g t h s h i f t k e a l l o w s y o t u s t h e r i g h t - m o s t s y m b o l s .

N o p r e s s t h l e f t - m o s t s h i f t k e a n t h C o m m o d o r e k e y , t h k e w i t h t t h l e f t o t h s h i f t k e y , a t h s a m e t i m e . A l t h u p p e r c a s e l e t t e r s h a v e b e c o m e l o w e r c a s e a n t h s y m b o l s h a v eb e c o m e u p p e r c a s e . N o w , t h k e y b o a r d b e h a v e s j u s t l i k e t y p ew r i t e r . T g e u p p e r c a s e , j u s t p r e s s s h i f t b i t s e l f . E x p e r i m e n t w i t ht h a t f o r f e m o m e n t s .

T h s c r e e n i p r o b a b l y g e t t i n g q u i t e f u l l , s f u l l i f a c e t h a t t h t o l i n e d i s a p p e a r s a n i r e p l a c e d b a e m p t y s p a c e a t h b o t t o mo t h s c r e e n . T h i m a g e o t h s c r e e n i a l s o g e t t i n g l i t t l e m e s s y .P r e s s t h C = a n d s h i f t k e y s o n c e m o r e t r e v e r t t n o r m a l a n d t h e np r e s s t h s h i f t k e a n t h k e i t h u p p e r r i g h t - h a n d c o r n e rm a r k e d C L R H O M E . A l y o s h o u l d h a v e l e f t i s t h l i t t l e b l a c ks q u a r e b l i n k i n g s l o w l y o n a n d o f i t h u p p e r l e f t c o r n e r o t h s c r e e n .

J u s t t c h e c k t h a t y o u h a v e a l t h c o l o r s ( t h e r e i n p o s s i b i l i t yt h a t y o w o n ' t h a v e t h e m , b u i t ' s n i c e t b s u r e ) , t r t h f o l l o w i n g :p r e s s t h k e m a r k e d C T R L ( u p p e r l e f t ) , a n t h e n p r e s s e a c h o t h n u m b e r s t i t u r n , w a t c h i n g t h b l i n k i n g s q u a r e ( t h e c u r s o r )w h i l e y o u d o s o T h c u r s o r w i l l c h a n g e c o l o r . N o t y p e f e l e t t e r s , p r e s s t h C T R L k e a n n e c o l o r , t y p e f e m o r el e t t e r s , p r e s s t h C T R L k e a n n e c o l o r , a n s o u n t i l y o t i r eo i o f i l l t h s c r e e n .P r e s s t h s h i f t a n C L H O M E k e y s a g a i n t r e t u r n t h c u r s o rt t h h o m e p o s i t i o n . I i l i k e l y t h a t y o h a v e s o m e t h i n g o t h e r t h a nt h o r i g i n a l c o l o r a n c a n n o t r e m e m b e r w h a t t h n o r m a l c o l o r i s u p p o s e d t b e D o n ' t w o r r y : t h c o m p u t e r k n o w s . M e r e l y p r e s st h k e m a r k e d R U S T O P ( l e f t - h a n d s i d e ) a n t h k e m a r k e dR E S T O R E ( r i g h t - h a n d s i d e ) , a n t h c o m p u t e r i b a c k t n o r m a l .

T h e r e a r j u s t f e m o r e t h i n g s w c a e x p e r i m e n t w i t hb e f o r e w g e o t p r o g r a m . A t h r i g h t - h a n d e d g e o t h k e y b o a r d y o w i l l n o t e a k e w i t h t w h o r i z o n t a l a r r o w s o i t w h i c hi n e x t t t h k e w i t h t w v e r t i c a l a r r o w s . P r e s s i a n h o l d i d o w n . T h c u r s o r m o v e s t t h r i g h t u n t i l i r e a c h e s t h e d g e o t h s c r e e n t h e n w h i p s d o w n t t h n e x t l i n e a n d o e s i a l o v e r a g a i n .

N o p r e s s s h i f t a n d i a l o v e r a g a i n . T h i s t i m e t h e c u r s o rr e t r a c e s i t s t e p s . I w i l l e v e n p a s s o v e r t h w o r d R E A D Y a n c o n t i n u e u n t i l i r e a c h e s t h t o l e f t - h a n d c o r n e r .

Page 14: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 14/226

T h k e t t h l e f t w i t h t h v e r t i c a l a r r o w s d o e s t h s a m e t r i c k ,b u v e r t i c a l l y . T r i t P r e s s i b i t s e l f f o d o w n , a n t h s h i f t k e f o u p

T h e r e i j u s t o n m o r e k e t p l a y w i t h b e f o r e y o s t a r t r e a lp r o g r a m m i n g , a n t h a t i t h I N S T D E k e y . S t a r t b t y p i n g i f e l e t t e r s , n u m b e r s , a n s f o r t h . N o p r e s s t h I N S T D E k e y . I y o h o l d i d o w n , y o w i p e o u a l t h c h a r a c t e r s y o t y p e d . I y o a r c a r e f u l , y o n e e d o n l y w i p e o u t t h o s e y o w a n t t d e l e t e . Q u i t eo b v i o u s l y , t h D E p a r t r e f e r s t o d e l e t e .

N o t y p e a f e m o r e l e t t e r s , a n t h e n p r e s s t h s h i f t k e a n t h h o r i z o n t a l c u r s o r c o n t r o l , w h i c h y o u h a v e j u s t b e e n u s i n g , o n c e .T h l a s t l e t t e r y o t y p e d a p p e a r s i r e v e r s e m o d e e a c h t i m e t h c u r s o r f l a s h e s . N o w , s t i l l h o l d i n g d o w n t h s h i f t k e y , p r e s s t h I N S T D E k e o n c e . g a a p p e a r s b e t w e e n t h l a s t t w l e t t e r s y o t y p e d . I N S T t h e r e f o r e r e f e r s t o i n s e r t . N o m o v e t h c u r s o r t t h r i g h t , p a s t t h e l a s t l e t t e r y o t y p e d .

f e m o m e n t s p l a y i n g w i t h t h i s w i l l r e p a y y o u r e f f o r t s , f o t h e r e w i l l b c o u n t l e s s t i m e s t h a t y o w i l l w i s h t c h a n g e s o m et h i n g . C o m p l e t e f a c i l i t y w i t h t h c u r s o r c o n t r o l s a n t h I N S T D E k e w i l l h e l p y o t a v o i d t h e n e e d t r e t y p e l a r g e l i n e s o m a t e r i a l .

S h o u l d y o f i n d t h c u r s o r d o i n g a n y t h i n g s t r a n g e o u n e xp e c t e d t h e n m e r e l y p r e s s t h s h i f t a n C L H O M E k e y s a n d a l w i l lb w e l l .

I o r d e r t o d e l e t e o n l e t t e r f r o m w o r d y o m u s t p o s i t i o n t h c u r s o r o v e r t h f o l l o w i n g l e t t e r t h e n p r e s s t h I N S T D E k e w i t h o u t t o u c h i n g t h s h i f t k e y .

C A P S U L E R E V I E WA l c a b l e s a n l e a d s t h a t c o m e w i t h t h V I C - 2 0 a n D a t a s e t t e

a r d e s i g n e d t f i o n s p o t a n o n s p o t o n l y . T h s m a l l e r o t h t w b l a c k b o x e s t h R m o d u l a t o r , h a s l i d i n g s w i t c h t c h a n g et h c o m p u t e r ' s t r a n s m i s s i o n t t h T f r o m c h a n n e l t 4

I i w i s e t m a k e a l c o n n e c t i o n s b e t w e e n c o m p u t e r , t a p e , a n T b e f o r e p l u g g i n g i n t o t h a o u t l e t a n s w i t c h i n g o t h m a c h i n e .

I i p o s s i b l e t h a t t h T s e w i l l n e e d s o m e f i n e a d j u s t m e n t t t u n i n g , c o l o r , a n t i n t .

T h c o m p u t e r p r i n t s u p p e r c a s e ( l e t t e r s ) o t h s c r e e n i i t n o r m a l s t a t e . T h s h i f t k e y s p r o d u c e p u n c t u a t i o n a n m o d i f i e r s i g n sf r o m t h n u m e r a l k e y s , b u g r a p h i c s y m b o l s f r o m t h l e t t e r s a n s o m e o t h e r k e y s . T h g r a p h i c s y m b o l s p r o d u c e d a r t h o s e p r i n t e do t h r i g h t / f r o n t o e a c h k e y .

Page 15: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 15/226

T h C o m m o d o r e ( C = ) a n s h i f t k e y s p r e s s e d t o g e t h e r p r o d u c el o w e r c a s e l e t t e r s . T h s h i f t k e y s t h e n o p e r a t e b p r o d u c i n g u p p e rc a s e l e t t e r s .

T h C p r e s s e d a l o n e r e a c h e s t h g r a p h i c s y m b o l s p r i n t e dl e f t / f r o n t o e a c h k e y .

T h r e t u r n k e p r o d u c e s c a r r i a g e r e t u r n a n m u s t n o b c o n f u s e d w i t h t h r e t u r n i n s t r u c t i o n u s e d i p r o g r a m s . T h l a t t e rm u s t b t y p e d f r o m t h k e y b o a r d .

T h C L H O M E k e o p e r a t e s b m o v i n g t h c u r s o r t t h e t o pl e f t - h a n d c o r n e r w i t h o u t e r a s i n g m a t e r i a l f r o m t h s c r e e n w h e n t h k e y b o a r d i i n o r m a l m o d e . I m o v e s t h c u r s o r a n e r a s e s t h es c r e e n w h e n u s e d w i t h t h s h i f t k e y .T h s i c o l o r s a n b l a c k a n w h i t e a r r e a c h e d b p r e s s i n g t h C T R L k e a n t h a p p r o p r i a t e n u m b e r k e y .

T h I N S T D E k e r e m o v e s m a t e r i a l f r o m t h s c r e e n f r o mr i g h t t l e f t a n c a b h e l d d o w n f o r e p e a t a c t i o n . W h e n t h s h i f tk e y a n d t h I N S T D E k e a r p r e s s e d a t h s a m e t i m e , s p a c e i c r e a t e d f o t h i n s e r t i o n o f c h a r a c t e r .

T h t w c u r s o r c o n t r o l k e y s m o v e t h c u r s o r d o w n a n r i g h t i t h n o r m a l m o d e a n u a n l e f t w h e n u s e d i c o n j u n c t i o n w i t h t h s h i f t k e y .

T h c u r s o r k e y s a n t h s p a c e b a c a o p e r a t e i t h r e p e a tm o d e w h e n t h e y a r h e l d d o w n .

Page 16: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 16/226

C h a p t e rI t h i s c h a p t e r y o a r g o i n g t w r i t e a s i m p l e p r o g r a m , m o d i f y i t a n t h e n s a v e i t t a p e . T h a t m i g h t n o s e e m t b m u c h a f i r s ts i g h t , b u y o w i l l , i f a c t , d e m o n s t r a t e c o n s i d e r a b l e c o n t r o l o t h c o m p u t e r .

v a r i e t y s h o w o r c o n c e r t o f f e r s s e q u e n c e o e v e n t s t h a t t a k ep l a c e i p r e c i s e o r d e r . f e o t h e v e n t s a r n o a n n o u n c e d , s u c ha r a i s i n g t h c u r t a i n , d i m m i n g t h l i g h t s , g e t t i n g t h p e r f o r m e r t w a l k o s t a g e , s i d o w n , s t a n d u p t a k e b o w , a n w a l k o f f . T h e s et h i n g s a r o b v i o u s . T h e y m u s t b p r e p a r e d b u a r t a k e n f o g r a n t e db t h s t a g e c r e w , p e r f o r m e r s , a n a u d i e n c e a l i k e .

C o m p u t e r s a r r e l a t i v e l y d u m b . E v e r y t h i n g y o w i s h t h e m t d m u s t b p r e a r r a n g e d . S o m e o t h p r e a r r a n g e m e n t h a b e e nm a d e b t h p e o p l e w h p r o g r a m m e d t h 6 5 0 2 c h i p t h V I C - 2 0u s e s . T T i e s e p r e a r r a n g e m e n t s a l l o w y o u r p r e a r r a n g e m e n t s t b c a r r i e d o u s u c c e s s f u l l y .

I m u c h t h s a m e w a t h a t d i f f e r e n t s e c t i o n s o s h o w a r i t e m i z e d a n n u m b e r e d o s e p a r a t e l i n e s , e a c h a c t i v i t y t h c o m p u te p e r f o r m s i p l a c e d o n u m b e r e d l i n e . ( Y o u w i l l m e e t m e t h o do i n c l u d i n g m o r e t h a n o n a c t i v i t y o n o n e l i n e l a t e r ) . I h a b e c o m et h h a b i t o f p r o g r a m m e r s t n u m b e r p r o g r a m l i n e s a i n t e r v a l s o t e s t h a t i n e l i n e n e e d s t b i n s e r t e d , t h e r e i r o o m t d s o

W R I T I N G Y O U R F I R S T P R O G R A MT y p e t h f o l l o w i n g :

Page 17: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 17/226

1 P R I N T " P L E A S E T Y P E Y O U R N A M E "

D o n ' t f o r g e t t h q u o t a t i o n m a r k s , w h i c h a r e o b t a i n e d b p r e s s i n gt h s h i f t a n 2 k e y s s i m u l t a n e o u s l y . C h e c k i t s e t h a t i i a l q u i t ec o r r e c t a n t h e n p r e s s t h r e t u r n k e y . Y o u r l i n e i n o i n s t a l l e d i t h c o m p u t e r ' s m e m o r y a n t h e c u r s o r i a t h b e g i n n i n g o t h n e x t l i n e .

N o t y p e t h i s l i n e :

2 I N P U T Z ( i s h i f t e d 4 R e m e m b e r t p r e s s t h r e t u r n k e y )

A n n o t h l a s t l i n e :

3 P R I N T " H E L L O " ; Z ( P r e s s r e t u r n )

N o c l e a r t h s c r e e n ( s h i f t a n C L h o m e ) a n t y p e t h w o r dR U a n t h e n p r e s s t h e r e t u r n k e y . D w h a t t h c o m p u t e r t e l l s y o t d a n t h e n p r e s s t h e r e t u r n k e y .

Y o u r u l t r a p o l i t e V I C - 2 0 h a n o o n l y a c c e p t e d y o u r n a m e b u h a l a b e l e d i Z a n t h e n p r i n t e d i i p l a c e o Z o t h s c r e e n .

T h w o r d R E A D Y i n d i c a t e s t h a t t h c o m p u t e r i w a i t i n g f o y o t d s o m e t h i n g e l s e . I y o t y p e R U o n c e m o r e ( d o n ' t f o r g e tt h r e t u r n k e y ) , t h c o m p u t e r w i l l d i a l o v e r a g a i n . T r s o m e o n ee l s e ' s n a m e , b u w a i t m o m e n t b e f o r e y o c a l l t h n e i g h b o r s i t s h o w t h e m !

T h s c r e e n m i g h t s e e m l i t t l e c l u t t e r e d . Y o c a d s o m e t h i n ga b o u t t h a t b a d d i n g a c o u p l e o l i n e s , a f o l l o w s :2 ( p r e s s t h s h i f t k e t g e t t h e q u e s t i o n m a r k )2 ( A l w a y s , b u t a l w a y s , p r e s s t h r e t u r n k e a f t e r e v e r y l i n e ! )2

Y o h a v e a d d e d t h r e e l i n e s e a c h w i t h q u e s t i o n m a r k . C l e a r t h s c r e e n u s i n g t h s h i f t e d C L H O M E k e a n t h e n t y p e t h w o r dL I S T . E n t e r i b p r e s s i n g t h e r e t u r n k e y .

T h e r e i t h p r o g r a m w i t h t h n e l i n e s a d d e d . T h q u e s t i o nm a r k s h a v e d i s a p p e a r e d a n i p l a c e o e a c h o n i t h w o r d P R I N T .Y o s e e , t h i a s h o r t h a n d s y m b o l t h a t t h V I C - 2 0 u n d e r s t a n d s t m e a n p r i n t w h e n i i u s e d a s t a t e m e n t a f t e r l i n e n u m b e r . D o n ' tw o r r y t h a t a l y o u r q u e s t i o n m a r k s w i l l c o m e o u t a s t h e w o r d p r i n t .

N o r u t h p r o g r a m b c l e a r i n g t h s c r e e n a n t h e n t y p i n gR U N . Y o c a s e t h a t t h c o m p u t e r h a l e f t s o m e e m p t y l i n e s . A d

f e m o r e n u m b e r e d l i n e s c o n t a i n i n g t h b e t w e e n 2 a n 3 0 a n s e m o r e e m p t y l i n e s a p p e a r . T h p r i n t s t a t e m e n t b i t s e l f a l l o w s

Page 18: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 18/226

s o m e m e a s u r e o f c o n t r o l o v e r t h w a m a t e r i a l a p p e a r s o t h s c r e e n .

N o y o a r g o i n g t c h a n g e s o m e o t h p r o g r a m . T y p e t h f o l l o w i n g :

3 I Z $ = " J O H N " T H E N P R I N T " H E L L O D A D " ( R E T U R N )4 I Z $ = " J O " T H E N P R I N T " H E L L O M O M " ( R E T U R N )5 I Z $ = " R I C H A R D " T H E N P R I N T " H D I C K " ( R E T U R N )6 I Z $ = " C H A R L E S " T H E N P R I N T " H O W D YC H U C K " ( R E T U R N )7 I Z $ = " M I C H A E L " T H E N P R I N T " S E E Y O M I K E "

( R E T U R N )8 I Z $ = " G R A C E " T H E N P R I N T " H S I S " ( R E T U R N )

C l e a r t h s c r e e n a n t h e n r u n t h p r o g r a m . Y o w i l l , o c o u r s e ,s u b s t i t u t e t h n a m e s o y o u r f a m i l y o a n g u e s t s y o m i g h t e x p e c tt s h o w y o u r c o m p u t e r t o f o r t h o s e h a v e u s e d .

S o m e h o w t h c o m p u t e r i a b l e t o d i s t i n g u i s h b e t w e e n e a c h o t h n a m e s , b u o n l y t h o s e c o n t a i n e d i l i n e s 3 t 8 0 A n o t h e rn a m e s a r i g n o r e d . N o c a l l i t h f a m i l y t p l a y w i t h t h p r o g r a mw h i l e y o r e a d t h e x p l a n a t i o n .

T h n e l i n e s c o n t a i n t h a l m o s t m a g i c a l I . . T H E Nc o n s t r u c t i o n . Z $ » t h l e t t e r f o l l o w e d b t h d o l l a r s i g n , i c a l l e ds t r i n g v a r i a b l e . s t r i n g i c o m p u t e r p a r l a n c e i c o l l e c t i o n o l e t t e r s o n u m b e r s . v a r i a b l e i l a b e l t h a t c a h a v e v a r i o u sm e a n i n g s . T h w o r d c a r o r a u t o i v a r i a b l e i n a t u r a l l a n g u a g eb e c a u s e i c a m e a n a n y t h i n g f r o m V o l k s w a g e n t R o l l s - R o y c e .T h v a r i a b l e Z c a b a n y t h i n g y o l i k e ; y o c o u l d e v e n t y p e 1 2 3 4i t h f i r s t s i m p l e v e r s i o n o t h p r o g r a m a n t h c o m p u t e r w o u l dr e s p o n d w i t h H E L L 0 1 2 3 4 , w h i c h j u s t s h o w s h o w e a k - m i n d e d t h c o m p u t e r r e a l l y i s

A d t h f o l l o w i n g l i n e :

2 " H E L L O " Z 2

N o r u t h p r o g r a m . I y o t y p e n a m e t h a t i n o s t o r e d a ss t r i n g , t h c o m p u t e r w i l l s i m p l y s a H E L L O . F o s t o r e d s t r i n g s i g o e s t h w h o l e h o g !

W h i l e t h f a m i l y i b u s y p l a y i n g w i t h t h i s , s u r r e p t i t i o u s l y p r e s st h C a n s h i f t k e y s . B g r a t i f i e d b t h o o h ' s a n a h ' s a t h V I C - 2 0 d i s p l a y s t h e l o w e r c a s e .

Y o w i l l n d o u b t g e q u e s t i o n s l i k e : " H o w d o y o u g e t t h ec o l o r s ? ' ' ' ' W i l l i t a l k ? " ' W h a t ' s t h i s b u t t o n h e r e f o r " T h a n s w e r s

Page 19: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 19/226

t t h e s e q u e s t i o n s s h o u l d b i t h f o r m o " L i k e t h i s " ( p r e s s t h C T R L k e a n o n o t h n u m b e r s t 6 ) " N o , " a n " B e c a u s e i w o u l d b i t h w a o v e r h e r e " .

I y o h a v e w o r k e d d i l i g e n t l y a t g e t t i n g t k n o w y o u r k e y b o a r d ,y o w i l l h a v e n o d i f f i c u l t y d a z z l i n g o n l o o k e r s w i t h t h s p e e d w i t hw h i c h y o t y p e R U a n p r e s s t h r e t u r n , r u n s t o p , a n d r e s t o r ek e y s .

S A V I N G Y O U R P R O G R A MT h t a p e r e c o r d e r s h o u l d h a v e n e t a p e i i t J u s t i c a s e y o

a r u s i n g a a u d i o t a p e w i t h c l e a r o c o l o r e d l e a d e r , p r e s s t h f a s t f o r w a r d F F W D , b u t t o n u n t i l y o a r s u r e t h e r e i m a g n e t i c t a p ei f r o n t o f t h h e a d . I s h o u l d t a k e j u s t s h o r t s t a b a t h e b u t t o n t d t h i s .

B e f o r e y o c a s a v e t h p r o g r a m , y o m u s t g i v e i n a m e .W h i l e i i p o s s i b l e t s a v e p r o g r a m w i t h o u t a n a m e , i i u n w i s eb e c a u s e t h c o m p u t e r a n y o w i l l h a v e d i f f i c u l t y f i n d i n g i a g a i n !S o l e u c a l l t h i s p r o g r a m " N A M E S " . T y p e S A V E " N A M E S " .T h c o m p u t e r r e s p o n d s w i t h P R E S S R E C O R D P L A Y O T A P E . A s o o n a y o d t h i s t h c o m p u t e r r e s p o n d s w i t h :O S A V I N G N A M E SA s o o n a s t h e p r o g r a m i s a v e d t h c o m p u t e r p r i n t s t h w o r dR E A D Y . T h t a p e r e c o r d e r s t o p s e v e n t h o u g h t h r e c o r d a n p l a yk e y s r e m a i n d e p r e s s e d .

T h w h o l e p r o c e d u r e i a s i m p l e a t h a t . N o w h e n e v e r y o w i s h t a c c e s s t h a t p r o g r a m f r o m t a p e y o m e r e l y r e w i n d t p o i n tb e f o r e t h e t a p e c o u n t e r r e a d i n g ( i i w i s e t m a k e n o t e o i t o g e t h e r w i t h t h p r e c i s e n a m e o t h p r o g r a m ) , t y p e t h w o r d sL O A D " N A M E S " a n p r e s s r e t u r n .

T h c o m p u t e r r e s p o n d s w i t h :

P R E S S P L A Y O T A P EO S E A R C H I N G F O R N A M E SA s o o n a i h a f o u n d t h a t p r o g r a m , i l e t s y o k n o w . W h e n t h p r o g r a m i l o a d e d t h f a m i l i a r R E A D Y a p p e a r s .

C l e a r t h e s c r e e n a n t h e n t y p e a n s h i f t e d I O t h s c r e e nw i l l a p p e a r a u p p e r c a s e a n q u a r t e r c i r c l e . P r e s s t h e r e t u r n k e

Page 20: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 20/226

a n t h p r o g r a m w i l l b l i s t e d o t h s c r e e n . a n s h i f t e d i t h s h o r t h a n d f o l i s t .

D O I N G C A L C U L A T I O N SI w i l l h a v e o c c u r r e d t o y o u , n d o u b t , t h a t c o m p u t e r i s

c a l l e d b e c a u s e i c a n c o m p u t e ! I c a h a n d l e t h m a n i p u l a t i o n o n u m b e r s a h i g h s p e e d .

C l e a r t h m e m o r y b t y p i n g t h e w o r d N E a n d , a a l w a y s ,p r e s s i n g r e t u r n ! N o w , w i t h o u t p u t t i n g i l i n e n u m b e r s , e n t e r d i ef o l l o w i n g .

X = 1 0 ( R E T U R N )Y = ( R E T U R N )? X + Y ( R E T U R N )

T h V I C - 2 0 r e s p o n d s i n s t a n t l y w i t h t h r e s u l t , 1 5 N o e n t e r ? X * Z( m e a n s m u l t i p l y i c o m p u t e r j a r g o n ) , a n t h c o m p u t e r r e s p o n d sw i t h 5 0 E n t e r ? X / Y a n t h r e s u l t i 2 Y o a r u s i n g t h c o m p u t e ri w h a t i k n o w n a t h d i r e c t m o d e .

Y o c a c h a n g e t h v a l u e s o a n m e r e l y b w r i t i n g X n e v a l u e : Y n e v a l u e , a l o t h s a m e l i n e w i t h c o l o n b t w e e n . Y o c o u l d a s s i g n v a l u e s t l a r g e n u m b e r o l e t t e r s w i t h ac o l o n b e t w e e n e a c h e x p r e s s i o n a n t h e n a s t h c o m p u t e r t p e f o r m c o m p u t a t i o n s u s i n g a n l e t t e r s y o s e l e c t . H o w e v e r , i o r d e rt a s s i g n n e v a l u e s t p r e v i o u s l y u s e d v a r i a b l e s ( l e t t e r s ) , y o m u s t w r i t e a n e e x p r e s s i o n .

p r o g r a m t h a t p e r f o r m s t h s a m e f u n c t i o n c o u l d b w r i t t e n i s u c h w a a t a l l o w t h u s e r t c h a n g e t h v a l u e o v a r i a b l e . T h p r o g r a m i s i m i l a r t o t h o n e y o u h a v e j u s t w r i t t e n f o n a m e s e x c e p tt h a t y o u s l i n e n u m b e r s .

C l e a r t h s c r e e n o a l t h c o m p u t a t i o n s y o h a v e j u s t p e f o r m e d . T h e r e i n n e e d t t y p e N E b e c a u s e t h e r e i n s t o r e dp r o g r a m . N o e n t e r t h f o l l o w i n g l i n e s :

1 I N P U T " V a l u e f o p l e a s e " ; ( n o t e t h e s e m i c o l o n )2 I N P U T " V a l u e f o p l e a s e 1 1 ;3 ? X + YN o r u t h p r o g r a m . N s o o n e r h a v e y o g i v e n a v a l u e f o t h a nt h V I C - 2 0 p r i n t s t h r e s u l t . B e f o r e y o c a u s t h p r o g r a m a g a i n ,y o m u s t t y p e R U N .

T h e r e i w a a r o u n d t h a t p r o b l e m :

4 G O T 0 1 01

Page 21: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 21/226

N o w , e a c h t i m e t h c o m p u t e r h a c o m p l e t e d t h c o m p u t a t i o n i r e t u r n s t t h b e g i n n i n g o t h p r o g r a m a n a s k s f o r f u r t h e r i n p u t .

N o t e t h f o r m a t o l i n e s 1 a n 2 0 Y o h a v e s a v e d c o u p l e o l i n e s , s o m e e f f o r t , a n s o m e m e m o r y b p u t t i n g t h l i n e s i t h i sf o r m . T h a l t e r n a t i v e w o u l d b t t y p e :

1 ? V a l u e f o p l e a s e "2 I N P U T3 r v a l u e f o p l e a s e "4 I N P U T

T h N a m e s p r o g r a m c a b w r i t t e n i t h a t f o r m t o o :

1 I N P U T " W H A T I Y O U R N A M E " ; Z $2 ? H H E L L O " ; Z $

T h i s t e c h n i q u e s a v e s l o o f t i m e . N o t e t h a t s t r i n g i t h f o r m o q u e s t i o n f o l l o w i n g t h e w o r d i n p u t d o e s n o n e e d a q u e s t i o n m a r k .T h V I C - 2 0 i n s e r t s i a u t o m a t i c a l l y , c o u r t e s y o t h e c l e v e r f o l k w h p r o g r a m m e d i i t h f i r s t p l a c e .

L e u s e i y o c a m a k e t h c o m p u t a t i o n p r o g r a m l i t t l em o r e f l e x i b l e . S f a i w i l l o n l y a d a n Y s i m p l y b e c a u s e y o h a v e n o t o l d i t d a n y t h i n g e l s e . Y o c o u l d c h a n g e l i n e 3 t r e a d? X * Y , a n d t h e n t h n u m b e r s w i l l b m u l t i p l i e d . H o w e v e r , w h a t e v e rf u n c t i o n y o a s t h c o m p u t e r t p e r f o r m b c h a n g i n g l i n e 3 i f i x e d u n t i l y o c h a n g e t h l i n e o n c e m o r e . I i r a t h e r n u i s a n c e t b i t h m i d d l e o l o n g s e r i e s o f c a l c u l a t i o n s o n l y t h a v e t l i s tt h p r o g r a m , c h a n g e l i n e , a n t h e n t r t c o n t i n u e .

H e r e i s o l u t i o n ; l e a v e l i n e s 1 a n 2 a n r e t y p e t h f o l l o wi n g :

3 I N P U T u + . - . * , / , f t ; A $4 I F A $ = M + n T H E N 1 0 05 I A $ = " - M T H E N 2 0 6 I A $ = V T H E N 3 0 7 I A $ = 7 ' T H E N 4 0 1 0 ? X + Y1 1 S T O P2 0 ? X - Y2 1 S T O P3 0 ? X * Y3 1 S T O P4 0 0 ? X / Y4 1 S T O P

T h f u n c t i o n o t h p r o g r a m i o b v i o u s e x c e p t f o o n t h i n g ,p e r h a p s . F o e a c h o p e r a t i o n s e l e c t e d , t h c o m p u t e r i d i r e c t e d t

1

Page 22: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 22/226

n e l i n e . I i r e s u l t o t h s t a t e m e n t o t h a t l i n e t h a t t h V I C - 2 0d o e s i t w o r k . T h p r o g r a m i l i t t l e l o n g - w i n d e d t b s u r e , b u y o w i l l h a v e s o m e i d e a o f t h f u r t h e r p o s s i b i l i t i e s o t h i f - t h e ns t a t e m e n t .

L e u t i d y u t h p r o g r a m l i t t l e . F o t h i s y o s h o u l d m a k eu s o t h c u r s o r . L i s t t h p r o g r a m . Y o w i l l n o t e h o t h c o m p u t e rm o v e s t h l i s t i n g u t h s c r e e n f o y o u . N o p r e s s t h e s h i f t k e y a n dt h v e r t i c a l c u r s o r k e u n t i l t h e c u r s o r i o l i n e 4 0 N o w , w i t h o u tu s i n g t h s h i f t k e y , m o v e t h e c u r s o r a l o n g t t h f i r s t d i g i t i 1 0 0 .W i t h o u t d o i n g a n y t h i n g f a n c y l i k e a t t e m p t i n g t d e l e t e , j u s t t y p e t h ew o r d P R I N T . T h n u m b e r h a c o m p l e t e l y d i s a p p e a r e d a n t h w o r d P R I N T a p p e a r e d i i t p l a c e . N o c o n t i n u e w i t h X + Y . N o t i c eh o l i n e 5 i p u s h e d d o w n t a c c o m m o d a t e t h e e x t r a c h a r a c t e r st h a t h a v e a p p e a r e d i l i n e 4 0 P r e s s t h r e t u r n k e a n t h e c u r s o rw i l l g t p o s i t i o n o v e r t h o l i n e 5 0 M o v e t h e c u r s o r a l o n g t 2 0 a n t y p e P R I N T ( y o u c a u s i y o w i s h ) X - Y . D t h s a m e f o l i n e s 6 a n 7 a n t h e n r e p e a t e d l y p r e s s t h e r e t u r n k e u n t i l t h c u r s o r i d o w n b e l o w t h w o r d R E A D Y a t h b o t t o m o t h s c r e e n .

N o r u t h p r o g r a m b t y p i n g 4 f o X 6 f o Y a n d t h e * f o rt h o p e r a t o r .W h a t ' s t h i s ? T h e r e a r t w n u m b e r s : 3 0 8 2 a n d 1 1 3 u n d e r n e a t h !1 1 i t h r e s u l t o f a d d i n g 4 a n 6 7 W h e r e d i i c o m e f r o m ? L i s tt h p r o g r a m o n c e m o r e . ( I g n o r e t h l e g e n d B R E A K I 3 1 0 : i m e r e l y t e l l s y o t h a t t h p r o g r a m s t o p p e d a t h a t l i n e n u m b e r ) .

W h e n y o p r e s s e d , t h * t h c o m p u t e r d i d e x a c t l y w h a t w a e x p e c t e d . H o w e v e r , i t h e n r o l l e d m e r r i l y d o w n t h l i n e s , i g n o r i n gl i n e 7 b e c a u s e i d i n o m e e t t h c o n d i t i o n y o l a i d d o w n b e n t e r i n g * I t h e n e n c o u n t e r e d l i n e 1 0 w h i c h s a i d t o p r i n t X + Y ! I d i j u s t t h a t ! I t h e n e n c o u n t e r e d t h e s t o p i n s t r u c t i o n l e f t o v e r f r o mt h p r e v i o u s f o r m o t h p r o g r a m . I y o w i s h t e x p e r i m e n t l i t t l e ,j u s t t y p e t h n u m b e r s 1 1 0 , 2 1 0 , 3 1 0 a n 4 1 a n p r e s s t h r e t u r n k e a f t e r e a c h . N o l i s t t h p r o g r a m . T h o s e l i n e s h a v e g o n e ! T h n e l i s t i n g l o o k s l i k e t h i s :

1 I N P U T " V A L U E F O P L E A S E " ;2 I N P U T V A L U E F O R Y P L E A S E " ;3 0 I N P U T " + , - , * , / ? " ; A $4 I F A $ = " + " T H E N 1 0 05 I A $ = " - " T H E N 2 0 6 I A $ = V T H E N 3 0 7 I A $ = V " T H E N 4 0 1 0 ? X + Y2 0 ? X - Y3 0 0 ? X * Y4 0 0 ? X / Y

1

Page 23: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 23/226

N o r u t h p r o g r a m a g a i n . U s t h n u m b e r s 4 6 a n 6 7 a n t h s a m e o p e r a t o r , * T h r e s u l t s l o o k l i k e t h i s :

V A L U E F O V A L U E F O + , - , ♦ , / ?3 0 8 21 1 - 2 3 0 8 2. 6 8 6 5 6 7 1 6 4

P L E A S E ?P L E A S E ?

4 6

T h f i r s t n u m b e r , 3 0 8 2 i t h o n e y o u w a n t e d . T h n e x t f o u r a r e t h er e s u l t o f l i n e s 1 0 0 , 2 0 0 , 3 0 a n 4 0 0 .

T h i s s o r t o f t h i n g h a p p e n s a l t h t i m e w i t h c o m p u t e r s i t h p r o g r a m i n o c a r e f u l l y a s s e s s e d o d e b u g g e d . N o y o k n o w t h a ty o u r i n c o r r e c t u t i l i t y b i l l i n o t a r e s u l t ( o r a l e a s t , i s u n l i k e l y t b e o c o m p u t e r e r r o r b u p r o b a b l y r e s u l t o f p o o r p r o g r a m m i n g o a u n r e c t i f i e d b u g .

T r e m o v e t h u n w a n t e d l i n e s m e r e l y t y p e t h l i n e n u m b e r sa n p r e s s t h r e t u r n k e a f t e r e a c h o n e . T h p r o g r a m n o f i n i s h e sa l i n e 7 0 I o r d e r t g e t h p r o g r a m t r u a g a i n a u t o m a t i c a l l y ,t y p e a y o d i b e f o r e , 8 G O T O 1

U S I N G R O U T I N E SI t h i s c h a p t e r , j u s t o n m o r e t r i c k t h a t y o u r V I C - 2 0 c a

p e r f o r m w i l l b e x p l o r e d .I o f t e n h a p p e n s t h a t y o u n e e d a e f f e c t t t a k e p l a c e m o r e t h a n

o n c e ; s o m e t i m e s y o n e e d t h e f f e c t m a n y t i m e s i g i v e n p r g r a m . I c a b v e r y t i r e s o m e i n d e e d t k e e p o n t y p i n g i t h s a m em a t e r i a l a t d i f f e r e n t p o i n t s i t h p r o g r a m , a n s y o c a m a k e u s o r o u t i n e s . R o u t i n e s a r e n o t s o m e t h i n g l i k e p r i n t o i f - t h e n s t a t em e n t s t h a t f o r m p a r t o t h B A S I C c o m p u t e r l a n g u a g e , b u t h e y a r s e q u e n c e s o e v e n t s t h a t y o b u i l d f r o m B A S I C s t a t e m e n t s a n c o m m a n d s .

O n w a o g e t t i n g t h c o m p u t e r t r e p e a t i t s e l f i t g e n e r a t el o o p . T h v i t a l i n g r e d i e n t h e r e i t h f o r - n e x t s t a t e m e n t . T h

c o m p u t e r i t o l d t o d s o m e t h i n g f o s m a n y t i m e s . E a c h t i m e i d o e s i t i c h e c k s t s e i i h a s r e a c h e d t h r e q u i r e d n u m b e r o t u r n s . I n o t h e n i d o e s t h n e x t t u r n . I t ' s r a t h e r l i k e t h o s e g a m e sw h e r e p l a y e r i t o l d t h a v e t h r e e e x t r a t u r n s . T h d i c e a r t h r o w na n t h c o u n t i 1 t h d i c e a r t h r o w n a g a i n a n t h c o u n t i n o 2 a g a i n t h e d i c e a r t h r o w n a n d t h c o u n t i n o 3 I t h e p l a y e r t r i e st h a v e f o u r t h t u r n t h e o t h e r p l a y e r s s a * ' U h ! U h N m o r e ! "

1

Page 24: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 24/226

H e r e i s i m p l e e x a m p l e : T y p e N E t h e n1 F O R I = 1 T O 1 0 ( i o t h e r w o r d s , t e t u r n s c a l l e d I 2 P R I N T3 N E X T

T h a t ' s a l t h p r o g r a m c o n s i s t s o f b u i d o e s s u r p r i s i n ga m o u n t o w o r k . R u i a n s e e . T r c h a n g i n g t h e v a l u e s o t h t w n u m b e r s i l i n e 1 0 . F o e x a m p l e , c h a n g e 1 T 2 0

N o c h a n g e l i n e 1 t r e a d1 0 F O R I = 1 T O 4 0 S T E P 2

T h c o m p u t e r m e r e l y p r i n t s t h o d n u m b e r s .N o c h a n g e t h f i r s t n u m b e r t u s i n g t h c u r s o r . T r c h a n gi n e a c h o t h n u m b e r s , b u d o n ' t m a k e t h l a s t v a l u e o t o l a r g eo e l s e y o w i l l n o s e w h a t i h a p p e n i n g .

T h V I C - 2 0 c a c o u n t b a c k w a r d s j u s t a w e l l a n a r a p i d l y .C h a n g e l i n e 1 t r e a d1 F O R I = 4 0 T O 1 S T E P - 2 ( Y e s . . y o u c a n l e a v e o u t t h e s p a c e s ! )

A g a i n e x p e r i m e n t w i t h t h n u m b e r s .W h e n y o h a v e g r o w n t i r e d o f t h a t t y p e N E W , w h i c h e r a s e s t h

p r o g r a m f r o m . m e m o r y . C l e a r t h s c r e e n a n e n t e r t h f o l l o w i n gp r o g r a m :

1 I N P U T " V A L U E F O A " ; A2 0 I N P U T " V A L U E F O B " ; B3 F O R I = A T O B4 P R I N T5 N E X T

T h i s p r o g r a m o b v i o u s l y a l l o w s y o t a l t e r t h n u m b e r s y o p u i a n w o r k s o n t h o s e . C h a n g e l i n e 4 t r e a d :4 ? l : ? l

A l t h i s d o e s i t c a u s e e a c h n u m b e r t b r e p e a t e d .T h f o r m a t o t h i s l i n e d e m o n s t r a t e s a n o t h e r f e a t u r e o t h V I C - 2 0 a n t h a t i t h a b i l i t y t a l l o w y o t p u m o r e t h a n o n s t a t e m e n t o l i n e . T h f o r m a t f o t h i s i S T A T E M E N T C O L O NS T A T E M E N T . M o v e t h c u r s o r u t l i n e 3 a n t h e n m o v e i a l o n g u n t i l i i i t h s p a c e a f t e r t h l e t t e r B P u c o l o n t h e r e a n a d P R I N T I N E X T

1

Page 25: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 25/226

N o e r a s e l i n e s 4 a n 5 b s i m p l y t y p i n g t h t w n u m b e r s a n p r e s s i n g t h r e t u r n k e a f t e r e a c h o n e . I y o u h a v e a n p r o b l e m sh e r e , i c o u l d b t h a t y o d i n o p r e s s t h e r e t u r n k e a d i e n o l i n e 3 a n t h e n m o v e t h c u r s o r d o w n b e l o w t h w o r d R E A D Y .

T h p r o g r a m i n o t i g h t e r a n d , n o t h a t y o h a v e s o m ee x p e r t i s e , i n o d i f f i c u l t t r e a d . I n f a c t i i e a s i e r t f o l l o w t h l o g i c o l o n g p r o g r a m w h e n y o d o n ' t h a v e t k e e p o g o i n g d o w nt n e l i n e t o o f t e n . T h w h o l e l o o p i p r e s e n t e d a o n u n i t .

W h a t i y o w i s h e d t e n t e r a l i s t o n a m e s ? L e t ' s w o r k u p r o g r a m i s t a g e s . E n t e r t h f o l l o w i n g :

1 I N P U T " N A M E P L E A S E " ; A $2 F O R I = 1 T O 1 0 : ? A $ : N E X T

T h i s p r o g r a m a l l o w s y o t e n t e r n a m e a n t h e n p r i n t s i 1 t i m e s . I i i n t e r e s t i n g b u t n o t v e r y u s e f u l u n l e s s y o n e e d e dw h o l e l o o d u p l i c a t e s o s o m e t h i n g ; s e t o f l a b e l s w i t h y o u r n a m ea n a d d r e s s t s t i c k o e n v e l o p e s f o e x a m p l e . J u s t f o f u n , r e r u nt h p r o g r a m b u e n t e r n o t o n l y y o u r n a m e b u a l s o y o u r a d d r e s s .T h s c r e e n d i s p l a y s i n e a t l y d o e s n ' t i t

I y o w a n t t e n t e r w h o l e l i s t o n a m e s , y o h a v e t m a k e u s o a n o t h e r s t a t e m e n t , c a l l e d D I M , w h i c h i s h o r t f o d i m e n s i o n . T h f o r m a t f o r t h i s s t a t e m e n t i D I f o l l o w e d b v a r i a b l e ( A , B , C a n s o n ) , f o l l o w e d b n u m b e r i p a r e n t h e s i s ; f o r e x a m p l e , D I M A( 2 0 ) . T h i s l i t t l e s t a t e m e n t s a y s t h a t t h e r e c a b 2 i t e m s c a l l e dA ( l ) , A ( 2 ) , A ( 3 ) , a n s o u t A ( 2 0 ) . E a c h o n e i n u m b e r e da u t o m a t i c a l l y b t h c o m p u t e r .

D I M A $ ( 2 0 ) s a y s t h s a m e t h i n g b u d e a l s w i t h s t r i n g s . A t h t w t h i n g s w o r k i t h s a m e w a y , a n a s t r i n g s c a n c a u s e c o n f u s i o na f i r s t , l e u d e a l d i r e c t l y w i t h s t r i n g s .

1 D I M A $ ( 3 0 )2 I N P U T ' H O W M A N Y N A M E S " ; N3 F O 1 = T N I N P U T A $ ( l ) : N E X T4 F O = T N P R I N T A $ ( K ) : N E X T

W h e n t h V I C - 2 0 a s k s h o m a n y n a m e s , p u i l o n u m b e r t s t a r t w i t h . A e a c h q u e s t i o n m a r k c o m e s u p e n t e r a n e n a m e .W h e n y o h a v e r e a c h e d t h l i m i t t h V I C - 2 0 w i l l p r i n t o u t h n a m e si t h s a m e o r d e r i w h i c h y o u e n t e r e d t h e m . L i n e 1 d e f i n e s t h a b s o l u t e l i m i t t t h n u m b e r o n a m e s . I y o t r t e n t e r m o r e t h a nt h i r t y , t h c o m p u t e r w i l l d i s p l a y a e r r o r m e s s a g e a f t e r y o h a v ee n t e r e d t h f i r s t t h i r t y . Y o c a a l t e r t h l i m i t b c h a n g i n g t h n u m b e r i p a r e n t h e s e s , b u t d t h i s y o m u s t e i t h e r e n t e r n e

1

Page 26: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 26/226

l i n e 1 o l i s t t h p r o g r a m a n e d i t l i n e 1 u s i n g t h e c u r s o r , w h i c hc a b b o t h e r s o m e .

T h e r e i a n o t h e r a p p r o a c h t h a t y o c a u s r i g h t n o w , b u i o r d e r t s h o w y o u , i n t e n d t i n t r o d u c e b u g , s t h a t y o c a s e w h a t r e a l b u l o o k s l i k e ! C h a n g e l i n e 1 t r e a d D I M A $ ( N ) . T h v a r i a b l e s h o u l d n o b t h s a m e a t h t h a t y o e n t e r a r e s u l to t h r e q u e s t o l i n e 2 0

N o r u t h p r o g r a m . T h c o m p u t e r s h o w s t h e r e q u e s t q u i t en i c e l y , a n y o c a e n t e r t h e f i r s t n a m e . N s o o n e r d y o p r e s sr e t u r n h o w e v e r , t h a n y o s e t h f o l l o w i n g h a r r o w i n g m e s s a g e :? B A D S U B S C R I P TE R R O R I 3 R E A D YL i s t t h p r o g r a m . N o y o c a s e w h a t i w r o n g . Y o h a v e u s e dt h v a r i a b l e a s s u b s c r i p t ( t h a t i w h a t w c a l l t h n u m b e r s i p a r e n t h e s i s i D I s t a t e m e n t ) b e f o r e y o h a v e a s s i g n e d v a l u e t i t

T h s o l u t i o n i s i m p l e . A d l i n e 2 a n t y p e D I M A $ ( N ) . N o t y p e 1 0 a n p r e s s t h e r e t u r n k e y . L i n e 1 0 i n o d e l e t e d a n l i n e 2 i i i t p l a c e , b u i n o c o m e s a f t e r y o h a v e a s s i g n e d a v a l u e t N N o t h p r o g r a m r u n s w e l l .

" A l l r i g h t " y o s a y , " h a v e t p u t h n a m e s i a l p h a b e t i c a lo r d e r f o t h e m t a p p e a r i a l p h a b e t i c a l o r d e r "

N y o d o n ' t ! Y o c a g e t h V I C - 2 0 t s o r t t h n a m e s f o y o u — n o t w i t h t h p r o g r a m y o u h a v e n o w , m i n d y o u , b u y o d h a v et h m a k i n g s o s u c h p r o g r a m . S o r t i n g t h i n g s i n t o o r d e r i s o m et h i n g t h c o m p u t e r d o e s s w e l l a n i s u c h v a r i e t y o w a y s t h a t i d e s e r v e s a c h a p t e r t i t s e l f . T h n e x t c h a p t e r w i l l d j u s t t h a t .

C A P S U L E R E V I E WL i n e s a r u s u a l l y a s s i g n e d u s i n g i n t e r v a l s o 1 0 a l e a s t i t h

e a r l y s t a g e s o p r o g r a m . E a c h l i n e c o n s i s t s o f o n o m o r ed i r e c t i o n s t t h c o m p u t e r .

W h a t e v e r y o p l a c e b e t w e e n q u o t a t i o n m a r k s w i l l a p p e a r o t h s c r e e n .

T h i n p u t s t a t e m e n t a l l o w s y o t t a k e p a r t i t h p r o g r a ma c t i v i t y . W h a t e v e r y o t y p e w i l l b u s e d b y t h p r o g r a m .

T h p r i n t s t a t e m e n t c a b u s e d a l o n e t p r o d u c e b l a n k l i n e s s t h a t t h s c r e e n p r e s e n t a t i o n i c l e a r e r . T h s h o r t h a n d f o p r i n t i s a n f o l i s t i s h i f t e d I I f a c t m o s t s t a t e m e n t s c a n b s h o r t e n e db t y p i n g t h f i r s t l e t t e r a n s h i f t i n g t h s e c o n d . . . b u b c a r e f u l o

1

Page 27: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 27/226

t h i s a s o m e s t a t e m e n t s c a n n o t b s h o r t e n e d . c o m p l e t e l i s t o t h s h o r t h a n d i p r i n t e d i t h a p p e n d i x o t h V I C - 2 0 m a n u a l .

U s e r i n p u t c a b e v a l u a t e d b t h c o m p u t e r . T h s i m p l e s tm e t h o d i t u s a i f - t h e n s t a t e m e n t f o l l o w e d b s o m e o t h e rs t a t e m e n t .

P r o g r a m s a r s a v e d t t a p e b e n t e r i n g t h e w o r d S A V E . T h ec o m p u t e r p r o m p t s y o u w i t h i n s t r u c t i o n s a n i n d i c a t e s w h e n t h p r o c e s s i c o m p l e t e .

p r o g r a m i t r a n s f e r r e d f r o m t a p e t t h c o m p u t e r b y e n t e r i n gt h w o r d L O A D f o l l o w e d , o f c o u r s e , w i t h t h n a m e o t h p r o g r a ma i t h e s a v i n g p r o c e s s . A g a i n t h V I C - 2 0 p r o m p t s y o u a n d i n d ic a t e s w h e n t h p r o c e s s i c o m p l e t e .

I i w i s e t l a b e l p r o g r a m s w i t h s h o r t n a m e , b e i n g c a r e f u l t a v o i d o d s p a c e s a n d p u n c t u a t i o n m a r k s . M a k e n o t e o t h t a p ea n o t h c o n t e n t s c a r d i t h e p r e c i s e f o r m t h a t t h n a m e i w r i t t e no t h t a p e . A l s o m a k e n o t e o t h e t a p e c o u n t e r r e a d i n g f o e a c hp r o g r a m . T h V I C - 2 0 w i l l s e a r c h t h r o u g h t h e n t i r e t a p e a n e v e nl i s t e a c h p r o g r a m i f i n d s o t h s c r e e n , b u t t h e p r o c e s s c a n b t e d i o u s o 6 m i n u t e t a p e !

P r o g r a m s c a b e r a s e d f r o m m e m o r y i o r d e r t m a k e r o o mf o n e p r o g r a m s . T h c o m m a n d i N E W . T h n e c o m m a n dc a n n o t b e u s e d w i t h i n t h b o d y o p r o g r a m o e l s e t h p r o g r a m w i l le r a s e i t s e l f .

T h V I C - 2 0 c a b e u s e d i w h a t i k n o w n a s t h e d i r e c t m o d e ;t h a t i s w i t h o u t l i n e n u m b e r s . H o w e v e r , o n l y s i m p l e p r o g r a m s c a b d e a l t w i t h i t h i s m o d e .

C o m p u t e r s h a n d l e n u m b e r s e x t r e m e l y w e l l , i n f a c t , a l t h o u g h i m a n o b o b v i o u s , i c a o n l y h a n d l e n u m b e r s ! S u c h t h i n g s a l e t t e r s , d o l l a r s i g n s , a n g r a p h i c s y m b o l s , i f a c t a n y t h i n g y o c a s e o t h k e y b o a r d a n d a n y t h i n g y o c a r e t d e s i g n i t r a n s l a t e di n t o n u m e r i c a l e q u i v a l e n t b t h i n t e r n a l p r o g r a m o t h c o m p u t e r .

T h c o m p u t e r c a m a k e d i s t i n c t i o n b e t w e e n d i f f e r e n t t h i n g s .F o e x a m p l e , i c a d i s t i n g u i s h b e t w e e n a n a n a c a p p r op r i a t e l y i c o r r e c t l y p r o g r a m m e d t d s o T h i f - t h e n s t a t e m e n t i m e a n s o c a u s i n g t h c o m p u t e r t m a k e d i s t i n c t i o n s .

T h c o m p u t e r c a b c a u s e d t r e p e a t g i v e n a c t i v i t y a n n u m b e r o f t i m e s , e v e n f o e v e r ! F o r - n e x t s t a t e m e n t s a r t h m e a n so a c c o m p l i s h i n g r e p e a t s b s e t t i n g u l o o p s . T h w o r d f o i f o l l o w e d b v a r i a b l e t h a t i t h e n g i v e n v a l u e f r o m o n e n u m e r i c a lp o i n t t a n o t h e r . B o t h p o i n t s c a b s p e c i f i e d a t h a t m o m e n t o c a b t a k e n f r o m a n o t h e r a r e a o t h p r o g r a m . T h p o i n t s c a b a r r a n g e d f r o m l o t h i g h o r i r e v e r s e . T h c o u n t c a b m a d e

1

Page 28: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 28/226

e i t h e r c o n s e c u t i v e l y o b s t e p s o a n d e c l a r e d s i z e . S t e p s i z e i i n d i c a t e d b t h s t e p s t a t e m e n t a n c a b p o s i t i v e v a l u e i t h c o u n t i f o r w a r d o r n e g a t i v e v a l u e i t h c o u n t i b a c k w a r d ; f o e x a m p l e , 4 T 1 S T E P - 2

S t r i n g s a r d e n o t e d b d o l l a r s i g n a f t e r t h v a r i a b l e l a b e l ; f o e x a m p l e , A $ B B $ . S t r i n g s c a c o n s i s t o f a n u m b e r o f c h a r a c t e r s a n s p a c e s o r e v e n w h o l e s e n t e n c e s . T h e y a r c o n t a i n e d i q u o t a t i o nm a r k s .

A a r r a y c a b c o m p o s e d o s t r i n g s , o i c a b n u m e r i c a la r r a y . B o t h c a b a s s i g n e d t v a r i a b l e n a m e a n c a u s t h s a m ev a r i a b l e n a m e r e p e a t e d l y b e c a u s e e a c h i t e m i a s s i g n e d a n u m b e r .T h D I s t a t e m e n t i u s e d t i n d i c a t e t h m a x i m u m n u m b e r o i t e m s t h a t c a b i t h a r r a y . T h s t a t e m e n t t a k e s t h e f o r mD I M A ( N ) , w h e r e i n d i c a t e s t h n u m b e r o d i f f e r e n t s e t s o d i g i t st h a t c a b c a l l e d f o n u m e r i c a l a r r a y s ; a n t h f o r m D I M A $ ( N )f o s t r i n g s .

T h n u m b e r c a b d e c l a r e d e i t h e r w i t h i n t h e s t a t e m e n ti t s e l f o c a b c a l l e d f r o m e l s e w h e r e i t h p r o g r a m . I t h l a t t e rc a s e t h e v a l u e o m u s t b d e c l a r e d b e f o r e t h D I s t a t e m e n t i u s e d o e l s e t h e p r o g r a m w i l l c r a s h .

1

Page 29: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 29/226

C h a p t e r

A l t h o u g h h a v e m a d e c e r t a i n d e c i s i o n s r e g a r d i n g w h a t m a t e r i a lp r e s e n t a n w h e n , i m u s t n o b t h o u g h t t h a t t h e r e i t o t a l l y f i x e dh e i r a r c h i c a l s t r u c t u r e t t h i n f o r m a t i o n a p r e s e n t i n g .

Y o m i g h t b a n x i o u s t g e o a n e x p l o r e s o m e o t h o t h e rf e a t u r e s o t h V I C - 2 0 s u c h a c o l o r a n s o u n d . Y o a r q u i t e f r e e t d s o i n d e e d i i l i k e l y t h a t y o w i l l h a v e e x p e r i m e n t e d w i t h c o l o ri t h s h o r t p r o g r a m s p r e s e n t e d s o f a r .

A p r o m i s e d , t h i s c h a p t e r w i l l d e a l w i t h m a t t e r s c o n c e r n i n gs o r t i n g o m a t e r i a l , a w e l l a s s o m e o t h e r c o n c e p t s ! Y o m a w i s h t s k i p i f o t h m o m e n t a n c o m e b a c k t i l a t e r .

S O R T I N G R O U T I N E ST y p e i t h f o l l o w i n g p r o g r a m :

1 D I M f l $ < 2 0 >2 I N P U T " H O W M R N V N f l M E S " ; N3 0 F O R I « 1 T O N4 I N P U T R $ a V N E X T5 P R I N T T R B O V ' N O W S O R T I N G "6 F O R I * 1 T O N - 17 0 I F f l $ a + l > > s f i $ < I ) T H E N 1 2 08 I 9 1 0 1 1 G O T O 6 01 2 N E X T I1 3 0 F O R I * 0 T O N : P R I N T f l * < I > : N E X T I

1

Page 30: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 30/226

W h e n y o r u t h i s p r o g r a m f o t h f i r s t t i m e , p u i n a m e s t h a ta l b e g i n w i t h t h s a m e i n i t i a l , s u c h a J o h n , J e r r y , J a m e s , J u n e , J a c k ,J e r r o l d , a n J e r v i s , u t t h t o t a l y o i n d i c a t e d i r e s p o n s e t t h q u e s t i o n . ( N o t e t h 2 i l i n e 1 0 . ) D o n ' t p u t o m a n y n a m e s i o t h f i r s t t i m e a r o u n d j u s t i n c a s e t h e r e i a e r r o r i y o u r t y p i n g ,( w h i c h i u n l i k e l y , b u y o n e v e r k n o w ! ) S e h o n i c e l y t h p r g r a m s o r t s t h n a m e s f o y o u ?

B e f o r e c o n s i d e r i n g m o r e s o r t i n g p r o g r a m s , y o s h o u l d t i d yt h i s o n u l i t t l e . B e g i n b a d d i n g p r i n t s t a t e m e n t t l i n e 1 3 0 .L i s t t h p r o g r a m , b r i n g t h e c u r s o r u t t h l i n e , m o v e i a l o n g u n t i li i o v e r t h o P R I N T ; t h e n p r e s s t h s h i f t a n I N S T D E k e y st w i c e . N o e n t e r a n a a n t h e n m o v e t h c u r s o r t t h e n o t h l i n e a n p r e s s t h r e t u r n k e t w i c e . T h i s b r i n g s t h e c u r s o rb e l o w t h w o r d R E A D Y . N o r u t h p r o g r a m . T h n a m e s a r n e a t l y s e p a r a t e d o t h s c r e e n . I w o u l d b n i c e i y o c o u l d g e r i o a l t h a t i n p u t , h o w e v e r , a n j u s t s h o w t h r e s u l t . A d t h e f o l l o wi n g :

1 2 P R I N T C H R $ ( 1 4 7 )

C H R $ ( 1 4 7 ) i c o d e r e c o g n i z e d b t h V I C - 2 0 t s t a n d f o C L H O M E . R u t h p r o g r a m t s e w h a t h a p p e n s .

T h e r e w i l l b o c c a s i o n s w h e n y o w i l l s e t h a w f u l l i n e7 S Y N T A X E R R O R I L I N E

T h i s w i l l o f t e n m e a n t h a t y o h a v e s e m i c o l o n i m u l t i s t a t e m e n tl i n e s w h e r e t h e r e s h o u l d b c o l o n . I i a k i n t o a s y n t a x e r r o r i n o r m a l w r i t i n g . T h e x p r e s s i o n F O R I = 1 T O N m i g h t s e e m l i k es y n t a x e r r o r t y o u , b u i d o e s n ' t a c t u a l l y m e a n t o n ; t h V I C - 2 0 ,o a n o t h e r c o m p u t e r f o r t h a t m a t t e r , i i n c a p a b l e o w e i g h i n ga n y t h i n g !

I o r d e r t u n d e r s t a n d w h a t t h c o m p u t e r i d o i n g i n t h i sp r o g r a m , i m i g h t h e l p t p u i f e e x t r a l i n e s . Y o c a a s t h c o m p u t e r t l e y o u w a t c h t h m a g i c f r o m b e h i n d a i w e r e , t s e w h a t i d o n e w i t h a l t h o s e n a m e s b e t w e e n t h t i m e y o e n t e r t h e ma n t h t i m e t h e y a p p e a r o t h s c r e e n i a l p h a b e t i c a l o r d e r .1 2 P R I N T A $ ( l )1 2 N E X T

W h e n t h p r o g r a m r u n s , i w i l l p r i n t o u e a c h o i t e f f o r t s t o s o r t t h i n f o r m a t i o n . I i b e s t f o i l l u s t r a t i v e p u r p o s e s t u s o n l y f o u r

2

Page 31: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 31/226

n a m e s f o t h i s e x e r c i s e . T y p e t h e m i a n t h e n r u t h p r o g r a m .D i y o s e e ? P r e t t y d a r n q u i c k , w a s n ' t i t T r i a g a i n , b u

b e f o r e y o p r e s s t h r e t u r n k e a f t e r t h f i n a l n a m e , p o i s e y o u rf i n g e r o v e r t h C T R L k e y . P r e s s i a s o o n a y o s e t h w o r d sN O S O R T I N G a p p e a r o t h s c r e e n . I y o r e m o v e l i n e 1 2 f o r u o t w y o c a n s e e t h w o r k a n t h r e s u l t . B s u r e t p u l i n e1 2 b a c k a n a l l o w l i n e 1 2 t r e v e r t t i t o r i g i n a l f o r m b e f o r e y o s a v e t h p r o g r a m h o w e v e r .

T c h a n g e l i n e 1 2 t 1 2 i v e r y e a s y . B r i n g t h e c u r s o r u t l i n e 1 2 2 . M o v e i o v e r t h s e c o n d 2 t h e n t y p e 0 a n d p r e s s t h e r e t u r nk e y . B r i n g t h e c u r s o r b a c k d o w n b e l o w R E A D Y , a n t h e n t y p e 1 2 a n p r e s s t h e r e t u r n k e y . N o y o c a n s a v e t h p r o g r a m a n a m a z ey o u r f r i e n d s b p r o d u c i n g a l s o r t s o f l i s t s .

H o i i d o n e ? s p o k e i t h l a s t c h a p t e r a b o u t h o t h c o m p u t e r c a a c t u a l l y o n l y d e a l w i t h n u m b e r s . T h l e t t e r d o e s n o l o o k l i k e a t t h c o m p u t e r . T d i s p l a y a o t h s c r e e n ,s e r i e s o z e r o s a n o n e s , c o l u m n s w i d e a n d 8 r o w s d e e p , a r u s e d .

r e a s o n a b l e r e p r e s e n t a t i o n w o u l d b a f o l l o w s

0 0 0 0 1 0 0 00 0 0 1 0 1 0 00 0 1 0 0 0 1 0 T h z e r o s s t a n d f o b l a n k b i t s0 1 1 1 1 1 1 1 o t h s c r e e n a n t h o n e s f o 0 1 0 0 0 0 0 1 f i l l e d o s e b i t s .0 1 0 0 0 0 0 10 1 0 0 0 0 0 10 0 0 0 0 0 0 0

E a c h c h a r a c t e r i a s s i g n e d a n u m b e r k n o w n a i t A S C I I( A m e r i c a n S t a n d a r d C o d e f o I n f o r m a t i o n I n t e r c h a n g e ) v a l u e : t h v a l u e o i g r e a t e r t h a n A i g r e a t e r t h a n B a n s o n T h v a l u eo e a c h c h a r a c t e r i l i s t e d i n a a p p e n d i x i t h V I C - 2 0 u s e r s ' g u i d e .T h a t i h o l i n e 7 d o e s i t t r i c k b a s s e s s i n g w h e t h e r n a m e i g r e a t e r o e q u a l t a n o t h e r n a m e . T h s h u f f l e c o n t i n u e s u n t i l t h n u m b e r s a r i o r d e r .

T h t y p e o s o r t i n g m e t h o d g i v e n h e r e i a d e q u a t e f o s m a l ll i s t s . T r c h a n g i n g l i n e 1 t r e a d D I M $ ( 5 0 ) a n e n t e r 5 0 n a m e s .I w i l l t a k e s o m e t i m e e v e n f o t h V I C - 2 0 t o s o r t t h e s e .

I A p p e n d i x A y o w i l l f i n d f o u r o t h e r p r o g r a m s u s e d f o s o r t i n g . T h l i n e n u m b e r s a r e h i g h s t h a t t h e y c a b p l a c e d a t h e n o p r o g r a m a s u b r o u t i n e .

2

Page 32: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 32/226

S U B R O U T I N E SW h a t i a s u b r o u t i n e ? I i s e c t i o n o p r o g r a m t h a t c a

p e r f o r m a n o p e r a t i o n r e p e a t e d l y u p o n r e q u e s t . I d i f f e r s f r o mf o r - n e x t l o o p i s f a a i p e r f o r m s t h a c t i o n o n l y o n c e e a c h t i m e i i u s e d , w h e r e a s t h e l o o p h a c o u n t e r t h a t a l l o w s t h e a c t i o n t o b r e p e a t e d s p e c i f i e d n u m b e r o t i m e s w i t h o u t h a v i n g t b e a s k e de a c h t i m e . W h e n t h a c t i o n p e r f o r m e d b t h s u b r o u t i n e i c o p l e t e , t h c o m p u t e r r e t u r n s t t h p a r t o f t h p r o g r a m i w a i b e f o r e t h e s u b r o u t i n e w a c a l l e d .

A e x a m p l e i i o r d e r . R e t u r n t y o u r f i r s t p r o g r a m , t h o n i w h i c h y o u p u i n a m e a n s o m e s o r t o r e s p o n s e c o m e s o u t . T h i sp r o g r a m w i l l a n n o u n c e w h e t h e r o r n o t t h n a m e e n t e r e d i t h n a m eo f a m i l y m e m b e r . I i n o t r e m e n d o u s l y u s e f u l p r o g r a m b u o n t h a t w i l l p r o v i d e s o m e f u a p a r t y .

1 I N P U T ' W H A T I Y O U R N A M E " ; Z $2 " T H A N K Y O " ; Z $3 I F Z $ = " J O H N " T H E N G O S U B 5 0 4 I F Z $ = " J O n T H E N G O S U B 6 0 5 I F Z $ = " R I C H A R D " T H E N G O S U B 7 0 9 " D K N O W Y O U ? n ; Z $1 0 S T O P5 0 ? " Y O U A R F A M I L Y "5 1 ? " G E T B A C K T T H T Y P E W R I T E R " ; Z $5 2 R E T U R N6 0 ? " Y O U A R F A M I L Y "6 1 ? W O U L D Y O L I K E S O M E C O F F E E ? " ; Z $6 2 R E T U R N7 0 " Y O U A R F A M I L Y "7 1 " H A V E Y O T A K E N T H T R A S H O U T " ; Z 7 2 R E T U R N

T h i s t r i t e l i t t l e p r o g r a m , w h i c h i i n c o m p l e t e , d e m o n s t r a t e sh o t s e n d t h c o m p u t e r t n e l i n e a c c o r d i n g t s o m e s p e c i f i cr e s p o n s e o t h p a r t o t h u s e r . W h a t t h e n ?A d t h f o l l o w i n g l i n e :

1 0 I N P U T " H O W O L D A R E Y O U " ; Z

N o t i c e h o t h r e t u r n s t a t e m e n t c a u s e s t h p r o g r a m t b p i c k e d u a t h l i n e f o l l o w i n g t h e a p p r o p r i a t e i f - t h e n l i n e . T h i s i t h w h o l e p o i n t o G O S U B . T h p r o g r a m s k i p s t a n o t h e r p o i n ta n t h e n r e t u r n s t t h e p o i n t f r o m w h i c h i l e f t .

d o n ' t r e c o m m e n d s a v i n g t h i s p r o g r a m . P e r h a p s y o w o u l dl i k e t t r s o m e t h i n g l i t t l e m o r e i n t e r e s t i n g ?

1 " H e l l o . M n a m e I V i c t o r . W h a t ' s y o u r s ? "2

Page 33: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 33/226

2 I N P U T Z 3 ? : ? T M V E R Y P L E A S E D T M E E T Y O U " ; Z $4 " W O U L D Y O L I K E T K N O W W H A T C A D O ? "4 I N P U T " P R E S S O A N T H E N R E T U R N " ; A 5 I F A $ = " N " T H E N 5 0 0 05 ? C H R $ ( 1 4 7 )6 " I ' M P L E A S E D A B O U T T H A T 1 18 0 ? : ? : ? " H E R E A R S O M E O T H T H I N G S C A D O 9 ? : ? : ? " 1 . C A L C U L A T E . 2 . T E A C H "1 0 ? : ? : ? " 3 . K E E P F I L E S . 4 . S O R T "1 1 ? : ? : ? " P L E A S E P R E S S T H E N U M B E R T H A T C O R R E S P O N D S

T W H A T Y O W O U L D L I K E T S E E "1 1 I N P U T1 2 O N - ( A = 1 ) - 2 * ( A = 2 ) - 3 * ( A = 3 ) - 4 * ( A = 4 ) G O T O 1 0 0 0 , 2 0 0 0 , 3 0 0 0 , 4 0 0 01 0 0 0 ? C H R $ ( 1 4 7 )1 0 1 0 ? " C A L C U L A T I O N R O U T I N E "1 9 9 0 S T O P2 0 0 0 ? C H R $ ( 1 4 7 )2 0 1 0 ? l T E A C H R O U T I N E "2 9 9 0 S T O P3 0 0 0 ? C H R $ ( 1 4 7 )3 0 1 0 ? F I L E R O U T I N E "3 9 9 0 S T O P4 0 0 0 ? C H R $ ( 1 4 7 )4 0 1 0 ? l l S O R T R O U T I N E "4 9 9 0 S T O P5 0 0 0 ? C H R $ ( 1 4 7 ) : ? " N I C E T H A V E M E Y O U : Z $ : G O T O 1

T h p r o g r a m w i l l b f i n i s h e d l i t t l e l a t e r . c o m p l e t e v e r s i o no t h i s p r o g r a m c a b f o u n d i A p p e n d i x N p r o g r a m 4 3 F o t h m o m e n t l e u s e w h a t y o h a v e . T h V I C - 2 0 i n t r o d u c e s i t s e l f a n c a l l s f o r e s p o n s e s f r o m t h u s e r . m e n u o p r o g r a m s i l i s t e d a n t h u s e r i e n c o u r a g e d t o s e l e c t o n o t h i t e m s b e n t e r i n g t h a p p r o p r i a t e n u m b e r . T h i s i c o m m o n w a o d o i n g t h i s . Y o w i l lf i n d m e n u s , h o w e v e r , t h a t c a l l d i f f e r e n t s e c t i o n s b m e a n s o c o d ea b b r e v i a t i o n s . W h e n y o w r i t e a m o r e c o m p l e x p r o g r a m t h a n t h i sy o m i g h t w i s h t t r t h a t .

T h n e s t a t e m e n t i O N - G O T O . Q u i t e s i m p l y , y o c a a v o i dt h u s o a g r e a t l i s t o i f - t h e n s t a t e m e n t s b u s o O N - G O T O .W h e r e y o s e n d t h c o m p u t e r t i u t y o u . h a v e s e l e c t e d l i n en u m b e r s i t h t h o u s a n d s s o t h a t t h e r e w i l l b p l e n t y o r o o m f o t h s u b r o u t i n e s . F o t h m o m e n t y o h a v e o n l y t h e t i t l e o t h r o u t i n e s .N o t e t h e s t o p i n s t r u c t i o n , w h i c h p r e v e n t s t h p r o g r a m f r o m r u n n i n go t t h n e x t p a r t . I y o w i s h y o u c o u l d r e p l a c e e a c h s t o p i l i n e s1 9 9 0 , 2 9 9 0 , 3 9 9 0 a n 4 9 9 0 w i t h G O T O 1 0 T h i s w i l l a u t o m a t i c a l l yr e t u r n t h p r o g r a m t i t b e g i n n i n g . H o w e v e r , i w o u l d b b e s t t l e a v e t h a t f o r l i t t l e w h i l e o r e l s e s o m e t h i n g c u r i o u s w i l l o c c u r .

T h f i r s t t h i n g y o c o u l d p u t i t h i s p r o g r a m i t h s o r t r o u t i n ed i s c u s s e d e a r l i e r . Y o u m u s t b e a r i m i n d , h o w e v e r , t h a t t h u s e r

2

Page 34: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 34/226

m a n o b e v e r y f a m i l i a r w i t h t h m a c h i n e o a n c o m p u t e r f o t h a tm a t t e r . Y o s h o u l d p r o v i d e s o m e i n s t r u c t i o n s .4 0 2 0 ? M Y O U M A E N T E R U T 2 N A M E S . "4 0 3 0 ? : ? " M E M B E R S O Y O U R F A M I L Y ; F R I E N D S O A N O T H E R

N A M E S . 1 14 0 4 0 ? : ? " W A I T F O T H B E F O R E T Y P I N G , A N P R E S S T H E R E T U R N

K E Y A F T E R E A C H N A M E . "4 0 5 0 ? " Y O U W I L L H A V E T T E L L T H C O M P U T E R H O M A N Y N A M E S . "4 0 6 0 F O L = T 1 0 0 0 04 0 7 0 N E X T L4 0 8 0 ? : ? : ? " P R E S S A N K E T C O N T I N U E "4 0 8 5 G E A $ : I F A $ = " " T H E N 4 0 8 54 0 9 0 ? C H R $ ( 1 4 7 )4 0 9 5 ? " G O O D . "

L o o k a t l i n e s 4 0 6 0 a n 4 0 7 0 . A l t h e s e l i n e s d i t e l l t h V I C - 2 0 t h o l d i t t o n g u e a n c o u n t s i l e n t l y u t 1 0 0 0 0 . I d o e s n ' tt a k e l o n g ! T h m a t e r i a l i h e l d o t h s c r e e n w h i l e t h u s e r r e a d s i t Y o m a f e e l t h a t 1 0 0 0 0 i n o t l o n g e n o u g h . D o n ' t m a k e i t o o l o n gh o w e v e r , o t h u s e r w i l l t h i n k s o m e t h i n g i w r o n g .

N o w , c o n t i n u e w i t h t h e s o r t p r o g r a m .4 1 0 04 1 0 54 1 1 04 1 1 54 1 2 04 1 2 54 1 3 04 1 3 54 1 4 04 1 4 54 1 5 04 1 5 54 1 6 04 1 6 54 1 7 04 1 7 54 1 8 04 1 8 54 1 9 54 2 0 04 2 1 04 2 1 54 2 2 04 2 2 54 2 3 04 2 4 04 2 4 54 2 5 04 2 5 54 9 9 0

D I M A $ ( 2 0 )? " H O W M A N Y N A M E S ? "I N P U TF O K = 1 T O NI N P U T A $ ( K )N E X T K

T A B ( 8 ) " N O W S O R T I N G - P L E A S E W A I T 1F O K = T N - I F A $ ( K + 1 ) > = A $ ( K ) T H E N 4 1 6 5B $ = A $ ( K + 1 )A $ ( K + 1 ) = A $ ( K )A $ ( K ) = B $G O T O 4 1 3 5N E X T KF O 1 = T ? A $ ( I )N E X TF O R I = 1 T O 5 0 0N E X T? : ? : ? " H O W S T H A T ! ? "F O R I T 1 0 0 0N E X T? " W O U L D Y O L I K E T T R T H A T A G A I N ? Y / N "I N P U T A I F A $ = " Y " T H E N 4 1 0 5? " W O U L D Y O L I K E T T R Y S O M E T H I N G E L S E ? Y / N "I N P U T X I F X $ = " Y " T H E N P R I N T C H R $ ( 1 4 7 ) : G O T O 9 I F X $ = " N " T H E N 5 0 0 0S T O P

2

Page 35: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 35/226

N o y o h a v e s o m e t h i n g t h a t l o o k s l i k e r e a l p r o g r a m . Y o c a p l a y w i t h t h i s q u i t e m e r r i l y . Y o c o u l d e v e n s h o w i t s o m e o n ee l s e — a s l o n g a y o m a d e i q u i t e c l e a r t h a t t h t e a c h , c a l c u l a t e a n f i l e s e c t i o n s w e r e n o f i n i s h e d y e t .

A r e m a r k e d i t h i n t r o d u c t i o n t t h i s b o o k , m a i i t a l l o w y o t s t a n d o n y o u r o w f e e t . I ' g o i n g t p u t h a t i n t op r a c t i c e b s u g g e s t i n g t h a t y o w r i t e t h e c a l c u l a t i o n s e c t i o n . U s a n t r i c k s y o c a n , i n c l u d i n g t h O N - G O T O t s e l e c t t h m u l t i p l i c at i o n , d i v i s i o n , a d d i t i o n , a n s u b t r a c t i o n o p e r a t i o n s . K e e p y o u r p r g r a m w i t h i n t h e 1 0 0 0 t 1 9 9 0 l i n e a r e a , b u o t h e r w i s e b a f a n c y a sy o k n o w h o w . I w o u l d b e f o o l i s h o m t e x p e c t t h a t t h i s i t h o n l y b o o k y o u w i l l h a v e r e a d o c o m p u t e r s . I i p o s s i b l e t h a t y o h a v e a l r e a d y e n t e r e d p r o g r a m s f r o m m a g a z i n e s o f r o m b o o k s . U s a n f e a t u r e s t h a t y o u n d e r s t a n d . S o m e f e a t u r e s o t h e s e p r o g r a m sf r o m a l t e r n a t e s o u r c e s m a d i f f e r f r o m t h o s e i t h p r o g r a m s d es c r i b e d i n t h i s b o o k . T h i s p r o b l e m i d e a l t w i t h i A p p e n d i x B

T c o n s e r v e m e m o r y , y o m a w i s h t c l e a n u p o r t i o n s o t h i sp r o g r a m b p r o d u c i n g m u l t i s t a t e m e n t l i n e s . B v e r y c a r e f u l o G O T O s i n t h i s c a s e . T c h e c k o h o m u c h m e m o r y y o h a v e l e f t ,l i s t t h p r o g r a m a n t h e n , i d i r e c t m o d e , t y p e ? F R E ( 0 ) . T h r e s u l ts h o u l d b 1 9 2 5 . T h i s w i l l p r o b a b l y n o b e e n o u g h t i n c l u d e a l o n gc a l c u l a t i o n p r o g r a m , l e a l o n e a t e a c h i n g o r f i l e p r o g r a m . D o n ' tw o r r y , f o t h e r e a r s t i l l f e t r i c k s u t h V I C - 2 0 ' s s l e e v e !

W h e n w o r k i n g o l o n g p r o g r a m i i w i s e t s a v e a m u c h a y o h a v e d o n e . S a v e t h i s o n u n d e r t h n a m e D E M O .

T h f o r m i S A V E ' D E M O " f o l l o w e d b t h p r e s s i n g o t h r e t u r n k e y . Y o a r t h e n i n s t r u c t e d t p r e s s t h R E C O R D a n P L A Y b u t t o n s o t h D a t a s e t t e . T h l i t t l e r e l i g h t c o m e s o t t e l ly o t h a t t h p r o g r a m i b e i n g s a v e d a n d t h c o m p u t e r t e l l s y o s o t h s c r e e n . T h w o r d R E A D Y t e l l s y o t h a t i i d o n e .

C a y o u b e s u r e t h e p r o g r a m h a b e e n s a v e d a c c u r a t e l y ? Y e i n d e e d , f o t h V I C - 2 0 a l l o w s y o t v e r i f y t h s a v e w i t h t h v e r i f yc o m m a n d . W i n d b a c k t h t a p e w a y . T h e n t y p e V E R I F Y ' D E M O " .Y o a r i n s t r u c t e d b p r o m p t t p r e s s t h e p l a y b u t t o n . T h V I C - 2 0t e l l s y o w h e n i i s e a r c h i n g f o D E M O a n a l s o w h e n i h a f o u n di t I i n f o r m s y o t h a t i i v e r i f y i n g t h m a t c h b e t w e e n t h p r o g r a ma i s t a n d s i t h V I C - 2 0 m e m o r y a n o t h t a p e . I a l s o t e l l s y o w h e t h e r o n o t e v e r y t h i n g i o k a y . s i m i l a r p r o c e d u r e i f o l l o w e dw h e n y o l o a d p r o g r a m . N o w , i y o c a n d r a g y o u r s e l f a w a y f r o mt h m a c h i n e , y o c a r e s t e a s y i t h k n o w l e d g e t h a t a l y o u r w o r k i s a f e .

2

Page 36: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 36/226

C A P S U L E R E V I E WA a r r a y m a b r e g a r d e d a s s e q u e n c e o f t h i n g s t h a t h a v e

l a b e l , o v a r i a b l e n a m e , i c o m m o n . T h w o r d c a o a u t o , f o e x a m p l e d e s c r i b e s a t y p e o p a s s e n g e r v e h i c l e , w h i c h c a e x i s t i v a r i e t y o f f o r m s . T h w o r d c a t h e r e f o r e c a b r e g a r d e d a n a t u r a l l a n g u a g e v a r i a b l e .

B A S I C v a r i a b l e u s u a l l y c o n s i s t s o e i t h e r o n o t w l e t t e r so r l e t t e r a n n u m e r a l . v a r i a b l e c a r e f e r , o c o u r s e , t e i t h e rs i n g l e i t e m o a a r r a y o f i t e m s . V I B A S I C a l l o w s f o t h r e e t y p e so v a r i a b l e s : f l o a t i n g p o i n t v a r i a b l e s , r e p r e s e n t e d b o n o t w c h a r a c t e r s ; i n t e g e r v a r i a b l e s , r e p r e s e n t e d b o n o t w c h a r a c t e r sf o l l o w e d b t h s i g n a a i n d e n t i f i e r ; a n s t r i n g v a r i a b l e s ,d e n o t e d b y o n e o t w c h a r a c t e r s f o l l o w e d b t h s i g n a s i d e nt i f i e r . I e a c h c a s e , t h f i r s t c h a r a c t e r i v a r i a b l e n a m e m u s t b l e t t e r .

V I B A S I C a l l o w s a r r a y s o u t e l e v e n e l e m e n t s t b e u s e d( 0 - 1 0 ) w r i t t e n i t h f o r m A ( N ) , A A ( N ) , B 1 ( N ) , w h e r e m a b a n n u m b e r f r o m t 1 0 ( T h e r e i u s u a l l y n p o i n t i w r i t i n g A ( 0 ) . ) A a r r a y t h a t r e q u i r e s m o r e t h a n e l e v e n e l e m e n t s m u s t f i r s t o a l b d e c l a r e d b u s i n g t h D I s t a t e m e n t , w h i c h d i m e n s i o n s t h a r r a y .T h u s D I M A ( 2 0 ) a l l o w s t w e n t y f l o a t i n g p o i n t i t e m s o e l e m e n t s ;D I M A % ( 2 0 ) a l l o w s t w e n t y i n t e g e r e l e m e n t s ; a n D I M A $ ( 2 0 ) a l o w s t w e n t y s t r i n g e l e m e n t s . T h n u m b e r i p a r e n t h e s i s r e f e r so n l y t t h n u m b e r o e l e m e n t s a n d n o t t h n u m b e r o c h a r a c t e r si e a c h e l e m e n t . T h u s D I M A $ ( 2 0 ) c a r e f e r t t w e n t y d i f f e r e n tp h r a s e s o s e n t e n c e s , a l o d i f f e r e n t l e n g t h s a l o n g a s t h e t o t a ln u m b e r o c h a r a c t e r s i a n s i n g l e s t r i n g d o e s n o e x c e e d 2 5 5 .T h u s , D I M A $ ( 2 0 ) c a m e a n t o t a l o 5 1 0 0 c h a r a c t e r s , i n c l u d i n gs p a c e s , o f c o u r s e , a l o n g a y o u h a v e e n o u g h m e m o r y o R A M .

T h c o m p u t e r c a a c t u a l l y o n l y r e c o g n i z e n u m b e r s , a n t h o s eo n l y i t h f o r m o z e r o s a n o n e s . P r o g r a m m i n g c o m p u t e r b d i r e c t m a n i p u l a t i o n o t h i s b i n a r y c o d e i a l o n g a n t e d i o u s b u s i n e s sa n s o t h e r , m o r e c o n v e n i e n t w a y s h a v e b e e n d e v i s e d , B A S I C ,h i g h - l e v e l l a n g u a g e o r c o m m u n i c a t i o n m e d i u m ( t h e l e t t e r s o t h n a m e s t a n d f o B e g i n n e r s A l p u r p o s e S y m b o l i c I n s t r u c t i o n C o d e ) ,h a s e t s o f i n s t r u c t i o n s t h a t s t a n d f o w h o l e c o l l e c t i o n , s o m e t i m e st h o u s a n d s o a c t i v i t i e s p e r f o r m e d b t h c o m p u t e r . E a c h i n s t r u c t i o ni r a t h e r l i k e t h w o r d r u n , w h i c h y o c a u s t s t a n d f o g r e a tn u m b e r o c o m p l e x m u s c l e m o v e m e n t s .

E v e r y c h a r a c t e r i a s s i g n e d v a l u e c a l l e d i t A S C I I v a l u e .l i s t o t h e s e v a l u e s i p r i n t e d i a n a p p e n d i x i t h V I C - 2 0 u s e r s 'g u i d e . T h e s e v a l u e s c a b e u s e d t e n a b l e t h c o m p u t e r t s o r t

2

Page 37: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 37/226

i t e m s i n t o n u m e r i c a l o r a l p h a b e t i c a l o r d e r , b o t h o w h i c h a m o u n t t t h s a m e t h i n g a f a a s t h e c o m p u t e r i c o n c e r n e d .

N o o n l y d o e s e a c h c h a r a c t e r h a v e v a l u e , b u t s o d a l t h o t h e r k e y s o t h c o m p u t e r k e y b o a r d . M a n y o t h e m c a b c a l l e di n t o a c t i o n d u r i n g t h c o u r s e o p r o g r a m b y u s i n g t h C H R $f e a t u r e i t h f o r m ? C H R $ ( N ) . T h u s d i r e c t i o n t o ? C H R $ ( 4 2 ) w i l lc a u s e t h t a p p e a r o t h e s c r e e n . L i k e w i s e ? C H R $( 4 2 ) ; C H R $ ( 6 3 ) w i l l c a u s e * t a p p e a r . ? C H R $ ( 4 2 ) ;C H R $ ( 3 2 ) ; C H R $ ( 4 2 ) ; C H R $ ( 1 3 ) ; C H R $ ( 4 2 ) w i l l c a u s e t h t b f o l l o w e d b a s p a c e ( C H R $ ( 3 2 ) ) , f o l l o w e d b a n o t h e r * f o l l o w e d b

c a r r i a g e r e t u r n t t h f o l l o w i n g l i n e w h e r e y e a n o t h e r w i l la p p e a r .

I i p o s s i b l e t c a l l c e r t a i n f e a t u r e s i n t o p l a y d u r i n g t h c o u r s eo p r o g r a m ; f o e x a m p l e C H R $ ( 1 4 7 ) w i l l c a u s e t h s c r e e n t c l e a rs t h a t m a t e r i a l c a b p r e s e n t e d i r e a d i l y r e a d a b l e f a s h i o n .

S u b r o u t i n e s a r e r a t h e r l i k e m i n i p r o g r a m s . T h c o m p u t e r c a b d i r e c t e d t r u o r a v o i d s u b r o u t i n e s a c c o r d i n g t c e r t a i n c o n d it i o n s s p e c i f i e d b t h p r o g r a m m e r — y o u !

G O S U B - R E T U R N i a c o m b i n a t i o n s t a t e m e n t e a c h p a r t o fw h i c h m a n o e x i s t w i t h o u t t h o t h e r . G O T O s t a t e m e n t , o t h o t h e r h a n d , c a b r e g a r d e d a s s i n g l e e n t i t y , d i r e c t i n g t h p r o g r a mt m o v e t d i f f e r e n t p o i n t w i t h i n i t s e l f a n r e m a i n t h e r e u n t i la n o t h e r G O T O i m e t . T h G O S U B - R E T U R N c l u s t e r r e q u i r e s t h a tt h m a i n b o d y o t h p r o g r a m i r e j o i n e d a t h p r e c i s e p l a c e a w h i c h t h b r a n c h t t h e s u b r o u t i n e o c c u r r e d . Y o c a n n o t c a u s e t h c o m p u t e r t r e t u r n t a n o t h e r p o i n t , i n f a c t .

O N - G O T O a l l o w s f o t h a v o i d a n c e o l a r g e g r o u p s o f I F -T H E N s t a t e m e n t s . T h s i m p l e f o r m i a f o l l o w s :

O G O T O ( l i n e n o . ) , ( l i n e n o . ) , ( l i n e n o . )I i e q u a l t 1 p r o g r a m c o n t r o l w i l l g t t h f i r s t l i n e n u m b e r . I

i e q u a l t 2 c o n t r o l w i l l g t t h s e c o n d l i n e n u m b e r , a n s o f o a m a n y d i f f e r e n t v a l u e s a y o l i k e o h a v e m e m o r y t a c c o mm o d a t e . T h s t a t e m e n t i h i g h l y u s e f u l i m e n u d r i v e n p r o g r a m s ;t h o n e s i w h i c h t h u s e r i a l l o w e d t o s e l e c t p a r t i c u l a r f e a t u r e o a s p e c t o t h p r o g r a m . A t h e n o t h i s t y p e o s u b r o u t i n e G O T Or e t u r n s t h e u s e r t t h o r i g i n a l p o i n t i t h p r o g r a m .

T h f o r - n e x t l o o p c a b u s e d t o c o n t r o l t h t i m i n g o t h a p p e a r a n c e o m a t e r i a l o t h s c r e e n s o t h a t m a t e r i a l c a b p r s e n t e d i c l e a r f o r m a n a n o n f r i g h t e n i n g r a t e . T h f o r m o s u c h

l o o p c a b F O R I = 1 T N N E X T I w h e r e i n u m b e rp r o p o r t i o n a l t t h a m o u n t o t i m e y o w i s h t h c o m p u t e r t w a i tb e f o r e p r o c e e d i n g t t h n e x t l i n e .

2

Page 38: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 38/226

T h f o r m o t h i n p u t s t a t e m e n t t h a t y o w i l l u s i a n p r o g r a m i c o n d i t i o n a l u p o n t h t y p e o f v a r i a b l e r e q u i r e d . I N P U Tw i l l w a i t u n t i l n u m b e r h a b e e n e n t e r e d . I N P U T A r e q u i r e ss t r i n g . H o w e v e r , b e c a u s e n u m e r a l i a l s o s t r i n g , i i p o s s i b l e t r e s p o n d t t h e q u e s t i o n W H A T I Y O U R N A M E P L E A S E ? b e n t e r i n g 1 3 5 7 4 8 . . . i w h i c h c a s e y o m u s t t o l e r a t e b e i n g c a l l e d b t h a t l a b e l f o t h r e s t o f t h p r o g r a m . I i p o s s i b l e t u s t h i sf e a t u r e i i d e n t i t i e s o u s e r s a r r e q u i r e d t b s e c u r e .

U n l i k e i n p u t , t h g e t s t a t e m e n t a l l o w s f o t h e n t e r i n g o o n c h a r a c t e r a t i m e w i t h o u t n e e d o p r e s s i n g t h r e t u r n k e y . I i p a r t i c u l a r l y u s e f u l i s i t u a t i o n s i w h i c h t h m a t e r i a l o t h s c r e e nr e q u i r e s p a c e d p r e s e n t a t i o n . F o t h i s t h G E i p l a c e d i f o r -n e x t l o o p .

p r o g r a m u s e s u m e m o r y s p a c e r o u g h l y i p r o p o r t i o n t t h n u m b e r o c h a r a c t e r s u s e d , a l t h o u g h D I s t a t e m e n t s h a v e a n a s t yh a b i t o f u s i n g s p a c e j u s t b b e i n g t h e r e ! Y o c a c h e c k o t h a m o u n to m e m o r y l e f t b t y p i n g ? F R E ( 0 ) . T h n u m b e r t h a t a p p e a r s i t h n u m b e r o b y t e s r e m a i n i n g f o u s e .

A f t e r s a v i n g e i t h e r p a r t s o t h w h o l e o p r o g r a m o n t a p e , i i p o s s i b l e , e v e n a d v i s a b l e , t o v e r i f y t h a t t h p r o g r a m h a b e e n s a v e dc o r r e c t l y . T h p r o c e d u r e i n v o l v e s w i n d i n g t h t a p e b a c k a n d t h e nt y p i n g t h e c o m m a n d V E R I F Y " t h n a m e o t h p r o g r a m b e i n gp l a c e d i n s i d e t h q u o t a t i o n m a r k s . T h c o m p u t e r w i l l c a r r y o u t t h ep r o c e s s a n r e p o r t t h e r e s u l t .

2

Page 39: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 39/226

C h a p t e rT h i s c h a p t e r w i l l b e g i n w i t h p r o g r a m t h a t i a p p a r e n t l y q u i t ec o m p l e x . T h c o m p l e x i t y a r i s e s n o f r o m a n r e a l l y n e p r o g r a mm i n g f o r m a t — f o r - n e x t l o o p s s h o u l d b q u i t e f a m i l i a r b n o w — b u tf r o m t h u s o t h p o k e s t a t e m e n t .

U S I N G T H P O K E A N P E E K S T A T E M E N T SW h a t e x a c t l y i p o k i n g ? I i r a t h e r l i k e m b o o k s h e l v e s . t e n d

t k e e p b o o k s a n d o r c h e s t r a l s c o r e s i t h s a m e p l a c e , n o t h a t t h e ya r n e c e s s a r i l y i s p e c i f i c o r d e r , s t h a t c a e i t h e r l a m h a n d so p a r t i c u l a r v o l u m e i t h d a r k o g i v e p r e c i s e d i r e c t i o n s t s o m e o n e e l s e . c o m p u t e r d o e s t h i s t o o . P u t t i n g s o m e t h i n g i s p e c i f i c s p o t i m e m o r y i c a l l e d p o k i n g , a n l o o k i n g t s e w h a te v e r m i g h t b l u r k i n g i s p e c i f i c s p o t i c a l l e d p e e k i n g .

C e r t a i n a r e a s o m e m o r y a r s e a s i d e f o p r e c i s e p u r p o s e s .O n o t h e s e p u r p o s e s i t h e g e n e r a t i o n o m o d u l a t e d n o i s e ; w c a l li m u s i c . N o w , t b f r a n k , t h s o u n d s t h V I C - 2 0 m a k e a r e n o t a l t h a t m u s i c a l . s t r a n g u l a t e d b e e p o e v e n b u r p m i g h t b e t h b e s td e s c r i p t i o n , b u t h a t i b e t t e r t h a n n s o u n d a a l a n d , i y o u k e e p t h s o u n d a r e a s o n a b l e l e v e l s , i c a b t o l e r a t e d q u i t e w e l l .

T h p r o g r a m g i v e n a t t h i s p o i n t i n o r e a l l y m u s i c a l o n b u r a t h e r o n t h a t p r o d u c e s s o u n d e f f e c t s : t h n o i s e s o s o m e s m a l l -e n g i n e d m e a n s o t r a n s p o r t s t a r t i n g u p g o i n g t h r o u g h t h g e a r s , a n m e r c i f u l l y d i s a p p e a r i n g i n t o t h d i s t a n c e . I i p o s s i b l e t h a t y o

2

Page 40: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 40/226

m i g h t h a v e t e x e r c i s e y o u r i m a g i n a t i o n a l o i o r d e r t h e a r t h i s .T h p r o g r a m i w r i t t e n i l o n g f o r m .

W h a t e v e r p r o g r a m h a b e e n i y o u r c o m p u t e r u t n o s h o u l db s a v e d a n d t h e n t h w o r d N E t y p e d a n t h e r e t u r n k e p r e s s e d .T h e n t y p e i t h f o l l o w i n g p r o g r a m1 P O K E 3 6 8 7 8 , 1 52 F O R I 1 2 8 T O 1 6 53 P O K E 3 6 8 7 4 , P O K E 3 6 8 7 5 , P O K E 3 6 8 7 6 ,4 F O R D = 1 T O 1 0 0 : N E X T D r N E X T5 0 P O K E 3 6 8 7 4 , 0 P O K E 3 6 8 7 5 , 0 : P O K E 3 6 8 7 6 , 06 F O I = 1 2 8 T O 1 4 07 0 P O K E 3 6 8 7 7 ,8 F O R D = 1 T O 2 0 : N E X T D : N E X T I9 0 P O K E 3 6 8 7 7 , 0 : P O K E 3 6 8 7 81 0 F O I = 1 4 0 T O 1 9 51 1 0 P O K E 3 6 8 7 4 , I : P O K E 3 6 8 7 5 , I : P O K E 3 6 8 7 6 , I1 2 F O R D = 1 T O 7 51 3 N E X T D : N E X T I1 4 P O K E 3 6 8 7 4 P O K E 3 6 8 7 5 , 0 : P O K E 3 6 8 7 6 , 01 5 P O K E 3 6 8 7 8 . 51 6 F O R I = 1 7 5 T O 2 0 01 7 0 P O K E 3 6 8 7 4 . I : P O K E 3 6 8 7 5 , I : P O K E 3 6 8 7 6 , I1 8 F O R D = 1 T O 2 0 0 : N E X T D : N E X T I1 9 P O K E 3 6 8 7 8 . 22 0 F O R I = 1 9 5 T O 2 0 52 1 F O R G = 1 4 5 - 1 5 52 2 P O K E 3 6 8 7 4 . I2 3 N E X T G2 4 F O R Y = 1 6 8 T O 1 7 82 5 P O K E 3 6 8 7 5 . I2 6 N E X T Y2 7 P O K E 3 6 8 7 6 . I2 8 F O R D = 1 T O 3 0 02 9 N E X T D : N E X T I3 0 0 P O K E 3 6 8 7 8 . 0

B e f o r e r u n n i n g t h p r o g r a m , m a k e s u r e t h a t a l l i n e s h a v e b e e ne n t e r e d c o r r e c t l y ; t h a t i s a t h e y a r e p r i n t e d h e r e . Y o c a i m p r o v eo t h i s a y o u w i s h l a t e r .

F u n d a m e n t a l l y t h p r o g r a m c o n s i s t s o f s e r i e s o f n e s t e df o r - n e x t l o o p s , e a c h o w h i c h i q u i t e s e l f - c o n t a i n e d . N o t e t h o r d e ro a p p e a r a n c e o t h v a r i a b l e s i t h f o p a r t a n i t h n e x t p a r t .T h e r e a r f i v e a d d r e s s e s o r b o o k s h e l f s l o t s t h a t d e a l w i t hs o u n d i t h p r o g r a m . E a c h a d d r e s s i f i v e - d i g i t n u m b e r , t h f i r s tf o u r d i g i t s o w h i c h a r e 3 6 8 7 . T h e r e a r f o u r v o i c e s o t h V I C - 2 0 .E a c h o t h e s e v o i c e s i d e n o t e d b t h f i f t h d i g i t f o v o i c e 1 , f o v o i c e 2 f o v o i c e 3 a n f o v o i c e 4 V o i c e g e n e r a t e s n o i s e f o s o u n d e f f e c t s a n s o n T h f i f t h a d d r e s s d e a l s w i t h v o l u m e , a n t h f i f t h d i g i t i 8 V o l u m e c a b a d j u s t e d w i t h i n t h r a n g e t 1 5

3

Page 41: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 41/226

w h e r e e q u a l s n s o u n d . T h u s t h f i r s t l i n e o t h p r o g r a m s e t s t h v o l u m e ( 3 6 8 7 8 ) a m a x i m u m .

T h s e c o n d l i n e d e a l s w i t h p i t c h , t h a t i s h o h i g h o l o t h n o t e i s W h e n v i o l i n s t r i n g i s e i m o t i o n b b o i v i b r a t e s . I i v i b r a t e s q u i c k l y , t h r e s u l t i n g s o u n d w i l l b h i g h . I t h v i b r a t i o n sa r s l o w , o l o f r e q u e n c y , t h s o u n d i l o w . B e a r i m i n d t h a t t h i sh a n o t h i n g t d w i t h v o l u m e . H o l o u d o r q u i e t s o u n d i h a t d w i t h h o f a t h s t r i n g m o v e s f r o m o n e s i d e t t h o t h e r a i v i b r a t e s . L a r g e m o v e m e n t s g i v e l o u d s o u n d s a n s m a l l m o v e m e n t s ,q u i e t s o u n d s .

T h f r e q u e n c y a n t h u s t h e p i t c h o t h s o u n d s y o u c a p u r -s u a d e t h V I C - 2 0 t p r o d u c e a r i t h r a n g e 1 2 t 2 5 5 . T h l o w e s tn o t e s p r o d u c e d b e a c h v o i c e a r e t h e r e f o r e i n d i c a t e d b t h n u m b e r1 2 a n t h e h i g h e s t b 2 5 5 . Y o c a s e t t h i n g s l o w e r i y o w i s h , i w h i c h c a s e y o m i g h t h e a r s o m e t h i n g r a t t l i n g , o y o m i g h t s e t h p i t c h h i g h e r t h a n 2 5 5 , i w h i c h c a s e y o w i l l s e t h c h i l l i n gm e s s a g e I L L E G A L Q U A N T I T Y E R R O R ! T h i s i r e a l l y g r e a tp i t y f o t h s i m p l e r e a s o n t h a t h a v e r e a d t h a t u l t r a - h i g h p i t c h e ds o u n d i a e f f e c t i v e v e r m i n a n i n s e c t r e p e l l a n t .

A l o t h i s i n f o r m a t i o n b r i n g s u t l i n e 2 o t h p r o g r a m . T h i sl i n e a l l o w s t h p i t c h t r a n g e f r o m 1 2 t 1 6 5 ; n o t a g r e a t r a n g e , b u i i p l e n t y f o o u p u r p o s e s .

L i n e 3 c a l l s , o r p o k e s , e a c h o t h m u s i c a l v o i c e s 1 , 2 , a n t r a n g e t h r o u g h t h e p i t c h e s r e p r e s e n t e d i o l i n e 2 0

L i n e 4 i n t r o d u c e s a n o t h e r f o r - n e x t l o o p n e s t e d i n s i d e t h f i r s to n e . L o o p n u m b e r o n i l a b e l e d w i t h t h v a r i a b l e I a n t h s e c o n du s e s f o d u r a t i o n . N o t e t h f o r m o l i n e 4 0 L o o p m u s t b c l o s e d o f b e f o r e c a b c l o s e d o f f .

T h n e x t l i n e t u r n s t h e s o u n d f r o m t h t h r e e v o i c e s r i g h t o f f .W h a t w a r e d o i n g h e r e i s a y i n g " D o n ' t v i b r a t e ! "

A l i n e 7 t h e n o i s e v o i c e i s e t t o e a c h v a l u e i t h r a n g e o f r e q u e n c i e s e s t a b l i s h e d i n l i n e 6 0 I i s w i t c h e d o f o l i n e 9 0 O t h s a m e l i n e t h v o l u m e i s e a l o w e r v a l u e a n o f w g a g a i n i

n e g e a r .r e m a r k e d a a e a r l i e r p o i n t i t h i s c h a p t e r t h a t t h p r o g r a m

w a i l o n g f o r m . N o w , w h i l e s o m e o t h l i n e s a r i m u l t i s t a t e -m e n t f o r m a t , w h i c h h e l p s t r e d u c e t y p i n g t i m e , t h e r e i s t i l l a g r e a td e a l o t i m e s p e n t t y p i n g i t h s a m e s e t s o n u m b e r s o v e r a n o v e ra g a i n . T h i s c a b e c o m e t e d i o u s a n t a k e s a w a y f r o m t h t i m en e e d e d t t h i n k a b o u t t h p r o g r a m .

W o u l d n ' t i b l o b e t t e r i t h e r e w e r e s o m e m e a n s o s h o r t -

3

Page 42: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 42/226

e n i n g t h p r o c e s s ? Y e s , i w o u l d , a n t h e r e i w a y . ( W h y e l s em e n t i o n i t ? )

Y o c a m e r e l y a s s i g n e a c h v o i c e a n v o l u m e t v a r i a b l e . I a s s i g n i n g v a r i a b l e n a m e s , t h l e t t e r s y o u s t d e n o t e t h t h i n g sy o w i s h t v a r y , i i g o o d p l a n t u s l e t t e r t h a t m a k e s q u i t ec l e a r w h a t i i y o a r v a r y i n g .

T h u s , S w h i c h c a s t a n d f o s o u n d o s p e a k e r c a b e u s e d f o t h v o i c e s , a n c a s t a n d f o v o l u m e . A s s i g n t h v a r i a b l e s a f o l l o w s :S 3 6 8 7 4 ; S 3 6 8 7 5 ; S 3 6 8 7 6 ; S 4 3 6 8 7 7 3 6 8 7 8 .

P u t h e s e e x p r e s s i o n s i l i n e s a t h b e g i n n i n g o t h p r o g r a m .T h e n , w h e n y o u w i s h t c a l l v o i c e o n e , y o c a n t y p e P O K E S 1 w h e r e i e i t h e r s p e c i f i c n u m b e r r e p r e s e n t i n g p i t c h o r v a r i a b l e a s s i g n e d a v a l u e i f o r - n e x t l o o p . T h b e g i n n i n g o o u b i k e p r o g r a m n o l o o k s l i k e t h i s :

1 P O K E V 1 ( v o l u m e s e a m a x i m u m )2 F O l 1 2 8 T O 1 6 53 P O K E S 1 , 1 : P O K E S 2 , I : P O K E S 3 , 1 ( v o i c e s s e f o v a l u e s o I 4 F O D = 1 T O 1 0 0 : N E X T D : N E X T ( d u r a t i o n l o o p )

T h r e e l i n e s a n c o n s i d e r a b l e a m o u n t o p e r s p i r a t i o n h a v eb e e n s a v e d . T h s e t t i n g o f S 1 , S 2 , a n s o c o u l d t a k e p l a c e o l i n e5 b m a k i n g i m u l t i p l e s t a t e m e n t l i n e . N o t e t h a t y o m u s t t y p e t h w o r d P O K E f o e a c h s t a t e m e n t . O n p o k e w i l l n o d f o a l o t h e m ;e a c h m u s t h a v e i t o w p o k e .

T h b i k e p r o g r a m i n o r e a l l y m u s i c a l o n e , a l t h o u g h y o c a h e a r t h i n d i v i d u a l n o t e s n e a r t h e e n d . T h i s i b e c a u s e t h f r q u e n c y r a n g e i l e s s f o t h f i n a l l o o p , a n t h d u r a t i o n , D i g r e a t e r . Y o c o u l d s e n d t h f r e q u e n c y u h i g h e r , b u t t h e n t h b i k ew o u l d s o u n d a i i w e r e g o i n g i n t o o r b i t !

M u s i c d o e s n o n o r m a l l y h a v e g r e a t s l i d e s b e t w e e n o n n o t ea n t h n e x t , T h i s i a e f f e c t t h a t s i n g e r s , v i o l i n i s t s , a n w i n di n s t r u m e n t p l a y e r s u s s p a r i n g l y s t h a t t h e f f e c t s e e m s t h g r e a t e r . E l e c t r o n i c a l l y g e n e r a t e d m u s i c , a s f r o m s y n t h e s i z e r s , t h c r y s t a l t r o m b o n e , o t h e t h e r e m i n , u s e s t h e f f e c t m u c h m o r ef r e q u e n t l y .

T h v a l u e s f o i t h p r o g r a m r u f r o m l o t h i g h n u m b e r .Y o c o u l d e a s i l y r e v e r s e t h a t . I a d d i t i o n , y o c a r e d u c e t h d u r a t i o n . T r t h i s l i t t l e p r o g r a m c a l l B o m b .

S = 3 6 8 7 4 : S 2 = 3 6 8 7 5 : S 3 = 3 6 8 7 6 : S 4 = 3 6 8 7 7 : V = 3 6 8 7 81 P O K E V . 1 52 F O R I = 2 2 5 T O 1 9 5 S T E P - 13

Page 43: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 43/226

3 P O K E S 1 , 1 : P O K E S 2 , I + 4 : P O K E S 3 , I + 2 0 : P O K E S 4 J + 2 54 F O R D = 1 T O 1 0 : N E X T D : N E X T I

P l a y w i t h l i n e 4 v a r y i n g t h d u r a t i o n . I t h n e i g h b o r h o o d k i d sd o n ' t c o m e r u n n i n g t s e w h a t g a m e y o a r p l a y i n g , y o d o n ' t h a v ei q u i t e r i g h t ! s a i d c h i l d r e n d t u r n u p t h e y w i l l w a n t t k n o w w h a ti i t h a t i m a k i n g t h n o i s e . L e t ' s g i v e t h e m s o m e t h i n g !4 5 P O K E 3 6 8 7 9 . 85 F O R I = 7 6 8 0 T O 8 1 8 5 S T E P 2 6 P O K E 1 , 8 17 F O R D = 1 T O 4 2 : N E X T D7 P O K E 1 , 3 28 N E X T8 5 P O K E S 1 , 0 : P O K E S 2 , 0 : P O K E S 3 , 0 : P O K E S 4 . 09 P O K E 3 6 8 7 9 , 2 7

A n t h e n a d d :? C H R $ ( 1 4 7 ) ( T h a t ' s r i g h t , l i n e 8 W h e n y o l i s t t h p r o g r a m y o u w i l l f i n d

t h a t t h l i n e s h a v e b e e n p u i t h r i g h t o r d e r )

C H R $ ( 1 4 7 ) c l e a r s t h s c r e e n ; P O K E 3 6 8 7 9 , 8 t u r n s t h e s c r e e nb l a c k ; a n P O K E 3 6 8 7 9 , 2 7 r e t u r n s i t n o r m a l .

N o r u t h p r o g r a m . I f o l l o w s t h u s u a l f o r m a t o f ' Y o u h e a ri b e f o r e y o s e i t ! " S o m e t h i n g c o u l d c o m e o t h i s y o k n o w ! I o n l yy o c o u l d b l e n d t h s o u n d a n t h i m a g e t o g e t h e r , y o m i g h t h a v es o m e t h i n g } B e g i n b y m o v i n g l i n e 4 t a e a r l i e r p o i n t i t h p r o g r a m . B r i n g t h c u r s o r u t o 4 5 . N o t y p e a n s p a c e , a n t h e n r u t h e c u r s o r t t h e n o t h l i n e a n p r e s s r e t u r n . B r i n g t h c u r s o r d o w n b e l o w R E A D Y a n t h e n t y p e 4 a n p r e s s t h e r e t u r nk e y . W h e n y o l i s t t h p r o g r a m y o u w i l l s e t h c h a n g e s . W h e n y o r u t h p r o g r a m t h c h a n g e i d r a m a t i c . A l w h a v e d o n e i t d a r k e n t h s c r e e n b e f o r e t h e n o i s e b e g i n s .

C h a n g i n g t h v a l u e o t h s t e p t 1 b r i n g s w h o l e g r o u p o b e a s t i e s a c r o s s t h e s c r e e n f r o m r i g h t t l e f t . I n c r e a s i n g t h e v a l u e t 2 8 m o v e s t h e m f r o m l e f t t r i # i t . E x p e r i m e n t w i t h h o r d e s f o l i t t l e w h i l e a n t h e n r e v e r t t t h o r i g i n a l v a l u e w h i c h w a 2 3

E a c h s p o t o t h s c r e e n h a s a c o d e . T h c o d e s s t a r t a n u m b e r7 6 8 0 , w h i c h i t h t o l e f t - m o s t s p o t , a n i n c r e a s e t 7 7 0 1 a y o g a c r o s s t h s c r e e n t t h r i g h t . Y o h a v e r e a c h e d t h e o t h e r s i d e o t h s c r e e n b u a r s t i l l o t h t o l i n e . T h n e x t n u m b e r , 7 7 0 2 , i t h c o d e f o t h l e f t - m o s t s p o t o t h s e c o n d l i n e d o w n .

I y o w e r e t c h a n g e t h v a l u e o t h s t e p i l i n e 5 t 2 2 t h l i t t l e o b j e c t s w o u l d c o m e s t r a i g h t d o w n t h l e f t - h a n d s i d e o t h s c r e e n i m o s t u n i n t e r e s t i n g f a s h i o n . N o y o c a s e w h y o

3

Page 44: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 44/226

m u s t i n c r e m e n t a t h r a t e o 2 3 L i n e 5 d i r e c t s t h c o m p u t e r t p r i n t b a l l a s p o t 7 6 8 0 , s k i p t h n e x t 2 s p o t s a n p r i n t t h b a l l a s p o t 7 7 0 3 , s k i p t h n e x t 2 a n p r i n t a s p o t 7 7 2 6 , a n s o n u n t i ls p o t 8 1 8 5 i r e a c h e d .

A y o h a v e j u s t d i s c o v e r e d , c h a n g i n g t h v a l u e o t h e s t e pa l t e r s t h e s p o t a w h i c h t h b a l l n e x t a p p e a r s . I n o t h e r w o r d s , t h p l a c e m e n t o g r a p h i c s o t h s c r e e n i m a n i p u l a t e d i m u c h t h s a m e w a a s o u n d i m a n i p u l a t e d . S o u n d i g e n e r a t e d b p i c k i n gs p o t s o f r e q u e n c y g r i d , a n g r a p h i c s a r g e n e r a t e d b p i c k i n gs p o t s o v i s u a l g r i d , t h s c r e e n .

B e f o r e t h g r a p h i c s a r e x p l o r e d a n f u r t h e r , l e t ' s b r i n g y o u ro b j e c t t t h g r o u n d i m o r e t e l l i n g m a n n e r . t h i n k i s h o u l de x p l o d e — a n d e x p l o d e i w i l l .

1 0 P O K E S 4 , 2 2 0 ( S i t h e w h i t e n o i s e g e n e r a t o r )1 0 F O R C = 1 T O 1 11 1 F O L = 1 5 - ( O 2 ) T 0 8 - ( O 2 ) S T E P - 0 . 1 2 5 ( r e d u c e v o l u m e b i

c r e m e n t s o o n e i g h t h )1 2 P O K E V . L1 3 F O R D = 1 T O 1 0 : N E X T D1 4 N E X T L N E X T C1 6 P O K E V . O2 0 P O K E 3 6 8 7 9 , 2 7

T h e r e a r s o m e g a p s l e f t i t h l i n e n u m b e r s j u s t i n c a s e y o w a n t t a l t e r o a d a n y t h i n g l a t e r o n T h v a r i a b l e s u s e d a r e a s f o l l o w s :c o u n t s t h n u m b e r o e x p l o s i o n s ; d e c r e m e n t s t h v o l u m e f o e a c he x p l o s i o n ; a n c o n t r o l s t h d u r a t i o n o f e a c h .

Y o c o u l d e x p e r i m e n t h e r e b c a u s i n g t h e e x p l o s i o n s t b o v a r y i n g i n t e n s i t y a n d u r a t i o n b u t t d t h a t w i l l m e a n u s i n g s o m em e t h o d o t h e r t h a n l o o p s . Y o c a s t a s h t h a t t h o u g h t a w a y f o t h t i m e b e i n g .

T h e x p l o s i o n s o u n d s f a i r l y c o n v i n c i n g o i t o w n . H o w e v e rv i s u a l e f f e c t t g w i t h i w i l l c l i n c h t h m a t t e r . F i r s t c h a n g e l i n e1 0 t F O R C = 1 T O 4 . ( S i m p l y m o v e t h e c u r s o r u t l i n e 1 0 5 ; m o v ei a c r o s s u n t i l i i o v e r t h f i r s t d i g i t i 1 1 t y p e 3 a n t h e n p r e s s t h s p a c e b a r . )N o a d l i n e s

1 2 F O R X = 8 T O 2 5 5 S T E P 4 31 2 P O K E 3 6 8 7 9 , X : N E X T X

a n d e l e t e l i n e 1 3 0 . W A R N I N G ! D n o r u t h i s p r o g r a m i e i t h e ry o o a n y o n e w h m i g h t b w a t c h i n g i s u b j e c t t e p i l e p t i c s e iz u r e s . T h e f f e c t y o u h a v e p r o d u c e d c r e a t e s a s e r i e s o f f l a s h e s o

3

Page 45: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 45/226

t h s c r e e n . F l a s h i n g d e v i c e s , w h e t h e r c o m p u t e r g e n e r a t e d o n o t ,c a n c a u s e s e i z u r e s . T h i s w a r n i n g i n o c o n f i n e d t t h V I C - 2 0 — a n ym a c h i n e w i l l p r o d u c e t h e f f e c t !

L i n e 1 2 6 p o k e s a d d r e s s 3 6 8 7 9 , w h i c h c o n t r o l s t h c o l o r s o t h s c r e e n a n i t b o r d e r . T h n u m b e r a f t e r t h c o m m a w i l l d i c t a t e t h s c r e e n a n b o r d e r c o m b i n a t i o n s . T h e r e a r 1 2 o t h e m , w h i c h a r p r e s e n t e d i A p p e n d i x i t h m a n u a l t h a t c o m e s w i t h t h V I C - 2 0 .N o a l o t h e m a r u s e f u l f o r t e x t a s t h e c o n t r a s t b e t w e e n t h t w s h a d e s i n o v e r y g r e a t . H o w e v e r , s u c h c o m b i n a t i o n s c a n b v e r yp l e a s i n g u n d e r o t h e r t y p e s o c i r c u m s t a n c e s .

I o u e x a m p l e h e r e , l i n e 1 2 g i v e s v a l u e s f o f r o m 8 t 2 5 5 .S t e p 4 w a c h o s e n , n o t a s r e s u l t o a n g r e a t t h o u g h t , b u a r a n d o m . T r o t h e r s t e p n u m b e r s a n d w a t c h t h d i f f e r e n c e . L i n e 1 2 p o k e s t h s c r e e n / b o r d e r c o m b i n a t i o n a d d r e s s f o e a c h o t h v a l u e si n d i c a t e d i l i n e 1 2 5 . L i n e 9 c o u l d b r e m o v e d a s t h e r e t u r n t n o r m a l t a k e s p l a c e o l i n e 2 0 0 .

N o l o o k a y o u r r e v i s e d l i n e 1 0 5 . T h i s l i n e i n o t h i n g m o r et h a n a c o u n t e r . I g i v e s y o j u s t f o u r r o u n d s o t h l o o p F O t N E X T C T h n e x t l i n e , l i n e 1 1 0 , i t h o n t h a t g i v e s t h d e c a y o e a c h b u r s t o t h e x p l o s i o n . I s a y s t h a t t h f i r s t e x p l o s i o n w i l l b e g i na f u l l v o l u m e ( 1 5 ) m i n u s t w o - t i m e s t h e v a l u e o f r o m t h p r e v i o u sl i n e ( 1 m i n u s t i m e s o 1 3 ) , a n d g o e s d o w n i v o l u m e b s t e p s o 1 / ( 0 . 1 2 5 i t h e d e c i m a l e q u i v a l e n t o 1 / 8 ) u n t i l i r e a c h e s v a l u ee q u a l t 8 m i n u s t i m e s 2 o 6 T h n e x t t i m e a r o u n d , i e q u a l t 2 t h s t a r t f i g u r e f o t h v o l u m e i 1 1 a n t h f i n a l v a l u e i 4 T h f o u r t h a n f i n a l r o u n d s t a r t s t h v o l u m e a a n f i n i s h e s a 0 T m a k e t h e e x p l o s i o n s s h o r t e r , c h a n g e t h v a l u e o 0 . 1 2 5 o l i n e 1 1 t 0 . 5 . T h i s w i l l a l s o r e d u c e t h n u m b e r o f l a s h e s . N o y o c a s e w h a t p o w e r t h e r e i i t h r e e s t a t e m e n t s i n l i n e s 1 2 5 a n d 1 2 6 .c o m p l e t e v e r s i o n o t h B o m b p r o g r a m , w i t h l i n e 1 1 s l i g h t l ya l t e r e d , i f o u n d i A p p e n d i x N P r o g r a m 1 6

S c r e e n a n d b o r d e r c o m b i n a t i o n s d n o h a v e t f l a s h i o r d e r t b e f f e c t i v e . C o n s i d e r o u h u m b l e m e n u p r o g r a m . A t h b e g i n n i n go e a c h s u b r o u t i n e , s i m p l e p o k e t 3 6 8 7 9 a n s u i t a b l e s c r e e n a n b o r d e r c o m b i n a t i o n w i l l a l l o w y o t o c o l o r c o d e a n t h u s h i g h l i g h te a c h s e c t i o n i r e m a r k a b l e w a y . A w i t h a n e f f e c t , h o w e v e r , d o n ' tb t o e n t h u s i a s t i c a n d c h a n g e c o l o r l i k e c h a m e l e o n o e l s e y o w i l l m e r e l y u n s e t t l e t h u s e r . B s u b t l e !

S f a t h p r o g r a m h a o n l y d e a l t w i t h s o u n d e f f e c t s . T h V I C - 2 0 c a a l s o p l a y m u s i c i y o t e l l i h o w . I a d d i t i o n , i w i l l a l l o wy o t o p l a y t u n e s , u s i n g t h e n u m b e r s t o e v e n t h l e t t e r s t G

3

Page 46: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 46/226

U S I N G D A T A S T A T E M E N T SI o r d e r t p r o d u c e t h n e x t p r o g r a m , w h i c h w i l l n o o n l y p l a y

t u n e f o y o b u a l s o l e y o p l a y a t u n e t t h V I C - 2 0 , y o a r g o i n gt l e a r n a b o u t a e x t r a o r d i n a r y f e a t u r e o t h B A S I C l a n g u a g e . S f a y o h a v e p u o d b i t s o i n f o r m a t i o n t h a t y o n e e d e d t u s i t h b o d y o t h p r o g r a m . T h n e m e t h o d a l l o w s y o t o r g a n i z e t h p r o g r a m s t h a t t h e i n f o r m a t i o n y o n e e d t d r a w u p o n i p u a t h e n o t h p r o g r a m o s e q u e n c e i w h a t a r c a l l e d d a t a s t a t e m e n t s .T h d a t a i u s e d b r e a d s t a t e m e n t s . T h r e a d s t a t e m e n t c o m e sf a i r l y n e a r t h b e g i n n i n g o t h p r o g r a m . T h c o m p u t e r t h e n s c a n st h d a t a l i n e a n a c t s u p o n i t

W e ' l l h a v e l i t t l e f u a t h s a m e t i m e !1 P R I N T : P R I N T " D 0 V O K N O W T H T U N E ' B E L I E V E M I

F I L L T H O S E E N D E R R I N O V O U N Q C H A R M S3 P R I N T 1 1 1 C f l N P L f l V I T " ;4 P R I N T : P R I N T " V O U C R P L f l V I T O O U S I N O

T H E N U M B E R S T 8 4 F O R I » 1 T O 5 0 0 0 : N E X T I ( g i v e s y o t i m e t r e a d i a l l )6 0 P R I N T C H R * ( 1 4 7 ) ( c l e a r s t h e s c r e e n )1 0 P R I N T " T H I S I H O I G O E S "1 1 P R I N T : P R I N T " T H E N U M B E R S R R P L f l V E D

I T H I S O R D E R J "1 1 5 F O R I « 1 T O 1 5 0 0 : N E X T I1 2 P R I N T " 3 2 1 2 1 1 3 5 4 6 8 8 2 0 S 2 » 3 6 8 ? 5 : V » 3 6 8 7 82 1 P 0 K E V , 1 2 ( n o t t o o l o u d )2 1 5 R E R D P ( r e a d s t a t e m e n t )2 2 I F P — 1 T H E N 2 9 02 3 R E f l D D ( a n o t h e r r e a d s t a t e m e n t )2 4 0 P 0 K E S 2 , P ( t u r n s o v o i c e S f o w h a t e v e r

n o t e l i n e 2 1 f i n d s )2 5 0 F O R N » 1 T O D : N E K T N ( t h i s m e a s u r e s t h d u r a t i o n o t h

n o t e f o w h a t e v e r v a l u e l i n e 2 3 f i n d s )

2 6 0 P O K E S 2 , 0 ( t u r n s S o f f )2 7 F O R N = 1 T O 2 0 : N E X T N ( s m a l l s i l e n t g a b e t w e e n t h

n o t e s )2 8 0 0 0 T 0 2 1 5 ( r e t u r n s t o g e t t h e n e x t b i o d a t a )2 9 0 P O K E V . 0 ( t u r n s o f t h v o l u m e )3 0 D f l T f l 2 0 7 , 2 0 0 , 2 0 1 , 2 9 0 , 1 9 5 , 6 0 9 ,

2 0 1 , 2 0 0 , 1 9 5 , 4 0 03 1 0 D R T R 1 9 5 , 4 0 0 , 2 0 7 , 4 0 0 , 2 1 5 , 4 0 0 ,

2 0 9 , 4 0 0 , 2 1 9 , 4 9 03 2 0 D R T R 2 2 5 , 4 0 0 , 2 2 5 , 8 0 0 , - 1R u t h i s p o r t i o n o t h p r o g r a m t s e w h a t h a p p e n s . I t h i sp r o g r a m y o u h a v e l a r g e l o o p t h a t r u n s f r o m l i n e 2 1 t l i n e 2 8 0 .

Page 47: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 47/226

Y o h a v e t w s m a l l e r l o o p s w i t h i n t h i s l a r g e o n a t l i n e s 2 5 a n 2 7 0 . L i n e 2 1 t e l l s t h c o m p u t e r t r e a d t h f i r s t n u m b e r i t h d a t as t a t e m e n t i l i n e 3 0 0 . I f i n d s t h n u m b e r 2 0 a n d g o e s o n t r e a dt h n e x t n u m b e r , w h i c h i 2 0 0 . T h v o i c e i t h e n t u r n e d o t t h p i t c h r e p r e s e n t e d b 2 0 a n l a s t s f o t h t i m e i t a k e s t h e c o m p u t e rt c y c l e 2 0 t i m e s . T h s o u n d i t h e n t u r n e d o f b l i n e 2 6 0 ; t h e r e i

v e r y s h o r t s i l e n t p a u s e , a n t h e n t h V I C - 2 0 r e t u r n s t p i c k u t h n e x t n o t e .

I y o l o o k a l o n g t h e d a t a l i n e s w h i c h c o u l d h a v e b e e n c o d e n s e d i n t o o n l i n e i n t h i s c a s e , y o w i l l n o t e ( s o r r y ! ) t h a t e a c hp i t c h v a l u e i f o l l o w e d b d u r a t i o n v a l u e i e v e n h u n d r e d s . M o s t o t h d u r a t i o n f i g u r e s a r 4 0 0 , w h i c h r e p r e s e n t s f u n d a m e n t a l b e a t ;l e u s a t h a t 4 0 h u n d r e d p r o d u c e s t h e q u i v a l e n t o q u a r t e rn o t e s . E i g h t h n o t e s a r h a l f t h a t l o n g a n s a r r e p r e s e n t e d b 2 0 0 .M u s i c n o t a t i o n i l i t t l e o d i t h a t y o h a v e n o t e s t h a t c a l a s t f o V / 2 b e a t s . Y o t h e r e f o r e a d 4 0 a n 2 0 t o a r r i v e a 6 0 f o t h l V f eb e a t n o t e s .

T h - a t h e n t e l l s t h c o m p u t e r t h a t t h t u n e i o v e r . E a c ht i m e t h e l o o p f r o m l i n e 2 1 t 2 8 r u n s , t h p r o g r a m c h e c k s t s e i t h e r e i - 1 I t h e r e i n o t , t h p r o g r a m c o n t i n u e s r u n n i n g . A s o o n a - i f o u n d , h o w e v e r , t h p r o g r a m b r a n c h e s t o 2 9 0 , w h i c ht u r n s t h e w h o l e t h i n g o f f .

S f a s g o o d . W h e n y o h a v e f i n i s h e d p l a y i n g t h e t u n e c a r r yo n b y e n t e r i n g t h f o l l o w i n g :

3 3 P R I N T : p r i n t P N " O K — Y O U T R I T S T f l R T O N U M B E R 3

4 0 0 P O K E V , 84 0 P 0 K E S 2 . . 84 1 F O R V » 1 T O 84 2 0 R E R D F K V )4 3 0 N E X T V4 4 D R T R 1 9 5 , 2 0 1 , 2 0 7 , 2 0 9 , 2 1 3 , 2 1 9 , 2 2 3 , 2 2 54 5 G E T f l $ : I F R $ * I M I T H E N 4 5 04 6 Y » V R L < f i $ >4 7 0 I F V « 8 T H E N 6 0 04 6 0 P O K E 8 2 , 04 9 0 F O R T « 1 T Q 2 5 ' N E X T T5 0 P 0 K E S 2 , f l ( V >5 1 0 O O T O 4 5 05 2 0 P O K E S 2 , 0C h e c k t b s u r e t h a t y o h a v e t y p e d e v e r y t h i n g i c o r r e c t l y a n t h e n c o n t i n u e t y p i n g t h i s p a r t , w h i c h s h o u l d l o o k f a m i l i a r !6 0 0 S 4 « 3 6 8 7 7 : P R I N T C H R $ < 1 4 7 >6 1 0 P O K E S 4 , 2 2 0

3

Page 48: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 48/226

6 2 F O R C » 1 T O 46 3 F O R L « 1 5 - < C * 2 ) T O 3 - < C # 2 > S T E P - 0 . 56 4 0 P O K E V . L6 5 F 0 R X * 9 T 0 2 5 5 S T E P 4 56 6 2 P 0 K E 3 6 8 7 9 , X : N E X T X6 ? N E X T U N E X T C6 8 0 P O K E V . 06 8 5 P O K E S 4 / 06 9 P 0 K E 3 6 9 7 9 , 2 76 9 5 F O R I * 1 T O 2 0 0 0 * N E X T I7 0 P R I N T G O T V O U ! ! ! ! ! 1 17 1 0 R U N

N o r u t h p r o g r a m o n s o m e u n s u s p e c t i n g p a r t y ! T h p r g r a m f r o m l i n e s 4 0 t 5 2 s h o u l d b f a i r l y s i m p l e t u n d e r s t a n d .T h v o l u m e i s e a n t h v o i c e i s e a z e r o . c o u n t s f r o m t 8 R E A D A a s s i g n s t h v a l u e s i t h d a t a s t a t e m e n t t A ( l ) t h r o u g hA ( 8 ) . T h d a t a s t a t e m e n t g i v e s t h a p p r o x i m a t e p i t c h v a l u e s f o t h s c a l e o f m a j o r .

L i n e 4 5 u s e s g e s t a t e m e n t , w h i c h m e r e l y s c a n s t h k e y b o a r d t s e i k e i p r e s s e d . I k e i p r e s s e d , t h n u m e r i c a lv a l u e o t h k e i t r a n s f e r r e d t Y a n t h a t v a l u e , w h i c h i b e t w e e n1 9 5 a n d 2 2 5 , i p o k e d t S 2 a n t h n o t e s o u n d s .L i n e 4 7 c h e c k s t s e i n u m b e r i p r e s s e d . A s o o n a i t i s ,t h p r o g r a m b r a n c h e s t l i n e 6 0 0 , w h i c h p r o d u c e s t h e e x p l o s i o n a n t h f l a s h e s !

T h e r e i a e x t e n d e d v e r s i o n o t h i s p r o g r a m i A p p e n d i x N p r o g r a m 3 1 w h i c h l e a d s t h u s e r o l i t t l e m o r e b d e m o n s t r a t i n ga n a s k i n g f o o t h e r t u n e s w i t h n d i s a s t r o u s e f f e c t s w h a t s o e v e r .T h p r o g r a m c o u l d b l o o l a u g h s a t p a r t i e s !

C A P S U L E R E V I E WI y o w i s h t c a l l y o u r d e n t i s t y o f i r s t l o o k u h i n u m b e r a n

t h e n d i a l . O n l y y o u r d e n t i s t w i l l b a t h a t n u m b e r a n d , p r e s u m a b l y ,y o u n e e d h i a s s i s t a n c e w i t h r e s p e c t t y o u r t e e t h . Y o u r a t t o r n e y o y o u r p l u m b e r w i l l h a v e d i f f e r e n t t e l e p h o n e n u m b e r s . I i t h s a m ew i t h t h d i f f e r e n t f u n c t i o n s y o u r c o m p u t e r c a n p e r f o r m . T h f u n ct i o n s c a b c a l l e d u f o s p e c i f i c a c t i o n b p o k i n g , r a t h e r t h a nd i a l i n g , t h a p p r o p r i a t e n u m b e r . S o m e o t h n u m b e r s , w h i c h a r c a l l e d a d d r e s s e s , r e f e r t o t h a b i l i t y o t h V I C - 2 0 t g e n e r a t e s o u n dv i t h s p e a k e r o y o u r T V . T h e s e a d d r e s s e s a r e : 3 6 8 7 4 , 3 6 8 7 5 , a n 3 6 8 7 6 f o t h m u s i c a l v o i c e s , 3 6 8 7 7 f o t h w h i t e n o i s e g e n e r a t o r ,a n 3 6 8 7 8 f o v o l u m e .

A f t e r e a c h n u m b e r t h e r e i c o m m a f o l l o w e d b a n o t h e r

3

Page 49: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 49/226

n u m b e r . F o t h v o i c e s , t h n u m b e r s m a r a n g e f r o m 1 2 t 2 5 f o a u d i b l e s o u n d . T h n u m b e r s m a a l s o r a n g e o e i t h e r s i d e o t h o s ee x t r e m e s , b u t t h e r e s u l t w i l l b i n a u d i b l e f o t h l o w e r l i m i t a n a e r r o r m e s s a g e f o t h u p p e r .

A d d r e s s 3 6 8 7 8 , w h i c h c o n t r o l s v o l u m e , r e q u i r e s a v a l u e b t w e e n ( n s o u n d ) a 1 ( f u l l v o l u m e ) . Y o c a n , o f c o u r s e , a d j u s t t h v o l u m e a y o u r s e t .

A l t h o u g h e a c h o t h e t h r e e v o i c e s c a o n l y b s e t p i t c h e sr e p r e s e n t e d b t h n u m b e r s 1 2 t o 2 5 5 , t h s a m e n u m b e r w i l l g i v ed i f f e r e n t p i t c h e s f o e a c h o t h t h r e e v o i c e s .

T t e s t t h i s t y p e :P O K E 3 6 8 7 8 , 5 ( s e t s v o l u m e )P O K E 3 6 8 7 4 , 2 2 ( s e t s t h p i t c h f o C P O K E 3 6 8 7 5 , 2 2 ( s e t s o n o c t a v e a b o v e t h f i r s t v o i c e )P O K E 3 6 8 7 6 , 2 2 5 ( s e t s o n o c t a v e a b o v e t h s e c o n d v o i c e )E a c h v o i c e c a s o u n d o v e r a t h r e e o c t a v e r a n g e . T h t o t a l r a n g e t h a tc a b c o v e r e d b t h t h r e e v o i c e s i f i v e o c t a v e s .

T h f r e q u e n c y n u m b e r s p o k e d a f t e r t h c o m m a b e a r n r e l at i o n w h a t s o e v e r t t h n a t u r a l f r e q u e n c y o s t r i n g o w i n d i n s t r um e n t . M i d d l e ( o t h p i a n o ) i a p p r o x i m a t e l y 2 5 c p s . T h a o c t a v e b e l o w t h a t i e x a c t l y h a l f t h a t f i g u r e o 1 2 8 . o t h V I C - 2 0 i s e b n u m b e r s 1 3 5 , 1 9 5 , 2 2 5 a n 2 4 0 .

V o i c e s c a s o u n d t o g e t h e r t p r o d u c e h a r m o n y .P O K E 3 6 8 7 8 , 5P O K E 3 6 8 7 4 , 2 2 5P O K E 3 6 8 7 5 , 2 0 7P O K E 3 6 8 7 6 , 1 7 5T h i s p r o d u c e s t r i a d o c h o r d o m a j o r . V o i c e 3 6 8 7 4 p r o d u c e s t h l o w e s t n o t e o t h c h o r d e v e n t h o u g h i h a t h h i g h e s t f i g u r e o m o d i f i e r a f t e r t h c o m m a !

U s i n g v o i c e 3 6 8 7 5 , 2 0 4 i n s t e a d o 2 0 p r o d u c e s t r i a d o c h o r do m i n o r .

F r e q u e n c i e s c a b m a d e a i n t e g r a l p a r t o o r - n e x t l o o p a n c a b m a d e t r a n g e f r o m o n e p i t c h t o a n o t h e r i g l i d e u o d o w n .T h s t e p s i z e b e t w e e n f r e q u e n c y n u m b e r s c a b c o n t r o l l e d b t h s t e p i n s t r u c t i o n i f o r - n e x t l o o p .

V o l u m e c a a l s o b a d j u s t e d t e i t h e r f i x e d v a l u e s o r c o n s t a n t l yc h a n g i n g v a l u e s d u r i n g a p r o g r a m .

T h e r e a r e a n u m b e r o w a y s o p r o d u c i n g t h g l i d e . T h f o l l o wi n p r o g r a m s a r e x a m p l e s :

3

Page 50: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 50/226

1 P O K E 3 6 8 7 8 , 52 F O R I = 1 9 5 T O 2 2 53 P O K E 3 6 8 7 5 . I3 F O R X = 1 T O 3 : N E X T X4 N E X T I1 P O K E 3 6 8 7 8 , 51 I N P U T2 F O 1 = 1 9 5 T 2 2 S T E P Q3 P O K E 3 6 8 7 5 , 13 F O X = T 2 0 : N E X T X4 N E X T I1 P O K E 3 6 8 7 8 , 51 I N P U T2 F O = 1 9 5 T 2 2 S T E P Q3 P O K E 3 6 8 7 5 , 13 P O K E 3 6 8 7 4 , 1 + 73 F O R X = 1 T O I / 2 : N E X T X4 N E X T I1 P O K E 3 6 8 7 8 , 51 I N P U T2 F O 1 = 2 2 5 T 1 9 S T E P - Q3 P O K E 3 6 8 7 5 , 13 P O K E 3 6 8 7 4 , 1 + 73 F O R X = 1 T O I / 2 : N E X T X4 N E X T I

g e n e r a l i z e d p r o g r a m m i g h t r e a d1 V = 3 6 8 7 81 I N P U T2 F O l = ( n o ) T ( n o ) S T E P ± 3 P O K E V ( n o )4 P O K E 3 6 8 7 5 , 15 F O X T ( n o ) : N E X T X6 N E X T I

T h t w n o ' s i l i n e 2 r e p r e s e n t f r e q u e n c y n u m b e r s o y o u rc h o i c e . T h i n d i c a t e s t h a t y o c a c h o o s e S T E P o S T E P - Q .I l i n e 3 y o c a a d o s u b t r a c t n u m b e r o y o u r c h o i c e . I n l i n e 5 0 ,y o c a c o n t r o l t h d u r a t i o n o f e a c h t o n e b i n s e r t i n g n u m b e r o y o u r c h o i c e w h e r e t h ( n o ) i s

E x p e r i m e n t w i t h v a r i o u s s o u n d e f f e c t s a n s a v e t h g o o d o n e so s o u n d e f f e c t s t a p e . E x p e r i m e n t w i t h t h e v o i c e s t h r o u g h 3 6 8 7 7 .

I t h s a m e w a t h a t s o u n d s a r p r o v i d e d b p o k i n g t h a p r o p r i a t e a d d r e s s , s t h g r a p h i c s a n c o l o r s o t h s c r e e n a n t h b o r d e r c a b b r o u g h t u n d e r y o u r d i r e c t c o n t r o l . C o l o r c o n t r o l i a c c e s s e d b p o k i n g a d d r e s s 3 6 8 7 9 w i t h a s u i t a b l e n u m b e r i n d i c a t i n gt h c o l o r c o m b i n a t i o n s a f t e r t h u s u a l c o m m a .

4

Page 51: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 51/226

A n o t h e g r a p h i c s y m b o l s c a b p l a c e d a a n p o i n t o t h s c r e e n t h a t y o w i s h . T h e y c a b m o v e d a r o u n d t h s c r e e n b c h a n g i n g t h s c r e e n c o d e . S c r e e n c o d e s r a n g e f r o m 7 6 8 0 t 8 1 8 5m o v i n g i l i n e s a c r o s s t h e s c r e e n .

I a d d i t i o n , g r a p h i c s y m b o l s c a b m a n i p u l a t e d i v a r i o u sc o l o r s b p o k i n g t h e c o l o r m e m o r y m a a d d r e s s e s . T h e s e c o r r es p o n d t t h s c r e e n c o d e s b u u s t h n u m b e r s f r o m 3 8 4 0 0 t 3 8 9 0 5f o l l o w e d b n u m e r a l f r o m t t i n d i c a t e t h r e q u i r e d c o l o r .

T h p r e s e n t a t i o n o m a t e r i a l c a b g r e a t l y e n h a n c e d b t h u s o v a r i o u s b o r d e r a n s c r e e n c o l o r c o m b i n a t i o n s .

I i p o s s i b l e , c o u r t e s y o B A S I C , t i s o l a t e c e r t a i n i n f o r m a t i o nf r o m t h m a i n b o d y o p r o g r a m b m e a n s o f d a t a s t a t e m e n t s , w h i c ha r t h e n r e a d f r o m t h p r o g r a m .

F o r - n e x t l o o p s c a b n e s t e d i n s i d e o n a n o t h e r a s l o n g a s t h eN E X T o r d e r i t h e x a c t r e v e r s e o t h F O o r d e r .

L o o p s c a b u s e d a t i m e r s , a l l o w i n g m a t e r i a l t b p r e s e n t e do t h s c r e e n p o r t i o n a t i m e , g i v i n g t h e u s e r t i m e t r e a d e a c hp o r t i o n . F O R D = 1 T 1 0 0 0 : N E X T g i v e s a d u r a t i o n o a p p r o x im a t e l y o n s e c o n d . S u c h t i m i n g l o o p s c a b u s e d a t h s e c o n di t e m o d a t a i r e a d - d a t a c o m b i n a t i o n s t t i m e t h o c c u r r e n c e o s o u n d s , p r o v i d i n g f o r h y t h m i c p r e s e n t a t i o n a n t h u s a m u s i c a lr e s u l t .

4

Page 52: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 52/226

C h a p t e rA t h b e g i n n i n g o t h i s b o o k , y o p l a y e d w i t h t h e k e y b o a r d . S i n c et h e n y o h a v e p r a c t i c e d w i t h e n o u g h p r o g r a m s f o y o t b e c o m eq u i t e p r o f i c i e n t a f i n d i n g v a r i o u s t h i n g s o t h V I C - 2 0 . Y o h a v ed i s c o v e r e d t h a t e a c h c h a r a c t e r h a c o d e a n d t h a t t h i s c o d e c a b u s e d t p r o d u c e t h e c h a r a c t e r a w i l l .

C O N T R O L U N G T H D I S P L A YF o e x a m p l e , y o h a v e u s e d C H R $ ( 1 4 7 ) , w h i c h t t h V I C - 2 0

i a v a l i d c h a r a c t e r a s s a y , t h l e t t e r G a l t h o u g h 1 4 i t h c o d ef o c l e a r i n g t h s c r e e n .Y o c a f i n d o u t t h e c o d e f o a n c h a r a c t e r b t y p i n g A S C ( " x " ) .

T y p e ? A S C ( " G " ) a n t h n u m b e r 7 1 s h o u l d a p p e a r . T y p e? A S C ( " X " ) a n t h n u m b e r 8 a p p e a r s .

N o t y p e ? C H R $ ( 8 8 ) . T h l e t t e r a p p e a r s . T r o n o t w m o r e , a l i d i r e c t m o d e , a n d t h e n t y p e ? C H R $ ( 1 4 ) . E v e r y t h i n g o t h s c r e e n , e x c e p t f o t h n u m b e r s a n t h p a r e n t h e s i s , h a t u r n e di n t o l o w e r c a s e c h a r a c t e r s ? C H R $ ( 1 4 2 ) p u t s t h w h o l e t h i n g r i g h ta g a i n .

C l e a r t h s c r e e n a n t y p e t h e f o l l o w i n g s t i l l i d i r e c t m o d e :

A f t e r t h e q u o t a t i o n m a r k , p r e s s t h d o w n c u r s o r k e t h r e e t i m e s .T h r e s u l t o t h s c r e e n i a i n v e r s e Q N o p r e s s t h r i g h t c u r s o r

4

Page 53: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 53/226

k e t h r e e t i m e s . T h r e s u l t t h i s t i m e i a i n v e r s e s q u a r e b r a c k e t .N o t y p e a s h o r t m e s s a g e s u c h a H E L L O . N o d t h s a m e t h i n gu s i n g t h t w c u r s o r k e y s , a n t h e n t y p e a n o t h e r m e s s a g e . C l o s et h q u o t e s a n p r e s s r e t u r n . T h v e r s i o n h a v e o m s c r e e n l o o k sl i k e t h i s :

H E L L OJ O H N

N o y o m i g h t t h i n k t h a t i i p o s s i b l e , i t h d i r e c t m o d e , t p r i n t p a r t o t h m e s s a g e i u p p e r c a s e , t y p e C H R $ ( 1 4 ) a n t h e nf i n i s h t h m e s s a g e . N o s o I ' a f r a i d . T h w h o l e t h i n g c o m e s o u i l o w e r c a s e .Y o w i l l r e c a l l t h a t i y o p r e s s t h C = k e y a n s h i f t a t h s a m et i m e y o p u e v e r y t h i n g i n t o l o w e r c a s e . U p p e r c a s e l e t t e r s a r a c h i e v e d b p r e s s i n g s h i f t a w i t h a o r d i n a r y t y p e w r i t e r . P r e s s t h C a n s h i f t k e y . Y o a r n o i w h a t i c a l l e d t h t e x t m o d e . N o t y p e t h f o l l o w i n g :

1 ? " W h a t i t h i s ? "2 ? ( u n s h i f t e d [ C L R H O M E ] [ c u r s o r d o w n ] x 3 W h a t i t h i s ? "

N o y o w i l l s e t h a t t h u n s h i f t e d C L H O M E k e h a p r o d u c e d l o w e r c a s e i n v e r s e s a n t h c u r s o r d o w n k e y , t h r e ei n v e r s e l e t t e r Q ' s . R u t h p r o g r a m a n y o w i l l s e e :

W h a t i t h i s ?W h a t i t h i s ?

T h e r e i c l e a r l i n e b e t w e e n t h t w q u e s t i o n s .L i n e 2 c o u l d b a l t e r e d t i n c l u d e c o u p l e o c u r s o r r i g h t

i n s t r u c t i o n s t m o v e t h s e c o n d q u e s t i o n o v e r l i t t l e .

W h a t i t h i s ?W h a t i t h i s ?

W i t h c l e v e r a n c u n n i n g u s o t h e s e k e y s , m a t e r i a l c a b d i s p l a y e d a a n p o i n t o t h s c r e e n , t h e r e b y e n h a n c i n g t h p r e s e nt a t i o n , m a k i n g t h i n g s e a s i e r t r e a d , a n e v e n h i g h l i g h t i n g p o r t i o n so t h t e x t .

W h e n y o a r e x p l o r i n g p o s s i b i l i t i e s , d b e a r i m i n d t h a t i y o o v e r d o t h i n g s i p r o g r a m , t h r e s u l t o f t e n d e t r a c t s f r o m t h o v e r a l l e f f e c t . D o n ' t d t h i n g s j u s t b e c a u s e t h e y a r p o s s i b l e . T h i s i a h i d e o u s c r i m e k n o w n a s c o n s p i c u o u s c o m p u t i n g , t e r m c o i n e d b

4

Page 54: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 54/226

P r o f . R o n a l d R a g s d a l e o t h O n t a r i o I n s t i t u t e f o S t u d i e s i E d u c at i o n . K e e p t h i n g s s i m p l e .

S t o r e t h i n f o r m a t i o n y o h a v e j u s t a c q u i r e d i s o m e n e a tc o r n e r o y o u r m i n d f o u s l a t e r . N o y o a r g o i n g t d s o m et h i n g r e a l l y c l e v e r .P R O D U C I N G Y O U R O W C H A R A C T E R S E T S

T h c h a r a c t e r s e o t h V I C - 2 0 i q u i t e n e a t a n t i d y i b o t hu p p e r - a n l o w e r c a s e , a n y o c a u s u p o n 6 o t h e r s y m b o l sb e y o n d t h o s e o t h s h i f t e d n u m e r a l s . H o w e v e r , i i p o s s i b l e t h a ty o m a w i s h t h a v e d i f f e r e n t s e t o f s y m b o l s o e v e n a n o t h e rc h a r a c t e r s e t t p l a y w i t h .

I o r d e r t d t h i s y o m u s t p o k e s o m e m o r e a n d e v e n d l i t t l e p e e k i n g . S f a y o h a v e p o k e d s o m e t h i n g i n t o s p e c i f i ca d d r e s s . P e e k i n g i t h p r o c e s s w h e r e b y y o c a l o o k a s p e c i f i ca d d r e s s t s e w h a t i t h e r e . Y o u r p u r p o s e i o f t e n t o m o v e s o m et h i n g f r o m o n a d d r e s s t a n o t h e r .

Y o u r f i r s t t a s k i t m a k e s u r e t h a t t h n e a d d r e s s w i l l n o b d i s t u r b e d a n w i l l b c l e a r f o u s e . Y o c a d t h i s w i t h t h f o l l o w i n g l i n e s :

P O K E 5 2 , 2 8 : P O K E 5 6 , 2 8 : C L F O 1 = 7 1 6 8 T 7 6 9 6 : P O K E l , P E E K ( l + 2 5 6 0 0 ) : N E X TP O K E 3 6 8 6 9 , 2 5 5

N o y o a r r e a d y ! Y o h a v e p r e p a r e d 5 1 b y t e s o m e m o r y . I y o t y p e ? F R E ( 0 ) , t h n u m b e r 3 0 7 1 a p p e a r s . T h V I C - 2 0 t h i n k st h a t i h a o n l y t h a t a m o u n t o m e m o r y t p l a y w i t h ! T h o t h e r 5 1 b y t e s a r o u r s t d w i t h w h a t w w i l l !

I y o l o o k v e r y c a r e f u l l y a a c h a r a c t e r o t h s c r e e n y o w i l ln o t i c e t h a t i i m a d e u o s e r i e s o d o t s , r a t h e r l i k e t h o s e

' n e w s p a p e r s - i n - l i g h t s " o n s e i c i t i e s . E a c h c h a r a c t e r i m a d e u o d o t s i s q u a r e w h i c h i d o t s b d o t s . F i g u r e 5 - s h o w s t h m a t r i x o f s q u a r e s . B p l a c i n g d o t s i t h s q u a r e s , p a t t e r n t h a tc o r r e s p o n d s t t h l e t t e r , n u m e r a l , o o t h e r s y m b o l y o w i s h t p r o d u c e c a b f o r m e d . T p r o d u c e t h l e t t e r I d o t s a r e p l a c e d i s q u a r e s t h r o u g h 7 o t h e t o p r o w , i s q u a r e f o t h e n e x t r o w s ,a n i s q u a r e s t h r o u g h f o t h 7 t r o w . C o l u m n s 1 2 7 a n 8 a n l i n e a r l e f t f r e e s t h a t t h e r e i s o m e s p a c e l e f t a r o u n d t h l e t t e r .

T h m a t r i x i r a t h e r l i k e b o o l i t t l e l i g h t s . T h o s e l i g h t s t h a tc o r r e s p o n d t t h e d o t s t h a t f o r m t h e c h a r a c t e r a r e l i t , a n t h o t h e r sw h e r e t h e r e a r n d o t s .

4

Page 55: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 55/226

F i g . 5 - 1 . T h 8 x m a t r i x w i t h i nw h i c h c h a r a c t e r s a r c r e a t e d .

T h d o t s c o r r e s p o n d t b i t s w h i c h a r e i t h e r o f o o n B i n a r yc o d e i u s e d t i n d i c a t e w h e t h e r o n o b i t s a r s e ( t u r n e d o n ) . i u s e d f o o f a n f o r o n ,

T h m a t r i x f o t h l e t t e r y o h a v e p r o d u c e d l o o k s l i k e t h i s i nb i n a r y c o d e .

0 0 1 1 1 1 1 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 1 1 1 1 1 00 0 0 0 0 0 0 0

T h i s i h i g h l y g r a p h i c r e p r e s e n t a t i o n o t h l e t t e r I l e t t e r w o u l d l o o k l i k e t h i s :

0 0 0 1 1 1 0 00 0 1 0 0 0 1 00 1 0 0 0 0 0 00 1 0 0 0 0 0 00 1 0 0 0 0 0 00 0 1 0 0 0 1 00 0 0 1 1 1 0 00 0 0 0 0 0 0 0N o w , y o c a n n o t j u s t t r a n s f o r m e r t h e s e b i n a r y n u m b e r s d

r e c t l y i n t o t h c o m p u t e r . Y o m u s t f i r s t o a l t r a n s l a t e t h e m i n t od e c i m a l e q u i v a l e n t s .

" B u t , " y o w i l l s a y , " d o n ' t c o m p u t e r s u n d e r s t a n d b i n a r yb e t t e r t h a n d e c i m a l ? "

4

Page 56: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 56/226

Y o a r s r i g h t , b u h i g h - l e v e l l a n g u a g e s l i k e B A S I C g t t h t r o u b l e o d o i n g t h t r a n s l a t i o n s t h a t m e r e h u m a n s d n o h a v e t t h i n k v e r y h a r d . T h i s i c a l l e d " b e i n g u s e r - f r i e n d l y . " T h u s , w h e ny o u w a n t t u s b i n a r y n u m b e r s y o u h a v e t t h i n k v e r y h a r d i o r d e rt o t r a n s l a t e t h e m i n t o d e c i m a l s t h a t t h B A S I C c a t r a n s l a t e t h e ma l b a c k a g a i n i n t o b i n a r y . D o n ' t w o r r y a b o u t i t T h i s s e c t i o n w i l lg i v e y o c h a n c e t g e t k n o w b i n a r y c o d e , i y o d o n ' t a l r e a d y ,t h a t i s

B i n a r y c o d e i r e a d m o s t c o n v e n i e n t l y f r o m r i g h t t l e f t . E a c hd i g i t i w o r t h t w i c e t h v a l u e o i t n e i g h b o r t t h r i g h t . T h u s t h v a l u e o e a c h o t h e i g h t d i g i t s i a f o l l o w s :

1 2 8 , 6 4 , 3 2 , 1 6 8 4 2 B u t h i s i t r u e o n l y w h e n t h d i g i t i 1 I t h e r e i z e r o a

p o i n t , t h a t p o i n t i w o r t h n o t h i n g .E x a m p l e s : 0 0 0 0 0 0 0 1 o n e , p l u s n o t h i n g f o a l o t h o t h e r s .

0 0 0 0 0 1 0 1 o n e , p l u s n o t h i n g f o t h n e x t p l a c e ,p l u s f o t h n e x t a n n o t h i n g f o t h r e s t1 + 0 + 4 + 0 + 0 + 0 + 0 + 0

T h d e c i m a l n u m b e r s u s e d t f o r m t h a r d e t e r m i n e d l i k et h i s :

0 0 1 1 1 1 1 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 0 0 1 0 0 00 0 1 1 1 1 1 00 0 0 0 0 0 0 0

0 + 2 + 4 + 8 + 1 6 + 3 2 + 0 + 00 + 0 + 0 + 8 + 0 + 0 + 0 + 0

6

6

T h d e c i m a l e q u i v a l e n t s o e a c h o t h l i n e s i t h l e t t e r C r e a d i n g f r o m t o t b o t t o m , w o u l d b e 2 8 , 3 4 , 6 4 , 6 4 , 6 4 , 3 4 , 2 8 , 0 . T h i si e x a c t l y h o y o u w o u l d e n t e r t h i n f o r m a t i o n i n t o t h c o m p u t e r ,u s i n g a d a t a s t a t e m e n t t d s o T h u s , w o u l d b e w r i t t e n a

D A T A 6 2 , 8 , 8 3 , 8 , 8 , 6 2 , 0

a n w o u l d b w r i t t e n a sD A T A 2 8 , 3 4 , 6 4 , 6 4 , 6 4 , 3 4 , 2 8 , 0

T h e s e a r t h v i t a l s t a t i s t i c s , a i w e r e , o e a c h o t h o s e l e t t e r s .S f a r , s g o o d ! Y o a r n o g o i n g t c h a n g e o n o t h l e t t e r s

i t h V I C - 2 0 c h a r a c t e r s e i n t o s o m e t h i n g e l s e . Y o w i l l n o d i s t u r b4

Page 57: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 57/226

t h V I C - 2 0 b d o i n g t h i s , a n y o w i l l n o l o s e t h c h a r a c t e r s e t h a tt h V I C - 2 0 u s e s . Y o a r o n l y b o r r o w i n g i t

T y p e i t h f o l l o w i n g l i n e :

1 F O A = 7 1 7 6 T 7 1 8 3 : R E A D A P O K E A 1 . A : N E X TT h e n t h i s l i n e :

2 D A T A 2 8 , 2 0 , 3 4 , 6 2 , 6 5 , 6 5 , 6 5 , 0

N o t y p e R U a n w a t c h t h A ' c h a n g e s h a p e .m u c h m o r e d r a m a t i c d i s p l a y c a b e o b s e r v e d i y o r e t y p e

l i n e 2 a f o l l o w s :2 D A T A 9 8 , 3 5 , 2 0 , 8 , 2 0 , 9 8 , 9 9 , 0

T h i s t i m e y o h a v e p r o d u c e d a i p l a c e o e a c h A T h w o r dD A T A t h u s b e c o m e s D X T X a n R E A D b e c o m e s R E X D . D o n ' tw o r r y ! T h V I C - 2 0 s t i l l t h i n k s i s e e s A ' s !

T r t h i s o n e :

2 D A T A 1 0 , 2 8 , 3 8 , 4 7 , 4 9 , 8 1 , 1 1 3 , 2 8

T h i s p r o d u c e s a n o l G e r m a n - s t y l e l e t t e r H I o r d e r t g e i a l i t h m a t r i x , y o h a t u s t h b o t t o m l i n e .

T r j u s t o n m o r e a n t h e n y o c a g e d o w n t w o r k :

2 D A T A 1 2 , 7 9 , 9 , 9 , 2 3 , 9 8 , 0

T h e r e y o a r e ! Y o u r V I C - 2 0 c a w r i t e i C h i n e s e ! s a m p l e o m o r eC h i n e s e c h a r a c t e r s i g i v e n i t h f o l l o w i n g v e r y s h o r t p r o g r a m .

P O K E 5 2 , 2 8 : P O K E 5 6 , 2 8 : C L RF O R I = 7 1 6 8 T O 7 6 9 6 : P O K E I , P E E K ( I + 2 5 6 0 0 ) : N E X TP O K E 3 6 8 6 9 . 2 5 5

1 F O R A 1 = 7 1 7 6 T O 7 1 8 3 : R E A D A : P O K E A 1 , A : N E X T2 D A T A 4 , 9 , 1 2 7 , 2 0 , 5 6 , 2 , 9 7 , 03 F O R B 1 = 7 1 8 4 T O 7 1 9 1 : R E A D B : P O K E B 1 , B : N E X T4 D A T A 6 2 , 4 , 9 , 1 2 7 , 8 , 2 4 , 8 , 05 F O R C 1 = 7 1 9 2 T O 7 1 9 9 : R E A D C : P O K E C 1 , C : N E X T6 D A T A 2 8 , 2 0 , 2 0 , 2 0 , 2 0 , 3 8 , 6 7 , 07 F O R D 1 = 7 2 0 0 T O 7 2 0 7 : R E A D D : P O K E D 1 , D : N E X T8 D A T A 8 , 6 0 , 4 2 , 4 3 , 7 2 , 8 , 2 4 , 09 F O R E 1 = 7 2 0 0 T O 7 2 1 5 : R E A D E : P O K E E 1 , E : N E X T1 0 D A T A 8 . 9 . 1 2 7 , 8 , 8 , 1 0 , 6 2 , 0

T h C h i n e s e l a n g u a g e i w r i t t e n f o r m p o s e s p r o b l e m i a m u c h a s t h e r e a r a r o u n d 4 8 0 0 0 c h a r a c t e r s ! R a t h e r m o r e t h a n o n

4

Page 58: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 58/226

c a f i i n t o t h V I C - 2 0 ' s m e m o r y o a c c o m m o d a t e o t h k e y b o a r d .H o w e v e r , C h i n e s e c h a r a c t e r s a r m a d e u o v a r i e t y o c o m b i n at i o n s o s t r o k e s . I n d e e d , d i c t i o n a r y l i s t s t h c h a r a c t e r s i o r d e r b t h n u m b e r o s t r o k e s . I w o u l d b p o s s i b l e t p r o g r a m t h f i f t e e nm a j o r s t r o k e s a n b u i l d u t h e c h a r a c t e r i t h s a m e f a s h i o n i w h i c ht h e y w o u l d b f o r m e d b b r u s h o p e n . T h c h a r a c t e r s w o u l d b v e r y l a r g e b u t h a t i n o t a d r a w b a c k . W h n o t r i t

P r o g r a m 1 i A p p e n d i x p r o d u c e s c o m p l e t e s e o H e b r e wc h a r a c t e r s . T h p r o b l e m h e r e i t h a t t h c o m p u t e r w r i t e s f r o m l e f tt r i g h t . . . a n H e b r e w , l i k e A r a b i c a n P e r s i a n , i w r i t t e n f r o mr i g h t t l e f t .

I m i g h t b g o o d p l a n t s a v e l i n e s 1 t 1 i t h i s p r o g r a m a s h o r t u t i l i t y . T h i s w i l l s a v e y o f r o m h a v i n g t h u n t t h r o u g h a l y o u rb o o k s e a c h t i m e y o w a n t t u s i t F o e a c h c h a r a c t e r y o w i s h t c h a n g e , t h e r e m u s t b d i f f e r e n t v a r i a b l e . T h u s f o t h f i r s t c h a r a ct e u s A a n a i t h s a m p l e l i n e 1 0 . T h n e x t c h a r a c t e r w i l lu s B a n B

T h H e b r e w c h a r a c t e r s e i w r i t t e n w i t h e a c h d a t a l i n e f o l o w i n g t h f o n e x t l o o p c o n t a i n i n g t h e r e a d s t a t e m e n t . T h i s i d o n e f o e a s e o r e a d i n g t h e p r o g r a m a n k e e p i n g t r a c k o w h a t i h a p p e n i n g a e a c h p o i n t . I i s o c o u r s e , u s u a l t p l a c e d a t a l i n e s a tt h e n o p r o g r a m .

I y o h a v e t h C h i n e s e c h a r a c t e r p r o g r a m i t h V I C - 2 0 , r u t h p r o g r a m t c h a n g e t h A ' s , c l e a r t h s c r e e n , a n t h e n t y p e f e A ' s . N o p r e s s C = a n d S H I F T a i t p r o d u c e l o w e r c a s e . W h a t y o s e o t h s c r e e n i g a r b a g e . I i n o e v e n t h c h a r a c t e r i r e v e r s e .

J u s t d o n ' t t r t y p i n g l o w e r c a s e C h i n e s e !E a c h c h a r a c t e r t a k e s u e i g h t m e m o r y l o c a t i o n s . Y o a r s t o r i n g y o u r n e c h a r a c t e r s s t a r t i n g a l o c a t i o n 7 1 6 8 . T h f i r s tc h a r a c t e r i t h e r e f o r e r e s i d i n g a l o c a t i o n s 7 1 6 8 t 7 1 7 5 . T h n e x tc h a r a c t e r s t a r t s a t h e f o l l o w i n g n u m b e r , 7 1 7 6 , a n d e n d s a 7 1 8 3 .T h r u l e i s i m p l e : e a c h c h a r a c t e r i l o c a t i o n 7 1 6 8 p l u s t h c h a r a ct e c o d e n u m b e r t i m e s 8 T h u s t h l e f t s q u a r e b r a c k e t s t a r t l o c a t i o ni 7 1 6 8 2 7 * 8 7 3 8 4 . I t e n l o c a t i o n i t h s t a r t l o c a t i o n + 7

W i t h t h i s i n f o r m a t i o n , y o c a f i n d t h s t a r t l o c a t i o n o a n s y m b o l a v a i l a b l e f r o m t h k e y b o a r d a n u s t h c o r r e s p o n d i n g k e a t h t r i g g e r f o t h n e c h a r a c t e r o r s y m b o l . Y o c a e v e n u s @

a n t h e E n g l i s h p o u n d s i g n , b u t , w h a t e v e r n e s h a p e i p r d u c e d t h c o m p u t e r w i l l s t i l l t h i n k i i t h o r i g i n a l .

F o e x a m p l e , t h ( d o l l a r s i g n ) i u s e d a t h m o d i f i e r f o s t r i n g s a i A $ B $ a n s o n Y o m i g h t i n d e e d s e u t h f o l l o w i n g l i n e s :

4

Page 59: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 59/226

2 0 F O R I 2 = 7 3 9 2 t o 7 3 9 2 + 7 : R E A D I P O K E I 2 . I : N E X T2 D A T A 2 8 , 5 4 , 1 2 4 , 1 2 0 , 1 2 4 , 6 2 , 2 8 , 0

N o w h e n e v e r y o p r e s s t h p o u n d s i g n k e y o g e t a v e r y f a m i l i a rf i g u r e , t b s e e n s t a l k i n g a r c a d e s a n e v e n h o m e s !

I h o w e v e r , y o c h a n g e l i n e 2 t r e a d :2 F O 1 2 = 7 4 5 6 T 7 4 5 6 + 7 e t c y o u f i n d t h a t i i n o t h t h a th a c h a n g e d . p r i n t o u t o f p r o g r a m t h a t s h o w e d D I M A S w o u l dl o o k e x c e e d i n g l y o d d , b u t t h e c o m p u t e r w o u l d r e a d i a p l a i n o l D I M A $

T h H e b r e w p r o g r a m , p r o g r a m 1 i A p p e n d i x N u s e s A l ,B l C l a n s o i e a c h f o r - n e x t l o o p m e r e l y t m a k e i c l e a r w h i c hl e t t e r i b e i n g u s e d f o e a c h c h a r a c t e r . T y p i n g t h a t k e w i l l c a u s et h a p p r o p r i a t e H e b r e w c h a r a c t e r t a p p e a r .

N o t h a t m i g h t b j u s t l i t t l e a w k w a r d i y o w i s h t u s L a t i ns c r i p t a w e l l . H o w e v e r , y o d h a v e t o t a l o 6 s y m b o l s a n dl e t t e r s a v a i l a b l e t o y o u . Y o c o u l d c o n f i n e y o u r n e s c r i p t o c h a r a c t e r s e t t o t h l o c a t i o n s f o r t h o s e c h a r a c t e r s w i t h c o d e s f r o m2 t 4 a n f r o m 5 t 6 4 g i v i n g t o t a l o 2 6 I t h i s w a y , y o c o u l dh a v e y o u r n o r m a l L a t i n s c r i p t , t h n e f o n t ( a n I t a l i c o G o t h i c ? ) a n t h e n u m e r a l s . I w o u l d b n e c e s s a r y t i n t h n e f o n t o s m a l lp i e c e s o t a p e w h i c h a r t h e n s t u c k t t h k e y s i o r d e r t s p a r e y o u rm e m o r y !

I n a d d i t i o n t o t h H e b r e w c h a r a c t e r s e t y o w i l l f i n d t h R u s s i a n c h a r a c t e r s e i p r o g r a m 1 i A p p e n d i x N

T h d a t a p r i n t e d b e l o w i f o t h G r e e k c h a r a c t e r s e t . T h e r ea r t w w a y s o g o i n g a b o u t u s i n g i t Y o c a l o a d t h e H e b r e wp r o g r a m , a n t h e n c h a n g e e a c h d a t a l i n e t t h o s e y o s e a b o v e i t h s a m e o r d e r . T h e n s a v e t h n e p r o g r a m . A l t e r n a t i v e l y , y o m a y , o c o u r s e , s e u d a t a f i l e o t a p e o d i s k a n r e a d e a c h l i n e i n h o w e v e r , t h i s m i g h t p r o v e t b m o r e t r o u b l e t h a n i i w o r t h .

1 R E G R E E K C H A R A C T E R S E 1 R E I A L P H A B E T I C A L O R D E R1 0 0 0 D A T A 0 , 0 , 2 4 , 3 7 , 6 6 , 7 0 , 1 0 5 , 01 0 1 0 D A T A 2 8 , 3 4 , 3 4 , 6 2 , 3 4 , 3 3 , 1 2 4 , 01 0 2 0 D A T A 4 9 , 7 3 , 6 , 8 , 1 6 , 3 2 , 01 0 3 0 D A T A 2 8 , 1 8 , 8 , 5 2 , 6 6 , 6 6 , 6 0 , 01 0 4 0 D A T A 2 4 f 3 2 , 6 4 , 1 2 0 , 6 4 , 3 2 , 2 4 , 01 0 5 0 D A T A 1 0 , 4 , 4 , 8 , 1 4 , 2 , 6 , 01 0 6 0 D A T A 4 4 , 8 2 , 1 8 , 1 8 , 1 8 , 1 8 , 2 , 01 0 7 0 D A T A 2 8 , 3 4 , 6 5 , 1 2 7 , 6 5 , 3 4 , 2 8 , 01 0 8 0 D A T A 0 . 1 6 , 1 6 , 1 6 , 1 6 , 2 0 , 8 , 01 0 9 0 D A T A 0 , 3 8 , 4 0 , 4 8 , 4 0 , 3 6 , 3 4 , 01 1 0 0 D A T A 1 6 , 8 , 2 0 , 2 0 , 1 8 , 3 3 , 3 3 , 01 1 1 0 D A T A 0 , 0 , 3 6 , 3 6 , 3 6 , 5 4 , 4 0 , 3 2

4

Page 60: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 60/226

1 1 2 0 D A T A 0 , 0 , 3 6 , 3 6 , 3 6 , 4 0 , 4 8 , 01 1 3 0 D A T A 1 9 , 2 8 , 3 2 , 2 8 , 3 2 , 6 0 , 2 , 1 21 1 4 0 D A T A 0 , 2 4 , 3 6 , 6 6 , 6 6 , 3 6 , 2 4 , 01 1 5 0 D A T A 0 , 0 , 6 3 , 8 2 , 1 8 , 1 8 , 1 8 , 01 1 6 0 D A T A 0 , 2 4 , 3 6 , 3 6 , 6 0 , 3 2 , 3 2 , 3 21 1 7 0 D A T A 0 , 6 3 , 6 8 , 6 6 , 6 6 , 6 6 , 6 01 1 8 0 D A T A 0 , 0 > 6 2 , 7 2 , 8 , 8 , 8 , 01 1 9 0 D A T A 0 , 0 , 7 0 I 3 4 , 3 4 , 3 4 , 2 8 , 01 2 0 0 D A T A 1 6 , 1 6 , 5 6 , 8 4 , 8 4 , 8 4 , 5 6 , 1 61 2 1 0 D A T A 0 , 6 6 , 3 4 , 2 0 , 8 , 2 0 , 9 81 2 2 0 D A T A 8 , 8 , 7 3 , 7 3 , 7 3 , 7 3 , 6 21 2 3 0 D A T A 0 , 0 , 4 2 , 7 3 , 7 3 , 7 3 , 5 4 , 0

M a y b e y o a r e n o t i t h h a b i t o f w r i t i n g i e i t h e r R u s s i a n o rG r e e k e v e r y d a y . h a v e i n c l u d e d t h e s e f o n t s j u s t t s h o w t h a t t h V I C - 2 0 i n o c o n f i n e d t E n g l i s h .E N H A N C I N G T H S C R E E N D I S P L A Y

G r a p h i c s c a m a k e t e x t m u c h m o r e a p p e a l i n g t l o o k a t C e t a i n s e c t i o n s c a b h i g h l i g h t e d b u s o t h m e t h o d s j u s t d s c r i b e d ; f o r e x a m p l e , d o u b l e - s i z e d l e t t e r s c a b c r e a t e d b g e n e r a t i n g a p o r t i o n o t h l e t t e r i n e a c h 8 x m a t r i x a n t h e na s s e m b l i n g t h m a t r i c e s l i k e j i g s a w .H o w e v e r , h i g h l i g h t i n g c a b a c h i e v e d i m u c h e a s i e r f a s hi o n . T r t h f o l l o w i n g . D n o t y p e t h p a r e n t h e s e s . . . j u s t f o l l o wt h i n s t r u c t i o n s i n s i d e t h e m . ( F i r s t p r e s s C a n S H I F T )1 ? " ( C = a n d F x i 3 ) "2 ? : ? " ( C = a n o n c e , t w s p a c e s , t h e n S H I F T H E L L O , t h r e e s p a c e s , C

a n o n c e a n d t h e n " 3 ? : ? " ( C a n 1 3

C l e a r t h s c r e e n a n t h e n t y p e R U N . T h w o r d H E L L O w i l la p p e a r i n s i d e f r a m e o s m a l l b l a c k s q u a r e s . T r t h p r o g r a m w i t ho t h e r g r a p h i c s y m b o l s .

F o V a l e n t i n e s 1 D a y , t h f o l l o w i n g m i g h t b e f f e c t i v e !1 ? " P R E S S A N K E T F I N D T H S E C R E T M E S S A G E "2 G E T A $ : I F A $ = " n T H E N 2 3 ? ( [ g r a p h i c S ] t h e h e a r t ! 2 t i m e s ) "4 ? : ? " ( s p a c e s ) L O V E Y O " 4 F O R I = 1 T O 2 0 0 0 : N E X T4 ? ( 2 h e a r t s ! ) "5 ? : ? : ? " Y O U R F R I E N D — "5 F O R I = 1 T O 5 0 0 0 : N E X T5 F O R I = 1 T O 1 06 ? : ? : ? C H R $ ( 1 4 7 ) " ( [ c u r s o r d o w n ] x 4 , [ c u r s o r r i g h t ] x 4 ) V ( [ c u r s o r

d o w n ] , [ c u r s o r r i g h t ] ) ( [ c u r s o r d o w n ] , [ c u r s o r r i g h t ] ) C 6 F O R X = 1 T O 5 0 0 : N E X T6 6 F O R Y = 1 T O 2 0 : ? C H R $ ( 1 4 7 ) : N E X T Y : N E X T I5

Page 61: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 61/226

Y o u r o w i m a g i n a t i o n w i l l a l l o w y o t d e c o r a t e t h o u t l i n e i t o t a l l y s t u n n i n g f a s h i o n , b u m i g h t a d v i s e t h a t f o q u i e t l i f e y o s u b s t i t u t e y o u r o w n a m e f o V I C ' s ?

D o n ' t f o r g e t t h a t y o c a p l a c e t h i n g s e x a c t l y w h e r e y o w a n to t h s c r e e n b p o k i n g t h a d d r e s s . S y m b o l s , r e v e r s e c h a r a c t e r s ,a n s p e c i a l c h a r a c t e r s y o d e s i g n y o u r s e l f c a a l b c o m b i n e d o t h s c r e e n w i t h g r e a t e f f e c t .

C R E A T I N G B A C H A R T SA d v e r t i s e m e n t s i m a g a z i n e s o f t e n s h o w b r i g h t l y c o l o r e d

s c r e e n w i t h t h i c k b a r s , r u n n i n g e i t h e r v e r t i c a l l y o h o r i z o n t a l l y .S u c h g r a p h i c d i s p l a y s a r e n o t d i f f i c u l t t p r o d u c e a n s e e m t i m p r e s s o f f i c e m a n a g e r s o u o a l p r o p o r t i o n t o e i t h e r t h e i r a c t u a lw o r t h o t h e i r d i f f i c u l t y o p r o d u c t i o n .

L e u t a k e t h f o l l o w i n g e x a m p l e :4 Z $ = C H R $ ( 1 6 6 )5 I N P U T X1 0 F O R I = 1 T O X : ? Z $ : N E X T I

C l e a r t h s c r e e n a n t h e n t y p e R U N . E n t e r v a l u e l e s s t h a n 2 a f t e rt h e q u e s t i o n m a r k . T h c h e c k e r b o a r d s y m b o l ( C H R $ ( 1 6 6 ) ) r u n sd o w n t h l e f t - h a n d s i d e o t h s c r e e n .

N o c h a n g e l i n e 1 0 b a d d i n g s e m i c o l o n ( ; a f t e r Z $ a n b e f o r e t h c o l o n . N o t h C H R $ ( 1 6 6 ) r u n s h o r i z o n a l l y .

N e x t c h a n g e t h s e m i c o l o n i n t o c o m m a . T h i s t i m e y o h a v et w d i s t i n c t b a r s . C h a n g e t h c o m m a b a c k t s e m i c o l o n a n t h e nt y p e i n u m b e r g r e a t e r t h a n 2 0 l e u s a 3 5 N o y o c a s e t h a tt h w h o l e o o n l i n e i f i l l e d a n p a r t o t h n e x t . T r o t h e r v a l u e sf o X 5 0 w i l l f i l l t h s c r e e n .

N o a d t h f o l l o w i n g :

3 A $ = C H R $ ( 1 1 3 )

a n c h a n g e l i n e 1 0 a f o l l o w s :1 0 0 ? C H R $ ( 1 8 ) : F O R I = 1 T O X : ? Z $ ; : ? A $ ; : N E X T I

D o n ' t w o r r y a b o u t C H R $ ( 1 8 ) f o t h m o m e n t , j u s t r u t h p r o g r a m . N o y o u h a v e p a t t e r n o a l t e r n a t e s y m b o l s .

I y o c h a n g e t h v a l u e o C H R $ ( 1 8 ) t o s a 1 4 4 , y o c a t u r nt h w h o l e s c r e e n b l a c k !

C h a n g e t h p r o g r a m t o r e a d :

5

Page 62: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 62/226

1 0 ? C H R $ ( 1 8 ) : F O R I = 1 T O X : ? A $ ; : N E X T1 1 ? C H R $ ( 1 4 4 ) : F O R I = 1 T O X : ? Z $ ; : N E X T I

Y o c o u l d a d c o u p l e o l i n e s t p r o d u c e a n o t h e r s y m b o l i a n o t h e rc o l o r , o b r i n g t h e l a s t p r i n t o u t i n t o n o r m a l c o l o r b a l a n c e ( C H R $( 3 1 ) ) .

S f a y o d o n ' t h a v e m u c h i t h w a o b a c h a r t . T h a t i w h y o h a v e s u c h s t r a n g e l i n e n u m b e r s : y o w i l l a d s o m e l i n e s t a l l o w g r e a t e r f r e e d o m o e x p r e s s i o n .2 Y $ = C H R $ ( 1 1 5 )5 I N P U T H O W M A N Y L E M O N S " ; X6 I N P U T " H O W M A N Y O R A N G E S " ; Y7 I N P U T " H O W M A N Y N U T S " ; Z1 0 ? C H R $ ( 1 4 4 ) : F O R I = 1 T O X : ? A $ ; : N E X T I1 1 ? C H R $ ( 3 1 ) : F O R I = 1 T O Y : ? Z $ ; : N E X T I1 2 ? C H R $ ( 1 5 6 ) : F O R I = 1 T O Z : ? Y $ ; : N E X T I

N o t e t h a t w a l r e a d y h a v e l i n e s 3 a n 4 w h i c h a s s i g n C H R $ ' s t v a r i a b l e s .

T h f o l l o w i n g v a r i a t i o n o t h p r o g r a m c o u l d e x i s t2 X $ = C H R $ ( 1 8 ) + C H R $ ( 1 6 0 )3 Y $ = C H R $ ( 1 8 ) + C H R $ ( 1 6 0 )4 Z $ = C H R $ ( 1 8 ) + C H R $ ( 1 6 0 )

L i n e s 5 t 7 r e m a i n a b e f o r e , a n t h e n l i n e 8 i i n s e r t e d8 ? C H R $ ( 1 4 4 )

I l i n e s 1 0 t 1 2 0 , c h a n g e t h C H R $ t 1 a n a d t h e s e l i n e s :1 0 ? C H R $ ( 2 8 )1 1 ? C H R $ ( 3 1 )

N o r u t h p r o g r a m .A l o n g a s y o c a r e m e m b e r t h a t t h l i n e s r e p r e s e n t l e m o n s ,

o r a n g e s , a n n u t s , i t h a t o r d e r , t h i n g s a r f i n e . I y o c a n ' t , h o e v e r , t h i n g s b e c o m e s l i t t l e r o u g h . Y o n e e d s o m e m e a n s o p r i n t i n g a t h e n o e a c h b a e x a c t l y w h a t i r e p r e s e n t s .

D I M A $ ( 2 0 )A $ ( 1 ) = " L E M O N S "A $ ( 2 ) = " O R A N G E S "A $ ( 3 ) = " N U T S "

N o w a t c h c a r e f u l l y : o l i n e 8 i n s e r t : ? A $ ( 1 ) ; a f t e r ? X $ ; a n db e f o r e t h N E X T I M a k e s u r e y o h a v e a l t h c o l o n s a n s e m i c o -5

Page 63: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 63/226

I o n s r i g h t . T h e n i n s e r t : ? A $ ( 2 ) ; i t h s a m e s p o t o l i n e 1 1 0 ; a n : ? A $ ( 3 ) ; i t h s a m e s p o t o l i n e 1 2 0 .

N o w h e n y o r u t h p r o g r a m , i n s e r t i n g w h a t e v e r v a l u e s y o l i k e , y o a r l e f t i n d o u b t a b o u t w h a t i w h a t !

T h a l t e r n a t i v e i t i n s e r t t h r e e m o r e l i n e s1 0 ? A $ ( 1 )1 1 ? A $ ( 2 )1 2 A $ ( 3 )

I n s t e a d o p l a c i n g t h d i m e n s i o n e d a r r a y s w i t h i n l i n e s 1 0 0 - 1 2 0 .N o t h n a m e a p p e a r s o n l y a t h e n o t h l i n e .

Q u i t e c l e a r l y , w h a t y o u p u i t h p r o g r a m a n d w h a t y o m a k ee a c h b a r r e p r e s e n t i e n t i r e l y u t y o u . T h b a r s c o u l d b m o n t h l yt e m p e r a t u r e s , w i d g e t , t w i r d l e g r o i n g e , a n g r u n d g e t s a l e s , t h r a i n g s y o g i v e t p i n u p s a n m o v i e s t a r s , o w h a t e v e r t a k e s y o u rf a n c y . T h p r o g r a m w i l l b a p p r o x i m a t e l y t h s a m e t p r o d u c e a n k i n d o f h o r i z o n t a l b a c h a r t d i s p l a y .

T p r o d u c e o n e o t h o s e f a n c y v e r t i c a l o n e s , y o m u s t g b a c kj u s t l i t t l e t y o u r f i r s t e f f o r t s . Y o u ' l l c h a n g e i j u s t t r i f l e t m a k eu s o t h C H R $ C H R $ t r i c k . T h i s p r o c e s s i c a l l e d c o n c a t e n at i o n .

4 Z $ = C H R $ ( 1 8 ) + C H R $ ( 1 6 0 )5 I N P U T5 5 ? C H R $ ( 1 4 4 )6 F O R I = 1 T O X : ? Z $ : N E X T I

T h e s e l i n e s p r o d u c e b l a c k b a d o w n t h l e f t - h a n d s i d e . N o a d l i n e :

1 X $ = C H R $ ( 1 8 ) + C H R $ ( 1 6 6 )

T h e n i l i n e 6 0 , a d s e m i c o l o n a f t e r ? Z a n ? X b e f o r e N E X T I D o n ' t f o r g e t t o l e a v e t h e c o l o n b e f o r e ? X $ !6 F O R I = 1 T O X : ? Z $ ; : ? X $ : N E X T I

T h i n g s a r e l o o k i n g b e t t e r b e c a u s e y o h a v e t w d i f f e r e n t p a t t e r n sr i g h t a l o n g s i d e e a c h o t h e r . I i t h s e m i c o l o n t h a t d o e s t h t r i c k , o c o u r s e . c o m m a w i l l s e p a r a t e t h e c o l u m n s b y h a l f s c r e e n w i d t h .

c o l o n w i l l p i l e t h c o l u m n s o t o o o n a n o t h e r .I i a t h i s p o i n t h o w e v e r , t h a t y o r e a c h s o m e w h a t o a

i m p a s s e , f o n m a t t e r h o h a r d y o t r y , y o w i l l n o b a b l e t m a k e e a c h o t h c o l u m n s d i f f e r e n t l e n g t h . T h e r e c a b a m a n y

5

Page 64: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 64/226

c o l u m n s a y o c a f i o t h s c r e e n , b u t h e y w i l l a l b e x a c t l y t h s a m e l e n g t h . Y o c o u l d e x p l o r e t h p o s s i b i l i t i e s o n e s t e d f o r - n e x tl o o p s , b u l e m w a r n y o t h a t i w o u l d b t e d i o u s a n f r u s t r a t i n g . I w o u l d a l s o g e y o n o w h e r e .

a g o i n g t o d i g r e s s f e m o m e n t s a n s h o w y o h o i i d o n e o o t h e r c o m p u t e r s . T h i s w i l l b u s e f u l t y o b e c a u s e i i v e r y l i k e l y t h a t y o w i l l w a n t t t r a n s l a t e p r o g r a m w r i t t e n f o a n o t h e r c o m p u t e r t o p e r a t e o t h V I C - 2 0 .

O m a n y c o m p u t e r s ( o r a t h e r , i n t h v a r i e t y o B A S I C t h e yu s e ) t h e r e i p l o t s t a t e m e n t . O t h A p p l e , f o e x a m p l e , y o c a d e s i g n a t e p o i n t s o t h s c r e e n b p l o t t i n g t h e c o o r d i n a t e s o a p o i n tw i t h t w n u m b e r s , t h f i r s t i n d i c a t i n g t h c o l u m n a n t h s e c o n d t h r o w . P L O T 2 0 , 2 4 w o u l d p l a c e a p o i n t i t h c e n t e r o t h s c r e e n .O t h Z X 8 1 , y o c a u s a n Y f o t h r o a n f o t h c o l u m n . P l o t X , 1 3 ; P l o t Y , 1 1 p r o d u c e s s p o t i t h e c e n t e r o t h s c r e e n . I y o u w i s h e d t p r o d u c e a b a r i t h e c e n t e r o t h s c r e e nf r o m t h e t o p d o w n 1 r o w s , y o u w o u l d w r i t e f o r - n e x t l o o p t h a tw o u l d c o n t i n u e t p r i n t s q u a r e s o n u n d e r t h o t h e r u n t i l t h l i m i t i r e a c h e d . T h l o o p w o u l d r e a d F O l T 1 3

B e c a u s e m o s t c o m p u t e r s p r i n t f r o m t h t o l i n e d o w n w a r d s( t h a t i s w h e n t h s c r e e n i f a l l , t h e t o p l i n e i p u s h e d u t m a k em o r e r o o m , s o t h a t e v e n t h o u g h n e m a t e r i a l i a p p e a r i n g a t h b o t t o m i i r e a l l y a p p e a r i n g a t h t o o t h r e m a i n i n g s p a c e ! ) , t h w h o l e s e o f i n s t r u c t i o n s i v e r y s i m p l e :

1 F O R I = 1 T 1 2 P L O T X + I

T h e n y o c o u l d p l o t t h c o l u m n y o u w i s h t u s e :

3 P L O T Y . 1 14 N E X T

T h l i n e o b a i d r a w n i t h c u s t o m a r y r a p i d f a s h i o n .W h a t i y o u w a n t t g u p Y o s t a r t , o f c o u r s e , a t h e b o t t o m ,

l i n e 2 a n s u b t r a c t f o e a c h s t a g e o t h l o o p .2 P L O T X , 2 5 - I

T a k i n g t h i n g s s t a g e f u r t h e r , y o c a d r a w d i a g o n a l l i n e s b i n c r e m e n t i n g o d e c r e m e n t i n g n o t o n l y X b u a l s o Y

1 F O 1 = t 1 1 F O 1 = T 1 2 P L O T X . I 2 0 P L O T X . 2 5 - I

5

Page 65: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 65/226

3 P L O T Y . I 3 P L O T Y 4 N E X T I 4 N E X T Ia n s f o r t h . T h w h o l e t h i n g w o r k s j u s t l i k e g r a p h .

N o t r e t u r n t t h V I C - 2 0 . Y o w i l l r e c a l l t h a t e a c h s p o t o t h V I s c r e e n h a i t o w n u m b e r . 7 6 8 0 i t h t o l e f t c o r n e r a n 7 9 1 0 i t h c e n t e r .

Y o w i l l a l s o n d o u b t r e c a l l t h B o m b p r o g r a m i w h i c h y o m a d e t h f l y i n g o b j e c t g d i a g o n a l l y a c r o s s t h s c r e e n b i n c r em e n t i n g 7 6 8 0 b y 2 3 I n c r e m e n t i n g b 2 w o u l d b r i n g t h e o b j e c ts t r a i g h t d o w n t h l e f t - h a n d s i d e . T h p r o b l e m h e r e i t b r i n g m o r et h a n o n s y m b o l d o w n t h s c r e e n a n f o d i f f e r i n g d i s t a n c e s . I a d d i t i o n y o w a n t e a c h s y m b o l t o c c u r a l o n g s i d e i t n e i g h b o r . T h a ti w h e r e t h p r o b l e m l i e s . Y o m u s t f i n d s o m e w a t e m u l a t e t h p l o t s t a t e m e n t f o u n d o o t h e r m a c h i n e s .

C o n s i d e r t h f o l l o w i n g p r o g r a m , w h i c h d o e s t h j o w i t h t h l e m o n s , o r a n g e s a n n u t s , s t a r t i n g f r o m t h t o p .

1 ? " ( s h i f t [ C L R / H O M E ] ) "1 P O K E 3 6 8 7 9 , 81 I N P U T " H O W M A N Y L E M O N S " ; X2 P = 7 7 2 43 F O 1 = T X P O K E P , 1 : P P + 2 2 : N E X T4 0 I N P U T " H O M A N Y O R A N G E S " ; Y4 P = 7 7 2 55 F O R J = 1 T Y P O K E P , 2 : P = P + 2 2 : N E X T6 I N P U T " H O W M A N Y N U T S " ; Z6 P = 7 7 2 67 F O R Q = 1 T Z P O K E P , 3 : P = P + 2 2 : N E X T5 5 ? M ( [ c u r s o r d o w n ] ) " w h i c h p r o d u c e s a i n v e r s e t i m e s 2 T h s c r e e n g o e s d a r k a n f o e a c h i t e m l e t t e r o t h e a l p h a b e ta p p e a r s .

A l w e l l a n g o o d s f a r . W h a t y o r e a l l y n e e d n o i t m a k et h c o l u m n s c o m e u p N o d i f f i c u l t j o a a l r e a l l y . T l e a v ec o u p l e o b l a n k l i n e s a t t h e b o t t o m , u s t h a d d r e s s 8 1 2 0 a n e n t e rt h a t o l i n e 2 a s t h e v a l u e o f P . Y o c a c h a n g e l i n e s 4 a n d 6 3 t r e a d 8 1 2 1 a n 8 1 2 2 r e s p e c t i v e l y . N e x t w c h a n g e t h p l u s s i g n i l i n e s 3 0 , 5 a n d 7 0 t m i n u s s i g n s s t h a t P = P - 2 2 .

N o r u t h p r o g r a m . Y o h a v e t h c o l u m n s r u n n i n g i t h r i g h t d i r e c t i o n , a n y o m i g h t b e s a t i s f i e d t h a v e t h i t e m s l a b e l e dw i t h l e t t e r n a m e s . I y o u w i s h t p r o d u c e t h o s e p r e t t y c o l o r e d b a r s ,h o w e v e r , y o m u s t a d o n o t w t h i n g s a n d c h a n g e s o m e t h i n g .A d l i n e s :2 C = 3 8 8 4 04 C = 3 8 8 4 16 C = 3 8 8 4 2

5

Page 66: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 66/226

N o w , u s i n g y o u r c u r s o r a n d e l e t e k e y s v e r y c a r e f u l l y , a d t h f o l l o w i n g t o l i n e 3 0 : P O K E C , 2 : C = C - 2 2 a n c h a n g e P O K E P , 1 t oP O K E P . 2 2 4 . D t h s a m e f o l i n e s 5 a n d 7 0 b u u s P O K E C f o l i n e 5 0 a n d P O K E C f o l i n e 7 0

3 8 8 4 0 , 3 8 8 4 1 , a n 3 8 8 4 2 a r t h c o l o r c o d e s w h i c h m a t c h t h s c r e e n c o d e s . T h n u m b e r 2 2 f o P O K E i t h i n v e r s e o s p a c e .N o t h p r o g r a m r u n s f a i r l y s w e e t l y .

I i i m p o r t a n t t e n s u r e t h a t t h e r e i s u f f i c i e n t c o n t r a s t b t w e e n a d j a c e n t c o l o r s o e l s e t h a t t h b a c h a r t w i l l n o b a c l e a r a y o u w o u l d l i k e . I i u t y o w h a t i t e m s y o a s f o r , o f c o u r s e , a n h o m a n y . T h p r o g r a m w i l l b e c o m e l i t t l e l o n g - w i n d e d i y o h a v e

l o o f i t e m s , a n i w i l l n e e d t b r e o r g a n i z e d t m a k e i c o n v en i e n t t o u s t h w h o l e s c r e e n . T h a t w i l l b t a c k l e d i t h n e x tc h a p t e r .

C A P S U L E R E V I E WE a c h c h a r a c t e r h a a A S C I I c o d e v a l u e . T h c h a r a c t e r c a b

d i r e c t l y e n t e r e d f r o m t h k e y b o a r d o c a b c a l l e d b i t c o d en u m b e r . T h c h a r a c t e r i a c c e s s e d b t h C H R $ f u n c t i o n i t h f o r m : C H R $ ( X ) . T h u s C H R $ ( 8 2 ) i t h l e t t e r R a n C H R $ ( 3 6 ) i t h s i g n . T h i n s t r u c t i o n ? C H R $ ( 8 2 ) w i l l c a u s e t h l e t t e r t a p p e a r o t h s c r e e n .

I a d d i t i o n t l e t t e r s , n u m b e r s , o p e r a t o r s , a n m o d i f i e r s , a n c o l o r , f u n c t i o n , o c o m m a n d c a b p r o d u c e d b c a l l i n g t h C H R $a p p r o p r i a t e t t h r e q u i r e m e n t s . T h u s , ? C H R $ ( 2 9 ) w i l l c a u s e t h c u r s o r t m o v e t t h r i g h t o n s p a c e .

T h c o d e v a l u e o c a b d i v i n e d b c o m m a n d i n g t h c o p u t e r t ? A S C ( x ) w h e r e i t h a c t u a l c h a r a c t e r . T h u s ? A S C ( " R " )w i l l p r o d u c e t h n u m b e r 8 2

C H R $ ' s c a b c o n c a t e n a t e d i t h f o r m C H R $ ( X ) + C H R $ ( X ) .F u n c t i o n s c a b e c o m b i n e d w i t h c h a r a c t e r s i n t h i s f o r m , t h u s? C H R $ ( 8 2 ) + C H R $ ( 1 4 ) w i l l p r o d u c e l o w e r c a s e r I t h i s c o m a n d i i s s u e d i t h d i r e c t m o d e , e v e r y t h i n g e l s e o t h s c r e e n w i l lb g o v e r n e d a n d a f f e c t e d b t h C H R $ ( 1 4 ) c o d e .

S c r e e n e d i t i n g c o m m a n d s c a b i n c o r p o r a t e d i p r o g r a m .T h f o r m i P R I N T ( o ? f o l l o w e d b q u o t a t i o n m a r k s , t h e n t h a c t i o n ( c u r s o r d o w n , u p l e f t , o r i g h t , c l e a r s c r e e n , a n s f o r t h ) .T h r e s u l t o t h s c r e e n w i l l b i t h f o r m o f t e x t g o v e r n e d b t h o s e f u n c t i o n s i n c l u d e d a f t e r t h q u o t a t i o n m a r k s . T h e s e f u n c t i o n sp e r f o r m e d a p p e a r a s i n v e r s e c h a r a c t e r s i t h p r o g r a m l i s t i n g . T h u s" c u r s o r d o w n " a p p e a r s a a i n v e r s e l e t t e r Q T h u s m a t e r i a l a p -

5

Page 67: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 67/226

p e a r i n g o t h s c r e e n c a n b p r e s e n t e d i t h m o s t f a v o r a b l e f a s h i o na c c o r d i n g t t h p r o g r a m m e r ' s t a s t e .

I a d d i t i o n t t h c h a r a c t e r s e t s ( l e t t e r s , n u m b e r s , s y m b o l s )o f f e r e d b t h V I C - 2 0 , y o a r f r e e t d e s i g n o t h e r s a c c o r d i n g t n e e d a n t a s t e .

C h a r a c t e r s a r m a d e u o d o t s a r r a n g e d i a 8 b m a t r i x .E a c h d o i r e p r e s e n t e d b a b i n a r y d i g i t i t h f o r m o 1 E a c h l i n eo t h b y m a t r i x i t h e r e f o r e t r a n s l a t e d i n t o b i n a r y c o d e u s i n gf o s e d o a n f o a u n s e t d o t . T h a t l i n e i t h e n t r a n s l a t e d o t r a n s f o r m e d i n t o d e c i m a l n u m b e r s . E i g h t d e c i m a l n u m b e r s a r n e e d e d t d e s c r i b e t h r o w s o d o t s o n o r m a l s i z e c h a r a c t e r .

I o r d e r t p r o d u c e a l t e r n a t e , s e l f - p r o g r a m m e d i m a g e s , s p a c em u s t b r e s e r v e d i m e m o r y t a c c o m m o d a t e t h e m . T h i s i d o n e b p o k i n g s p e c i f i c a d d r e s s e s w i t h t h a p p r o p r i a t e v a l u e s . T h a r e a o R A s r e s e r v e d w i l l r e m a i n u n d i s t u r b e d b t h r e s t o t h p r g r a m f o t h e d u r a t i o n o i t u s e .

T h d e c i m a l n u m b e r s a r a c c e s s e d a n u s e d b t h p r o g r a mv i r e a d d a t a s t a t e m e n t s . T h d e c i m a l v a l u e s a r e c o n t a i n e d i t h d a t a l i n e s , w h i c h c a b a c c e s s e d r e p e a t e d l y b f o r - n e x t l o o p s .P r o l o n g e d u s e o d i f f e r e n t f o n t m a r e q u i r e s o m e f o r m o r e m i n d e rp l a c e d o t h k e t o p s .

S c r e e n d i s p l a y c a b e n h a n c e d e i t h e r b t h u s o u s e r -g e n e r a t e d g r a p h i c s o b t h u s o g r a p h i c s d r a w n f r o m t h s e t sp r o v i d e d b t h V I C - 2 0 .

H o r i z o n t a l b a c h a r t s c a b g e n e r a t e d w i t h c o n s i d e r a b l e e a s e .V e r t i c a l b a c h a r t s r e q u i r e m o r e c o m p l e x p r o g r a m m i n g t b e f f e ct i v e . T h e y a r d o n e b p o k i n g v a l u e s i n t o s c r e e n a d d r e s s e s a n d , f o c o l o r , i n t o c o l o r a d d r e s s e s .

5

Page 68: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 68/226

C h a p t e rT h b o o k h a a l r e a d y m a d e s o m e r e f e r e n c e t s u b r o u t i n e s a n p a s s i n g h i n t a b o u t t h G O S U B s t a t e m e n t . O u b a c h a r t p r o g r a m i

s u p e r b c a n d i d a t e f o s u b r o u t i n e s a s t h e r e i g o o d d e a l o r e p e t it i o n o o n p a r t i c u l a r f e a t u r e i a l o n g v e r s i o n o t h p r o g r a m . I y o w e r e t r e p e a t t h e c o n t e n t s o l i n e 3 f o e a c h a n e v e r y t i m e y o w i s h e d t a d a i t e m , n o o n l y w o u l d t h p r o g r a m m i n g b e c o m et e d i o u s , b u i w o u l d a l s o f a i l t m a k e u s o t h m a i n a d v a n t a g e o a n c o m p u t e r , c o n v e n i e n c e ! B e s i d e s , y o u w o u l d u s u g r e a t d e a lo p r e c i o u s R A l e a v i n g v e r y l i t t l e f o o t h e r p u r p o s e s .U S I N G S U B R O U T I N E S

T h p r o b l e m i p u t t i n g t h r e p e a t e d m a t e r i a l i s u b r o u t i n e i i i n c r e m e n t i n g v a l u e s . O n t h i n g t h e c o m p u t e r d o e s v e r y w e l l i t k e e p c o u n t ! T h p r o c e d u r e i v e r y s i m p l e . F i r s t v a r i a b l e , l e u s a X X i a s s i g n e d t h v a l u e 0 A s o m e c o n v e n i e n t p o i n t i o u s u b r o u t i n e , y o c a i n c r e m e n t t h c o u n t e r b 1 X X = X X + 1 . T h c o u n t e r c o u l d s e r v e t l i m i t t h n u m b e r o i t e m s y o c a d i s p l a yi n f o r m a t i o n f o o t h e s c r e e n . A t h e r e a r 2 c o l u m n s o t h V I C - 2 0 a n a i w o u l d l o o k n e a t e r n o t t u s t h e n t i r e s c r e e nw i d t h , y o c o u l d l i m i t t h v a l u e f o X t t o t a l o a p p r o x i m a t e l y1 5 T h i s w i l l l e a v e r o o m f o s o m e t e x t t e l l i n g w h a t t h b a c h a r t i s u p p o s e d t r e p r e s e n t o s o m e f i g u r e s i n d i c a t i n g m o n t h s , y e a r s ,t e m p e r a t u r e , t o t a l d o l l a r s a l e s , o w h a t - h a v e - y o u .

5

Page 69: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 69/226

T h c o u n t e r c a d s o m e o t h e r w o r k . E a c h t i m e y o u w i s h t m o v e t h c o l o r e d b a r o v e r o n p l a c e , y o h a v e t e n t e r n e v a l u ef o t h s c r e e n a n c o l o r c o d e s . A y o c a s e f r o m t h p r e v i o u sp r o g r a m , t h i n c r e m e n t a t i o n i b e a c h t i m e . A f t e r y o h a v ei n c r e m e n t e d X b 1 y o c a p u i l i n e t h a t s a y s P = P + X X a n C = C + X X . T h i s w i l l d t h i n c r e m e n t i n g f o y o u !

C R E A T I N G F L O W C H A R TI d e v e l o p i n g p r o g r a m , i i g o o d p l a n t p r o d u c e f l o w

c h a r t . I n e e d n o b t r e m e n d o u s l y d e t a i l e d , b u i s h o u l d b s u f f ic i e n t t a l l o w y o t c o m p a r t m e n t a l i z e t h v a r i o u s c o m p o n e n t s o t h p r o g r a m . C l e a r l y y o n e e d t w t y p e s o s e c t i o n s f o t h b a c h a r t p r o g r a m : o n s e c t i o n t h a t a s k s f o i n p u t a n a n o t h e r s e c t i o nt h a t p r o c e s s e s t h i n f o r m a t i o n a n p r e s e n t s i i r e a d i l y u n d e rs t a n d a b l e f a s h i o n .

A f l o w c h a r t c o m m o n l y c o n s i s t s o l o o f a n c y b o x e s w i t h l i n e sd r a w n b e t w e e n t h e m i v a r i o u s w a y s . T h i s i f i n e , e v e n e s s e n t i a l ,f o l o n g a n i n v o l v e d p r o g r a m , b u f o o u c u r r e n t p u r p o s e s , as i m p l e f l o w c h a r t w i l l d o I w i l l c o n s i s t o j u s t t w p a r t s :

I N P U T M O D U L E P R O C E S S I N G A N P R I N T I N G M O D U L E

A i s t a n d s t h f l o w c h a r t m o v e s i o n d i r e c t i o n o n l y a n d d o e sn o i n d i c a t e t h a t t h e r e a r e r e p e a t e d r e t u r n s t t h i n p u t m o d u l e .N o n e t h e l e s s e a c h m o d u l e , c a n b w o r k e d u p o n s e p a r a t e l y w i t h o u tg e t t i n g i t h w a o t h o t h e r o n e .

I s e e m s r e a s o n a b l e t b e g i n w i t h t h i n p u t m o d u l e , w h i c hb e g i n s i m u c h t h s a m e f a s h i o n a o u p r e v i o u s p r o g r a m d i d .

P R I N T " ( [ C L R H O M E ] ) "1 P = 8 1 2 01 C = 3 8 8 4 02 0 I N P U T " H O M A N Y I T E M S " ;4 I N P U T " I T E M 1 N A M E " ; A 4 5 I N P U T " Q U A N T I T Y " ; N5 G O S U B 5 0 0 0

T h i s i q u i t e a g o o d s t a r t . Y o h a v e c l e a r e d t h e s c r e e n a n p u t h c u r s o r i i t p l a c e . Y o h a v e s e v a l u e s f o t h e s p o t y o u w i s h t h d i s p l a y t s t a r t a t Y o h a v e t w s e t s o i n p u t o n t h a t d e l i n e a t e st h t o t a l n u m b e r o i t e m s a n o n t h a t a l l o w s y o t n a m e t h i t e mt y p e a n i t q u a n t i t y . Y o a l s o h a v e t h i m p o r t a n t G O S U B s t a t em e n t .

5

Page 70: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 70/226

Page 71: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 71/226

t h i n p u t q u e s t i o n m a r k s c l u t t e r u t h b a r s . T a v o i d t h i s h a v e s e t h s c r e e n a n c o l o r c o d e s a 8 1 2 8 a n 3 8 8 4 8 f o t h s u b r o u t i n e i t h f o l l o w i n g , m u c h t i g h t e r v e r s i o n .

Y o w i l l h a v e r e a l i z e d t h a t n o o n l y c a y o r e p e a t t h d i s p l a yp o r t i o n o t h p r o g r a m b u y o c a a l s o r e p e a t t h i n p u t m o d u l e ,t h e r e b y s a v i n g l o o t i m e ! H e r e i t h s h o r t e n e d v e r s i o n o o u p r o g r a m :

P R I N T ( [ C L R H O M E ] ) "1 P = 8 1 2 81 C = 3 8 8 4 82 P R I N T " H O W M A N Y I T E M S D Y O W I S H T D I S P L A Y ? "3 I N P U T4 P R I N T " ( [ C L R H O M E ] ) "5 P R I N T " I T E M N A M E Q U A N T I T Y " ( S p a c e a c c o r d i n g t y o u r

n e e d s )6 F O R W = 1 T O A7 I N P U T A 8 I N P U T5 0 0 0 X X = X X + 15 1 0 0 F O R I = 1 T O N : P O K E P , 2 2 4 : P O K E C , 2 + X X : P = P - 2 2 : C = C - 2 2 : N E X T5 1 2 0 P = 8 1 2 8 + X X : C = 3 8 8 4 8 + X X5 2 0 0 N E X T W5 6 0 0 E N

T h i s l o o k s f i n e , a n y e t h e r e i s m a l l b u g ! I y o a t t e m p t t d e a l w i t h m o r e t h a n t h s c r e e n c a n h a n d l e t h c h i l l i n g m e s s a g eR E D O F R O M S T A R T p o p s o n t h s c r e e n . Y o s e e , a s o o n a t h q u e s t i o n m a r k s r e a c h t h s a m e l i n e a t h e t o p o t h e h i g h e s t b a r , t h V I C - 2 0 t h i n k s i h a n o w h e r e e l s e t o g o

Y o w i l l h a v e n o t i c e d , o c o u r s e , t h a t t h G O S U B h a d i s a pp e a r e d f r o m o u p r o g r a m a n h a b e e n r e p l a c e d b f o r - n e x t l o o p .Y o m a f e e l j u s t i f i e d i b e i n g v e r y a n n o y e d a b e i n g l e u

b l i n d a l l e y . T h i s o f t e n h a p p e n s i p r o g r a m m i n g , a n t h w o u l d - b ep r o g r a m m e r m u s t b p r e p a r e d t o t r y n u m b e r o d i f f e r e n t m e t h o d sb e f o r e c o m i n g u w i t h o n t h a t i t o t a l l y s a t i s f a c t o r y .

D E A L I N G W I T H P R O G R A M M I N G P R O B L E M ST h e r e a r t i m e s w h e n p r o g r a m m i n g c a b u t t e r l y f r u s t r a t i n g .

T h p r o g r a m j u s t w i l l n o r u n , a n d a n y e f f o r t s t m a k e i d s a r f r a u g h t w i t h d i s a s t e r a n d i s a p p o i n t m e n t . O n t i m e w a w o r k i n go p r o g r a m a n s u d d e n l y t h c o m p u t e r s e e m e d t g m a d . h a b e e n a d d i n g i m p r o v e m e n t s t s h o r t s e c t i o n o r o u t i n e , c o n s t a n t l yl i s t i n g a n r u n n i n g t h s e c t i o n . S u d d e n l y w a n l o n g e r a b l e t r u t h p r o g r a m , a l c o u l d g e t w a l i s t i n g ! l i s t e d s m a l l s e c t i o n s o ft h r o u t i n e , e x a m i n i n g e a c h p a r t v e r y c a r e f u l l y , a n c o u l d s e n

6

Page 72: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 72/226

p r o b l e m . M p r o g r a m b e g a n a l i n e 1 0 a n s w o u l d c o m m a n d t h c o m p u t e r t l i s t f r o m t h a t l i n e n u m b e r . S t i l l n c a u s e w a o b v i o u s !I e x a s p e r a t i o n l i s t e d o n c e m o r e , m e a n w h i l e k e e p i n g m f i n g e r o t h C T R L k e y . T h e n s a i t T h e r e a t h b e g i n n i n g o t h p r o g r a mw a l i n e n u m b e r 1 I r e a d : L I S T ! S o m e h o w i m h a s t e h a t o u c h e d k e b e f o r e i n s t r u c t i n g t h c o m p u t e r t l i s t . I h a t h u sb e e n e n t e r e d a p a r t o m p r o g r a m . E a c h t i m e r a n t h e p r o g r a m t h c o m p u t e r w o u l d f o l l o w t h i n s t r u c t i o n t t h l e t t e r !

T h i s s o r t o t h i n g h a p p e n s w h e n y o a r t i r e d , a n t h b e s tt h i n g t d i s t o p t h s e s s i o n , f i r s t s a v i n g t h w o r k y o h a v e d o n e ,a n c o m e b a c k t i w h e n y o a r f r e s h .

I t h p r e s e n t i n s t a n c e , y o h a v e a c c o m p l i s h e d s o m e t h i n g : y o h a v e l e a r n e d h o t m a n a g e a b a r c h a r t p r o g r a m t h a t c a a c c o m m od a t e a f e i t e m s , a n y o a r o t h w a t p r o d u c i n g t y p e o p r o g r a m t h a t c a c o s t l o o m o n e y i b o u g h t c o m m e r c i a l l y , t h d a t a b a s e p r o g r a m !

I i l i t t l e a n n o y i n g , h o w e v e r , t h a t w i t h y o u r p r e s e n t r s o u r c e s , y o c a n n o t c l e a n u t h a c s t h a t y o c a u s t h w h o l es c r e e n . O b v i o u s l y t h e r e m u s t b s o m e w a y , c o m p u t e r s c a d a n y t h i n g !

A t h b e g i n n i n g o t h i s b o o k , m e n t i o n e d t h a t t h k e y b o a r da n T w e r e d e v i c e s w i t h s p e c i f i c f u n c t i o n s . C l e a r l y , t h c o m p u t e rm u s t k n o w w h i c h i w h i c h a n d b a b l e t d i s t i n g u i s h b e t w e e ni n f o r m a t i o n p r e s e n t e d t i b t h k e y b o a r d a n d t h a t w h i c h i a l r e a d yh a i n s i d e i t h e a d . I t h e r e s o m e w a w c a n a c c e s s t h i s a b i l i t y t d i s t i n g u i s h b e t w e e n d e v i c e s ?

U T I L I Z I N G D E V I C E SY e s , t h e r e i s Y o w i l l p r o b a b l y a l r e a d y b a w a r e o t h f a c t t h a t

v a r i o u s d e v i c e s c a n b a t t a c h e d t t h c o m p u t e r . T w o t h e m y o a l r e a d y h a v e : t h T a n t h D a t a s e t t e . I n a d d i t i o n y o c a a t t a c hp r i n t e r a n a d i s k d r i v e , t h l a t t e r b e i n g a r e c o r d i n g d e v i c e t h a to p e r a t e s f a s t e r t h a n t h D a t a s e t t e .

I i n o s u f f i c i e n t t a t t a c h t h e s e d e v i c e s . O n m u s t a l s o t e l lt h c o m p u t e r w h i c h d e v i c e i b e i n g ' t a l k e d t o " . F o t h i s , y o n e e dt k n o w t h d e v i c e n u m b e r . T h p r i n t e r a n d i s k d r i v e w i l l b d e a l tw i t h l a t e r , b u w h a t y o u a r g o i n g t d n o w i l l s e r v e w e l l f o r t h a tt i m e w h e n i c o m e s . E a c h d e v i c e t h a t c a b a t t a c h e d h a n u m b e rt h a t i r e c o g n i z e d b t h V I C - 2 0 . B e f o r e y o c a u s t h i s n u m b e r ,h o w e v e r , y o m u s t o p e n a c h a n n e l o c o m m u n i c a t i o n . I i r a t h e rl i k e l i f t i n g t h t e l e p h o n e b e f o r e y o d i a l o s w i t c h i n g o t h r a d i ob e f o r e t u n i n g i t t h s t a t i o n y o w i s h t h e a r . T h s t a t e m e n t t b 6

Page 73: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 73/226

u s e d i s i m p l e : O P E N f o l l o w e d b f i l e n u m b e r a n d e v i c en u m b e r .

I t h i s c a s e , y o w i s h t r e a d t h k e y b o a r d , s t o r i n g t h i n f o rm a t i o n t h a t t h u s e r e n t e r s a n d , m o r e i m p o r t a n t l y , u s i n g i w i t h o u td i s t u r b i n g w h a t i a b o u t t a p p e a r o t h s c r e e n . T h k e y b o a r dd e v i c e n u m b e r i s 0 . T h s t a t e m e n t w i l l t h u s b i t h f o r m O P E N1 , 0 .

T h f o r m a t o t h i n p u t w i l l b l i t t l e d i f f e r e n t . P e r h a p s y o m i g h t h a v e a l r e a d y t r i e d t u s s h o r t h a n d f o I N P U T b t y p i n gt h e n S H I F T N I y o h a v e , y o w i l l k n o w t h a t i w i l l n o w o r k .T h e r e i n s h o r t h a n d f o I N P U T , h o w e v e r , S H I F T d o e s g i v ey o u I N P U T # !T h i s i t h v e r y t h i n g y o n e e d ! T y p e I N P U T # 1 , y o u r n u b e r s w i l l a p p e a r o t h s c r e e n , b u t h e r e w i l l b n p r o m p t , a n t h n u m b e r s w i l l b r u n n i n g a c r o s s t h e t o o t h s c r e e n w e l l o u o t h w a y . L o o k a c l e a n e d u v e r s i o n o t h p r o g r a m w i t h I N P U T # .

" ( [ C L R H O M E ] ) 1 11 P = 8 1 2 2 : C = 3 8 8 4 2 ( Y o u c a m o v e y o u r b a r s t t h l e f t n o w ! )2 ? M H 0 W M A N Y I T E M S D Y O W I S H T D I S P L A Y ? "3 I N P U T ( Y o u h a v e n o y e o p e n e d f i l e s y o u s I N P U T )3 T ' ( [ C L R H O M E ] ) 1 '4 O P E N 1 , 0 ( Y o u r f i l e i o p e n a n d t h e k e y b o a r d , 0 i b e i n g c a l l e d )5 X X = 06 F O R W = 1 T O A ( T h e l o o p c o u n t s u t t h t o t a l n u m b e r o i t e m s )7 I N P U T # 1 , N ( H e r e i o u n e i n s t r u c t i o n )1 0 X X = X X + 1 ( T h i s i o u c o u n t e r v a r i a b l e )1 1 F O R I = 1 T O N : P O K E P , 2 2 4 : P O K E C , 2 + X X : P = P - 2 2 C = C - 2 2 : N E X T I1 2 P = 8 1 2 2 + X X : C = 3 8 8 4 2 + X X1 3 N E X T W1 4 E N

N o t h p r o g r a m r u n s s w e e t l y . Y o c a g i v e a n v a l u e u t 1 w i t h o u t r u n n i n g i n t o t h t o o t h s c r e e n o t h n u m b e r s y o a r e n t e r i n g . T h v a r i a b l e c a b g i v e n a n v a l u e u t 1 b e f o r ef u n n y t h i n g s b e g i n t h a p p e n . T r e n t e r i n g 1 i t e m s a n d w a t c h h o t h s c r e e n b e h a v e s !

H o w e v e r w e l l t h e p r o g r a m s e e m s t w o r k , t h e r e i s t i l l s m a l lf e a t u r e t h a t i s o m e w h a t a n n o y i n g . N o t i c e t h a t t h s e v e n t h b a rs e e m s t b m i s s i n g . I t i s n ' t ! Y o c a n n o t s e i f o t h s i m p l e r e a s o nt h a t i i w h i t e o w h i t e b a c k g r o u n d !

T h v a r i a b l e X i n o t o n l y u s e d t i n c r e m e n t t h s c r e e nl o c a t i o n o l i n e 1 2 0 , i i a l s o u s e d t i n c r e m e n t t h c o l o r c o d e . T h f i r s t c o l o r t a p p e a r i c y a n . T h c o l o r s a r i n c r e m e n t d b y o n e u n t i lt h e y r e a c h y e l l o w a n t h e n r e c y c l e b a c k t b l a c k ( w h i c h i s n ' ta c t u a l l y c o l o r ) . T h n e x t c o l o r i w h i t e .

6

Page 74: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 74/226

N o w , e i t h e r y o r e m a i n h a p p y w i t h t h f a c t t h a t t h s e v e n t hi t e m h a s n v i s i b l e b a r o r f i n d s o m e w a t a v o i d t h p r o b l e m . O n w a t a v o i d w h i t e i v e r y s i m p l e : 1 0 X X = X X + 2 . N o y o c a e n t e r m o r e t h a n s e v e n i t e m s w i t h o u t o n o t h e m b e i n g s u b j e c t t ow h i t e - o u t ! B u s o m e t h i n g e l s e h a p p e n s ! T h b a r s a r n o s p a c e d ! I y o w i s h , y o c o u l d s t a r t t h c o l u m n s a a d d r e s s e s 8 1 2 0 a n 3 8 8 4 0 ,t h u s a l l o w i n g s i n g l e d i g i t n u m b e r s t a p p e a r a b o v e t h c o l u m n s t h e yr e p r e s e n t . D o u b l e d i g i t n u m b e r s w i l l g e t h i n g s o u o k i l t e r , h o e v e r . T h n u m b e r o c o l u m n s o b a r s t h a t c a n a p p e a r o t h s c r e e ni a l s o r e d u c e d .

J u s t f o p r a c t i c e , c h a n g e t h b a c h a r t p r o g r a m t p r o d u c eh o r i z o n t a l b a r s u s i n g I N P U T # l , 0 . F i n a l l y , a d l i n e 1 3 t c l o s e t h c h a n n e l : 1 3 C L O S E 1

T h i n f o r m a t i o n y o h a v e l e a r n e d t h u s f a c a b u s e d i c r e a t i n g d a t a b a s e p r o g r a m . B e f o r e y o t a c k l e s u c h l a r g e j o h o w e v e r , t h e r e a r n u m b e r o o t h e r t r i c k s y o m u s t t e a c h y o u rV I C . O n o t h e m y o h a v e a l r e a d y e n c o u n t e r e d b u n o d i s c u s s e d a a n l e n g t h : D I M A $ ( X ) , t h d i m e n s i o n e d a r r a y . W h i l e y o a r d e a li n w i t h a f a c e t o D I M , y o m i g h t a w e l l d e a l w i t h s o - c a l l e da r t i f i c i a l i n t e l l i g e n c e , j u s t s t h a t y o c a s e h o d u m b c o m p u t e r sr e a l l y a r e .

U S I N G A R R A Y ST h p r o b l e m y o u a r g o i n g t g i v e t t h c o m p u t e r i r e m i n i s

c e n t o t h o l c o n t e n t i o n t h a t i y o g i v e 1 0 m o n k e y s t y p e w r i te e a c h a n e n o u g h t i m e , t h e y w i l l e v e n t u a l l y c o m e u w i t h t h e n t i r e w o r k s o S h a k e s p e a r e !

? " ( [ C L R H O M E ] ) "1 D I M A $ ( 2 0 )3 G O S U B 5 0 13 F O R D 1 T 1 0 0 0 : N E X T D4 ? A $ ( 1 ) + A $ ( 3 ) + A $ ( 1 0 ) + A $ ( 1 ) + A $ ( 4 )4 C = 5 F O R I = 1 T O 7 J = I N T ( R N D ( 1 ) * 2 0 ) + 18 Z $ = A $ ( J )9 ? Z $ ;1 0 N E X T1 0 1 0 C = C + 11 1 F O R D = 1 T 2 0 0 0 N E X T D1 1 I F C > = 5 T H E N E N 1 2 G O T O 5 05 0 A $ ( 1 ) = " T H E "5 0 A $ ( 2 ) = " A N D "5 0 3 A $ ( 3 ) = " C A T "

6

Page 75: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 75/226

5 0 A $ ( 4 ) = M D O G "5 0 A $ ( 5 ) = " R A I N "5 0 A $ ( 6 ) = " R O T T E N "5 0 A $ ( 7 ) = " R E D "5 0 A $ ( 8 ) = " G R E E N "5 0 A $ ( 9 ) = " B R O W N "5 1 A $ ( 1 0 ) = " B I T E S "5 1 A $ ( 1 1 ) = " G R O W L S "5 1 2 A $ ( 1 2 ) = t 4 M E O W S '5 1 A $ ( 1 3 ) = " A T "5 1 A $ ( 1 4 ) = " R U N S "5 1 A $ ( 1 5 ) = " B A R K S "5 1 A $ ( 1 6 ) = " A R O U N D "5 1 A $ ( 1 7 ) = " S C R A T C H E S "5 1 8 A $ ( 1 8 ) = " E A T S "5 1 A $ ( 1 9 ) = " F R O M "5 2 A $ ( 2 0 ) = " F A L L S l f6 0 R E T U R N

T h p r o g r a m b e g i n s b d e c l a r i n g a d i m e n s i o n f o A $ , a l l o w i n gu t 2 v e r s i o n s o A t e x i s t . T h G o s u b r e a d s t h a r r a y s f r o ml i n e 5 0 o n w a r d s a n t h e n r e t u r n s t p r i n t o u c o n c a t e n a t e d g r o u pw h i c h w h a v e d e t e r m i n e d b e f o r e h a n d . T h i s s h o w s h o i c o u l d b d o n e .

N e x t w h a v e s o m e t h i n g w h a v e n o t y e t d e a l t w i t h : R N D .L i n e 7 a s k s t h V I C - 2 0 t o s e l e c t a r a n d o m f r o m t h e n t i r e l i s t o A $ ( X ) . I d o e s t h i s b f i r s t s e l e c t i n g n u m b e r b e t w e e n a n 2 0 I t h e n i d e n t i f i e s t h i s n u m b e r b t h v a r i a b l e J i t h e n u s e d a t h s u b s c r i p t t A $ ( X ) a n t h r e s u l t i c a l l e d Z $ Z i t h e n p r i n t e d .T h e V I C i i n s t r u c t e d t o d t h i s i n g r o u p s o f i v e b m e a n s o f o r - n e x t l o o p , a n t h e n t l e a v e a l i t t l e g a p a n d d i a l o v e r a g a i n .T h t o t a l n u m b e r o t i m e s t h i s i d o n e i l i m i t e d b c o u n t i n g u t f i v e . A s o o n a f i v e i r e a c h e d t h p r o g r a m s t o p s .

W h e n y o r u t h p r o g r a m y o u w i l l s e t h a t t h c o m p u t e rp r i n t s m o s t l y g a r b a g e . T h c o m p u t e r c a n n o t o i t s e l f r e c o g n i z e t h d i f f e r e n c e b e t w e e n p a r t s o f s p e e c h . Y o n e e d t a d f e t h i n g s t a l l o w i t d t h i s . ( F o r y o u r t y p i n g c o n v e n i e n c e , y o w i l l f i n d t h c o m p l e t e l i s t i n g i n A p p e n d i x N p r o g r a m 4 1 . )

1 D I M B $ ( 2 0 )2 D I M C $ ( 2 0 )2 D I M D $ ( 2 0 )

D e l e t e l i n e 5 0 a n d l i n e 1 0 0 , l i n e s 1 1 a n 1 2 0 , a n l i n e s 8 a n 9 0 T h e n :1 2 I F C > = 2 5 T H E N E N D1 3 Z $ = A $ ( J ) : P R I N T Z $ ;

6

Page 76: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 76/226

4 1 P R I N T f l $ < 9 ) ; " C H E f l P4 2 0 P R I N T " T H E • f l $ < 4 > ; " ' S ; f l * < 1 0 >4 3 0 P R I N T " B R I G H T E N E D , H I " f l * < l l ) ;4 4 0 P R I N T " W I D E N E D f l N D H " ; f l $ < i 3 > ;4 5 F O R D * 1 T O 9 0 6 0 : N E X T D4 6 9 P R I N T " f l T R U L Y f l M f l Z E D , S f l I D T H " ; f l $ < 4 > ;4 7 0 P R I N T " M U S T G f l N D G E S O M E " 4 3 P R I N T f l $ < 1 4 > ; " T H E V W I L L H E L P M 4 9 P R I N T f l $ < 1 5 > ; " " f l $ ( 1 6 > ;5 0 0 P R I N T " W I L L C O M E W I T H Y O f l N D S E I 5 1 P R I N T " T H E Y F I T , S f l I D T H " f l * < l > ;5 2 F O D = 1 T O 9 0 0 0 ' N E X T D5 3 P R I N T " . ! "5 4 P R I N T " f l S T H E V " ; f l $ < 1 7 > ;5 5 P R I N T " I N T O T H " f l $ < 1 6 > ;5 6 0 F O R D « 1 T O 2 0 0 0 : N E X T D5 7 P R I N T ' - P R I N T : P R I N T " T H E Y5 8 0 P R I N T : P R I N T : P R I N T f l $ < 1 9 > ; " ! "5 9 F O R D = 1 T O 2 0 0 0 : N E X T D6 0 P R I N T : P R I N T : P R I N T - P R I N T " T H E E N D ! "

T h i s p r o g r a m d e m o n s t r a t e s t h v a l u e o d i m e n s i o n e d a r r a y sa n t h a b i l i t y t p r i n t t h e m w h e r e v e r y o w i s h i t h p r o g r a m . I s e n s e i i a e x t e n s i o n o t h v e r y f i r s t p r o g r a m y o u w r o t e , w h i c ha s k e d f o n a m e s a n p r i n t e d t h e m o u t .

Y o c a n w r i t e a m a n y s t o r i e s a y o l i k e t f i t h e r e q u i r e dw o r d s , p e r h a p s e v e n u s i n g e x a c t l y t h s a m e w o r d s t h a t t h u s e rt y p e s f i t t e d i n t o v a r i e t y o f s t o r i e s . Y o c o u l d , f o e x a m p l e , h a v et e s t o r i e s a l o w h i c h c a l l f o t h s a m e p a r t s o s p e e c h i t h s a m eo r d e r . T h i n p u t s e c t i o n w o u l d b r e q u i r e d o n l y o n c e i y o u r p r g r a m . T h s t o r i e s c o u l d e a c h b e g i n a 5 0 0 , 6 0 0 , 7 0 0 , a n s o a n t h V I C - 2 0 w o u l d t h e n r a n d o m l y s e l e c t t h e s t o r y t w h i c h t h w o r d sw o u l d b f i t t e d . F o p a r t y t h e r e w o u l d b s u f f i c i e n t v a r i e t y t k e e pp e o p l e l a u g h i n g a n g r o a n i n g f o q u i t e s o m e t i m e .

T a k i n g t h i n g s j u s t s t a g e f u r t h e r , i w o u l d b p o s s i b l e t b u i l dw h o l e s e r i e s o s t r i n g a r r a y s , e a c h l a b e l e d w i t h v a r i a b l e a c c o r d

i n t w h e t h e r i i v e r b , n o u n , o a a d j e c t i v e , a n s o n T h c o m p u t e r w o u l d t h e n s e l e c t f r o m e a c h o t h e s e l i s t s a r a n d o m a n i n s e r t t h s e l e c t e d w o r d i n t o t h s t o r i e s i t s e l f . S u c h p r o g r a mc o u l d f a s c i n a t e f o l k w h a r n o f a m i l i a r w i t h c o m p u t e r s f o h o u r s .

T h p r o g r a m w o u l d r u i r e v e r s e t t h o n e y o u h a v e j u s tw r i t t e n : y o w o u l d i n p u t t h s t o r y b u i n d i c a t e b c o d e w h a t p a r t o fs p e e c h y o w i s h t u s e . T h c o m p u t e r t h e n p r i n t s y o u r s t o r y w i t ht h r a n d o m l y s e l e c t e d p a r t s o f s p e e c h . T h i s l o o k s v e r y m u c h l i k ea r t i f i c i a l i n t e l l i g e n c e a f i r s t s i g h t . I i n o t h i n g o t h k i n d , o c o u r s e . A r t i f i c i a l i n t e l l i g e n c e r e q u i r e s m u c h m o r e s o p h i s t i c a t e dp r o g r a m m i n g t e c h n i q u e s t h a n t h o s e w h i c h y o u h a v e a y o u r c u r r e n td i s p o s a l . S u c h p r o g r a m s a l s o t a k e l o t s o t i m e t w r i t e !6

Page 77: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 77/226

F o t h m o m e n t , y o c a i n t r o d u c e v e r y s i m p l e p r o g r a m t g e s o m e p r a c t i c e i t h u s o D I a n R N D . A t h s a m e t i m e y o c a p r a c t i c e t h p r o c e s s o t o p - d o w n p r o g r a m d e v e l o p m e n t .

M a n y t e x t s o p r o g r a m m i n g u r g e t h b e g i n n e r t d r a w m a o f l o w c h a r t o t h p r o g r a m . F o l o n g a n c o m p l e x p r o g r a m s , t h i s i v e r y g o o d a d v i c e . H o w e v e r , i i a l s o g o o d p l a n t o p r a c t i c e t h a r o p r o g r a m d e v e l o p m e n t a t h c o m p u t e r . A n p r o g r a m y o w r i t ew i l l c o n s i s t o f c o m p o n e n t p a r t s t h a t p e r f o r m s p e c i f i c f u n c t i o n s .E a c h p a r t c a b s i n g l e d o u f o d e v e l o p m e n t a t h k e y b o a r d .

T h f i r s t t h i n g t d i t d e f i n e t h p r o b l e m . T h p r o g r a m t b c r e a t e d w i l l a l l o w g u e s t s a p a r t y t e n t e r t h e i r n a m e s . T h n a m e s w i l l b s o r t e d a n u l t i m a t e l y r e t r i e v e d f r o m s t o r a g e f o w h a t e v e r p u r p o s e y o w i s h . I c o u l d b t h a t y o u w i s h t o f f e r d o o rp r i z e a s o m e f u n c t i o n o o t h e r , o m a y b e y o w o u l d j u s t l i k e t h a v et h f i r s t e l e c t r o n i c v i s i t o r s - b o o k o t h b l o c k . M a y b e y o w i s h t k e e p t r a c k o a t t e n d a n c e a s o c i e t y m e e t i n g s o k e e p a c c o u n t o d o n a t i o n s o d u e s .

O b v i o u s l y t h f i r s t p a r t o y o u r p r o g r a m w i l l a l l o w g u e s t s t e n t e r t h e i r n a m e s . I n a s m u c h a t h e r e i n n e e d t v i e w t h f i l eb e f o r e e v e r y o n e h a r e g i s t e r e d , t h e r e i n n e e d t a l l o w f o t h i s .B u t y o u c a l e a v e s p a c e f o s u c h f e a t u r e i c a s e y o w i s h t a d i l a t e r .

T h s e c o n d p a r t o f t h p r o g r a m w i l l a l l o w y o t v i e w t h f i l eb p r i n t i n g i o t h s c r e e n v e r y s l o w l y . Y o c o u l d i n c l u d e m e n u t a l l o w y o t o s e l e c t t h p r i n t o u t w h e n y o a r e r e a d y .

T h f i r s t p a r t o y o u r p r o g r a m i a l r e a d y d o n e ! Y o h a v e t h v e r y t h i n g i t h n a m e s p r o g r a m o p a g e 1 9 Y o s h o u l d i n c r e a s et h e v a l u e o t h l i n e n u m b e r s h o w e v e r , j u s t t g i v e y o u r s e l f s o m er o o m t w o r k .

1 ? " [ C L R H O M E ] "2 T E N T E R N A M E S P R E S S A 3 ? T D I S P L A Y N A M E S P R E S S B 4 I N P U T A $5 I F A $ = " B " T H E N 2 5 01 0 I N P U T ' H O W M A N Y N A M E S " ; N1 0 ? " [ C L R H O M E ] "1 1 D I M A $ ( N )1 2 F O R I = 1 T O N : I N P U T A $ ( I )1 3 ? 4 < [ C L R H O M E ] "1 4 N E X T I1 5 ? " ( [ c u r s o r d o w n ] t i m e s 7 [ c u r s o r r i g h t ] t i m e s 4 ) N O W S O R T I N G "1 6 F O R I = 1 T O N - 11 7 I F A $ ( l + 1 ) > = A $ ( l ) T H E N 2 0 01 8 B $ = B $ ( I + 1 ) : A $ ( I + 1 ) : A $ ( I )1 9 A $ ( l ) = B $ : G O T O 1 6 0

6

Page 78: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 78/226

2 0 N E X T2 0 G O T O 1 2 5 ? " [ C L R H O M E ] "2 5 ? " W H A T I T H E P A S S W O R D ? "2 6 I N P U T X S2 7 I F X $ o " J I M ' T H E N 4 0 3 0 ? " [ C L R H O M E ] "3 0 F O R I = 0 T O N + 1 : ? A $ ( l ) : ?3 1 F O R D = 1 T O 2 0 0 0 : N E X T D : N E X T I4 0 ? " W R O N G P A S S W O R D " : G O T O 2 5 5

T h i s p r o g r a m i e s s e n t i a l l y t h s a m e a t h p r e v i o u s s o r t i n gp r o g r a m . H o w e v e r , y o u h a v e t h e c h o i c e a t w h e t h e r y o w i s h t e n t e r o l i s t t h n a m e s . I c a s e t h e r e i s o m e n e e d f o s e c u r i t yv e r y s i m p l e p a s s w o r d d e v i c e i i n c l u d e d . I t h i s c a s e t h n a m e J I Ma l l o w s y o t s e t h l i s t . T h p a s s w o r d c a b a n y t h i n g y o l i k e , o c o u r s e . Y o c o u l d u s t e l e p h o n e n u m b e r o b i r t h d a y l i s t e d a s s e o n u m b e r s , a i 7 4 1 9 3 8 , p e r s o n a l v i t a l s t a t i s t i c s , s u c h a 3 6 2 2 3 6 ,o e v e n t w p a r t p a s s w o r d ; o n p a r t b e i n g c o n s i s t i n g o l e t t e r s a n t h e o t h e r o n u m b e r s .

T h e r e i s o f c o u r s e , t h d a n g e r t h a t s o m e o n e w h i f a m i l i a rw i t h c o m p u t e r s w i l l k n o w h o t l i s t t h p r o g r a m a n t h u s f i n d o u t h p a s s w o r d . Y o c o u l d t r f e s i m p l e t r i c k s s u c h a s h i f t i n g t h l e t t e r s J I a y o e n t e r t h e m o l i n e 2 7 0 . T h i s m e a n s t h a t i y o j u s t t y p e J I M , y o w i l l g e t t h e m e s s a g e o l i n e 4 0 0 . Y o c o u l d a l s op u t s p a c e s b e t w e e n t h l e t t e r s . A e x p e r i e n c e d i n d i v i d u a l w i l lc r a c k w h a t e v e r c o d e y o c a r e t t h i n k o b u m o s t f o l k w i l l n o t . A n b t h t i m e m o s t f o l k d k n o w w h a t t d o y o w i l l b a t h o r o u g h l ye x p e r i e n c e d p r o g r a m m e r y o u r s e l f a n w i l l h a v e m a s t e r e d m e t h o d so k e e p i n g p r o g r a m s s e c u r e .

F o r t h e m o m e n t , h o w e v e r , y o h a v e p r o b l e m y o u r s e l f ! L e t ' ss a t h p a r t y i o v e r , t h g u e s t s h a v e g o n e h o m e , a n y o h a v es a v e d t h i n f o r m a t i o n o t a p e . T h n e x t d a y o l o a d t h p r o g r a ma n r u i t Y o c h o o s e t h m o d e t o p r i n t o u t h n a m e s , a n n o t h i n g h a p p e n s !

N o y o k n o w t h a t t h i n f o r m a t i o n i s t o r e d o t a p e o s h o u l db e b u n m a t t e r h o m a n y t i m e s y o r u t h p r o g r a m , t h n a m e sy o w e n t t s u c h t r o u b l e t c o l l e c t d n o a p p e a r o t h s c r e e n !

T h p r o b l e m l i e s w i t h t h c o m m a n d r u n . Y o c o u l d t r e n t e ri n R U N 3 0 , b u t h r u c o m m a n d w i l l s t i l l c l e a r o u a l t h v a r i a b l e s

a n t h n a m e s t h a t w e r e e n t e r e d a r j u s t t h a t , v a r i a b l e s !T h s o l u t i o n i t r e m e m b e r t u s t h G O T O c o m m a n d

f o l l o w e d b t h l i n e n u m b e r a f t e r t h o n i w h i c h t h a r r a y i d i m e n s i o n e d , i n t h i s c a s e , l i n e 3 0 Y o w i l l h a v e t l o a d t h p r o g r a m

7

Page 79: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 79/226

a g a i n a n t h e n t y p e G O T O 3 0 . N o y o u r n a m e s w i l l a p p e a r , a s u m i n g y o u h a v e n o f o r g o t t e n t h p a s s w o r d !

P r o g r a m s l i k e t h i s a r t o u t e d a b e i n g u s e f u l t h o l d a n i n f o r m a t i o n t h a t y o w o u l d n o r m a l l y p u o l i t t l e c a r d s : r e c i p e s ,r e c o r d a n b o o k t i t l e s , a n s f o r t h . m u s t c o n f e s s t h a t d o n ' t u s s u c h p r o g r a m f o a n o t h o s e t h i n g s b e c a u s e k n o w e x a c t l y w h e r ee a c h b o o k a n r e c o r d i o t h s h e l v e s , a n b e c a u s e d o n ' t c o o k !d u s s u c h p r o g r a m t k e e p t r a c k o c o m p u t e r t a p e s a n d i s k s ,a n t p r o d u c e i n d i c e s f o b o o k s a n d b i b l i o g r a p h i e s f o b o o k s a n dp a p e r s . l a r g e r f i l e p r o g r a m i p r i n t e d i A p p e n d i x F

F o y o u r a m u s e m e n t h a v e i n c l u d e d t h e b a r e b o n e s o p r o g r a m c a l l e d ' T a l k " i A p p e n d i x G I m a k e s u s o t h D I s t a t e m e n t w i t h s u b s c r i p t s , G O S U B a n G O T O , b u i n o i n t e n d e dt b t a k e n s e r i o u s l y ! p r o v i d e d o n l y t h b a r e b o n e s b e g i n n i n g s t h a t , i y o w i s h , y o c a e x t e n d i i a n w a y o w i s h . A i s t a n d s ,i w i l l f i i n t o t h 3 R A o t h V I C - 2 0 . F u r t h e r s u g g e s t i o n s a t e x p a n s i o n a r e i n c l u d e d a f t e r t h p r o g r a m l i s t i n g .C A P S U L E R E V I E W

W h e n m a t e r i a l i r e c y c l e d t h e r e i o f t e n n e e d t k n o w h o m a n y t i m e s t h r e p e t i t i o n t a k e s p l a c e . I a d d i t i o n , c e r t a i n v a l u e sa r o f t e n r e q u i r e d t b i n c r e m e n t e d f o v a r i o u s p u r p o s e s . v a l u e ,u s u a l l y 0 i a s s i g n e d t v a r i a b l e . c o u n t e r i t h e n p l a c e d w i t h i nt h b o d y o r e p e a t e d m a t e r i a l . I t h e r e i t b l i m i t o t h t o t a ln u m b e r s o t i m e s t h e r o u t i n e i t b u s e d , a l i m i t i n g s t a t e m e n t ,u s u a l l y i t h f o r m I T H E N — - i u s e d .

S c r e e n p o k e s c a b i n c r e m e n t e d u s i n g e i t h e r t h s a m e v a r ia b l e o r a n o t h e r o n e . T h s a m e r u l e s a p p l y .

W h e n d e v e l o p i n g p r o g r a m s c a r e m u s t b t a k e n t h a t n B A S I Cc o m m a n d s , s u c h a l i s t , a p p e a r b a c c i d e n t . T h r e s u l t c a b e v e r ye x a s p e r a t i n g .

T h i n p u t s t a t e m e n t r e q u i r e s t h a t a q u e s t i o n m a r k a p p e a r o t h s c r e e n a n t h a t a l i n f o r m a t i o n o d a t a w h i c h i e n t e r e d a p p e a ro t h s c r e e n t o o . T h i s c a n r e s u l t n o o n l y i c l u t t e r e d s c r e e n b u ta l s o i i n t e r f e r e n c e w i t h a n g r a p h i c o u t p u t t h a t r e s u l t s f r o m r u n i n g t h p r o g r a m . O n s o l u t i o n w o u l d b t c l e a r t h s c r e e n f o e a c he n t r y b m e a n s o t h C L H O M E s t a t e m e n t e m b e d d e d i t h l o o p .

b e t t e r s o l u t i o n i t u s t h I N P U T # s t a t e m e n t . T h i s r q u i r e s t h a t f i l e b o p e n e d b y u s i n g t h o p e n c o m m a n d . B o t h o p e na n I N P U T # b e l o n g t t h c a t e g o r y k n o w n a I / O , w h i c h s t a n d s f o i n p u t / o u t p u t a n r e f e r s t t h a c c e s s i n g o t h v a r i o u s d e v i c e s t h a te i t h e r f o r m t h b a s i c c o m p u t i n g e q u i p m e n t ( t h e V I C - 2 0 , t h T V o

7

Page 80: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 80/226

t h p e r i p h e r a l o r s u r r o u n d i n g e q u i p m e n t ( t h e D a t a s e t t e , d i s k , o p r i n t e r ) .

T h k e y b o a r d c a b r e a d b m e a n s o t h o p e n c o m m a n d . T h f o r m a t f o t h i s c o m m a n d i O P E N 1 , 0 ; w h e r e t h f i r s t n u m e r a ls t a t e s t h f i l e t b e o p e n e d a n t h s e c o n d t h d e v i c e b e i n g c a l l e d .T h o p e n c o m m a n d m a n o a p p e a r w i t h i n a l o o p u n l e s s t h ec l o s e c o m m a n d a l s o a p p e a r s w i t h i n t h a t s a m e l o o p .

F o l l o w i n g t h o p e n i n g o f i l e a n d e v i c e , t h s t a t e m e n tI N P U T # i u s e d i n s t e a d o f t h c o m m o n I N P U T . T h f o r m a t i I N P U T # 1 f o l l o w e d b t h v a r i a b l e s t h a t a r a p p r o p r i a t e . T h f i r s t

n u m e r a l a f t e r t h I N P U T # m u s t b t h s a m e a t h a t f o l l o w i n g t h o p e n c o m m a n d , f o i r e f e r s t o t h s a m e f i l e .

S t r i n g a r r a y s m a b c o n c a t e n a t e d o r l i n k e d a n t h r e s u l td i s p l a y e d o t h s c r e e n o r o t h e r d e v i c e . C o n c a t e n a t i o n m a b t h r e s u l t o f i x e d s t a t e m e n t A $ ( l ) + A $ ( 3 ) a n s f o r t h ; o m a b t h r e s u l t o r a n d o m s e l e c t i o n o f v a l u e f o X

R a n d o m s e l e c t i o n i p e r f o r m e d b u s i n g t h R N s t a t e m e n t i t h f o r m : X = I N T ( R N D ( 1 ) * Y ) + 1 , w h e r e i t h n u m b e r t b g e n e r a t e d a n Y f o e x a m p l e , c a n b t h t o t a l n u m b e r o s t r i n ga r r a y s f r o m w h i c h y o u w i s h t m a k e t h s e l e c t i o n . T h d i m e n s i o n e da r r a y t o t a l e d 2 0 y o m a a s s i g n a n v a l u e u t a n i n c l u d i n g 2 f o Y

T h R N s t a t e m e n t c a u s e s t h c o m p u t e r t o s e l e c t n u m b e rb e t w e e n a n 1 Q u i t e o b v i o u s l y t h i s n u m b e r i d e c i m a l f r a c t i o n .T h i s n u m b e r i t h e n m u l t i p l i e d b Y a n t h I N ( i n t e g e r ) s t a t em e n t i u s e d t p r o d u c e w h o l e n u m b e r u t a n i n c l u d i n g Y ( m o r e d e t a i l e d e x p l a n a t i o n w o u l d b e q u i t e l e n g t h y a n d , f o r t h p u r p o s e s o t h i s b o o k , q u i t e u n n e c e s s a r y . I w o r k s , a n t h a t i t h i m p o r t a n t t h i n g ! ) .

T h e r e i a g r e a t p o s s i b i l i t y t h a t t h c o m p u t e r w i l l s e l e c t t h s a m e n u m b e r t w i c e o e v e n t h r e e t i m e s i r o w . T h i s m a o m a n o b i n c o n v e n i e n t d e p e n d i n g o y o u r p r o g r a m .

T h r u c o m m a n d e r a s e s a n v a r i a b l e s t h a t h a v e b e e n s t o r e d .T h u s a n d a t a o i n p u t m a t e r i a l w i l l b l o s t . T a v o i d t h i s , u s t h G O T O c o m m a n d , f o l l o w e d b l i n e n u m b e r a f t e r t h a t i w h i c hv a r i a b l e s h a v e b e e n a s s i g n e d .

S i m p l e s e c u r i t y m e a s u r e s a g a i n s t u n a u t h o r i z e d a c c e s s t s t o r e d i n f o r m a t i o n m a b t a k e n . H o w e v e r , a n s e c u r i t y m e a s u r e sw r i t t e n i B A S I C c a b c i r c u m v e n t e d w i t h r e l a t i v e e a s e b k n o w l e d g e a b l e u s e r .

P r o g r a m d e v e l o p m e n t i b e s t a c c o m p l i s h e d b p r e p a r i n g a p l a nb e f o r e h a n d , e v e n t t h e x t e n t o p r o d u c i n g f l o w c h a r t .

7

Page 81: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 81/226

C h a p t e rS o o n e r o l a t e r t h V I C - 2 0 o w n e r i g r i p p e d b t h u n c o n t r o l l a b l eu r g e t e x p a n d t h e q u i p m e n t . I n s o f a r a i i l i k e l y t h a t t h i n i t i a lu s o t h c o m p u t e r w i l l i n v o l v e g a m e s , t h f i r s t p e r i p h e r a l t h a t w i l lb e p u r c h a s e d w i l l b t h j o y s t i c k . ( Y o u c o u l d , o f c o u r s e , h a v e b o u g h t

l o o o t h e r t h i n g s i n s t e a d , b u h a v e t m a k e s o m e a s s u m p t i o n s ! )

T H J O Y S T I C KT h e n a m e o t h d e v i c e i r e s u l t o f t h q u i r k y a n n a t u r a l l y

p o r n o g r a p h i c t u r n o m i n d o t h e a r l y f l i e r s . N o w a d a y s , e v e n s m a l la i r c r a f t h a v e c u r i o u s h a l f s t e e r i n g - w h e e l s e u p o n c o l u m n . Y o p u s h o t h w h e e l a n d o w n y o g o p u l l o i a n u y o g o T u r n i n gi l e f t a n r i g h t c a u s e s c o r r e s p o n d i n g c h a n g e s o d i r e c t i o n . I a n c i e n t t i m e s ( t h e e a r l y p a r t o t h i s c e n t u r y ! ) t h e r e w a n o w h e e l b u r a t h e r a v e r t i c a l t i l l e r . T t u r n l e f t o r i g h t , y o u p u s h e d t h w h o l es t i c k l e f t o r i g h t . T h l a s t a i r c r a f t t h a t f l e w i w i t h s u c h a d e v i c ew a J - C u b .N o f l V I C - 2 0 ! Y o c a t o o b u t f i r s t y o m u s t l e a r n s o m et h i n g a b o u t t h o p e r a t i o n o t h j o y s t i c k . L i k e m o s t e v e r y t h i n g o t h V I C - 2 0 , y o m u s t p o k e t h j o y s t i c k i n t o a c t i o n . ' A h , b u t w a i tm o m e n t , " y o m i g h t s a y . " I s n ' t t h j o y s t i c k d e v i c e ? "

W e l l , y e i i s " T h e n w h u s p o k e s w h e n d e v i c e s u s o p e n , I N P U T # , a n s

f o r t h ? "T h i s i v e r y g o o d q u e s t i o n . T h j o y s t i c k , w h i l e b e i n g

7

Page 82: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 82/226

d e v i c e , i n o w h a t y o w o u l d c a l l s t a n d a l o n e d e v i c e . W h e n y o u s e d t h k e y b o a r d a p e r i p h e r a l y o h a s p e c i f i c p u r p o s e i m i n d . N o r m a l l y t h k e y b o a r d i r e a d a u t o m a t i c a l l y . T h j o y s t i c kt a k e s o v e r p a r t o t h k e y b o a r d f o i t o w p u r p o s e s , w h e n y o t e l l i t o t h a t i s T h u s y o c a u s e p o k e s t t e l l t h c o m p u t e r t h a t p a r t o t h k e y b o a r d i n o s h u t d o w n l e a v i n g t h e j o y s t i c k i c o n t r o l . I t h k e y b o a r d i u s e d w h i l e t h e j o y s t i c k i i c o n t r o l , s o m e s t r a n g et h i n g s h a p p e n .

T v e r i f y t h i s , t y p e P O K E 3 7 1 5 4 , 1 2 7 a n t h e n t y p e t h n u m b e r s i n t u r n . O n l y t h o d n u m b e r s a p p e a r ! Y o c a t y p e a n o t h l e t t e r s a n a l o t h o p e r a t o r s s a v e f o t h m i n u s s i g n . I s e n s eP O K E 3 7 1 5 4 , 1 2 7 i t h e q u i v a l e n t o O P E N J o y s t i c k . H o w e v e r ,t h j o y s t i c k i o n l y p a r t l y o p e r a t i o n a l . P u s h t h s t i c k t t h r i g h t a n t h e n r e p e a t t h e x e r c i s e w i t h t h n u m e r a l k e y s .

S e w h a t m e a n ?T h p o k e s y o u h a v e p e r f o r m e d d e a l o n l y w i t h t h r i g h t p o s i t i o n

o t h j o y s t i c k . A l e a s t , p u s h i n g t h j o y s t i c k t o t h r i g h t h a a e f f e c t o e v e n n u m b e r s .

I y o u w i s h t w r i t e a p r o g r a m t h a t h a n o n e e d o t h e k e y b o a r d ,y o b e g i n w i t h P O K E 3 7 1 5 4 , 1 2 7 . T r e s t o r e t h e k e y b o a r d a t h e n o t h p r o g r a m y o c a u s P O K E 3 7 1 5 4 , 2 5 5 .

N o y o o n l y n e e d t d t h i s p o k e i y o w i s h t c h e c k t h a t t h j o y s t i c k h a b e e n p u s h e d t t h r i g h t . F o t h i s y o a l s o n e e d a n o t h e rp o k e . ( T h e f i r s t p o k e o n l y a l l o w s y o t d i t i d o e s n ' t d i f o y o u ! )T h p o k e i a c t u a l l y t h r e v e r s e o p o k e ! I i p e e k .

Y o s e e , y o u s p o k e w h e n y o w a n t t a c t u a l l y p l a c es o m e t h i n g i s p e c i f i c s p o t i m e m o r y . W h a t y o w a n t h e r e i t h m e a n s o c h e c k i n g s p e c i f i c s p o t t s e w h a t i t h e r e !

T h p e e k d o e s t h i s , a n s y o c a u s P E E K ( 3 7 1 5 2 ) A N 1 2 T h o t h e r d i r e c t i o n s a l s o u s p e e k s a f o l l o w s : l e f t :P E E K ( 3 7 1 5 1 ) A N D 1 6 , d o w n : P E E K ( 3 7 1 5 1 ) A N D 8 , a n u p P E E K ( 3 7 1 5 1 ) A N D 4 . T h e r e i o n m o r e p e e k a n t h a t c o n c e r n st h f i r e b u t t o n : P E E K ( 3 7 1 5 1 ) A N D 3 2 .

Y o w i l l r e c a l l t h a t i o u s o u n d p r o g r a m s t h p o k e s w e r ea s s i g n e d t v a r i a b l e s t s a v e t y p i n g l o t s o n u m e r a l s . Y o c a d t h s a m e w i t h p e e k s . T h u s y o c a a s s i g n v a r i a b l e s t t h n u m b e r s a n t h e n u s t h o s e v a r i a b l e s w i t h i n t h a p p r o p r i a t e e x p r e s s i o n t p r d u c e n e v a r i a b l e s .

T h i n g s c a g e p r e t t y c o m p l i c a t e d r i g h t a b o u t n o i y o a r n o c a r e f u l . Y o c o u l d f i n d y o u r s e l v e s w i t h v e r y l o n g p r o g r a m t h a td o e s v e r y l i t t l e . S o i y o w i l l p a r d o n m e w i l l t a k e s h o r t c u a n g i v e y o u w h a t a p p e a r s t b r i d u c u l o u s e x a m p l e o d o u b l e -

7

Page 83: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 83/226

n e g a t i v e g o b b l e d e g o o k , b u i w i l l g e y o u s i n g y o u r j o y s t i c kt o u t - s u i t e .

T h f o r m u l a y o a r g o i n g t u s s a v e s y o f r o m h a v i n g t t h i n k u p s i d e d o w n o i n s i d e o u t . U s u a l l y w h e n y o s e b i t , w h i c h i s h o r t f o b i n a r y d i g i t , y o s e i t 1 T h i n v e r s e h a p p e n s w i t h t h j o y s t i c k . I n s t e a d o t h b i t s b e i n g t u r n e d o w h e n t h s t i c k i p u s h e d( w h a t e v e r t h d i r e c t i o n ) t h e y a r t u r n e d o f f . T h i s i w h a t m e a n b " t h i n k i n g i n s i d e o u t " . T h f o r m u l a t u s i a f o l l o w s : X = ( N O TP E E K ( 3 7 1 5 1 ) ) A N D 6 0 - ( ( P E E K ( 3 7 1 5 2 ) A N D 1 2 8 ) - 0 ) . D o n ' tw o r r y a b o u t i t J u s t k e e p i i s a f e p l a c e u n t i l y o n e e d i t Y o u rv a l u e f o w i l l n o b e a s i l y i n c o r p o r a t e d i n t o f u r t h e r e x p r e s s i o n sw i t h t h c o m p u t e r d o i n g a l t h w o r k f o y o u , a n s u r e l y t h a t i t h m a i n r e a s o n y o h a v e c o m p u t e r , i s n ' t i t ?

T h i s i w h a t t h d i r e c t i o n s l o o k l i k e w i t h X A N 1 6 - L e f tA N D o w nA N U

X A N D 1 - - R i g h tT h e r e i o n m o r e f o t h f i r e b u t t o n :

A N 3 I t h f o l l o w i n g p r o g r a m , y o c a m a k e u s o t h e f a b u l o u s

f o r m u l a p l u s t w m o r e t h a t c h e c k f o m o t i o n l e f t - r i g h t a n u p - d o w n .T h n e f o r m u l a e a r e :

H = S G N ( X A N D 1 ) - S G N ( X A N 1 6 V = S G N ( X A N D 8 ) - S G N ( X A N 4

T h r e s u l t o a l t h i s , i t h p r o g r a m t h a t f o l l o w s p l a c e s a s m a l ld o o t h s c r e e n ( a c t u a l l y i i o u f r i e n d t h p e r i o d C H R $ ( 4 6 ) ,w h i c h y o c a t h e n m o v e a l a b o u t t h s c r e e n a y o w i s h . B p r e s s i n g t h f i r e b u t t o n y o c a c h a n g e t h c o l o r o f t h p e r i o d . T h c o l o r s a r i n d i c a t e d i t h d a t a l i n e a t h b e g i n n i n g o t h p r o g r a m .T s e y o u r s e l f c h a l l e n g e , f i r s t d r a w f e p a t t e r n s o t h s c r e e n ,a n t h e n p r e s s t h f i r e b u t t o n u n t i l t h e p e r i o d i e r a s e d . T h e n s e i y o c a n e r a s e a l t h o t h e r p e r i o d s b p a s s i n g o v e r t h e m . I i s n ' te a s y !

H e r e i t h p r o g r a m :1 ? " [ C L R H O M E ] n2 D A T A 5 , 2 4 , 2 8 f 3 0 , 1 2 8 , 1 4 8 , 1 5 0 , 1 5 73 D I M C ( 7 ) :4 F O R J = 0 T O 7 : R E A D C ( J ) : N E X T J5 S = 1 : ? C H R $ ( C ( S ) ) ;6 P O K E 3 7 1 5 4 . 1 2 77 0 ( N O T P E E K ( 3 7 1 5 1 ) ) A N D 6 0 - ( ( P E E K ( 3 7 1 5 2 ) A N D 1 2 8 ) = 0 )

7

Page 84: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 84/226

( T h a t ' s t h o n e ! )8 P O K E 3 7 1 5 4 . 2 5 59 I ( X A N D 3 2 ) = 0 G O T O 1 4 0 ( T h e f i r e b u t t o n )1 0 I F X = 0 G O T O 6 01 1 B = 1 : S = S + 1 : I F S > 7 T H E N S = 01 2 ? C H R $ ( C ( S ) ) ;1 3 G O T O 6 01 4 B = 1 5 H = S G N ( X A N D 1 6 ) - S G N ( X A N D 1 ) ( Y o u c a n s e e h o u s e f u l I s ! )1 6 V = S G N ( X A N D 4 ) - S I G N ( X A N D 8 )1 7 0 ? C H R $ ( 4 6 ) ; C H R $ ( 2 9 ) ; C H R $ ( 1 7 ) ; C H R $ ( 1 7 ) ;1 8 F O R J = 0 T O H + - : ? C H R $ ( 1 5 7 ) ; : N E X T J1 9 F O R J = 0 T O V + 1 ; ? C H R $ ( 1 4 5 ) ; : N E X T J2 0 G O T O 6 0

Y o c a e x p e r i m e n t w i t h l i n e 2 t p r o d u c e n e c o l o r s , a n y o a r q u i t e f r e e t c h a n g e C H R $ ( 4 6 ) t s o m e t h i n g e l s e .O n w o r d o c a u t i o n ! M a k e s u r e y o i n c l u d e a l t h p a r e n

t h e s e s i a l t h r i g h t p l a c e s o e l s e t h e p r o g r a m w i l l n o w o r k .L e t ' s c o m b i n e s o m e t h i n g y o h a v e d o n e b e f o r e w i t h w h a t y o

h a v e j u s t l e a r n e d . I i m u c h m o r e f u t g a r o u n d t h s c r e e ng o b b l i n g u d o t s w i t h s o m e s t r a n g e d e v i c e . F o t h m o m e n t , y o uw i l l k e e p y o u r d e v i c e s i m p l e a n n o n d i r e c t i o n a l . H e r e i t h p r g r a m :5 / P O K E 5 2 , 2 8 : p o k e 5 6 , 2 8 : C L R8 " ( [ C L R H O M E ] ) 1 1

G O S U B 2 1 01 X = 7 6 8 0 : X X = 3 8 4 0 0 : Y = 2 21 F O R I = 1 T O 8 01 Z = I N T ( R N D ( 1 ) * 2 2 ) + 11 Q = Z + Y2 P O K E X + Q , 4 6 : P O K E X X + Q , 22 Y = Y + 52 5 N E X T I4 P O K E 3 7 1 5 4 . 1 2 75 0 S = ( N O T P E E K ( 3 7 1 5 1 ) ) A N D 6 0 - ( ( P E E K ( 3 7 1 5 2 ) A N D 1 2 8 ) = 0 )6 P O K E 3 7 1 5 2 . 2 5 58 H = S G N ( S A N D 1 6 ) - S G N ( S A N D 1 )9 V = S G N ( S A N D 4 ) - S G N ( S A N D 8 )1 0 ? C H R $ ( 6 4 ) ; C H R $ ( 1 7 ) ; C H R $ ( 1 7 ) ; C H R $ ( 2 9 )1 1 F O R J = 0 T O H + 1 : ? C H R $ ( 1 5 7 ) ; : N E X T J1 2 F O R J = 0 T O V + 1 : ? C H R $ ( 1 4 5 ) ; : N E X T J1 3 G O T O 5 01 9 E N 2 1 F O R I = 7 1 6 8 T O 7 1 7 5 : P O K E I , P E E K ( l + 2 5 6 0 0 ) : N E X T I2 2 P O K E 3 6 8 6 9 . 2 5 52 3 F O R A 1 = 7 1 6 8 T O 7 1 7 5 : R E A D A : p o k e A 1 , A : N E X T2 4 D A T A 8 , 8 , 6 2 , 7 3 , 6 2 , 2 8 , 0 , 02 5 R E T U R N

T h i s r e l a t i v e l y s i m p l e p r o g r a m m e r e l y s c a t t e r s d o t s o v e r t h s c r e e n ( t h e n u m b e r c a b e c h a n g e d b a l t e r i n g t h e v a l u e i n l i n e 1 5

7

Page 85: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 85/226

t h e s m a l l e r t h e n u m b e r t h f e w e r d o t s , m e r e l y b e c a u s e t h s c a tt e r i n g p r o c e s s d o e s n o a l l o w a n X X w h i c h a r t h s c r e e n a n c o l o r c o d e s r e s p e c t i v e l y , t r e a c h t h e h i g h e s t v a l u e s ) , w h i c h a r t h e n o v e r w r i t t e n b t h c u r i o u s c r a f t g e n e r a t e d b t h d a t a i n l i n e2 4 0 .

T h i s g a m e c a b q u i t e a n n o y i n g b e c a u s e t h a l i e n g r a d u a l l yf i l l s t h s c r e e n w i t h i t s e l f . T h i s r e s u l t s i s i t u a t i o n w h e r e y o c a g e q u i t e l o s t . I a d d i t i o a t h e r e i n s c r e e n l i m i t , w h i c h m e a n s t h a ty o c a r u r i g h t o f t h e d g e o t h s c r e e n a t h r i g h t o l e f t a n a p p e a r i m m e d i a t e l y o t h o t h e r s i d e . T h i s c a b u s e f u l , o c o u r s e .H o w e v e r , i y o a r t r y i n g t o g o b b l e u m o r e s p o t s , i c a b e c o m ep r o b l e m i y o o v e r w r i t e y o u r s e l f . T h e r e a r t h u s t i m e s w h e n y o c a b m o v i n g t h j o y s t i c k a n n o t h i n g s e e m s t b h a p p e n i n g . I i s t h a l i e n i m e r e l y m o v i n g t h r o u g h h i m s e l f . I y o d i r e c t t h a l i e nd o w n w a r d s y o w i l l f i n d t h a t t h w h o l e s c r e e n w i l l s c r o l l u p w a r d s ,t h e r e b y g e t t i n g r i o a l t h e d o t s i v e r y s h o r t o r d e r — b u t t h a t ' sc h e a t i n g !

I y o u w i s h t e r a s e t h e a l i e n y o m a p o k e 3 2 i n t o t h a d d r e s sj u s t l e f t b t h i m a g e . Y o c a t r t h i s p r o b l e m f o y o u r s e l f . T h s o l u t i o n w i l l b f o u n d i o t h e r p r o g r a m s !

I A p p e n d i x y o w i l l f i n d p r o g r a m c a l l e d A m a z e m e n t w i t hw h i c h y o c a h a v e s o m e f u n .

H e r e i c r u n c h e d v e r s i o n o t h b o u n c i n g b a l l p r o g r a m f o u n do p a g e 6 o y o u r V I C - 2 0 u s e r s 1 m a n u a l :

1 ? M [ C L R H O M E r2 P O K E 3 6 8 7 9 , 9 : P O K E 3 6 8 7 8 , 1 52 S = 7 6 8 03 X = 1 : Y = 1 : D X = 1 : D Y = 13 F O R L = 1 T O 1 0 : P O K E 7 6 8 0 + I N T ( R N D ( 1 ) « . 5 0 6 ) , 1 0 23 N E X T4 P O K E S + X + 2 2 * Y , 8 1 ( T h i s i t h b a l l )5 F O R T = 1 T O 1 0 : N E X T6 P O K E S + X + 2 2 * Y , 3 2 ( T h i s e r a s e s t h b a l l ! )7 X = X + D X8 I F X = O O R X = 2 1 T H E N D X = - D X : P O K E 3 6 8 7 6 , 2 2 0

( d e t e c t s r i g h t a n l e f t e d g e s )9 Y = Y + D Y1 0 I F Y = 0 O R Y = 2 2 T H E N D Y = - D Y : P O K E 3 6 7 8 6 , 2 3 01 0 I P E E K ( S + X + 2 2 « . Y ) = 1 0 2 T H E N D X = - D X : D Y = - D Y :

P O K E 3 6 8 7 6 . 1 8 0 : G O T O 7 01 1 P O K E 3 6 8 7 6 , 0 : G O T O 4 0

T h i s i a n e a t l i t t l e p r o g r a m t h a t d o e s n o t h i n g a l b i t s e l f . Y o c a s i a n w a t c h i f o h o u r s . n e a t e r t r i c k w o u l d b e t c h a n g e t h c o l o r c o m b i n a t i o n s e v e r y s o f t e n , p r e f e r a b l y a r a n d o m . T h p r o -

7

Page 86: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 86/226

g r a m s h o w s h o t a n i m a t e , a d s o u n d , a n d e t e c t p r e s e n c e a n r e a c t a c c o r d i n g l y .

Q u i t e b a c c i d e n t ( y o u w i l l e v e n t u a l l y g e t k n o w h o m a n yu n u s u a l e f f e c t s a r d i s c o v e r e d b a c c i d e n t ) , a d d e d l i n e 1 0 i t h w r o n g p l a c e . l i s t e d i a l i n e 1 2 0 . I n s t e a d o t h b a l l b e i n g b o u n c e db a c k w h e n i r e a c h e d g r a y s q u a r e , t h s q u a r e w a g o b b l e d u p T h f i r s t f e s q u a r e s v a n i s h e d f a i r l y q u i c k l y , b u i w a v e r y l o n g t i m ei n d e e d b e f o r e t h e l a s t f o u r w e n t ! C o u p l e d w i t h c o l o r c h a n g es e q u e n c e a n d r o u t i n e t h a t t h r o w s i m o r e s q u a r e s o o t h e r s h a p e sa r a n d o m f r o m t i m e t t i m e , y o c o u l d p r o d u c e a b a b y - s o o t h e r o rp e r h a p s e v e n u s t h p r o g r a m i d o c t o r ' s o d e n t i s t ' s w a i t i n gr o o m . T h s o u n d c o u l d b i m p r o v e d t p r o d u c e s w i s h a t h b a l lt r a v e l s , a n d i f f e r e n t n o t e s a r a n d o m . M o w p r e f e r e n c e w o u l d b et t u r n t h e s o u n d d o w n f o s u c h p r o g r a m h o w e v e r .

T H G A M E P A D D L E ST h g a m e p a d d l e s a r u s e d b f o l l o w i n g p r o c e d u r e s , s i m i l a r t o

t h o s e u s e d w h e n d e a l i n g w i t h t h j o y s t i c k , e x c e p t t h a t t h e r e a r t w o t h e m . T h i s m i g h t s e e m t p r o m i s e g r e a t e r p r o b l e m s , m o r ec o n f u s i o n , a n g r e a t e r l i k e l i h o o d o e r r o r , b u i f a c t t h i n g s a r n o n e a r l y a b a a f i r s t g l a n c e w o u l d s u g g e s t .

P a g e 2 4 o t h V I C - 2 0 P r o g r a m m e r ' s R e f e r e n c e G u i d e p r i n t st h f o l l o w i n g p r o g r a m :1 P O K E 3 7 1 3 9 , 0 : D D = 3 7 1 5 4 : P A = 3 7 1 3 7 : P B = 3 7 1 5 22 P X = 3 6 8 7 2 : P Y = 3 6 8 7 3

T h e s e v a r i a b l e s a r t h a d d r e s s e s o £ r e s p e c t i v e l y : t h e d a t ad i r e c t i o n r e g i s t e r s f o p o r t s a n B t h o u t p u t r e g i s t e r s f o p a d d l e s a n Y a n t h d i g i t i z e d v a l u e s o p a d d l e s a n Y P a r tr e f e r s t o p a d d l e X . P a r t r e f e r s t o p a d d l e Y

3 G O S U B 9 0 0 03 ? P E E K ( P X ) ; P E E K ( P Y ) ; X ; Y8 9 9 0 G O T O 3 9 0 0 0 P O K E D D , 1 2 7 : Y = - ( ( P E E K ) ( P B ) A N D 1 2 8 ) = 0 ) : P O K E D D , 2 5 59 0 1 0 X = - ( ( P E E K ( P A ) A N D 1 6 ) = 0 ) R E T U R N

W h e n y o r u t h i s p r o g r a m w i t h t h g a m e p a d d l e s i n s t a l l e d , o c o u r s e , a l y o w i l l s e i f o u r c o l u m n s o n u m b e r s t h a t s e e m t b s t a t i c . T u r n t h c o n t r o l o n o n e o t h p a d d l e s a n y o w i l l s e o n o t h c o l u m n s o t h r e e d i g i t n u m b e r s c h a n g e a y o u d o s o O c o u r s e ,i i p o s s i b l e t h a t y o u d o n o h a v e t w c o l u m n s o t h r e e d i g i tn u m b e r s ; i d e p e n d s o n h o t h p a d d l e c o n t r o l i s e w h e n y o r u

7

Page 87: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 87/226

t h p r o g r a m . Y o w i l l a l s o s e t w c o l u m n s o f s i n g l e d i g i t s ;P r e s s t h f i r e b u t t o n a n y o w i l l s e a p p e a r . T h l e f t c o l u m n o e a c h p a i r i t h p a d d l e a n t h r i g h t c o l u m n t h Y P l a y w i t h i f o w h i l e o b s e r v i n g t h e f f e c t o e a c h o t h p a d d l e s o n a a t i m e .

T h e n a d l i n e s a f o l l o w s :

2 S = 7 6 8 0 : T = 3 8 4 0 05 P O K E ( S + 2 5 5 ) - ( P E E K ( P X ) ) , 8 1 : P O K E ( T + 2 5 5 ) - ( P E E K ( P X ) ) , 26 P O K E ( S + 5 1 0 ) - ( P E E K ( P Y ) ) , 8 3 : P O K E ( T + 5 1 0 ) - ( P E E K ( P Y ) ) , 6

A n e r a s e l i n e 3 2 A l l t h i s p r o g r a m d o e s i t p u b a l l a n a h e a r t i v a r i o u s

p l a c e s o t h s c r e e n a y o o p e r a t e e a c h o t h p a d d l e s . T h s y m b o l s a r n o e r a s e d b u m e r e l y o v e r w r i t e t h e m s e l v e s . N o t i c eh o c a r e f u l l y y o m u s t t u r n t h c o n t r o l s i o r d e r t p r o d u c e c o ns e c u t i v e s y m b o l s . P l a y w i t h t h i s u n t i l y o h a v e t h o r o u g h u n d e rs t a n d i n g o w h a t i t a k i n g p l a c e . P r e s s i n g t h r u n / s t o p a n r e s t o r ek e y s w i l l c l e a r t h s c r e e n . Y o c a n ; o c o u r s e , p u i l i n e a t h b e g i n n i n g t c l e a r t h s c r e e n f r o m s c r a t c h .

T h t w s y m b o l s h a v e b e e n s e p a r a t e d o t h s c r e e n t m a k et h e i r a c t i v i t i e s o b v i o u s . I y o c h a n g e l i n e s 5 0 a n d 6 0 t r e a d a f o l l o w s :

5 P O K E ( S + 2 2 ) + ( P E E K ( P X ) ) , 8 1 : P O K E ( T + 2 2 ) +( P E E K ( P X ) ) ,

6 P O K E ( S + 2 2 ) + ( P E E K ( P Y ) ) , 8 3 : P O K E ( T + 2 2 )+ ( P E E K ( P Y ) ) , 6

t h t w s y m b o l s s h a r e t h e s a m e a r e a . T u r n i n g t h p a d d l e c o n t r o l sv e r y , v e r y s l o w l y o r w a t c h h o t h s y m b o l s t a k e e a c h o t h e r ' s p l a c ea n c h a n g e c o l o r . A l s o n o t i c e h o t h c o n t r o l s s e e m t b e w o r k i n gi r e v e r s e . T r t s e b o t h p a d d l e s t t h s a m e v a l u e ; i o t h e rw o r d s , p l a c e b o t h s y m b o l s i t h s a m e s p o t . T h e n f i l l t h s c r e e n( a c t u a l l y o n l y h a l f o i t w i t h o n e s y m b o l a n v e r y , v e r y s l o w l y w i p et h e o t h e r s y m b o l o v e r t h t o p . O b s e r v e w h a t h a p p e n s c l o s e l y .

N e x t , r e m o v e t h e r e t u r n s t a t e m e n t f r o m l i n e 9 0 1 0 a n p u i i l i n e 9 0 4 0 ; t h e n a d d :9 0 2 0 I F X = 1 T H E N A = A + 1 : I F Y = 1 T H E N A = A + 1o i y o p r e f e r :9 0 2 0 I F X = 1 O R Y = 1 T H E N A = A + 1A l s o a d 2 A = a n c h a n g e t h f i n a l d i g i t s i n l i n e s 5 a n 6 t A

7

Page 88: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 88/226

T h e s e l i n e s d e a l w i t h t h f i r e b u t t o n o e a c h p a d d l e . A l t h e y d i t h i s p r o g r a m i c h a n g e t h c o l o r . W h i t e m a k e s t h s y m b o l si n v i s i b l e a n t h u s s e r v e s a s m e a n s o f d e l e t i n g t h s y m b o l s .

T h u s o t w s e p a r a t e s t a t e m e n t s , e a c h g i v i n g d i f f e r e n tv a l u e f o t h c o l o r ( a n d t h u s d i f f e r e n t v a r i a b l e ) f o e a c h p a d d l e , c a c r e a t e a c l e v e r g a m e i w h i c h e a c h p l a y e r t r i e s t w i p e o u t t h eo t h e r ' s s y m b o l a n a t h s a m e t i m e , p u t s a s m a n y o h i o h e o w s y m b o l s o t h s c r e e n a p o s s i b l e . T h e g a m e w o u l d e n d w h e n t h p l a y e r s t i r e .

T h e r e c a b a m a n y g a m e s u s i n g t h p a d d l e s a y o u r i m a g i n at i o n w i l l a l l o w . S y m b o l s c a b t h o s e d r a w n f r o m t h V I c h a r a c t e rs e o r t h o s e t h a t y o d e s i g n y o u r s e l f .

C A P S U L E R E V I E WT h j o y s t i c k a n t h p a d d l e s a r e , l i k e t h k e y b o a r d , i n p u t

d e v i c e s . I t h s a m e w a t h a t t h k e y b o a r d i s c a n n e d b t h c o m p u t e r t s e w h a t h a b e e n e n t e r e d , s t h j o y s t i c k c o n t a c t s a r r e a d t d e t e r m i n e t h s a m e i n f o r m a t i o n .

p o r t i o n o t h k e y b o a r d i t a k e n o v e r b t h j o y s t i c k . C o m a n d i p a s s e d t t h j o y s t i c k w i t h P O K E 3 7 1 5 4 , 1 2 7 a n r e t u r n e d t t h k e y b o a r d u s i n g P O K E 3 7 1 5 4 , 2 5 5 .T h d i r e c t i o n t h s t i c k h a b e e n p u s h e d t o w a r d s i r e a d b t h P E E K S :

( P E E K ( 3 7 1 5 2 ) A N D 1 2 8 ) R i g h t( P E E K ( 3 7 1 5 1 ) A N D 1 6 ) L e f t( P E E K ( 3 7 1 5 1 ) A N D 8 D o w n( P E E K ( 3 7 1 5 1 ) A N D 4 U T h f i r e b u t t o n i r e a d b t h f o l l o w i n g P E E K :( P E E K ( 3 7 1 5 1 ) A N D 3 2 B a s s i g n i n g t h e v a r i o u s a d d r e s s e s t v a r ia b l e s , t h e x p r e s s i o n s c a b s h o r t e n e d t m o r e m a n a g a b l e f o r m .

B e c a u s e t h p o s i t i o n o t h j o y s t i c k i r e a d i r e v e r s e , i i u s e f u l t o i n t r o d u c e f u r t h e r e x p r e s s i o n t r e c t i f y t h m a t t e r ; I o n f o r m t h e x p r e s s i o n i a f o l l o w s :X = ( N O T E P E E K ( 3 7 1 5 1 ) ) A N D 6 0 ( ( P E E K ( 3 7 1 5 2 ) A N D 1 2 8 ) - 0 )a l l o w i n g u t r e d u c e t h d i r e c t i o n a l e x p r e s s i o n t ( X A N D 1 )- R i g h t ; ( X A N D 1 6 ) - L e f t , a n s o n

T h p a d d l e s o p e r a t e i s i m i l a r f a s h i o n , b u t h e y a r s o m e w h a ts i m p l e r t u s e . A l t h o u g h s i p a r a m e t e r s m u s t b s e t , v a r i a b l em e a n s c a b u s e d t d e a l w i t h t h n e c e s s a r y e x p r e s s i o n s , t h e r e b ys h o r t e n i n g t h e p r o g r a m m i n g p r o c e s s c o n s i d e r a b l y .

T h a d d r e s s e s a r a f o l l o w s :8

Page 89: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 89/226

3 7 1 3 9 i t h d a t a d i r e c t i o n r e g i s t e r ( D D R ) f o p a d d l e3 7 1 5 4 i t h D D f o p a d d l e3 6 8 7 2 i t h d i g i t i z e d v a l u e o p a d d l e3 6 8 7 3 i t h d i g i t i z e d v a l u e o p a d d l e3 7 1 3 7 i t h e o u t p u t r e g i s t e r f o p a d d l e3 7 1 5 2 i t h e o u t p u t r e g i s t e r f o p a d d l e

Y o w i l l n o t e t h s i m i l a r i t y b e t w e e n a d d r e s s e s f o b o t h p a d l e s a n j o y s t i c k .

8

Page 90: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 90/226

C h a p t e rT h i s c h a p t e r w i l l d i s c u s s s o m e m o r e a t t r i b u t e s o t h V I C - 2 0 t h a te x i s t a r e s u l t o t h e n a t u r e o t h B A S I C l a n g u a g e . T h e r e w i l l c o m e

t i m e , i f i t h a n o a l r e a d y c o m e , w h e n y o w i l l l o o k t h r o u g h a n e v e n s t u d y o t h e r b o o k s o t h B A S I C l a n g u a g e . T h e r e w i l l b s o m ei n s t r u c t i o n s t h a t y o w i l l n o t r e c o g n i z e s i m p l y b e c a u s e t h e y d n o f o r m p a r t o f t h v o c a b u l a r y u n d e r s t o o d b t h V I C - 2 0 . T h i s s h o u l db e n o c a u s e f o c o n c e r n . T h e r e i h a r d l y c o m p u t e r o t h m a r k e tt h a t w i l l u n d e r s t a n d e v e r y w o r d t h a t i p o s s i b l e i t h l a n g u a g ec a l l e d B A S I C . T h s i t u a t i o n i r a t h e r l i k e t h d i f f e r e n c e b e t w e e nv a r i e t i e s o E n g l i s h o r G e r m a n . C e r t a i n w o r d s w h i c h a r c o m m o n i E n g l a n d a r n e v e r u s e d i N o r t h A m e r i c a , a n v i c e v e r s a . S o m ew o r d s u s e d i n o r t h e r n G e r m a n y a r q u i t e u n u s e d i A u s t r i a a n s o n

Y o w i l l h a v e r e a l i z e d b n o w . t h a t e a c h i n s t r u c t i o n i B A S I Cs t a n d s f o l a r g e n u m b e r o f o p e r a t i o n s . S o m e t i m e s g r o u p o B A S I C o p e r a t i o n s a r c l u s t e r e d t o g e t h e r a n b r o u g h t i n t o p l a y b y e t a n o t h e r B A S I C s t a t e m e n t . S u c h i n s t r u c t i o n s a r o f t e n f o u n d a s u p e r s e t o B A S I C . n u m b e r o t h e m w i l l b d i s c u s s e d i t h c h a p t e r w h i c h d e a l s w i t h t h S u p e r E x p a n d e r .

S T R I N G O P E R A T I O N SF o t h m o m e n t l e u t a k e a l o o k a s o m e o t h s t r i n g h a n d l i n g

a b i l i t i e s . s t r i n g , a w a l r e a d y k n o w , i c o l l e c t i o n o c h a r a c t e r s ,a l o w h i c h b e l o n g t o g e t h e r i s o m e w a a n a r e t h u s p r e s e n t e d o 8

Page 91: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 91/226

t h s c r e e n i p a r t i c u l a r o r d e r t h a t i s p e c i f i e d b t h p r o g r a m m e r .Y o m i g h t w r i t e l i n e s u c h a s

1 A $ = " W h a t y o d o i n g ? "

W h e n e v e r y o w i s h t h o s e w o r d s t a p p e a r o t h s c r e e n , y o m e r e l y d i r e c t t h c o m p u t e r t P R I N T A $ . T h e r e i n l i k e l i h o o dt h a t t h c o m p u t e r w i l l p r i n t " D o i n g y o w h a t ? " o " W h a t ? d o i n gy o u " o a n o t h e r c o m b i n a t i o n — u n l e s s y o w i s h i t o t h a t i s

T h e r e a r t h r e e s t a t e m e n t s w h i c h a l l o w u t s i n g l e o u c e r t a i np o r t i o n s o s t r i n g f o s p e c i a l t r e a t m e n t . T h e y a r L E F T $ , M I D $a n R I G H T $ . A l t h o u g h t h i n t e n t o t h e s e s t a t e m e n t s i f a i r l yo b v i o u s , t h w a t u s t h e m m a n o b e

L e t ' s b e g i n w i t h s h o r t p r o g r a m , g a m e , i f a c t , t h a t w i l ld e m o n s t r a t e t h u s o t h M I D $ f u n c t i o n .

1 ? " [ C L R H O M E ] "2 ? " G U E S S M L E T T E R "2 A $ = " A B C D E F G H I J K L M N O P Q R S T U V W X Y Z "2 Y = 3 X = I N T ( R N D ( 1 ) * 2 6 ) + 13 X $ = M I D $ ( A $ , X , 1 ) : ?4 ? I ' M T H I N K I N G O L E T T E R "5 ? " C A N Y O G U E S S I T ? "5 F O R D = 1 T O 2 0 0 0 : N E X T D5 ? " [ C L R H O M E ] "6 I N P U T ' E N T E R Y O U R G U E S S " ; Y $7 I F Y $ < X $ T H E N ? " T O O L O W " : G O T O 5 58 I F Y $ > X $ T H E N ? " T O O H I G H " : G O T O 5 59 I F Y $ = X $ T H E N ? " T H A T S I T ! ! "9 I F Y $ = X $ T H E N Y = Y + 19 I F Y = 1 0 T H E N 1 2 01 0 G O T O 3 01 2 ? " Y O U S C O R E D T E P O I N T S ! " : G O T O 3 0

L i n e s 3 a n 3 d t h w o r k i n t h i s p r o g r a m . L i n e 3 i t h n o f a m i l i a r r a n d o m n u m b e r g e n e r a t o r , a n l i n e 3 c o n t a i n s t h s t r i n gf u n c t i o n M I D $ . A i t h e n t i r e a l p h a b e t ; d e t e r m i n e s a w h i c hc h a r a c t e r , b e t w e e n a n 2 6 s e l e c t i o n b e g i n s , a n t h i n d i c a t e st h a t t h s e l e c t i o n e n d s c h a r a c t e r l a t e r . C h a n g e t h i s l a s t d i g i t t o a n d s e e w h a t h a p p e n s .

T h s t r i n g f u n c t i o n s L E F T $ a n R I G H T $ o p e r a t e i t h s a m ew a y ; t h f i r s t d e a l i n g w i t h t h l e f t m o s t c h a r a c t e r s o s t r i n g u t a n i n c l u d i n g t h n u m b e r s p e c i f i e d i t h e x p r e s s i o n ; a n t h s e c o n d d e a l i n g w i t h t h r i g h t m o s t c h a r a c t e r s .

T h o b v i o u s u s o t h e s e f u n c t i o n s i t e x t r a c t c e r t a i n p o t i o n s o f i n f o r m a t i o n w i t h o u t d i s t u r b i n g t h r e s t . d a t a b a s e p r o -

8

Page 92: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 92/226

g r a m c a u s t h e s e f u n c t i o n s . L e t ' s b e g i n w i t h s i m p l e p r o g r a mt h a t e x t r a c t s c e r t a i n c l a s s o i n f o r m a t i o n .1 ? " W h a t i n i t i a l d y o s e e k ? "2 I N P U T X 3 R E A D N $ , T $ :4 I L E F T $ ( N $ , 1 ) X T H E N N $ T 5 G O T O 3 1 0 D A T A J O H N . 5 5 5 - 1 2 1 21 1 D A T A H A R R Y . 5 5 5 - 1 2 1 31 2 D A T A F R E D , 5 5 5 - 3 1 2 11 3 D A T A A R T H U R , 5 5 5 - 2 1 2 1T h i s p r o g r a m p i c k s t h e i n i t i a l l e t t e r r e q u i r e d a n t h e n p r i n t s o u t t h en a m e a n t h t e l e p h o n e n u m b e r .

A d d :2 I F X $ = " N O N E " T H E N P R I N T " W H A T N U M B E R 1 1 : I N P U T A $4 I F R I G H T $ ( T $ , 4 ) = A $ T H E N P R I N T N $

T h i s a l t e r a t i o n p r o d u c e s n a m e f o t h l a s t f o u r d i g i t s e n t e r e d .T h p r o g r a m g i v e s y o c h o i c e b e t w e e n n a m e a n n u m b e r . Y o c o u l d e a s i l y a l t e r t h d i g i t d e l i n e a t i n g T t d e a l w i t h j u s t o n e , t w o t h r e e n u m b e r s .I t h e x c h a n g e c o d e s w e r e d i f f e r e n t , l i n e s e e k i n gL E F T $ ( T & A ) c o u l d t e l l y o t h n a m e s o t h o s e l i s t e d u n d e r t h a te x c h a n g e . N c o u l d a l s o a l l o w y o t e n t e r f u l l n a m e ; t h e n , w i t ha p p r o p r i a t e L E F T $ , M I D $ a n R I G H T $ s t a t e m e n t s y o c o u l ds e l e c t w h i c h e v e r p o r t i o n o t h n a m e y o w i s h .

E x p a n d i n g e v e n f u r t h e r , y o c o u l d s t o r e n a m e , a d d r e s s , t e l ep h o n e n u m b e r , b u s i n e s s , p r o f e s s i o n , v i t a l s t a t i s t i c s , a n r a t i n gf r o m t 1 0 E a c h o t h e s e i t e m s w o u l d b r e g a r d e d a a f i e l d t h a tc a b a c c e s s e d a n u s e d t o l o c a t e a l t h o t h e r i n f o r m a t i o n .

T h d a t a b a s e p r o g r a m m e n t i o n e d e a r l i e r i n e a r l y w i t h i n o u g r a s p . B c o m b i n i n g t h a l p h a b e t i z i n g p r o g r a m w i t h a s e a r c h f a c i li t y , y o h a v e t h m e a n s t p r o d u c e w h a t e v e r i n f o r m a t i o n y o w i s h ,j u s t w h e n y o w a n t i t

N o t e t h d i s p l a y f o r m a t : t h n a m e i n e a t l y s e p a r a t e d f r o m t h n u m b e r . I i t h c o m m a b e t w e e n t h N a n t h T i l i n e 4 w h i c hd o e s t h i s . c o u p l e o p r i n t s t a t e m e n t s i n s e r t e d b e f o r e N w i l l b r i n gt h d i s p l a y f a r t h e r d o w n t h s c r e e n a n m a k e t h i n g s l i t t l e m o r el e g i b l e . C L H O M E s t a t e m e n t b e f o r e t h p r i n t s t a t e m e n t w i l lg e r i o t h e o t h e r c l u t t e r .

L e u a d f e m o r e l i n e s a n s e w h a t h a p p e n s :1 4 D A T A J I M . 5 5 5 - 1 2 1 41 5 D A T A J E R R Y , 5 5 5 - 1 3 1 2

8

Page 93: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 93/226

T h e n c h a n g e t h n u m b e r i l i n e 4 f r o m t 2 N o f o l l o w t h i n s t r u c t i o n s v e r y c a r e f u l l y : A t h f i r s t p r o m p t t y p e i J T h r e s u l ti s : -J O H N 5 5 5 - 1 2 1 2J I M 5 5 5 - 1 2 1 4J E R R Y 5 5 5 - 1 3 1 2

T h n a m e s a r n o i a l p h a b e t i c a l o r d e r f o t h s i m p l e r e a s o nt h a t t h r e a d s t a t e m e n t g o e s t h r o u g h t h n a m e s a t h e y s t a n d . N o r u t h p r o g r a m a g a i n , t h i s t i m e t y p i n g N O N E a f t e r t h f i r s t p r o m p ta n t h e n t y p i n g t h e n u m b e r 1 a f t e r t h e s e c o n d . T h r e s u l t t h i s t i m ei s : -5 5 5 - 1 2 1 2 J O H N5 5 5 - 1 3 1 2 J E R R Y

T h c o m p u t e r h a s a c c e p t e d t h l a s t t w d i g i t s i t h t w p h o n en u m b e r s .

T a c c e p t t h e f i r s t t w d i g i t s y o w o u l d n e e d t s e a r c h f o M I D $ i t h f o r m M I D $ ( T $ , 4 , 2 ) . N o y o h a v e t h m a k i n g s o t e l e p h o n e d i r e c t o r y !

c u r i o u s f u n c t i o n , o p a i r o f f u n c t i o n s , i n v o l v e t i m e . T y p e t h f o l l o w i n g p r o g r a m :1 0 T I $ = " 0 0 0 0 0 0 "2 F O R I = 1 T O 1 0 0 0 0 : N E X T3 P R I N T T I $4 P R I N T T I / 6 0 " S E C O N D S F R O M R U N "

W h e n y o r u t h i s y o w i l l g e t h e e e r i e f e e l i n g t h a t t h V I C - 2 0h a g o n e t F l o r i d a ; t h e n s u d d e n l y u w i l l p o t h r e s u l t , w h i c hs h o u l d b 0 0 0 0 1 0 f o T I a n s l i g h t l y h i g h e r n u m b e r f o t h S E C O N D S F R O M R U N . W h e n c e t h e x t r a t i m e ? T h c o m p u t e r ,f a s t a i m a s e e m , d o e s t a k e j u s t l i t t l e t i m e t p e r f o r m a l t h o s ef a n c y t r i c k s . F o e x a m p l e , l e u s s e e h o l o n g i t a k e s t c o u n t f r o m

t 1 0 0 0 . C h a n g e l i n e 2 a f o l l o w s :

2 F O R I = 1 T O 1 0 0 0 : P R I N T I : N E X T

A i r u n s , t h i s p r o g r a m w i l l d i s p l a y e a c h o t h n u m b e r s f r o mt o 1 0 0 0 , m u c h , v e r y m u c h , f a s t e r t h a n y o c a c o u n t . A t h e n d , y o w i l l s e t h t o t a l n u m b e r o s e c o n d s . O m m a c h i n e t h r e s u l t w a 2 8 w i t h t o t a l e l a p s e d t i m e b e i n g 2 8 . 1 3 3 3 3 3 4 s e c o n d s f r o m r u n .r a n t h e p r o g r a m f i v e t i m e s w i t h t h r e s u l t b e i n g t h s a m e e a c h t i m e .W h e n t h f i g u r e w a c h a n g e d t 2 0 0 0 , i t o o k t h m a c h i n e5 5 . 7 6 6 6 6 6 7 s e c o n d s f r o m r u n , w h i c h i s l i g h t l y l e s s t h a n t w i c e a l o n g .

8

Page 94: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 94/226

C l e a r t h e s c r e e n a n t y p e ? T I $ . c a n n o t s a w h a t f i g u r e y o w i l l g e o y o u r s c r e e n , b u w h a t e v e r i i d i v i d e i b y 6 0 i t h d i r e c tm o d e ( i . e . ? N / 6 0 ) . T h a n s w e r w i l l b i s e c o n d s a n i w i l l r e p r es e n t t h e t i m e e l a p s e d s i n c e y o r a t h p r o g r a m y o u h a v e j u s t b e e np l a y i n g w i t h .N o t y p e ? T I . Y o w i l l g e q u i t e l a r g e n u m b e r . N o t y p e? ( T I / 1 0 0 ) / 6 0 . T h i s w i l l g i v e t h e n u m b e r o m i n u t e s e l a p s e d s i n c ey o s t a r t e d p l a y i n g w i t h t h e T I f u n c t i o n .

T h e u s e s t w h i c h t h e t i m e f u n c t i o n s c a n b e p u t a r e a g a i n l i m i t e do n l y b y o u r i m a g i n a t i o n . G a m e s c a b p l a y e d a g a i n s t t h c l o c k a n c o m p u t e r a s s i s t e d i n s t r u c t i o n p r o g r a m s c a b w o r k e d a g a i n s t t h c l o c k . I t h l a t t e r i w o u l d b p o s s i b l e t c o u n t t h t i m e t a k e n t a n s w e r q u e s t i o n s a n g i v e c r e d i t a c c o r d i n g l y . I n s e n s e y o u h a v ea l r e a d y m a d e q u i t e e x t e n s i v e u s o t h c l o c k t i c k i n g a w a y i n s i d et h V I C - 2 0 w h e n y o u s e d t h o s e F O R D - N E X T D t i m i n g l o o p s .

S o m e o t h f u n c t i o n s a v a i l a b l e o y o u r V I C - 2 0 m a n o s e e mt h a v e m u c h p u r p o s e . M a n y o t h e m a r i n d e e d r a t h e r s p e c i a l i z e da n w o u l d b e u s e d o n l y u n d e r c e r t a i n c i r c u m s t a n c e s . c o u p l e o e x a m p l e s o f a i r l y s p e c i a l i z e d f u n c t i o n s a r S T R $ a n V A L .

S T R $ ( X ) i a o d o n f o i a l l o w s f o t h p r i n t i n g o n u m e r a la i f i t w e r e a a l p h a b e t i c a l s t r i n g . A e x a m p l e i i o r d e n A y o w i l l h a v e a l r e a d y f o u n d o u t , t h s i m p l e v a r i a b l e u s e d i a i n p u ts t a t e m e n t r e q u i r e s t h a t n u m e r a l b e e n t e r e d . T h v a r i a b l e X w o u l d a l l o w o n o m o r e c h a r a c t e r s o a n t y p e t b e n t e r e d .H o w e v e r , a n n u m b e r t h a t w a e n t e r e d i n t o X c o u l d n o t b u s e d i m a t h e m a t i c a l f u n c t i o n s .

W h a t i y o h a d i m e n s i o n e d a r r a y a n y o w i s h e d t d e a lw i t h l e t t e r s a n n u m b e r s t h a t w i l l b o p e r a t e d o m a t h e m a t i c a l l y ?W h e n y o u w a n t t d e a l w i t h n u m b e r s i n o n m a t h e m a t i c a l w a

S T R $ w i l l h e l p o u t .

1 A $ = S T R $ ( 2 3 5 . 4 7 )2 ? A

S f a s g o o d . N o t r t h i s :1 A 2 3 5 . 4 72 A $ = S T R $ ( A )3 ? A : ? : ? : ? A $

V A i t h r e v e r s e o S T R $ i n a s m u c h a i r e t u r n s t h s t r i n gm a t e r i a l a s n u m e r i c a l v a l u e . F o e x a m p l e :1 X = V A L ( " 2 3 5 . 4 7 " )2 ?

8

Page 95: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 95/226

I l o n g , i n v o l v e d p r o g r a m s w h i c h p e r f o r m i m m e n s e c a l c u l at i o n s , i i o f t e n m o r e c o n v e n i e n t t c a u s e t h c o m p u t e r t p r i n t o u t h n u m e r i c a l r e s u l t a l o n e , w i t h o u t a l t h v e r b a l t r a p p i n g s . Y o m i g h t , f o e x a m p l e , e n t e r l a r g e n u m b e r o f i g u r e s t h a t r e l a t e t os p e c i f i c i t e m s . I n s t e a d o f p r i n t i n g o u t t h e i t e m ' s n a m e s , t h V I C - 2 0( o a n o t h e r c o m p u t e r w i t h t h V A f u n c t i o n f o r t h a t m a t t e r — i t i f a i r l y s t a n d a r d ) w i l l j u s t p r i n t o u t t h e r e s u l t o t h c a l c u l a t i o n t h a tr e f e r s t o t h o s e i t e m s .

V A a n S T R $ o f t e n g t o g e t h e r .L E N ( X $ ) r e t u r n s t h n u m b e r o c h a r a c t e r s i s t r i n g , X $ f o

e x a m p l e :1 X $ = " T H E V I C - 2 0 F I R E S I D E C O M P A N I O N "2 ? L E N ( X $ )

T h r e s u l t i 2 9 N o t e , h o w e v e r , t h a t a l s p a c e s c o m m a s ,c o l o n s , a n t h l i k e w i l l b c o u n t e d t o o . T h a t i w h t h r e s u l t o t h l i t t l e p r o g r a m i 2 w h e n t h e r e a r e a c t u a l l y o n l y 2 p r i n t e d c h a r a ct e r s .

O T H E R F U N C T I O N SS P C ( x ) i u s e f u l f u n c t i o n . I i n s e r t s s p a c e s p r i o r t o p r i n t i n g

s t r i n g o t h s c r e e n . I w o u l d s e e m o t h s u r f a c e t o d t h s a m e a t a b , h o w e v e r , t h e r e i o n v e r y i m p o r t a n t d i f f e r e n c e . T h f o l l o w i n gs h o r t s e q u e n c e m a k e s t h p o i n t :

1 ? T A B ( 1 0 ) " D O E S T H I S "1 ? : ? :2 ? " W H I L E S P C ( 1 0 ) " S P C ( 1 0 ) " D O E S T H I S "T a w i l l o n l y r e a d f r o m t h l e f t e d g e o t h s c r e e n . S P r e a d s

f r o m t h e c u r r e n t c u r s o r p o s i t i o n . T h i s a l l o w s f o m u c h g r e a t e rf l e x i b i l i t y i t h p l a c e m e n t o m a t e r i a l o t h s c r e e n . I m i g h t w e l la p p e a r t y o t b t i r e s o m e d e t a i l a t t h i s s t a g e , b u y o c a a l w a y s c l e a n u p r o g r a m a n m a k e i m u c h m o r e r e a d a b l e w h e nt h e f o u n d a t i o n h a b e e n l a i d .

I l a t e r c h a p t e r y o w i l l b d e a l i n g w i t h t h a s t o n i s h i n gr e s u l t s o b t a i n e d b t h u s o f o r m u l a N o i c a b t r e m e n d o u sn u i s a n c e t h a v e t w r i t e o u t a n e n t e r s p e c i f i c f o r m u l a e a c h t i m ey o w i s h i t a p p e a r i p r o g r a m . O c o u r s e , y o c a p u t h f o r m u l a i s u b r o u t i n e a n c a l l i u w h e n y o u n e e d i t T h e r e i s h o w e v e r , m u c h , m u c h s i m p l e r w a y . T h s t a t e m e n t D E F F N w i l ld i f o y o u . k n o w t h a t D E F F N i n o f u n c t i o n i t s e l t b u

8

Page 96: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 96/226

c o n s i d e r i a p p r o p r i a t e t t h i s s e c t i o n b e c a u s e i i s p e c i f i c t y p e o s h o r t h a n d , a n t h a t i w h a t m o s t f u n c t i o n s a r e .

H e r e i f a i r l y s i m p l e f o r m u l a : Y = 1 0 0 + 1 0 0 * S I N ( X / 2 0 ) . C o u l dy o i m a g i n e h a v i n g t e n t e r i f o u r o f i v e t i m e s a n t h e n t c h e c kt h r o u g h p r o g r a m f o b u g ?

I n s t e a d , y o c a n s i m p l y w r i t e :D E F N Y ( X ) = 1 0 0 + 1 0 0 * S I N ( X / 2 0 )

T h e n , w h e n y o u w i s h t u s t h f o r m u l a , y o s i m p l y c a l l i b e n t e r i n g t h e a p p r o p r i a t e s t a t e m e n t , P R I N T o r w h a t e v e r , f o l l o w e db F N Y ( X ) . T h v a l u e o c a n , o c o u r s e , b a l t e r e d . T h f o r mw o u l d t h e n b e F N Y ( 6 ) o w h a t e v e r v a l u e y o w i s h . M a y b e y o d o n ' t w a n t t p u t a v a l u e i n t h e r e , b u m a k e i s u b j e c t t a i n p u ts t a t e m e n t e l s e w h e r e . I t h i s c a s e t h D E F s t a t e m e n t m u s t u s s o m e c h a r a c t e r i t h e p a r e n t h e s i s w h i c h d o e s n o a p p e a r i t h f o r m u l a , t h u s y o u w o u l d w r i t e D E F N Y ( B ) = 1 0 0 + 1 0 0 * S I N ( X / 2 0 ) .

T a k e c a r e f u l n o t e o t h f a c t t h a t t h e r e a r n d e f i n e d f i i n c t i o n sf o r s t r i n g v a r i a b l e s s u c h a A $

O t h e r f u n c t i o n s a r m a t h e m a t i c a l i n a t u r e , a r f a i r l y o b v i o u s i y o a r s k i l l e d i n m a t h , o c c u r q u i t e f r e q u e n t l y i g r a p h i c s p r g r a m s , a n n e e d n o e x p l a n a t i o n a t h i s p o i n t .

8

Page 97: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 97/226

C h a p t e r

T h e r e w i l l c o m e t i m e w h e n y o f e e l t h a t t h e t h r e e a n h a l fk i l o b y t e s o R A ( R a n d o m A c c e s s M e m o r y ) t h a t a r a v a i l a b l e o t h e s t a n d a r d V I C - 2 0 a r t r i f l e c o n f i n i n g . Y o w i l l w i s h t e x p a n da n d a d d m o r e m e m o r y . R A i t h w o r k i n g a r e a a v a i l a b l e t o y o u .T h m o r e R A t h e l o n g e r a n m o r e c o m p l e x y o u r p r o g r a m s c a b e R A s i z e i m e a s u r e d i n k i l o b y t e s , o r t h o u s a n d s o b y t e s .

M E M O R Y E X P A N S I O NL o n g a g ( o v e r t w e n t y y e a r s a g o , w h i c h a c c o r d i n g t m c h i l d r e n i t h ' o l d e n d a y s ! " ) t h o s e p e o p l e w h w e r e w o r k i n g w i t ht h o l d - f a s h i o n e d c o m p u t e r s d e v e l o p e d s h o r t h a n d m e t h o d o d s c r i b i n g w h a t t h e y w e r e d o i n g . T h e y w e r e , o c o u r s e , p r o g r a m m i n gc o m p u t e r s b u s i n g b i n a r y n o t a t i o n , w h i c h y o m e i a e a r l i e rc h a p t e r . B i n a r y n o t a t i o n r e q u i r e s t h a t o n u s b i n a r y d i g i t s . T h e s es o o n b e c a m e k n o w n a b i t s , w h i c h i s h o r t f o B i n a r y d i g i T .

I t h s a m e w a t h a t w c a l l c o l l e c t i o n o o n h u n d r e dp e n n i e s a d o l l a r , c o l l e c t i o n o b i t s w a g i v e n n a m e . Y o h a v ea l r e a d y d i s c o v e r e d t h a t c h a r a c t e r o t h s c r e e n i m a d e u o g r o u p s o b i t s . g r o u p o b i t s i c a l l e d b y t e . T c o m p l e t e t h f o o d a n a l o g y , c o m p u t e r b u f f s c a l l h a l f b y t e , o f o u r b i t s , n i b b l e .

Q u i t e o b v i o u s l y l a r g e c o l l e c t i o n o b y t e s r e q u i r e d c o n v en i e n t n a m e . A l t h o u g h t h n a m e k i l o - b y t e s e e m s t o r e f e r t o n t h o u s a n d b y t e s , t h e r e a r a c t u a l l y 1 0 2 4 b y t e s i k i l o b y t e .

I y o m u l t i p l y 1 0 2 4 b 3 y o w i l l g e 3 5 8 4 . W h e n y o s w i t c h8

Page 98: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 98/226

o t h e V I C - 2 0 , y o w i l l n o t i c e t h a t i t e l l s y o t h a t t h e r e a r e 3 5 8 3b y t e s f r e e . D o n ' t w o r r y a b o u t t h m i s s i n g V / b y t e s ! Y o h a v e n o n o t i c e d t h l o s s u t n o w , h a v e y o u ?

" B u t , " y o w i l l s a y , " M V I C - 2 0 i s u p p o s e d t h a v e 5 K ? ! ! "W e l l y e s , i d o e s h a v e 5 K S o m e o i i u s e d , h o w e v e r , b t h

s y s t e m i t s e l f ; l o o k i n g a f t e r t h s c r e e n a n m a k i n g s u r e t h a t e v e r yt h i n g g o e s i t h r i g h t p l a c e . S o m e m a n u f a c t u r e r s c o u n t t h r e a do n l y m e m o r y a s w e l l a s t h e r a n d o m a c c e s s m e m o r y w h e n a d v e r t i si n t h e i r w a r e s . R O i t h e a r e a r e s e r v e d b t h c o m p u t e r t r e c o g n i z e a l t h B A S I C c o m m a n d s a n i n s t r u c t i o n s y o g i v e t t h c o m p u t e r . I i t h w o r k h o r s e o t h c o m p u t e r t h a t d o e s m o s t o t h w o r k f o y o u . O t h e r w i s e y o u w o u l d b c o d i n g y o u r p r o g r a m s i b i t se v e r y t i m e y o w a n t e d t u s t h c o m p u t e r a n p r o b a b l y g o i n gh a i r l e s s d o i n g s o T h o n e - a n d - a - h a l f y o s e e m t b m i s s i n g a r w e l l u s e d ! S o m e m a n u f a c t u r e r s o f l a r g e r c o m p u t e r s i n d i c a t e h o m u c h R O a n h o m u c h R A t h e r e i s

N o i a d d i n g m e m o r y t V I C - 2 0 , y o c a e i t h e r a d R A a l o n e i c o n f i g u r a t i o n s o 3 K , 8 K , a n 1 6 K , o r y o c a a d 3 p l u ss u p e r s e t o i n s t r u c t i o n s . T h e x t r a m e m o r y c o m e s i t h s a m ef o r m a t a t h g a m e s y o h a v e n o d o u b t b o u g h t . T h c a r t r i d g e i s l i p p e d i n t o t h b l a c k s l o t j u s t b e h i n d t h p o w e r - o n l i g h t . Y o u m u s ts w i t c h c o m p u t e r o f w h i l e y o d t h i s o c o u r s e .

T H S U P E R E X P A N D E RF o t h c o n v e n i e n c e o V I C - 2 0 o w n e r s , C o m m o d o r e h a p r

d u c e d c a r t r i d g e c a l l e d t h S u p e r E x p a n d e r . N o o n l y d o e s t h i sc a r t r i d g e s u p p l y y o w i t h 3 e x t r a R A M , b u i a l s o m a k e s s o m ee x t r a i n s t r u c t i o n s m a d e a v a i l a b l e t y o t m a k e y o u r p r o g r a m m i n gm o v e l o f a s t e r . A s o o n a y o h a v e s l i p p e d t h S u p e r E x p a n d e ri n t o t h c a r t r i d g e s l o t , s w i t c h o t h V I C - 2 0 . O t h s c r e e n y o w i l ls e t h a t t h e r e a r e n o 6 5 1 9 b y t e s f r e e . N d o u b t y o w i l l d q u i c kc a l c u l a t i o a e i t h e r o y o u r f i n g e r s , y o u r c a l c u l a t o r o y o u r c o m p u te r a n d i s c o v e r t h a t 3 5 8 3 a n 3 0 7 2 s h o u l d b e q u a l t 6 6 5 6 ! W e l l ,y e s , t h e y s t i l l a r e . T h e r e s e e m s t b 1 3 b y t e s m i s s i n g ! T h m i s s i n g b y t e s a r u s e d b t h n e i n s t r u c t i o n s t h a t w n o h a v e a o u s e r v i c e .

Q u i t e l o c a b d o n e w i t h t h 6 . 5 K b y t e s t h a t y o n o h a v e .T h f i r s t t h i n g i t d i s c u s s p r o g r a m t h a t m a k e s u s o f t h e S u p e rE x p a n d e r . T h i s p r o g r a m i a c t u a l l y p r i n t e d i t h s m a l l m a n u a l t h a tc o m e s w i t h t h c a r t r i d g e . T h t y p e s e t t e r m a d e o n o t w e r r o r sh o w e v e r w h i c h m e a n s t h a t t h p r o g r a m w i l l n o r u n . H e r e i t h c o r r e c t v e r s i o n .

9

Page 99: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 99/226

1 G R A P H I C 2 : a D L O R 1 1 , 6 f 6 , 6 : X = 1 7 0 : Y = = 1 7 02 0 J = R J O Y ( 0 )3 0 x = X + ( ( J A N D 4 ) = 4 ) - ( ( J A N D 8 ) = 8 )4 0 Y = Y + ( ( J A N D 1 ) = 1 ) - ( ( J A N D 2 ) = 2 )5 P O I N T 3 , X * 3 , Y * 3 : I F J = 1 2 8 T H E N : S C N C L R6 G O T O 2 0T h f i r s t e r r o r c o r r e c t e d i t h e s y n t a x o l i n e 1 0 T h e r e s h o u l d b n c o m m a a f t e r t h f i n a l ' 6 ' ; a n t h s e c o n d e r r o r i t h m i s s i n g i l i n e 4 0 A a l t e r n a t i v e v e r s i o n o t h p r o g r a m i s h o w n i A p p e n d i xJ

Y o w i l l n o b a b l e t r e s i s t r u n n i n g t h p r o g r a m . . . s g a h e a d ! W h e n y o h a v e h a d e n o u g h o t h a t a n h a v e a l s o w r e s t e d t h V I C - 2 0 a w a y f r o m y o u r c h i l d r e n , l o o k a t h e x p l a n a t i o n o t h p r o g r a m .

T h f i r s t t h i n g y o u h a v e d o n e o n l i n e 1 i s e u t h e g r a p h i cm o d e b t y p i n g G R A P H I C 2 . T h i s s e t s t h e o u t p u t t t h s c r e e n i t h e h i g h r e s o l u t i o n m o d e . Y o c o u l d c h a n g e t h t a n s e t h a tt h e r e a r e p a t c h e s a l o v e r t h s c r e e n . E n j o y y o u s e l f d i s c o v e r i n gw h e r e a l t h p a t c h e s a r e . Y o w i l l a l s o r e a l i z e t h a t t h v e r t i c a l l i n e sa r e t w i c e a s w i d e a w h e n g r a p h i c m o d e i s e t .

T h s e c o n d t h i n g t h a t i s e i t h c o l o r , a c t u a l l y s e t s o f c o l o ns c r e e n , b o r d e r , c h a r a c t e r , a n a u x i l i a r y c o l o r s , i n t h a t o r d e r . Y o c a n s e e f r o m t h p r o g r a m t h a t t h s c r e e n c o l o r i s e a 1 ( i r a n g eo 0 - 1 5 ) ; t h b o r d e r c o l o r i s e a ( i r a n g e o 0 - 7 ) ; t h c h a r a c t e rc o l o r i s e a ( i r a n g e o 0 - f o t h n o r m a l m o d e , 8 - 1 5 f o t h m u l t i c o l o r m o d e ) a n t h a u x i l i a r y c o l o r i a l s o s e a ( i r a n g e o 0 - 1 5 ) . C h a n g e t h c h a r a c t e r c o l o r t o s o m e t h i n g e l s e i t h r a n g e o 0 - a n s e w h a t h a p p e n s . T h e n y o c a t r c h a n g i n g t h e v a l u e s o t h o t h e r p a r a m e t e r s i t h C O L O R s t a t e m e n t a n s e w h a t y o g e t .

N e x t a d l i n e :

1 1 N P U Ta n t h e n s u b s t i t u t e o n o t h c o l o r v a l u e s w i t h t h e v a r i a b l e A N o y o c a d e c i d e w h a t c o l o r y o w o u l d l i k e t h b o r d e r , s c r e e n ,c h a r a c t e r , a n a u x i l i a r y t b f r o m o u t s i d e t h p r o g r a m i t s e l f . I f y o p r o v i d e f o f o u r l o t s o i n p u t s , y o c a c o n t r o l a l o f t h e i p a r a m e t e r s ;a n i y o a l s o p r o v i d e t h f i f t h , y o c a s e t h e g r a p h i c m o d e .F o e x a m p l e :

I N P U T A : I N P U T B : I N P U T C : I N P U T D : I N P U T E ( i t h g r a p h i cm o d e , B - E a r c o l o r v a l u e s )I N P U T X : I N P U T Y

9

Page 100: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 100/226

T h e n r e m o v e t h a n s t a t e m e n t s a t h e n o l i n e 1 0 . A e a c hc o m e s u o t h s c r e e n y o w i l l e n t e r v a l u e s f o r g r a p h i c , s c r e e n ,b o r d e r , c h a r a c t e r , a n a u x i l i a r y c o l o r s ; f o l l o w e d b t w m o r e s e t s o fd i g i t s t h a t s e t h p o i n t a w h i c h t h s p o t a p p e a r s o t h s c r e e n . F o e x a m p l e , t h e c u r r e n t p o i n t i i t h c e n t e r o t h s c r e e n . y o c h a n g e t h v a l u e s o a n t 1 0 t h s p o t w i l l a p p e a r a p o i n tn e a r t h e t o p l e f t c o r n e r . I y o s e t h a n v a l u e s a 1 t h p o i n tw i l l b r i g h t i t h t o l e f t c o r n e r , j u s t b a r e l y v i s i b l e .

L i n e s 3 a n 4 a r o u f a m i l i a r j o y s t i c k r e a d i n g e x p r e s s i o n s .Y o a r p r o b a b l y q u i t e g l a d t h a t o u l o n g N O T P E E K e x p r e s s i o n h a d i s a p p e a r e d .

L i n e 5 m i g h t b b i o p u z z l e a f i r s t . A l t h o u g h t h p a r a m e t e r s y o h a v e b e e n c h a n g i n g s o m e r r i l y h a v e a f f e c t e d t h c o l o r a n p l a c e m e n t o t h e d o t o t h s c r e e n , i i l i n e 5 t h a t d o e st h a c t u a l w o r k . T h p o i n t s t a t e m e n t t e l l s t h c o m p u t e r t m a k ep o i n t . T h I F - T H E N c h e c k s t s e i t h l i n e g o e s o f t h l e f t a n r i g h t e d g e s o t h s c r e e n . Y o w i l l a l r e a d y k n o w w h a t h a p p e n s i i d o e s ! W h a t , t h e n , d t h t w s t a t e m e n t s X * a n Y d o

C h a n g e t h e v a l u e f r o m 3 t 1 N o t h l i n e i m u c h f i n e r a n t h e r e a r e n o n e o t h o s e f u n n y b l i p s o d i a g o n a l l i n e s . N o c h a n g et h v a l u e u t 6 b u b s u r e t g i v e t h e s a m e v a l u e f o e a c h f o t h t i m e b e i n g . E x p e r i m e n t w i t h o t h e r v a l u e s . K e e p t h v a l u e f o P O I N T .

N o t r g i v i n g d i f f e r e n t v a l u e s f o a n a i n X * 7 , Y * 2 0 a n s e w h a t h a p p e n s . T h f i r s t t h i n g y o w i l l n o t i c e i t h a t t h s t a r t i n gp l a c e f o t h e d o t h a c h a n g e d . Y o w i l l a l r e a d y h a v e n o t e d t h a t y o c a d r a w t h l i n e s m u c h m o r e q u i c k l y w i t h h i g h e r v a l u e s . T h i s c a nb t h b a s i s o a n e a t l i t t l e g a m e w h i c h c o u l d t e a c h s m a l l c h i l d t l e a r n h o t o c o n t r o l t h j o y s t i c k .

Y o m i g h t t h i n k t h a t t h e r e i n v a l u e i a s e p a r a t e p r o g r a mj u s t t t e a c h j o y s t i c k c o n t r o l . T h e r e i v e r y g r e a t v a l u e . H s m a l lc h i l d t r i e s t o l e a r n h o t o c o n t r o l t h s t i c k d u r i n g g a m e h o s h i l i k e l y t b e c o m e v e r y f r u s t r a t e d b e c a u s e t h a i m , w i n n i n g t h g a m eo a c h i e v i n g a h i g h s c o r e , i n o a t t a i n e d . I p r o g r a m t h a t t e a c h e sh o t o c o n t r o l t h s t i c k w i t h n o t h e r p u r p o s e i m i n d , a l t h a t t e n t i o n i f o c u s e d o t h a t a s p e c t . A s o o n a s t h e l i n e g o e s o f t h s c r e e n , t h p r o g r a m s t o p s . l i n e t h a t r e a d s t h f i r e b u t t o n( X A N D 3 2 ) c o u l d e a s i l y b i n s e r t e d t s t a r t t h g a m e a g a i n , a n t h p a r a m e t e r s c o u l d a l b s e a r a n d o m b o n o t h o s e n i c eI N T ( R N D ( 1 ) e x p r e s s i o n s ! A e s s e n t i a l t r u t h c a b l e a r n e d f r o m a l t h i s : t h e b e s t g a m e s a r s i m p l e !

T h f i n a l t h i n g t n o t e a b o u t t h i s p r o g r a m i t h s t a t e m e n t

9

Page 101: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 101/226

S C N C L R w h i c h c l e a r s t h e g r a p h i c s c r e e n . M a k e s p e c i a l n o t e o t h f o r m o t h I F - T H E N s t a t e m e n t w h e n f o l l o w e d b o n o t h S u p e r E x p a n d e r c o m m a n d s . T h e r e m u s t b e c o l o n a f t e r t h w o r d

6 1 N o f o s o m e t h i n g c o m p l e t e l y d i f f e r e n t ! A c t u a l l y i i b l e n do p r e v i o u s m a t e r i a l b u m a d e m u c h s i m p l e r b u s o t h S u p e rE x p a n d e r . w o u l d l i k e t t a k e m o m e n t t p o i n t o u t y o t h a t y o h a v e c o v e r e d m o s t o w h a t i t b l e a r n e d a b o u t B A S I C ; a l e a s t ,y o h a v e u s e d m o s t o t h i n s t r u c t i o n s . E v e r y t h i n g t h a t f o l l o w s w i l lt h e r e f o r e b f a m i l i a r t s o m e e x t e n t , t h e r e b e i n g v e r y f e c o m a n d s l e f t , s a v e f o t h o s e t h a t d e a l w i t h o t h e r p e r i p h e r a l s . T h o s ew i l l b d e a l t w i t h i d u c o u r s e .E n t e r t h f o l l o w i n g p r o g r a m :1 ? " f C L R H O M E ] "1 ? ' T H E N A M E O T H P R E S I D E N T O T H E U S A I S . . . . ? "2 ? : ? : ? " C H O O S E O N L Y O N N U M B E R A T I M E . . "3 ? " M A R G A R E T T H A T C H E R "3 ? P I E R R E T R U D E A U4 ? " R O N A L D C O R B E T T "4 ? " R O N A L D R E A G A N "5 ? " H A I L I E S E L A S S I E6 I N P U T7 I F A = 4 T H E N G O T O 2 0

S f a n o t h i n g h a p p e n s , y e y o c a n s e e t h a t i i a s i m p l e q u i za n t h a t i t h c o r r e c t a n s w e r i g i v e n t h p r o g r a m w i l l m o v e t s u b r o u t i n e .N o f o t h c l e v e r b i t ! Y o w i l l r e c a l l t h a t e a r l i e r i t h i s b o o ky o w e n t t g r e a t d e a l o t r o u b l e t p r o d u c e m u s i c . T h S u p e rE x p a n d e r c a d w o n d e r s w i t h s o u n d t o o !

T y p e t h f o l l o w i n g l i n e v e r y c a r e f u l l y1 0 0 ? " ( [ C T R L ] a n d [ r e v e r s e a r r o w ] , w h i c h i a t h t o l e f t o

t h k e y b o a r d ) T 8 V 9 S 2 0 3 2 C R R S 1 0 1 G G # G R G R R R B R R S 2 0 2 C R R R R R "( [ C T R L J a n d [ r e v e r s e a r r o w ] g i v e r e v e r s e F

1 1 G O T O 1 0T h e n t y p e t h f o l l o w i n g l i n e e q u a l l y c a r e f u l l y :2 0 ? ' ( [ C T R L ] a n d [ R E V . A R R O W ] ) T 3 V 9 S 3 0 3 G R R E R C R R E R R G R R B R R R R

3 0 ? ^ ? [ C T R L ] a n d [ R E V . A R R O W ] ) T 3 V 9 S 3 0 2 C R R R C R R C R C R R $E R R D R D R R C R C R R C R C R R R R R "

3 1 G O T O 1 0T h e n a d l i n e 8 a f o l l o w s :

9

Page 102: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 102/226

8 I F A = 5 T H E N 3 0 0

F o y o u r c o n v e n i e n c e , t h e c o m p l e t e l i s t i n g i i n c l u d e d i A p p e n d i xN p r o g r a m 1 7

T h i s p r o g r a m , b i t s e l f c c a b e c o m e u t t e r l y b o r i n g a f t e r j u s tf e t u r n s , b u i d o e s d e m o n s t r a t e t h w r i t i n g o m u s i c i m u c he a s i e r f a s h i o n , i y o k n o w s o m e t h i n g o m u s i c , t h a t i s T h n e c e ss a r y i n f o r m a t i o n m u s t c o v e r k n o w l e d g e o n a m e s o n o t e s a n s o m ei d e a o t h d u r a t i o n o n o t e s . T h m e a n s o a c c e s s t t h m u s i c m o d ei t h [ C T R L ] a n d l R E V E R S E A R R O W ] w h i c h m u s t f o l l o w p r i n ts t a t e m e n t a n d b e i n s i d e q u o t a t i o n m a r k s . T h e n v a r i o u s p a r a m e t e r sa r s e i t h f o l l o w i n g o r d e r :T e m p o ( T ) ; V o l u m e ( V ) ; S p e a k e r ( S f o l l o w e d b n u m b e r i n d i c a t i n gw h i c h s p e a k e r ) ; O c t a v e ( 0 ) .

T h r a n g e s a l l o w e d f o e a c h a r a f o l l o w s :T : 0 t o 9 ; S 1 - 4 ; 0 1 - 3 ; V 0 - 9 .H a v i n g s e t h e s e p a r a m e t e r s y o a r f r e e t o i n d i c a t e w h i c h

n o t e s y o w a n t s o u n d e d b p u t t i n g i t h o r d i n a r y l e t t e r n a m e s b w h i c h m u s i c a l n o t e s a r k n o w n . A w i t h n o r m a l m u s i c w r i t i n g ,s h a r p i p l a c e d b e f o r e t h n o t e t b m o d i f i e d . T h s a m e i t r u ef o f l a t t e n e d n o t e , e x c e p t t h a t t h s y m b o l f o f l a t i t h $ R e s t s , o s o u n d l e s s p e r i o d s b e t w e e n n o t e s , a r i n d i c a t e d b t h l e t t e r R r e p e a t e d f o a s l o n g a n e c e s s a r y .

C o n c e r n i n g t e m p o , i i i m p o r t a n t t n o t e t h a t t h e h i g h e r t h ef i g u r e s e l e c t e d t h s l o w e r w i l l b t h t e m p o . T r c h a n g i n g t h n u m b e r a f t e r t h i e a c h o t h s t a t e m e n t s t p r o d u c e d i f f e r e n tt e m p i . T h c o m p l e t e p r o g r a m i l i s t e d i A p p e n d i x I

T h s u b j e c t o f m u s i c o t h V I C - 2 0 ( a n d i t b i g b r o t h e r t h eC o m m o d o r e 6 4 i w o r t h y o b o o k o i t o w n . T h e r e a r c o u p l e o p r o g r a m s i A p p e n d i x t h a t m a k e g o o d u s o t h e i r m u s i c p r o p e ns i t i e s , w i t h a n w i t h o u t t h S u p e r E x p a n d e r .

L e t ' s e x p l o r e s o m e t h i n g e l s e ; t h d r a w i n s t r u c t i o n . T y p e t h f o l l o w i n g l i n e s :

1 G R A P H I C 2 - . C O L O R 1 1 , 6 , 6 , 61 D R A W 2 , 2 6 , 2 6 T O 2 0 0 , 2 0 0

T h i s p r o d u c e s d i a g o n a l l i n e .

2 0 D R A W 2 , 2 0 0 , 2 0 0 T 2 0 0 , 4 0 0

T h i s d r a w s l i n e f r o m t h c o o r d i n a t e s x = 2 0 0 , y = 2 0 0 t t h n e s p o t x = 2 0 0 ( i o t h e r w o r d s t h s a m e c o l u m n a b e f o r e ) , y = 4 0 0 o t h 4 0 0 t h l i n e d o w n f r o m t h t o p .

9

Page 103: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 103/226

3 D R A W 2 , 2 6 , 2 2 6 T O 2 0 0 , 4 0 04 0 D R A W 2 , 2 6 , 2 6 T O 2 6 , 2 2 6T h e r e y o a r e . Y o h a v e s i d e o b o x : n o v e r y r e m a r k a b l e ,c e r t a i n l y , b u i i s t a r t .

r a n g e o m o u n t a i n s m i g h t b d r a w n a f o l l o w s :

5 D R A W 2 . 0 . 1 0 2 3 T O 1 0 0 , 8 2 06 D R A W 2 . 1 0 0 , 8 2 0 T O 1 1 0 , 8 4 07 D R A W 2 , 1 1 0 , 8 4 0 T O 1 9 0 , 6 2 38 D R A W 2 , 1 9 0 , 6 2 3 T O 3 0 0 , 7 9 09 D R A W 2 , 3 0 0 , 7 9 0 T O 4 6 0 , 5 1 01 0 D R A W 2 , 4 6 0 , 5 1 0 T O 8 2 5 , 9 0 01 1 D R A W 2 , 8 2 5 , 9 0 0 T O 1 0 2 3 , 1 0 2 3

T h e s e c o u l d b t h R o c k i e s o t h S n o w y M o u n t a i n s o S n o w d o n i a !N o a d t h f o l l o w i n g l i n e s :

6 C O L O R 1 1 , 5 , 5 , 58 C O L O R 1 1 , 6 , 1 , 61 0 C O L O R 1 1 , 5 , 5 , 5

N o a d t h s u i t h r i g h t h a n d c o r n e r :1 2 C I R C L E 1 5 , 8 9 0 , 1 0 0 , 2 0 , 2 0

F o l l o w e d b r a y s o t h s u s h i n i n g b r i g h t l y o t h e m o u n t a i n :1 3 D R A W 7 , 4 6 0 , 5 1 0 T O 8 7 0 , 1 2 01 4 D R A W 7 , 8 2 5 , 9 0 0 T O 9 1 0 , 8 0

A n t h e n , t t o t h i n g s o f f :

1 5 C I R C L E 1 , 5 0 0 , 1 0 0 , 7 0 , 3 01 6 C I R C L E 1 , 6 0 0 , 1 2 0 , 9 5 , 3 01 7 P A I N T 1 , 5 0 0 , 1 0 01 8 0 P A I N T 4 , 6 0 0 , 1 2 0

N o w , d n o t h i n k f o o n m o m e n t t h a t t h i s e f f o r t i l i k e l y t e n d u p i a n a r t c o l l e c t i o n . T h a t t h i n g i t h l e f t c o r n e r l o o k s l i t t l eo d t s a t h l e a s t . B u t y o u c a s t a t e o n u n d e n i a b l e t r u t h a b o u tc o m p u t e r s : t h e y w i l l s a v e a c o n s i d e r a b l e a m o u n t o w o r k a n y e l e a v e m u c h t t h p r o c e s s o c r e a t i v i t y . Y o p r o b a b l y w o n ' t c a l lc o m p u t e r p i c t u r e s a r t , a n y e t t h e r e i n d o u b t t h a t t h e n t i r ep r o c e d u r e o p u t t i n g c o m p l e x p r o g r a m , i n c l u d i n g s o u n d , g r a p h i c sa n s o n t o g e t h e r q u i t e w a b e y o n d m e r e s c i e n c e .

N p i c t u r e s h o u l d b w i t h o u t t i t l e , a n s o 1 9 C H A R 3 , 8 , " T H E H I L L "

9

Page 104: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 104/226

A n t c o m p l e t e t h w h o l e t h i n g , a d a p p r o p r i a t e m u s i c , a n e r a s et h a t f u n n y o b j e c t i t h e c o r n e r !

2 0 ? " [ i n v e r s e F ] T 7 V 3 S 2 0 2 C C E G "2 1 ? " ( [ i n v e r s e E ] ) S 3 0 2 C C C2 2 ? " ( [ i n v e r s e F ] ) S 2 0 2 A A "

A n t h e i g h t e n t h e f f e c t s o m e w h a t :1 9 F O R D = 1 T O 2 0 0 0 : N E X T DF i n a l l y a d p a u s e b e f o r e t h e d a r k n e s s s t e a l s o v e r t h s k l e a v i n go u m o u n t a i n r a n g e b a t h e d i m o o n l i g h t2 2 F O R D = 1 T O 4 0 0 : N E X T2 2 P A I N T 6 , 0 , 1 0 0

k n o w ! T h w h o l e t h i n g i q u i t e a w f u l ! A n y e i m i g h t c a u s e ac h u c k l e o r t w o .

L i n e 2 2 i s o m e w h a t o f a k e . I d o e s n ' t m a t t e r w h a t y o u g i v ea s t h e p a r a m e t e r s , y o w i l l e n u w i t h e v e r y t h i n g d a r k o v e r t h m o u n t a i n , w i t h j u s t o n c l o u d a n t h m o o n . T h o n l y d i f f e r e n c e i t h w a i w h i c h t h d a r k n e s s w i p e s o n Y o m i g h t e x p e r i m e n t w i t ht h i s . A g a i n , t h c o m p l e t e p r o g r a m i l i s t e d i n A p p e n d i x N p r o g r a m1 8

T h s o u n d i n s t r u c t i o n a l l o w s y o t s e a l f o u r s p e a k e r s a o n t i m e i t h o r d e r S t o S 4 , f o l l o w e d b v o l u m e s e t t i n g b e t w e e n( s i l e n c e ) a n 1 5

T h i s s a v e s a l o o p o k i n g a b o u t a n a l l o w s f o s i m p l e b u e f f e c t i v e t h r e e p a r t h a r m o n y w r i t i n g . T h t e m p o w o u l d b f i x e d i m u c h t h s a m e w a a i t h d a t a s t a t e m e n t s y o s a i a e a r l i e rp a r t o f t h i s b o o k . H o w e v e r , t h n u m b e r r e l a t i n g t t h d u r a t i o nb e t w e e n s o u n d s m u s t b s e i F O R - N E X T l o o p . A l t e r n a t i v e l y ,t h f r e q u e n c y f o e a c h v o i c e , t h d u r a t i o n , a n t h v o l u m e c a b p l a c e d i d a t a s t a t e m e n t s . K e e p i n g t r a c k o f i a l c a b r a t h e rc o m p l e x h o w e v e r .

S f a y o h a v e l a b o r i o u s l y t y p e d i e a c h o t h e s t a t e m e n t s y o d e s i r e d . T h e r e i q u i c k e r w a y . O t h r i g h t o f t h k e y b o a r d t h e r ea r f o u r l i g h t - b r o w n k e y s . T y p e t h n u m b e r 1 a n t h e n p r e s s t h k e m a r k e d 1 T h r e s u l t i s 1 G R A P H I C . Y o c a n o a d t h a p p r o p r i a t e d i g i t , f o l l o w i w i t h a c o l o n , a n t h e n p r e s s s h i f t a n t h

k e w h i c h h a f m a r k e d o t h f r o n t . T h i s g i v e s y o a c c e s s t f a n t h r e s u l t i C O L O R ! E a s y i s n ' t i t ?

E a c h o t h p r o g r a m m a b l e f u n c t i o n k e y s h a b e e n p r e s e t t

9

Page 105: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 105/226

p r o v i d e s e v e n o t h n e c o m m a n d s a v a i l a b l e t y o i t h S u p e rE x p a n d e r . H o w e v e r , s o m e c o r r e c t i o n s m u s t b m a d e t t h s t a t em e n t s i t h m a n u a l t h a t c o m e s w i t h t h S u p e r E x p a n d e r . Y o w i l ln d o u b t h a v e d i s c o v e r e d t h e m f o y o u r s e l f i v e r y s h o r t s p a c e o t i m e , b u h e r e t h e y a r i a n c a s e .f l = G r a p h i c , f 2 = C o l o r , f 3 = D r a w , f 4 = S o u n d , f 5 = C i r c l e , f 6 = P o i n t( n o t R u n + R e t u r n ) , f 7 = P a i n t ( n o t P o i n t ) , f 8 = L i s t + R e t u r n .

U s o t h e s e p r o g r a m m a b l e , o i t h i s c a s e , p r e s e t k e y s s a v e s al o o f t i m e . I y o w i s h t c h e c k a a n t i m e t h e x a c t v a l u e o t h f u n c t i o n k e y s m e r e l y t y p e , i d i r e c t m o d e , t h w o r d K E a n p r e s st h r e t u r n k e y .

T h f u n c t i o n k e y s a r e v e n m o r e u s e f u l t h a n t h a t ! T h e y c a b p r o g r a m m e d f r o m w i t h i n a p r o g r a m t o u t p u t w h a t e v e r y o u w i s h .N o r m a l l y t h i s w o u l d b e d o n e b y l i n e s u c h a s

1 I A $ = C H R $ ( 1 3 3 ) T H E N A $ = " E X A C T L Y "C H R $ ( 1 3 3 ) i f u n c t i o n k e 1 o f l W i t h t h S u p e r E x p a n d e r o n e n e e d o n l y t y p e :

1 K E Y 1 . " E x a c t l y "

a n t h e r e a f t e r , u n t i l y o s w i t c h t h c o m p u t e r o f t t h a t k e w i l lc o n t a i n o n l y t h o s e c o n t e n t s . I y o w i s h t u s C H A R o S C N C L Ri n s t e a d o L I S T + R E T U R N , y o u w o u l d m e r e l y c h a n g e t h c o n t e n t so k e t c o n f o r m w i t h y o u r w i s h e s . S i m p l y t y p e t h w o r d K E a l o n e t f i n d o u w h a t t h o s e c o n t e n t s a r e , j u s t i c a s e y o h a v ef o r g o t t e n !

I n o r m a l u s e , y o w o u l d p e r h a p s b e g i n a p r o g r a m i n o r m a lt e x t m o d e e i t h e r g o i n g t g r a p h i c m o d e a s t h e p r o g r a m p r o g r e s s e so u s i n g s u b r o u t i n e . I i i m p o r t a n t t h a t t h e r e t u r n t t e x t m o d e b i n d i c a t e d b u s o t h i n s t r u c t i o n G R A P H I C 4 . T a k e g r e a t c a r e t h a ty o k e e p t r a c k o t h m o d e y o a r i f o i y o a r e a l r e a d y i t e x tm o d e a n y o a t t e m p t t u s G R A P H I C 4 , y o w i l l c r a s h t h s y s t e ma n l o s e y o u r p r o g r a m . T h i s i o n l y l i k e l y t h a p p e n w h i l e y o a r d e v e l o p i n g p r o g r a m , h o w e v e r , s i i t h e n t h a t y o s h o u l d b m o s t c a r e f u l .

Q u i t e c l e a r l y t h S u p e r E x p a n d e r i h i g h l y u s e f u l p e r i p h e r a la l l o w i n g y o t p r o v i d e l a r g e d e g r e e o p o l i s h t o y o u r p r o g r a m sw i t h t h l e a s t a m o u n t o e f f o r t .

C A P S U L E R E V I E WT h w o r k i n g s p a c e i c o m p u t e r i k n o w n a R A M , w h i c h

9

Page 106: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 106/226

s t a n d s f o r a n d o m a c c e s s m e m o r y . T h V I C - 2 0 c o m e s w i t h a b o u t3 V t h o u s a n d b y t e s o w o r k i n g a r e a , w i t h w h i c h y o c a d s o m er e m a r k a b l e t h i n g s , b u s o o n e r o l a t e r t h e r e w i l l c o m e t i m e w h e ny o w i l l n e e d m o r e R A M . v e r y c o n v e n i e n t w a o b o t h a d d i n gR A a n a d d i n g a s u p e r s e t o t h B A S I C l a n g u a g e , a l l o w i n g f o m o r e t r i c k s w i t h o u t l o o h a r d w o r k , i t b u t h S u p e r E x p a n d e r .

T h e n a m e o t h d e v i c e m u s t r e f l e c t t h f a c t t h a t n o t o n l y i t h e r e m o r e R A M , a c t u a l l y m o r e k i l o b y t e s , b u a l s o a e x t r a s e o i n s t r u c t i o n s t h a t d e a l w i t h g r a p h i c s , s o u n d , j o y s t i c k s , a n p a d d l e s .T e i n s t r u c t i o n s t h a t a v o i d t h u s o e x t e n s i v e p o k e s a n d p e e k s a r n o a v a i l a b l e . T h e y a r e :

G R A P H I CS C N C L RC O L O RR E G I O ND R A WP O I N TC I R C L EP A I N TC H A RS O U N D

s e t s u g r a p h i c d i s p l a yc l e a r s g r a p h i c s c r e e ns e t s u s c r e e n , b o r d e r , c h a ra c t e r , a n a u x i l i a r y c o l o r ss e l e c t s c h a r a c t e r c o l o rp l o t s l i n e s b e t w e e n p o i n t sp l o t s s i n g l e p o i n t sd r a w s c i r c u l a r a n r e l a t e df i g u r e sa l l o w s c o l o r e d a r e a ss e t s t e x t o s c r e e n f u l lo g r a p h i c ss e t s a l f o u r s p e a k e r s a o n t i m e

I a d d i t i o n , t h S u p e r E x p a n d e r m a k e s s y s t e m o w r i t i n gm u s i c , w h i c h a l l o w s t h e u s o n o t e n a m e s , a v a i l a b l e . T h i s s y s t e m i c l o s e r t n o r m a l m u s i c a l p r a c t i c e s t h a n t h a s s i g n m e n t o n u m e r i c a lv a l u e s t h a t b e a r n r e l a t i o n t f r e q u e n c y o r p i t c h .

S e v e n f u n c t i o n s a r a l s o m a d e a v a i l a b l e , t h m o s t u s e f u l o w h i c h a r R J O Y ( x ) a n R P O T ( x ) , w h i c h d e a l w i t h t h j o y s t i c k a n t h g a m e p a d d l e r e s p e c t i v e l y . T h g a m e p a d d l e p r o c e s s i t s o m ee x t e n t s i m p l e r t h a n t h j o y s t i c k t m a n a g e a n u n d e r s t a n d . A w i t he v e r y t h i n g e l s e , p r a c t i c e m a k e s p e r f e c t !

T h e r e a r f o u r g r a p h i c m o d e s , t 3 a n f i f t h , l a b e l e d 4 w h i c h r e t u r n s t h p r o g r a m t o t e x t m o d e . T h f i r s t m o d e , 0 i t h n o r m a l t e x t m o d e , h o w e v e r , s e t t i n g t h m o d e t z e r o a f t e r s o m eo t h e r m o d e h a b e e n i u s w i l l n o w o r k . T h m o d e m u s t n o b u s e d i t h c o m p u t e r i a l r e a d y i t e x t m o d e o e l s e t h s y s t e m w i l lc r a s h , a n r e s e t t i n g b t u r n i n g t h V I C - 2 0 o f a n t h e n b a c k o n i r e q u i r e d — w h i c h i m o s t u p s e t t i n g .

9

Page 107: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 107/226

C O L O R c o n t r o l s f o u r r e g i s t e r s , e a c h d e f i n e d b n u m b e r a n p l a c e d i t h o r d e r s c r e e n , b o r d e r , c h a r a c t e r , a n a u x i l i a r y . T h s e t t i n g s f o e a c h a r l i m i t e d a f o l l o w s :s c r e e n t 1 5 b o r d e r t 7 c h a r a c t e r t i G r a p h i c sm o d e a n t 1 i m u l t i c o l o r m o d e , a u x i l i a r y t 1 5 T h f i f t e e nc o l o r s a n s h a d e s a v a i l a b l e a r a f o l l o w s :

b l a c kw h i t er e c y a np u r p l eg r e e nb l u ey e l l o w

1 1 1 1 1 1

o r a n g el i g h t o r a n g ep i n kl i g h t c y a nl i g h t p u r p l el i g h t g r e e nl i g h t b l u el i g h t y e l l o w

I w o u l d a p p e a r f r o m t h i s t h a t t h e r e a r 1 h u e s , s h a d e s , o c o l o r s a v a i l a b l e f o t h c h a r a c t e r s . T h i s i n o t s o b e c a u s e t h n u m b e r s t 1 a r u s e d i p l a c e o t i m u l t i c o l o r m o d e .

T h i s m a b e s t b i l l u s t r a t e d b t h f o l l o w i n g s h o r t p r o g r a m .1 G R A P H I C 1 : C O L O R 0 , 0 , 2 , 6 S e t s s c r e e n t

b l a c k , b o r d e rt b l a c k , c h a ra c t e r t r e d , a n a u t b l u e

2 C H A R 2 . 2 / T H I S I I T T e x t a p p e a r s I r o s t a r t i n gi c o l u m n3 R E G I O N 7 A f f e c t s c h a r a ct e c o l o r , w h i c hi y e l l o w h e r e

4 C H A R 4 . 3 , " T H I S I S N ' T "5 R E G I O N6 C H A R 6 , 2 , " T H I S C O U L D B I T C h a r a c t e r b l u e7 R E G I O N 38 C H A R 8 , 4 , " B U T I I S N T " C h a r a c t e r n o

c y a n9 R E G I O N 51 0 C H A R 1 0 , 3 , " I S I T ? "1 1 R E G I O N 1 1 2 C H A R 1 2 . 5 , " W E L L N O W ! ! ! "C h a n g i n g t h G R A P H I C v a l u e w i l l d e m o n s t r a t e v a r i o u s e f f e c t s . B w a r n e d t h a t y o m a s e s l i g h t l y d i f f e r e n t s h a d e s r e s u l t i n g n o t o n l yf r o m y o u r s e b u a l s o f r o m t h c o n d i t i o n s u n d e r w h i c h y o u v i e w t h s c r e e n . S o m e s e t s w i l l s h o w a k i n d o s h i m m e r , a n e f f e c t , w h i c hu n d e r c e r t a i n c i r c u m s t a n c e s ( a i t h f o r m u l a i c i m a g e s i t h n e x tc h a p t e r , f o r e x a m p l e ) , c a b q u i t e c h a r m i n g . B o t h g r e e n a n a m b e r

9

Page 108: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 108/226

s c r e e n s c a b s i m u l a t e d b u s o t h e a p p r o p r i a t e g r a p h i c m o d e a n c o l o r s e t .

T h s c r e e n i d i v i d e d i n t o p i x e l s 1 0 2 4 a c r o s s a n d 1 0 2 4 d o w nf o t h p u r p o s e o a d d r e s s i n g p o i n t s . T h i s n o m e n c l a t u r e i t r a n sl a t e d b t h V I C - 2 0 i n t o t h a c t u a l r e s o l u t i o n . T h u s t h e c e n t e r o t h s c r e e n i 5 1 2 , 5 1 2 . T h f i r s t n u m b e r r e f e r s t o t h h o r i z o n t a l a x i s a n t h s e c o n d t t h v e r t i c a l . T h i s p o i n t c a b e i t h e r s i n g l e s p o t ,w h e n t h p o i n t i n s t r u c t i o n i u s e d , o t h e c e n t e r o c i r c l e , e l l i p s eo a r c .

L i n e s c a b d r a w n f r o m p o i n t t o p o i n t b u s i n g t h d r a wi n s t r u c t i o n . I e a c h c a s e t h e f i r s t n u m b e r g i v e n i t h h o r i z o n t a l a n t h s e c o n d t h v e r t i c a l . T h u s D R A W l , 2 0 0 , 2 0 0 T O 3 0 0 , 3 0 0 T O 5 0 0 ,4 0 0 T O 6 0 0 , 3 0 0 T O 2 0 0 , 2 0 0 w i l l p r o d u c e a o d s h a p e , y e i n c l u d et h a p p r o p r i a t e p o i n t s .

T h p a i n t s t a t e m e n t f i l l s e n c l o s e d a r e a s w i t h t h c h o s e n c o l o r ,y e t c a r e m u s t b e x e r c i s e d o r e l s e t h e n t i r e s c r e e n w i l l b p a i n t e dw h e t h e r y o u w a n t i t b o n o t ! T h m o u n t a i n s c e n e i t h i s c h a p t e ri j u s t s u c h a e x a m p l e .

S e v e n o t h g r a p h i c s i n s t r u c t i o n s a r p r e s e t l i k e o r g a n s t o p s .T h e y a r a c c e s s e d b p r e s s i n g t h l i g h t b r o w n k e y s , k n o w n a f u n c t i o n k e y s , t o t h r i g h t o t h m a i n k e y b o a r d . T h v a l u e s o t h e s ek e y s m a b d i s c o v e r e d b t y p i n g t h w o r d K E a n p r e s s i n g t h er e t u r n k e y . K e a l l o w s f o r a p i d l i s t i n g o a n p r o g r a m , w h e t h e rg r a p h i c p r o g r a m o n o t .

T h v a l u e s o t h f u n c t i o n k e y s c a b a l t e r e d t o s u i t y o u rn e e d s . A o f t e n u s e d i n s t r u c t i o n o f u n c t i o n , s u c h a R J O Y , c a b a s s i g n e d t o n o t h k e y s f o a e n t i r e p r o g r a m m i n g s e s s i o n . T h v a l u e w i l l r e v e r t t t h a t o t h o r i g i n a l s e t t i n g w h e n t h c o m p u t e r i n e x t s w i t c h e d o n T h f u n c t i o n k e y s c a n , o f c o u r s e , b e u s e d i t h n o r m a l f a s h i o n , w h i c h w i l l b c o v e r e d i a n o t h e r c h a p t e r .

U s i n g t h S u p e r E x p a n d e r t h s o u n d f u n c t i o n i v e r y s i m i l a r i o p e r a t i o n t t h g r a p h i c s f u n c t i o n . V o l u m e i s e b a s s i g n i n gv a l u e t V a n t e m p o , b a s s i g n i n g v a l u e t T T h s p e a k e r s a r el a b e l e d S 1 , S 2 , S 3 , a n S 4 w h e n t h S u p e r E x p a n d e r s y s t e m i u s e d .T h S u p e r E x p a n d e r s y s t e m i r e a c h e d b t y p i n g P R I N T f o l l o w e db t h C T R L a n l e f t a r r o w k e y s ( n o t l e f t c u r s o r ! ) . T , V , a n a r t h e n s e t , i t h a t o r d e r f o l l o w e d b t h o c t a v e s e l e c t i o n ( t h e l e t t e r ,n o t t h e n u m b e r ! ) . N o t e s a r n a m e d a i c o n v e n t i o n a l m u s i c C D E a n s f o r t h . A c c i d e n t a l s ( s h a r p s a n f i a t s ) a r p l a c e d b e f o r e t h en o t e , e x a c t l y a i m u s i c a l n o t a t i o n . N o t e t h a t o n l y s e v e n n o t e s o t h d i a t o n i c s c a l e a r a v a i l a b l e . T h o c t a v e m u s t b c h a n g e d i o r d e r t r e a c h n o t e s l o w e r t h a n o h i g h e r t h a n B .

1 0

Page 109: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 109/226

C h a p t e r 1

M a g a z i n e s c o n t a i n l o t s o a d v e r t i s e m e n t s f o c o m p u t e r s a n l o t s o t h o s e a d v e r t i s e m e n t s s h o w s c r e e n w i t h c l e v e r p a t t e r n s o t h e m .T h o s e c l e v e r p a t t e r n s a r e w e l l w i t h i n y o u r r e a c h w i t h t h S u p e rE x p a n d e r .

U S I N G F O R M U L A S W I T H T H E S U P E R E X P A N D E RT y p e i t h f o l l o w i n g p r o g r a m :

1 G R A P H I C 2 : C O L O R 2 , 3 , 4 , 52 F O R X = 1 T O 1 0 2 3 : Y = 1 0 0 + 5 0 * S I N ( X / 2 0 )3 0 P O I N T 5 . X . Y4 N E X T X

W h e n y o h a v e r u t h i s p r o g r a m , t r c h a n g i n g t h v a l u e s i t h e x p r e s s i o n Y = f i r s t c h a n g e t h 5 t 2 0 T h e w a v e i s h a l l o w e r ,t h a t i s t h a m p l i t u d e i l e s s . N o i n c r e a s e t h e v a l u e t 1 0 0 . Y o a r i d a n g e r o g o i n g o v e r t h e t o p o t h s c r e e n , t h e r e f o r e c h a n g e t = 1 0 0 + 1 0 0 * S I N ( X / 2 0 ) , t h e r e b y b r i n g i n g t h e w a v e d o w n t t h m i d d l e o t h s c r e e n .

N o a d l i n e 1 5 1 Z = 5 0 0a n t h e n s u b s t i t u t e t h f i r s t n u m b e r i f o Z Y o u r l i n e s h o u l d n o r e a dY = Z + 1 0 0 * S I N ( X / 2 0 )

1 0

Page 110: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 110/226

T h e n a d d :

5 Z = Z + 1 0 06 G O T O 2 0

N o y o h a v e t w w a v e s , 1 0 p o i n t s a p a r t . A l e a s t , y o w i l lh a v e o n l y t w o w a v e s i y o s t o p t h e p r o g r a m a t h e n o t h s e c o n do n e . T h G O T O 2 e n s u r e s t h a t t h c o m p u t e r w i l l c o n t i n u e t d r a ww a v e s f o r e v e r !

W h a t a b o u t s o m e t h i n g l i t t l e m o r e d e c o r a t i v e ? C h a n g e t h e x p r e s s i o n i l i n e 2 t r e a d

Y = Z + S I N ( X / 3 0 ) » C O S ( X / 1 5 ) * 5 0D o e s n ' t t h a t l o o k j u s t l i t t l e l i k e t h e h a t s h a p e y o s e i t h o s e a d s ?

N o c h a n g e t r e a d F O R X = 2 0 0 T 4 5 0 . 1 k n o w i l o o k sl i t t l e p e c u l i a r t o s t a r t F O R - N E X T l o o p a p o i n t o t h e r t h a n 1 b u d o n ' t f o r g e t t h a t i s t a r t i n g p o i n t o t h s c r e e n . W h e n y o u h a v es e e n w h a t t h a t d o e s m a k e t h f o l l o w i n g a l t e r a t i o n s :

1 A = 1 F O R I = 1 T O 1 01 V = 3 0 : H = 1 5 ( k n o w t h a t i o u o o r d e r , b u i m a k e s t h f o l l o w i n g l i t t l e

c l e a r e r .

I l i n e 2 c h a n g e t r e a d :

2 Y = Z + S I N ( X / V ) * C O S ( X / H ) * 5 03 P O I N T A , X , Y5 X = Z + 2 06 V = V - 1 : H = H + 16 A = A + 17 N E X T I

T h i s t i m e t h p a t t e r n s c h a n g e v e r y s l i g h t l y a n t h c o l o r a l s oc h a n g e s . T h c o m p l e t e l i s t i n g i i n c l u d e d i A p p e n d i x N p r o g r a m1 9

T h p r o c e s s i t r i f l e s l o w b e c a u s e w h a v e t u s t h e p o i n tc o m m a n d . T h d r a w c o m m a n d p r o d u c e s s t r a i g h t l i n e s .L e t ' s e x p l o r e t h f o r m u l a p r o c e s s l i t t l e m o r e , f o t h a t i w h a t

d o e s a l t h f a n c y w o r k f o u s T r t h i s o n e :

1 G R A P H I C 2 : C O L O R 1 , 3 , 5 , 72 R = . 8 : P I = p i / 3 0 : P 2 = 2 « p i / 3 ( p i i s t h a t m a g i c n u m b e r 3 . 1 4 2 . . . f o u n d j u s t

n e x t t t h r e s t o r e k e y . P r e s s t h s h i f t k e a n t h i s k e y . )

3 F O R T = 0 T O 4 . 0 8 S T E P P I ( y o u c a c h a n g e t h 4 . 0 8 , b u m a k e i n l a r g e r t h a n a b o u t 4 . 2 )

1 0

Page 111: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 111/226

4 0 R = R « 1 . 1 7 5 5 75 X 1 = C O S ( T ) * R + 5 0 0 : Y 1 = S I N ( T > R + 5 0 06 A = T * P 27 X 2 = C O S ( A ) « R + 5 0 0 : Y 2 = S I N ( A ) * R + 5 0 08 D R A W 1 , X 1 , Y 1 T O X 2 , Y 29 B = T + 2 * P 21 0 X 1 = C O S ( B ) « . R + 5 0 0 : Y 1 = S I N ( B ) « - R + 5 0 01 1 D R A W 1 , X 1 , Y 1 T O X 2 , Y 21 2 X 2 = C O S ( T > R + 5 0 0 : Y 2 = S I N 0 > R + 5 0 01 3 D R A W 1 , X 1 , Y 1 T O X 2 , Y 21 4 N E X T

M a k e a b s o l u t e l y s u r e t h a t y o u h a v e e n t e r e d e v e r y l i n e e x a c t l y .Y o m i g h t t h i n k t h a t s u c h a a d m o n i s h m e n t i u n n e c e s s a r y , y e y o w o u l d b s u r p r i s e d h o o f t e n a s i m p l e t y p o g r a p h i c a l e r r o r c a c a u s e a g r e a t d e a l o f g r i e f a n f r u s t r a t i o n . T g i v e y o a e x a m p l e :i u s i n g t h f u n c t i o n k e y s o t h V I C - 2 0 S u p e r E x p a n d e r , s o m eh o g o i n t o t h h a b i t o p l a c i n g c o m m a a f t e r t h g r a p h i c c o m a n d . w o u l d t y p e i m p r o g r a m a n l e a n b a c k w i t h t h g r e a t e s t o s a t i s f a c t i o n a t y p e d r u a n t h e n p r e s s e d t h r e t u r n k e y . Y o c a i m a g i n e m a n n o y a n c e w h e n t h p r o g r a m w o u l d c r a s h a n t h h o r r i d m e s s a g e S Y N T A X E R R O R i 1 w o u l d a p p e a r o t h s c r e e n .I ' q u i c k l e a r n e r , t h o u g h : n o k n o w s t r a i g h t a w a y w h a t t h p r o b l e m i w h e n t h m e s s a g e a p p e a r s !

W h e n y o f i r s t r u t h i s p r o g r a m , y o m i g h t t h i n k t h a t n o t h i n gh a p p e n s . I b e g i n s v e r y s l o w l y w i t h d o t , a n t h e n a n o t h e r a n t h e n

f e m o r e a n t h e n — w e l l , y o c a f i n d o u f o y o u r s e l f .H e r e ' s a n o t h e r

1 G R A P H I C 2 : C O L O R 1 , 3 , 6 , 72 A = 1 0 0 : B = 1 8 0 : C = 9 03 A N = 3 6 0 / A4 F O R N = 1 T O A S T E P 4 : T = N * A N5 X = B * C O S ( T ) + 2 0 0 : Y = C « S I N ( T ) + 1 5 06 D R A W 1 , 8 0 0 , 8 0 0 T O X , Y7 N E X T

Y o c a h a v e l o o f u w i t h t h i s o n b c h a n g i n g t h v a r i a b l e sA B a n C S o m e o t h n u m b e r s y o c h o o s e w i l l p r o d u c e t h I L L E G A L Q U A N T I T Y E R R O R m e s s a g e . D o n ' t w o r r y a b o u t i t j u s tc h a n g e t h e m t s o m e t h i n g e l s e . B e t t e r s t i l l , p u t a G O S U B a 2 l e a d i n g y o t o s a y , 1 0 0 . W r i t e f e l i n e s a l l o w i n g y o t i n p u tv a l u e s f o t h v a r i a b l e s . D o n ' t f o r g e t t h e r e t u r n s t a t e m e n t . A t 9 0y o c o u l d p u t a s h o r t d u r a t i o n l o o p f o l l o w e d b s c r e e n c l e a r a n G O T O s e n d i n g c o n t r o l t t h b e g i n n i n g a g a i n . Y o o a n y o n e e l s ec o u l d h a v e f u f o h o u r s w i t h t h i s o n e .

T h n e x t p r o g r a m i n o v e r y l o n g , a n y e t h p r o d u c t t a k e s a

1 0

Page 112: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 112/226

a s t o n i s h i n g a m o u n t o t i m e t a p p e a r o t h e s c r e e n . m u s t c o n f e s sh a v e n o s e e n t h c o m p l e t e o u t c o m e m y s e l f . t h i n k k n o w w h a t t h r e s u l t s h o u l d l o o k l i k e . d k n o w w h a t t h f i r s t t e m i n u t e s l o o kl i k e . s u g g e s t t h a t y o l e i r u o v e r n i g h t , o s o m e t i m e w h e n y o a r a w a y f o t h w e e k e n d . Y o c o u l d g i v e i t y o u r V I C - 2 0 w h e ny o a r e c r o s s w i t h i a n w a n t r e v e n g e !

1 2 3 X P « 3 0 0 : X R « 2 . 2 * f f4 6 0 F O R Z I s - Q T O Q - 17 I F Z K - Z P Q R Z I > Z P G O T O 1 5 03 0 Z T » Z I * X P / Z P = Z Z » Z I9 X L « I N T < . 5 + S Q R < X P # X P - Z T # Z T > >1 0 F Q R X I » - X L T O X L1 1 X T = S Q R < X I # X I + Z T # Z T > * X F ' X X » X I1 2 Y V * C S I N < X T > + . 4 # S I N < 3 * X T > > * Y F1 3 G O 8 U B 1 7 01 4 N E X T X I1 5 N E X T Z I1 6 S T O P1 7 X 1 = X X + Z Z + P1 3 Y 1 « W - Z Z + Q1 9 P O I N T 2 , X 1 , Y 12 0 I F Y 1 « 0 G O T O 2 2 02 1 0 P O I N T 2 , X 1 , Y 1 - 1 , X 1 , 02 2 0 R E T U R N

T r v a r i a t i o n s o t h v a r i a b l e s i t h f i r s t t w o t h r e e l i n e s t s e i y o c a p r o d u c e d i f f e r e n t v a r i e t i e s o t h o b j e c t . C a y o m a k e i t a l l e r o w i d e r , o r e d e s i g n i a l t o g e t h e r ? W i t h a s t u t ea l t e r a t i o n o f v a r i a b l e s i i p o s s i b l e t c h a n g e t h s i z e o f a n o t h r e s u l t s o t h p r o g r a m s i n t h i s c h a p t e r . Y o c a p u m o r e t h a n o n p a t t e r n o t h s c r e e n a o n c e .

A n o t h e r t r i c k y o m i g h t t r w i t h t h i s p r o g r a m i t a l t e r t h c o l o r s t h a t t h o b j e c t i s h a d e d . I n c i d e n t a l l y , t h e y s a t h a t t h b e s tt y p e o s c r e e n i o n w h i c h p r o d u c e s a a m b e r i m a g e o d a r kb a c k g r o u n d . H e r e y o h a v e i t

F i n d i n g u s f o t h p r o g r a m s b e y o n d m e a n s o g e n e r a t i n go n o t w p r e t t y p a t t e r n s m i g h t s e e m d i f f i c u l t . H o w e v e r , c o n s i d e rt h a t t h m e a t o t h p r o g r a m , t h t h i n g t h a t m a k e s t h p r o g r a mw o r k , i t h f o r m u l a t h a t d r i v e s t h e p o i n t s a l o v e r t h s c r e e n .

A l t h o u g h t h t o p i c o c o m p u t e r a s s i s t e d i n s t r u c t i o n i l a r g eo n w o r t h y o s e p a r a t e t r e a t m e n t ( b o o k w i l l a p p e a r o t h i s s u b j e c tf o t h V I C - 2 0 a n C o m m o d o r e 6 4 ) , c o n s i d e r f o t h m o m e n tt e a c h i n g p r o g r a m t h a t d e m o n s t r a t e s , i v i s u a l f o r m , t h e r e s u l t s o p a r t i c u l a r f o r m u l a .

1 0

Page 113: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 113/226

P e r h a p s y o m i g h t l i k e t t r y o u r h a n d a t h p r o d u c t i o n o p r o g r a m t h a t i m e n u d r i v e n . T h s t u d e n t c o u l d s e l e c t e a c h p a r t o ft h p r o g r a m e i t h e r b c h o o s i n g t h e r e s u l t " f a n - s h a p e d f i g u r e " ; o b c h o o s i n g t h f o r m u l a . B a l l o w i n g t h e s t u d e n t s t e n t e r v a l u e sf o t h v a r i a b l e s w i t h t h i n p u t s t a t e m e n t , v a r i o u s e f f e c t s c o u l d b n o t e d a n t a u g h t . W a r n i n g s a b o u t v a l u e s t h a t p r o d u c e i n c o n g r u o u sr e s u l t s o w h i c h c a n n o t b h a n d l e d c o u l d b g i v e n s t h a t t h s t u d e n t d o e s n o f i n d e r r o r m e s s a g e s a p p e a r i n g o t h s c r e e n .

S t a r t w i t h a s i m p l e p r o g r a m t h a t a l l o w s t h e s t u d e n t t p r o d u c er e c t a n g l e s , c i r c l e s , e l l i p s e s , p a r a b o l a s , a n s o n a n m o v e o t b o x e s , k i t e s , a n s p h e r e s . A g a i n , i i y o u r i m a g i n a t i o n t h a t c o u n t s .

J u s t b e f o r e w l e a v e t h g r a p h i c s , c o n s i d e r t h e f o l l o w i n g p r g r a m :

1 G R A P H I C S 3 : C O L O R 0 , 0 , 1 , 72 P O I N T 1 , 2 0 , 2 0 , 2 2 5 , 5 0 , 1 0 0 , 2 7 5 , 1 5 0 , 2 5 0 , 2 0 0 , 2 2 5 , 3 0 , 5 0 0 , 2 7 5 , 4 5 03 P O I N T 1 , 1 5 0 , 3 0 0 , 1 5 0 , 3 2 0 , 1 5 0 , 3 4 0 , 1 5 1 , 3 4 1 , 1 4 9 , 3 2 1 , 1 5 0 , 3 2 24 C H A R 1 8 , 2 , " O R I O N "5 P O I N T 1 , 3 0 0 , 3 6 0 , 2 0 0 , 2 8 0 , 1 8 0 , 1 0 , 1 8 1 , 1 4 , 1 7 9 , 1 2

I t i s t i m e - c o n s u m i n g t a s k t o p l o t e a c h o t h s t a r s , a n y e o n c o u l d p r o d u c e f i n e c a t a l o g u e o f c o n s t e l l a t i o n s t o l o o k a o t h o s er a i n y , s t o r m y , o r f o g g y d a y s . Y o w i l l n o t i c e t h a t t h i m a g e e v e nt w i n k l e s l i t t l e ! s i m p l i f i e d v e r s i o n o t h p r o g r a m i f o u n d i A p p e n d i x N n u m b e r 2 5

C A P S U L E R E V I E WT h m o s t e x t r a o r d i n a r i l y b e a u t i f u l i m a g e s c a b c r e a t e d o

t h V I C - 2 0 . W h e t h e r o r n o t w a r e n t i t l e d t o g i v e t h e a c c o l a d e o A R t t h r e s u l t s o t h s e t t i n g s o f p i x e l s i m o o t p o i n t , a n o n w h i c h w i l l b h o t l y d e b a t e d f o s o m e c o n s i d e r a b l e t i m e t c o m e . I a r i t h a t w h i c h p r o v i d e s s o m e f o r m o f v i s u a l e n t e r t a i n m e n t v i t h s t i m u l a t i o n o t h e m o t i o n s , t h e n c e r t a i n l y o n c a d e s c r i b e m a n y o t h i m a g e s a a r t .

A a r t i s t i a l s o s c i e n t i s t ( t h e c o n v e r s e i a l s o s o m e t i m e st r u e ) i a m u c h a h m u s t c o n t e n d w i t h t h r e a c t i o n o m a t e r i a l s t t h v i s i b l e l i g h t s p e c t r u m a n b a l a n c e a n c o n t r a s t h i m a t e r i a l s t p r o d u c e t h e f f e c t h d e s i r e s . S f a a t h c o m p u t e r i c o n c e r n e dt h d e s i g n e r m a k e s s o m e a s s u m p t i o n s , a c t s u p o n t h e m , a n t h e nj u d g e s t h r e s u l t . Q u i t e f e t c h i n g e f f e c t s c a b p r o d u c e d u p o n t h s c r e e n b t h a s t u t e u s o t h d i s c o v e r i e s o t h a t b r a n c h o s c i e n c ek n o w n a M a t h e m a t i c s .

N o w , m a t h m i g h t b t y o a s e c r e t a a r a i i t m e y e

1 0

Page 114: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 114/226

s i m p l e a p p l i c a t i o n o m a t h e m a t i c a l f o r m u l a c a n p r o d u c e m a g i cq u i t e f a s c i n a t i n g . A e x p r e s s i o n c o n s i s t s o f t w f u n d a m e n t a l p a r t s ,o n o e a c h s i d e o a e q u a l s s i g n . F o o u p u r p o s e s t h e e x p r e s s i o n sa r q u i t e s i m p l e , b e i n g t h r e d u c t i o n o c o m p l e x f o r m u l a t s i n g l e v a r i a b l e t h a t i t h e n u s e d t m a n i p u l a t e t h s e t t i n g o f d o t s o t h s c r e e n .

T h a r t i s t m a n o k n o w t h p r e c i s e f r e q u e n c y t h a t h i s h u e sv i b r a t e a t a n y e h c a u s t h r e s u l t w i t h s t u n n i n g e f f e c t . S w i t hf o r m u l a : y o m i g h t n o k n o w t h d i f f e r e n c e b e t w e e n s i n e a n c o s i n e , a n y e t h s i m p l e a p p l i c a t i o n o f t h e m c a e n t e r t a i n y o f o h o u r s a n p e r h a p s t e a c h y o u , a t h e y h a v e t a u g h t m e s o m e t h i n ga b o u t t h e i r m y s t e r i e s .

s i m p l e e x p r e s s i o n w i l l a c t u a l l y p r o d u c e o n l y o n p o i n t o t h s c r e e n . T h t r i c k t s h a p e p r o d u c t i o n i t p r o g r e s s o a d v a n c e t h p o i n t b a l t e r i n g s o m e v a r i a b l e i t h e e x p r e s s i o n . S o m e a l t e r a t i o n sw i l l p r o d u c e e r r o r m e s s a g e s o t h s c r e e n , e i t h e r b e f o r e o d u r i n gp r o g r a m r u n . D n o l e t h i s d i s t u r b y o u , b u r a t h e r l e i c a u s e y o t p e r s e v e r e i y o u r e f f o r t s .

F o r t u n a t e l y m o s t f o r m s o B A S I C i n c l u d e w h a t a m o u n t s t s h o r t h a n d v e r s i o n s o i m p o r t a n t m a t h e m a t i c a l f u n c t i o n s . T h c o p u t e r w a s , a f t e r a l l , d e v e l o p e d a c o m p u t a t i o n a l d e v i c e t a i t h p r o c e s s o m a t h e m a t i c s . M e r c i f u l l y , o r d i n a r y f o l k s o o n s a t h a t t h c o m p u t e r c o u l d b p u t h i g h e r u s t h a n o m e r e n u m b e r c r u n c h i n ga n s w e r e a b l e t t u r n t h t a b l e s i t h f a v o r o t r u e c r e a t i v i t y .

M a n y i m a g e s t a k e a c o n s i d e r a b l e a m o u n t o t i m e t d r a w , a n i m i g h t p r o v e r a t h e r f r u s t r a t i n g t h a v e t g w i t h o u t t h u s o y o u rc o m p u t e r , a i w e r e , w h i l e i d o e s i t p a r t y t r i c k s .T h i m a g e s , a n i n d e e d t h t y p e o i m a g e s , t h e c o m p u t e r c a d r a w a r l e g i o n . W i t h a l a r g e a m o u n t o f p a t i e n c e , i i p o s s i b l e t op r o d u c e f a i r r e p r e s e n t a t i o n o a l m o s t a n y t h i n g , f r o m c a t p i c t u r e o b e a u t i f u l g i r l . Y o u r e f f o r t s w i l l b o g r e a t i n t e r e s t t o m a n c o u l d p o s s i b l y b p u b l i s h e d i a e d i t e d c o l l e c t i o n . Y o m a c o r r e s p o n d w i t h m t h r o u g h t h p u b l i s h e r .

1 0

Page 115: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 115/226

C h a p t e r 1

M a i h i g h l y c o m p e t i t i v e c r e a t u r e . I s o m e f o r m s h i a l s oh i g h l y i n c u r i o u s c r e a t u r e . I ' l l w a g e r t h a t t h e m a j o r i t y o f o l k w h h a v e b o u g h t c o m p u t e r d i s b e c a u s e t h e c h i l d r e n d i d s o m ep e r s u a d i n g !

N o w , c h i l d r e n , w h e n t h e y a r g i v e n t h c h a n c e , w i l l a b s o r bv a s t q u a n t i t i e s o i n f o r m a t i o n v e r y r a p i d l y . T h e n t h e y l i k e t i n d u l g ei s o m e f o r m o r e c r e a t i o n t h a t s t i l l c a u s e s t h e m t p i w i t s a g a i n s to n a n o t h e r e i t h e r d i r e c t l y o v i s o m e d e v i c e .

C O M P U T E R G A M E SC o m p u t e r g a m e s a r e t h e i n - t h i n g . Y o u , l i k e m e m i g h t b e c o m e

t o t a l l y b o r e d a f t e r t h f i r s t t h r e e m i n u t e s o a n c o m p u t e r g a m e , a n y e y o w i l l h a v e d e m a n d s m a d e u p o n y o u t e i t h e r b u s u c h g a m e s ,i w h i c h c a s e y o h a b e t t e r g o u a n b u a n o t h e r V I C - 2 0 , o r h a v eg r e a t f u w i t h y o u r c o m p u t e r w r i t i n g t h e m y o u r s e l f .

C o m p u t e r g a m e s f a l l i n t o t w m a i n c a t e g o r i e s : t h o s e t h a t a r v e r b a l a n t h o s e t h a t a r g r a p h i c . V e r b a l g a m e s a r m o r e o c h a l l e n g e , p e r h a p s , t c o m p u t e r b u f f s b e c a u s e t h e y c a u s e t h e p l a y e rt t h i n k , a c c e s s , m a k e j u d g m e n t s , a n a c u p o n t h e n .

G r a p h i c g a m e s r e l y m o r e u p o n p h y s i c a l r e a c t i o n t s i t u a t i o n s .I r e c e n t m o n t h s , t h e r e h a b e e n t e n d e n c y t i n t r o d u c e g r e a td e a l o g r a p h i c s i t h o s e g a m e s t h a t a r f u n d a m e n t a l l y v e r b a l i o r d e r t e n h a n c e t h s e n s e o f r e a l i s m . M o n o p o l y ® a n R i s k ® a r g a m e s t h a t c o u l d b j u s t a e a s i l y p l a y e d w i t h o u t b o a r d , a n y e

1 0

Page 116: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 116/226

t h e r e i s o m e g r e a t f e e l i n g o s a t i s f a c t i o n i p i c k i n g u y o u r t o h a o m o t o r c a a n c o u n t i n g o f t h s p a c e s d u r i n g a t u r n t h a t l a n d s y o o y o u r o w p r o p e r t y ! A n h o s w e e t t h d e l i g h t o t h o t h e rp l a y e r s w h e n y o l a n d o t h e i r s !

Y o a r g o i n g t d e v e l o p g a m e f r o m t h e t o p d o w n . T h g a m ei a v e r s i o n o o n o t h o s e g a m e s i w h i c h y o u a r r e q u i r e d t i n p u t

c e r t a i n p i e c e o i n f o r m a t i o n b a s e d u p o n i n f o r m a t i o n p r e s e n t e d t y o u o n t h s c r e e n . Y o u r i n f o r m a t i o n c a u s e s c e r t a i n s i t u a t i o n t a r i s e , a n t h e r e i r e s u l t o f s o m e s o r t . T h s i t u a t i o n y o b e g i nw i t h i t h a t y o a r a b o u t t o l a n d u p o n s o m e a l i e n p l a n e t . Y o a r c e r t a i n h e i g h t a b o v e g r o u n d , a n y o a r e r e q u i r e d t l a n d t h d e v i c ey o u r s e l f . Y o m o s t l y c r a s h ! T h g a m e i w e l l - k n o w n a n d g o e s u n d e rt h n a m e o L u n a r L a n d e r o s o m e s u c h . c a l l t h i s v e r s i o n J u p i t e rR e n d e z v o u s . Y o w i l l w o r k u t h b a s e p r o g r a m a n a d f e g r a p h i c i m a g e s t s m a r t e n t h t h i n g u l i t t l e .

P R I N T ' S "P R I N T : P R I N T ' P R I N T : P R I N T S

1 P R I N T T R B C 2 ) " J U P I T E R R E N D E V O U S "1 F Q R D « 1 T O 2 0 0 0 - N E X T D1 G Q T O 2 0 0 01 C O L O R 1 , 3 , 6 , 01 P R I N T ' T T 12 P R I N T " W Q U L D V O U L I K E I N S T R U C T I O N S ? "2 I N P U T R * : I F f l * « " Y E 8 " T H E N G O S U B 1 0 0 02 I N P U T l f N R M E P L E R S E ' S N *3 P R I N T S " P R I N T " G O O D L U C K ! ! ! "3 F O R D » 1 T Q 2 0 0 0 : N E X T D4 P R I N T :4 T I $ « " 0 0 0 0 0 0 " : H - 5 0 0 : V » 5 0 : F « 1 2 05 I F B « 0 T H E N 6 55 5 p r i n t t i $ ; t r b < 4 > ; h ; t r b < 1 2 > ;5 P R I N T V ; T f l B < 4 ) ; F ; T f l B < 1 2 > ;5 P R I N T ' I ' S T f l B C H ^ + i e ) ; 1 1 * * "6 G O T O 7 06 3 P R I N T T R B < 4 > " T I M E " i T R B < 1 2 ) " H E I G H T "6 P R I N T T I * ; T R B < 4 ) ; H ; T R B a 2 ) ;6 P R I N T T R B C 4 ) " S P E E D "6 7 p r i n t v ; t r b < 4 ) ; f ; t r b < 1 2 ) ;6 P R I N T " I " T f l B < H / 4 + 1 8 > ; " # # "7 I N P U T B7 I F B < 0 O R B > 3 9 T H E N 1 5 08 0 I F B > 3 0 T H E N 1 5 08 5 I F B > F T H E N 9 59 0 G O T O 1 0 09 B *

1 0 0 ' V l * V - B + 51 0 F = F - B1 1 H = H - . 5 * < V + V 1 >1 1 I F H O 0 T H E N 1 6 01 2 V « V 11 3 I F F > 0 T H E N 5 0

1 0

Page 117: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 117/226

1 3 I F B = 0 T H E N 1 4 51 4 0 P R I N T " U L L J O U T O F U E L - L L J "1 4 P R I N T T I / 6 0 ; T f l B ( 4 ) ; H ; T f l B < 1 2 ) ;1 4 P R I N T V ; T f l B < 4 ) ; F ; T f l B < 1 2 > ;1 4 P R I N T " " ; T R B C H / 4 + 1 8 ) ; " * * # "1 5 B » 1 5 F O R D * 1 T O 3 0 0 0 : N E X T D1 6 P R I N T " * * W E L C O M E T O J U P I T E R * * "1 6 F O R D » 1 T O 3 0 0 0 : N E X T D1 7 H * H + . 5 * < V + V 1 >1 7 I F B « 5 T H E N 1 9 01 8 D * < - V + S Q R < V # V + H # < 1 0 - 2 * B > V < 5 - B >1 8 G 0 T 0 1 9 51 9 D » H / V1 9 V 1 = V K 5 - B ) * D2 0 0 P R I N T " J U P I T E R f i T " ; T + D ; " S E C O N D S "2 0 P R I N T " L f l N D I N G 8 P E E D = " ; V 1 ; " F V S E C "2 1 P R I N T F J " U N I T S O F U E L L E F T "2 1 F O R D < = 1 T O 3 0 0 0 : N E X T D2 1 I F V 1 O 0 T H E N 2 5 0 02 2 P R I N T " G O O D S H O W . . . . "2 2 P R I N T " H f l V E V O T H O U G H T H O W V O W I L L G E B f l C K ? "2 2 F O R D = 1 T O 3 0 0 0 J N E X T D2 3 I F R B S C V 1 X 5 T H E N 2 4 52 3 5 P R I N T " J U P I T E R P I L O T " ; N * ; " H f l D f N f l S T V R C C I D E N T

T O D f l V "2 3 P R I N T " W H I L E F f l l L I N G T L f l N D S f l F E L V O J U P I T E R "2 4 0 P R I N T " H E I S U R V I V E D B 2 4 P R I N T " W O U L D V O L I K E f l N O T H E R M I S S I O N ? "2 5 I N P U T f l 2 5 I F f l $ = " V E S " T H E N P R I N T " G L U T T O N F O R P U N I S H M E N T , f l R E ^ T

V O U ? "2 5 6 F O R D » 1 T O 3 5 0 0 - N E X T D2 5 I F f l * » " V E S " G Q T O 3 0% 6 P R I N T :2 6 P R I N T " S E E V O U "2 7 P R I N T :2 7 E N 1 0 0 0 P R I N T " V O U H f l V E R P P R O f l C H E D T H P L f l N E T J U P I T E R

R N f l R E R E R D V T O L f l N D "1 0 0 1 F O R D « 1 T O 2 0 0 0 : N E X T D1 0 0 2 P R I N T : P R I N T : P R I N T " U N F O R T U N R T E L V V O U R

C O M P U T E R I O N L V P R R T I R L L V F U N C T I O N R L "1 0 0 3 P R I N T " D O V O U N D E R S T R N D ? "1 0 0 4 I N P U T f l $ : I F f l $ « " N O " T H E N G O S U B 1 5 0 01 0 0 5 P R I N T " r 3 "1 0 0 6 P R I N T " T H E C O M P U T E R C R N O I V E V O R E R D I N G S O R R T E

O D E S C E N T , F U E L « 1 0 0 7 P R I N T " R E M R I N I N G f l N D O T H E R M E S S R G E S 1 11 0 0 8 F O R D « 1 T O 3 0 0 0 : N E X T D1 0 0 9 P R I N T ' S 1 11 0 1 0 P R I N T " T H I S M E R N S . V O U M U S T

L R N D T H E C R R F T . . . . V O U R S E L F "1 0 1 1 P R I N T : P R I N T : P R I N T " R F T E R E R C H S E C O N D O F

F L I G H T V O W I L L B E T O L D V O U R H E I G H T , " ;1 0 1 2 P R I N T " V O U R S P E E D f l N D F U E L "1 0 1 3 F O R D s l T O 2 0 0 0 : N E X T D

1 0

Page 118: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 118/226

1 8 1 4 P R I N T " R W I L L R P P E R R . "1 0 1 5 F O R D * 1 T Q 4 0 0 0 ' N E X T D1 0 1 6 P R I N T S 1 11 0 1 7 P R I N T : P R I N T : P R I N T " V O U M U S T E N T E R

T H N U M B E R O U N I T S O F F U E L " ;1 0 1 8 P R I N T " V O U W I S H T O B U R N "1 0 1 9 F O R D = 1 T O 2 5 0 0 : N E X T D1 0 2 0 P R I N T " S H O U L D V O C R f l S H T H R P P R O P R I f l T E

O B I T U R R V W I L L R P P E R R "1 0 2 5 R E T U R N1 5 0 0 P R I N T 1 1 : ] "1 5 0 2 P R I N T : P R I N T : P R I N T " T H R T M E R N S :

T H E C O M P U T E R W O R K S B U T O N L V J U S T ! ! • 1 5 0 3 F O R D « 1 T O 3 0 0 0 : N E X T D1 5 0 5 R E T U R N2 0 0 0 G R R P H I C 3 : C O L O R 0 , 0 , 5 , 22 0 0 5 C I R C L E S , 5 0 9 , 5 9 0 , 2 0 0 , 3 0 02 0 0 7 C I R C L E 2 , 5 7 5 , 5 7 5 , 2 0 , 1 82 0 1 0 P f i I N T 2 , 5 0 0 , 5 0 Q2 0 3 0 C H R R 2 , 5 , " J U P I T E R "2 0 3 5 C H R R 1 9 , 4 , " R E N D E V 0 U S "2 0 4 0 F O R D » 1 T O 3 0 0 0 : N E X T D2 0 4 5 G R R P H I C 42 0 5 0 G 0 T 0 1 72 5 0 0 G R R P H I C 3 : C 0 L Q R 6 , 5 , 1 , 72 5 0 5 C I R C L E 1 , 5 0 0 , 1 0 2 3 , 5 0 0 , 5 02 5 1 0 D R R W 1 , 4 5 0 , 9 7 3 T 0 5 9 2 , 9 3 0 T O 6 0 3 , 9 4 02 5 2 0 D R R W 1 , 6 0 3 , 9 4 0 T O 6 4 1 , 9 3 0 T O 6 8 2 , 9 6 0 T O 7 0 2 , 9 7 32 5 3 0 C H R R 4 , 2 , " C H 2 5 4 0 P 0 I N T 7 , 4 2 0 , 9 2 0 , 4 0 5 , 9 0 2 , 5 9 0 , 9 5 52 5 5 0 C I R C L E 7 , 7 0 0 , 7 @ 0 , 5 , 52 5 6 0 F O R D « 1 T O 5 0 0 0 : N E X T D2 5 7 0 G R R P H I C 4 ' C O L O R 1 , 3 , 6 , 0 : G O T O 2 3 0

T h a t i j u s t a b o u t t h l o n g e s t l i s t i n g y o h a v e s e e n s f a r , b u d n o l e t h a t d e t e r y o u f r o m e n t e r i n g i i u s i n g t h e k e y b o a r d . A y o u d o s e x a m i n e e a c h l i n e m a k i n g s u r e t h a t y o u n d e r s t a n d w h a ti h a p p e n i n g .

T h p r o g r a m i d e s i g n e d s o t h a t y o c a a l t e r i t s u i t y o u ro w n e e d s a n d p r e f e r e n c e s . S o u n d w o u l d b g o o d a d d i t i o n t o t h i sp r o g r a m . C o n s i d e r w r i t i n g s e q u e n c e t h a t i s o m e h o w t i e d i t t h s p e e d , f a l l i n g i p i t c h a t h c r a f t f a l l s a n r i s i n g i t h c r a f t b e g i n s t r i s e . Y o c o u l d h a v e s o m e m a g n i f i c e n t s o u n d e f f e c t s f o t h e c r a s h( h a v e y o n o t i c e d h o m o s t o t h p r o g r a m s i n t h i s b o o k h a v e a a l a r m i n g t e n d e n c y t c r a s h ? ) c o u p l e d w i t h s o m e a n i m a t i o n . T h a n t h e m o y o u r c h o i c e c o u l d p l a y i y o a r s u c c e s s f u l !

T h p r o g r a m p u t s t h e i n s t r u c t i o n s o u o t h w a a l i n e 1 0 0 0 .I t h i s w a t h a n s w e r N a l l o w s t h e p r o g r a m t d r o p t h r o u g hn o r m a l l y . T h i s i u s e f u l t r i c k a n s a v e s w h o l e l i n e . Q u i t e s i m p l y ,y o c h e c k o n l y f o t h e p o s i t i v e r e s p o n s e ; t h e n e g a t i v e r e s p o n s er e q u i r e s n a c t i o n . T h t r i c k s a v e s t i m e a n s o m e m e m o r y t o o .

1 1

Page 119: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 119/226

Y o w i l l n o t e t h u s o s o m e o t h f u n c t i o n s y o d e a l t w i t h i t h l a s t c h a p t e r : T I $ , f o e x a m p l e , b o t h i t h i n i t i a l i z a t i o n f o r m a n t h e r e p r o d u c t i v e f o r m .

Y o w i l l h a v e n o t i c e d i e a r l i e r p r o g r a m s h o s o m e v a r i a b l e sa r g i v e n l a b e l s t h a t a r e i t h e r t w l e t t e r s o r c o m b i n a t i o n o l e t t e r a n n u m b e r . T h i s i a e x t r e m e l y u s e f u l p l o y f o i a l l o w sy o t k e e p p r e c i s e t r a c k o f e a c h v a r i a b l e w i t h a m n e m o n i c t h e l py o u . o b v i o u s l y m e a n s h e i g h t a n o b v i o u s l y m e a n s v e l o c i t y . F o c o u r s e , m e a n s F u e l .

A R R A N G I N G T E X T O T H E S C R E E NI d e v e l o p i n g s u c h a p r o g r a m i i u s e f u l t o b a b l e t c o p a r t m e n t a l i z e e a c h p o r t i o n , r u n n i n g i o i t o w t m a k e s u r e t h a t

e v e r y t h i n g f u n c t i o n s a n i r e a s o n a b l e . O n p r o b l e m y o u m i g h th a v e t d e a l w i t h i t h a t o p u t t i n g t e x t o t h s c r e e n s o t h a t w o r d sd n o b e c o m e s p l i t b e t w e e n l i n e s . A y o e n t e r t h t e x t o t h s c r e e n y o w i l l n o t i c e t h a t l o n g s e n t e n c e w i l l g o o n t t h n e x tl i n e . F o e x a m p l e :1 ? : ? " T h i s i r a t h e rl o n g s e n t e n c e "

O t h s c r e e n , t h w o r d L O N G w i l l b a t t a c h e d t R A T H E R , a n t h o S E N T E N C E w i l l s i a t h e n o t h s c r e e n . I c a b t e d i o u s t e d i t t h e s e s e n t e n c e s w h e n l i t t l e c a r e c a s o l v e t h p r o b l e m b e f o r e i b e g i n s , a i w e r e . F i r s t , g e i n t o t h h a b i t o p r e s s i n g t h s p a c e b a b e t w e e n w o r d s . T y p i s t s d t h i s a u t o m a t ic a l l y . S e c o n d , g e t i n t o t h h a b i t o f w a t c h i n g w h e r e t h q u o t a t i o nm a r k s o c c u r i t h l i n e a b o v e . A n l e t t e r d i r e c t l y u n d e r n e a t h t h q u o t e m a r k s , r e g a r d l e s s o w h e t h e r t h e r e a r e t w o t w e n t y p r i n t o o t h e r c o m m a n d s i t h l i n e , w i l l s i a t h e n o t h s c r e e n a i o u e x a m p l e . T c o r r e c t t h m a t t e r n o w , a l t h a t i n e c e s s a r y i t b r i n gt h e c u r s o r u t t h a n i n s e r t s p a c e .

I y o u s t a f u n c t i o n , t h i n g s c a g e t a l i t t l e m o r e t r i c k y .T a k e t h f o l l o w i n g e x a m p l e :1 ? : ? T A B ( 3 ) ; " T H I S I R A T H E R L O N G S E N T E N C E "

O t h s c r e e n t h i s l o o k s a f o l l o w s :

T H I S I R A T H E R L N S E N T E N C E

T h r u l e f o c o r r e c t i n g s u c h s i t u a t i o n b e f o r e i b e g i n s i t 1 1

Page 120: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 120/226

u s t h q u o t a t i o n m a r k s a g a i n , b r i n g i n g t h e b e g i n n i n g o a n w o r dt h a t i l i k e l y t w r a p a r o u n d t p o i n t o n p l a c e t t h r i g h t o t h q u o t a t i o n m a r k s , l i k e t h i s :

1 ? : ? T A B ( 3 ) ; " T H I S I R A T H E R L O N G S E N T E N C E "

D t h i s o n l y i y o w a n t t j u s t i f y t h l e f t e d g e , o c o u r s e . I y o w a n t t u s t h l e f t - m o s t e d g e o t h s c r e e n , t h r u l e i t o b r i n g t h b e g i n n i n g o t h w o r d t p o i n t o n s p a c e l e s s t h a n t h n u m b e r i t h t a t t h l e f t o t h q u o t a t i o n m a r k s , l i k e t h i s :

1 ? : ? T A B ( 3 ) ; " T H I S I R A T H E R L O N G S E N T E N C E "

T h r e s u l t w i l l l o o k l i k e t h i s :

T H I S I R A T H E RL O N G S E N T E N C E

T h i s k e e p s a t l e a s t o n s p a c e o t h l e f t o t h s c r e e n . T h s c r e e n c a n b v e r y d i f f i c u l t t r e a d i i b e c o m e s t o c l u t t e r e d ,p a r t i c u l a r l y i s m a l l c h i l d r e n a r t h e i n t e n d e d a u d i e n c e .

U S I N G C O L O RC o l o r e n h a n c e s t h o u t p u t g r e a t l y . Y o c a u s d i f f e r e n t c o l o r s

v e r y e a s i l y t h i g h l i g h t c e r t a i n p a r t s o y o u r p r o g r a m : w a r n i n g s i r e d , c o n g r a t u l a t i o n s i b l u e o r i g r e e n , w h a t e v e r y o w i l l .

L e t ' s t a k e s i m p l e e x a m p l e s u c h a o u n a m e s p r o g r a m .1 ? " W H A T I Y O U R N A M E ? "2 I N P U T A $3 P O K E 6 4 6 , 34 ? " H E L L O " ; A $

T h r e s u l t i n i c e g r e e n H E L L O J O H N o w h a t e v e r y o u r n a m em i g h t b e

L e t ' s e x p l o r e t h i s j u s t l i t t l e f u r t h e r A d t h l i n e s w h i c hf o l l o w :1 F O R A = 1 T O 85 F O R D = 1 T O 4 0 0 0 : N E X T : N E X Ta n d c h a n g e l i n e 3 t r e a d P O K E 6 4 6 , A

A f i r s t n o t h i n g s e e m s t h a p p e n , a n t h e n t h H E L L O p o r t i o nc o m e s u i n d i f f e r e n t c o l o r s , m o v i n g t h r o u g h t h r a n g e f r o m 1 t 8 N o t h i n g h a p p e n s a f i r s t b e c a u s e t h f i r s t c o l o r i w h i t e , w h i c h w i l l

1 1

Page 121: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 121/226

n o s h o w u o w h i t e s c r e e n . J u s t r e m e m b e r t h a t t h a l l - i m p o r t a n tp o k e h e r e i 6 4 6 , f o l l o w e d b t h a p p r o p r i a t e n u m b e r o v a r i a b l e .

T h i s a p p r o a c h i t r e m e n d o u s l y u s e f u l i t e a c h i n g o r i f i l i n gp r o g r a m s , w h e r e y o c a c o l o r - c o d e v a r i o u s m e s s a g e s . A l c o r r e c ta n s w e r s c a b i o n c o l o r a n i n c o r r e c t o n e s i a n o t h e r ; t h m e n up r o m p t s c a b i o n c o l o r , y o u r i n p u t i s e c o n d , a n d a n yi n c o r r e c t i n p u t , i l l e g a l q u a n t i t y , a n s f o r t h c a b i t h i r d . T h r e s u l t o a n c o m p u t a t i o n c a n b i f o u r t h c o l o r . E v e n b a l a n c es h e e t s c a n b d o n e w i t h t h a p p r o p r i a t e b l a c k a n r e d . H o a b o u tp u r p l e f o y o u r i n c o m e t a x — t o m a t c h y o u r r a g e ?

N o t e t h a t a l o t h i s c a b e d o n e w i t h o u t t h S u p e r E x p a n d e r .B a s t u t e u s o f t h e m a t e r i a l i c h a p t e r I V , i n w h i c h w e x p l o r e d t h g e n e r a t i o n o s p e c i a l c h a r a c t e r s , y o c a p l a c e a n s o r t o c h a r a c t e ro t h s c r e e n i w h a t e v e r c o l o r y o w i s h a n e v e n m a k e t h c h a r a c t e r s c h a n g e c o l o r s . T b s u r e t h w h o l e p r o c e d u r e i l o e a s i e r w i t h t h S u p e r E x p a n d e r b u i i n o i m p o s s i b l e w i t h o u t i t

A e x c e s s i v e l y s t u p i d p r o g r a m f o l l o w s :

? [ C L R H O M E ] "1 r W H A T I Y O U R N A M E ? "2 I N P U T A $3 P O K E 6 4 6 , 14 ? " H E L L O H ; A $5 F O R D = 1 T 2 0 Q 0 : N E X T6 P O K E 6 4 6 , 27 r W O U L D Y O L I K E T S E W H A T Y O T Y P E D ? "8 I N P U T B $9 I F B $ = " Y E S " T H E N 4 1 0 ? " O K " ; : P O K E 6 4 6 , 3 : ? " B E " 1 1 P O K E 6 4 6 , 4 : ? " U K E " ; : P O K E 6 4 6 , 5 : ? T H A T "

P R O G R A M M I N G S T R A T E G I E SW h e n y o s e p r o g r a m s i m a g a z i n e s o r b o o k s , y o m i g h t a

f i r s t b s t r u c k b t h a p p a r e n t c o m p l e x i t y o t h l i s t i n g . T h p o i n t o m o s t o t h p r o g r a m s i t h i s b o o k i t d e m o n s t r a t e t h a t q u i t ec l e v e r , e f f e c t i v e , a n u s e f u l p r o g r a m s c a b c r e a t e d w i t h v e r ys i m p l e p r o g r a m m i n g m e a n s . f i n d t h a t t e n d t b e c o m e l i t t l ec o n d i t i o n e d b t h f o r m a t o p r o g r a m s a p r i n t e d i t e x t b o o k s , a n a l t h o u g h s u c h p r o g r a m s a r v e r y u s e f u l , t h e y t e n d t s t y m i e m t h i n k i n g . f e e l t h a t n o i a g o o d a w i n k a n t h a t s u g g e s t i o n ,w i t h o u t g i v i n g l a r g e a m o u n t o d e t a i l , c a o f t e n b b e t t e r m e a n so f g e t t i n g g o i n g o y o u r o w p r o g r a m s t h a n t h e d e t a i l e d o u t p u t o s o m e o n e e l s e ' s m i n d .

L e t u s t a k e t h g a m e s i t u a t i o n a a n e x a m p l e . H a v e y o e v e r1 1

Page 122: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 122/226

s e e n r e a l l y d i f f e r e n t g a m e i t h e a r c a d e s ? M o s t g a m e s a r e n o t h i n gm o r e t h a n v a r i a t i o n s o t h s a m e s e t s o f t h e m e s : o p e n d o o r a n m a k e c h o i c e ; a v o i d t h d a m a g i n g b l i p s w h i l e s h o o t i n g d o w n t h b l o b s ; f i n d y o u r w a t h r o u g h t h m a z e o t u n n e l s , a r c h w a y s ,c a v e r n s , o r w h a t e v e r .T b s u r e s u c h g a m e s m a k e f o g r e a t d e a l o f e n j o y m e n t b u t h e y d e p e n d l a r g e l y u p o n s k i l l w i t h j o y s t i c k a n f r e e m o v e m e n t o t h t h u m b . A n o t h e r m a j o r f e a t u r e o c o m p u t e r g a m e s i t h a t t h e yt e n d t i s o l a t e i n d i v i d u a l s . W h n o t r y t o d e v e l o p a t r u l y g r o u pg a m e ?

O t h o t h e r h a n d , y o m u s t c o n s i d e r t h a t t h c o m p u t e r , a n c o m p u t e r , i g r e a t w a t c o m m u n e w i t h y o u r o w t h o u g h t s . T h c h a l l e n g e o p r o g r a m m i n g c o m p u t e r , w h e t h e r y o a r p r o d u c i n g as i m p l e m a i l i n g l i s t o s t r u g g l i n g w i t h v a s t l y c o m p l e x g a m e , i o n t h a t i h a r d t b e a t .

O n o t h p r o b l e m s y o w i l l f a c e i t h a t o f d e a l i n g w i t h o t h e rf o l k w h w a n t t s e w h a t y o h a v e p r o d u c e d . f e r u l e s a r i o r d e r h e r e . N e v e r , b u n e v e r , t r y t o d e v e l o p a l o n g p r o g r a m w h i l es o m e o n e i l o o k i n g o v e r y o u r s h o u l d e r , p a r t i c u l a r l y i t h a t i n d iv i d u a l t h i n k s h o s h k n o w s l i t t l e b i a b o u t p r o g r a m m i n g . W o r kt h i n g s o u o y o u r o w n ; r e f i n e t h e m i s o l i t u d e ; a n o n l y d e o n s t r a t e y o u r p r o d u c t w h e n y o k n o w i r u n s w e l l . M a k e s u r e t h a tt h e r e a r e n b u g s w h a t s o e v e r i y o u r p r o g r a m f o t h u n k n o w l e d g e -a b l e f e l l o w w i l l b q u i c k t t e l l y o w h a t y o o u g h t t h a v e d o n e .

I g n o r e f o l k w h t h i n k y o k n o w n o t h i n g m e r e l y b e c a u s e y o c a n n o t i m m e d i a t e l y s i d o w n a h i n e X Y c o m p u t e r , s t r a i g h t o u o t h b o x , a n p r o g r a m i t C o m p u t e r s a r i n d i v i d u a l s , a n a l t h o u g ht h e r e a r e s i m i l a r i t i e s , t h d i f f e r e n c e s w i l l b q u i t e e n o u g h t t h r o we v e n t h e x p e r t . I w a m u c h s i m p l e r i t h d a y s w h e n a l m o s t a l p r o g r a m m i n g w a p e r f o r m e d i m a c h i n e c o d e .

M a k e s u r e t h a t t h i n s t r u c t i o n s y o g i v e a r e m o r e t h a na d e q u a t e . S u c h i n s t r u c t i o n s s h o u l d b s u f f i c i e n t t a l l o w s o m e o n et o p e r a t e t h e p r o g r a m w i t h o u t y o l o o k i n g o v e r h i s h o u l d e r .

Y o w i l l n o t i c e i m a n y p r o g r a m s i m a g a z i n e s t h a t t h e r e a r s t r a n g e l i n e s w i t h t h w o r d R E a t h b e g i n n i n g . T h i s i h i g h l yu s e f u l d e v i c e i l o n g p r o g r a m s f o i a l l o w s y o t k e e p t r a c k o f w h a te a c h s e c t i o n o t h p r o g r a m i s u p p o s e d t o d o . S f a r , i h a n o u s e di i t h i s b o o k b e c a u s e n o n e o t h p r o g r a m s h a v e b e e n t h a t l o n g .R E s t a n d s f o R E M A R K ( o i c o u l d b R E M i n d e r , b u n m a t e r ) . Y o c a t y p e w h a t y o w i s h a f t e r R E M . I w i l l n o a p p e a r o t h s c r e e n , b u i w i l l a p p e a r i t h l i s t i n g . T h p r o b l e m w i t h R E i t h a t i t a k e s u m e m o r y , a n i y o d n o h a v e v e r y m u c h t s t a r t

1 1

Page 123: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 123/226

w i t h , t h a t c a b b o t h e r . A r e m a r k e d , R E i n o a b s o l u t e l yn e c e s s a r y i s h o r t p r o g r a m s b u i h i g h l y u s e f u l i l o n g o n e s ,p a r t i c u l a r l y i y o d n o u s p r o g r a m f o s o m e t i m e a n d w i s h t u p g r a d e i i s o m e w a y . I y o h a v e f o r g o t t e n w h a t p o r t i o n o t h p r o g r a m d o e s o w h y o h a p r o g r a m m e d t h a t p a r t i c u l a r s e c t i o n i j u s t t h a t f a s h i o n , y o c a e n u w i t h p r o p e r m e s s !

T h e r e i w a a r o u n d t h i s p r o b l e m o c o u r s e , a n t h a t i t b u p r i n t e r , k e e p c o u p l e o c o p i e s o t h c o m p l e t e l i s t i n g i n c l u d i n g

R E M s , a n t h e n r e m o v e t h R E M s f r o m y o u r w o r k i n g a n d r u n n i n gc o p y .

A l w a y s m a k e b a c k - u p t a p e s o a n w o r t h - w h i l e p r o g r a m s .M a k e s u r e y o k e e p t h e t a p e s w e l l a w a y f r o m a n y m a g n e t i c i n f l ue n c e . Y o w i l l b s u r p r i s e d t h e a w f u l d a m a g e e v e n s t r a y s c r e wd r i v e r c a d t t a p e : t h w i c k e d p a r t i t h a t y o w i l l n e v e r k n o wa n y t h i n g h a h a p p e n e d u n t i l y o t r y t o r u t h p r o g r a m !

S h e l v e s a r f a v o r i t e p l a c e s f o b o x e s o t a p e s t b k e p t , a n y e i i b e h i n d t h o s e w a l l s t h a t e l e c t r i c i a n s a r f o n d o p l a c i n g a l i n e s . D y o r e c a l l t h o s e e x p e r i m e n t s i s c h o o l i w h i c h y o p l a c e d

s m a l l c o m p a s s n e a r a w i r e c a r r y i n g c u r r e n t a n t h n e e d l e w o u l df l u c t u a t e w i l d l y b a c k a n f o r t h f r o m j u s t t h l V f c v o l t s g i v e n o u t b d r c e l l ? B w a r n e d !

K e e p t a p e s , d i s k s , a n s f o r t h i w e l l s e a l e d c o n t a i n e r s s t h a tn d u s t c a g e a t h e m . H e a d c l e a n i n g t a p e s a n d i s k s a r e a v a i l a b l ea n s h o u l d b u s e d o n c e w e e k i y o a r a o c c a s i o n a l c o m p u t e r i s ta n m o r e o f t e n i y o a r m a e n t h u s i a s t .

C o n c e r n i n g e n t h u s i a s m : d n o c a r r y o i n t o t h e s m a l l h o u r s o t h m o r n i n g s t r u g g l i n g w i t h t h s a m e p r o b l e m . Y o w i l l e n u w i t hn a s t y c a s e o b u r n o u t . S a v e p a r t i a l p r o g r a m s . D n o t r t b r i n gp r o g r a m t c o m p l e t i o n b e f o r e s a v i n g i t f o m a n y s t r a n g e t h i n g s c a h a p p e n . F l u c t u a t i o n s i t h a l i n e c a c a u s e y o u r s y s t e m t o c r a s h .

f i e r c e s n o w , w i n d , o r a i n s t o r m c a b r i n g l i n e s d o w n w i t hr e s u l t a n t l o s s o p o w e r — a n d a l y o u r w o r k !

A D A P T I N G P R O G R A M S F O U S O T H V I C - 2 0P r o g r a m s t h a t y o w i l l f i n d i m a g a z i n e s a n d b o o k s a r p r i n t e d

f o y o u r u s e . T h e r e i n d o u b t t h a t l o o m o n e y c a b e s a v e d b e n t e r i n g s u c h p r o g r a m s i n t o y o u r c o m p u t e r b h a n d . A l t h a t i n e e d e d i g r e a t d e a l o p a t i e n c e a n a e v e n l a r g e r a m o u n t o u n d e r s t a n d i n g . V e r y o f t e n s u c h p r o g r a m s w i l l n e e d s o m e m o d i f i c at i o n b e f o r e t h e y w i l l r u o y o u r p a r t i c u l a r m a c h i n e . C h e c k t s e w h a t t h a u t h o r h a s a i d a b o u t t h p r o g r a m b e f o r e a t t e m p t i n g t e n t e r i t M a k e n o t e , i t h a u t h o r h a n o d o n e s o o t h p u r p o s e o

1 1

Page 124: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 124/226

v a r i a b l e s a n h o t h e y a r e u s e d . C h e c k t m a k e s u r e t h a t y o u n d e r s t a n d t h p r o g r e s s o e a c h s e c t i o n o t h p r o g r a m t h o r o u g h l yb e f o r e e n t e r i n g i t I g o e s w i t h o u t s a y i n g t h a t y o w i l l m a k e n o t eo a l t e r a t i o n s t h a t a r n e c e s s a r y f o y o u r m a c h i n e .

D m a k e s u r e t h a t t h e r e i e n o u g h m e m o r y i y o u r m a c h i n e t r u t h p r o g r a m e f f i c i e n t l y . T h e r e i n o t h i n g w o r s e t h a n t y p i n g i v a s t p r o g r a m w i t h o u t b o t h e r o n l y t s e t h m e s s a g e O U O M E M O R Y a y o a t t e m p t t r u i t

P r o g r a m s a r t r a n s f e r a b l e f r o m t h P E T / C B M t t h V I C - 2 0 ,a n v i c e v e r s a . Y o c a n , w i t h c a r e , l o a d t a p e s p r o d u c e d o e i t h e rm a c h i n e .

I i g o o d p l a n t i n d i c a t e o a n t a p e t h e n a m e o t h p r o g r a m , i t h e p r e c i s e f o r m i w h i c h y o s a v e d i t t o g e t h e r w i t hd e t a i l s o t h n u m b e r o b y t e s u s e d . T f i n d t h i s , s i m p l y e n t e rP R I N T F R E ( 0 ) t g e t h n u m b e r o b y t e s r e m a i n i n g a n s u b t r a c tt h a t f r o m t h n u m b e r y o s t a r t e d w i t h . T h i n i t i a l m e m o r y w i l ld e p e n d u p o n t h u s o e x p a n s i o n c a r t r i d g e s . B c a r e f u l w h e n u s i n gs u c h e x p a n s i o n h o w e v e r , a t h s t a r t l o c a t i o n o p r o g r a m s a l t e r sa c c o r d i n g l y . M o r e d e t a i l s o t h i s c a b f o u n d i A p p e n d i x K

W h e n c o p y i n g p r o g r a m s f r o m p r i n t e d s o u r c e s , i i o n l yc o u r t e o u s t p l a c e t h e a u t h o r ' s n a m e a t h b e g i n n i n g . H o s h w r o t e i t d i a l t h w o r k a n p o s s i b l y t h c u r s i n g , a n y o r e a p t h b e n e f i t ! I i l i t t l e u n f a i r t t h e n m a k e c o p i e s f o y o u r f r i e n d s . L e t h e m b u t h b o o k o m a g a z i n e f o t h e m s e l v e s a n a l l o w t h a u t h o rs o m e r e t u r n b e n e f i t .

A r e m a r k e d e a r l i e r , m o s t g a m e s f o l l o w s e l i n e s , a n i y o c a c o m e u w i t h n e t w i s t , g a h e a d . J u s t d n o t r t m a r k e ts o m e o n e e l s e ' s p r o g r a m a y o u r o w n . M a n y i d e a s w i l l o c c u r t i n d i v i d u a l s w h h a v e n e v e r m e a a b o u t t h s a m e t i m e . I i u n l i k e l y , h o w e v e r , t h a t t h e y w i l l p r o g r a m t h m a t e r i a l i p r e c i s e l yt h s a m e w a y , a l t h o u g h t h a t c o u l d h a p p e n !

T h p r o g r a m s i t h i s b o o k a r y o u r s t d o w h a t y o u w i l l . T h e ya r a l a v a i l a b l e o b o t h t a p e a n d i s k , b u o n l y t s a v e y o t h b o t h e r o t y p i n g s e e m i n g l y e n d l e s s s t r e a m s o l i n e s . E a c h p r o g r a mi a e x a m p l e o p a r t i c u l a r p r o g r a m m i n g t e c h n i q u e . T h p r o g r a m sa r y o u r s p r i n g b o a r d .

1 1

Page 125: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 125/226

Page 126: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 126/226

T h f o l l o w i n g p r o g r a m u s e s t h S u p e r E x p a n d e r t e x p l o r ea n o t h e r e f f e c t .

1 G R A P H I C 2 : C O L O R 0 , 0 , 3 , 01 X = 2 0 0 : Y = 3 0 01 F O R I = 1 T O 1 0 02 P O I N T 3 . X . Y2 F O R D = 1 T O 2 0 : N E X T D3 P O I N T 0 , X , Y4 X = X + 5 : Y = Y + 55 N E X T I5 G O T O 1

T h i s p r o g r a m d i s p l a y s p o i n t t h a t m o v e s d o w n t h s c r e e nd i a g o n a l l y a n t h e n d i s a p p e a r s o n l y t r e t u r n t t h s t a r t i n g p o i n t t d i a l o v e r a g a i n . Y o c a c h a n g e t h s t a r t i n g p o i n t b a l t e r i n g t h v a l u e s f o a n Y y o c a a l t e r t h e a n g l e b c h a n g i n g t h i n c r em e n t v a l u e s f o a n o l i n e 4 0 B s t a r t i n g a n a h i g hn u m b e r s a n d e c r e m e n t i n g a n Y y o c a m a k e t h d o m o v eu p w a r d s f r o m l e f t t r i g h t o f r o m r i g h t t l e f t . R e m e m b e r t h a t f o rf o r w a r d m o t i o n , t h a t i f r o m l e f t t r i g h t , m u s t b l o f i g u r e , a n f o r e v e r s e m o t i o n m u s t b a h i g h f i g u r e . F o d o w n w a r d m o v em e n t m u s t b l o w , a n f o u p w a r d m o v e m e n t m u s t b h i g h .O b v i o u s l y l o f i g u r e s a r i n c r e m e n t e d a n h i g h o n e s d e c r e m e n t e d .

N o a d t h e f o l l o w i n g l i n e s :

A = 0 : B = 1 : C = 31 G R A P H I C 2 : C O L O R , A , B , C , 02 P O I N T C . X . Y5 C O L O R A , B , C , 05 A = A + 1 : B = B + 1 : C = C + 1L i n e s 5 2 a n d 5 3 a r i n t e r c h a n g e a b l e d e p e n d i n g u p o n w h e t h e r o n o y o w i s h t d c o m p l e t e c o l o r c h a n g e a o n c e .

I w o u l d p e r h a p s b g o o d p l a n t i n c r e a s e t h u p p e r l i m i t o t h f o n e x t l o o p o l i n e 1 s t h a t t h e d o t m o v e s f u r t h e r . N o t e t h a tt h e r e w i l l b s o m e c o l o r c o m b i n a t i o n s t h a t m a k e t h e d o t d i f f i c u l t t s e e . T h p r o g r a m d o e s n o t e x p l o r e a l t h e p o s s i b l e c o m b i n a t i o n s .P e r h a p s y o u w o u l d l i k e t e x p a n d i t i n c l u d e a l p o s s i b l e c h a n g e s ,t h u s p r o d u c i n g p r o g r a m t h a t w o u l d r u f o s o m e c o n s i d e r a b l ep e r i o d o f t i m e !

T r t h i s p r o g r a m n e x t2 0 0 G R A P H I C 2 : C O L O R O , 0 , 3 , 02 1 A = 0 : B = 02 2 C H A R A , B , " H E R E "2 2 F O R D = 1 T O 2 0 : N E X T1 1

Page 127: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 127/226

2 3 C H A R A , B , T h e r e a r f o u r s p a c e s t h e r e .2 4 A = A + 1 : B = B + 12 4 I F A = 1 5 A N D B = 1 5 T H E N 2 1 02 5 G O T O 2 2 0

I o r d e r t s e t h i s p r o g r a m w i t h o u t g o i n g t h r o u g h t h f i r s to n e , a s s u m i n g t h a t y o s t i l l h a v e i i m e m o r y , j u s t t y p e R U N 2 0 0 .A g a i n y o c a a l t e r a l t h v a r i a b l e s a n m a k e p r e t t y p a t t e r n s w i t ht h w o r d H E R E . T h c o m p l e t e , t w o - p a r t l i s t i n g i i n c l u d e d i A p p e n d i x N p r o g r a m 3 3

N o t e l i n e 2 4 5 . T h w o r d A N i w h a t i k n o w n a l o g i c a lo p e r a t o r . T h l i n e , f a i r l y o b v i o u s l y , c h e c k s t m a k e s u r e t h a t b o t hA N r e a c h t h e v a l u e o 1 b e f o r e d o i n g a n y t h i n g . W h a t h a p p e n s i y o c h a n g e t h e v a l u e o j u s t o n o t h e m ? T h r e s u l t i a i l l e g a lq u a n t i t y e r r o r . B o t h m u s t b t h s a m e f o t h p r o g r a m t r u p r o p e r l y . I n o r d e r f o y o t b a b l e t u s t w d i f f e r e n t v a l u e s i t h a t l i n e , y o m u s t m a k e u s o a n o t h e r l o g i c a l o p e r a t o r ; O R H o w e v e r i t h i s i n s t a n c e t h e r e i n o m u c h p o i n t t o i t

C h a n g e f e l i n e s i n t h i s p r o g r a m a n s e w h a t h a p p e n s . F i r s tb r i n g t h c u r s o r u t l i n e 2 0 a n t y p e 2 0 i n s t e a d . L i n e 2 0 h a n o b e e n c h a n g e d t 2 0 5 . T h e n , f i r s t o a l b r i n g i n g t h e c u r s o r d o w nb e l o w t h r e a d y s i g n a l , t y p e :2 0 C = 2 4 R E G I O N C2 4 C = C + 12 4 I F C = 7 T H E N C = 0N o t h w o r d H E R E f l a s h e s i d i f f e r e n t c o l o r s a c r o s s t h s c r e e n .

Y o w i l l b w e l l a w a r e o t h w a C h i l d r e n ' s T e l e v i s i o n W o r ks h o p u s e s a n i m a t i o n t p o i n t o u t t h e m e a n i n g s o w o r d s . H e r e i a o p p o r t u n i t y f o y o t w r i t e a s m a l l s e q u e n c e f o e i t h e r y o u r o w o

n e i g h b o r h o o d c h i l d , o e v e n f o y o u r l o c a l e l e m e n t a r y s c h o o l ,s h o w i n g s u c h n o t i o n s a s u p d o w n , s i d e w a y s , h e r e , t h e r e , d i a g o n a l ,l e f t , r i g h t , i n s i d e , o u t s i d e a n s o a n s f o r t h . S u c h c o n c e p t s a s l o w a n d f a s t a r e a s y t d o

A d t h e s e l i n e s f o c h u c k l e .

2 0 D I M X ( 2 0 0 )2 0 Y = 2 1 X = 4 + * S I N ( Y )2 2 C H A R X ( Y ) , Y , " H E R E "2 3 C H A R X ( Y ) , Y , "2 4 Y = Y + . 1

n e a t r e p l a c e m e n t o t h w o r d H E R E o c c u r s . W h a t i y o c h a n g e

1 1

Page 128: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 128/226

Page 129: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 129/226

7 R = R + 17 C = 8 N E X T I

W h e n y o r u t h i s p r o g r a m , y o w i l l s e s o m e s o r t o w h e e l e dv e h i c l e p a s s i n g a c r o s s t h e s c r e e n . T h o p e r a t i o n o t h p r o g r a m i f a i r l y o b v i o u s . I i n o t a d i f f i c u l t m a t t e r t a r r a n g e f o t h e t r u c k t c h a n g e c o l o r o e a c h r o w .

S e e w h a t y o u c a d w i t h c i r c l e s :

1 G R A P H I C 2 : C O L O R 0 , 0 , 3 , 02 X = 2 0 : Y = 2 0 : R X = 1 0 : R Y = 1 02 F O R I = 1 T O 5 0 03 C I R C L E 3 , X , Y , R X , R Y4 0 C I R C L E 0 , X , Y , R X , R Y4 X = X + 2 0 : Y = Y + 2 05 N E X T I

W a t c h i n g t h l i t t l e c r e a t u r e w o r m h i w a y d o w n t h s c r e e n c a n b m a d d e n i n g l y f a s c i n a t i n g ! C a w m a k e h i c o m e t o w a r d s u s Y e w c a n , s i m p l y b a d d i n g t l i n e 4 t h f o l l o w i n g t w s t a t e m e n t s :R X = R X + 2 : R Y = R Y + 2 . N o c h a n g e R t i n c r e m e n t b 4 T h e nc h a n g e R t i n c r e m e n t b 6 F i n a l l y , t s h o w t h a t y o h a v ec o m p l e t e c o n t r o l o v e r s u c h c r e a t u r e s , m a k e h i c r a w l o f i n t o t h d i s t a n c e s t a r t i n g l o o t h s c r e e n a n d w o r k i n g h i w a u p C o b i n e t h m o v e m e n t w i t h s u i t a b l e s o u n d .

C R E A T I N G S P E C I A L E F F E C T ST h n e x t s e c t i o n m a k e s u s o t h V I i u n e x p a n d e d f o r m , i

f a c t e x p a n s i o n c r e a t e s b i o p r o b l e m t h a t w i l l b a d d r e s s e d a l a t e r p o i n t i t i m e . Y o a r g o i n g t p r o d u c e d o u b l e s i z e c h a r a c t e r s .

Y o w i l l r e c a l l h o y o d e v e l o p e d s o m e c h a r a c t e r s o y o u r o w w h i c h a r c a l l e d u s e r - d e f i n e d c h a r a c t e r s , i a e a r l i e r c h a p t e r . Y o b e g a n b r e s e r v i n g a a r e a o m e m o r y i w h i c h i p u y o u r n e c h a r a c t e r s s t h a t t h e y w o u l d n o b d i s t u r b e d . Y o t h e n p r e p a r e ds e r i e s o d a t a l i n e s t o b r e a d o n b o n t p r o d u c e t h C h i n e s e a n G r e e k c h a r a c t e r s . Y o m i g h t n o f e e l t h a t s u c h c h a r a c t e r s a r a n m o r e u s e f u l t h a n t h o n e s g i v e n i t h A p p e n d i x d e a l i n g w i t hR u s s i a n a n H e b r e w l a n g u a g e a l p h a b e t s .

T h f o l l o w i n g p r o g r a m w i l l a l l o w y o u r c h i l d o y o u r s t o r e ,u s i n g t h V I C - 2 0 t d i s p l a y a d v e r t i s e m e n t s , t u s l a r g e l e t t e r s ,w h i c h c a b s e e n a d i s t a n c e .

C h a r a c t e r s a r n o r m a l l y c o n s t r u c t e d i 8 x d o m a t r i x . A w h a v e a l r e a d y s e e n , i i p o s s i b l e t c r e a t e c h a r a c t e r s i a x l m a t r i x s t h a t t h c h a r a c t e r s a r e t w i c e a t a l l . T h a d d r e s s t p o k e

1 2

Page 130: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 130/226

h e r e i 3 6 8 6 7 , a n t h e x p r e s s i o n i s P O K E 3 6 8 6 7 , P E E K ( 3 6 8 6 7 )O R 1 . T h r e s u l t s l o o k l i t t l e o d d , b u i y o e x a m i n e i c l o s e l y , y o w i l l s e t h a t t h c h a r a c t e r s a r p r i n t e d i p a i r s o n e a b o v e t h o t h e r .I y o t h e n t y p e t h l e t t e r s o t h e a l p h a b e t i o r d e r , y o w i l l s e h o t h p a i r s a r g r o u p e d . Y o w i l l f i n d t h a t i m i s s i n g . T g e A y o m u s t t y p e t h s i g n .

T h p r o g r a m e x i s t s a s u b r o u t i n e t h a t y o c a c a l l a f t e r y o h a v e p u y o u r m a t e r i a l i t h m a i n p r o g r a m . h a v e u s e d t h s i m p l en a m e p r o g r a m a s b a s i s , b u y o a r e , o f c o u r s e , f r e e t m a k ew h a t e v e r u s y o w i s h o t h r o u t i n e .

P R I N T 1 1 : ? 11 P R I N T ' T H I S P R O O R f l l W E W I L L R L L O W Y O T I N 3 E R T

D O U B L E S I Z E C H R R f l C T E R S R W I L L 1 12 0 P R I N T n W H R T I V O U R N f l M E ? "3 I N P U T R 4 O O S U B 1 0 0 0 04 5 P R I N T S 1 15 0 P R I N T " H E L L O " J R *5 F O R O - 1 T O 5 0 0 0 : N E X T9 9 9 9 E N D

1 0 0 0 0 P 0 K E 5 6 , 2 8 ' C H » 3 2 7 7 61 0 0 1 0 F O R X - 7 1 8 4 T O 7 6 0 0 S T E P 2 • P O K E X , P E E K ( C H ) • P O K E X + 1 s

P E E K C C H )1 0 0 2 0 C H » C H + i : N E X T1 0 0 3 0 P 0 K E 3 6 8 7 9 ; 2 51 0 0 4 0 P 0 K E 3 6 8 6 9 , 2 5 5 ' . P 0 K E 3 6 8 6 7 , 4 71 0 0 5 0 R E T U R N

T h p r o g r a m w o r k s b y r e a d i n g e a c h p a r t o f c h a r a c t e r t w i c ei n t o t h R A s p a c e y o u h a v e p r e p a r e d . O b v i o u s l y y o n l o n g e rh a v e a l 6 c h a r a c t e r s a v a i l a b l e t y o u , b u t h e n , i i u n l i k e l y t h a ty o w i l l w a n t s u c h t h i n g s a a r r o w s a n d p o u n d s i g n s i y o u r d i s p l a y .I y o u d o t h e n y o m u s t m a k e t h a p p r o p r i a t e a r r a n g e m e n t s .

Y o m i g h t b m o r e t h a n j u s t l i t t l e c u r i o u s a b o u t t h s t a t e m e n ta t h e b e g i n n i n g o l i n e 1 0 0 3 0 , w h i c h p o k e s 2 i n t o 3 6 8 7 9 . T h i s h a st d w i t h b o r d e r c o n t r o l . A h a b e e n n o t e d , l o c a t i o n 3 6 8 7 9 h a s al o t d w i t h t h e c o l o r o s c r e e n b o r d e r a n c h a r a c t e r s .

T r t h i s l i t t l e s e q u e n c e :1 0 X = 3 6 8 7 91 0 F O R I = 1 T O 2 5 51 1 P O K E X . I1 2 F O R D = 1 T O 1 0 0 0 : N E X T1 2 ? " A L L C H A N G E " ( T h a t ' s n o q u i t e t r u e a y o w i l l s e e ! )1 3 N E X T1 4 E N

Y o c a c h a n g e t h e v a l u e o t h d u r a t i o n l o o p o l i n e 1 2 t s u i t y o u r1 2

Page 131: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 131/226

o w p u r p o s e s , a n t h e n i n c o r p o r a t e t h e r o u t i n e i n t o m e s s a g ep r o g r a m f o s t o r e w i n d o w , o c h a n g e c e r t a i n p o r t i o n s o t e a c h i n gp r o g r a m o f i n a n c e p r o g r a m t d r a w a t t e n t i o n t o c e r t a i n f e a t u r e s .T h e r e a r t w p o i n t s t t a k e i n t o c o n s i d e r a t i o n h o w e v e r n e v e ro v e r d o t r i c k w i t h c o l o r ( o a n o t h e r t y p e o f t r i c k f o r t h a t m a t t e r ) ,a n d m a k e s u r e t h a t t h d i f f e r e n c e b e t w e e n c o l o r s a l l o w s f o t h m a t e r i a l t b r e a d w i t h e a s e . I w o u l d b g o o d p l a n t m a k e n o t eo t h e f f e c t o t h n u m b e r a f t e r t h c o m m a . Y o w i l l f i n d t h a t e f f e c t st a k e p l a c e i g r o u p s . Y o c a p l a y q u i t e h a p p i l y w i t h t h i s b p o k i n gt h a d d r e s s w i t h v a l u e s i t h d i r e c t m o d e . I y o u d o t r t h i s a n g e l o s t , j u s t p o k e 3 6 8 7 9 , 2 7 t g e b a c k t n o r m a l .

W h e n y o h a v e h a d e n o u g h o t h i s e x p l o r a t i o n , t r y i n s e r t i n g t h i n f o r m a t i o n y o h a v e a c q u i r e d i n t o t h e d o u b l e - s i z e l e t t e r p r o g r a mt p r o d u c e g r a n d e f f e c t .

L e t u s e x p l o r e l o c a t i o n 3 6 8 7 9 j u s t l i t t l e m o r e .

P R I N T 1 1 ! ! 1 11 O 3 6 8 7 91 P R I N T ? P R I N T :2 P R I N T » T H I S P R O Q R R M M E D E M O N - S T R R T E S T H E E F F E C T 1 12 2 P R I N T " 0 F T H E L O C R T I O N " ; 2 P R I N T - C H O O S E T H E F F E C T V O U W I S H T O E X R M I N E F R O M

T H F O L L O W I N G L I S T 1 12 P R I N T ' P R I N T *

3 P R I N T " f l U X I L I f l R V " ; H 3 "3 I N P U T f l4 0 I F R « 1 T H E N 1 0 04 I F R » 2 T H E N 2 0 04 4 I F R - 3 T H E N 3 0 01 0 P R I N T " W E N T E R N U M B E R F R O M 0 T 1 5 1 1 I N P U T X

1 2 T h f o r m u l a g o e s h e r e . S e t h n o t e s f o l l o w i n g f o d e t a i l s .

1 3 P R I N T - E N T E R N E W N U M B E R T O S E E N E W E F F E C T 1 11 4 P R I N T " E N T E R 2 0 0 T O R E T U R N "1 5 I N P U T X1 6 I F X O 1 5 T H E N 1 2 01 7 G 0 T 0 5

N o w , p a c l o s e a t t e n t i o n b e c a u s e , a l t h o u g h t h e a c t i o n w h i c hf o l l o w s m i g h t s e e m v e r y m u c h l i k e d i g r e s s i o n , i w i l l b v e r yu s e f u l i o t h e r p r o g r a m s a n s a v e b i o t i m e e n t e r i n g t h i s o n e .

B r i n g t h c u r s o r u t t h f i r s t d i g i t i n t h l i n e 1 0 0 . T h e n p r e s sa n t h e r e t u r n k e y . L i n e 1 0 n o a p p e a r s t b 2 0 0 . D o n ' t w o r r y !

Y o h a v e n o l o s t l i n e 1 0 0 . T h c u r s o r i n o o v e r t h f i r s t d i g i t i l i n e 1 1 0 . P r e s s a g a i n f o l l o w e d b t h R e t u r n k e y . C o n t i n u e d o i n g

1 2

Page 132: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 132/226

Page 133: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 133/226

C h a p t e r 1 I i t i m e t c o n c e r n o u r s e l v e s w i t h t h o s e c u r i o u s s t a t e m e n t s k n o w na I n p u t / O u t p u t S t a t e m e n t s , u s u a l l y s h o w n i d o c u m e n t a t i o n a I / s t a t e m e n t s . A y o a r a w a r e , t h c o m p u t e r t a l k s t t h k e y b o a r da n t h s c r e e n q u i t e a u t o m a t i c a l l y . I a d d i t i o n , t h c o m m a n d s s a v ea n l o a d t a l k t t h e D a t a s e t t e q u i t e a u t o m a t i c a l l y t o o . H o w e v e r , y o m i g h t w i s h t d o t h e r t h i n g s w i t h o u r e c o r d e r t h a n m e r e l y s a v ew h o l e p r o g r a m s .

P r o g r a m s t a k e u s p a c e . N o o n l y t h a t , b u t h e r e a r e o c c a s i o n sw h e n w w i s h t k e e p c e r t a i n i n f o r m a t i o n s e p a r a t e d f r o m t h p r o g r a m i t s e l f . A e x a m p l e m i g h t w e l l b p r o g r a m t h a t m a k e s u s o f s p e c i a l c h a r a c t e r s t h a t y o h a v e d e s i g n e d . A y o c a i m a g i n e ,t h p r o c e s s o f p r i n t i n g o u d i f f e r e n t p r o g r a m f o e a c h c h a r a c t e r s e c a b a n a r d u o u s o n i n d e e d . b e t t e r w a o d e a l i n g w i t h s p e c i a lc h a r a c t e r s w o u l d b t p r o d u c e w h a t i k n o w n a s u t i l i t y p r o g r a mt h a t c o n t a i n s e m p t y s p a c e s f o t h s p e c i f i c d a t a y o w i s h t u s e .

F i r s t y o u w o u l d a r r a n g e f o y o u r u t i l i t y p r o g r a m t a c c e p t w h a ta r k n o w n a d a t a f i l e s . T h d a t a f i l e s t h e m s e l v e s w o u l d b c r e a t e db a n o t h e r p r o g r a m . A l l t h a t h a p p e n s i t h a t t h p r o g r a m t h a t a l l o w sy o t c r e a t e t h f i l e s w o u l d t r a n s m i t t h e i n f o r m a t i o n y o u h a v eg a t h e r e d , b u n o t h p r o g r a m i t s e l f t t h r e c o r d e r . Y o w o u l dg i v e t h e i n f o r m a t i o n n a m e . T h e n , l o a d i n g y o u r u t i l i t y , y o w o u l dp l a c e y o u r d a t a f i l e t a p e i t h e r e c o r d e r a n a l l o w t h u t i l i t y t r e a di t Y o w o u l d t h e r e b y c r e a t e t h i r d p r o g r a m . T h i s c o u l d b u s e dd i r e c t l y f r o m m e m o r y o i t s e l f s a v e d t t a p e .

1 2

Page 134: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 134/226

T h t r o u b l e w i t h d e s c r i p t i o n s o s e t o f a c t i v i t i e s i t h a t t h p r o c e s s a l w a y s s e e m s t s o u n d m o r e c o m p l e x a n m o r e t r o u b l es o m e t h a n i r e a l l y i s s u i t a b l e a n a l o g y , a l t h o u g h a n a l o g i e s a r s e l d o m a l t h a t a c c u r a t e , m i g h t b e t h a t o f t h l o o s e - l e a f b i n d e r i n t ow h i c h a l k i n d s o f d i s c r e t e c h u n k s o i n f o r m a t i o n c a b p u a n o u o w h i c h t h e y c a b t a k e n i w h a t e v e r o r d e r y o w i s h .

T h c o m p u t e r c a b m a d e t t a l k t e a c h o i t o w p a r t s a n o t h e r t h i n g s t h a t y o a t t a c h t i u n d e r y o u r c o n t r o l . I o t h e r w o r d s ,y o c a n b e g i n t d e t e r m i n e w h a t i d o e s a n h o i d o e s i t T h i sp e r s o n a l c o n t r o l i a c h i e v e d t h r o u g h t h I / S t a t e m e n t s .

I N P U T / O U T P U T S T A T E M E N T ST h c o m m a n d s i q u e s t i o n a r e :O P E N T h i s s t a t e m e n t o p e n s l i n e o c h a n n e l t s p e c i f i c

d e v i c e t h a t c a e i t h e r b a i n t e g r a l p a r t o t h V I C - 2 0 , l i k e t h s c r e e n a n d k e y b o a r d o p e r i p h e r a l d e v i c e , s u c h a t a p e , d i s k , o p r i n t e r . W h e n e v e r y o u w i s h t a c c e s s p a r t i c u l a r d e v i c e , t h o p e ns t a t e m e n t m u s t b t h f i r s t o n y o u s e .

C M T h i s s t a t e m e n t t e l l s t h c o m p u t e r t h a t t h f i l e t h a tf o l l o w s , w h e t h e r i b d a t a o l i s t i n g , w i l l n l o n g e r b s e n t t t h s c r e e n a s u s u a l b u i b e i n g s e n t t s o m e o t h e r d e v i c e , l i k e t h t a p e - d r i v e , d i s k , o t h p r i n t e r i n s t e a d .

P r i n t # T h i s s t a t e m e n t d o e s t h d o n k e y w o r k o s e n d i n gt h i n f o r m a t i o n t w h a t e v e r d e v i c e h a b e e n o p e n e d . I a l s o s e r v e sa a k i n d o e n d - o f - t r a n s m i s s i o n s i g n a l , c a u s i n g t h s c r e e n t r c e i v e t h e t r a n s m i s s i o n o n c e m o r e .

C L O S E T h i s c l o s e s t h e c h a n n e l t w h a t e v e r d e v i c e h a b e e n a d d r e s s e d . I i t h l a s t s t a t e m e n t i a n c o l l e c t i o n o f s t a t em e n t s t h a t y o m i g h t u s f o I n p u t / O u t p u t .

G E T # p e r f o r m s m u c h d i s a m e f u n c t i o n a s t h e g e t s t a t em e n t , b u t w i t h r e f e r e n c e t w h a t e v e r d e v i c e y o w i s h t a c q u i r ed a t a f r o m . I t a k e s t h e d a t a o n b y t e a t i m e . I t h e r e i n d a t a i w o r k s t h s a m e w a a t h g e s t a t e m e n t .

I N P U T # i t h d e v i c e c o u n t e r p a r t o t h i n p u t s t a t e m e n t .I g a t h e r s w h o l e v a r i a b l e s f r o m t a p e o d i s k .

E a c h d e v i c e h a s i t o w n u m b e r . I / s t a t e m e n t s m u s t i n c l u d et h i s n u m b e r s t h a t t h V I C - 2 0 c a k e e p t r a c k o w h e r e i n f o r m a t i o ni t g t o c o m e f r o m .

T h d e v i c e n u m b e r s a r e a s f o l l o w s :K e y b o a r d ( T h a t ' s z e r o )D a t a s e t t e

1 2

Page 135: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 135/226

R S 2 3 2 ( U s e d f o c o m m u n i c a t i o n s v i t e l e p h o n e o r t t a l k t a o t h e r c o m p u t e r n e x t t t h V I C - 2 0 )

S c r e e nP r i n t e rP r i n t e r ( Y e s y o u h a v e c h o i c e — m o r e

o t h a t l a t e r )D i s k d r i v e

L e t u s s a w w i s h t o p e n c h a n n e l t t h t a p e r e c o r d e r . T h f o r m a t w o u l d b e O P E N 1 , 1 w h e r e t h f i r s t n u m b e r i t h f i l en u m b e r a n t h n u m b e r a f t e r t h c o m m a i t h d e v i c e n u m b e r . Y o c a g i v e y o u r f i l e s a n n u m b e r y o l i k e ; t h i s i y o u r p e r s o n a l w a o l a b e l i n g g r o u p s o f i n f o r m a t i o n . I y o w i s h e d t s e n d t h s a m e d a t at t h p r i n t e r , t h s t a t e m e n t w o u l d r e a d O P E N 1 , 4 ( o o c o u r s e , 5 ) .F o t h d i s k d r i v e , t h s t a t e m e n t w o u l d b O P E N 1 , 8 . Q u i t ec l e a r l y , y o c a h a v e v a r i e t y o f i l e s , e a c h w i t h s p e c i f i c n u m b e r ,a n s e n d t h e m w h e r e v e r y o u w i s h : t h i s o n t t a p e , t h i s o n t t h p r i n t e r . O c o u r s e , i i i m p o s s i b l e t o r e t r i e v e d a t a f r o m t h p r i n t e r .

Y o c a a d a n o t h e r n u m b e r , w h i c h i n d i c a t e s p a r t i c u l a rc o m m a n d , t t h o p e n s t a t e m e n t . ( z e r o ) a d d e d t O P E N 1 , 1 i t h f o r m O P E N 1 , 1 , 0 , f o l l o w e d b t h f i l e n a m e , w o u l d i n s t r u c t t h c o m p u t e r t r e a d d a t a f r o m t h c a s s e t t e . U s i n g a t h t h i r dn u m b e r w o u l d t e l l t h c o m p u t e r t w r i t e t t h c a s s e t t e . i t h c o m m a n d n o o n l y t w r i t e t t h c a s s e t t e b u a l s o t p u a e n d - o f - t a p e ( E O T ) m a r k e r a t h e n o t h d a t a s t h a t t h m a c h i n ed o e s n o k e e p o n r u n n i n g w i t h n o t h i n g h a p p e n i n g . T h z e r o w h e nu s e d w i t h d e v i c e 4 t h p r i n t e r , s e n d s u p p e r c a s e a n g r a p h i c s ; a n

s e n d s u p p e r a n l o w e r c a s e .I t a b u l a r f o r m t h w h o l e i n s t r u c t i o n s e f o d e v i c e s i a

f o l l o w s :O P E N 1 , 0 T h k e y b o a r d i r e a d .O P E N 1 , 1 , 0 , " n a m e " T h c a s s e t t e i r e a d .O P E N 1 , 1 , 1 , ' ' n a m e " T h c a s s e t t e i w r i t t e n t o O P E N 1 , 1 , 2 , ' ' n a m e " T h c a s s e t t e i w r i t t e n t a n a

e n d - o f - t a p e m a r k e r i p l a c e da t h e n o t h f i l e .

O P E N 1 , 2 , 0 ' ' s t r i n g " c h a n n e l t a R S 2 3 2 ( c o m m u n ic a t i o n s ) d e v i c e i o p e n e d .

O P E N 1 , 3 T h s c r e e n i w r i t t e n t o / r e a d .O P E N 1 , 4 , 0 , ' ' s t r i n g " U p p e r c a s e c h a r a c t e r s a n

g r a p h i c s a r e s e n t t t h p r i n t e r .

1 2

Page 136: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 136/226

O P E N 1 , 4 , 7 , ' ' s t r i n g " U p p e r - a n d l o w e r c a s e c h a ra c t e r s a r s e n t t t h p r i n t e r .

O P E N 1 , 5 , 0 , ' ' s t r i n g " U p p e r - a n d l o w e r c a s e c h a ra c t e r s a r e s e n t t t h p r i n t e r , d e v i c e # s w i t c h e d

O P E N 1 , 8 , 1 5 , ' c o m m a n d " c o m m a n d i s e n t t t h d i s k .

B e a r i m i n d t h a t t h f i r s t n u m b e r c a b a n i r a n g e f r o mt 2 5 a n r e f e r s t o t h f i l e n u m b e r . T h i s i i m p o r t a n t w h e n y o w i s h t r e t r i e v e t h c o r r e c t m a t e r i a l . I m e a n s t h a t s e r i e s o fp r o g r a m l i n e s c a c o l l e c t d a t a f r o m a t a p e o d i s k a n a l l o w t h ec o m p u t e r t w o r k o i ( i i t i s , f o e x a m p l e , n u m e r i c a l d a t a t h a tr e q u i r e s s o m e c o m p u t a t i o n ) a n c a t h e n s e n d t h r e s u l t t o t h a p p r o p r i a t e d e v i c e . I y o w e r e d o i n g y o u r i n c o m e t a x , y o w o u l dw a n t t b a b l e t f i g u r e y o u r t o t a l s c o r r e c t l y b e f o r e p r i n t i n g t h e m .O t h o t h e r h a n d y o m i g h t w i s h t c o m p a r e t w s e t s o c o m p l e xr e s u l t s t s e w h i c h i t h m o r e a d v a n t a g e o u s .

O n n e c e s s a r y p r e c a u t i o n i t m a k e s u r e y o c l o s e f i l e w h e ny o h a v e f i n i s h e d w i t h i t A n o t h e r p r e c a u t i o n t t a k e i t p l a c e aP R I N T # ( f i l e n u m b e r ) b e f o r e c l o s i n g t m a k e s u r e t h a t e v e r y t h i n gy o w a n t s e n t t t h a t d e v i c e i a c t u a l l y s e n t . O t h e r w i s e t h e r e i c h a n c e o f l o s i n g m a t e r i a l .

P R I N T # i f o l l o w e d b t h f i l e n u m b e r a n t h e n t h v a r i a b l e o v a r i a b l e s y o w i s h s e n t , f o e x a m p l e : P R I N T # 1 , A $ , B $ C $ , X $ T h v a r i a b l e s w o u l d h a v e b e e n d e c l a r e d p r e v i o u s l y a n t h c o t e n t s t y p e d i n E a c h v a r i a b l e c o u l d t h e n b t r a n s m i t t e d a a n w h e nn e c e s s a r y . D i m e n s i o n e d v a r i a b l e s w i l l w o r k i t h s a m e w a y . D o n ' tc o n f u s e y o u r s e l f b d e c l a r i n g e i t h e r t o m a n y v a r i a b l e s o t o m a n yd i m e n s i o n e d o n e s !

L e t ' s l o o k a t h f o l l o w i n g s h o r t p r o g r a m t h a t s e n d s d a t a t p r i n t e r

1 O P E N 1 , 4 , 0 ( U p p e r c a s e i b e i n g s e n t )2 C M D 1 : R E A D A $ , B $ , C $3 P R I N T # 1 , A $ > B $ , C $ I4 C L O S E 15 D A T A ' T H I S I T H F I R S T I T E M "6 D A T A ' T H I S I T H S E C O N D I T E M "7 D A T A ' T H I S I T H T H I R D I T E M "

I t h i s e x a m p l e , t h i t e m s w i l l b s p a c e d a c r o s s t h e p a g e w i t ht h t h i r d i t e m e x t e n d i n g t t h n e x t l i n e a f t e r t h w o r d t h e . I y o p l a c e s e m i c o l o n s a f t e r e a c h v a r i a b l e i t h P R I N T # s t a t e m e n t , t h i t e m s f o l l o w e a c h o t h e r i m m e d i a t e l y . T c a u s e e a c h i t e m t b 1 2

Page 137: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 137/226

p r i n t e d i a c o l u m n , t h r e e s e p a r a t e l i n e s , e a c h w i t h P R I N T #s t a t e m e n t a n o n o t h v a r i a b l e s a r e n e c e s s a r y . T h e r e i a n o t h e rw a o d o i n g t h i s t h a t c a b e x p l a i n e d m o r e e f f i c i e n t l y i n t h s e c t i o n o t h p r i n t e r .

F o t h e t r a n s m i s s i o n o f d a t a t t h t a p e , t h f i r s t l i n e w o u l dr e a d O P E N 1 , 1 , 1 f o l l o w e d b t h f i l e n a m e . R e t r i e v a l o t h e d a t af r o m t a p e w o u l d r e q u i r e t h f i r s t l i n e t r e a d O P E N 1 , 1 , 0 f o l l o w e db t h f i l e n a m e .

T h f o l l o w i n g a r p a i r o s e q u e n c e s t h a t w i l l w r i t e a n r e a df i l e s t a n d f r o m t a p e :1 O P E N 1 , 1 , 1 , " T H I S I T A P E F I L E "2 N L $ = C H R $ ( 1 3 )3 P R I N T # 1 , 1 ; N L $ ; 3 ; N L $ ; 2 ; N L $ ; 1 74 0 P R I N T # 1 , 2 25 P R I N T # 1 , 3 0 1T h v a r i a b l e N L i m a d e t e q u a l c a r r i a g e r e t u r n , w h i c h s e p ar a t e s e a c h o t h i t e m s o d a t a .1 0 O P E N 1 , 1 , 0 , ' T H I S I T A P E F I L E "1 1 P R I N T ' F I L E N O O P E N "1 2 I N P U T # 1 A B , C , D1 3 I N P U T # 1 , E1 4 I N P U T ! , F : C L O S E 1

U S I N G P R I N T E RL e u n o t u r n o u a t t e n t i o n t o t h p r i n t e r . T h e r e a r t w

p r i n t e r s t h a t a r u s e d w i t h t h V I C - 2 0 : T h V I C - 1 5 1 5 , w h i c h w i l lo n l y w o r k w i t h t h V I C - 2 0 , a n t h V I C - 1 5 2 5 , w h i c h w i l l a l s o w o r kw i t h t h C o m m o d o r e 6 4 T h m o d e l a u s i n g i t h l a t t e r .

T h p r i n t e r i a c t u a l l y m a d e b S e i k o s h a , a n i a l s o m a r k e t e db t h e m i t h e i r G s e r i e s . T h S e i k o s h a v e r s i o n h a b o t h s e r i a l a n p a r a l l e l i n t e r f a c e s , w h i c h a l l o w s f o u s w i t h c o m p u t e r s o t h e r t h a nt h o s e m a d e b C o m m o d o r e . T h e V I C v e r s i o n h a o n l y t h s e r i a li n t e r f a c e ; t h l i t t l e s l o t a t t h b a c k i w h i c h t h p a r a l l e l i n t e r f a c ec o n n e c t i o n w o u l d n o r m a l l y f i i e m p t y . Y e t e v e n t h s e r i a l i n t e rf a c e i n o t h n o r m a l i n t e r f a c e . C e r t a i n l y i h a t h D I p l u g , b u t h p i c o n f i g u r a t i o n d i f f e r s f r o m n o r m a l . Y o c a g e c u s t o mc a b l e m a d e t d t h p r o p e r c o n v e r s i o n .

S e t t i n g u t h p r i n t e r i a s i m p l e a f f a i r p l u g t h e c a b l e w i t h t h D I p l u g s i n t o t h p r i n t e r a n t h c o m p u t e r . A t h c o m p u t e r e n d ,t h p l u g s i t s i t h r e m a i n i n g r o u n d p l u g h o l e ( t h e o t h e r i a l r e a d yb e i n g u s e d b t h c o n n e c t i o n t t h T V ) . B e f o r e p l u g g i n g i n t o t h p o w e r , i w i l l b n e c e s s a r y t d o o n e o t w h o u s e k e e p i n g c h o r e s .

1 2

Page 138: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 138/226

T h e s e a r d o c u m e n t e d i t h m a n u a l t h a t c o m e s w i t h t h p r i n t e r .T h e n t i r e m a n u a l d e s e r v e s c a r e f u l r e a d i n g , b u t t h e r e a r e o n o t w t h i n g s t h a t y o s h o u l d b p a r t i c u l a r l y c a r e f u l w i t h .

F i t t i n g t h r i b b o n c a b t r i f l e a w k w a r d b e c a u s e i i n v o l v e st i l t i n g t h s m a l l p l a s t i c h o u s i n g s a n t h e n p r e s s i n g t h e m d o w n o t h s u p p o r t s . M a k e s u r e t h a t t h e r i b b o n p a s s e s b e t w e e n t h p r i n th e a d a n t h p l a t t e n a n a l s o f i t s b e t w e e n t h s m a l l f e e d e r g r i p a n t h p l a s t i c s w i v e l p i e c e d i a m e t r i c a l l y o p p o s i t e t h e p r i n t h e a d .

T h e r e i s m a l l l e v e r t h a t s i t s i s m a l l d e p r e s s i o n s a n i p l a c e d b e t w e e n t h p r i n t h e a d a n d t h r i b b o n g r i p . T h m a n u a l t e l l sy o ( a l e a s t m i n e t o l d m e t h a t t h i s c o n t r o l s t h p r i n t c o n t r a s t b i n c r e a s i n g t h p r i n t d e n s i t y w h e n m o v e d t t h r i ^ h t , o c l o c k w i s e ,a n d e c r e a s i n g t h p r i n t d e n s i t y w h e n t u r n e d t t h l e f t , o c o u nt e r c l o c k w i s e . M i n e w o r k s t h o t h e r w a a r o u n d .

T h p r i n t e r w i l l t a k e o n l y s p e c i a l l y p e r f o r a t e d p r i n t e r p a p e r u t 9 V f e i n c h e s w i d e . T h s i d e s o t h i s p a p e r t e a r o f s t h a t y o c a r e m o v e t h t r a c t o r h o l e s a n h a v e s t a n d a r d 8 i n c h w i d e p a p e r . I m s e u p t h b o o p a p e r s i t s o t h f l o o r a n t h p a p e r i f e u b e h i n d t h d e s k , d o w n u n d e r t h r o l l e r , a r o u n d t h p l a t t e n , t h r o u g ht h t r a c t o r m e c h a n i s m , a n t h e n b a c k d o w n b e h i n d t h d e s k o n c em o r e . I i i m p o r t a n t t m a k e s u r e t h a t t h p a p e r i f e w i t h o u t a n p o s s i b i l i t y o i t g e t t i n g c a u g h t o a n y t h i n g a n t h a t i m o v e s i l i n ew i t h t h t r a c t o r . T h t r a c t o r s p r o c k e t s s h o u l d b p r o p e r l y a d j u s t e ds t h a t t h e y a r n e i t h e r t o t i g h t n o t o c l o s e t o g e t h e r . O n c e s e t h e y w i l l s t a y w h e r e t h e y a r v e r y n i c e l y .

B e f o r e t u r n i n g o t h c o m p u t e r i i i m p o r t a n t t c h e c k t h p r i n t e r a l o n e b r u n n i n g a t e s t p a t t e r n . A t h b a c k o t h p r i n t e rt h e r e i a s w i t c h t h a t c a b s e i o n o t h r e e p o s i t i o n s : T 4 o 5 O t h S e i k o s h a m a c h i n e t h e y a r T S a n ( f o r s e r i a l a n p a r a l l e l ) . T h e V I C v e r s i o n a l l o w s y o t s e l e c t t h p r i n t e r t o b e i t h e r d e v i c e o 5 F i r s t s e t h e s w i t c h t o n o t h t w n u m b e r s ,a n t h e n s w i t c h i o u s i n g t h e s w i t c h o t h l e f t r e a r p a r t o f t h c a s e . T h p r i n t e r , a s s u m i n g t h a t y o h a v e , o c o u r s e p l u g g e d i i n t oa a o u t l e t , w i l l o b l i g e y o w i t h l i t t l e d a n c e o t h p r i n t h e a d t t h m i d d l e o t h p a p e r a n b a c k t t h l e f t e d g e . N o y o c a m o v e t h r e a r s w i t c h t T w h i c h i t y o u r r i g h t ; w h e r e u p o n t h p r i n t e r w i l lb e g i n p r o d u c i n g c o m p l e t e c o m p e n d i u m o i t r e p e r t o i r e , a n i w i l ld i o v e r a n d o v e r a g a i n u n t i l y o s w i t c h t e i t h e r o 5

H e r e i p r o g r a m t h a t g e t s t h e p r i n t e r t d n u m b e r o t r i c k s .T h f i r s t p a r t o t h p r o g r a m w i l l b q u i t e f a m i l i a r ; t h v a r i o u sC H R $ s w i l l b e x p l a i n e d a f t e r t h l i s t i n g .

1 3

Page 139: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 139/226

1 O P E N 1 , 4 , 71 N L $ = C H R $ ( 1 3 )1 L $ = C H R $ ( 1 0 )1 F O R I = 1 T O 1 0 : P R I N T # 1 , L $ : N E X T2 C M D 1 : R E A D A $ , B $ , C $3 P R I N T # 1 , A $ , B $ C $3 2 P R I N T # 1 , A $3 P R I N T # 1 , B $3 4 P R I N T # 1 , B $3 P R I N T # 1 , A $ ; N L $ ; B $ ; N L $ ; C $ ; N L $3 6 P R I N T # 1 , A $ ; N L $ ; L $ ; B $ ; L $ ; N L $ ; L $ ; C $ ; N L $4 P R I N T # 1 , C H R $ ( 1 4 ) , A $ ; B $ ; C $5 0 P R I N T # 1 , C H R $ ( 1 8 ) , C H R $ ( 1 4 ) , A $ ; B $ ; C $9 C L O S E 11 0 D A T A ' T H I S I T H F I R S T I T E M "1 1 D A T A ' T H I S I T H S E C O N D I T E M "1 2 D A T A ' T H I S I T H T H I R D I T E M "

l i n e b l i n e e x a m i n a t i o n o t h i s p r o g r a m t e l l s y o t h a t t h p r i n t e r i t h d e v i c e a d d r e s s e d a n t h a t y o w i s h t s e n d l o w e r c a s em a t e r i a l . T h p r i n t e r w i l l o r d i n a r i l y p r i n t i u p p e r c a s e a n w i l lr e v e r t t t h a t s t a t e w h e n t h p r o g r a m h a b e e n c o m p l e t e d a n t h f i l e c l o s e d . N L i c a r r i a g e r e t u r n ; L i l i n e f e e d , w h i c h w i l l p u b l a n k l i n e s b e t w e e n t e x t . L i n e 1 g i v e s u t e l i n e f e e d s . L i n et w e n t y i c o m m o n o g a r d e n v a r i e t y r e a d s t a t e m e n t . T h c o c o m i t a n t d a t a l i n e s a r 1 0 0 - 1 2 0 . L i n e 3 c a u s e s t h e t h r e e d a t a l i n e st b p r i n t e d o n a f t e r t h e o t h e r w i t h o u t g a p s b e t w e e n t h e m . L i n e s3 t 3 c a u s e t h s a m e m a t e r i a l t o b p r i n t e d , b u t , a w i t h t h s c r e e n , n e p r o g r a m l i n e p r o d u c e s n e p r i n t e d l i n e . L i n e 3 d o e s t h s a m e t h i n g b u s i n g t h N L v a r i a b l e . L i n e 3 d o e s i a l o v e r a g a i n b u i n t r o d u c e s l i n e f e e d b e t w e e n e a c h l i n e . L i n e 4 c a u s e s s o m e f a n c y f o o t w o r k : C H R $ ( 1 4 ) i c o m m a n d t t h p r i n t e rt p r o d u c e d o u b l e w i d t h c h a r a c t e r s . C H R $ ( 1 8 ) c a u s e s t h m a t e r i a lt b p r i n t e d i r e v e r s e d m o d e . F i g u r e 1 3 - 1 s h o w s h o t h i s l o o k sf r o m t h p r i n t e r .

Y o w i l l n o t e t h a t t h l i s t i n g o t h p r o g r a m i i d o u b l e w i d t hm o d e . T h i s i b e c a u s e f o r g o t t r e s e t i b c o m m a n d i n g t h p r i n t e rt u s C H R $ ( 1 5 ) b e f o r e g e t t i n g t h p r o g r a m l i s t i n g . N o t e t h a t a l o t h e r a s p e c t s h a v e b e e n r e s e t t h p r i n t i u p p e r c a s e a n i n o r m a l( n o t r e v e r s e d ) m o d e . T h i s f i g u r e a l s o d i s p l a y s t h r e s u l t s o s o m eo t h e r c o d e s t o g e t h e r w i t h t h p r o g r a m t h a t p r o d u c e d t h o u t p u t .N o t e l i n e s 4 a n 5 0 T h t a s e t t i n g i p l a c e d i n s i d e t h q u o t a t i o nm a r k s , a n t h e r e i n s p a c e b e t w e e n t h n u m b e r s a n t h f i r s tc h a r a c t e r .

T h e r e a r o t h e r c o n t r o l s t h a t w o u l d n o t , p e r h a p s , b u s e d v e r yo f t e n . A n o t h c o n t r o l s c a b m i x e d , b u d b v e r y c a r e f u l t

1 3

Page 140: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 140/226

                          

                                 

                          

                                    

                           

                           

     

   

  

  

   

                                             

Page 141: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 141/226

k e e p t r a c k o w h i c h c o n t r o l s y o u h a v e u s e d , w h i c h a r s t i l l i u s e ,a n d w h i c h a r t b c o u n t e r m a n d e d . D b e l i e v e m e t h s w e a t y o e x u d e d o i n g c a r e f u l w o r k b e f o r e y o r u p r o g r a m w i l l r e p a y y o w i t h p r i n t o u t t h a t w i l l r u n s w e e t l y t h f i r s t t i m e .

Y o w i l l p r o b a b l y r e c a l l h o y o w o r k e d a n s t r u g g l e d t g e t an e a t b a c h a r t t a p p e a r o t h s c r e e n . A c o m m e n t e d t h e n , t h e r ei r e a l l y n o t h i n g l i k e a b a r c h a r t t g e m a n a g e r s t i n g l i n g t t h r o o t so t h e i r c o r p o r a t e h a i r a n d o w n t h e i r c o r p o r a t e s p i n e m a k i n g t h e mt p r o t r u d e t h e i r c o r p u l e n c e . I i n o t o d i f f i c u l t t p r o d u c ei m p r e s s i v e c h a r t s o t h p r i n t e r . C o n s i d e r t h e f o l l o w i n g p r o g r a m ,w h i c h i a c t u a l l y b a s e d u p o n t h a t f o u n d i t h p r i n t e r m a n u a l a n dr e w r i t t e n j u s t t m a k e t h i n g s c l e a r e r f o y o u .1 O P E N 1 , 4 : F O R I = 0 T O 52 R E A D A : A $ = A $ + C H R $ ( A ) : N E X T3 F O R D = 0 T O 5 : R E A D B : B $ = C H R $ ( B )4 C $ C H R $ ( 2 5 5 ) + C H R $ ( 5 9 ) + C H R $ ( 1 5 ) + C H R $ ( 3 2 )5 D $ = S T R $ ( 1 + D )6 P R I N T # 1 , C H R $ ( 1 5 ) D $ A $ B $ C $ b7 N E X T D8 D A T A 8 . 2 7 . 1 6 , 0 , 5 3 , 2 69 D A T A 6 3 > 2 2 , 4 5 , 6 7 , 9 4 , 1 0 2

T h i s p r o g r a m p r o d u c e s c h a r t t h a t n u m b e r s i t e m s a n p r d u c e s b l o c k g r a p h i c a n n u m b e r . T h l e n g t h o t h g r a p h i c i p r o p o r t i o n a l t t h n u m b e r t h a t f o l l o w s i c r e a t i n g a n e a t a n t i d yd i s p l a y .

T h p r o c e s s o d e s i g n i n g c h a r a c t e r s o y o u r o w t b p r i n t e do u i s i m i l a r t t h p r o c e s s o d e s i g n i n g t h e m t b d i s p l a y e d o t h s c r e e n . H o w e v e r , t h e r e i r a t h e r i m p o r t a n t d i f f e r e n c e . W h e r e a st h d a t a l i n e s t h a t c r e a t e c h a r a c t e r s t b d i s p l a y e d o t h s c r e e na r r e a d h o r i z o n t a l l y , t h o s e f o t h p r i n t e r a r r e a d v e r t i c a l l y . I a d d i t i o n t h e r e i o n l i n e f e w e r t d e a l w i t h .

L e t u s s a y o w a n t t d e s i g n s m a l l t a n k . ( Y o u c a d e s i g nw h a t y o w a n t b u I ' g o i n g t d e s i g n t a n k ! ) T a k e p i e c e o g r a p hp a p e r ( h a n o n e a r o u n d b u d i h a v e s o m e s p a r e s h e e t s f r o ms t a m p a l b u m , w h i c h s e r v e d j u s t a w e l l ) a n d r a w l i n e s a r o u n ds e v e n b s e v e n b l o c k o s q u a r e s . N o d e s i g n y o u r o b j e c t . M i n el o o k s l i k e t h i s :

1 3

Page 142: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 142/226

W i t h b i o i m a g i n a t i o n a n t h r i g h t g a m e s e t t i n g y o u w o u l d t h i n ki w a t a n k !

T h l e f t - m o s t c o l u m n i e m p t y , a n t h e v a l u e w i l l t h e r e f o r e b z e r o . T h n e x t c o l u m n i a d d e d v e r t i c a l l y u s i n g t h e d e c i m a l e q u i va l e n t s o f t h b i n a r y c o d e : t h e v a l u e o t h t o a n i t h i s c a s e ,e m p t y , s p o t b e i n g 1 t h s e c o n d o n d o w n , 2 , t h t h i r d , 4 , a n s o n E m p t y s p a c e s b e c o m e i d e c i m a l . T h s e c o n d c o l u m n t o t a l v a l u ei d e c i m a l i t h e r e f o r e 1 2 6 . N o a d t t h n u m b e r 1 2 t h a t f i g u r e ,t h e v a l u e o t h e n o n e x i s t e n t e i g h t h r o w . T h i s r e s u l t s i 2 5 4 . C a l c ul a t e v a l u e s f o e a c h o t h e c o l u m n s , r e m e m b e r i n g t a d 1 2 t t h r e s u l t . T h d a t a f o o u t a n k w i l l r e a d : 0 , 2 5 4 , 1 8 8 , 1 9 1 , 1 8 8 , 2 5 4 , 0

A t h e s e s e t s o f i g u r e s a r d a t a , w p l a c e t h e m i d a t as t a t e m e n t , w h i c h c a g r i g h t a t t h b e g i n n i n g o t h p r o g r a m i y o w i s h . H e r e i t h p r o g r a m :1 D A T A O . 2 5 4 , 1 8 8 , 1 9 1 , 1 8 8 , 2 5 4 , 02 F O R I = 1 T O 63 R E A D A4 A $ = A $ + C H R $ ( A )5 N E X T6 O P E N 1 . 47 F O R I = 1 T O 58 P R I N T # 1 , C H R $ ( 8 ) A $ ;9 P R I N T # 1 , C H R $ ( 1 5 ) " T H I S I T A N K "1 0 N E X T

d o n ' t m i n d i t h l e a s t i y o l e a v e o u t t h e l i n e t h a t t e l l s w h a t t h d e s i g n i s I n s t e a d , y o m i g h t d e s i g n s m a l l l o g o t h a t c o u l d b p r i n t e d r i g h t a c r o s s t h t o o y o u r p a g e a a p e r s o n a l h e a d l i n e .

T p r o d u c e r o o t a n k s , a l y o n e e d t d i p u f o r - n e x tl o o p i p l a c e . T p r o d u c e s e r r i e d r a n k s o t a n k s , l i n e d u i g r o u p si s t a g g e r e d f a s h i o n , y o n e e d o n l y i n t r o d u c e s e r i e s o n e s t e dl o o p s , w i t h l i n e f e e d c o n t r o l ( C H R $ ( 1 0 ) ) i t h e a p p r o p r i a t e s p o t .

N o t e t h a t i a l t h p r o g r a m s e q u e n c e s h a v e p r i n t e d h e r e ,h a v e u s e d t h s a m e f i l e n u m b e r . T h i s i b e c a u s e t h s e q u e n c e s a r o a e x p o s i t o r y a n e x p l o r a t o r y n a t u r e . I p r a c t i c e y o u w o u l da s s i g n a d i f f e r e n t f i l e n u m b e r t e a c h , t h u s k e e p i n g t h w h o l e a f f a i rf r o m b e c o m i n g c o n f u s i n g . Y o m a l a b e l f i l e w i t h a n n u m b e r f r o m

t 2 5 5 ; h o w e v e r , y o m a n o h a v e m o r e t h a n 1 f i l e s o p e n a a n o n t i m e .

T h p r i n t e r m a n u a l i q u i t e c l e a r o t h m e t h o d o p r i n t i n g o u p r o g r a m l i s t i n g , b u w i l l i n c l u d e t h i n s t r u c t i o n s h e r e i o r d e r t

c o m p l e t e l y d e s c r i b e t h e f u n d a m e n t a l p r i n t e r o p e r a t i o n .Y o c a l i s t p r o g r a m i t h d i r e c t m o d e b t y p i n g O P E N

1 , 4 : C M D 1 : L I S T : P R I N T # 1 : C L O S E 1 , a l o w h i c h m u s t b e n t e r e d1 3

Page 143: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 143/226

i o n l i n e w i t h t h e r e t u r n k e b e i n g p r e s s e d o n l y a f t e r t h l a s tc h a r a c t e r . A l t e r n a t i v e l y , y o m a i n c l u d e t h l i n e a p r o g r a m l i n ea t h e n o y o u r p r o g r a m . T h P R I N T # s t a t e m e n t e n s u r e s t h a te v e r y t h i n g i t h b u f f e r h a b e e n s e n t t t h p r i n t e r .

Q u i t e c l e a r l y , t h s t a t e m e n t s y o h a v e d e a l t w i t h h e r e h a v es o m e b e a r i n g o t h u s o b o t h t a p e a n d i s k , p a r t i c u l a r l y t h p a r t sd e a l i n g w i t h h a n d l i n g f i l e s , o p e n i n g d e v i c e s , a n d e a l i n g w i t h t h i n p u t a n o u t p u t o f i n f o r m a t i o n . T h u s , p r o g r a m s u c h a t h o n y o h a v e j u s t e x p l o r e d w o u l d h a v e e x t r a c o m m a n d s i y o w i s h e d t s a v e i t d i s k .

T h v a l u e o p r i n t e r c a n n o t b o v e r s t r e s s e d . T h p r o b l e m o t r y i n g t o f i n d b u b g o i n g t h r o u g h t h p r o g r a m o t h s c r e e n h a a l r e a d y b e e n m e n t i o n e d . c o m p l e t e l i s t i n g o y o u r p r o g r a m o ns h e e t o p a p e r c a o f t e n a l l o w y o t s p o t t h e b u i m m e d i a t e l y .A n o t h e r a d v a n t a g e o t h p r i n t e r l i e s i i t a b i l i t y t p r o d u c e p r i n t e dd o c u m e n t s i f i n i s h e d f o r m . T h e r e i w o f o t h a t w o r d p r o c e s si n g . I d e s e r v e s a s e p a r a t e c h a p t e r .

B e f o r e g o i n g o n c o n s i d e r t h f o l l o w i n g , v e r y f a m i l i a r p r o g r a m :

P R I N T C H R $ < 1 4 7 >1 D I N R $ ( 2 0 )2 I N P U T " H O W M f l N V N f l M E S M ; N3 F O R I « 1 T O N4 I N P U T f l $ C I > : N E X T5 P R I N T T R B < 8 ) " N 0 W S O R T I N G "6 F Q R I = 1 T O N - 17 I F f l $ < I + l » = f l $ < D T H E N 1 2 08 9

1 0 1 1 G O T O 6 01 2 N E X T I1 3 F 0 R I O T 0 N + 1 : P R I N T f l $ < I : N E X T I1 4 0 P E N 1 . 41 5 F O R I * 0 T O N + 1 : P R I N T t t l > R $ < I > : N E X T I1 6 C L O S E 1 , 41 7 R U

T h e r e i p o s s i b i l i t y t h a t y o m i g h t h a v e l i t t l e t r o u b l e w h e nu s i n g t h p r i n t e r a n t h e t a p e o d i s k , p a r t i c u l a r l y i y o a r a t e m p t i n g t s a v e v e r s i o n s o p r o g r a m , p r i n t v e r s i o n s o p r o g r a m ,a n g e n e r a l l y d e b u g i t

T h s c e n a r i o i a f o l l o w s : y o u r p r o g r a m i t a k i n g s h a p e , a n y o d e c i d e t s a v e i t t a p e . Y o d s a n a l g o e s w e l l . T h e n y o t r t l i s t t h p r o g r a m o n t h p r i n t e r . T h m a c h i n e b u z z e s m e r r i l ya w a y f o f e l i n e s a n t h e n s t o p s . Y o e x a m i n e t h e o u t p u t a n f i n dt h a t i i n o o n l y i n c o m p l e t e b u a l s o t o t a l g a r b a g e . I n s t e a d o

1 3

Page 144: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 144/226

p r i n t i n g 2 P R I N T T H I S D E M O N - S T R A T E S T H E F F E C T 1y o g e s o m e t h i n g l i k e t h i s ( a n d t h i s i a a c t u a l e x a m p l e ) :2 P R I N T T H S P O G R A M E D M O N - S T R A E S T E F F E C T "Y o t r t h r u n / s t o p a n . r e s t o r e k e y s a n d d i a g a i n . Y o g e f i l e - o p e n e r r o r b e c a u s e y o f o r g o t t o c l o s e i t Y o d t h a t a n s t a r ta g a i n . O n c e m o r e y o g e t g a r b a g e . B e l i e v e m e y o c a s p e n d a h o u r f i d d l i n g w i t h t h m a c h i n e a n a l t n a v a i l ! T h s o l u t i o n , t h q u i c k e s t s o l u t i o n t h a t i s i t s w i t c h o f b o t h t h c o m p u t e r a n t h p r i n t e r a n t h e n s w i t c h t h c o m p u t e r b a c k o n R e w i n d t h t a p e a n l o a d y o u r p r o g r a m o n c e m o r e . N o y o w i l l f i n d t h a t i w i l l p r i n tp e r f e c t l y — a t l e a s t i w i l l p r i n t e x a c t l y t h a t w h i c h y o h a v e p u i y o u r p r o g r a m w h e t h e r t h p r o g r a m i p e r f e c t o n o t , a n t h e r e w i l lb n g a r b a g e !

I y o w i s h t s a v e t h s a m e p r o g r a m t w i c e c o n s e c u t i v e l y ,m e r e l y b r i n g t h e c u r s o r u t t h s a v e i n s t r u c t i o n a n p r e s s t h r e t u r n k e y . I y o h a v e k e p t t h r e c o r d a n p l a y b u t t o n s d o w n , y o w i l l f i n d t h a t t h p r o g r a m w i l l s a v e a u t o m a t i c a l l y . T h s c r e e n w i l ll o o k l i t t l e m e s s y b u y o u r p r o g r a m w i l l b f i n e .

1 3

Page 145: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 145/226

C h a p t e r 1 T h i s c h a p t e r o w o r d p r o c e s s i n g i b e i n g w r i t t e n o t h V I C - 2 0 ,u s i n g p r o g r a m p r o d u c e d a n m a r k e t e d b y C o m m o d o r e a n c a l l e dt h V I T y p e w r i t e r . T h p r o g r a m i p a r t o t h H o m e C a l c u l a t i o nP r o g r a m P a c k V T - 1 0 7 - A .

W o r d P r o c e s s i n g m i g h t s e e m l i k e j u s t a n o t h e r b u z z w o r d s u i ta b l e o n l y f o l a r g e o f f i c e c o m p l e x e s . I i s m o s t c e r t a i n l y , t o o l t h a ty o c a u s e , i n o i e v e r y d a y c i r c u m s t a n c e s , p e r h a p s e v e r y o t h e rd a y . w o r d p r o c e s s i n g p r o g r a m a l l o w s y o t u s y o u r V I C - 2 0 n o j u s t l i k e a n o t h e r t y p e w r i t e r , b u r a t h e r l i k e m a c h i n e t h a t c o s t st h o u s a n d s o d o l l a r s .

T h o s e o u w h h a v e g r a d u a t e d f r o m t h o l c l a c k e t y - c l a c km a n u a l t y p e w r i t e r t t h w o n d e r s o t h e l e c t r i c k n o w t h a d v a nt a g e o t h s p e e d o t h l a t t e r o v e r t h e f o r m e r . S t i l l t h e r e a r e t h eb u g s . Y o k n o w t h s o r t o t h i n g m e a n : y o u h a v e t y p e d y o u r p a g ea n a r n o l o o k i n g i o v e r ; t h e r e o l i n e t h r e e i s p e l l i n g e r r o r !P r o b l e m : d y o t r t a l i g n t h p a g e b a c k i t h m a c h i n e , p r e c i s e l ya b e f o r e , a n a t t e m p t t e r a s e t h o f f e n d i n g l e t t e r s b u s i n g e r a s e rt a p e a n t h e n i n s e r t t h e c o r r e c t c h a r a c t e r s ? O d o y o u r e t y p e t h ew h o l e p a g e w i t h f a i r c h a n c e o r e p r o d u c i n g a n o c o u r s e c o p o u n d i n g y o u r e r r o r s ? O d o y o u p r a c t i c e a l t h o s e w o r d s t h a t y o u rc h i l d r e n a r e n ' t s u p p o s e d t k n o w ! ?

U S I N G W O R D P R O C E S S I N G P R O G R A Mw o r d p r o c e s s i n g p r o g r a m c a e n a b l e y o t a v o i d a l t h a t !

1 3

Page 146: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 146/226

J u s t f e m o m e n t s a g o , l e f t o u o n o t h e ' f r o m t h w o r de l e c t r i c . I t w a s u c h a s i m p l e m a t t e r t m o v e t h c u r s o r b a c k t t h w o r d , c r e a t e s p a c e b u s i n g t h e f a m i l i a r I N S T D E k e y , a n i n s e r tt h m i s s i n g c h a r a c t e r . N o o n i m p r e c a t i o n o r e x p l e t i v e p a s s e d m l i p s !

" A h " , y o w i l l s a y , " Y o u a r u s e d t u s i n g c o m p u t e r s . I t ' se a s y f o y o u ! "

U s e d t c o m p u t e r s m a b e b u t h i s i t h f i r s t t i m e h a v ee v e r u s e d w o r d p r o c e s s i n g p r o g r a m . b o u g h t t h p a c k a g e , h a v i n gw r i t t e n t h r e e q u a r t e r s o t h b o o k y o u a r n o h o l d i n g , j u s t t p r o v i d e y o w i t h s o m e t h o u g h t s o t h k i n d o s o f t w a r e t h a t i a v a i l a b l e . I i t h f i r s t s o f t w a r e t h a t h a v e e v e r b o u g h t f o a n c o m p u t e r .

T h p r o c e s s w a q u i t e s i m p l e ( t h e p r o c e s s o u s i n g t h p r g r a m , t h a t i s b u y i n g i c a u s e d t h u s u a l p a i n i t h e p o c k e t b o o k ) , a n c o n s i s t e d o p l a c i n g t h t a p e i t h r e c o r d e r a n t y p i n g L O A D . a u s i n g V I 8 e x p a n d e r i m m a c h i n e a t h m o m e n t a n s w a i n f o r m e d i m m e d i a t e l y t h a t h a s f a u s e d l i n e s a n t h a t h a 4 1 l i n e s a s t h e t o t a l n u m b e r a l l o w a b l e .

A t h i s p o i n t i t h e c h a p t e r t h e s c r e e n t e l l s m t h a t h a v e u s e d1 1 V I l i n e s . h a v e j u s t u n d e r 3 0 0 l e f t .

T h k e y b o a r d i u s e d e x a c t l y l i k e a o r d i n a r y t y p e w r i t e r :p r e s s t h s h i f t k e t t y p e u p p e r c a s e l e t t e r s a n s p e c i a l s y m b o l sl i k e q u o t a t i o n m a r k s a n e x c l a m a t i o n p o i n t s . H o w e v e r , m u s t u s t h s h i f t a n r e t u r n s k e y s t p l a c e c h e c k m a r k w h e n w a n t n e p a r a g r a p h .

C u r s o r l e f t , r i g h t , u p a n d o w n a r o p e r a t e d i t h n o w f a m i l i a rf a s h i o n , a i t h d e l e t e k e y ; I ' v e u s e d t h a t l o s f a r . T h e r e a r t i m e s w h e n m f i n g e r s t e n d t b l a r g e t o e s a n s o d d w o r d s h a v eb e e n e r a s e d i t h e i r e n t i r e t y . f i n d t h a t c a b r i n g t h e c u r s o r t t h e n o t h o f f e n d i n g w o r d a n t a t h d e l e t e k e f o t h t o t a l n u m b e ro l e t t e r s v e r y r a p i d l y w i t h o u t w a i t i n g f o e a c h l e t t e r t o d i s a p p e a r .T h d e l e t e f i i n c t i o n d o e s i t j o w i t h o u t f u r t h e r a t t e n t i o n . I i l i t t l e s l o w b u v e r y m u c h q u i c k e r t h a n t h e o l m e t h o d o i n s e r t i n ge r a s e r t a p e o u n s c r e w i n g t h c o r r e c t i o n f l u i d b o t t l e , a n i d o e s n ' ts m e l l !

E v e n t h p r o c e s s o p r o d u c i n g e n h a n c e d p r i n t i n g w a e a s y :j u s t t y p e d C T R L 2 , w h i c h g a v e m r e v e r s e d o t h s c r e e n , a n t h e n c a r r i e d o t y p i n g . A t h e n o t h l i n e t y p e d C T R L 3 , w h i c ha l l o w s t h e p r i n t t o r e v e r t t n o r m a l .

h a v e n o u s e d 1 7 V I l i n e s , s a t o l d . V I l i n e s a r e , o

1 3

Page 147: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 147/226

c o u r s e , t h l i n e s t h a t a p p e a r o t h s c r e e n a n a r j u s t b i l o n g e rt h a n a q u a r t e r o t h e p r i n t e r l i n e .

T h f u n c t i o n k e p l a y s a s i g n i f i c a n t p a r t b d o i n g v a r i o u sh o u s e k e e p i n g c h o r e s , a l l o w s m t s e t h n e x t s c r e e n o t e x t .T h i s i h i g h l y u s e f u l w h e n r e a d i n g t h r o u g h t h e m a t e r i a l t c h e c k f o e r r o r s , m e a n i n g l e s s s e n t e n c e s , a n u n c l e a r s t a t e m e n t s a n t e v a l u a t e t h e g e n e r a l f l o w . f a l l o w s m t p r i n t t h m a t e r i a l d i r e c t l yo t h V I C - 1 5 2 5 p r i n t e r , w h i c h a u s i n g f o p r o g r a m l i s t i n g s i c e r t a i n p a r t s o t h i s b o o k . f a l l o w s m t o i n s e r t w h o l e l i n e , t h u sa n f c a b u s e d q u i t e s a f e l y w i t h o u t h a v i n g t u s t h s h i f t k e y .a n o l i k e l y t a c c i d e n t a l l y p r i n t b e f o r e a r e a d y . f 4 w h i c h o c o u r s e r e q u i r e s t h e s h i f t k e y , d e l e t e s l i n e . A g a i n , u s o t h s h i f tm e a n s t h a t o n i n o l i k e l y t e r a s e l i n e b a c c i d e n t . f a l l o w s m t s a v e m m a t e r i a l t t a p e o r d i s k , f a l l o w s m t l o a d f r o m t a p e o d i s k .

f i n d t h a t s o m e t i m e s t r y t o p u i r e t u r n a t h e n o V I l i n e o a t h e n o t h s c r e e n . T h a t j u s t s h o w s h o c o n d i t i o n e d o n c a b e c o m e t o a n c i e n t d e v i c e s !

h a v e n o y e t r i e d r e v e r s e d p r i n t i n g . T i d i n o b t y p i n gC T R L 9 . T h C T R L 9 p r o d u c e s r e v e r s e d , l o w e r c a s e r T s w i t c h i o f t y p e C T R L O , a n t h C T R L O p r o d u c e s r e v e r s e d u p p e r c a s eR T h e s e c u e s r e m a i n o t h s c r e e n a e a c h p o i n t t h e y a r u s e d ,a l t h o u g h t h a c t u a l m a t e r i a l t h e y c o n t r o l l o o k s q u i t e n o r m a l .

t h i n k w i l l s a v e w h a t h a v e s f a r , j u s t i n c a s e t h e r e i p r o b l e m w i t h t h A l i n e i n m h o u s e . T h p r o c e d u r e f o s a v i n gm a t e r i a l i q u i t e s i m p l e . F i r s t o a l p l a c e d a e n d - o f - t e x t m a r k e r a t h e n o t h l i n e e n d i n g i t h w o r d h o u s e . T h i s w a d o n e b y t y p i n gC T R L 6 . I t h i s w a t h r e c o r d e r w i l l s w i t c h o f a u t o m a t i c a l l yi n s t e a d o s a v i n g a l o o e m p t y s p a c e . N e x t w e n t b a c k t h r o u g h t h t e x t , b p r e s s i n g f 1 f u n c t i o n k e y , u n t i l r e a c h e d t h b e g i n n i n g o m t e x t . i n s e r t e d f e b l a n k l i n e s a n g a v e t h m a t e r i a l a n a m e .c a l l e d i t y p e . T h f o r m a t f o n a m i n g m a t e r i a l i s # : F I L E N M ,w h e r e t h n u m b e r i 1 f o r t a p e a n f o d i s k , a n t h p r o g r a m n a m ei s i c h a r a c t e r s o l e s s . T h c o m p u t e r s u p p l i e s t h e x t r a s p a c e s i y o h a v e l e s s t h a n s i c h a r a c t e r s i t h n a m e . I t o o k s o m e t i m e f o t h t a p e t s t o p a f t e r h a p r e s s e d f u n c t i o n k e f 5

I t i s g o o d p l a n t s a v e m a t e r i a l o t a p e o r d i s k , i y o h a v e i i f a i r l y s h o r t s e g m e n t s . K e e p a e y e o n t h V I l i n e n u m b e r s t h a ty o u d o n o r u o u o m e m o r y s p a c e . O a u n e x p a n d e d V I y o a r a l l o w e d 4 l i n e s ; 3 m e m o r y e x p a n d e r g i v e s y o 1 8 l i n e s ; y o h a v e 4 1 l i n e s w i t h 8 K , 7 9 l i n e s w i t h 1 6 K , a n 1 2 0 7 l i n e s w i t h t h

1 3

Page 148: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 148/226

V I e x p a n s i o n m o d u l e . J u s t t g i v e y o a i d e a o h o m u c h c a b p u i n a u n e x p a n d e d V I t a k e s y o u f r o m t h b e g i n n i n g o t h i sc h a p t e r t t h e n o t h f o u r t h p a r a g r a p h ; 3 t a k e s y o t j u s tb e f o r e t h p a r t a b o u t e n h a n c e d c h a r a c t e r s , a n t h w h o l e t e x t u t j u s t l i t t l e b e y o n d t h e n o t h i s s e n t e n c e i 4 1 V I l i n e s o f s c r e e nt e x t .

M n e x t t a s k w a t p r i n t m m a t e r i a l . T h i s i w h e r e t h e f u nb e g a n . d i n o d a n y t h i n g w r o n g , b u d i d i s c o v e r t h a t t h p r i n t e r w i l l c a r r y o m e r r i l y t y p i n g r i g h t o v e r t h p e r f o r a t e d e d g eb e t w e e n s h e e t s . k n e w i w o u l d , o c o u r s e , b u h a t s e h o t h p r i n t e d m a t e r i a l c o m p a r e d w i t h w h a t r e a l l y w a n t e d a n w i t h t h s c r e e n .

T h l i n e o t h d i s p l a y s c r e e n i s a y o a l r e a d y k n o w , 2 c h a r a c t e r s w i d e . T h m a t e r i a l o t h p r i n t e r i p r e s e n t e d i l i n e s o 6 c h a r a c t e r s . ( N o t e t h a t a l t h o u g h t h e p r i n t e r c a p r o d u c e 8 c h a r a c t e r s p e l i n e , y o m u s t m a k e a l t e r a t i o n s i n t h p r o g r a m t m a k e i d s o . ) c o n v e r s i o n m u s t t a k e p l a c e s t h a t y o c a l e a v er e a s o n a b l e m a r g i n s a t h e t o p a n d b o t t o m o e a c h p r i n t e d p a g e . H o m u c h y o l e a v e i r e a l l y u t o y o u , b u t h p r o c e d u r e w i l l b t h s a m e w h a t e v e r y o d o

H a v i n g m a d e y o u r d e c i s i o n a t w h e r e t h b r e a k s m u s t c o m e ,i n s e r t e x t r a b l a n k l i n e s a t h a t p o i n t . M a k e s u r e t h a t y o i n t r o d u c ee n o u g h b l a n k l i n e s t s p a n t h p e r f o r a t i o n n e a t l y .

I y o w i s h t o l e a r n o p r a c t i c e y o u r t y p i n g s k i l l s , t h o t h e r s i d eo t h T y p e w r i t e r t a p e c o n t a i n s V I T y p i n g T u t o r . P e r h a p s w h e n

h a v e f i n i s h e d t h i s b o o k w i l l h a v e t i m e t e x p l o r e t h a t a n d i m p r o v em o w t y p i n g s k i l l s !

1 4

Page 149: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 149/226

C h a p t e r 1 T h i s c h a p t e r c o n t a i n s f e o d d i t i e s . Y o m i g h t f i n d t h e m u s e f u l ; o t h o t h e r h a n d y o u m a o n l y r e g a r d t h e m a c u r i o u s o e v e nc o m i c a l .M O R E T R I C K S W I T H T H E S C R E E N

N o r m a l l y t h s c r e e n h a n i c e e v e n b o r d e r a r o u n d i t A y o m i g h t e x p e c t , t h e r e i a a d d r e s s i t h V I C - 2 0 t h a t c o n t r o l s t h i s ,b u i d o e s n ' t d i w i t h o u t h e l p . T h a d d r e s s i 3 6 8 6 5 ^ a n t h n o r m a l v a l u e t b f o u n d a t t h i s a d d r e s s i 2 5 y o l o w e r t h a tn u m b e r t 2 4 t h s c r e e n w i l l m o v e u b t w r o w s o d o t s .N o r m a l l y y o w i l l o n l y n o t i c e t h d i f f e r e n c e b e c a u s e t h b o r d e rs h i f t s , b u a n y t h i n g e l s e y o p u o t h s c r e e n w i l l s h i f t a w e l l . T r i i d i r e c t m o d e f i r s t , c h a n g i n g t h n u m b e r a t h a t a d d r e s s b t w e a c h t i m e . T h e n t r i n c r e a s i n g t h n u m b e r a n w a t c h t h e c h a n g e .

T h n u m b e r o c o l u m n s o t h V I C - 2 0 i n o r m a l l y 2 2 Y o m i g h t t h i n k t h a t t h i s i f i x e d , b u i i s n ' t . Y o c a p o k e a d d r e s s3 6 8 6 6 t c h a n g e t h n u m b e r o c o l u m n s . F i r s t o a l l , t y p e a l a r g en u m b e r o c h a r a c t e r s o t h s c r e e n i t h d i r e c t m o d e ; t h e s e c o u l db y o u r n a m e a n a d d r e s s , f o e x a m p l e . P r e s s t h r e t u r n k e t m o v e t h c u r s o r . Y o w i l l g e a e r r o r m e s s a g e b u d o n ' t w o r r ya b o u t t h a t j u s t l e a v e i t h e r e . N o t y p e P O K E 3 6 8 6 6 , P E E K( 3 6 8 6 6 ) A N D 1 2 8 O 1 a n t h e n p r e s s t h r e t u r n k e y . S t r a i g h ta w a y t h e m a t e r i a l i c o n d e n s e d i n t o h a l f t h s c r e e n . E v e r y t h i n g y o t y p e d i t h e r e , b u i l o o k s l i t t l e f u n n y . I y o w i s h t p r e s e n t o n l ys e p h r a s e w i t h o u t a l t h p o k e i n s t r u c t i o n s , e r r o r m e s s a g e s , a n

1 4

Page 150: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 150/226

Page 151: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 151/226

1 4 1 5 N E X T I1 6 P R I N T : R E T U R N

W h e n y o r u t h i s p r o g r a m , n o t h i n g s e e m s t h a p p e n e x c e p tt h a t t h s c r e e n c l e a r s . T y p e i s o m e t h i n g o t h s c r e e n , f i l l i i y o w i s h . T h e n p r e s s t h k e y . T h s c r e e n g o e s b l a n k a g a i n . N o t y p es o m e t h i n g d i f f e r e n t . N o w h e n y o p r e s s t h k e y , y o w i l l b a b l e t s w i t c h b e t w e e n t h t w s c r e e n s . T h i s f e a t u r e c o u l d b u s e f u l i n l o t s o w a y s , p a r t i c u l a r l y i y o u w i s h e d t c o m p a r e t w op a g e s o f f i g u r e s o w i s h e d t p r e s e n t v a r i a t i o n o s o m e i n f o r m at i o n o r o t h e r i a t e a c h i n g p r o g r a m . I a m u c h a t h b a s i c p r i n c ip l e s a r e t h e s a m e a f o p r o d u c i n g y o u r o w c h a r a c t e r s , y o c o u l dp r o d u c e a l t e r n a t e s e t s o R u s s i a n a n E n g l i s h o a n o t h e r c o m b i n at i o n o m a t e r i a l t h a t n e e d s t b e a s i l y c o m p a r e d .

I y o p l a c e t h e i d e n t i c a l m a t e r i a l o e a c h s c r e e n , b u m o v e i t s l i g h t l y d i f f e r e n t p o s i t i o n ( u p l i n e , o v e r o n s p a c e e t c . ) , y o c a

a n i m a t e t h m a t e r i a l . I i l i t t l e s l o w h o w e v e r . C h a n g e i n l i n e 8 t 1 4 0 . N o y o h a v e f u l l s c r e e n a n h a l f s c r e e n . 1 3 g i v e s y o t h i r d o f s c r e e n . 1 4 5 , t h r e e - q u a r t e r s o s c r e e n . C h a n g i n g i l i n e9 t 2 a l s o g i v e s a s m a l l e r s c r e e n . T r l o w e r n u m b e r s , h i g h e rn u m b e r s t e n d t p r o d u c e g a r b a g e .

T h C H A R I n s t r u c t i o nT h S u p e r E x p a n d e r i n s t r u c t i o n C H A R a l l o w s y o t p u t e x t

o a l m o s t a n s p o t y o w i s h , i w h a t e v e r c o l o r y o w i s h . T h e r e i p r o b l e m , h o w e v e r , i y o u w a n t t p u t a s e o n u m e r a l s o t h s c r e e n . T h C H A R i n s t r u c t i o n s o n l y d e a l s w i t h l e t t e r s — o r d o e s i t

I y o t r y t o p u i n u m e r i c v a r i a b l e i t h s p o t f o t e x t , i t h f o r m C H A R 1 5 , 3 C f o e x a m p l e , y o w i l l g e t y p e m i s m a t c he r r o r . T h i s i w h e r e t h S T R $ f i m c t i o n b e c o m e s v e r y u s e f u l . F i r s t ,a s s i g n v a r i a b l e n a m e t t h n u m b e r . I i r e p r e s e n t e d a n a m o u n t o f u e l , f o e x a m p l e , y o c o u l d u s F T h e n s e u t r a n s f e r i t h f o r mF $ = S T R $ ( F ) . F o l l o w t h i s w i t h t h r e g i o n s t a t e m e n t , t h e c o l o r c o d ey o d e s i r e , a n t h e n t h l i n e C H A R r o , c o , F $ . T h f o l l o w i n g p r g r a m i a e m b r y o a t t e m p t a d o i n g t h i s . Y o m i g h t w i s h t c l e a n i u a n i n c l u d e i s o m e h o w i t h J u p i t e r R e n d e v o u s p r o g r a m .1 G R R P H I C 3 : C O L O R S . 8 , 3 , 2 5 F $ = 8 T R $ < F >1 f l $ a ) = l l F U E L " 5 R E G I 0 H 1 21 f l $ < 2 > = " S P E E D " 5 C H f l R 1 5 , 1 2 > F $2 R E G I O N 1 1 6 N E X T C3 C H f l R 1 5 , 3 , R $ a > 6 C $ = S T R $ C C >4 C H f l R 1 3 , 3 , f l $ < 2 > 6 R E G I O N S5 R E G I O N S 6 C * = S T R $ ( C )5 F O R F « 1 0 T O 1 8 T E P - . 5 6 C H f l R 1 8 , 1 2 , C *5 F O R O 1 T G 1 0 0 6 N E X T F

1 4

Page 152: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 152/226

A p p e n d i xS o r t sT h f o l l o w i n g a r s i m p l e s o r t r o u t i n e s i B A S I C .

B U B B L E S O R T1 0 D I M A ( 3 0 )1 1 F O R I = 1 T O 3 01 1 A ( l ) = I N T ( R N D ( X ) * 6 0 + 1 )1 1 ? A ( I )1 1 N E X T : ?1 2 X = 5 91 3 S = 1 3 F O R I = 1 T O X1 3 I A ( I ) < = A ( I + 1 ) T H E N 1 6 1 4 A A = A ( I )

1 4 A ( I ) = A ( I + 1 )1 4 A ( I + 1 ) = A A1 5 S = 1 5 X = 1 6 N E X T1 6 I F S = 1 T H E N 1 3 01 7 F O R N 1 T O 6 01 7 ? A ( I ) ;1 8 N E X T1 9 E N

Y o w i l l n e e d t c h a n g e t h l i n e n u m b e r s i o r d e r f o t h r o u t i n e t f i i n t o y o u r p r o g r a m . B r e a k p o i n t s a r a 1 3 0 a n d 1 7 0 . D n o f o r g e t t c h a n g e t h a d d r e s s o t h G O T O s i y o c h a n g e t h l i n en u m b e r s .

T h s a m e c o n d i t i o n s a p p l y t t h f o l l o w i n g p r o g r a m s .S H E L L S O R T1 0 D I M A ( 3 0 )1 1 F O R I = 1 T O 3 01 1 A ( l ) = I N T ( R N D ( X ) « 6 0 + 1 )1 1 ? A ( I )1 1 N E X T : ?1 2 B = 1 3 B = 2 * B1 3 I F B < = 3 0 T H E N 1 3 0

1 3 B = I N T ( B / 2 )1 4 I F B = 0 T H E N 2 0 01 4 F O R I = 1 T O ( 3 0 - B )1 4 C = 1 5 D = C + B1 5 I F A ( C ) < = A ( D ) T H E N 1 8 1 5 A A = A ( C )1 6 A ( C ) = A ( D )

1 4

Page 153: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 153/226

1 6 A ( D ) = A A1 6 C = C - B1 7 I F C > 0 T H E N 1 5 1 8 N E X T : G O T O 1 3 1 8 F O R I = 1 T O 3 01 9 ? A ( I ) ;1 9 N E X T2 0 E N

S 0 R T 11 0 D I M A ( 3 0 )1 0 N = 3 01 1 F O R N 1 T O N1 1 A ( l ) = I N T ( R N D ( X ) * 6 0 + 1 )1 2 ? A ( I )1 2 N E X T1 3 M = A ( 1 )1 3 I M = 11 4 F O R I = 2 T O N1 4 I F A ( I ) > = M T H E N M = A ( I )1 5 I M = IS O R T1 0 0 D I M A ( 3 0 )1 0 N = 3 01 1 S = 1 1 F O R N 1 T O 3 01 2 A ( l ) = I N T ( R N D ( X ) * 6 0 + 1 )1 2 ? A ( I )1 3 N E X T1 3 M N = A ( S )1 4 I M = S1 4 M X = M N1 5 I X = S1 5 F O R I = S T O N1 6 I F A ( I ) > M X T H E N M X = A ( I )1 6 I X < = I1 7 I F A ( I ) > M N T H E N M N = A ( I )1 7 I M = I

1 5 N E X T1 6 A A = A ( N )1 6 A ( N ) = A ( I M )1 7 A ( I M ) = A A1 7 N = N - 11 8 I F N < 1 T H E N 1 3 1 9 F O R I = 1 T O 3 01 9 ? A ( I ) ;2 0 N E X T2 0 E N

1 8 N E X T1 8 I I M = N T H E N I M = I X1 9 A A = A ( N )1 9 A ( N ) = A ( I X )2 0 A ( I X ) = A A2 0 N = N - 12 1 A A = A ( S )2 1 A ( S ) = A ( I M )2 2 A ( I M ) = A A2 2 S = S + 12 3 I F N > S T H E N 1 3 2 3 F O R I = 1 T O 3 02 4 ? A ( I )2 4 N E X T2 5 E N

1 4

Page 154: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 154/226

A p p e n d i xC o n v e r t i n g P r o g r a m s t V I B A S I CT h e r e w i l l c o m e t i m e w h e n y o w i l l w i s h t t y p e i p r o g r a m f r o m

m a g a z i n e o r b o o k . M a n y t i m e s y o w i l l f i n d p r o g r a m s t h a t h a v eb e e n w r i t t e n e x p r e s s l y f o t h V I C - 2 0 o p e r h a p s f o t h P E s e r i e so c o m p u t e r s . W i t h t h e s e y o h a v e n p r o b l e m s a a l l .

M o r e o f t e n t h a n n o t , h o w e v e r , y o w i l l f i n d t h a t t h p r o g r a mh a b e e n w r i t t e n f o s o m e o t h e r c o m p u t e r , a n t h a t i w h e r e s o m eo y o u r d i f f i c u l t i e s w i l l b e g i n . A r e m a r k e d e a r l i e r , B A S I C v a r i e s ,j u s t a E n g l i s h d o e s . I s o m e i n s t a n c e s , t h B A S I C c o m m a n d m a l o o k l i k e V I B A S I C b u b e h a v e i s l i g h t l y d i f f e r e n t f a s h i o n . T h m o s t i m p o r t a n t o n e s t l o o k o u t f o a r t h f o l l o w i n g :D I T h i s s t a t e m e n t , i w r i t t e n f o S i n c l a i r m a c h i n e s , m e a n s

i t e m s o c h a r a c t e r s e a c h .

I N K E Y T h i s s t a t e m e n t d o e s n o e x i s t o t h V I C , b u i b e h a v e ss o m e w h a t l i k e t h g e s t a t e m e n t d o e s . I t e s t s t s e i k e h a b e e n p r e s s e d , b u i c a a l l o w f o m o r e m a n i p ul a t i o n t h a n t h e g e t s t a t e m e n t d o e s u n d e r c e r t a i n c i c u m s t a n c e s .

L E T h i s s t a t e m e n t i m a n d a t o r y o m a n y m a c h i n e s , b u t a y o k n o w , i c a b o m i t t e d i V I B A S I C .

L P R I N T T h i s s t a t e m e n t i c o m p o s i t e c o m m a n d t h a t a d d r e s s e s1 4

Page 155: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 155/226

t h p r i n t e r . W h e r e v e r y o s e t h i s , y o m u s t t r a n s l a t e i i n t o t h p r o p e r c o m m a n d s f o t h V I p r i n t e r .

U S T h i s s t a t e m e n t a l l o w s y o t a c c e s s m a c h i n e c o d er o u t i n e s t h a t y o h a v e w r i t t e n a l m o s t a S Y d o e s .T h e s e s t a t e m e n t s a r r e a l l y o u t s i d e t h e s c o p e o t h i sb o o k .

A T h i s s t a t e m e n t i s o m e t i m e s w r i t t e n P R I N T ® . I a l l o w sy o t d e s i g n a t e t h c o l u m n a w h i c h m a t e r i a l w i l l s t a r tb e i n g d i s p l a y e d . A l t h o u g h t h e ® s i g n e x i s t s o t h V I C ,i c a n n o t b u s e d f o t h i s p u r p o s e . T h b e s t w a t d u p l i c a t e t h a c t i o n o f p r i n t a s t a t e m e n t s i t u s c u r s o r c o n t r o l s o t h S P C ( X ) f u n c t i o n .

P A U S E T h i s s t a t e m e n t i a n o t h e r c o m p o s i t e c o m m a n d f o u n d o S i n c l a i r m a c h i n e s . I b e h a v e s i t h s a m e w a a F O R D = 1 T O X N E X T D d u r a t i o n l o o p . I f a c t , m a n yZ X 8 1 o T i m e x / S i n c l a i r p r o g r a m m e r s p r e f e r t u s t h l o o p t a v o i d f l i c k e r o t h s c r e e n .

P E E K I y o s e t h e s e u s e d i p r o g r a m f o a n o t h e r m a c h i n e ,a n e v e n P E T , t h e n w a t c h o u t . U n l e s s y o u n d e r s t a n d

P O K E a b s o l u t e l y t h o r o u g h l y t h e p r e c i s e , e x a c t a d d r e s s r f e r r e d t i t h u t m o s t d e t a i l , y o w i l l s e n d y o u r V I t p l a c e w h e r e t h e r e a r e n ' t a n p h o n e s !

S o m e c o m m a n d s y o w i l l s e w i l l r e f e r t o g r a p h i c s . F o e x a mp l e :

S C R E E N I t h f o r m S C R E E N 1 , 1

C O L O R I t h f o r m C O L O R 2 , 3

P C L S I t h f o r m P C L SP S E T I t h f o r m P S E T ( 1 2 0 , 9 0 , 4 )P P O I N T I t h f o r m P P O I N T ( 1 2 0 , 9 0 )

s e l e c t s t e x t / g r a p hi c a n c o l o r s e t .

s e l e c t s f o r e g r o u n da n b a c k g r o u n d c o o r c l e a r s a g r a p h i c sp a g e ,s e t s p o i n t .t e s t s a( R D O T )

p o i n t .

1 4

Page 156: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 156/226

Page 157: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 157/226

A p p e n d i xP r o g r a m m i n g P r o b l e m s

T h e r e w i l l b t i m e s w h e n y o w i l l h a v e d i f f i c u l t y e n t e r i n g m a t e r i a l .S o m e h o w o o t h e r , w h a t e v e r y o u t r t d t h V I C - 2 0 w i l l s e e m t f o u l u p T h i s s i t u a t i o n o c c u r s m o s t o f t e n w h e n y o w i s h t a l t e rl i n e t h a t y o a r c u r r e n t l y e n t e r i n g . T h r i g h t c u r s o r w o n ' t w o r ke x c e p t t p u e x t r a c h a r a c t e r s o t h s c r e e n ; t h d e l e t e k e w i l l n o w o r k ; i g e n e r a l y o w a n t t t e a r y o u r h a i r o u i n f r u s t r a t i o n !

J u s t k e e p c a l m ; p r e s s t h r e t u r n k e y , e v e n t h o u g h t h l i n e i n o c o m p l e t e ; a n e i t h e r b r i n g t h e c u r s o r b a c k u t t h l i n e a n m o v e i o v e r t h c o r r e c t m a t e r i a l , a l t e r i n g o n l y t h e i n c o r r e c t m a t e r i a l , o w i t h o u t b r i n g i n g u t h c u r s o r , t y p e t h e n t i r e l i n e a g a i n . I c o r e c t i n g l i n e i n p r o g r a m y o u h a v e a l r e a d y w r i t t e n , i m a b l e s sf r u s t r a t i n g i t h l o n g r u t t y p e t h l i n e o v e r a g a i n w i t h o u ta t t e m p t i n g t o c o r r e c t j u s t o n p o r t i o n o i t

T h V I i v e r y g o o d a b o u t t e l l i n g y o w h e n t h i n g s a r w r o n g ,b u y o m u s t w o r k o u f o y o u r s e l f e x a c t l y w h a t i c a u s i n g t h e e r r o rm e s s a g e t a p p e a r . M o s t o t h e r r o r m e s s a g e s a r s e l f -e x p l a n a t o r y , a n y e t , y o c a g a z e a l i n e i w h i c h t h e r e i s u p p o s e d t b s y n t a x e r r o r w i t h o u t s e e i n g i a a l l . I c o u l d b c o m m a i n s t e a d o c o l o n , m i s p l a c e d o m i s s i n g p a r e n t h e s i s o e v e n a e x t r a p a r e n t h e s i s , a e x p r e s s i o n i i n a p p r o p r i a t e f o r m , o q u o t a t i o n m a r k s i t h w r o n g p l a c e , o m i t t e d , o t o m a n y !

E x t r e m e c a u t i o n m u s t b e x e r c i s e d w h e n a s s i g n i n g v a r i a b l en a m e s . A l t h o u g h i i p o s s i b l e t u s a e n t i r e w o r d a s v a r i a b l e i o r d e r t m a k e y o u r p r o g r a m c l e a r , i i b e t t e r t k e e p v a r i a b l e s t o n

1 4

Page 158: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 158/226

m o r e t h a n t w c h a r a c t e r s , e i t h e r l e t t e r a n n u m e r a l o t w l e t t e r s . c u r i o u s s i t u a t i o n c a o c c u r o t h e r w i s e .

L e t u s s a t h a t y o u w i s h t o d e a l w i t h a n u m b e r o s h a p e s . Y o h a v e d e c i d e d t l a b e l f r o m F 0 R M 1 , F 0 R M 2 , F 0 R M 3 , e t c . I i a l p e r f e c t l y l o g i c a l t y o u , b u t t h e c o m p u t e r w i l l i n t e r p r e t t h l a b e l s i a e n t i r e l y u n e x p e c t e d f a s h i o n . T h e V I C i l i k e l y t t h r o w t h e e r r o rm e s s a g e F O W I T H O U T N E X T a y o u ! Y o s e e , i h a t a k e n t h ew o r d F 0 R M 1 t b F O M a n s l o o k s f o N E X T t c o r r es p o n d .

T h w o r d F O f a l l s i n t o t h c l a s s o f r e s e r v e d w o r d s t h a t B A S I Cu s e s a i t b a s i s o f o p e r a t i o n . E v e n i r e s e r v e d w o r d i e m b e d d e di a l o n g w o r d , u n l i k e l y b u n e v e r t h e l e s s p o s s i b l e , t h c o m p u t e rw i l l r e a d i a B A S I C w o r d , o t r t o a n e i t h e r g i v e y o a e r r o rm e s s a g e o d s o m e t h i n g s t r a n g e .

C u r i o u s l y e n o u g h , t h e c o m p u t e r i a b l e , v i t h c l e v e r w o r kd o n e b y t h e d e s i g n e r s o t h B A S I C l a n g u a g e , t d i s t i n g u i s h b t w e e n t h O i O a n t h O i F O R . I f h o w e v e r , y o l a b e lv a r i a b l e B O R D f o B O R D E R t h V I w i l l p i c k o u t t h e O a n t r t r e a d i a r e s e r v e d w o r d . J u s t b c a r e f u l w h e n a s s i g n i n g v a r i a b l en a m e s !

1 5

Page 159: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 159/226

A p p e n d i xP E P r o g r a m s a n

O t h e r C o m m e r c i a l P r o d u c t sM a n y c o m p a n i e s b e s i d e s C o m m o d o r e a r p r o d u c i n g a l s o r t s o fg o o d i e s t h a t e n h a n c e t h e o p e r a t i o n a n t h e r e f o r e t h e n j o y m e n t o c o m p u t i n g w i t h t h V I C - 2 0 . M o s t o t h i t e m s a r i t h f o r m o w h a t i k n o w n a f i r m w a r e , a c o m b i n a t i o n o h a r d w a r e a n d s o f t w a r et h a t p l u g s i n t o d i V I i t h f o r m o c a r t r i d g e t h a t c o n t a i n sa d d i t i o n a l c i r c u i t r y a n f u n d a m e n t a l p r o g r a m m i n g t a l l o w e x t r af a c i l i t i e s . O n e x a m p l e i t h S u p e r E x p a n d e r . V I C M O N i c a t r i d g e t h a t a l l o w s y o t p r o g r a m i m a c h i n e c o d e , p r o c e d u r ew h i c h w o u l d o t h e r w i s e b q u i t e b o t h e r s o m e .

T r a n s f e r b e t w e e n c o m p u t e r s o t h C o m m o d o r e l i n e i b o t he a s y a n d n o s e a s y . t a p e d p r o g r a m i B A S I C w h i c h h a b e e nd e v e l o p e d i P E T / C B M m a c h i n e w i l l l o a d o n t o V I C - 2 0 i f a n o n l y i f t h p r o g r a m i s m a l l e n o u g h t f i i n t o t h m e m o r y y o h a v ea v a i l a b l e . T h i s c a v a r y , o f c o u r s e , f o t h e r e a r e e x p a n s i o n m e m o r yc a r t r i d g e s w h i c h w i l l a l l o w y o t a d R A i u n i t s o f 3 , 8 , a n 1 6 K .A e x p a n s i o n c h a s s i s i o n m e a n s o a d d i n g t w o t h r e e c a r t r i d g e sa t i m e a n a c c e s s i n g t h e m e i t h e r a l a o n c e o i i n d i v i d u a l u n i t sa r e q u i r e d . A t h t o t a l a v a i l a b l e R A c a n t h u s b i e x c e s s o 3 2 K , p r o g r a m s w r i t t e n o t h P E 4 0 1 6 , p o p u l a r m a c h i n e i s c h o o l s , c a b e u s e d f o p r a c t i c e a h o m e b t h o s e s t u d e n t s w h h a v e t h V I C - 2 0 a v a i l a b l e t t h e m . ( T h i s a s s u m e s t h a t F a t h e r a n M o t h e r d o n ' t h o t h e m a c h i n e ! ) . T h V I C - 2 0 w i l l l o a d s u c hp r o g r a m a t h s t a r t o a v a i l a b l e m e m o r y a n c a r r y o u t h l i n ka d d r e s s c o r r e c t i o n s w i t h n n e e d o u s e r i n t e r v e n t i o n .

1 5

Page 160: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 160/226

W i t h m a c h i n e - l a n g u a g e p r o g r a m s , t h p r o b l e m s a r m a n i f o l d .I i l i k e l y t h a t s u c h p r o g r a m w i l l n o l o a d i t h f i r s t p l a c e . I i d o e s i w i l l m o r e t h a n l i k e l y t h w a r t e f f o r t s t r u n .

T r a n s f e r i t h o t h e r d i r e c t i o n , f r o m V I C - 2 0 t P E T / C B M i n o g r e a t p r o b l e m i y o r e m e m b e r t d c o u p l e o p o k e s b e f o r ey o b e g i n . V I w i t h o u t a m e m o r y e x p a n s i o n s t o r e s B A S I Cp r o g r a m s s t a r t i n g a 4 0 9 7 . I t h P E T , h o w e v e r , t h n o r m a l s t a r ti n a d d r e s s i 1 0 2 5 . I y o l o a d V I p r o g r a m i n t o t h P E i w i l l b s t o r e d a 4 0 9 7 u n l e s s y o p e r f o r m t h f o l l o w i n g p o k e s : P O K E4 1 , 1 6 a n P O K E 4 0 9 6 , 0 . A f t e r t h a t h a b e e n d o n e , t h p r o g r a ms h o u l d b o t h l o a d a n r u s u c c e s s f u l l y .

I t h V I C - 2 0 t h a t h a b e e n u s e d t d e v e l o p a p r o g r a m h a s t h eS u p e r E x a n d e r o a n o t h e r m e m o r y e x p a n d e r i p l a c e , y o s h o u l db a b l e t l o a d a n r u t h p r o g r a m w i t h o u t n e e d o t h e s e p o k e s a t h p r o g r a m s b e g i n a t h s a m e a d d r e s s .

I m i g h t s e e m a i p r o b l e m s a r c r e a t e d w h e n y o d o n ' t k n o ww h e t h e r o n o t h V I p r o g r a m h a b e e n g e n e r a t e d u s i n g a e x p a n s i o n m o d u l e . I s u c h a s i t u a t i o n y o m u s t f i r s t o a l p l a c e t h t a p e i t h D a t a s e t t e a n t h e n t y p e a O P E N 1 c o m m a n d . T h e np r e s s p l a y o t h r e c o r d e r . E v e n t u a l l y t h s c r e e n w i l l s h o wR E A D Y e v e n t h o u g h t h p r o g r a m h a n o b e e n l o a d e d . N e x t t y p e i t h e f o l l o w i n g o t h k e y b o a r d : P R I N T P E E K ( 8 2 9 ) + ( 2 5 6 *P E E K ( 8 3 0 ) ) . T h i s w i l l t e l l y o t h s t a r t i n g a d d r e s s o t h p r o g r a m .I t h n u m b e r 1 0 2 5 c o m e s u y o w i l l k n o w t h a t e x p a n s i o n c a t r i d g e s o o n k i n d o a n o t h e r h a v e b e e n u s e d .

W h a t a b o u t l e n g t h o p r o g r a m ? I i a l v e r y w e l l t k n o w t h s t a r t i n g a d d r e s s , b u i t h p r o g r a m i t o o l o n g t f i i n t o t h m e m o r yy o h a v e a v a i l a b l e , i i u s e l e s s . S i m p l y t y p e : P R I N T P E E K( 8 3 1 ) + ( 2 5 6 « P E E K ( 8 3 0 ) ) . T h r e s u l t w i l l b t h n u m b e r o t y p e su s e d . D n o c o n f u s e t h i s w i t h t h r e s u l t o P R I N T F R E ( O ) , w h i c ht e l l s y o h o m a n y b y t e s t h e r e a r l e f t t w o r k w i t h . I y o i n f a c te n t e r P R I N T F R E ( O ) a f t e r p e r f o r m i n g t h a b o v e o p e r a t i o n s , y o w i l l f i n d t h a t y o h a v e a l t h m e m o r y i t h w o r l d f o n o n e h a b e e ny e u s e d .

I c a h a p p e n , b e l i e v e i o n o t , t h a t s o m e o n e t r i e s t l o a dt a p e t h a t c o n t a i n s n o a p r o g r a m , b u t a p e r f o r m a n c e o f a v o r i t ei n s t r u m e n t a l g r o u p . I d a y s w h e n c o m p u t e r s h a v e m a d e u s o e x i s t i n g t e c h n o l o g y s u r r o u n d i n g t h c a s s e t t e t a p e d e c k , i i l i k e l yt h a t s o m e c o n f u s i o n w i l l a r i s e f r o m t i m e t t i m e . F o t h o s e w h h a v e t r i e d l i s t e n i n g t p r o g r a m , i w i l l n o b n e w s t t e l l t h e m t h a tt h r e s u l t i n a s t y b u z z . U n f o r t u n a t e l y y o c a n n o t h e a r w h a t i g o i n g o n o r a t h e r c o m i n g o f t a p e m e r e l y b t u r n i n g u t h s o u n d

1 5

Page 161: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 161/226

o t h T V T h e w a y t f i n d o u o t h V I i t p e r f o r m P R I N TP E E K ( 8 2 8 ) I t h v a l u e t h a t a p p e a r s o t h s c r e e n i t h e n y o h a v e p r o g r a m . O t h e r w i s e t h t a p e i e i t h e r B e e t h o v e n ' s f i r s tm o v e m e n t f o n o t p a y i n g h i r e n t o r a n t h i s i i m p o r t a n t , d a t af i l e .

1 5

Page 162: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 162/226

A p p e n d i xE r r o r M e s s a g e sB A D A T A T h i s o c c u r s w h e n s t r i n g d a t a i r e c e i v e d a o p p o s e dt t h n u m e r i c d a t a t h a t w a e x p e c t e d ; f o e x a m p l e , H a r r y i n s t e a d o f1 2 3 4B A S U B S C R I P T T h i s o c c u r s w h e n t h e r e i a a t t e m p t t a c c e s s a n i t e m w h i c h i o u t s i d e t h e r a n g e i n d i c a t e d i D I s t a t e m e n t . O o c c a s i o n t h e e r r o r i n o v e r y o b v i o u s . L e t u s s a t h a t y o h a v e s e D I M A $ ( 2 0 ) f o l l o w e d b f o r - n e x t l o o p w h i c ha l l o w s y o t o i n d i c a t e t h n u m b e r o e n t r i e s : F O R I = 1 T 0 X I N P U TA $ ( I ) . I i s e t , u s i n g a I N P U T X , t h i g h e r t h a n 2 0 y o w i l l g e t ab a s u b s c r i p t e r r o r .C A N T C O N T I N U E T y p i n g C O N T w i l l n o w o r k u n d e r c e r t a i nc i r c u m s t a n c e s ; f o e x a m p l e , w h e n y o u h a v e l i s t e d l i n e n u m b e r sf r o m t Y t h c o m p u t e r w i l l n o r e s p o n d t c o m m a n d t C O N Ta n c o n t i n u e l i s t i n g . O o t h e r o c c a s i o n s , t h f a i l u r e o c c u r s b e c a u s et h p r o g r a m w a n e v e r r u o t h e r e h a b e e n a e r r o r .D E V I C E N O P R E S E N T Y o m i g h t b a b l e t o s e t h p r i n t e rs i t t i n g t h e r e , b u t h c o m p u t e r w i l l n o k n o w i i t h e r e u n l e s s t h p r i n t e r i s w i t c h e d o n T h s a m e i t r u e o t h D a t a s e t t e , d i s k ,m o d e m , o o t h e r d e v i c e .D I V I S I O N B Z E R O M a t h e m a t i c i a n s w i l l t e l l y o t h a t t h i s i i m p o s s i b l e , e v e n w i t h c o m p u t e r !E X T R A I G N O R E D I i p o s s i b l e t u s m u l t i p l e I N P U T s t a t em e n t s , h o w e v e r , s h o u l d y o t r t e n t e r m o r e t h a n i e x p e c t e d , t h i se r r o r m e s s a g e w i l l a p p e a r .

1 5

Page 163: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 163/226

F I L E N O T F O U N D T h i s i p r o b a b l y t h m o s t f r u s t r a t i n g m e s a g e y o c a g e t . I c a o f t e n a p p e a r i y o m i s l a b e l t h e f i l e i t h l o a d i n s t r u c t i o n . K e e p a e x a c t a c c o u n t o t h n a m e o f i l e . A l s ok e e p a e x a c t n o t e o w h e r e i i t b f o u n d o t h t a p e .F I L E N O O P E N T h g o l d e n r u l e i t o p e n y o u r f i l e f i r s t .F I L E O P E N T h i s m e a n s t h a t y o a r a t t e m p t i n g t u s t h s a m ef i l e n u m b e r o v e r a g a i n w i t h o u t h a v i n g c l o s e d t h e f i l e a f t e r p r e v i o u su s e .F O R M U L A T O O C O M P L E X a t e m p t e d t r e m a r k h e r e t h a ty o u r V I C - 2 0 i o n l y h u m a n ! T h s o l u t i o n h e r e i t b r e a k t h f o r m u l a i n t o m a n a g e a b l e c h u n k s . T h e r e a r t w b e n e f i t s f r o m d o i n gt h i s : t h c o m p u t e r w i l l b a b l e t d e a l w i t h t h p r o b l e m , a n y o w i l lb a b l e t u n d e r s t a n d y o u r p r o g r a m m o r e e a s i l y a f t e r l o n g p e r i o do n o n u s e .I L L E G A L D I R E C T T h i s w i l l o c c u r i y o a t t e m p t t u s t h I N P U T c o m m a n d i d i r e c t m o d e . T h i s c a n ' t b d o n e !L O A D T h i s a p p e a r s i t h f o r m L O A D E R R O R w h e n , f o s o m er e a s o n , t h e r e i p r o b l e m w i t h t h p r o g r a m o t a p e . A l w a y s m a k eb a c k - u p c o p i e s o y o u r p r o g r a m s . T h p r o b l e m c o u l d b e o n e o m a n y , b u t h i n k f i r s t t h a t t h p r o g r a m o p a r t o i h a b e e n o v e r w r i tt e w i t h a n o t h e r p r o g r a m o p a r t o f o n e .N E X T W I T H O U T F O R . T h i s o n s e e m s o b v i o u s , b u c a n c a u s eq u i t e h e a d a c h e w h e n y o a r t r y i n g t o s o r t t h r o u g h p i l e o n e s t e dF O R - N E X T l o o p s . g o o d c a s e c a b m a d e f o k e e p i n g F O R -N E X T l o o p s i n o n c o m p a c t e d f o r m a l e a s t u n t i l y o a r s u r e y o u rp r o g r a m r u n s w e l l .N O I N P U T F I L E T h i s m e a n s t h a t t h f i l e y o t r i e d t a c c e s s t e n t e r m a t e r i a l w a d e s i g n a t e d ( b y o u , s d o n ' t b l a m e t h c o p u t e r ) a a o u t p u t f i l e o n l y .N O O U T P U T F I L E T h i s i t h e e x a c t o p p o s i t e o t h p r e v i o u se r r o r m e s s a g e .O U O D A T A L e t u s s a y t h a t y o h a v e F O R - N E X T l o o pw h i c h c o n t r o l s r e a d s t a t e m e n t . T h l o o p s a y s F O R I = 0 T O 1 0 , y e t h e r e a r o n l y 1 i t e m s i t h d a t a s t a t e m e n t . Y o c a p u z z l e o v e rt h i s u n t i l y o r e a l i z e t h a t t 1 i a c t u a l l y 1 i t e m s . T h i s e r r o rm e s s a g e i t h r e s u l t . Y o s h o u l d c h a n g e y o u r F O R - N E X T l o o p .O U O M E M O R Y T h i s o n c a b p a i n f u l ! T h f i r s t t h i n g t d i r e m o v e a l u n n e c e s s a r y s p a c e s f r o m y o u r p r o g r a m . S e i y o s e t h s a m e t h i n g o v e r a n d o v e r a g a i n ; f o e x a m p l e , l a b e l a a d d r e s ss u c h a 3 6 8 7 9 w i t h v a r i a b l e a n t h e n r e p l a c e a l o c c u r r e n c e s o t h n u m b e r w i t h t h v a r i a b l e . S e i y o h a v e l a r g e n u m b e r o G O S U B S . T h s t a t e m e n t O N - G O T O i t r e m e n d o u s l y u s e f u l b e

1 5

Page 164: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 164/226

c a u s e i o b v i a t e s t h e n e c e s s i t y o s e r i e s o I F - T H E N s t a t e m e n t s .F o e x a m p l e , t h p r o g r a m t h a t a l l o w s y o t p l a y w i t h t h s c r e e na n b o r d e r c o l o r s c o u l d h a v e l i n e 4 O N G O T O 1 0 0 , 2 0 0 , 3 0 0i n s t e a d o t h r e e i f - t h e n l i n e s . T r i a n s e e . F i n a l l y y o c a u s t h t r i c k o f o v e r l a y i n g p r o g r a m s : m a k i n g o n e p r o g r a m l o a d n e p r g r a m . S e A p p e n d i x J O V E R F L O W T h e r e i l i m i t t t h s i z e o f t h n u m b e r s t h a t t h V I C - 2 0 c a h a n d l e . U n l e s s y o a r a t t e m p t i n g t c o m p u t e t h n u m b e r o a t o m s i t h u n i v e r s e o t h a m o u n t o m o n e y , i p e n n i e s ,t h a t O P E C h a e a r n e d i t h l a s t f i v e y e a r s , y o a r u n l i k e l y t o s e t h i s e r r o r .R E D I M ' D A R R A Y Y o c a d i m e n s i o n a a r r a y o n l y o n c e i p r o g r a m . W a t c h w h e r e y o p u t h D I s t a t e m e n t . S o m e t i m e sr e t u r n s t a t e m e n t c a r e d i r e c t t h p r o g r a m s t h a t t h i s m e s s a g ea p p e a r s . I c a c a u s e l o o h e a d a c h e s .R E D O F R O M S T A R T T h i s i t h e q u i v a l e n t o f t h B A D A T Ae r r o r b u i d i r e c t u s e r f o r m . W h e r e a s t h B A D A T A E R R O Rc o n c e r n s f i l e f r o m d e v i c e , t h R E D O F R O M S T A R T c o n c e r n st h u s e r a t h k e y b o a r d . D o n ' t t y p e l e t t e r s w h e n n u m b e r s a r a s k e d f o r .R E T U R N W I T H O U T G O S U B T h i s c a h a p p e n i n a d v e r t e n t l yw h e n y o a r t r y i n g o u p r o g r a m . I i g o o d p l a n t p l a c e a e n s t a t e m e n t o t h l i n e b e f o r e t h f i r s t l i n e o s u b r o u t i n e . O t h e r w i s et h p r o g r a m w i l l g t o d d l i n g t h r o u g h , m e e t t h r e t u r n s t a t e m e n t , g b a c k t t h e p i c k - u p p o i n t , c a r r y o t h r o u g h t t h e s u b r o u t i n e a g a i n ,m e e t t h e r e t u r n s t a t e m e n t a g a i n , a n g i v e y o t h R E T U R NW I T H O U T G O S U B m e s s a g e .S T R I N G T O L O N G T h o l q u e s t i o n o h o l o n g p i e c e o s t r i n g i f i n a l l y h a a a n s w e r . I c a b n l o n g e r t h a n 2 5 c h a r a ct e r s . T h i s h a t d w i t h t h f a c t t h a t t h l a r g e s t n u m b e r t h a t c a b r e p r e s e n t e d b a e i g h t d i g i t b i n a r y n u m b e r i 2 5 5 . U s i n g t h i n f o r m a t i o n i t h s e c t i o n o u s e r - d e f i n e d c h a r a c t e r s , p r o v e i t y o u r s e l f e 1 1 1 1 1 1 1 1 1 + 2 + 4 + 8 + 1 6 + 3 2 + 6 4 + 1 2 8 = 2 5 5S Y N T A X T h i s w a i n v e n t e d b g r a m m a r i a n s b e f o r e t h I R s t a r t e d t a x i n g c e r t a i n e s t a b l i s h m e n t s . I h a t d w i t h t h i n g s l i k ec o m m a s , c o l o n s , s e m i c o l o n s , a n p a r e n t h e s i s . I o n o t h e s e i m i s s i n g , i t h w r o n g p l a c e , o u s e d w h e n i s h o u l d n ' t b e u p o p st h i s m e s s a g e . I a l s o p o p s u w h e n y o t y p e s o m e t h i n g i t h d i r e c tm o d e o o c c a s i o n . I w r i t i n g p r o g r a m y o u c a s o m e t i m e s b e s c a r r i e d a w a y w i t h e n t h u s i a s m t h a t y o f o r g e t t o p u i t h n e x t l i n en u m b e r . T h a t ' l l d i t

1 5

Page 165: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 165/226

T Y P E M I S M A T C H T h i s o n i t h e o p p o s i t e o R E D O F R O MS T A R T . D o n ' t e n t e r n u m b e r s w h e n l e t t e r s a r a s k e d f o r .U N D E F D F U N C T I O N T h i s m e a n s t h a t y o h a v e a t t e m p t e d t m a k e u s o u s e r - d e f i n e d f u n c t i o n , b u y o d i n o d e f i n e t h a tf u n c t i o n u s i n g t h D E F F N s t a t e m e n t .U N D E F D S T A T E M E N T T h i s o c c u r s m o s t o f t e n w h e n y o h a v e r e o r g a n i z e d p r o g r a m b y d e l e t i n g l i n e , y e s t i l l h a v eG O T O o G O S U B t h a t r e f e r e n c e s t h a t l i n e n u m b e r . W a t c h o u f o t h i s o n f o t h m e a n i n g i n o o b v i o u s a f i r s t . S o m e o t h e r c o m p u te r w i l l n o t p e r c e i v e p r o b l e m a n d w i l l g m e r r i l y o t t h l i n en u m b e r t h a t f o l l o w s t h d e l e t e d o n e . T h a t c a s o u n d l i k e g o o di d e a , b u i c a c a u s e e v e n g r e a t e r p r o b l e m s !V E R I F Y T h i s m e s s a g e a p p e a r s i a u n a d o r n e d f a s h i o n a n c a l o o k l i k e s o m e t h i n g y o e n t e r e d y o u r s e l f . W h a t i m e a n s i t h a t t h p r o g r a m y o u h a v e o n t a p e d o e s n o m a t c h t h o n i m e m o r y . Y o u ' l lg e i a f t e r y o h a v e g i v e n t h V E R I F Y ' N c o m m a n d i t h i n g s a r n o a t h e y s h o u l d b e

S o m e o t h e s e m e s s a g e s w i l l o c c u r s e e m i n g l y q u i t e o u o t h b l u e , p a r t i c u l a r l y i t h V I C - 2 0 i n o t h f i r s t c o m p u t e r y o h a v ew o r k e d w i t h . T h r e a s o n m a w e l l b t h a t t h m a c h i n e y o u a r u s e dt w i l l a c c e p t c e r t a i n f o r m s t h a t t h V I C - 2 0 w i l l n o t . T h i s d o e s n o m e a n t h a t t h V I C - 2 0 i i a n w a d e f i c i e n t . I i j u s t m a t t e r o t h f a m i l i a r b e i n g t h m o s t c o m f o r t a b l e .

J u s t a s t h e r e a r e e x p r e s s i o n s i t h E n g l i s h l a n g u a g e a s p o k e ni N o r t h A m e r i c a t h a t a r e i t h e r t o t a l l y m e a n i n g l e s s o e v e n r u d e i B r i t a i n ( a n d v i c e v e r s a ) , s t h e r e a r e s m a l l d i f f e r e n c e s i t h d i a l e c t s o B A S I C t h a t a r u n d e r s t o o d b d i f f e r e n t m a c h i n e s .

T h e r e i a e x c e l l e n t b o o k b D a v i d L i e n c a l l e d T h B a s kH a n d b o o k w h i c h t a k e s y o u , s t a t e m e n t b s t a t e m e n t t h r o u g h t h B A S I C l a n g u a g e , p r o v i d e s n e a t t e s t t s e i y o u r c o m p u t e ro p e r a t e s i t h c o m m o n o u n c o m m o n f a s h i o n , a n g i v e s y o a l t e rn a t i v e s i y o u r c o m p u t e r d o e s n o h a v e t h a t c o m m a n d .

O n c u r i o u s f e a t u r e o t h V I C - 2 0 i t h e p r o v i s i o n o t h e @ s i g n ,g i v i n g i l a r g e p r o m i n e n c e a m o n g t h o p e r a t o r s . a s s u m e d a f i r s tt h a t i a c t e d l i k e a n o t h e r @ s i g n , t h a t i i t h f o r m 1 0 ? @ 5 " W H A T " ,w h i c h w o u l d c a u s e t h w o r d W H A T t b p l a c e d s t a r t i n g o c o l u m n5 A f a a c a t e l l t h e ® s i g n d o e s n o t h i n g s p e c i a l o t h V I C - 2 0 ,u n l e s s i s e r v e s s p e c i a l p u r p o s e f o s o m e o t h c a r t r i d g e s .

1 5

Page 166: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 166/226

A p p e n d i xT h D a t a B a s e P r o g r a mT h f i l e p r o g r a m , w h i c h i l i s t e d i f u l l i A p p e n d i x N p r o g r a m 3 6 i n o e x a c t l y f u l l - f l e d g e d d a t a b a s e p r o g r a m . I i f i l e p r o g r a m . I d o e s g i v e y o a i d e a , h o w e v e r , o w h a t d a t a b a s e p r o g r a m c a d o T h i s p r o g r a m i a l m o s t a e x a c t t r a n s l a t i o n o p r o g r a m t h a t w r o t ef o a n o t h e r s m a l l c o m p u t e r , a n s o m e f e a t u r e s r e f l e c t t h a t f a c t .

T h a m o u n t o m a t e r i a l t h a t y o c a s t o r e i t h p r o g r a m i d i r e c t l y r e l a t e d t o t h a m o u n t o m e m o r y y o h a v e . T h p r o g r a m i d e s i g n e d t a l l o w e a s y e n t r y o m a t e r i a l , e a s y a l t e r a t i o n o t h f i l e ,a n e q u a l l y e a s y p r i n t i n g o t h f i l e c o n t e n t s .

A f t e r e a c h s t a g e o a c t i v i t y , t h p r o g r a m r e t u r n s y o t t h m e n u . T h e r e i n s u c h t h i n g a s f u l l y s a t i s f a c t o r y f i l e p r o g r a m .E a c h p e r s o n w i l l h a v e d i f f e r e n t r e q u i r e m e n t s . T h i s i w h b u s in e s s e s w i l l p a l a r g e s u m s o m o n e y t p r o g r a m m e r s ( o n l y t h g o o do n e s , o f c o u r s e ! ) t w r i t e p r o g r a m s t h a t a r s p e c i f i c a l l y a d d r e s s e dt t h c l i e n t ' s n e e d s . d n o e x p e c t t h a t y o w i l l f i n d t h i s p r o g r a mt b e x a c t l y w h a t y o u a r l o o k i n g f o r ; h o w e v e r , w i t h t h k n o w l e d g ea n s k i l l s y o s h o u l d h a v e a c q u i r e d w o r k i n g t h r o u g h t h i s b o o k , y o s h o u l d h a v e l i t t l e d i f f i c u l t y i a l t e r i n g t h p r o g r a m t s u i t y o u rn e e d s . I m i g h t t a k e y o s o m e t i m e , b u i w i l l m o r e t h a n l i k e l y b w o r t h i t

Y o m i g h t w i s h t a d n e s e c t i o n t p e r f o r m c e r t a i n t y p e s o c a l c u l a t i o n s . T d t h i s , a d d y o u r n e s e q u e n c e a t h e n a n a l t e rt h O G O T O s t a t e m e n t o l i n e 2 1 0 , a d d i n g n e l i n e n u m b e r .Y o m a w e l l b d i s s a t i s f i e d w i t h t h s l o w s o r t i n g p r o c e d u r e .

1 5

Page 167: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 167/226

P e r h a p s y o m i g h t l i k e t o s u b s t i t u t e o n o t h e o t h e r s o r t i n gr o u t i n e s t h a t a p p e a r i A p p e n d i x A

T h f i g u r e s r e l a t i n g t o n u m b e r a n s i z e o f e n t r i e s r e f e r t a 8 m e m o r y . F o l a r g e r m e m o r i e s , t h f i g u r e s c a b i n c r e a s e d .Y o m i g h t w i s h t a l t e r t h p r o g r a m t a l l o w d a t a t b k e p t o t h t a p e o d i s k s t h a t i c a b a c c e s s e d b t h p r o g r a m r a t h e r t h a n t b o b l i g e d t s a v e t h e n t i r e p r o g r a m e a c h t i m e .

I y o h a v e s a v e d f i l e t h a t i n c l u d e s d a t a o t a p e b c a l l i n g i a a p p r o p r i a t e n a m e i t h a p p r o v e d f a s h i o n , b s u r e t h a t y o u d o n o t y p e R U w h e n y o u w i s h t v i e w t h m a t e r i a l o o t h e r w i s e w o r k o i t Y o w i l l l o s e y o u r d a t a !

R e c a l l t h a t t h r u c o m m a n d r e s e t s a l v a r i a b l e s t 0 Y o w i l ls t i l l h a v e t h m a t e r i a l s a f e i t h t a p e d v e r s i o n , b u y o w i l l n o h a v ei i m e m o r y . I n s t e a d , t y p e G O T O 2 0 o G O T O 1 0 . T h i s w i l le n s u r e t h a t y o w i l l b a b l e t s e a n w o r k o t h m a t e r i a l s a v e d o a p r e v i o u s o c c a s i o n . T h p r o g r a m w a i n s y o a b o u t t h i s s o r t o f t h i n ge a c h t i m e t h I N I T I A L I Z E F I L E c h o i c e i s e l e c t e d .

1 5

Page 168: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 168/226

A p p e n d i xT h T a l k P r o g r a mT h t a l k p r o g r a m , w h i c h i l i s t e d i f u l l i A p p e n d i x N p r o g r a m 4 8 s e e k s t d e m o n s t r a t e v a r i e t y o t h i n g s , n o l e a s t o w h i c h i t h e n o r m o u s a m o u n t o f u y o c a h a v e p r o d u c i n g l o o k o t o t a la s t o n i s h m e n t o t h f a c e o f a n f r i e n d — o r e v e n a e n e m y ! T h p r o g r a m m u s t n o u n d e r a n y c i r c u m s t a n c e s b t a k e n s e r i o u s l y !T h e r e a r e o n l y t h b a r e b o n e s , w i t h j u s t f e s u g g e s t i o n s a t h o t f i n i s h t h p r o g r a m .

T h u s e r i a s k e d t p r o v i d e a n a m e a n t o l d i f i t i t o l o n g .T h u s e r i t h e n e n g a g e d i c o n v e r s a t i o n w i t h t h c o m p u t e r . Y o w i l l n o t e t h a t a l m o s t t h f i r s t t h i n g t h c o m p u t e r m e e t s d u r i n g t h p r o g r a m i t h G O S U B 8 0 0 0 . T h i s m e r e l y a l l o w s t h e V I C - 2 0 t l e a r n t h e c o n t e n t s o t h d i m e n s i o n e d s t r i n g a r r a y s , w h i c h a r u s e dt h e r e a f t e r a c c o r d i n g t t h n e e d s o t h p r o g r a m m e r . I a d d i t i o n ,t h r e s p o n s e s g i v e n b t h u s e r a r e p l a c e d i s t o r a g e s t h a t t h e yc a b u s e d , p r o b a b l y a g a i n s t t h u s e r ( ! o l a t e r o c c a s i o n s . T h e r ea r s o m e g a p s l e f t i t h d i m e n s i o n e d a r r a y s s t h a t y o p u y o u ro w m a t e r i a l i n

s a m p l e r u o t h p r o g r a m m i g h t b e g i n a f o l l o w s :O J O H N W H A T I Y O U R P R O B L E M ?B R O T H E RW H A T ' S T H M A T T E R W I T H Y O U R B R O T H E R ?S I C KO H I I S E R I O U S ?Y E T O B A

1 6

Page 169: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 169/226

Y o u r o w i m a g i n a t i o n c a w o r k w o n d e r s o s u c h p r o g r a m .M o r i g i n a l v e r s i o n o t h i s p r o g r a m w a w r i t t e n f o d i f f e r e n t

c o m p u t e r a n d i f a i r l y l e n g t h y . T h e r e a r m o m e n t s w h e n t h m a c h i n e s e e m s t s t o p a n t h i n k . e v e n h a v e o n s p o t w h e r e a l s o r t s o f o d t h i n g s a p p e a r o t h s c r e e n w h i l e t h t h i n k i n g t a k e sp l a c e . T h p r o g r a m i s f u l l o c o n v e r s a t i o n a l f i l l e r s s u c h a s I n e v e rr a i n s b u i p o u r s ; " " T h i n g s m u s t g e w o r s e b e f o r e t h e y g e b e t t e r ; "" H a v e y o e v e r b e e n i s u c h s i t u a t i o n b e f o r e ; " " N o w l e m g e t h i s s t r a i g h t . . . Y o s a t h a t y o u r ( f a t h e r , b r o t h e r , s i s t e r , g i r l f r i e n d )i ( s i c k , p r e g n a n t , i n s a n e , c h e a t i n g , ) . H a v e g o t h a t r i g h t ? "

W i t h a s t u t e u s o l o o p s , t h p r o g r a m c a g a r o u n d a n d a r o u n dm a k i n g u s o l i t t l e b i t s o t h p r o g r a m o v e r a n o v e r a g a i n . B c a r e f u l t o k e e p t r a c k o f e x a c t l y w h e r e t h e l o o p s g o o e l s e t h u s e rm i g h t f i n d h i o h e r s e l f t r a p p e d w i t h i n t h e p r o g r a m — c o m e t t h i n k o i t t h a t m a n o b s u c h b a n o t i o n a f t e r a l l .

I a n c a s e , t h p r o g r a m i t h e r e f o y o t d w i t h w h a t y o uw i l l . S h o u l d y o b e c o m e s b o l d a t p r o d u c e f u l l v e r s i o n , y o a r q u i t e f r e e t o p u b l i s h i a l o n g a y o p r o v i d e a c k n o w l e d g m e n t o t h s o u r c e o t h n o t i o n .

1 6

Page 170: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 170/226

A p p e n d i xT h A m a z e m e n t P r o g r a mT h p r o g r a m A m a z e m e n t i t r i f l e o d d . h a v e i n c l u d e d i b e c a u s e i i o d a n b e c a u s e i d e s e r v e s s o m e w o r k t m a k e i i n t o s o m et h i n g . Y o w i l l r e c o g n i z e a n u m b e r o t r i c k s i i t p a r t i c u l a r l y t h o s er e f e r r i n g t s c r e e n a n u s e r d e f i n e d g r a p h i c s . I m a k e s u s o t h j o y s t i c k . T h l i t t l e o b j e c t t b s t e e r e d a r o u n d t h m a z e i s u p p o s e dt b t a n k . I p o i n t s i c e r t a i n d i r e c t i o n s b u n o i o t h e r s . C a y o f i n d o u w h y ? T h m a z e i n o a l t h e r e ( a n d y o h a v e p r o b a b l ys u s p e c t e d t h a t a b o u t t h p r o g r a m m e r ! ) a n d i s u p p o s e d t a p p e a r a y o m o v e t h e t a n k a r o u n d . S o m e t i m e s i d o e s n o a p p e a r , i w h i c hc a s e y o c a s t e e r t h e t a n k w h e r e y o w i s h , e v e n o f t h b o t t o m o t h s c r e e n ! T h i d e a i t m o v e t h t a n k u t t h t o l e f t c o r n e r ,w h e r e u p o n y o c a s t a r t a l o v e r a g a i n . Y o c o u l d t r c h a n g i n g t h d a t a l i n e s t h a t h o l d t h i m a g e s o t h e t a n k s t h a t y o g e b o a t s o p l a n e s . Y o c a m o v e t h j o y s t i c k d i a g o n a l l y a c o r n e r s a n s c l i pl i t t l e o f y o u r t i m e . Y o c o u l d a d l i t t l e s e q u e n c e a f t e r l i n e 1 8 t p r o d u c e a e x p l o s i o n o r r a n d o m l y f l a s h i n g s c r e e n . Y o c a n p l a yw i t h t h c o l o r o t h t e x t a i a p p e a r s a n c h a n g e t h c o l o r o t h m a z e , t h b a c k g r o u n d , a n t h t a n k . S h o w y o u r s e l f w h a t y o u h a v el e a r n e d f r o m t h i s b o o k !

1 P R I I S T T X ; : G O S U B 2 6 0 : G O S U B 3 8 02 P = 2 5 33 P O K E S X + P , 4 : P O K E C M + P , 24 D I M D I R ( 3 )5 D I R ( 0 ) = 2 2 : D I R ( 1 ) = 2 3 : D I R ( 2 ) = 2 1 : D I R ( 3 ) = 16 0 T = T I

1 6

Page 171: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 171/226

7 F O R I = 0 T O 38 P O K E C M + P + D I R ( I ) , 49 P O K E C M + P - D I R ( I ) , 4

1 0 N E X T I1 1 P O K E 3 7 1 5 4 , 1 2 7 : X = ( N O T P E E K ( 3 7 1 5 1 ) ) A N D 6 0 - ( ( P E E K ( 3 7 1 5 2 )

A N D 1 2 8 ) = 0 ) : P O K E 3 7 1 5 4 , 2 5 51 1 I F X = 0 T H E N 1 1 01 1 T P = P - 2 2 * ( ( X A N D 8 ) > 0 ) + 2 2 « ( ( X A N D 4 ) > 0 M ( X A N D 1 ) > 0 ) +

( ( X A N D 1 6 ) > 0 )1 2 C H = - ( 3 * ( ( X A N D 1 6 ) > 0 ) + 4 * ( ( X A N D 1 ) > 0 ) + 5 » ( ( X A N D 1 ) > 0 ) +

( ( X A N D 8 ) > 0 ) )1 3 I F C H < 3 0 R C H > 6 T H E N C H = 51 4 I F ( X A N D 3 2 ) T H E N 2 5 01 5 I F P E E K S X + T P ) < > 3 2 T H E N 1 7 01 6 P O K E S X + P , 3 2 : P O K E S X + T P f C H : P O K E C M + T P , 2 : P = T P1 7 I F P O 2 3 T H E N 7 01 8 P R I N T C H R $ ( 1 4 7 ) : P O K E C C , 81 8 F O R D = 1 T O 2 0 0 : N E X T D1 8 P O K E C C . 2 71 9 P R I N T " S S B I H O O R A Y S a ! " : P O K E 3 6 8 6 9 , 2 4 02 0 S E C = I N T ( ( T I - T ) / 6 0 )2 1 0 P R I N T 1 S i I N " ; S E C ; " S E C O N D S "2 2 0 P R I N T : P R I N T " S R f P R E S S S P A C E B A R T O ' \ , " R E T U R N S S2 4 G E T A $ : I F A $ = " T H E N 2 4 02 5 R U 2 6 C H = 7 1 6 8 : P O K E 5 1 , 2 4 0 : P O K E 5 2 , C H / 2 5 6 - 1 : P O K E 5 5 , 2 4 0 :P O K E 5 6 , C H / 2 5 6 - 12 6 5 P O K E 5 1 , 2 4 0 : P O K E 5 2 , C H / 2 5 6 - 1 : P O K E 5 5 , 2 4 0 : P O K E 5 6 , C H / 2 5 6 - 12 7 F O R I = 0 T O 7 : P O K E C H + 2 5 6 + l , 0 : N E X T2 8 R E A D A : I F A = - 1 T H E N R E T U R N2 9 F O R J = 0 T O 7 : R E A D B : P O K E 7 1 6 8 + A * 8 + J , B : N E X T J3 0 G O T O 2 8 03 1 D A T A 3 , 1 2 6 , 1 0 2 , 6 0 , 2 3 6 , 6 0 , 1 0 2 , 1 2 6 , 03 2 D A T A 4 , 1 6 , 2 1 4 , 2 5 4 , 1 7 0 , 1 8 6 , 2 5 4 , 1 9 8 , 03 3 D A T A 5 , 2 5 2 , 2 0 4 , 1 2 0 , 1 1 0 , 1 2 0 , 2 0 4 , 2 5 2 , 03 4 D A T A 6 . 0 . 1 9 8 , 2 5 4 , 1 7 0 , 1 7 0 , 2 5 4 , 2 1 4 , 1 63 4 D A T A 7 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 53 5 D A T A - 13 8 0 P O K E 3 6 8 6 9 , 2 5 53 8 P R I N T " ^ P D & [ ^ ? I P l : ^ A M A Z E M E N T S S " ;3 9 S X = 7 6 8 0 : C M = 3 8 4 0 0 : C C = 3 6 8 7 94 0 D I M A ( 3 ) : A ( 0 ) = 2 : A ( 1 ) = - 4 4 : A ( 2 ) = - 2 : A ( 3 ) = 4 44 1 A = S X + 2 3 : W L = 7 : H L = 3 24 2 F O R I = 1 T O 2 1 : P R I N P ' 2 I G G G G G G G G G G G G G G G G G G G " :

N E X T : P O K E A , 44 3 0 J = I N T ( R N D ( 1 ) « 4 ) : X = J : P O K E S X + 5 0 5 , J + 1 2 8 : P O K E C M + 5 0 5 , 8 * R N D ( 0 )4 4 B = A + A ( J )4 5 I F P E E K ( B ) = W L T H E N P O K E B , J + 1 : P O K E + A ( J ) / 2 , H L : A = B : G O T O 4 3 04 6 J = - ( J + 1 ) * ( J < 3 ) : I F J o X T H E N 4 4 04 7 J = P E E K ( A ) : P O K E A , H L : I F J < 5 T H E N A = A - A ( J - 1 ) : G O T O 4 3 04 7 P R i N r f i r a a f f l o m ^ ^4 8 R E T U R N

1 6

Page 172: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 172/226

A p p e n d i xU s i n g M e m o r y E x p a n d e r s

Y o k n o w h o i i s y o h a v e l i v e d i h o u s e f o f e y e a r s , a n y o k n o w w h e r e e v e r y t h i n g i a n c a l a y o u r h a n d o a n i t e m a o n c e .T h e n y o m o v e t l a r g e r h o u s e . S u d d e n l y , a l t h o s e t h i n g s s e e m t h a v e b e e n m i s p l a c e d . s i m i l a r t h i n g h a p p e n s w h e n y o e x p a n d t h m e m o r y o t h V I C .

Y o a l r e a d y k n o w w h e r e m o s t o t h i m p o r t a n t l o c a t i o n s a r e ,t h i n g s l i k e s c r e e n a n c o l o r m e m o r y . Y o h a v e b e e n u s i n g t h e mq u i t e l o t . J u s t i c a s e y o a r u n c e r t a i n , l e u s p r o d u c e f o r m u l a t f i n d o u w h e r e s c r e e n m e m o r y b e g i n s . O t h s c r e e n o y o u r V I t y p e t h f o l l o w i n g ( i d i r e c t m o d e ) :S C = 4 * ( P E E K ( 3 6 8 6 6 ) A N D 1 2 8 ) + 6 4 * ( P E E K ( 3 6 8 6 9 ) A N D 1 1 2 )

T h e n p r e s s t h r e t u r n k e y . T y p e ? S a n t h v a l u e 7 6 8 0 w i l la p p e a r .

Y o c o u l d p u t h i s i n t o s h o r t p r o g r a m i y o w i s h .5 ? " [ C L R H O M E ] "1 S C = 4 * ( P E E K ( 3 6 8 6 6 ) A N D 1 2 8 ) + 6 4 * ( P E E K ( 3 6 8 6 9 ) A N D 1 1 2 )2 ? S

N e x t a d t h l i n e t h a t w i l l t e l l y o t h s t a r t o c o l o r m e m o r y :3 0 C = 3 7 8 8 8 + 4 « ( P E E K ( 3 6 8 6 6 ) A N D 1 2 8 )

1 6

Page 173: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 173/226

T h v a l u e s h o u l d b 3 8 4 0 0 . T h c o m p l e t e p r o g r a m i l i s t e d i nA p p e n d i x N p r o g r a m 9

I y o u h a v e a 8 e x p a n d e r , g e t r e a d y t p u i i t h c o m p u t e r ,i i i n o a l r e a d y i n t h a t i s S a v e t h s h o r t p r o g r a m u n d e r t h n a m eM E M , a n t h e n s w i t c h o f t h V I C - 2 0 . I n s e r t t h 8 m o d u l e ; s w i t c ht h c o m p u t e r o a g a i n ; a n l o a d M E M . W h e n a l i r e a d y , t y p eR U N , a n y o w i l l s e t h a t t h v a l u e s f o s c r e e n a n c o l o r h a v ec h a n g e d t 4 0 9 6 a n 3 7 8 8 8 r e s p e c t i v e l y .

T h i s i v i t a l l y i m p o r t a n t i n f o r m a t i o n , f o w i t h o u t i t y o w i l l n o k n o w h o t a l t e r y o u r p r o g r a m s s t h a t t h e y w i l l r u w h e n t h V I C - 2 0 i e x p a n d e d .

F o e x a m p l e , t h e s h o r t p r o g r a m t h a t d o e s t h i n g s w i t h t h b a l lw i l l n o p l a y . N e i t h e r w i l l t h o s e p r o g r a m s t h a t d e a l w i t h b a c h a r t s .I f a c t , n o p r o g r a m t h a t t h i n k s t h m e m o r y s t a r t s a 7 6 8 0 w i l l r u w i t h t h e x p a n d e r i p l a c e . N o t e t h a t t h l o c a t i o n s w i l l r e m a i n t h s a m e w i t h t h S u p e r E x p a n d e r i p l a c e a s w i t h t h u n e x p a n d e dV I C - 2 0 .

I o r d e r t m a k e p r o g r a m s r u n w i t h t h e e x p a n d e r , f i r s t c h a n g et h s c r e e n a n c o l o r a d d r e s s e s t t h n e v a l u e s . I y o u h a v ea s s i g n e d t h o s e v a l u e s t v a r i a b l e s , y o w i l l f i n d t h i n g s l o e a s i e rt h a n g o i n g t h r o u g h a e n t i r e p r o g r a m s e a r c h i n g o u t e a c h v a l u e a n p o s s i b l y g e t t i n g i n t o s u c h m u d d l e t h a t y o g e c r o s s w i t h t h w h o l e t i l i n g .

1 6

Page 174: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 174/226

A p p e n d i xO v e r l a y i n g

T h e r e w i l l b o c c a s i o n s w h e n y o w i l l w i s h y o u h a m o r e m e m o r y .I d o e s n o m a t t e r h o m u c h y o h a v e ; t h e r e w i l l c o m e t i m e w h e nm o r e i n e c e s s a r y , a n y e t , t h e r e i n r e a l n e e d t g r u s h i n g o u t t b u a n o t h e r 8 a n m o t h e r b o a r d t p u a l t h c a r t r i d g e s i n T h e r e i c h e a p b u b n m e a n s n a s t y m e t h o d .

T h m e t h o d i c a l l e d o v e r l a y i n g . L e t u s a s s u m e t h a t y o h a v ep r o g r a m t h a t c a b d i v i d e d i n t o t w o m o r e p a r t s . I c o u l d b f i n a n c e p a c k a g e , f o e x a m p l e , t h a t r e q u i r e s c e r t a i n i n p u t t h a t c o u l db s t o r e d o a s e p a r a t e t a p e . T h s e c o n d p a r t c o u l d a c c e s s t h d a t aa n w o r k o i t T h u s , l o a d p a r t I r e m o v e t h e t a p e f r o m t h D a t a s e t t e ; i n s e r t f r e s h t a p e ; a n w o r k t h r o u g h p a r t I A t h d a t ai l o a d e d o t h t a p e , t h p r o g r a m c o n t i n u e s t o p e r a t e . A s o o n a a l d a t a i e n t e r e d a E O m a r k e r i p u i p l a c e , a n y o a r t o l d t or e m o v e t h d a t a t a p e a n i n s e r t t h o r i g i n a l p r o g r a m t a p e w i t h o u tw i n d i n g f o r w a r d o b a c k w a r d f r o m w h e r e y o e n d e d t h o r i g i n a ll o a d . T h p r o g r a m d i r e c t s y o t p r e s s t h p l a y b u t t o n a n t h s e c o n d p r o g r a m i l o a d e d a u t o m a t i c a l l y b l o a d i n s t r u c t i o n o t h l a s t l i n e o t h o r i g i n a l p r o g r a m . I w i l l p r o b a b l y r e a d s o m e t h i n g l i k e1 0 0 0 0 L O A D ' T A R T I T W h e n t h e l o a d i n g i c o m p l e t e , y o w i l l b t o l d t i n s e r t t h d a t a t a p e t h a t y o h a v e j u s t c r e a t e d a n y o w i l lt h e n p r e s s t h p l a y b u t t o n u p o n r e q u e s t .

T c r e a t e d a t a t a p e , u s t h p r o g r a m 1 i A p p e n d i x a m o d e l . T r e a d t h e d a t a y o h a v e c r e a t e d f r o m t h e t a p e p r o g r a m 1 i A p p e n d i x m i g h t s e r v e .1 6

Page 175: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 175/226

A p p e n d i xP r o d u c i n g M u s i c

F i g u r e K - s h o w s t h a p p r o x i m a t e n u m b e r s t h a t m u s t b p o k e d t p r o d u c e t h c o r r e s p o n d i n g m u s i c a l n o t e s . N o t e t h a t t h v o i c e a l o c a t i o n 3 6 8 7 6 i t h h i g h e s t , t h o n a 3 6 8 7 5 s i n g s a l l i t s n o t e s a o c t a v e l o w e r , a n t h o n a 3 6 8 7 4 , a o c t a v e b e l o w t h a t . A l t h r e ev o i c e s c o v e r r a n g e o t h r e e o c t a v e s a i t h e d i a g r a m , t h u s af i v e - o c t a v e r a n g e i a v a i l a b l e i a l l .

T h a b o v e v a l u e s f o n o t e s a r a p p r o x i m a t i o n s . T h r e s u l t w i l ls o u n d l i t t l e o d f o t h i n t o n a t i o n , t h s t a t e o b e i n g i n t u n e , w i l l b o f t s m a l l d e g r e e . I i p o s s i b l e t m a k e u s o t h t e c h n i q u e o f r e q u e n c y m o d u l a t i o n , w h i c h i n v o l v e s r a p i d s w i t c h i n g b a c k a n f o r t hb e t w e e n t w c l o s e f r e q u e n c i e s , i m u c h t h s a m e w a t h a t v i l i n i s t p r o d u c e s v i b r a t o .

p r o g r a m t h a t d e m o n s t r a t e s t h u s o t h i s t e c h n i q u e a p p e a r si t h P r o g r a m m e r ' s R e f e r e n c e G u i d e . H o w e v e r , a m u s i c i a nf i n d s o m e o t h e v a l u e s a s s i g n e d t n o t e s t b s l i g h t l y o f k e a n t h D I M N i i n c o r r e c t p r o d u c i n g a o u t - o f - d a t a e r r o r . T h c o r e c t e d p r o g r a m i f o u n d i A p p e n d i x N p r o g r a m 3 2 a l t h o u g h y o a r t f e e l f r e e t d i s a g r e e w i t h m e a f o i n t o n a t i o n .

l o n g d i s c u s s i o n o f i n t o n a t i o n w o u l d b o u o p l a c e i t h i st e x t . S u f f i c e i t s a t h a t o v e r t h c e n t u r i e s t h e r e h a v e b e e n m a n ya t t e m p t s t p r o d u c e t r u e i n t o n a t i o n o k e y b o a r d i n s t r u m e n t s t h a ti s a t i s f a c t o r y i a l k e y s . T h e r e w e r e m a n y s y s t e m s d e v e l o p e d ,p a r t i c u l a r l y f o t h h a r p s i c h o r d a n n o f o t h p i a n o . T h e s e a t e m p t s r e s u l t e d i h y b r i d s y s t e m , t h r e s u l t o f w h i c h i t h a t t h

1 6

Page 176: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 176/226

C D C D 1 4 1 5 1 6 3 1 7 5 1 8 3 1 9 1 9 3 0

♦ 0 o l T p F ^ G # A # C F G 1 3 5 1 4 7 1 5 9 1 6 1 ? 9 1 8 ? 1 9 5 2 ° 2 0 2 1 2 2 1 ?

F G A 2 2 2 2 2 3 2 3 2 3 2 3 2 4 C D C 2 2 7 2 2 9 2 3 2 2 3 5 2 3 7 2 3 9 2 4

F i g . K - 1 . P o k e N u m b e r s t b p o k e d t p r o d u c e m u s i c a l n o t e s .

p i a n o i n o a c t u a l l y i t u n e . T h p r o b l e m r e v o l v e s a r o u n d a c u r i o si t k n o w n a s t h e c o m m a o f D i d y m u s , w h i c h y o u c a l e a r n m o r e a b o u tb c o n s u l t i n g g o o d r e f e r e n c e o t h s u b j e c t o p i a n o a n h a r ps i c h o r d t u n i n g .

D n o a s s u m e t h a t t h e r e i s o m e t h i n g w r o n g w i t h y o u r V I C - 2 0m e r e l y b e c a u s e t h m a c h i n e d o e s n o p l a y i t u n e . Y o a r f r e e t oe x p e r i m e n t .

Y o w i l l n o t e f r o m t h p r o g r a m t h a t t h e r e a r e t w v a l u e s f o e a c h n o t e , w h i c h a r s o m e t i m e s t h s a m e a n s o m e t i m e s d i f f e r e n t .A l t e r a t i o n o t h d i f f e r e n c e b e t w e e n p a i r s a n s o m e t i m e s t h g e e r a t i o n o d i f f e r e n c e s w h e r e t h e y d n o c u r r e n t l y e x i s t i t h d a t al i n e s a r t h m e a n s o d e v e l o p i n g t r u e s c a l e .

D i s c o v e r y o t h c o r r e c t v a l u e s t p r o d u c e a w e l l - t e m p e r e ds y s t e m c a p r o c e e d b u s i n g j u s t t w v o i c e s . M a k e o n v o i c ep r o d u c e t h n o t e w h i l e t h o t h e r p r o d u c e s t h n o t e G D o n ' tc h o o s e p i t c h t h a t i t o l o o y o w i l l n o h e a r t h e f f e c t y o a r l o o k i n g f o r .

A t h t w n o t e s s o u n d t o g e t h e r , y o w i l l k n o w i t h e y a r e x a c t l y i t u n e b t h c l e a n , b a r e , n o n o s c i l l a t i n g t o n e t h a t i p r d u c e d . O n c e y o h a v e a c h i e v e d t h i s b j u g g l i n g t h n u m b e r u s e d t p r o d u c e t h n o t e G y o c a b e g i n t w o r k t i n t r o d u c e a s m a l ld e g r e e o o s c i l l a t i o n . Y o s e e , i t h e r e w e r e n o s c i l l a t i o n b e t w e e nt h e b u l k o t h n o t e s , y o w o u l d e n u w i t h s o m e n o t e s w i l d l y o u o t u n e . I i s m a l l d e g r e e o " o u t - o f - t u n e - n e s s " t h a t y o w a n t .

A l t e r t h e n u m b e r f o t h n o t e u n t i l y o c a n h e a r v e r y s l o wb e a t , a s t h e o s c i l l a t i o n i c a l l e d . T h o s c i l l a t i o n i t b p r o d u c e d b t h n o t e b e i n g e i t h e r f l a t o s h a r p . Y o n e e d t h f l a t v e r s i o n ,w h i c h i w h y o s t a r t e d w i t h t h p e r f e c t n o n o s c i l l a t i n g i n t e r v a l t b e g i n w i t h .

1 6

Page 177: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 177/226

H a v i n g t u n e d G y o c a n o t a k e t h e n o t e b e l o w i t A g a i np r o d u c e c l e a n , b a r e s o u n d a n t h e n s h a r p e n t h p i t c h o t h D b i n c r e a s i n g t h e v a l u e o t h n u m b e r , u n t i l i t o p r o d u c e s v e r y s l o wb e a t . C o n t i n u e t h r o u g h a l t h n o t e s w o r k i n g w i t h t h m u s i c a li n t e r v a l s o f f i f t h a n f o u r t h a l t e r n a t e l y . T h f i f t h s s h o u l d b s m a l la n t h f o u r t h s l a r g e . Y o s h o u l d f i n i s h o t h n o t e B h a v i n g g o n et h r o u g h a l t h s h a r p s . C h e c k t h f i n a l n o t e w i t h a o a F # T h r e s u l t s h o u l d b i t u n e . i i n o t , I ' a f r a i d y o w i l l h a v e t g b a c k t h r o u g h t h w h o l e t h i n g t a d j u s t t h e r r o r , a n i y o t h i n k t h a ti c h o r e , j u s t i m a g i n e t h a t m u s t g t h r o u g h t h i s e v e r y w e e k w i t ht w h a r p s i c h o r d s a n c l a v i c h o r d — a t o t a l o 3 0 n o t e s !

O n c e y o h a v e d o n e i t y o h a v e p e r m a n e n t s y s t e m . W r i t ep r o g r a m t h a t a l l o w s y o t o s e l e c t e a c h n o t e i o r d e r . T h e n y o c a r e n t y o u r s e r v i c e s o u t a s a i n s t r u m e n t t u n e r . T h e r e a r s u c h t h i n g sa e l e c t r o n i c t u n e r s o t h m a r k e t . T h e y c o s t a m u c h a y o u r V I d i d ! A n t h e y w o n ' t d y o u r t a x , s o r t n a m e s , p l a y g a m e s , o d r a wp r e t t y p i c t u r e s f o y o u . I a d d i t i o n , b y n o s t r e t c h o f t h i m a g i n a t i o nc a o n p l a y t u n e s o t h e m .

F o t h o w n e r o t h S u p e r E x p a n d e r , t h p r o c e s s o m u s i cw r i t i n g i m u c h e a s i e r . H o w e v e r t h e r e i n c o n t r o l o v e r t h p r e c i s e p i t c h o f t h n o t e s p r o d u c e d w h e n u s i n g m u s i c m o d e . T h s o u n d i n s t r u c t i o n , o t h o t h e r h a n d , m a k e s u s o t h v a l u e s a s s e o u a b o v e , b u w i t h o u t t h e n e e d f o r e a d d a t a s t a t e m e n t s . T h v o i c e s a r p o k e d f o y o a n a r m e r e l y s e o u i t h o r d e rs i s 2 s 3 a n s f o l l o w e d b t h v a l u e , r a n g i n g b e t w e e n a n 1 5 f o t h v o l u m e .

T h m u s i c m o d e i a c c e s s e d b h o l d i n g d o w n t h C T R L k e a n t h l e f t a r r o w , f o l l o w e d b e n t e r i n g t h e t e m p o , v o l u m e , v o i c e ,o c t a v e a n t h n o t e . T h a r r o w c a b f o l l o w e d b t h l e t t e r P ,w h i c h a l l o w s t h e s c r e e n t d i s p l a y t h e s o u n d s . T h c o d e t u r n s t h s c r e e n d i s p l a y o f f .

1 6

Page 178: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 178/226

A p p e n d i xE x p e r i m e n t i n g w i t h G r a p h i c sT h f o l l o w i n g p r o g r a m a l l o w s y o t g e n e r a t e t h o s e p r e t t y p a t t e r n st h a t f a s c i n a t e ! T h S u p e r E x p a n d e r i m a n d a t o r y .

1 0 R R P H I C 2 : C O L O R 0 , 0 . 1 . 51 R E R D K2 0 I F K < 0 T H E N 1 5 03 8 F O R X « 0 T O 1 0 0 04 0 I F X * K > 2 0 0 T H E N 1 0 05 P O I N T S , X , X # K6 0 N E X T X1 0 G 0 T 0 1 51 5 G O T O 1 5 01 6 D f l T f l . 0 1 , . 1 . 2 . 5 . 8 , 1 , 5 . . 1 0 , 3 0 , - 1

H o w o u l d y o m a k e t h l i n e s c o m e l o w e r d o w n o t h s c r e e n ?

1 G R A P H I C 2 : C O L O R 0 , 0 , 1 , 52 R E A D K3 I F K < 0 T H E N 1 5 04 I F K < = 1 T H E N G O S U B 6 04 I F K > 1 T H E N G O S U B 1 1 05 G O T O 2 06 F O R X = 0 T O 5 0 07 I F X * K > 2 0 0 T H E N 1 0 8 P O I N T 5 , X , X * K9 N E X T1 0 R E T U R N1 1 F O R Y = 0 T O 2 0 01 2 P O I N T 5 , Y / K , Y1 3 N E X T

1 7

Page 179: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 179/226

1 4 R E T U R N1 5 G O T O 1 5 1 6 D A T A . 0 0 4 , . 2 , . 8 , 1 , 2 , 5 , 7 0 , - 1

W h i l e t h i s n e x t o n i c o o k i n g y o c a g d i g t h e g a r d e n , d y o u r l a u n d r y , a n w a t c h T s h o w !1 R = 5 Q1 f l = l : C = 01 G R f l P H I C 3 . - C Q L Q R 0 , 0 , 3 , 72 F O R X = - R T O R S T E P . 13 V = 3 Q R C R # R - * ; # X : >4 P O I N T S , 5 0 0 + 7 * X , 3 0 0 + 3 * Y5 P O I N T 3 , 5 0 0 + 7 # X , 5 0 0 - 3 * V6 N E X T6 5 C = C + 17 R * R - 37 I F O 2 0 T H E N 9 08 G 0 T 0 1 59 E N

T r v a r i a n t s o t h v a r i a b l e s a n s e i y o m a k e t h t h i n g v e r t i c a l .T h n e x t p r o g r a m d o e s n ' t l o o k v e r y p r o m i s i n g a f i r s t , b u t g i v e

i c h a n c e . T r c h a n g i n g t h c h a r a c t e r c o l o n i l o o k s f a b u l o u s i r e o p u r p l e ! B l a c k o p u r p l e o b l a c k o r e a r f r i g h t f u l l y w i t h i t P r o g r a m 4 0 i A p p e n d i x i a n o t h e r v a r i a t i o n o t h i s p r o g r a m .1 G R A P H I C S 3 : C O L O R 0 , 0 , 3 , 02 F O R A = 0 T O 6 S T E P . 0 53 R = 4 P O I N T 3 , 5 0 0 + 6 * R * C O S ( A ) , 5 0 0 + 2 * R * S I N ( A )5 N E X T A

Y o c o u l d a l s o c h a n g e t h r a n g e o u t n m o r e t h a n 7 5 i y o k e e p t h f o r m u l a e o l i n e 4 a t h e y a r e . Y o c a i n c r e a s e i y o r e d u c e t h f i g u r e a f t e r t h 5 0 0 ; f o e x a m p l e , 5 0 0 + 5* R * C O S ( A ) , 5 0 0 + 2 + R * S I N ( A ) . Y o c a a l s o i n c r e a s e t h e s t e ps i z e u t . f o v e r y c h a r m i n g e f f e c t . T h g r e a t e r t h d i f f e r e n c eb e t w e e n t h t w ' s e c o n d " f i g u r e s i t h f o r m u l a , t h e g r e a t e r t h ea p p a r e n t 3 - e f f e c t .

U s i n g t h s a m e b a s i c f o r m u l a a n p r o g r a m , a n c h a n g i n g t h t w ' s e c o n d " f i g u r e s b a c k t 7 a n d 4 c h a n g e i t h e f o l l o w i n gw a y s : R = 2 0 * C O S ( 3 * A / 2 ) r e d u c e t 5 0 a n i n c r e a s e t h e 2 t 5 0 H o f a c a i b i n c r e a s e d w i t h o u t g e t t i n g t h i l l e g a l q u a n t i t ym e s s a g e ?

N e x t c h a n g e R 5 0 * C O S ( S I N ( 1 0 * A ) ) . C h a n g i n g t h f i r s tn u m b e r o t h r i g h t o t h i s e q u a t i o n a l t e r s t h s i z e o f t h f i g u r e .W h a t h a p p e n s i y o c h a n g e t h f i g u r e i p a r e n t h e s i s t o s a y , 1 5 W h a t i y o c h a n g e A ' l i m i t t 1 0 0 ?

1 7

Page 180: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 180/226

N o c h a n g e a g a i n : R = 5 0 * C O S ( S I N ( 4 * A / 3 ) ) . T h n u m b e ri p a r e n t h e s i s c a b i n c r e a s e d f r o m t w i t h a p o s i t i v e e f f e c t . I y o w i s h t e n l a r g e t h f i g u r e , y o m u s t i n c r e a s e t h 5 t o s a y , 6 0 A i p r e v i o u s p r o g r a m s , t h e a s p e c t r a t i o , t h e h e i g h t a n w i d t h , c a b a l t e r e d i n l i n e 4 0

N o l e R = 8 0 * S I N ( 3 * A ) , o l e R = E X P ( A / 6 ) , b u m a k e s u r ey o d o n ' t s h o o t o f t h e s c r e e n ! H o c a y o p r e v e n t t h a t f r o mh a p p e n i n g ?

N o l e R = 3 0 * C O S ( 2 * A / 3 ) . M a k e b o t h " s e c o n d n u m b e r s "= i t h f o r m u l a e i l i n e 4 0 N e x t m a k e t h s e c o n d f o r m u l a r e a d :, 5 0 0 + 1 2 * R * S I N ( A ) . N o y o h a v e t h a n s w e r t t h q u e s t i o na b o u t i n v e r t i n g i m a g e s !N o t r F O R A = 0 T O 8 0 , a n R = 3 0 * C O S ( 2 . 5 * A / 3 ) .

N o w , h e r e i c h a l l e n g e t a s k f o y o u . D e v e l o p p r o g r a m t h a ta l l o w s t h e u s e r t s e t h e f f e c t o e a c h f o r m u l a u p o n d e m a n d . Y o w i l l u s t h s a m e p r o g r a m . H o w e v e r , f o e a c h s e l e c t i o n , t h p r g r a m w i l l b r a n c h t a s p o t t h a t c o n t a i n s t h e p r e c i s e e x p r e s s i o n f o R W o r k t h p r o g r a m b a c k w a r d s a f t e r t h a t , b s h o w i n g t h p a t t e r na n t h e n d i s p l a y i n g t h f o r m u l a a l o n e o e v e n d i s p l a y i n g i b e s i d et h p a t t e r n . Y o c a s a f e l y p u s u c h i n f o r m a t i o n o r o 1 Y o c a s p l i t l o n g e x p r e s s i o n s b e t w e e n t h e t o p a n b o t t o m r o w s .

1 7

Page 181: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 181/226

A p p e n d i xM e m o r y M a

I m u c h t h s a m e w a t h a t p e o p l e o r g a n i z e t h e i r h o u s e s w i t hs p e c i f i c p l a c e s f o s p e c i f i c a c t i v i t i e s , s t h c i r c u i t r y i n c o m p u t e ri o r g a n i z e d i n t o s p e c i f i c c o m p a r t m e n t s . d e s c r i p t i o n o t h e s ec o m p a r t m e n t s a n t h e i r f u n c t i o n s i c a l l e d m e m o r y m a p . T h m e m o r y m a t h a t f o l l o w s i f a i r l y e l e m e n t a r y a o n o t h m a n yd e c i s i o n s m a d e w h e n d r a f t i n g t h i s b o o k w a t o m i t a n d i s c u s s i o no m a c h i n e l a n g u a g e .

S o m e o t h m e m o r y i t h V I C - 2 0 i r e s e r v e d b t h m a c h i n ef o i t o w p u r p o s e s . T h r e m a i n d e r i m a d e a v a i l a b l e t o y o u , t h u s e r , f o y o t d w i t h w h a t y o w i s h — w i t h i n l i m i t s , o c o u r s e !S o m e o i i o n l y a v a i l a b l e i y o u a d d e x t r a m e m o r y . T h V I C - 2 0k n o w s w h e n i i t h e r e !

T s t a r t a t h t o p : t h a r e a 6 5 5 3 5 d o w n t 5 7 3 4 4 i r e s e r v e df o t h V I K e r n a l O p e r a t i n g S y s t e m . T h i s o r g a n i z e s a l t h o t h e ra c t i v i t i e s o t h c o m p u t e r f r o m t h m o m e n t y o s w i t c h o t h m a c h i n e .5 7 3 4 3 d o w n t 4 9 1 5 2 c o n t a i n s t h V I B A S I C i n t e r p r e t e r .T h i s , q u i t e c l e a r l y , i n t e r p r e t s t h B A S I C c o m m a n d s , o p e r a t o r s ,f u n c t i o n s , a n s t a t e m e n t s t h a t y o e n t e r o t h k e y b o a r d .

T h a r e a f r o m 4 9 1 5 1 d o w n t 4 0 9 6 0 i r e s e r v e d f o e x p a n s i o nR e a d O n l y M e m o r y . C a r t r i d g e s t h a t y o u b u y t p l u g i t h b a c k o t h m a c h i n e c o n t a i n e x p a n s i o n R O M , u n l e s s , o f c o u r s e , y o h a v ep l u g g e d i e x p a n s i o n R A M .

T h a r e a f r o m 4 0 9 5 9 d o w n t 3 8 9 1 2 i u n u s e d . T h a r e a f r o m1 7

Page 182: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 182/226

3 8 9 1 1 t 3 8 4 0 0 c o n t a i n s t h c h a r a c t e r c o l o r c o n t r o l t a b l e ; t h a t i s t h c o l o r o a n l e t t e r s , d i g i t s , o d i a g r a m s t h a t y o p l a c e o t h s c r e e n , b u n o t h s c r e e n c o l o r , b o r d e r c o l o r o a u x i l i a r y c o l o r .W h e n y o u e x p a n d t h V I C - 2 0 t h e c o l o r c o n t r o l t a b l e m o v e s t t h a r e a f r o m 3 8 3 9 9 d o w n t 3 7 8 8 8 .

T h i n p u t a n o u t p u t c h i p r e g i s t e r s a r f o u n d f r o m 3 7 1 6 7 d o w nt 3 7 1 3 6 .

T h V I c h i p , w h i c h i a c t u a l l y t a u t o l o g o u s f o t h s t a n d s f o c h i p , t h f u l l n a m e b e i n g V i d e o I n t e r f a c e C h i p , h a i t r e g i s t e r s a 3 6 8 7 9 d o w n t 3 6 8 4 6 .

C h a r a c t e r r e p r e s e n t a t i o n s a r e k e p t a l o c a t i o n s 3 6 8 6 3 d o w n t 3 2 7 6 8 . T h e r e i 1 6 g a i t h m e m o r y f r o m 3 2 7 6 8 d o w n t 8 1 8 5f o e x p a n s i o n .

T h a r e a f r o m 8 1 8 5 d o w n t 7 6 8 0 s h o u l d b f a m i l i a r a t h s c r e e n m e m o r y . Y o u w i l l r e c a l l t h a t w p o k e d c h a r a c t e r s i t h e s el o c a t i o n s o t h s c r e e n a n t h e n u s e d t h c o l o r c o n t r o l t a b l e t m a k et h c h a r a c t e r s a p p e a r .

T h m e m o r y a v a i l a b l e t y o i t h u n e x p a n d e d V I r u n s f r o m7 6 7 9 t 4 0 9 6 , f o l l o w e d b g a f r o m 4 0 9 5 t 1 0 2 4 f o t h 3 m e m o r y e x p a n s i o n m o d u l e .

A l l t h a t r e m a i n s i t h a r e a u s e d b B A S I C i t s e l f a n t h o p e r a t i n g s y s t e m , a n t h a t i f r o m 1 0 2 3 d o w n t 0

Y o w i l l r e c a l l t h a t w i t h i n s o m e o t h e s e a r e a s t h e r e w e r e o t h e rs u b d i v i s i o n s ; f o e x a m p l e , t h f o u r v o i c e s a n t h v o l u m e c o n t r o la r k e p t a 3 6 8 7 4 , 3 6 8 7 5 , 3 6 8 7 6 , 3 6 8 7 7 , a n 3 6 8 7 8 .

1 7

Page 183: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 183/226

A p p e n d i xT h P r o g r a m s

T h i s a p p e n d i x c o n t a i n s l i s t i n g s o m o s t o t h p r o g r a m s i t h e b o o k .T h e y a r l i s t e d h e r e i c o m p l e t e , a c c u r a t e f o r m f o y o u r c o n v e n ie n c e i t y p i n g t h e m i n t o y o u r V I C - 2 0 .

P r o g r a m 1 D o u b l e S i z e C h a r a c t e r s5 p r i n t m : t

1 P R I N T " T H I S P R O G R A M M E M I L L R L L O W Y O U T I N 8 E R TD O U B L E S I Z E C H R R R C T E R S R M I L L 1 1

2 P R I N T " W H R T I V O U R N R M E ? "3 0 I N P U T f l 4 Q O S U B 1 0 0 0 04 P R I N T S "5 P R I N T " H E L L O " J f l f5 5 F O R D » 1 T O 5 0 0 0 : N E X T

9 9 9 9 E N D1 0 0 0 0 P 0 K E 5 6 , 2 8 ' . C H O 2 7 7 61 0 0 1 0 F O R X - 7 1 8 4 T O 7 6 0 0 S T E P 2 ' P O K E X , P E E K C C H ) * P O K E X + 1 ,

P E E K C C H )1 0 0 2 0 C H - C H + 1 ' . N E X T1 0 0 3 0 P Q K E 3 6 8 7 9 . 2 51 0 0 4 0 P 0 K E 3 6 8 6 9 , 2 5 5 ' . P 0 K E 3 6 8 6 7 , 4 71 0 0 5 0 R E T U R NP r o g r a m 2 S a m p l e P r i n t e r C o m m a n d s1 O P E N 1 , 42 0 P R I N T # 1 > C H R $ ( 1 4 > M C H R $ ( 1 4 > P R O D U C E S D O U B L E W I D T H "3 P R I N T # 1 > C H R $ C 1 5 ) ( I C H R * U 5 ) P R O D U C E S S T R N D R R D W I D T H 1 14 0 P R I N T # 1 / C H R $ < 1 6 ) N 1 0 C H R * < 1 6 ) S E T S P R I N T - S T R R T

P O S I T I O N O N T H L I N E "

1 7

Page 184: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 184/226

5 0 P R I W T # 1 / C H R $ C 1 4 ) C H R $ ( 1 4 ) " 1 2 I T C R B U S E D I C O M B I N R T I O N W I T H C H R $ C 1 4 ) "

6 P R I N T # l , C H R * < 1 5 > C H R * a 4 3 ) " C H R $ a 4 5 > S E L E C T ST H C U R S O R U M O D E "

7 P R I N T # l , I f T H I S I T H M O D E U S E D W H E N T H P R I N T E RI F I R S T S W I T C H E D O N

8 P R I N T # l , C H R * < 1 7 > " C H R * a 7 > S E L E C T S T H C U R S O RD O W N M O D E "

9 P R I N T # 1 , C H R * Q 8 ) " C H R $ U 8 ) S E L E C T S T H E R E V E R S E DF I E L D M O D E "

1 0 P R I N T f t l , C H R $ a 4 6 > " f l N D C H R * < 1 4 6 > T U R N S T H E R E V E R S EF I E L D O F F "

1 1 C M D l ' . L I S T * C L O S E 1

P r o g r a m 3 S c r e e nT h i s p r o g r a m d e m o n s t r a t e s s o m e s p e c i a l e f f e c t s o t h s c r e e n

a n i l l u s t r a t e s t h c r e a t i o n o w i n d o w s .

P R Z N T " 3 "1 f l $ » l f T H I 8 I T H P L R C E "1 P R I N T R *1 F O R D » 1 T O 1 5 0 0 : N E X T2 0 P 0 K E 3 6 8 6 5 * 1 72 P R I N T R *2 5 F O R D « 1 T O 1 5 0 0 : N E X T3 0 P 0 K E 3 6 8 6 5 , 2 53 P R I N T R *3 F O R D » 1 T O 1 5 0 0 : N E K T4 P R I N T S "5 P 0 K E 3 6 8 6 6 ; P E E K < 3 6 8 6 6 ) R N D 1 2 8 0 R 2 86 P R I N T R *7 F O R D « l T O 5 0 0 0 i N E X T8 P 0 K E 3 6 8 6 6 , P E E K C 3 6 8 6 6 > R N D 1 2 8 0 R 2 2

1 0 R » 3 6 8 6 7 ■ P O K E R ; P E E K < R ) R N D 1 2 9 0 R ( 1 9 * 2 )1 0 P R I N T S "1 1 F O R D * 1 T O 4 0 0 0 ! N E X T1 2 P O K E R j P E E K < R ) R N D 1 2 9 0 R ( 5 * 2 )1 3 F O R D « 1 T O 4 0 0 0 : N E X T1 4 0 P O K E R , P E E K C f l ) f l N D 1 2 9 0 R a 5 * 2 )1 5 F O R D = 1 T O 4 0 0 0 = N E X T1 6 P O K E R , P E E K < R ) R N D 1 2 9 0 R < 2 3 * 2 )1 7 P R I N T " ^ 1 1

' 2 0 0 P O K E R , P E E K C R ) O R 12 1 F O R D « 1 T O 4 0 0 0 * N E X T2 2 P O K E R , P E E K < R ) R N D 2 5 4P r o g r a m 4 T w S c r e e n s

T h i s p r o g r a m a l l o w s y o t c r e a t e t w d i f f e r e n t s c r e e n s t h a tc a b s w i t c h e d b a c k a n f o r t h b p r e s s i n g t h k e y .

P R I N T 1 1 : ? 11 P 0 K E 5 6 , 2 6 ' ' C L R2 D I M X K C 2 3 )2 5 P R I N T S 1 13 O O S U B 7 0 P R I N T C H R * < 1 4 7 ) O O S U B 7 04 X * » C H R * U 3 3 )1 7

Page 185: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 185/226

3 0 G E T V * : I F V $ « X * T H E N G Q S U B 7 06 0 P R I N T V f ; : G O T O 5 07 f l * P E E K < 6 4 8 )8 I F R = 2 S T H E N R » 3 0 : B = 1 5 0 ' G O T O 1 1 C I9 I F R » 3 0 T H E N R « 2 8 : B « 2 2

1 1 P 0 K E 6 4 8 , R : P 0 K E 3 6 8 S 6 , B1 2 F O R I » 0 T O 2 31 3 X » P E E K < 1 + 2 1 7 ) P O K E I + 2 1 7 , X B 1 1 5 0 N E X T I1 6 P R I N T : R E T U R N

P r o g r a m 5 R o a dP R I N T C H R * ( 1 4 7 >

2 R E M " R R N D O M R O R D "P R I N T " T H I S Q E N E R R T E S R O R D - 1 1P R I N T M W f l V W H I C H T R R V E L S U P P R I N T " T H E S C R E E N "P R I N T " f l L T E R L I N E 2 0 T O • P R I N T " C H f l N G E T H W I D T HF O R D - 1 T O 6 0 0 0 J N E X TP R I N T C H R $ C 1 4 7 >

1 F O R I - 1 T O 1 0 0 S T E P . 51 X « I N T < R N D < 1 ) * 3 ) + 11 8 I F X » 2 O R X » 2 1 T H E N X » 2 0 P R I N T T f l B ( X ) C H R $ C 4 1 ) ; C H R $ < 1 2 5 >2 P R I N T T R B < X < f l 2 ) C H R « < 1 2 5 ) J C H R $ C 4 0 )2 F O R D - 1 T 5 0 : N E X T D3 N E X T IP r o g r a m 6 P o k e 6 4

T h i s p r o g r a m d e m o n s t r a t e s t h r e s u l t s o f u s i n g P O K E 6 4 6 .P R I N T ' T rP 0 K E C 6

1 P R I N T » T H I 8 I W H f l T P 0 K E 6 4 6 D O E S "2 O 6 4 63 F O R I » 0 T O 1 5 : P O K E C . I3 5 P R I N T I4 F O R D » 1 T O 5 0 0 : N E X T5 N E X T6 P 0 K E C 6P r o g r a m 7 A n i m a t e

T h i s p r o g r a m p r o d u c e s a p a t t e r n o s q u a r e s , m o v i n g b a l l , a n m o v i n g l e t t e r s .

P R I N T 1 1 : ] "P 0 K E C 61 C - 3 6 8 7 91 P 0 K E C 82 F O R I - 7 6 8 0 T O 8 1 8 5 S T E P 3 « P O K E I > 2 2 43 0 N E X T6 P 0 K E C 6

1 5 P O K E C / 31 6 F O R I » 7 6 8 0 T O 8 1 8 5 S T E P 2

1 7

Page 186: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 186/226

1 7 P O K E I , 8 1 : F O R D « 1 T O 3 0 ' N E X T1 8 P O K E I , 3 2 = N E X T2 0 8 F O R I * 7 6 8 0 T O 8 1 8 5 S T E P 2 3 • P O K E I , 8 1 • F Q R D « 1 T O 3 0 « N E X T2 1 0 P O K E I , 3 2 ^ N E X T2 2 F O R I * 8 1 8 5 T O 7 6 8 0 S T E P - 2 1 ' P O K E I , 8 1 : F O R D * 1 T O 2 5 » N E X T2 3 P O K E I . 3 2 = N E X T2 4 0 F O R R * 1 T O 2 5 52 3 F O R W 6 8 0 T O 8 1 8 5 S T E P 6 * P O K E I > R s F O R D « 1 T O 5 5 : N E X T2 6 P O K E I 3 N E X T I N E X T f l

P r o g r a m 8 C o l o r sT h i s p r o g r a m a l l o w s y o t v i e w v a r i e t y o s c r e e n , b o r d e r ,

a n a u x i l i a r y c o l o r s .

P R I N T S 1 11 O 3 6 8 7 91 P R I N T ! P R I N T :2 P R I N T " T H I S P R O Q R f l M M E D E M O N - S T R R T E S T H E E F F E C T 1 12 P R I N T M 0 F T H E L O C f l T I O N " ; 2 P R I N T M C H O O S E T H E F F E C T V O W I S H T O E X R M I N E F R O M

T H E F O L L O W I N G L X 8 T "2 P R I N T * . P R I N T :3 P R I N r ' S C R E E N ' V ' l 1 13 P R I N T M B O R D E R ' S " 2 3 P R I N T ^ U X I L I f l R V 1 1 / 1 ^ 1 13 5 I N P U T R4 0 I F R « 1 T H E N 1 0 04 I F R « 2 T H E N 2 0 0

C Q « ' 3 T L J p k J O f l | 0 |1 0 P R I N T " B M E N T E R N U M B E R F R O M 0 T 1 5 B F1 1 I N P U T X1 2 P 0 K E < C ) ; P E E K C C ) R N D 1 5 0 R U 6 « X )1 3 P R I N T - E N T E R N E N U M B E R T O S E E N E W E F F E C T 1 11 4 P R I N T M E N T E R 2 0 T R E T U R N "1 5 I N P U T X1 6 I F X O 1 5 T H E N 1 2 01 7 G 0 T 0 52 0 P R I N T " B W E N T E R N U M B E R F R O M 0 T O 1 5 8 3 "2 1 I N P U T X2 2 P O K E D , P E E K < C ) f l N D 2 4 0 O R X2 3 0 P R I N T " E N T E R f N E N U M B E R T O S E E N E E F F E C T 1 12 4 P R I N T " E N T E R 2 0 T R E T U R N "2 5 0 I N P U T X2 6 I F X O 1 5 T H E N 2 2 02 7 0 0 0 T 0 53 0 P R I N T " W E N T E R N U M B E R F R O M 0 T 1 5 S 5 "3 1 I N P U T X3 2 P 0 K E C P E E K C O R N D 2 4 8 0 R X3 3 P R I N T " E N T E R N E N U M B E R T O S E E N E W E F F E C T "3 4 0 P R I N T " E N T E R 2 0 0 T O R E T U R N "3 5 I N P U T X3 6 I F X < » 1 5 T H E N 3 2 03 7 0 G 0 T 0 5P r o g r a m 9 M e m o r y C h e c k

T h i s p r o g r a m c h e c k s t d e t e r m i n e w h e t h e r o r n o t m e m o r ye x p a n s i o n u n i t h a b e e n a d d e d .

1 7

Page 187: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 187/226

P R I N T M "P R I N T " M E M O R Y E X P f l N S I O N C H E C K "

1 S C « 4 * < P E E K < 3 6 8 6 6 ) R N D 1 2 8 ) + 6 4 # < P E E K < 3 6 8 6 9 > f l N D l 1 2 )2 0 P R I N T S C3 C « 3 7 3 8 3 + 4 * < P E E K < 3 6 8 6 6 > f l N D 1 2 8 >4 P R I N T CP r o g r a m 1 0 D a t a t T a p e

T h i s p r o g r a m a l l o w s y o t s a v e u s e r - d e f i n e d c h a r a c t e r s e t s o t a p e .

1 0 P E N l i l , 2 " D R T f l2 R E f l D f l : P R I N T # 1 > f l : I F f l » 0 T H E N 4 03 F 0 R f l « f l T 0 f l + 7 : R E f l D B * P R I N T # 1 , B : N E X T4 C L O S E D P R I N T " D f l T f l O T f l P E "5 E N P r o g r a m 1 1 D a t a f r o m T a p e

T h i s p r o g r a m a l l o w s y o t u s l o a d u s e r - d e f i n e d c h a r a c t e rs e t s f r o m t a p e .1 0 0 0 O P E N l , l , 0 " T f l P E "1 0 1 0 1 N P U T # 1 F t I F R « 0 T H E N 1 0 4 01 0 2 0 F 0 R f l « f l T 0 f l + ? : I N P U T # 1 > B1 0 3 0 P O K E I , B = N E X T1 0 4 0 O O T O 1 0 1 0P r o g r a m 1 2 H o m e d

T h i s h o m e m e d i c i n e p r o g r a m d e m o n s t r a t e s t h u s o c o p u t e r a i d e d d i a g n o s i s . I i a e x a m p l e o h o u s e f u l t h V I C - 2 0 c a b i p r o v i d i n g f a s t i n f o r m a t i o n . T h p r o g r a m i f a f r o m c o m p l e t eb u t , i i t p r e s e n t f o r m , c a f i q u i t e n i c e l y i n t o t h e t h r e e a n h a l fo t h u n e x p a n d e d V I C - 2 0 .O b v i o u s l y , f u r t h e r e x p a n s i o n o t h p r o g r a m s h o u l d b d o n ew i t h c a r e . T h p r o g r a m i n o t i n t e n d e d t r e p l a c e d o c t o r , b u i w i l l g i v e a i d e a o t h p r o b a b l e n a t u r e o f e h e a l t h p r o b l e m s . A y o c a s e e , t h s y m p t o m s a r k e p t i s e r i e s o a r r a y s . T h e s e a r c a l l e d u w h e n a p p r o p r i a t e . T h i t e m s e n t e r e d b t h u s e r a r c h e c k e d a g a i n s t t h e r o s t e r o s y m p t o m s , a n t h p r o g r a m r e a c t sa c c o r d i n g l y .

F o y o u r o w e x p e r i m e n t a t i o n , s e i y o c a d s o m e t h i n gw i t h t h w a t h m a t e r i a l i p r e s e n t e d o t h s c r e e n . T h e n , u s i n gw h a t y o h a v e l e a r n e d a s a b a s i s , c r e a t e p r o g r a m s t h a t d e a l w i t ho t h e r m a t t e r s s u c h a h i s t o r i c a l f a c t s , t a r e g u l a t i o n s , o a n y t h i n ge l s e y o l i k e .

P R I N T O "1 C L R : P R I N T J P R I N T T R B < 2 ) ; " S E L E C T E f l C H S Y M P T O MO N f l T I M E "

1 7

Page 188: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 188/226

1 F O R D - 1 T O 2 0 0 0 « N E X T2 0 P R I N T " P R I N T " I T H E P R T I E N T D O E S N O S H O W - T H ES Y M P T O M F O L L O W E D B Y T H E ' ? ' »

2 P R I N T : P R I N T " T Y P E ' N O ' "3 0 F O R D » 1 T O 3 0 0 0 : N E X T4 D I M Z $ < 1 0 0 )5 0 G O S U B 9 0 0 0

1 0 P R I N T R * U ) , / R * ( 2 )1 1 I N P U T Z $ ( 1 >1 1 P R I N T " ! ! "1 2 P R I N T Z $ ( 1 >1 2 5 P R I N T :1 3 I F Z $ < l ) » R $ < l ) T H E N P R I N T R $ ( 2 ) ; " ? "1 3 I F Z $ < l > » R * < 2 > T H E N P R I N T R $ a > ; " ? "1 4 I N P U T Z $ < 2 )1 5 I F Z $ C 2 ) b R $ ( 2 ) T H E N P R I N T Z « < 2 )1 5 I F Z * < 2 ) » R $ < 1 > T H E N P R I N T R * C 1 )1 6 I F Z $ C 2 ) « R $ < 1 0 0 ) T H E N X $ ( 1 > » Z $ < 1 >1 6 5 I F Z * < 2 ) - f l * < 9 9 ) T H E N P R I N T " n "1 8 P R I N T " R N Y O T H E R S Y M P T O M ? I S P L E R S E S E L E C T

F R O M T H F O L L O W I N G : "1 8 P R t N T " M W M i a G i r H $ < * 3 ) t R $ < 6 ) * f l $ < 5 )1 8 P R I N T : P R I N T " O R T Y P E ' N O / H1 8 I N P U T Z * ( 3 )1 8 P R I N T " ^ "1 8 I F Z $ C 3 ) " R * ( 6 ) T H E N 2 3 01 9 I F Z « < 3 > » R $ < 1 0 0 ) T H E N 8 0 0 01 9 I F Z * < 3 ) « f i * < 3 ) T H E N 8 0 5 01 9 I F Z $ < 3 > « » R $ < 5 ) T H E N P R I N T " 1 . R R S H O R " * " 2 . B L I S T E R S ? "1 9 P R I N T : P R I N T " S E L E C T N U M B E R "1 9 I N P U T D1 9 I F D » 1 T H E N 1 0 0 0 : I F D » 2 T H E N 2 0 0 02 0 I N P U T Z $ ( 4 )2 0 P R I N T ' T T 12 0 I F Z $ < 4 ) « R $ < 9 9 > T H E N P R I N T Z $ < 4 ) : P R I N T R $ < 1 ) + R $ < 6 )2 2 0 P R I N T R $ < 9 8 )2 2 I N P U T Z $ C 5 >2 3 I F Z * ( 5 ) a R * < 1 0 0 ) T H E N 8 9 9 92 3 P R I N T f l $ < 8 ) ; " ? "2 4 I N P U T Z « < 6 >2 4 I F Z * C 6 ) « R $ < 9 9 ) T H E N 8 0 1 0

1 0 0 0 P R I N T : P R I N T " 1 . O N B R C K R N N E C K "1 0 0 2 P R I N T : P R I N T " O R 1 0 0 4 P R I N T : P R I N T " 2 . O N T R U N K R N R B D O M E N ? "1 0 0 6 P R I N T : P R I N T " S E L E C T N U M B E R "1 0 1 0 I N P U T C1 0 1 2 P R I N T " ^ "1 0 1 3 I F C = 1 T H E N 1 5 0 8 ' I F C « 2 T H E N 3 0 0 01 5 0 0 P R I N T X $ < 1 ) , X $ ( 7 )1 5 0 2 P R I N T " T H E R R S H S I G N R L S T H E E N D O T H E I N F E C T I O N "1 5 0 3 P R I N T " I N D R Y S I S H O U L D B E C L E R R E D U P 1 5 0 5 P R I N T S P C < 2 > " B E S U R E T W R R N R N Y "1 5 0 6 P R I N T S P C C 2 ) " F R I E N D S W H O S E C H I L D - R E N M I G H T H R V E

C O M E I N T O C O N T R C T W I T H "1 5 0 7 P R I N T S K C < 2 ) " T H E D I S E R S E - - I T C R N B E D R N G E R O U S

I T H C R S E O P R E G N R N C Y 1 11 5 0 8 P R I N T F M K 9 7 >1 5 0 9 F O R D « 1 T O 9 0 0 0 : N E X T

1 8

Page 189: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 189/226

1 5 1 0 G O T O 1 02 0 0 0 P R I N T ' T T 12 0 0 1 P R I N T X $ < 1 ) , X $ < 8 >2 0 0 22 0 0 5 F O R D « 1 T O 7 0 0 0 : N E X T2 0 0 9 G O T O 1 03 0 0 0 P R I N T X $ < 1 ) , X $ < 6 >3 0 0 5 F O R D = 1 T Q 7 0 9 0 . : N E X T7 9 9 9 G O T O 1 08 0 0 0 P R I N T X $ < 1 > , , X * < 2 >8 0 0 5 F O R D » 1 T O 7 0 0 0 : N E X T8 0 0 8 G 0 T 0 58 0 1 0 F R I N T X $ a ) , X $ C 5 )8 0 1 2 P R n \ T ) m m m m m m8 0 1 3 F O R D » 1 T O 7 0 0 0 : N E X T8 0 1 5 G 0 T 0 58 0 5 d P R I N T " 3 "8 0 5 5 P R I N T " I S T H E R E R N V C H E S T P R I N U P O N D E E P

B R E R T H - I N G ? "8 0 6 0 I N P U T Z * < 1 1 >8 0 6 5 I F Z $ < l l ) s R $ ( 1 0 0 > T H E N 8 0 9 08 0 7 0 I F Z $ < 1 1 > » R * < 9 9 ) T H E N P R I N T X $ < 1 ) > X $ C 4 ) , R $ < 9 7 )8 0 7 4 F O R D » 1 T O 8 0 0 0 ! N E X T8 0 7 5 G 0 T 0 58 0 9 0 P R I N T X $ ( 1 ) , X $ < 3 )8 0 9 1 p r w t " i m m m m m " ) f \ $ < 9 : 8 0 9 8 F O R D = 1 T O 3 0 0 0 : N E X T8 0 9 9 G 0 T 0 59 0 0 0 D I M R $ < 1 0 0 )9 0 0 2 B H 1 X $ ( 1 0 0 )9 0 0 5 R f c a ^ ' T E V E R "9 0 0 6 R $ < 2 ) » l l C 0 U G H l >9 0 0 7 R $ < 3 ) » l l S P U T U M l f9 0 0 8 f l $ < 4 ) = " S N 0 L L E N G L R N D S "9 0 0 9 f l $ ( 5 > » M S P 0 T S M9 0 1 0 f l * < 6 > * l l F R E Q U E N C V "9 0 1 1 f l $ < 7 ) « " C H E S T P R I N "9 0 1 2 R * ( 8 ) » " B U R N I N G "9 0 1 3 R f O ^ B ' ^ L I S T E R S "9 0 1 4 R $ a 0 > « n T I N G L I N G I S K I N "9 0 1 5 f l $ < l l > * I I S U R F R C E S K I N P R I N "9 0 1 6 R $ ( 1 2 ) « " B L R C K E N E D S P O T S "9 0 1 7 f i $ a 3 ) « " R R S H "9 5 0 5 X $ < 1 ) = " ' I T I L I K E L V T B E 9 5 1 2 X * < 2 ) * " C 0 M M 0 N C O L D "9 5 1 3 X $ ( 3 > * " B R 0 N C H I T I S 1 19 5 1 4 X $ < 4 ) » " P N E U M 0 N I f l "9 5 1 5 X $ < 5 > « " U R I N R R V , K I D N E V O R B L R D D E R I N F E C T I O N "9 5 1 6 X $ < 6 ) » " C H I C K E N P 0 X "9 5 1 7 X f C ^ s ' ^ E R M R N M E R S L E S "9 5 1 8 X * < 8 ) = " H E R P E S Z O S T E R "9 9 8 7 R $ < 9 7 ) « n a W C 0 N S U L T V O U R P H V S I C I R N H T9 9 8 8 R $ < 9 8 ) « " R N V O T H E R S V M P T Q M S ? "9 9 8 9 f l * < 9 9 ) « " V E S "9 9 9 0 R $ ( 1 0 0 > b " N O "9 9 9 1 R E T U R NP r o g r a m 1 3 H e b r e w

T h i s p r o g r a m e n a b l e s y o t d i s p l a y t h H e b r e w c h a r a c t e r s e t .

1 8

Page 190: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 190/226

P 0 K E 5 2 / 2 8 : P 0 K E 5 6 , 2 8 ' . C L RF 0 R I * 7 1 6 8 T 0 7 6 9 6 : P O K E I / P E E K < 1 + 2 5 6 0 0 ) • N E X TP 0 K E 3 6 8 6 9 / 2 5 5R E t T ' H E B R E U "

1 0 F 0 R f l l » 7 1 7 6 T Q 7 1 8 3 : R E f l D f i : P Q K E R 1 / f l : N E X T2 D R T R S 5 / 9 9 / 5 2 / 2 4 / 4 4 / 7 0 / 9 9 / 03 F 0 R B l « 7 1 8 4 T 0 7 1 9 1 • R E f l D B : P O K E B 1 / B : N E X T4 D R T R 1 2 7 / 6 3 / 2 / 1 0 / 2 / 1 2 7 / 1 2 7 / 05 F 0 R V W 3 4 4 T 0 7 3 5 1 • R E R D V : P O K E V 1 / V : N E X T6 D R T R 1 2 7 / 6 3 / 1 / 1 / 1 / 6 3 / 1 2 7 / 07 0 F 0 R G l « 7 2 2 4 T 0 7 2 3 1 : R E R D G ' • P O K E G 1 G N E X T8 D R T R 7 . 3 / 1 , 1 , 3 / 7 / 1 3 / 09 0 F O R D 1 - 7 2 0 0 T O 7 2 0 7 ' R E R D D ' • P O K E D 1 / D • N E X T

1 0 D R T R 1 2 7 / 1 2 7 / 2 , 2 / 2 / 2 / 2 / 01 1 F O R H W 2 3 2 T 0 7 2 3 9 : R E R D H : P O K E H 1 H N E X T1 2 D R T R 1 2 7 / 1 2 7 / 1 / 3 3 / 3 3 / 3 3 / 3 3 / 01 3 F 0 R Z W 3 7 6 T 0 7 3 8 3 ' • R E R D Z ^ P O K E Z l / Z ' • N E X T1 4 D R T R 6 / 3 / 2 / 2 / 2 / 2 / 2 / 01 5 F 0 R W W 3 5 2 T 0 7 3 5 9 : R E R D W : P O K E W 1 / W N E X T1 6 D R T R 6 / 3 / 1 / 1 / 1 / 1 / 1 / 01 7 F O R X 1 * 7 3 6 0 T O 7 3 6 7 : R E R D X : P O K E X 1 N E X T1 8 D R T R 1 2 7 / 1 2 7 / 3 3 / 3 3 / 3 3 / 3 3 / 3 3 / 01 9 F 0 R T W 3 2 8 T 0 7 3 3 5 : R E R D T : P O K E T 1 / T N E X T2 0 D R T R 1 0 2 , 4 3 / 8 3 / 6 5 / 6 5 / 6 7 / 1 2 6 / 02 1 F 0 R V l » 7 3 6 8 T 0 7 3 7 5 • R E R D V : P O K E V 1 / V N E X T2 2 D R T R 1 2 / 1 2 / 4 / 8 / 0 / 0 / 0 / 02 3 F 0 R K l » 7 2 5 6 T 0 7 2 6 3 : R E R D K : P O K E K 1 / K : N E X T2 4 0 D R T R 1 2 7 / 1 2 7 / 3 / 1 9 / 3 / 1 2 6 / 1 2 6 / 02 5 F Q R L W 2 6 4 T 0 7 2 7 1 R E R D L : P O K E L 1 L N E X T2 6 0 D R T R 9 6 / 3 2 / 3 2 / 6 2 / 2 / 1 2 / 8 / 02 7 0 F 0 R M l * 7 2 7 2 T 0 7 2 7 9 ' R E R D M : P O K E M 1 N E X T2 8 D R T R 1 0 8 / 4 6 / 8 1 / 6 5 / 6 5 / 9 5 / 9 4 / 02 9 F O R N 1 = 7 2 8 0 T O 7 2 8 7 • R E R D N ' P O K E N 1 / N • N E X T3 0 D R T R 1 4 / 6 / 2 / 2 / 2 / 1 4 / 1 5 / 03 1 F O R S 1 = 7 3 2 0 T O 7 3 2 7 R E R D 8 : P 0 K E 8 1 N E X T3 2 0 D R T R 1 2 6 / 6 3 / 3 3 / 9 7 / 9 7 / 9 8 / 1 2 4 / 03 3 F O R E 1 - 7 2 0 8 T O 7 2 1 5 : R E R D E : P O K E E 1 / E s N E X T3 4 D R T R 5 0 / 5 9 / 1 7 / 1 7 / 1 4 / 2 8 / 5 6 / 03 5 F O R P W 2 9 6 T O 7 3 0 3 R E R D P : P O K E P 1 N E X T3 6 D R T R 1 2 6 . 6 3 / 1 7 / 6 1 / 3 3 / 6 3 / 1 2 6 / 03 7 F 0 R F l * 7 2 1 6 T Q 7 2 2 3 : R E R D F ' P O K E F 1 / F • N E X T3 8 D R T R 1 2 6 / 6 2 / 4 9 / 4 9 / 3 3 / 6 3 / 1 2 6 / 03 9 F 0 R C 1 - 7 1 9 2 T 0 7 1 9 9 : R E R D C : P O K E C 1 / C : N E X T4 0 D R T R 9 9 / 3 5 / 2 0 / 8 / 4 / 6 3 / 1 2 7 / 04 1 F O R Q W 3 8 4 T 0 7 3 1 1 R E R D Q P O K E Q 1 N E X T4 2 D R T R 9 6 / 6 2 / 1 / 3 3 / 3 4 / 3 6 / 4 0 / 3 24 3 F 0 R R l « s 7 3 1 2 T 0 7 3 1 9 R E R D R : P O K E R 1 N E X T4 4 0 D R T R 1 2 7 / 1 2 7 / 1 / 1 / 1 / 1 / 1 / 04 5 0 F 0 R U l « 7 3 3 6 T 0 7 3 4 3 • R E R D U • P O K E U 1 / U ' N E X T4 6 D R T R 1 / 8 2 / 1 2 3 / 4 1 / 7 3 / 8 2 / 1 2 4 / 04 7 F 0 R 0 1 « 7 2 8 8 T 0 7 2 9 5 : R E R D O • P O K E O 1 / 0 • N E X T4 8 0 D R T R 6 4 / 8 2 / 1 2 3 , 4 1 / 7 3 / 8 2 / 1 2 4 / 04 9 F O R I W 2 4 0 T O 7 2 4 7 R E R D I : P O K E I / 1 N E X T5 0 D R T R 6 4 / 1 2 6 / 3 3 / 7 3 / 6 5 / 3 3 / 9 7 / 05 1 F O R J 1 » 7 2 4 8 T 0 7 2 5 5 ' R E R D J P O K E J 1 J N E X T5 2 D R T R 6 4 / 1 2 6 / 3 3 / 6 5 / 6 5 / 3 3 / 9 7 / 0

P r o g r a m 1 4 R u s s i a nT h i s p r o g r a m e n a b l e s y o t d i s p l a y t h R u s s i a n c h a r a c t e r s e t .

1 8

Page 191: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 191/226

P 0 K E 5 2 , 2 8 : P 0 K E 5 6 , 2 8 : C L RP 0 K E 3 6 8 6 l T 2 5 S 9 6 ' ' P ° K E I ' P E O < < I + 2 5 6 0 0 ) N E X TR E M ' I R U S S I R N "

1 F 0 R R W 1 7 6 T 0 7 1 3 3 : R E f l D f i : P 0 K E R 1 , f l : N E X T2 D R T R 0 , 8 , 2 0 , 2 0 , 3 4 . , 6 8 , 6 5 , 6 53 0 F O R B 1 « 7 1 3 4 T Q 7 1 9 1 : R E f l D B : P O K E B 1 , B : N E X T4 D R T R 0 , 1 2 4 , 6 6 , 6 4 , 1 2 4 , 6 6 , 6 6 , 1 2 65 0 F 0 R V l » 7 3 4 4 T 0 7 3 5 1 : R E f l B V : P O K E V 1 , V : N E X T6 D R T R 0 , 6 5 , 4 2 , 2 8 , 2 8 , 2 8 , 4 2 , 1 2 07 F 0 R G l * 7 2 2 4 T 0 7 2 3 1 : R E R D G ' P O K E G 1 , G : N E X T8 0 D R T R 0 , 6 0 , 3 4 , 3 2 , 3 2 , 3 2 , 3 2 , 1 2 49 F O R D W 2 0 0 T O 7 2 0 7 R E R D D : P O K E D 1 , D : N E X T

1 0 D R T R 0 , 6 2 , 3 4 , 3 4 , 3 4 , 3 4 , 9 5 , 6 71 1 F 0 R H l * 7 2 3 2 T 0 7 2 3 9 : R E R D H : P O K E H 1 , H : N E X T1 2 D R T R 0 , 9 7 , 5 0 , 2 8 , 8 , 2 8 , 3 8 , 6 71 3 F 0 R Z W 3 7 6 T 0 7 3 8 3 : R E R D Z : P O K E Z 1 , Z N E X T1 4 D R T R 0 , 5 6 , 6 8 , 4 , 5 6 , 4 , 6 8 , 5 61 5 F 0 R W l « 7 3 5 2 T 0 7 3 5 9 : R E R D W : P O K E W 1 , W : N E X T1 6 D R T R 0 , 1 2 4 , 6 6 , 6 6 , 1 2 4 , 6 6 , 6 6 , 1 2 41 7 F O R X 1 « 7 3 6 0 T O 7 3 6 7 : R E R D X : P O K E X 1 , X • N E X T1 8 D R T R 0 , 6 4 , 7 3 , 8 1 , 1 1 3 , 8 1 , 8 1 , 7 81 9 F 0 R T l * 7 3 2 8 T 0 7 3 3 5 : R E R D T : P O K E T 1 , T : N E X T2 0 D R T R 0 , 1 2 7 , 7 3 , 8 , 8 , 8 , 8 , 82 1 F 0 R V 1 - 7 3 6 8 T 0 7 3 7 5 ' R E R D V : P O K E V 1 , V • N E X T2 2 0 D R T R 0 , 0 , 0 , 6 8 , 6 8 , 1 0 0 , 8 4 , 1 G 0

■ 2 3 0 F 0 R K l = 7 2 5 6 T 0 7 2 6 3 : R E R D K : P O K E K 1 , K : N E X T2 4 0 D R T R 0 , 6 8 , 7 2 , 1 1 2 , 7 2 , 6 8 , 6 6 , 6 72 5 F 0 R L l « 7 2 6 4 T 0 7 2 7 1 : R E R D L : P O K E L 1 , L : N E X T2 6 D R T R 0 , 1 2 7 , 8 3 , 1 9 , 1 9 , 1 9 , 8 3 , 3 92 7 F 0 R M l » 7 2 7 2 T 0 7 2 7 9 : R E R D M P O K E M 1 , M N E X T2 3 D R T R 0 , 6 5 , 9 9 , 8 5 , 7 3 , 6 5 , 6 5 , 6 52 9 F 0 R N l * 7 2 8 8 T 0 7 2 8 7 : R E R D N P O K E N 1 , N : N E X T3 0 D R T R 0 , 1 0 2 , 1 0 2 , 1 0 2 , 1 2 6 , 1 0 2 , 1 0 2 , 1 0 23 1 F O R S 1 = 7 3 2 0 T O 7 3 2 7 R E R D S ' P O K E S 1 , N E X T3 2 D R T R 0 , 2 8 , 3 4 , 9 6 , 3 6 , 9 6 , 3 4 , 2 83 3 F O R E W 2 0 3 T O 7 2 1 5 : R E R D E : P O K E E 1 , E : N E X T3 4 D R T R 0 , 1 2 4 , 6 4 , 6 3 , 1 2 4 , 6 8 , 6 4 , 1 2 43 5 F O R P 1 * 7 2 9 6 T O 7 3 0 3 : R E R D P : P O K E P 1 , P : N E X T3 6 D R T R 0 , 1 2 6 , 1 0 2 , 1 0 2 , 1 0 2 , 1 8 2 , 1 0 2 , 1 0 23 7 F 0 R F l « 7 2 1 6 T 0 7 2 2 3 : R E R D F : P O K E F 1 , F N E X T3 8 D R T R 0 , 8 , 6 2 , 7 3 , 7 3 , 7 3 , 6 2 , 83 9 F D R C 1 * 7 1 9 2 T Q 7 1 9 9 • R E R D C : P O K E C 1 , C : N E X T4 0 D R T R 0 , 6 8 , 6 8 , 6 8 , 6 8 , 6 8 , 6 8 , 5 94 1 F O R Q 1 - 7 3 0 4 T O 7 3 1 1 ' R E R D Q : P O K E Q 1 , Q : N E X T4 2 0 D R T R 0 , 1 0 7 , 1 0 7 , 1 0 7 , 1 0 7 , 1 0 7 , 1 2 7 , 14 3 F 0 R R W 3 1 2 T 0 7 3 1 9 R E R D R : P O K E R 1 , N E X T4 4 D R T R 0 , 1 2 0 , 6 8 , 6 8 , 1 2 0 , 6 4 , 6 4 , 6 44 5 F 0 R U l = 7 3 3 6 T 0 7 3 4 3 : R E R D U : P O K E U 1 , U : N E X T4 6 D R T R 0 , 3 4 , 3 4 , 1 8 , 1 0 , 6 , 3 4 , 7 24 7 F O R O 1 = 7 2 8 8 T 0 7 2 9 5 : R E R D O P O K E O 1 , 0 : N E X T4 8 D R T R 0 , 2 4 , 3 6 , 6 6 , 6 6 , 6 6 , 3 6 , 2 44 9 F O R I 1 » 7 2 4 0 T O 7 2 4 7 : R E R D I : P O K E I 1 , T N E X T5 0 D R T R 0 , 6 5 , 6 7 , 6 9 , 7 3 , 8 1 , 9 7 , 6 55 1 0 F 0 R J l « 7 2 4 8 T 0 7 2 5 5 : R E R D J : P O K E J 1 , N E X T5 2 D R T R 0 , 8 5 , 7 3 , 6 7 , 6 9 , 7 3 , 3 1 , 9 66 0 P R I N T 1 1 : ! 1 16 1 0 P R I N T M E T O K R R R N D R Q ? N E T , E T O N E K R R R N D R Q 1 1

1 8

Page 192: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 192/226

P r o g r a m 1 5 B i k eT h i s p r o g r a m p r o d u c e s t h s o u n d s o m o t o r b i k e s t a r t i n g a n

g o i n g a w a y .

R E I T B I K E 1 1R » 3 6 8 7 4 : B » 3 6 8 7 5 ' C » 3 6 8 7 6 : D « 3 6 8 7 7 E » 3 6 8 7 81 P 0 K E E . 1 52 F 0 R I » 1 2 8 T 0 1 6 53 P O K E R . P O K E B . P Q K E C . 14 0 F O R X = 1 T O 1 0 0 - N E X T X : N E X T I5 P O K E R . 0 : P Q K E B . 0 : P Q K E C . 06 F O R I = 1 2 3 T O 1 4 07 P O K E D . I8 F O R X = 1 T Q 2 0 : N E X T X : N E X T I9 P O K E D . 0 : P O K E E . 8

1 0 F 0 R I » 1 4 8 T 0 1 9 51 1 P O K E R ; I ' P O K E B . I : P O K E C . I1 2 F O R X = 1 T O 7 51 3 N E X T X J N E X T I1 4 P O K E R , 0 : P O K E B , © : P O K E C , 01 5 P 0 K E E . 51 6 F O R I s l 7 5 T O 2 0 01 7 0 P O K E f l , I : P O K E B . I : P O K E C , I1 8 F O R X = 1 T O 2 0 0 : N E X T X ! N E X T I1 9 P O K E E / 22 0 F O R I = 1 9 5 T O 2 0 52 1 0 F 0 R G « 1 4 5 T 0 1 5 52 2 P O K E R . I2 3 N E X T G2 4 F 0 R Y » 1 6 8 T 0 1 7 82 5 0 P O K E B . I2 6 0 N E X T V2 7 P O K E C . I2 8 0 F O R X « 1 T O 3 0 02 9 0 N E X T X ^ N E X T I3 0 0 P O K E E . 0

P r o g r a m 1 6 B o m bT h i s p r o g r a m d i s p l a y s m o v i n g b o m b a n d p r o d u c e s t h a

p r o p r i a t e s o u n d e f f e c t s .5 3 1 * 3 6 8 7 4 : S 2 « 3 6 8 7 5 : " 8 3 = 3 6 8 7 6 : 5 4 = 3 6 8 7 7 : V = 3 6 8 7 8

P R I N T C H R $ < 1 4 7 )P 0 K E 3 6 8 7 9 . 8

1 P 0 K E V . 1 52 F 0 R I = 2 2 5 T 0 1 9 5 S T E P ~ l3 P O K E S 1 . 1 : P 0 K E S 2 . 1 + 4 P 0 K E S 3 . 1 + 2 0 P 0 K E S 4 . 1 + 2 54 0 F O R D « 1 T O 2 1 : N E X T D : N E X T I5 F O R I » 7 6 8 0 T O 8 1 8 5 S T E P 2 36 P 0 K E I . 8 17 F 0 R D » l T 0 2 l : N E X T D8 0 P 0 K E I . 3 29 0 N E X T I

1 0 P O K E S 1 . 0 : P 0 K E S 2 . . 0 P 0 K E S 3 . 0 : P 0 K E S 4 . 01 1 P O K E S 4 . 2 2 01 2 F O R C « 1 T O 3

1 8

Page 193: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 193/226

1 3 F O R L « 1 5 ~ C T O 3 3 T E P - 0 . 1 2 51 4 P O K E V . L1 5 F 0 R X = 3 T 0 2 5 5 S T E P 4 31 6 P 0 K E 3 6 8 7 9 , X : N E X T X1 7 N E X T U N E X T C1 8 P O K E V . 01 9 P 0 K E 3 6 3 7 9 . 2 72 0 0 E N D

P r o g r a m 1 7 P r e s i d e n tT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , p r o d u c e s

s i m p l e q u i z t h a t u s e s s o u n d e f f e c t s .

1 P R I N T 1 1 : ! 'I P R I N T " T H E N f l M E O F T H E P R E S I D E N T O F T H U S f l I S . . . ? 1 13 P R I N T " 2 . P I E R R E T R U D E R U 1 14 P R I N T " 3 . R 0 N R L D C O R B E T T "4 P R I N T M . R O N R L D R E R G R N 1 15 P R I N T ' S . H R I L I E S E L R S S I E "6 0 I N P U T R7 I F f l « 4 T H E N G O T O 2 0 08 0 I F R s 5 T H E N 3 0 08 I F R * 1 T H E N 4 0 09 I F f l » 2 T H E N 5 0 09 5 I F R a l T H E N 1 0 0

1 0 P R I N T " a T 2 V 9 S 2 0 2 C R R S 1 0 1 G G # G R G R R R B R R 3 2 0 2 C R R R R R »1 1 G O T O 1 02 0 P R I N T " S T T 3 V 9 S 3 0 3 G R R E R C R R E R R G R R B R R R R R R R "2 1 G O T O 1 03 0 P R I N T " a T 3 V 9 S 2 0 1 C R R R R C R R R C R C R R R R $ E R R R D R D R R C R R C R R R R S

1 0 1 B R R S 2 8 1 C R R R R "3 1 G O T O 1 04 0 0 P R I N T " S T 3 V 9 S 2 0 1 G R R G R R # F R G R R R R E R R R R D R R R R "4 1 G O T O 1 05 0 P R I N T " t f T 3 V 9 S 1 0 2 # F R R R f l R R R f l R D R R R R R R R E R R # F R R G R R R R R B RR E R R R R R R 1 15 1 G O T O 1 0P r o g r a m 1 8 T h H i l l

T h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , p r o d u c e sc h a n g i n g p i c t u r e .

1 G R R P H I C 2 : C 0 L 0 R l l , 6 , 6 , 65 D R R U 2 , 0 , 1 0 2 3 T Q 1 0 0 , 8 2 I 36 D R R W 2 , 1 0 0 , 8 2 0 T O 1 1 0 , 8 4 06 C 0 L 0 R 1 1 . 5 . 5 . 57 0 D R R N 2 . 1 1 0 . 8 4 0 T O 1 9 0 > 6 2 38 D R R W 2 . 1 9 0 , 6 2 3 T O 3 0 0 , 7 3 08 C O L O R 1 1 , 6 , 1 , 69 D R R W 2 , 3 0 0 , 7 9 0 T O 4 6 0 , 5 1 0

1 0 D R R W 2 , 4 6 0 , 5 1 0 T O 8 2 5 , 9 0 01 0 C O L O R l l . 5 , 7 , 51 1 D R R W 2 , 8 2 5 , 9 6 0 T O 1 0 2 3 , 1 0 2 31 1 F O R D * 1 T O 1 5 0 0 ' N E X T

1 8

Page 194: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 194/226

1 2 C I R C L E 1 5 , 8 9 0 , 1 0 0 , 2 0 , 2 01 3 D R R W ? , 4 6 0 , 5 1 0 T O 8 7 0 , 1 2 ©1 4 D R R W 7 , 8 2 5 , 9 8 0 T Q 9 1 0 , 3 01 4 C O L Q R 1 1 , 5 , 5 , 51 4 F O R D » 1 T O 1 8 0 0 : N E X T1 5 C I R C L E 1 , 5 0 0 , 1 0 0 , 7 0 , 3 01 6 C I R C L E 1 , 6 0 0 , 1 2 0 , 9 5 , 3 01 7 P R I N T 1 , 5 0 0 , 1 0 01 8 P f l I N T 4 , 6 0 0 , 1 2 01 9 C H R R 3 , 8 , " T H E H I L L "1 9 F O R D « 1 T O 2 0 0 0 ' N E X T D1 9 F O R I « 1 T Q 32 0 P R I N T " « T 7 V 3 S 2 0 2 C C E G "2 1 P R I N T " B I S 3 0 2 C C C 1 12 2 P R I N T " J S 2 0 2 R R2 2 2 F O R D = 1 T O 4 0 0 ' N E X T2 2 P R I N T S , 0 , 1 0 02 3 0 R E G I O N 2 : C H R R 1 0 ' 5 , " G O O D N I G H T "

P r o g r a m 1 9 W a v eT h i s p r o g r a m u s e s m a t h e m a t i c a l f o r m u l a t o c r e a t e s p e c i a l

w a v e p a t t e r n .1 G R R P H I C 2 - C Q L 0 R 2 , 3 , 7 , 51 Z « 5 0 01 R » 1 V « 3 0 i H * 1 51 F O R I » 1 T O 1 02 F O R X « 2 0 0 T O 4 5 0 V « Z + S I N ( 2 / V ) # C O S c : X / H ) # 5 03 P O I N T f l / X / V4 N E X T X5 2 = Z 4 - 2 06 V - V + r - H - H + l6 f l a f l + 17 0 N E X T I3 E N P r o g r a m 2 0 P a t t e r n

T h i s s i m p l e p r o g r a m p r o d u c e s a i n t e r e s t i n g g r a p h i c p a t t e r n .2 C L 3 F O R T « 1 T O 3 1 : R * « R $ + C H R $ < R N D < 1 1 ) + l 1 8 > • N E X T4 F O R X * 1 T O 1 45 P R I N T f l $ ; : N E X T6 P R I N T f l $ ;7 P R I N T R U ;8 P R I N T L E F T * < f l $ , 1 5 > ;9 F O R I » 1 T O 9 0 0 : N E X T

1 0 G O T O 2 0P r o g r a m 2 1 C i r c l e

T h i s p r o g r a m r e q u i r e s t h e S u p e r E x p a n d e r .1 G R R P H I C 2 : C O L O R S ? , 0 . 1 02 C I R C L E 1 , 5 0 0 , 5 0 0 , 2 7 5 , 4 0 03 D R R N 1 , 2 5 0 , 3 0 0 T O 6 2 5 , 1 6 51 8

Page 195: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 195/226

4 D R R W 1 , 6 2 5 , 1 6 5 T Q 7 6 0 , 5 0 05 0 D R R W 1 , 7 6 0 , 5 0 0 T O 6 8 0 , 8 0 06 D R f l W l , 6 8 0 , 8 0 0 T O 3 7 8 , 8 2 37 0 D R R W 1 , 3 7 0 , 8 2 3 T O 2 5 0 , 3 0 08 D R f l W 2 , 2 5 0 , 3 0 0 T O 7 6 0 , 5 0 09 0 D R R W 2 , 6 2 5 , 1 6 5 T O 6 8 0 , 8 0 0

1 0 D R R W 2 , 7 6 0 , 5 0 0 T Q 3 7 0 , 8 2 31 1 D R R W 2 , 6 3 0 , 3 0 0 T O 2 5 0 . 3 0 01 2 D R f l W 2 , 3 7 0 , 8 2 3 T Q 6 2 5 , 1 6 5

P r o g r a m 2 2 : S q u i r a lT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , u s e s a

m a t h e m a t i c a l f o r m u l a t c r e a t e d e s i g n t h a t c h a n g e s c o l o r s .

U 0 V 16 S C N C L R1 G R f l P H I C 2 : C 0 L 0 R U , 3 , V , 72 R a . 8 : P l * i r / 3 0 : P 2 » 2 * f f / 33 F O R T » 0 T Q 4 . 0 8 S T E P P 14 0 R » R # 1 . 1 7 5 5 75 X l s C O S < T > * R + 5 0 0 : V l « S I h K T ) * R + 5 0 06 0 R * T * P 27 X 2 « C O S < f l ) l H R + 5 0 0 : V 2 « S I N < f l ) * R + 5 0 03 D R R N 1 X 1 V 1 T O X 2 V 23 D R R N 1 , X 1 ,9 8 B « T + 2 # P 21 0 X l « C O S < B ) * R + 5 0 0 = V l = S I N C B ) * R + 5 0 01 1 D R R W 1 , X 1 , V 1 T O X 2 , V 21 2 X 2 » C O S < T ) * R + 5 0 0 s V 2 » S I N < T ) * R + 5 0 01 3 D R R W 1 . X 1 , V 1 T O X 2 . V 21 4 N E X T1 4 U « U + l : V * V + l1 4 F O R D » 1 T O 2 0 0 0 - N E X T1 5 G 0 T 0 6

P r o g r a m 2 3 T o r c hT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , a l s o u s e s

m a t h e m a t i c a l f o r m u l a t c r e a t e d e s i g n t h a t c h a n g e s c o l o r s .

6 3 C N C L R1 Q R R P H I C 2 ' . C 0 L Q R U , 3 , V , 72 R » 1 0 0 : B * 1 6 0 : C « 9 03 0 R N » 3 6 0 ^ R4 F 0 R N ° l T 0 R S T E P 4 ' . T * N # f l N5 X » B * C O S < T ) + 2 a 06 0 V = S I N < T ) + 1 S 07 D R R W 1 , 8 0 0 , 8 0 8 T O X , V8 0 N E X T9 0 F O R D » 1 T O 2 5 0 0 : N E X T9 U a U + l : V « a V + l

1 0 G 0 T 0 6P r o g r a m 2 4 H a

T h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , u s e sc o m p l e x s e o m a t h e m a t i c a l f o r m u l a s t p r o d u c e h a t .

1 8

Page 196: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 196/226

1 G R R P H I C 2 ' . C O L O R 0 , 5 , 7 , 72 P » 4 9 0 ' « Q o 4 5 03 X P « 3 0 0 : X R » 2 . 2 * f f4 5 6 0 F O R Z I * - Q T O Q - 17 I F Z K - Z P Q R Z I > Z P G O T O 1 5 03 Z T « Z I * X P / Z P ' Z Z « Z I9 X L * I N T < . 5 + S Q R < X P * X P - Z T # Z T > )

1 0 F O R X I « - X L T O X L1 1 X T = S Q R < X I * X I + Z T # Z T > # X F : X X » X I1 2 Y V » < S I N < X T ) + . 4 * S I N < 3 * X T > > * Y F1 3 G O S U B 1 7 01 4 N E X T X I1 3 N E X T Z I1 6 S T O P1 7 X 1 = X X + Z Z + P1 3 Y 1 « W - Z Z + Q1 9 P 0 I N T 2 . X 1 . Y 12 0 0 I F V l a 0 G O T O 2 2 02 1 0 P O I N T 2 , X 1 , Y 1 ~ 1 , X 1 , 02 2 0 R E T U R N

P r o g r a m 2 5 O r i o nT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , s h o w s t h

c o n s t e l l a t i o n O r i o n .1 G R F I P H I C 3 : C O L O R 0 , 0 . 1 . 72 P O I N T 1 . 2 0 . 2 0 , 2 2 5 . 5 0 . 1 0 0 . 2 7 5 . 1 5 0 . 2 5 0 , 2 0 0 . 2 2 5 . 3 0 . 5 0 0 /

2 7 5 , 4 5 03 C H f l R 1 3 . 2 . l l 0 R I 0 N 1 1P r o g r a m 2 6 F o r m u l a

T h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , a g a i n a l s op r o d u c e s g r a p h i c e f f e c t s u s i n g m a t h e m a t i c a l f o r m u l a s .

1 G R f l P H I C 3 : C O L O R 0 . 0 . 4 . 02 F O R R « 0 T O 6 0 S T E P . 23 R = 3 0 # C O S < 2 * f V 3 >4 P 0 I N T 3 , 5 0 0 + 8 * R # C O S < f l > . 5 0 9 + 1 2 # R # S I N < f l >6 C H f i R 2 . 2 . I I R = 3 0 * C O S < 2 * f l / 3 > "5 0 N E X T f l

P r o g r a m 2 7 S t a v eT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , p r o d u c e ss e o m u s i c l i n e s .

P R I N T ' T T 11 G R f l P H I C 3 : C O L O R 0 . 0 . 1 , 01 V = 2 01 F Q R I = l T O 5 : Y * Y + 3 02 D R R W 1 . 2 0 . V T O 1 0 0 0 . V2 N E X T I3 V « 1 9 03 G 0 T 0 1 5

1 8

Page 197: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 197/226

P r o g r a m 2 8 R i p p l eT h i s p r o g r a m i a s o r t i n g s u b r o u t i n e t h a t y o c a i n s e r t i n y o u r

o w p r o g r a m s . A i u s e d f o t h s t r i n g s .1 1 O 0 . - N - N - 11 2 I F N » 0 T H E N 2 0 01 3 F O R I = 1 T O N1 4 I F f l < I X « f l < I + l ) T H E N 1 9 01 3 T » F K I )1 6 1 7 1 8 C » 1 9 N E X T I1 9 I F O 1 T H E N 1 1 02 0 P R I N T TP r o g r a m 2 9 S i m p l e

T h i s p r o g r a m p r o d u c e s s i m p l e s c r e e n d i s p l a y . C h a n g e t h n u m b e r o s p a c e s i l i n e 2 f o d i f f e r e n t e f f e c t s .

P R I N T S "1 F O R I « 1 T O 2 02 P R I N T " *2 F O R X » 1 T O 1 0 02 N E X T X3 N E X T I3 G 0 T 0 3 5

P r o g r a m 3 0 T r u m p e tT h i s p r o g r a m p r o d u c e s s o m e f a s t m o v i n g " m u s i c " . F i g u r e o u

w h i b l i p s a t h e n d .

1 R E R D H : R E R D L1 D R T R 2 0 0 / 2 0 / 2 0 6 / 2 0 / 2 1 2 / 2 0 / 2 0 0 / 2 01 D R T R 2 0 6 / 2 0 / 2 1 2 , 2 0 , 2 1 5 , 2 0 / 2 0 6 / 2 01 D R T R 2 1 2 , 2 0 / 2 1 5 / 2 0 , 2 2 1 , 2 0 / 2 1 2 / 2 02 D R T R 2 0 0 , 2 0 / 2 0 6 / 2 0 / 2 1 2 / 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 02 D R T R 2 1 2 , 2 0 / 2 1 5 / 2 0 / 2 0 6 / 2 0 / 1 9 7 / 2 0 / 2 0 0 / 2 02 D R T R , 2 0 6 / 2 0 / 1 9 7 / 2 0 / 2 0 0 / 2 0 / 2 1 2 / 2 02 D R T R 2 0 6 , 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 0 / 2 1 5 / 2 03 D R T R 2 0 0 / 2 0 / 1 9 7 / 2 0 / 2 0 0 / 2 0 / 0 / 2 0 / 0 / 2 03 D R T R 0 , 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 03 D R T R 2 0 0 , 2 0 / 2 0 6 / 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 03 D R T R 2 0 0 , 2 0 , 2 0 6 / 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 03 8 D R T R 2 0 0 , 2 0 / 2 0 6 / 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 04 D R T R 2 0 0 / 2 0 / 2 0 6 / 2 0 / 2 0 0 / 2 0 / 2 0 6 / 2 0 / 2 0 0 / 2 05 D R T R 2 0 0 , 1 0 0 0 / 12 0 0 I F H = 1 T H E N 9 0 04 0 P 0 K E 3 6 8 7 8 / 1 55 0 P 0 K E 3 6 8 7 5 / H6 0 F O R T « 1 T O U N E X T7 0 0 P O K E 3 6 8 7 8 / 08 0 0 O O T O 1 09 0 E N

1 8

Page 198: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 198/226

P r o g r a m 3 1 S o n gr r o g r a m o r o o n gT h i s p r o g r a m p r o d u c e s a n i n n o c e n t q u i z g a m e w i t h b a n g . Y o

c a e x t e n d t h p r o g r a m t i n c l u d e o t h e r s o n g s .1 P R I N T - P R I N T1 P R I N T : P R I N T " D O V O K N O W T H E T U N E ' B E L I E V E M I

F I L L C H R R M S T H O S E E N D E R R I N O V O U N O2 0 I N P U T X *3 P R I N T 1 1 ! C R P L f l V I T " ;4 P R I N T ; P R I N T " V O U C R P L f l V I T O

U S I N G T H E N U M B E R S T 8 4 5 F O R I « 1 T O 5 0 0 0 : N E X T I6 0 P R I N T C H R * < 1 4 7 >

1 0 P R I N T " T H I S I H O I G O E S "1 1 P R I N T : p R I N T " T H E . N U M B E R S R R E P L R V E D I T H I S O R D E R : "1 1 F O R I « 1 T O 1 5 8 0 * - N E X T I1 2 P R I N T " 1 1 8 8 2 0 8 2 * 3 6 3 7 5 : V = 3 6 8 7 82 1 0 P O K E V / 1 22 1 5 R E R D P2 2 0 I F P « - 1 T H E N 2 9 82 3 0 R E R D D2 4 0 P 0 K E S 2 , P2 5 0 F O R N a l T O D ^ N E X T N2 6 0 P 0 K E S 2 / 82 7 0 F O R N « 1 T O 2 0 ! N E X T N2 8 0 G 0 T 0 2 1 52 9 P Q K E V / 03 0 D R T R 2 0 7 / 2 0 0 , 2 0 1 > 2 0 0 / 1 9 5 / 6 0 8 / 2 0 1 , 2 8 8 / 1 9 5 / 4 0 03 1 D R T R 1 9 5 / 4 0 8 / 2 8 7 / 4 8 8 / 2 1 5 / 4 8 8 / 2 8 9 / 4 8 8 / 2 1 9 / 4 8 83 2 8 D R T R 2 2 5 / 4 8 8 / 2 2 5 / 6 8 8 / - 13 3 P R I N T : P R I N T : P R I N T " O K — V O U T R I T S T R R T O N N U M B E R 3 4 0 P O K E V , 84 0 P 0 K E S 2 . . Q4 1 F O R V » 1 T O 84 2 8 R E R D R < V >4 3 8 N E X T V4 4 D R T R 1 9 5 / 2 8 1 / 2 8 7 / 2 8 9 / 2 1 5 / 2 1 9 / 2 2 3 / 2 2 54 5 G E T f l $ : l F R $ * = " " T H E N 4 5 84 6 V » V R L < f l $ >4 7 I F V « 8 T H E N 6 8 84 8 8 P 0 K E S 2 / 84 9 8 F O R T « 1 T O 2 5 - N E X T T5 8 P 0 K E S 2 / f l < V )5 1 0 G O T O 4 5 05 2 P O K E S 2 / 06 0 S 4 « 3 6 8 7 7 : P R I N T C H R $ < 1 4 7 )6 1 0 P 0 K E S 4 / 2 2 86 2 F O R C * 1 T O 46 3 F O R L » 1 5 - < C * 2 > T O 8 - < C # 2 ) S T E P - 0 . 56 4 P O K E V / L6 5 0 F 0 R X * 9 T 0 2 5 5 S T E P 4 56 G i d P 0 K E 3 6 8 7 9 / X : N E X T X6 ? N E X T L ^ N E X T C6 8 P Q K E V / 06 8 5 P O K E S 4 / 06 9 P 0 K E 3 6 8 7 9 / 2 7

1 9

Page 199: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 199/226

6 9 5 F Q R I « 1 T O 2 0 0 0 - N E X T I7 0 P R I N T O U T Y O U ! ! ! ! ! "7 1 R U

P r o g r a m 3 2 C h r o m a t i cT h i s p r o g r a m p r o d u c e s c h r o m a t i c s c a l e .

1 5 1 * 3 6 8 7 4 > S 2 * S 1 + 1 : S 3 « S 2 + 1 : V « S l + 41 0 B I M M 3 6 . 1 ) ^ F t ) R I = 0 T O 3 5 : R E R D N < 1 . 0 ) . N 1 . N E X T2 0 0 F O R I « 0 T O 3 6 : P O K E V . 1 5 : F Q R J » 0 T O 2 0 0 • P Q K E S 1 . N < I . 0 ) '

P O K E S 1 N 1 , : N E X T J P O K E V . 0 : N E X T I9 0 0 0 D R T R 1 3 1 , 1 3 1 , 1 4 0 . 1 4 5 . 1 4 5 . 1 5 1 . 1 5 1 , 1 5 4 . 1 5 6 . 1 6 1 . 1 6 2 .

1 6 6 . 1 6 7 . 1 7 3 . 1 7 4 . 1 7 8 . 1 7 8 . 1 8 1 , 1 8 29 0 1 0 D R T R 1 8 5 . 1 8 6 . 1 8 9 . 1 9 0 . 1 9 2 . 1 9 5 . 1 9 7 . 1 9 7 , 2 0 0 . 2 0 0 . 2 0 3 .2 0 3 . 2 0 6 . 2 0 7 . 2 0 8 . 2 0 9 . 2 1 1 . 2 1 2 . 2 1 4 . 2 1 49 0 2 0 D R T R 2 1 6 . 2 1 6 . 2 1 8 . 2 1 9 . 2 2 0 . 2 2 1 . 2 2 2 . 2 2 3 . 2 2 4 . 2 2 4 . 2 2 6 .

2 2 6 . 2 2 7 . 2 2 8 . 2 2 9 . 2 2 9 . 2 3 1 . 2 3 1 ' 2 3 2 . 2 3 29 0 3 0 D R T R 2 3 3 . 2 3 3 . 2 3 4 . 2 3 5 . 2 3 5 . 2 3 6 . 2 3 7 . 2 3 8 . 2 3 9 . 2 3 9 . 2 3 9 .

2 4 0 . 2 4 0 . 2 4 1P r o g r a m 3 3 D o

T h i s p r o g r a m , w h i c h r e q u i r e s t h e S u p e r E x p a n d e r , p r o d u c e sa a n i m a t e d d i s p l a y .

1 O R R P H I C 2 J C O L O R R . B . C . 01 X = 1 0 0 0 : V = 1 0 0 01 F O R I = 1 T O 1 0 02 P O I N T C . X . V2 5 F O R D » 1 T O 5 0 : N E X T3 P O I N T 0 . X . V4 X » X - 5 : V * V - 53 0 N E X T I5 C O L O R R . B . C . 05 f l « f l + l : B « B + l : O C + l5 I F R * 1 5 T H E N : G O T O 6 05 5 G 0 T 0 1 56 G R R P H I C 02 0 G R R P H I C 2 ' - C O L O R 0 . 0 . 3 . 02 1 R » 0 : B « 02 2 0 C H R R R . B . " H E R E n2 2 F O R D = 1 T O 2 0 ' N E X T D2 3 0 C H R R R . B . "2 4 f l = R + l : B = B + l2 4 I F R = 1 5 R N D B * 1 5 T H E N 2 1 02 5 0 G O T O 2 2 0

P r o g r a m 3 4 : C r i t t e rT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , p r o d u c e s

c i r c l e t h a t b o t h m o v e s a n e x p a n d s .1 G R R P H I C 2 : C O L O R 0 . 0 . 3 . 02 0 X = 2 0 : V = 2 0 : R X = 1 0 : R Y = 1 02 F O R I * 1 T O 5 0 03 C I R C L E 3 . X . V . R X , R V

1 9

Page 200: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 200/226

Page 201: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 201/226

1 0 4 0 I F R < 1 O R R > 2 5 5 O R R O I N T < R ) T H E N 1 0 3 01 0 4 5 G O S U E 5 0 0 01 0 5 0 P R I N T : P R I N T : P R I N T T R B < 2 > ; " E N T E R N U M B E R O F

I T E M S "1 0 6 0 P R I N T : P R I N T T R B C 2 ) ; M M R X e I N T < 1 0 0 0 0 / f l > - l "1 0 7 0 I N P U T B1 0 8 0 I F B < 1 O R B > I N T < 1 0 0 0 0 / f l ) - 1 0 R B O I N T < B > T H E N 1 0 7 01 0 9 0 D I M f i $ < B + l )1 1 0 0 S » 1 1 1 0 P R I N T 1 1 ! ! 1 11 1 2 0 I F 8 > » B T H E N 6 0 0 01 1 3 0 P R I N T " E N T E R I T E M F O S L O T " ; S + 1 ; " E N T E R ' @ @ @ ' T

E N D "1 1 4 0 S = S + 11 1 4 5 I F S > B T H E N 6 0 0 01 1 5 0 I N P U T R $ < S >1 1 5 5 I F « < S > " " " T H E N 1 1 5 01 1 6 0 I F f l $ < S ) « " @ @ @ " T H E N 1 2 0 01 1 7 0 P R I N T " P R E V I O U S E N T R Y ' S , R $ < S >1 1 7 5 I F 3 > B T H E N 1 1 9 01 1 3 0 G O T O 1 1 3 01 1 9 0 P R I N T 1 1 : ] "1 1 9 5 P R I N T : P R I N T : P R I N T : P R I N T " R L L S L 0 T 3 F U L L . . . W R I T

W H I L E S O R T I N G "1 2 0 0 I F f l $ < S ) » " e @ ( ! " T H E N G Q S U B 5 0 01 2 1 0 F O R I « 1 T O S : F O R J « 1 T O S1 2 2 0 B * » R * ( J )1 2 3 0 I F f l $ < J + l » f l $ < J ) T H E N 1 2 5 01 2 4 0 G O T O 1 2 7 01 2 6 0 f l $ ( J + l ) = E $1 2 7 0 N E X T J ' N E X T I1 2 9 0 G O T O 1 01 5 0 0 P R I N T ' M "1 5 5 0 G O T O 1 1 1 02 0 0 0 P R I N T " ^ 1 12 0 1 0 P R I N T : P R I N T " E N T E R N R M E O O T H E R S E R R C H2 0 2 0 I N P U T D $2 0 3 0 I F L E N < D $ » R T H E N P R I N T : P R I N T : P R I N T T R B < 2 ) ; " L E N G T H

T O U R f c H T "2 0 4 0 I F L E N ( D S ? > R T H E N 2 0 2 02 0 5 0 F 0 R I a S T 0 1 S T E P - l2 0 7 0 I F f l * C I ) = D * T H E N P R I N T " S L O T # " ; I , , R $ < I )2 ^ 9 0 N E X T2 1 0 0 P R I N T T R B < 2 ) " P R E S S " , , " ' f i ' T R L T E R " , " ' 9

T O P R I N T " , " ' D T D E L E T E "2 1 1 0 I N P U T C *2 1 2 0 I F C $ O " P " R N D C $ O " " f l N D C $ O " f l " f l N D C $ O " D " T H E N 2 1 1 02 1 3 0 I F C $ = " " T H E N 1 02 3 0 0 P R I N T "2 3 1 0 P R I N T : P R I N T " E N T E R S L O T # "2 3 2 0 P R I N T "2 3 2 5 I N P U T N2 3 3 0 I F C $ * " P " T H E N 2 4 5 02 3 3 5 I F C $ = " D " T H E N 2 4 0 02 3 4 0 P R I N T H E N T E R N E W D R T R F O R S L O T * " ; N2 3 5 0 I N P U T f l $ ( N )2 3 6 0 G O T O 1 2 0 02 3 9 9 S T O P

1 9

Page 202: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 202/226

2 4 0 02 4 1 0 S * S - i2 4 2 0 G O T O 1 2 0 02 4 3 0 G O T O 1 02 4 3 5 O P E N 1 , 5 , 02 4 9 0 G O T O 1 02 5 0 0 P R I N T " : T2 5 1 0 P R I N T T R B < 3 > ; " E N T E R N f l M E O F I L E "2 5 2 0 I N P U T N *2 5 3 0 P R I N T : P R I N T : P R I N T N *2 5 4 0 P R I N T " W I L L N O B S f l V E D "2 5 5 0 P R I N T ' T R E S S R E T U R N W H E N T f l P E I R E R D V "2 5 6 0 I N P U T C $2 5 7 0 S R V E N *2 5 8 0 G O T O 1 03 0 0 0 P R I N T " ^ 1 13 0 1 0 F 0 R J a S T 0 1 S T E P - 1 6 / X3 0 2 0 F O R I « J T O < J - 1 6 / ' X > + 1 S T E P - 13 0 2 5 I F I « 0 T H E N 3 2 0 03 0 3 0 P R I N T R * < I )3 0 4 0 N E X T I3 0 5 0 P R I N T T R B < 2 > " P R E S S R E T U R N T O C O N T I N U E "3 0 6 0 I N P U T C *3 0 7 0 P R I N T 1 1 : ! "3 1 0 0 N E X T J3 1 2 0 G O T O 1 03 2 0 0 I » J - 13 2 1 0 J » 3 2 2 0 G O T O 3 0 5 03 5 0 0 0 P E N 1 . 43 5 1 0 F O R I « S - 1 T Q 1 S T E P - 13 5 1 5 P R I N T # l . f l $ < I )3 5 2 0 N E X T I3 5 2 5 P R I N T # l : C L O S E l3 5 3 0 G O T O 1 04 0 0 0 P R I N T 1 1 : ! 14 0 1 0 P R I N T : P R I N T " N U M B E R P F E M P T V S L O T S « " ; B - S4 0 2 0 P R I N T " P R E S S R E T U R N T O C O N T I N U E "4 0 3 0 I N P U T C *4 0 4 0 G O T O 1 05 0 0 0 X « R / 2 25 0 1 0 I F I N T < X * 2 2 ) O R T H E N X * I N T < X ) + 15 0 2 0 R E T U R N6 0 0 0 P R I N T " n "6 0 1 0 P R I N T : P R I N T - P R I N T P R I N T " R L L S L O T S F U L L "6 0 2 0 F O R I » 1 T O 5 0 : N E X T I6 0 3 0 G O T O 1 0

P r o g r a m 3 7 J u p i t e r R e n d e z v o u sT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , c r e a t e s

c h a l l e n g i n g s p a c e c r a f t g a m e ,P R I N T 1 1 : ? 1

6 P R I N T : P R I N T ' P R I N T : P R I N T S1 P R I N T T R B < 2 > " J U P I T E R R E N D E V O U S "1 F O R D « 1 T O 2 0 0 0 ' N E X T D1 G O T O 2 0 0 0

1 9

Page 203: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 203/226

1 C O L O R 1 , 3 , 6 , 01 P R I N T 1 1 : ] "2 P R I N T " U O U L D V O U L I K E I N S T R U C T I O N S ? "2 I N P U T f l $ : I F R * = " V E S " T H E N G O 8 U B 1 0 0 02 I N P U T " N f l M E P L E R S E " ; N $3 P R I N T " T J P R I N T " G O O D L U C K ! ! 3 F O R D = 1 T Q 2 0 0 0 : N E X T D4 P R I N T :4 T I $ » " 0 0 0 0 0 0 " : H - 5 0 0 : V » 5 0 : F * 1 2 05 0 I F B « 0 T H E N 6 55 5 P R I N T T I * ; T f l B < 4 > ; H ; T f l B < 1 2 > ;5 P R I N T V ; T f l B < 4 ) ; F ; T f l B < 1 2 > ;5 P R I N T ' T S T R B C H / ^ + i e ) ; " * * "6 O O T O 7 06 P R I N T T f l B < 4 ) " T I M E " ; T f l B C 1 2 ) " H E I G H T "6 5 P R I N T T I * ; T f l B < 4 > ; H ; T R B < 1 2 > ;6 P R I N T T f l B < 4 ) " S P E E D "6 p r i n t v ; t r b < 4 > ; f ; T f l B C 1 2 ) ;6 8 P R I N T " I " T R B < H / 4 + 1 8 ) ; " # # "7 I N P U T B7 5 I F B < 0 O R B > 3 9 T H E N 1 5 08 0 I F B > 3 0 T H E N 1 5 08 I F B > F T H E N 9 59 G O T O 1 0 09 5 B * F

1 0 V l * V - B + 51 0 F « F - B1 1 H « H - . 5 * < V + V 1 )1 1 I F H O 0 T H E N 1 6 01 2 V « V 11 3 I F F > 0 T H E N 5 01 3 I F B » 0 T H E N 1 4 51 4 P R I N T " I 1 O U O F U E L J J U "1 4 P R I N T T I / 6 0 ; T R B C 4 ) ; H ; T R B < 1 2 ) ;1 4 P R I N T V ; T R B < 4 ) ; F ; T R B < 1 2 ) ;1 4 P R I N T " ■ ■ ; T R B ( H ^ 4 + 1 8 ) ; " * * # "1 5 B * 1 5 F O R D = 1 T O 3 0 0 0 : N E X T D1 6 P R I N T " # * W E L C O M E T O J U P I T E R * * "1 6 F O R D = 1 T O 3 0 0 0 : N E X T D1 7 H * H + . 5 * < V + V 1 )1 7 I F B = 5 T H E N 1 9 01 8 D * < - V + S Q R < V * V + H * a 0 - 2 * B > > V < 5 - B )1 8 G 0 T D 1 9 51 9 D = H / V1 9 V l = V + ( 5 - B ) * D2 0 P R I N T " J U P I T E R R T " ; T + D ; " S E C O N D S "2 0 P R I N T " L R N D I N G S P E E D - 1 1 ; V I " F V S E C "2 1 P R I N T F ; " U N I T S O F U E L L E F T "2 1 2 F O R D = 1 T O 3 0 0 0 : N E X T D2 1 I F V 1 O 0 T H E N 2 5 0 02 2 0 P R I N T " G O O D S H O W . . . . "2 2 5 P R I N T " H R V E V O T H O U G H T H O W V O U W I L L G E T B R C K ? "2 2 F O R D = 1 T O 3 0 0 0 : N E X T D2 3 I F R B S C V 1 X 5 T H E N 2 4 52 3 5 P R I N T " J U P I T E R P I L O T " ; N $ ; " H R N R S T V R C C I D E N T T O D R V "2 3 6 P R I N T " W H I L E F R I L I N G T O L R N D S R F E L V O N J U P I T E R "2 4 P R I N T " H E I S U R V I V E D B

1 9

Page 204: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 204/226

2 4 P R I N T " W O U L D V O L I K E f l N O T H E R M I S S I O N ? "2 3 I N P U T f l 2 5 5 I F R S » " V E S " T H E N P R I N T " G L U T T O N F O P U N I S H M E N T , R R E N ' T

V O U ? "2 3 6 F O R D » 1 T O 3 5 0 0 : N E X T D2 5 I F f l * » " V E S " G O T O 3 0£ 6 P R I N T :2 6 5 P R I N T " S E E V O U "2 7 P R I N T :£ 7 E N

1 0 0 0 P R I N T " V O H f l V E R P P R O H C H E D T H E P L R N E T J U P I T E RR N R R E R E R D V T O L R N D "

1 0 0 1 F O R D « 1 T O 2 0 0 0 : N E X T D1 0 0 2 P R I N T : P R I N T : P R I N T " U N F O R T U N R T E L V V O U R

C O M P U T E R I O N L V P R R T I R L L V F U C T I O N R L 1 11 0 0 3 P R I N T " D O V O U U N D E R S T R N D ? "1 0 0 4 I N P U T R $ : I F f l $ » " N O " T H E N G O S U B 1 5 0 01 0 0 5 P R I N T " ! ! 1 11 0 0 6 P R I N T " T H E C O M P U T E R C R N G I V E V O R E R D I N G S

O R R T E O F D E S C E N T , F U E L " 1 0 0 7 P R I N T " R E M A I N I N G R N D O T H E R M E S S R G E S "1 0 0 8 F O R D » 1 T O 3 0 0 0 ' N E X T D1 0 0 9 P R I N T 1 1 ! ! 1 11 0 1 0 P R I N T " T H I S M E R N S V O U M U S T

L f l N D T H C R R F T . . . . V 0 U R 3 E L F "1 0 1 1 P R I N T : P R I N T : P R I N T " R F T E R E R C H S E C O N D O

F L I G H T V O U W I L L B E T O L D V O U R H E I G H T , " ;1 0 1 2 P R I N T " V O U R S P E E D R N D F U E L "1 0 1 3 F O R D » 1 T O 2 0 0 0 : N E X T D1 0 1 4 P R I N T " R W I L L R P P E R R . "1 0 1 5 F O R D » 1 T O 4 0 0 0 : N E X T D1 0 1 6 P R I N T S "1 0 1 7 P R I N T : P R I N T : P R I N T " V O U M U S T E N T E R I T H E N U M B E R O

U N I T S O F F U E L " ;1 0 1 8 P R I N T " V O U W I S H T O B U R N "1 0 1 9 F O R D = 1 T O 2 5 9 0 N E X T D1 0 2 0 P R I N T " S H O U L D V O C R R S H T H E R P P R O P R I R T E

O B I T U R R V W I L L R P P E R R "1 0 2 5 R E T U R N1 5 0 0 P R I N T 1 1 : ! 1 11 5 0 2 P R I N T : P R I N T : P R I N T " T H R T M E f l N S :

T H C O M P U T E R W O R K S B U O N L V J U S T ! ! ! ■ ■1 5 0 3 F O R D « 1 T O 3 0 0 0 ' N E X T D1 5 8 5 R E T U R N2 0 0 0 G R R P H I C 3 : C O L O R 0 , 0 , 5 , 22 0 0 5 C I R C L E S , 5 0 0 , 5 9 0 , 2 0 0 . 3 0 92 0 0 7 C I R C L E 2 , 5 7 5 , 5 7 5 , 2 Q , 1 82 0 1 0 P R I N T 2 , 5 0 0 , 5 8 02 0 3 0 C H R R 2 , 5 , " J U P I T E R "2 0 3 5 C H R R 1 9 , 4 , " R E N D E V 0 U S "2 0 4 0 F O R D * 1 T O 3 0 8 8 : N E X T D2 0 4 5 G R R P H I C 42 8 5 0 G 0 T 0 1 72 5 9 0 G R R P H I C 3 : C 0 L 0 R 6 , 5 , 1 , 72 5 0 5 C I R C L E 1 , 5 0 0 , 1 0 2 3 , 5 0 0 , 5 92 5 1 0 D R R W 1 , 4 5 0 , 9 7 3 T 0 5 9 2 , 9 3 0 T O 6 8 3 , 9 4 82 5 2 0 D R R W 1 , 6 0 3 , 9 4 0 T O 6 4 1 , 3 3 0 T O 6 8 2 , 9 6 0 T O 7 0 2 , 9 7 32 5 3 0 C H R R 4 , 2 , " C f H

1 9

Page 205: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 205/226

2 5 4 0 P 0 I N T 7 , 4 2 0 , 9 2 0 . 4 0 5 , 9 0 2 , 5 9 0 , 9 5 52 5 5 0 C I R C L E ? , 7 0 0 , 7 0 0 , 5 , 52 5 6 0 F O R D * 1 T O 5 0 9 0 : N E X T D2 5 7 0 G R R P H I C 4 : C O L O R 1 , 3 , 6 , 0 : G O T O 2 3 0

P r o g r a m 3 8 L i n e sT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , c r e a t e sp a t t e r n o p e r s p e c t i v e l i n e s .

1 O R R P H I C 2 : C O L O R 0 , 0 , 1 , 51 R E f i D K2 I F K < 0 T H E N 1 5 03 F O R X « 0 T O 1 0 0 04 0 I F X # K > 2 0 0 T H E N 1 0 05 P O I N T S , X , X # K6 N E X T X1 0 G O T O 1 51 5 G O T O 1 5 01 6 D R T f l . 0 1 , . 1 , . 2 , . 5 , . 8 , 1 , 5 , 1 0 , 3 0 , - 1

P r o g r a m 3 9 : E l l i p s eT h i s p r o g r a m , w h i c h r e q u i r e s t h S u p e r E x p a n d e r , p r o v i d e s

s l o w m e t h o d o d r a w i n g c o l o r e d e l l i p s e s .1 R « 5 01 2 f l « l : C * 01 G R R P H I C 3 : C O L O R 0 , 0 , 3 , 72 F O R X « - R T O R S T E P . l3 V » S Q R ( R # R - X # X )4 P O I N T S , 5 0 0 + 7 # X , 5 0 0 + 3 # V5 P O I N T 3 , 5 0 0 + 7 # X , 5 0 0 - 3 * Y6 N E X T6 5 C = C + 17 R * R - 37 5 I F C = 2 0 G O T O 9 08 0 G 0 T 0 1 59 E N P r o g r a m 4 0 S p i r a l

1 G R R P H I C 3 ^ C O L O R 0 , 0 , 4 , 02 F O R R » 0 T O 1 0 0 S T E P . 23 R « 4 P 0 I N T 3 , 5 9 0 + 5 * R * C O S < f l ) , 5 0 0 + l * R # S I N < f l )5 N E X T f l

P r o g r a m 4 1 R a n d o mT h i s p r o g r a m s h o w s y o w h a t h a p p e n s w h e n y o l e t h c o

p u t e r c h o o s e w h a t t o w r i t e .P R I N T ' T T 1

1 D I M R $ < 2 0 )1 D i r t B * C 2 0 )

1 9

Page 206: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 206/226

2 0 D I M C $ < 2 0 >2 5 D I M D * < 2 0 )3 0 O O S U 8 5 0 13 F O R D = 1 T O 1 0 0 0 : N E X T D4 P R I N T f l $ < 1 > + f l $ < 3 ) + R $ < 1 0 H f l $ < 1 > + R $ < 4 >4 O 7 J » I N T < R N D < 1 ) * 2 0 ) + 18 0 Z * » R * < J )9 P R I N T Z S J

1 0 P R I N T1 0 O C + 11 1 F O R D = 1 T O 2 0 0 0 ' N E X T D1 2 I F O = 2 5 T H E N E N D1 3 Z $ « R $ C J ) : P R I N T Z $ ;1 3 J » I N T < R N D < 1 ) # 2 0 ) + 11 3 Z $ « B $ < J > : P R I N T Z $ ;1 3 J = I N T ( R N D < 1 ) * 2 0 ) + 11 3 Z $ = C $ < J > : P R I N T Z $ ;1 3 J « I N T < R N D < 1 ) # 2 0 ) + 11 3 Z $ = D $ < J ) J P R I N T Z $ ;1 4 G O T O 7 04 9 9 E N D5 0 f l $ < l ) * " T H E5 0 f l $ < 2 ) * n R N V5 0 f l $ < 3 > « " S 0 M E5 0 R $ < 4 ) a l f M f l N V5 0 f l * < 5 ) « H N 05 0 f l $ < 6 > * " R5 0 7 B $ < 1 ) * " C R T5 0 8 B $ < 2 > = " D 0 G5 0 9 B $ < 3 > a " E L E P H R N T5 1 0 B * < 4 ) » " R R I N5 1 B $ < 5 ) « " H O U S E5 1 2 B * < 6 ) a " P I R N O5 1 C $ C 1 > » " M E O W S5 1 4 C $ < 2 > » " B R R K S5 1 5 C $ < 3 > » " R U N 85 1 6 C * ( 4 ) = n G R O W L S5 1 C * < 5 > « " B I T E S5 1 8 C $ < 6 ) a " S C R R T C H E S5 1 9 C $ < ? ) « M E R T S5 2 D $ < 1 > * " F R O M5 2 D $ < 2 ) « M T 05 2 D $ < 3 ) » > l R R 0 U N D5 2 0 $ < 4 > » " U N D E R5 2 D f < 5 > « " f l T5 2 D t ( 6 ) « u6 0 R E T U R N

P r o g r a m 4 2 W o r dT h i s p r o g r a m p r o d u c e s p a r t y g a m e .

1 P R 1 N T " E R C H T I M E V O S E T H Q U E S T I O N M R R K "2 P R I N T » T V P E I T H E P R R T O S P E E C H R S K E D F O R "3 F O R D = 1 T O 1 5 0 04 P R I N T 1 1 : ? 15 0 D I M R * < 2 0 )6 I N P U T l f f l N O U N " ; f l $ < l )

1 9

Page 207: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 207/226

7 0 I N P U T " V E R B I N F I N I T I V E " ; f l $ < 2 )8 I N P U T " R D V E R B " ; f l $ < 3 > '9 I N P U T " L I V I N G T H I N G < M R L E ) " ; f l $ < 4 >

1 0 I N P U T " R N E J < C L f l M f l T I 0 N l l ; f l $ < 5 )1 1 0 I N P U T " R D J E C T I V E " ; f l * < 6 >1 2 I N P U T ' T L U R R L N 0 U N " ; R * < 7 >1 3 P R I N T " F R M O U S C H f l I N S T O R E "1 3 I N P U T f l $ < 8 )1 4 I N P U T " R D V E R B " ; f l $ < 9 >1 5 I N P U T " P f l R T O F B O D Y " ; R $ < 1 0 >1 6 P R I N T " P f l R T O B O D V . . . f l G f l I N ! "1 6 I N P U T R $ < 1 1 )1 7 P R I N T " V E R B . 3 R D P E R S O N I M P E R F E C T T E N S E "1 7 I N P U T R $ < 1 2 >1 8 I N P U T " f l D V E R B O T I M E " ; f l $ < 1 3 >1 9 I N P U T " P L U R f l L N 0 U N " ; f l $ < 1 4 >2 0 I N P U T " V E R B " ; f l $ < 1 5 )2 1 0 P R I N T " V E R B . I M P E R F E C T T E N S E "2 1 I N P U T f l $ < 1 6 >2 2 I N P U T " V E R B I M P E R F E C T T E N S E " ; f l * < 1 7 )2 3 I N P U T " P L f l C E - N 0 U N " ; R $ < 1 8 )2 4 0 I N P U T " V E R B . I M P E R F E C T T E N S E " ; f l $ < 1 9 >2 5 F O R D * 1 T O 2 0 0 0 : N E X T D2 6 P R I N T 1 1 : ] "2 7 0 P R I N T " O N C E U P O N f T I M E T H E R E W H f l • ' ;2 3 0 P R I N T R $ < 1 ) ; " W H O U S E D T O L I K E T " 2 9 P R I N T f l $ < 2 > ; " . O N D R V / T H " 3 0 P R I N T f l $ < l > ; " W f l S D O I N G T H I S W H E N " 3 1 0 P R I N T R $ < 3 ) ; " " ; f l $ < 4 ) ;3 2 P R I N T " S T R O L L E D B 3 3 F O R D * 1 T O 1 0 0 0 03 4 P R I N T f l $ ( 5 ) ; " ! H R V E N E V E R S E E N S U C H3 5 P R I N T f l | : < 6 ) ; " R $ ( 7 ) ; " B E F O R E . W H E R E D I D "3 6 0 P R I N T " V O U G E T T H E M ? "3 7 0 F O R D = 1 T O 9 0 0 0 : N E X T D3 8 P R I N T " 3 "3 9 P R I N T " T H E V W E R E O S R L E R " ; f l $ C 8 > ;4 0 P R I N T " W R S T H E R E P L V . " T H E V W E R E4 1 P R I N T f l * < 9 > ; " C H E R P4 2 0 P R I N T " T H E f l $ < 4 ) ; M / S " ; f l $ < 1 0 > ;4 3 0 P R I N T " B R I G H T E N E D . H I " R $ < 1 1 ) ;4 4 P R I N T " W I D E N E D R N D H E " ; R $ ( 1 3 > ;4 5 F O R D « 1 T O 9 0 0 0 : N E X T D4 6 0 P R I N T " R T R U L V R M R Z E D , S R I D T H " ; R $ < 4 > ;4 7 P R I N T " M U S T G O R N D G E T S O M E " 4 8 P R I N T f l $ < 1 4 > ; " T H E V W I L L H E L P M 4 9 P R I N T f l $ < 1 5 ) ; " " R $ < : i 6 > ;5 0 0 P R I N T " W I L L C O M E W I T H Y O U R N D S E E I 5 1 P R I N T " T H E Y F I T . S R I D T H E " R t < l > ;5 2 F O D « 1 T Q 9 0 0 0 : N E X T D5 3 P R I N T " . ! "5 4 P R I N T " R S T H E Y " ; R * < 1 7 > ;5 5 P R I N T " I N T O T H " f l $ < 1 8 ) ;5 6 F O R D = 1 T O 2 0 0 0 ' - N E X T D5 7 P R I N T ' P R I N T : P R I N T " T H E Y5 8 P R I N T : P R I N T : P R I N T f l $ < 1 9 > ; " ! "5 9 F O R D = 1 T O 2 0 0 0 : N E X T D6 0 P R I N T - P R I N T - P R I N T - P R I N T " T H E E N D ! "

1 9

Page 208: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 208/226

P r o g r a m 4 3 D e m oT h i s p r o g r a m , w h i c h r e q u i r e s t h 8 e x p a n s i o n u n i t , i

m e n u - d r i v e n p r o g r a m t h a t s h o w s w h a t c o m p u t e r c a d o , i n c l u d i n gt e a c h i n g , c a l c u l a t i n g , a n s o r t i n g .

D I M f l * < 3 0 >P N " T 1 P R I N T - P R I N T ' T H I S I f D E M O H S T R f l T - I O N O T H K I N D S O F T H I N G S f C O M P U T E R C R D O

1 F O R D = 1 T O 4 5 0 0 - N E X T2 P R I N T 1 1 : ] "2 P R I N T ? P R I N T : P R I N T T f l B < 5 > " C H O O S E F R O M T H

F O L L O W I N G - - "3 P R I N T ' - P R I N T 1 1 l . C R L C U L R T E . 2 . T E R C H 1 13 P R I N T ' . P R I N T " 3 . K E E P F I L E S . 4 S O R T "4 0 P R I N T ' P R I N T ' T L E R S E P R E S S T H E R P P R O P R I R T E

N U M B E R "4 I N P U T f l

3 0 0 0 , 3 0 0 01 0 0 0 P R I N T C H R $ < 1 4 7 )1 0 1 0 P R I N T " C R L C U L R T I O N R O U T I N E "1 0 1 5 P R I N T : P R I N T " R L R D V O P E N S R R C C O U N T R N D

D E P O S I T S * O T H F I R S T B R V "1 0 2 0 F O R D » 1 T O 4 0 0 0 : N E X T1 0 2 5 P R I N T : P R I N T T R B < 2 ) " E R C H D R V T H E R E R F T E R S H

D E P O S I T S D O U B L E "1 0 3 0 P R I N T T R B < 2 r ' T H E R M O U N T O T H E P R E V I O U S D R V "1 0 3 5 F O R D « 1 T O 4 5 0 0 : N E X T1 0 4 0 P R I N T : P R I N T " V O U S T R T E H O M R N V D R V S S H E D O E S

T H I S "1 0 4 5 P R I N T " R N W I L L T E L L V O T H T O T R L R M O U N T R

T H E N D O F T H E P E R I O D "1 0 5 0 I N P U T B1 0 5 5 T « 1 0 6 0 F O R N » 1 T O B1 0 6 5 S * 2 t N1 0 7 0 T » T + S1 0 7 5 N E X T N1 0 7 7 P R I N T C H R $ < 1 4 7 >1 0 8 0 P R I N T T R B < 3 > " R F T E R " ; B + U " D R V S T H E T O T R L R M O U N T I

T H E R C C O U N T I S : - * " ; C H R $ < 1 5 6 ) T1 0 3 5 F O R D « 1 T O 5 0 0 0 * N E X T1 0 8 7 P R I N T C H R $ < 3 1 >1 0 9 0 P R I N T : P R I N T " W O U L D V O L I K E T T R V T H R T R G R I N ? "1 0 9 5 I N P U T " V E S O N O " ; f l $1 1 0 0 I f l $ » " V E S " T H E N 1 0 0 01 1 0 5 I N P U T " W O U L D V O U L I K E T T R f D I F F E R E N T C f l L C U L f l T -

T I O N P R O B L E M " ; f l *1 1 0 7 I F R $ = " V E S " T H E N 1 1 5 0l t T F R $ = ^ t t N O t | 1 T H E N 2 1 1 5 © P R I N T ' T J "1 1 5 2 P R I N T » T H I S I f N E W P R O B L E M "1 1 5 5 P R I N T : P R I N T1 1 6 0 P R I N T " f l K I N G D E C I D E D T O G I V E R W R V H I S M O N E V

T E R C H O M I L L I O N S U B J E C T S "2 0

Page 209: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 209/226

1 1 7 0 F O R D » 1 T O 4 0 0 0 : N E X T1 1 7 1 F Q R D = 1 T O 3 0 0 0 : N E X T1 1 7 5 P R I N T : P R I N T T R B < 2 > " T O T H F I R S T H G f l V E $ 1 . "1 1 8 0 P R I N T " T O T H E N E X T 2 H G f l V E $ E f l C H . T O T H E N E X T

H G f l V E $ E f l C H 1 11 1 8 3 F O R D « 1 T O 8 0 0 0 J N E X T1 1 3 0 P R I N T : P R I N T " I W I L L T E L L V O U H O W M U C H T H

M I L L I O N T H S U B J E C T G O T "1 1 9 2 F O R D * 1 T O 6 0 0 0 : N E X T1 1 9 5 P R I N T ' T a "1 1 9 7 P R I N T " O T 1 1 9 8 P R I N T " I ' M W O R K I N G I O U T N O W "1 2 0 0 f l a 0 : B « l1 2 0 2 f l » f l + B1 2 6 5 I f l > « 1 0 0 0 0 0 0 T H E N 1 2 1 51 2 1 0 B » B + l : G O T O 1 2 0 21 2 1 5 P R I N T S " : P R I N T : P R I N T " T H E L f l S T S U B J E C T G O ' S 1 2 2 0 F O R D » 1 T Q 4 5 0 0 : N E X T1 2 2 5 P R I N T " B S "1 2 3 0 P R I N T C H R $ < 1 4 7 )1 2 3 5 P R I N T " N O W V O U G I V E M E f P R O B L E M "1 2 4 0 F O R D » 1 T O 1 0 0 0 : N E X T1 2 4 5 P R I N T " C H O O S E F R O M T H L I S T ' - "1 2 5 0 P R I N T " 1 . M U L T I P L Y 2 . D I V I D E "1 2 5 5 P R I N T " 3 . f i D D 4 . S U B T R f l C T "1 2 6 0 I N P U T S1 2 6 5 Q N ~ < B s l ) - 2 # < B » 2 ) - 3 * < B » 3 > - 4 * < B * 4 ) G O T O 1 3 0 0 , 1 4 0 0 .1 5 0 0 / 1 6 0 01 3 0 0 P R I N T C H R $ < 1 4 7 )1 3 0 5 P R I N T " E N T E R T W O N U M B E R S * - "1 3 0 7 P R I N T C H R $ < 1 4 > " < 0 N E f l F T E R E f l C H ? ) 1 3 1 0 I N P U T X . V1 3 1 2 P R I N T C H R $ < 1 4 7 )1 3 1 5 P R I N T C H R $ < 1 4 2 ) " i r T H f l N K V O U S "1 3 2 0 P R I N T " T H E f l N S W E R I S - 1 11 3 2 2 P R I N T X ; " X f l ; V1 3 2 5 P R I N T X * V1 3 3 0 F O R D « 1 T O 6 0 0 0 : N E X T1 3 3 5 G 0 T 0 1 2 4 51 4 0 0 P R I N T C H R * < 1 4 7 >1 4 0 5 P R I N T " E N T E R T W O N U M B E R S - - "1 4 0 7 P R I N T C H R $ < 1 4 > " < 0 N E N U M B E R f l f T I M E ) "1 4 1 0 I N P U T X . Y1 4 1 2 P R I N T C H R $ < 1 4 7 >1 4 1 5 P R I N T C H R $ < 1 4 2 ) " H T H f l N K V O U B "1 4 2 0 P R I N T " T H E f l N S W E R I S ' - "1 4 2 2 p r i n t x ; v m ; y1 4 2 5 P R I N T X / V1 4 3 0 F O R D * 1 T Q 6 0 0 0 : N E X T1 4 3 5 G 0 T 0 1 2 4 51 5 0 0 P R I N T C H R $ C 1 4 7 )1 5 0 5 P R I N T " E N T E R T W N U M B E R S ' - "1 5 0 7 P R I N T C H R $ ( 1 4 ) " < 0 N E N U M B E R f l f T I M E ) "1 5 1 0 I N P U T X . V1 5 1 2 P R I N T C H R * < 1 4 7 )1 5 1 5 P R I N T C H R $ ( 1 4 2 ) " i r T H f l N K V O U S "1 5 2 0 P R I N T " T H E f l N S W E R I S : - 1 11 5 2 2 P R I N T X ; " + " ; Y

2 0

Page 210: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 210/226

Page 211: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 211/226

2 0 3 0 P R I N T " T E R C H I N G M f l T E R I R LC R N B E P R E S E N T E D I f G R E f l T M f l N V W f l V S "

2 0 3 1 F O R D * 1 T O 9 9 9 9 : N E X T2 0 3 5 P R I N T S 1 12 0 4 0 P R I N T " 8 W M R T E R I R L C R N B E E M P H f l S I S E D "2 0 4 5 P R I N T " S I R E V E R S E S " ; " » N I N S "2 0 5 0 P R I N T " B f l " ; " f i t t f l R I E T V " ; " h J O F " ; " i C O L O U R S "2 0 5 2 F O R D » 1 T O 8 0 0 0 : N E X T2 0 5 5 P R I N T " B "2 0 6 0 P R I M - I T 12 0 6 5 P R I N T T R B < 2 5 > " I N S T R U C T I O N f l L P R O -

G R R M M E S T E R C H R T T H E "2 0 7 0 P R I N T " H S T U D E N T ' S " ; " B R R T E ™

E N S U R I N G T H R T T H E "2 0 7 5 P R I N T " S U B J E C T M R T T E R I L E R R N E D T H O R O U G H L V "2 0 3 0 P R I N T : P R T N T " R E M E D I R L I N S T R U C T I O N C R N B E P R O V I D E D

W I T H - O U T T H E S T U D E N T B E I N G R W R R E2 0 9 5 P R I N T : P R I N I " » N D I R B S O L U T E P R I V R C V "2 0 9 0 F O R D « 1 T Q 8 0 0 0 : N E X T2 0 9 5 P R I N T " B "2 1 0 0 P R I N T " R N S W E R T H E F O L L O W I N G Q U E S T I O N S : - "2 1 0 5 P R I N T " T H E C O M P U T E R F O R C E S T H E S T U D E N T S T W O R K

R f F I X E D R f l T E "2 1 1 0 P R I N T " V E S O R N O ? "2 1 2 0 I N P U T X $2 1 3 0 I F X $ = " V E 8 " T H E N 2 2 0 02 1 4 0 P R I N T " ! ! "2 1 4 5 P R I N T " V O U f l R E R I G H T "2 1 5 0 P R I N T " f l C f l R E F U L L V P R E P R R E D P R O G R R M M E W I L L R L L O W "2 1 5 5 P R I N T " f i S T U D E N T T O W O R K R T H I S O R H E R U W N R R T E "2 1 6 0 F O R D * 1 T O 7 0 0 0 : N E X T2 1 7 5 P R I N T " f l L T H O U G H I I P O S S

I B L E T I N C R E f l S E T H L E f l R N I N G R f l T E "2 1 8 0 P R I N T " 3 "2 1 3 5 P R I N T " O N L V C E R T f l I N T V P E S O C O M P U T E R C R N B U S E D

T T E f l C H — V E S O R N O ? "2 1 9 0 I N P U T V *2 1 9 5 I F V $ = " V E S " T H E N 2 3 0 02 1 9 3 I F V $ = " N O " T H E N 2 4 0 02 2 0 0 P R I N T ' S "2 2 0 5 P R I N T " W H I L E I T I S P O S S B I L E T C O N T R O L O R E V E N

I N C R E f l S E T H L E f l R N I N G "2 2 1 0 P R I N T " R f l T E , M O S T P R O G R f l M M E S f l R E D E S I G N E D T f i L L O WS E L F - P R C E D L E f l R N I N G "2 2 1 5 P R I N T " T O T f l K E P L f l C E "2 2 1 6 F O R D « 1 T O 9 9 9 9 ' N E X T2 2 2 0 G O T O 2 1 8 02 3 0 0 P R I N T ' S "2 3 0 5 P R I N T " W H I L E I T I S T R U E T H R T S O M E C O M P U T E R S H f l V E

F E f l T U R E S N O T F O U N D "2 3 1 0 P R I N T " O N O T H E R S . I G E N E R R L R N V C O M P U T E R C f l N B

U S E D "2 3 1 5 F O R D « 1 T O 9 9 9 9 : N E X T2 3 2 0 P R I N T " I F C O L O U R R N G R R P H I C D I S P L f l V f l R E E S S E N T I f l L

T T H M f l T E R I f l L T H E N "2 3 2 5 P R I N T " O B V I O U S L V f C O M P U T E R S U C H F I T H E V I C 2 0 O

f l T R R I I N E E D E D . "2 3 3 0 P R I N T " H O W E V E R , O V E R U S E O S U C H F E R T U R E S " ;

2 0

Page 212: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 212/226

2 3 3 5 P R I N T " H E R N " ; " 1 0 " ; " B F T E N " ; " S D E T R f l C T2 3 4 0 P R I N T " 3 F R Q M ' V S T H E E F F E C T R f l T H E R T H f l N

E N H R N C E I T 2 3 4 5 F O R D « 1 T Q 9 9 9 9 ' . N E X T2 3 5 0 P R I N T 1 1 : ! 1 12 3 5 5 P R I N T " T H E P R E P R R R T I O N O G O O D . E F F E C T I V E

M R T E R I R L I f L E N G T H V P R O C E S S " ;2 3 6 0 P R I N T " V E T T H M R T E R - I R L C R B U S E D O V E R R N

O V E R R O R I N . I C R N E V E N B E 2 3 6 5 P R I N T " S T O R E D O T R P E T O B E U S E D R T H O M E . "2 3 7 0 P R I N T S P R I N T " T H E O N L V C O N D I T I O N I T H R T T H E S R M ET V P E O F M R C H I N E B E U S E D . "

2 3 7 5 F Q R D = 1 T O 1 2 0 0 0 : N E X T2 3 8 0 P R I N T : P R I N T " O N C E W R I T T E N . U N I T C R B R L T E R E DT O - S U I T N E W R N D C H R N G I N G "

2 3 3 5 P R I N T " R E Q U I R E M E N T S . "2 3 9 0 F O R D * 1 T O 6 0 0 0 : N E X T2 3 9 5 P 0 K E 6 4 6 . 42 3 9 8 P R I N T - P R I N T :2 3 9 9 F O R D = 1 T O 5 Q 0 0 N E X T : P R I N T P R I N T P R I N T2 4 0 5 P 0 K E 6 4 6 . 62 4 1 0 F O R D « 1 T O 1 2 0 0 0 : N E X T2 4 1 4 P R I N T ' T T2 4 1 5 G 0 T 0 2 53 0 0 0 P R I N T S "3 0 0 1 P R I N T : P R I N T : P R I N T T R B < 5 > " 1 3 0 0 2 P R I N T : P R I N T : P R I N T T R B < 7 ) " R E C O R D "3 0 0 3 P R I N T : P R I N T : P R I N T T R B < 9 > " K E E P I N G "3 0 0 4 F 3 D R D « 1 T O 4 0 0 0 : N E X T3 0 0 5 P R I N T : P R I N T : P R I N T T R B < 5 ) " I H f l D E P R I N L E S S "3 0 0 6 P R I N T : P R I N T : P R I N T T R B < 4 > " B I 3 0 0 7 F O R D = 1 T O 4 0 0 0 : N E X T3 0 1 0 P R I N T " T3 0 1 5 P R I N T " R C O M P U T E R C R N S O R T G R E R T V R R I E T V O

I T E M S 1 13 0 2 0 P R I N T " Q U I C K L V R N D S I L E N T L V W I T H O U T

S E P I T H E T S I B "3 0 2 5 F O R D = 1 T O 6 5 0 0 : N E X T3 0 3 0 P R I N T C H R $ ( 1 4 7 ) " F 0 R E X R M P L E :3 0 3 5 P R I N T : P R I N T : P R I N T " E N T E R f F E N R M E S I

R N V O R D E R V O U W I S H "3 0 3 7 F O R D » 1 T O 2 2 0 0 : N E X T3 0 4 0 P R I N T : P R I N T " J U S T f l T H E V O C C U R T V O U , I F R C T "3 0 4 2 F O R D » 1 T O 2 3 0 0 : N E X T3 0 4 5 P R I N T : P R I N T " F I R S T T E L L M H O W M R N V N R M E S V O R R

G O I N G T O E N T E R "3 0 4 7 P R I N T " ( 1 L I M I T V O U R S E L F T 3 0 3 ) "3 0 5 0 I N P U T N3 0 5 2 P R I N T C H R $ < 1 4 7 >3 0 5 5 P R I N T " N O W T H N R M E S . P L E R S E . < P R E S S E N T E R R F T E R

E R C H N R M E I ) "3 0 6 5 F O R I a l T O N : I N P U T f l $ C I > : N E X T3 0 7 0 P R I N T T R B < 8 ) " N 0 W S O R T I N G "3 0 7 5 F O R I « 1 T O N - 13 0 3 5 B $ « f l $ < I + l )3 0 9 0

2 0

Page 213: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 213/226

3 0 9 53 1 0 © G O T O 3 0 7 53 1 0 5 N E X T I3 1 1 © F O R I = 0 T O N + 1 : P R I N T R $ < I ) : N E X T3 1 1 5 F O R D = 1 T O 7 0 0 0 ' N E X T3 1 2 © P R I N T E R S T H R T F f l S T E N 0 U G H 7 3 "3 1 2 5 F O R D « 1 T O 4 0 0 0 ^ N E X T3 1 3 0 P R I N T " W O U L D V O L I K E T T R T H R T f l G R I N ? "3 1 3 5 I H P U T X $3 1 4 0 I F X * = " Y E S " T H E N 3 0 4 53 1 4 5 P R I N T C H R $ < 1 4 7 ) " f l C O M P L E T E F I L I N G

S Y S T E M C R B E X R M I N E D "3 1 5 0 P R I N T " O N T H Z X 8 1 C O M P U T E R "3 1 5 5 F Q R D * 1 T O 2 3 0 0 - N E X T3 1 6 0 P R I N T : P R I N T " R S K T H D E M O N S T R R T O R T O S H O N V O U T H I S "3 1 6 5 F O R D = 1 T O 1 0 0 0 0 : N E X T3 1 7 0 P R I N T C H R $ < 1 4 7 )3 1 8 0 P R I N T " R N V R E C O R D K E E P I N G S Y S T E M M U S T R L L O N T H E

U S E R T O E N T E R M R T E f t l f l L " ;3 1 8 5 P R I N T 1 1 I R N Y O R D E R . "3 1 8 7 P R I N T : P R I N T3 1 9 0 P R I N T * 1 I M U S T R L S O R L L O W F O R T H E R E T R I E V R L O

M R T E R I R L " ;3 1 9 5 P R I N T " I R N Y O R D E R . "3 2 0 0 F O R D = 1 T O 8 0 0 0 : N E X T3 2 0 5 P R I N T " J U S T R W I T H F I L I N G C R B I N E T , Y O U M U S T

K N O W H O W M U C H S P R C E Y O H R V E 1 13 2 1 0 P R I N T " B U T F I N D I N G I T E M S I R E R S Y R S T Y P I N G I

T H E T I T L E "3 2 1 5 F O R D « 1 T Q 1 0 0 0 0 * N E X T3 2 2 0 R U N

P r o g r a m 4 4 N a m e S o r tP R I N T C H R $ ( 1 4 7 >

1 D I M R $ < 2 0 )2 0 I N P U T " H O W M R N Y N R M E S " ; N3 F O R I = 1 T O N4 0 I N P U T f l $ ( I V N E X T5 P R I N T T R B < 8 > n N 0 W S O R T I N G "6 0 F O R I « 1 T O N - 17 I F f l $ < I + l » a R $ < i > T H E N 1 2 08 B f l a 1 )9

1 0 1 1 G O T O 6 01 2 N E X T I1 3 F O R I * 0 T O N : P R I N T f l * < I > : N E X T IP r o g r a m 4 5 P r i n t S o r t

T h i s p r o g r a m s o r t s n a m e s a n s e n d s t h r e s u l t s t o t h p r i n t e r .P R I N T C H R $ < 1 4 7 )

1 D I I 1 f l $ < 2 0 >2 I N P U T " H O W M R N Y N R M E S ' S N3 F O R I « 1 T O N4 I N P U T f l $ ( I ) : N E X T5 P R I N T T R B < 8 V ' N 0 W S O R T I N G "6 0 F O R I * 1 T O N - 1

2 0

Page 214: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 214/226

7 I F f l $ < I + l » = : f l $ < D T H E N 1 2 08 B $ « R $ < I + 1 >9 R $ a + 1 ) B R * U )

1 0 f l $ < I > = B *1 1 O O T O 6 01 2 N E X T I1 3 F Q R I = O T Q N + 1 : P R I N T f l $ < I ) : N E X T I1 4 0 P E N 1 . 41 5 F O R I » 0 T O N + 1 • P R I N T * 1 . R $ < I ) : N E X T I1 6 C L O S E D1 7 R U P r o g r a m 4 6 T h F l i g h t o t h B u m b l e b e e .

T h i s p r o g r a m p l a y s t h i s f a m o u s m u s i c . I t i s p r i n t e d c o u r t e s y o m y o u n g e s t s o n , M i c h a e l , w h i t r u m p e t p l a y e r . I t o o k h i q u i t e a w h i l e t d t h w h o l e t h i n g , a n s m a l l l a c k o c a r e o v e rp r e s s i n g t h k e y s o t h e t a p e r e c o r d e r m e a n t t h a t g o o d l y p a r t o t h p r o g r a m w a l o s t a o n p o i n t ! T h i s c o u l d b t h s t a r t o s o m e t h i n g b i g ! k i n d o M u s i c - m i n u s - O n e i r e v e r s e . I n s t e a d o y o p l a y i n g t h s o l o , y o p l a y t h e a c c o m p a n i m e n t . B e t t e r s t i l l , w h n o t g e t a c o p y o t h m u s i c i m i n o r a n p r o g r a m a n o t h e r V I C - 2 0 ,o e v e n c o l l e c t i o n o t h e m , t p l a y t h a c c o m p a n i m e n t . Y o m i g h tf o r m t h f i r s t V I o r c h e s t r a . T h g a a t h b e g i n n i n g i n o a e r r o r . I t i s t h e s p o t w h e r e t h a c c o m p a n i m e n t p l a y s .

T h p r o g r a m r u n s a l o s l o w e r t h a n i s h o u l d ; t h a t i s t h m u s i ci l o s l o w e r . T h i s i b e c a u s e t h p r o g r a m i f a i r l y l o n g . Y o c o u l d ,o c o u r s e , p u t t h e d a t a o d i s k a n a c c e s s i i c h u n k s . I t h a t w a y o m i g h t s p e e d u t h e p r o c e s s .

T h e r e w a p o i n t w h e r e w h a u s e r - d e f i n e d i m a g e d a r t i n ga l o v e r t h s c r e e n a r a n d o m , t r y i n g t o e m u l a t e b e e , b u t h a t m a d et h m u s i c r u e v e n s l o w e r !

T h m o r a l o a l t h i s i t k e e p t h i n g s s i m p l e a n n o a t t e m p t t p r o g r a m s o m e t h i n g o t h i s n a t u r e t h a t i t o l o n g . T h a t p u t s M a h l e r ,B r u c k n e r , a n W a g n e r r i g h t o u o t h p i c t u r e .

R E M ' T L I G H T O T H B U M B L E B E E "P R I N T ' S 1 1

1 R E R D1 R E R D1 D R T R 2 3 1 , 1 , 2 2 9 , 1 , 2 2 7 , 1 , 2 2 6 , 11 D R T R 2 2 7 , 1 * 2 2 6 * 1 * 2 2 4 * 1 * 2 2 2 * 11 D R T R 2 2 4 , 1 , 2 2 2 , 1 , 2 2 9 , 1 , 2 1 8 , 11 D f l T R 2 1 6 , 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 9 . 12 D R T R 2 0 6 , 2 , 0 , 3 3 0 92 D f l T R 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 D R T R 1 9 2 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 12 D R T R 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 D R T R 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 12 D R T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 6 D R T R 1 9 2 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 8 3 . 1

2 0

Page 215: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 215/226

2 D f i T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 D f l T f i 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 12 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 13 D f l T f l 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 3 9 . 13 D f l T f l 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 13 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 3 . 13 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 13 D f l T f l 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 13 D f l T f l 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 13 D f l T f l 2 0 6 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 13 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 13 D f l T f l 2 0 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 13 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 14 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 D f l T f l 2 0 8 . 1 . 2 2 8 . 1 . 2 1 8 . 1 . 2 1 6 . 14 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 14 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 D f l T f l 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 0 6 . 14 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 14 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 14 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 15 D f l T f l 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 0 6 . 15 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 15 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 3 . 35 D f l T f l 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . - 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 5 . 15 D f l T f l 2 1 6 . 3 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 8 . 15 D f l T f l 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . . 1 . 1 8 1 . . 1 . 1 8 1 . 1 . 1 8 5 . 15 D f l T f l 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 15 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 15 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 3 . 1 . 2 2 0 . 1 . 2 1 3 . 1 . 2 1 6 . 15 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 16 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 16 D f l T f l 2 1 8 . 3 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1

. 2 0 3 . 16 D f l T f l 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 7 . 16 D f l T f l 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 3 . 16 D f l T f l 2 2 5 . 1 . 2 2 S . 1 . 2 2 6 . 1 . 2 2 5 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 16 D f l T f l 2 2 7 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 16 D f l T f l 2 2 7 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 16 D f l T f l 2 2 7 . 1 . 2 2 9 . 1 . 2 3 1 . 1 . 2 3 2 . 1 . 2 3 3 . 1 . 2 3 2 . 1 . 2 3 1 . 1 . 2 2 9 . 16 D f l T f l 2 2 7 . 1 . 2 2 9 . 1 . 2 3 1 . 1 . 2 3 2 . 1 . 2 3 3 . 1 . 2 3 2 . 1 . 2 3 1 . 1 . 2 2 9 . 16 D f l T f l 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 17 D f l T f l 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 17 D f l T f l 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 1 . 2 1 8 . 17 D f l T f l 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 9 . 17 D f l T f l 2 3 1 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 17 D f l T f l 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 17 D f l T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 8 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 1? D f l T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 8 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 17 D f l T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 17 D f l T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 17 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 18 D f l T f l 1 9 2 . 1 . 1 8 9 . 1 . 1 8 5 . 1 . 1 8 1 . 1 . 1 7 8 . 1 . 1 7 3 . 1 . 1 6 6 . 1 . 1 6 1 . 18 D f l T f l 1 5 8 . 1 . 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 1 . 1 5 8 . 1 . 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 18 D f l T f l 1 5 8 . 1 . 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 1 . 1 5 8 . 1 . 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 18 D f l T f l 1 5 8 . 1 . 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 1 . 1 5 8 . 1 . 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 1

2 0

Page 216: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 216/226

8 D R T f l 1 5 8 . i ; 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 1 . 1 5 8 . 1 . 1 6 1 . 1 . 1 5 8 . 1 . 1 5 1 . 18 D R T f l 1 5 8 . 1 . 1 6 1 . 1 . 1 6 6 . 1 . 1 7 3 . 1 . 1 7 8 . 1 . 1 8 1 . 1 . 1 8 5 . 1 . 1 8 9 . 18 D f l T R 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 18 D f l T f l 2 1 6 . 1 . 2 1 8 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 7 . 1 * . 2 2 9 . 18 D f l T f l 2 3 1 . 1 . 2 3 2 . 1 . 2 3 1 . 1 . 2 2 9 . 1 . 2 3 1 . 1 . 2 3 2 . 1 . 2 3 1 . 1 . 2 2 9 . 18 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 19 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 19 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 19 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 8 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 19 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 19 D f l T f l l 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 19 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 19 D f l T f l l 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 19 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 19 8 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 19 9 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1

1 0 D R T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 11 0 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 0 6 . 11 0 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 1 . 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 11 0 D f l T f l 2 1 8 . 1 . 2 1 6 , 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 11 0 D f l T f l 2 1 8 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 7 . 1 . 2 3 0 . 1 . 2 3 2 . 1 . 2 3 0 . 1 . 2 2 9 . 11 0 D f l T f l 2 3 0 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 3 2 . 1 . 2 3 0 . 1 . 2 2 9 . 11 0 D f l T f l 2 3 0 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 9 . 11 0 D f l T f l 2 3 0 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 3 2 . 1 . 2 3 0 . 1 . 2 2 9 . 11 0 D f l T f l 2 3 0 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 9 . 11 0 D f l T f l 2 3 0 . 1 . 0 . 5 0 . 1 7 8 . 1 . 1 8 1 . 1 . 1 8 5 . 1 . 1 8 9 . 1 . 1 9 2 . 1 . 1 9 7 . 11 1 D f l T f l 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 1 . 1 9 2 . 1 . 1 8 9 . 1 . 1 8 5 . 1 . 1 8 1 . 11 1 D f l T f l l 7 8 . 1 . 1 8 1 . 1 . 1 8 5 . 1 . 1 8 9 . 1 . 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 11 1 D f l T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 1 . 2 8 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 11 1 D f l T f l 2 0 6 . 1 . 0 . 5 0 . 1 7 8 . 1 . 1 8 1 . 1 . 1 8 5 . 1 . 1 8 9 . 1 . 1 9 2 . 1 . 1 9 7 . 11 1 D f l T f l 2 8 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 1 . 1 9 2 . 1 . 1 8 9 . 1 . 1 8 5 . 1 . 1 8 1 . 11 1 D R T R 1 7 8 . 1 . 1 8 1 . 1 . 1 8 5 . 1 . 1 8 9 . 1 . 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 11 1 D f l T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 11 1 D f l T f l 2 1 8 .1 1 D f l T f l 2 0 8 .1 1 D R T R 1 8 1 .1 2 D R T f l 2 0 8 .1 2 D f l T f l l 8 1 .1 2 D f l T f l 2 1 8 .

. 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 0 6 . 1. 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 1 . 1 8 5 . 1. 0 . 5 0 . 2 1 4 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 0 6 . 1. 2 8 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 1 . 1 8 5 . 1. 0 . 5 0 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1. 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 8 . 1 . 0 . 3 0 0

1 2 D f l T f l 2 3 0 . 1 . 2 3 2 . 1 . 2 3 0 . 1 . 2 2 9 . 1 . 2 3 0 . 1 . 2 3 2 . 1 . 2 3 8 . 1 . 2 2 9 . 11 2 D f l T f l 2 3 0 . 1 . 2 3 2 . 1 . 2 3 0 . 1 . 2 2 9 . 1 . 2 3 0 . 1 . 0 . 3 0 01 2 D f l T f l 2 3 7 . 1 . 0 . 1 8 0 . 1 5 5 . 1 . 1 6 1 . 1 . 1 6 6 . 1 . 1 7 3 . 1 . 1 7 8 . 1 . 1 8 1 . 11 2 D f l T f l l 8 5 . 1 . 1 8 9 . 1 . 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 1 . 2 0 6 . 1 . 2 0 8 . 11 2 D R T R 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 1 . 2 1 8 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 11 2 D R T R 2 2 7 , 1 . 2 2 9 . 1 . 2 3 8 . 1 . 2 3 3 . 1 . 2 3 4 . 1 . 2 3 6 . 1 . 2 3 7 . 1 . 0 . 9 8 01 2 9 D f l T f l 2 3 7 . 1 . 0 . 9 8 0 . 2 1 8 . 1 . 0 . 9 0 0

3 0 0 0 I H « T H E N 8 0 5 04 0 0 0 P O K E 3 6 8 7 8 . 35 0 0 0 P O K E 3 6 8 7 6 . H6 0 0 0 F O R T * T U N E X T7 0 0 0 P O K E 3 6 8 7 8 . 1 58 0 0 0 G O T O 1 8 0 5 0 P O K E 3 6 8 7 6 . 09 0 0 0 E N DP r o g r a m 4 7 B e

T h i s p r o g r a m i t h s a m e a t h n u m b e r 4 6 b u v i s u a l e f f e c t s

2 0

Page 217: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 217/226

h a v e b e e n a d d e d . I t h i s f o r m t h p r o g r a m r e q u i r e s m i n i m u m o 8 K T u s t h d e f a u l t c o l o r s , s i m p l y d e l e t e l i n e 3

R E M - F L I G H T O T H B U M B L E - B E E "P R I N T 1 1 : * "P 0 K E 6 4 6 , 7 : P 0 K E 3 6 S 7 9 , P E E K 3 6 3 7 9 ) F I N D 1 5 Q R 0P R I N T " » » K » f l » W W » » # # F L I G H T O F T H E * * "p m n n i m m m w w * 3 m B L E ~ B E E m m • •P R i H T " n n m m i m m m m m m v m m m m uP R i H V ' & n i m m m m t o m n i K E h e r r i o t t * * "p p d m m m m m9 F O R W = 1 T O 1 5 0 0 : . N E X T

1 1 P R i N T " ^ m i i i i i i i i i i i » i B i i i B p » ) / 1 P R i N T " 3 i i t m i i M i i i W i p » n i ) ^ • M1 P R i M T " » i i i i i i > n » i » i i i i n i n R i H i , * - , "1 P R i N T " 3 i n i i i i i i i i i i i i i i n D a ] i n o 9 «i p r i h t n m n n n n m m i m m m1 P R i u T ^ n n n n n n w n m t m w 1 P R w v w m m m n n w ni p r i \ \ t1 2 2 2 2 2 P R I N T2 2 2 2 m m m w2 p n m n m n n t m m m m . * - . "3 0 P R I N T I ' ^ i3 3 3 3 P R I N T ( (3 3 3 3 p r i h t "3 4 4 P R I N T 1 14 1 0 R E R D1 1 R E f l D1 6 D R T f l1 6 I F H « 1 T H E N G O T O 9 0 0 01 6 P 0 K E 3 6 3 7 8 . 31 6 P 0 K E 3 6 8 7 6 . H1 6 F O R T = 1 T O L - N E X T T1 6 1 6 1 6 P 0 K E 3 6 8 7 8 . 1 51 7 G O T O 1 0 01 7 D f l T f l 2 2 7 , 1 , 2 2 6 , 1 , 2 2 4 . 1 , 2 2 2 , 11 8 D f l T f l 2 2 4 , 1 , 2 2 2 , 1 , 2 2 0 , 1 , 2 1 8 , 1

2 0

Page 218: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 218/226

1 9 D f l T f l 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 0 9 . 12 0 D f l T f l 2 0 6 . 1 . 0 . 3 0 0 02 1 5 D R T R 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 2 D R T f l 1 9 2 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 12 3 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 4 D f l T f l 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 12 5 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 6 D f l T f l 1 9 2 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 12 7 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 12 8 D f l T f l 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 12 9 D f l T f l 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 13 0 D f l T f l 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 8 9 . 13 1 D f l T f l 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 13 2 D f l T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 13 3 D f l T R 2 0 6 . 1 . 2 0 3 . 1 . 2 0 0 . 1 . 1 9 7 . 13 4 D f l T f l 2 0 0 . 1 . 1 9 7 . 1 . 1 9 2 . 1 . 1 3 9 . 13 5 D f l T f l 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 . 1 . 2 0 3 . 13 6 D f l T R 2 0 6 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 13 7 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 13 8 D f l T f l 2 0 8 . 1 . 2 2 0 . 1 . 2 1 3 . 1 . 2 1 6 . 13 9 D f l T f l 2 1 3 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 0 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 14 1 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 2 D f l T f l 2 0 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 14 3 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 4 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 14 5 D f l T f l 2 * 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 14 6 D f l T R 2 1 4 . 1 . 2 1 1 . 1 . 2 0 8 . 1 . 2 0 6 . 14 7 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 14 8 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 14 9 D f l T f l 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 15 8 D f l T f l 2 1 4 . 1 . 2 1 1 . 1 . 2 0 3 . 1 . 2 0 6 . 15 1 D f l T f l 2 0 8 . 1 . 2 1 1 . 1 . 2 1 4 . 1 . 2 1 6 . 15 2 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 8 . 35 3 D f l T f l 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 , 1 8 1 . 1 . 1 3 1 . 1 . 1 8 1 . 1 . 1 8 5 . 15 4 B f t T f t 2 1 6 . 3 . 2 l 6 - . r i 7 £ i 6 . 3 b 2 1 6 . i r 2 i e 7 * T 2 l & r i i ' 2 ' t E 7 t ' & & : > *5 5 D f l T f l 1 8 1 . 1 . 1 8 1 . 1 . 1 3 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 1 . 1 . 1 8 5 . 15 6 D f l T f l 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 1 . 2 1 6 . 15 7 D f l T f l 2 1 3 . 1 . 2 2 8 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 8 . 1 . 2 2 8 . 1 . . 2 1 8 . 1 , 2 1 6 . 15 8 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 8 . 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 15 9 D f l T f l 2 1 8 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 16 0 D R T R 2 1 8 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 16 1 D f l T f l 2 1 8 . 3 . 2 0 0 . 1 . 2 0 0 . 1 . 2 8 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 .

1 . 2 8 3 . 16 2 D f l T R 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 1 , 2 2 7 , 16 3 D R T R 2 0 0 . 1 . 2 0 0 . 1 . 2 0 8 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 0 . 1 . 2 0 3 . 16 4 D f l T f l 2 2 6 . 1 . 2 2 6 . 1 , 2 2 6 . 1 . 2 2 6 , 1 . 2 2 6 . 1 . 2 2 6 . 1 . 2 2 6 . 16 5 D f l T f l 2 2 7 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 16 6 D f l T f l . 2 2 7 . 1 . 2 2 9 . 1 . 2 2 7 . 1 , 2 2 6 , 1 . 2 2 7 . 1 . 2 2 9 . 1 , 2 2 7 , 1 , 2 2 6 , 16 7 D f l T f l 2 2 7 . 1 . 2 2 9 . 1 . 2 3 1 . 1 . 2 3 2 . 1 . 2 3 3 . 1 , 2 3 2 . 1 . 2 3 1 . 1 . 2 2 9 . 16 8 D f l T f l 2 2 7 . 1 . 2 2 9 . 1 . 2 3 1 . 1 . 2 3 2 . 1 . 2 3 3 . . 1 . 2 3 2 . 1 . 2 3 1 . 1 , 2 2 9 . 16 9 D f l T f l 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 17 0 D f l T f l 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 .7 1 D f l T f l 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 2 . 1 . 2 2 0 , 1 . 2 1 8 .7 2 D f l T f l 2 2 0 . 1 . 2 2 2 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 6 . 1 . 2 2 7 . 1 . 2 2 9 .7 3 0 D R T R 2 3 1 . 1 . 2 2 9 . 1 . 2 2 7 . 1 . 2 2 6 . 1 , 2 2 7 . 1 . 2 2 6 . 1 . 2 2 4 . 1 . 2 2 2 .7 4 D f l T R 2 2 4 . 1 . 2 2 2 , 1 . 2 2 0 . 1 . 2 1 8 . 1 . 2 1 6 . 1 . 2 1 4 . 1 . 2 1 1 . 1 . 2 8 8 . _7 5 0 D R T R 2 0 6 . 1 . 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 , 2 8 8 . 1 , 2 0 6 . 1 , 2 0 3 . 17 6 D R T f l 2 0 6 . 1 . 2 0 8 . 1 . 2 8 6 . 1 . 2 0 3 . 1 . 2 0 6 . 1 , 2 0 8 . 1 . 2 0 6 . 1 . 2 0 3 . 1

2 1

Page 219: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 219/226

7 7 D R T f l 2 0 6 . 1 , 2 8 3 . 1 . 2 0 6 . 1 . 2 0 3 . 1 . 2 0 6 ,7 8 D f l T f l 2 0 6 . 1 . 2 0 8 . 1 , 2 0 6 , 1 . 2 0 3 , 1 . 2 0 6 ,7 9 D f l T f l 2 0 6 , 1 , 2 0 3 , 1 . 2 0 0 . 1 , 1 9 7 . 1 , 2 0 0 .8 0 D f l T f l 1 9 2 , 1 , 1 8 9 . 1 . 1 8 5 , 1 , 1 8 1 , 1 . 1 7 3 ,8 1 D f l T f l 1 5 8 , 1 , 1 6 1 , 1 , 1 5 8 , 1 , 1 5 1 , 1 , 1 5 3 ,8 2 D f l T f l 1 5 8 , 1 , 1 6 1 , 1 , 1 5 8 , 1 , 1 5 1 , 1 , 1 5 8 ,

, 2 0 8 , 1 , 2 8 6 . 1 , 2 0 3 , 1, 2 0 8 , 1 , 2 0 6 , 1 , 2 0 3 , 1, 1 9 7 , 1 , 1 9 2 , 1 , 1 3 9 , 1, 1 7 3 , 1 , 1 6 6 , 1 , 1 6 1 , 1, 1 6 1 , 1 , 1 5 8 , 1 , 1 5 1 , 1

1 6 1 , 1 , 1 5 3 , 1 , 1 5 1 , 18 3 D f l T f l 1 5 8 , 1 , 1 6 1 , 1 , 1 5 8 , 1 , 1 5 1 , 1 , 1 5 8 , 1 , 1 6 1 . 1 , 1 5 3 , 1 , 1 5 1 , 18 4 D f l T f l 1 5 8 , 1 , 1 6 1 , 1 , 1 5 8 , 1 , 1 5 1 , 1 , 1 5 8 , 1 , 1 6 1 . 1 . 1 5 8 , 1 . 1 5 1 , 18 5 D f l T f l 1 5 8 , 1 , 1 6 1 , 1 , 1 6 6 , 1 , 1 7 3 , 1 , 1 7 3 , 1 , 1 8 1 , 1 , 1 8 5 , 1 , 1 8 9 , 13 6 D f l T f l 1 9 2 , 1 , 1 9 7 , 1 , 2 0 0 , 1 , 2 0 3 , 1 , 2 0 6 , 1 , 2 0 8 , 1 , 2 1 1 , 1 , 2 1 4 , 18 7 D f l T f l 2 1 6 , 1 , 2 1 8 , 1 , 2 2 0 , 1 , 2 2 2 , 1 , 2 2 4 , 1 , 2 2 6 , 1 . 2 2 7 , 1 , 2 2 9 , 18 3 D f l T f l 2 3 1 , 1 , 2 3 2 , 1 , 2 3 1 , 1 , 2 2 9 , 1 , 2 3 1 , 1 , 2 3 2 , 1 , 2 3 1 , 1 , 2 2 9 , 13 9 D f l T f l 2 0 6 , 1 , 2 0 3 , 1 , 2 0 0 , 1 , 1 9 7 , 1 , 1 9 2 , 1 , 2 0 8 , 1 , 2 0 6 , 1 , 2 0 3 , 19 0 D f l T f l 2 0 6 , 1 , 2 0 3 , 1 , 2 0 0 , 1 , 1 9 7 . 1 . 1 9 2 . 1 . 1 9 7 . 1 . 2 0 0 , 1 , 2 0 3 , 19 1 D f l T f l 2 0 6 , 1 , 2 0 3 , 1 , 2 0 0 , 1 , 1 9 7 , 1 , 1 9 2 , 1 , 2 0 8 , 1 , 2 0 6 , 1 , 2 0 3 , 19 2 D f l T f l 2 0 6 , 1 , 2 0 3 , 1 , 2 0 0 . 1 , 1 9 7 , 1 , 1 9 2 , 1 , 1 9 7 . 1 , 2 0 0 , 1 . 2 0 3 . 19 3 0 D f l T f l 2 0 6 , 1 , 2 8 3 , 1 , 2 0 0 , 1 , 1 9 7 , 1 , 2 0 8 , 1 , 1 9 7 . 1 , 1 9 2 , 1 , 1 8 9 , 19 4 D f l T f l l 9 2 , 1 , 1 9 7 , 1 , 2 0 0 , 1 , 2 0 3 , 1 , 2 0 6 , 1 , 2 0 3 , 1 , 2 0 6 , 1 , 2 0 3 , 19 5 D f l T f l 2 0 6 , 1 , 2 8 3 , 1 , 2 8 0 , 1 , 1 9 7 , 1 , 2 0 0 , 1 , 1 9 7 , 1 , 1 9 2 . 1 , 1 8 9 , 19 S Q D f l T f l l 9 2 , 1 , 1 9 7 , 1 , 2 0 0 , 1 , 2 0 3 , 1 , 2 0 6 , 1 , 2 1 1 , 1 , 2 1 4 , 1 , 2 1 6 , 19 7 D f l T f l 2 1 3 , 1 , 2 1 6 , 1 , 2 1 4 , 1 , 2 1 1 , 1 . 2 8 3 , 1 , 2 2 0 , 1 , 2 1 8 , 1 , 2 1 6 , 19 8 0 D f l T f l 2 1 8 , 1 , 2 1 6 , 1 , 2 1 4 , 1 . 2 1 1 . 1 . 2 0 3 . 1 , 2 1 1 , 1 , 2 1 4 , 1 , 2 1 6 , 19 9 D f l T f l 2 1 8 , 1 , 2 1 6 , 1 , 2 1 4 , 1 , 2 1 1 , 1 , 2 0 8 , 1 , 2 2 0 , 1 . 2 1 3 , 1 , 2 1 6 , 1

1 0 0 0 D f l T f l 2 1 3 , 1 , 2 1 6 , 1 , 2 1 4 , 1 , 2 1 1 , 1 , 2 8 8 , 1 , 2 1 1 , 1 , 2 1 4 , 1 , 2 1 6 , 11 0 1 0 D f l T f l 2 1 8 , 1 , 2 1 6 , 1 , 2 1 4 , 1 , 2 1 1 , 1 , 2 1 4 , 1 , 2 1 1 , 1 , 2 0 3 , 1 , 2 0 6 , 11 0 2 0 D f l T f l 2 0 3 , 1 , 2 1 1 , 1 , 2 1 4 , 1 , 2 1 6 , 1 , 2 1 8 . 1 - 2 2 0 1 , 2 1 8 , 1 . 2 1 6 . 11 0 3 0 D f l T f l 2 1 8 , 1 , 2 1 6 , 1 , 2 1 4 , 1 , 2 1 1 , 1 , 2 0 8 , 1 , 2 1 1 , 1 , 2 1 4 , 1 , 2 1 6 , 11 0 4 0 D f l T f l 2 1 8 , 1 , 2 2 2 , 1 , 2 2 4 , 1 , 2 2 7 , 1 , 2 3 0 , 1 , 2 3 2 , I , 2 3 8 . 1 . 2 2 9 . 11 0 5 0 D f l T f l 2 3 0 , 1 , 2 2 9 , 1 , 2 2 7 , 1 , 2 2 6 , 1 , 2 2 4 , 1 , 2 3 2 , 1 , 2 3 0 , 1 , 2 2 9 , 1I 8 6 0 D f l T f l 2 3 0 , 1 , 2 2 9 , 1 , 2 2 7 , 1 , 2 2 6 , 1 , 2 2 4 , 1 , 2 2 6 , 1 , 2 2 7 , 1 , 2 2 9 , 11 0 7 0 D f l T f l 2 3 0 , 1 , 2 2 9 , 1 , 2 2 7 , 1 , 2 2 6 , 1 , 2 2 4 , 1 , 2 3 2 , 1 , 2 3 0 , 1 , 2 2 9 , 11 0 8 8 D f l T f l 2 3 0 , 1 , 2 2 9 , 1 , 2 2 7 , 1 , 2 2 6 , 1 , 2 2 4 , 1 , 2 2 6 , 1 , 2 2 7 , 1 , 2 2 9 , 11 0 9 0 D f l T f l 2 3 0 , 1 , 0 , 5 0 , 1 7 3 , 1 , 1 8 1 , 1 , 1 8 5 , 1 , 1 8 9 , 1 , 1 9 2 , 1 , 1 9 7 , 11 1 0 0 D f l T f l 2 0 0 , 1 , 1 9 7 , 1 , 1 9 2 , 1 . 1 3 9 , 1 , 1 9 2 , 1 , 1 8 9 , 1 , 1 3 5 , 1 , 1 3 1 , 11 1 1 0 D f l T f l l 7 8 , 1 , 1 8 1 , 1 , 1 8 5 , 1 , 1 8 9 , 1 , 1 9 2 , 1 , 1 9 7 . 1 . . 2 0 8 , 1 , 2 0 3 , 11 1 2 0 D f l T f l 2 0 6 / 1 , 2 0 8 , 1 , 2 0 6 , 1 , 2 0 3 , 1 , 2 0 6 , 1 , 2 0 3 , 1 , 2 8 6 , 1 , 2 0 3 , 11 1 3 0 D f l T f l 2 0 6 , 1 , 0 , 5 0 , 1 7 8 , 1 , 1 8 1 , 1 , 1 8 5 , 1 , 1 3 9 , 1 , 1 9 2 , 1 , 1 9 7 , 11 1 4 0 D f l T f l 2 8 0 , 1 , 1 9 7 , 1 , 1 9 2 , 1 , 1 8 9 , 1 , 1 9 2 , 1 , 1 8 9 , 1 , 1 8 5 , 1 , 1 3 1 , 11 1 5 0 D F I T R 1 7 8 , 1 , 1 3 1 , 1 , 1 8 5 , 1 , 1 3 9 , 1 , 1 9 2 , 1 , 1 9 7 , 1 , 2 8 0 . 1 , 2 0 3 , 11 1 6 0 D f l T f l 2 0 6 , l , 2 8 « , l , 2 t f b , 1 , 2 0 3 , 1 , 2 0 6 , 1 , 2 1 1 , 1 , 2 1 4 , 1 , 2 1 6 , 11 1 7 0 D R T R 2 1 8 , 1 , 2 1 6 , 1 , 2 1 4 , 1 , 2 1 1 , 1 . 2 1 4 . 1 , 2 1 1 . 1 . 2 0 3 , 1 , 2 0 6 , 11 1 3 0 D R T f l 2 0 8 , 1 , 2 0 6 , 1 , 2 0 3 , 1 , 2 0 0 , 1 , 1 9 7 , 1 , 1 9 2 , 1 , 1 8 9 , 1 , 1 8 5 . 11 1 9 0 D R T R 1 8 1 , 1 , 0 , 5 0 . 2 1 4 . 1 . 2 1 1 . 1 . 2 1 4 , 1 , 2 1 1 , 1 , 2 8 8 , 1 , 2 0 6 , 1

> , 1 , 2 0 3 , 1 , 2 0 8 , 1 , 1 9 7 , 1 , 1 S 2 , 1 , 1 8 9 , 1 ,1 2 1 0 D f l T f l l 8 1 ,1 2 2 0 D R T R 2 1 8 ,1 2 3 0 D f l T f l 2 3 0 ,1 2 4 0 D f l T f l 2 3 0 ,1 2 5 0 D f l T f l 2 3 7 ,1 2 6 0 D R T R 1 8 5 J

, 0 , 5 0 , 2 1 8 , 1 , 2 1 6 , 1 , 2 1 8 , 1 , 2 2 0 , 1 , 2 1 8 , 1 , 2 1 6 , 1, 2 2 0 , 1 , 2 1 8 , 1 , 2 1 6 , 1 , 2 1 8 , 1 , 0 , 3 0 0, 2 3 2 , 1 , 2 3 0 , 1 , 2 2 9 , 1 , 2 3 0 , 1 , 2 3 2 , 1 , 2 3 0 , 1 , 2 2 9 , 1, 2 3 2 , 1 , 2 3 0 , 1 , 2 2 9 , 1 , 2 3 0 , 1 , 0 , 3 8 0, 0 , 1 8 0 , 1 5 5 , 1 , 1 6 1 , 1 , 1 6 6 , 1 , 1 7 3 , 1 , 1 7 8 . 1 , 1 8 1 , 1, 1 3 9 , 1 , 1 9 2 , 1 . 1 9 7 . 1 , 2 0 0 , 1 , 2 0 3 , 1 , 2 0 6 , 1 , 2 0 3 , 1

1 2 7 0 D f l T f l 2 1 1 , 1 , 2 1 4 , 1 , 2 1 6 , 1 , 2 1 8 , 1 , 2 2 0 , 1 , 2 2 2 , 1 , 2 2 4 , 1 , 2 2 6 , 11 2 8 0 D f l T f l 2 2 7 , 1 , 2 2 9 , 1 , 2 3 0 , 1 , 2 3 3 , 1 , 2 3 4 , 1 , 2 3 6 , 1 , 2 3 7 , 1 , 0 . 9 0 01 2 9 0 D f l T f l 2 3 7 , 1 , 0 , 9 0 0 , 2 1 3 , 1 , 0 , 9 0 0 , 1 , 19 0 0 09 0 0 19 0 0 29 0 0 39 0 0 4

2 1

Page 220: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 220/226

9 8 0 59 0 0 69 0 0 79 0 0 89 0 0 99 0 1 09 0 i i p r i u t9 0 1 29 0 1 39 0 1 49 0 1 59 0 1 69 0 i ?9 0 1 89 0 1 99 0 2 09 0 2 1 p r i n t9 0 2 2 P R I N T9 0 2 3 P R I N T M 3 i i W M W i W W i i i D a 8 W W9 0 2 49 0 2 59 0 2 69 0 2 79 0 2 89 0 2 99 0 3 0 P R I N T9 0 3 1 P R i N T9 0 4 0 O O T O 9 0 4 0

P r o g r a m 4 8 T a l kT h i s p r o g r a m d e m o n s t r a t e s h o y o c a g e y o u r c o m p u t e r t

a c a a " c o u n s e l o r " t t h o s e i n e e d o s y m p a t h e t i c l i s t e n e r .R E M " T R L K MP R I N T C H R $ < 1 4 7 >

1 P R I N T T H I S P R O G R R M M E I D E S I G N E D T O H E L PY O S O L V E S O M E O V O U R P R O B L E M S 1 12 F O R D » 1 T O 5 0 0 0 : N E X T3 P R I N T C H R * < 1 4 7 >4 P R I N T S P C C 1 0 ) ; " M f l V B E "4 2 F O R D « 1 T O 2 5 0 0 : N E X T4 5 P R I N T C H R $ < 1 4 7 >5 f P R I N T " U H E N V O U S E E T H ? T V P E I J U S T O N W O R D

O S E L E C T F R O M T H E L I S T "5 F O R D » 1 T O 4 0 0 0 : N E K T5 2 P R I N T C H R $ < 1 4 7 )5 5 G O S U B 8 0 0 06 P R I N T " W H f l T I S V O U R N f l M E ? "6 2 P R I N T H W H R T I V O U R N R M E ? "6 I N P U T V $7 0 P R I N T : P R I N T7 I L E N < V $ » « 1 0 T H E N P R I N T " J U S T V O U R F I R S T N f l M E W I L L

D O " : G Q T O 6 07 7 F O R D = 1 T O 2 0 0 0 ' N E X T8 P R I N T M O K " ; V $ : D I M X $ ( 1 0 0 >8 P R I N T R $ < 1 )9 I N P U T X $ < 1 >

2 1

Page 221: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 221/226

Page 222: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 222/226

I n d e x

A d a p t i n g p r o g r a m s , 1 1 A l p h a b e t i z i n g , 2 A m a z e m e n t p r o g r a m , 1 6 A N D , 1 1 A n i m a t e d g r a p h i c s , 1 1 A r r a n g e m e n t o t e x t o t h e s c r e e n ,

1 1 A S C I I c o d e , 2 1

B a n a n a p l u g s ,B a c h a r t s , 5 B A S I C , 8 2 , 1 4 6B i k e p r o g r a m , 2 B i n a r y c o d e , 4 B i t s , 8 B o a r d , m o t h e r , 1 1 B o m b p r o g r a m , 3 B o r d e r , s c r e e n , 1 4 1B o r d e r c o l o r , 3

C o l o r , 3 , 1 1 2C o l u m n s , s c r e e n , 1 4 C o n v e r t i n g p r o g r a m s , 1 4 C u r s o r c o n t r o l , 3 , 4 2

D a t a b a s e p r o g r a m , 1 5 D a t a f i l e s , s a v i n g , 1 2 D a t a s e t t e , 1 , 6 2D a t a s t a t e m e n t s , 3 D e v i c e s , 6 D i m e n s i o n s t a t e m e n t , 1 D i s k d r i v e , 6 D o u b l e - s i z e d c h a r a c t e r s , 5 0 , 1 2 1

E d i t i n g , 1 2 E f f e c t s , s o u n d , 2 E n t e r i n g p r o g r a m l i n e s , 1 2 E r r o r m e s s a g e s , 1 4 9 , 1 5 4E x p l o s i o n , 3

C a l c u l a t i o n s , 1 C h a n g i n g c h a r a c t e r s e t s , 4 C h a r a c t e r s , C h i n e s e , 4 C h a r a c t e r s , d o u b l e - s i z e d , 1 2 C h a r a c t e r s , G r e e k , 4 C h a r a c t e r s , H e b r e w , 4 C h a r a c t e r s , R u s s i a n , 4 C h a r a c t e r s e t s , 4 C h i n e s e c h a r a c t e r s , 4

F i r m w a r e , 1 5 1F l o w c h a r t , 5 F o r m u l a s i g r a p h i c s , 1 0 F o r - n e x t s t a t e m e n t , 1

G a m e m a c h i n e , v G a m e p a d d i e s , 7 G a m e s , 1 0

2 1

Page 223: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 223/226

G r a p h i c p i c t u r e , 9 G r a p h i c s , 5 0 , 1 7 0G r a p h i c s , a n i m a t e d , 1 1 G r e e k C h a r a c t e r s , 4

H e b r e w c h a r a c t e r s , 4 H i g h l i g h t i n g , 5 H i l l p i c t u r e , 9

I f . . . t h e n ,I n p u t c o m m a n d ,I n p u t / o u t p u t s t a t e m e n t s , 1 2 I n v e r s e d i s p l a y , 4

J o y s t i c k , 7 J u p i t e r R e n d e z v o u s g a m e , 1 0 8

K e y b o a r d , 2 , 6 3

L o a d i n g p r o g r a m ,L o g i c a l o p e r a t o r s , 1 1 L o o p , 1

M e m o r y , 2 5 , 1 6 6M e m o r y e x p a n d e r s , 1 6 M e m o r y m a p , 1 7 3M o d u l a t o r , R F M o t h e r b o a r d , 1 1 M u l t i p l e s t a t e m e n t l i n e s , 1 M u s i c , 1 6

N e c o m m a n d , 1

O N - G O T O , 2 O p e r a t o r s , l o g i c a l , 1 1 O v e r l a y i n g , 1 6

P a r t y g a m e , 6 P a s s w o r d , 7 P e e k s t a t e m e n t , 2 P e r i p h e r a l s , 6 P E p r o g r a m s , 1 5 1P i c t u r e , g r a p h i c , 9 P o k e s t a t e m e n t , 2 P r i n t c o m m a n d , 7P r i n t e r , 1 2 P r o b l e m s , p r o g r a m m i n g , 6 1 , 1 4 9

P r o g r a mA n i m a t e , 1 7 B e e , 2 0 B i k e , 1 8 B O M B , 1 8 C h r o m a t i c , 1 9 C i r c l e , 1 8 C o l o r s , 1 7 C r i t t e r , 1 9 D a t a t T a p e , 1 7 D e m o , 2 0 D o t , 1 9 D o u b l e S i z e C h a r a c t e r s , 1 7 E l l i p s e , 1 9 F i l e , 1 9 F l i g h t o t h B u m b l e B e e , 2 0 F o r m u l a , 1 8 G l o b e , 1 9 H a t , 1 8 H e b r e w , 1 8 H i l l , 1 8 H o m e d , 1 7 J u p i t e r R e n d e z v o u s , 1 9 U n e s , 1 9 M e m o r y C h a c k , 1 7 O r i o n , 1 8 P a t t e r n , 1 8 P o k e 6 4 6 , 1 7 7P r e s i d e n t , 1 8 P r i n t e r C o m m a n d s , 1 7 P r i n t e r S o r t , 2 0 R a n d o m , 1 9 R i p p l e , 1 8 R o a d , 1 7 R u s s i a n , 1 8 S c r e e n , 1 7 S i m p l e , 1 8 S o n g , 1 9 S o r t , 2 0 S p i r a l , 1 9 S q u i r a l , 1 8 S t a v e , 1 8 T a l k , 2 1 T o r c h , 1 8 T r u m p e t , 1 8 T w S c r e e n s , 1 7 W a v e , 1 8 W o r d , 1 9 8

P r o g r a m d e v e l o p m e n t , t o d o w n ,P r o g r a m m i n g p r o b l e m s , 6 1 , 1 4 9P r o g r a m m i n g s t r a t e g i e s , 1 1 P r o g r a m s , a d a p t i n g , 1 1 P r o g r a m s , P E T , 1 5

R A M , 8

2 1

Page 224: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 224/226

R e m a r k s t a t e m e n t s , 1 1 R m o d u l a t o r ,R O M , 9 R o u t i n e s , 1 R u s s i a n c h a r a c t e r s , 4

S a v i n g p r o g r a m ,S c r e e n c o l o r , 3 S c r e e n m e m o r y , 3 S c r e e n s , t w o , 1 4 S o r t i n g , 2 0 , 7 0S o r t s , 1 4 S o u n d , 2 S p e c i a l e f f e c t s , 1 2 S t o r y , 6 S t r a t e g i e s , p r o g r a m m i n g , 1 1 S t r i n g f u n c t i o n s , 8 S u b r o u t i n e s , 2 2 , 5 8S u p e r E x p a n d e r , 9

T a l k p r o g r a m , 1 6 T e x t , 1 1 T e x t m o d e , 4 T i m e , 8 T o p d o w n p r o g r a m d e v e l o p m e n t ,T V / g a m e s w i t c h ,

i

U t i l i t y p r o g r a m s , 1 2

V a r i a b l e ,V a r i a b l e n a m e s , 1 4 V e r i f y , 2

W o r d p r o c e s s i n g , 1 3

2 1

Page 225: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 225/226

M A S T E R I N GT H

V I C - 2 0B J O H N H E R R I O T T

T O T A B O O K S I n c .B L U E R I D G E S U M M I T . P 1 7 2 1 4

Page 226: Mastering the VIC-20 (John Herriott)

8/6/2019 Mastering the VIC-20 (John Herriott)

http://slidepdf.com/reader/full/mastering-the-vic-20-john-herriott 226/226

M a s t e r i n g t h V I C - 2 0b J o h n H e r r i o t t

I y o t h i n k y o u r V I C - 2 0 i s i m p l y g a m e m a c h i n e f o p l a y i n gp r e p a c k a g e d t a p e s . . t h i n k a g a i n ! Y o u r s i a a m a z i n g l y p o w e r f u lc o m p u t i n g m a c h i n e c a p a b l e o a l k i n d s o f e x c i t i n g h o m e a n b u s i n e s sa p p l i c a t i o n s . . a n l o t s m o r e c r e a t i v e g a m e p l a y i n g t h a n y o u ' d e v e rh a v e t h o u g h t p o s s i b l e .

A l y o n e e d t s t a r t t a p p i n g t h o s e e x t r a o r d i n a r y c a p a b i l i t i e s o y o u r m i c r o i t h i s h a n d b o o k , a n l i t t l e p r a c t i c e ! T h f i r s t t h i n g y o u ' l ln o t i c e w h e n y o o p e n t h i s b o o k i t h a t t h a u t h o r ' s e n g a g i n g s t y l em a k e s i m o r e i n t e r e s t i n g t h a n t h a v e r a g e p r o g r a m m i n g m a n u a l .P l u s , y o u ' l l q u i c k l y d i s c o v e r t h a t t h a u t h o r b e l i e v e s i i n t r o d u c i n ga d v a n c e d f e a t u r e s w i t h o u t m a k i n g y o w a d e t h r o u g h t o n s o