Comute's First Book of PET-CBM

260
8/6/2019 Comute's First Book of PET-CBM http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 1/260 $ 1 2 . 9 5 C O M P U T E I ' s F I R S T B O O K P E T / C B M

Transcript of Comute's First Book of PET-CBM

Page 1: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 1/260

$ 1 2 . 9 5

C O M P U T E I ' sF I R S T B O O K

P E T / C B M

Page 2: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 2/260

Page 3: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 3/260

F r o m T h E d i t o r s o C O M P U T E ! M a g a z i n e

P u b l i s h e d b C O M P U T E ! B o o k s ,D i v i s i o n o S m a l l S y s t e m S e r v i c e s , I n c .

G r e e n s b o r o , N o r t h C a r o l i n aP E i r e g i s t e r e d t r a d a 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 .

Page 4: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 4/260

C o p y r i g h t 1 9 8 1 , S m a l l S y s t e m S e r v i c e s , I n c . A l r i g h t s r e s e r v e d . P o r t i o n s o f t h i s m a t e r i a lh a v e a p p e a r e d i v a r i o u s i s s u e s o C O M P U T E ! M a g a z i n e d u r i n g 1 9 8 0 .R e p r o d u c t i o n o t r a n s l a t i o n o a n p a r t o t h i s w o r k b e y o n d t h a t p e r m i t t e d b S e c t i o n s 1 0 7a n 1 0 8 o f t h e U n i t e d S t a t e s C o p y r i g h t A c w i t h o u t t h p e r m i s s i o n o f t h e c o p y r i g h t o w n e ri u n l a w f u l .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 aI S B N 0 - 9 4 2 3 8 6 - 0 1 - 91 9 6 5 4 3 2

l

Page 5: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 5/260

T a b l e o f C o n t e n t sI n t r o d u c t i o n R o b e r t L o c k , P a g e i C h a p t e r O n e : G e t t i n g S t a r t e d P a g e

C o m m o d o r e P e r s p e c t i v e B o C r o w e l l , P a g eR O M - a n t i c T h o u g h t s J i B u t t e r f i e l d , P a g e 9T o k e n s A r e n ' t J u s t f o r S u b w a y s H a r v e y H e r m a n , P a g e 1 B i F i l e s o S m a l l C o m p u t e r E l i z a b e t h D e a l , P a g e 1 P E T t i n g w i t h J o y s t i c k H a r v e y H e r m a n , P a g e 2 J o y s t i c k R e v i s e d H a r v e y H e r m a n , P a g e 2 C h a p t e r T w o : P r o g r a m m e r ' s C o r n e r P a g e 3 H o t P r o g r a m i B A S I C w i t h t h S u b r o u t i n e P o w e r

o f F O R T R A N E l i z a b e t h D e a l , P a g e 3 4S o r t i n g S o r t s R i c k a n B e l i n d a H u l o n , P a g e 4 2S a v i n g M e m o r y i L a r g e P r o g r a m s M i k e R i c h t e r , P a g e 5 P r o g r a m m e r ' s N o t e s f o t h C B 8 0 3 2 R o B u s d i e c k e r , P a g e 5 U n c r a s h i n g O U p g r a d e R O C o m p u t e r s J i B u t t e r f i e l d , P a g e 6 M e m o r y P a r t i t i o n o B A S I C W o r k s p a c e H a r v e y H e r m a n , P a g e 6 T h D e a d l y L i n e f e e d J i B u t t e r f i e l d , P a g e 6 8U s i n g t h G E S t a t e m e n t o t h P E A l f r e d B r u e y , P a g e 6 A p p a r e n t M a l f u n c t i o n o f t h e K e J i B u t t e r f i e l d , P a g e 7 S h i f t w o r k J i B u t t e r f i e l d , P a g e 7 C h a p t e r T h r e e : B e y o n d t h B A S I C S P a g e 7 M i x i n g B A S I C a n M a c h i n e L a n g u a g e J i B u t t e r f i e l d , P a g e 7 S i m u l a t e d B A S I C i M a c h i n e L a n g u a g e B l a i n S t a n d a g e , P a g e 8 F i t t i n g M a c h i n e L a n g u a g e i n t o t h P E J i B u t t e r f i e l d , P a g e 8 9M a c h i n e L a n g u a g e C o d e F o A p p e n d i n g D i s k F i l e s . . R o b e r t H W o l l e n b e r g , . . P a g e 9 U s i n g D i r e c t A c c e s s F i l e s w i t h t h C o m m o d o r e 2 0 4 0

D u a l D r i v e D i s k C h u c k S t u a r t , P a g e 9 5F i l e C o n v e r s i o n s o t h C o m m o d o r e 2 0 4 0 D r i v e H a W a d l e i g h , P a g e 1 0 U s i n g D i s k O v e r l a y s o t h P E M a r t y F r a n z , P a g e 1 1 V a r i a b l e - F i e l d - L e n g t h R a n d o m A c c e s s F i l e s o t h

2 0 4 0 D i s k D r i v e P e t e r S p e n c e r , P a g e 1 1 C B M / P E T F r o n t P a n e l B o y d R a y , P a g e 1 2 C h a p t e r F o u r : G r a p h i c s P a g e 1 2 L o w e r C a s e D e s c e n t i o n o t h C o m m o d o r e 2 0 2 2 P r i n t e r W M B u n k e r , P a g e 1 2 P l o t t i n g w i t h t h 2 0 2 2 P r i n t e r J o h n W i n n , P a g e 1 2 K e y p r i n t C h a r l e s B r a n n o n , P a g e 1 3 8 5 G r a p h i c s M u r r a y W e i n g a r t e n , P a g e 1 3 C h a p t e r F i v e : U t i l i t i e s P a g e 1 4 C r o s s R e f e r e n c e f o t h P E J i B u t t e r f i e l d , P a g e 1 4 T R A C E f o t h P E B r e t t B u t l e r , P a g e 1 5 U t i n s e l : E n a b l i n g U t i l i t i e s L a r r y I s a a c s , P a g e 1 5 C o n v e r t i n g A S C I I F i l e s T P E T B A S I C H a r v e y H e r m a n , P a g e 1 6 M u l t i t a s k i n g o Y o u r P E T ? Q u a d r a - P E T C h a r l e s B r a n n o n , P a g e 1 6 A E a s i e r M e t h o d o S a v i n g D a t a P l u s H o m e A c c o u n t i n g . . . . R o b e r t B a k e r , P a g e 1 6 B l o c k A c c e s s M e t h o d f o C o m m o d o r e D r i v e s T o C o n r a d , P a g e 1 7 D i s k L i s t e r : D i s k C a t a l o g i n g P r o g r a m R o b e r t B a k e r , P a g e 1 8 C o m p a c t o r R o b e r t B a k e r , P a g e 1 9 F e e d Y o u r P E S o m e A p p l e s o f t G . A . C a m p b e l l , P a g e 2 0 C h a p t e r S i x : C o m m u n i c a t i o n s P a g e 2 1 7T e l e P E T J i B u t t e r f i e l d , P a g e 2 1 8B A S I C C B 8 0 1 0 M o d e m R o u t i n e s J i B u t t e r f i e l d , P a g e 2 2 A p p e n d i c e s a . P a g e 2 2 P E i T r a n s i t i o n R O U p g r a d e M a J i B u t t e r f i e l d , P a g e 2 2 6

F e E n t r y P o i n t s , O r i g i n a l / U p g r a d e R O J i B u t t e r f i e l d , P a g e 2 3 B A S I C 4 . M e m o r y M a J i B u t t e r f i e l d , P a g e 2 3 4P E 4 . R O R o u t i n e s J i m B u t t e r f i e l d , P a g e 2 3 I n d e x P a g e 2 4 4

i

Page 6: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 6/260

R o b e r t C L o c k , E d i t o r / P u b l i s h e r , C O M P U T E !M a g a z i n e

I t h f a l l o 1 9 7 9 , C O M P U T E ! M a g a z i n e b e g a n a a q u a r t e r l yr e s o u r c e a n a p p l i c a t i o n s j o u r n a l f o o w n e r s a n u s e r s o v a r i e t y o f p e r s o n a l c o m p u t e r s . S i n c e t h a t b e g i n n i n g , w e V eb e e n s u p p o r t i n g t h C o m m o d o r e P E a n t h C o m m o d o r eB u s i n e s s M a c h i n e . O t h e p a g e s t h a t f o l l o w , y o u ' l l f i n d s o m eo t h b e s t o t h P E T / C B M a r t i c l e s t h a t a p p e a r e d i C O M P U T E ! d u r i n g 1 9 8 0 .T h C o m m o d o r e p r o d u c t l i n e i c o n t i n u i n g t e x p a n d , a n i t h m o n t h l y i s s u e s o C O M P U T E ! M a g a z i n e , y o u ' l l c o t i n u e t f i n d t h s a m e c o m m i t m e n t a n s u p p o r t f o t h P E T ,t h C B s e r i e s , a n n o w , t h S u p e r P e t a n V I C - 2 0 m o d e l s .C O M P U T E R S i n t e r n a t i o n a l l y r e c o g n i z e d a u t h o r s c o n t i n u e t s u p p o r t , e n c o u r a g e a n t u t o r r e a d e r s f r o m t h b e g i n n e r t t h a d v a n c e d .W e V e o r g a n i z e d t h e f o l l o w i n g m a t e r i a l , a n d e s i g n e d t h b o o ks t h a t i w i l l b e a s y t u s e " . I y o h a v e a n y c o m m e n t s o s u g g e s t i o n s r e g a r d i n g t h i s b o o k , o f u t u r e b o o k s y o u ' d l i k e t s e f r o m u s p l e a s e l e u k n o w .O u s p e c i a l t h a n k s t C h a r l e s B r a n n o n , R i c h a r d M a n s f i e l d ,a n K a t h l e e n M a r t i n e k o f t h e e d i t o r i a l s t a f f a C O M P U T E ! ;K a t e T a y l o r , D a R e e s , a n D P o t t e r o f t h e P r o d u c t i o n s t a f f ;G e o r g i a P a p a d o p o u l o s , A r D i r e c t o r ; a n H a r r y B l a i r , o u i l l u s t r a t o r .

C O M P U T E ! B o o k s i a d i v i s i o n o S m a l l S y s t e m S e r v i c e sp u b l i s h e r s o f C O M P U T E ! M a g a z i n e .

E d i t o r i a l o f f i c e s a r l o c a t e d a 5 0 E d w a r d i a D r i v e , G r e e n s b o r o , N 2 7 4 0 9 U S A . 9 1 9 - 2 7 5 -

I

Page 7: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 7/260

Page 8: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 8/260

C o m m o d o r eP e r s p e c t i v e

R o b e r t J C r o w e l lT h h i s t o r y o t h C o m m o d o r e P E T c o m p u t e r i v e r y i n t e r e s t i n ga n m o s t l y u n k n o w n s t o r y . F o t h b e n e f i t o t h v a s t g r o u p o C o m m o d o r e P E o w n e r s , h e r e i b r i e f h i s t o r y , f r o m t h a u t h o r ' se x p e r i e n c e , o t h e e v o l u t i o n o f t h e C o m m o d o r e P E T .T h s t o r y o f t h e C o m m o d o r e P E c o m p u t e r b e g a n i 1 9 7 4 .M O T e c h n o l o g y , s e m i c o n d u c t o r r e s e a r c h a n m a n u f a c t u r i n gc o m p a n y i N o r r i s t o w n , P A . , w a p a r t i a l l y p u r c h a s e d b C o m m o d o r e . T h i s p u r c h a s e g a v e C o m m o d o r e n e t e c h n o l o g i c a l' p o o r t d r a w f r o m . I n 1 9 7 5 , t h f o u n d e r s o M O T e c h n o l o g y ,s o m e o w h o m w e r e f r o m t h M o t o r o l a 6 8 0 0 ( m i c r o p r o c e s s o r ) d e s i g ng r o u p , f e l t t h a t t h e y c o u l d i m p r o v e o t h 6 8 0 0 m i c r o p r o c e s s o r .T h r e s u l t a n t r e s e a r c h a n d e v e l o p m e n t l e t t h a n n o u n c e m e n to w h o l e n e s e r i e s o i n t e g r a t e d c i r c u i t s , t h 6 5 0 0 s e r i e s . T h 6 5 0 2 C P " C o m p u t e r o c h i p " m i c r o p r o c e s s o r a n f u t u r e C P o t h P E w a b o r n . T h a n n o u n c e m e n t o t h i s f a m i l y o c h i p s d i n o a r o u s e m u c h e x c i t e m e n t e x c e p t i e n g i n e e r i n g c i r c l e s . A t h p r o d u c t d a t a s h e e t s o t h i s n e f a m i l y o c h i p s w e r e c i r c u l a t e d ,e n g i n e e r s s p e n t m a n y h o u r s d i s c u s s i n g t h f u t u r e a p p l i c a t i o n s o t h 6 5 0 2 C P U , P A s V A s a n o t h e r e s o t e r i c t e c h n o l o g i c a l m a r v e l s .

A t h i s t i m e , d u r i n g e a r l y 1 9 7 6 , t h m i c r o c o m p u t e r i n d u s t r yc o n s i s t e d o f r e l a t i v e l y s m a l l n u m b e r o e n g i n e e r i n g t y p e h o b b y i s t sh a p p i l y a s s e m b l i n g f e m i c r o c o m p u t e r s ( t h e f i r s t m i c r o c o m p u t e r sw e r e p r o d u c e d i k i f o r m ) . S o o n v a r i o u s a r t i c l e s b e g a n a p p e a r i n gt h a t h e r a l d e d t h a v a i l a b i l i t y o m i c r o c o m p u t e r s f o e v e r y o n e .

H o m a n y o t h e s e " c o m p u t e r s o b o a r d " w o u l d s e l l ? N o n a t h a t t i m e c o u l d e s t i m a t e t h m a r k e t f o t e c h n o l o g i c a l l y n e p r o d u c t l i k e m i c r o c o m p u t e r s . A a d v e r t i s e m e n t s o t h i s n e p r o d u c t c o n t i n u e d c i r c u l a t i n g , t h i n f a n t " h o b b y i s t " m a r k e t b e g a nc l a m o r i n g f o a t t e n t i o n b o r d e r i n g t h o u s a n d s o f t h e s e u n i t s , m o s t l yo c a s h p r e p a i d b a s i s . S e n d i y o u r f u n d s a n w a i t t h r e e t s i m o n t h s f o y o u r u n i t t a r r i v e !

D u r i n g t h i s p e r i o d t h e e n g i n e e r s a M O T e c h n o l o g y , h a v i n gr e c e n t l y b e e n a c q u a i n t e d w i t h t h i s n e i n d u s t r y , a n n o u n c e d t h a tt h e y w o u l d i n t r o d u c e n e c o m p u t e r o b o a r d c a l l e d t h K I M - 1 .T h K I M - 1 , w i t h t h 6 5 0 2 a t h C P U / b r a i n , b e c a m e a s u c c e s sb e f o r e t h f i r s t u n i t c a m e o f t h a s s e m b l y l i n e . T h " f a t h e r u n i t " o f

Page 9: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 9/260

t h P E w a b o r n .T h o u s a n d s u p o n t h o u s a n d s o K I M s w e r e s u b s e q u e n t l y s o l d a t h h o b b y i s t , i n d u s t r i a l , a n e d u c a t i o n a l m a r k e t s a d o p t e d t h K I M - 1 w i t h o p e n a r m s . R e m e m b e r , t h K I M - 1 w a d e s i g n e d f o e a s yu s e . A l y o h a t d w a h o o k u y o u r o w p o w e r s u p p l y , h o o ku c a s s e t t e , a n d a w a y y o u w e n t h a p p i l y p r o g r a m m i n g i h e x a d e c i m a l f o r m a t ! E v e n a t h i s e a r l y s t a g e i w a e v i d e n t t s o m ep e o p l e t h a t t h K I M ' s d a y s w e r e n u m b e r e d . S o o n e r o l a t e r t h v a r i o u s m a r k e t s d e m a n d i n g t h K I M - 1 w o u l d b e c o m es e m i - s a t u r a t e d .

D u r i n g t h e i n t r o d u c t i o n o t h K I M , v a g u e s h a p e b e g a nf o r m i n g i t h m i n d o s e n i o r e n g i n e e r a M O S . W h n o d e s i g nK I M - l i k e u n i t t h a t w o u l d c o n t a i n p o w e r s u p p l y , a i n t e r p r e t i v el a n g u a g e ( B A S I C ) t a l l o w n o n - t e c h n i c a l p e o p l e t p r o g r a m i t C R v i d e o d i s p l a y , a n k e y b o a r d ? C o u l d p r o d u c t l i k e t h a t b s o l d ? W h w o u l d b u y i t H o w o u l d t h u n i t b m a r k e t e d ?

A t h K I M - 1 e n j o y e d v a s t a m o u n t o s u c c e s s , M O T e c h n o l o g y w a s e l l i n g i n t e g r a t e d c i r c u i t s f o r u s i n c a l c u l a t o r s a n o t h e r p r o d u c t s . ( A l l y o u A p p l e o w n e r s c a t h a n k M O T e c h n o l o g yf o t h 6 5 0 2 M i c r o p o r c e s s o r ! ) E n t e r C o m m o d o r e i a b i g w a y !C o m m o d o r e , c u s t o m e r a n p a r t i a l s t o c k h o l d e r o f M O S , w a o n o f t h e e a r l i e s t m a n u f a c t u r e r s o h a n d h e l d c a l c u l a t o r s . M O T e c h n o l o g y h a t h e c h i p d e v e l o p m e n t a n m a n u f a c t u r i n gc a p a b i l i t i e s t p r o d u c e c h i p s i l a r g e q u a n t i t i e s , b u d i n o h a v ec o n s u m e r - o r i e n t e d m a r k e t i n g s t a f f . C o m m o d o r e d i n o h a v e a n l a r g e c h i p m a n u f a c t u r i n g c a p a b i l i t y , b u w a e s s e n t i a l l y m a r k e t i n gf i r m w i t h o f f s h o r e c a l c u l a t o r m a n u f a c t u r i n g c a p a b i l i t i e s . T h m a t c hw a o b v i o u s a n v e r y q u i c k " t a k e o v e r " w a a r r a n g e d . T h r e s u l tw a t h a t C o m m o d o r e b e c a m e v e r t i c a l l y i n t e g r a t e d c o m p a n y ,d e s i g n i n g a n m a n u f a c t u r i n g c h i p s o o n e e n d a n s e l l i n g t h f i n i s h e d p r o d u c t o t h o t h e r e n d . T h i s ' v e r t i c a l i n t e g r a t i o n , i nc o n j u n c t i o n w i t h t h o v e r s e a s a r o C o m m o d o r e , l a i d t h f o u n d a t i o n t h a t a l l o w e d C o m m o d o r e t a n n o u n c e t h a t a e n t i r e l yn e p r o d u c t w a c o m i n g . B y D e c e m b e r o 1 9 7 6 , C o m m o d o r e ' ss t o c k h a d j u m p e d f r o m 4 V t 7

W h w o u l d b u y t h u n i t ? A w h a t p r i c e ? W h a t d w c a l l i t A t h i s n e u n i t w o u l d p r o b a b l y b s o l d d i r e c t l y t o u s e r s i n t h h o m e , a a c c e p t a b l e n a m e h a t b c r e a t e d . R e m e m b e r , i 1 9 7 7 ,v e r y f e p e o p l e h a f i r m u n d e r s t a n d i n g o t h i s n e m a r k e t , a n t h g e n e r a l c o n s e n s u s w a t h a t t h l i o n ' s s h a r e o f t h m a r k e t w o u l db p e o p l e u t i l i z i n g t h u n i t f o " p e r s o n a l " t r a n s a c t i o n s . S i n c ec o m p u t e r s w e r e " s c a r y " t t h e a v e r a g e p e r s o n ( t h e y f i l l e n t i r e r o o m s

Page 10: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 10/260

G e t t i n g S t a r t e d

a n c o s t m i l l i o n s o d o l l a r s , d o n ' t t h e y ? ) , n i c e , c o m f o r t a b l ep r o d u c t n a m e h a t b c r e a t e d . T h n a m e P e r s o n a l E l e c t r o n i cT r a n s a c t o r w a q u i t e a m o u t h f u l , b u t , a w a o r i g i n a l l y p l a n n e d , t h a c r o n y m P . E . T . b e c a m e t h e a c c e p t e d n a m e .

T h o r i g i n a l p r i c i n g o t h u n i t w a a n n o u n c e d i m i d - 1 9 7 7 a $ 4 9 5 f o t h 4 R A u n i t . T h p r i c e q u i c k l y w e n t t $ 5 9 5 f o t h 4 u n i t a n $ 7 9 5 8 ( o p t i o n a l ) u n i t w a a n n o u n c e d .

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

g o o d p o s s i b i l i t y o m a s s m a r k e t , y o m i g h t m a k e s m a l l p r o f i t s ( i a n y ) a t h e b e g i n n i n g , a n y o m a k e i u i f u t u r e l a r g e v o l u m ep r o d u c t i o n . O c o u r s e , l o p r i c e a l s o h e l p s t p r e c l u d e m a r k e te n t r y f r o m c o m p e t i t o r s . A u l t e r i o r p r i c i n g m o t i v e m a h a v e b e e nt a n n o u n c e p r i c e t h a t w o u l d r e m a i n s t a b l e . I t h m i 1 9 7 0 ' s t h p r i c i n g i n t h c a l c u l a t o r m a r k e t c o n t i n u o u s l y d e c r e a s e d a c o m p a n i e s " s k i m m e d " t h m a r k e t w i t h o n l o w e r p r i c e p o i n t a f t e ra n o t h e r . D u t t h e s e r e g u l a r d e c r e a s e s i p r i c e , t h p u r c h a s i n gp u b l i c b e g a n w a i t i n g f o l o w e r p r i c e s b e f o r e t h e y p u r c h a s e d . I t h P E w a a n n o u n c e d a h i g h e r p r i c e , s a a $ 1 1 9 5 a n t h e nd r o p p e d t $ 9 9 5 a n t h e n a g a i n t $ 7 9 5 t h m a r k e t w o u l d p o s s i b l yh a v e w a i t e d f o e v e n l o w e r p r i c e p o i n t s . A t h P E T , b i t v e r yn a t u r e , w o u l d h a v e m u c h l o n g e r p r o d u c t l i f e c y c l e t h a nc a l c u l a t o r p r o d u c t , s t a b l e p r i c i n g p o l i c y b e c a m e a i m p o r t a n tc o n s i d e r a t i o n .

I J u n e o 1 9 7 7 , C o m m o d o r e u n v e i l e d t h P E a t h C o n s u m e r E l e c t r o n i c s S h o w i C h i c a g o . T h e r e w a s t h P E T , a m i d s ta l t h C o m m o d o r e c a l c u l a t o r s . T h p u b l i c w e n t w i l d . p e r s o n a l l ys t o o d t h e r e a n l i k e m a n y o t h e r s w r o t e o u t c h e c k ( a f u l l r e t a i l ) t C o m m o d o r e t p u r c h a s e P E T . w a t c h e d o n e p e r s o n p u r c h a s e f o u ru n i t s . D u r i n g t h e t h r e e - d a y S h o w , C o m m o d o r e ' s s t o c k a g a i nj u m p e d , t h i s t i m e t 9 l A .

C o m m o d o r e o r i g i n a l l y a n n o u n c e d t h a t t h P E w a c a p a b l e o h a n d l i n g m a n y d i f f e r e n t t a s k s , e s p e c i a l l y w i t h t h e i r " s o o n t b a v a i l a b l e " 2 0 2 0 p r i n t e r . M a n y o t h e s e p o t e n t i a l u s e s w o u l d , o c o u r s e , r e q u i r e a p r i n t e r a w e l l a s u p p o r t f r o m C o m m o d o r e .H o w e v e r , C o m m o d o r e n e v e r h a c h a n c e . A f t e r P o p u l a r S c i e n c ep u t h P E o i t ' s c o v e r t h e d e m a n d f o t h P E e x p l o d e d .C o m m o d o r e q u o t e d 3 0 - d a y d e l i v e r y , t h e n 6 0 t h e n 9 0 t h e n a a s t o u n d i n g 4 - m o n t h s ! R e m e m b e r , t h e s e w e r e a l p r e p a i d o r d e r s .C o m m o d o r e w a i n u n d a t e d w i t h c u s t o m e r o r d e r s , d e a l e r i n q u i r i e s ,a n r e q u e s t s f o i n f o r m a t i o n . D u t t h s i z e o C o m m o d o r e ' s s t a f f ,

Page 11: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 11/260

m a n y r e q u e s t s w e n t u n a n s w e r e d , a C o m m o d o r e c o n c e n t r a t e d o t h t a s k a h a n d p r o d u c i n g a m a n y P E T s a s p o s s i b l e .A C o m m o d o r e w a m a r k e t i n g t h P E d i r e c t l y t c o n s u m e r s ,

t h 4 t 5 d e a l e r i n q u i r i e s r e c e i v e d p e d a p i l e d u p f e p e r s i s t e n t d e a l e r s c o n t i n u e d t c l a m o r f o a t t e n t i o n .

D u t t h a b s o l u t e l y i n c r e d i b l e d e m a n d f o t h P E T ,C o m m o d o r e w a e x t r e m e l y s e l e c t i v e o i t d e a l e r s . C o m m o d o r er e q u i r e d s e r v i c e t e c h n i c i a n , r e t a i l o u t l e t , a e x c e l l e n t c r e d i th i s t o r y , a n c a s h d e p o s i t o f u t u r e o r d e r s . T h c a s h d e p o s i tw e e d e d o u l a r g e p e r c e n t a g e o p o t e n t i a l d e a l e r s a n l e f tC o m m o d o r e w i t h o n l y f i n a n c i a l l y s t r o n g d e a l e r s t c h o o s e f r o m .t r e m e n d o u s c o m m i t m e n t t t h f u t u r e o f t h e P E a n t C o m m o d o r e w a r e q u i r e d f o p r o s p e c t i v e d e a l e r t o s e n d c e r t i f i e dc h e c k f o a l a r g e a m o u n t o m o n e y , w i t h n i d e a w h e n t e x p e c tt h e i r d e p o s i t s b a c k . T h r e q u i r e d c a s h d e p o s i t a l s o s u p p l i e dC o m m o d o r e w i t h s h o r t - t e r m w o r k i n g c a p i t a l , a l l o w i n g t h e m t m a x i m i z e p r o d u c t i o n . I e a r l y 1 9 7 8 , a d e m a n d c o n t i n u e d t e x p a n d , t h C o m m o d o r e P E d e a l e r n e t w o r k w a s s t a r t e d .

T h d e a l e r s w h w e r e s e l e c t e d f o u n d t h e m s e l v e s a b l e t o r e q u i r ep r e p a y m e n t f r o m c u s t o m e r s : i e c o n o m i c t e r m s , v e r t i c a l t r a n s f e ro f u n d s . C o m m o d o r e r e q u i r e d d e p o s i t f u n d s a n i t u r n , t h d e a l e r r e q u i r e d p r e p a y m e n t ; d e l i v e r y t o c u s t o m e r s ( f r o m d e a l e r s )w a n o 3 0 - 6 0 d a y s . T h p u r c h a s i n g p u b l i c p r e p a i d a n p r e p a i d .C o m m o d o r e ' s s t o c k r o s e a n r o s e .

A v o l u m e p r o d u c t i o n b e g a n i e a r n e s t , C o m m o d o r e ( a s s u m e ) r e a l i z e d t h a t w i t h i n y e a r o r s P E p r o d u c t i o n a n t h e r e f o r e s u p p l y w o u l d b c l o s e t o P E d e m a n d . C o m m o d o r e h a i n c r e a s e d p r o d u c t i o n , b u h a n o i n c r e a s e d t h e i r m a r k e t i n g s t a f f t s u p p o r t t h l a r g e n u m b e r s o P E T s b e i n g d e l i v e r e d . A t h P E i c o m p u t e r , m a n y u s e r a n d e a l e r q u e s t i o n s a r o s e . M o s t o f t h e s eq u e s t i o n s w e n t u n a n s w e r e d a t h s m a l l m a r k e t i n g s t a f f a tC o m m o d o r e w a t a x e d t t h l i m i t . I o r d e r t e x p a n d t h m a r k e t sf o t h P E T , c r a s h e f f o r t b e g a n t b r i n g t h e l o n g - a w a i t e dp e r i p h e r a l p r i n t e r t o m a r k e t .

P r o b l e m a f t e r p r o b l e m d e v e l o p e d , v e n d o r d e s i g n s w e r ee x a m i n e d , t e s t e d , a n d i s c a r d e d o n b o n e . p r i n t h e a d w a sf i n a l l y a c c e p t e d a n C o m m o d o r e a n n o u n c e d t h a t t h e l o n g a w a i t e dp r i n t e r w o u l d g i n t o i m m e d i a t e p r o d u c t i o n w i t h d e l i v e r i e sc o m m e n c i n g i f e m o n t h s . A f t e r t h i s p u b l i c a n n o u n c e m e n t , i J a n u a r y o 1 9 7 8 , C o m m o d o r e f o u n d t h a t t h p r i n t h e a d t h e y h a s e l e c t e d d i n o p e r f o r m w i t h i n t h s p e c i f i e d e n g i n e e r i n gp a r a m e t e r s . T h p r i n t h e a d m e c h a n i s m d e v e l o p e d p r o b l e m s a f t e r

Page 12: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 12/260

G e t t i n g S t a r t e d

c o n t i n u o u s u s e . A i n c r e a s e i n p r i c e w a a n n o u n c e d h o p i n g ( a s s u m e ) t h a t t h e x t r a p r o j e c t e d p r o f i t s w o u l d j u s t i f y q u i c k r e e n g i n e e r i n g o f t h e u n i t . H o w e v e r , t h i s w a n o t h a p p e n . T h p r i n th e a d p r o b l e m , c o u p l e d w i t h o t h e r p r o b l e m s w a e n o u g h t o f o r c eC o m m o d o r e t c a n c e l t h e 2 0 2 0 p r i n t e r . B a c k t t h d r a w i n g b o a r d .W i t h i n f e m o n t h s , C o m m o d o r e a n n o u n c e d t h a t t h e y w o u l dc o m e o u t w i t h t w n e p r i n t e r s , a h i g h e r p r i c e s , a s o m e p o i n t i t h f u t u r e .

M a n y c u s t o m e r s h a p r e p a i d 2 0 2 0 p r i n t e r o t d e r s a n t h l a c ko i n f o r m a t i o n f r o m C o m m o d o r e o t h e i r o r d e r s , c o u p l e d w i t h t h l a c k o g o o d d o c u m e n t a t i o n o t h P E T , s t r a i n e d c u s t o m e r a n d e a l e r r e l a t i o n s . I t h m i d s t o a l t h e s e p r o b l e m s , l a r g e r p r o b l e ma r o s e . P E p r o d u c t i o n w a r i s i n g f a s t e r t h a n P E d e m a n d a n s o o n

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

u p p e r e c h e l o n p e r s o n n e l t a s s i s t C o m m o d o r e i t h t r a n s i t i o nf r o m t h m a r k e t i n g o f t h e 8 P E t t h m a r k e t i n g o f t h e C B b u s i n e s s s y s t e m ( l a r g e k e y b o a r d P E T s a n p e r i p h e r a l s ) . s e c o n d a r yc h a r t e r f o t h n e w , u p g r a d e d m a r k e t i n g d e p a r t m e n t w a t e x p a n dt h c h a i n o d i s t r i b u t i o n .

T h n e p e r s o n n e l b e g a n t s u p p o r t t h C o m m o d o r e P E l i n ew h i c h w o u l d s o o n i n c l u d e t h b u s i n e s s p e r i p h e r a l s : t h 2 0 4 0 D u a lF l o p p y D i s k D r i v e , a n t h 2 0 2 3 a n 2 0 2 2 p r i n t e r s . W i t h t h n e l a r g e k e y b o a r d P E T s , C o m m o d o r e i n t r o d u c e d t h l o n g a w a i t e du p d a t e d v e r s i o n o t h e i r o p e r a t i n g s y s t e m a n o f f e r e d R O R e t r o f i t K i t 8 o w n e r s . T h i s R O R e t r o f i t K i t , w h i l e e l i m i n a t i n gt h m a j o r p r o b l e m s o f t h e 8 o p e r a t i n g s y s t e m , a l s o a l l o w e d 8 o w n e r s t u t i l i z e t h n e 2 0 4 0 D u a l D i s k . U u n t i l t h i s t i m e ,C o m m o d o r e h a o n l y o n p r o d u c t t w o r r y a b o u t , t h e 8 P E T .H o w e v e r , w i t h t h s t a r t o p r o d u c t i o n o t h n e u n i t s , s u d d e n l yC o m m o d o r e h a e i g h t p r o d u c t s t w o r r y a b o u t . I F e b r u a r y o 1 9 7 9 , c o n c u r r e n t w i t h t h i s n e p r o d u c t i o n , C o m m o d o r ec o n s o l i d a t e d t h e i r o p e r a t i o n s ( p r e v i o u s l y i t h r e e d i f f e r e n t l o c a t i o n si t h P a l o A l t o , C a l i f o r n i a a r e a ) u n d e r o n r o o f . C o m m o d o r e ' sn e 6 0 , 0 0 0 s q u a r e f o o t f a c i l i t y i S a n t a C l a r a t r e m e n d o u s l ys i m p l i f i e d p r o d u c t i o n a n o t h e r l o g i s t i c s .

I A p r i l o 1 9 7 9 , a l o f t h e n e b u s i n e s s p e r i p h e r a l s b e c a m ea v a i l a b l e s u d d e n l y , a l t h c o m p o n e n t s r e q u i r e d f o b u s i n e s ss y s t e m ( C P U , D i s k S t o r a g e , a n p r i n t e r ) w e r e a v a i l a b l e . O w n e r sa n d e a l e r s s c r a m b l e d t u n d e r s t a n d t h 2 0 4 0 D i s k o p e r a t i n gs y s t e m a n t w r i t e / m o d i f y b u s i n e s s s o f t w a r e t r u o t h i s s y s t e m .M a n y p e o p l e i t h i n d u s t r y t h o u g h t t h a t d e m a n d w o u l d i n c r e a s e

Page 13: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 13/260

G e t t i n g S t a r t e d

o n c e f u l l s y s t e m c o n f i g u r a t i o n a n s o f t w a r e w e r e a v a i l a b l e .H o w e v e r t h m a r k e t d i d n ' t e v e n w a i t f o t h e s o f t w a r e a n d e m a n di n c r e a s e d t r e m e n d o u s l y . I A p r i l o f 1 9 7 9 , C o m m o d o r e a n n o u n c e dt h a t t h e y h a a p p o i n t e d f i v e r e g i o n a l d i s t r i b u t o r s ( a i m p o r t a n t a n n e c e s s a r y m o v e ) t p r o v i d e f r o n t e n m a r k e t i n g a n l o g i s t i c s u p p o r tt s m a l l e r a n n e d e a l e r s . A t h i s t i m e C o m m o d o r e a n n o u n c e d a e d u c a t i o n a l b l o c k b u s t e r . F o e v e r y t w 8 u n i t s p u r c h a s e d a r e t a i l( f r o m d e a l e r ) , C o m m o d o r e w o u l d s u p p l y t h s c h o o l w i t h o n f r e e8 u n i t ; a e f f e c t i v e d i s c o u n t o 3 3 1 / 3 % ! M a n y p e o p l e i t h i n d u s t r y s u g g e s t e d t h a t t h i s w a C o m m o d o r e ' s m e t h o d o c l e a n i n go u t h e x i s t i n g s t o c k o f 8 u n i t s . T h i s w a n o c o m p l e t e l y t r u e .S i n c e t h e a n n o u n c e m e n t o f t h e P E T , C o m m o d o r e h a n o d i r e c t l ya d v e r t i s e d t h P E T . R a t h e r t h a n a d v e r t i s e n a t i o n a l l y o p r o d u c tt h a t w a e x p e r i e n c i n g s t r o n g d e m a n d , C o m m o d o r e d e c i d e d t s u p p o r t t h e e d u c a t i o n a l m a r k e t . T h i s p r o g r a m a c h i e v e d i t g o a l o m o v i n g t h 8 u n i t , i n l a r g e n u m b e r s , i n t o t h e e d u c a t i o n a l m a r k e t s .

D e m a n d c o n t i n u e d u n a b a t e d o t h e n t i r e C o m m o d o r ep r o d u c t l i n e . A t h J u n e , 1 9 7 9 N a t i o n a l C o m p u t e r C o n f e r e n c e i N e Y o r k , C o m m o d o r e a n n o u n c e d W o r d P r o c e s s i n g p r o g r a mw r i t t e n f o t h P E s y s t e m . T h i s e x c e l l e n t p r o g r a m w a s m i l e s t o n ei t h e e v o l u t i o n o t h P E s y s t e m a i w a t h f i r s t v i a b l e b u s i n e s s -o r i e n t e d s o f t w a r e t h a t w o u l d b m a s s m a r k e t e d b C o m m o d o r e .S o o n t h e r e a f t e r , v a r i o u s d i s t r i b u t o r s a n n o u n c e d f u l l l i n e o b u s i n e s s p r o g r a m s i n c l u d i n g G e n e r a l L e d g e r , M a i l i n g L i s t , a n t h n e W o r d P r o c e s s i n g S y s t e m . F o r t h f i r s t t i m e , f a i r l y c o m p l e t e s e o f b u s i n e s s s o f t w a r e w a a v a i l a b l e f o t h C o m m o d o r e S y s t e m .D u r i n g J u n e o 1 9 7 9 C o m m o d o r e ' s s t o c k , h a v i n g a l m o s tc o n t i n u o u s l y r i s e n , r e a c h e d a a l l - t i m e h i g h o 4 5 / 8 !

I m o p i n i o n , t h e C o m m o d o r e s y s t e m h a s t h p o t e n t i a l o b e c o m i n g t h m o s t p o p u l a r a n w i d e l y u s e d s m a l l b u s i n e s s s y s t e mo 1 9 8 0 . N e p r o d u c t s , a m o n g t h e m a 8 v e r s i o n w i t h a l a r g ek e y b o a r d , a r b e i n g d e v e l o p e d . T h e a r l y 1 9 8 0 ' s w i l l p r o v e t b a e x c i t i n g p e r i o d a t h P E s y s t e m b e c o m e s m o r e p o w e r f u l . I C o m m o d o r e c o n t i n u e s t k e e p t h e n d c o n s u m e r i m i n d a n s u p p o r t s t h e i r d i s t r i b u t o r a n d e a l e r n e t w o r k , e x p e c t t h eC o m m o d o r e p r o d u c t l i n e t c o n t i n u e a c h i e v i n g s u c c e s s . A o t h e rm a n u f a c t u r e r s e n t e r t h e s m a l l c o m p u t e r m a r k e t , w i t h b u s i n e s ss y s t e m s n o f a b e h i n d , w c a e x p e c t t s e C o m m o d o r e M a r k e t i n gm a i n t a i n i n g t h e i r n e e m p h a s i s .

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

Page 14: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 14/260

m a n y p r o b l e m p e r i o d s ; t h f a c t r e m a i n s t h a t t h P E i o n o f t h em o s t p o w e r f u l a n p o p u l a r m i c r o c o m p u t e r s a n w a o n o t h m a j o r f o r c e s b e h i n d t h n e e r o f s m a l l c o m p u t e r s .

M c o n g r a t u l a t i o n s t C o m m o d o r e .

Page 15: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 15/260

R O M - a n t i c t h o u g h t sJ i B u t t e r f i e l d

S h o u l d y o u u p g r a d e t n e R O s e t ?

H e r e c o m e s a n o t h e r R O s e o t w f r o m C o m m o d o r e , a n o n c ea g a i n t h u s e r w i l l n e e d t m a k e t h d e c i s i o n : s h o u l d u p g r a d e ?

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

B A S I C p r o g r a m s w i l l , a a l w a y s , r e m a i n c o m p a t i b l e , s l o n g a t h e y d o n ' t b r i s t l e w i t h o b s c u r e P E E K s a n P O K E s . M a c h i n el a n g u a g e i t s e l f d o e s n ' t c h a n g e , b u p r o g r a m s w h i c h u s r o u t i n e sb u i l t i n t o t h R O M s w i l l n e e d c h a n g i n g s i n c e t h r o u t i n e s w i l l h a v em o v e d t n e l o c a t i o n s . S o m e c o m m e r c i a l m a c h i n e l a n g u a g ep r o g r a m s w i l l s u r v i v e t r a n s f e r t n e R O M s , b u m a n y w o n ' t .

m o r e s u b t l e p r o b l e m c r e e p s i n A t h m a c h i n e i e n h a n c e d ,p r o g r a m s w i l l s t a r t t u s t h n e b u i l t - i n f e a t u r e s , a n u s e r s m a f i n d t h e m s e l v e s h a v i n g t r e t r o - c o n v e r t t h e s e s o t h a t t h e y w i l l r u o o l d e r s y s t e m s . c o m m a n d s u c h a D O P E N i c o n v e n i e n t a n c o m p a c t , b u u s e r s w h h a v e n ' t c o n v e r t e d u w i l l h a v e t o t r a n s l a t et h i s t t h a p p r o p r i a t e O P E N 1 , 8 , 3 . c o m m a n d . N e d i s kf e a t u r e s w i l l b e - p a r t i c u l a r l y n o t i c e a b l e f o t h i s . N e s y s t e m s , f o e x a m p l e , w o n ' t n e e d t i n i t i a l i z e d i s k a n w i l l o f f e r v e r y s i m p l e d i s ke r r o r c h e c k i n g ; o l d e r s y s t e m s w i l l n e e d t a d e x t r a c o d i n g t d t h e s e . S o m e n e d i s k f e a t u r e s s u c h a A P P E N D o R e l a t i v e f i l e sh a v e n c o u n t e r p a r t o t h e o l d s y s t e m s .S o m e t e r m i n o l o g y :C o m m o d o r e i c u r r e n t l y r e f e r r i n g t o R O s e t s b m e a n s o n u m b e r i n g s c h e m e . T h e y t r a n s l a t e r o u g h l y a f o l l o w s :B A S I C L O r i g i n a l R O M , a f i t t e d i t h e a r l y 4 a n 8 P E T S .

N o g o o d f o d i s k I / O ; a r r a y s l i m i t e d t 2 5 e l e m e n t s ; c a s s e t t et a p e f i l e s l i t t l e a w k w a r d .

B A S I C 2 . U p g r a d e R O M , f i t t e d o m o r e r e c e n t m a c h i n e s . G a b a g e c o l l e c t i o n s t i l l p r o b l e m . K e y b o a r d / d i s k i n t e r f a c e r a t h e rc l u m s y . B u i l t - i n m a c h i n e l a n g u a g e m o n i t o r . L i n e f e e d o u t p u tt I E E E m i n o r p r o b l e m .

B a s i c 4 . N e R O M , c u r r e n t l y b e i n g r e l e a s e d . D i s k c o m m a n db u i l t i n t o B A S I C . G a r b a g e c o l l e c t i o n f a s t , a n L i n e f e e d p r o bl e e l i m i n a t e d . U s e s m o r e R O s p a c e . A v a i l a b l e f o b o t h

Page 16: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 16/260

G e t t i n g S t a r t e d

4 0 a n 8 0 - c o l u m n m a c h i n e s , b u t n o t f o o r i g i n a l P E T 8 Kh a r d w a r e .B A S I C 5 . B u s i n e s s R O M , n o y e r e l e a s e d . R u m o r e d t h a v e

m a n y B A S I C e n h a n c e m e n t s , i n c l u d i n g h i g h - p r e c i s i o n d e c i m a la r i t h m e t i c .

B A S I C 2 . a n 4 . h a v e a l t e r n a t e v e r s i o n s f o t h t w t y p e s o k e y b o a r d g r a p h i c s o b u s i n e s s .D i s k s y s t e m s :D O 1 . O r i g i n a l 2 0 4 0 d i s k s y s t e m * I N I T I A L I Z E c o m m a n dn e e d e d ; R E N A M E s o m e t i m e s d o e s n ' t w o r k .D O 2 . N e s y s t e m , c u r r e n t l y b e i n g r e l e a s e d - I N I T I A L I Z E

n o n e e d e d , b u a l l o w e d . R e l a t i v e f i l e s a n A P P E N D c o m m a n di m p l e m e n t e d . F a s t B A C K U P c o m m a n d . C a b r e t r o f i t t e d t e a r l y 2 0 4 0 u n i t s . T h e n e w 8 0 5 0 d i s k s y s t e m w i l l h a v e c h a r a ct e r i s t i c s s i m i l a r t D O 2 .

P r i n t e r R O s y s t e m s h a v e n ' t s e t t l e d d o w n y e t . T h e r e a r t w s y s t e m s a v a i l a b l e , b u b o t h h a v e m i n o r p r o b l e m s ; t h i r d i r u m o r e d .U p g r a d i n g : t h O p t i o n sU s e r s w h s t i l l h a v e B A S I C 1 . s h o u l d u p g r a d e , a t l e a s t t B A S I C2 . 0 . T h e r e a r t o m a n y g o o d t h i n g s a v a i l a b l e .

T h o r i g i n a l 8 m a c h i n e s c a n n o t b e r e a d i l y u p g r a d e d b e y o n dB A S I C 2 . 0 ; t h e i r h a r d w a r e w o n ' t s u p p o r t B A S I C 4 . 0 .

I t ' s n o n e c e s s a r y t u p g r a d e b o t h B A S I C a n D O R O M s a t h s a m e t i m e , b u i t ' s p r o b a b l y g o o d i d e a . B A S I C 4 . a n D O 2 . w o r k h a r m o n i o u s l y t o g e t h e r .S w i t c h t B A S I C 4 . i y o n e e d a n o f t h e f o l l o w i n g :

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

S w i t c h t D O 2 . i y o u w a n t t t a k e a d v a n t a g e o f t h e n e A P P E N D f e a t u r e o f t h e p o w e r f u l r e l a t i v e f i l e s t r u c t u r e .I y o s t i l l h a v e o r i g i n a l R O M s ( t h e o n e s t h a t s a * * C O M M O D O R E B A S I C * * u p o n p o w e r - u p ) , p l a n t u p g r a d e .

I t ' s y o u r o p t i o n a t w h e t h e r y o w a n t t s w i t c h t B A S I C4 . a n D O 2 . 0 . I y o l i k e t h n e f e a t u r e s , g a h e a d . B u y o u ' l ls t i l l h a v e g o o d , s e r v i c e a b l e s y s t e m i y o s t a y w i t h u p g r a d e R O ( B A S I C 2 . 0 ) .

U p g r a d i n g t h d i s k f i l e c a n b e t r e a t e d a s e p a r a t e q u e s t i o n .

1

Page 17: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 17/260

G e t t i n g S t a r t e d

T h o r i g i n a l u n i t i e x c e l l e n t f o p r o g r a m S A V E i n g a n L O A D i n g .B u i y o p l a n t d l o o w o r k w i t h d a t a f i l e s , t h n e f e a t u r e so D O 2 . c a l o o k v e r y a t t r a c t i v e .I t ' s y o u r c h o i c e .

1

Page 18: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 18/260

S e t t i n g S t a r t e d

T o k e n s A r e n ' t J u s t f o rS u b w a y s C o n v e n i e n tM e t h o d t L i s t M i c r o s o f t

B A S I C T o k e n sH a r v e y B H e r m a n

T h l a t e s t b u z z w o r d i c o m p u t e r c i r c l e s i " T o k e n s . " h a v e e v e nh e a r d t h v e r b " t o k e n i z e " u s e d i c a s u a l c o n v e r s a t i o n . H o w e v e r , m o b s e r v a t i o n i t h a t m a n y p e o p l e a r s t i l l c o n f u s e d a b o u t t h m e a n i n g o t h i s t e r m a n d w o u l d l i k e t l e a r n m o r e . H o d y o e x p l a i n t s o m e o n e l o o k i n g a t h t a b l e o p 8 o f t h e S p r i n g 1 9 7 9 ,i s s u e o f t h e P E G a z e t t e ( l i s t c o m p i l e d b J i B u t t e r f i e l d ) w h y , f o e x a m p l e , d e c i m a l 1 6 i m e m o r y c a h a v e f o u r o m o r e d i f f e r e n tm e a n i n g s , i n c l u d i n g t h e t h r e e l e t t e r B A S I C k e w o r d G E T ? T h i sa r t i c l e i i n t e n d e d t c l e a r u s o m e o t h c o n f u s i o n ( h o p e ) a n t i l l u s t r a t e c o n v e n i e n t m e t h o d t l i s t a l t h t o k e n s i v a r i o u sv e r s i o n s o M i c r o s o f t B A S I C ( P E T , K I M , S Y M , e t c . ) .

U n d e r s t a n d i n g t o k e n s i n o j u s t a i d l e e x e r c i s e . U s e f u lp r o g r a m s h a v e b e g u n t a p p e a r w h i c h u s " t o k e n k n o w l e d g e " f o s p e c i f i c p u r p o s e s . F o r e x a m p l e , L e L i n d s a y r e c e n t l y p u b l i s h e d ( T h eP E G a z e t t e , S u m m e r , 1 9 7 9 , p 1 0 p r o g r a m t i d e n t i f y P E E K a n P O K E i B A S I C p r o g r a m s s t h e y c a n b e m o r e e a s i l y c o n v e r t e d t r u o P E T s w i t h n e R O M s . T h i s p r o g r a m s e a r c h e s m e m o r y f o t h P E E K a n P O K E t o k e n s a n w o u l d n o w o r k u n l e s s t h e s ev a l u e s a r k n o w n . O t h e r M i c r o s o f t B A S I C s h a v e s i m i l a r , b u n o i d e n t i c a l , l i s t s o t o k e n s . T u s e t h e L i n d s a y p r o g r a m o o t h e rc o m p o n e n t s i p r o b a b l y w o u l d b n e c e s s a r y t c h a n g e t h t o k e nv a l u e s . B A S I C p r o g r a m t l i s t P E t o k e n s i s h o w n a n d i s c u s s e db e l o w .T h p r o g r a m c a b a d a p t e d t o t h e r B A S I C s w i t h o n l y f e c h a n g e s . B e f o r e p r o c e e d i n g t t h a t d i s c u s s i o n , f e w o r d s a b o u tt o k e n s a r e i n o r d e r . T h c o n c e p t u n d e r l y i n g t o k e n s i n o d i f f i c u l tt u n d e r s t a n d . P r o g r a m s a r n o s t o r e d e x a c t l y a t h e y a r t y p e d i n I n s t e a d o f s t o r i n g a l t h c h a r a c t e r s i t h k e y w o r d P R I N T , f o e x a m p l e , P E M i c r o s o f t B A S I C s t o r e s o n l y o n b i c h a r a c t e r ,d e c i m a l v a l u e 1 5 3 . T h i s s a v e s s t o r a g e s p a c e a n s p e e d s u e x e c u t i o no p r o g r a m s . A l t h e t o k e n s a r e g r e a t e r t h a n 1 2 7 , i . e . , t h e i r

1

Page 19: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 19/260

h e x a d e c i m a l v a l u e h a i t m o s t s i g n i f i c a n t b i ( M S B ) s e t . T h B A S I C i n t e r p r e t e r c a r a p i d l y i d e n t i f y t h t o k e n s b c h e c k i n g t h M S a n j u m p i n g t t h e a p p r o p r i a t e s u b r o u t i n e .

T h n u m b e r o t o k e n s i n g i v e n B A S I C d e p e n d s o t h n u m b e r o c o m m a n d s a n f u n c t i o n s w h i c h h a v e b e e n i m p l e m e n t e d .I r e c e n t a r t i c l e o t o k e n s ( M I C R O 1 5 : 2 0 ) l i s t f o O S B A S I Cw a i n c l u d e d w h i c h s h o w e d 6 t o k e n s ( f o r c o m p a r i s o n P E h a 7 5 ) .A l s o , t h P R I N T t o k e n h a t h d e c i m a l v a l u e o 1 5 ( P E T u s e s 1 5 3 ) .T h e s e f a c t s a r c i t e d t e m p h a s i z e t h i m p o r t a n c e o m o d i f y i n gp r o g r a m s w h i c h P E E K a m e m o r y f o p a r t i c u l a r t o k e n s w h e nt r a n s f e r r i n g t h p r o g r a m s t o t h e r c o m p u t e r s . T h v a l u e s m a a c c i d e n t a l l y a g r e e , b u d o n ' t c o u n t o i t

T h p r o g r a m s h o w n i L O A D e d a n R U n o r m a l l y . I c o n v e r t s t h e R E t o k e n s i s t a t e m e n t s 1 2 t 2 0 ( P E T v e r s i o n ) t t h e c o r r e s p o n d i n g l y n u m b e r e d t o k e n a n t e r m i n a t e s w i t h l i s t o t h t o k e n s a n t h e i r d e c i m a l a n h e x a d e c i m a l e q u i v a l e n t s . N o t e t h p r o g r a m w i l l n o r u s e c o n d t i m e w i t h s i m p l e R U c o m m a n d a t h f i r s t R E h a b e e n r e p l a c e d w i t h a E N ( t r y R U 5 0 i n s t e a d ) . T h P E v e r s i o n c a n b e l i s t e d o p r i n t e r , i a v a i l a b l e , b d e l e t i n g t h R E i s t a t e m e n t 5 0 a n p r o p e r l y c l o s i n g t h f i l ea f t e r t h p r o g r a m e n d s .

I y o a r u s i n g t h i s p r o g r a m o a n o t h e r c o m p u t e r ( K I M o S Y M ) t h n u m b e r o t o k e n s w i l l n e e d t b c h a n g e d . T h p r o p e rv a l u e c a b f o u n d b t r i a l a n e r r o r . W h e n t h n u m b e r o t o k e n s i l e s s , a e r r o r w i l l b p r i n t e d w h e n t h l i s t i s t a t e m e n t 5 5 a t t e m p t s t p r i n t a i n v a l i d t o k e n . T h n u m b e r o f t h e l a s t p r i n t e dt o k e n i u s e d t o c o r r e c t s t a t e m e n t 5 5 0 . T h R E c o m m e n t s w i l lh e l p i l o c a t i n g o t h e r s t a t e m e n t s w h i c h u s t h n u m b e r o t o k e n sa n n e e d c o r r e c t i o n . W h e n t h n u m b e r o t o k e n s i g r e a t e r t h a n t h P E T , m o r e i n i t i a l R E M s s h o u l d b a d d e d ( 2 0 3 a n a b o v e ) , a n t h n u m b e r o t o k e n s i n c r e a s e d a p p r o p r i a t e l y u n t i l a i n v a l i d t o k e nc a u s e s a e r r o r m e s s a g e a a b o v e .

W h a t e v e r c o m p u t e r i b e i n g u s e d , t h l i s t o t o k e n s s h o u l d b k e p t h a n d y a i i a i n v a l u a b l e a i d i n u n d e r s t a n d i n g a n m o d i f y i n g p r o g r a m s w r i t t e n f o o t h e r s y s t e m s .1 2 R E 8 1 3 R E 8 1 7 R E M A A 1 7 R E B 1 2 R E 8 1 3 R E 8 1 7 R E A 1 8 R E B 1 3 R E 8 1 3 R E 8 1 7 R E M A C 1 8 R E B 1 3 R E 8 1 4 R E 8 1 7 R E M A D 1 8 R E B 1 3 R E 8 1 4 R E 8 D 1 7 4 R E A 1 8 R E B 1 3 R E 8 1 7 R E A 1 8 R E B 1 3 R E 8 1 7 R E B 1 8 R E B 1 3 R E 8 1 6 R E A 8 1 7 7 R E B 1 8 R E B 1 3 R E 8 1 6 R E A 1 7 R E B 1 8 R E B

1

Page 20: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 20/260

G e t t i n g S t a r t e d

1 8 R E B 1 8 R E B 1 9 R E B 1 9 R E B

1 9 R E C 1 9 R E C 1 9 R E C 1 9 R E C

1 9 R E C 1 9 R E C 1 9 R E C 1 9 R E C

2 0 R E C 2 0 R E C 2 0 R E C

5 0 R E M O P E N 5 , 4 : C M D5 1 F O 1 = T 6 6 S T E P 9 : R E M 6 6 7 ( 9 * # T O K E N S - 8 )5 2 J = J + 15 3 P O K E 1 0 2 8 + I f 1 2 7 + J : R E M 1 0 2 8 ( S T A R T O P R O G R A M S T O R A G E + 4 )5 4 N E X T5 5 L I S T 1 2 8 - 2 0 2 : R E M 2 0 2 ( 1 2 7 + # T O K E N S )5 6 R E P R I N T # 5 : C L O S E S

R E A D Y .

P r o g r a m( B e l o w )W i t hO u t p u t

1 4 R E 8 1 4 R E 8 1 4 R E 9 1 4 R E 9 1 4 R E 9 1 4 R E 9 1 4 R E 9 1 4 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 5 R E 9 1 6 R E A 1 6 R E A 1 6 R E A 1 6 R E A 1 6 R E A 1 6 R E A 1 6 R E A 1 6 R E A

1 2 E N 8 1 2 F O 8 1 3 N E X T 8 1 3 D A T A 8 1 3 I N P U T * 8 1 3 I N P U T 8 1 3 D I 8 1 3 R E A D 8 1 3 L E 8 1 3 G O T O 8 1 3 R U 8 1 3 I 8 1 4 R E S T O R E 8 1 4 G O S U B 8 1 4 R E T U R N 8 1 4 R E 8 1 4 S T O P 9 1 4 O 9 1 4 W A I T 9 1 4 L O A D 9 1 4 S A V E 9 1 4 V E R I F Y 9 1 5 D E 9 1 5 P O K E 9 1 5 P R I N T * 9 1 5 P R I N T 9 1 5 C O N T 9 1 5 L I S T 9 1 5 C L 9 1 5 C M 9 1 5 S Y 9 1 5 O P E N 9 1 6 C L O S E A 1 6 G E A 1 6 N E A 1 6 3 T A B ( A 31 6 T A 1 6 F A 1 6 S P C ( A 61 6 T H E N A

1 6 1 6 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 2 0 2 0 2 0

N O A S T E P A

A A A A A

A N A O B

B B B

S G B I N T B 5A B B U S B F R B P O B S Q B R N B L O B E X P B DC O S B ES I B T A C A T C P E E K C L E C S T R $ C V A C A S C C H R $ C L E F T $ C R I G H T $ C M I D $ C

R E A D Y .

1

Page 21: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 21/260

B i F i l e s O S m a l l C o m p u t e r

E l i z a b e t h D e a lT h p r o g r a m d e s c r i b e d h e r e d e m o n s t r a t e s w a o r e d u c i n g d a t as t o r a g e r e q u i r e m e n t s b f a c t o r o e i g h t . I t i s w r i t t e n i M i c r o s o f tB a s i c f o P E c o m p u t e r .

h a v e s e e n s e v e r a l p r o g r a m s t h a t c r e a t e a n u s c r o s s - i n d e x f i l e sf o r l i b r a r y s e a r c h , s t a t i s t i c a l s u r v e y s , a n s i m i l a r a p p l i c a t i o n s . T h e yu s u a l l y r e q u i r e l a r g e c o m p u t e r s , s u c h a 4 8 s y s t e m w i t h t w d i s kd r i v e s . v e r y t h o r o u g h f i l e h a n d l i n g s y s t e m h a s b e e n d e s c r i b e dr e c e n t l y b D r S a n g e r i t h N o v e m b e r , 1 9 7 9 , i s s u e o M i c r o c o m p u t i n g . I h i a r t i c l e , e a c h a t t r i b u t e i c o d e d a t w l e t t e r sa n s i a t t r i b u t e s a r p e r m i t t e d f o e a c h r e c o r d . T h i s r e q u i r e s t w e l v el e t t e r s a n d , t h e r e f o r e , t w e l v e b y t e s .

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

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

T h s o l u t i o n p r o p o s e i t w o f o l d : ( 1 s e u s m a r t c o d i n gp r o c e d u r e f o r c l a s s i f i c a t i o n o s u b j e c t s d e s c r i b e d i a a r t i c l e i n t ok e y s t h a t c a b s c o r e d y e o n o a n ( 2 " p a c k " t h e d a t a f o s t o r i n gi i n c o r e , o t a p e o o d i s k , a n t h e n " u n p a c k " i t o n r e c o r d a t i m e , d u r i n g t h e s e a r c h f o t h a p p l i c a b l e a t t r i b u t e s . T h i s p a p e rd e s c r i b e s a e f f i c i e n t w a t " p a c k " a n " u n p a c k " t h e d a t a s t h a tl a r g e r f i l e c a n b e s e a r c h e d o s m a l l c o m p u t e r w i t h o u t t h e u s e o fa c c e s s o r y m e m o r y d e v i c e s , s u c h a d i s k s . O c o u r s e , i o n h a s y s t e m w i t h a d i s k t h m e t h o d d e s c r i b e d h e r e w o u l d p e r m i t u s e o f a e v e n l a r g e r f i l e . W a r a w a r e t h a t t h e f i r s t p a r t o t h s o l u t i o n( s e t t i n g u t h c o d i n g p r o c e d u r e ) i c h a l l e n g i n g . I i t h r e a l p r o b l e ma n t h p e r f o r m a n c e o t h s y s t e m d e p e n d s o h o l o g i c a l a n m e a n i n g f u l t h s e l e c t e d k e y s a r e .

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

1

Page 22: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 22/260

a r t i c l e s b e i n g s e a r c h e d , b u t h e l e n g t h s h o u l d b e k e p t t o m i n i m u m .N a m e , d a t e , a n p a g e m i g h t b e e n o u g h . T h d a t a p a r t i w h a t w c a c o m p r e s s . T h y e s - n o o 1 - c o d e s a r e n t e r e d i g r o u p s o f i f t e e no n e s a n z e r o s . T h e s e , i t u r n , a r p a c k e d i n t o t h t w b y t e i n t e g e rv a r i a b l e S %

F i f t e e n a t t r i b u t e s r e q u i r e t w b y t e s , t h i r t y a t t r i b u t e s r e q u i r ef o u r b y t e s , a n s o n u s e r o f t h e s y s t e m n e e d n o t c o n c e r n h i m s e l fw i t h w h a t t h p r o g r a m d o e s w i t h b i n a r y n u m b e r s . H o n l y n e e d s t k n o w t h a t t h e r e w i l l b a m a n y S v a l u e s p e r e c o r d a t h e r e a r g r o u p s o f i f t e e n k e y s . T h u s e r t h e n n e e d s t p r o v i d e d e c i s i o n f o r e t r i e v i n g t h e r e c o r d s o f i n t e r e s t t h i m . T h d e c i s i o n i w r i t t e n a s t a t e m e n t a t h b e g i n n i n g o p r o g r a m a n i i m m e d i a t e l y e d i t e df o s y n t a x - t y p e e r r o r s . L o g i c a l o p e r a t o r s A N D , O R N O T , a w e l l a a r i t h m e t i c o n e s , < > , < » > ) a r e u s e d . T h d e c i s i o n c a b w r i t t e no o n o m o r e l i n e s l e a d i n g t o c o m b i n i n g v a r i a b l e T R T i s e t o n i t r u e , a n a l r e c o r d s m e e t i n g T c o n d i t i o n a r t h e n d i s p l a y e d .C o m p l e t e i n s t r u c t i o n s f o w r i t i n g T l i n e s a r l i s t e d i l i n e s 2 9 7 0 a n 3 4 2 0 .

H o i s i t d o n e ? F o o n c e t h o s e l o n g t a b l e s o p o w e r s o t w o , t h a ta r e a p a r t o f e v e r y b o o k o n p r o g r a m m i n g , c o m e i h a n d y . T h p r o g r a m i s e u i s u c h w a t h a t t h u s e r t h i n k s o t h l i s t o f i f t e e n k e y s f r o m l e f t t r i g h t , t 1 5 T h p r o g r a m s e e s t h e m a b e i n gn u m b e r e d f r o m r i g h t t l e f t , t 1 4 L i k e t h i s :

K e y n u m b e r s B % ( k ) k 8 1 1 1 1 1 1 - P r o g r a m s e e s a s 1 1 1 1 1 0 9 8 7 6 5 4 3 2 1 - I n p u t k e v a l u e s 1 0 0 0 1 1 1 1 1 0 0 0 0 0

T h p r o g r a m n o t a k e s k e v a l u e s a n w h e r e v e r i f i n d s a " 1 i r a i s e s t t h m - t h p o w e r . T h s u o a l t h i s i t h e n s t o r e d i i n t e g e r v a r i a b l e S ( r e c o r d n u m b e r , s u n u m b e r ) * . T h b y t e s a r u s e d i n s t e a d o a l e a s t 1 5 D u r i n g t h e p r o c e s s o f r e t r i e v a l t h e o p p o s i t ep r o c e d u r e t a k e s p l a c e t h s u i " u n p a c k e d " i n t o w o r k i n g s t o r a g eo 1 5 v a l u e s . T h s a m e v a l u e s a r e , o c o u r s e , r e u s e d b a l r e c o r d s .T h l i n e s o f t h e p r o g r a m t h a t d r i v e t h i s s y s t e m a r 1 4 7 0 t 1 5 1 0 a n 1 9 2 0 t 1 9 9 0 t h e o t h e r w a y . I s e e m s l i k e l o o h a s s l e , b u t h c o r es a v i n g i t r e m e n d o u s . T h l o o p s t h a t d t h p a c k i n g a n u n p a c k i n gt a k e f r o m 0 . s e c o n d t o 0 . 9 s e c o n d , t h l a t t e r r e p r e s e n t i n g a l f i f t e e nb i t s o n ( T h e s e t i m e s c o u l d b r e d u c e d b r e w r i t i n g t h e s e t w l o o p s a m a c h i n e c o d e s u b r o u t i n e s . ) A n o t h e r w a t s a v e t i m e w o u l d b t s e u t h m o s t f r e q u e n t l y u s e d k e y s n e x t t o n a n o t h e r a t h i s w i l ll e a v e t h e l o o p s o o n e r . I t h e x a m p l e s h o w n a b o v e , t h p r o g r a m w i l ll o o p t e t i m e s . H a " 1 b e e n i p o s i t i o n o 1 t h l o o p w o u l d b

1

Page 23: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 23/260

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

T c u s t o m i z e t h p r o g r a m f o y o u r s y s t e m ( 1 d e l e t e l i n e s 2 7 7 0o t r e d u c e c o r e f r o m 1 0 t 5 . 2 K , ( 2 i l i n e 1 0 2 0 i n s e r t t h m a x i m u m n u m b e r o f r e c o r d s t h a t w i l l f i t , ( 3 m o d i f y i y o w i s h i l i n e s 1 0 2 0 a n 1 3 4 0 ( G o i n o p e r m i t t e d ) , a n ( 4 i n s e r t y o u rm a c h i n e s i z e i l i n e 2 4 5 0 .

A w r i t t e n , t h p r o g r a m t a k e s a b o u t 5 . 2 K a f t e r r e m o v a l o a l R E l i n e s t h a t a r a t h e n d . s e a r c h t y p e p r o g r a m t h a t w o u l dc o n t a i n a d i c t i o n a r y o f k e y s s h o u l d t a k e n o m o r e t h a n 6 K H o m a n y r e c o r d s c a v a r i o u s s y s t e m s h a n d l e ? I w a s s u m e t h a t e a c hr e c o r d h a s 2 6 b y t e s o f t e x t p l u s 3 y e s - n o a t t r i b u t e s , a 8 s y s t e mc o u l d s e a r c h 6 r e c o r d s , a 1 6 s y s t e m c o u l d s e a r c h 3 3 r e c o r d s , a n 3 2 s y s t e m c o u l d s e a r c h 8 6 r e c o r d s . 1 0 0 K d i s k w o u l d a d 3 , 3 3 3r e c o r d s a n h a l f - m e g a b y t e d i s k w o u l d a d 1 6 , 5 0 0 r e c o r d s .* S % ( n r , g ) 2 2 6 + 2 7 2 8 + 2 1 0 2 1 8 , 4 0 0C r e d i t s : K e B r o s s o i e

M i c r o c o m p u t i n g , N o v e m b e r , 1 9 7 9 , p a g e 4 4 N e i l H a r r i s , A - C o m p u t e r s , M o n t g o m e r y v i l l e , P a

1 0 0 0 C 0 = 0 : C 1 = 1 : C 2 = 2 : C 3 = 3 : C 5 = 5 : C 6 = 6 :- . C A = 1 0 : C E = 1 4 : C F = 1 5 : D $ = " "

1 0 1 0 R E E L I Z A B E T H D E A L , M A L V E R N , P A1 0 2 0 R = 2 0 0 : G = 2 : D I M H D $ ( R ) , S % ( R , G ) ,

- , W A $ ( 1 5 ) , V $ ( G ) , B % ( 1 5 * G ) f Q Q % ( 1 5 )F O R J = C 1 T O C F : R E A D W A $ ( J ) : N E X T JF O R K = 0 T O C E : Q Q % ( K ) = C 2 ~ K : N E X T

1 0 3 01 0 4 01 0 5 01 0 6 01 0 7 01 0 8 01 0 9 01 1 0 01 1 1 01 1 2 01 1 3 01 1 4 01 1 4 11 1 4 2

R E R E N U M B E R 1 0 0 0 f 1 0 W H E N N E E D E DR E M > > > > R E A D T H I S < < < <R E M I N S E R T D E C I S I O NR E K E E P L S T - T R - R T R N S E Q U E N C EL I S T - 1 2 8 0D X = A B S ( B % ( 1 ) O R B % ( 2 ) )D Y = A B S ( B % ( 3 ) O R B % ( 4 ) )D Z = A B S ( N O T ( B % ( 5 ) A N D B % ( 6 ) ) ) :

1

Page 24: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 24/260

1 1 4 3 T R = A B S ( D X A N D D Y A N D D Z )1 1 5 0 R E T U R N1 1 6 01 1 7 0 R E M > > > > > • : M U S T E N D E A C H L I N E1 1 8 01 2 1 0 R E M T R = A B S ( ( B % ( 1 ) A N D N O T B % ( 2 ) ) / 1 2 2 0 R E M T R = A B S ( S % ( N , 2 ) > 5 1 2 ) W I L L D I S -1 2 3 0 R E M P L A Y R E C S M E E T I N G S T M T T R 1 2 4 01 2 5 0 R E > T Y P E ' R U N 1 , V E R I F Y , T H E N1 2 5 5 R E M T Y P E I G O T O 1 3 0 0 I T C O N T .1 2 6 0 R E ( O ~ T H I S L I N E * )1 2 7 01 2 8 0 R E M = = = = = = = = = S E C T I O N = = = = = = = = =1 2 9 01 3 0 0 A = T I : R E M / / C H O S E S E C . 1 / 2 H E R E / / 1 3 1 0 G O S U B 2 4 2 0 : R E M / S U B R / / 1 3 2 0 P R I N T " f i I I : N = l : L T = 01 3 3 0 P R I N T " H O W M A N Y G R O U P S O 1 K E Y S -

- i ? " : P R I N T T A B ( 9 ) " E N T E R O 2 1 3 4 0 I N P U T G : P R I N T : I F G < 1 O R G > 2 G O T O 1 3 3 01 3 5 0 P R I N T : P R I N T : P R I N T " E N T E R T E X T ,

- . O R ' X X 1 T E N D I N P U T "1 3 6 0 P R I N T T A B ( 2 ) " ! " ; T A B ( 2 7 ) " i "1 3 7 0 I N P U T H D $ ( N ) : I F L E F T $ ( H D $ ( N ) ,

- i 2 ) " X X " T H E N 1 5 5 01 3 8 0 H L = L E N ( H D $ ( N ) ) : E = 01 3 9 0 R E / I N P U T 1 5 B I T S f F L A G E R R O R S1 4 0 0 : F O R J = C 1 T O G : P R I N T : P R I N T " 1 5 K E Y S " ;1 4 1 0 P R I N T " i l l i ! ! ! ! ! ! i i ! ! " : P R I N T T A B (

- . 7 ) ; : I N P U T V $ ( J )1 4 2 0 : F O R L L = C 1 T O C F : S $ = M I D $ ( V $ ( J ) , L L , 1 )1 4 3 0 I F ( S $ < > " 0 " A N D S $ O " 1 " ) T H E N E = E + 1 :

- . G O T O 1 4 5 01 4 4 0 . - N E X T1 4 5 0 : N E X T J1 4 6 0 I F E > 0 T H E N P R I N T : P R I N T " r E R R O R D -

- i A G A I N " : G O T O 1 3 5 01 4 7 0 T X = T I : F O R J = C 1 T O G : S % ( N , J ) = C 01 4 8 0 : F O R L = C 0 T O C E ? P Q = V A L ( M I D $ ( V $ ( J ) ,

- i C F - L , C l ) : I F P Q = O T H E N 1 5 0 01 4 9 0 S % ( N , J ) = S % ( N , J ) + Q Q % ( L )1 5 0 0 : N E X T L : P R I N T T A B ( 1 4 ) " S U M = " S % ( N r J )1 5 1 0 : N E X T J : T Y = T I1 5 2 0 P R I N T " ( " ; I N T ( ( T Y - T X ) / C 6 ) / C A ; " S E C ) " ;

- i P R I N T T A B ( 2 5 ) " O K " ; N ; " O F " ; R1 5 3 0 N = N + C 1 : L T = L T + H L : I F N < = R G O T O 1 3 5 01

Page 25: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 25/260

1 5 4 01 5 5 01 5 6 01 5 7 0

1 5 8 01 5 9 01 6 0 01 6 1 01 6 2 01 6 3 01 6 4 01 6 5 01 6 6 01 6 7 01 6 8 01 6 9 01 7 0 01 7 1 01 7 2 01 7 3 01 7 4 01 8 3 01 8 4 01 8 5 01 8 6 01 8 8 01 8 9 01 9 1 01 9 2 01 9 3 01 9 4 01 9 5 01 9 6 01 9 7 01 9 8 01 9 9 02 0 0 02 0 0 52 0 1 0

P R I N T : P R I N T : P R I N T T A B ( 6 ) : P R I N T " * * * * *- , * * N M O R E R O O M * * * * * * * "P R I N T : P R I N T : P R I N T : P R I N T " # O -

- ■ R E C O R D S P U I N " ; N - l : P R I N TP R I N T " * O B Y T E S U S E D B T E X T " ; L TP R I N T " # O B Y T E S U S E D B Y K E Y S " ;

- i 2 * G * ( N - C l ) : P R I N T : P R I N T " B Y T E S - - i L E F T " ; F R E ( 0 )

P R I N T : P R I N T : P R I N TP R I N T " H I T ' S T O S T O P " : P R I N T " A N Y -

- . K E Y T C O N T I N U E "G E T A ? : I F A $ = " " T H E N 1 6 0 0I A $ = " S " T H E N S T O P : R E M / C H A N G E /R E / S T O R E D A T A O T A P E H E R E

S E C T I O N> O R E C O R D S ( N R ) , T E X T

R E ( H D $ ( N R ) ) A N D G - S U M SS % ( R f G ) A R E U S E D I T H I SS E C T I O N ; B I T S A R E C O M P U T E DA N A S S I G N E D T K E Y S A R R A Y

B % ( 6 * 1 5 )> B O S A R C H E C K E D F O

C O M P L I A N C E W I T H T S T M T .= = = = =

R E R E R E R E R E R E R E R E R E R E R E R E R E P R I N T " f i " : N R = N - l: F O R N = C 1 T O N R : K = C 0 : J A = T II F K S > C 0 T H E N 2 0 0 0F O R K = C 1 T O G * C F : B % ( K ) = 0 : N E X TJ S = T I : F O R J = C 1 T O G : T P = S % ( N , J ) :

- . J J = J - C lI F T P = C 0 T H E N 1 9 9 0Q = I N T ( L O G ( T P ) / L O G ( C 2 ) ) : U = C F - Q: F O R M = C 0 T O Q : B P = Q Q % ( Q - M )I F ( T P ) > = B P T H E N B % ( C F * J J + U + M ) = C 1 :

i T P = T P - B PI F T P = C 0 T H E N 1 9 9 0: N E X T M: N E X T J : J E = T IF O R M = 1 T O 4 : P R I N T " = = = = = = = = = = " ; : N E X TP R I N T : P R I N T H D $ ( N )G O S U B 1 1 4 0 : I F T R O 1 T H E N P R I N T :

- • P R I N T " * * * N M A T C H * * * " : G O T O 2 0 3 0

1

Page 26: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 26/260

2 0 2 0 P R I N T : P R I N T " T H I S R E C O R D M A T C H E S : 1 12 0 3 0 P R I N T : P R I N T T R $2 0 4 0 : F O R J = C 1 T O G :2 0 5 0 P R I N T I I G R O U P I I ; J ; l l S U M = " ; S % ( N f J

- . N E X T J : P R I N T2 0 7 0 I F K S > C 0 T H E N 2 1 3 02 0 8 0 K = C 1 : P R I N T : F O R J = C 1 T O G2 0 9 0 P R I N T " B I T " ; ( J - C l ) * ( K - C l ) + C 1 ; :

- i P R I N T T A B ( 7 ) ; - " ; : P R I N T T A B ( 1 2 ) ;2 1 0 0 : F O R K = C 1 T O C F : P R I N T R I G H T $ ( S T R $ ( B % ( C F2 1 1 0 : N E X T K : P R I N T " < " ; J * ( K - C 1 )2 1 2 0 : N E X T J2 1 3 0 P R I N T : P R I N T : P R I N T " ( T I M E I N B I -

- i L O O P " ; I N T ( ( J E - J S ) / 6 ) / 1 0 ; " S E C )2 1 4 0 P R I N T " ( T O T A L T I M E : " ; I N T ( ( T I - J A ) / 6 ) /

- . 1 0 ; " S E C )2 1 5 0 : F O R M = 1 T O C A : P R I N T " = = = = " ; : N E X T2 1 6 0 P R I N T : P R I N T T A B ( 1 1 ) " H I T A N K E F O

- . M O R E "2 1 7 0 P R I N T T A B ( 6 ) " ' Q 1 T Q U I T A N D R E R U N -

i O P T I O N S "2 1 8 0 G E A $ : I F A $ = " " G O T O 2 1 8 02 1 9 0 I F A $ = " Q " G O T O 2 2 1 02 2 0 0 : N E X T N : R E M / / E N R E L O O P2 2 1 0 P R I N T " f r W " T A B ( 1 6 ) " O P T I O N S " P R I N T2 2 2 0 P R I N T " 1 . S A M E T R N E D A T A -

- i S T A R T I N G A R E C " ; N R + C 12 2 3 0 P R I N T " 2 . R E R U N : S A M E T R A N D A T A "2 2 4 0 P R I N T " 3 . Q U I T "2 2 5 0 G E T D $ : I F D $ < " 1 " O R D $ > " 3 " G O T O 2 2 5 02 2 6 0 O N V A L ( D $ ) G O T O 2 2 7 0 r 1 8 8 0 / 2 2 8 02 2 7 0 N = N R + C 1 : G O T O 1 3 5 02 2 8 0 P R I N T " \ h W S U R E ? 2 2 9 0 G E T A $ : I F A $ = " N " G O T O 2 2 1 02 3 0 0 I F A $ = " Y " T H E N E N D : R E M / P R O G E N D /2 3 1 0 G O T O 2 2 9 02 3 2 0 R E = = D A T A = F O R S U B R . l = = = = = = =2 3 3 02 3 4 0 D A T A " N O T " f " " , " + " f " - " , " * " , " / " , " " ,- . " A N D "2 3 5 0 D A T A " O R " , " > " , " = " f " < " , " " , " " , " A B S "2 3 6 02 3 7 0 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = =2 3 8 02 3 9 0 R E S U B R O U T I N E2 4 0 0 R E M F I N D A N D E D I T T R S T A T E M E N T

2

Page 27: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 27/260

2 4 1 02 4 2 0 T R $ = " " : L X = 0 : K B = 0 : K S = 0 : P = 0 : J 1 = 1 :- i K C = 0 L R S B = 0 J A = 0 : J Z = 0

2 4 4 0 P R I N T " f i F O U N D ' L I S T 1 A T " ;2 4 5 0 : F O R J = 1 3 5 0 T O 3 2 0 0 0 - F R E ( 0 ) : I F P E E K ( J ) =

- . 1 5 5 T H E N P R I N T " * * * " ; J : J A = J2 4 6 0 I F P E E K ( J ) = 1 4 2 T H E N J Z = J : P R I N T " F O U N D -

V R E T U R N 1 A * * * " ; J : G O T O 2 4 7 52 4 7 0 : N E X T J2 4 7 5 I F J A = 0 O R J Z = 0 T H E N P R I N T " C A N I T F I N D -

i D E C I S I O N S ; S E S U B l L I S T I N G " : S T O P2 4 8 0 : F O R J J = J A + 1 1 T O J Z : L L = P E E K ( J J )2 4 9 0 I F L L = 5 8 T H E N J J = J J + 5 : L P $ = C H R $ ( 1 3 ) :

- . G O T O 2 5 4 02 5 0 0 I F L L < 1 2 8 T H E N L P $ = C H R $ ( L L ) : G O T O 2 5 4 02 5 1 0 : F O R M = 1 6 8 T O 1 8 2 : I F L L = M T H E N L P $ = W A $ ( M -

- 0 . 6 7 ) : L X = L X + L E N ( L P $ ) : G O T O 2 5 3 02 5 2 0 : N E X T M2 5 3 0 I F M = 1 8 2 T H E N S B = S B + 12 5 4 0 L X = L X + 12 5 5 0 I F L X > 2 5 5 T H E N P R I N T " S T R I N G T O -

- . L O N G - L I M I T 2 5 5 " : E 5 = 1 : G O T O 2 7 0 02 5 6 0 T R $ = T R $ + L P $2 5 7 0 r N E X T J J2 5 8 0 : F O R J J = J 1 T O L X + 12 5 9 0 M $ = M I D $ ( T R $ f J J f l ) : K B = K B - ( M $ = " B " ) :

i K S = K S - ( M $ = " S 1 1 ) : P = P - ( M $ = " % " )2 6 0 0 K C = K C - ( M $ = " , " ) : L l = L l - ( M $ = " ( " )

- i R l = R l - ( M $ = f l ) n )2 6 1 0 N E X T J J2 6 2 0 P R I N T " " ; " ; " ; " ; "

- . " / " A B S 1 1 ; "2 6 3 0 K B = K B - S B : K S = K S - S B2 6 4 0 P R I N T K B ; K S ; P ; K C ; L 1 ; R 1 ; S B ; L X2 6 5 0 P R I N T : P R I N T T A B ( 5 ) " Y O U R D E C I S I O N I S

- . P R I N T : P R I N T T R $ : P R I N T2 6 6 0 E 1 = ( K B > 0 ) A N D ( K B O P ) : E 2 = ( K S > 0 ) A N D ( K S

- . O P ) : E 3 = ( K S > 0 ) A N D ( K S O K C )- . E 4 = ( L 1 O R 1 )

2 6 7 0 I F E 1 O R E 2 T H E N P R I N T " * U S - ( B % O - - . S % ) ! ! " : P R I N T " U S N O T H E R B S - %

2 6 8 0 I F E 3 T H E N P R I N T " * U S S % ( N f # ) F O R - - . 2 - D I M A R R A Y "

2 6 9 0 I F E 4 T H E N P R I N T " * D O N ' T M A T C H :V f ; L l ; " L E F T f A N D " ; R l ; " R I G H T "

2 7 0 0 I F E 1 O R E 2 O R E 3 O R E 4 O R E 5 T H E N P R I N T :

2

Page 28: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 28/260

- i P R I N T " T Y P E ' R U N 1 T F I X " : S T O P2 7 1 0 P R I N T T A B ( 5 ) " H I T A N K E T

- i C O N T I N U E "2 7 2 0 P R I N T T A B ( 3 ) " O R f S T O P f T C O R R E C T / C H

- i A N G E "2 7 3 0 P R I N T : P R I N T T A B ( 5 ) " T H E N T Y P E ' R U N 1

- T F I X "2 7 4 0 P R I N T : P R I N T " ( E D I T I N G A N D R E - R U N -

- . W I P E O U D A T A )2 7 5 0 G E T A $ : I F A $ = " " T H E N 2 7 5 02 7 - 6 0 R E T U R N2 7 7 0 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = =2 7 8 0 R E E X A M P L E O I N P U T F O O N 2 7 9 0 R E L O G I C A L R E C O R D W I T H T E X T2 8 0 0 R E M A N D G R O U P S O 1 A T T R I -2 8 1 0 R E M B U T E S E A C H , S T O R E D A 2 8 2 0 R E 2 5 + 4 B Y T E S .2 8 3 0 R E 2 8 4 0 R E > T E X T :2 8 5 0 R E ! 2 8 6 0 R E 1 . M A G . N A M E / 1 1 - 7 8 / / P . 1 0 62 8 7 0 R E > F I R S T 1 5 K E Y S2 8 8 0 R E 1 1 1 0 1 0 0 0 0 0 0 1 0 1 12 8 9 0 R E > S E C O N D 1 5 K E Y S2 9 0 0 R E M 0 0 1 0 0 1 0 0 0 1 0 0 0 1 02 9 1 0 R E > E N D O D A T A2 9 2 0 R E 2 9 3 0 R E X X X X2 9 4 0 R E 2 9 5 0 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = =2 9 6 0 R E 2 9 7 0 R E P O S S I B L E U S E S O T L I N E ( S )2 9 8 0 R E 2 9 9 0 R E 1 . D E C I S I O N I W R I T T E N A T T H E3 0 0 0 R E S T A R T O R U A N C A N N O T B 3 0 0 1 R E C H A N G E D D U R I N G T H R U N .3 0 0 5 R E 3 0 1 0 R E M 2 . Q U I C K L I S T I N G O R E C O R D S3 0 2 0 R E W H I C H M I G H T H A V E A N K E Y S3 0 3 0 R E M O N W I T H I N S O M E G R O U P3 0 4 0 R E T R = A B S ( S % ( N , # ) > = 5 1 2 A N 3 0 5 0 R E M S % ( N , # ) < = 4 0 9 6 ) :3 0 6 0 R E W I L L D I S P L A Y T E X T O R E 3 0 7 0 R E M C O R D S T H A T H A V E S O M E B I T S3 0 8 0 R E F R O M T O ( 1 5 - 1 2 , 1 5 - 9 )3 0 8 5 R E 3 0 9 0 R E 3 . S L O W E R L I S T I N G O R E C O R D S

2

Page 29: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 29/260

G e t t i n g S t a r t e d

3 1 0 03 1 0 53 1 1 03 1 2 03 1 2 53 1 3 03 1 4 03 1 5 03 1 6 03 1 7 03 1 8 03 1 9 03 2 0 03 2 1 03 2 4 03 2 5 03 2 6 03 2 8 03 2 9 03 3 0 03 3 1 03 3 2 03 3 3 03 3 4 03 3 5 03 3 6 03 3 7 03 3 8 03 3 9 03 4 0 03 4 1 03 4 2 03 4 3 03 4 4 03 4 5 03 4 6 03 4 7 03 4 8 03 4 9 03 5 0 03 5 1 03 5 2 03 5 3 03 5 4 03 5 5 03 5 6 03 5 7 0

R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E R E

( T E X T A N B I T S ) :3 . A L R E C O R D ST R = A B S ( B % ( 1 ) O R B % ( 1 ) = 0 ) :3 . S O M E R E C O R D S U S A N f O R f N O T A S Y O U D O I L O G I CB U R E T A I N ' A B S 1 I A L E X P R E S S I O N S . E N D E A C H L I N EW I T H S I M P L E E X P R E SS I O N S W I L L S H O W U V I S U B 1 . F O R - L O O P S A N D O T H E RT O K E N S W I L L N O T f B U T T H P R O G R A M W I L L S T I L L R U N .

4 . U S E C A R E F U L L YN O T ( X A N D Z ) O N O T X A N D N O T ZW O R X A N D Y O R Z O ( W O R X ) A N ( Y O R Z )5 . A V O I D V A R I A B L E S W I T H B r S f

I T H E M O N L Y A B S A N N A M E S L I S T E D A B O V E A R L E G A L6 . D E C I S I O N L I N E S A R E S C A N N E DF I R S T F O R O B V I O U S E R R O R S , S W E D O N ' T L O O S E D A T A L A T E RB E D I T I N G T H E S E L I N E S .7 . L O G I C O P R O G R A M D E P E N D SO U S O A B S F U N C T I O NU S F O R M A T : ' V A R = A B S ( ) : O N A L L L I N E S .

P U R P O S E F O R A N Y I N F O R M AT I O N P R O C E S S I N G W H E R E D A T AC A B C O D E D I N T O Y / F O R M .S T O R A G E ( C O R E / T A P E / D I S K )R E Q U I R E M E N T S A R E R E D U C E D B YA L E A S T F A C T O R O A C O M P A R E D T C O N V E N T I O N A LC O D I N G O K E Y S F O R S E A R C H .T H I S S Y S T E M W I L L S T O R E 1 K E Y S - A T T R I B U T E S - Y / N T H I N G SI B A S I C ' S 2 - B Y T E I N T E G E R

2

Page 30: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 30/260

G e t t i n g S t a r t e d

3 5 8 0 R E M V A R I A B L E .3 5 9 0 R E 3 6 0 0 R E M T E X T S H O U L D B L I M I T E D T 3 6 1 0 R E M I N I M U M T H A T W I L L P O S I T I -3 6 2 0 R E V E L Y I D E N T I F Y R E C O R D .3 6 3 0 R E 3 6 4 0 R E M = = = = = = = = = = = = = = = = = = = = = = = = = = =3 6 5 0 R E 3 6 6 0 R E E L I Z A B E T H D E A L , M A L V E R N f P A

2

Page 31: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 31/260

P E T t i n g W i t h J o y s t i c kH a r v e y B H e r m a n

H e r e i t h n e c e s s a r y b a c k g r o u n d a n h o o k u p i n f o r m a t i o n f o a d d i n gj o y s t i c k t y o u r P E T . S e a l s o " J o y s t i c k R e v i s e d " f o s i m p l ep r o g r a m m i n g i n t e r f a c e .

M o l d e r s t y l e P E k e y b o a r d g e t s b a n g e d a r o u n d q u i t e b i w h e nm k i d s p l a y g a m e s w h i c h u s t h n u m b e r p a d . r e c e n t P E T V P o u r r ic o l u m n i K i l o b a u d ( 1 p r o m p t e d m t i n s t a l l a j o y s t i c k o m P E i o r d e r t s a v e m k e t o p s f r o m f u r t h e r w e a r . T h i s a r t i c l e i i n t e n d e d t s h a r e m e x p e r i e n c e s w i t h t h i s p r o j e c t a n t e n c o u r a g eo t h e r f u m b l e t h u m b s l i k e m y s e l f t t r i t

p u r c h a s e d t h e A t a r i j o y s t i c k s f r o m S e a r s a s u g g e s t e d i t h a b o v e c o l u m n ( c a t a l o g # 6 C 9 9 8 3 5 ) f o $ 9 . 9 5 e a c h . S i n c e c o u l d n o f i n d m a t i n g c o n n e c t o r , c u o f e a c h e n d a n d a t t a c h e d t h e m t o U s e r P o r t c o n n e c t o r a p e t h i n s t r u c t i o n s ( s e e a l s o r e f s a n 3 ) T h l a t t e r c o n n e c t o r c a b p u r c h a s e d f r o m a n y n u m b e r o c o m p a n i e s ( e . g . , A C o m p u t e r s ) . F o u r s i g n a l d i o d e s ( 1 N 6 6 2 ) , w h o s es p e c i f i c a t i o n s b e l i e v e a r e n o c r i t i c a l , a r a l s o u s e d i t h i s s u p e rs i m p l e i n t e r f a c e c i r c u i t w h i c h c a b c o n s t r u c t e d i a b o u t V h o u r .C h e c k t m a k e s u r e t h a t t h d i o d e c a t h o d e s a r c o n n e c t e d a s h o w n i t h c i r c u i t d i a g r a m ( 1 a n t h c o l o r c o d e d w i r e s o t h j o y s t i c k a r c o n n e c t e d t t h p r o p e r p i n s o t h U s e r P o r tc o n n e c t o r . O t h e r w i s e n s p e c i a l p r e c a u t i o n s a r n e c e s s a r y . d i i r i g h t t h f i r s t t i m e ( y e s , b r a g ! )

T h i s n e a t h a r d w a r e w o u l d , o c o u r s e , b u s e l e s s w i t h o u ts o f t w a r e t w o r k i t C u r s o r m a g a z i n e ( 4 h a s u p p l i e d s e v e r a lp r o g r a m s w h i c h h a v e a j o y s t i c k o p t i o n . t r i e d t h e s e f i r s t ( D e m o n ,C a n y o n , P i c k u p a n N a b ) w i t h s u c c e s s . T h e s e p r o g r a m s a r w r i t t e nt w o r k w i t h v a r i o u s m o d e l j o y s t i c k s w i r e d a n o r i e n t e d i n d i f f e r e n tw a y s . S i n c e m c o n f i g u r a t i o n w a f i x e d , m o d i f i e d t h j o y s t i c ks u b r o u t i n e i e a c h C u r s o r p r o g r a m t o s k i p t h t e s t s t e p . T h a tp r o c e d u r e c a n b e t e d i o u s i p r o g r a m i r u r e p e a t e d l y . T h f o l l o w i n g c h a n g e s i t h e C u r s o r j o y s t i c k s u b r o u t i n e s h o u l d w o r k f o a l A t a r i - t y p e j o y s t i c k s w i r e d a c c o r d i n g t t h c i r c u i t d i a g r a m i r e f e r e n c e 1

6 1 0 3 0 P R I N T : F O 1 = t 5 R E A D T P G O S U B 6 1 1 2 0 :T ( I ) = T : J ( T ) = P : N E X T I

6 1 1 2 0 T = I N T ( T / 1 6 ) A N T R E T U R N6 1 2 5 0 D A T A 2 5 5 , 5 2 2 3 , 4 2 3 9 , 1 2 7 , 1 9 1 , 2 6 3 0 . 7 , 1 9

2

Page 32: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 32/260

r a t h o r i g i n a l p r o g r a m o n c e t f i n d t h v a l u e s i t h a r r a ya n u s e d D A T A s t a t e m e n t s i t h m o d i f i e d p r o g r a m i o r d e r t s k i p t h t e s t s t e p . T h i s c o n s i d e r a b l y s p e e d s u t h b e g i n n i n g o g a m e . h a v e d e l i b e r a t e l y i g n o r e d t h r a t i o n a l e b e h i n d t h b i m a n i p u l a t i o n s i s t a t e m e n t 6 1 1 2 0 . I i n o n e c e s s a r y t u n d e r s t a n dt h a t i o r d e r t u s j o y s t i c k s . e m p h a s i z e t h i s p o i n t b e c a u s e h o p ei w i l l e n c o u r a g e P E u s e r s w h m a s t r a i n a t b i t s t a t t e m p tp r o j e c t s s u c h a d e s c r i b e d h e r e . I f u t u r e a r t i c l e m a t r m h a n d a t u t o r i a l f o t h o s e w h w i s h t d e l v e i n t o t h i s m y s t e r yf u r t h e r .

I p r o g r a m w a n o w r i t t e n w i t h j o y s t i c k i n m i n d a n o t h e rm o d i f i c a t i o n p r o c e d u r e m u s t b u s e d t c o n v e r t i a w a y f r o mn u m b e r p a u s e . A a e x a m p l e , m o d i f i e d t h p r o g r a m O b s t a c l e( 5 w h i c h u t i l i z e s t h f u l l k e y b o a r d a t w p s e u d o - j o y s t i c k s . E a c hp l a y e r m a n i p u l a t e s h i p i e c e ( s c r e e n c h a r a c t e r ) w i t h t h n e s t a n d a r d k e y b o a r d p a t t e r n s . " W X a n D a n " 8 2 4 6 " T h o b j e c t i t k e e p f r o m r u n n i n g i n t o t h s c r e e n t r a i l l e f t b t h o t h e rp l a y e r t h f i r s t t d s l o s e s . A w i t h m a n y g a m e s , i t i s e a s i e r t u s t h a n t o d e s c r i b e . T h f o l l o w i n g s t a t e m e n t s i t h o r i g i n a lp r o g r a m a r u s e d t s e n s e k e y p r e s s b p l a y e r a n c h a n g ed i r e c t i o n i n e c e s s a r y :

2 6 G E R 2 6 I R $ " W T H E N A D

3 0 I R " 8 " T H E N B D

I i p r e s s e d , t h d i r e c t i o n o f t h e l e f t p l a y e r ' s p i e c e i c h a n g e d t u p I i p r e s s e d , t h d i r e c t i o n o t h r i g h t p l a y e r ' s p i e c e i a l s oc h a n g e d t u p . P l a y e r a n d i r e c t i o n a r d e t e r m i n e d b t h a b o v ek e y b o a r d p a t t e r n w h i c h c a b l e a r n e d q u i c k l y b n e p l a y e r s .

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

2 6 M = P E E K ( 5 9 4 7 1 )2 6 I ( O 2 4 0 ) 2 4 T H E N A D

3 0 I ( O 1 5

2

1 2 T H E N B D = 1

Page 33: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 33/260

T h e l i p s i s c a n b e f l e s h e d o u t w i t h t h e h e l p o t h t a b l e b e l o w .p e e k a t h U s e r P o r t g i v e s u n i q u e v a l u e f o e a c h p o s i t i o n o t h j o y s t i c k a l o n g a o n l y o n i b e i n g u s e d . I i n e c e s s a r y t " m a s k "w i t h 1 o 2 4 i t h p o s s i b i l i t y e x i s t s o b o t h b e i n g u s e d a t h s a m et i m e . I o n l y o n j o y s t i c k i u s e d a n i d o e s n ' t m a t t e r w h i c h ,f u r t h e r o p e r a t i o n w i t h t h P E E K e d v a l u e g e n e r a t e s s i m p l e r n u m b e r s( s h o w n i t h l a s t c o l u m n o f t h e t a b l e ) . T h i s " t r i c k " w a u s e d i s t a t e m e n t 6 1 1 2 0 i t h c u r s o r s u b r o u t i n e a n t h r e s u l t i n g v a l u e su s e d i t h m a i n b o d y o t h p r o g r a m .

f e e l t h i s i a e x c e l l e n t p r o j e c t f o b e g i n n e r . I i n o d i f f i c u l tt m o d i f y e x i s t i n g p r o g r a m s f o j o y s t i c k u s e . O r i g i n a l P E o w n e r sw i t h d i s a p p e a r i n g k e y t o p s w i l l a p p r e c i a t e t h s a v i n g o w e a r a n t e a r . T b f a i r , s h o u l d s a y t h a t e v e r y p r o g r a m i n o s u i t a b l e f o c o n v e r s i o n . W h e n f i n e c o n t r o l o f m o v e m e n t i r e q u i r e d , j o y s t i c k sm a b d i f f i c u l t t u s e . S o m e p l a y e r s w i t h p o o r h a n d - e y ec o o r d i n a t i o n m a s t i l l p r e f e r t h k e y b o a r d . A f o m e i s e e m s q u i t en a t u r a l t c h a s e a n c a t c h s o m e s e e m i n g l y e l u s i v e d e m o n w i t h m m o v e m e n t s u n d e r r e f l e x c o n t r o l b j o y s t i c k .R E F E R E N C E S1 K i l o b a u d M i c r o c o m p u t i n g , R o b e r t W B a k e r , J a n u a r y 1 9 8 0 , p 1 2 P E U s e r ' s G r o u p N e w s l e t t e r , V o l . 0 N o 3 p 6 1 9 7 83 B e s t o P E G a z e t t e , C h u c k J o h n s t o n , p . 4 2 , 1 9 7 94 C u r s o r M a g a z i n e , P . O . B o 5 5 0 , G o l e t a , C 9 3 0 1 75 D i l i t h i u m P r e s s , P . O . B o 9 2 F o r e s t G r o v e , O 9 7 1 1 6

T A B L E

P O S I T I O N

c e n t e rl e f tr i g h tu d o w nb u t t o nl e f t u r i g h t u l e f t d o w nr i g h t d o w nm a s k

T = P E E K ( 5 9 4 7 1 )J o y s t i c k

2 5 2 2 2 3 1 2 1 9

6 9

1 1 1 5 1 7

T O 1

J o y s t i c k

2 5 2 5 2 5 2 4 2 5 2 4 2 4 2 4 2 4 2 5

O 2 4

T I N ( T / 1 6 )A N D T

1 1 1

1

1

2

Page 34: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 34/260

G e t t i n g S t a r t e d

J o y s t i c k R e v i s e dH a r v e y B H e r m a n

j o y s t i c k s a d n e d i m e n s i o n t g a m e s . M o v i n g s t i c k t i n d i c a t ed i r e c t i o n i s m u c h m o r e n a t u r a l t h a n p r e s s i n g k e y .

M p r e v i o u s a r t i c l e , " P E T i n g w i t h J o y s t i c k , " ( C o m p u t e # 4 g a v es o m e g e n e r a l h i n t s o h o t i n t e r f a c e j o y s t i c k t t h P E T . I p a r t i c u l a r , s h o w e d h o t m o d i f y B A S I C p r o g r a m s s o t h a t t h e yw o r k e d w i t h t h i s d e v i c e . N e v e r t h e l e s s , i t i s s t i l l p a i n t c h a n g e t h l a r g e n u m b e r o o l p r o g r a m s t h a t m a a l r e a d y b i o n e ' s l i b r a r y .l o o k e d a r o u n d f o a e a s i e r w a t i n t e r a c e w i t h t h j o y s t i c k s t h a tw o u l d e n t a i l m i n i m a l m o d i f i c a t i o n o p r e - e x i s t i n g p r o g r a m s . T h i sa r t i c l e d i s c u s s e s m a c h i n e l a n g u a g e p r o g r a m t h a t a l l o w s o n t u s j o y s t i c k s , w i t h o u t a n c h a n g e s i p r o g r a m s w h i c h u s e t h ec o n v e n t i o n a l k e y b o a r d p a t t e r n t i n d i c a t e t h d i r e c t i o n o f p l a y e rm o v e m e n t .

L a s t y e a r K i l o b a u d M i c r o c o m p u t i n g ( M a r c h , 1 9 7 9 ) h a a a r t i c l eo t h P E U s e r P o r t . T h a u t h o r , G r e g o r y Y o b , i l l u s t r a t e d s o m es o f t w a r e w h i c h w o u l d s e r v i c e a a d d i t i o n a l k e y b o a r d c o n n e c t e d t t h U s e r P o r t . T h P E i n t e r r u p t r o u t i n e u s e s a p o i n t e r i R A w h i c h c a b c h a n g e d t p o i n t t s p e c i a l U s e r c o d e . I t h P E T ,e v e r y 6 0 t h o s e c o n d a i n t e r r u p t i g e n e r a t e d t s e r v i c e , a m o n go t h e r t h i n g s , p e r i p h e r a l s l i k e t h s c r e e n a n k e y b o a r d . I i p o s s i b l et m o d i f y t h p o i n t e r t s e r v i c e f o r e i g n d e v i c e ( i t h a b o v e a r t i c l et h n e k e y b o a r d ) b e f o r e p r o c e e d i n g w i t h t h n o r m a l i n t e r r u p tp r o c e s s i n g . u s e d t h i s i d e a t o w r i t e a m a c h i n e l a n g u a g e p r o g r a mw h i c h w o u l d s e r v i c e a j o y s t i c k c o n n e c t e d t t h U s e r P o r t .

T h j o y s t i c k c o n t r o l l e r p r o g r a m ( s h o w n i t h f i g u r e ) h a t h r e ee n t r y p o i n t s . T h f i r s t ( X O N ) i u s e d t m a n u a l l y i n i t i a l i z e t h i n t e r r u p t v e c t o r s , p r o g r a m v a r i a b l e s a n U s e r P o r t . T h s e c o n d( X O F F ) i u s e d t m a n u a l l y d i s a b l e t h e o p e r a t i o n o f t h e p r o g r a ma n t r e s t o r e t h e o l d s o f t w a r e v e c t o r s . T h t h i r d ( P C O D E ) i a u t o m a t i c a l l y e n t e r e d a f t e r t h n e x t i n t e r r u p t o n c e t h p r o g r a m h a b e e n i n i t i a l i z e d .

T h c o d e f r o m l i n e 5 0 o i t h m a i n s e c t i o n o f t h e j o y s t i c kh a n d l e r . I p u t s n u m b e r i t h k e y b o a r d b u f f e r w h i c h i n d i c a t e st h d i r e c t i o n t o m o v e n e x t . T h i s n u m b e r , o c o u r s e , d e p e n d s o t h p o s i t i o n o t h j o y s t i c k . T h p r o g r a m a t t e m p t s t m i n i m i z e c o n t a c tb o u n c e b d e t e r m i n i n g i t h c h a r a c t e r i s t a b l e a t h U s e r P o r t f o t w s u c c e s s i v e ( 1 / 6 0 s e c ) j i f f i e s . T h i s v a l u e c a b e x p e r i m e n t e dw i t h t s u i t o n e ' s t a s t e . T h p r o g r a m f o l l o w s t h Y o e x a m p l e a n

2

Page 35: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 35/260

d o e s n o a l l o w t h k e y b o a r d b u f f e r t o v e r f l o w . s i m p l i f i e df l o w c h a r t o t h m a i n s e c t i o n i s h o w n i t h f i g u r e . M o d i f i c a t i o n sn e c e s s a r y f o n e R O M s a r s h o w n i t h t a b l e ( n o t t e s t e d ) .

T h n u m b e r r e t u r n e d f r o m t h U s e r P o r t f a l l s i t h r a n g e 6 3t 2 5 ( d e c i m a l ) . I i c o n v e r t e d b s h i f t a n A N o p e r a t i o n t u n i q u e n u m b e r i t h s i m p l e r s c a l e o t o 1 5 ( d e c i m a l ) ( I N T ( T / 1 6 )a n T ) T h i s n u m b e r i t u r n , i c o n v e r t e d b t a b l e l o o k u t a i n d i c a t o r o f d i r e c t i o n m o v e m e n t a n s t o r e d i t h k e y b o a r d b u f f e r .

s i m p l e e x a m p l e s h o u l d h e l p t c l a r i f y m a t t e r s . U s t h t a b l e i nm p r e v i o u s a r t i c l e f o r e f e r e n c e .

I j o y s t i c k i p o s i t i o n e d l e f t , t h h e v a l u e r e a d a t h U s e rP o r t i D ( 2 2 3 d e c i m a l ) . T h b i n a r y e q u i v a l e n t o t h i s n u m b e r i s

1 1 0 1 1 1 1 1N e x t s h i f t r i g h t f o u r t i m e s ( I N T ( T / 1 6 ) ) a n t h n u m b e r i s

0 0 0 0 1 1 0 1F i n a l l y , A N w i t h t h o r i g i n a l n u m b e r ( A N D T ) T h r e s u l t o f t h e s e o p e r a t i o n s :

0 0 0 0 1 1 0 1i 0 h e o 1 d e c i m a l .T h i s n u m b e r i n o i t h n o r m a l k e y p a d m o v e m e n t p a t t e r n .H o w e v e r , w c a c o n v e r t i t " m o v e l e f t " b r e a d i n g t a b l e w h o s e1 4 t h v a l u e i A S C I I 4 T h l a t t e r n u m b e r i s t u f f e d i n t o t h k e y b o a r d b u f f e r . B p o s i t i o n i n g t h j o y s t i c k l e f t , w e n u w i t h t h s a m e r e s u l t a s i w h a t y p e d o t h k e y b o a r d . B A S I C p r o g r a m sw h i c h u s e 4 t m o v e l e f t c a b u s e d w i t h o u t a n m o d i f i c a t i o n s .s i m i l a r a n a l y s i s a p p l i e s t b o t h j o y s t i c k s a n t a l o t h e r n u m b e r s i t h n o r m a l k e y p a d m o v e m e n t p a t t e r n . I n a d d i t i o n , c h o s e t m a k et h b u t t o n p r e s s m e a n t h n u m b e r f i v e a n s t r a i g h t u m e a n n k e y p r e s s .

T h h e v a l u e s g i v e n i t h l i s t i n g , c a b e c o n v e r t e d t d a t as t a t e m e n t s u s i n g p r o g r a m w h i c h a p p e a r e d i t h P E G a z e t t e ( H S h e r m a n , S p r i n g 7 9 p 1 4 ) . A l t e r n a t i v e l y , o n c o u l d u s m o n i t o rp r o g r a m t l o a d t h i s p r o g r a m . I e i t h e r c a s e m o n i t o r p r o g r a m i p r o b a b l y t h b e s t w a t e n t e r t h h e v a l u e s i n i t i a l l y .

T h j o y s t i c k c o n t r o l l e r p r o g r a m d e s c r i b e d h e r e h a b e e nh e l p f u l t o m w h e n c o n v e r t i n g p r o g r a m s t h a t u s e o n j o y s t i c k .s l i g h t l y m o r e c o m p l i c a t e d v e r s i o n w o u l d b n e c e s s a r y i o n n e e d s t u s b o t h j o y s t i c k s i n t w p l a y e r g a m e . w i l l b h a p p y t a n s w e rq u e s t i o n s a b o u t t h i n t e r f a c e o p r o g r a m i y o i n c l u d e S A S E .

2

Page 36: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 36/260

T A B L EO l P E T / N e w P E T E q u i v a l e n t L o c a t i o n s

D e s c r i p t i o n O l N e H a r d w a r e i n t e r r u p t v e c t o r s $ 2 1 9 / $ 2 1 A $ 9 0 / $ 9 1H a r d w a r e i n t e r r u p t r o u t i n e $ E 6 8 5 $ E 6 2 EK e y b o a r d b u f f e r i n d e x $ 2 0 D $ 9 S t a r t o k e y b o a r d b u f f e r $ 2 0 F $ 2 6 FI n t e r r u p t r e t u r n $ E 6 7 E $ E 6 E 4

P A R T I A L F L O W C H A R TJ o y s t i c k C o n t r o l l e r P r o g r a mC o m p a r e p r e v i o u s c h a r a c t e r

s a m e d i f f e r e n t

s e c o n d c o m p a r e s e c o n d c o m p a r e

s e f i r s t f l a gs t o r e p r e v i o u s c h a r a c t e r

r e s e t f i r s t f l a g , r e t u r nd e c r e m e n tn u m b e r c o u n t e r

r e p e a t c h a r a c t e r z e r o z e r o

i n i t i a l i z e n u m b e rc o u n t e r ( 1 2 h e x , 1 8 d e c )

n o t i m er e t u r n

s h i f t / A N Dt a b l e l o o k u p

z e r o z e r o

n k e y p r e s so i l l e g a l

s t o r e i k e y b o a r d b u f f e r

r e t u r n

3

Page 37: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 37/260

G e t t i n g S t a r t e d

0 3 3 A -0 3 3 B -0 3 3 D -0 3 4 0 -0 3 4 2 -

0 3 4 5 -0 3 4 7 -0 3 4 A -0 3 4 C -0 3 4 F -0 3 5 2 -0 3 5 3 -0 3 5 4 -

0 3 5 5 -0 3 5 7 -0 3 5 A -0 3 5 C -0 3 5 F -0 3 6 0 -

0 3 6 1 -0 3 6 3 -0 3 6 4 -0 3 6 5 -0 3 6 6 -0 3 6 7 -

0 3 6 A -

3 6 D -0 3 7 0 -0 3 7 2 -0 3 7 5 -0 3 7 7 -

3 7 A -0 3 7 D -0 3 8 0 -0 3 8 2 -0 3 8 5 -

0 3 8 7 -0 3 8 A -0 3 8 C -

3 8 F -0 3 9 1 -

3 9 4 -0 3 9 7 -0 3 9 8 -0 3 9 9 -

7

A 8 A 8 A 8 A 8 8 5 6 7

A 8 A 8 5 6

A 4 4 4 4

4

A

C F 8 A 8 4 2 1

C F

4 A 8 A 8 A 4 4 4

6 1 0 1

0 4

F C C

8 5 1 E 1

0

8

4

C O

C 0 C B

C 0

C 0

B F C

O C C

0

0

E

0 0

0

0

E

E

0 1 1 00 1 2 00 1 3 00 1 4 00 1 5 00 1 6 00 1 7 00 1 8 00 1 9 00 2 0 00 2 1 00 2 2 00 2 3 00 2 4 00 2 5 00 2 6 00 2 7 00 2 8 00 2 9 00 3 0 00 3 1 00 3 2 00 3 3 00 3 4 00 3 5 00 3 6 00 3 7 00 3 8 0

3 0 4 0 00 4 1 00 4 2 00 4 3 00 4 4 00 4 5 00 4 6 00 4 7 00 4 8 00 4 9 00 5 0 00 5 1 0

0 5 2 00 5 3 00 5 4 00 5 5 0

0

0

0 0

0

0

0

0

0

0

0 5 6 00 5 7 00 5 8 00 5 9 00 6 0 00 6 1 00 6 2 00 6 3 00 6 4 00 6 5 00 6 6 00 6 7 00 6 8 00 6 9 00 7 0 00 7 1 00 7 2 00 7 3 00 7 4 00 7 5 00 7 6 00 7 7 00 7 8 00 7 9 00 8 0 00 8 1 0

J O Y S T I C K C O N T R O L L E R P R O G R A M• B S 3 3 A

D I S A B L E I N T E R R U P T SX O S E

S E T U P N E W I N T E R R U P T V E C T O RL D # S 6 AS T A S 2 1 9

L D # S S T A S 2 1 A

I N I T I A L I Z E U S E R P O R TL D # S S T S E 8 4 3

I N I T I A L I Z E P R O G R A M V A R I A B L E SL D # $ F FS T P R E VS T F I R S T

; E N A B L E I N T E R R U P T S A N R E T U R NC L R T

D I S A B L E I N T E R R U P T SX O F F S E

R E S T O R E I N T E R R U P T V E C T O RL D # S 8 5S T A S 2 1 9

L D # S E 6S T S 2 1 A

E N A B L E I N T E R R U P T S A N R E T U R NC L R T

A D J U S T S T A C KS T A X L D # $

P H P H P H P H

C O N T I N U E I N T E R R U P T P R O C E S S I N GJ M S E 6 8 5

M A I N J O Y S T I C K H A N D L E RL O O K A T U S E R P O R T

P C O D E L D S E 8 4 FS A M E ? - Y E S .S E C O N D ? - A D D T K E Y B O A R D B U F F E R .

T H I R D O G R E A T E R ? - K E E P C O U N T .A D T B U F F E R I 1 T I M E SR E T U R N I N O

N O R E S T O R E V A R I A B L E S A N R E T U R N .C M P R E VB E E

N O S A M ES T P R E V

L D # S S T F I R S TJ M P F I N I S H

s a m eE B I T F I R S T

B P L S K I PT H I R D O G R E A T E R

D E N U M BB E R E S E T

1 R E P E A T SJ M P F I N I S H

S E C O N D T I M ES K I P L D # S F F

S T F I R S TP I C K U P 1 T I M E S

R E S E T L D # 1 S T N U M B

A C C / 1 6 A N A C L D P R E VL S L S L S

3

Page 38: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 38/260

G e t t i n g S t a r t e d

0 3 9 A -0 3 9 B -

0 3 9 E -0 3 9 F -0 3 A 2 -0 3 A 4 -0 3 A 7 -0 3 A A -0 3 A B -Q 3 A D -Q 3 A F -0 3 B 1 -0 3 B 4 -0 3 B 7 -0 3 B 8 -0 3 B B -Q 3 B E -0 3 C 1 -0 3 C 3 -0 3 C 6 -0 3 C 9 -0 3 C B -0 3 C C -0 3 C D -

4 2

A B F

A 9 E

E D A 8 2 E 4

0 3 3 0 3 3 0 0 0

C

B

1

O O

O 0 0 O 6

7 0 0 3 3 0 0

0

0

0 0

0 0

E 0 3

3 3

0 8 2 00 8 3 00 8 4 00 8 5 00 8 6 00 8 7 00 8 8 00 8 0 9 0 00 9 1 00 9 2 00 9 3 00 9 4 00 9 5 00 9 6 00 9 7 00 9 8 00 9 9 01 0 0 01 0 1 01 0 2 01 0 3 0

1 0 4 0

1 0 5 01 0 6 01 0 7 01 0 8 0

L S A N P R E VC O N V E R T T A S C I I

z e r o ?

T A L D

R E T U R NB E

T A B L / X

F I N I S HO T H E R W I S E S T O R E I K E Y B O A R D B U F F E R

w a t c h

C O U N T E RB A C KF I N I S H

T A B L

T A B L 1

P R E VF I R S TN U M B

L D S T

N S 2 0 DS 2 0 F * X

F O R B U F F E R O V E R F L O WC P B N L D S T

# 1 C O U N T E R# S S 2 0 DT N O R M A L C O D E

J S N O J M

B

B

B B

. B E

S T A X

S E 6 7 E0 ' 5 ' 7 9 8 *

M 3 2 * ' 4 6 '

3

Page 39: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 39/260

Page 40: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 40/260

H o T P r o g r a m I B A S I C W i t h T h

S u b r o u t i n e P o w e r o F O R T R A N

E l i z a b e t h D e a lF o r t r a n a n P L / I p r o g r a m m e r s m a t a k e s u b r o u t i n e s o u o t h l i b r a r y a n a p p e n d t h e m e a s i l y t a n m a i n p r o g r a m . T h o s e o u p r o g r a m m i n g i B A S I C h a v e t b v e r y c a r e f u l w h e n w a p p e n dp r e v i o u s l y w r i t t e n s u b r o u t i n e s , s i n c e t h v a r i a b l e n a m e s h a v e t b i d e n t i c a l , r a t h e r t h a n p a s s e d t h r o u g h C O M M O N s t o r a g e a r e a o

p a r a m e t e r l i s t ( a i F o r t r a n ) . T h i s a r t i c l e d e s c r i b e s a w a t s i m u l a t e C O M M O N s t o r a g e a r e a w h e n p r o g r a m m i n g i B A S I C .I t i s w r i t t e n f o u p g r a d e P E T , b u c a n b e m o d i f i e d f o a o l P E o a d a p t e d f o o t h e r m i c r o c o m p u t e r s , s u c h a A p p l e o O h i oS c i e n t i f i c . I r e q u i r e s s o m e e x t r a c o d e w h i c h o c c u p i e s a b o u t 2 5 0 0b y t e s , b u i i f a s t a n c a n h a n d l e a l P E T - s u p p o r t e d n - d i m e n s i o n a la r r a y s o s t r i n g s a n a r i t h m e t i c v a l u e s .

S u b r o u t i n e s i B A S I C a r e i n t e r n a l p r o c e d u r e s i t h a t v a r i a b l e sa c t i v e i n t h m a i n p r o g r a m i n t e r a c t w i t h t h o s e i t h s u b r o u t i n e . I o r d e r t p a s s p a r a m e t e r s t a n f r o m s u b r o u t i n e t h a t h a p r e v i o u s l y b e e n w r i t t e n f o a n o t h e r a p p l i c a t i o n , w m u s t e i t h e rr e w r i t e t h s u b r o u t i n e o a s s i g n a l n a m e s f r o m t h c a l l i n g p r o g r a mt n a m e s u s e d b t h s u b r o u t i n e . F o s i n g l e v a r i a b l e s i t i sn u i s a n c e , b u e a s y t d o I i m o r e c o m p l i c a t e d f o a r r a y s . S e v e r a lo p t i o n s a r a v a i l a b l e : ( 1 r e w r i t e t h s u b r o u t i n e o t h m a i np r o g r a m , ( 2 m o v e o n e l e m e n t o f t h e a r r a y a t i m e , ( 3 m o v e t h e n t i r e a r r a y a o n t i m e i t h e s u b r o u t i n e r e q u i r e s p r e s e n c e o f t h ew h o l e a r r a y . W e ' l l a v o i d t h e s e u n w i e l d l y o p t i o n s .

T i l l u s t r a t e t h p r o b l e m , i m a g i n e t h a t y o h a v e w r i t t e ns u b r o u t i n e t f i n d m i n i m u m a n m a x i m u m v a l u e s o 1 0 0 0e l e m e n t a r r a y S b u t h m a i n p r o g r a m u s e s a r r a y M P e r h a p s y o u rs u b r o u t i n e u s e s s m a n y t i m e s t h a t y o d r e a d t h i d e a o r e w r i t i n g i t o t h m a i n p r o g r a m c a l l s t h s u b r o u t i n e f o m a n yd i f f e r e n t v a r i a b l e s . T u s t h a p p e n d e d s u b r o u t i n e , t h m a i np r o g r a m w i l l a s s i g n a d i m e n s i o n o 1 0 0 0 e l e m e n t s t o a r r a y s a n S I w i l l t h e n m o v e a l e l e m e n t s o a r r a y i n t o a r r a y a n t h e n

3

Page 41: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 41/260

P r o g r a m m e r ' s C o r n e r

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

i t a k e s e i g h t s e c o n d s t m o v e t h a r r a y o n w a w h i l e B A S I Cr p r e t s t h i n s t r u c t i o n s i m a c h i n e c o d e o n t h o u s a n d t i m e s .

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

m o v i n g t h a r r a y e l e m e n t i n t o s i n g l e v a r i a b l e .M s o l u t i o n t o t h i s m e m o r y a n t i m e w a s t i n g l i e s i m o v i n g

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

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

m e r g e o a p p e n d p r o g r a m ) , i n i t i a l i z e s i n g l e v a r i a b l e s , a p p e n d• o u t i n e p r e s e n t e d h e r e ( f r o m l i n e 2 5 2 0 t o 3 6 8 0 ) , a n i n s e r t t h n i n f o r m a t i o n b e t w e e n t w d o t t e d l i n e s i t h m a i n p r o g r a m .M o r e t h a n o n v a r i a b l e c a s h a r e n a m e w i t h t h n a m e u s e d

s u b r o u t i n e ( s e e a r r a y M K a n M % ) . T h e n u m b e r o s u c hi b l e s u s e d i o n e p r o g r a m i l i m i t e d o n l y b w h a t c a f i i 2 5 o s t r i n g Q S $ . S t r i n g Q S $ , t o g e t h e r w i t h t h D I s t a t e m e n t ,

k e t t h p r o g r a m . I i a d i r e c t o r y o a r r a y n a m e s i t h i w h i c h t h e y a p p e a r i t h D I s t a t e m e n t . F o i n s t a n c e :

P o s i t o i t h Q S s t r i n g : 1 Q S s t r i n g c o n t a i n s : M % M K % , M M Q $ , S I % , S S Q D I s t a t e m e n t c o n t a i n s : M % M K % , M M Q $ .I t h i s e x a m p l e , n a m e s t h a t b e g i n w i t h " S r e f e r t a r r a y s u s e d i t h s u b r o u t i n e . T h a s t e r i s k i u s e d t e m p h a s i z e t h a t t h e y m u s t n o a p p e a r i t h D I s t a t e m e n t . T h e y s h o u l d a l s o n o t b e d i m e n s i o n e di y o u r s u b r o u t i n e . A c t u a l l y , i t i s d e l i g h t f u l t g e R E D I M E N S I O N E D A R R A Y E R R O R h e r e , s i n c e i t i s t h p r o o f t h a tt h n a m e c h a n g e w o r k s .

P E p r o v i d e s u s w i t h a l t h i n f o r m a t i o n w n e e d t b a b l e t oc h a n g e n a m e s . P o i n t e r t t h s t a r t o f a r r a y s i s t o r e d i l o c a t i o n s 4

a n i n t eW e s a v e d

o n l ys t a yi

a n t h l i n k

i t h v a r i & ib i t o r d e r

a n 4 ( 1 2 5 a n 1 2 i o r i g i n a l P E T ) . P o i n t e r t t h e n o a r r a y s i i l c a t i o n 4 a n 4 ( 1 2 8 a n 1 2 f o o r i g i n a l P E T ) . A r r a y n a m e s

t o r e d i t h f i r s t t w b y t e s p r e c e d i n g e a c h a r r a y , a n t h a r m e m o r y s i z e r e q u i r e d b t h a t a r r a y i i b y t e s t h r e e a n f o u r . I t h i n i t i a l i z i n g r o u t i n e , s e v e r a l Q - a r r a y s a r e d e c l a r e d . T h e n o t h o s ea r r a y s b e c o m e s t h e p o i n t e r t t h b e g i n n i n g o f t h e a r r a y s t h a t w a r c o n c e r n e d w i t h t h o s e i t h D I s t a t e m e n t b e t w e e n t w d o t t e d l i n e s . T h p r o g r a m ( l i n e s 2 7 2 0 t 2 8 4 0 ) r e a d s n a m e o a a r r a y a n s t o r e s e a c h c h a r a c t e r , s e p a r a t e l y , a n t h a d d r e s s , i n

3

Page 42: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 42/260

P r o g r a m m e r ' s C o r n e r

t a b l e . T h p o i n t e r i t h e n m o v e d t t h n e x t a r r a y b t h n u m b e r o b y t e s t h f i r s t a r r a y u s e d . W h e n t h n a m e s a n a d d r e s s o a r r a y s i c o m m o n h a v e b e e n p r o c e s s e d , t h p r o g r a m m o d i f i e s t h n a m e s i t h Q S s t r i n g ( l i n e s 2 9 6 0 t 3 1 0 0 ) s o t h a t e a c h b y t e w i l l c o r r e s p o n dt t h i n t e r n a l f o r m a t o t h P E n a m e s t o r a g e . T h t w l i s t s a r t h e n c o m p a r e d ( l i n e s 3 1 0 0 t 3 2 0 0 ) b y t e b b y t e a n d , i t h e y m a t c h ,t h p r o g r a m c o n t i n u e s . I t h e r e i a n d i s c r e p a n c y , i i i n d i c a t e d i t h e r r o r m e s s a g e a n t h j o i a b a n d o n e d . ( I f , d u r i n g t h e x e c u t i o n , t h e a r r a y s a r m o v e d , t h j o w i l l a l s o b a b a n d o n e d a n dt h p r o g r a m w i l l c o u n t t h e b y t e s h i f t . H o w e v e r , i i h a p p e n s i s p o t u n d e t e c t a b l e b m r o u t i n e s , t h s t a n d a r d P E e r r o r m e s s a g e sw i l l r e s u l t . )

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

w i t h w w i l l s e v a r i a b l e Q M = 3 w h i c h c o r r e s p o n d s t t h t h i r d n a m e i t h Q S l i s t , a n v a r i a b l e Q w h i c h c o r r e s p o n d st t h s i x t h n a m e i t h Q S l i s t T h f i n d s e r o u t i n e w i l l p u n a m e r e f e r r e d t o b t h Q v a r i a b l e i n t o t h n a m e r e f e r r e d t o b t h Q v a r i a b l e , o o v e r M N o t h w o r k s u b r o u t i n e u s e s S a n d , o r e t u r n , t h o r i g i n a l n a m e i r e s e t s t h a t t h c a l l i n gp r o g r a m c a c o n t i n u e w h a t e v e r i t i s t d w i t h a r r a y M

T h o u t p u t o t h d e m o n s t r a t i o n p r o g r a m c o n s i s t s o s h o w i n gw h a t h a p p e n s t t h v a r i a b l e s a a n g i v e n t i m e . I o c c u p i e s a b o u ts c r e e n f u l . T w t r i v i a l s u b r o u t i n e s a r u s e d . # a d d s o n t i n t e g e r s ,f i n d s M I a n M A o a f l o a t i n g p o i n t a r r a y a n a d d s t w c h a r a c t e r s t t h e e l e m e n t s o s t r i n g a r r a y . # c r e a t e s a a r r a y i t h s u b r o u t i n e a n p a s s e s t h o s e v a l u e s t t h m a i n p r o g r a m , s h o w i n gt h a t t h p r o c e s s w o r k s i b o t h d i r e c t i o n s a n t h a t i d o e s n o m a t t e r w h e r e t h a r r a y i c r e a t e d .

T m a k e i e a s i e r t u n d e r s t a n d t h l i s t i n g , h a v e n a m e d a l v a r i a b l e s t h a t a r e r e l a t e d t o o u s e d i t h i n i t i a l i z e , f i n d s e t , a n r e s e t r o u t i n e s w i t h l e t t e r " Q i t h f i r s t p o s i t i o n . N o n - Qv a r i a b l e s a r g e n e r a l v a r i a b l e s u s e d i t h m a i n p r o g r a m a n dm a t h e m a t i c a l r o u t i n e s .

T h e r e a r s e v e r a l i m p o r t a n t r e s t r i c t i o n s t h a t m u s t b o b s e r v e d .M o s t " B A D S U B S C R I P T E R R O R , " o " I L L E G A L Q U A N T I T YE R R O R " m e s s a g e s o c c u r r i n g d u r i n g t h f i n d s e r o u t i n e a n m o s t o f t h e e r r o n e o u s d a t a s u b s e q u e n t t r e t u r n f r o m r e s e t r o u t i n ew i l l b d u t f a i l u r e t c o m p l y w i t h t h e s e r u l e s :1 A l s i n g l e v a r i a b l e s a n f u n c t i o n s ( f r o m t h e m a i n p r o g r a m a n s u b r o u t i n e s ) m u s t b a s s i g n e d v a l u e p r i o r t t h D I s t a t e m e n t i t h m a i n p r o g r a m a n p r i o r t o u s i n g u n d i m e n s i o n e d , s m a l l a r r a y s .

3

Page 43: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 43/260

P r o g r a m m e r ' s C o r n e r

T h i s i g o o d r u l e t o f o l l o w a n y w a y . C o m m o d o r e a d v i s e s t h a ta r r a y s a r e a c t u a l l y m o v e d s e v e n b y t e s e a c h t i m e n e s i n g l ev a r i a b l e i d e f i n e d i n p r o g r a m . O u p r o g r a m d e p e n d s o a r r a y ss t a y i n g i o n p l a c e t h r o u g h o u t t h e n t i r e p r o g r a m a n s u b r o u t i n e s . h a v e n o y e f o u n d s i m p l e w a t h a v e r e a l l yi n d e p e n d e n t C O M M O N a r e a .2 P r o v i d e a s t r i n g ( Q S $ ) o o n o t w c h a r a c t e r a r r a y n a m e s t h a tw i l l b e u s e d i c o m m o n . T h a r r a y n a m e u s e d i c a l l i n g p r o g r a mm u s t p r e c e d e t h c o r r e s p o n d i n g n a m e s i t h s u b r o u t i n e . I n t h d e m o n s t r a t i o n p r o g r a m M a n M K p r e c e d e t h l i s t i n g o S I % ,b u M a n M K n e e d n o b a d j a c e n t t S I o e a c h o t h e r i t h Q S s t r i n g .3 A r r a y s f r o m t h m a i n p r o g r a m t h a t w i l l b s u b j e c t t n a m ec h a n g e m u s t b d i m e n s i o n e d f i r s t . T h e y m u s t b e c o n t i g u o u s . T h e ym u s t b i t h s a m e o r d e r i w h i c h t h e y w e r e l i s t e d i t h Q S s t r i n g . T h t y p e o a r r a y s t h a t a r c o m m o n b e t w e e n t h c a l l i n gp r o g r a m a n d t h s u b r o u t i n e m u s t a g r e e ( i . e . , i n t e g e r w i t h i n t e g e r ) ,t h n u m b e r o d i m e n s i o n s m u s t a g r e e , a n t h e i r s i z e m u s t a g r e e o n l yt t h e e x t e n t r e q u i r e d b t h l o g i c o f t h e p r o g r a m . ( I a r r a y w a d i m e n s i o n e d t t w e n t y e l e m e n t s , b u t h s u b r o u t i n e t r i e d t u s a a r r a y o f i f t y , y o u ' d e n d u p w i t h s u b s c r i p t e r r o r o g a r b a g e . I t h e a r r a y w a s d i m e n s i o n e d t f i f t y , a n t h w o r k s u b r o u t i n e u s e dt w e n t y , t h e r e i n p r o b l e m . )4 J u s t b e f o r e g o i n g i n t o t h f i n d s e s u b r o u t i n e , t e l l t h p r o g r a m( b u s o Q a n Q v a r i a b l e s ) w h i c h a m e s w i l l b c h a n g e d .Q m u s t b s m a l l e r t h a n Q S

T h i n i t i a l i z e , f i n d s e a n r e s e t r o u t i n e s t a k e u a b o u t 2 5 0 0b y t e s a e x e c u t i o n t i m e . T h a t i e q u i v a l e n t t t w 2 5 0 e l e m e n ta r r a y s o f l o a t i n g p o i n t n u m b e r s . F r o m t h m e m o r y p o i n t o f v i e w , i m a k e s s e n s e t u s e t h e s e r o u t i n e s o n l y w h e n t h e a r r a y s i z e e x c e e d st h a t a m o u n t . F r o m t h t i m e p o i n t o f v i e w , i m a k e s s e n s e t u s t h e m w h e n t h a r r a y s i z e e x d e e d s f i f t y e l e m e n t s . I t a k e s h a l fs e c o n d t c h a n g e a n r e s e t t h n a m e , b u i t a k e s t w s e c o n d s t m o v e t h a r r a y o n w a a n t w s e c o n d s t m o v e i b a c k . F r o m t h e d i t i n g p o i n t o f v i e w , i t i s , f o m e e a s i e r t u s t h i s p r o c e d u r e t h a nt f o o l a r o u n d w i t h n a m e s . T h h a s s l e o d e f i n i n g s i n g l e v a r i a b l e s i m a d e e a s i e r b P A I C S P r o g r a m m e r ' s T o o l k i t D U M P c o m m a n d .N o t e o t e r m s u s e d i t h i s a r t i c l e :

F o r t r a n p r o g r a m m e r s s h o u l d n o t e t h a t t h i s s y s t e m s i m u l a t e sC O M M O N i i t a b i l i t y t p a s s t h a r r a y s i B A S I C , b u ; t t h a t i t i sb a s e d o t h c o n c e p t o E Q U I V A L E N C E , a n c a b u s e d a s u c h .

3

Page 44: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 44/260

P r o g r a m m e r ' s C o r n e r

P L / I p r o g r a m m e r w i l l s e t h a t i t i s s i m i l a r t t h D E F I N E D ( a n dn o B A S E D ) a t t r i b u t e o v a r i a b l e s , a n t h a t t h e a l l o c a t i o n i s s t i l lS T A T I C .

1 0 0 0 R E M = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =1 0 2 0 R E M S I M U L A T I O N O C O M M O N I B A S I C1 0 4 0 R E B 1 0 6 0 R E M E L I Z A B E T H D E A L1 0 8 0 R E 3 3 W . F I R S T A V E f M A L V E R N r P A1 1 0 0 R E 1 9 3 5 5 ; ( 2 1 5 ) 6 4 7 - 4 8 7 61 1 2 0 R E M _ A P R I L 9 1 9 8 01 1 4 0 R E R E F :1 1 6 0 R E 1 G E N E B E A L S O F A B C O M P U T E R S1 1 8 0 R E 2 P E T U S E R N O T E S 3 C O M P U T E1 2 0 0 R E 4 L E L I N D S A Y : O L D P E T / N E W1 2 2 0 R E P E I M I C R O C O M P U T I N G1 2 4 0 R E 5 C O M M O D O R E M A N U A L1 2 6 0 R E M = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =1 2 8 0 R E 1 3 0 0 R E M D E F I N E N O N - Q S I N G L E - V , F N1 3 2 0 I N = 2 0 : F L = 1 5 : L I $ = n n : F O R I = l T O 3 9 :

- i L I $ = L I $ + n - n : N E X T I : J I = 0 J F = 0 : Q = 0- » K X = 0

1 3 4 0 M N = 0 : M X = 0 : 1 = 0 : J = 0 : K = 0 : S l = 2 : S 2 = 2 :- i S 3 = 2 Z = 6 4 : L = 0 : M = 0 : N = 0 : T X = 0

1 3 6 0 R E 1 3 8 0 R E 1 4 0 01 4 2 0 R E M L I N K M A I N W I T H S U B R O U T I N E S1 4 4 0 R E D E F I N E Q S $ f I N I T I A L I Z E I T H 1 4 6 0 R E S U B f D I M A R R A Y S I C O M M O N ,1 4 8 0 R E B A C K T I N I T . r T H E N M A I N1 5 0 01 5 2 0 Q S $ = l t M % , M K % , M , M Q $ , S I % , S , S Q $ "1 5 4 0 G O S U B 2 5 2 01 5 6 0 D I M % ( I N ) r M K % ( I N ) f M ( F L )1 5 8 0 D I M Q $ ( S l , S 2 f S 3 )1 6 0 0 G O S U B 2 7 2 01 6 2 01 6 4 0 R E 1 6 6 0 R E 1 6 8 0 R E B A C K T M A I N P R O G R A M1 7 0 0 R E 1 7 2 0 R E D I A L O T H E R A R R A Y S1 7 4 0 R E ( N O N E H E R E )1 7 6 0 R E A S S I G N V A L U E S1 7 8 0 F O R J = 1 T O I N : M K % ( J ) = J : N E X T1 8 0 0 F O R J = 1 T O F L : M ( J ) = - J / 1 0 0 : N E X T1 8 2 0 F O R I = 1 T O S 1 : F O R J = 1 T O S 2 : F O R K = 1 T O S 3 :

3

Page 45: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 45/260

- » M Q $ ( I J K = C H R $ ( I + Z ) + C H R $ ( J + Z ) + C H Ri $ ( K + Z )1 8 4 0 N E X T K , J , I1 8 6 0 R E A S S I G N Q S , Q M F O N A M E1 8 8 0 R E C H A N G E ; P O K E N E N A M E ; U S 1 9 0 0 R E I S U B R O U T I N E S ; R E S E T N A M E f1 9 2 0 R E M C O N T I N U E .1 9 4 0 R E 1 9 6 0 P R I N T L I ? : R E D E M O F E W A R R A Y S1 9 8 0 Q S = 7 : Q M = 4 : G O S U B 3 3 0 0 : Q S = 6 : Q M = 3 :

- i G O S U B 3 3 0 0 : Q S = 5 : Q M = 2 : G O S U B 3 3 0 0- i R E M F I N D + S E T2 0 0 0 J I = I N : J F = F L : I = S 1 : J = S 2 : K = S 3 :

- i G O S U B 2 2 6 0 : P R I N T n S U B # l , " 2 0 2 0 G O S U B 3 4 6 0 : R E M R E S E T A L N A M E S2 0 4 0 P R I N T : P R I N T 1 1 ( M K % ) " : F O R J = 1 T O I N :

i P R I N T M K % ( J ) ; : N E X T : P R I N T2 0 6 0 P R I N T : P R I N T " ( M ) " ; : F O R J = 1 T O F L :

- . P R I N T M ( J ) : N E X T : P R I N T2 0 8 0 P R I N T T A B ( 1 0 ) f I M I N = n M N " , M A X = n M X2 1 0 0 P R I N T : P R I N T 1 1 ( M Q $ ) " : F O R I = 1 T O S 1 :

- i F O R J = 1 T O S 2 : F O R K = 1 T O S 3 : P R I N T M Q $ ( I ,- » J , K )

2 1 2 0 N E X T K f J f I : P R I N T : P R I N T L I $2 1 4 0 R E D E M O O N A R R A Y2 1 6 0 Q S = 5 : Q M = 1 : G O S U B 3 3 0 0 : K X = I N : G O S U B 2 3 8 0

- . : P R I N T " S U B # 2 , " : G O S U B 3 4 6 02 1 8 0 P R I N T : P H l N T n ( M % ) " ; : F O R J = 1 T O I N :

- . P R I N T M % ( J : N E X T : P R I N T : P R I N T L I $2 2 0 0 E N D : R E E N M A I N2 2 2 0 R E 2 2 4 0 R E M = = = W O R K S U B # 1 = = = = = = = = = = = = = = = = =2 2 6 0 : : F O R Q = 1 T O J I : S I % ( Q ) = S I % ( Q ) + 1 :

- N E X T Q2 2 8 0 F O R L = 1 T O I : F O R M = 1 T O J : F O R N = 1 T O K :

- i S Q $ ( L r M f N ) l l * i l + S Q $ ( L f M f N ) + l 7 " :i N E X T N f M f L

2 3 0 0 M X = - 1 . 7 E 3 8 : M N = 1 . 7 E 3 8 : F O R J = 1 T O J F :i I F S ( J ) < = M N T H E N M N = S ( J )

2 3 2 0 I F S ( J ) > = M X T H E N M X = S ( J )2 3 4 0 N E X T J : R E T U R N2 3 6 0 R E M = = = W O R K S U B # 2 = = = = = = = = = = = = = = = = =2 3 8 0 : : F O R K = 1 T O K X : S I % ( K ) = K : N E X T : R E T U R N2 4 0 0 R E 2 4 2 0 R E M = = * = = * = = * = = * = = * = = * = = * = = * = = * = = *2 4 4 0 R E 2 4 6 0 R E M = = = S U B : I N I T I A L I Z E = = = = = = = = = = = =2 4 8 0 R E 2 5 0 0 R E M D C L Q f S : S I N G L E , F N f A R R2 5 2 0 : : P R I N T " I N I T 1 " : D E F F N Q A ( Q P ) = P E E K ( Q P )

3

Page 46: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 46/260

P r o g r a m m e r ' s C o r n e r

- i + 2 5 6 * P E E K ( Q P + l )2 5 4 0 Q B = 0 : Q C = 0 : Q D = 0 : Q E = 0 : Q F = 0 : Q H = 0 : Q I = 0 :- . Q J = 0 Q K = 0 Q L = 0 Q M = 0 Q N = 0

2 5 6 0 Q P = 0 : Q Q = 0 : Q R = 0 : Q S = 0 : Q T = 0 : Q U = 0 : Q W = 0 :i Q X = 0 : Q Y = 0 : Q Z = 0 : Q = 0

2 5 8 0 Q K $ = l i n : Q M $ = " f I : Q L = L E N ( Q S $ ) / 22 6 0 0 I F P E E K ( 5 0 0 0 3 ) = 1 T H E N Q 5 = 4 4 : Q 6 = 4 6 :

i Q 7 = 5 4 : Q 8 = 1 5 2 : G O T O 2 6 4 02 6 2 0 Q 5 = 1 2 6 : Q 6 = 1 2 8 : Q 7 = 1 3 6 : Q 8 = 5 1 62 6 4 0 : : D I M Q G ( Q L ) f Q l ( Q L ) f Q 2 ( Q L ) , Q D $ ( Q L ) ,

- » Q 3 ( Q L ) f Q 4 ( Q L ) , Q N $ ( Q L ) : F O R Q = 1 T O Q L2 6 6 0 Q D $ ( Q L ) n n : Q N $ ( Q L ) f l t I : N E X T2 6 8 0 Q Z = F N Q A ( Q 5 ) : Q I = F N Q A ( Q 6 ) : P R I N T " M A I N "

- . R E T U R N2 7 0 0 R E A R R A Y S F R O M D I 2 7 2 0 : : P R I N T " I N I T 2 1 1 : Q D = F N Q A ( Q 7 )

- . G O S U B 3 6 4 0 : Q H = Q I : Q E = F N Q A ( Q 6 )2 7 4 0 : : Q K = Q K + 1 : Q G ( Q K ) = Q H : Q C = Q G ( Q K ) :

- i Q l ( Q K ) = P E E K ( Q C ) : Q ( Q K ) = P E E K ( Q C + 1 )2 7 6 0 Q X = Q 1 ( Q K ) : Q Y = Q 2 ( Q K )2 7 8 0 Q T = 0 : Q T = Q T + 3 7 * ( - ( Q X > = 1 2 8 A N D Q Y > = 1 2 8 )

- . + 3 6 * ( - ( Q X < 1 2 8 A N D Q Y > = 1 2 8 )2 8 0 0 Q X = Q X - 1 2 8 * ( - ( Q X > 1 2 8 ) ) : Q Y = Q Y + 1 2 8 * ( - (- i Q Y = 0 ) - 1 2 8 * ( ( Q Y > 1 2 8 )

2 8 2 0 Q D $ ( Q K ) = C H R $ ( Q X ) + C H R $ ( Q Y ) + C H R $ ( Q T ) :i R E M D O N O T C O M P A R E Q D T O Q N $ !

2 8 4 0 Q N = F N Q A ( Q C + 2 ) : Q H = Q H + Q N : I F Q H < Q E G O T O 2• V 7 4 0

2 8 6 0 R E M A R R A Y S F R O M Q S 2 8 8 0 Q U = 1 : F O R Q = 1 T O L E N ( Q S $ ) : Q K $ = M I D $ ( Q S $ r

- i Q , 1 I F Q K $ = " f l T H E N Q U = Q U + l : N E X T Q2 9 0 0 Q N $ ( Q U ) = Q N $ ( Q U ) + Q K $ : N E X T Q2 9 2 0 I F Q U < 2 T H E N P R I N T n * * * C O R R E C T Q S $ " : E N D2 9 4 0 R E F I N A M E S I Q S 2 9 6 0 F O R Q = 1 T O Q U : Q M $ = Q N $ ( Q ) : Q F = 0 : Q J = 0 :

i Q T = A S C ( R I G H T $ ( Q M $ , 1 ) )2 9 8 0 Q T = Q T * ( - ( Q T = 3 6 O R Q T = 3 7 ) ) : Q F = 1 2 8 * ( - ( Q

- » T = 3 7 ) ) : Q J = 1 2 8 * ( - ( Q T = 3 7 O R Q T = 3 6 ) )3 0 0 0 I F L E N ( Q M $ ) > 2 G O T O 3 0 6 03 0 2 0 I F Q J = 0 A N D Q T = 0 T H E N Q M $ = Q M $ + C H R $ ( 0 ) :

i G O T O 3 0 6 03 0 4 0 Q M $ = L E F T $ ( Q M $ f 1 ) + C H R $ ( 1 2 8 ) + C H R $ ( Q T )3 0 6 0 : : Q X = Q F + A S C ( L E F T $ ( Q M $ f l ) ) : Q Y = Q J + A S Ci ( M I D $ ( Q M $ , 2 , l ) ) : Q Y = Q Y - Q J * ( - ( Q Y > 2 5 5

- ) 3 0 8 0 Q 3 ( Q ) = Q X : Q 4 ( Q ) = Q Y : R E M P R I N T Q ; T A B ( 4 )

i Q M $ ; T A B ( 1 0 ) Q X ; Q Y3 1 0 0 N E X T Q : Q Q = 0 : F O R Q = 1 T O Q K : I F Q 1 ( Q ) = Q 3 ( Q )

i A N D Q 2 ( Q ) = Q 4 ( Q ) G O T O 3 1 4 03 1 2 0 Q Q = Q Q + 1 : Q N $ ( Q ) = Q N $ ( Q ) + " < ? ?

4

Page 47: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 47/260

3 1 4 0 : : N E X T Q : I F Q Q = 0 G O T O 3 2 0 03 1 6 0 P R I N T : P R I N T " * * * N O M A T C H ! " : P R I N T :i P R I N T " Q S / Q M Q S $ " T A B ( 2 0 ) " D I M " :- i P R I N T

3 1 8 0 F O R Q = 1 T O Q U : P R I N T T A B ( 1 ) Q T A B ( 7 ) Q N $ ( Q )- . T A B ( 2 0 ) Q D $ ( Q ) : N E X T Q : E N D

3 2 0 0 . P R I N T I f M A I N . " : P R I N T " P R E S S ' S H I F T 1 - - . T O C O N T M A I N P R G M " : W A I T Q 8 , 1 :- . P R I N T 1 1 O K

3 2 2 0 R E T U R N3 2 4 0 R E 3 2 6 0 R E M = = = S U B : F I N D + S E T N A M E = = = = = = = = =3 2 8 0 R E 3 3 0 0 : : Q D = F N Q A ( Q 7 ) : G O S U B 3 6 4 03 3 2 0 I F Q S < = Q M T H E N P R I N T " * * * B A D P O S I T I O N -

- . N U M B E R S " P R I N T " Q S = " Q Q M " Q M : E N 3 3 4 0 Q R = Q G ( Q M ) : P R I N T " S E T " Q N $ ( Q S ) T A B ( 8 ) "

- i O V E R " Q N $ ( Q M ) : P R I N T T A B ( 1 8 ) " A T " Q R3 3 6 0 Q B = Q B + 1 : Q G ( Q M ) = - Q G ( Q M ) : P O K E Q R f

- i Q 3 ( Q S ) P O K E Q R + 1 Q ( Q S )3 3 8 0 R E T U R N3 4 0 0 R E 3 4 2 0 R E M = = = S U B : R E S E T N A M E = = = = = = = = = = = =3 4 4 0 R E 3 4 6 0 : : I F Q B < 1 T H E N P R I N T " * * * I M P R O P E R C A L L -

- / T O R E S E T " : E N D3 4 8 0 Q D = F N Q A ( Q 7 ) : G O S U B 3 6 4 0 : P R I N T " R E S E T -

- . N A M E A T " ;3 5 0 0 F O R Q = 1 T O Q K : I F Q G ( Q ) > 0 G O T O 3 5 4 03 5 2 0 Q G ( Q ) = - Q G ( Q ) : Q R = Q G ( Q ) : P O K E Q R , Q l ( Q ) :

- . P O K E Q R + 1 f Q 2 ( Q ) : P R I N T Q R ;3 5 4 0 : : N E X T Q : P R I N T : R E T U R N3 5 6 0 R E 3 5 8 0 R E M C H E C K C O M M O N A R R A Y S P O 3 6 0 0 R E C A L L E D B I N I T f S E T f R E S E T3 6 2 0 R E 3 6 4 0 : : Q W = F N Q A ( Q 5 ) : I F Q W = Q Z T H E N R E T U R N3 6 6 0 P R I N T : P R I N T " * * * A R R A Y S M O V E D " Q W - Q Z "

- i B Y T E S "3 6 8 0 P R I N T " P R I O R T L I N E " Q D : E N D3 7 0 0 R E M = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

4

Page 48: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 48/260

P r o g r a m m e r ' s C o r n e r

S o r t i n g S o r t s :P r o g r a m m i n gN o t e b o o k

P a r t O n B e l i n d a a n R i c k H u l o n

A i m p o r t a n t a s p e c t o m a n y b u s i n e s s a p p l i c a t i o n s i n v o l v i n gm i c r o c o m p u t e r s i t h s e l e c t i o n a n e f f i c i e n t u s e o f a a p p r o p r i a t es o r t i n g r o u t i n e . W h i l e s o r t i n g r o u t i n e s a r r e a d i l y a v a i l a b l e i t h l i t e r a t u r e a n d / o r e a s i l y p r o g r a m m a b l e , s o m e t h o u g h t s h o u l d b g i v e nt t h e t y p e o f s o r t u s e d . T h i s t w o - p a r t a r t i c l e w i l l d e a l w i t h s i o f t h eb e t t e r k n o w n s o r t i n g a l g o r i t h m s : S e l e c t i o n S o r t , B u b b l e S o r t , S h e l lS o r t , Q u i c k S o r t , M e r g e S o r t , a n H e a p S o r t . T h e s e s o r t s r a n g e f r o mv e r y s i m p l e t q u i t e c o m p l e x , f r o m e x t r e m e l y s l o w t e x c e e d i n g l y f a s t .T h i s f i r s t a r t i c l e w i l l c o n c e r n i t s e l f w i t h t h s i m p l e r , s l o w t i n t e r m e d i a t e s o r t s .

I t h i s a r t i c l e w e v a l u a t e S e l e c t i o n S o r t , B u b b l e S o r t a n S h e l lS o r t . S e l e c t i o n S o r t i v e r y s i m p l e , s t r a i g h t f o r w a r d r o u t i n e ( s e eF i g u r e 1 ) I t m e t h o d i t i t e r a t i v e l y p a s s t h r o u g h t h l i s t o i t e m s t b s o r t e d . O t h i n i t i a l p a s s , t h f i r s t i t e m i c o m p a r e d w i t h e a c hs u c c e s s i v e i t e m , e x c h a n g i n g i w i t h a n e l e m e n t t h a t i " l e s s t h a n "t h f i r s t i t e m . T h " n e w " f i r s t e l e m e n t i t h e n c o m p a r e d t e a c h i t e ma f t e r t h e p o i n t o e x c h a n g e . T h i s p r o c e s s c o n t i n u e s u n t i l o n e n t i r ep a s s i c o m p l e t e d . T h p r o c e d u r e i t h e n r e p e a t e d f o t h s e c o n d i t e mi t h l i s t , t h e n t h t h i r d , e t c . , u n t i l t h l a s t i t e m i r e a c h e d . T h u s ,S e l e c t i o n S o r t e s s e n t i a l l y " s e l e c t s o u t " t h s m a l l e s t i t e m o t h f i r s tp a s s , t h n e x t s m a l l e s t o t h e s e c o n d , a n s o n T h i s s o r t , t h e n ,a l w a y s g o e s t h r o u g h s e n u m b e r o p a s s e s r e g a r d l e s s o f t h e s t a t e o t h l i s t . A a l r e a d y s o r t e d l i s t w o u l d s t i l l g t h r o u g h t h e n t i r er o u t i n e a t h o u g h i w e r e n o t s o r t e d .

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

" f l a g " t i n d i c a t e w h e n n e x c h a n g e s h a v e b e e n m a d e i g i v e np a s s , t h u s s i g n a l l i n g t h e n o t h s o r t . B u b b l e S o r t , t h e r e f o r e , t a k e so n l y a m a n y p a s s e s a i n e e d s . A a l r e a d y s o r t e d l i s t w o u l d u s o n p a s s t d e t e r m i n e t h a t n e x c h a n g e s w e r e m a d e . l i s t i n g o B u b b l e

4

Page 49: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 49/260

S o r t c a b f o u n d i F i g u r e 2 T h t h i r d s o r t t o b c o n s i d e r e d , S h e l l S o r t , i s o m e w h a t m o r e

c o m p l i c a t e d . S h e l l S o r t i e s s e n t i a l l y a e x t e n s i o n o B u b b l e S o r t .I n i t i a l l y " g a p " s i z e i d e t e r m i n e d t b t h l a r g e s t i n t e g e r l e s s t h a no e q u a l t h a l f o f t h e l i s t s i z e ( e . g . , i t h l i s t c o n t a i n e d 1 i t e m s , t h i n i t i a l g a s i z e w o u l d b 5 ) T h i s g a s i z e s u p p l i e s t h e s s e n t i a ld i f f e r e n c e b e t w e e n S h e l l S o r t a n B u b b l e S o r t , f o r , i n s t e a d o o n l y c o m p a r i n g a d j a c e n t i t e m s , S h e l l S o r t c o m p a r e s i t e m s s e p a r a t e db t h g a s i z e , e x c h a n g i n g t h e m w h e n n e c e s s a r y . O n c e i d e t e r m i n e st h a t n e x c h a n g e s w e r e m a d e o t h l a s t p a s s w i t h p a r t i c u l a r g a s i z e , t h s i z e o t h g a i c u i h a l f a n t h e p r o c e s s c o n t i n u e s . A o n c a e a s i l y s e e , t h i s r e s u l t s i B u b b l e S o r t w h e n t h g a s i z eb e c o m e s 1 b u s i n c e t h l i s t i a l r e a d y p a r t i a l l y s o r t e d , i d o e s n o r e q u i r e a m u c h t i m e f o l a r g e r l i s t s a r e g u l a r B u b b l e S o r t w o u l d .S h e l l S o r t , l i k e S e l e c t i o n S o r t , d o e s n o p r o v i d e f o a " e a s y o u t . "H o w e v e r , i d o e s n o g t h r o u g h t h e r o u t i n e s e n u m b e r o t i m e s :p r e - s o r t e d l i s t w i l l r e q u i r e o n l y e n o u g h p a s s e s t o b t a i n g a s i z e o 1 s i n c e t h e r e w i l l n e v e r b a n e x c h a n g e s . ( S e e F i g u r e 3 1 F O 1 = T N - 2 F O R J = I + 1 T 3 0 I F V ( I ) < V ( J ) T H E N 7 4 S = V ( I )5 V ( I ) = V ( J )6 V ( J ) = S7 N E X T8 N E X T9 E N F i g u r e

1 F = 2 I F = T H E M 1 2 3 F = 4 F O 1 = T N - 5 0 I F V ( I ) < = V ( I + 1 ) T H E N 1 0 6 S = V ( I )7 V ( I ) = V ( I + 1 )8 V ( I + 1 ) = S9 F = 1 0 N E X T1 1 G O T O 2 1 2 E N

F i g u r e 2

1 G P = N2 0 I F G P < = 1 T H E N 1 6

4

Page 50: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 50/260

P r o g r a m m e r ' s C o r n e r

3 G P = I M T ( G P / 2 )4 H I = K - G P5 F = 6 F O T I I 7 G I = G P + I8 0 I F V ( I ) < = V ( G I ) T H E N 1 3 9 S = V ( I )1 0 V ( I ) = V ( G I )1 1 V ( G I ) = S1 2 0 F = l1 3 N E X T1 4 I F = T H E N 5 1 5 G O T O 2 1 6 E N F i g u r e 3W H E R E :

= A r r a y c o n t a i n i n g d a t a t b s o r t e d

= H o l d i n g v a r i a b l e u s e d f o e x c h a n g i n g i t e m s

= N u m b e r o i t e m s t b s o r t e d

= F l a . g i n d i c a t i n g o c c u r r e n c eo f a n e x c h a n g e

G = G a p s i z eM = N u m b e r o t i m e s t h l o o p

m u s t b i t e r a t e d o o n p a s s ; d e p e n d s o g a s i z e

G = I n d e x f o c o m p a r i s o n ;d e p e n d s o g a s i z e

S e v e r a l f a c t o r s a r i n v o l v e d i d e t e r m i n i n g t h e f f i c i e n c y o s o r t i n g a l g o r i t h m . T h t i m e i n v o l v e d , o r t h e s p e e d o t h s o r t , i u s u a l l y o n o o u m a j o r c o n c e r n s , e s p e c i a l l y w i t h m i c r o s . T w i m p o r t a n t f a c t o r s c o n t r i b u t i n g t t h s p e e d a n e f f i c i e n c y o s o r ta r t h n u m b e r o c o m p a r i s o n s m a d e a n t h n u m b e r o a c t u a le x c h a n g e s i n v o l v e d i s o r t i n g l i s t . I t h i s c a s e w c o u n t e d a n c o m p a r i s o n m a d e ( i n c l u d i n g t h c h e c k i n g o f l a g s ) , n o j u s t d a t ac o m p a r i s o n s . A l t h o u g h w a r n o d i r e c t l y c o n c e r n e d w i t h C P t i m e i t e r m s o a c t u a l c o s t , i s e e m s o b v i o u s t h a t t h f e c o m p a r i s o n s a n e x c h a n g e s m a d e i t h s a m e ( o l e s s ) a m o u n t o t i m e , t h m o r e e f f i c i e n t t h s o r t w i l l b e T h e s e t h r e e f a c t o r s t h e n ,t i m e , n u m b e r o c o m p a r i s o n s , a n n u m b e r o e x c h a n g e s c o m p r i s eo u c r i t e r i o n f o c o m p a r i s o n . T h a c t u a l m e t h o d u s e d w a t g e n e r a t e 3 d i f f e r e n t l i s t s o r a n d o m n u m b e r s , h a v i n g e a c h a l g o r i t h ms o r t e a c h l i s t . T h 3 v a l u e s f o e a c h o t h c r i t e r i o n f o t h d i f f e r e n tl i s t s i z e s w e r e a v e r a g e d t p r o d u c e t h v a l u e s g i v e n i T a b l e 1 T h i s

4

Page 51: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 51/260

p r o c e d u r e w a f o l l o w e d f o l i s t s o s i z e 1 0 2 5 5 a n 1 0 0 . A l d a t aw a o b t a i n e d f r o m C o m m o d o r e C B w i t h 3 2 o i n t e r n a l R A M .B U B B L E S O R TL i s t S i z e

1 2 5

1 0 S E L E C T I O N S O R T

S H E L L S O R T

T A B L EN u m b e r o

C o m p a r i s o n s7

5 0 2 0 9 88 8 1 1

4 3 0

1 2 2 54 9 5 0

7 3 3 9 6

2 6 6 9

N u m b e r o E x c h a n g e s

2 1 5 5 9

2 4 5 0

2 1 4 5 0

1 8 1 5

1 6

1 5 3 9

T i m e1 . 8 s

1 2 . 4 s5 0 . 7 s

3 . 6 m

1 . 1 s7 . 3 s

2 8 . 0 s1 . 8 m

1 . 5 s7 . 4 s

2 0 . 9 s5 7 . 2 s

W H E R E :s e c o n d s

m i n u t e s

I s h o u l d b e n o t e d t h a t u p o n b e g i n n i n g t h i s a r t i c l e t h e r e w e r es o m e b a s i c e x p e c t a t i o n s . H a v i n g a l r e a d y r u a s i m i l a r p r o j e c t o l a r g e c o m p u t e r , w e x p e c t e d s i m i l a r r e s u l t s f r o m t h C B M . T h i n i t i a l p r o j e c t s h o w e d , t r u e t o t h n u m e r o u s t e x t b o o k s a v a i l a b l e , t h a tw h i l e S e l e c t i o n S o r t a n B u b b l e S o r t w e r e g o o d f o s m a l l l i s t s ( e v e ns u p e r i o r t m o r e s o p h i s t i c a t e d s o r t s ) , S h e l l S o r t w o u l d b b e t t e r f o l a r g e r l i s t s . A l s o , S e l e c t i o n S o r t s h o u l d b f a s t e r t h a n B u b b l e S o r t ,d u t t h n a t u r e o f t h e a l g o r i t h m s ( w e o m i t t h m a t h e m a t i c a ld e t e r m i n a t i o n o t h i s s i t u a t i o n ) . I t h i s e x p e r i m e n t w d i d u p l i c a t eo u f i r s t r e s u l t s f a i r l y w e l l , a s c a b s e e n f r o m T a b l e 1 H o w e v e r , t h a m o u n t o t i m e i n v o l v e d s e e m e d f l a b b e r g a s t i n g . O c o u r s e , w c o u l dn o h a v e e x p e c t e d m i c r o t c o m p a r e i s p e e d t o m a i n f r a m e , b u t h d i f f e r e n c e s w e r e d i s t u r b i n g . F o r e x a m p l e , t h t i m e i n v o l v e d i t h s o r t i n g o l i s t o 5 0 i t e m s b y o n e o f t h e s e s o r t s r a i n t o h o u r s ,s o m e w h a t t r o u b l e s o m e f o b u s i n e s s a p p l i c a t i o n s . H a v i n g m u l l e d o v e rt h i s f o r w h i l e w c a m e t a t e n t a t i v e c o n c l u s i o n w h i c h s e e m e d t e x p l a i n t h i s o c c u r r e n c e . O u o r i g i n a l s o r t i n g r o u t i n e s w e r e w r i t t e n i P L / 1 , b a t c h l a n g u a g e f o u s o a I B 3 6 0 / 3 7 0 . I t h i s s i t u a t i o nt h e s o u r c e c o d e w e n t t h r o u g h c o m p i l e r w h i c h t r a n s l a t e d i i n t om a c h i n e c o d e f o e x e c u t i o n . O o u C B M , h o w e v e r , t h r o u t i n e sw e r e w r i t t e n i i n t e r p r e t e d B A S I C . O n i m p o r t a n t d i f f e r e n c e

4

Page 52: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 52/260

b e t w e e n a n i n t e r p r e t e r a n c o m p i l e r i t h a t , w i t h c o m p i l e r , t h s o u r c e i " c o m p i l e d " o n l y o n c e . T h m a c h i n e c o d e i p r o d u c e d a n t h e h i g h e r l e v e l l a n g u a g e i n l o n g e r c o n c e r n . W i t h a i n t e r p r e t e r ,o t h e o t h e r h a n d , e a c h l i n e o c o d e i i n t e r p r e t e d e v e r y t i m e i t i se n c o u n t e r e d . T h i s , t h e n , s h o u l d a c c o u n t f o m u c h o f t h e e x c e s s i v et i m e o b s e r v e d . A t e s t , w w r o t e S e l e c t i o n S o r t ( c h o s e n f o i t s i m p l i c i t y ) i m a c h i n e c o d e . T h i s e l i m i n a t e d t h e i n t e r p r e t a t i o n s t a g e .T h i s g i v e s u a b e t t e r i d e a o j u s t h o w m u c h t i m e i a c t u a l l y i n v o l v e di s o r t i n g t h l i s t s . T h e l i m i n a t i o n o f a i n t e r p r e t e r c h a n g e d t h t i m e i n v o l v e d d r a s t i c a l l y . W h i l e t h B A S I C r o u t i n e r e q u i r e d 1 . s e c o n d s t s o r t l i s t o o n l y 1 i t e m s , t h m a c h i n e c o d e v e r s i o n t o o k

i S i z e1 2 5

1 0

T A B L ET i m e f o

B A S I C r o u t i n e1 . s e 7 . 3 s e c

2 8 . 0 s e 1 . m i

T i m e f o m a c h . c o d e r o u t i n e

0 . 0 0 s e 0 . 0 2 s e 0 . 0 5 s e 0 . 1 7 s e

s o l i t t l e t i m e a t r e c o r d d u r a t i o n o s e c o n d s ! S i n c e t h e b u i l t - i nt i m e r o f t h e C B r e c o r d s t i m e i " j i f f i e s " o 1 / 6 0 o s e c o n d , i a c t u a l l y t o o k l e s s t h a n 1 / 6 0 o s e c o n d t s o r t t h l i s t . T h r e s u l t sa r e v e n m o r e i m p r e s s i v e f o l i s t o 1 0 i t e m s . W h i l e B A S I Cr e q u i r e d 1 0 9 . 2 s e c o n d s ( j u s t u n d e r m i n u t e s ) t h m a c h i n e c o d ev e r s i o n r e q u i r e d o n l y . s e c o n d s . I o t h e r w o r d s , t h B A S I Ca l g o r i t h m t o o k 5 4 t i m e s l o n g e r t h a n d i d t h e m a c h i n e c o d e r o u t i n e .M u c h o t h i s e x t r a t i m e , t h e n , s e e m s t b r e s u l t o f t h e B A S I Ci n t e r p r e t e r . T h u s , w h a t m i g h t s e e m t b v e r y e f f i c i e n t s o r t c o u l da c t u a l l y p r o v e t b w o r s e t h a n l e s s e f f i c i e n t s o r t , d e p e n d i n g o t h a m o u n t o c o d e i n v o l v e d a n t h n u m b e r o i t e m s t b s o r t e d . I t h d e s i g n o b u s i n e s s s o f t w a r e , a m u c h a t t e n t i o n s h o u l d b e p a i d t t h l a n g u a g e ( a n d t h e r e f o r e t y p e o f c o m p i l e r o i n t e r p r e t e r ) a t t h e t y p eo s o r t i n v o l v e d . I y o a r e w i l l i n g t w o r k w i t h m a c h i n e c o d e t h e nm o r e e f f i c i e n t s o r t s s h o u l d b c o n s i d e r e d . W w i l l i n c l u d e m a c h i n ec o d e l i s t i n g s i t h e n e x t a r t i c l e a l o n g w i t h t h e v a l u a t i o n s o f Q u i c kS o r t , M e r g e S o r t , a n H e a p S o r t .

4

Page 53: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 53/260

P a r t T w A m e n t i o n e d i t h f i r s t a r t i c l e o t h i s t w o - p a r t s e r i e s , t h s e l e c t i o no a a p p r o p r i a t e s o r t i n g a l g o r i t h m i c r u c i a l f o m a n y b u s i n e s sa p p l i c a t i o n s i n v o l v i n g m i c r o c o m p u t e r s . W h i l e t h f i r s t a r t i c l ec o n c e r n e d i t s e l f w i t h t h s l o w t i n t e r m e d i a t e s o r t s ( S e l e c t i o n ,B u b b l e a n S h e l l ) , t h i s a r t i c l e d e a l s w i t h t h f a s t e r , m o r es o p h i s t i c a t e d ( a n d t h e r e f o r e l e s s i n t u i t i v e ) a l g o r i t h m s . A t h o u t s e to t h w r i t i n g o f t h i s a r t i c l e t h r e e " f a s t " s o r t s w e r e u n d e rc o n s i d e r a t i o n : Q u i c k S o r t , H e a p S o r t , a n d M e r g e S o r t . I n i t i a l l yM e r g e S o r t w a t h o u g h t t b a a p p r o p r i a t e s o r t s i n c e i i n o o n l y f a i r l y f a s t , b u a l s o i t h o n c h o s e n a t h " b u i l t - i n " s o r t i n ga l g o r i t h m f o m a n y m a i n f r a m e s . U p o n c l o s e r e x a m i n a t i o n i w a d e t e r m i n e d t h a t M e r g e S o r t w a n o v i a b l e a l g o r i t h m f o m i c r o( a l e a s t n o t h v e r s i o n t w h i c h w h a a c c e s s ) . W h i l e t h a c t u a lp r o g r a m m i n g c o u l d b d o n e , t h r o u t i n e w o u l d r e q u i r e a i m m e n s ea m o u n t o f d a t a s t o r a g e a n d n u m e r o u s a r r a y s w a p s . S i n c e t h i sa l g o r i t h m w a o d u b i o u s v a l u e f o b u s i n e s s a p p l i c a t i o n s o m i c r o ,w d e c i d e d t o d e l e t e i f r o m t h a r t i c l e . T h i s a r t i c l e w i l l i n s t e a dc o n c e n t r a t e o t h c o m p a r i s o n o H e a p S o r t a n d Q u i c k S o r t a w e l la r e l a t i n g t h e m t t h p r e v i o u s l y e x a m i n e d s o r t s . I w i l l a l s o d i s c u s st h a d v a n t a g e s o m a c h i n e c o d e a l g o r i t h m o v e r i t B A S I Cc o u n t e r p a r t a n p r e s e n t a h o p e f u l l y u s a b l e m a c h i n e c o d e v e r s i o n o fH e a t S o r t f o y o u r i m p l e m e n t a t i o n .

Q u i c k S o r t i f a i r l y f a s t s o r t i n g a l g o r i t h m w h i c h a c h i e v e s i t g o a l b s u b d i v i d i n g t h e o r i g i n a l l i s t o d a t a i t e m s . T h i s i d o n e b yi n i t i a l l y p l a c i n g t h f i r s t i t e m i t h l i s t i i t p r o p e r p l a c e r e l a t i v e t t h o t h e r i t e m s i t h l i s t , i . e . , a l o t h i t e m s t i t " r i g h t " a r el a r g e r . T h i s p r o c e s s c o n t i n u e s w i t h t h t w n e w l y c r e a t e d l i s t s u n t i lt h e n t i r e a r r a y i s o r t e d . Q u i c k S o r t , t h o u g h c o m p l i c a t e d , i v e r ye f f i c i e n t s o r t .

H e a p S o r t i a e v e n m o r e c o m p l i c a t e d a l g o r i t h m w h i c hi n v o l v e s t h e u s e o f " b i n a r y t r e e " . T h s o r t i a c h i e v e d b " t r a v e r s i n g " t h t r e e . T h l a r g e r i t e m s a r w o r k e d u " b r a n c h , "o n e b y o n e , u n t i l t h e y r e a c h t h t o p . E a c h i t h e n p l a c e d i i t a p p r o p r i a t e p l a c e a t h b o t t o m o f t h e h e a p a n n e v a l u e" c l i m b s " t h e t r e e . W h i l e t h i s a l g o r i t h m i e v e n l e s s i n t u i t i v e t h a nQ u i c k S o r t , i t t o o , i v e r y s p e e d y a l g o r i t h m .

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

4

Page 54: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 54/260

P r o g r a m m e r ' s C o r n e r

t p r o v i d e y o w i t h c o m p l e t e u n d e r s t a n d i n g o h o t h e s e r o u t i n e sw o r k . R a t h e r , t h e y a r s i m p l y m e a n t t g i v e y o g e n e r a l i d e a o t h e i r f u n c t i o n i n g . T h e r e a r n u m e r o u s b o o k s o t h s u b j e c t o s o r t i n g w h i c h w o u l d p r o v i d e y o w i t h b e t t e r u n d e r s t a n d i n g o t h e s e a l g o r i t h m s . S i n c e s u c h d i s c u s s i o n w o u l d b l e n g t h y , i n o t h p u r p o s e o t h i s a r t i c l e a n i n o n e c e s s a r y t u s t h p r e s e n t e dr o u t i n e s , w w i l l n o e n g a g e i f u r t h e r d e s c r i p t i o n o f t h ea l g o r i t h m s .

I t h l a s t a r t i c l e , t i m e , n u m b e r o c o m p a r i s o n s , a n n u m b e ro e x c h a n g e s w e r e u s e d a t h b a s i s o c o m p a r i n g t h s o r t i n ga l g o r i t h m s . D u t t h n a t u r e o f t h e r o u t i n e s c u r r e n t l y b e i n gs c r u t i n i z e d , i b e c o m e s d i f f i c u l t t o d e f i n e c o m p a r i s o n s a n e x c h a n g e s . C e r t a i n l y t h e e n r e s u l t w o u l d n o b e s o m e t h i n g o n c o u l d c o m p a r e t t h m o r e s t r a i g h t f o r w a r d c o m p a r i s o n a n e x c h a n g e c o u n t s o t h s l o w e r a l g o r i t h m s . F o t h a t r e a s o n , t h i sa r t i c l e s h a l l c o n c e n t r a t e o t h l e s s q u e s t i o n a b l e c o n c e p t o t i m e .I n d e e d , f o m o s t u s e r s t h i s w i l l b t h m o s t i m p o r t a n t f a c t o ra n y w a y .

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

U p o n e x a m i n i n g t h d a t a i T a b l e 1 i t i s e a s y t s e t h a tQ u i c k S o r t w a c o n s i s t e n t l y f a s t e r t h a n H e a p S o r t . O u p r e d i c t i o nw a t h a t H e a t S o r t w o u l d b t h f a s t e r s o r t o l a r g e r l i s t s , b u i d i n o h o l d t r u e . H o w e v e r , o n e m u s t r e m e m b e r t h a t , u n l i k e t h e s o r t si t h l a s t a r t i c l e , t h e r e a r n u m e r o u s v e r s i o n s o Q u i c k S o r t a n H e a p S o r t a n H e a p S o r t a v a i l a b l e . C o n s e q u e n t l y , t h r e s u l t s c o u l dv a r y d e p e n d i n g o t h r e n d i t i o n u s e d . F o o u p a r t i c u l a r v e r s i o n s ,Q u i c k S o r t b e c a m e i n c r e a s i n g l y f a s t e r t h a n H e a p S o r t a t h l i s t s i z ei n c r e a s e d . L o o k i n g b a c k a t h d a t a c o l l e c t e d f o t h t h r e e s l o w e rs o r t s , o n c a r e a d i l y v e r i f y t h a t Q u i c k S o r t a n H e a p S o r t a r m u c h m o r e e f f i c i e n t . F o l i s t s o f t e n , t h e " f a s t e s t " t i m e r e c o r d e d f o t h " s l o w " s o r t s w a 1 . s e c o n d s ( S e l e c t i o n S o r t ) . F r o m T a b l e w c a s e t h a t Q u i c k S o r t r e q u i r e d . 9 s e c o n d s a n H e a p S o r t 1 . 3 1s e c o n d s t s o r t t e i t e m s . T h i s i n o s u r p r i s i n g s i n c e H e a p S o r t i k n o w n t b m o r e e f f i c i e n t o l a r g e r l i s t s . I n d e e d , a t h l i s t s i z ei n c r e a s e s , b o t h H e a p S o r t a n Q u i c k S o r t o u t - p e r f o r m t h o t h e r s .F o l i s t s o s i z e 1 0 0 , Q u i c k S o r t r e q u i r e d 1 6 . 2 s e c o n d s a n H e a pS o r t 2 5 . 1 7 s e c o n d s ; t h e l e a s t t i m e r e c o r d e d f o t h e s l o w e r s o r t s w a 5 7 . 2 s e c o n d s b S h e l l S o r t . I f a c t , S e l e c t i o n S o r t r e q u i r e d 1 .

4

Page 55: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 55/260

P r o g r a m m e r ' s C o r n e r

m i n u t e s a n B u b b l e S o r t 3 . m i n u t e s t s o r t 1 0 i t e m s . O n m i g h ta l s o n o t e t h a t w h i l e i t o o k Q u i c k S o r t a a v e r a g e o f 1 0 5 . 1 2 s e c o n d st s o r t 5 0 i t e m s , i w a n o t e v e n f e a s i b l e t s o r t 5 0 i t e m s b t h s l o w e r s o r t s d u t t h i m m e n s e a m o u n t o t i m e i n v o l v e d .

I w a s h o w n i t h l a s t a r t i c l e t h a t , d u t t h n a t u r e o a i n t e r p r e t e r ( v s . c o m p i l e r ) , B A S I C a l g o r i t h m s a r m u c h s l o w e rt h a n t h e i r c o u n t e r p a r t s i c o m p i l e d l a n g u a g e ( e x . P L / 1 ) . S i n c e a i n t e r p r e t e r m u s t t r a n s l a t e e a c h B A S I C s t a t e m e n t i n t o m a c h i n e c o d ee v e r y t i m e i i e n c o u n t e r e d , a a l g o r i t h m w r i t t e n i m a c h i n e c o d es h o u l d p r o c e e d m u c h f a s t e r . I n d e e d , t h e d a t a p r e s e n t e d i t h p r e v i o u s a r t i c l e s h o w e d t h a t m a c h i n e c o d e v e r s i o n o S e l e c t i o nS o r t ( " s l o w " ) s o r t e d 1 0 i t e m s i 0 . 1 7 s e c o n d s ! E v e n Q u i c k S o r tr e q u i r e d a m u c h a 1 6 . 2 s e c o n d s t s o r t a l i s t o t h i s s i z e . I f a c t ,Q u i c k S o r t r e q u i r e d . 9 s e c o n d s t s o r t o n l y t e i t e m s . I t o o kQ u i c k S o r t a l m o s t s i t i m e s l o n g e r t s o r t t e i t e m s t h a n t h m a c h i n e c o d e v e r s i o n o f S e l e c t i o n S o r t t s o r t 1 0 i t e m s . I s h o u l db e o b v i o u s t h e n t h a t m a c h i n e c o d e v e r s i o n o f e v e n s l o w s o r tw o u l d b p r e f e r a b l e t o B A S I C v e r s i o n o f a s t s o r t . W h i l e t h B A S I C a l g o r i t h m s p r e s e n t e d w e r e c a p a b l e o s o r t i n g r a n d o mn u m b e r s o m o r e t h a n o n b y t e , o n l y r a n d o m n u m b e r s b e t w e e na n 1 0 w e r e u s e d s o t h a t e a c h n u m b e r w a o n l y o n b y t e i l e n g t h . T h m a c h i n e c o d e s o r t w a v e r y s p e c i a l i z e d i n t h a t i w o u l do n l y s o r t 2 5 o r f e w e r s i n g l e b y t e d a t a i t e m s . F o t h i s r e a s o n n l i s t i n g i p r e s e n t e d . I n c l u d e d , h o w e v e r , i m a c h i n e c o d e v e r s i o n o fH e a p S o r t w h i c h w i l l s o r t m o r e t h a n o n b y t e o f d a t a . T h d a t ap r o v i d e d i T a b l e w a o b t a i n e d b s o r t i n g c h a r a c t e r s t r i n g s o 1 o r f e w e r c h a r a c t e r s ( b y t e s ) . T h n u m b e r s c a n n o t b d i r e c t l yc o m p a r e d t t h e o t h e r s o r t s s i n c e t h a l g o r i t h m d o e s s o r t l a r g e ri t e m s o f d a t a , b u t , e v e n s o o n c a e a s i l y s e t h a t i i f a s u p e r i o rt t h B A S I C a l g o r i t h m s .

T h l i s t i n g p r o v i d e d o t h m a c h i n e c o d e v e r s i o n o f H e a p S o r ti a c t u a l l y B A S I C p r o g r a m c o n t a i n i n g t h s o r t i n g r o u t i n e i D A T A s t a t e m e n t s . L i n e s 1 1 0 - 1 9 0 o t h p r o g r a m p o k e t h a l g o r i t h m i n t o m e m o r y b e g i n n i n g a h e l o c a t i o n $ 1 6 0 0 . P l e a s e n o t et h a t t h i s r o u t i n e i n o r e l o c a t a b l e , t h e r e f o r e i w i l l n o t b e p o s s i b l et a l t e r i t s t a r t i n g p o s i t i o n . T h B A S I C p r o g r a m a l i s t e d i v e r ys i m i l a r t t h o n w u s e d t g a t h e r t h e d a t a t h a t a p p e a r s i T a b l ei t h a t i g e n e r a t e s r a n d o m c h a r a c t e r s t r i n g s w i t h l e n g t h v a r y i n gf r o m o n t t e b y t e s a n s o r t s t h o s e i t e m s . W s u g g e s t t h a t i y o i n t e n d t u s t h i s s o r t i n g a l g o r i t h m y o f i r s t c o p y t h g i v e n l i s t i n gv e r b a t i m . I t h a t w a y o w i l l v e r y e a s i l y b a b l e t d e t e r m i n e i i n d e e d y o h a v e c o p i e d t h e n t i r e l i s t o d a t a s t a t e m e n t s p r o p e r l y b

4

Page 56: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 56/260

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

A a e x a m p l e o h o y o m i g h t u s t h i s a l g o r i t h m , s u p p o s ey o h a v e 1 0 0 c h a r a c t e r s t r i n g s s t o r e d o t a p e t h a t y o w i s h t h a v es o r t e d a n p r i n t e d o t h s c r e e n . Y o c o u l d a c c o m p l i s h t h i s t a s k b m a k i n g t h f o l l o w i n g a d d i t i o n s a n s u b s t i t u t i o n s :

9 O P E N 1 , 1 , ( f i l e n a m e3 5 0 I N P U T # l , A $3 6 L E N ( A $ )4 2 X M I D $ ( A $ J , 1 ) : P R I N T X $ 4 4 P O K E B D ] , A S C ( X $ )

A f t e r k e y i n g i t h a b o v e l i n e s , i t i s s i m p l y n e c e s s a r y t r u t h p r o g r a m a n r e s p o n d t t h l i s t s i z e p r o m p t w i t h " 1 0 0 " . A a n o t h e re x a m p l e , s u p p o s e t h s i t u a t i o n w e r e t h s a m e a t h a b o v e , b u i n s t e a d o c h a r a c t e r s t r i n g s , t h t a p e f i l e c o n t a i n e d m o n e t a r ya m o u n t s i t h r a n g e $ 0 . 0 0 t a b o u t $ 6 5 , 0 0 0 . 0 0 . T h f o l l o w i n gc h a n g e s s h o u l d b e m a d e .

9 O P E N l , l , 0 , f i l e n a m e3 5 I N P U T # 1 , A : P R I N T3 6 4 0 A I N T ( A )4 1 I N T ( A 2 / 2 5 6 )4 2 R A 2 - Q * 2 5 64 3 R I N T ( ( A - A 2 ) * 1 0 0 1 0 . 5 4 4 0 P O K E B D 1 , 4 5 P O K E B 2 , R 14 6 P O K E B D 3 , R 25 0 8 0 2 5 6 * P E E K ( Y 1 + P E E K ( Y 2 8 2 ( P E E K ( Y 3 ) / 1 0 0 )8 4 P R I N T8 6 8 8

I t o t a l , o 3 2 m a c h i n e , t h i s a l g o r i t h m i e q u i p p e d t h a n d l ea p p r o x i m a t e l y 5 0 0 0 b y t e s o d a t a . I w i l l f u n c t i o n o 8 K 1 6 K , a n 3 2 C o m m o d o r e C B M s a n P E T s , b u o f c o u r s e t h a m o u n t o d a t a t h a t c a n b e u s e d w i l l d e p e n d o t h a m o u n t o R A a v a i l a b l e .

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

5

Page 57: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 57/260

P r o g r a m m e r ' s C o m e r

p a r t i a l l y e x p l a i n e d . I h a b e e n p o i n t e d o u t t h a t s u c h c r i t e r i a a t h t i m e i n v o l v e d a n t h a m o u n t o k n o w l e d g e a n a c t u a lp r o g r a m m i n g r e q u i r e d m u s t a l w a y s b o c o n c e r n t t h u s e r w h e nc h o o s i n g s o r t i n g r o u t i n e . D e p e n d i n g o t h e t y p e o f a p p l i c a t i o nn e e d e d a n t h e x p e r t i s e o f t h e u s e r , a n o f t h e B A S I C a l g o r i t h m so t h m a c h i n e c o d e s o r t t h a t w h a v e p r e s e n t e d c o u l d b i m p l e m e n t e d . M i c r o c o m p u t e r s c a b o v a s t b e n e f i t t o t h s m a l lb u s i n e s s , b u t o n l y i u s e d p r o p e r l y a n w i s e l y . T h s e l e c t i o n o a a p p r o p r i a t e s o r t i n g a l g o r i t h m i a i m p o r t a n t p a r t o u s i n g y o u rm i c r o w i s e l y .

L i s t S i z e1 2 5

1 0 5 0

A v g . t i m e f o Q u i c k S o r t

L i s t S i z e1 2 5

1 0 5 0

. 9 3 . 0 97 . 1 1

1 6 . 2 11 0 5 . 1 2

T i m e i s e c o n d sT A B L E

T i m e ( s e e s ) f o m a c h .. 0 . 1 . 2 . 4

2 . 6 7T A B L E

A v g . t i m e f o H e a p S o r t1 . 3 1

4 . 3 71 0 . 6 92 5 . 1 7

1 6 9 . 9 1

c o d e H e a p S o r t

H E A P S O R T1 0 L = I N T ( N / 2 ) + l1 2 K = 1 4 I L = T H E N 2 2 1 6 L = L - 11 8 S = V ( L )2 0 G O T O 3 0 2 2 S = V ( K )2 4 V ( K ) = V ( 1 )2 6 K = K - 12 8 I K < T H E N V ( I ) = S : G O T O 4 4 3 0 J = 3 2 0 I = J3 4 J = J + J3 6 I J > T H E N V ( I ) = S : G O T O 1 4

5

Page 58: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 58/260

P r o g r a m m e r ' s C o r n e r

3 8 I J < T H E N I V ( J ) < V ( J + 1 ) T H E N J = J + 14 0 I S > = V ( J ) T H E N V ( I ) = S : G O T O 1 4 4 2 V ( I ) = V ( J ) . - G O T O 3 2 4 4 E N

Q U I C K S O R T1 0 T P = 1 : L O W E R ( 1 ) = 1 : U P P E R ( 1 ) = N1 2 I T P < = 0 T H E N 4 8 1 4 L B = L O W E R ( T P ) : U B = U P P E R ( T P ) : T P = T P - 11 6 I U B < = L B T H E N 1 2 1 8 I = L B : J = U B : T E M P = V ( I )2 0 I J < T H E N 2 6 2 2 I T E M P > = V ( J ) T H E N 2 6 2 4 J = J - 1 : G O T O 2 0 2 6 I J < = I T H E N V ( I ) = T E M P : G O T O 4 0 2 8 V ( I ) = V ( J ) : I = I + 13 0 I I > T H E N 3 6 3 2 I V ( I ) > = T E M P T H E N 3 6 3 4 I = I + 1 : G O T O 3 0 3 6 I J > T H E N V ( J ) = V ( I ) : J = J - 1 : G O T O 2 2 3 8 V ( J ) = T E M P : I = J4 0 T P = T P + 14 2 I I - L B < U B - I T H E N L O W E R ( T P ) = 1 + 1 :

U P P E R ( T P ) = U B : U B = I - 1 : G O T O 1 6 4 4 L O W E R ( T P ) = L B : U P P E R ( T P ) = 1 - 1 : L B = I + 14 6 G O T O 1 6 4 8 E N H E A P S O R T I M A C H I N E C O D E1 0 P R I N T 1 1 O N E " ;1 0 P R I N T " M O M E N T , P L E A S E .1 1 B S = 5 6 3 2 : B A = 6 4 0 21 2 F O I = B S T O B S + 1 0 0 01 4 R E A D1 6 I A = 5 0 0 T H E N 2 4 1 8 P O K E I f 1 9 N E X T2 4 P = 0 : C = 0 : P R I N T "2 6 I N P U T " H O W M A N Y I T E M S " ; N2 6 P R I N T " T H E O R I G I N A L L I S T2 7 B D = B A + 2 * N + 1 02 8 F O 1 = T 2 9 P R I N T I " " 3 0 Q = I N T ( ( B D + P ) / 2 5 6 )3 2 R = ( B D + P ) - Q * 2 5 63 4 P O K E B A + C , R : P O K E B A + C + 1 , Q3 6 L = I N T ( 1 0 * R N D ( 1 ) ) + 13 8 P O K E B D + P f L4 0 F O J = T

5

Page 59: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 59/260

P r o g r a m m e r ' s C o r n e r

4 2 X = I N T ( 2 6 * R N D ( 1 ) ) + 6 5 : P R I N T C H R $ ( X ) ;4 4 P O K E B D + P + J f X4 6 N E X T4 8 P = P + L + l : C = C + 25 0 P R I N T5 2 N E X T5 4 T 1 = T I5 6 Q = I N T ( N / 2 5 6 )5 8 R = N - Q * 2 5 66 0 P O K E 6 1 6 8 , R : P O K E 6 1 6 9 , Q6 2 L = I N T ( N / 2 ) + l6 4 Q = I N T ( L / 2 5 6 )6 6 R = L - Q * 2 5 66 8 P O K E 6 1 7 0 f R : P O K E 6 1 7 1 f Q7 0 S Y 0 5 6 3 27 2 T 2 = ( T I - T l ) / 6 07 4 P R I N T " T H S O R T E D L I S T7 6 F O 1 = T N - 7 7 P R I N T I + 1 1 1 " 7 8 Y = P E E K ( B A + 2 * I ) + 2 5 6 * P E E K ( B A + 2 * I + 1 )8 0 L = P E E K ( Y )8 2 F O J = T 8 4 P R I N T C H R $ ( P E E K ( Y + J ) ) ;8 6 N E X T8 8 P R I N T9 0 N E X T9 2 P R I N T " n T 2 n S E C S9 3 P R I N T " H I T A N Y K E Y T C O N T I N U E9 4 G E T $ : I F T $ = " n T H E N 9 4 9 6 G O T O 2 4

1 0 0 0 D A T A 1 7 3 , 2 7 , 2 4 , 2 0 8 , 1 0 4 , 1 7 3 , 2 6 , 2 41 0 1 0 D A T A 2 0 1 , 1 , 2 0 8 , 9 7 , 1 7 3 , 2 4 , 2 4 , 2 41 0 2 0 D A T A 4 2 , 1 3 3 , 1 7 8 , 1 7 3 , 2 5 , 2 4 , 4 2 , 1 0 51 0 3 0 D A T A 2 5 , 1 3 3 , 1 7 9 , 2 3 4 , 2 3 4 , 1 6 0 , 0 , 1 7 71 0 4 0 D A T A 1 7 8 , 1 4 1 , 3 2 , 2 4 , 2 0 0 , 1 7 7 , 1 7 8 , 1 4 11 0 5 0 D A T A 3 3 , 2 4 , 1 7 3 , 3 , 2 5 , 1 4 5 , 1 7 8 , 1 3 61 0 6 0 D A T A 1 7 3 , 2 , 2 5 , 1 4 5 , 1 7 8 , 5 6 , 1 7 3 , 2 41 0 7 0 D A T A 2 4 , 2 3 3 , 1 , 1 4 1 , 2 4 , 2 4 , 1 7 3 , 2 51 0 8 0 D A T A 2 4 , 2 3 3 , 0 , 1 4 1 , 2 5 , 2 4 , 2 0 1 , 01 0 9 0 D A T A 2 0 8 , 8 0 , 1 7 3 , 2 4 , 2 4 , 2 0 8 , 7 5 , 1 7 31 1 0 0 D A T A 2 8 , 2 4 , 2 4 , 4 2 , 1 3 3 , 1 7 8 , 1 7 3 , 2 91 1 1 0 D A T A 2 4 , 4 2 , 1 0 5 , 2 5 , 1 3 3 , 1 7 9 , 2 3 4 , 1 7 31 1 2 0 D A T A 3 2 , 2 4 , 1 6 0 , 0 , 1 4 5 , 1 7 8 , 2 0 0 , 1 7 31 1 3 0 D A T A 3 3 , 2 4 , 1 4 5 , 1 7 8 , 9 6 , 5 6 , 1 7 3 , 2 61 1 4 0 D A T A 2 4 , 2 3 3 , 1 , 1 4 1 , 2 6 , 2 4 , 1 7 3 , 2 71 1 5 0 D A T A 2 4 , 2 3 3 , 0 , 1 4 1 , 2 7 , 2 4 , 1 7 3 , 2 61 1 6 0 D A T A 2 4 , 2 4 , 4 2 , 1 3 3 , 1 7 8 , 1 7 3 , 2 7 , 2 41 1 7 0 D A T A 4 2 , 1 0 5 , 2 5 , 1 3 3 , 1 7 9 , 1 6 0 , 0 , 1 7 71 1 8 0 D A T A 1 7 8 , 1 4 1 , 3 2 , 2 4 , 2 0 0 , 1 7 7 , 1 7 8 , 1 4 11 1 9 0 D A T A 3 3 , 2 4 , 1 7 3 , 2 6 , 2 4 , 1 4 1 , 3 0 , 2 41 2 0 0 D A T A 1 7 3 , 2 7 , 2 4 , 1 4 1 , 3 1 , 2 4 , 1 7 3 , 3 0

5

Page 60: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 60/260

Page 61: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 61/260

S a v i n g M e m o r y I L a r g e P r o g r a m s :

M i k e R i c h t e r

I y o f i n d y o u r f r e e m e m o r y s p a c e g e t t i n g c r a m p e d , t r s o m e o t h e s es u g g e s t i o n s t s o l v e t h ? O U T O M E M O R Y E R R O R .

1 P a c k y o u r s t a t e m e n t s i n t o l o n g l i n e s . E a c h n e l i n e n u m b e rc o s t s f o u r b y t e s m o r e t h a n c o l o n f o c o n t i n u a t i o n .

2 O v e r y l o n g l i n e s , u s t h s h o r t h a n d ( f o P R I N T , g f o G O T O ) t s t a y w i t h i n t h e 8 0 - c h a r a c t e r l i m i t .

3 R e l a c e I T H E N w i t h A ( O ) l o g i c a l e x p r e s s i o n e v a l u a t e s t - i t r u e , i f a l s e . T h o s e v a l u e s

m a b u s e d a r i t h m e t i c a l l y .4 S o m e I . . G O T O s t r u c t u r e s c a b r e p l a c e d e f f i c i e n t l yw i t h O . . G O T O . F o r e x a m p l e :

1 0 0 0 I G O T O 1 0 1 0 1 0 G O T O 2 0 m a b r e p l a c e d w i t h : 1 0 0 0 O N X X G O T O 1 0 0 : G O T O 2 0

5 C l o s e u t h s p a c e s i t h B A S I C s t a t e m e n t s ; t h e y j u s tw a s t e s t o r a g e , a l t h o u g h t h e y m a h e l p r e a d a b i l i t y .

6 S e m i c o l o n s a r r a r e l y n e e d e d i s i n g l e - l i n e p r i n t i n g .F o r e x a m p l e ,P R I N T T A B ( 5 ) " X " p r i n t s t h s a m e a P R I N T T A B ( 5 ) ; U X " ;

7 U s e c o m p u t e d v a l u e s i T A a n S P e x p r e s s i o n s r a t h e rt h a n F O R / N E X T .

8 s t r i n g o b l a n k s ( u s u a l l y , 3 o t h e m ) i u s e f u l f o e r a s i n ga l o p a r t o l i n e . T e r a s e 2 c h a r a c t e r s , P R I N TL E F T $ ( B L $ , 2 0 ) . V a r i a t i o n s a n e x t e n s i o n s o f t h i d e a a r n u m e r o u s . s t r i n g o c u r s o r c o n t r o l c h a r a c t e r s c a b u s e d t l o c a t e l i n e i t h s a m e w a y . W i t h C C d e f i n e d a " h o m e , 2 4 x c d " ,y o g e t l i n e b P R I N T L E F T $ ( C C $ , N + 1 ) .

9 P u t t i n g t h e a b o v e m a t e r i a l t o g e t h e r m a s a v e 2 0 - 5 0 % o f t h ec o d e . O n c h e c k y o c a m a k e o h o t i g h t l y t h p r o g r a m i p a c k e d i t f i g u r e o u w h a t f r a c t i o n o y o u r l i n e s m u s t e n d w h e r et h e y d b e c a u s e t h e y e i t h e r f i n i s h w i t h a u n a v o i d a b l e I o j u s tp l a i n r u o u o f s p a c e o t h 8 0 - c h a r a c t e r l i n e .

D o n ' t b e f a n a t i c a l a b o u t s a v i n g s p a c e , b u w o n d e r s c a

5

Page 62: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 62/260

s o m e t i m e s b w o r k e d . t o o k 2 4 A P P L E p r o g r a m a n a d d e df e a t u r e s i n t r a n s f e r r i n g i t t h P E T . T h r e s u l t t o o k l e t h a n 2 . 4 Ko m e m o r y ! O R E G O N T R A I L i a n o t h e r e x a m p l e w h i c h p r o b a b l yt o o k w e l l o v e r 2 0 a p u b l i s h e d , y e r u n s i t h 8 ( r e a l l y , 7 K - 1 ) o

P E w h e n p r o p e r l y c o m p r e s s e d .

5

Page 63: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 63/260

P r o g r a m m e r ' s N o t e s F o T h C B 8 0 3 2

R o B u s d i e c k e rS e v e r a l g o o d a r t i c l e s d e s c r i b i n g m a j o r f e a t u r e s o f t h e C B 8 0 3 2 ,h a v e a l r e a d y a p p e a r e d ( B u t t e r f i e l d R e p o r t s : T h 8 0 3 2 , b J i B u t t e r f i e l d , C O M P U T E ! I s s u e # 5 a n N e A d d i t i o n s t t h C o m m o d o r e L i n e , b R o b e r t W B a k e r , K i l o b a u d M i c r o c o m p u t i n g ,J u l y 1 9 8 0 ) . T h e r e a r q u i t e a f e f e a t u r e s , h o w e v e r , w h i c h w e r e n o m e n t i o n e d i t h o s e a r t i c l e s a n w i l l b o i n t e r e s t t t h o s e w h o w n , o a r c o n t e m p l a t i n g p u r c h a s e , o t h n e m a c h i n e .N e F u n c t i o n s f r o m K e y b o a r dM m o s t r e c e n t ( a n d m o s t e x c i t i n g ) d i s c o v e r y i t h f a c t t h a t m a n yo t h n e s c r e e n - e d i t o r f u n c t i o n s ( s c r o l l d o w n , d e l e t e l i n e , i n s e r tl i n e , e t c . ) c a b a c t i v a t e d d i r e c t l y f r o m t h k e y b o a r d , w i t h o u t t h n e c e s s i t y o d o i n g P R I N T C H R $ ( X X ) a d e s c r i b e d i t h a r t i c l e s .T h t r i c k i s i m p l y t p r e s s t h r i g h t c o m b i n a t i o n o k e y ss i m u l t a n e o u s l y . T h c o m b i n a t i o n s a r s h o w n i F i g u r e 1 I s o m ec a s e s , i d o e s n ' t m a t t e r w h i c h k e i p r e s s e d f i r s t ; h o w e v e r , i t ' sg e n e r a l l y s a f e r t o p r e s s t h k e l i s t e d i t h l e f t c o l u m n f i r s t .

A b b r e v i a t i o nD E L L

O R S T U

F u n c t i o nC o n d e n s e d g r a p h i c sS c r o l l d o w n

E r a s e f r o m b e g i n n i n go l i n e t c u r s o r

M e a n i n g ( K e y )D e l e t eE s c a p eL e f t A r r o wS h i f t K e o L e f t S i d eO f f / R e v e r s eS h i f t K e o R i g h t S i d eE i t h e r S h i f tT a U A r r o wK e o A l p h a - N u m e r i c K e y b o a r dK e y o n N u m e r i c K e y p a d

K e y sL R 2 L S E SL S T A IL I U L L 3 S T L D S H L A Q 4 p

5

Page 64: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 64/260

P r o g r a m m e r ' s C o r n e r

E r a s e t e n

D e l e t e l i n e

I n s e r t l i n e

S e t o l e f t : c o r n e ro w i n d o w

S e b o t t o m r i g h tc o r n e r o w i n d o w

S L 6 S L 2 S E L 5 S O L l L A Q 4 pL A A 6 pL A Z 2 pE L 5 O L l T L D E S O R KO R T A IO I U O R Q OO R A LS E O S O R T A IS O I U S H O R Q OS O Z A Z E S KZ l k U AS H Z A LS E S I U

F i g u r e 1 K e y b o a r d C o m b i n a t i o n s f o S p e c i a l S c r e e n E d i t o r F u n c t i o n s

C a l l i n g T h M o n i t o rT h o s e w h m a k e h e a v y u s e o f t h b u i l t - i n m o n i t o r c a n e n t e r i w i t h

S Y 5 4 3 8 6 . T h i s m o d e o f e n t r y g i v e s " c a l l " e n t r y r a t h e r t h a nt h " b r e a k " e n t r y y o g e w i t h S Y 1 0 2 4 . T h e r e a r t w o b s e r v a b l e d i f f e r e n c e s b e t w e e n t h t w f o r m s . " c a l l " e n t r y g i v e s* m e s s a g e o t h s c r e e n , a n d o e s n o c h a n g e t h v a l u e i t h s t a c k p o i n t e r ( S P ) . " b r e a k " e n t r y g i v e s * m e s s a g e , a n d e c r e m e n t s t h v a l u e i t h s t a c k p o i n t e r b t w o . T h " b r e a k "f e a t u r e w a n o d e s i g n e d a t h n o r m a l m e t h o d f o g e t t i n g i n t o t h m o n i t o r , b u r a t h e r a t o o l f o m a c h i n e l a n g u a g e p r o g r a m m i n g .I t ' s p o s s i b l e t h a t , i y o w e n t b a c k a n f o r t h f r o m B A S I C t m o n i t o r m a n y t i m e s u s i n g t h S Y 1 0 2 4 " b r e a k " e n t r y , y o c o u l dr u o u o s t a c k p o i n t e r s p a c e , a l t h o u g h i t ' s r a t h e r u n l i k e l y .I n c i d e n t a l l y , f o t h o l d e r P E T / C B M 2 0 0 1 4 6 a n - 3 2 , t h " c a l l "e n t r y f o t h m o n i t o r i S Y 6 4 7 8 5 .A u t o m a t i c P r o g r a m A d j u s t m e n t sM a n y f o l k s u s l o c a t i o n 5 0 0 0 3 t a l l o w p r o g r a m t f i g u r e o u w h a t

5

Page 65: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 65/260

P r o g r a m m e r ' s C o r n e r

k i n d o P E T / C B M c o m p u t e r i t ' s r u n n i n g o n P R I N T P E E K ( 5 0 0 0 3 )g i v e s a v a l u e o f o " o l d " P E T ' s ( v e r s i o n 1 B A S I C 2 . 0 ) , v a l u e o f

o " n e w " P E T / C B M ( v e r s i o n 2 B A S I C 3 . 0 ) , a n n o v a l u e o f1 6 o t h C B 8 0 3 2 ( B A S I C 4 . 0 ) . S i n c e m a n y p a g e z e r o l o c a t i o n si 8 0 3 2 a r t h s a m e a i t h " n e w " P E T / C B M ' s , s o m e p r o g r a m sd e s i g n e d t r u o e i t h e r " o l d " o " n e w " v e r s i o n s c a b a d a p t e df o t h 8 0 3 2 a s h o w n i F i g u r e 2 O r i g i n a l p r o g r a m

1 0 P V = P E E K ( 5 0 0 0 3 )2 0 R E M : = 0 f o O L P E T s , f o N E

M o d i f i e d f o 8 0 3 21 0 P V = P E E K ( 5 0 0 0 3 )1 I P 1 6 T H E N P V : ? " P r o g r a m r u n n i n g o C B 8 0 3 2 "2 R E M : = 0 f o O L D , = f o N E W , 1 6 f o 8 0 3 2

F i g u r e 2

O c o u r s e , t h i s m o d i f i c a t i o n w i l l n o a d a p t a l p r o g r a m s f o t h 8 0 3 2 . I ' v e s e e n v e r y f e p r o g r a m s f o 4 0 - c o l u m n m a c h i n e s w h o s eo u t p u t l o o k s " r i g h t " o t h 8 0 - c o l u m n u n i t ( t h o s e w h i c h d o a r t h o n e s w i t h o u t s o p h i s t i c a t e d g r a p h i c s o r f o r m a t t i n g ) . I t h p r o g r a mu s e s b u i l t - i n r o u t i n e s f r o m t h P E T / C B M R O M , i w i l l t a k e m o r ee f f o r t t o f i n d t h e r o u t i n e i t h 8 0 3 2 a n m o d i f y t h p r o g r a m t u s i t

H i d d e n M e m o r yA i p r e v i o u s m a c h i n e s , t h s c r e e n m e m o r y a p p e a r s t " u s e u p m e m o r y a d d r e s s e s f r o m 3 2 7 6 8 t 3 6 8 6 3 , a l t h o u g h o n l y t h f i r s t 2 0 0 0o t h o s e a r e " r e a l " s c r e e n m e m o r y a d d r e s s e s . A n o t h e r 2 0 0 0 a r " i m a g e " a d d r e s s e s , d u t t h i n c o m p l e t e d e c o d i n g o t h o s ea d d r e s s e s . O p a r t i c u l a r i n t e r e s t a r t h 4 a d d r e s s e s f r o m 3 4 7 6 8 ^ $ 7 3 > @t h r o u g h 3 4 8 1 5 w h i c h d n o a p p e a r t b u s e d f o a n y t h i n g . T h a T " " —m e m o r y s p a c e . c o u l d b e u s e d f o s h o r t m a c h i n e l a n g u a g e r o u t i n e s ,o d a t a v a l u e s t h a t n e e d t b t u c k e d a w a y w h e r e B A S I C c a n ' th u r t t h e m .

O n b u d i s c o v e r e d i t h 8 0 3 2 i t h a t P R I N T " [ H O M E ] "o f t e n r e t u r n s t h c u r s o r t t h s e c o n d l i n e o t h s c r e e n , r a t h e rt h a n t h f i r s t .

I w a v e r y f r u s t r a t i n g t o m t d i s c o v e r t h a t m a n y o f t h ee x c e l l e n t m a c h i n e l a n g u a g e t o o l s I V e o b t a i n e d v i J i B u t t e r f i e l da n C a r l M o s e r d n o w o r k o n t h 8 0 3 2 . F o t h o s e f o r t u n a t ee n o u g h t h a v e a c c e s s t 2 0 4 0 d i s k d r i v e , 2 0 0 1 - 3 2 , a n a 8 0 3 2a l a t h s a m e t i m e , i t ' s p o s s i b l e t c r e a t e a " h o s t - t a r g e te n v i r o n m e n t " o d e v e l o p m e n t s y s t e m f o t h 8 0 3 2 .

5

Page 66: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 66/260

P r o g r a m m e r ' s C o r n e r

O l T o o l s f o N e P r o g r a m sT h 8 0 3 2 a n 2 0 0 1 - 3 2 c a b o t h b c o n n e c t e d t t h 2 0 4 0 u s i n g t h I E E E - 4 8 8 p o r t s a n t h e a p p r o p r i a t e c a b l e s . p r o g r a m " s a v e d " t d i s k f r o m o n m a c h i n e c a b l o a d e d i n t o t h o t h e r , a n t h t r a n s f e r w i l l w o r k e i t h e r w a y . Y o m u s t b c a r e f u l , h o w e v e r , n o t t h a v e b o t h c o m p u t e r s t r y i n g t o a c c e s s t h d i s k a t h s a m e t i m e , o t h s y s t e m w i l l g e l o c k e d u p I ' v e a l s o e x p e r i e n c e d l o c k u p s w h e no n o t h c o m p u t e r s i r u n n i n g c e r t a i n m a c h i n e l a n g u a g ep r o g r a m s .

I y o w a n t t c r e a t e a a s s e m b l y l a n g u a g e p r o g r a m f o t h 8 0 3 2 , y o c a u s g o o d a s s e m b l e r ( l i k e t h M A f r o m E a s t e r nH o u s e S o f t w a r e ) r u n n i n g o t h 2 0 0 1 - 3 2 . A f t e r a s s e m b l i n g t h p r o g r a m i t h 2 0 0 1 - 3 2 , u s t h b u i l t - i n m o n i t o r t s a v e t h r e s u l t i n g m a c h i n e l a n g u a g e t d i s k . W h e n t h d i s k f i l e i t h e nl o a d e d i n t o t h e 8 0 3 2 , i w i l l g i n t o t h m e m o r y l o c a t i o n sc o r r e s p o n d i n g t t h o s e f r o m w h i c h i w a s a v e d .

A n o t h e r t h i n g w a n t e d t d w a t l o o k a t h R O i t h 8 0 3 2 . U n f o r t u n a t e l y , t h o n l y d i s a s s e m b l e r h a t h a t w o u l d r u o t h 8 0 3 2 w a w r i t t e n i B A S I C , a n d w a s e x c e e d i n g l y s l o w . O t h o t h e r h a n d , h a s e v e r a l m a c h i n e l a n g u a g e d i s a s s e m b l e r s t h a t w e r eq u i t e f a s t , b u w o u l d n o r u o 8 0 3 2 . T h s o l u t i o n w a t c o p yb l o c k o 8 0 3 2 R O M , f o e x a m p l e $ B 0 0 0 t $ B F F F , i n t o f r e e R A M ,s a $ 1 0 0 0 t $ 1 F F F . T h i s c a n b e d o n e i c o m m a n d m o d e w i t hs t a t e m e n t l i k e

F O I = T 4 0 9 5 : P O K E 4 0 9 6 + I , P E E K( 4 5 0 5 6 I ) : N E X T

W h e n t h i s i f i n i s h e d , w u s e t h e 8 0 3 2 ' s m o n i t o r t s a v e t h e c o p y( $ 1 0 0 0 t $ 1 F F F F ) , w h i c h c a t h e n b l o a d e d i n t o t h 2 0 0 1 - 3 2 f o e x a m i n a t i o n . T h c h o i c e o f l o c a t i o n s , o b v i o u s l y , m u s t b s u c h t h a ti w i l l n o i n t e r f e r e w i t h a n o t h t o o l s b e i n g u s e d t e x a m i n e t h c o d e .

R O F e a t u r e sT h m o n i t o r i t h 8 0 3 2 i v e r y s i m i l a r t o t h a t i t h e 2 0 0 1 - 3 2 ,e x c e p t f o h a v i n g b e e n r e l o c a t e d . T h i s i b o t h g o o d a n d b a d . I t ' sg o o d b e c a u s e t h 2 0 0 1 - 3 2 m o n i t o r i d o c u m e n t e d , w h i c h a l l o w s u t f i g u r e o u s o m e o f t h e R O r o u t i n e l o c a t i o n s i t h 8 0 3 2 w h i c hc o r r e s p o n d t k n o w n r o u t i n e l o c a t i o n s i t h e 2 0 0 1 - 3 2 . I t ' s b a b e c a u s e t h e r e a r m a n y i m p r o v e m e n t s w h i c h s h o u l d h a v e b e e nm a d e . I t ' s s h a m e t w a s t e h a l f t h s c r e e n , w h e n w c o u l d b s e e i n gt w i c e a m a n y l o c a t i o n s o t h 8 c o l u m n m a c h i n e . I t ' s a l s os h a m e t h a v e s u c h l i m i t e d c a p a b i l i t i e s i n m o n i t o r , w h e n s m a n y

6

Page 67: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 67/260

P r o g r a m m e r ' s C o r n e r

g o o d o n e s a r a v a i l a b l e .I t h e 8 0 3 2 , t h e o p e r a t i n g s y s t e m R O s t a r t s a t $ B 0 0 0 r a t h e r

t h a n $ C 0 0 0 , w h i c h m e a n s t h e r e a r o n l y t w f r e e R O s o c k e t s .O b v i o u s l y , W o r d P r w i l l t a k e u a t l e a s t o n o t h o s e w h e n i a p p e a r s ( t h i s i b e i n g w r i t t e n i m i d - A u g u s t , a n w e V e n o b e e na b l e t o b t a i n p r o d u c t i o n c o p y y e t ) .R e a d e r F e e d b a c kW e x p e c t t b l e a r n i n g m a n y m o r e f e a t u r e s o t h 8 0 3 2 i c o m i n gm o n t h s , e s p e c i a l l y w h e n w a r e a b l e t o g e o n o t h n e 8 0 5 0 d i s kd r i v e s a n t e s t i t i n t e r a c t i o n s w i t h o l a n n e c o m p u t e r s .

A n C O M P U T E ! r e a d e r s w h w o u l d l i k e t c o n t r i b u t e t h e i rd i s c o v e r i e s m a f o r w a r d t h e m t m e a n I ' l l i n c o r p o r a t e t h e m i f u t u r e a r t i c l e ( g i v i n g c r e d i t t t h f i r s t c o n t r i b u t o r o f e a c h i t e m ) .w o u l d b e s p e c i a l l y i n t e r e s t e d i k e y b o a r d c o m b i n a t i o n s t h a t c a u s e

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

S e n d y o u r c o n t r i b u t i o n s d i r e c t l y t m a V i r g i n i a M i c r oS y s t e m s , I n c . , 1 4 4 1 5 J e f f e r s o n D a v i s H i g h w a y , W o o d b r i d g e , V 2 2 1 9 1 .

6

Page 68: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 68/260

U n - C r a s h i n g O n U p g r a d eR O C o m p u t e r s

J i B u t t e r f i e l dH e r e ' s t h e o r i g i n a l " U n c r a s h i n g " a r t i c l e .

I y o u d o m u c h w o r k i m a c h i n e l a n g u a g e , s o o n e r o l a t e r y o u ' l lw r i t e p r o g r a m t h a t w i l l c r a s h .

F o r m e r l y , y o w e r e o u o l u c k . U n l e s s y o w e r e l u c k y e n o u g ht s t u m b l e i n t o a t y p e c r a s h w h i c h w o u l d t a k e y o t t h M a c h i n e L a n g u a g e M o n i t o r , o t a ? I N V A L I D N U M E R I Cs t a t e m e n t y o u r o n l y r e m e d y w o u l d b t r e s e t , a n w i p e m e m o r y .

T y p e c r a s h e s ( t i g h t l o o p s ) c o u l d b e g u a r d e d a g a i n s t w i t hl i t t l e p r e p a r a t i o n i n v o l v i n g f i d d l i n g w i t h t h i n t e r r u p t s t r u c t u r e . B u t h e n a s t y t y p e c r a s h ( X c o d e s ) c a n n o t b e f i x e d w i t h o u t k i c k i n gt h R e s e t l i n e ; a n R e s e t m e a n s m e m o r y t e s t , a n m e m o r y t e s tm e a n s y o u ' l l h a v e t r e l o a d y o u r p r o g r a m .

N m o r e . O u p g r a d e R O M s , y o c a c o m e o u o h a r dc r a s h w i t h m e m o r y p r e s e r v e d .

M e t h o d : S e t t h e d i a g n o s t i c s e n s e p i t g r o u n d , t h e n k i c k t h R e s e t l i n e . T h p r o c e s s o r w i l l r e - a w a k e n i t h M a c h i n e L a n g u a g eM o n i t o r w i t h m e m o r y p r e s e r v e d .

T h e r e ' s m o r e : y o u ' r e n o y e o u o f t h e w o o d s . T y p es e m i c o l o n f o l l o w e d b R E T U R N ; P E w i l l r e s p o n d w i t h q u e s t i o nm a r k . N o m o v e t h c u r s o r b a c k t y o u r r e g i s t e r d i s p l a y l i n e , a n c h a n g e t h S t a c k P o i n t e r ( S P ) v a l u e f r o m 0 t F 8 T h i s s t r a n g ep r o c e d u r e i i m p o r t a n t : y o u m u s t f o l l o w i e x a c t l y . O n c e y o u ' v ed o n e s o y o u ' r e c l e a r . Y o m a r e t u r n t B A S I C w i t h a i y o l i k e , o p r o c e e d i t h M L M .

H a r d w a r e : T m a k e t h d i a g n o s t i c s e n s e p i n : t a k e s t a n d a r d1 2 - p i n e d g e c o n n e c t o r a n w i r e p i n ( d i a g n o s t i c s e n s e ) t o p i ( g r o u n d ) . K e t h c o n n e c t o r s i s i t s o t h p a r a l l e l u s e r p o r t . P l u gi i w h e n e v e r y o u w a n t t u n - c r a s h , b u d o n ' t l e a v e i o t h m a c h i n e .T h R e s e t b u t t o n i l i t t l e t r i c k i e r , s i n c e y o h a v e t k n o ww h e r e t c o n n e c t i t C h e c k w i t h s o m e o n e w h o ' s k n o w l e d g e a b l e o P E h a r d w a r e .

C o m m e r c i a l s o u r c e s : I n t e r n a t i o n a l T e c h n i c a l S y s t e m s . B o 2 6 4 , W o o d b r i d g e V 2 2 1 9 4 m a k e s R e s e t b u t t o n .

G o r d R e i t h m e i e r , 4 1 D u p l e x A v e n u e , A p t . 1 1 T o r o n t o

6

Page 69: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 69/260

P r o g r a m m e r ' s C o r n e r

C a n a d a M 4 1 V 2 , m a k e s t w u n c r a s h i n g d e v i c e s , e i t h e r o w h i c hf i t s o t h P a r a l l e l U s e r P o r t ; t h e y i n c l u d e d i a g n o s t i c p i t o g g l es w i t c h a n R e s e t b u t t o n . A I c l i p s n a k e s i n s i d e P E T ' s c o v e r t c o n n e c t t t h r e s e t l i n e . I n s t r u c t i o n s a r i n c l u d e d . T h b a s i c u n i ts e l l s f o $ 2 0 ; o f o $ 3 t h u n i t a l s o i n c l u d e s t h P o o r M a n ' s D / c o n v e r t e r .

6

Page 70: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 70/260

P r o g r a m m e r ' s C o r n e r

M e m o r y P a r t i t i o n o B A S I C W o r k s p a c e

H a r v e y B H e r m a n6 5 0 2 m i c r o p r o c e s s o r c a a d d r e s s t o t a l o 6 5 b y t e s o m e m o r y

( R A M p l u s R O M ) . T h a d d r e s s s p a c e f o B A S I C p r o g r a m s ( R A M )i n e c e s s a r i l y r e s t r i c t e d t l e s s t h a n t h a t w i t h o u t r e s o r t i n g t h a r d w a r e t r i c k s . H o w e v e r , m o s t B A S I C p r o g r a m s d n o t a k e u a n y w h e r e n e a r t h m a x i m u m a m o u n t o f r e s e r v e d m e m o r y ( 3 2 Kb y t e s f o t h P E T ) . O c c a s i o n a l l y i w o u l d b u s e f u l t h a v e s e v e r a ls h o r t , n o n i n t e r a c t i n g B A S I C p r o g r a m s i m e m o r y a t h s a m e t i m e .F o e x a m p l e , w u s s h o r t p r o g r a m s t c h e c k s t u d e n t l a b o r a t o r yc a l c u l a t i o n s Q C h e m . E d . , V o l . 5 5 p 6 5 ( 1 9 7 8 ) ) . W h e n m u l t i p l el a b o r a t o r i e s a r e i n p r o c e s s i w o u l d b s i m p l e r t L O A D t a p ec o n t a i n i n g n u m b e r o p r o g r a m s a n h a v e e a c h s t u d e n t r u t h p r o g r a m a p p r o p r i a t e f o h i e x p e r i m e n t .

O n w a t c o m b i n e p r o g r a m s i t r e n u m b e r a n d m e r g ei n d i v i d u a l p r o g r a m s w i t h s u b s e q u e n t r e - s a v e o t h c o m b i n a t i o n .T h e r e a r s e v e r a l d i s a d v a n t a g e s t t h i s a p p r o a c h . I i i m p o r t a n t t k e e p l i n e n u m b e r s s e p a r a t e i e a c h p r o g r a m t b m e r g e d o y o m a n o t b e a b l e t d e l e t e o L I S T p a r t s o f t h e p r o g r a m ( u n n e r v i n ga f i r s t ) . A o r d i n a r y L I S T o f t h e p r o g r a m w i l l s h o w f r e q u e n t l yu n r e l a t e d p a r t s a o n e p r o g r a m ( n o t a e s t h e t i c a l l y p l e a s i n g ) . T h s t u d e n t u s e r m u s t r e m e m b e r t R U w i t h l i n e n u m b e r s p e c i f i e df o r h i s c h o s e n s e g m e n t ( o r i s k b e i n g h o p e l e s s l y c o n f u s e d ) . F i n a l l yt h i s a p p r o a c h w i l l n o a l l o w p l a c i n g u t i l i t y p r o g r a m s ( w r i t t e n i nB A S I C ) i r e s e r v e d a r e a s o m e m o r y u n l e s s t h e y a r m e r g e d w i t he v e r y p r o g r a m ( f o r m i d a b l e t a s k ) .

S i n c e f r e q u e n t l y u s e n u m b e r o s h o r t p r o g r a m s a n h a v eu n u s e d m e m o r y , t h o u g h t i w o u l d b h e l p f u l t o p a r t i t i o n t h B A S I C w o r k s p a c e f o s t o r a g e o i n d i v i d u a l p r o g r a m s . F o r e x a m p l e ,a 8 P E ( 7 1 6 7 b y t e s f r e e ) c o u l d h a v e t h r e e 2 p a r t i t i o n s u n d e rc o n t r o l o I m a s t e r p r o g r a m . I t i s p o s s i b l e t o m a k e o t h e rc o n f i g u r a t i o n s a l o n g a t h t o t a l d o e s n o t o v e r r u n t h f r e e m e m o r ya v a i l a b l e . I t h p a r t i t i o n i n g i d o n e p r o p e r l y t h e s t o r e d p r o g r a m sw o u l d n o i n t e r a c t w i t h e a c h o t h e r . E a c h p r o g r a m w o u l d " t h i n k " i w a i I P E T . ( a c t u a l l y o w n e d 2 P E o n c e w h e n h a m e m o r y f a i l u r e . ) T h m a s t e r p r o g r a m w o u l d b i c h a r g e o fa d j u s t i n g t h e n e c e s s a r y p o i n t e r s s g i v e n p r o g r a m c o u l d b a c c e s s e d w h e n r e q u e s t e d b t h u s e r .

6

Page 71: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 71/260

P r o g r a m m e r ' s C o m e r

M i c r o s o f t B A S I C ( f o r t h P E a n o t h e r m i c r o c o m p u t e r s ) u s e sp o i n t e r s t s u b d i v i d e f r e e m e m o r y . T h t a b l e s u m m a r i z e s i m p o r t a n tp o i n t e r s ( a l e a s t f o t h i s d i s c u s s i o n ) f o b o t h o l a n n e P E T s .T h f o l l o w i n g m a t e r i a l i f o t h o l R O M s . I t i s n o n e c e s s a r y t d a n y h e x a r i t h m e t i c t u s t h m e t h o d w i l l d e s c r i b e . H o w e v e r , i d o e s h e l p t u n d e r s t a n d l i t t l e a b o u t p o i n t e r s . I B A S I C p r o g r a mt e x t i s t o r e d b e g i n n i n g a l o c a t i o n h e 0 4 0 1 ( i i a s s u m e d l o c a t i o nh e x 0 4 0 0 c o n t a i n s z e r o ) t h p o i n t e r s t s t a r t o t e x t ( l o c a t i o n1 2 2 / 1 2 3 ) w o u l d r e a d a n f o l o a n h i g h b y t e r e s p e c t i v e l y .T h a t e x a m p l e w a n o t o d i f f i c u l t b u i m u s t b r e m e m b e r e d t h a tt h e v a l u e r e t u r n e d i i d e c i m a l . I s t a r t o t e x t w a s c h a n g e d t o s a h e 1 0 0 1 , l o c a t i o n 1 2 w o u l d n o r e a d 1 c o r r e s p o n d i n g t t h d e c i m a l r e p r e s e n t a t i o n o f t h e m o s t s i g n i f i c a n t h a l f o t h a t n u m b e r( h e x 1 0 ) . T a c t i v a t e a n e p a r t i t i o n i t i s o n l y n e c e s s a r y t s e p o i n t e r s t s t a r t o B A S I C t e x t ( 1 2 2 / 1 2 3 ) , e n o B A S I C t e x t( 1 2 4 / 1 2 5 ) a n t o o m e m o r y ( 1 3 4 / 1 3 5 ) . S u b s e q u e n t l y e x e c u t i n gC L w i l l s e t a l t h o t h e r p o i n t e r s a u t o m a t i c a l l y ( e . g . , b o t t o m o s t r i n g s , e t c . ) a n d , a f t e r E N D , w f i n d o u r s e l f i t h n e p a r t i t i o n .

A a e x e r c i s e w r o t e s h o r t m a s t e r p r o g r a m ( I w o r k s p a c e )c o n t r o l l i n g t h r e e s h o r t d o n o t h i n g B A S I C p r o g r a m s ( e a c h i 2 w o r k s p a c e ) . T h e y a r s h o w n i t h f i g u r e . T h m a s t e r p r o g r a m a s k st h u s e r f o p r o g r a m n u m b e r a n a u t o m a t i c a l l y s e t s t h p o i n t e r st o a c t i v a t e t h a t p r o g r a m . A t h i s p o i n t t h e u s e r i i n 2 w o r k s p a c ew i t h o n e p r o g r a m a c t i v e w h i c h c a b R U o m o d i f i e d a d e s i r e d .T h l a s t s t a t e m e n t c a b R U o m o d i f i e d a d e s i r e d . T h l a s ts t a t e m e n t i e a c h o f t h e s h o r t p r o g r a m s r e t u r n s t h u s e r t t h m a s t e r p r o g r a m . E a c h p r o g r a m i c o m p l e t e l y i n d e p e n d e n t o f t h eo t h e r s , s n u g a n p r o t e c t e d i i t o w p r i v a t e w o r l d .

S e t t i n g u t h e x a m p l e o o n l i k e i t i s n o d i f f i c u l t . E a c hp r o g r a m c o u l d b t y p e d i a f t e r t h p a r t i t i o n i a c t i v a t e d b t h m a s t e r p r o g r a m ( N E W f i r s t ) . K e e p t r a c k o f t h e s i z e o e a c h p r o g r a mb P E E K i n g a l o c a t i o n s 1 2 a n 1 2 5 . T h i s i n f o r m a t i o n s h o u l d b s t o r e d i t h m a s t e r p r o g r a m s o n c a e n t e r a n l e a v e t h p a r t i t i o n w i t h o u t d e s t r o y i n g t h e B A S I C t e x t ( c . f . , l i n e 2 1 i m a s t e rp r o g r a m ) . T h s i z e o f t h e m a s t e r p r o g r a m s h o u l d a l s o b r e c o r d e da n r e s t o r e d b e f o r e r e t u r n i n g t i ( c . f . , l i n e 4 i p r o g r a m 1 ) R e l a t i v e l y l o n g p r o g r a m s a r n u i s a n c e t t y p e i n t o e a c hp a r t i t i o n . I t h p r o g r a m i o c a s s e t t e t a p e i c a b r e l o c a t e d t a n p a r t i t i o n u s i n g t h e p r o c e d u r e d e s c r i b e d i m a r t i c l e " M O V EI T ( M I C R O 1 6 : 1 7 a n 1 7 : 1 8 ) . N o r m a l l y t a p e s l o a d s t a r t i n g a h e 0 4 0 0 . B r e a d i n g i t h t a p e h e a d e r f i r s t a n c h a n g i n g t h l o a dp a r a m e t e r s i t h t a p e b u f f e r , i n f o r m a t i o n o c a s s e t t e t a p e c a b

6

Page 72: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 72/260

s t o r e d e l s e w h e r e i m e m o r y . K e e p t w o p o i n t s i m i n d . O n e , b e f o r eu s i n g t h r e l o c a t e d p r o g r a m s f o t h f i r s t t i m e , t h B A S I C l i n e l i n k s( s e e p A - i P E U s e r M a n u a l ) m u s t b c o r r e c t e d . T h e a s i e s t w a t d t h i s i t t y p e a n l i n e n u m b e r n o t i n t h p r o g r a m a n r e t u r n .T w o , r e c o r d t h e l e n g t h o f t h e p r o g r a m b y P E E K i n g a l o c a t i o n s 1 2 a n 1 2 a f t e r a o r d i n a r y t a p e l o a d . I m e x a m p l e p r o g r a ms h o w e d a n 7 r e s p e c t i v e l y . S i n c e i n t e n d e d t r e l o c a t e t h p r o g r a m t a p a r t i t i o n b e g i n n i n g a h e 8 0 0 , i w a n e c e s s a r y t u s t h v a l u e s a n 7 i l i n e 2 1 i t h m a s t e r p r o g r a m .

T h p a r t i t i o n i d e a d e s c r i b e d a b o v e s h o u l d b a p p l i c a b l e , w i t ho n l y m i n o r c h a n g e s , t a n m i c r o c o m p u t e r u s i n g M i c r o s o f t B A S I C .I f a c t u s e d p a r t i t i o n f o t h f i r s t t i m e o m S Y t o s t o r e a i n i t i a l i z a t i o n p r o g r a m w h i c h w a u s e d i n f r e q u e n t l y . I n t h i s c a s e t h p a r t i t i o n s w e r e o u n e q u a l l e n g t h , 4 a n 8 K R e a d e r s m i g h t b i n t e r e s t e d i s t o r i n g t h e i r s h o r t B A S I C u t i l i t y p r o g r a m s i a o u t -o f - t h e - w a y p a r t i t i o n a n a c t i v a t e t h p r o g r a m s w h e n n e c e s s a r y a d i w i t h t h S Y i n i t i a l i z a t i o n p r o g r a m . M a y b e o t h e r s c o u l d s h a r et h e i r i d e a s o t h s u b j e c t w i t h m c a r e o f t h i s m a g a z i n e . W c o u l dp u b l i s h t h e b e s t o n e s i n f u t u r e a r t i c l e . ( A n y o n e f o t i m e s h a r i n g ? )I m p o r t a n t P E P o i n t e r s( L o w / H i g h B y t e s )

R O U p g r a d e R O S t a r t o T e x t 1 2 2 / 1 2 3 4 0 / 4 1E n o T e x t 1 2 4 / 1 2 5 4 2 / 4 3T o o M e m o r y 1 3 4 / 1 3 5 5 2 / 5 3

1 R E M E M O R Y P A R T I T I O N - M A S T E R P R O G R A M2 R E M E X A M P L E :3 R E M T H R E E P R O G R A M W O R K S P A C E S3 R E C R E A T E D A T 4 R E H E 0 8 0 0 - 0 F F F P R O G R A M5 R E H E 1 0 0 0 - 1 7 F F P R O G R A M6 R E M H E X 1 8 0 0 - 1 F F F P R O G R A M6 P O K E 1 2 3 f 0 4 : P O K E 1 2 2 , 0 16 P O K E 1 2 5 f 0 6 : P O K E l 2 4 f 5 7 : C L R6 P O K E 2 0 4 8 , 0 : P O K E 4 0 9 6 , 0 : P O K E 6 1 4 4 , 07 8 R E H A R V E Y B H E R M A N9 9 P R I N T " W H I C H P R O G R A M D O Y O U W A N T " ;1 0 I N P U T " ( 1 - 3 ) " ; N1 1 O G O T O 2 0 0 , 3 0 0 , 4 0 02 0 P O K E 1 2 3 , 0 8 : P O K E 1 2 2 , 0 1

6

Page 73: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 73/260

P r o g r a m m e r ' s C o r n e r

2 0 P O K E l 3 5 f 2 4 : P O K E l 3 4 f 02 1 P O K E 1 2 5 , 0 8 : P O K E 1 2 4 , 7 4 : C L R : E N D3 0 P O K E 1 2 3 , 1 6 : P O K E 1 2 2 , 0 13 0 P O K E 1 3 5 , 2 4 : P O K E 1 3 4 , 03 1 P O K E 1 2 5 f 1 6 : P O K E 1 2 4 f 7 4 : C L R : E N D4 0 P O K E 1 2 3 , 2 4 : P O K E l 2 2 f 0 14 0 P O K E 1 3 5 , 3 2 : P O K E 1 3 4 , 04 1 P O K E 1 2 5 f 2 4 : P O K E 1 2 4 f 7 4 : C L R : E N D

1 R E P R O G R A M2 A = 3 P R I N T A4 P O K E l 2 3 f 44 P O K E 1 2 4 , 5 75 P O K E 1 2 5 f 0 65 P O K E l 3 5 f 86 C L R : E N D

1 R E P R O G R A M2 B = 3 P R I N T4 P O K E l 2 3 f 44 P O K E 1 2 4 , 5 75 P O K E l 2 5 f 0 65 P O K E 1 3 5 , 86 C L R : E N D

1 R E M P R O G R A M2 C = 3 P R I N T4 P O K E l 2 3 f 44 P O K E 1 2 4 , 5 75 P O K E 1 2 5 , 0 65 P O K E 1 3 5 , 86 C L R : E N D

6

Page 74: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 74/260

T h D e a d l y L i n e f e e dJ i B u t t e r f i e l d

J i m ' s a d v i c e i " T h e D e a d l y L i n e F e e d " i d e f i n i t e l y w o r t h h e e d i n g . J u s tt r i o n c e t h o t h e r w a y ! I n c i d e n t a l l y , t h i s p r e c a u t i o n i n o n e c e s s a r yw i t h B A S I C 4 . 0 .

W h e n y o w r i t e B A S I C s t a t e m e n t l i k e P R I N T X y o p r i n t t h v a l u e a n s t a r t n e l i n e .

T s t a r t n e l i n e , t h P E s e n d s t w c h a r a c t e r s : a R E T U R N ,w h i c h t e r m i n a t e s t h e o l d l i n e , a n L I N E F E E D , w h i c h i o f t e n n o n e e d e d a n i s o m e t i m e s d e a d l y .

T h l i n e f e e d c h a r a c t e r ( C H R $ ( 1 0 ) ) i t h e r e t t e l l s o m e t y p e s o p r i n t e r t h a t i t ' s t i m e t m o v e t h p a p e r u p T h C o m m o d o r e p r i n t e r sd o n ' t n e e d i t b u o t h e r s o f t e n d o .

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

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

C a s e t w i w h e n y o u ' r e s e n d i n g f o r m a t t e d l i n e t t h C o m m o d o r e p r i n t e r t h a t i s t s e c o n d a r y a d d r e s s # 1 I w i l l s e e mt w o r k i m a n y c a s e s ; b u y o u ' l l h a v e p r o b l e m s w h e n y o t r t c h a n g e t h f o r m a t l i n e b a d d r e s s i n g s e c o n d a r y a d d r e s s # 2

H o d o y o u a v o i d s e n d i n g t h l i n e f e e d ? D o n ' t l e P E t e r m i n a t e l i n e f o r y o u : d i y o u r s e l f b s e n d i n g t h R E T U R Nc h a r a c t e r .

S i n s t e a d o f s e n d i n g P R I N T # 5 , c o d e P R I N T # 5 , X ; C H R $ ( 1 3 ) ;a n b s u r e y o d o n ' t f o r g e t t h s e m i c o l o n a t h e n o f t h e l i n e . I y o h a v e l o o p r i n t l i n e s o t h i s t y p e , y o c a s e t h R E T U R Ni n t o s t r i n g v a r i a b l e a n s a v e s p a c e : s a R = C H R $ ( 1 3 ) a n t h e ny o c a c o d e P R I N T # 5 , X ; R $ ; t d t h j o b .

6

Page 75: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 75/260

U s i n g T h G E S t a t e m e n tO T h P E

A l f r e d J B r u e yT h G E s t a t e m e n t i o n o t h l e a s t s t a n d a r d o a n i M i c r o s o f tB A S I C . H e r e ' s h o y o u c a n u s i o t h P E T , f o p r o g r a m m i n g o c o n v e r t i n g p r o g r a m s f r o m o n m a c h i n e t a n o t h e r .

A l t h o u g h m o s t p r o g r a m s u s t h I N P U T s t a t e m e n t t e n t e r d a t ad u r i n g t h e e x e c u t i o n o B A S I C p r o g r a m , t h G E s t a t e m e n t m a b e u s e d t a d v a n t a g e , e s p e c i a l l y i n c a s e s w h e r e t h p r o g r a m i t b r u b n o n - c o m p u t e r o r i e n t e d p e r s o n .

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

2 G E A T h i s s t a t e m e n t a s s i g n s t h n e x t c h a r a c t e r i t h k e y b o a r d b u f f e r t ot h s t r i n g v a r i a b l e A $

S i n c e t h G E s t a t e m e n t e x e c u t e s a s o o n a i t i s e n c o u n t e r e d ,w h e t h e r t h e r e i a n y t h i n g i t h k e y b o a r d b u f f e r o n o t , i i u s u a l l yn e c e s s a r y t c h e c k f o t h n u l l c h a r a c t e r w i t h s t a t e m e n t o t h f o r m

2 G E A I A " T H E N 2 T h I F . . . T H E N s t a t e m e n t p u t s t h p r o g r a m i l o o p u n t i l k e i p r e s s e d .

I t h e x a m p l e s a b o v e , t h v a l u e w i l l n o b d i s p l a y e d o t h s c r e e n , s y o w i l l p r o b a b l y w a n t t a d P R I N T s t a t e m e n t s y o c a s e w h a t k e y o p r e s s e d . T h p r o g r a m w i l l t h e n l o o k l i k e t h i s :

2 G E A I A " T H E N 2 3 P R I N T A

T h G E s t a t e m e n t a l s o d o e s n o p r o m p t t h u s e r f o i n p u t s w w o u l d n o r m a l l y a d P R I N T s t a t e m e n t b e f o r e t h G E s t a t e m e n t :

1 P R I N T " E N T E R C H A R A C T E R " ;2 G E A I A " T H E N 2 4 P R I N T A

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

I y o t r t h i s e x a m p l e , y o u ' l l n o t i c e t h a t y o d o n ' t h a v e t u s

6

Page 76: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 76/260

P r o g r a m m e r ' s C o r n e r

t h R E T U R N k e t e n t e r t h d a t a . T h a b i l i t y o f t h e G E s t a t e m e n t t a c c e p t c h a r a c t e r w i t h o u t t h u s o f t h e R E T U R Nk e i g r e a t a d v a n t a g e i p r o g r a m w h e r e t h u s e r h a t e n t e rm a n y o n c h a r a c t e r a n s w e r s , s u c h a o f o Y E o N O o i g a m e w h e r e t h p r o g a m h a t r e c o g n i z e t h a t y o a r d e p r e s s i n go n o t h c u r s o r k e y s . F o r e x a m p l e , l e t ' s l o o k a p r o g r a m t h a tw a i t s f o o a n s w e r :

R E W A I T F O O R A N S W E R1 G E A I A < " Y A N A $ O " N " T H E N 1 3 R E G H E R E I O R I E N T E R E D

F o r o u r n e x t s t e p , l e t ' s e x a m i n e s h o r t r o u t i n e t h a t w i l l l e u s e n t e re x a c t l y f i v e c h a r a c t e r s w i t h G E s t a t e m e n t .

1 P R I N T " E N T E R F I V EC H A R A C T E R S " ;2 F O T 3 G E A $ ( I ) : I F A $ ( I ) " T H E N 3 4 P R I N T A $ ( I )5 N E X T

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

R E T U R N u n t i l h h a e n t e r e d t h r e q u i r e d n u m b e r o c h a r a c t e r s .A f i n a l t o u c h , w w i l l r e q u i r e t h a t t h u s e r b a b l e t u s t h D E L E T E k e s h e c a n c o r r e c t e r r o r s d u r i n g t h k e y b o a r d e n t r y .

A a e x a m p l e t h a t u s e s t h r e s t r i c t i o n s a b o v e , c o n s i d e r t h ef o l l o w i n g l i s t i n g . 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 i n e n u m e r i cc h a r a c t e r s f o l l o w e d b t h R E T U R N . T h D E L E T E k e i a c t i v ed u r i n g t h p r o c e s s . T h i s r o u t i n e c o u l d b u s e d t e n t e r s o c i a ls e c u r i t y n u m b e r . F i r s t t h l i s t i n g , t h e n l i n e - b y - l i n e e x p l a n a t i o n o t h e c o d i n g :1 F O 1 = T 1 2 G E T S $ ( I ) : I F S $ ( I ) l f T H E N 2 3 0 I F ( S $ ( I ) < I I 0 1 1 O S $ ( I ) > H 9 " ) A N - - i S $ ( I ) O C H R $ ( 2 0 ) A N S ( I < > C H R $ ( 1 3 )

- T H E N 2 4 I S $ ( I ) = C H R $ ( 2 0 ) A N D 1 = T H E N 2 5 0 I F S $ ( I ) = C H R $ ( 2 0 ) T H E N P R I N T C H R $ ( 1 5 7 )

- i + n " + C H R $ ( 1 5 7 ) ; : I = I - 1 : G O T O 2 5 I K 1 A N S ( I = C H R $ ( 1 3 ) T H E N 2 5 5 I F 1 = 1 0 A N S $ ( I ) O C H R $ ( 1 3 ) T H E N 2

7

Page 77: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 77/260

5 I 1 = 1 0 A N S $ ( I ) = C H R $ ( 1 3 ) T H E N 7 6 P R I N T S $ ( I ) ;7 N E X T8 E N

L i n e 1 0 T h b e g i n n i n g o f t h e F O N E X T l o o pL i n e 2 0 w a i t s f o c h a r a c t e r t b e n t e r e dL i n e 3 0 c h a r a c t e r g e t s r e j e c t e d a n e x e c u t i o n r e t u r n s t

l i n e 2 u n l e s s t h c h a r a c t e r e n t e r e d i o n o f t h e f o l l o w i n g :a a i n t e g e r f r o m . t b t h D E L E T E c h a r a c t e r ( C H R $ ( 2 0 ) )c t h R E T U R N c h a r a c t e r ( C H R $ ( 1 3 ) )L i n e 4 0 R e j e c t s t h D E L E T E c h a r a c t e r i i i t h f i r s t

c h a r a c t e r , s i n c e t h e r e i n o t h i n g y e t d e l e t e .L i n e 5 0 I i t i s D E L E T E c h a r a c t e r , b u t n o t t h f i r s t "

c h a r a c t e r , p r i n t a B A C K S P A C E , b l a n k , B A C K S P A C E . T h e nr e d u c e t h e c h a r a c t e r c o u n t b y o n e a n g b a c k f o a n o t h e rc h a r a c t e r .

L i n e 5 4 R e j e c t R E T U R N i i i s n ' t t h t e n t h c h a r a c t e rL i n e 5 7 G o e s o w i t h t h p r o g r a m i t e n t h c h a r a c t e r i

R E T U R NL i n e 6 0 P r i n t s c h a r a c t e r t o t h s c r e e nL i n e 7 0 E n o F O N E X T l o o p .

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

T h p r e c e d i n g e x a m p l e s s h o u l d g e y o s t a r t e d w i t h t h G E s t a t e m e n t . t h i n k y o u ' l l f i n d i a d e s i r a b l e a l t e r n a t i v e t o t h I N P U Ts t a t e m e n t i m a n y o y o u r p r o g r a m s .

7

Page 78: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 78/260

P r o g r a m m e r ' s C o r n e r

A p p a r e n t M a l f u n c t i o no t h K e

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

I y o h a v e t r u w i t h o u t t a p e d r i v e , y o m i g h t l i k e t m a k eu p l u g f o t h t a p e e d g e c o n n e c t o r . P u t t i n g g r o u n d o t h i n p u t l i n e ( c o n n e c t i n g p i n s A - a n D - o t h c a s s e t t e e d g ec o n n e c t o r ) s h o u l d m a k e t h p r o b l e m d i s a p p e a r .

7

Page 79: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 79/260

S h i f t W o r kJ i B u t t e r f i e l d

T h e r e a r q u i t e j e l i t t l e t r i c k s y e t b d i s c o v e r e d o t h P E T . H e r e } sw h o l e a r t i c l e o t h S h i f t K e y .

T h e S H I F T k e y s o t h P E a r p r e t t y s t r a i g h t f o r w a r d , r i g h t ? H o l de i t h e r o n d o w n w h i l e y o h i a n o t h e r k e y , a n y o g e t h k e y ' ss h i f t e d e q u i v a l e n t : u p p e r o l o w e r c a s e o g r a p h i c . N o m u c h t b s a i d t h e r e .W e l l , m a y b e o n o t w t h i n g sS h i f t e d R e t u r nR E T U R N d o e s t w j o b s : i t a k e s y o t t h s t a r t o f t h e n e x t l i n e ,a n i e x e c u t e s t h l i n e y o u ' r e l e a v i n g .

S o m e t i m e s y o u d o n ' t w a n t t e x e c u t e t h e l i n e . Y o u ' r e j u s td r a w i n g p i c t u r e o t h s c r e e n . W h e n y o h i R E T U R N , t h c o m p u t e r w i l l t a k e t h a t p a r t o f t h e K l i n g o n a t t a c k v e s s e l y o u ' v e j u s td r a w n a n t r t e x e c u t e i a B A S I C c o m m a n d ; y o g e 7 S Y N T A X E R R O R , w h i c h d o e s n ' t h e l p y o u r p i c t u r e m u c h .

O t h e r t i m e s , y o h a v e B A S I C l i n e , b u y o d o n ' t w a n t t e x e c u t e i y e t . M a y b e y o u ' v e g o l i t t l e m u d d l e d u w i t h t h p r o g r a m m e d c u r s o r a n e v e r y t i m e y o t r t b a c k u t h e c u r s o r t f i t h i n g s y o g e a n o t h e r u n w a n t e d g r a p h i c . Y o d o n ' t w a n t t p r e s s R E T U R N a n e n t e r t h i s b o t c h e d l i n e i n t o y o u r p r o g r a mb e f o r e y o h a v e c h a n c e t f i t h i n g s u p

J u s t h o l d d o w n S H I F T a y o p r e s s R E T U R N a n y o u ' l l g t t h n e x t l i n e w i t h o u t t r y i n g t o e x e c u t e w h a t y o u ' v e j u s t d o n e .S h i f t e d S p a c eW h e n y o p r e s s S P A C E , t h P E p r i n t s a s p a c e . W h e n y o h o l dd o w n t h S H I F T k e a n p r e s s S P A C E , t h P E p r i n t s a s p a c e .S a m e t h i n g . T h s h i f t e d S P A C E , h o w e v e r , i d i f f e r e n t c h a r a c t e ro t h s c r e e n . L o o k s t h s a m e , b u i t ' s n o t r u e s p a c e . H o c a y o u s t h i s ? H e r e ' s o n v e r y h a n d y a p p l i c a t i o n . S u p p o s e y o w a n tt d a I N P U T a n d o n ' t w a n t t h u s e r t o a c c i d e n t a l l y s t o p t h p r o g r a m b t y p i n g R E T U R N w i t h o u t i n p u t . S h i f t e d - s p a c e w i l l d t h t r i c k . T r t h i s t i n y p r o g r a m :

1 I N P U T " ( s e e n o t e b e l o w ) " ; X $2 P R I N T " T H A N K Y O U . " : G O T O 1

H e r e ' s w h a t t p u b e t w e e n t h q u o t e s o l i n e 1 0 A f t e r y o t y p et h f i r s t q u o t e m a r k , h o l d d o w n t h s h i f t ; t y p e t h r e e s p a c e s ; t y p e

7

Page 80: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 80/260

P r o g r a m m e r ' s C o r n e r

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

c a l l t h i s p r o g r a m A B U S E . A f t e r h a r d d a y a t h c o m p u t e r ,y o c a p u t h i s o n i n a n p r o c e e d t c a l l i e v e r y n a m e u n d e r t h s u n . I w i l l t h a n k y o u a n d a s f o t h n e x t i n s u l t .

T h i n t e r e s t i n g t h i n g i t h a t t h p r o g r a m w o n ' t s t o p i y o p r e s s R E T U R N w i t h o u t i n p u t . T h a t i n v i s i b l e s h i f t e d - s p a c e t h a t y o h a v e p r i n t e d t t h r i g h t o f t h e q u e s t i o n m a r k i g e n u i n e i n p u tc h a r a c t e r . I y o d o n ' t w r i t e o v e r i w i t h y o u r o w i n f o r m a t i o n , i w i l l b a c c e p t e d a i n p u t , a n t h p r o g r a m w o n ' t s t o p . I n s t e a d , i w i l l h u m b l y t h a n k y o . . f o n o t h i n g .P s e u d o - s h i f t e d C h a r a c t e r sT h e r e ' s g r o u p o c h a r a c t e r s t h a t y o c a n ' t i n p u t v i k e y b o a r d / s c r e e n , b u w h i c h a r u s e f u l i n c e r t a i n t y p e s o f i l eh a n d l i n g . T h s h i f t e d R E T U R N i a l s o u s e f u l i n t h i s a p p l i c a t i o n .

H e r e ' s t h e p r o b l e m . W h e n y o u s t h I N P U T # s t a t e m e n t f o r e c e i v i n g d a t a f r o m t a p e o d i s k , t h e i n p u t p r o c e d u r e s t o p s o t h r e ec h a r a c t e r s : c o m m a , c o l o n , a n R E T U R N .

T h i s i a n n o y i n g w h e n y o u ' r e t r y i n g t i n p u t n a m e s f r o m a a d d r e s s l i s t l i k e D R A L O Y S I U S C H I P , P H o H O R A C ES C H M E D L A M P , J R . o r h a v e a d d r e s s l i n e s l i k e A T T E N T I O N :M U R P H Y . T h i n p u t r o u t i n e n e a r l y d r o p s t h P H D , J R a n M U R P H Y , a n y o u ' r e l e f t t s c r a t c h y o u r h e a d o v e r w h t h d a t ad i s a p p e a r e d .

R e l i e f i i s i g h t . I y o c a c a t c h t h e c o m m a o c o l o n b e f o r ey o w r i t e i t f i l e , j u s t c h a n g e i t i t s h i f t e d e q u i v a l e n t b a d d i n g6 4 d e c i m a l t t h A S C I I v a l u e . I t a k e s l i t t l e m o r e w o r k w h e n y o w r i t e i t b u i s a v e s w o r k a n p u z z l e m e n t w h e n y o r e a d i b a c kl a t e r . T h g e n e r a l t e c h n i q u e f o s i n g l e c h a r a c t e r i s

= A S C ( A $ ) : I A = 4 4 O A = 5 8 T H E N A $ = C H R $ ( A + 6 4 )Y o c a w r i t e t h r e - f o r m e d A t t h f i l e a n f e e l s e c u r e t h a t i w i l lc o m e b a c k w i t h o u t t r o u b l e a n p r i n t c o r r e c t l y .

E x a c t l y t h e s a m e t h i n g c a b d o n e w i t h q u o t a t i o n m a r k s . T h i n p u t r o u t i n e a s s u m e s t h a t o r d i n a r y q u o t e m a r k s a r t h e r e s t h a tt h e y c a b r e m o v e d b e f o r e y o s e t h s t r i n g . T h e r e ' s g o o dr e a s o n f o t h i s , b u i d o e s n ' t h e l p y o w h e n y o r e a l l y w a n t t h e mt b t h e r e a n p a r t o f t h e i n p u t d a t a . O n c e a g a i n , s h i f t t h q u o t eb a d d i n g 6 t i t S i n c e q u o t e s a r o f t e n d i r e c t l y p r o g r a m -g e n e r a t e d ( r a t h e r t h a n i n p u t ) , y o c a j u s t u s C H R $ ( 9 8 ) i n s t e a d o C H R $ ( 2 2 ) .

O c c a s i o n a l l y , y o m a w a n t t i n p u t t w l i n e s a t t i m e f r o m

7

Page 81: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 81/260

f i l e . T h s h i f t e d - r e t u r n w i l l d t h t r i c k . O d d l y e n o u g h , y o u m u s ta d 1 2 t t h R E T U R N t m a k e s h i f t e d r e t u r n : i t ' s C H R $ ( 1 4 1 ) .T h i s a l w a y s w o r k s g r e a t i y o u r i n p u t g o e s t t h s c r e e n . I y o u ' r eu s i n g p r i n t e r , h o w e v e r , c h e c k i o u t m a k e s u r e i r e c o g n i z e s t h s h i f t e d - r e t u r n a n d o e s t h e r i g h t t h i n g .A f t e r t h o u g h tB e f o r e l e a v e y o t s h i f t f o y o u r s e l f , t r y t h i s l a s t l i t t l e k e y b o a r dc u r i o s i t y . H o l d d o w n b o t h s h i f t k e y s . N o w , w i t h y o u r t h i r d h a n d ,o n o s e , o w h a t e v e r , t r p r e s s i n g a f e k e y s o t h l e f t - h a n d s i d e o t h k e y b o a r d : Q A S , Z .

d o n ' t k n o w w h y y o g e t h o d c h a r a c t e r s . T h e r e ' s p r o b a b l ym o r a l h e r e : t w s h i f t s a r n o b e t t e r t h a n o n e ? T o m a n y s h i f t s

s p o i l t h k e y b o a r d ?

7

Page 82: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 82/260

7

Page 83: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 83/260

r

Page 84: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 84/260

M i x i n g B A S I C a n M a c h i n e L a n g u a g e

J i B u t t e r f i e l d

T h i s i l o g i c a l e x t e n s i o n o f " F i t t i n g M a c h i n e L a n g u a g e I n t o T h P E T . "T h e x a m p l e p r o g r a m s a r u s e f u l , a n i l l u s t r a t e t h c o n c e p t .

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

O n o t h e a s i e s t t r i c k s i t p u t h m a c h i n e l a n g u a g ep r o g r a m b e h i n d t h B A S I C p r o g r a m i m e m o r y . O n c e y o u V ec r e a t e d a n s a v e d t h p a c k a g e , i m a b L O A D e d a n S A V E e dw i t h o u t s p e c i a l i n s t r u c t i o n s . T h e r e ' s o n t h i n g y o n e e d t w a t c h ,h o w e v e r : w h e n t h p a c k a g e i c o m p l e t e , y o u m u s t n o c h a n g e t h B A S I C p r o g r a m . I y o d o t h m a c h i n e l a n g u a g e p a r t w i l l b m o v e d a w a y f r o m i t o r i g i n a l l o c a t i o n . Y o u r S Y c o m m a n d w i l lt a k e y o t t h w r o n g p l a c e , a n t h m a c h i n e l a n g u a g e p r o g r a mp r o b a b l y w o n ' t w o r k a n y w a y .

T h f o l l o w i n g s a m p l e p r o g r a m s u s t h i s k i n d o f p a c k a g i n g .H e r e ' s h o t s e t h e m u o y o u r m a c h i n e :1 T y p e i t h B A S I C p r o g r a m c o m p l e t e l y . C h e c k i c a r e f u l l y , s i n c ey o w o n ' t h a v e t h o p t i o n o c h a n g i n g i l a t e r .2 E n t e r t h m a c h i n e l a n g u a g e m o n i t o r . I y o h a p p e n t h a v e a ne a r l y P E w i t h o r i g i n a l R O ( n b u i l t - i n m o n i t o r ) , y o s h o u l dh a v e p r e v i o u s l y l o a d e d o n o f t h e " h i g h - m o n i t o r s " t h a t a r a v a i l a b l e . ( S e e R o B u s d i e c k e r ' s a r t i c l e : " R e l o c a t e P E M o n i t o rA l m o s t A n y w h e r e " . )3 D o u b l e c h e c k t e n s u r e t h a t y o u r B A S I C p r o g r a m h a s n ' ts o m e h o w c r e p t u a b o v e t h m a c h i n e l a n g u a g e a r e a t h a t y o p l a nt u s e . T h e r e a r e s e v e r a l w a y s t d t h i s . O n i t o i n s p e c t t h B A S I C m e m o r y a r e a a n s p o t t h e t h r e e 0 v a l u e s t h a t s i g n a l t h e n o f t h e B A S I C p r o g r a m . A n o t h e r w a i t t a k e l o o k a t h s t a r t - o f - v a r i a b l e s p o i n t e r ( h e x 7 a n 7 o o r i g i n a l R O M s ; h e 2 a n d 2 B o u p g r a d e R O M s ) a n m a k e s u r e i t ' s b e l o w t h a r e ay o a r a b o u t t w o r k i n 4 N o t y p e i t h m a c h i n e l a n g u a g e a s h o w n . C h e c k i c l o s e l y ;s i n g l e m i s t a k e w i l l c a u s e i m p r o p e r o p e r a t i o n .5 F i n a l l y s t i l l i t h M a c h i n e - L a n g u a g e M o n i t o r s a v e t h w h o l e t h i n g f r o m s t a r t - o f - B A S I C ( h e x 0 4 0 0 ) t e n d - o f - m a c h i n e -

7

Page 85: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 85/260

B e y o n d T h B A S I C S

l a n g u a g e - p l u s o n e . O t h U n i v e r s a l R O T e s t p r o g r a m , f o e x a m p l e , y o u ' d s a v e f r o m 0 4 0 0 t 0 8 4 A .N o y o u r p r o g r a m i r e a d y . I c a b l o a d e d , s a v e d o c o p i e dw i t h o u t a n s p e c i a l k n o w h o w . J u s t r e m e m b e r d o n ' t c h a n g e t h B A S I C p a r t o f t h e p r o g r a m .U n i v e r s a l R O T e s tT h i s p r o g r a m l o a d s i n t o a n m a c h i n e a n t e l l s y o w h a t k i n d o R O y o h a v e . I w i l l t e s t R O r e p e a t e d l y u n t i l y o s t o p i . . t h i s m a k e s i g o o d f o s p o t t i n g i n t e r m i t t e n t e r r o r s .

A l l o f t h e s t a n d a r d R O s e t s k n o w a b o u t a r t h e r e . T h e r ea r a l s o c o u p l e o e x p e r i m e n t a l C o m m o d o r e R O s e t s i n c l u d e d

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

1 0 P R I N T " f i M U N I V E R S A L R O M T E S T J I M - - i B U T T E R F I E L D "

1 1 D A T A " 0 1 1 O R I G I N A L " f 5 9 4 8 7 r 1 2 7 9 6 f- . 5 1 8 5 8 6 1 9 8 0 5 8 6 2 2 7 7 5 3 6 7 9 2 , - 1 , - 1

1 2 D A T A " 0 1 9 O R I G I N A L " , 5 9 3 3 9 , 1 2 7 9 6 ,i 5 1 8 5 8 , 6 1 9 8 0 , 5 8 6 2 2 , 7 7 5 3 , 6 7 9 2 , - l , - l

1 3 D A T A " U P G R A D E P E R S O N A L " , 4 1 7 9 9 , 4 2 9 9 3 ,i 6 4 9 5 9 , 8 8 0 3 , 3 8 1 2 9 , 4 3 1 2 9 , 2 3 0 9 3 , - 1 , - 1

1 4 D A T A " U P G R A D E B U S I N E S S " , 4 1 7 9 9 , 4 2 9 9 3 ,- i 6 4 9 5 9 , 8 8 0 3 , 3 8 1 2 9 , 4 3 1 2 9 , 2 3 0 9 3 , - l , - l

1 6 D A T A " D O S P E R S O N A L I " , 4 0 5 9 6 , 4 5 2 0 1 ,- . 3 4 9 0 0 , 0 8 2 0 7 , 4 7 8 2 0 , 0 0 3 9 0 , 4 4 5 5 5 ,- . 4 0 8 4 7 , 4 4 2 3 9

1 7 D A T A " D O S B U S I N E S S I " , 4 0 5 9 6 , 4 5 2 0 1 ,- . 2 7 2 5 0 , 0 8 2 0 7 , 4 7 8 2 0 , 0 0 3 9 0 , 4 4 5 5 5 ,- . 4 0 8 4 7 , 4 4 2 3 9

1 8 D A T A " D O S 8 0 - C H A R S I " , 4 0 5 9 6 , 4 5 2 0 1 ,- . 2 1 1 3 0 , 0 8 2 0 7 , 4 7 8 2 0 , 0 0 3 9 0 , 4 4 5 5 5 ,- . 4 0 8 4 7 , 4 4 2 3 9

1 9 D A T A " * 2 0 D A T A 1 9 2 , 2 0 8 , 2 2 4 , 2 4 0 , 2 0 0 , 2 1 6 , 2 4 8 ,

- . 1 7 6 , 1 8 42 1 D I M A $ ( 8 ) , V ( 8 , 9 ) , A ( 9 ) , R ( 9 ) , M ( 9 )2 2 R E A D X $ : I F X $ = " * " G O T O 2 9 02 3 R = R + 1 : A $ ( R ) = X $2 4 F O R J = 1 T O 9 : R E A D V ( R , J ) : N E X T J : G O T O 2 2 02 9 F O R J = 1 T O 9 : R E A D A ( J ) : N E X T J3 0 F O R J = 1 T O 9 : P O K E 1 0 2 3 , A ( J ) : S Y S 2 1 1 23 1 R ( J ) = P E E K ( 1 0 2 1 ) + P E E K ( 1 0 2 2 ) * 2 5 63 2 N E X T J : P = 7

7

Page 86: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 86/260

3 3 F O R J = 1 T O R : M ( J ) = 0 : F O R K = 1 T O P : I F R ( K ) = V (- i J , K ) T H E N M ( J ) = M ( J ) + l

3 4 N E X T K f J3 5 L = - 1 : F O R J = 1 T O P : I F M ( J ) > L T H E N L = M ( J ) :

- i K = J3 6 N E X T J : I F P = 7 A N D V ( K , 8 ) > = 0 T H E N P = 9 :

- i G O T O 3 3 03 7 N = N + 1 : P R I N T n J i T E S T " ; N : P R I N T H M ^ M

- i A $ ( K ) : P R I N T3 8 F O R J = 1 T O P3 9 I F R ( J ) = V ( K f J ) T H E N P R I N T : G O T O 4 1 04 0 A = A ( J ) : B % = A / 1 6 : C = A - B % * 1 6 : P R I N T C H R $ ( B

- , % + 5 5 ) ; C H R $ ( C + 4 8 )4 1 N E X T J : P R I N T4 2 P R I N T " B A D R O M S : " ; P - L ; n < " : G O T O 3 0 0

0 8 4 0 A F 0 3 8 5 B A 0 8 0 8 4 8 B A 0 8 B 8 B A 0 8 5 0 0 1 7 B 9 0 0 2 E B 0 8 5 8 C D F E B C B 5 D 00 8 6 0 F 0 8 D F 0 A 5 B 3 8 D F E0 8 6 8 0 6 0 0 0 0 F 0 0 0 0 F

R A T e s tT h i s i v e r y f a s t m e m o r y t e s t , y e i t ' s q u i t e t h o r o u g h . I t ' s a d a p t e df r o m t h m e m o r y t e s t i T h F i r s t B o o k o K I y o c a d i o u m o r e d e t a i l s t h e r e i y o u ' r e c u r i o u s .

T h c o d i n g i l i t t l e c r o w d e d ; w a n t e d t f i t h w h o l e t h i n gi n t o 2 5 b y t e s s t h a t t h r e s t o m e m o r y w o u l d b a v a i l a b l e f o t e s t i n g .

T h p r o g r a m t e s t s m e m o r y r e p e a t e d l y u n t i l s t o p p e d . U s e r sw i t h f u l l 3 2 o m e m o r y c a i n p u t v a l u e o 3 a n t e s t s c r e e nm e m o r y t o o . T h a t w a y , t h e y c a s e t h a c t u a l t e s t o t h e s c r e e n a i h a p p e n s .

1 I N P U T " f i ^ H O W M A N Y K ; : K = K * 4 - 12 P O K E 1 8 5 f K : P O K E 1 8 4 f 53 N = N + l : S Y S l l 5 6 : P R I N T M h T E S T " ; N ;4 J = P E E K ( 1 8 7 ) : I F J > K G O T O 3 05 P R I N T " F A I L E D A T " ; J * 2 5 6 + P E E K ( 1 8 6 )

. 0 4 8 4 A 9 0 A 8 B 8 B A . 0 4 8 C 0 8 B A B 8 B A . 0 4 9 4 B A B 4 F 8 B 9 . 0 4 9 C B C D F E B E B . 0 4 A 4 B F A B A 5 B 8 8 B

8

Page 87: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 87/260

0 A 0 4 B 40 4 B C0 4 C 40 4 C C0 4 D 40 4 D C0 4 E 4

A B C A 0 D B 4

B C B B A F E F

C D B A B E C 3

1 F E B D B B A

0 E A C B A 1 8

A B B 1 D B A B

0 A 8 0 1 C A 6

9 B B A C B B 3

T a p e T e s tT h v e r s i o n g i v e n i f o U p g r a d e R O o n l y . T h i s l e t s y o u w a t c ha n P E t a p e a n s e t h k i n d o s i g n a l s t h a t a r c o m i n g i f r o m i t

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

1 0 P R I N T l f f i T A P E T E S T J I B U T T E R F I E L D "1 1 P O K E 5 9 4 6 8 r 1 21 2 P R I N T : X $ = n L E A D E R " : G O S U B 5 0 01 3 X $ = n D A T A " : G O S U B 5 0 01 4 X $ = I I E R R O R " : G O S U B 5 0 01 5 I N P U T " T A P E U N I T l f ; T1 6 I F T > 2 O R T < 1 G O T O 1 5 01 7 P O K E 2 1 2 , T1 8 S Y S ( 1 2 8 0 ) : E N D5 0 P R I N T 1 1 U C C I "5 1 P R I N T " " ; X $5 2 P R I N T " J F F K "5 3 R E T U R N

R E A D Y .

0 5 0 00 5 0 80 5 1 00 5 1 80 5 2 00 5 2 80 5 3 00 5 3 80 5 4 00 5 4 80 5 5 00 5 5 80 5 6 00 5 6 8

2 1 E E E 0 8 1 A 9 E 8 6 2

1 C A 8 A A 9 E 2 B A F 0 F

F 1 4 4 3 6 0 1 9 A B 8 2 1

7 E E E 8 8 5 F B A 8 A I C

A A 8 1 1 9 2 A B 9 7 6 8 3

D 9 F 0 E 0 F 0 B B 8 8 6 C

C 8 0 E 8 A F A F C A 0 8 2

F 4 2 1 F 0 2 0 0 1 B B 2 7

8

Page 88: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 88/260

B e y o n d T h e B A S I C S

0 5 7 0 0 2 4 E 2 1 E 8 4 C0 5 7 8 E 4 E 6 A 4 E A 4 8 E 80 5 8 0 E 4 E 8 D 0 F 5 A 0 F F 8 0 5 8 8 4 8 E 8 8 4 E E F 9 0 5 9 0 0 E F D 0 C 5 9 0 5 9 8 0 E B 6 E F D 1 0 5 A 0 C 6 9 0 C A 5 C 2 F 0 5 A 8 F 0 3 E 6 B 6 0 E 6 C 6 0 5 B 0 A 0 8 C E B 6 0

L e a d e r W r i t eT h i s i f o U p g r a d e R O o n l y . I w r i t e s c o n t i n u o u s " l e a d e r "( s o m e t i m e s c a l l e d " s h o r t s " ) t o t a p e . I t ' s u s e f u l , i c o n j u n c t i o n w i t hT a p e T e s t , i c h e c k i n g o u t v a r i o u s b r a n d s o t a p e f o d a t a q u a l i t y .

1 0 P R I N T " r H x W R I T E L E A D E R T A P E1 1 P R I N T " i J I B U T T E R F I E L D "1 2 P R I N T " ^ T H I S P R O G R A M W R I T E S -

i C A S S E T T E T A P E "1 3 P R I N T " W I T H ' L E A D E R 1 S I G N A L . "1 4 P R I N T H T H C A S S E T T E T A P E S P R O D U C E D

- i M A Y B E 1 11 5 P R I N T " U S E D W I T H f T A P E T E S T 1 T E I T H E R :1 6 P R I N T " — C E R T I F Y T H T A P E A O K ; "1 7 P R I N T " — A L I G N T A P E H E A D S O T H -

- i O T H E R C A S S E T T E "1 8 P R I N T " U N I T S . I T H I S C A S E ,

- B S U R E "1 9 P R I N T " T H A T Y O U A R E W R I T I N G O A 2 0 P R I N T " P R E C I S E L Y A L I G N E D T A P E -

2 1 S Y S 1 4 7 2 : E N DR E A D Y .

0 5 C 0 A 0 1 8 5 D 2 0 4 7 F A 0 5 C 8 7 8 C 0 7 A 9 A 0 8 D0 5 D 0 4 E A 0 2 9 F C A 90 5 D 8 0 8 D A 3 8 1 E 0 5 E 0 8 D F 9 0 8 4 E 8 5 8 A 0 5 E 8 7 8 C 0 2 3 F 8 F 00 5 F 0 F 2 7 F 4 8 F A

8

Page 89: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 89/260

S i m u l a t e d B A S I C I M a c h i n e L a n g u a g e

B l a i n e D S t a n d a g eW o u l d y o l i k e t b a b l e t e x e c u t e B A S I C s t a t e m e n t s f r o m w i t h i nm a c h i n e l a n g u a g e p r o g r a m s ? H e r e ' s h o . . ( T h e $ C 7 0 2 e n t r y p o i n t i f o U p g r a d e R O M s . T h 4 . e q u i v a l e n t i $ B 7 8 7 . F o o r i g i n a l R O M s i i $ C 6 F 5 . )

T h e r e a r p r o b a b l y v e r y f e a m o n g u w h o , h a v i n g v e n t u r e d i n t om a c h i n e l a n g u a g e p r o g r a m m i n g , h a v e n o f o u n d t h e m s e l v e ss t r u g g l i n g l o n g a n h a r d t d s o m e t h i n g a s i m p l e a o p e n i n g o c l o s i n g f i l e . " I t s s e a s y i B A S I C ! N o s h o u l d b a b l e t s e t h e s e z e r o p a g e v a l u e s a n J S t o $ . . . " D a r n ! W e l l , m a y b ei I . " I f t h a t s t i r s u n p l e a s a n t m e m o r i e s , t h i s a r t i c l e i j u s t f o y o u . h a v e b e e n t h e r e m a n y t i m e s . O f t e n t h o s e h o u r s o h a r d w o r kp r o d u c e g o o d r e s u l t w h i c h c a r e f u l l y r e c o r d f o f u t u r e u s ( a w h i c h t i m e i s t i l l m a n o w o r k b e c a u s e o a s u b t l e d i f f e r e n c e i t h s i t u a t i o n ) . A n t h e n t h e r e a r t i m e s w h e n g i v e u p a n d w r i t e ac o m p a n i o n p r o g r a m i B A S I C t d o n l y t h a t o n e l u s i v e t a s k :" O P E N 4 , 4 : S Y S 4 0 9 6 : C L O S E 4 : E N D " .

N o w , h a v e t w p r o g r a m s t d t h j o b o f o n e , t w l o a d s ,c o o r d i n a t e d r e v i s i o n s , e t c . W h a t m e s s !

R e c e n t l y , i n f i o f r u s t r a t i o n , d e c i d e d t h a t i t h P E c o u l de x e c u t e B A S I C i n s t r u c t i o n i B A S I C p r o g r a m , t h e n t h e r e m u s tb s o m e w a y t m a k e i d t h s a m e t h i n g i n m a c h i n e l a n g u a g ep r o g r a m . A n n o j u s t f i l e r e l a t e d c o m m a n d s , n o e v e n m o s t o t h c o m m a n d s . w a n t e d a l t h c o m m a n d s . E a c h a n e v e r y o n e ! A f t e ra l l , w h o ' s i c h a r g e h e r e ? M o r t h e P E T ?

I m u c h l e s s t h a n t h t i m e s p e n t o s e v e r a l p r e v i o u s i n d i v i d u a lp r o b l e m s , h a g e n e r a l s o l u t i o n . c a n o e x e c u t e a n B A S I Cc o m m a n d f r o m w i t h i n m a c h i n e l a n g u a g e p r o g r a m w i t h w h a t c a l l" s i m u l a t e d B A S I C " a n t h p r o c e d u r e i b e a u t i f u l l y s i m p l e . S s i m p l e t h a t i h a b e c o m e d o u b l e e d g e d b l e s s i n g / c u r s e . T h b l e s s i n g i t h a t w i l l n e v e r a g a i n b s t u c k f i g h t i n g a i s o l a t e dm a c h i n e l a n g u a g e p r o b l e m t h a t c o u l d e a s i l y s o l v e i n B A S I C u n l e s s

c h o o s e t o T h c u r s e i t h a t , h a v i n g s u c h a e a s y w a o u t , m a n o s t r u g g l e a h a r d a s h o u l d t l e a r n m o r e s e c r e t s o t h R O c o d e .

F o r p u r e 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 m o s t p o p u l a r u s o

8

Page 90: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 90/260

s i m u l a t e d B A S I C w i l l p r o b a b l y b t h e x e c u t i o n o I E E E b u a n f i l e r e l a t e d c o m m a n d s s u c h a O P E N , C M D , S A V E , L O A D , a n C L O S E . C o m p l e x a r i t h m e t i c c a l c u l a t i o n s a r a l s o g o o da p p l i c a t i o n . H o w o u l d y o u l i k e t t r " 5 4 3 * S Q R ( S I N ( A ) ) " i m a c h i n e l a n g u a g e ? N p r o b l e m u s i n g s i m u l a t e d B A S I C ! J u s t" s i m u l a t e " t h s a m e i n s t r u c t i o n s t h a t y o w o u l d e x e c u t e i t h c a l c u l a t i o n w e r e b e i n g d o n e i c o m p a r i s o n B A S I C p r o g r a m .N a t u r a l l y t h i s m u s t i n c l u d e t h P E E K s a n P O K E s n e c e s s a r y t t r a n s f e r d a t a a c c e s s t o a n f r o m t h m a c h i n e l a n g u a g e p r o g r a m .

I n a d d i t i o n , t h e r e a r s o m e v e r y i n t e r e s t i n g p o s s i b i l i t i e s f o B A S I C p r o g r a m s w i t h m a c h i n e l a n g u a g e s u b r o u t i n e s . F r o m w i t h i nt h m a c h i n e l a n g u a g e s u b r o u t i n e y o m i g h t w a n t t d s o m e t h i n gs i m p l e l i k e c h a n g i n g t h e v a l u e o f B A S I C v a r i a b l e w i t h o u tr e t u r n i n g t t h B A S I C p a r t o f t h e p r o g r a m . O r , y o m i g h t w a n t t t r s o m e t h i n g c o m p l e x l i k e m a k i n g m u l t i - w a y b r a n c h i n g d e c i s i o nt t a k e y o b a c k t a i n s t r u c t i o n i B A S I C o t h e r t h a n t h o n y o c a m e f r o m . J u s t b s u r e y o u n d e r s t a n d t h e o p e r a t i o n o t h s t a c k b e f o r e y o t r b r a n c h i n g o p e r a t i o n s w i t h s i m u l a t e d B A S I C .B r a n c h i n g i l i t t l e t r i c k y , b u i c a n b e d o n e .N o t h a t y o h a v e s o m e i d e a o w h a t s i m u l a t e d B A S I C c a d f o y o u , l e t ' s s e r i o u s l y e x a m i n e t h w a t m a k e i h a p p e n .P r o c e d u r e1 C r e a t e a s t r i n g o b y t e s w h i c h l o o k l i k e n o r m a l B A S I Cl a n g u a g e i n s t r u c t i o n i m e m o r y .2 S a v e t h e c o n t e n t s o t h B A S I C b u f f e r p o i n t e r ( $ 7 7 a n $ 7 8 ) ,a n t h m o s t s i g n i f i c a n t b y t e o f t h e c u r r e n t B A S I C l i n e n u m b e r( $ 3 7 ) .3 P u t h A D D R E S S o f t h e f i r s t b y t e o f t h e " i n s t r u c t i o n " i t h B A S I C b u f f e r p o i n t e r , a n s e $ 3 t z e r o .4 P u t h f i r s t b y t e o t h " i n s t r u c t i o n " i t h a c c u m u l a t o r , s e t h c a r r y b i t , a n J S t R O l o c a t i o n $ C 7 0 2 w h e r e t h " i n s t r u c t i o n "w i l l b e x e c u t e d .5 R e s t o r e t h e o r i g i n a l v a l u e s t t h l o c a t i o n s y o s a v e d i s t e p 2

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

T h s i m u l a t e d B A S I C i n s t r u c t i o n c r e a t e d i S t e p d i f f e r s v e r ys l i g h t l y f r o m r e a l B A S I C i n s t r u c t i o n l i n e .

T h i m a g e o r e a l B A S I C i n s t r u c t i o n i m e m o r y c o n t a i n sn e x t l i n e a d d r e s s p o i n t e r ( t w o b y t e s ) , l i n e ( t w o b y t e s ) , t h i n s t r u c t i o n s b y t e s , a n t e r m i n a t o r b y t e . S i n c e w a r n o t r u l y

8

Page 91: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 91/260

B e y o n d T h B A S I C S

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

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

F o s i m u l a t e d B A S I C t h i n s t r u c t i o n t e r m i n a t o r s h o u l d b $ 0 b y t e b e c a u s e m u l t i p l e i n s t r u c t i o n s i n s i n g l e l i n e a r n o a l l o w e d .

I y o a r u s i n g a a s s e m b l e r , t h e s o u r c e c o d e f o a n e x a m p l ei n s t r u c t i o n s u c h a " O P E N 9 , 4 , 0 " m i g h t b e

. B Y T E $ 9 F , ' 9 , 4 , 0 \ $ 0 w h e r e $ 9 i t h t o k e n f o " O P E N " . A f t e r a s s e m b l y , t h e b y t e s i m e m o r y w o u l d b e

9 3 2 3 2 3 0 I S t e p 2 s a v i n g t h e c o n t e n t s o f t h e B A S I C b u f f e r p o i n t e r i o p t i o n a l , d e p e n d i n g o h o y o u r p r o g r a m i s t r u c t u r e d . T h e y n e e dn o b s a v e d i y o u r p r o g r a m i t o t a l l y m a c h i n e l a n g u a g e a n i i t e r m i n a t e s i " w a r m s t a r t " o o t h e r a c t i o n w h i c h f o r c e s t h z e r op a g e p o i n t e r s t k n o w n s t a t e .

I y o h a v e a n d o u b t s , p l a y i s a f e a n s a v e t h p o i n t e r s !T h e r e a r e a f e i n s t r u c t i o n s s u c h a I N P U T a n G E w h i c h

c a n b e e x e c u t e d o n l y i " p r o g r a m " m o d e a n t h R O c o d ep e r f o r m s t w t e s t s t d e t e r m i n e t h e c u r r e n t m o d e . O n o t h e s et e s t s i n v o l v e s t h B A S I C b u f f e r p o i n t e r b y t e s a n d , s i n c e w a r a l r e a d y a l t e r i n g t h e m , t h i s t e s t w i l l p a s s . T h o t h e r t e s t c h e c k s t h c o n t e n t s o l o c a t i o n $ 3 7 , w h i c h i t h m o s t s i g n i f i c a n t b y t e o t h c u r r e n t B A S I C l i n e n u m b e r . T e x e c u t e t h e s e s p e c i a l i n s t r u c t i o n s i s i m u l a t e d B A S I C , l o c a t i o n $ 3 m u s t b s e t s o m e v a l u e o t h e rt h a n $ F F . S i n c e c h a n g i n g t h i s b y t e d o e s n o a f f e c t t h e x e c u t i o n o t h o t h e r i n s t r u c t i o n s , u s u a l l y s e i t z e r o a n r e s t o r e i ( s e e S t e p5 a s t a n d a r d p a r t o f t h e p r o c e d u r e .

S t e p s 3 , 4 , a n a r s t r a i g h t f o r w a r d . J u s t r e m e m b e r t h a t t h l e a s t s i g n i f i c a n t b y t e o f t h e " i n s t r u c t i o n " A D D R E S S g o e s i l o c a t i o n $ 7 a n t h m o s t s i g n i f i c a n t i n $ 7 8 , a n d o n ' t f o r g e t t s e t h c a r r y b i o y o u ' l l g e s o m e v e r y o d r e s u l t s .

T h a t ' s a l t h e r e i t i t T h w h o l e w o r l d o B A S I C i n o a v a i l a b l e t y o i m a c h i n e l a n g u a g e . P r o g r a m w h a t y o c a o w h a t y o u c h o o s e t i m a c h i n e l a n g u a g e a n d t h t h i n g s y o f i n dd i f f i c u l t i s i m u l a t e d B A S I C .

8

Page 92: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 92/260

I m p l e m e n t a t i o nN o w o u l d l i k e t s u g g e s t a m e t h o d h a v e f o u n d m o s t u s e f u l i i m p l e m e n t i n g s i m u l a t e d B A S I C . T a b l e c o n t a i n s s o u r c e c o d e ,s l i g h t l y m o d i f i e d f o c l a r i t y , f r o m a n o p e r a t i o n a l p r o g r a m .D e p e n d i n g o w h i c h a s s e m b l e r y o h a v e , t h e r e m a b m i n o rd i f f e r e n c e s b e t w e e n t h i s s o u r c e c o d e a n t h c o d e t h a t y o w i l la c t u a l l y u s e , b u t h m e t h o d s i l l u s t r a t e d a r e a p p l i c a b l e i a n c a s e .

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

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

T h c o d e i t h c e n t e r s e c t i o n o f t h e t a b l e i s u b r o u t i n ew h i c h p e r f o r m s t h e e x e c u t i o n s t e p s w h i c h w e r e d e s c r i b e d p r e v i o u s l y( s e e S t e p s t h r o u g h 5 )

A a d v a n t a g e o t h i s s u b r o u t i n e m e t h o d o v e r o t h e r s h a v et r i e d i t h a t t h e c o n t e n t s o f t h e " i n s t r u c t i o n " l i s t c a n b e c h a n g e d o a d d e d t w i t h o u t a n m a n u a l r e - c a l c u l a t i o n o r e g i s t e r i n d e xv a l u e s . T h o s e v a l u e s a r c o m p u t e d a a s s e m b l y t i m e a r e s u l t o t h l a s t t h r e e s o u r c e c o d e l i n e s i t h t a b l e .

G e n e r a l C o m m e n t sT h k e l o c a t i o n i R O ( $ C 7 0 2 ) f o s i m u l a t e d b a s i c e x e c u t i o n i f o 2 0 0 1 s e r i e s P E w i t h U p g r a d e R O M . ( S e e E d i t o r ' s N o t e a s t a r to a r t i c l e f o o t h e r m a c h i n e s ) .

N e x t , e v e r y B A S I C i n s t r u c t i o n h a v e e x e c u t e d u s i n g" s i m u l a t e d B A S I C " h a w o r k e d e x a c t l y a e x p e c t e d , b u o b v i o u s l yh a v e n o t r i e d a n y t h i n g a p p r o a c h i n g a l t h p o s s i b l e a p p l i c a t i o n s ,s o d o n ' t b s u r p r i s e d i f s o m e w h e r e a l o n g t h o l d f l o w c h a r t ,s o m e t h i n g u n u s u a l s h o u l d h a p p e n . J u s t b s u r e t o l e u a l k n o wa b o u t i t

F i n a l l y , f o t h o s e o y o w h m a w a n t t d o u b l e c h e c k y o u rc o n s t r u c t i o n o f " s i m u l a t e d B A S I C " c o d e l i n e : S i m p l y N E t h c o m p u t e r , t y p e i t h d e s i r e d l i n e o f c o d e , ( c o m p l e t e w i t h l i n en u m b e r ) t h e n S Y 1 0 2 4 t t h m o n i t o r a n l o o k a t h c o d e f r o ml o c a t i o n $ 0 4 0 5 t t h f i r s t " z e r o " b y t e .

8

Page 93: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 93/260

T a b l e 1

S A M P L E I M P L E M E N T A T I O N O S I M U L A T E D B A S I C7 0 4 37 0 4 57 0 4 87 0 4 A7 0 4 D7 0 4 /

7 2 7 F7 2 8 17 2 8 47 2 8 67 2 8 97 2 8 B

7 2 8 E7 2 8 F7 2 9 07 2 9 27 2 9 47 2 9 67 2 9 87 2 9 A

7 2 9 C7 2 9 F7 2 A O

7 2 A 37 2 A 67 2 A 87 2 A B

A 2 A 2 A 2

A 8 A 8 A 8

1 8 6 8 A 8 6 8

B 3 2

A 8 A 8

7 2 A D A 7 2 B 0 8

0 7 0 7 1 7

7 4 7 5 3 5

B 7 0 3 7 7

B

0

4 7 5 7 5 3

7

7

7

7

7

7

7

C

7

7

7

L D X # I N D E X 1J S B E X E CL D X # I N D E X 2J S B E X E CL D X # I N D E X 3J S B E X E C

; S A V E B A S I C I N S T R U C T I O N P O I N T E R; A N D L I N E # M B Y T EB E X E C L D $ 7

S T $ 7 7 4 FL D $ 7 S T $ 7 7 5 0L D $ 3 S T 7 7 5 1

; S E T N E P O I N T E R L I N E # V A L U E SC L T X A D # < I N S T R 1S T $ 7 L D # $ 0 0S T $ 3 A D C # > I N S T R 1S T $ 7

; F I R S T I N S T R U C T I O N B Y T E T A C C ,; S E T C A R R Y B I T , A N E X E C U T E

L D A I N S T R 1 , XS E J S R $ C 7 0 2 ( B 7 < ? 7 )

; R E S T O R E B A S I C P O I N T E R L I N E #L D $ 7 7 4 FS T $ 7 L D $ 7 7 5 0S T $ 7 L D $ 7 7 5 1S T $ 3

8

Page 94: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 94/260

7 2 B 2 6 R T

7 2 B 37 2 B 67 2 B 9

7 2 B A7 2 B D7 2 C 0

7 2 C 3

9 3 0

9 C 3

A

3 2

3 2 2

3

2 3

2 3 0

0

; ' B A S I C I N S T R U C T I O N T A B L E; O P E N 6 , 4 , 0I N S T R 1 . B Y T E $ 9 F , ' 6 , 4 , 0 \ $ 0 0

; P R I N T # 6 C H R $ ( 1 3 )I N S T R 2 . B Y T E $ 9 8 , ' 6 , \ $ C 7 , ' ( 1 3 ) \ $ 0 0

; C L O S E 6I N S T R 3 . B Y T E $ A 0 / 6 \ $ 0 0

I N D E X 1 = I N S T R 1 - I N S T R 1 r g ' } - I N D E X 2 = I N S T R 2 - I N S T R 1 « x $ * I N D E X 3 = I N S T R 3 - I N S T R 1 ^

i * $ 3 : 1

Page 95: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 95/260

F i t t i n g M a c h i n eL a n g u a g e I n t o T h P E

J i B u t t e r f i e l d

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

P E m a c h i n e l a n g u a g e p r o g r a m m u s t c o e x i s t w i t h B A S I C . Y o n e e d a l e a s t o n B A S I C i n s t r u c t i o n , e v e n i i t * s o n l y S Y c o m m a n d t s t a r t t h m a c h i n e l a n g u a g e r u n n i n g . Y o c o u l d g i v et h S Y a s d i r e c t c o m m a n d f r o m t h k e y b o a r d ; b u i t ' s u s u a l l ym u c h b e t t e r t o r u i i a p r o g r a m l i n e a n l e t h u s e r t y p eR U N .

T h B A S I C p r o g r a m i u s u a l l y i p r e d i c t a b l e p l a c e . I w i l ls t a r t a a d d r e s s 1 0 2 5 ( h e x a d e c i m a l 0 4 0 1 ) , a n w i l l o c c u p y m e m o r ys p a c e u p w a r d f r o m t h e r e . T h e n o f t h e B A S I C p r o g r a m c a b s p o t t e d b t h f a c t t h a t m e m o r y w i l l c o n t a i n t h r e e c o n s e c u t i v ez e r o s .

Y o u r m a c h i n e l a n g u a g e p r o g r a m c a g a l m o s t a n y w h e r et h a t ' s f r e e . T h e r e a r t h r e e f a v o r i t e p l a c e s f o s u c h p r o g r a m s :

i t h c a s s e t t e b u f f e r ( s ) ;i m m e d i a t e l y a b o v e t h e n o B A S I C ;a t h t o o m e m o r y .

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

C a s s e t t e B u f f e r ( s )I y o u s o n l y c a s s e t t e n u m b e r 1 t h s e c o n d c a s s e t t e b u f f e r i f r e ea n a v a i l a b l e f o y o u r u s e . I t a d d r e s s i h e 0 3 3 A t 0 3 F 9 , w h i c hg i v e s y o 1 9 l o c a t i o n s t p l a y w i t h . I y o d o n ' t u s e c a s s e t t e t a p e a a l l , i . e . , y o u s d i s k , y o m a u s b o t h b u f f e r s ; t h i s g i v e s y o a d d r e s s e s f r o m 0 2 7 A t 0 3 F 9 h e x , o 3 8 l o c a t i o n s .

T h n e w e s t m o d e l s o P E T / C B M s u s s m a l l p o r t i o n o f t h es e c o n d c a s s e t t e b u f f e r . I y o h a v e 4 . R O M s t h a t i s y o u rm a c h i n e a c c e p t s E n g l i s h - l a n g u a g e c o m m a n d s l i k e S C R A T C H o C A T A L O G y o u ' l l n e e d t o l e a v e t h b o t t o m t w e n t y l o c a t i o n s o s f r e e . A n i y o u r m a c h i n e h a T A k e y , y o m u s t l e a v e a f e l o c a t i o n s a t h t o o y o u r t a s t o p s w i l l c h a n g e m y s t e r i o u s l y .O t h e s e n e w e r m o d e l s , w o r k i t h r a n g e o f , 0 3 5 0 t 0 3 E D a n y o u ' l l b r e a s o n a b l y s a f e . ( t ^ V ( < t f 5 )

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

8

Page 96: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 96/260

p r o g r a m s . E x c e p t a n o t e d a b o v e , i i c o m p l e t e l y u n u s e d f o a n B A S I C a c t i v i t y . L o a d i n g n e B A S I C p r o g r a m s w o n ' t a f f e c t i t Y o m a e a s i l y s a v e m a c h i n e l a n g u a g e a n B A S I C t o g e t h e r b u s i n g t h em a c h i n e l a n g u a g e m o n i t o r ' s . ( S a v e ) c o m m a n d a n s p e c i f y i n g t h a d d r e s s r a n g e , f r o m s t a r t - o f - m a c h i n e - l a n g u a g e t e n d o f - B A S I C .T h w h o l e t h i n g w i l l b s a v e d ; a n l a t e r , L O A D f r o m B A S I C w i l ll o a d e v e r y t h i n g b a c k , b o t h m a c h i n e l a n g u a g e a n B A S I C .

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

T h s e c o n d p r o b l e m m a n o t b e p r o b l e m a a l l , d e p e n d i n go y o u r o b j e c t i v e s . P r o g r a m s w h i c h h a v e b e e n w r i t t e n a n s a v e du s i n g t h a b o v e t e c h n i q u e s c a n ' t b c o p i e d e a s i l y . T h n a i v e u s e rw h p e r f o r m s L O A D a n t h e n S A V E w i l l l o a d t h w h o l e p r o g r a m

b u w i l l s a v e o n l y t h B A S I C p a r t . T c o p y t h p r o g r a m , y o n e e d t g t t h m a c h i n e l a n g u a g e m o n i t o r a n t h e n y o n e e dt k n o w t h a d d r e s s e s t o g i v e f o t h . ( S a v e ) c o m m a n d . I y o p r e f e r t k e e p y o u r p r o g r a m s p r i v a t e , t h i s c a b a u s e f u l t e c h n i q u e .B u i y o u ' d r a t h e r s e t h e m p a s s e d a r o u n d , t h i s c a b p r o b l e my o m i g h t g e t t i r e d o b e i n g t h o n l y p e r s o n t h a t c a m a k e c o p i e sf o o t h e r p e o p l e .A b o v e T h E n O B A S I C .T h i s i s n ' t h a r d t d o o n c e y o g e t h h a n g o a d j u s t i n g t h s t a r t -o f - v a r i a b l e s p o i n t e r ( l o c a t e d a 2 a n d 2 B h e i u p g r a d e R O M , o a 7 a n 7 i n o r i g i n a l R O M ) . A f t e r y o u r B A S I C p r o g r a m i w r i t t e n , t h i s p o i n t e r w i l l d i r e c t y o t t h a v a i l a b l e m e m o r yi m m e d i a t e l y a f t e r t h a t p r o g r a m . P u y o u r m a c h i n e l a n g u a g ep r o g r a m t h e r e , a n t h e n c h a n g e t h e p o i n t e r s o t h a t i i n d i c a t e sl o c a t i o n a b o v e b o t h p r o g r a m s b o t h B A S I C a n d m a c h i n el a n g u a g e . G i v e t h B A S I C C L c o m m a n d a f t e r y o u d o t h i s , a n a l t h o t h e r p o i n t e r s w i l l l i n e u c o r r e c t l y .

N o y o c a u s B A S I C S A V E t r e c o r d y o u r p r o g r a m .B o t h B A S I C a n m a c h i n e l a n g u a g e w i l l b s a v e d , a n t h e y w i l lb o t h l o a d t o g e t h e r a l a t e r t i m e .U s i n g t h i s s y s t e m , y o u ' l l h a v e l o t s o f s p a c e f o y o u r m a c h i n el a n g u a g e p r o g r a m i y o n e e d i t T h c o m p o s i t e p r o g r a m c a b c o p i e d e a s i l y : j u s t d c o n v e n t i o n a l L O A D a n S A V E a n t i m ey o w a n t a e x t r a c o p y .

T h e r e ' s o n e d r a w b a c k t u s i n g t h i s s y s t e m . O n c e y o h a v e s e i u p i t i s d i f f i c u l t t m a k e c h a n g e t t h B A S I C p r o g r a m . I y o

9

Page 97: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 97/260

B e y o n d T h © A S I C S

a d o d e l e t e a n y t h i n g e v e n s i n g l e c h a r a c t e r y o u r m a c h i n el a n g u a g e p r o g r a m w i l l m o v e t n e l o c a t i o n . Y o u ' l l n e e d t c h a n g e y o u r S Y S c o m m a n d o U S v e c t o r . W o r s e , m o s t m a c h i n el a n g u a g e p r o g r a m s c a n ' t b m o v e d w i t h o u t n e e d i n g c h a n g e s . Y o w i l l h a v e t r e w r i t e t h p r o g r a m s t h a t i w i l l w o r k p r o p e r l y i i t n e l o c a t i o n .

T h i s i o n o f t h e m o s t c o n v e n i e n t w a y s t p o s i t i o n m a c h i n el a n g u a g e . K e e p i m i n d , h o w e v e r , t h a t i r e d u c e s y o u r f r e e d o m t c h a n g e t h B A S I C p r o g r a m .

A T h e T o p O M e m o r yT h i s i v e r y c o n v e n i e n t p l a c e t p u r e l a t i v e l y p e r m a n e n t m a c h i n el a n g u a g e p r o g r a m s . I g o e s i t h h i g h e n o m e m o r y . S i n c e s t r i n gv a r i a b l e s a r e w r i t t e n i h i g h m e m o r y , y o u m u s t p r o t e c t t h i s t y p e o fp r o g r a m b y m o v i n g t h l i m i t - o f - B A S I C - m e m o r y p o i n t e r d o w n s t h a t i p o i n t s b e l o w y o u r p r o g r a m . ( T h i s p o i n t e r i l o c a t e d a h e x a d e c i m a l 3 4 a n 3 i u p g r a d e R O M , o h e 8 a n 8 i o r i g i n a l R O M ) . O n c e y o h a v e d o n e s o t h p r o g r a m w i l l t a k e u p e r m a n e n t r e s i d e n c e a n w i l l u s u a l l y r e m a i n i y o u r m a c h i n e u n t i ly o t u r n t h p o w e r o f f .

I t h i s c a s e , t h B A S I C a n m a c h i n e l a n g u a g e p r o g r a m s a r n l o n g e r a d j a c e n t i m e m o r y . Y o c a n ' t S A V E a n L O A D t h e mt o g e t h e r . B s u r e t L O A D t h m a c h i n e l a n g u a g e p r o g r a m f i r s t ,f o l l o w e d b t h B A S I C p r o g r a m ; o t h e r w i s e s o m e o f t h e B A S I Cp o i n t e r s w i l l b m i x e d u p a n y o u ' l l p r o b a b l y g e a ? O U T O M E M O R Y e r r o r . R e m e m b e r , t o o , t h a t t h m a c h i n e l a n g u a g ep r o g r a m w i l l t a k e u p p e r m a n e n t r e s i d e n c e . I w o n ' t g o a w a y w h e ny o l o a d n e B A S I C p r o g r a m .

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

m a c h i n e l a n g u a g e p r o g r a m t h a t s i t s n e a t l y a t h e t o p o a 8 m a c h i n e w i l l l i s m a c k i t h m i d d l e o m e m o r y o 1 6 u n i t . Y o w o u l d n e e d d i f f e r e n t v e r s i o n s f o r d i f f e r e n t s i z e s o m a c h i n e . K e e p i m i n d , o n c e a g a i n , t h a t y o u s u a l l y c a n ' t m o v e m a c h i n e l a n g u a g ep r o g r a m t n e l o c a t i o n w i t h o u t m a k i n g c h a n g e s t i t

I i p o s s i b l e t o w r i t e p r o g r a m w h i c h f i n d s t h t o o m e m o r y , p a r k s t h e m a c h i n e l a n g u a g e p r o g r a m u p t h e r e ( w h e r e v e r i h a p p e n s t b e ) , m a k e s a l n e c e s s a r y c o r r e c t i o n s , a n t h e n m o v e s t h l i m i t - o f - B A S I C - m e m o r y p o i n t e r t t h p r o p e r p l a c e . M a n yp r o g r a m s , s u c h a S u p e r m a n a n t h D O " w e d g e " s y s t e m , d e x a c t l y t h a t . I t ' s a a d v a n c e d t e c h n i q u e , h o w e v e r d o n ' t t r y o u rh a n d a i u n t i l y o f e e l y o u ' r e r e a d y .

9

Page 98: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 98/260

B e y o n d T h B A S I C S

M a c h i n e L a n g u a g e C o d eF o A p p e n d i n g D i s k F i l e s

R o b e r t H W o l l e n b e r gc o m m o n p r o b l e m ( a p p e n d i n g o m e r g i n g p r o g r a m s ) h a b e e n s o l v e d i

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

T h a t t a c h e d m a c h i n e l a n g u a g e r o u t i n e p r o v i d e s v e r y u s e f u l t o o lf o t h o s e w h h a v e b e e n f r u s t r a t e d ( a h a v e ) b t h i n a b i l i t y o t h c u r r e n t d i s k o p e r a t i n g s y s t e m ( D O S ) o f t h e C o m m o d o r e 2 0 4 0 D u a lD r i v e D i s k t a p p e n d p r o g r a m s . A l t h o u g h f i r m w a r e r e c e n t l yi n t r o d u c e d b P a l o A l t o I C ' s ( T h e P r o g r a m m e r ' s T o o l k i t ) p r o v i d e ss o m e r e l i e f t t h o s e w h r e q u i r e a c o n v e n i e n t a p p e n d i n g p r o c e d u r e ,i s u f f e r s a s e r i o u s d r a w b a c k . T h s y s t e m o p e r a t e s o n l y b a p p e n d i n g t a p e f i l e t p r o g r a m a l r e a d y i m e m o r y . T h u s , i b e c o m e s n e c e s s a r y t f i r s t s a v e p r o g r a m p i e c e s t o t a p e a n t h e nr e l o a d t h e s e i p r o p e r s e q u e n c e u s i n g t h a p p e n d c o m m a n d . S i n c ew a r e l u c t a n t t u s t h i s s l o w t a p e f i l e p r o c e d u r e , s e a r c h e d f o a l t e r n a t i v e s i n v o l v i n g d i s k f i l e s .

l i t t l e i n v e s t i g a t i o n o t h D O c o m m a n d , C o p y , r e v e a l s t h a tt h s i n s t r u c t i o n g o e s l o n g w a t o w a r d s o l v i n g t h p r o b l e m . B A S I Ci s t o r e d i m e m o r y s t a r t i n g a l o c a t i o n $ 0 4 0 1 . T h f i r s t t w b y t e sa r f o r w a r d p o i n t e r s t t h n e x t l i n e o c o d e ( s t o r e d b t h e u s u a l6 5 0 2 c o n v e n t i o n o l o b y t e / h i g h b y t e ) . L o c a t i o n s $ 0 4 0 3 a n $ 0 4 0 4s t o r e t h l i n e n u m b e r f o r t h i s f i r s t l i n e o B A S I C . T h A S C I I C o d ef o t h i s l i n e i s t o r e d b e g i n n i n g a l o c a t i o n $ 0 4 0 5 a n e n d s w i t h t h d e l i m i t e r z e r o . T h n e x t b y t e b e g i n s t h s e c o n d l i n e o B A S I C a n i s t o r e d a t h l o c a t i o n p o i n t e d t b t h f o r w a r d p o i n t e r s a l o c a t i o n s $ 0 4 0 1 $ 0 4 0 2 d e s c r i b e d a b o v e . B f o l l o w i n g t h f o r w a r dp o i n t e r s f r o m l i n e t l i n e , o n e v e n t u a l l y r e a c h e s t h e e n o t h B A S I C c o d e . T h i s e v e n t i s i g n a l e d w h e n t h f o r w a r d p o i n t e r sa r z e r o .W h e n t h D O C o p y c o m m a n d c o n c a t e n a t e s t w d i s k f i l e s ,t h z e r o p a g e v a l u e s i n d i c a t e t h a t b o t h p r o g r a m s w e r e c o m b i n e d ;h o w e v e r , l i s t i n g t h c o n c a t e n a t e d p r o g r a m r e v e a l s o n l y t h f i r s tp r o g r a m . T h s e c o n d p r o g r a m , f o a l p u r p o s e s , r e m a i n s i n v i s i b l e t t h B A S I C i n t e r p r e t e r . T h i s i b e c a u s e t h f o r w a r d p o i n t e r s o t h f i r s t p r o g r a m e v e n t u a l l y p o i n t t t h t w d e l i m i t e r s , z e r o , a n a

9

Page 99: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 99/260

0 0 1 50 0 1 70 0 1 30 0 1 90 0 2 00 0 2 10 0 2 20 0 2 30 0 2 40 0 2 50 0 2 60 0 2 ?0 0 2 80 0 2 90 0 3 00 0 3 10 0 3 20 0 3 30 0 3 40 0 3 50 0 3 60 0 3 70 0 3 80 0 3 90 0 4 00 0 4 10 0 4 20 0 4 30 0 4 40 0 4 50 0 4 60 0 4 7

0 0 0 00 3 3 f l0 3 3 C0 3 3 E0 3 4 00 3 4 30 3 4 60 3 4 80 3 4 R0 3 4 C0 3 4 E0 3 5 00 3 5 20 3 5 40 3 5 60 3 5 30 3 5 90 3 5 B0 3 5 C0 3 5 E0 3 6 10 3 6 40 3 6 ?0 3 6 90 3 6 C0 3 6 D0 3 6 F0 3 7 10 3 7 30 3 7 50 3 7 ?0 3 7 9

H 8 8 2 2 F A I » C C f l f l 9 f t 3 9 8 1 2 2 2 D 4 3 f l E C H f t C 6

F 1 1 2 6 2 5 6 5 5 0 0 5 2 5 F 7 4 6 H 8 2 f 5 6 0 2 5

C 0

C C 0 C

S T f i R T

S K I P

H G H I N

H O N EE N D B f l S

N O T E N D

L D f lS T f lS T f lJ S J S B E L D f iB N D E D E L D f iL D S T L D f lI ' E VS T f lL E B P J S J S J S B N J M S E L D f lS B C M B N L D f iC M R T

* 0 3 3 f i# * F F$ 1 $ 1 * C 5 2 CE N D B f l SD O N E* 5 S K I P* 5 * 5 # $ 0 0# $ 0 4< $ 5 C . V r '# $ 2 0( $ 5 O , Vf l G f t I N$ C 5 7 2$ C 4 4 2E N D B f l SS T f l R T$ C 3 8 B$ 2 f l$ 5 # $ 0 2N O T E N D$ 2 $ 5

; S E T U P T O F I N D P R O G R f l M B E L I M I T E

. R O M F I N D L I N E R O U T I N E; C H E C K F O E N D O F B f l S I C; V E S , E X I T f l N D P R I N T R E f l D V. : C U R R E N T L I N E, M O V E B f l C K O N E B V T E

; S E T U P F O L O O P S. : S T O R E N E P R O G R f l M D E L I M I T E R; L O f i D f i S C I I B L f i N K

. : S T O R E B L f l N K S

; R O M ' C L R ' R O U T I N E; R O M F I X C H R I N I N G R O U T I N E; C H E C K F O R E N D O B f l S I C; D N E X T P R O G R f l N I M O R E

E X I T T B f l S I C; C H E C K F O R E N D O F B f l S I C R O U T I N E

; T O P O F V f t R I f l B L E S. : C U R R E N T L O C f l T I O N. D I F F E R E N C E I E N ; R E T U R N I N O T D O N E; C H E C K H I G H f l D D R E S S

R E M R O B E R T W O L L E N B E R G1 R E P R O G R f l M T f l P P E N D U S I N G D I S K C O N C f l T E N f l T E C O M M f l N D1 D E F F H f l < X > = P E E K < X ) + 2 5 6 # P E E K < X + l > : D E F F N B < X > = F N f i < X > - X2 = F N f l 4 E = F N f l 4 2 X = F N B < 2 I I + X > = E - 2 T H E N P R I N T " E N D O M E M O R V - N O L I N K " - E N D3 I = I + X - I F F N f l < I > O 0 T H E N X = F N B < I > - G O T O 2 3 F O J = T 1 + 3 : P 0 K E J . P E E K < J + 4 > : N E X T4 0 F 0 R J = I + 4 T O 1 + 7 P O K E J , 3 2 N E X T : V = I - 1 0 2 5 + 4 • ' R E M O F F S E T4 5 X = F N B < I P O K E I + 1 , 1 N i + i / 2 5 6 P O K E I + X - 2 5 6 # N I + / 2 5 6 )5 0 I = I + X : I F F N f K I > O 0 f l N D I C E - 2 T H E N 4 5 I F F N f K i : > = 0 f l N D K E - 2 T H E N 3 6 P R I N T " L I N K - C O M P L E T E " : E N D

R E f l D V .

t h i s p o i n t t h e n o B A S I C i s i g n a l e d . T h n e x t t w b y t e s a r p o i n t e r s t t h s t a r t o B A S I C t e x t f o r t h s e c o n d p r o g r a m a o r i g i n a l l y s a v e d t d i s k . I t h f i r s t l i n e o t h s e c o n d p r o g r a m i m o v e d f o r w a r d i m e m o r y b f o u r b y t e s , t h e n t h l a s t l i n e o t h f i r s t p r o g r a m w i l l p o i n t t t h f i r s t l i n e o f t h e s e c o n d p r o g r a m a n t h l i n k i n g p r o c e s s w i l l b n e a r l y c o m p l e t e . I o r d e r t f i n i s h t h l i n k i n g p r o c e d u r e , t h e f o r w a r d p o i n t e r s o f t h e s e c o n d p r o g r a m m u s tb r e c a l c u l a t e d t c o m p e n s a t e f o t h r e l o c a t i o n o f c o d e . T h i s i d o n e c o n v e n i e n t l y u s i n g t h e R O c h a i n i n g r o u t i n e a $ C 4 4 2 .

T u s t h e a t t a c h e d m a c h i n e c o d e , f i r s t u s t h d i s k C o p yc o m m a n d t c o n c a t e n a t e u t f o u r p r o g r a m p i e c e s . F o e x a m p l e , t a p p e n d p a r t s A a n t f o r m p r o g r a m D , t h f o l l o w i n gc o m m a n d i e x e c u t e d ( a f t e r l o a d i n g t h e D O s u p p o r t ) :

► C O : D = 1 : A , 1 : B , 1 : CN e x t l o a d t h e m a c h i n e c o d e a n t h c o n c a t e n a t e d p r o g r a m i n t om e m o r y a n t y p e :

9

Page 100: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 100/260

S Y S 8 2 6T h p r o g r a m s a r l i n k e d a n t h m e s s a g e : " R E A D Y . " a p p e a r s .

F o r c o m p a r i s o n , h a v e w r i t t e n B A S I C p r o g r a m t l i n kc o n c a t e n a t e d p r o g r a m s . I t h i s c a s e t h l i n k i n g p r o g r a m m u s t b t h f i r s t p r o g r a m c o n c a t e n a t e d . O n c e c o n c a t e n a t e d , t h n e p r o g r a m i l o a d e d i n t o m e m o r y a n t h e n l i n k e d b t y p i n g :

R U T h l i n k i n g p r o g r a m i t h e n d e l e t e d , l e a v i n g o n l y t h d e s i r e da p p e n d e d p r o g r a m . C o m p a r i s o n o t h e s e t w p r o c e d u r e s r e v e a l e dt h a t t h m a c h i n e l a n g u a g e c o d e r a n e a r l y t h o u s a n d t i m e s f a s t e rt h a n t h B A S I C c o d e .

9

Page 101: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 101/260

U s i n g D i r e c t A c c e s s F i l e sW i t h T h C o m m o d o r e

2 0 4 0 D u a l D r i v e D i s kP a r t O n

C h u c k S t u a r tH o t u s t h r a n d o m a c c e s s c a p a b i l i t i e s o t h 2 0 4 0 d i s k d r i v e .

O n o t h m a i n a d v a n t a g e s o f u s i n g d i r e c t a c c e s s f i l e s i t h a b i l i t yt o a c c e s s a n r e c o r d i n f i l e d i r e c t l y w i t h o u t h a v i n g t r e a dt h r o u g h t h e n t i r e f i l e . W i t h d i r e c t a c c e s s , t h l a s t r e c o r d i f i l ec a n b e l o c a t e d a n r e a d i n t o m e m o r y j u s t a f a s t a t h f i r s t r e c o r d .A l s o , a n r e c o r d i d i r e c t a c c e s s f i l e m a b r e a d i n t o m e m o r y ,u p d a t e d , a n t h e n w r i t t e n b a c k t t h f i l e w i t h o u t d i s t u r b i n g t h o t h e r r e c o r d s i t h f i l e .

A l t h o u g h t r u e d i r e c t a c c e s s f i l e s a r n o d i r e c t l y s u p p o r t e d i t h e c u r r e n t 2 0 4 0 D i s k O p e r a t i n g S y s t e m , C o m m o d o r e h a p r o v i d e d

s e r i e s o d i s k u t i l i t y c o m m a n d s t h a t w i l l , i e f f e c t , a l l o w d i r e c ta c c e s s f i l e p r o c e s s i n g . T h d i f f e r e n c e i t h a t , i n s t e a d o f t h e D O k e e p i n g u w i t h t h t r a c k a n s e c t o r a d d r e s s e s o e a c h r e c o r d i t h f i l e , s e p a r a t e s e q u e n t i a l f i l e m u s t b e m a i n t a i n e d t h o l d t h r e c o r dk e y s a n a d d r e s s p o i n t e r s . I f o i n s t a n c e , t h d i r e c t a c c e s s f i l e i C u s t o m e r a c c o u n t f i l e k e y e d b a c c o u n t n u m b e r , t h e n t h s e q u e n t i a l f i l e w o u l d h o l d a a c c o u n t n u m b e r f o e a c h r e c o r d i t h a c c o u n t f i l e p l u s t h t r a c k a n s e c t o r a d d r e s s e s f o e a c h r e c o r d . T h i ss e q u e n t i a l f i l e m u s t b l o a d e d i n t o a a r r a y i m e m o r y b e f o r e a n p r o c e s s i n g o f t h d i r e c t a c c e s s f i l e c a t a k e p l a c e . T a c c e s s s p e c i f i ca c c o u n t , t h e a r r a y m u s t b s e a r c h e d f o t h d e s i r e d a c c o u n t n u m b e ra n t h e n t h c o r r e s p o n d i n g t r a c k a n s e c t o r n i i m b e r s a r u s e d t d i r e c t l y a c c e s s t h r e c o r d .

I t h 2 0 4 0 s u p p o r t e d t r u e d i r e c t a c c e s s f i l e p r o c e s s i n g , i w o u l do n l y b n e c e s s a r y t o i n d i c a t e t h a c c o u n t n u m b e r i t h I N P U T # o P R I N T # s t a t e m e n t a n t h D O w o u l d k e e p u w i t h t h t r a c k a n s e c t o r a d d r e s s e s i i t o w d i r e c t o r y . H o p e f u l l y t h i s w i l l b i m p l e m e n t e d i l a t e r v e r s i o n o t h D O S .

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

9

Page 102: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 102/260

t r a c k s a n s e c t o r s . E a c h d i s k h a 3 t r a c k s , e a c h t r a c k i d i v i d e di n t o f r o m 1 6 t o 2 s e c t o r s , a n e a c h s e c t o r h o l d s 2 5 b y t e s o d a t a .E a c h b y t e w i l l h o l d o n c h a r a c t e r . S i n c e a e n t i r e s e c t o r i r e a df r o m o w r i t t e n t t h d i s k a a t i m e , s e c t o r s a r e g e n e r a l l y r e f e r r e dt a d a t a b l o c k s o s i m p l y " b l o c k s . " T r a c k s a n s e c t o r s d n o p h y s i c a l l y e x i s t o t h d i s k , b u a r e l e c t r o n i c a l l y i m p r e s s e d u p o nt h s u r f a c e m a t e r i a l o f t h e d i s k d u r i n g t h N E W i n g p r o c e s s , h e n c et h e e x p r e s s i o n " s o f t : s e c t o r e d . " T r a c k 1 8 b e i n g c e n t r a l l y l o c a t e d i t h m i d d l e o f t h e d i s k , i u s e d b t h 2 0 4 0 D O t h o l d t h d i r e c t o r y . T h r e m a i n i n g 3 4 t r a c k s a r e a v a i l a b l e t t h u s e r . I y o u ' r e h a v i n g t r o u b l e v i s u a l i z i n g t h t r a c k s a n s e c t o r s o d i s k ,t h i n k o t h d i s k a b u l l ' s e y t a r g e t a n t h r i n g s o t h t a r g e t a t h t r a c k s o t h d i s k . N o i y o c u t h t a r g e t i n t o p i s h a p e dw e d g e s , y o c a s e h o t h t r a c k s a r e d i v i d e d i n t o s e c t o r s o d a t ab l o c k s .

R e a d i n g d a t a i n t o y o u r p r o g r a m f r o m t h d i s k o w r i t i n g d a t at t h d i s k f r o m y o u r p r o g r a m u s i n g d i r e c t a c c e s s i t w s t e pp r o c e s s . T r e a d d a t a f r o m d i r e c t a c c e s s f i l e i n t o y o u r p r o g r a m ,y o m u s t f i r s t l o a d t h e d a t a f r o m t h d i s k i n t o o n o f t h e 2 5 b y t ed i s k b u f f e r s w i t h t h B L O C K - R E A D d i s k u t i l i t y c o m m a n d . O n c et h d a t a b l o c k h a s b e e n s u c c e s s f u l l y l o a d e d i n t o t h b u f f e r , i c a t h e n b e r e a d i n t o m e m o r y w i t h s t a n d a r d i n p u t # s t a t e m e n t . T h p r o c e s s i j u s t t h r e v e r s e w h e n w r i t i n g d a t a f r o m y o u r p r o g r a m t o d i r e c t a c c e s s f i l e . Y o f i r s t w r i t e t h d a t a t b u f f e r u s i n g P R I N T /s t a t e m e n t , t h e n t h d a t a m u s t b l o a d e d f r o m t h b u f f e r o n t o t h d i s k w i t h t h B L O C K - W R I T E d i s k u t i l i t y c o m m a n d . I i i m p o r t a n tt u n d e r s t a n d t h i s p r o c e s s . T h B L O C K - R E A D c o m m a n d l o a d s a e n t i r e 2 5 b y t e s e c t o r f r o m t h d i s k i n t o a b u f f e r a n m a k e s i a v a i l a b l e t o y o u r p r o g r a m t h r o u g h s t a n d a r d I N P U T # s t a t e m e n t .T h B L O C K - W R I T E c o m m a n d t a k e s t h c o n t e n t s o a e n t i r e 2 5 b y t e d i s k b u f f e r a n l o a d s i o n t o a s e c t o r o f t h e d i s k . I m a k e s n d i f f e r e n c e i t h r e c o r d c o n t a i n e d o n l y o n b y t e o d a t a , i s t i l lo c c u p i e s o n e n t i r e 2 5 b y t e s e c t o r o t h d i s k . L a t e r w i l l e x p l a i nh o t p l a c e m u l t i p l e r e c o r d s i s e c t o r u s i n g t h e B U F F E R -P O I N T E R d i s k u t i l i t y c o m m a n d .

O n o t h e r a r e a t c o v e r i t h B L O C K A V A I L A B I L I T Y M A ( B A M ) . T h i s i a r e f e r e n c e m a u s e d b D O t k e e p u w i t h w h i c hb l o c k s a r b e i n g u s e d a n d w h i c h b l o c k s a r e a v a i l a b l e t o u s e . T k e e pD O f r o m o v e r w r i t i n g y o u r d i r e c t a c c e s s f i l e s w i t h s e q u e n t i a l f i l e s ,y o u m u s t f l a g t h o s e b l o c k s o t h B A s D O w i l l k n o w t h e y a r b e i n g u s e d . A w w i l l s e l a t e r , t h i s i d o n e w i t h t h B L O C K -A L L O C A T E d i s k u t i l i t y c o m m a n d .

9

Page 103: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 103/260

N o t h a t t h g e n e r a l c o n c e p t o d i r e c t a c c e s s f i l e s a n t h w a t h e y w o r k o t h C o m m o d o r e 2 0 4 0 D u a l D r i v e D i s k h a b e e ne x p l a i n e d , t h e a c t u a l c o d i n g n e c e s s a r y t d t h j o w i l l b e x a m i n e d l i n e b l i n e . L i n e s 5 0 t 6 8 w o u l d b p a r t o f t h e m a i np r o g r a m w h i l e l i n e s 1 0 0 0 t 1 5 2 0 a r s u b r o u t i n e s w h i c h e x e c u t e t h v a r i o u s d i s k u t i l i t y c o m m a n d s a r e q u i r e d . T h s u b r o u t i n e s w i l l b e x a m i n e d f i r s t , t h e n t h m a i n p r o g r a m .

L i n e s 1 0 0 0 - 1 0 9 0T h i s s u b r o u t i n e i c a l l e d a f t e r e a c h d i s k u t i l i t y o r e a d / w r i t e

c o m m a n d t c h e c k t h e r r o r c h a n n e l , c h a n n e l 1 5 t s e i d i s ke r r o r h a o c c u r r e d . I a e r r o r h a o c c u r r e d , t h e e r r o r n u m b e r a n e r r o r m e s s a g e a r d i s p l a y e d a l o n g w i t h t h t r a c k a n s e c t o r a d d r e s sw h e r e t h e r r o r o c c u r r e d . I t h e r r o r n u m b e r i 0 t h e n n e r r o ro c c u r r e d a n c o n t r o l r e t u r n s t t h m a i n p r o g r a m .

L i n e s 1 1 0 0 - 1 1 9 0T h i s s u b r o u t i n e i u s e d t o a l l o c a t e ( o r e s e r v e ) o n s e c t o r o

t h d i s k t h r o u g h t h u s o t h e B l o c k - A l l o c a t e d i s k u t i l i t y c o m m a n di l i n e 1 1 1 0 . T h s e c t o r i f l a g g e d o t h B A s D O w i l l n o u s i l a t e r f o s t o r a g e o s e q u e n t i a l f i l e s . L o o k i n g a t l i n e 1 1 1 0 , i t h d i s k d r i v e n u m b e r , i t h t r a c k n u m b e r , a n i t h s e c t o rn u m b e r . T h e s e v a l u e s m u s t b p r e s e t i t h m a i n p r o g r a m . A f t e rl i n e 1 1 1 0 r e q u e s t s t h a l l o c a t i o n , l i n e 1 1 2 0 r e a d s t h e r r o r c h a n n e lt s e i a e r r o r h a o c c u r r e d . I n e r r o r h a o c c u r r e d , c o n t r o lr e t u r n s t t h m a i n p r o g r a m . I t h e r r o r n u m b e r i 6 5 t h i s m e a n st h a t t h r e q u e s t e d b l o c k h a a l r e a d y b e e n a l l o c a t e d . B u l a n b e h o l d , D O h a b e e n k i n d e n o u g h t o l o c a t e t h t r a c k a n s e c t o rn u m b e r s o t h n e x t a v a i l a b l e b l o c k a n p l a c e t h e m i E T a n E S $ . T h e s e v a l u e s a r p l a c e d i a n a n w a g a i n r e q u e s ta l l o c a t i o n . T w i m p o r t a n t p o i n t s m u s t b r e m e m b e r e d . D O d o e sn o a u t o m a t i c a l l y a l l o c a t e t h n e x t a v a i l a b l e b l o c k . I j u s t t e l l s y o w h e r e i t i s . T a l l o c a t e t h b l o c k y o u m u s t r e s e t a n t t h v a l u e s r e t u r n e d i E T a n E S a n t h e n r e i s s u e t h e B l o c k - A l l o c a t ec o m m a n d i l i n e 1 1 1 0 . T h o t h e r t h i n g t r e m e m b e r i t h a t , f o rb l o c k t b s u c c e s s f u l l y a l l o c a t e d , a d i r e c t a c c e s s f i l e m u s t b o p e nw h e n t h e B l o c k - A l l o c a t e c o m m a n d i g i v e n a n t h a t t h b l o c k w i l ln o a c t u a l l y b r e s e r v e d o t h B A u n t i l t h a t f i l e i c l o s e d .A l l o c a t i n g b l o c k w i l l n o t k e e p y o f r o m w r i t i n g o i t I j u s t k e e p sD O f r o m w r i t i n g o i t

L i n e s 1 2 0 0 - 1 2 2 0T h i s s u b r o u t i n e i u s e d t f r e e p r e v i o u s l y a l l o c a t e d b l o c k .

T h B l o c k - F r e e c o m m a n d i t h e x a c t o p p o s i t e o f t h B l o c k - A l l o c a t ec o m m a n d . I l i n e 1 2 1 0 , i t h d i s k d r i v e n u m b e r a n a n

9

Page 104: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 104/260

h o l d t h t r a c k a n s e c t o r a d d r e s s o t h e b l o c k t b f r e e d . A f t e r t h ec o m m a n d h a b e e n e x e c u t e d , l i n e 1 2 2 0 s e n d s c o n t r o l t t h e r r o rc h a n n e l r o u t i n e . I n e r r o r o c c u r r e d , c o n t r o l r e t u r n s t t h m a i np r o g r a m . T h i s r o u t i n e i u s e d t o d e l e t e r e c o r d s f r o m d i r e c t a c c e s sf i l e b i m m e d i a t e l y r e l e a s i n g t h b l o c k b a c k t D O S . T h e r e i s t h e r e f o r e , n n e e d f o p e r i o d i c s y s t e m h o u s e k e e p i n g t r e c l a i mu n u s e d d i s k s p a c e . A w i t h t h e B l o c k - A l l o c a t e c o m m a n d , a d i r e c ta c c e s s f i l e m u s t b o p e n w h e n t h B l o c k - F r e e c o m m a n d i g i v e n ,a n t h e b l o c k i n o a c t u a l l y f l a g g e d a a v a i l a b l e u n t i l t h f i l e i c l o s e d .

L i n e s 1 3 0 0 - 1 3 2 0T h i s s u b r o u t i n e i u s e d t m a k e b l o c k o t h d i s k a v a i l a b l e

f o r e a d i n g b y o u r p r o g r a m . I t h B l o c k - R e a d u t i l i t y c o m m a n d ,l i n e 1 3 1 0 , C h o l d s t h c h a n n e l n u m b e r . h o l d s t h e d i s k d r i v en u m b e r , a n a n h o l d t h t r a c k a n s e c t o r a d d r e s s e s o f t h eb l o c k t b r e a d . W h e n t h c o m m a n d i e x e c u t e d , 2 5 b y t e d a t ab l o c k i r e a d f r o m t h d i s k a n p l a c e d i o n o t h d i s k b u f f e r s .T h d a t a c a n t h e n b r e a d i n t o m e m o r y w i t h s t a n d a r d I N P U T #s t a t e m e n t . A f t e r t h b l o c k i r e a d i f r o m t h d i s k , l i n e 1 3 2 0 s e n d sc o n t r o l t t h e r r o r c h e c k r o u t i n e a n d , i n e r r o r h a o c c u r r e d ,c o n t r o l r e t u r n s t t h m a i n p r o g r a m .

L i n e s 1 4 0 0 - 1 4 2 0T h i s s u b r o u t i n e u s e s t h e B l o c k - W r i t e u t i l i t y c o m m a n d t

w r i t e t h c o n t e n t s o 2 5 b y t e b u f f e r o n t o t h d i s k . A g a i n , C h o l d s t h e c h a n n e l n u m b e r , h o l d s t h e d i s k d r i v e n u m b e r , a n a n h o l d t h t r a c k a n s e c t o r a d d r e s s e s o f t h e s e c t o r w h e r e t h d a t a i t b p l a c e d . B e f o r e t h i s r o u t i n e i e x e c u t e d , d a t a s h o u l d b p l a c e d i t h b u f f e r u s i n g t h e P R I N T / s t a t e m e n t . A f t e r e x e c u t i o n ,c o n t r o l p a s s e s t o t h e r r o r c h e c k r o u t i n e a n t h e n b a c k t t h m a i np r o g r a m .

L i n e s 1 5 0 0 - 1 5 2 0T h i s r o u t i n e u s e s t h B u f f e r - P o i n t e r u t i l i t y c o m m a n d t s e t h

b u f f e r p o i n t e r t t h e b y t e i t h b u f f e r w h e r e r e a d i n g o r w r i t i n g i t b e g i n . C o r r e c t u s e o f t h i s r o u t i n e w i l l a l l o w m u l t i p l e r e c o r d s p e s e c t o r , g i v i n g m o r e e f f i c i e n t u t i l i z a t i o n o d i s k s p a c e . I l i n e 1 5 1 0 ,C i t h c h a n n e l n u m b e r a n B i t h b y t e p o i n t e r . I B i s e t

v a l u e l e s s t h a n 1 i w i l l b t r e a t e d a t h o u g h i w e r e s e t 1 I s e t v a l u e g r e a t e r t h a n 2 5 5 , i w i l l w r a p a r o u n d a n b e g i n a a g a i n . S e t t i n g B t 2 6 h a t h s a m e e f f e c t a s e t t i n g i t 5 A f t e re x e c u t i o n , l i n e 1 5 2 0 d i r e c t s c o n t r o l t h r o u g h t h e r r o r c h e c k r o u t i n ea n b a c k t t h m a i n p r o g r a m .

L i n e s 5 0 t 5 9

9

Page 105: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 105/260

B e y o n d T h B A S I C S

T h e s e l i n e s s h o w t h c o d i n g n e c e s s a r y t w r i t e r e c o r d s t o d i r e c t a c c e s s f i l e . T h e y w o u l d b p a r t o f t h e m a i n p r o g r a m .L i n e 5 1 0 o p e n s t h c o m m a n d / e r r o r c h a n n e l , c h a n n e l 1 5 a n

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

L i n e 5 2 s e t s t h c h a n n e l v a r i a b l e t o a n t h d i s k d r i v ev a r i a b l e t 1 T h c h a n n e l c a n b e s e t a n y u n u s e d c h a n n e lb e t w e e n a n 1 5 T h d r i v e n u m b e r i s e t f o t h l e f t d r i v e o

f o t h r i g h t d r i v e .L i n e 5 3 o p e n s f i l e n u m b e r a n a s s i g n s i t c h a n n e l C H i

t h i s c a s e , 3 T h " # t e l l s D O t h a t t h i s i d i r e c t a c c e s s f i l e .L i n e 5 4 i u s e d t l o c a t e t h n e x t a v a i l a b l e s e c t o r a n a l l o c a t e

i o t h B A M . i s e t a n i s e t b e c a u s e t h a t i t h a d d r e s s o f t h e f i r s t s e c t o r o t h d i s k . I t h a t s e c t o r h a b e e na l l o c a t e d , t h n e x t a v a i l a b l e s e c t o r i a u t o m a t i c a l l y l o c a t e d a n a l l o c a t e d b t h e s u b r o u t i n e i l i n e s 1 2 0 0 t o 1 2 9 0 .

L i n e 5 5 0 s e t s t h b u f f e r p o i n t e r t s D O w i l l b e g i n w r i t i n ga t h f i r s t b y t e i t h b u f f e r .

L i n e 5 6 w r i t e s t h r e c o r d d a t a t t h b u f f e r b e g i n n i n g a t h b y t e r e f e r e n c e d b t h b u f f e r p o i n t e r .

L i n e 5 7 w r i t e s t h b u f f e r t t h d i s k s e c t o r p r e v i o u s l ya l l o c a t e d i l i n e 5 4 0 . A t h i s p o i n t , a n S m u s t b s a v e d a l o n gw i t h w h a t e v e r r e c o r d k e i b e i n g u s e d s t h a t t h i s r e c o r d c a b f o u n d o t h d i s k l a t e r .

L i n e 5 8 c l o s e s t h d i r e c t a c c e s s f i l e o p e n e d i l i n e 5 3 0 .L i n e s 6 0 t 6 8 T h i s s u b r o u t i n e c o n t a i n s t h e c o d i n g n e c e s s a r y t r e a d r e c o r d s

f r o m d i r e c t a c c e s s f i l e . I w o u l d b p a r t o t h m a i n p r o g r a m .L i n e 6 1 0 o p e n s f i l e n u m b e r a n a s s i g n s i t t h p r e s e t

c h a n n e l i C H T h " # t e l l s D O t h a t t h i s i d i r e c t a c c e s s f i l e .L i n e 6 2 l o a d s b l o c k o d a t a f r o m t h d i s k a n p l a c e s i i

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

L i n e 6 3 0 s e t s t h b u f f e r p o i n t e r t b e g i n r e a d i n g a t h f i r s tb y t e i t h b u f f e r .L i n e 6 4 r e a d s t h e r e c o r d d a t a f r o m t h b u f f e r i n t o t h p r o g r a m .

L i n e 6 5 c h e c k s t h s t a t u s w o r d .L i n e 6 7 c l o s e s t h d i r e c t a c c e s s f i l e .T h i s p r o g r a m w i l l r u a i s I w i l l w r i t e t h n u m b e r s

t h r o u g h 1 0 t o t h d i s k a n t h e n r e a d t h e m b a c k i n I y o u a d d l i n e

9

Page 106: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 106/260

t t h p r o g r a m t h a t w i l l p r i n t T S a n t h a r r a y A o t h s c r e e n ,y o c a v e r i f y t h a t t h c o r r e c t d a t a w a w r i t t e n t a n t h e n r e a df r o m t h d i s k a n e v e n s e t w h i c h s e c t o r i w a w r i t t e n . N o t i c et h a t e a c h t i m e t h p r o g r a m i r u n , n e s e c t o r i a l l o c a t e d a n u s e d . T h e s e s e c t o r s w i l l b e c o m e w a s t e d s p a c e o t h d i s k u n l e s s y o f r e e t h e m w i t h t h e B l o c k - F r e e c o m m a n d . A d G O S U B 1 2 0 0 a l i n e 6 6 a n n o t i c e t h a t n o t h p r o g r a m r e u s e s t h s a m e s e c t o re a c h t i m e . W h y ? W h a t w o u l d h a p p e n i y o m o v e d t h G O S U B1 2 0 0 t l i n e 6 7 5 ? W h y ?

N o w w i l l e x p l a i n h o t w r i t e m o r e t h a n o n r e c o r d t s e c t o r . I y o u V e f o l l o w e d e v e r y t h i n g u t t h i s p o i n t , e s p e c i a l l y t h s e c t i o n o t h B u f f e r - P o i n t e r c o m m a n d , t h e n y o h a v e p r o b a b l yp r e t t y w e l l f i g u r e d i o u f o y o u r s e l f .

I e a c h r e c o r d i n d i r e c t a c c e s s f i l e o c c u p i e s o n e n t i r e s e c t o ro t h d i s k , t h e n e a c h d i s k w i l l o n l y h o l d m a x i m u m o a b o u t 6 7 0r e c o r d s . I e a c h r e c o r d c o n t a i n e d o n l y f e b y t e s o d a t a , t h i sw o u l d b t o t a l l y u n a c c e p t a b l e w a s t e o v a l u a b l e d i s k s p a c e . I o r d e rt a c h i e v e m a x i m u m u s o f t h e a v a i l a b l e d i s k s p a c e , w m u s t p a c kt h m a x i m u m n u m b e r o f r e c o r d s t o s e c t o r .

I o r d e r t d t h i s i i n e c e s s a r y t r e d u c e t h e r e c o r d s i z e t t h m i n i m u m n u m b e r o f b y t e s t h a t w i l l s t o r e t h n e c e s s a r y d a t a .M o s t D O a l l o w d a t a t b w r i t t e n t t h d i s k i b i n a r y f o r m a t l i k et h d a t a i s t o r e d i m e m o r y . I o t h e r w o r d s , i n t e g e r d a t a r e q u i r e st w b y t e s o d i s k s p a c e a n f l o a t i n g p o i n t d a t a r e q u i r e s f i v e b y t e s .A l t h o u g h 2 0 4 0 D O i a e x c e l l e n t f i r s t r e l e a s e v e r s i o n , t h i s t y p e o fd i s k p a c k i n g i o n t h e s t a n d a r d D O f e a t u r e s n o s u p p o r t e d . D a t ai w r i t t e n t t h d i s k i t h s a m e f o r m i t i s w r i t t e n o t h s c r e e n .E a c h c h a r a c t e r t a k e s o n b y t e o d i s k s p a c e . I n a d d i t i o n , n u m e r i cd a t a i n c l u d e s l e a d i n g a n t r a i l i n g b l a n k s . F o t h i s r e a s o n i i u s u a l l y m o r e e f f i c i e n t t w r i t e d a t a t t h d i s k i n s t r i n g f o r m a t .S t r i n g d a t a o c c u p i e s o n b y t e o d i s k s p a c e f o e a c h c h a r a c t e r i t h s t r i n g . I n a d d i t i o n , i t h r e c o r d c o n t a i n s m o r e t h a n o n d a t a f i e l d ,t h e n e a c h f i e l d m u s t b f o l l o w e d b C A R R I A G E R E T U R N ,C H R $ ( 1 3 ) , f i e l d d e l i m i t e r . T h i s r e q u i r e s o n e x t r a b y t e p e r f i e l d . I e a c h f i e l d i t h e r e c o r d i a l w a y s t h s a m e s i z e , i o t h e r w o r d s t h r e c o r d c o n t a i n s n s t r i n g f i e l d s s u c h a C U S T O M E R N A M E t h a tv a r y i s i z e f r o m r e c o r d t r e c o r d , t h e n a l t h f i e l d s c a b c o n c a t e n a t e d i n t o s i n g l e s t r i n g f i e l d b e f o r e w r i t i n g t h e r e c o r d t t h d i s k . T h i s c o u l d r e s u l t i c o n s i d e r a b l e s a v i n g s i n c e n f i e l dd e l i m i t e r s w o u l d b r e q u i r e d . U p o n r e a d i n g t h r e c o r d b a c k i n i c o u l d b s p l i t u i n t o t h o r i g i n a l f i e l d s w i t h t h M I D $ s t a t e m e n t .

O n c e t h m a x i m u m r e c o r d s i z e h a b e e n d e t e r m i n e d , d i v i d e

1 0

Page 107: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 107/260

5 0 R E M W R I T E A D I R E C T A C C E S S R E C O R D5 1 O P E N 1 5 , 8 , 1 5 : G O S U B 1 0 0 05 2 C H = 3 : D = 15 3 O P E N l , 8 , C H , n # " : G O S U B 1 0 0 05 4 T = : S = 0 : G O S U B 1 1 0 05 5 B P = 1 : G O S U B 1 5 0 05 6 F O 1 = T 1 : P R I N T # 1 , I C H R ? ( 1 3 ) . - N E X T5 7 G O S U B 1 4 0 05 8 C L O S E6 0 R E M R E A D D I R E C T A C C E S S R E C O R D6 1 O P E N l f 8 , C H r " # n : G O S U B 1 0 0 06 2 G O S U B 1 3 0 06 3 B P = 1 : G O S U B 1 5 0 06 4 F O 1 = T 1 : I N P U T # 1 , A $ ( I )6 5 I S T H E N 1 = 1 06 6 N E X T6 7 C L O S E6 9 E N 1 0 0 0 R E M E R R O R C H A N N E L I N P U T R O U T I N E1 0 1 0 I N P U T # 1 5 f E N $ , E M $ , E T $ , E S $1 0 2 0 I E N $ = " 0 0 n G O T O 1 0 9 01 0 3 0 P R I N T D I S K E R R O R # E N " E M n E T n E S 1 0 4 0 I N P U T C O N T I N U E ? n A 1 0 5 0 I A $ O n Y n T H E N S T O P1 0 9 0 R E T U R N1 0 9 1 R E 1 1 0 0 R E A L L O C A T E D / A B L O C K1 1 1 0 P R I N T # 1 5 , n B - A " ; D ; T ; S1 1 2 0 I N P U T # 1 5 , E N $ , E M $ , E T $ , E S $1 1 3 0 I E N $ = " 0 0 M G O T O 1 1 9 01 1 4 0 I E N $ = n 6 5 n T H E N T = V A L ( E T $ ) S = V A L ( E S $ ) : G O T O 1 1 1 01 1 5 0 G O T O 1 0 3 01 1 9 0 R E T U R N1 1 9 1 R E 1 2 0 0 R E F R E E D / A B L O C K1 2 1 0 P R I N T # 1 5 r n B - F n ; D ; T ; S1 2 2 0 G O T O 1 0 0 01 2 9 1 R E 1 3 0 0 R E M R E A D D / A B L O C K1 3 1 0 P R I N T # 1 5 , " B - R " ; C H ; D ; T ; S1 3 2 0 G O T O 1 0 0 01 3 9 1 R E 1 4 0 0 R E V 7 R I T E D / A B L O C K1 4 1 0 P R I N T # 1 5 , " B - W n ; C H ; D ; T ; S1 4 2 0 G O T O 1 0 0 01 4 9 1 R E 1 5 0 0 R E S E B U F F E R P O I N T E R1 5 1 0 P R I N T # 1 5 , " B - P n ; C H ; B P1 5 2 0 G O T O 1 0 0 0

t h e r e c o r d s i z e i b y t e s i n t o 2 5 t d e t e r m i n e t h m a x i m u m n u m b e ro r e c o r d s t h a t c a b s t o r e d o s i n g l e s e c t o r o f t h e d i s k . F o

1 0

Page 108: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 108/260

B e y o n d T h B A S I C S

e x a m p l e , i e a c h r e c o r d i t h f i l e h a b e e n d e t e r m i n e d t h a v em a x i m u m l e n g t h o 2 b y t e s i n c l u d i n g a l n e c e s s a r y f i e l d d e l i m i t e r s ,t h e n b d i v i d i n g 2 i n t o 2 5 w s e t h a t w c a s t o r e 1 r e c o r d s p e rs e c t o r . S i n c e t h e z e r o b y t e i u s e d b D O a a E O p o i n t e r , t h f i r s t r e c o r d b e g i n s i b y t e 1 t h s e c o n d r e c o r d i b y t e 2 1 t h t h i r dr e c o r d i b y t e 3 1 e t c . N o y o w i l l h a v e t a d f o u r t h f i e l d t y o u r s e q u e n t i a l p o i n t e r f i l e . B e s i d e s r e c o r d k e y , t r a c k a d d r e s s , a n s e c t o r a d d r e s s , y o u m u s t i d e n t i f y e a c h r e c o r d ' s p o s i t i o n i t h b l o c k .T h e n , t l o c a t e s p e c i f i c r e c o r d i t h f i l e , y o u w o u l d s e a r c h t h r e c o r d k e a r r a y f o t h d e s i r e d r e c o r d , u s t h c o r r e s p o n d i n g t r a c ka n s e c t o r a d d r e s s e s t r e a d i t h i n d i c a t e d s e c t o r , a n t h e n s e t h b u f f e r p o i n t e r t t h e v a l u e i t h c o r r e s p o n d i n g r e c o r d p o s i t i o nf i e l d . N o y o a r r e a d y t r e a d t h d e s i r e d r e c o r d i n t o y o u rp r o g r a m w i t h s t a n d a r d P R I N T # s t a t e m e n t .

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

1 0 0 P R I N T # l , A $ , B , C %2 0 0 P R I N T # l , A $ ; B ; C %3 0 P R I N T # 1 , A C H R $ ( 1 3 ) C H R $ ( 1 3 ) C % C H R $ ( 1 3 ) ;4 0 F O T 1 0 : P R I N T # l , A $ ( I ) : N E X T I5 0 F O T 1 0 : P R I N T # l , A $ ( I ) , : N E X T I6 0 F O T 1 0 : P R I N T # l , A $ ( I ) C H R $ ( 1 3 ) ; : N E X T I

L i n e 1 0 W R O N G ! C o m m a s h a v e t h s a m e s k i p p i n g e f f e c t o t h d i s k

a t h e y d o t h s c r e e n . T h i s w o u l d r e s u l t i v e r y i n e f f i c i e n t u s o d i s k s p a c e .L i n e 2 0

W R O N G ! S e m i c o l o n s a r n o p r i n t i n g c h a r a c t e r s a n w i l l n o w o r k a f i e l d d e l i m i t e r s . A n a t t e m p t t r e a d A w o u l d r e a d a n C a w e l l .

L i n e 3 0 C O R R E C T . T h i s m e t h o d w i l l w r i t e C A R R I A G E R E T U R N ,

C H R $ ( 1 3 ) , f i e l d d e l i m i t e r b e t w e e n e a c h f i e l d a n t h s e m i c o l o n o t h e n k e e p s O f r o m a d d i n g t r a i l i n g L I N E F E E D c h a r a c t e r t t h l a s t f i e l d .

L i n e 4 0 W R O N G ! T h O w i l l a d C A R R I A G E R E T U R N a n L I N E

F E E D c h a r a c t e r s t e a c h f i e l d . T h C A R R I A G E R E T U R Nc h a r a c t e r i d e s i r e d b u t h L I N E F E E D w i l l b e c o m e t h f i r s tc h a r a c t e r i t h f o l l o w i n g f i e l d a n c a c a u s e n u m e r o u s p r o b l e m s .

L i n e 5 0 0

1 0

Page 109: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 109/260

B e y o n d T h B A S I C S

W R O N G ! S a m e r e a s o n a l i n e 1 0 0 .L i n e 6 0 C O R R E C T . T h r e q u i r e d C A R R I A G E R E T U R N c h a r a c t e r i

i n s e r t e d b e t w e e n e a c h f i e l d i t h r e c o r d a n t h s e m i c o l o n k e e p st h O f r o m a d d i n g L I N E F E E D c h a r a c t e r . T h P E O p e r a t i n gS y s t e m t r e a t s a l d a t a t h s a m e n m a t t e r i i i p r i n t i n g t o s c r e e n ,d i s k , o p r i n t e r . F o t h i s r e a s o n , t h l a s t f i e l d i e v e r y P R I N T #c o m m a n d s h o u l d b f o l l o w e d b s e m i c o l o n t k e e p t h O f r o ma d d i n g L I N E F E E D c h a r a c t e r t t h o u t p u t d a t a s t r i n g . T h i sL I N E F E E D c h a r a c t e r w i l l b e c o m e t h f i r s t c h a r a c t e r i t h f o l l o w i n g f i e l d a n w i l l c a u s e a l k i n d s o f h e a d a c h e s . I w i l l c r a s hy o u r p r o g r a m w i t h d a t a c h e c k e r r o r i y o a t t e m p t t r e a d t h ef i e l d i n u m e r i c f o r m a t a n c a l e a d t e r r o n e o u s c o m p a r i s o n s i r e a d i s t r i n g f o r m a t . T h i s i t r u e w h e t h e r y o a r u s i n g d i r e c ta c c e s s o r s e q u e n t i a l f i l e s . D a t a i m u c h e a s i e r t r e a d c o r r e c t l y f r o mt h d i s k i i w a w r i t t e n c o r r e c t l y t t h d i s k .

Y o s h o u l d n o b w e l l v e r s e d i t h t h e o r y o u s i n g d i r e c ta c c e s s f i l e s o d i s k . N e x t c o m e s t h f u p a r t , g a i n i n g a c t u a le x p e r i e n c e r e a d i n g a n w r i t i n g d i r e c t a c c e s s f i l e s o y o u r d i s k . S t a r tw i t h t h p r o g r a m i l i n e s 5 0 0 - 6 8 0 p l u s t h e s u b r o u t i n e s i l i n e s 1 0 0 0t 1 5 2 0 . W h e n y o a r s u r e y o k n o w e x a c t l y w h a t e a c h l i n e d o e s ,y o c a s t a r t e x p e r i m e n t i n g a r o u n d , a d d i n g l i n e s , e t c . W h e n t h p r o g r a m c r a s h e s , a n i p r o b a b l y w i l l s e v e r a l t i m e s , b a c k u a n d o n ' t t r a n y t h i n g n e u n t i l y o k n o w e x a c t l y w h a t w e n t w r o n g .B e f o r e y o k n o w i t y o 1 b t h e c l u b e x p e r t o 2 0 4 0 d i r e c t a c c e s sf i l e s .

1 0

Page 110: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 110/260

P a r t T w W h a v e a t t e m p t e d t e x p l a i n i d e t a i l h o t u s a n u n d e r s t a n dD i r e c t A c c e s s F i l e s w i t h t h n e C o m m o d o r e 2 0 4 0 D u a l D r i v eF l o p p y D i s k . U s i n g a n u n d e r s t a n d i n g D i r e c t A c c e s s f i l eo r g a n i z a t i o n i m a n d a t o r y i y o p l a n t d e v e l o p a n s e r i o u sb u s i n e s s s o f t w a r e f o t h C o m m o d o r e m i c r o c o m p u t e r s y s t e m .

W w i l l n o e x p a n d o t h p r i n c i p l e s p r e v i o u s l y c o v e r e d a n a l s o t r y t a n s w e r s o m e o t h e q u e s t i o n s w h a v e r e c e i v e d i t h m a i l c o n c e r n i n g t h o s e p r i n c i p l e s . R e f e r e n c e s t l i n e n u m b e r s i t h f o l l o w i n g m a t e r i a l r e f e r b a c k t t h D i r e c t A c c e s s c o d i n g e x p l a i n e di p a r t o n e . I w i l l h e l p y o t u n d e r s t a n d t h f o l l o w i n g i n f o r m a t i o ni y o r e f e r b a c k t t h a t p a r t .

B e f o r e g e t t i n g s t a r t e d , i w o u l d p r o b a b l y b e p r u d e n t t p o i n to u w h a t s e e m e d a e r r o r t m a n y r e a d e r s . S o m e t h o u g h t t h a t t h G O T O 1 0 0 0 i l i n e s 1 2 2 0 , 1 3 2 0 , 1 4 2 0 , a n 1 5 2 0 s h o u l d h a v e b e e nG O S U B 1 0 0 0 i n s t e a d . O g l a n c i n g o v e r t h c o d i n g t h i s m i g h ta p p e a r t b t r u e , b u m o r e c a r e f u l e x a m i n a t i o n o t h l o g i c f l o ww i l l s h o w t h a t e a c h o f t h e d i s k u t i l i t y r o u t i n e s b e g i n n i n g a t l i n e s1 2 0 0 , 1 3 0 0 , 1 4 0 0 , a n 1 5 0 0 f l o w i n t o t h e r r o r c h a n n e l r e a d r o u t i n e

b e g i n n i n g a t l i n e 1 0 0 0 a n t h R E T U R N i l i n e 1 0 9 0 i t h l o g i c a lr e t u r n p a t h f o e a c h o t h e s e s u b r o u t i n e s .

I y o o w 2 0 4 0 , y o s h o u l d h a v e b y n o r e c e i v e d t h f i n a lv e r s i o n o f t h i n s t r u c t i o n m a n u a l . I n o t , c a l l ( 4 0 8 ) 7 2 7 - 1 1 3 0 a n a s f o o n e . A l t h o u g h m u c h m o r e p r o f e s s i o n a l - l o o k i n g i a p p e a r a n c e ,t h i s f i n a l v e r s i o n o f f e r s l i t t l e m o r e u s e f u l i n f o r m a t i o n t h a n t h t e m p o r a r y v e r s i o n , e s p e c i a l l y i t h a r e a o f D i r e c t A c c e s s f i l eo r g a n i z a t i o n . I l i g h t o t h i s s h o r t c o m i n g , w w i l l c o n t i n u e t p a s sa l o n g w h a t p r a c t i c a l i n f o r m a t i o n w u n c o v e r d u r i n g t h c o n t i n u e dd e v e l o p m e n t a n s u p p o r t o o u b u s i n e s s s o f t w a r e s y s t e m s . A t h s a m e t i m e , w w o u l d a p p r e c i a t e r e c e i v i n g a n a d d i t i o n a li n f o r m a t i o n a n u s e r h i n t s t h a t o t h e r s m i g h t d i s c o v e r .U p d a t i n g D i r e c t A c c e s s F i l e s

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

1 0

Page 111: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 111/260

Page 112: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 112/260

B e y o n d T h B A S I C S

t h i r d a n f o u r t h p a r a m e t e r s o t h C o m m a n d C h a n n e l . T h i s i E T a n E S i l i n e 1 1 2 0 o o u r e x a m p l e . T h b l o c k l o c a t e d a t h a tt r a c k a n s e c t o r i t h e n a l l o c a t e d a n b e c o m e s p a r t o o u D i r e c tA c c e s s f i l e .

A l t h i s i g r e a t , b u w h a t h a p p e n s w h e n a l o t h a v a i l a b l ed i s k s e c t o r s h a v e b e e n a l l o c a t e d ? H o d o e s D O m a n a g e t i n f o r mu o t h i s r a t h e r i m p o r t a n t e v e n t ? S i m p l e . W h e n n o m o r e d i s ks e c t o r s a r e a v a i l a b l e t h e n D O r e t u r n s 0 0 ' s i E T a n E S i n s t e a do t h a d d r e s s o f t h e n e x t a v a i l a b l e s e c t o r . B s u r e t o c h e c k E N f o

6 t e n s u r e t h a t s o m e t y p e o f d i s k e r r o r h a n o o c c u r r e d t h a tm i g h t a l s o c a u s e E T a n E S t b s e t 0 0 T h f o l l o w i n g l i n e s o B A S I C c o d i n g s h o u l d b i n s e r t e d i n t h p r o g r a m e x a m p l e i p a r to n e .

1 1 4 0 I F E N $ < > 6 5 G O T O 9 3 1 1 5 0 I E T $ = 0 0 A N E S $ = 0 0G O T O 9 0 0 01 1 6 0 T = V A L ( E T $ ) : V A L ( E S $ ) :G O T O 1 1 1 0N o t i c e t h a t t h o r i g i n a l l i n e 1 1 4 0 i r e p l a c e d b t h n e o n e .L i n e 1 1 4 0 n o c h e c k s f o t h c o r r e c t e r r o r n u m b e r t e n s u r e t h a t

s o m e u n e x p e c t e d d i s k e r r o r h a s n o t o c c u r r e d . I o n h a o c c u r r e d , i E N i a n v a l u e o t h e r t h a n 6 5 t h e n c o n t r o l i p a s s e d t t h e r r o rh a n d l i n g r o u t i n e . N o t i c e t h a t t h b r a n c h i t l i n e 9 3 r a t h e r t h a nt h e u s u a l l i n e 9 0 0 . T h i s i b e c a u s e t h e r r o r c h a n n e l h a a l r e a d yb e e n r e a d i l i n e 1 1 2 0 . L i n e 1 1 5 0 c h e c k s t s e i t h d i s k i f u l l a n d ,i s o c o n t r o l i p a s s e d t t h a p p r o p r i a t e r o u t i n e a l i n e 9 0 0 0 . L i n e1 1 6 0 r e s e t s a n t t h t r a c k a n s e c t o r a d d r e s s o f t h e n e x ta v a i l a b l e s e c t o r a n b r a n c h e s b a c k t r e q u e s t a l l o c a t i o n .1 0 R E M T H I S I A N E X A M P L E O D I R E C T1 0 R E A C C E S S F I L E U P D A T I N G .1 0 R E 1 1 R E M L I N E S 2 0 T 2 9 R E A D R E C O R D1 1 R E M F R O M D I R E C T A C C E S S F I L E ,1 2 R E M U P D A T E T H R E C O R D f T H E N W R I T E1 2 R E T H R E C O R D B A C K T O T H E F I L E .1 2 R E 1 3 R E M L I N E S 1 0 0 0 T H R O U G H 1 5 2 0 W E R E1 3 R E D I S C U S S E D I D E T A I L I P A R T1 4 R E O N O T H I S S E R I E S .1 5 R E 2 0 R E U P D A T E A D I R E C T A C C E S S R E C O R D2 1 C H * = 4 : D = 0 : B P = 1 : C R $ = C H R $ ( 1 3 )2 2 O P E N 4 f 8 r 4 f n # n : G O S U B 1 0 0 02 3 T = 1 5 : S = 1 2 : G O S U B 1 3 0 0 : G O S U B 1 5 0 0

1 0

Page 113: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 113/260

2 4 I N P U T # 4 , A $ , B $ f C $ f D $ f K2 5 A $ = n T E S T n : K = K + 12 6 G O S U B 1 5 0 02 7 P R I N T # 4 r A $ C R $ B $ C R $ C C R 2 7 P R I N T # 4 f D $ C R C R 2 8 G O S U B 1 4 0 02 9 C L O S E2 9 E N 1 0 0 0 R E E R R O R C H A N N E L I N P U T R O U T I N E1 0 1 0 I N P U T # 1 5 f E N $ f E M $ f E T $ , E S $1 0 2 0 I F E N $ = " 0 0 f I G O T O 1 0 9 01 0 3 0 P R I N T " D I S K E R R O R # E N E M $ ;1 0 3 1 P R I N T " E T n E S 1 0 4 0 I N P U T " C O N T I N U E ? " A 1 0 5 0 I A $ < > " Y " T H E N S T O P1 0 9 0 R E T U R N1 0 9 1 R E M1 3 0 0 R E R E A D D / B L O C K1 3 1 0 P R I N T # 1 5 , n U l " ; C H ; D ; T ; S1 3 2 0 G O T O 1 0 0 01 3 9 1 R E 1 4 0 0 R E W R I T E D / B L O C K1 4 1 0 P R I N T # 1 5 f " U 2 " ; C H ; D ; T ; S1 4 2 0 G O T O 1 0 0 01 4 9 1 R E 1 5 0 0 R E M S E T B U F F E R P O I N T E R1 5 1 0 P R I N T # 1 5 , " B - P " ; C H ; B P1 5 2 0 G O T O 1 0 0 0

1 0

Page 114: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 114/260

F i l e C o n v e r s i o n s O T h C o m m o d o r e 2 0 4 0 D r i v e

H a W a d l e i g hT h i s a r t i c l e c o m p l e m e n t s R o b e r t W B a k e r ' s " W o r d P r o C o n v e r t e r . " N o y o u c a n p r o c e s s W o r d P r o " F i l e C a b i n e t " o p r o v i d e m a i l i n g l a b e lm e r g i n g .

T h v a s t m a j o r i t y o f b u s i n e s s s y s t e m s u s i n g P E T s a n C B M s a r a t t a c h e d t o 2 0 4 0 d i s k d r i v e . O n o t h e r e a s o n s i t h a t W o r d p r o( t h e w o r d p r o c e s s i n g s y s t e m ) c a t u r n t h C B M - 2 0 4 0 c o m b i n a t i o ni n t o o n o t h m o s t c o s t - e f f e c t i v e w o r d p r o c e s s i n g m a c h i n e s o t h m a r k e t . T h o t h e r a p p l i c a t i o n s w h i c h c a a l s o b p r o g r a m m e d f o t h s a m e e q u i p m e n t a r n i c e b o n u s , b u t W o r d p r o u s u a l l y p a y s f o t h e s y s t e m .

T h i n i t i a l c o n c e p t b e h i n d W o r d p r o w a f o t h w o r d p r o c e s s i n gf u n c t i o n t b d i s t i n c t f r o m o t h e r f u n c t i o n s . T h s o f t w a r e d e s i g n w a p r e d i c t e d o t h a s s u m p t i o n t h a t W o r d p r o f i l e s w o u l d n o h a v e t b a c c e s s e d b o t h e r p r o g r a m s . C o n s e q u e n t l y , t h f i l e s w e r e d e s i g n e d i p r o g r a m b l o c k s n o a A S C I I d a t a f i l e s . T i m e h a p r o v e n t h a ta s s u m p t i o n t b i n a c c u r a t e . M a n y t e x t f i l e s c r e a t e d i W o r d p r oc o n t a i n i n f o r m a t i o n t h a t i o f t e n n e c e s s a r y f o o t h e r c o m p u t e rf u n c t i o n s a n W o r d p r o d o c u m e n t s o f t e n n e e d d a t a f r o m A S C I I f i l e sc r e a t e d b o t h e r f u n c t i o n s .

T h p r o b l e m h a f a i r l y s i m p l e s o l u t i o n t w c o n v e r s i o np r o g r a m s . O n t r a n s l a t e s W o r d p r o f i l e s i n t o A S C I I f i l e s a n t h o t h e r p e r f o r m s t h r e v e r s e .

T h a t t a c h e d p r o g r a m l i s t i n g s w i l l n o b v e r y m e a n i n g f u lw i t h o u t s o m e e x p l a n a t i o n o t h w a y W o r d p r o f i l e s a r e s t r u c t u r e d .W o r d p r o f i l e s a r p r o g r a m s , n o s e q u e n t i a l f i l e s . c a r r i a g e r e t u r n b t h o p e r a t o r p u t s b a c k - a r r o w i n t o t h t e x t a n d m o v e s t h c u r s o r t t h s t a r t o f t h e n e x t s c r e e n l i n e . S i n c e t h e f i l e i a c t u a l l y p r o g r a m ,t h f i r s t t w b y t e s o f t h e f i l e a r e a r e v e r s e - f o r m a t i n t e g e r d e s i g n a t i n gt h a d d r e s s a w h i c h t h p r o g r a m s h o u l d b e g i n l o a d i n g . L u c k i l y , t h 2 0 4 0 D O a l l o w s s i n g l e c h a r a c t e r G E T s f r o m p r o g r a m f i l e . I m a b O P E N e d i t h s a m e w a a s e q u e n t i a l f i l e i o p e n e d , a n t h s t a t u s w o r d ( d e d i c a t e d v a r i a b l e S T c a n b e u s e d t f i n d t h e n o f t h ef i l e .

I t h e a t t a c h e d l i s t i n g o f t h e W o r d p r o t A S C I I c o n v e r s i o np r o g r a m , t h s u b r o u t i n e a t l i n e 1 0 0 0 0 s e t s u t h e c h a r a c t e r

1 0

Page 115: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 115/260

c o n v e r s i o n t a b l e . C h a r a c t e r s i W o r d p r o f i l e s a r i s c r e e n c o d e , n o A S C I I . T h s u b r o u t i n e s a 1 0 0 0 i t h e r r o r c h e c k i n g a n e n d o f - f i l es c a n n i n g r o u t i n e . T h e s e t w t e c h n i q u e s a r t h k e e l e m e n t s i f i l ec o n v e r s i o n f o t h e s e k i n d s o f i l e s . T h s t r u c t u r a l d i f f e r e n c e s b e t w e e nt h f i l e t y p e s i h a n d l e d b s i m p l y t h r o w i n g o u t t h e t w p o i n t e r b y t e sa t h b e g i n n i n g o f t h e f i l e . T h p r o g r a m l i s t e d d o e s t h i s w i t h a p a i ro i n i t i a l G E T s a n i p r o c e s s e d b r e p l a c i n g i w i t h c a r r i a g e r e t u r na n t h r o w i n g o u t h a d d i t i o n a l b l a n k s p a c e s b e h i n d t h b a c k a r r o w .T h a t i t h r e a s o n t h a t i t i s n e c e s s a r y t k e e p t r a c k o t h s c r e e nc o l u m n f r o m w h i c h t h W o r d p r o c h a r a c t e r c a m e ( C i t h p r o g r a m ) .

T h p r o g r a m w h i c h d o e s t h r e v e r s e c o n v e r s i o n u s e s t h s a m eb a s i c t e c h n i q u e s , b u r e - i n s e r t s t h p o i n t e r a n p a d d i n g b l a n k s t h a ta r d i s c a r d e d i t h e o t h e r p r o g r a m .

W o r d p r o c e s s i n g i t h f o r e m o s t a p p l i c a t i o n f o a l m i c r o c o m p u t e r s t o d a y . N o i d o e s n ' t h a v e t b a e n t i r e l ys e p a r a t e d f u n c t i o n o 2 0 4 0 s y s t e m s , b u c a b i n t e g r a t e d i n t oc o h e s i v e d a t a p r o c e s s i n g s y s t e m f o s m a l l b u s i n e s s e s . I n v o i c e sg e n e r a t e d i W o r d p r o c a n b e c o n v e r t e d a n m e r g e d i n t o a o r d e r -p r o c e s s i n g s y s t e m . B l o c k f i l e l i s t s g e n e r a t e d a n m a i n t a i n e d i W o r d p r o c a n b e c o n v e r t e d f o d e m o g r a p h i c a n a l y s i s . M a i l i n g l i s tl a b e l d a t a c a b c o n v e r t e d i n t o W o r d p r o b l o c k f i l e s f o u s i c u s t o m i z e d m a s s m a i l i n g s .

T h e r e a r o t h e r i n s t a n c e s w h e r e t h s a m e t y p e o f i l e c o n v e r s i o nt e c h n i q u e s m a b u s e f u l c o n v e r t i n g t h C B a l t e r e d A S C I I s e t s t a n d a r d A S C I I f o o u t p u t t o a p r i n t e r i o n e x a m p l e . T h p r i n c i p l ei n v o l v e d i t d a m u c h o t h c o n v e r s i o n a p o s s i b l e i a t a b l e a n t p r o g r a m o n l y t h o s e f u n c t i o n s t h a t c a n n o t b m a p p e d . I t ' s e a s i e ra n f a s t e r t h a t w a y .

P O K E 5 9 4 6 8 , 1 4 : G O S U B 1 0 0 0 0P R I N T " f i E O R D P R Q T O A S C I I C O N V E R S I O N " :

- i P R I N T1 I N P U T " W O R D P R O F I L E N A M E . < « " ; ¥ $ :

- i I F F $ = n . " G O T O 1 02 I N P U T " £ R I V E N U M B E R . < « " A $ A = A S C ( A $ )

- i - 4 8 : I F A < 0 O R A > 1 G O T O 2 03 I N P U T " A S C I I F I L E N A M E . « < " ; h F $ :- i I F A F $ = " . " G O T O 3 0

4 I N P U T " E R I V E N U M B E R . < « " ; A $ : B = A S C ( A $ )- . - 4 8 : I F B < 0 O R B > 1 G O T O 4 0

5 A $ = C H R $ ( A + 4 8 ) : B $ = C H R $ ( B + 4 8 ) : O P E N 1 5 , 8 ,- i l 5 : P R I N T # 1 5 , " I " + A $

6 I F B $ O A $ T H E N P R I N T # 1 5 , " I " + B $7 F $ = A $ + " : " + F $ + " f P f R " : R E M D R I V E * :

1 0

Page 116: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 116/260

- . P I L E N A M E f P R O G R A M , R E A D A C C E S S8 O P E N l , 8 r 2 , F $ : G O S U B l 0 0 0 : R E M O P E N A N D -

- . C H E C K9 A F $ = B $ + I I : I I + A F $ + " , S , W " : R E M D R I V E # :

■ n F I L E N E M E , S E Q U E N T I A L , W R I T E A C C E S S1 0 O P E N 2 , 8 r 3 f A F $ : G O S U B l 0 0 01 1 G E T # 1 , A $ : G O S U B 1 0 0 0 : R E M S K I P P O I N T E R ,

- L O W B Y T E1 2 G E T # 1 , A $ : G O S U B 1 0 0 0 : R E M S K I P P O I N T E R ,

- H I G H B Y T E1 3 C % = 3 9 : R E M I N I T I A L I Z E C O L U M N C O U N T E R1 4 G E T # 1 , A $ : C % = C % + 1 : I F C % > 3 9 T H E N C % = 01 5 I F A $ = C H R $ ( 3 1 ) G O T O 1 7 0 : R E M C A R R I A G E -

- . R E T U R N1 6 P R I N T T $ ( A S C ( A $ ) ) ; : P R I N T # 2 , T $ ( A S C ( A $ ) )

- . G O S U B 1 0 0 0 : G O T O 1 41 7 P R I N T : P R I N T # 2 , C H R $ ( 1 3 ) ; : I F C % = 3 9 G O T O 1 4

- . 0 : R E M N P A D D I N G1 8 F O R I = C % T O 3 8 : G E T # 1 , A $ : G O S U B 1 0 0 0 :

i I ( A S C ( A $ ) A N D 6 3 ) O 3 2 T H E N P R I N T :- i P R I N T n x F I L L E R £ B B Q E n : S T O P

1 9 N E X T : G O T O 1 3 0 : R E M F I L L E R ( C H A R A C T E R 3 - - . O F 1 6 0 ) H A B E E N D E L E T E D2 0 E N 1 0 0 0 S A % = S T : R E M T E M P O R A R Y S T O R A G E O

- . S T A T U S W O R D1 0 1 0 I N P U T # 1 5 , E , E $ , T , S : I F E < 1 G O T O 1 0 4 0 :

- . R E M D I S K A C T I O N O 1 0 2 0 P R I N T : P R I N T l f x D I S K E R R O R " ; E ; E $ :

- . P R I N T M T R A C K = " T S E C T O R = " S - . P R I N T n S T A T U S = " ; S A %

1 0 3 0 C L O S E 1 : C L O S E 2 : C L O S E 1 5 : E N D1 0 4 0 I F S A % = 0 T H E N R E T U R N : R E M A L O 1 0 5 0 M $ = " S T A T U S E R R O R = " + S T R $ ( S A % ) :

- . I F S A % = 6 4 T H E N M $ = " F I L E C O N V E R T E D 1 11 0 6 0 P R I N T : P R I N T " * . 1 1 ; M $ : G O T O 1 0 3 01 0 7 0 R E E N O E R R O R C H E C K I N G S U B R O U T I N E1 0 0 0 0 D I M T $ ( 2 5 5 ) : R E M T R A N S L A T I O N A R R A Y1 0 0 1 0 F O R I = 0 T O 3 1 : T $ ( I ) = C H R $ ( I + 6 4 ) : N E X T1 0 0 2 0 F O R I = 3 2 T O 6 3 : T $ ( I ) = C H R $ ( I ) : N E X T1 0 0 3 0 F O R I = 6 4 T O 9 5 : T $ ( I ) = C H R $ ( I + 1 2 8 ) : N E X T1 0 0 4 0 F O R I = 9 6 T O 1 2 7 : T $ ( I ) = C H R $ ( I + 6 4 ) : N E X T1 0 0 5 0 F O R I = 1 2 8 T O 2 5 5 : T $ ( I ) = n r " + T $ ( I - 1 2 8 ) + I f

- i r " : N E X T1 0 0 6 0 R E T U R N

C O M P U T E N O T E S : T h p o i n t e r f o u n d a t h b e g i n n i n g o f t h W O R D P R O I f i l e s w i l l v a r y d e p e n d i n g o t h n u m b e r o l i n e s o m a i n t e x t y o s p e c i f i e d . S i n c eW O R D P R O I d o e s n ' t u s t h i s p o i n t e r w h e n l o a d i n g f i l e s , y o c o u l d i n c r e a s e t h w o r k s p a c e i t h A S C I I T W p r o g r a m b r e d u c i n g t h e v a l u e a s s i g n e d t W i l i n e 2 0 J u s t m a k e s u r e t h a t y o d e c l a r e e n o u g h m a i n t e x t i n W O R D P R O t

n

Page 117: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 117/260

B e y o n d T h B A S I C S

a c c o m m o d a t e t h f i l e .U s a b b r e v i a t i o n s i l i n e s 1 8 a n 1 0 2 0 o f t h e W O R D P R O T O A S C I I p r o g r a m

t k e e p f r o m e x c e e d i n g t h l i m i t o 8 c h a r a c t e r s p e l i n e , i . e . u s " g E " f o " g e t # " a n " ? " f o r " p r i n t " .

A l s o , t h e " - " c h a r a c t e r i l i n e 9 5 o f t h A S C I I T W O R D P R O p r o g r a mr e p r e s e n t s a b a c k a r r o w c h a r a c t e r .

P O K E 5 9 4 6 8 , 1 4 : G O S U B 2 0 0 0P R I N T " f i A S C I l T H O R D P R O C O N V E R S I O N " :

- . P R I N T1 E L = P E E K ( 5 2 ) : E H = P E E K ( 5 3 ) : R E M P O I N T E R S -

i T O E N D O M E M O R Y2 W P = 1 2 2 9 6 : E W = E L + 2 5 6 * E H - 1 : R E M $ 3 0 0 8 — B E G I

- . N N I N G E N O W O R D P R O W O R K S P A C E3 I N P U T " A S C I I N P U T F I L E . « « n ; F $ :

- • I F F $ = " . f l G O T O 3 04 I N P U T " D R I V E . < « " ; D $ : D = A S C ( D $ ) - 4 8 :

- i I F D < 0 O R D > 1 G O T O 4 05 I N P U T " W O R D P R O F I L E N A M E . < « " ; V I F $ :

i I F W F $ = " . " G O T O 5 06 I N P U T " D R I V E . < « " ; D $ : W D = A S C ( D $ ) - 4

~ . I F W D < 0 O R W D > 1 G O T O 6 07 F $ = R I G H T $ ( S T R $ ( D ) , 1 ) + " : " + F $ + " , S , R " :i W F $ = R I G H T $ ( S T R $ ( W D ) , 1 ) + " : " + W F $ + " , P ,- . W "

8 O P E N 1 5 , 8 , 1 5 : P R I N T # 1 5 , " I " : G O S U B 1 0 0 0 :i O P E N I f 8 , 2 , F $ : G O S U B 1 0 0 0

8 O P E N 2 8 , f W F $ : G O S U B 1 0 0 0 : L % 0 : C B = W P + 2 :- . R % = 0

8 P R I N T # 2 f C H R $ ( 8 ) + C H R $ ( 4 8 ) ; : G O S U B l 0 0 0 :- . R E M I N I T I A L P O I N T E R S

9 G E T # 1 , A $ : S A = S T : G O S U B 1 0 0 0 : I F A $ = " " G O T O 1 7 09 I F A $ = C H R $ ( 1 3 ) T H E N P R I N T " ~ " : G O T O 1 2 09 P R I N T A $ ;1 0 I F A $ = " x " T H E N R % = l : G O T O 1 7 01 1 I F A $ = " f " T H E N R % = 0 : G O T O l 7 01 2 B V = T % ( A S C ( A $ ) : I F B V = 0 A N D A $ O " @ " G O T O 1 7 01 2 I F R % = 1 T H E N B V = B V + 1 2 81 3 P R I N T # 2 f C H R $ ( B V ) ; : C B = C B + 1 : L % = L % + 1 :

- i I F L % > 3 9 T H E N L % = 01 4 I F A $ O C H R $ ( 1 3 ) G O T O 1 6 01 5 I F L % > 0 T H E N F O R I = L % T O 3 9 : P R I N T # 2 f " " ;

- i C B = C B + l : N E X T : L % = 0 R % = 01 6 I F C B > E W G O T O 2 1 0 : R E M E N O W O R K S P A C E1 7 I F S A < 1 G O T O 9 01 8 I F S A = 6 4 G O T O 2 0 01 9 P R I N T : P R I N T " j l S T A T U S E R R O R " ; S A : E N D2 0 P R I N T : P R I N T " r F I L E C O N V E R T E D " : C L O S E 2 :

- . G O S U B 1 0 0 0 : C L O S E 1 : G O S U B 1 0 0 0 : C L O S E 1 5- i E N D

2 1 P R I N T : P R I N T " x M O R K S P A C E F U L L — C H A I N I N G -

I l

Page 118: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 118/260

i F I L E " : C L R 2 : G O S U B 1 0 0 02 2 W F $ = L E F T $ ( W F $ , L E N ( W F $ ) - 4 ) + S T R $ ( C % ) + " ,i P , W n : G O T O 8 2

1 0 0 0 I N P U T # 1 5 , E , E $ , T , S : I F E < 1 G O T O 1 0 2 01 0 1 0 P R I N T : P R I N T " x f i I S K E R R O R " ; E ; E $ :

- . P R I N T T , S , S A : E N D1 0 2 0 I F S A < 1 O R S A = 6 4 T H E N R E T U R N1 0 3 0 P R I N T : P R I N T " r £ T A T U S E R R O R " ; S A E N 2 0 0 0 D I M T % ( 2 5 5 )2 0 1 0 T % ( 1 3 ) = 3 1 : R E M W O R D P R O R E T U R N M A R K E R2 0 2 0 F O R I = 6 4 T O 9 5 : T % ( I ) = I - 6 4 : N E X T2 0 3 0 F O R I = 3 2 T O 6 3 : T % ( I ) = I : N E X T2 0 4 0 F O R I = 1 9 2 T O 2 2 3 : T % ( I ) = I - 1 2 8 : N E X T2 0 5 0 F O R I = 2 2 4 T O 2 5 5 : T % ( I ) = 1 - 6 4 : N E X T2 0 6 0 R E T U R N

1 1

Page 119: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 119/260

B e y o n d T h B A S I C S

U s i n g D i s k O v e r l a y sO T h P E

M a r t y F r a n zO v e r l a y i n g o " c h a i n i n g " l e t s y o w r i t e a n u s p r o g r a m s t h a t a r m u c hl a r g e r t h a n y o u r a v a i l a b l e m e m o r y .

I y o V w r i t t e n v e r y l a r g e B A S I C p r o g r a m s o t h P E T , t h e r e V p r o b a b l y b e e n t i m e s w h e n y o u V e w a n t e d t b r e a k t h e m i n t os m a l l e r p i e c e s t s a v e s t o r a g e o m a k e m a i n t e n a n c e e a s i e r . A a e x a m p l e o t h i s , c o n s i d e r d i s k u t i l i t i e s : y o d o n ' t n e e d t h a v e t h c o d e n e c e s s a r y t c o p y f i l e s a n c h e c k f o e r r o r s l o a d e d i n t o s t o r a g ea l o n g w i t h t h c o d e t l i s t t h d i s k d i r e c t o r y , s i n c e y o w i l l o n l y b p e r f o r m i n g o n o f t h o s e f u n c t i o n s a g i v e n t i m e . I n s t e a d , i t ' d b n i c e t o w r i t e s m a l l " c o p y f i l e s " a n " l i s t d i r e c t o r y " p r o g r a m s a n j u s t l o a d t h o n n e e d e d . T m a k e a c c e s s i n g t h e s e p r o g r a m s m o r ec o n v e n i e n t , m a s t e r p r o g r a m c o u l d t h e n d e c i d e w h i c h o n t l o a d ,b a s e d o y o u r i n p u t . W h e n t h l i t t l e u t i l i t y p r o g r a m s w e r e d o n e ,t h e y ' d r e l o a d t h e m a s t e r p r o g r a m a g a i n t a l l o w a n o t h e r s e l e c t i o n .

T h i s a p p r o a c h t p r o g r a m d e s i g n i c a l l e d " o v e r l a ys e g m e n t i n g . " I h a s e v e r a l a d v a n t a g e s o v e r p u t t i n g e v e r y d e s i r e df u n c t i o n i n t o s i n g l e l a r g e p r o g r a m . O n i s t o r a g e e f f i c i e n c y : o n l yt h c o d e n e e d e d t p e r f o r m s p e c i f i c f u n c t i o n i l o a d e d i s t o r a g e a a n g i v e n t i m e . A n o t h e r i m o d u l a r i t y : w h e n b u i f o u n d y o o n l y h a v e t m o d i f y s i n g l e , s m a l l p r o g r a m . A l s o , i y o w a n t t a d a n o t h e r f u n c t i o n y o o n l y h a v e t w r i t e t h p r o g r a m t h a ti m p l e m e n t s i a n m a k e t h m a s t e r p r o g r a m " a w a r e " o h o t l o a d i t

F o r t u n a t e l y , t h e P E a l l o w s o n e p r o g r a m t l o a d a n o t h e r b l e t t i n g y o p u L O A D s t a t e m e n t s i B A S I C p r o g r a m s . I w i l l e v e ns u p p r e s s t h e n o r m a l S E A R C H I N G F O R a n L O A D I N G m e s s a g e s ,s t h u s e r w o n ' t n o t i c e t h a t a n o t h e r p r o g r a m i b e i n g l o a d e d .

U n f o r t u n a t e l y , t h e r e ' s s e r i o u s r e s t r i c t i o n o t h i s : t h e o v e r l a yp r o g r a m m u s t b s m a l l e r t h a n t h p r o g r a m l o a d i n g i t T h i s i b e c a u s e t h p o i n t e r s t h a t t e l l B A S I C h o w l a r g e t h p r o g r a m i a n w h e r e t h v a r i a b l e s a r e k e p t a r e n ' t r e s e t w h e n L O A D i d o n ef r o m a n o t h e r p r o g r a m . T h M i c r o s o f t p e o p l e h a v e d o n e t h i s s t h a tt h n e p r o g r a m c a a c c e s s t h e p r e v i o u s o n e ' s v a r i a b l e s . B u i m e a n s t h a t t h m a s t e r p r o g r a m h a t b t h l a r g e s t p r o g r a m i o u u t i l i t y p a c k a g e . W h a t i w w a n t t a d a " e d i t f i l e s " f u n c t i o n ? I t ' d

1 1

Page 120: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 120/260

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

T h a v e r e a l l y u s e f u l d i s k o v e r l a y s c h e m e , t h e n , w h a v e t g e a r o u n d t h i s r e s t r i c t i o n o p r o g r a m s i z e . F o t h a t , w h a v e t k n o w h o B A S I C p r o g r a m s a r s t o r e d . A d d r e s s e s 4 2 a n 4 o n e P E T s a r p o i n t e r ( l o w a n h i g h b y t e s ) t o w h e r e v a r i a b l es t o r a g e s t a r t s i B A S I C p r o g r a m . I a l s o t e l l s w h e r e t h p r o g r a mt e x t e n d s . I w p o k e t h e s e a d d r e s s e s w i t h l a r g e r p o i n t e r v a l u e ,w e ' v e e f f e c t i v e l y i n c r e a s e d t h s i z e o o u r p r o g r a m .

S o w a t i n s u r e t h a t o u p r o g r a m i a l w a y s b i g g e r t h a n t h o n w e ' r e g o i n g t l o a d n e x t i t s e t h " p r o g r a m e n d " p o i n t e rr i g h t b e f o r e t h L O A D s t a t e m e n t . W h a t ' s t h l a r g e s t p o s s i b l e v a l u ew c a g i v e t o i t p o i n t e r ? I t ' s t h h i g h e s t R A m e m o r y a d d r e s s ,k e p t f o u a a d d r e s s 5 a n 5 3 W w a n t t m a k e i o n p a g e ( 2 5 6b y t e s ) l e s s t h a n t h a t , a c t u a l l y , b e c a u s e B A S I C m i g h t n e e d i n t e r i ms t o r a g e f o v a r i a b l e s .

W h e n t h n e p r o g r a m i l o a d e d a n b e g i n s r u n n i n g , t h f i r s tt h i n g i w i l l h a v e t d i t e l l B A S I C h o w b i i r e a l l y i s s t h a t t h r e s t o s t o r a g e c a n b e f r e e d u f o u s b i t v a r i a b l e s . L u c k i l y , t h a c t u a l l e n g t h o f p r o g r a m i k e p t b t h L O A D r o u t i n e s a a d d r e s s e s 2 0 a n 2 0 2 . S o w r e s e t t h e p o i n t e r a a d d r e s s 4 t t h i sv a l u e b e f o r e w d a n p r o c e s s i n g i o u o v e r l a y .

T h o n l y f l a w i t h i s s c h e m e i t h p r e v i o u s p r o g r a m ' sv a r i a b l e s . B A S I C k e e p s t r a c k o w h e r e v a r i a b l e s t o r a g e b e g i n s a n e n d s , a n i t ' s b a s e d o t h e n d o f - t e x t p o i n t e r . E a c h t i m e w m e s sw i t h t h i s p o i n t e r w h a v e t g e B A S I C t c l e a n u v a r i a b l e s t o r a g ef o r u s . T h C L s t a t e m e n t w i l l d t h a t .

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

9 9 P O K E 4 2 , P E E K ( 5 2 )9 9 P O K E 4 3 , P E E K ( 5 3 ) - 19 9 C L 9 9 L O A D " n e x t " , 8

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

P O K E 4 2 , P E E K ( 2 0 1 )P O K E 4 3 , P E E K ( 2 0 2 )C L

T h C L s t a t e m e n t s c l e a n u t h v a r i a b l e s f o u s a n w a l l o w o n

1 1

Page 121: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 121/260

p a g e l e s s t h a n t h l a r g e s t R A a d d r e s s f o i n t e r i m s t o r a g e o B A S I C v a r i a b l e s .T h e r e a r t w " g o t c h a s " i n v o l v e d i t h i s o v e r l a y s c h e m e ,

h o w e v e r . T h f i r s t i t h a t i w w a n t t p a s s v a r i a b l e s b e t w e e no v e r l a y s w e ' r e o u o l u c k , b e c a u s e t h C L R s w i l l c l o b b e r w h a t e v e rw a k e p t i n s t o r a g e . I f u t u r e a r t i c l e , I ' l l d i s c u s s s e c u r e w a t p a s s p a r a m e t e r s b e t w e e n p r o g r a m s . F o r n o w , w c a P O K Ev a r i a b l e s i n t o p r o t e c t e d s t o r a g e a r e a l i k e t h s e c o n d c a s s e t t e b u f f e ra n h a v e t h e m r e m a i n i n t a c t d u r i n g t h L O A D p r o c e s s . W e ' l l h a v et d t h i s f o r t h n a m e o f t h e p r o g r a m y o u ' r e l o a d i n g i i t ' s g o i n g t b k e p t i s t r i n g . T h a t ' s w h w k e p t p a g e o s t o r a g e f r e e f o v a r i a b l e s w h e n w i n c r e a s e d t h p r o g r a m ' s s i z e . A f t e r t h e p o i n t e r i r e s e t , w n e e d t f i s h t h n a m e o f t h e p r o g r a m o u o p r o t e c t e ds t o r a g e a s t r i n g s w c a d t h L O A D . T h s a m p l e m a s t e rp r o g r a m s h o w s h o t h i s i d o n e .

T h s e c o n d " g o t c h a " r e l a t e s t w r i t i n g a n t e s t i n g o v e r l a y s . I t ' sp r o b a b l y g o o d i d e a t o o m i t t h e e n t r y a n e x i t l i n k a g e f r o m t h e mw h i l e t h e y ' r e b e i n g t e s t e d . W h y ? E a c h t i m e t h p r o g r a m i r u n , i t ' l lr e s e t i t e n d - o f - p r o g r a m p o i n t e r t t h e v a l u e i h a w h e n i w a l a s tl o a d e d . T h i s i v e r y b a w h e n y o m a k e l o o c h a n g e s a n t h p r o g r a m s i z e i a l t e r e d d r a m a t i c a l l y . Y o c o u l d l o s e a l y o u r c h a n g e s( a b e s t ) o m e s s u y o u r p r o g r a m t t h p o i n t w h e r e y o c a n ' t d a n y t h i n g w i t h i ( a w o r s t ) . W h e n d e b u g g i n g a o v e r l a y , t y p e N E b e f o r e l o a d i n g i t a n b s u r e t s a v e c o p y b e f o r e r u n n i n g i a g a i n .

T h e r e a r m a n y a p p l i c a t i o n s f o o v e r l a y s . F o r e x a m p l e , t h m a s t e r p r o g r a m c o u l d u s l i g h t p e i n p u t t s e l e c t t h o v e r l a y s ,s i m p l i f y i n g t h u s e r ' s i n t e r f a c e t t h P E T . I t h e o v e r l a y s w e r ec a r e f u l l y w r i t t e n t t a k e a l t h e i r p a r a m e t e r s f r o m m e m o r y , t h m a s t e r p r o g r a m c o u l d r e a d i n p u t f r o m f i l e , a n c o m p l e x f u n c t i o n sc o u l d b b u i l t u f r o m l i s t s o s i m p l e r o n e s . f i l e c o u l d t e l l t h m a s t e r p r o g r a m t f i r s t a s s e m b l e , t h e n r u n , 6 5 0 2 m a c h i n el a n g u a g e p r o g r a m b y c a l l i n g a s s e m b l e r a n l o a d e r o v e r l a y s . T h i s i c a l l e d " b a t c h " o " c o m m a n d l a n g u a g e " p r o c e s s i n g a n i d o n e o m u c h l a r g e r c o m p u t e r s y s t e m s . S u f f i c e i t o s a y t h a t w i t h t h a b i l i t yt d o v e r l a y s e g m e n t i n g , t h p o w e r o f t h e P E f o s e r i o u sp r o g r a m m i n g i g r e a t l y e n h a n c e d .L 0 R E S f l M P L E M f l S T E R P R Q G R R M1 1 R E U S I N G P E D I S K O V E R L f l V S1 2 R E 1 3 P O K E 4 2 , P E E K ( 2 0 1 > : P O K E 4 3 , P E E K < 2 6 2 )1 4 C L 1 5 R E I N I T I f l L I Z E P R O G R f l M

1 1

Page 122: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 122/260

1 6 D F * = " - " - S I * = " " + D F * + " I M I "1 7 O P E N 1 5 , 8 , 1 51 8 R E R S F O P R O G R f l M N f i M E1 9 P N T P N T P N P R O G R f l M " . S * 2 0 I N P U T P 2 1 I P $ = D F * T H E N 1 9 2 2 : I P * = " B V E n T H E N N E W : E N D2 3 R E C H E C K D I S K F O R P R O G R f l M2 4 O P E N 1 , 8 , 2 , P * + " , P , R "2 5 G O S U B 5 0 82 6 0 C L O S E2 7 I E = 0 T H E N 3 0 2 8 : P R I N T - - P R I N T E M *2 9 = G O T O 1 8 3 0 G O S U B 3 6 3 1 P O K E 4 2 , P E E K < 5 > : P O K E 4 3 , P E E K 5 3 > - 13 2 C L 3 3 0 G O S U B 4 3 3 4 L O R D P * , 83 5 E N 3 6 R E S f l V E P I T f l P E B U F F E R3 7 P O K E 8 2 ? , L E N < P * > - f l = 8 2 83 8 F O 1 = T L E N < P * >3 9 P O K E f l f l S C M I D * P * 1 , > 4 0 - f l = f l + l4 1 0 N E X T4 2 R E T U R N4 3 R E G E P F R O M T f l P E B U F F E R4 4 P $ = " " : f l = 8 2 84 5 F O 1 = T P E E K ( 8 2 7 >4 6 : P $ = P * + C H R $ < P E E K < f 4 7 : f l = f l + l4 8 N E X T4 9 0 R E T U R N5 0 R E C H E C K D I S K E R R O R S5 1 E = 5 2 I N P U T # 1 5 , E N , E M $ , E T , E S5 3 I E N = 8 T H E N R E T U R N5 4 E = 5 5 R E T U R N

1 1

Page 123: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 123/260

V a r i a b l e - F i e l d - L e n g t hR a n d o m A c c e s s F i l e s O

T h 2 0 4 0 D i s k D r i v eP e t e r S p e n c e r

s o p h i s t i c a t e d t e c h n i q u e t m a k e t h m o s t o y o u r 2 0 4 0 ' s r a n d o m a c c e s sc a p a b i l i t i e s .

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

T h i s p r o g r a m s h o w s h o t o w r i t e v a r i a b l e f i e l d l e n g t h r a n d o ma c c e s s f i l e s o t h 2 0 4 0 d i s k d r i v e . T h d e n s i t y o p a c k i n g i t r u l ya m a z i n g . C o m p a r e i t t h d e n s i t y a c h i e v e d b y a n y f i x e d l e n g t hp r o g r a m y o h a v e , i n c l u d i n g t h e l e n g t h y r e l a t i v e r e c o r d p r o g r a m i t h 2 0 4 0 U s e r ' s M a n u a l .

T h w r i t i n g t d i s k i d o n e i l i n e s 4 t 7 7 a n t h r e t r i e v a lf r o m d i s k i i l i n e s 8 t o 1 0 6 . T h r e s t o t h p r o g r a m i d r i v e rr o u t i n e p a t c h e d o f r o m l o n g e r p r o g r a m o m i n e .

F o t h i s s a m p l e p r o g r a m , h a v e u s e d t h l i n e n u m b e r a t h k e f o e a c h f i e l d . Y o c a e a s i l y u s s o m e o t h e r k e y , a n h a v em o r e t h a n o n e f i e l d p e k e y . I n t h a t c a s e , y o u m u s t c h a n g e t h o u t p u t t t h k e f i l e ( l i n e s 7 1 - 7 7 ) s o t h a t i c o n t a i n s t h e n u m b e r o k e y s u s e d , e a c h k e y , t h n u m b e r o f i e l d s f o t h a t k e ( i v a r i a b l e ) ,a n t h t r a c k , s e c t o r , a n b u f f e r p o i n t e r s f o e a c h f i e l d w i t h i n t h a tk e y . L i n e s 8 8 - 9 5 w o u l d h a v e t b s i m i l a r l y c h a n g e d .

Y e s , y o r e a d t h a b o v e c o r r e c t l y , y o c a n e v e n h a v ev a r i a b l e n u m b e r o f i e l d s p e k e y ! S u c h a v a r i a b l e f i e l d n u m b e r ,v a r i a b l e f i e l d l e n g t h p r o g r a m c a b o f c o n s i d e r a b l e u s i y o u w a n tt s t o r e a b s t r a c t s , t e s t q u e s t i o n s , c r i t e r i o n - r e f e r e n c e d t e s t q u e s t i o n s( u s i n g t h c r i t e r i o n o i n s t r u c t i o n a l o b j e c t i v e c o d e " n u m b e r " a t h k e y ) , o p a r t s i n v e n t o r y ( y o u c o u l d u s e t h e m a c h i n e n a m e a t h k e y , a n e a c h p a r t a f i e l d , w i t h s u b f i e l d s f o r c o s t , p r i c e , o o n h a n d , b a c k o r d e r e d , a n s f o r t h ) .

T h d r i v e r r o u t i n e h a v e u s e d c a b c o n s i d e r a b l y s h o r t e r i y o w i s h t u s r e g u l a r i n p u t r a t h e r t h a n t h b u l l e t - p r o o f a n h y p h e n a t i o n - p r o o f f o r m p r o v i d e d i n l i n e s 1 1 8 - 1 3 3 . T h e r e , l i n e -o v e r r u n o i n p u t f r o m t h k e y b o a r d ( d e t e c t e d i n l i n e 1 2 5 ) r e s u l t s i t h e n t i r e w o r d b e i n g r e m o v e d t t h n e x t c o n s e c u t i v e l i n e

1 1

Page 124: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 124/260

( a c c o m p l i s h e d i l i n e s 1 2 8 - 1 3 3 a n 1 1 9 ) .

C L P R I N T " f i x V A R I A B L E F I E L D L E N G T H F I L E S O N

- . T H E 2 0 4 0 f ^ P E T E R S P E N C E R "G O S U B 1 0 8 : M K = 0 : L L = 8 0D I M P A ( 3 0 0 ) : D I M T A ( 3 0 0 ) : D I M S A ( 3 0 0 )N L S = 1 : D = 0 : F = 0 : X = 0 : Y = 0 : T = 0S P $ = "

-

M $ = C H R $ ( 1 3 )S $ = n i l : Z $ = f l f l : I N $ = l f l l : D I M A $ ( 3 0 0 ) : O P E N l 5 f 8 - . 1 5R E M : P R O G R A M E N T R Y

1 P R I N T " f i x S f T A R T N E W F I L E f O n W r O R K O - i O L D F I L E ? "

1 G O S U B 3 31 P R I N T n N A M E O F I L E " ; : G O S U B 1 1 9 :

- , A $ ( 1 ) = I N $1 I F S $ = l f S M T H E N G O T O 2 21 G O T O 8 31 R E M : S H O W F I L E E N T R I E S1 F O R K = 1 T O N L S S T E P 1 5 : F = K : D = K + 1 41 F O R I = F T O D : P R I N T I ; T A B ( 6 ) ; A $ ( I ) : N E X T I1 8 P R I N T " J i t l ; S P $ ; S P $ ; S P $1 P R I N T " J i r S r C R O L L N E X T 1 L I N E S , O -

- i H E f X I T ? I I ; : G O S U B 3 3 : I F S $ = " E " T H E N K = N L S2 P R I N T " B t W ; : N E X T K2 R E M : S H O W M E N U2 P R I N T " f i n ; S P $ ; S P $ ; S P $2 P R I N T " J m R f E A D I N x O r U T P U T , r T f Y P E f " 2 P R I N T " x S r C R O L L f " 2 P R I N T " x E r X I T ? " ; : G O S U B 3 32 I F S $ = " E f l T H E N 7 92 7 I F S $ = I I T t I G O T O 1 1 02 I F S S = " O f I G O T O 4 22 I F S $ = M R " G O T O 8 33 I F S $ = f l S l l T H E N P R I N T " R ^ ^ " ; : G O T O 1 63 G O T O 2 23 R E M : G E U T I L I T Y3 G E T S $ : I F S $ = " " T H E N 3 33 P R I N T S $ : R E T U R N3 R E M : R E A D E R R O R C H A N N E L3 I N P U T # 1 5 f E N $ f E M $ , E T $ f E S $3 I F E N $ = " 0 0 " T H E N R E T U R N3 P R I N T n E R R O R O N D I S K "3 P R I N T E M $ ; E N $ r E T $ , E S $4 C L O S E 6 : C L O S E 7 : C L O S E 1 5 : E N D4 R E M : O U T P U T R O U T I N E4 I F M K O 0 T H E N 4 64 P R I N T " I N S E R T D I S K I L E F T D R I V E T Y P E -

i G O " ; : G O S U B 3 3

1 1

Page 125: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 125/260

B e y o n d T i i e B A S I C S

4 P R I N T # 1 5 f " 1 1 "4 O P E N 6 f 8 , 6 f " # " : G O S U B 3 54 P R I N T f I T H E R E A R E " ; N L S ; " E N T R I E S " : M K = 14 P R I N T " S T O R E F R O M " ; : G O S U B 1 1 9 : X = V A L ( I N $ )

- . : P R I N T " T O " 4 G O S U B 1 1 9 : Y = V A L ( I N $ )4 I = 5 R E M : A L L O C A T E B L O C K5 T = 1 : S = 05 P R I N T # 1 5 , " B - A " ; 1 ; T ; S5 I N P U T # 1 5 , E N ? , E M $ , E T $ , E S $5 I F E N $ = " 0 0 " T H E N 5 75 I F E N $ = " 6 5 " T H E N T = V A L ( E T $ ) : S = V A L ( E S $ ) :

- . G O T O 5 25 G O T O 3 85 B P = 15 P R I N T # 1 5 r " B - P : " 6 ; B P : G O S U B 3 55 P R I N T # 6 f A $ ( I ) ; M $ ; : G O S U B 3 5 : P R I N T I ; A $ ( I ) ;

- , T ; S ; B P6 P A ( I ) = B P : T A ( I ) = T : S A ( I ) = S6 B P = B P + L E N ( A $ ( I ) ) + 16 I F ( L E N ( A $ ( 1 + 1 ) ) + 1 + B P ) > 2 5 5 T H E N 6 76 1 = 1 + 16 I F K = Y T H E N 5 86 P R I N T # 1 5 , " U 2 : " 6 ; 1 ; T ; S : G O S U B 3 56 C L O S E 6 : G O T O 7 26 P R I N T # 1 5 , " U 2 : " 6 ; 1 ; T ; S : G O S U B 3 56 1 = 1 + 16 I F K = Y T H E N 5 07 C L O S E 67 R E M : O U T P U T K E F I L E , O V E R W R I T I N G O L

- . K E Y F I L E I N E C E S S A R Y7 O P E N 7 , 8 , 7 , " @ 1 : " + L E F T $ ( A $ ( 1 ) + S P $ ,

- . 1 0 ) + " . K E Y 0 1 , S , W " : G O S U B 3 57 P R I N T # 7 f N L S ; M $ ; : G O S U B 3 57 F O R I = 1 T O N L S7 P R I N T # 7 f T A ( I ) ; M $ ; S A ( I ) ; M $ ; P A ( I ) ; M $ ; :

i G O S U B 3 57 N E X T I7 C L O S E 7 : G O S U B 3 57 R E M : E X I T P R O G R A M7 P R I N T " S H U T D O W N ? " ; : G O S U B 3 38 I F S $ = " N " G O T O 2 28 C L O S E 6 : C L O S E 7 : C L O S E 1 5 : E N D8 R E M :8 P R I N T " r R E A D K E Y S A N F I L E F R O M D I S K "8 I F M K O 0 T H E N 8 78 P R I N T " I N S E R T D I S K I L E F T D R I V E T Y P E

- i G O " ; : G O S U B 3 38 P R I t i T # 1 5 , " I 1 " : M K = 18 O P E N 7 , 8 7 , " 1 : " + L E F T $ ( A $ ( 1 ) + S P $

- , 1 0 ) + " . K E Y 0 1 f S f R " : G O S U B 3 5

1 1

Page 126: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 126/260

8 I N P U T # 7 , N L S : R S = S T : G O S U B 3 58 P R I N T " ^ N L S = " ; N L S9 P R I N T " T S B P 9 F O R I = 1 T O N L S9 I N P U T # 7 f T A ( I ) , S A ( I ) , P A ( I ) : R S = S T : G O S U B 3 59 P R I N T I ; T A ( I ) ; S A ( I ) ; P A ( I )9 N E X T I9 C L O S E 7 : G O S U B 1 0 89 R E M : R E A D F I L E9 O P E N 6 , 8 , 6 , " # " : G O S U B 3 59 F O R I = 1 T O N L S9 P R I N T # 1 5 , " U 1 : " 6 ; 1 ; T A ( I ) ; S A ( I ) : G O S U B 3 51 0 P R I N T # 1 5 f " B - P : " 6 ; P A ( I )1 0 G O S U B 3 51 0 I N P U T # 6 f A $ ( I ) : G O S U B 3 51 0 I F T A ( I ) = 0 T H E N 1 0 61 0 P R I N T I ; A $ ( I )1 0 N E X T I1 0 C L O S E 6 : G O S U B 1 0 81 0 G O T O 2 21 0 F O R I = 1 T O 1 0 0 0 : N E X T I : R E T U R N : R E M :

- D E L A Y L O O P1 0 9 R E M : T Y P E R O U T I N E1 1 P R I N T " L E N G T H O L I N E ( M A X I M U M = 8 0 ) n ; :

- . Z 9 $ = " 8 0 " : G O S U B 1 1 9 : L L = V A L ( I N $ )1 1 P R I N T " f i r T Y P E N E L I N E S " ; C H R $ ( 1 3 ) ; " ( T Y P

- i ' S T O P 1 T S T O P ) " : P R I N T S P $1 1 D = N L S : I F D > = 5 T H E N F = D - 4 : G O S U B 1 3 5 : G O T O 1 1 41 1 F = 1 : G O S U B 1 3 51 1 P R I N T N L S + l ; C H R $ ( 1 3 ) ; n T " ; T A B ( 4 )1 1 G O S U B 1 1 9 : I F I N $ = " S T O P " T H E N 2 21 1 A $ ( N L S + 1 ) = I N $1 1 N L S = N L S + 1 : G O T O 1 1 11 1 R E M : B U L L E T - P R O O F I N P U T1 1 I N $ = l l l l : I F Z 9 $ O I l l f T H E N P R I N T n ? " ; Z 9 $ ; :

- . P O K E 1 6 7 , 0 : I N $ = Z 9 $ : Z 9 $ = " " : G O T O 1 2 11 2 P R I N T " ? " ; : P O K E 1 6 7 f 01 2 G E T Z $ : I F Z $ = " " T H E N 1 2 11 2 I F Z $ = C H R $ ( 1 3 ) T H E N P R I N T " " : P O K E 1 6 7 , 1 :

- . R E T U R N1 2 I F Z $ = C H R $ ( 2 0 ) T H E N O N S G N ( L E N ( I N $ ) ) + 1 G O T O

- , 1 2 1 , 1 2 71 2 P R I N T Z $ ; : I N $ = I N $ + Z $1 2 I F L E N ( I N $ ) > L L T H E N G O S U B 1 2 8 : P R I N T " "

- i P O K E l 6 7 f l : R E T U R N1 2 G O T O 1 2 11 2 P R I N T Z $ ; : I N $ = M I D $ ( I N $ f l f L E N ( I N $ ) - l ) :

- . G O T O 1 2 11 2 F O R Z 9 = L E N ( I N $ ) T O 1 S T E P - 11 2 I F M I D $ ( I N $ , Z 9 , 1 ) < > " " T H E N 1 3 31 3 Z 9 $ = R I G H T $ ( I N $ , L E N ( I N $ ) - Z 9 )1 3 I N $ = L E F T $ ( I N $ , Z 9 - 1 )

1 2

Page 127: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 127/260

1 3 2 Z 9 = l1 3 N E X T Z 9 : R E T U R N1 3 4 R E M : S C R E E N D I S P L A Y1 3 F O R I = F T O D : P R I N T I ; T A B ( 6 ) ; A $ ( I ) : N E X T I :

i R E T U R NR E A D Y .

1 2

Page 128: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 128/260

B e y o n d T h B A S I C S

P E T / C B M F r o n t P a n e lB o y d R a y

H e r e i n o v e l t y p r o g r a m f o a l P E T / C B M o w n e r s . I d i s p l a y s , i r e a l t i m e , t h b i n a r y v a l u e o f t h e d a t a i s i x t e e n u s e r - s e l e c t e dm e m o r y l o c a t i o n s . T h d i s p l a y i p l a c e d o t h u p p e r p a r t o t h s c r e e n a n i u p d a t e d s i x t y t i m e s s e c o n d g i v i n g a f r o n t p a n e le f f e c t . T h c u r s o r i e x c l u d e d f r o m t h i s f i e l d .S i x t e e n a r b i t r a r y m e m o r y l o c a t i o n s h a v e b e e n s e l e c t e d f o i n s p e c t i o n . Y o m a c h a n g e t h e m a o f t e n a y o w i s h b r e v i s i n gt h d a t a o t h f i r s t t h r e e d a t a l i n e s a n r e - r u n n i n g t h e p r o g r a m .P r e f i x f o u r - c h a r a c t e r h e x a d e c i m a l l o c a t i o n s w i t h u $ . "

P r o g r a m w i l l r u o a l P E T / C B M m a c h i n e s i n c l u d i n g t h 8 0 X X . T a k e e x t r a c a r e w h e n t y p i n g t h p r o g r a m a n b s u r e t o s a v ei b e f o r e a t t e m p t i n g t r u i t T h m a c h i n e c o d e i s e l f - m o d i f y i n ga n i l o c a t e d j u s t b e l o w s c r e e n m e m o r y .

W h e n y o h a v e c h e c k e d t h l i s t i n g c o u p l e o f t i m e s a n y o a r e c e r t a i n i i r i g h t , r u t h p r o g r a m . I i w o r k s a n y o u r" b l i n k i n g l i g h t s " f r o n t p a n e l i b l i n k i n g a i s h o u l d b e j o d o w nt h S Y v e c t o r s f o l a t e r u s e . N o p r e s s f e k e y s a n o b s e r v e t h ec h a n g e s i t h d a t a o s h o w j u n i o r h o t h c l o c k c o u n t s i b i n a r y .Y o m i g h t w a n t t r e f e r t y o u r f a v o r i t e m e m o r y m a f r o m h e r e o n N o t r t h e s e d i r e c t c o m m a n d s :

P O K E 5 9 4 6 7 , 1 6 : P O K E 5 9 4 6 6 , 1 5F O R I = 0 T O 2 5 5 : P O K E 5 9 4 6 4 , I : F O R ] l t o 2 5 : N E X T J , I

W a t c h t h s h i f t r e g i s t e r i n a c t i o n . T r d i f f e r e n t v a l u e s i l o c a t i o n5 9 4 6 6 a n o b s e r v e t h c h a n g e i w a v e s h a p e .

W h e n y o u V e h a y o u r f i l l o t h i s s o r t o t h i n g , c h a n g e t h v a l u e s o t h f i r s t t h r e e d a t a l i n e s t 8 2 6 t h r o u g h 8 4 a n a d l i n e1 1 0 ;

1 1 P O K E 8 2 6 + 1 6 * R N D ( 1 ) , 2 5 6 * R N D ( 1 ) : G O T O 1 1 N o r e - r u n t h p r o g r a m . T h i s c a u s e s " d o n o t h i n g " r a n d o m

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

I y o p r e f e r T a n 0 ' i y o u r d i s p l a y , c h a n g e t h 8 a n 8 o d a t a l i n e 1 3 t 4 a n 4 b e f o r e s a v i n g t h p r o g r a m . I t h p r o g r a m i r u n n i n g , P O K E ( t h e d i s a b l e v e c t o r + 1 3 3 ) w i t h 4 a n P O K E ( t h e d i s a b l e v e c t o r + 1 3 8 ) w i t h 4 8 T h i s i r i s k y !

O b s e r v e t h a t C P s p e e d i r e d u c e d c o n s i d e r a b l y , ( a m u c h a 5 0 o t h 2 0 X X P E T s ) . T h i s w i l l b o n c o n c e r n i t h p r o g r a m1 2

Page 129: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 129/260

B e y o n d T h B A S I C S

i u s e d s o l e l y f o r e n l i g h t e n m e n t . Y o m a c l e a r t h s c r e e n , l i s t t h p r o g r a m a n e v e n N E t h p r o g r a m a n u s y o u r o w n . J u s tr e m e m b e r t h S Y v e c t o r s a n b s u r e t h a t t h e d i s p l a y e d b y t e s a r t h o n e s y o w a n t t o b s e r v e b e f o r e N E W i n g .

P l e a s e n o t e t h a t w h e n " F r o n t P a n e l " i e n a b l e d , s c r e e n a r e aa v a i l a b l e t o t h u s e r i r e d u c e d t o 1 6 l i n e s ( 2 o t h 8 0 X X ) . I y o u rp r o g r a m ' s f o r m a t r e l i e s o f u l l s c r e e n t h e n s o m e u n d e s i r e ds c r o l l i n g w i l l p r o b a b l y r e s u l t .

R E M P E T / C B M F R O N T P A N E L B Y B O Y D R A R E M O S T B E T O T A L O 1 D A T A I T E M SR E O T H R E E L I N E S T H A T F O L L O W 1D A T A 5 , $ E 8 1 1 , 1 4 2 , $ E 8 1 2 , 1 4 3D A T A $ E 8 4 4 , 1 6 6 f $ E 8 4 5 , 1 6 8 , 5 9 4 6 4D A T A $ 0 0 3 6 , 5 9 4 6 5 , 1 9 8 , 5 9 4 6 6 , 2 1 6 , 5 9 4 6 7R E I U S I N G ' O L D R O M S ' , C H A N G E D A T AR E T 9 0 , 1 4 2 T O 5 1 3 , 1 4 3 T 5 1 4 ,R E 1 6 T 5 4 7 , 1 6 8 T O 5 4 9 , $ 0 0 3 6 T

1 R E M 1 3 6 , 1 9 8 T 2 2 6 , A N D 2 1 T 2 4 1 R E O N D A T A L I N E S A B O V E1 I F P E E K ( 1 0 1 4 ) = 1 T H E N 2 51 P V = 1 + P E E K ( 5 0 0 0 3 ) : I F P V = 1 6 1 T H E N P V = 31 I F P E E K ( 5 7 3 4 4 ) = 7 6 T H E N P V = 41 A = 1 3 4 : B = 1 3 5 : I F P V > 1 T H E N A = 5 2 : B = 5 31 P O K E 1 0 1 5 , P V : P O R E 1 0 1 6 , A : P O K E 1 0 1 7 , B2 H I M E M = P E E K ( A ) + P E E K ( B ) * 2 5 62 P O K E 5 9 4 6 8 f 1 2 i I F P E E K ( H I ) = 1 2 0 T H E N 2 82 A D * H I M E M - 6 4 2 : G O S U B 1 4 52 P O K E A , L : P O K E B , H s C L R2 P V = P E E K ( 1 0 1 5 ) : A = P E E K ( 1 0 1 6 ) : B = P E E K ( 1 0 1

V 7 2 H I M E M « P E E K ( A ) + P E E K ( B ) * 2 5 62 D I S A B L E = H I M E M : E N A B L E = D I S A B L E + 3 22 I F P E E K ( H I ) = 1 2 0 T H E N S Y S ( D I S A B L E )2 A $ = " A D D R E S S D A T A 0 " : S $ = "3 P R I N T n f i " ; A $ ; S $ | : I F P V = 4 T H E N P R I N T A $ ; S $ |3 I F P V = 4 T H E N P R I N T A $ ; S $ ;3 C $ = " 0 1 2 3 4 5 6 7 8 9 A B C D E F " : P R I N T A $3 A M = H I M E M + 1 7 9 : F O R I = 0 T O 1 5 : R E A D A D D R $3 A D D R $ = R I G H T $ ( " " + A D D R $ , 6 )3 A D = V A L ( A D D R $ ) : G O S D B 1 4 63 P O K E A M + I * 4 , L : P O K E A M + I * 4 + 1 , H3 P R I N T A D D R $ ;3 P R I N T " » » » » » » » " ; : N E X T4 P R I N T : I « 0 : I F P E E K ( H I ) = 1 2 0 T H E N 1 6 04 R E A D B Y T E $ : I F B Y T E $ = " ! " T H E N 5 64 B Y T E « V A L ( B Y T E $ ) : I $ = R I G H T $ ( B Y T E $ , 1 )4 I F I $ O " * " T H E N 5 45 A D = H I M E M + B Y T E : G O S U B 1 4 55 P O K E H I M E M + I , L : 1 = 1 + 1 : P O K E H I M E M + I , H5 1 = 1 + 1 : G O T O 4 45 P O K E H I M E M + I , B Y T E : 1 = 1 + 1 : G O T O 4 45 T A = H I + 1 7 7 : F O R I = 0 T O 1 5 : R E A D D : A D = H I + D5 G O S D B 1 4 5 : P O K E T A + I * 4 , L : P O K E T A + 1 + I * 4 , H5 N E X T : A D = H I M E M + 4 5 : G O S D B 1 4 5

1 2

Page 130: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 130/260

5 P O R E H I + 3 4 , L : P O R E H I + 3 9 , H6 I F P V = 4 A N D D = 5 8 9 T H E N 5 66 I F P V = 1 T H E N 1 6 0 : R E M I 2 0 X X6 P O K E H I + 2 , 4 6 : P O K E H I + 1 5 6 f 4 6 : P O R E H I + 4 r

- i l 4 46 P O R E H I + 3 6 , 1 4 4 : P O R E H I + 5 , 0 : P O R E H I + 1 0 , 06 P O R E H I + 3 7 , 0 : P O K E H I + 4 2 , 0 : P O R E H I + 9 , 1 4 56 P O R E H I + 4 1 r 1 4 5 : F O R I = 4 7 T O 4 9 : P O R E H I + I ,

- , 2 3 46 N E X T I : P O R E H I + 1 4 3 , 2 1 6 : P O R E H I + 1 5 1 , 2 1 66 P O R E H I + 1 5 3 , 9 3 : P O R E H I + 1 5 4 , 2 2 67 I P P V = 2 T H E N 1 6 0 : R E M I 3 0 X X7 P O R E H I + 2 8 5 : P O R E H I + 7 , 2 2 8 : P O R E H I + 1 5 3 ,

- » 1 2 77 P O R E H I + 1 5 4 , 2 2 4 : P O R E H I + 1 5 6 , 8 57 P O R E H I + 1 5 7 f 2 2 87 I F P V = 3 T H E N 1 6 0 : R E M I 4 0 X X7 P O R E H I + 1 4 5 , 5 : P O R E H I + 1 4 9 , 57 P O R E H I + 2 2 , 2 0 0 : P O R E H I + 2 9 , 2 0 07 P O R E H I + 6 0 , 2 0 0 : P O R E H I + 6 4 , 2 0 07 A D = H I + 4 4 1 : G O S U B 1 4 5 : P O R E H I + 2 5 , L7 P O R E H I + 2 6 , H : P O R E H I + 5 7 , L : P O R E H I + 5 8 , H8 P O R E H I + 1 5 3 , 1 0 3 : G O T O 1 6 0 : R E H I 8 0 X X1 2 D A T A 1 2 0 f 1 6 9 , 1 3 3 , 1 4 1 , 2 5 , 2 , 1 6 9 , 2 3 0 / 1 4 11 2 D A T A 2 6 , 2 , 8 8 , 9 6 , 1 6 2 , 0 , 1 8 9 , 0 , 1 2 8 , 1 5 71 2 D A T A 2 4 1 * , 1 8 9 , 1 8 0 , 1 2 8 , 1 5 7 , 4 2 1 * , 2 3 21 2 D A T A 2 2 4 , 1 8 0 , 2 0 8 , 2 3 9 , 1 2 0 , 1 6 9 , 0 , 1 4 1 , 2 51 2 D A T A ? , 1 6 9 , 0 , 1 4 1 , 2 6 , 2 , 8 8 , 9 6 , 1 6 2 , 0 , 3 21 2 D A T A 1 5 8 * , 1 8 9 , 2 4 1 * , 1 5 7 , 0 , 1 2 8 , 1 8 9 , 4 2 1 *1 2 D A T A 1 5 7 , 1 8 0 , 1 2 8 , 2 3 2 , 2 2 4 , 1 8 0 , 2 0 8 , 2 3 61 2 D A T A 1 6 2 , 0 , 1 8 9 , 1 7 7 * , 1 3 3 , 1 , 2 3 2 , 1 8 91 2 D A T A 1 7 7 * , 1 3 3 , 2 , 2 3 2 , 1 8 9 , 1 7 7 * , 1 4 1 , 9 6 *1 2 D A T A 2 3 2 , 1 8 9 , 1 7 7 * , 1 4 1 , 9 7 * , 2 3 2 , 1 7 3 f 0 , 01 3 D A T A 1 4 1 , 1 7 6 * , 1 6 0 , 0 , 1 8 5 , 1 6 8 * , 4 4 , 1 7 6 *1 3 D A T A 2 4 0 , 6 , 3 2 , 1 3 2 * , 7 6 , 1 2 0 * , 3 2 , 1 3 7 *1 3 D A T A 2 0 0 , 1 9 2 , 8 , 4 8 , 2 3 4 , 2 2 4 , 6 4 , 4 8 , 1 9 61 3 D A T A 7 6 , 1 4 2 * , 1 6 9 , 8 1 , 1 4 5 , 1 , 9 6 , 1 6 9 , 8 71 3 D A T A 7 6 , 1 3 4 * , 1 6 5 , 2 4 5 , 2 0 1 , 9 , 1 7 6 , 7 , 1 0 51 3 D A T A 9 , 1 3 3 , 2 4 5 , 3 2 , 2 1 9 , 2 2 9 , 7 6 , 1 3 3 , 2 3 01 3 D A T A 1 7 3 , 6 4 , 2 3 2 , 7 3 , 3 2 , 4 1 , 3 2 , 2 4 0 , 2 4 71 3 D A T A 9 6 , 1 2 8 , 6 4 , 3 2 , 1 6 , 8 , 4 , 2 , 1 , 2 5 5 , 11 3 D A T A 2 8 9 , 3 0 9 , 3 2 9 , 3 4 9 , 3 6 9 , 3 8 9 , 4 0 9 , 4 2 91 3 D A T A 4 4 9 , 4 6 9 , 4 8 9 , 5 0 9 , 5 2 9 , 5 4 9 , 5 6 9 , 5 8 91 4 D A T A 3 2 9 , 3 4 9 , 3 6 9 , 3 8 9 , 4 0 9 , 4 2 9 , 4 4 9 , 4 6 91 4 D A T A 4 8 9 , 5 0 9 , 5 2 9 , 5 4 9 , 5 6 9 , 5 8 9 , 6 0 9 , 6 2 91 4 H = I N T ( A D / 2 5 6 ) : L = A D - H * 2 5 6 : R E T U R N1 4 I F M I D $ ( A D D R $ , 2 , l ) O n $ " T H E N 1 4 51 4 D = 0 : F O R J = 1 T O 4 : F O R R = 1 T O 1 61 4 I F M I D $ ( A D $ , J + 2 , 1 ) O M I D $ ( C $ , R ,

- i l ) T H E N 1 5 01 4 C = R - 1 : R = 1 61 5 N E X T R : D = ( D + C ) * 1 6 : N E X T J : A D = D / 1 61 5 G O T O 1 4 51 6 S Y S ( H I + 1 3 )1 7 I F P E E R ( 1 0 1 4 ) = 1 T H E N 2 0 01 8 P R I N T n S Y S ( B ; D I ; " ) D I S A B L E S / S Y S ( " ;1 9 P R I N T E N ; n ) E N A B L E S " : P O R E l 0 1 4 , l2 0 R E M S T A R T O U S E R P R O G R A M

R E A D Y .

1 2

Page 131: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 131/260

Page 132: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 132/260

G r a p h i c s

L o w e r C a s e D e s c e n s i o nO T h C o m m o d o r e2 0 2 2 P r i n t e r

W . M . B u n k e rT h p r o g r a m m a b i l i t y o f t h e p r i n t e r m a k e s i p o s s i b l e t d j u s ta b o u t a n y t h i n g y o u w a n t w i t h i t f r o m l i s t i n g p r o g r a m t p l o t t i n g .I ' m e n c l o s i n g o n e x a m p l e . T h l o w e r c a s e l e t t e r s o t h p r i n t e r a r em a d e a s h o w n o t h f i r s t t w l i n e s a t t h b o t t o m o f t h e l i s t i n g .T h i s i c o m m o n o d o m a t r i x p r i n t e r s m G e n e r a l E l e c t r i cT e r m i n e t 3 0 a w o r k , f a m o r e e x p e n s i v e t h a n t h e 2 0 2 2 , d o e s t h i s .

O t h e 2 0 2 2 , i y o d o n ' t l i k e t h e i r l o w e r c a s e l e t t e r s , y o c a m a k e y o u r o w n . T h e s e a r s h o w n b e l o w t h o r i g i n a l v e r s i o n . T h p r o g r a m l i s t e d p r o d u c e s t h i m p r o v e d l e t t e r s . F o r e a c h l i n e t b p r i n t e d , d e f i n e i a P $ t h e n G O S U B 5 0 0 0 , a n p r i n t i n g a s h o w nw i l l r e s u l t .

1 0 D I M L N ( 6 ) : L N ( 2 ) = 7 1 : L N ( 3 ) = 7 41 1 L N ( 4 ) = 8 0 : L N ( 5 ) = 8 1 : L N ( 6 ) = 8 91 2 D I M P P $ ( 6 ) : S P $ = n n : S T $ = n n1 3 O P E N 3 r 4 : O P E N 5 f 4 f 5 : O P E N 6 f 4 f 61 4 D A T A 0 , 0 , 0 , 6 4 , 0 , 01 5 D A T A 5 7 r 6 9 , 6 9 , 6 3 , 0 f 01 6 D A T A 2 , l , l f 1 2 6 f 0 f 01 7 D A T A l 2 7 f 6 8 r 6 8 f 5 6 f 0 , 01 8 D A T A 5 6 f 6 8 , 6 8 r 1 2 7 f 0 f 01 9 D A T A l 2 0 , 5 f 5 f 1 2 6 f 0 f 02 0 F O R I = 1 T O 6 : P P $ ( I ) = S T $2 1 F O R J = 1 T O 6 : R E A D A2 2 P P $ ( I ) = P P $ ( I ) + C H R $ ( A )2 3 N E X T J : N E X T I2 4 A $ = n T [ D N ] H E Q U I C K B R O W N F O J U M P E D "2 5 A $ = A $ + n O V E R T H L A Z Y D O G ' S B A C K . "2 6 B $ = n J [ D N ] J J [ U P ] G [ D N ] G G [ U P ] Q [ D N ] n2 7 B $ = B $ + " Q Q [ U P ] Y [ D N ] Y Y [ U P ] P [ D N ] P P . n2 8 P R I N T # 3 f A $ : P R I N T # 3 , B $2 9 P $ = A $ : G O S U B 3 3 03 0 P $ = B $ : G O S U B 3 3 03 1 C L O S E 33 2 E N 3 3 K L = 0 : L L = L E N ( P $ )

1 2

Page 133: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 133/260

3 4 P R I N T # 5 , P P $ ( 1 ) : Q $ = S T $3 5 F O R I = 1 T O L L3 6 C C $ = M I D $ ( P $ , I , 1 ) : C C = A S C ( C C $ )3 7 I F C C = 1 4 5 T H E N K L = 0 : G O T O 4 6 03 8 I F C C = 1 7 T H E N K L = 1 : G O T O 4 6 03 9 I F K L = 0 G O T O 4 6 04 0 I F C C = 7 1 T H E N Q $ = Q $ + S P $ : G O T O 4 7 04 1 I F C C = 8 0 T H E N Q $ = Q $ + S P $ : G O T O 4 7 04 2 I F C C = 8 1 T H E N Q $ = Q $ + S P $ : G O T O 4 7 04 3 I F C C = 8 9 T H E N Q $ = Q $ + S P $ : G O T O 4 7 04 4 I C < > 7 4 G O T O 4 6 4 5 Q Q C H R $ ( 2 5 4 ) : G O T O 4 7 4 6 Q $ = Q $ + C C $4 7 N E X T4 8 P R I N T # 6 f C H R $ ( 5 )4 9 P R I N T # 3 , Q $5 0 F O R L = 2 T O 6 : P R I N T # 5 , P P $ ( L )5 1 Q $ = S T $ : K L = 05 2 F O R I = 1 T O L L5 3 C C $ = M I D $ ( P $ , I , 1 ) : C C = A S C ( C C $ )5 4 I F C C = 1 4 5 T H E N K L = 0 : G O T O 5 9 05 5 I F C C = 1 7 T H E N K L = 1 : G O T O 5 9 05 6 I F K L = 0 O R C C O L N ( L ) G O T O 5 8 05 7 Q $ = Q $ + C H R $ ( 2 5 4 ) : G O T O 5 9 05 8 Q $ = Q $ + S P $5 9 N E X T6 0 P R I N T # 3 , Q $ ; C H R $ ( 1 4 1 ) ;6 1 N E X T6 2 P R I N T # 6 f C H R $ ( 1 9 )6 3 P R I N T # 36 4 P R I N T # 6 f C H R $ ( 2 4 )6 5 R E T U R N

1 2

Page 134: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 134/260

P l o t t i n g W i t h T h 2 0 2 2 P r i n t e rJ o h n W i n n

T h s p e c i a l f e a t u r e s o t h 2 0 2 2 p r i n t e r m a k e f o s o m e s u r p r i s i n ga p p l i c a t i o n s . H e r e ' s r e m a r k a b l e a n u s e f u l o n e .

I t h J a n u a r y / F e b r u a r y i s s u e o C O M P U T E ! , L e L i n d s a ym e n t i o n e d u s i n g t h e C o m m o d o r e M o d e l 2 0 2 2 T r a c t o r F e e d P r i n t e rf o p l o t t i n g a p p l i c a t i o n s . H p o i n t e d o u t h a t t h e a b i l i t y t v a r y t h el i n e s p a c i n g i t h i s p r i n t e r a l l o w s a h i g h d e g r e e o f v e r t i c a lr e s o l u t i o n . I s o m e w h a t u n r e l a t e d a r t i c l e i t h s a m e i s s u e , W . M .B u n k e r s h o w e d h o t h u s e r - d e f i n e d c h a r a c t e r , C H R $ ( 2 5 4 ) , c o u l dg e n e r a t e a t t r a c t i v e l o w e r c a s e l e t t e r s w i t h d e s c e n d i n g t a i l s . H a l s om e n t i o n e d t h p l o t t i n g p o s s i b i l i t i e s o t h i s p r i n t e r . T h i s a r t i c l e p u t sb o t h i d e a s t o g e t h e r t h v a r i a b l e l i n e s p a c i n g a n t h u s e r - d e f i n e dc h a r a c t e r t p r o d u c e p l o t t i n g s u b r o u t i n e o s u r p r i s i n g l y h i g hr e s o l u t i o n .

T h l o g i c b e h i n d t h i s s u b r o u t i n e ( w h i c h i a c t u a l l y s e o s u b r o u t i n e s ) i t i n c r e a s e r e s o l u t i o n f r o m t h a t g i v e n b t h e h e i g h to l i n e a n t h w i d t h o s p a c e t t h a t o s i n g l e p r i n t e r m a t r i xd o t . I t h w a w i l l d e s c r i b e t h s u b r o u t i n e , w i l l h a v e i m i n dg r a p h o c o m p u t e d v a l u e s o s o m e f u n c t i o n , s u c h a S I ( X ) . I t h s e c o n d p a r t o f t h e a r t i c l e , w i l l s h o w h o d a t a v a l u e s c a n b ep l o t t e d p o i n t b p o i n t , h o b a r g r a p h s c o u l d b e g e n e r a t e d , a n h o m o r e g e n e r a l i z e d g r a p h i c s c o u l d b d o n e .

T h i n k a b o u t h o y o w o u l d g r a p h t h e f u n c t i o n S I ( X b h a n d . Y o w o u l d f i r s t d e c i d e w h i c h d i r e c t i o n o y o u r g r a p h p a p e rw o u l d b i t h d i r e c t i o n , a n w h i c h t h d i r e c t i o n . F o u s t h

d i r e c t i o n w i l l i n c r e a s e d o w n t h p a g e a t h p r i n t e r p a p e ra d v a n c e s , a n t h d i r e c t i o n w i l l i n c r e a s e a c r o s s t h p a g e , i t h d i r e c t i o n o t h p r i n t h e a d m o t i o n . N o r m a l l y , y o w o u l d h o l d t h g r a p h p a p e r s t h a t i n c r e a s e s f r o m l e f t t r i g h t a n i n c r e a s e sf r o m b o t t o m t t o p . O t h p r i n t e r p l o t , t h i s o r i e n t a t i o n i a c h i e v e db t i l t i n g y o u r h e a d t t h r i g h t t h p l o t w i l l b r o t a t e d f r o m t h u s u a l o r i e n t a t i o n a i t i s p r o d u c e d b y t h p r i n t e r .

Y o u r n e x t c h o i c e i p l o t t i n g b h a n d i t p i c k t h m i n i m u ma n m a x i m u m a n v a l u e s t b s p a n n e d b y t h e g r a p h . L e t ' s c a l lt h e s e v a l u e s X N X X Y N a n Y X r e s p e c t i v e l y , i n t h p r o g r a m .Y o w o u l d t h e n d e c i d e h o f r e q u e n t l y t m a r k o f t h t w a x e s

1 2

Page 135: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 135/260

w i t h t i c k m a r k s , a n h o b i t m a k e t h g r a p h ( h o w m u c h o t h g r a p h p a p e r p a g e t u s e ) . F o t h p r i n t e r , w c a c h o o s e t h s i z e o t h g r a p h b s p e c i f y i n g t h n u m b e r o c o l u m n s w i d e f o t h a x i s( v a r i a b l e N Y a n t h n u m b e r o r o w s l o n g f o t h a x i s ( v a r i a b l eN X ) . T h s i z e o t h p a g e l i m i t s N t o m a x i m u m o a b o u t 6 0 f o s t a n d a r d Q V i " X 1 1 " p a g e . T h a x i s c a b a l o n g a y o w a n t( u n t i l y o r u o u o p a p e r ! ) , b u a t h l i n e s p a c i n g u s e d i t h p r o g r a m , o n h a s a b o u t 1 2 l i n e s ( r o w s ) p e p a g e . T i c k m a r k s a r s p e c i f i e d b s t a t i n g t h n u m b e r o c o l u m n s p e t i c k ( v a r i a b l e Y T a n t h n u m b e r o r o w s p e t i c k ( v a r i a b l e X T ) .

Y o u r f i n a l s t e p i n m a k i n g t h g r a p h i t c h o o s e s t a r t i n gv a l u e f o X f i n a l v a l u e f o X a n a i n c r e m e n t f o X T h s m a l l e rt h i n c r e m e n t , t h m o r e p o i n t s y o w i l l h a v e t p l o t . Y o t h e ng e n e r a t e v a l u e s f o S I ( X a e a c h v a l u e , a n p u p o i n t o y o u r g r a p h p a p e r a e a c h ( X , Y ) c o o r d i n a t e . T h h e a r t o f t h e p l o t t i n gs u b r o u t i n e d o e s e x a c t l y t h s a m e t h i n g . G i v e n a n p a i r s o v a l u e s , t h s u b r o u t i n e f i g u r e s o u w h i c h r o w a n d c o l u m n t h e y l i i n a n t u r n s o t h d o i t h e s p a c e w h i c h c o r r e s p o n d s t t h a t ( X , Y )p a i r . O t h p r i n t e r , t h e s p a c i n g b e t w e e n l i n e s i s e s t h a t e a c hr o i s i d o t s t a l l . T h c o l u m n t c o l u m n s p a c i n g i a l s o s i d o t s ,g i v i n g r e s o l u t i o n o a b o u t 1 / 6 0 " . ( T h i s i c o m p a r a b l e t e a r l yd i g i t a l p l o t t e r s w i t h 0 . 0 1 " r e s o l u t i o n ! )

N o l o o k a t h s u b r o u t i n e s . T h f i r s t o n ( l i n e s 6 0 0 0 0 - 6 0 4 0 0 )i c a l l e d v i G O S U B 6 0 0 0 0 o n c e y o u r m a i n p r o g r a m h a e s t a b l i s h e dt h v a l u e s f o s c a l i n g a n s i z e m e n t i o n e d a b o v e ( N Y , N X Y T X T X N X X Y N a n Y X ) . F i r s t , i o p e n s f i l e s f o i t o w c o m m u n i c a t i o n w i t h t h p r i n t e r . S e c o n d a r y a d d r e s s e s 0 5 a n a r n e e d e d t p r i n t , s e t h s p e c i a l c h a r a c t e r , a n s e t h l i n es p a c i n g , r e s p e c t i v e l y . V a r i a b l e s n e e d e d b t h s u b r o u t i n e a r c o m p u t e d o i n i t i a l i z e d , t h Y a n Y v a l u e s a r p r i n t e d o u t s i d et h e g r a p h , t h a x i s i p r i n t e d , a l o n g w i t h t i c k m a r k s , u s i n gg r a p h i c s y m b o l s , t h e l i n e s p a c i n g i s e v i P R I N T # 1 2 C H R $ ( 1 4 ) ,a n t h X v a l u e i p r i n t e d , s e t t i n g u t h f i r s t r o f o p l o t t i n g .T h f i r s t s u b r o u t i n e r e t u r n s a t h i s p o i n t .

Y o u r m a i n p r o g r a m t h e n c o m p u t e s ( X , Y ) p a i r s , o n a t i m e ,i i n c r e a s i n g o r d e r o f X A f t e r e a c h p a i r i c o m p u t e d , y o u r p r o g r a mg o e s t t h m a i n s u b r o u t i n e v i G O S U B 6 1 0 0 0 . T h i s s u b r o u t i n ef i r s t c h e c k s t s e i t h c o m p u t e d p o i n t r e a l l y l i e s w i t h i n t h g r a p hl i m i t s . I n o t , i s i m p l y r e t u r n s . L i n e s 6 1 1 0 0 t 6 1 1 3 0 f i n d o u w h i c hr o ( N R % ) o m a t r i x d o t s c o n t a i n t h p o i n t , ( X , Y ) . T h e s e l i n e s a l s of i n d o u w h i c h p r i n t e r l i n e ( N L % ) w a r d e a l i n g w i t h , a n h o m a n y b l a n k s p a c e s ( N B % ) p r e c e d e t h o n c o n t a i n i n g ( X , Y ) . T h

1 2

Page 136: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 136/260

s p e c i a l c h a r a c t e r i b u i l t u i t h a r r a y C % W h e n e v e r d o a p p e a r s i n n e r o o c o l u m n , t h e c u r r e n t s p e c i a l c h a r a c t e ri p r i n t e d ( l i n e s 6 1 2 0 0 a n 6 1 2 1 0 ) w i t h o u t c a r r i a g e r e t u r n / l i n ef e e d . I w a r s u d d e n l y o n e l i n e , t h a t c o n d i t i o n i s e n s e d ( v i at h v a r i a b l e L L % , s t a n d i n g f o " l a s t l i n e " ) a n t h a x i s b o r d e r s ( a b o t h e n d s o t h g r a p h a n w i t h t i c k m a r k s i r e q u i r e d ) a r p r i n t e dt f i n i s h t h l i n e a n m o v e o t t h n e x t . I i t i s r e c o g n i z e d t h a ts e v e r a l b l a n k l i n e s a r r e q u i r e d b e t w e e n t h l a s t p o i n t a n t h c u r r e n t o n e , t h e s e a r g e n e r a t e d a w e l l ( l i n e s 6 1 2 2 0 t h r o u g h 6 1 3 4 0d a l t h i s ) . T h s u b r o u t i n e c a R E T U R N t g e t h n e x t ( X , Y )v a l u e s a s e v e r a l p o i n t s i t h i s s c h e m e .

F i n a l l y , w h e n a l t h ( X , Y ) p a i r s h a v e b e e n c o m p u t e d , y o u rm a i n p r o g r a m c a l l s t h e t e r m i n a t i o n s u b r o u t i n e v i G O S U B 6 0 5 0 0 .T h i s r o u t i n e f o r c e s p o i n t t b p l o t t e d a ( X = X X , Y = Y X ) t g u a r a n t e e t h a t a n r e m a i n i n g b l a n k l i n e s a p p e a r a t h " e n d " o t h p l o t . T h f i n a l a x i s l a b e l , X X i p r i n t e d o u t , a l o n g w i t h t h " b o t t o m " a x i s b o r d e r ( l i n e s 6 0 5 5 0 - 6 0 7 5 0 ) . T h l i n e s p a c i n g i g r a c i o u s l y r e s e t t t h d e f a u l t v a l u e w i t h t h P R I N T # 1 2 , C H R $ ( 2 4 )s t a t e m e n t . F i n a l l y , Y a n Y v a l u e s a r p r i n t e d o n c e m o r e , t h f i l e s a r c l o s e d , a n t h e s u b r o u t i n e r e t u r n s .

T h g r a p h i n o c o m p l e t e a f a a t h e s e s u b r o u t i n e s a r c o n c e r n e d . A n g r a p h t i t l e s o o t h e r n o t a t i o n s y o m a w a n t c a b p r i n t e d b e f o r e p l o t t i n g ( b e f o r e t h G O S U B 6 0 0 0 0 ) o a f t e rp l o t t i n g ( o n r e t u r n f r o m t h t e r m i n a t i o n s u b r o u t i n e ) .

s a m p l e d r i v i n g p r o g r a m i s h o w n t i l l u s t r a t e t h e s ei n s t r u c t i o n s . T h R E s t a t e m e n t s p o i n t o u w h a t i h a p p e n i n g s t e pb s t e p . O c o u r s e , t h v a l u e s s e b I N P U T s t a t e m e n t s c o u l d b c o m p u t e d d i r e c t l y i m a n y c a s e s , a s l o n g a t h e y a r e s t a b l i s h e db e f o r e p l o t i n i t i a l i z a t i o n . T h f i n a l p l o t p r o d u c e d b t h i s p r o g r a m i s h o w n a w e l l . N o t e t h a t t h l i m i t i n g f a c t o r i n t h p l o t q u a l i t y i t h m e c h a n i c a l e r r o r i n p r i n t h e a d m o t i o n . T h p r i n t h e a d d o e s n o r e t u r n t e x a c t l y t h s a m e p o i n t w i t h e a c h c a r r i a g e r e t u r n . T h a t ' sw h t h a x i s i b i w i g g l y , a l e a s t o m p r i n t e r .

T h s p e e d a w h i c h p l o t i p r o d u c e d d e p e n d s o t w f a c t o r s .T h f i r s t i t h c o m p u t a t i o n t i m e n e e d e d t g e n e r a t e ( X , Y ) p o i n t st h e m s e l v e s . T h s e c o n d i q u i t e v a r i a b l e a n d e p e n d s o t h s h a p eo t h g r a p h a n t h i n c r e m e n t c h o s e n . E a c h p o i n t l i n ec o n t a i n i n g a t l e a s t o n p l o t t e d p o i n t m u s t b p r i n t e d t w i c e o n c ef o t h p o i n t , w i t h o u t l i n e f e e d , a n o n c e f o t h a x i s b o r d e r s ,w i t h c a r r i a g e r e t u r n / l i n e f e e d . I s e v e r a l p l o t t e d p o i n t s o c c u r o t h s a m e p r i n t l i n e i v a r i e t y o p r i n t c o l u m n s , t h l i n e w i l l b o v e r p r i n t e d s e v e r a l t i m e s , s i n c e t h s p e c i a l c h a r a c t e r c a b e u s e d i

1 3

Page 137: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 137/260

G r a p h i c s

o n l y o n w a i a n s i n g l e P R I N T s t a t e m e n t . T h e x a m p l e g r a p ht o o k a b o u t m i n u t e s t p l o t a l 6 0 p o i n t s .f e g e n e r a l c o m m e n t s a r i o r d e r b e f o r e t u r n i n g t w a y s t

e x t e n d t h s u b r o u t i n e . F i r s t , i n t e g e r v a r i a b l e s a r u s e d i m a n yp l a c e s t o f o r c e t r u n c a t e d i n t e g e r a r i t h m e t i c w i t h o u t s p e c i f y i n g t h I N f u n c t i o n . A e x c e p t i o n o c c u r s i l i n e s 6 0 2 0 0 , 6 0 6 0 0 , 6 1 2 3 0 a n 6 1 3 1 0 w h e r e I N i u s e d t s e n s e t h n e e d t p r i n t a t i c k m a r k .A l s o n o t i c e t h u s e o f t h l o g i c a l O i l i n e 6 1 1 5 0 t t u r n o t h b i t s t h a t s e t h s p e c i a l c h a r a c t e r . ( T h e 2 0 2 2 i n s t r u c t i o n s d e s c r i b eh o t s e t h i s c h a r a c t e r d o t - b y - d o t . ) T h O i n e e d e d r a t h e r t h a n

s i m p l e a d d i t i o n i c a s e t h s a m e m a t r i x d o t i t u r n e d o b m o r et h a n o n ( X , Y ) p a i r . T h O w i l l n o c h a n g e b i a l r e a d y s e t , w h i l ea d d i t i o n w i l l , i g e n e r a l .

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

S u p p o s e y o w a n t t o p l o t r a t h e r w i d e l y s p a c e d p o i n t s , i n s t e a do c l o s e l y s p a c e d p o i n t s a l o n g c u r v e . W i d e l y s p a c e d s i n g l e d o t s a r d i f f i c u l t t s e e . O s u p p o s e t w o m o r e d i f f e r e n t s e t s o f d a t a h a v e t b p l o t t e d o t h s a m e g r a p h . W h a t i n e e d e d i b o t h c a s e s i s o m ew a t o p l o t l a r g e r a n d i f f e r e n t t y p e s o s y m b o l s i n s t e a d o p o i n t s .O n w a o p l o t t i n g s y m b o l s i d i s c u s s e d b e l o w , b u i t i s n o f o o lp r o o f .

T h s i m p l e s t w a t m a k e a a r b i t r a r y s y m b o l ( p l u s , x s q u a r e , o w h a t e v e r ) i t b e g i n b d e f i n i n g t h d o t - t o - d o t d i s t a n c e s ,D a n D Y w i t h t h e s t a t e m e n t s

D X = ( X X - X N ) / ( 6 * N X )D Y = ( Y X - Y N ) / ( 6 * N Y ) .

T h e n , a f t e r c o m p u t i n g e a c h ( X , Y ) p a i r , c a l l n e s u b r o u t i n e ( l e t ' ss a i t i s c a l l e d b G O S U B 6 2 0 0 0 ) i l i n e 3 4 o t h e x a m p l ep r o g r a m i n s t e a d o f t h e m a i n ( 6 1 0 0 0 ) s u b r o u t i n e . T h n e s u b r o u t i n e c o n s t r u c t s t h s y m b o l y o c h o o s e , c e n t e r e d a b o u t t h c o r r e c t ( X , Y ) p o i n t . I t h s a m p l e s y m b o l s u b r o u t i n e , t h w a t p l o t s m a l l t h r e e d o t s w i d e , i s h o w n . O t h e r s y m b o l s c a n b ec r e a t e d i m a n y s h a p e s a n s i z e s , b u a l a r e s u b j e c t t o p r o b l e m s i t h v a l u e s a r t o c l o s e l y s p a c e d . I t h s y m b o l s o v e r l a p f r o m o n p o i n t l i n e t t h n e x t , a n t h n e x t s y m b o l w a n t s t e x t e n d b a c k t t h e p r e v i o u s p r i n t l i n e , y o u h a v e t r o u b l e s . T h p r i n t e r w o n ' t b a c ku p T h o n l y s a f e w a a r o u n d t h i s p r o b l e m i t g t h r o u g h y o u rd a t a p o i n t b p o i n t , a n c r e a t e n e d a t a s e r e p r e s e n t i n g a l t h

1 3

Page 138: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 138/260

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

M o r e c o m p l e x g r a p h i c s h i g h r e s o l u t i o n p i c t u r e s o a r b i t r a r ys h a p e s w i l l a l w a y s h a v e t f a c e t h p r o b l e m o o n e - d i r e c t i o n a lp a p e r m o t i o n . l i n e - b y - l i n e " r a s t e r s c a n " i p o s s i b l e , b u 6 p r i n tc o l u m n s c o n t a i n 6 0 x 6 x 6 2 1 6 0 m a t r i x d o t s p e r p r i n t l i n e . T u r n i n go t h c o r r e c t d o t s a n s c a n n i n g a l t h p o s s i b i l i t i e s c o u l d t a k e a i n t o l e r a b l e a m o u n t o t i m e .

F o m a n y a p p l i c a t i n s , b a g r a p h ( h i s t o g r a m ) i m o r e u s e f u lt h a n p o i n t - b y - p o i n t o r l i n e g r a p h . B a r g r a p h s a r e a s i l y g e n e r a t e du s i n g t h b u i l t - i n P E g r a p h i c s c h a r a c t e r s , a l o n g a t h b a r s g " a c r o s s t h p a g e " r a t h e r t h a n " u a n d d o w n . " T h l i n e s p a c i n gm u s t b s e t t h s a m e c l o s e s p a c i n g u s e d h e r e , o t c l o s e rs p a c i n g , i h a l f - s i z e g r a p h i c s y m b o l s ( a n d l o w e r r e s o l u t i o n ) a r a c c e p t a b l e . T h r e s o l u t i o n i l o w e r b e c a u s e h a l f - s i z e s y m b o l s d o n ' tc o m e i a m a n y w i d t h s a f u l l s i z e s y m b o l s . E v e n w i t h t h b u i l t - i ng r a p h i c s s y m b o l s , t h b a g r a p h w o n ' t l o o k p e r f e c t , s i n c e s m a l l g a p si t h b a g r a p h s i l h o u e t t e w i l l e x i s t w i t h t h e s e s y m b o l s . T h b e s ta p p r o a c h w o u l d u s m i x t u r e o b u i l t - i n g r a p h i c s p l u s s p e c i a lc h a r a c t e r a t h e n o f t h e b a t g i v e c o n t i n u o u s s i l h o u e t t e .

1 3 . 8 5- 1 . 5

P L O T O V = S I N < X > F O X * f P R R R M E T E R S F O T H I S G R f l P H . . .N V 6 N X = 6 0 V T = 1 X T S f i M P L E

T * t S T E P . 0 # i

1 3

Page 139: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 139/260

6 0 0 0 0 O P E N 1 0 4 . O P E N 1 1 , 4 , 5 : O P E N 1 2 , 4 , 6 - 1 F N V > 6 0 T H E N N V = 6 06 0 0 5 0 X T t f = X T V T t f = V T : L L X = 0 L B « = 0 N X X = 6 * N X - 1 N V 7 i = 6 * N V - 16 0 1 0 0 C R * = C H R * < 1 4 1 > : S C * = C H R * < 2 5 4 > : Q = < N V ? i - H > / 6 - L E N < S T R * < V N > > I F Q < 0 T H E N Q = 06 0 1 5 0 P R I N T # 1 0 : P R I N T # 1 0 , T R B < 9 > V N . : T f t B C Q > V X : P R I N T # 1 0 , J " : F O R Q = 1 T O N Y6 0 2 0 0 I F Q / V T ? i = N Q V T T H E N 6 0 3 0 06 0 2 5 0 P R I N T * 1 0 , " _ " ; G O T O 6 0 3 5 06 0 3 0 0 P R I N T # 1 0 , " J " ;6 0 3 5 0 N E X T : P R I N T * 1 0 " _ " : P R I N T # 1 2 , C H R * < 1 4 > G * = S T R * < X N > Q * = R I G H T * < Q * , L E N < Q * > - L >6 0 4 0 0 P R I N T # 1 0 , T f i B < 1 0 - L E N < Q * > > Q * ; C R * ; R E T U R NI N I T I R L I Z R T I O N S U B R O U T I M E

1 0 R E I N I T I A L I Z E P L O T S I Z E V A R I A B L E S1 1 I N P U T " H O W M A N Y C O L U M N S ( T

- , 6 0 ) " ; N Y1 2 I N P U T " H O W M A N Y C O L U M N S P E R T I C K " ; Y T1 3 I N P U T " H O W M A N Y R O W S ( 1 2 0 P E -

- i P A G E ) " ; N X1 4 I N P U T " H O W M A N Y R O W S P E R T I C K " ; X T1 5 I N P U T " M I A N M A X " ; X N , X X1 6 I N P U T " M I N A N D M A X " ; Y N , Y X1 7 I N P U T " S T A R T A N E N D ( U N I T S O F

- O " ; X 1 , X 21 8 I N P U T " I N C R E M E N T ( U N I T S O F ) n ; X S2 0 R E C A L L I N I T I A L I Z A T I O N S U B R O U T I N E2 1 G O S U B 6 0 0 0 03 0 R E D E F I N E T H F U N C T I O N T B -

- . P L O T T E D P O I N T B P O I N T3 1 F O R X = X 1 * T X 2 S T E P X S 3 2 Y = S I N ( X )3 3 R E C A L L M A I N S U B R O U T I N E F O E A C H -

- i P O I N T3 4 G O S U B 6 1 0 0 03 5 N E X T4 0 R E C A L L T H P L O T T E R M I N A T I O N

- . S U B R O U T I N E4 1 G O S U B 6 0 5 0 05 0 R E A D T I T L E T O T H E B O T T O M O -

- . T H E G R A P H5 1 O P E N 1 , 4 , 05 2 P R I N T # 1 , " P L O T O F Y = S I N ( X ) F O

- , X = " X 1 " * T O " X 2 n * S T E P " X S " *6 0 R E M P R I N T O U T R E M A I N I N G G R A P H

- . P A R A M E T E R S6 1 P R I N T # 1 " P A R A M E T E R S F O R T H I S G R A P H -

6 2 P R I N T t l , " N Y = " N Y " N X = " N X " Y T = " Y T " - - i X T = " X T

9 9 E N S R M P L . E D R I V I N G P R O G R f l M6 1 0 0 0 I ( Y < Y N ) O R ( Y > Y X ) O R ( X < X N ) O R ( X > X X ) -

- . T H E N R E T U R N6 1 1 0 0 N C 1 + ( Y - Y N ) / ( Y X - Y N ) * N Y %6 1 1 1 0 N B ( N C % - l ) / 6 N C N C % - 6 * N B %6 1 1 2 0 N R 1 + ( X - X N ) / ( X X - X N ) * N X %6 1 1 3 0 N L ( N R % - l ) / 6 N R N R % - 6 * N L %6 1 1 4 0 I N L < L L O N B < L B T H E N

i G O S U B 6 1 2 0 06 1 1 5 0 L L % = N L % : L B % = N B % : C ( N C % ) = C ( N C % ) - - i O R 2 " ( 6 - N R % ) R E T U R N

6 1 2 0 0 Q $ " F O Q = T : Q $ = Q $ + C H R $- i ( C % ( Q J ) C % ( Q ) = 0 N E X T- P R I M T # 1 1 , Q $

6 1 2 1 0 P R I N T # L 0 , T A B ( L B % + 1 1 ) S C $ C R $6 1 2 2 0 I N L % = L L % T H E N R E T U R N6 1 2 3 0 I ( L L % + 1 ) / X T % I N T ( ( L L % 1 ) / X T % ) -

- . T H E N 6 1 2 5 06 1 2 4 0 P R I N T # 1 0 , T A B ( 1 0 ) " X T A B ( N Y ) " : E "

1 3

Page 140: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 140/260

- G O T O 6 1 2 6 06 1 2 5 0 P R I N T # 1 0 , T A B ( 1 0 ) " T A B ( N Y ) " L 6 1 2 6 0 I N L < L L % + 1 A N D N L < L L -

- i T H E M G O S U B 6 1 3 0 06 1 2 7 0 R E T U R N6 1 3 0 0 F O Q = T N L % - L L % - 16 1 3 1 0 I ( L L % + Q + 1 ) / X T % = I N T ( ( L L % + Q + 1 ) /

i X T % ) T H E N 6 1 3 3 06 1 3 2 0 P R I N T # 1 0 , T A B ( 1 0 ) w X T A B ( N Y ) -

- i " I n G O T O 6 1 3 4 06 1 3 3 0 P R I N T # 1 0 , T A B ( 1 0 ) T A B ( N Y ) -

- . " L M L I S T6 1 3 4 0 N E X T R E T U R NM R I N F - L O T T I M G S U B R O U T I N E

N o t e : T h e s e l i s t i n g s w e r e d o n e w i t h C B 3 2 c o m p u t e r w h i c h h a s l i g h t l yd i f f e r e n t g r a p h i c s c h a r a c t e r s e a n d n o k e f o P I I n t h e S a m p l e D r i v i n g P r o g r a m ,L i n e s 1 7 0 , 1 8 0 , 3 1 0 , a n 5 2 0 s h o u l d h a v e t h s y m b o l f o P i n s e r t e d i t h e s p a c e sl e f t : b l a n k . I t h M a i n P l o t t i n g S u b r o u t i n e , l i n e s 6 1 2 5 0 a n 6 1 3 3 0 h a v e b l a n k i q u o t e s w h i c h s h o u l d b : i . e . t h e " o p p o s i t e " g r a p h i c s c h a r a c t e r t t h L

- 1 . 5 1 .

1 8 . 8 5 "- 1 . 5 1 .

P L O T O V = S I N < X > F O X * f T # f S T E P . 2 # i P R R f l M E T E R S F O R T H I S G R R P H . . .N V 2 N X 3 8 V T = X T

S R M P L E F - L . O T "

6 0 5 0 0 X - X X : V » V X G 0 S U B 6 1 0 0 0 0 0 S U B 6 1 2 0 0 = G 0 S U B 6 1 2 5 06 0 5 5 0 Q * = S T R * < X X > : Q * « R I G H T * < Q * , L E N < Q * > - 1 > : P R I N T # 1 0 , T f l B a 0 - L E N < Q * > > Q * "G B 6 9 9 F O R Q « 1 T O N V I F Q / V T H * N Q / V T X T H E N 6 0 7 0 06 0 6 5 0 P R I N T # 1 O / " " • " ; G O T O 6 0 7 5 06 0 7 8 8 P R I N T # 1 8 . " T ;6 0 7 5 8 N E X T : P R I N T # 4 0 ' " " " ^ P R I N T # 1 2 . C H R * < 2 6 0 8 0 0 Q N V X + 1 > / 6 - L E N S T R * V > • I F Q < 0 T H E N Q = 06 0 8 5 0 P R I N T # 1 0 , T R B < 9 > V N ; T R B < Q > V X6 0 9 8 8 C L O S E l O X L O S E l l C L O S E 1 2 - R E T U R NF > L - O T T E R M M F * T O S U B R O U T M

1 3

Page 141: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 141/260

6 2 0 8 0 R E M R L T E R N R T E S U B R O U T I N E F O R P L O T T I N G D R T R R f S M f t L L6 2 0 1 0 R E O F I N D D M U S T H R V E B E E N D E F I N E D B V T H E M R I N P R O G R R M6 2 0 2 0 X « X - D X : Q O S U B 6 1 0 0 06 2 0 3 0 X = X + D X : V » V - D V - G O S U B 6 1 0 0 06 2 0 4 0 V - V + D V - G O S U B 6 1 0 0 06 2 0 5 0 V = V + D V G O S U B 6 1 0 0 06 2 0 6 0 V = V - D V - X = X + D X : G O S U B 6 1 0 0 06 2 0 7 0 R E R E S T O R E X T O R I G I N R L V R L U E B E F O R E R E T U R N I N G6 2 0 8 0 X » X - D X6 2 0 9 0 R E T U R N

R E R D V .S R M P L E S V M E O L S L J B R O U T I M

1 3

Page 142: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 142/260

K e y p r i n tC h a r l e s B r a n n o n

K E Y P R I N T i a e a s y s o l u t i o n t o m a n y h a r d c o p y p r o b l e m s . F o e x a m p l e , h o w o u l d y o c o p y t h i n s t r u c t i o n s f r o m c o m p u t e r g a m eo n t o y o u r p r i n t e r ? T h o b v i o u s s o l u t i o n i t m o d i f y t h p r o g r a m t d i r e c t i t o u t p u t t t h p r i n t e r . T h i s i s h o w e v e r , t i m e - c o n s u m i n g .B e s i d e s , w h a t i h o r r o r o f h o r r o r s y o u d o n o k n o w h o t m a k e t h i s m o d i f i c a t i o n ?S w h a t d o e s K E Y P R I N T d o a n y w a y ? S i m p l e . Y o j u s t t o u c hs i n g l e k e a n t h e n t i r e s c r e e n i c o p i e d o n t o t h p r i n t e r . T h i s c a h a p p e n a a n t i m e : w h i l e c a l c u l a t i o n s a r e i n p r o g r e s s , d u r i n g g a m eo S T A R T R E K , a f t e r a p r i n t - o u t o i n f o r m a t i o n t t h s c r e e n , w h e ny o t o u c h t h a t c e r t a i n k e a c c i d e n t a l l y a n y t i m e . K E Y P R I N Tt o t a l l y i n t e r r u p t s e v e r y t h i n g P E i d o i n g , d u m p s t h s c r e e n o n t o t h p r i n t e r , a n t h e n r e t u r n s c o n t r o l b a c k t B A S I C a t h o u g h n o t h i n gh a h a p p e n e d .

K E Y P R I N T ' s u s e s a r e m u l t i t u d i n o u s . N l o n g e r d y o h a v e t w r i t e s p e c i a l p r i n t e r s u b r o u t i n e s . I t ' s j u s t t o u c h a n g o Y o u r s o f t w a r ec a n e v e n c a l l t h s c r e e n d u m p d i r e c t l y w i t h S Y c o m m a n d . I y o h a v e C o m m o d o r e 2 0 2 2 p r i n t e r , y o c a c o p y g r a p h i c s v e r b a t i m .( R e m e m b e r t s e t h l i n e s - p e r - i n c h t o e i g h t f i r s t . s i d e - e f f e c t o t h i si t h a t t e x t l o o k s c r a m m e d t o g e t h e r ; r e m e m b e r t r e s e t t h l p t s i x . )S h e r e ' s h o t u s K E Y P R I N T :1 E n t e r t h m a c h i n e l a n g u a g e m o n i t o r w i t h a S Y 1 0 2 4 c o m m a n d .2 . I f y o u V e a l r e a d y t y p e d i a n s a v e d K E Y P R I N T , e n t e r :

. " K E Y P R I N T " , 0 1a n h i R E T U R N . N o t y p e a X h i R E T U R N a n g t o s t e p 6 3 O t h e r w i s e , l i s t t h b l o c k o m e m o r y t h a t K E Y P R I N T o c c u p i e sw i t h :

. 0 3 3 A 0 3 C B4 N o w , u s i n g t h c u r s o r , r e p l a c e t h " n u m b e r s " ( w h i c h o f t e nc o n t a i n a l p h a b e t i c c h a r a c t e r s , s i n c e t h e y ' r e h e x a d e c i m a l ) w i t h t h o n s h o w n i t h l i s t i n g . T y p e t h e s e b y t e s i e x a c t l y a s h o w n . ( A l lm a c h i n e l a n g u a g e p r o g r a m i n s t r u c t i o n s s e e m t s t r e s s t h a t , b u i t ' sr e a l l y i m p o r t a n t a t h p r o g r a m w i l l C R A S H i y o d o n ' t t y p e i i p e r f e c t l y r i g h t . ) R e m e m b e r t h i R E T U R N a f t e r e a c h l i n e .5 S a v e t h p r o g r a m b y e n t e r i n g :

. " K E Y P R I N T " , 0 1 , 0 3 3 A , 0 3 C B ( A f t e r w a r d s , e n t e r . t e x i t t B A S I C )

1 3

Page 143: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 143/260

6 N o a c t i v a t e K E Y P R I N T w i t h :S Y 8 2 ( h i t R E T U R N )

T h c u r s o r s h o u l d r e - a p p e a r a l m o s t i n s t a n t l y , b l i n k i n g m e r r i l y u n d e rR E A D Y . I i d o e s n ' t , t h e n y o u r P E h a c r a s h e d . W h y ? E i t h e r y o t y p e d i t h p r o g r a m i n c o r r e c t l y , ( e v e n o n t i n y m i s t a k e ) o y o u ' r eu s i n g a o r i g i n a l R O P E T . S h a m e o y o u ! G b a c k a n c h e c k o v e rt h a t p r o g r a m y o u t y p e d i n ( A r e n ' t y o g l a d y o s a v e d i f i r s t ? )7 H o p e f u l l y , y o u r c u r s o r c a m e b a c k . T h a t m e a n s t h a t K E Y P R I N T i r e a d y a n r a r i n ' t g o H o d y o m a k e i w o r k ? J u s t p r e s s t h \ k e y . I y o h a v e a p r i n t e r h o o k e d u p t h a t r e s p o n d s t a d e v i c en u m b e r o 4 t h e n t h e n t i r e s c r e e n w i l l b p r i n t e d o n t o y o u r p r i n t e r .F o d e v i c e s o t h e r t h a n 4 P O K E 8 5 8 , D w h e r e D e q u a l s t h d e v i c e n u m b e r o y o u r p r i n t e r . ( I t h a b o v e t e r m i n o l o g y s e e m sc o n f u s i n g , d o n ' t w o r r y . I y o h a v e C o m m o d o r e p r i n t e r , e v e r y t h i n gw i l l w o r k f i n e . I n o t , t h e n c a n ' t g u a r a n t e e f l a w l e s s o p e r a t i o n . )8 K E Y P R I N T r e m a i n s i y o u r m a c h i n e u n t i l y o t u r n i o f o y o o t h e r w i s e i n t e r r u p t i t p o w e r s u p p l y ( L i k e d r o p p i n g t h P E o s e t t i n g i o f i r e ) . K E Y P R I N T c a b d e - a c t i v a t e d , h o w e v e r , b s i m p l e p r o c e d u r e : H o l d d o w n t h s h i f t k e a n p r e s s t h R U N / S T O Pk e o r t y p e i L O A D a n h i R E T U R N . I g n o r e a n m e s s a g e s t h P E g i v e s . N o p r e s s t h R U N / S T O P k e a g a i n . T h w o r d B R E A Ki d i s p l a y e d a n t h a t i e x a c t l y w h a t y o d i t K E Y P R I N T y o b r o k e i t I w i l l w o r k n l o n g e r . I M P O R T A N T N O T E : l o a d i n g a n p r o g r a m a l s o " b r e a k s " K E Y P R I N T . I e i t h e r c a s e , y o c a r e - a c t i v a t ei w i t h S Y 8 2 6 .9 I y o d o n ' t w a n t t h a v e t t y p e k e t d u m p t h s c r e e n , u s S Y 8 4 e i t h e r i d i r e c t m o d e o w i t h i n p r o g r a m . I d o e s n o m a t t e r w h e t h e r K E Y P R I N T i " a c t i v a t e d " o n o f o t h c o m m a n d t w o r k .S t h e r e y o h a v e i t p l a n t u s K E Y P R I N T q u i t e a b i i t h f u t u r e . t h i n k o i a " W e d g e " f o t h p r i n t e r a D O S U P P O R T( C o m m o d o r e ) i f o t h 2 0 4 0 .P . S . w a n t t m a k e i c l e a r w h i c h k e i u s e d t p r i n t t h s c r e e n : i t i st h k e t t h r i g h t o f t h e a m p e r s a n d a t h e t o p o f t h e k e y b o a r d , n o t h s h i f t o " M . " A l s o , b a w a r e t h a t s o m e p r o g r a m s u s e t h e s e c o n dc a s s e t t e b u f f e r ( w h e r e K E Y P R I N T r e s i d e s ) f o d a t a s t o r a g e o f o t h e i ro w m a c h i n e l a n g u a g e p r o g r a m s .R e s o u r c e s :B u t t e r f i e l d , J i m . " P E T i T r a n s i t i o n " C O M P U T E ! , p 6 8 - 7 0 ( F a l l , 1 9 7 9 )S h e w a r d , D " L i s t i n g f r o m C o m m o d o r e ' s T h T r a n s a c t o r ' " T h P a p e r , p 3 ( M a r c h / A p r i l 1 9 8 0 )

1 3

Page 144: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 144/260

B P I R S R C X R V R S 0 4 0 1 0 3 4 5 3 0 4 5 E 0 0 F

M 0 3 3 R 0 3 C 60 3 3 R 7 0 9 0 3 8 9 R 4 8 0 3 4 2 9 0 5 8 6 8 R 5 9 7 C 9 4 D 9 3 4 R 0 2 5 0 4 C 2 E E R 0 3 5 2 8 0 8 5 2 F I 0 0 8 5 I R

8 6 8 D 4 2 0 B F 0 3 5 R 0 0 3 6 2 2 0 2 D F 0 3 6 R 0 8 2

R 1 8 5 2 2 R 2 D F R 1

0 3 7 2 R E 4 E E 0 C D O 0 2 R 0 3 7 R 9 2 D F R 0 B I 8 3 8 2 2 7 f i f l B l I F 4 2 1 0 3 8 R O B I 8 2 2 8 4 0 3 9 2 9 2 D 2 F F 8 f C 2 8 B O0 3 9 R 8 0 4 8 D O O E C 4 9 0 3 R 2 O C 6 0 B O 0 4 0 8 D 9 3 R R 0 2 4 9 C 2 D 2 F F C C 0 3 B 2 2 9 0 C B R I 6 9 2 7 8 58 3 B R I 9 0 E 2 C 6 2 2 D 0 3 C 2 R R O 2 D F 4 C 8 3 C R F 7 2 6 3 7 7 5

° S f l V E1 3

Page 145: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 145/260

8 5 G r a p h i c sM u r r a y D W e i n g a r t e n

O n o t h d e f i c i e n c i e s i B A S I C , a w r i t t e n f o t h P E T , i t h a t i d o e s n o a l l o w t h u s e r t s e o c l e a r o t h s c r e e n a i n d i v i d u a lp o i n t s p e c i f i e d b t w c o o r d i n a t e s . H e n c e , t s e t , f o e x a m p l e , t h p o i n t i r o 7 c o l u m n 1 o f t h e s c r e e n , o n n e e d s t w r i t es t a t e m e n t s o f t h e f o r m

1 A = 3 2 7 6 8 7 * 4 0 + 1 5 P O K E A 1 6 i n s t e a d o f s i m p l y S E T ( 1 5 , 7 ) . E v e n t h e n , t h e m a x i m u m r e s o l u t i o no b t a i n a b l e u s i n g t h i s a p p r o a c h i 4 0 x 2 5 .

W i t h l i t t l e e x t r a p r o g r a m m i n g , i t i s p o s s i b l e t o o v e r c o m et h e s e d i f f i c u l t i e s . T h P E g r a p h i c s c h a r a c t e r s e i n c l u d e s a l t h c h a r a c t e r s n e c e s s a r y t s u p p o r t a s c r e e n r e s o l u t i o n o 8 5 0 T h a p p r o a c h t u s w a l a i d o u i p r o g r a m w r i t t e n b J e r r y V e l d e r si t h P E U S E R N O T E S ( v o l . 2 , # 1 i 1 9 7 9 . T h a t p r o g r a m ,h o w e v e r , d i n o a l l o w t h u s e r t c l e a r p o i n t s , o n l y t s e t h e m .M o r e o v e r , t h e c o o r d i n a t e s o f t h e p o i n t t b s e h a t b P O K E di n t o z e r o p a g e m e m o r y , a d d i n g u n n e c e s s a r y B A S I C s t a t e m e n t s .

T h p r o g r a m l i s t e d h e r e P O K E s m a c h i n e l a n g u a g e r o u t i n ea n y w h e r e i t h R A s p a c e o f t h e P E T . O n c e i h a b e e n R U N ,t h e c o o r d i n a t e s o f p o i n t o t h e s c r e e n m a b s p e c i f i e d i a n B A S I C s t a t e m e n t b t h v a r i a b l e n a m e s X a n Y ( 0 £ X X $ 7 9 ;0 $ Y Y $ 4 9 ) . E x e c u t i n g t h f u n c t i o n U S R ( l ) w i l l t h e n s e t h a t p o i n to t h s c r e e n , w h i l e U S R ( O ) w i l l c l e a r t h p o i n t . I i u t t h u s e rt e n s u r e t h a t X a n Y c o n t a i n l e g a l c o o r d i n a t e v a l u e s b e f o r et h U S f u n c t i o n i e x e c u t e d .

F o l l o w i n g a r s o m e s i m p l e p r o g r a m m i n g e x a m p l e s :( 1 1 P R I N T " d r "

2 F O Y Y = 0 T 4 9 X X = 0 : A U S R ( l ) : X X = 7 9 :A = U S R ( 1 ) : N E X T Y Y

3 F O R X X = 0 T 7 9 Y Y = 0 : A U S R ( l ) : Y Y = 4 9 :A = U S R ( 1 ) : N E X T X X

p u t s b o r d e r a r o u n d t h s c r e e n .( 2 1 P R I N T " d r "

2 F O X = T 7 3 Y Y = 2 5 2 4 * S I N ( X X / 5 ) : A = U S R ( 1 ) : N E X T X X

p l o t s a s i n e w a v e( 3 1 P R I N T " d r "

2 0 X l l : X X = 0 : Y Y = 53 I X X > 7 9 O X X T H E N X I = X 1 : G O T O 5

1 3

Page 146: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 146/260

4 0 A = U S R ( l )5 F O A = T 1 0 N E X T A : A = U S R ( O ) : X X = X X + X 1 :G O T O 3

m o v e s p o i n t b a c k a n f o r t h a c r o s s t h s c r e e n .T h d i s a s s e m b l y s h o w s h o t h p r o g r a m l o o k s w h e n P O K E d

i n t o h i g h m e m o r y o a 8 P E T . T h c o d e f r o m 1 E D B t 1 F 4 Be x t r a c t s t h v a l u e s o X a n Y f r o m t h B A S I C v a r i a b l e s s t o r a g ea r e a o m e m o r y . T h c o d e f r o m 1 F 4 D t t h e n i a n a l o g o u s t J e r r y V e l d e r s ' p r o g r a m . I c a l c u l a t e s t h c o r r e c t s c r e e n a d d r e s s ,d e t e r m i n e s w h a t i a l r e a d y a t h a t s c r e e n a d d r e s s , a n P O K E s t h a ta d d r e s s w i t h t h n e c e s s a r y g r a p h i c s c h a r a c t e r .

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

T h r o u t i n e , a w r i t t e n , w i l l o n l y o p e r a t e o o r i g i n a l R O P E T s . T h i s i d u t t h u s o f t h e B A S I C s u b r o u t i n e s F L P I N T ,A B S , a n M V F A C C , a n t h u s e o f t h p o i n t e r s a 7 t 7 t p o i n t t B A S I C v a r i a b l e s s t o r a g e . S u b s t i t u t i o n o f t h c o r r e c ta d d r e s s e s s h o u l d a l l o w i t w o r k w i t h o t h e r R O M s a w e l l .

1 E C 91 E D 11 E D B1 E D C1 E D D1 E E 01 E E 21 E E 51 E E 71 E E A1 E E C1 E E F1 E F 11 E F 41 E F 61 E F 81 E F A1 E F C1 E F E1 F 0 01 F 0 21 F 0 31 F 0 51 F 0 71 F 0 91 F 0 B1 F 0 C1 F 0 E

2 7 6 7 E 7 0 D 2 A D A 5 B 48 C I A 0 8 C I A 7 8 C I A 7 8 D C 7 I A 0 B 1 7 CC 5 F 2 C 5 F O 1 EA 7 1 6 9 0 79 0 0 2E 7 8 7 3 A 7 E 7

E 7 F 6 F F 6 E F A P H C L J S F L P I N TL D A B 4S T 1 E C 5L D # 0 S T 1 E C 8L D A 7 CS T 1 E C 6L D A 7 DS T 1 E C 7L D # 0 L D ( 7 C ) , YC M # 5 B E 1 F 1 EC M # 5 B E 1 F 1 EL D A 7 CC L A D # 0 B C 1 F 0 9I N C 7 DS T A 7 CS E L D A 7 FS B C 7 C

T A B L E .

S a v e p a r a m e t e r ( i n d i c a t i n gS E o C L E A R )a 1 E C 5 .C o u n t e r 2 S a v e c o n t e n t s o 7 a n 7 ( s t a r t o B A S I Cv a r i a b l e s ) .

L o a d a c e . w i t h f i r s tl e t t e r o a v a r i a b l en a m e .

I i ' X o T '

N O I n c r e a s e p o i n t e ra 7 b 7

H a v e w g o n et o f a r ?

1 4

Page 147: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 147/260

1 F 1 01 F 1 21 F 1 51 F 1 71 F 1 A1 F 1 C1 F 1 D1 F 1 E1 F 1 F1 F 2 11 F 2 31 F 2 41 F 2 61 F 2 81 F 2 91 F 2 B1 F 2 D1 F 2 E1 F 3 11 F 3 41 F 3 71 F 3 81 F 3 91 F 3 B1 F 3 D1 F 3 F1 F 4 21 F 4 51 F 4 81 F 4 B

1 F 4 D1 F 4 F1 F 5 01 F 5 31 F 5 51 F 5 71 F 5 A1 F 5 B1 F 5 D1 F 6 01 F 6 31 F 6 51 F 6 81 F 6 A1 F 6 C1 F 6 F1 F 7 21 F 7 51 F 7 71 F 7 91 F 7 C1 F 7 F1 F 8 11 F 8 4

1 E A C I 8 7 A C I 8 7 2 6 C D l 7 CD O D D4 A 7 A 7 1 6 0 9 0 C 2 7 D 2 2 D 2 A D 6 A A 5 B 4E 5 F 0 8 D C 1 I 4 4 I 8 C I C C I D 0 B 3

A 0 1 B B I 0 F 6 0 9 D C 2 I C D 0 F 2A C I C C I D 0 A C I D 1 A 0 8 D C 2 I 4 8 I A D C 3 1 D 1 A 0 8 D C 2 I 4 8 I A 0 8 D C 2 I 4 8 I

B P 1 E F 4L D 1 E C 6S T A 7 CL D 1 E C 7S T A 7 DP L R T I N C M ( 7 C ) , YB N 1 F 0 0P H L D Y 7 DL D A 7 CC L A D # 0 B C 1 F 2 EI N J S M V A F A C CJ S A B J S F L P I N TP L T A L D A B 4C P # 5 B E 1 F 4 5S T 1 E C 1J M 1 F 4 8S T 1 E C 0D E 1 E C 8B N 1 F 0 0

L D # 0 C L L D 1 E B F , XO R # F A D # 0 S T 1 E C 2 , XD E B N 1 F 4 FL D 1 E C 3C M 1 E C 4B N 1 F 7 2L D 1 E C 3B N 1 F 7 FL D # 0 S T 1 E C 2J M 1 F 8 CL D 1 E C 3B N 1 F 8 7L D # 0 S T 1 E C 2J M 1 F 8 CL D # 0 S T 1 E C 2J M 1 F 8 C

N O n e x t v a r i a b l e .Y E S . r e s t o r e7 a n 7 D a n r e t u r n t B A S I C .Y E S . I n e x t l e t t e r o v a r i a b l e n a m e t h s a m e ?n o n e x t v a r i a b l e .

y e s . s e a n a c e .t p o i n t t v a r i a b l e .

m o v e t F A C Ce n s u r e p o s i t i v e ,c o n v e r t t i n t e g e r .

s t o r e a 1 E C 0 ( X X )o 1 E C 1 ( Y Y ) .

g b a c k f o n e x tc o o r d i n a t e ,b o t h X a n Y o b t a i n e d .

F o X a n Y Y s t o r e 2 5 i e v e no i o d d .

D e t e r m i n e q u a d r a n tn u m b e r p o i n t e d t b X a n Y Y

1 4

Page 148: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 148/260

1 F 8 71 F 8 9

1 F 8 C1 F 8 F1 F 9 21 F 9 41 F 9 71 F 9 91 F 9 C1 F 9 F1 F A 01 F A 11 F A 41 F A 61 F A 81 F A 91 F A C1 F A D1 F A F1 F B 21 F B 41 F B 71 F B A1 F B C1 F B F1 F C 21 F C 41 F C 51 F C 71 F C 91 F C C1 F C F1 F D 21 F D 51 F D 81 F D B1 F D D1 F D E1 F E 11 F E 21 F E 51 F E 81 F E B1 F E D1 F F O1 F F 11 F F 41 F F 51 F F 81 F F B

A 0 8 D C 2 I

4 C I 4 C I A 9 D 88 B I A 7 8 B I A E C 1 I E 1 A D B D 1 F6 2 9 0 0 41 E E B E I C D 0 F 56 D C O I 9 0 E E B E I 8 B I A 0 A D C I F 0 E E 1 D 0 F 64 1 I

A D B D 1 F8 F I A B I 8 F I A C I F O O B8 O C I A B C I 4 F I A D C 2 1 4 O 8 D C 2 1 E 8 2 C I A B C I 8 4 1 I

L # 0 S T 1 E C 2

L S 1 E C 0L S 1 E C 1L D # D S T 1 F B DL D # 7 S T 1 F B EL D 1 E C 1I N C L L D 1 F B DA D # 2 B C 1 F A CC L I N 1 F B ED E B N 1 F A 4A D 1 E C 0B C 1 F B 7I N 1 F B ES T 1 F B DL D # 0 L D C M 1 E C 9 , XB E 1 F C CI N C P # 1 B N 1 F B FJ M 1 F 1 2

L D 1 F B DS T 1 F F 9L D 1 F B ES T 1 F F AL D 1 E C 5B E 1 F E 8T X 0 R 1 E C 2T A L D 1 E C 9 , XJ M P 1 F F 8L D 1 E C 2E O # 0 S T 1 E C 2T X A N 1 E C 2T A L D 1 E C 9 , XS T I M 1 F 1 2

C a l c u l a t e s c r e e n a d d r e s sp o i n t e d t b X a n Y 1 D i v i d e X a n Y

b 2

2 C a l c u l a t e 3 2 7 6 84 0 * Y Y + X X

3 S t o r e a d d r e s s a 1 F B D a n 1 F B E .

L o a d a c e . f r o m s c r e e na d d r e s s , a n f i n dc o r r e s p o n d i n g v a l u e i t a b l e a 1 E C 9 .R e t u r n w i t h n a c t i o ni m a t c h n o f o u n d .

T r a n s f e r s c r e e n a d d r e s sa 1 F B D a n 1 F B E , t 1 F F 9 a n 1 F F A .S E O C L E A R ?

S E T .O t a b l e p o s i t i o n ,w i t h q u a d r a n t n u m b e r .

C L E A R .A N t a b l e p o s i t i o nw i t h c o m p l e m e n t o q u a d r a n t n u m b e r .

P O K E s c r e e n c r e t u r n .

1 4

Page 149: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 149/260

1 P R I N T " { C L E A R } W H E R E W O U L D Y O L I K EH I R O U T I N E L O A D E D ( 0 = H I G H M E O R Y ) n

1 1 I N P U T B : I F B O 0 T H E N P R I N T " { C L E A R } " : B 1B : G O T O 4 1 0

2 1 B = 2 5 6 * P E E K ( 1 3 5 ) + P E E K ( 1 3 4 ) - 3 2 03 1 P O K E 1 3 5 , I N T ( ( B - l ) / 2 5 6 ) : P O K E 1 3 4 , B - 1 -

2 5 6 * I N T ( ( B - 1 ) / 2 5 6 ) : C L R3 2 B 1 = 2 5 6 * P E E K ( 1 3 5 ) + P E E K ( 1 3 4 ) + 1 : B = B 13 5 P R I N T " { C L E A R } 1 14 1 P R I N T " { H O M E } " ; B : R E A D N $ : I F L E F T $ ( N $ , 1

) = " X " T H B N N = V A L ( R I G H T $ ( N $ , L E N ( $ ) - l ) ) : G O T O 5 2 0

4 5 I F N $ = " E N D " T H E N 3 0 0 05 1 G O S U B 6 1 0 : G O T O 4 1 05 2 A H = I N T ( ( B l + N ) / 2 5 6 ) : A L = B 1 + N - 2 5 6 * A H5 3 P O K E B , A L : P O K E B + 1 , A H : B = B + 2 : G O T O 4 1 06 1 R $ = R I G H T $ ( N $ , 1 ) : R = A S C ( R $ ) : L $ = L E F T $ (

N $ , l ) : L = A S C ( L $ )7 1 I F R < 6 5 T H E N R = R - 4 8 : G O T O 9 1 08 1 R = R - 5 59 1 I F L < 6 5 T H E N L = L - 4 8 : G O T O 1 1 1 01 0 1 0 L = L - 5 51 1 1 0 L = L * 1 6 + R : P O K E B , L : B = B + 1 : R E T U R N2 0 0 0 D A T A 0 0 , 0 0 , 0 0 , 0 0 , 0 0 , 0 0 , 0 0 , 0 0 , 02 0 1 0 D A T A 2 0 f 7 C r 6 C f E l f 7 B f F F f 6 2 f F E # 7 E / E 22 0 2 0 D A T A 7 F f F B / 6 1 f E C f F C f A 0 f 0 0 f 0 02 0 3 0 D A T A 0 8 r D 8 r 2 0 r A 7 r D 0 f A 5 f B 4 f 8 D f X 0 52 0 4 0 D A T A A 9 , 0 2 f 8 D f X 0 8 , A 5 f 7 C r 8 D f X 0 6 f A 52 0 5 0 D A T A 7 D , 8 D , X 0 7 , A 0 , 0 0 , B 1 , 7 C , C 9 , 5 8 , F 02 0 6 0 D A T A 2 2 f C 9 , 5 9 # F 0 f l E f A 5 f 7 C r 1 8 f 6 9 r 0 72 0 7 0 D A T A 9 0 f 0 2 f E 6 f 7 D f 8 5 f 7 C # 3 8 f A 5 f 7 F , E 52 0 8 0 D A T A 7 D , 1 0 , E 2 f A D , X 0 6 f 8 5 , 7 C , A D , X 0 72 0 9 0 D A T A 8 5 r 7 D f 2 8 f 6 0 f C 8 # D l f 7 C f D 0 f D D f 4 82 1 0 0 D A T A A 4 , 7 D , A 5 , 7 C , 1 8 , 6 9 , 0 2 , 9 0 , 0 12 1 1 0 D A T A C 8 f 2 0 f 7 4 r D A r 2 0 f 2 A f D B / 2 0 f A 7 , D 02 1 2 0 D A T A 6 8 , A A r A 5 , B 4 r E 0 # 5 8 f F 0 f 0 6 r 8 D f X 0 1 r

4 2 1 3 0 D A T A X 1 3 6 f 8 D # X 0 0 r C E f X 0 8 f D 0 f B 32 1 4 0 D A T A A 2 f 0 2 f 1 8 f B D f X - 0 1 f 0 9 # F E , 6 9 f 0 1 f 9 D

, X 0 22 1 5 0 D A T A C A f D 0 r F 2 r A D r X 0 3 # C D # X 0 4 # D 0 , 0 D2 1 6 0 D A T A A D , X 0 3 f D 0 r 1 5 f A 9 f 0 2 r 8 D f X 0 2 , 4 C2 1 7 0 D A T A X 2 0 4 , A D , X 0 3 , D 0 f 1 0 , A 9 , 0 1 f 8 D , X 0 22 1 8 0 D A T A 4 C r X 2 0 4 f A 9 f 0 8 f 8 D f X 0 2 f 4 C , X 2 0 42 1 9 0 D A T A A 9 , 0 4 , 8 D , X 0 2 , 4 E , X 0 0 , 4 E f X 0 12 2 0 0 D A T A A 9 # D 8 f 8 D # X 2 5 3 f A 9 # 7 F r 8 D f X 2 5 42 2 1 0 D A T A A E , X 0 1 f E 8 f 1 8 , A D f X 2 5 3 f 6 9 r 2 8 # 9 02 2 2 0 D A T A 0 4 , 1 8 , E E , X 2 5 4 , C A f D 0 , F 5 , 6 D , X 0 02 2 3 0 D A T A 9 0 f 0 3 f E E f X 2 5 4 f 8 D f X 2 5 3 f A 2 r 0 0

1 4

Page 150: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 150/260

2 2 4 0 D A T A A D , 0 0 , 0 0 , D D , X 0 9 f F 0 , 0 8 f E 8 , E 0 , 1 02 2 5 0 D A T A D 0 , F 6 , 4 C , X 8 2 r A D , X 2 5 3 , 8 D , X 3 1 32 2 6 0 D A T A A D , X 2 5 4 , 8 D , X 3 1 4 , A C , X 0 5 , F 0 , 0 B2 2 7 0 D A T A 8 A , 0 D , X 0 2 , A A , B D , X 0 9 , 4 C , X 3 1 22 2 8 0 D A T A A D , X 0 2 , 4 9 , 0 F , 8 D , X 0 2 , 8 A , 2 D , X 02 2 9 0 D A T A A A , B D , X 0 9 , 8 D , 0 0 , 0 0 f 4 C , X 8 2 , E N D3 0 0 0 B H = I N T ( ( B l + 2 7 ) / 2 5 6 ) : B L = B l + 2 7 - 2 5 6 * B H

: P O K E 1 , B L : P O K E 2 , B H4 0 0 0 P R I N T 1 1 { 0 D O W N } { R E V } 8 0 X 5 G R A P H I C

R O U T I N E { O F F } "4 0 1 0 P R I N T " { 0 2 D O W N j T H I S R O U T I N E O C C U P I ES n ; B - B l ; " B Y T E S A T

0 2 P R I N T " L O C A T I O N " ; B 14 0 3 0 P R I N T " { D O W N j R E S E R V E V A R I A B L E N A M E S

' X X 1 A N ' Y Y M I0 4 P R I N T " F O R T H C O O R D I N A T E S O F T H E P

I N T T O B E 4 0 4 5 P R I N T " S E T O C L E A R E D . "4 0 5 0 P R I N T " { 0 2 D O W N } X X = T 7 Y

= 0 T O 4 9 "4 0 6 0 P R I N T " { 0 2 D O W N } { R E V } S E T { O F F } P O I N

W I T H ' U S R ( l ) ' "4 0 7 0 P R I N T " { R E V } C L E A R { O F F } P O I N T W I T H

• U S R ( 0 ) ' "4 0 8 0 P R I N T " { D O W N } F O R P R O G R A M M I N G E X A M P L E

T Y P E ' R U N 5 0 0 0 1 1 14 0 9 0 E N 5 0 0 0 X = 4 0 : Y = 2 5 : D X = R N D ( - T I ) : P R I N T " { C L E A R }

1 5 0 1 0 D T = 3 + G * ( 1 + I N T ( 2 * R N D ( 1 ) ) ) : O N D T G O T O 5 0

1 5 , 5 0 2 0 , 5 0 2 2 , 5 0 2 5 , 5 0 3 05 0 1 5 D X = 1 : D Y = 0 : G O T O 5 0 4 05 0 2 0 D X = - 1 : D Y = 0 : G O T O 5 0 4 05 0 2 5 D X = 0 : D Y = - 1 : G O T O 5 0 4 05 0 3 0 D X = 0 : D Y = 1 : G O T O 5 0 4 05 0 4 0 L = 2 + I N T ( 3 0 * R N D ( 1 ) )5 0 5 0 F O R M = 1 T O L5 0 6 0 X = X + D X : Y = Y + D Y : I F X = - 1 T H E N X = 7 9 : G O T O 5 1

0 5 0 7 0 I F X = 8 0 T H E N X = 0 : G O T O 5 1 0 05 0 8 0 I F Y = 5 0 T H E N Y = 0 : G O T O 5 1 0 05 0 9 0 I F Y = - 1 T H E N Y = 4 9 : G O T O 5 1 0 05 1 0 0 I F D X O 0 T H E N Y Y = Y : X X = X : A = U S R ( 1 ) : Y Y = Y -

1 : A = U S R ( 0 ) : Y Y = Y + 1 : A = U S R ( 0 ) : G O T0 5 1 5 0

5 1 2 0 Y Y = Y : X X = X : A = U S R ( 1 ) : X X = X - 1 : A = U S R ( 0 ) :X X = X + 1 : A = U S R ( 0 )

5 1 5 0 N E X T M5 1 6 0 G = - G : G O T O 5 0 1 0

1 4

Page 151: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 151/260

Page 152: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 152/260

C r o s s - R e f e r e n c eF o T h P E

J i B u t t e r f i e l dO n o t h h a n d y t h i n g s a b o u t t h 2 0 4 0 d i s k s y s t e m i t h a t i a l l o w sy o t r e a d p r o g r a m s o w r i t e t h e m , f o t h a t m a t t e r a i t h e yw e r e d a t a f i l e s .

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

T h i s p r o g r a m d o e s c r o s s - r e f e r e n c i n g o B A S I C p r o g r a m . I t ' sw r i t t e n i B A S I C : t h a t m e a n s t h a t i w o n ' t r u t o f a s t ( a l l t h o s eG E s t a t e m e n t s ) , b u y o c a r e a d w h a t i t ' s d o i n g f a i r l y e a s i l y .

T h e r e a r t w t y p e s o c r o s s - r e f e r e n c e s n o r m a l l y n e e d e d f o B A S I C p r o g r a m . O n i t h v a r i a b l e c r o s s - r e f e r e n c e : w h e r e d u s B $ T h o t h e r i l i n e n u m b e r c r o s s - r e f e r e n c e : w h e n d g t l i n e3 6 0 ? T h i s p r o g r a m d o e s e i t h e r . A e x a m p l e o b o t h t y p e s i s h o w n

t h p r o g r a m i t h i s c a s e d i d t h e c r o s s - r e f e r e n c e s o i t s e l fR e a d i n g B A S I C P r o g r a m a F i l e .T r e a d B A S I C p r o g r a m , y o u m u s t o p e n i a f i l e , u s i n g t y p ef o p r o g r a m . L i n e 1 7 o t h c r o s s - r e f e r e n c e p r o g r a m d o e s t h i s .

I y o r e a d z e r o c h a r a c t e r f r o m t h p r o g r a m ( t h a t ' s C H R $ ( 0 ) ,n o A S C I I z e r o w h i c h h a b i n a r y v a l u e o f 4 8 ) , t h G E c o m m a n dg i v e s y o s m a l l p r o b l e m : i w i l l g i v e y o n u l l s t r i n g i n s t e a d o t h C H R $ ( 0 ) y o m i g h t n o r m a l l y e x p e c t . Y o n e e d t w a t c h f o r t h i sc o n d i t i o n a n c o r r e c t i w h e r e n e c e s s a r y : y o u ' l l s e t h i s t y p e o fc o d i n g i l i n e s 2 6 0 , 2 7 0 , a n 3 0 0 .

T h f i r s t t h i n g t d w h e n y o o p e n t h f i l e i t g e t h f i r s tt w b y t e s . T h e s e r e p r e s e n t t h p r o g r a m s t a r t a d d r e s s , a n s h o u l d b C H R $ ( 1 ) a n C H R $ ( 4 ) f o n o r m a l B A S I C p r o g r a m s t a r t i n g a h e x a d e c i m a l 0 4 0 1 . ( S e e l i n e 1 8 0 ) .

N o y o u ' r e r e a d y t s t a r t w o r k o l i n e o B A S I C . T h f i r s tt w b y t e s a r t h f o r w a r d c h a i n . I t h e y a r b o t h z e r o ( n u l l s t r i n g )w h a v e r e a c h e d t h e n o f t h e B A S I C p r o g r a m ; o t h e r w i s e , w d o n ' t n e e d t h e m f o t h i s j o b . ( S e e l i n e 2 4 0 ) .

C o n t i n u i n g o t h B A S I C l i n e : t h n e x t p a i r o b y t e sr e p r e s e n t t h l i n e n u m b e r , c o d e d i b i n a r y . W e ' r e l i k e l y t n e e dt h i s , s w c a l c u l a t e i a ( l i n e s 2 6 t 2 8 0 ) a n a l s o c r e a t e i t

1 4

Page 153: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 153/260

s t r i n g e q u i v a l e n t . L $ W t a k e a e x t r a m o m e n t t r i g h t - j u s t i f y t h s t r i n g b p u t t i n g s p a c e s a t h f r o n t s o t h a t i w i l l s o r t i n t o p r o p e rn u m e r i c o r d e r .

F r o m t h i s p o i n t o n , w a r l o o k i n g a t h t e x t o f t h e B A S I Cl i n e u n t i l w r e a c h a z e r o w h i c h f l a g s e n d o f - l i n e . A t h a t t i m e , w g b a c k a n g r a b t h n e x t l i n e .

D e t a i l e d S y n t a x A n a l y s i s .W h e n d i g g i n g o u v a r i a b l e s o l i n e n u m b e r s , w h a v e s e v e r a l j o b s t d o A w l o o k t h r o u g h B A S I C t e x t , w m u s t f i n d o u w h e r e t h v a r i a b l e o l i n e n u m b e r s t a r t s . F o v a r i a b l e , t h a t ' s a a l p h a b e t i cc h a r a c t e r ; f o l i n e n u m b e r , i t ' s t h p r e c e d i n g k e y w o r d G O T O ,G O S U B , T H E N o R U f o l l o w e d b a A S C I I n u m e r i c .

O n c e w e ' v e " a c q u i r e d " t h e v a r i a b l e o l i n e n u m b e r , w m u s tp i c k u i t f o l l o w i n g c h a r a c t e r s a n t a c k t h e m o n F o l i n e n u m b e r s ,i t ' s s t r i c t l y n u m e r i c d i g i t s . F o v a r i a b l e s , t h i n g s a r m o r e c o m p l e x .B o t h a l p h a b e t i c a n n u m e r i c d i g i t s a r a l l o w e d , b u w s h o u l dt h r o w a w a y a l a f t e r t h f i r s t t w o , s i n c e G R U M P a n G R O A N a r t h s a m e v a r i a b l e ( G R ) i P E B a s i c . W m u s t a l s o p i c k u t y p ei d e n t i f i e r f o i n t e g e r v a r i a b l e s o f o r s t r i n g s i p r e s e n t .F i n a l l y , w h a v e t s p o t t h l e f t b r a c k e t t h a t t e l l s u w h a v e a a r r a y v a r i a b l e .

T h e l p u d t h i s r a t h e r c o m p l e x j o b , w c o n s t r u c t c h a r a c t e rt y p e t a b l e . E a c h e n t r y i t h t a b l e r e p r e s e n t s a A S C I I c h a r a c t e r ,a n c l a s s i f i e s i a c c o r d i n g t i t t y p e . N u m e r i c c h a r a c t e r s a r t y p e 6 I w e ' r e l o o k i n g f o v a r i a b l e s , a l p h a b e t i c c h a r a c t e r s a r t y p e 5 i d e n t i f i e r s ( a n $ a r t y p e 7 a n t h l e f t b r a c k e t i t y p e 8 T h e l p u s i s c a n n i n g t h B A S I C l i n e , w d e f i n e t h e n d - o f *l i n e c h a r a c t e r a t y p e 0 t h q u o t a t i o n m a r k a t y p e 2 t h R E t o k e n a t y p e 3 a n t h D A T A t o k e n a t y p e 4

E v e r y t i m e w g e n e c h a r a c t e r f r o m B A S I C , w e g e i t t y p ef r o m t a b l e a v a r i a b l e C 9 I w e ' r e l o o k i n g f o n e v a r i a b l e o l i n e n u m b e r , w s e i i m a t c h e s a l p h a b e t i c f o v a r i a b l e s ,n u m e r i c f o l i n e n u m b e r s . O n c e w f i n d t h n e i t e m , w k i c ko u o r a n g e a n s t a r t s e a r c h i n g b a s e d o t h e v a l u e o f C l T h i sm e c h a n i s m m e a n s t h a t w c a s e a r c h f o v a r i a b l e s t a r t i n g w i t h a a l p h a b e t i c , a n t h e n a l l o w t h e v a r i a b l e t c o n t i n u e w i t ha l p h a b e t i c s , n u m e r i c s , o w h a t e v e r .

T s u m m a r i z e v a r i a b l e s i t h i s a r e a : i t h i d e n t i t y o f t h ec h a r a c t e r w h a v e o b t a i n e d f r o m t h B A S I C p r o g r a m , a n C i i t t y p e . I w e ' r e s e a r c h i n g , i t h e t y p e w a r l o o k i n g f o r ; o t h e r w i s ei t ' s k i c k e d o u o r a n g e , t - 1 o r 9 C t e l l s u w e ' r e c o l l e c t i n g

1 4

Page 154: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 154/260

c h a r a c t e r s a n w h a t t y p e s w e ' r e a l l o w e d t c o l l e c t . C i o u v a r i a b l e s / l i n e n u m b e r s f l a g ; i t e l l s u w h a t w e ' r e l o o k i n g f o r . M i t h s t r i n g w e ' v e a s s e m b l e d .

T h r o u t i n e f r o m 4 8 t 5 2 s c a n s a h e a d t o s k i p o v e r s t r i n g s i q u o t e s a n D A T A a n R E s t a t e m e n t s .C o l l e c t i n g T h R e s u l t s .F o r e a c h o f t h e B A S I C p r o g r a m s w a r e a n a l y z i n g , w c o l l e c t a n s o r t a n i t e m s w f i n d , e l i m i n a t i n g d u p l i c a t e s . T h e y a r s t a g e d i a r r a y A i l i n e s 3 2 t 3 7 0 . I t h e y a r l i n e n u m b e r s , t h e y w i l l b l e f t j u s t i f i e d s t h a t t h s o r t w i l l b l i t t l e o d l i n e 1 0 w i l l c o m eb e f o r e l i n e 2 s i n c e w u s s t r i n g c o m p a r i s o n .

W h e n w e ' r e r e a d y t s t a r t n e l i n e , w a d t h i s t a b l e t o u m a i n r e s u l t s t a b l e , a r r a y X $ i l i n e s 2 0 t o 2 2 0 . T s a v e s o r t i n gt i m e , w m e r g e t h e s e p r e - s o r t e d v a l u e s i n t o t h m a i n t a b l e . A t h i sp o i n t , o u d a t a h a s t h l i n e n u m b e r s t u c k o t h e n d ; t h i s w a y ,w e ' r e h a n d l i n g t w v a l u e s w i t h s i n g l e a r r a y .

B e c a u s e t h m e r g i n g o f t h e t w t a b l e s m u s t s t a r t a t h t o s t h a t w c a m a k e r o o m f o t h n e i t e m s , t h i t e m s a r h a n d l e d i r e v e r s e a l p h a b e t i c o r d e r . W p r i n t t h i s t t h s c r e e n s o t h a t y o c a w a t c h t h i n g s w o r k i n g . A B A S I C s p e e d , t h i s p r o g r a m c a t a k eq u i t e w h i l e t r u n ; i t ' s n i c e t c o n f i r m t h a t t h c o m p u t e r i d o i n gs o m e t h i n g d u r i n g t h i s p e r i o d .F i n a l O u t p u t .W f i n i s h t h j o s t a r t i n g a t l i n e 5 3 0 . I t ' s m o s t l y q u e s t i o n o b r e a k i n g t h s t u c k - t o g e t h e r s t r i n g s a p a r t a g a i n a n t h e n c h e c k i n g t s e i w n e e d t s t a r t n e l i n e .D Y o u r O w T h i n g .T h s i z e o a r r a y X d e t e r m i n e s h o l a r g e a p r o g r a m y o u c a h a n d l e . T h g i v e n v a l u e o f 5 0 i a b o u t r i g h t f o 1 6 m a c h i n e s ; o 3 2 y o c a r a i s e i t 1 5 0 0 o s o

I y o u ' r e s q u e e z e d f o s p a c e , c h a n g e a r r a y t a i n t e g e r a r r a yC % A y o c a s e f r o m t h c r o s s - r e f e r e n c e l i s t i n g , y o u ' l l n e e d t c h a n g e l i n e s 1 0 0 , 1 4 0 , 1 5 0 , 1 6 0 , a n 3 1 s e h o h a n d y t h p r o g r a m i s

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

1 0 D I A $ ( 1 5 ) , B $ ( 3 ) f X $ ( 5 0 0 ) f C ( 2 5 5 )1 1 P R I N T " C R O S S - R E F J I B U T T E R F I E L D "1 4

Page 155: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 155/260

1 2 Q $ = C H R $ ( 3 4 ) : S $ = " " : B $ ( 1 ) = Q $ :- . B $ ( 3 ) = C H R $ ( 5 8 )1 3 I N P U T " V A R I A B L E S O L I N E S " ; Z $ : C 2 = 5 :

- i I F A S C ( Z $ ) = 7 6 T H E N C 2 = 61 4 F O R J = 1 T O 2 5 5 : C ( J ) = 4 : N E X T J : F O R J = 4 8 T O 5 7 :

- » C ( J ) = 6 : N E X T J1 5 I F C 2 = 5 T H E N F O R J = 6 5 T O 9 0 : C ( J ) = 5 : N E X T J :

- i F O R J = 3 6 T O 3 8 : C ( J ) = 7 : N E X T J : C ( 4 0 ) = 81 6 C ( 3 4 ) = 1 : C ( 1 4 3 ) = 2 : C ( 1 3 1 ) = 31 7 I N P U T " P R O G R A M N A M E " ; P $ : O P E N l f 8 f 3 , " 0 :

V + P $ + " , P , R "1 8 G E T # l f A $ f B $ : I F A S C ( B $ ) O 4 T H E N C L 0 S E l :

- i S T O P1 9 I F B = 0 G O T O 2 4 02 0 P R I N T L $ ; : K = X : F O R J = B T O 1 S T E P - 1 : P R I N T " "

i A $ ( J ) ; : X $ = A $ ( J ) + L $2 1 I F X $ ( K ) > = X $ T H E N X $ ( K + J ) = X $ ( K ) : K = K - 1 :

i G O T O 2 1 02 2 X $ ( K + J ) = X $ : N E X T J : X = X + B : P R I N T : B = 02 3 R E M : G E T N E X T L I N E , T E S T E N 2 4 G E T # 1 , A $ , B $ : I F L E N ( A $ ) + L E N ( B $ ) = 0 G O T O 5 3 02 5 R E G E L I N E N U M B E R2 6 G E T # l f A $ : L = L E N ( A $ ) : I F L = 1 T H E N L = A S C ( A $ )2 7 G E T # l f A $ : A = L E N ( A $ ) : I F A = 1 T H E N A = A S C ( A $ )2 8 C = C 2 - : C 1 = - 1 : L = A * 2 5 6 + L : L $ = S T R $ ( L )

- » I F L E N ( L $ ) < 6 T H E N L $ = L E F T $ ( S $ r 6 - L E N ( L $ )- 0 + L $

2 9 R E M G E T B A S I C S T U F F3 0 G E T # l f A $ : A = L E N ( A $ ) : I F A = 1 T H E N A = A S C ( A $ )3 1 C 9 = C ( A ) : I F C 9 > C 1 G O T O 3 8 03 2 K = 0 : I F B = 0 G O T O 3 6 03 3 F O R J = 1 T O B : I F A $ ( J ) = M $ G O T O 3 7 03 4 I F A $ ( J ) < M $ T H E N N E X T J : K = B : G O T O 3 6 03 5 F O R K = B T O J S T E P - 1 : A $ ( K + 1 ) = A $ ( K ) : N E X T K3 6 B = B + 1 : A $ ( K + 1 ) = M $3 7 C = C 2 : C 1 = - 1 : M $ = " "3 8 I F C 2 = 5 G O T O 4 2 03 9 I F A = 1 3 7 O R A = 1 3 8 O R A = 1 4 1 O R A = 1 6 7 T H E N C = 6 :

- i G O T O 4 7 04 0 I F A = 4 4 O R A = 3 2 G O T O 4 7 04 1 I F C 9 O 6 T H E N C = 9 : G O T O 4 7 04 2 I F C 9 = C T H E N C = - 1 : C 1 = 44 3 I F O 6 G O T O 4 7 04 4 I F C < 0 A N D C 9 > C 1 A N D C 9 > 6 T H E N C 1 = C 9 : G O T O 4 6 04 5 I F C 2 = 5 T H E N I F L E N ( M $ ) > 2 O R O 0 G O T O 4 7 04 6 M $ = M $ + A $4 7 O N C 9 + l G O T O 1 9 0 f 4 8 0 f 4 8 0 f 4 8 0 : G O T O 3 0 0

1 4

Page 156: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 156/260

4 8 B $ = B $ ( C 9 ) : C $ = n n4 9 0 G E T # l , A $ : I F A $ = f l l I G O T O 1 9 05 0 I F A $ = B $ G O T O 3 0 05 1 I F A $ = O Q $ G O T O 4 9 05 2 A $ = B $ : B $ = C $ : C $ = A $ : G O T O 4 9 05 3 C L O S E l : I N P U T l f P R I N T E R " ; Z $5 4 C = 3 : Z = 6 : I F A S C ( Z $ ) = 8 9 T H E N C = 4 : Z = 1 25 5 O P E N 2 f C : P R I N T # 2 : P R I N T # 2 f " C R O S S -

i R E F E R E N C E P R O G R A M " ; P $5 6 0 X $ = I l l f : F O R J = l T O X : A $ = X $ ( J )5 7 F O R K = 1 T O L E N ( A $ ) : I F M I D $ ( A $ , K , 1 ) < > " - - » f l T H E N N E X T K : S T O P5 8 B $ = L E F T $ ( A $ , K - 1 ) : C $ = M I D $ ( A $ f K + l ) :

- i I F X $ = B S G O T O 6 0 05 9 P R I N T # 2 : Y = 0 : X $ = B $ : P R I N T # 2 , X $ ; L E F T $ ( S $

- i 5 - L E N ( X $ ) ) ;6 0 Y = Y + 1 : I F Y < Z G O T O 6 2 06 1 Y = l : P R I N T # 2 : P R I N T # 2 f S $ ;6 2 P R I N T # 2 r L E F T $ ( S $ f 6 - L E N ( C $ ) ) ; C $ ;6 3 N E X T J : P R I N T # 2 : C L O S E 2

1 5

Page 157: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 157/260

T r a c e F o T h P E B r e t t B u t l e r

w i s h e d h a T R A C E p r o g r a m w h e n f i r s t g o m P E T .E v e n t u a l l y , w r o t e i m y s e l f .

T R A C E a l l o w s y o t o a c t u a l l y s e B A S I C e x e c u t i n g . I r e s i d e si t h h i g h e n o m e m o r y , o c c u p y i n g l e s s , t h a n 3 4 0 b y t e s .

I d i s p l a y s e a c h l i n e a i t ' s i n t e r p r e t e d . T h i s m e a n s t h a t i s h o w s t h a c t u a l B A S I C c o m m a n d s b e i n g p e r f o r m e d , r a t h e r t h a nj u s t L I S T i n g t h l i n e . I p a r t o l i n e i n o e x e c u t e d , y o w o n ' t s e i t F o r e x a m p l e , i y o h a v e c o n d i t i o n a l s t a t e m e n t s u c h a s

1 0 O N A G O T O 2 0 0 , 3 0 0 , 4 0 0 a n v a r i a b l ei 2 y o u ' l l s e e : 1 0 O G O T O 2 0 0 , 3 0 0 , o w i t h a I s t a t e m e n t l i k e :

1 0 I T H E N = B w i t h l e s s t h a n y o u ' l l s e e : 1 0 I T H E Nw i t h o o v e r y o u ' l l s e e : 1 0 I T H E N = B

O n m o r e c h a r a c t e r i s t i c o T R A C E : i a l s o s h o w s v a l u e s t h a ta r b e i n g i n p u t .

T R A C E c o m e s a B A S I C p r o g r a m , w h i c h P O K E s t h m a c h i n e l a n g u a g e i n s t r u c t i o n s i n t o t h p r o p e r p l a c e . I f i n d s t h h i g h e n o m e m o r y , w h e r e v e r i h a p p e n s t o b e , a n t h e n b u i l d s t h m a c h i n e l a n g u a g e u t h e r e . S i d o e s n ' t m a t t e r i y o u r P E i f i t t e dw i t h 4 K 8 K 1 6 o m o r e : T R A C E w i l l b e p a c k e d i n t o t h r i g h tp l a c e .

P r o g r a m s m a b c h a n g e d , o n e p r o g r a m s l o a d e d , w i t h o u ta f f e c t i n g T R A C E . I w i l l s t a y i t h e r e u n t i l y o c u p o w e r o f f . A l B A S I C f u n c t i o n s o p e r a t e n o r m a l l y ( b u t s l o w e r ) . I y o u s t h S T O P k e t s t o p a p r o g r a m , h o l d i d o w n f o f e m o m e n t s u n t i li " c a t c h e s . "

T h e r e a r t w v e r s i o n s o T R A C E : o n f o o r i g i n a l R O a n o n f o t h n e u p g r a d e ( 1 6 K , 3 2 K ) R O M .

O n c e t h m a c h i n e l a n g u a g e v e r s i o n o T R A C E i w r i t t e n t f i y o u r m a c h i n e , i m a b u s e d r i g h t a w a y o s a v e d w i t h t h M a c h i n eL a n g u a g e M o n i t o r . . B A S I C T R A C E t e l l s y o h o t d t h i s .T h m a c h i n e l a n g u a g e v e r s i o n i h a n d i e r , s i n c e i w i l l l o a d m o r eq u i c k l y a n i m a b e l o a d e d w i t h o u t d i s t u r b i n g o t h e r B A S I Cp r o g r a m s p r e v i o u s l y i m e m o r y .

T h e r e a r f o u r l o c a t i o n s y o n e e d t k n o w t r u T R A C Ep r o p e r l y . T h B A S I C T R A C E l o a d e r g i v e s y o t h a d d r e s s e s t h a ta p p l y t y o u r m a c h i n e .

I N I T I A L I Z E s e a l s T R A C E i n t o h i g h m e m o r y a n r e s t o r e sa n e x i s t i n g B A S I C p r o g r a m s . U s o n c e a f t e r l o a d i n g t h m a c h i n e

1 5

Page 158: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 158/260

U t i l i t i e s

l a n g u a g e T R A C E .A R s e t s T R A C E o n F r o m t h i s p o i n t o n B A S I Cp r o g r a m s c a n b e T R A C E ' d .

D I S A R M s e t s T R A C E o f f . T R A C E r e m a i n s l o c k e d i h i g hm e m o r y , b u d o e s n o a c o y o u r B A S I C p r o g r a m .

S p e e d L o c a t i o n P o k e a n y v a l u e f r o m t 2 5 h e r e , t c o n t r o l t h e s p e e d o f t h e T R A C E d i s p l a y .

T h S Y c o m m a n d s f o A R a n D I S A R M m a b g i v e nd i r e c t l y f r o m p r o g r a m . S w h e n y o u ' r e d e b u g g i n g , y o c a h a v ey o u r p r o g r a m t u r n T R A C E o a a c e r t a i n p o i n t , a n t u r n i o f a g a i n l a t e r .

I y o u ' r e t r a c i n g a d u l l p a r t o y o u r p r o g r a m , h o l d d o w n t h S H I F T k e y . T h i s w i l l s p e e d t h i n g s u b i t .

S p e c i a l t h a n k s t J i B u t t e r f i e l d , T o r o n t o ; w i t h o u t h i e n c o u r a g e m e n t a n a s s i s t a n c e T R A C E w o u l d s t i l l b j u s t a i d e a .

P R I N T " T H I S P R O G R A M L O C A T E S T R A C E I N P R I N T " A N Y S I Z E M E M O R Y T H A T I F I T T E D . . . "P R I N T " T H I S V E R S I O N ' W O R K S O N L Y W I T H "P R I N T " O R I G I N A L R O P E T S U S A N O T H E R "P R I N T " V E R S I O N F O T H E N E W ( 1 6 K , 3 2 K ) M A C H I N E S "

1 D A T A - 3 4 3 , 1 6 2 , 5 , 1 8 9 , 1 8 1 , 2 2 4 , 1 4 9 , 1 9 4 , 2 0 2 , 1 6 , 2 4 8 , 1 6 9 , 2 3 9 , 1 3 3 , 2 1 0 , 9 61 D A T A 1 7 3 , - 3 4 3 , 1 3 3 , 1 3 4 , 1 7 3 , - 3 4 2 , 1 3 3 , 1 3 5 , 1 6 9 , 2 5 5 , 1 3 3 , 1 2 4 , 1 6 0 , 0 , 1 6 21 D A T A 3 , 1 3 4 , 1 2 5 , 1 6 2 , 3 , 3 2 , - 2 7 2 , 2 0 8 , 2 4 9 , 2 0 2 , 2 0 8 , 2 4 8 , 3 2 , - 2 7 2 , 3 2 , - 2 7 21 D A T A 7 6 , 1 0 6 , 1 9 7 , 1 6 2 , 5 , 1 8 9 , - 6 , 1 4 9 , 1 9 4 , 2 0 2 , 1 6 , 2 4 8 , 1 6 9 , 2 4 2 , 1 3 3 , 2 1 0 , 9 61 D A T A 2 3 0 , 1 2 4 , 2 0 8 , 2 , 2 3 0 , 1 2 5 , 1 7 7 , 1 2 4 , 9 6 , 2 3 0 , 2 0 1 , 2 0 8 , 2 , 2 3 0 , 2 0 2 , 9 6 , 3 21 D A T A 1 9 7 , 0 , 8 , 7 2 , 1 3 3 , 7 9 , 1 3 8 , 7 2 , 1 5 2 , 7 2 , 1 6 6 , 1 3 7 , 1 6 5 , 1 3 6 , 1 9 7 , 7 7 , 2 0 8 , 41 D A T A 2 2 8 , 7 8 , 2 4 0 , 1 0 7 , 1 3 3 , 7 7 , 1 3 3 , 8 2 , 1 3 4 , 7 8 , 1 3 4 , 8 3 , 1 7 3 , 4 , 2 , 2 0 8 , 1 4 , 1 6 91 D A T A 3 , 1 3 3 , 7 4 , 2 0 2 , 2 0 8 , 2 5 3 , 1 3 6 , 2 0 8 , 2 5 0 , 1 9 8 , 7 4 , 1 6 , 2 4 6 , 3 2 , - 5 4 , 1 6 9 , 1 6 01 D A T A 1 6 0 , 8 0 , 1 5 3 , 2 5 5 , 1 2 7 , 1 3 6 , 2 0 8 , 2 5 0 , 1 3 2 , 7 6 , 1 3 2 , 8 4 , 1 3 2 , 8 5 , 1 3 2 , 8 6 , 1 2 01 D A T A 2 4 8 , 1 6 0 , 1 5 , 6 , 8 2 , 3 8 , 8 3 , 1 6 2 , 2 5 3 , 1 8 1 , 8 7 , 1 1 7 , 8 7 , 1 4 9 , 8 7 , 2 3 2 , 4 8 , 2 4 72 D A T A 1 3 6 , 1 6 , 2 3 8 , 2 1 6 , 8 8 , 1 6 2 , 2 , 1 6 9 , 4 8 , 1 3 3 , 8 9 , 1 3 4 , 8 8 , 1 8 1 , 8 4 , 7 2 , 7 4 , 7 42 D A T A 7 4 , 7 4 , 3 2 , - 4 4 , 1 0 4 , 4 1 , 1 5 , 3 2 , - 4 4 , 1 6 6 , 8 8 , 2 0 2 , 1 6 , 2 3 3 , 3 2 , - 3 8 , 3 2 , - 3 82 D A T A 1 6 5 , 7 5 , 1 9 7 , 2 0 1 , 2 4 0 , 5 5 , 1 6 5 , 7 9 , 2 0 8 , 4 , 1 3 3 , 7 7 , 2 4 0 , 4 7 , 1 6 , 4 2 , 2 0 1 , 2 5 52 D A T A 2 0 8 , 8 , 1 6 9 , 9 4 , 3 2 , - 3 0 , 2 4 , 1 4 4 , 3 3 , 4 1 . , 1 2 7 , 1 7 0 , 1 6 0 , 0 , 1 8 5 , 1 4 5 , 1 9 2 , 4 82 D A T A 3 , 2 0 0 , 2 0 8 , 2 4 8 , 2 0 0 , 2 0 2 , 1 6 , 2 4 4 , 1 8 5 , 1 4 5 , 1 9 2 , 4 8 , 6 , 3 2 , - 3 2 , 2 0 0 , 2 0 82 D A T A 2 4 5 , 4 1 , 1 2 7 , 3 2 , - 3 2 , 1 6 5 , 2 0 1 , 1 3 3 , 7 5 , 1 0 4 , 1 6 8 , 1 0 4 , 1 7 0 , 1 0 4 , 4 0 , 9 6 , 1 6 82 D A T A 1 7 3 , 6 4 , 2 3 2 , 4 1 , 3 2 , 2 0 8 , 2 4 9 , 1 5 2 , 9 6 , 9 , 4 8 , 1 9 7 , 8 9 , 2 0 8 , 4 , 1 6 9 , 3 2 , 2 0 82 D A T A 2 , 1 9 8 , 8 9 , 4 1 , 6 3 , 9 , 1 2 8 , 1 3 2 , 8 1 , 3 2 , - 5 4 , 1 6 4 , 7 6 , 1 5 3 , 0 , 1 2 8 , 1 9 2 , 7 9 , 2 0 82 D A T A 2 , 1 6 0 , 7 , 2 0 0 , 1 3 2 , 7 6 , 1 6 4 , 8 1 , 9 6 , 7 6 , - 2 5 6 , 3 2 , - 2 6 31 0 0 0 S 2 = P E E K ( 1 3 4 ) + P E E K ( 1 3 5 ) * 2 5 6 : S l = S 2 - 3 4 31 0 1 0 F O R J = S 1 T O S 2 - 11 0 2 0 R E A D X : I F X > = 0 G O T O 1 0 5 01 0 3 0 Y = X + S 2 : X = I N T ( Y / 2 5 6 ) : Z = Y - X * 2 5 61 0 4 0 P O K E J , Z : J = J + 11 0 5 0 P O K E J , X1 0 6 0 N E X T1 0 7 0 P R I N T " = = T R A C E = = = "1 0 8 0 R E B B R E T T B U T L E R , T O R O N T O1 0 9 0 P R I N T " T O I N I T I A L I Z E A F T E R L O A D : S Y S " ; S 1 + 1 71 1 0 0 P R I N T " T O E N A B L E T R A C E : S Y S " ; S I + 5 61 1 1 0 P R I N T " T O D I S A B L E : S Y S " ; S l + 21 1 2 0 P R I N T " C H A N G E S P E E D V 7 I T H : P O K E " ; S 1 + 1 2 4 ; " , X "1 1 3 0 P R I N T " = = M A K E N O T E O A B O V E C O M M A N D S = = "1 1 4 0 P R I N T " S A V E U S I N G M A C H I N E L A N G U A G E M O N I T O R : 1 11 1 5 0 P R I N T " . 0 1 , T R A C E " ;1 1 6 0 S = I N T ( S l / 2 5 6 ) : T = S 1 - S * 2 5 6

1 5

Page 159: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 159/260

1 1 7 0 P O K E 1 3 4 r T : P O K E 1 3 5 , S1 1 8 0 P O K E 1 3 0 f T : P O K E 1 3 1 , S1 1 9 0 S = S 1 : G O S U B 1 4 0 01 2 0 0 S = S 2 : G O S U B 1 4 0 01 2 1 0 P R I N T : E N D1 4 0 0 P R I N T " , " ; : S = S / 4 0 9 61 4 1 0 G O S U B 1 4 2 01 4 2 0 G O S U B 1 4 3 01 4 3 0 T = I N T ( S ) : I F T > T H E N T = T + 71 4 4 0 P R I N T C H R $ ( T + 4 8 ) ; : S = ( S - I N T ( S ) ) * 1 6 : R E T U R N

P R I N T " T H I S P R O G R A M L O C A T E S T R A C E I N P R I N T " A N Y S I Z E M E M O R Y T H A T I F I T T E D . . . "P R I N T " T H I S V E R S I O N W O R K S O N L Y W I T H "P R I N T " U P G R A D E R O ( 3 2 K ) P E T S U S P R I N T " A N O T H E R V E R S I O N F O O R I G I N A L R O M "

1 P R I N T " M A C H I N E S . "1 D A T A - 3 4 2 , 1 6 2 , 5 , 1 8 9 , 2 4 9 , 2 2 4 , 1 4 9 , 1 1 2 , 2 0 2 , 1 6 , 2 4 8 , 1 6 9 , 2 3 9 , 1 3 3 , 1 2 8 , 9 61 D A T A 1 7 3 , - 3 4 2 , 1 3 3 , 5 2 , 1 7 3 , - 3 4 1 , 1 3 3 , 5 3 , 1 6 9 , 2 5 5 , 1 3 3 , 4 2 , 1 6 0 , 0 , 1 6 2 , 31 D A T A 1 3 4 , 4 3 , 1 6 2 , 3 , 3 2 , - 2 7 1 , 2 0 8 , 2 4 9 , 2 0 2 , 2 0 8 , 2 4 8 , 3 2 , - 2 7 1 , 3 2 , - 2 7 1 , 7 61 D A T A 1 2 1 , 1 9 7 , 1 6 2 , 5 , 1 8 9 , - 6 , 1 4 9 , 1 1 2 , 2 0 2 , 1 6 , 2 4 8 , 1 6 9 , 2 4 2 , 1 3 3 , 1 2 8 , 9 61 D A T A 2 3 0 , 4 2 , 2 0 8 , 2 , 2 3 0 , 4 3 , 1 7 7 , 4 2 , 9 6 , 2 3 0 , 1 1 9 , 2 0 8 , 2 , 2 3 0 , 1 2 0 , 9 61 D A T A 3 2 , 1 1 5 , 0 , 8 , 7 2 , 1 3 3 , 1 9 5 , 1 3 8 , 7 2 , 1 5 2 , 7 2 , 1 6 6 , 5 5 , 1 6 5 , 5 4 , 1 9 71 D A T A 2 5 3 , 2 0 8 , 4 , 2 2 8 , 2 5 4 , 2 4 0 , 1 0 6 , 1 3 3 , 2 5 3 , 1 3 3 , 3 5 , 1 3 4 , 2 5 4 , 1 3 4 , 3 6 , 1 6 51 D A T A 1 5 2 , 2 0 8 , 1 4 , 1 6 9 , 3 , 1 3 3 , 1 0 7 , 2 0 2 , 2 0 8 , 2 5 3 , 1 3 6 , 2 0 8 , 2 5 0 , 1 9 8 , 1 0 7 , 2 0 81 D A T A 2 4 6 , 3 2 , - 5 4 , 1 6 9 , 1 6 0 , 1 6 0 , 8 0 , 1 5 3 , 2 5 5 , 1 2 7 , 1 3 6 , 2 0 8 , 2 5 0 , 1 3 2 , 1 8 2 , 1 3 22 D A T A 3 7 , 1 3 2 , 3 8 , 1 3 2 , 3 9 , 1 2 0 , 2 4 8 , 1 6 0 , 1 5 , 6 , 3 5 , 3 8 , 3 6 , 1 6 2 , 2 5 3 , 1 8 12 D A T A 4 0 , 1 1 7 , 4 0 , 1 4 9 , 4 0 , 2 3 2 , 4 8 , 2 4 7 , 1 3 6 , 1 6 , 2 3 8 , 2 1 6 , 8 8 , 1 6 2 , 2 , 1 6 92 D A T A 4 8 , 1 3 3 , 1 0 3 , 1 3 4 , 1 0 2 , 1 8 1 , 3 7 , 7 2 , 7 4 , 7 4 , 7 4 , 7 4 , 3 2 , - 4 4 , 1 0 4 , 4 12 D A T A 1 5 , 3 2 , - 4 4 , 1 6 6 , 1 0 2 , 2 0 2 , 1 6 , 2 3 3 , 3 2 , - 3 8 , 3 2 , - 3 8 , 1 6 5 , 1 8 4 , 1 9 7 , 1 1 92 D A T A 2 4 0 , 5 5 , 1 6 5 , 1 9 5 , 2 0 8 , 4 , 1 3 3 , 2 5 3 , 2 4 0 , 4 7 , 1 6 , 4 2 , 2 0 1 , 2 5 5 , 2 0 8 , 82 D A T A 1 6 9 , 1 0 5 , 3 2 , - 3 0 , 2 4 , 1 4 4 , 3 3 , 4 1 , 1 2 7 , 1 7 0 , 1 6 0 , 0 , 1 8 5 , 1 4 5 , 1 9 2 , 4 82 D A T A 3 , 2 0 0 , 2 0 8 , 2 4 8 , 2 0 0 , 2 0 2 , 1 6 , 2 4 4 , 1 8 5 , 1 4 5 , 1 9 2 , 4 8 , 6 , 3 2 , - 3 2 , 2 0 02 D A T A 2 0 8 , 2 4 5 , 4 1 , 1 2 7 , 3 2 , - 3 2 , 1 6 5 , 1 1 9 , 1 3 3 , 1 8 4 , 1 0 4 , 1 6 8 , 1 0 4 , 1 7 0 , 1 0 4 , 4 02 D A T A 9 6 , 1 6 8 , 1 7 3 , 6 4 , 2 3 2 , 4 1 , 3 2 , 2 0 8 , 2 4 9 , 1 5 2 , 9 6 , 9 , 4 8 , 1 9 7 , 1 0 3 , 2 0 82 D A T A 4 , 1 6 9 , 3 2 , 2 0 8 , 2 , 1 9 8 , 1 0 3 , 4 1 , 6 3 , 9 , 1 2 8 , 1 3 2 , 1 0 6 , 3 2 , - 5 4 , 1 6 4 , 1 8 23 D A T A 1 5 3 , 0 , 1 2 8 , 1 9 2 , 1 9 5 , 2 0 8 , 2 , 1 6 0 , 7 , 2 0 0 , 1 3 2 , 1 8 2 , 1 6 4 , 1 0 6 , 9 6 , 7 63 D A T A - 2 5 5 , 3 2 , - 2 6 21 0 0 0 S 2 = P E E K ( 5 2 ) + P E E K ( 5 3 ) * 2 5 6 : S l = S 2 - 3 4 21 0 1 0 F O R J = S 1 T O S 2 - 11 0 2 0 R E A D X : I F X > = 0 G O T O 1 0 5 01 0 3 0 Y = X + S 2 : X = I N T ( Y / 2 5 6 ) : Z = Y - X * 2 5 61 0 4 0 P O K E J , Z : J = J + 11 0 5 0 P O K E J , X1 0 6 0 N E X T1 0 7 0 P R I N T " = = T R A C E = = = "1 0 8 0 R E M A R K : B B R E T T B U T L E R , T O R O N T O1 0 9 0 P R I N T " T O I N I T I A L I Z E A F T E R L O A D : S Y S " ; S 1 + 1 71 1 0 0 P R I N T " T O E N A B L E T R A C E : S Y S " ; S l + 5 61 1 1 0 P R I N T " T O D I S A B L E : S Y S " ; S l + 21 1 2 0 P R I N T " C H A N G E S P E E D W I T H : P O K E " ; S 1 + 1 2 3 ; " , X "1 1 3 0 P R I N T " = = M A K E A N O T E O A B O V E C O M M A N D S = = "1 1 4 0 P R I N T " S A V E U S I N G M A C H I N E L A N G U A G E M O N I T O R : "1 1 5 0 P R I N T " . " 1 1 6 0 S = I N T ( S l / 2 5 6 ) : T = S 1 - S * 2 5 61 1 7 0 P O K E 5 2 , T : P O K E 5 3 , S1 1 8 0 P O K E 4 8 , T : P O K E 4 9 , S1 1 9 0 P R I N T C H R $ ( 3 4 ) ; " T R A C E " ; C H R $ ( 3 4 ) ; " , 0 1 " ;1 2 0 0 S = S 1 : G O S U B 1 4 0 01 2 1 0 S = S 2 : G O S U B 1 4 0 01 2 2 0 P R I N T : E N D1 4 0 0 P R I N T " , " ; : S = S / 4 0 9 61 4 1 0 G O S U B 1 4 2 01 4 2 0 G O S U B 1 4 3 01 4 3 0 T = I N T ( S ) : I F T > T H E N T = T + 71 4 4 0 P R I N T C H R $ ( T + 4 8 ) ; : S = ( S - I M T ( S ) ) * 1 6 : R E T U R N

1 5

Page 160: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 160/260

U t i l i t i e s

U t i n s e l :E n a b l i n g U t i l i t i e s

L a r r y I s a a c s

T h e r e i g r o w i n g a m o u n t o g o o d u t i l i t y s o f t w a r e w h i c h c a m a k et h t i m e s p e n t w i t h o u r P E T s m o r e p r o d u c t i v e . S o m e o t h e s e u t i l i t i e sa d t h e m s e l v e s t t h e o p e r a t i n g s y s t e m o t h P E T , p r o v i d i n g u w i t he x t r a c o m m a n d s , d e b u g g i n g t o o l s , e t c . I w a m a d e s i r e t o h a v en u m b e r o t h e s e i m e m o r y a t h s a m e t i m e a n b a b l e t o a c c e s st h e m a n e e d e d . T d t h i s , t h e r e w e r e c o u p l e o f p r o b l e m s t b d e a l t w i t h .

T h f i r s t p r o b l e m c o m e s f r o m t h w a t h e s e u t i l i t i e s a t t a c ht h e m s e l v e s t t h e o p e r a t i n g s y s t e m . W h e n e n a b l e d , u s u a l l y v i S Y c o m m a n d , t h e y a t t a c h t h e m s e l v e s t t h e o p e r a t i n g s y s t e m b m o d i f y i n g t h C H A R G O T r o u t i n e f o u n d i p a g e z e r o . T h o p e r a t i n g s y s t e m u s e s t h i s r o u t i n e t f e t c h c h a r a c t e r s f r o m p r o g r a mw h i l e i i r u n n i n g , o f r o m t h k e y b o a r d b u f f e r w h e n e x e c u t i n gi m m e d i a t e c o m m a n d s . B m o d i f y i n g t h C H A R G O T r o u t i n e , t h u t i l i t y c a e x a m i n e t h e i n p u t b e f o r e t h e o p e r a t i n g s y s t e m d o e s . W h e nu s i n g v a r i o u s u t i l i t i e s , i t ' s p o s s i b l e f o o n u t i l i t y ' s m o d i f i c a t i o n s t b i n c o m p a t i b l e w i t h a n o t h e r ' s .

S f a t h o n l y d i f f i c u l t y I ' v e e n c o u n t e r e d i n v o l v i n g t h eC A R G O T r o u t i n e i w i t h C o m m o d o r e ' s D O S u p p o r t P r o g r a m ,a l s o k n o w n a t h W e d g e . T h W e d g e r e q u i r e s a m a c h i n e l a n g u a g ej u m p i n s t r u c t i o n i t h f i r s t t h r e e b y t e s o t h C H A R G O T r o u t i n e .T h i s j u m p i n s t r u c t i o n s h o u l d j u m p t t h s t a r t i n g p o i n t i t h W e d g em a c h i n e c o d e . U n f o r t u n a t e l y , t h e W e d g e i n o a b l e t o p u t h i s j u m pi n s t r u c t i o n i n t o t h C H A R G O T r o u t i n e . I i p u t h e r e b s o m ee x t r a m a c h i n e c o d e w h i c h i p a r t o t h D O S u p p o r t P r o g r a m o d i s k e t t e . T h i s m e a n s d o n ' t h a v e S Y c o m m a n d t e n a b l e t h eW e d g e . I e n a b l e a n o t h e r u t i l i t y w h i c h m o d i f i e s t h f i r s t t h r e e b y t e so t h C H A R G O T r o u t i n e , i w o u l d t a k e s o m e e x t r a w o r k t r e e n a b l e t h e W e d g e .T h s e c o n d p r o b l e m i s i m p l y a l t h o s e S Y c o m m a n d s y o h a v e t r e m e m b e r . T h f o l l o w i n g p r o g r a m , c a l l e d U T I N S E L ,p r o v i d e s s i m p l e a n f l e x i b l e s o l u t i o n t o t h a b o v e p r o b l e m s . W i t hi t y o o n l y n e e d t r e m e m b e r c o u p l e o f S Y c o m m a n d s .

U T I N S E L c o n s i s t s o m e n u t a b l e a n m a c h i n e l a n g u a g ep r o g r a m , w h i c h i e x e c u t e d v i S Y c o m m a n d . T h e m e n u t a b l e i

1 5

Page 161: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 161/260

u s e r d e f i n a b l e a n c a c o n t a i n u t n i n e e n t r i e s . E a c h e n t r y c o n s i s t so p r o m p t m e s e s a g e p l u s a c o p y o t h C H A R G O T r o u t i n e t h a te n a b l e s t h e a s s o c i a t e d u t i l i t y o u t i l i t i e s . W h e n e x e c u t e d , t h em a c h i n e l a n g u a g e p r o g r a m l i s t s t h p r o m p t m e s s a g e s , p r e c e d i n g e a c hw i t h n u m b e r . B t y p i n g t h e n u m b e r o f t h e m e n u i t e m y o w a n tp l u s a c a r r i a g e r e t u r n , t h a s s o c i a t e d C H A R G O T r o u t i n e w i l l b c o p i e d i n t o t h p r o p e r l o c a t i o n i p a g e z e r o .

T h U T I N S E L / N E W p r o g r a m i n c l u d e s t h m a c h i n e c o d e a n m e n u t a b l e i D A T A s t a t e m e n t s , p l u s B A S I C p r o g r a m w h i c hP O K E S t h c o d e a n t a b l e i n t o t h t o o f r e e m e m o r y . T a d a p tU T I N S E L / N E W t y o u r o w r e q u i r e m e n t s , y o n e e d o n l y m o d i f yt h m e n u t a b l e .

T s e u y o u r o w u t i l i t y p a c k a g e , f i r s t r e s e t y o u r P E T . N e x t ,l o a d i t h u t i l i t i e s w h i c h o c c u p y R A M . N o r u a v e r s i o n o U T I N S E L w i t h o n l y t h O R I G I N A L m e n u e n t r y p r o v i d e d i t h l i s t i n g . T d e t e r m i n e w h a t C H A R G O T r o u t i n e s y o w i l l n e e d f o y o u r m e n u t a b l e , w r i t e s h o r t p r o g r a m t p r i n t o u t 2 4 m e m o r yl o c a t i o n s s t a r t i n g a 1 1 f o u p g r a d e P E T s a n 1 9 f o o r i g i n a l P E T s .N o y o m a e n a b l e t h d e s i r e d u t i l i t y a n t h e n r u y o u r p r o g r a mt p r i n t o u t h e r e q u i r e d C H A R G O T r o u t i n e . B e f o r e e n a b l i n g o t h e ru t i l i t i e s , r e s t o r e t h o r i g i n a l C H A R G O T r o u t i n e b e x e c u t i n g t h eU T I N S E L p r o g r a m y o u l o a d e d e a r l i e r . I s o m e c a s e s i i p o s s i b l e t e n a b l e m o r e t h a n o n u t i l i t y . F o e x a m p l e , T h B A S I CP r o g r a m m e r ' s T o o l k i t a n t h W E D G E c a n b e e n a b l e ds i m u l t a n e o u s l y .

T s e u t h m e n u t a b l e , y o u m u s t i n c l u d e s e o D A T As t a t e m e n t s f o e a c h u t i l i t y . T h f i r s t D A T A s t a t e m e n t o s e s h o u l dc o n t a i n p r o m p t m e s s a g e . T h n e x t D A T A s t a t e m e n t s s h o u l dc o n t a i n t h C H A R G O T r o u t i n e n e e d e d b t h u t i l i t y , o u t i l i t i e s ,a s s o c i a t e d w i t h t h p r o m p t m e s s a g e . T h e s e s e t s o f s t a t e m e n t s m a b p l a c e d i t h m e n u t a b l e i n a n o r d e r . A f t e r y o V e n t e r e d t h e m e n ut a b l e , s e i t h p r o g r a m t t h n u m b e r o e n t r i e s .

N o s a v e c o p y o t h p r o g r a m w i t h y o u r t a b l e ; t h e n r u i t T h m a c h i n e c o d e a n t a b l e w i l l b l o a d e d i n t o m e m o r y j u s t b e l o wy o u r u t i l i t i e s . W r i t e d o w n t h t w S Y c o m m a n d s i p r i n t s o u t . T h f i r s t o n s e t s t h t o o m e m o r y p o i n t e r t j u s t b e l o w U T I N S E L , a n t h o t h e r e x e c u t e s t h U T I N S E L m a c h i n e c o d e . T s a v e y o u r u t i l i t yp a c k a g e , e n t e r t h m a c h i n e l a n g u a g e m o n i t o r a n e x a m i n e t h t o o m e m o r y p o i n t e r a h e 3 a n 3 5 I y o h a v e n ' t d o n e t h i s b e f o r e ,t y p e S Y 1 0 2 4 a n 0 0 3 4 0 0 3 5 t g e h e d u m p o t h e s e l o c a t i o n s .U s t h e s e v a l u e s t s a v e m e m o r y f r o m t h i s s t a r t i n g a d d r e s s u t t h p h y s i c a l t o p o f m e m o r y . R e f e r t t h C o m m o d o r e m a n u a l f o m o r e

1 5

Page 162: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 162/260

d e t a i l o t h S A V E c o m m a n d . F o t h p r o g r a m l i s t i n g p r o v i d e d , h e 3 a n 3 w e r e 4 a n 7 r e s p e c t i v e l y , a n t h s a v e c o m m a n d w a s S" U T I L I T Y . P K G " , 0 8 , 7 d 4 7 , 8 0 0 0 f o s a v i n g o C o m m o d o r e d i s k u s i n g

3 2 C B M . W h e n e v e r y o l o a d i y o u r u t i l i t y p a c k a g e , b s u r e t u s t h S Y c o m m a n d t o g e t t h e t o p o f f r e e m e m o r y b e f o r e r u n n i n ga n p r o g r a m s .

T h l i s t i n g p r o v i d e d i f o U T I N S E L / N E W , w h i c h r u n s o n e R O M s . T h m e n u t a b l e i n c l u d e s e n t r i e s f o T h B A S I CP r o g r a m m e r ' s T o o l k i t , t h C o m m o d o r e D O S u p p o r t p r o g r a m , a n t h o r i g i n a l C H A R G O T r o u t i n e . Y o m a a l s o w a n t t i n c l u d e t h T R A C E u t i l i t y b B r e t t B u t l e r i t h F a l l C O M P U T E ! T h s e c o n dl i s t i n g g i v e s t h c h a n g e s n e e d e d t c o n v e r t t h p r o g r a m t U T I N S E L / O L D f o o r i g i n a l R O M s . W h e n p r i n t i n g t h C H A R G O Tr o u t i n e , s t a r t a 1 9 i n s t e a d o 1 1 2 . Y o w i l l h a v e t h a v e m a c h i n el a n g u a g e m o n i t o r o t a p e i y o w i s h t s a v e t h e m a c h i n e c o d e o t h o r i g i n a l R O M s .1 0 R E U T I N S E L / N E W1 1 R E U T I L I T Y I N P U T R O U T I N E S E L E C T O R1 2 P R I N T1 3 P R I N T " C O P Y R I G H T 1 9 7 9 S M A L L S Y S T E M "1 4 P R I N T " S E R V I C E S , I N C . "1 5 P R I N T " 9 0 0 S P R I N G G A R D E N S T R E E T "1 6 P R I N T " G R E E N S B O R O , N . C . 2 7 4 0 3 U S A "1 7 P R I N T1 8 R E A L R I G H T S R E S E R V E D . T H I S1 9 R E M P R O G R A M M A B D U P L I C A T E D F O 2 0 R E U S B I N D I V I D U A L S F O T H E I R2 1 R E M S P E C I F I C M A C H I N E . S U C H2 2 R E D U P L I C A T I O N M U S T I N C L U D E T H E2 3 R E C O P Y R I G H T N O T I C E A N A D D R E S S .2 4 R E R E P R O D U C T I O N F O R C O M M E R C I A L2 5 R E M P U R P O S E S I E X P R E S S L Y2 6 R E M P R O H I B I T E D .2 7 R E 2 8 P R I N T " U T I N S E L I B E I N G L O A D E D "2 9 P R I N T " I N T O H I G H M E M O R Y "3 0 P R I N T3 1 R E 3 2 R E U T I N S E L M A C H I N E C O D E3 3 D A T A 1 6 9 f 0 f 1 3 3 , 4 8 f 1 3 3 f 5 2 , 1 6 9 f 03 4 D A T A 1 3 3 , 4 9 , 1 3 3 , 5 3 , 7 6 , 1 3 7 , 1 9 5 , 1 6 53 5 D A T A l r 7 2 , 1 6 5 f 2 , 7 2 , 1 6 2 , 0 f 1 6 03 6 D A T A 0 , 1 3 4 , 1 , 1 3 2 , 2 , 1 6 2 , 1 , 1 4 23 7 D A T A 5 8 , 3 , 1 6 9 , 1 3 , 3 2 , 2 1 0 , 2 5 5 , 3 23 8 D A T A 2 1 0 , 2 5 5 , 3 2 , - 3 8 , 2 2 4 , 0 , 2 0 81 5

Page 163: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 163/260

3 9 D A T A 2 3 f 1 6 9 , 1 3 f 3 2 , 2 1 0 , 2 5 5 f 1 6 9 f 1 4 54 0 D A T A 3 2 f 2 1 0 f 2 5 5 , 1 7 3 , 5 8 , 3 , 9 , 4 84 1 D A T A 3 2 r 2 1 0 f 2 5 5 , 2 3 8 , 5 8 f 3 f 2 0 8 , 2 1 84 2 D A T A 1 6 9 , 1 3 f 3 2 f 2 1 0 , 2 5 5 , 3 2 , 2 0 7 r 2 5 54 3 D A T A 1 7 0 , 4 1 , 2 4 0 , 2 0 1 , 4 8 , 2 0 8 , 2 4 1 , 1 3 84 4 D A T A 4 1 f 1 5 f 2 0 5 f 5 8 f 3 r 1 6 f 2 3 3 , 1 4 14 5 D A T A 5 8 f 3 , 3 2 f - 3 8 f 1 6 2 , 0 f 1 7 74 6 D A T A 1 , 1 4 9 , 1 1 2 , 2 2 4 , 2 4 , 2 4 0 , 4 , 2 3 24 7 D A T A 2 0 0 r 2 0 8 f 2 4 4 , 1 0 4 , 1 3 3 f 2 f 1 0 4 , 1 3 34 8 D A T A 1 , 7 6 , 1 3 7 , 1 9 5 , 1 6 0 , 0 , 1 7 4 , 5 84 9 D A T A 3 f 2 0 2 f 2 4 0 f 9 , 1 7 7 , 1 , 2 0 1 , 05 0 D A T A 2 4 0 , 2 2 , 1 6 8 , 2 0 8 , 2 4 4 , 3 2 , 2 0 5 , 2 5 35 1 D A T A 3 2 , 2 0 5 , 2 5 3 , 2 0 0 , 1 7 7 , 1 , 2 0 1 , 05 2 D A T A 2 4 0 , 6 , 3 2 , 2 1 0 , 2 5 5 , 2 4 , 1 4 4 , 2 4 35 3 D A T A 2 0 0 , 9 65 4 R E 5 5 R E M E N U T A B L E5 6 D A T A " T O O L K I T "5 7 D A T A 2 3 0 , 1 1 9 , 2 0 8 , 2 , 2 3 0 , 1 2 0 , 1 7 3 , 05 8 D A T A 0 , 7 6 , 1 5 4 , 1 7 8 , 0 , 7 6 , 1 9 6 , 1 7 85 9 D A T A 1 0 0 , 0 , 1 0 0 , 0 , 5 6 , 2 3 3 , 1 7 9 , 06 0 D A T A " W E D G E 4 . 0 " : R E M F O 3 2 P E 6 1 D A T A 7 6 , 8 2 , 1 2 6 , 2 , 2 3 0 , 1 2 0 , 1 7 3 , 06 2 D A T A 0 , 2 0 1 , 5 8 , 1 7 6 , 1 0 , 2 0 1 , 3 2 , 2 4 06 3 D A T A 2 3 9 , 5 6 , 2 3 3 , 4 8 , 5 6 , 2 3 3 , 2 0 8 , 9 66 4 D A T A " O R I G I N A L "6 5 D A T A 2 3 0 , 1 1 9 , 2 0 8 , 2 , 2 3 0 , 1 2 0 , 1 7 3 , 06 6 D A T A 0 , 2 0 1 , 5 8 , 1 7 6 , 1 0 , 2 0 1 , 3 2 , 2 4 06 7 D A T A 2 3 9 , 5 6 , 2 3 3 , 4 8 , 5 6 , 2 3 3 , 2 0 8 , 9 66 8 R E 6 9 R E M P O K E M A C H I N E C O D E T O T O P O 7 0 R E M F R E E M E M O R Y7 1 R E 7 2 T A = P E E K ( 5 2 ) + P E E K ( 5 3 ) * 2 5 6 - 17 3 S A = T A - 1 6 27 4 F O R J = S A T O T A - 17 5 R E A D B : I F B > = 0 G O T O 7 9 07 6 A D = B + T A : B = I N T ( A D / 2 5 6 )7 7 B 1 = A D - B * 2 5 67 8 P O K E J , B 1 : J = J + 17 9 P O K E J , B8 0 N E X T8 1 R E 8 2 R E M L O A D T A B L E F R O M T O D O W N8 3 R E M F I R S T M O V E P O I N T E R F O R S T R I N G S8 4 R E 8 5 T l = I N T ( ( S A - 2 0 4 8 ) / 2 5 6 )

1 5

Page 164: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 164/260

8 6 T 2 = ( S A - 2 0 4 8 ) - T l * 2 5 68 7 P O K E 4 8 , T 2 : P O K E 4 9 , T 18 8 R E 8 9 R E S E # T A B L E E N T R I E S9 0 R E 9 1 N = 9 2 S 1 = S A9 3 F O R K = 1 T O9 4 R E A D M $ : E L = L E N ( M $ ) + 2 69 5 S 2 = S 1 : S 1 = S 2 - E L9 6 P O K E S 1 , E L : I F K = T H E N P O K E S 1 , 09 7 P O R J = 1 T O L E N ( M $ )9 8 P O K E S l + J f A S C ( M I D $ ( M $ , J ) )9 9 N E X T1 0 0 0 S 3 = S l + J : P O K E S 3 r 0 : S 3 = S 3 + l1 0 1 0 F O R J = S 3 T O S 2 - 11 0 2 0 R E A D B : P O K E J , B1 0 3 0 N E X T1 0 4 0 N E X T1 0 5 0 R E 1 0 6 0 R E M F I X P O S I T I O N D E P E N D E N T C O D E1 0 7 0 R E 1 0 8 0 T l = I N T ( S l / 2 5 6 ) : T 2 = S 1 - T 1 * 2 5 61 0 9 0 P O K E S A + 2 2 , T 2 : P O K E S A + 2 4 f T l1 1 0 0 P O K E S A + 1 , T 2 - 1 : P O K E S A + 7 , T 11 1 1 0 R E 1 1 2 0 R E M L I N K T A B L E1 1 3 0 R E 1 1 4 0 L A = S 1 : L = 01 1 5 0 I P E E K ( L A ) = 0 T H E N G O T O 1 1 9 01 1 6 0 L = L + P E E K ( L A ) : P O K E L A f L : L A = S l + L1 1 7 0 G O T O 1 1 5 01 1 8 0 R E 1 1 9 0 P R I N T " U S E S Y S n S A 1 2 0 0 P R I N T " T S E T O O M E M O R Y "1 2 1 0 P R I N T " U S E S Y S " S A + 1 5 ;1 2 2 0 P R I N T " T R U N U T I N S E L "1 2 3 0 P O K E 5 2 r T 2 - l : P O K E 5 3 , T l1 2 4 0 P O K E 4 8 , T 2 - l : P O K E 4 9 f T l1 2 5 0 N E

R E U T I N S E L N E W - T O - O L DR E C O P Y R I G H T 1 9 7 9 S M A L L S Y S T E MR E M S E R V I C E S , I N C .R E 9 0 S P R I N G G A R D E N S T R E E TR E M G R E E N S B O R O , N . C . 2 7 4 0 3 U S R E T C O N V E R T U T I N S E L / N E W T R E U T I N S E L / O L D , S U B S T I T U T E

1 5

Page 165: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 165/260

R E T H F O L L O W I N G S T A T E M E N T S3 3 D A T A 1 6 9 , 0 , 1 3 3 f 1 3 0 f 1 3 3 , 1 3 4 f 1 6 9 , 03 4 D A T A 1 3 3 f 1 3 1 f 1 3 3 f 1 3 5 , 7 6 , 1 3 9 , 1 9 5 , 1 6 53 8 D A T A 2 1 0 , 2 5 5 , 3 2 , - 4 0 , 2 2 4 , 0 , 2 0 84 5 D A T A 5 8 , 3 , 3 2 , - 4 0 , 1 6 2 , 0 , 1 7 74 8 D A T A 1 , 7 6 , 1 3 9 , 1 9 5 , 1 6 0 , 0 , 1 7 4 , 5 85 0 D A T A 2 4 0 , 2 4 , 1 6 8 , 2 0 8 , 2 4 4 , 1 6 9 , 3 2 , 3 25 1 D A T A 2 1 0 , 2 5 5 , 3 2 , 2 1 0 , 2 5 5 , 2 0 0 , 1 7 7 , 15 2 D A T A 2 0 1 , 0 , 2 4 0 , 6 , 3 2 , 2 1 0 , 2 5 5 , 2 45 3 D A T A 1 4 4 , 2 4 3 , 2 0 0 , 9 65 7 D A T A 2 3 0 , 2 0 1 , 2 0 8 , 2 , 2 3 0 , 2 0 2 , 1 7 3 , 06 0 R E D I S C A R D W E D G E M E N U E N T R Y6 5 D A T A 2 3 0 , 2 0 1 , 2 0 8 , 2 , 2 3 0 , 2 0 2 , 1 7 3 , 07 2 T A = P E E K ( 1 3 4 ) + P E E K ( 1 3 5 ) * 2 5 6 - 17 3 S A = T A - 1 6 48 7 P O K E 1 3 0 , T 2 : P O K E 1 3 1 , T 11 2 3 0 P O K E 1 3 4 , T 2 - 1 : P O K E 1 3 5 , T 11 2 4 0 P O K E 1 3 0 , T 2 - 1 : P O K E 1 3 1 , T l

1 5

Page 166: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 166/260

C o n v e r t i n g A S C I I F i l e st P E B A S I C

H a r v e y B H e r m a nR e c e n t l y h a v e b e e n e x p e r i m e n t i n g w i t h p r o g r a m ( n o t d i s c u s s e dh e r e ) w h i c h m a k e s P E i n t o t e r m i n a l ( C o m p u M a r t T / 2 0 0 1t e r m i n a l o p t i o n ) w h i c h c a c o m m u n i c a t e w i t h r e m o t e c o m p u t e r s .N o r m a l l y , t h c h a r a c t e r s t h a t a r r e c e i v e d b t h P E T , w h e n a c t i n ga t e r m i n a l , a r d i s p l a y e d o t h s c r e e n . m o d i f i e d t h p r o g r a m t o p t i o n a l l y s a v e t h c h a r a c t e r s ( A S C I I C o d e ) t r e s e r v e d a r e a i h i g h m e m o r y ( a p p r o x i m a t e l y d e c i m a l 8 1 9 2 a n a b o v e ) . O b v i o u s l y ,t h i s p r o g r a m r e q u i r e d m e m o r y i t h i s a r e a a n w i l l n e e d t b m o d i f i e d f o a u n e x p a n d e d 8 P E T . T h q u e s t i o n o n m i g h t a s i s " W h a t c a d w i t h a A S C I I f i l e i h i g h m e m o r y ? " T h i s a r t i c l ei i n t e n d e d t a n s w e r t h a t q u e s t i o n .

C o m m o d o r e ' s P E i n o t h f i r s t c o m p u t e r h a v e w o r k e dw i t h a n s u s p e c t t h s a m e m a b t r u e f o m a n y r e a d e r s . h a v es p e n t m a n y h o u r s d e v e l o p i n g B A S I C p r o g r a m s o r e m o t ec o m p u t e r s f o u s w i t h m r e s e a r c h a n i m t e a c h i n g . I w o u l d b a d v a n t a g e o u s i c o u l d a l s o u s t h e s e p r o g r a m s ( s u i t a b l y m o d i f i e d )o t h P E T . h a v e n s t r o n g d e s i r e t r e t y p e a l t h e s e p r o g r a m s . I c o u l d c o n v e r t t h A S C I I f i l e o p r o g r a m l i s t i n g m a d e b t e r m i n a l p r o g r a m i n t o a P E T B A S I C p r o g r a m i w o u l d s a v ei m m e n s e a m o u n t s o w o r k . A n m i n o r c h a n g e s c o u l d t h e n b e d o n ew i t h t h s c r e e n e d i t o r .T h p r o g r a m c a l l e d A S C I I s h o w n i t h f i g u r e , c o n v e r t sA S C I I f i l e s i h i g h m e m o r y i n t o B A S I C p r o g r a m s . I i i n t e n d e d f o u s w i t h e x p a n d e d P E T s w i t h o r i g i n a l R O M s . T h P O K E l o c a t i o n si s t a t e m e n t n u m b e r 6 3 2 9 0 , 5 2 5 - 5 2 7 - 5 2 8 , n e e d t b c h a n g e d t 1 5 8 - 6 2 3 - 6 2 4 f o u p g r a d e R O M s . T h p r o g r a m u s e s t h d y n a m i ck e y b o a r d i d e a o M i k e L a u d e r ( s e e B e s t o P E G a z e t t e ) . I w r i t e st w l i n e s o t h s c r e e n a n p u t s t w c a r r i a g e r e t u r n s i t h k e y s t r o k e b u f f e r . T h f i r s t l i n e i B A S I C s t a t e m e n t t a k e n f r o mp a r t o p r o g r a m l i s t i n g s a v e d i h i g h m e m o r y b t h e t e r m i n a lp r o g r a m . T h s e c o n d l i n e i a i m m e d i a t e m o d e s t a t e m e n t w h i c hr e s t o r e s m e m o r y p o s i t i o n c o u n t e r a n j u m p s b a c k i n t o t h m a i np r o g r a m a g a i n . I i n e c e s s a r y t r e m e m b e r t h c u r r e n t p o s i t i o n i h i g h m e m o r y b e c a u s e a l v a r i a b l e s w e r e s e t z e r o a f t e r t h e p r e v i o u ss t e p . T h i s i t r u e w h e n e v e r n e B A S I C s t a t e m e n t i a d d e d t p r o g r a m , a i t h i s c a s e . A l t h n e B A S I C s t a t e m e n t s a r a d d e d

1 6

Page 167: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 167/260

t t h f r o n t o t h m a i n p r o g r a m w h i c h w a p u r p o s e l y w r i t t e n w i t hv e r y l a r g e s t a t e m e n t n u m b e r s . A t h c o n c l u s i o n o t h i s p r o g r a m ,t h e s t a t e m e n t s b e l o n g i n g t t h A S C I I p r o g r a m c a b d e l e t e d b h a n d o w i t h T h P r o g r a m m e r ' s B A S I C T o o l k i t .

T h A S C I I p r o g r a m c a b u s e d t d m i n o r a m o u n t o e d i t i n g " o t h f l y / * S o m e o m o r i g i n a l p r o g r a m s w e r e d o n e o c o m p u t e r w h i c h u s e s " # i n s t e a d o f < > a n i n c l u d e dc o n v e r s i o n i s t a t e m e n t 6 3 1 8 0 . A l s o " [ a n " ] w e r e u s e d i p l a c eo " ( a n " ) , " i s o m e p l a c e s a n t h i s c o n v e r s i o n i d o n e i s t a t e m e n t s 6 3 1 6 0 a n 6 3 1 7 0 . 1 a l s o r e m o v e d ( b e l l c h a r a c t e r ) f r o mt h p r o g r a m s . B e s i d e s g i v i n g s y n t a x e r r o r l a t e r w h e n r u o P E p r o g r a m , t h i n c l u s i o n o o c c a s i o n a l l y c a u s e d l i n e s t b o v e r 8 c h a r a c t e r s l o n g . T h i s s t o p p e d t h A S C I I p r o g r a m w i t h s y n t a xe r r o r w h i c h t h e n - h a t b m a n u a l l y r e s t a r t e d . A l l t h e s ep r o g r a m m e d e d i t i n g c h a n g e s s a v e d l o o m a n u a l e d i t i n g l a t e r .

T h e n o m A S C I I f i l e s i s i g n i f i e d b t h A S C I I c h a r a c t e r4 o t h e r w i s e t h p r o g r a m m i g h t c o n t i n u e i n d e f i n i t e l y , a d d i n gu n w a n t e d B A S I C s t a t e m e n t s , o r g a r b a g e . T h i s c h e c k i d o n e i s t a t e m e n t 6 3 2 0 0 . I s h o u l d r e a c h t h i s p o i n t a n s t o p i e a c h l i n eb e g i n s w i t h n u m b e r , i l e s s t h a n 8 c h a r a c t e r s l o n g , a n t h c o u n t e r i s t a t e m e n t 6 3 0 7 0 i p o s i t i o n e d t t h b e g i n n i n g o f t h eA S C I I l i s t i n g i h i g h m e m o r y . C o n v e r s i o n t P E s y n t a x , i r e q u i r e d , w o u l d b e g i n h e r e .

h a v e u s e d t h A S C I I p r o g r a m t c o n v e r t v e r y l a r g e A S C I If i l e s t P E p r o g r a m s . T h s a m e p r o g r a m s h o u l d b u s e f i i l w h e na c q u i r e C P / M A S C I I f i l e s o 5 - 1 / 4 " d i s k e t t e s . T h d i s k a n o p e r a t i n g s y s t e m w h i c h a u s i n g ( P E D I S K a n W i l s e r v S o f t w a r e )c a r e a d C P / M f i l e s , a n t h A S C I I p r o g r a m d i s c u s s e d h e r e w i l lc o n v e r t t h e m t P E T B A S I C p r o g r a m s .

6 3 0 0 0 R E P R O G R A M C O N V E R T S A N A S C I I F I L E - - . I N

6 3 0 1 0 R E M H I G H M E M O R Y T A P E T B A S I C- i P R O G R A M

6 3 0 2 0 R E H I G H M E M O R Y B E G I N S A T $ 2 0 1 7 ( 8 2 1 5- D E C )

6 3 0 3 0 R E 6 3 0 4 0 R E H A R V E Y B H E R M A N6 3 0 5 0 R E 6 3 0 6 0 R E I M E M O R Y C O U N T E R6 3 0 7 0 1 = 8 2 1 56 3 0 8 0 R E T H R O W A W A Y F I R S T L I N E6 3 0 9 0 A = P E E K ( I ) I F A O 1 3 T H E N I = I + 1 : G O T O 6 3 0 9 06 3 1 0 0 P R I N T " ! h h h r6 3 1 1 0 1 = 1 + 1

1 6

Page 168: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 168/260

6 3 1 2 0 R E N E X T C H A R A C T E R F R O M O H I G H6 3 1 3 0 A = P E E K ( I )6 3 1 4 0 R E R E P L A C E W I T H6 3 1 5 0 R E M R E P L A C E W I T H < 6 3 1 6 0 I A = 9 1 T H E N A = 4 06 3 1 7 0 I A = 9 3 T H E N A = 4 16 3 1 8 0 I A = 3 5 T H E N P R I N T n < > " ; : G O T O 6 3 1 1 06 3 1 9 0 R E M C H A R $ 0 A E N O F I L E6 3 2 0 0 I A = T H E N S T O P6 3 2 1 0 R E T H R O W A W A Y ' 6 3 2 2 0 I A = 3 9 T H E N I P E E K ( I + 1 ) = 5 5 T H E N -

- i I = I + l : G O T O 6 3 1 1 06 3 2 3 0 R E M P R I N T B A S I C L I N E O N S C R E E N . -

i A F T E R C 6 3 2 4 0 R E P R I N T N E C E S S A R Y V A R I A B L E S A N -

- i P U T C 6 3 2 5 0 R E I K E Y S T R O K E B U F F E R . E N D P R O G R A M6 3 2 6 0 R E M I N C O R P O R A T E L I N E A N D B E G I N A G A I N6 3 2 7 0 P R I N T C H R $ ( A ) ;6 3 2 8 0 I A = 1 3 T H E N P R I N T n I = " ; I ; " : G O T O 6 3 1 0 06 3 2 9 0 I A = 1 3 T H E N P O K E 5 2 7 , 1 3 : P O K E 5 2 8 , 1 3 :

- i P O K E 5 2 5 , 2 : E N D6 3 3 0 0 G O T O 6 3 1 1 0

1 6

Page 169: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 169/260

M u l t i t a s k i n g O Y o u r P E T ?

Q U A D R A - P E TC h a r l e s B r a n n o n

Q U A D R A - P E T i m a c h i n e l a n g u a g e p r o g r a m t h a t l e t s y o p a r t i t i o n t h m e m o r y o a U p g r a d e R O P E o C B i n t o f o u r 8 b l o c k s . E a c h b l o c k i a i n d e p e n d e n t p r o g r a m w o r k s p a c e . P r o g r a m se x i s t i n g i e a c h 8 p a r t i t i o n c a b s e l e c t e d a n t h e n u s e d a n m o d i f i e d w i t h o u t a f f e c t i n g a n o f t h e o t h e r p r o g r a m s . Y o c a j u m pt a n o t h e r o t h p r o g r a m s a a n t i m e .

A f t e r i n i t i a l i z a t i o n w i t h S Y 9 2 6 , P E d i s p l a y s t h q u e s t i o n :W H I C H P E T ? [ 1 4 ]

P e r h a p s M a r y , a a v i d c o m p u t e r - g a m e s b u f f , t y p e s i " 1 a n l o a d sS T A R T R E K . S h p l a y s i f o w h i l e a n t h e n l e a v e s t o e a l u n c h .M e a n w h i l e , B o g o e s t t h P E T , s e e s t h a t s o m e o n e i u s i n g P E # 1 a n s w i t c h e s t P E # t o w r i t e a b u s i n e s s p r o g r a m . A f t e r n e a r l y" p e r f e c t i n g " i t h l e a v e s t s e w h a t M a r y i u t o N o t h k i d sc o m e i a n d , a f t e r a r g u i n g f o h a l f - h o u r , a g r e e t s h a r e t h P E T ,o n u s i n g P E # a n t h o t h e r P E # 4 F o r t u n a t e l y f o B o a n M a r y , n o t h i n g t h k i d s d c a h a r m t h e i r p r o g r a m s .H o T U s Q U A D R A - P E T1 L o a d o t y p e i o n o f t h e v e r s i o n s o Q U A D R A - P E T ( B A S I C o h e x ) :2 E n t e r N E 3 S Y 9 2 t i n i t i a l i z e .4 P E w i l l r e s p o n d w i t h W H I C H P E T ? ( 1 4 )5 S e l e c t t h o n y o w i s h t u s e .6 B e f o r e l o a d i n g o t y p i n g i p r o g r a m f o t h f i r s t t i m e , t y p e i N E W .7 T s e l e c t a n o t h e r P E T , S Y 8 2 a n f o l l o w i n s t r u c t i o n s 4 - 7 .

N o c o m e s t h f u p a r t h o d o e s i w o r k ? M a n y m e m o r yl o c a t i o n s i z e r o p a g e ( 0 - 2 5 6 ) a r p o i n t e r s . Q U A D R A - P E T w o r k sw i t h t h r e e o f t h o s e p o i n t e r s .

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

1 6

Page 170: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 170/260

t h e n i n c r e m e n t s m e m o r y l o c a t i o n u n t i l f a i l u r e i r e a d i n g t h a tc h a r a c t e r o c c u r s . T h i s i n d i c a t e s t h a t t h e n o a v a i l a b l e m e m o r y h a b e e n r e a c h e d . P h y s i c a l l y , t h i s p o i n t e r i a l o c a t i o n 5 d e c i m a l ( $ 3 4 ) .T h s e c o n d p o i n t e r i a t h s t a r t o m e m o r y , s t o r e d i l o c a t i o n 4 1 O r i g i n a l l y , t h i s p o i n t s t t h a c t u a l s t a r t o u s e r m e m o r y , 1 0 2 4 . T h l a s t p o i n t e r i t h e n o t e x t p o i n t e r . A y o w r i t e y o u r p r o g r a m i c h a n g e s .

Q U A D R A - P E T p a r t i t i o n s t h m e m o r y b c h a n g i n g t h e s ep o i n t e r s t p o i n t t s u c c e s s i v e l y h i g h e r m e m o r y l o c a t i o n s , d e p e n d i n go w h i c h P E i i n u s e . S i n c e t h e e n o t e x t p o i n t e r c h a n g e s , i m u s tb s a v e d b e f o r e w m o v e t n e P E a n r e s t o r e d o r e t u r n .Q U A D R A - P E T , a i i i m a c h i n e l a n g u a g e , d o e s a l t h e s e t h i n g ss e e m i n g l y i n s t a n t a n e o u s l y .

H O T S A V E P R O G R A M P R O D U C E D W I T HQ U A D R A - P E T :1 S Y 1 0 2 4 t g t t h M o n i t o r .2 E n t e r : . 0 0 2 8 0 0 2 B a n t y p e R E T U R N .3 Y o w i l l g e d i s p l a y s o m e t h i n g l i k e :. : 0 0 2 8 0 1 0 4 3 E 0 44 W w i l l u s o n l y t h f i r s t f o u r b y t e s . W r i t e d o w n t h f i r s t p a i r i n

r e v e r s e o r d e r o p a p e r , f o e x a m p l e :0 4 0 1

D t h s a m e w i t h t h s e c o n d p a i r . ( e . g . 0 4 3 E )5 E n t e r : . " P R O G N A M E " , 0 1 , X X X X , Y Y Y Y w h e r e " P R O G N A M E "

i t h n a m e o y o u r p r o g r a m , X X X X i t h f i r s t n u m b e r y o w r o t ed o w n , a n d Y Y Y Y i t h s e c o n d . F o e x a m p l e , t s a v e t h e x a m p l ep r o g r a m w h i c h w w i l l c a l l " P E T # 1 , " y o u w o u l d e n t e r : . " P E T # 1 " ,0 1 , 0 4 0 1 , 0 4 3 E

6 P r e s s R E T U R N a n p r e s s p l a y a n r e c o r d t o s a v e y o u r p r o g r a m .7 T l o a d t h i s s a v e d p r o g r a m i n t o a s p a c e p r e p a r e d b Q U A D R A - P E T ,

j u s t S Y 1 0 2 4 a n e n t e r . " P R O G N A M E " w h e r e " P R O G N A M E "i t h n a m e o y o u r p r o g r a m .

H O T L O A D A P R E - E X I S T I N G P R O G R A M I N T OS P A C E P R E P A R E D B Y Q U A D R A - P E T :

c o u l d t e l l y o h o t d t h i s o t h o r i g i n a l R O P E b u t , q u i t ef r a n k l y , c a n ' t f i n d t h m e m o r y l o c a t i o n s f o t h i s p r o c e d u r e i t h n e P E T . A l y o P E e x p e r t s H E L P !I y o c a f i g u r e i o u t , p l e a s e s e n d i t h p r o c e d u r e t C O M P U T E ! .

l i t t l e i m a g i n a t i o n w i l l c r e a t e m a n y u s e s f o Q U A D R A - P E T .F o e d u c a t i o n , i i t h p e r f e c t w a t k e e p f o u r s t u d e n t s '

p r o g r a m s i t h P E a t h s a m e t i m e . E a c h p r o g r a m c a b w o r k e do a n m o d i f i e d i a n w a w i t h o u t a f f e c t i n g a n o t h e o t h e r

1 6

Page 171: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 171/260

p r o g r a m s .I b u s i n e s s , f o u r d i f f e r e n t b u s i n e s s p r o g r a m s c a e x i s t

s i m u l t a n e o u s l y i P E T ' s m e m o r y , r e a d y t u s e . F o t h s m a l l p e n a l t yo l o a d i n g t h p r o g r a m s i n t o t h p r o g r a m w o r k s p a c e s a t h s t a r t o t h e d a y , a l f o u r a r w i t h i n r e a c h o c a r r i a g e r e t u r n f a s t e r t h a na n d i s k d r i v e .

M a c h i n e l a n g u a g e p r o g r a m m e r s c a f i l l p a r t i t i o n s w i t h u s e f u lr o u t i n e s , l e a v i n g o n o m o r e p a r t i t i o n s f o B A S I C . Q U A D R A - P E Ti t s e l f i s h o r t a n e a s i l y r e l o c a t a b l e .

w o u l d b i n t e r e s t e d t o f i n d o u w h i c h n o v e l a n u s e f u la p p l i c a t i o n s f o Q U A D R A - P E T y o c a t h i n k u p H a p p y Q U A D R A - P E T i n g !R e f e r e n c e sC B U s e r M a n u a l 2 0 0 1 - 3 2 , F i r s t E d i t i o n . 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 . , P a l o A l t o ,C A ( 1 9 7 9 )H a r v e y B H e r m a n , " M e m o r y P a r t i t i o n o B A S I C W o r k s p a c e " ,C O M P U T E ! , p p 1 8 - 2 0 ( J a n . , F e b . 1 9 8 0 )J i B u t t e r f i e l d , " P E T i T r a n s i t i o n ( m e m o r y m a p ) C O M P U T E ! , p p 6 8 - 7 0 ( F a l l , 1 9 7 9 )

R E M * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *R E Q U A D R A P E R E M * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *R E M : B Y C H A R L E S B R A N N O N 0 6 / 0 7 / 8 0

1 F O 8 2 T 9 4 2 R E A D3 P O K E I 4 N E X T5 S Y S 9 2 66 E N 1 0 0 0 D A T A 1 7 4 , 1 2 6 f 3 , 1 6 5 , 4 2 f 1 5 7 f 1 3 1 f 3 f 1 6 51 0 1 0 D A T A 4 3 , 1 5 7 , 1 3 5 , 3 , 1 6 9 , 1 4 3 , 1 6 0 , 3 , 3 21 0 2 0 D A T A 2 8 , 2 0 2 , 3 2 , 2 2 8 , 2 5 5 , 4 1 , 1 5 , 2 4 0 , 2 4 91 0 3 0 D A T A 2 0 1 , 5 , 1 7 6 , 2 4 5 , 1 7 0 , 2 0 2 , 1 4 2 , 1 2 6 , 31 0 4 0 D A T A 1 6 9 , 1 , 1 3 3 , 4 0 , 1 8 9 , 1 2 7 , 3 , 1 3 3 , 4 11 0 5 0 D A T A 1 8 9 , 1 3 1 , 3 , 1 3 3 , 4 2 , 1 8 9 , 1 3 5 , 3 , 1 3 31 0 6 0 D A T A 4 3 , 1 6 9 , 0 , 1 3 3 , 5 2 , 1 8 9 , 1 3 9 , 3 , 1 3 31 0 7 0 D A T A 5 3 , 3 2 , 1 1 9 , 1 9 7 , 9 6 , 0 , 4 , 3 2 , 6 41 0 8 0 D A T A 9 6 , 3 , 3 , 3 , 3 , 4 , 3 2 f 6 4 f 9 61 0 9 0 D A T A 3 2 , 6 4 , 9 6 , 1 2 8 , 8 7 , 7 2 , 7 3 , 6 7 , 7 21 1 0 0 D A T A 3 2 , 8 0 , 6 9 , 8 4 , 6 3 , 3 2 , 4 0 , 4 9 , 4 51 1 1 0 D A T A 5 2 , 4 1 , 0 , 1 6 9 , 0 , 1 4 1 , 0 , 3 2 , 1 4 11 1 2 0 D A T A 0 , 6 4 , 1 4 1 , 0 , 9 6 , 7 6 , 5 8 , 3R E A D Y .

1 6

Page 172: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 172/260

A E a s i e r M e t h o d o S a v i n g D a t a P l u s

H o m e A c c o u n t i n gR o b e r t W B a k e r

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

W h e n e v e r p r o g r a m m u s t s a v e s p e c i f i c d a t a f o t h e n e x t t i m e i i r u n , t h e d a t a a r n o r m a l l y s a v e d i n t a p e d a t a f i l e . T h i s r e q u i r e si n s e r t i n g t a p e w i t h t h d a t a f i l e a n r e a d i n g t h p r e v i o u s v a l u e se v e r y t i m e t h p r o g r a m i r u n . W h e n t h p r o g r a m i d o n e , t h t a p em u s t b r e w o u n d o c h a n g e d a n a n o t h e r d a t a f i l e w r i t t e n t s a v et h n e d a t a . T h i s p r o c e d u r e c a w a s t e g o o d d e a l o t i m e ,e s p e c i a l l y i o n l y a s m a l l a m o u n t o d a t a i n e e d e d a n t h p r o g r a mi n o r m a l l y r u q u i t e f r e q u e n t l y . I c a t a k e a l o n g a 1 t o 1 5s e c o n d s o t h P E j u s t t f i n d t h d a t a f i l e a n r e a d t h h e a d e rr e c o r d b e f o r e a c t u a l l y r e a d i n g a n d a t a . I n a d d i t i o n , y o n o h a v e

t a p e f o t h p r o g r a m a n a n o t h e r t a p e f o t h d a t a f i l e . I y o o n l yh a v e s e v e r a l v a l u e s t s a v e , u s i n g d a t a f i l e s i a w k w a r d ,c u m b e r s o m e , a n n o w o r t h t h t r o u b l e . S e v e r a l a p p l i c a t i o n s t h a tc o u l d b d o n e v e r y e a s i l y o c o m p u t e r , i r e a l i t y b e c o m e u s e l e s sw h e n r e q u i r i n g d a t a f i l e s .A n o t h e r p o s s i b l e m e t h o d o s a v i n g d a t a i t c h a n g e t h B A S I C p o i n t e r s a n s a v e t h e d a t a a l o n g w i t h t h p r o g r a m o t a p e .T h n e x t t i m e t h p r o g r a m i l o a d e d , t h B A S I C p o i n t e r s a r t h e nr e s e t a n G O T O x x x x x c o m m a n d i u s e d t e x e c u t e t h p r o g r a m .I R U c o m m a n d i u s e d i n s t e a d o G O T O , t h d a t a i l o s t a n t h p r o g r a m m u s t b r e - l o a d e d . T h i s m e t h o d i t o c o m p l i c a t e d a n r e q u i r e s a n u m b e r o f f u n c t i o n s t h u s e r m u s t p e r f o r m e a c h t i m e h o s h s a v e s o l o a d s t h p r o g r a m a n d d a t a . I a l s o r u n s t h r i s k o p e r m a n e n t l y l o s i n g t h d a t a .T h e r e i w a y , h o w e v e r , t h a t a p r o g r a m c a s a v e s m a l la m o u n t s o d a t a w i t h i n t h p r o g r a m i t s e l f u s i n g v e r y s i m p l ep r o c e d u r e . T h b a s i c t h e o r y i t i n c l u d e D A T A s t a t e m e n t s i t h p r o g r a m w i t h i n i t i a l d a t a s p e c i f i e d f o t h f i r s t t i m e t h p r o g r a m i r u n . T h D A T A s t a t e m e n t s a n t h e i r a s s o c i a t e d d a t a d e f i n e s p a c ew i t h i n t h e p r o g r a m f o t h e d a t a t h a t i t b s a v e d a f t e r e a c h t i m e

1 6

Page 173: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 173/260

t h p r o g r a m i r u n . B e f o r e t e r m i n a t i n g , t h p r o g r a m s i m p l y P O K E ' st h n e v a l u e s t b s a v e d b a c k i n t o t h D A T A s t a t e m e n t ( s ) t r e p l a c e t h o r i g i n a l d a t a . T h p r o g r a m i t s e l f i t h e n s a v e d a f t e r e a c he x e c u t i o n a n t h l a t e s t d a t a i a u t o m a t i c a l l y i n c l u d e d w i t h o u t a n s p e c i a l a c t i o n s b t h u s e r . W h e n e v e r t h p r o g r a m i l o a d e d , t h p r e v i o u s d a t a i r e a d i l y a v a i l a b l e u s i n g t h e s t a n d a r d R E A Dc o m m a n d o B A S I C . S a v i n g d a t a u s i n g t h i s m e t h o d i e x t r e m e l ys i m p l e , b u i d o e s r e q u i r e k n o w i n g t h f o r m a t o B A S I C l i n e ss t o r e d i m e m o r y . T h n e c e s s a r y i n f o r m a t i o n o t h P E h a b e e nd e s c r i b e d i v a r i o u s n e w s l e t t e r s a n s e v e r a l m a g a z i n e a r t i c l e s , s i w i l l n o t b e r e p e a t e d h e r e . T h i s a r t i c l e w a w r i t t e n f o t h P E p r i m a r i l y , b u t h t e c h n i q u e w i l l w o r k f o o t h e r m a c h i n e s a w e l l .

T h l i s t i n g f o H o m e B u d g e t p r o g r a m t h a t I ' v e b e e n u s i n g f o s e v e r a l m o n t h s o m 8 P E i i n c l u d e d t h e l p i l l u s t r a t e t h i ss i m p l e d a t a s a v i n g t e c h n i q u e . L o o k i n g a t h s t a r t o f t h e p r o g r a m ,l i n e s 1 a n 2 0 c o n t a i n D A T A s t a t e m e n t s t o r e s e r v e s p a c e f o 1 n u m e r i c v a l u e s t o b s a v e d a f t e r e a c h t i m e t h p r o g r a m i r u n . T h D A T A s t a t e m e n t s a r l o c a t e d a t h e v e r y b e g i n n i n g o f t h e p r o g r a m ,m a k i n g i e a s i e r t k n o w w h e r e t d t h P O K E ' s . E a c h v a l u e s a v e dc a b u t s i x d i g i t s i l e n g t h , s i n c e t h i s i t h e l e n g t h o e a c h f i e l ds p e c i f i e d i t h o r i g i n a l D A T A s t a t e m e n t s . D i s r e g a r d i n g h o t h p r o g r a m a c t u a l l y w o r k s f o n o w , t h d a t a f r o m l i n e s 1 a n 2 w o u l d n o r m a l l y b r e a d i n t o e l e m e n t s o a r r a y " M b l i n e s 5 1 a n 5 2 0 . W h e n t h p r o g r a m i d o n e , t h e v a l u e o f a s i n g l e e l e m e n t o o M ( x ) i c o n v e r t e d t s i c h a r a c t e r s t r i n g w i t h l e a d i n g z e r o sb l a n k e d a s p a c e s i l i n e 1 0 1 0 . T h i s i n s u r e s t h a t a l s i c h a r a c t e r s o e a c h f i e l d i t h d a t a s t a t e m e n t s a r c h a n g e d e v e r y t i m e t h n e d a t a i s a v e d i t h p r o g r a m . T h A S C I I v a l u e o f e a c h c h a r a c t e r i t h s t r i n g r e p r e s e n t a t i o n o f M ( x ) i t h e n p o k e d i n t o a D A T As t a t e m e n t b l i n e 1 0 3 0 . T h i s l o o p i r e p e a t e d f o a l 1 2 v a l u e s a n r e m i n d e r i t h e n p r i n t e d s t h u s e r w i l l n o f o r g e t t s a v e t h p r o g r a m w i t h t h u p d a t e d d a t a . T h p r o g r a m c o u l d h a v e e v e np r i n t e d t h a c t u a l S A V E c o m m a n d f o t h u s e r i d e s i r e d .i n t e n t i o n a l l y l e f t t h i s o u t , h o w e v e r , i c a s e t h u s e r d e c i d e d t h n e d a t a w a n o c o r r e c t a n d w a n t e d t r e - r u n t h e p r o g r a m w i t h o u ts a v i n g t h e u p d a t e d v a l u e s .

I y o s h o u l d u s t h i s t e c h n i q u e i y o u r o w p r o g r a m , d o n ' tf o r g e t i c a b u s e d t s a v e s t r i n g s o n u m b e r s . B c a r e f u l y o d o n ' td e s t r o y t h D A T A s t a t e m e n t i t s e l f o t h s e p a r a t i n g c o m m a s w h e nP O K E i n g c h a r a c t e r s i n t o D A T A s t a t e m e n t . A l s o , d o n ' t f o r g e t t os t e p o v e r t h e n d o f - l i n e f l a g , t h 2 - b y t e l i n k , t h 2 - b y t e l i n en u m b e r , a n d t h 1 - b y t e D A T A s t a t e m e n t " t o k e n " w h e n m o r e t h a n

1 6

Page 174: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 174/260

o n l i n e i u s e d t s a v e d a t a i t h p r o g r a m . E a c h f i e l d d e f i n i t i o ns h o u l d r e s e r v e e n o u g h s p a c e f o t h m a x i m u m l e n g t h e x p e c t e d t b e n c o u n t e r e d b t h p r o g r a m . N u m e r i c v a l u e s m u s t b c o n v e r t e d t s t r i n g s b e f o r e b e i n g s a v e d . Q u o t e s s h o u l d b u s e d a t h b e g i n n i n ga n e n o e a c h f i e l d w h e n s a v i n g t e x t s t r i n g s . D o n ' t f o r g e t t s t e pp a s t t h q u o t e s w h e n P O K E i n g t h s t r i n g s i n t o t h D A T As t a t e m e n t s . S t r i n g s s h o u l d b c h a n g e d t t h e l e n g t h o t h f i e l db e i n g P O K E d i n t o b a p p e n d i n g s p a c e s a w a d o n e i t h e x a m p l ew i t h t h n u m e r i c v a l u e s a f t e r c o n v e r t i n g t h e m t t e x t s t r i n g s . T h i sw i l l i n s u r e t h e n t i r e f i e l d i u p d a t e d e a c h t i m e t h p r o g r a m i r u a n t h c o r r e c t d a t a i a l w a y s s a v e d . T h D A T A s t a t e m e n t s m u s tr e m a i n a c o n s t a n t l o c a t i o n i m e m o r y . B e i n g a t h b e g i n n i n g o t h p r o g r a m a v o i d s p r o b l e m s w i t h c h a n g i n g l o c a t i o n s c a u s e d b e d i t i n g t h p r o g r a m b e f o r e t h D A T A s t a t e m e n t s . I t h D A T As t a t e m e n t s a r m o v e d , t h e a d d r e s s u s e d f o t h P O K E s m u s t b c h a n g e d a c c o r d i n g l y .

H o m e A c c o u n t i n gd o n ' t c l a i m t b a a c c o u n t i n g e x p e r t b u t h H o m e B u d g e t

p r o g r a m w o r k s a n s e r v e s v e r y u s e f u l p u r p o s e f o m e I i b a s e do a " o r i g i n a l b u d g e t s y s t e m d e v i s e d t h a t u s e d a a c c o u n t i n gb o o k t r e c o r d a l i n c o m e a n e x p e n d i t u r e s . V a r i o u s " a c c o u n t s "w i t h i n t h b u d g e t h e l p a l l o c a t e w h a t m o n e y f r o m e a c h p a y c h e c k i t b r e s e r v e d f o w h i c h b i l l s i o r d e r t m e e t t h p r o j e c t e de x p e n s e s . A c c o u n t s f o b i l l s t h a t a r p a i d a l e a s t o n c e m o n t h a r k e p t i t h f a m i l y c h e c k i n g a c c o u n t w h e r e t h e y a r r e a d i l ya v a i l a b l e . A c c o u n t s f o a l o t h e r b i l l s , p a i d a l o n g e r i n t e r v a l s , a r n o r m a l l y k e p t i t h s a v i n g s a c c o u n t u n t i l n e e d e d . A a c c o u n t i e s t a b l i s h e d f o e a c h m a j o r e x p e n d i t u r e , s u c h a s i n s u r a n c e s , h o m em o r t g a g e , u t i l i t i e s , t e l e p h o n e , a u t o l o a n , a u t o e x p e n s e s , c h a r g ea c c o u n t s , C h r i s t m a s p r e s e n t s , v a c a t i o n , e t c . A l s m a l l e r e x p e n s e s a r g r o u p e d i n t o a m i s c e l l a n e o u s a c c o u n t t h a t i k e p t i t h c h e c k i n ga c c o u n t . A a d d i t i o n a l a c c o u n t i r e s e r v e d i t h s a v i n g s a c c o u n tf o a l " e x c e s s " f u n d s , a t h t r u e " s a v i n g s " t o t a l .

T h i s s i m p l e B A S I C p r o g r a m p r o v i d e s a l t h d e s i r e d f u n c t i o n st k e e p a a c c u r a t e h o m e b u d g e t w i t h m i n i m u m o e f f o r t . I d o e sn o h a v e a n y f a n c y f e a t u r e s , i n s t e a d i p r o v i d e s t h n e c e s s a r yi n f o r m a t i o n i a e a s y - t o - u s e f o r m a t . I d i s p l a y s e a c h a c c o u n t t o t a la l o n g w i t h t h c u r r e n t c h e c k i n g a n s a v i n g s b a l a n c e s f o f a s t a n e a s y v e r i f i c a t i o n . E a c h t r a n s a c t i o n i e n t e r e d b s e l e c t i n g t h a p p r o p r i a t e a c c o u n t n u m b e r a n t h e v a l u e t o c r e d i t ( + o d e b i t ( - t h s p e c i f i e d a c c o u n t . P o s i t i v e v a l u e s i n d i c a t e d e p o s i t s ( c r e d i t ) a n

1 6

Page 175: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 175/260

n e g a t i v e v a l u e s i n d i c a t e e x p e n s e s o b i l l s p a i d ( d e b i t ) . T h a c t u a lt r a n s a c t i o n s a r n o r e c o r d e d , o n l y t h r u n n i n g t o t a l s f o r e a c ha c c o u n t a r r e t a i n e d t k e e p t h a m o u n t o s a v e d d a t a a m i n i m u m . A a d d i t i o n a l f e a t u r e o t h i s p r o g r a m i t h a b i l i t y t s e t h a m o u n t t b c r e d i t e d t e a c h a c c o u n t f o p a y c h e c k d e p o s i t .T h u s , c o m e p a y d a y , y o s i m p l y e n t e r t h a m o u n t s d e p o s i t e d t t h c h e c k i n g a n s a v i n g s a c c o u n t a n t h p r o g r a m d o e s t h r e s t . A a c c o u n t t o t a l c a b e c o m e n e g a t i v e i e x p e n s e s e x c e e d c u r r e n t f u n d sa l l o c a t e d f o t h a t e x p e n s e . T h i s e f f e c t i v e l y i n d i c a t e s " b o r r o w i n g "m o n e y f r o m o t h e r a c c o u n t s a n s h o u l d b c o r r e c t e d b t r a n s f e r r i n gm o n e y f r o m a n o t h e r a c c o u n t o c h a n g i n g t h p a d e p o s i t v a l u e f o t h a c c o u n t . n e g a t i v e c h e c k i n g o s a v i n g s b a l a n c e s h o u l d b a v o i d e d a s t h i s i n d i c a t e s a v e r y s e r i o u s p r o b l e m s u c h a a o v e r d r a w n c h e c k i n g a c c o u n t . T h f i r s t s t e p i n s e t t i n g u t h b u d g e ti t d e c i d e w h a t a c c o u n t s a r n e e d e d a n h o w m a n y w i l l b i c h e c k i n g o s a v i n g s . I l i n e 5 0 o t h p r o g r a m , t h v a r i a b l e " C i d e f i n e d a t h n u m b e r o b u d g e t a c c o u n t s i c h e c k i n g ( 7 ) , a n " S i d e f i n e d a t h n u m b e r o a c c o u n t s i s a v i n g s ( 5 ) . T h v a r i a b l e " A i c o m p u t e d a t h t o t a l n u m b e r o b u d g e t a c c o u n t s ( 1 2 ) ,a n t h m o n e y ( M a n n a m e ( N $ ) a r r a y s a r d i m e n s i o n e d i t h s a m e l i n e .

S i n c e w a r g o i n g t s a v e t h d a t a w i t h i n t h p r o g r a m , w m u s t d e f i n e s t o r a g e f o t h v a l u e s i D A T A s t a t e m e n t s . L i n e 1 c o n t a i n s t h i n i t i a l v a l u e s f o t h c h e c k i n g a c c o u n t s a n l i n e 2 i f o t h s a v i n g s a c c o u n t s . S e p a r a t e D A T A s t a t e m e n t s w e r e u s e d f o c h e c k i n g a n s a v i n g s t a l l o w e a s y a d d i t i o n o r d e l e t i o n o a c c o u n t sa r e q u i r e d . A l l v a l u e s w i l l b k e p t a w h o l e n u m b e r s b m u l t i p l y i n ge a c h v a l u e b 1 0 0 . T h i s w i l l h e l p a v o i d d e c i m a l p o i n t s a n p r o b l e m sa s s o c i a t e d w i t h f r a c t i o n s , b e s i d e s m a k i n g t h e d a t a e a s i e r t s a v eu s i n g P O K E s . W i t h s i x d i g i t s p e f i e l d , t h l i m i t i n g v a l u e s f o a n a c c o u n t v a l u e a r e : - 9 9 9 . 9 9 t + 9 9 9 9 . 9 9 s i n c e t h m i n u s s i g n t a k e su p o n e d i g i t s p a c e f o n e g a t i v e n u m b e r s .

T h a c t u a l a c c o u n t n a m e s a r s t o r e d i l i n e s 1 0 0 - 2 1 0 . L i n e s1 0 a n 1 1 a r f o t h c h e c k i n g a c c o u n t s w h i l e l i n e s 2 0 a n 2 1 d e f i n e t h s a v i n g s a c c o u n t n a m e s . E a c h n a m e s h o u l d b l i m i t e d t o2 c h a r a c t e r s f o t h p r o g r a m t f u n c t i o n p r o p e r l y . I n a d d i t i o n , t h l a s t c h e c k i n g a c c o u n t m u s t b t h M I S C a c c o u n t a n t h l a s ts a v i n g s a c c o u n t m u s t b t h e x c e s s S A V I N G S a c c o u n t . T h a m o u n t t b d e p o s i t e d f r o m p a y c h e c k t e a c h c h e c k i n g a c c o u n t i s p e c i f i e d i n l i n e 3 0 w i t h z e r o v a l u e s h o w n f o t h M I S Ca c c o u n t , t h l a s t v a l u e . T h i s a c c o u n t a u t o m a t i c a l l y g e t s a n r e m a i n d e r f r o m t h p a d e p o s i t a f t e r a l t h r e q u i r e d c h e c k i n g

1 6

Page 176: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 176/260

U t i l i t i e s

a c c o u n t d e p o s i t s a r e m a d e . I t h p a d e p o s i t i n o l a r g e e n o u g h t m e e t t h e r e q u i r e d c h e c k i n g b u d g e t t o t a l , t h d i f f e r e n c e i s u b t r a c t e df r o m t h M I S C a c c o u n t . L i n e 4 0 c o n t a i n s t h e c o r r e s p o n d i n gs a v i n g s p a d e p o s i t v a l u e s , w i t h a z e r o v a l u e f o t h e x c e s sS A V I N G S a c c o u n t , t h l a s t v a l u e . T h i s a c c o u n t a c t s j u s t a s t h M I S C a c c o u n t d o e s f o t h c h e c k i n g a c c o u n t . A n s a v i n g s p a d e p o s i t e x c e s s / s h o r t a g e i a d d e d / s u b t r a c t e d t t h i s a c c o u n t .

T c u s t o m i z e t h p r o g r a m f o y o u r o w u s e , s i m p l y s e t h c o r r e c t v a l u e s o a n i l i n e 5 0 0 . T h e n a d o d e l e t e t h r e q u i r e d D A T A f i e l d s i l i n e s 1 a n 2 0 a n t h a c c o u n t n a m e s i l i n e s 1 0 0 - 2 1 0 . C h a n g e a n a c c o u n t n a m e s a r e q u i r e d , b u k e e pe a c h t o m a x i m u m o 2 c h a r a c t e r s . S e t h P A d e p o s i t v a l u e s f o e a c h a c c o u n t i l i n e s 3 0 a n 4 0 b t a k i n g i n t o c o n s i d e r a t i o n t h er e l a t e d e x p e n s e s a n f r e q u e n c y o p a y m e n t . R e m e m b e r t k e e p t h M I S C a n S A V I N G S a c c o u n t s a t h l a s t a c c o u n t s i t h c h e c k i n ga n s a v i n g s , w i t h z e r o p a d e p o s i t v a l u e s f o e a c h . T h a t s h o u l d b a l t h c h a n g e s r e q u i r e d t c o n v e r t t h p r o g r a m f o y o u r o w s i t u a t i o n . I n d i v i d u a l a c c o u n t s c a b a d d e d o r d e l e t e d a a n t i m eb s i m i l a r c h a n g e s . D o n ' t f o r g e t t o s e a a c c o u n t v a l u e t o z e r o b t r a n s f e r r i n g a n m o n e y t o t h e r a c c o u n t s b e f o r e d e l e t i n g t h a c c o u n t . T h i s w i l l k e e p y o u r c h e c k i n g a n s a v i n g s b a l a n c e s c o r r e c t .

T h p r o g r a m l i s t i n g c o n t a i n s n u m b e r o R E l i n e s t h e l pd o c u m e n t t h p r o g r a m . I y o s h o u l d d e c i d e t u s t h e x a m p l ep r o g r a m , p l e a s e d o n ' t b o t h e r e n t e r i n g t h e s e l i n e s . T h e y ' l l o n l y m a k et h p r o g r a m L O A D i n g a n S A V E i n g m u c h l o n g e r , s i n c e t h p r o g r a m w i l l b e a b o u t t h r e e t i m e s l a r g e r t h a n n e e d e d . T h i s i e x a c t l y w h a t w t r i e d t a v o i d b s a v i n g t h d a t a w i t h i n t h p r o g r a m t m i n i m i z e t a p e u s a g e . O n c e t y p e d i n f e m i n u t e se x p e r i m e n t i n g w i t h t h p r o g r a m s h o u l d c l e a r l y i n d i c a t e h o i w o r k s . E n t e r f e t r a n s a c t i o n s , t h e n t y p e a n L I S T l i n e s 1 a n 2 t s e w h a t w a S A V E d w i t h i n t h p r o g r a m . I y o h a v e a n p r o b l e m s , c h e c k f o e x t r a s p a c e s i l i n e s 1 a n 2 o c h e c k t h P O K E a d d r e s s i l i n e 1 0 1 0 .

1 D A T A 0 0 0 0 0 0 , 0 0 0 0 0 0 , 0 0 0 0 0 0 , 0 0 0 0 0 0 , 0 0 0 0 0 0 ,0 0 0 0 0 0 , 0 0 0 0 0 0

2 D A T A 0 0 0 0 0 0 , 0 0 0 0 0 0 , 0 0 0 0 0 0 , 0 0 0 0 0 0 , 0 0 0 0 0 03 3 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *3 R E H O M E B U D G E T P R O G R A M3 R E 3 R E B Y R O B E R T W B A K E R3 R E 1 W I N D S O R D R I V E

1 7

Page 177: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 177/260

3 R E A T C O , N 0 8 0 0 43 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *5 5 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =5 R E M D A T A S T A T E M E N T S T O S A V E V A L U E S5 R E M U S T B E T H E F I R S T S T A T E M E N T S5 R E I T H P R O G R A M T M A K E T H E M5 R E M E A S Y T F I N D .5 R E A C C O U N T D E S C R I P T I O N S F O L L O W5 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =5 1 0 D A T A " C H A R G E S "1 0 D A T A " G A S A U T O E X P E N S E S "1 0 D A T A " M O R T G A G E "1 1 D A T A " T E L E P H O N E " , " U T I L I T I E S "1 1 D A T A " A U T O L O A N " , " M I S C "2 0 D A T A " A U T O I N S U R A N C E "2 0 D A T A " H O M E O W N E R S I N S U R A N C E "2 1 D A T A " L I F E I N S U R A N C E " , " C H R I S T M A S "2 1 D A T A " S A V I N G S "2 5 2 5 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =2 5 R E F O L L O W I N G D A T A S T A T E M E N T2 5 R E C O N T A I N S S T A N D A R D D E P O S I T2 5 R E V A L U E S F O R P A Y D E P O S I T .2 5 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =2 5 3 0 D A T A 2 5 , 4 0 , 1 5 0 , 1 0 , 5 0 , 4 5 , 04 0 D A T A 3 0 , 7 , 2 5 , 1 5 , 04 5 4 5 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =4 5 R E M A J O R V A R I A B L E D E F I N I T I O N S :4 5 R E O I T E M S I C H E C K I N G4 5 R E S O I T E M S I S A V I N G S4 5 R E T O T A L N U M B E R O ■ A C C T S 14 5 R E C C H E C K I N G B A L A N C E4 5 R E S T O T A L S A V I N G S D E P O S I T4 5 R E M ( . ) C U R R E N T A C C T V A L U E S4 5 R E N $ ( . ) A C C T N A M E S F R O M D A T A4 7 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =4 7 R E R E A D V A L U E S F R O M D A T A4 7 R E M S T A T E M E N T S T O I N I T I A L I Z E .4 7 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =4 8 5 0 C = 7 : S = 5 : A = C + S : D I M M ( A ) , N $ ( A )5 0 C B = 0 : S D = 05 1 F O X = l T O C : R E A D M ( X ) : C B = C B + M ( X )5 1 N E X T

1 7

Page 178: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 178/260

5 2 F O X = C + 1 T O A : R E A D M ( X )5 2 S D = S D + M ( X ) : N E X T5 4 F O X = T A : R E A D N $ ( X ) : N E X T5 5 L $ = " $ 5 9 5 9 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = =5 9 R E D I S P L A Y A C C T # N A M E , V A L U E5 9 R E A L O N G W I T H C H E C K I N G / S A V I N G S5 9 R E T O T A L S , T H E N P R O M P T F O R I N P U T5 9 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = =5 9 6 0 P R I N T " [ C L R ] " ; : C 2 = 0 : S 2 = 06 0 F O X = T C : V = M ( X ) : G O S U B 9 0 0 : N E X T6 0 P R I N T T A B ( 3 0 ) " [ " D D D D D D D D D " ] "6 1 P R I N T 1 1 [ R V ] T O T A L C H E C K I N G6 1 P R I N T " B A L A N C E [ R V O F F ] $ " 6 1 V = C B : G O S U B 9 1 0 : P R I N T6 2 F O X = C + 1 T O A : V = M ( X ) : G O S U B 9 0 6 2 N E X T : P R I N T T A ( 3 0 ) " D D D D D D D D D 1 1 ]6 3 P R I N T " [ R V ] T O T A L S A V I N G S " 6 3 P R I N T " O N D E P O S I T [ R V O F F ] . . . $ " 6 3 V = S D : G O S U B 9 1 6 3 F O X = T 3 6 3 P R I N T " [ " $ " , L C , D N , " E f l , U P ] " ; : N E X T6 4 P R I N T : P R I N T " [ D N ] ~ "6 4 6 4 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =6 4 R E M G E T U S E R I N P U T C H E C K F O R6 4 R E V A L I D I N P U T6 4 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =6 4 6 5 P R I N T " [ " - @ @ " ] A C C T # f [ R V ] P [ R V O F F ] " ;6 5 I N P U T " A Y f O R [ R V ] D [ R V O F F ] O N E " ; A $6 6 X = V A L ( A $ ) : I F X > A N X < = A T H E N 8 0 6 6 6 6 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =6 6 R E * * * * * * C R E D I T P A Y * * * * * * * *6 6 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =6 6 6 7 I F L E F T $ ( A $ , 1 ) < > " P " O R ( C 1 O 0 ) T H E N 1 0 0 06 7 6 7 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = =6 7 R E G E T C H E C K I N G / S A V I N G S D E P O S I T S6 7 R E T C R E D I T S T A N D A R D P A Y .6 7 R E C A N O N L Y U S O N C E P E R U N !6 7 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = =6 7 6 8 I N P U T " C H E C K I N G D E P O S I T " ; C 1

1 7

Page 179: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 179/260

6 8 I N P U T " S A V I N G S D E P O S I T " ; S I6 8 C 1 = I N T ( 1 0 0 * ( C 1 + . 0 0 D )6 8 S 1 = I N T ( 1 0 0 * ( S 1 + . 0 0 D )6 9 F O X = T A : R E A D V : V = V * 1 0 06 9 I X = T H E N V = C 1 - C 27 0 I X = A T H E N V = S l - S 27 1 G O S U B 9 5 0 : N E X T : G O T O 6 0 7 5 7 5 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =7 5 R E * * * * * C R E D I T / D E B I T A C C T * * * * *7 5 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =7 5 8 0 P R I N T " [ D N ] A M T T C R E D I T ( + ) " ;8 0 I N P U T " D E B I T ( - ) " ; V8 5 V = I N T ( 1 0 0 * ( V + . 0 0 1 ) ) : G O S U B 9 5 8 5 G O T O 6 0 08 9 8 9 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = =8 9 R E M S U B R O U T I N E T O G E N E R A T E S I N G L E8 9 R E M L I N E O D I S P L A Y W I T H8 9 R E A C C T # N A M E , A N V A L U E I 8 9 R E M S T A N D A R D F O R M A T .8 9 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = =8 9 9 0 P R I N T R I G H T $ ( S T R $ ( X + 1 0 0 ) f 2 ) ; " " 9 0 P R I N T N $ ( X ) ; R I G H T $ ( L $ f 2 9 - L E N ( N $ ( X ) ) )9 0 T $ = S T R $ ( I N T ( A B S ( V ) / 1 0 0 ) * S G N ( V ) )9 1 P R I N T R I G H T $ ( " " + T $ , 4 ) ;9 1 I F V < 0 A N D V > - 1 0 0 T H E N P R I N T " [ 2 L C ] - 0 " ;9 2 P R I N T " . " ; R I G H T $ ( S T R $ ( A B S ( V ) + 1 0 0 ) f 2 )9 2 R E T U R N9 4 9 4 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =9 4 R E S U B R O U T I N E T C R E D I T / D E B I T9 4 R E A C C T U P D A T E S A V I N G S / C H E C K I N G9 4 R E T O T A L S .9 4 R E M = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =9 4 9 5 M ( X ) = M ( X ) + V9 5 I X > T H E N S D = S D + V : S 2 = S 2 + V : R E T U R N9 6 C B = C B + V : C 2 = C 2 + V : R E T U R N9 9 9 9 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =9 9 R E * * * * * * C H E C K I D O N E * * * * *9 9 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =9 9 1 0 0 0 I L E F T $ ( A $ f l ) < > " D " T H E N 6 0 1 0 0 1

1 7

Page 180: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 180/260

1 0 0 2 R E M = = = = = = = = = = = = = = = = = = = = = = = = = = = = =1 0 0 3 R E M A T E N O P R O G R A M S A V E D A T A1 0 0 4 R E B A C K I N T O T H P R O G R A M , T H E N1 0 0 5 R E M P R I N T R E M I N D E R T O S A V E P G 1 0 0 6 R E = = = = = = = = = = = = = = = = = = = = = = = = = = = = =1 0 0 71 0 1 0 N = 1 0 3 0 : F O R X = T 1 0 1 5 L $ = R I G H T $ ( " n + S T R $ ( M ( X ) ) , 6 )1 0 3 0 F O Y = T 1 0 3 5 P O K E N , A S C ( M I D $ ( L $ f Y , l ) ) : N = N + 11 0 4 0 N E X T : N = N + 1 : I F X = C T H E N N = N + 52 0 0 0 N E X T2 0 0 5 P R I N T " [ C L R ] R E W I N D T A P E A N D S A V E2 0 0 6 P R I N T " T H E P R O G R A M "2 0 1 0 P R I N T " [ D N ] T O R E T A I N T H N E D A T A ! "2 0 1 1 P R I N T " [ 2 D N ] "2 0 1 5 E N 2 0 2 0 R E 2 0 3 0 R E M C U R S O R P O S I T I O N I N G A N D G R A P H I C S2 0 4 0 R E M C H A R A C T E R S A R E E N C L O S E D W I T H I N2 0 5 0 R E M B R A C K E T S . T H E G R A P H I C C H A R S .2 0 6 0 R E M A R E S H O W N A U N S H I F T E D C H A R S .2 0 7 0 R E M B E T W E E N Q U O T E S . T H E C U R S O R2 0 8 0 R E M C O N T R O L C H A R A C T E R S A R 2 0 9 0 R E M I N D I C A T E D A S F O L L O W S :2 1 0 0 R E M S P = S P A C E ; L C = L E F T C U R S O R2 1 1 0 R E M U P = U P C U R S O R ; D N = D O W N C U R S O R2 1 2 0 R E M C L R = C L E A R S C R E E N ; R V = R E V E R S E2 1 3 0 R E R V O F F = R E V E R S E O F

1 7

Page 181: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 181/260

B l o c k A c c e s s M e t h o dM a F o C o m m o d o r e

2 0 4 0 D i s k D r i v eT o C o n r a d

t u t o r i a l o s o m e o t h c o m p l e x f u n c t i o n s o f t h C o m m o d o r e D i s kD r i v e s .

O v e r v i e wT h B l o c k A c c e s s M e t h o d ( B A M ) m a p r o g r a m w i l l a l l o w y o t s e w h e r e y o u r f i l e s a r e a l l o c a t e d . Y o c a s a v e a n d e l e t e f i l e s a n o b s e r v e t h a l l o c a t i o n t e c h n i q u e .D e s c r i p t i o nT h p u r p o s e o f t h e B A i t p r o t e c t a l l o c a t e d f i l e s s t h e y a r n o w r i t t e n o v e r a n t h e r e f o r e d e s t r o y e d . T h B A m a r e s i d e s o t h d i r e c t o r y t r a c k 1 8 T h B A i i t h f i r s t h a l f o s e c t o r 0

T h l a y o u t l o o k s l i k e t h i s :B A D u m p

T R A C K 1 S E C T O RT r a c k

N U M B E R

0 0 : 1 1 2 0 1 1 0 1 0 0 1 1 F F F 1 F I0 8 1 5 F F F F 1 F 1 5 F F F F 1 F1 0 1 5 F F F F 1 F 1 5 F F F F 1 F1 8 1 5 F F F F 1 F 1 5 F F F F 1 F2 0 1 5 F F F F 1 F 1 5 F F F F 1 F2 8 1 5 F F F F 1 F 1 5 F F F F 1 F 1 1 3 0 1 5 F F F F 1 F 1 5 F F F F 1 F 1 1 3 8 1 5 F F F F 1 F 1 5 F F F F 1 P 1 1 4 0 1 5 F F F F 1 F 1 5 F F F F 1 F 1 1

4 8 1 2 F C F F 0 F 1 4 F F F F 0 F 1 8 1 95 0 1 4 F F F F 0 F 1 4 F F F F 0 F 2 2 5 8 1 4 F F F F 0 F 1 4 F F F F 0 F 2 2 2 36 0 1 4 F F F F 0 F 2

1 2 F F F F 0 3 2

1 7

Page 182: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 182/260

6 8 1 2 F F F F 0 3 1 2 F F F F 0 37 0 1 2 F F F F 0 3 1 2 F F F F 0 37 8 1 2 F F F F 0 3

2 2 2 8 2 93

1 1 F F F F 0 1 3 8 0 1 1 F F F F 0 1 1 1 F F F F 0 1 3 2 3 38 2 1 1 F F F F 0 1 1 1 F F F F 0 1 3 3

A d d r e s s o t h n e x t s e c t o r w h i c h i w h e r e t h d i r e c t o r y b e g i n s ,- T h e s t a r t o f t h e B A m a f o t r a c k 1

D e t a i l e d E x p l a n a t i o n

O O : 1 2 O 1 O 1 O O 1 1 5 | F F | F F | 1 F |T o t a l f r e e s e c t o r s f o r t r a c k 1 I t h i s c a s e i i h e 1 o d e c i m a l 2 1 S i n c e t r a c k

h a m a x i m u m o 2 s e c t o r s , t r a c k 1 i t o t a l l y e m p t y .

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

h e F b i t s " 1 1 1 1 1 1 1

0 t s e c t o rl t s e c t o r

2 t s e c t o r3 t s e c t o r

4 t s e c t o r5 t s e c t o r

6 t s e c t o r7 t s e c t o r

T h e r e f o r e a l s e c t o r s a r e m p t y .

b i c o n f i g u r a t i o n s f o s e c t o r s t h r u 1

h e x F F = b i t s 1 I

8 t s e c t o r9 t s e c t o r1 0 t h s e c t o r

1 1 t h s e c t o r1 2 t h s e c t o r

1 3 t h s e c t o r1 4 t h s e c t o r

1 5 t h s e c t o r

1 7

Page 183: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 183/260

b i c o n f i g u r a t i o n s f o s e c t o r s 1 t h r o u g h 2 0

h e x l F = b i t s " 0 1 1 1 1 "1 6 t h s e c t o r

1 7 t h s e c t o r1 8 t h s e c t o r

1 9 t h s e c t o r2 0 t h s e c t o r

I a n e m p t y d i s k , t h " d b y t e c h a n g e s f r o m I F O F 0 3 0 t c o m p e n s a t e f o v a r y i n g n u m b e r o s e c t o r s p e t r a c k .

h e I i t h e p a t t e r n w h e r e t h e r e a r 2 s e c t o r s a i t r a c k s t h r o u g h 1 7 h e O i t h e p a t t e r n w h e r e t h e r e a r 2 s e c t o r s a i t r a c k s 1 8 t h r o u g h 2 4 h e I i t h p a t t e r n w h e r e t h e r e a r e 1 8 s e c t o r s a i t r a c k s 2 t h r o u g h 3 0 h e I i t h p a t t e r n w h e r e t h e r e a r 1 s e c t o r s i n t r a c k s 3 t h r o u g h 3 5

O b s e r v a t i o n s U s i n g T h B A M a P r o g r a mT h B A t u r n s o f t h b i t s w h e n i a l l o c a t e s s e c t o r . T h B A M a P r o g r a m l o o k s a t h e s e b i t s a n i t h b i i o ( m e a n i n g i t i sf r e e a n h a n o b e e n a l l o c a t e d ) i w i l l p r i n t e i t h e r " o w h i t es q u a r e . B l o o k i n g a t h m a y o c a d e t e r m i n e h o f u l l o e m p t yt h d i s k i s V a r y i n g n u m b e r s o s e c t o r s .T h r e a s o n f o t h e v a r y i n g n u m b e r o s e c t o r s p e t r a c k i t p a c km o r e d a t a o t h d i s k . T h w o r s e c a s e ( 1 7 s e c t o r s p e t r a c k )p r o p a g a t e d t h r o u g h o u t t h d i s k w o u l d d e c r e a s e t h n u m b e r o s e c t o r s p e r t r a c k b 9 s e c t o r s o 2 4 K .S e c t o r s n o t c o n t i g u o u sT h s e c t o r s a r i 2 5 b y t e b l o c k s . p r o g r a m f i l e , w h i c h i s t o r e di 2 5 b y t e s , i n o w r i t t e n o t h d i s k c o n t i g u o u s l y , b u w r i t t e na p p r o x i m a t e l y o n e - h a l f t r a c k a p a r t . U s i n g t h B A p r o g r a m , y o c a s e w h e n y o s a v e p r o g r a m o a e m p t y d i s k , t h a t D O w i l ls a v e t h f i r s t 2 5 b y t e s o t r a c k 1 7 s e c t o r 0 t h s e c o n d 2 5 b y t e s o s e c t o r 1 0 t h t h i r d 2 5 b y t e s o s e c t o r 3 a n s o n T h p u r p o s e o t h e s e g a p s i t s p e e d u t h e p r o c e s s i n g b n o w a i t i n g f o f u l lr o t a t i o n o f t h d i s k . I t h p r o g r a m w e r e w r i t t e n c o n t i g u o u s l y a f t e re a c h w r i t e , D O w o u l d h a v e t w a i t a e n t i r e r o t a t i o n o t h d i s kt w r i t e t h n e x t s e q u e n t i a l s e c t o r . T h u s , t h B A M a w i l l s h o ww h e r e a l t e r n a t i n g s e c t o r s a r a l l o c a t e d .A l l o c a t i o n o f s e c t o r sD O a l l o c a t e s d i s k s p a c e v e r y e f f i c i e n t l y . S e c t o r s a r a l l o c a t e da r o u n d t h d i r e c t o r y ( t r a c k 1 8 ) . T h i s r e d u c e s t h e r e a d / w r i t e h e a d

1 7

Page 184: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 184/260

U t i l i t i e s

m o v e m e n t b e c a u s e i r e a d s t h d i r e c t o r y f i r s t , t h e n r e a d s t h f i l e . B h a v i n g t h f i l e c l o s e t o t h d i r e c t o r y , h e a d m o v e m e n t i r e d u c e d .W h e r e s e c t o r s a r a l l o c a t e dW h e n y o d e l e t e t h f i r s t p r o g r a m o f u l l d i s k , t h B A M a w i l ls h o w f r e e s e c t o r s n e a r t h d i r e c t o r y . W h e n y o s a v e n e p r o g r a m ,i w i l l s t a r t b a l l o c a t i n g t h o s e f r e e s e c t o r s n e a r e s t t h d i r e c t o r y a n w i l l s t a r t f i l l i n g i w h e r e y o d e l e t e d t h o l f i l e . I t h n e p r o g r a mi l a r g e r t h a n t h e o l d p r o g r a m , i w i l l t r t a l l o c a t e s e c t o r s f u r t h e ra n f u r t h e r f r o m t h d i r e c t o r y . B u s i n g t h i s a l l o c a t i o n t e c h n i q u e ,t h n e e d f o a d i s k c o m p r e s s i e l i m i n a t e d .

P R O G R A M E X P L A N A T I O N1 0 0 ' 1 7 0 I n i t i a l i z a t i o n1 8 0 - 1 9 0 W h i c h d r i v e ?2 0 0 - 4 3 0 P r i n t s t h B A M a o u t l i n e .

1 0 R E M * B L O C K A C C E S S M E T H O D D U M P1 1 R E M * W R I T T E N B T O C O N R A D1 2 R E M *1 3 R E M *1 4 R E M * I N I T I A L I Z A T I O N1 5 D I A ( 4 )1 6 N L $ = C H R $ ( 0 )1 7 T = 0 : R E M T O T A L F R E E B L O C K S1 7 R E M * W H I C H D R I V E1 8 P R I N T n f i t W t * D R I V E ? n1 9 G E D $ : I F D $ = n n G O T O 1 9 1 9 R E M * P R I N T S T H B A M A O U T L I N E2 0 P R I N T S r T R A C K S r 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2

- i 2 2 2 2 2 3 3 3 3 3 3 n2 1 P R I N T 1 1 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7

i 8 9 0 1 2 3 4 5 M2 2 P R I N T " ! S S S $ $ S $ S $ S S S S S S S S S S S $ S S S $ $ $

i S S S S S S S S "2 3 0 P R I N T n x S f 0 J L2 4 P R I N T "2 5 P R I N T n x C r 2 J .

i 2 6 P R I N T n j : T r 3 _ L

Q I j f c .2 7 P R I N T " r O ? 4 1

1 7

Page 185: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 185/260

2 8 P R I N T " r R f 5 1 1 2 9 P R I N T " 6 1

Q I

3 0 P R I N T 1 1 7 3 1 P R I N T 1 1 8 3 2 P R I N T 1 1 9

t

3 3 P R I N T M 1 0 1i

3 4 P R I N T M 1 1 1I

3 5 P R I N T n 1 2 11

3 6 P R I N T n 1 3 1i

3 7 P R I N T n 1 4 1i

3 8 P R I N T " 1 5 13 9 P R I N T M 1 6 14 0 P R I N T n 1 7 1

Q # # # # t l4 1 P R I N T n 1 8 1

i Q # # # # # w4 2 P R I N T n 1 9 1

- . f O R i = E M P T Y f l4 3 4 4 S $ = n n : T $ = n f l4 5 W § = n ^ 1 1 : F O 1 = T 2 5 S $ = S $ + W ? : N E X T4 6 V $ = f I > " : F O 1 = T 4 0 T $ = T $ + V $ : N E X T4 6 R E M * I N I T D R I V E A N D C F O R E R R O R4 7 O P E N 1 5 , 8 , 1 5 , n I " + D $ : G O S U B 7 6 4 7 R E M * A L L O C B U F F E R T C H A N N E L4 8 O P E N 2 , 8 , 2 , n # l l + l l 0 " : G O S U B 7 6 4 8 R E M * B L O C K - R E A D I N T O B U F F E R4 9 P R I N T # 1 5 , n U l : 2 , I f D $ , 1 8 , 0 : G O S U B 7 6 4 9 R E M * S E T B U F F E R P O I N T E R5 0 P R I N T # 1 5 , f f B - P : 2 , 4 1 15 0 R E M * M E M O R Y R E A D5 1 P R I N T # 1 5 , M M - R M C H R $ ( 0 ) C H R $ ( 1 7 )5 2 R E M * S E A R C H F O E M P T Y S E C T O R S5 3 F O 1 = T 3

1 7

Page 186: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 186/260

5 4 5 4 5 5 5 6 5 6 5 7 5 8 5 9 6 0 6 0 6 1 6 2 6 3 6 3 6 4 6 4 6 5 6 6 6 7 6 8

F O L = T : R E M * G E T S B Y T E F R O M B U F F E R: G E T # 2 f A $: I A $ = " " T H E N A $ = N L $: R E M * C O N V E R S I O N F R O M C H A R T O A S C I: A ( L ) = A S C ( A $ ): I L = A N I O 1 8 T H E N T = T + A ( 1 )

N E X TF O J = T

R E M * P R I N T S A L T E R N A T I N G S Q U A R E SP R I N T " t o " : I F I N T ( j / 2 ) = j / 2 T H E N- i P R I N T " J I A ( J ) = A S C ( C H R $ ( 0 ) ) T H E N G O T Oi 6 8 0 : R E M * S E C T F U L LF O K = T S T E P - : R E M * P R I N T S A L T E R N A T I N G S Q U A R E S- i : P R I N T " J i i / ' r I F I N T ( K / 2 ) = K / 2 T H E N- i P R I N T " J a r: R E M * D E C O D E S D E C I M A L T B I : I ( A ( J ) - 2 ~ K ) < 0 G O T O 6 7 : A ( J ) = A ( J ) - 2 " K : G O S U B 7 9

N E X TN E X T

6 9 N E X T7 0 P R I N T S " : R E M * C L E A R S Q U A R E7 0 R E M * P R I N T S T O T A L F R E E B L O C K S7 1 P R I N T L E F T $ ( S $ , 2 2 ) L E F T $ ( T $ , 2 3 ) " F R E E

- , B L K S = " T " T T T T f f7 1 R E M * M A P O N S C R E E N U N T I L K E Y I H I T *7 2 G E Z $ : I F Z $ = " " G O T O 7 2 7 3 C L O S E 2 : C L O S E 1 7 3 R E M * S T A R T P R O G R A M A G A I N7 4 G O T O 1 7 7 5 R E M * C H E C K F O R D I S K E R R O R7 6 I N P U T # 1 5 f E N $ f E M $ , E T f E S : I E N $ = " 0 0 "

- i T H E N R E T U R N7 7 P R I N T " r D I S K E R R O R : r E M E N $ f

- . E T " f E 7 8 E N 7 9 R E M * P R I N T A L T E R N A T I N G P A T T E R N8 0 I I N T ( l / 2 ) = 1 / A N D I N T ( K / 2 ) = K / -

i T H E N C $ = " & "8 1 I I N T ( l / 2 ) O l / 2 A N D I N T ( K / 2 ) = K / -

- i T H E N C $ = " x8 2 I I N T ( l / 2 ) = 1 / A N I N ( K / 2 ) O K / 2 -

- / T H E N C $ = " l .

1 8

Page 187: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 187/260

8 3 I I N T ( I / 2 ) O I / 2 A N I N T ( K / 2 ) O K / 2- i T H E N C $ = " r & "8 4 P R I N T " h 1 1 L E F T $ ( S $ f 3 + ( ( J - 2 ) * 8 ) + K ) -

- i L E F T $ ( T $ f 2 I C 8 5 R E T U R N

T R f l C K S 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 21 2 3 4 5 6 7 8 9 6 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5S E C 5 R

1 1 1 1 i 1 2 O R & = E M P T VF R E E B L K S =

R e f e r e n c e s :P a r s o n s , J a m e s C " D i s p l a y T r a c k a n S e c t o r " , C o m m o d o r e N e w s l e t t e r V o l .N u m b e r 8 J a n u a r y 1 9 8 0 .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 , C o m m o d o r e C B D u a l F l o p p y D i s k M o d e l 2 0 4 0U s e r M a n u a l , J u l y 1 9 7 9 .

4 4 0 * 4 6 0 S e t s u p S $ w i t h 2 5 c u r s o r d o w n s . S e t s u T w i t h 4 c u r s o r r i g h t s .4 7 I n i t i a l i z e s t h e r e q u e s t e d d r i v e c h e c k s f o d i s k e r r o r .4 8 A l l o c a t e s b u f f e r t c h a n n e l f o b l o c k c o m m a n d s t h a t f o l l o w .

1 8

Page 188: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 188/260

4 9 U s e r c o m m a n d t h a t d o e s a b l o c k - r e a d . I r e a d s f r o m t h r e q u e s t e d d i s k ,t r a c k 1 8 s e c t o r i n t o t h d i s k b u f f e r a n c h e c k s f o a d i s k e r r o r .5 0 S e t h c h a n n e l p o i n t e r t t h e 5 t h b y t e i t h b u f f e r w h e r e t h B A M a s t a r t s .

5 1 M e m o r y - R e a d C o m m a n d s e t s u t h e b y t e p o i n t e d t b t h a d d r e s s 1 7 0 0 .5 3 0 - 6 9 0 R e a d t h B A a n l o o k f o e m p t y s e c t o r s .5 5 0 T h e G E T # w i l l r e c e i v e o n b y t e f r o m t h b u f f e r v i a c h a n n e l 1 5 6 T h b y t e i i c h a r a c t e r f o r m a n d , i i i n u l l , i n e e d s t b c h a n g e d t

C H R $ ( 0 ) o t h e r w i s e s t a t e m e n t 5 7 w i l l e n t h e c o n v e r s i o n .5 7 C o n v e r s i o n t n u m e r i c .5 8 T h i s c a l c u l a t e s t h t o t a l f r e e s e c t o r s a v a i l a b l e . A ( l ) i t h t o t a l f r e e s e c t o r s

f o t h a t p a r t i c u l a r t r a c k . T h t o t a l i c a l c u l a t e d b s u m m i n g a l t h A ( l ) ' se x c e p t T r a c k 1 w h i c h i r e s e r v e d o n l y f o t h d i r e c t o r y a n c a n n o t b a l l o c a t e d f o a n f i l e s .

6 1 P r i n t s i t h u p p e r l e f t c o r n e r a l t e r n a t i n g : ^ * a n d w h i t e s q u a r e s t s h o ww h e n t h p r o g r a m i r u n n i n g .

6 2 I s e c t o r i f u l l ( a l l b i t s a r o f f ) g t n e x t b y t e .6 3 0 - 6 7 0 D e c o d e s t h e d e c i m a l n u m b e r i n t o b i p a t t e r n a n c h e c k i b i i o n 6 4 S a m e a 6 1 6 5 I t h n u m b e r m i n u s t h p o w e r s o i g r e a t e r t h a n o r e q u a l t z e r o t h e n

t h b i i o a n g t 7 9 t o p r i n t o t h s c r e e n .7 0 P r o g r a m i f i n i s h e d r u n n i n g n o c l e a r t h e s q u a r e i t h u p p e r l e f t c o r n e r .7 1 P r i n t t h t o t a l f r e e b l o c k s .7 2 K e e p m a o s c r e e n u n t i l a n k e i t y p e d .7 3 C l o s e t h e f i l e s .7 4 S t a r t p r o g r a m a g a i n .7 5 0 - 7 8 0 S u b r o u t i n e t c h e c k f o d i s k e r r o r .7 9 0 - 8 5 0 P r i n t s ' ^ ' o r w h i t e s q u a r e f o t h e m p t y s e c t o r .8 4 T h f i r s t L E F T $ i c a l c u l a t i n g h o m a n y c u r s o r d o w n s ( s e c t o r n o . ) a r e

n e e d e d a n t h s e c o n d o n i c a l c u l a t i n g h o m a n y c u r s o r L E F T $ ( t r a c kn o . ) a r n e e d e d .

1 8

Page 189: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 189/260

D i s k L i s t e rD i s k C a t a l o g i n g P r o g r a mF o T h C o m m o d o r e P E

A n 2 0 4 0 D i s kB a k e r E n t e r p r i s e s

H a v i n g f i n a l l y c o p i e d a l m p r o g r a m s f r o m c a s s e t t e o n t o f l o p p yd i s k s , s u d d e n l y f o u n d i s o m e w h a t d i f f i c u l t t f i n d o u w h e r ea n y t h i n g w a s . W i t h w e l l o v e r 3 0 0 p r o g r a m s s c a t t e r e d o t 2 o 3 d i s k s , i j u s t w a s n ' t e a s y t q u i c k l y l o c a t e p a r t i c u l a r p r o g r a m . I a d d i t i o n , w a s t a r t i n g t u s W o r d P r q u i t e h e a v i l y t w r i t ea r t i c l e s a n v a r i o u s d o c u m e n t s , s a v i n g t h e m a l o d i s k a s w e l l .B e c a u s e o t h i s , d e c i d e d t o w r i t e p r o g r a m t c a t a l o g a l t h d i s k sa n c o n d e n s e t h i n f o r m a t i o n o n t o s i n g l e d i s k e t t e .T h p r o g r a m s h o w n h e r e i t h f i r s t s t e p t o w a r d m f i n a l g o a l .I c a c a t a l o g w e l l o v e r 1 0 d i s k e t t e s w i t h t h e c u r r e n t C o m m o d o r e2 0 4 0 d i s k d r i v e . I o n l y h a f e f u n c t i o n s i m p l e m e n t e d , b u i h a p r o v e n t b v e r y h a n d y . h a v e " w i s h " l i s t o o t h e r f e a t u r e si n t e n d t a d i t h n e a r f u t u r e . A l n e e d n o i t h t i m e t d i t

T h m a j o r f l o w o t h p r o g r a m s h o u l d b s t r a i g h t f o r w a r d . I V s p r i n k l e d t h p r o g r a m w i t h R E M a r k s t h e l p d o c u m e n t s e v e r a lo p e r a t i o n s a n f e o t h v a r i a b l e s u s e d . I y o s h o u l d c o p y t h p r o g r a m , w o u l d s t r o n g l y r e c o m m e n d l e a v i n g o u a l R E M a r k s a n u n n e c e s s a r y s p a c e s t h e l p s p e e d u p p r o g r a m e x e c u t i o n .

I i t p r e s e n t f o r m , t h e p r o g r a m r e a d s t h d i r e c t o r y o a n d i s kp l a c e d i d r i v e # 1 I t h e n w r i t e s c o n d e n s e d d i r e c t o r y a d a t a f i l eo t h m a s t e r d i r e c t o r y d i s k d r i v e # 0 A l o t h i s i d o n ea u t o m a t i c a l l y w i t h o u t a n u s e r i n p u t o t h e r t h a n s e l e c t i n g t h p r o g r a m f u n c t i o n a n v e r i f y i n g t h a t t h c o r r e c t d i s k w a i n s e r t e d .O n c e t h e d a t a f i l e s a r e c r e a t e d , y o c a t h e n d i s p l a y o p r i n t t h d i r e c t o r y o a n d i s k t h a t h a b e e n c a t a l o g e d i t h m a s t e rd i r e c t o r y . T h d i r e c t o r y w i l l s h o w t h d i s k n a m e , I D a n f o r m a t . I w i l l a l s o s h o w a a l p h a b e t i z e d l i s t o f t h e f i l e s o t h d i s k a l o n g w i t ht h f i l e t y p e a n l e n g t h ( i b l o c k s ) o e a c h f i l e . W h i l e a d i r e c t o r y i b e i n g l i s t e d , h i t t i n g " S w i l l s t o p t h l i s t i n g u n t i l a n o t h e r k e y i h i t .H i t t i n g " Q a a n t i m e d u r i n g t h l i s t i n g w i l l t e r m i n a t e t h l i s tf u n c t i o n . s a m p l e d i r e c t o r y p r i n t o u t i s h o w n i F i g u r e t o g i v ey o a i d e a o w h a t i d i s p l a y e d .

1 8

Page 190: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 190/260

T h f i l e n a m e s o f t h e s e q u e n t i a l d a t a f i l e s c r e a t e d f o t h m a s t e r d i r e c t o r y c o n s i s t o t h t w c h a r a c t e r d i s k I f o l l o w e d b p e r i o d a n t h l e t t e r s D I R . I i t c o m p a c t e d f o r m , t h e m a j o r d i s ki n f o r m a t i o n t a k e s 2 b y t e s a n e a c h e n t r y i t h d i r e c t o r y t a k e s 2 b y t e s . S i n c e t h d i s k I i u s e d t o c r e a t e t h e d a t a f i l e n a m e , b c a r e f u l n o t d u p l i c a t e d i s k I D s . T h i s p r e c a u t i o n i a l s or e c o m m e n d e d w h e n u p g r a d i n g t D O 2 . s i n c e D O u s e s t h I t r e c o g n i z e t h a t a d i s k h a b e e n c h a n g e d i t h d r i v e . A n o t h e rh i n t o u s i n g t h i s p r o g r a m r e s e r v e o n d i s k a t h m a s t e rd i r e c t o r y d i s k w i t h n o t h i n g e l s e s t o r e d o t h a t d i s k e x c e p t t h ed i r e c t o r y d a t a f i l e s . T h i s w i l l a l l o w c a t a l o g i n g t h e m a x i m u m n u m b e ro d i s k s i n t o y o u r m a s t e r d i r e c t o r y .

I c a t a l o g u e d d i s k i l a t e r u p d a t e d o r m o d i f i e d , s i m p l yr e - c a t a l o g t h d i s k t u p d a t e t h m a s t e r d i r e c t o r y . T h o l d a t a f i l ew i l l b d e l e t e d a n n e o n c r e a t e d , a l a u t o m a t i c a l l y . T h p r o g r a m a l s o p r o v i d e s d e l e t e f u n c t i o n , s y o c a d e l e t ec a t a l o g e d d i s k t h a t n l o n g e r e x i s t s . T h i s f u n c t i o n s i m p l y d e l e t e s t h a p p r o p r i a t e d a t a f i l e f o t h s p e c i f i e d d i s k I D . Y o c o u l d a c t u a l l ya c c o m p l i s h t h s a m e f u n c t i o n b m a n u a l l y s c r a t c h i n g t h c o r r e c td a t a f i l e f r o m t h m a s t e r d i r e c t o r y d i s k .

C u r r e n t l y , w h e n l i s t i n g o d e l e t i n g d i r e c t o r i e s , y o m u s t e n t e rt h t w c h a r a c t e r d i s k I D . T h i s c a n b e i n c o n v e n i e n t a t i m e s , b u i d o e s m a k e t h i n g s e a s i e r . i n t e n d t a l l o w e n t e r i n g t h I o t h d i s kn a m e i t h n e x t v e r s i o n I ' m w o r k i n g o n H o w e v e r , t h i s w i l l r e q u i r em a i n t a i n i n g s o m e k i n d o c r o s s - r e f e r e n c e t c o r r e l a t e t h d i s k I D a n d i s k n a m e s . W h e n t h i s f e a t u r e i a d d e d , t h d e l e t e f u n c t i o n w i l la l w a y s h a v e t b u s e d t r e m o v e d i s k f r o m t h m a s t e r d i r e c t o r y .T h a d d e d c r o s s - r e f e r e n c e w i l l a l s o b t h b a s i s f o s e v e r a l o t h e rf e a t u r e s i n t e n d t a d d :

L i s t a l d i s k I D c u r r e n t l y u s e d i a l p h a b e t i c a l o r d e r ;o p t i o n a l l y d i s p l a y e a c h d i s k ' s c o r r e s p o n d i n g 1 c h a r a c t e rn a m e . T h i s w i l l h e l p a v o i d u s i n g d u p l i c a t e d i s k I D w h e nc r e a t i n g n e d i s k s .L i s t a l d i s k n a m e s i a l p h a b e t i c a l o r d e r a n s h o w e a c h d i s k ' sc o r r e s p o n d i n g 2 - c h a r a c t e r d i s k I D A b i l i t y t l i s t a l d i s k s o w h i c h p a r t i c u l a r f i l e c a b f o u n d .T h i s f u n c t i o n s h o u l d u s e c h a r a c t e r m a t c h i n g i c a s e y o c a n ' tr e m e m b e r t h e x a c t f i l e n a m e o w a n t a l l f i l e s s t a r t i n g w i t hp a r t i c u l a r w o r d , e t c .

O n o t h e r t h i n g w o u l d l i k e t a d i c o m p u t a t i o n o f t h e n u m b e ro f r e e b l o c k s f r o m t h B A M . I t h i s i n f o r m a t i o n w e r e i n c l u d e d i

1 8

Page 191: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 191/260

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

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

1 R E M * * * * * * * D I S K L I S T E R * * * * * * * * * * * *2 R E 3 R E B Y R O B E R T W B A K E R4 R E 5 R E 1 W I N D S O R D R I V E , A T C O f N J 0 8 0 0 46 R E 7 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *8 9 C L R : D I M D $ ( 1 5 0 ) f D ( 1 5 0 ) : Q $ = C H R $ ( 3 4 ) :

- . C R $ = C H R $ ( 1 3 )1 0 R E D I S P L A Y M E N U S E L E C T F U N C T I O N1 1 0 P R I N T " f i n ; S P C ( 9 ) ; " x . D I S L I S T - .

i R " : G O S U B 1 3 4 01 2 P R I N T S P C ( 5 ) ; " 0 D O N E *1 3 P R I N T S P C ( 5 ) ; " 1 U P D A T E M A S T E R -

- i D I R E C T O R Y *1 4 P R I N T S P C ( 5 ) ; " 2 D I S P L A Y S E L E C T E D -

- . D I R E C T O R Y *1 5 P R I N T S P C ( 5 ) ; l f 3 D E L E T E D I S K E N T R Y -

- . F R O M M A S T E R1 6 G O S U B 1 3 4 01 7 P R I N T " R E N T E R D E S I R E D F U N C T I O N : " 1 8 G O S U B 1 3 2 01 9 I C $ = " 0 " T H E N P R I N T " f i n : E N 2 0 C = V A L ( C $ ) : I F C < O C > T H E N 1 8 2 1 O G O T O 2 5 0 , 7 5 0 , 1 0 5 02 2 R E * * * * * * * * * * * * * * * * * * * * * * * * *2 3 R E M U P D A T E M A S T E R D I R E C T O R Y2 4 R E * * * * * * * * * * * * * * * * * * * * * * * * *2 5 P R I N T " f i l N S E R T U P D A T E D I S K I D R I V E -

- i # l2 6 G O S U B 1 3 1 0 : G O S U B 1 3 4 0 : P R I N T " O K2 7 O P E N 1 5 , 8 , 1 52 8 P R I N T # 1 5 , " I I "2 9 O P E N 5 f 8 r 5 f " $ l f S f R n : G O S U B 1 2 6 03 0 Y = 1 4 2 : G O S U B 1 2 0 0 : R E M * * S K I P B A 3 1 Y = 1 6 : G O S U B 1 1 8 0 : D N $ = S $ : R E M * * D I S K -

- . N A M E

1 8

Page 192: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 192/260

3 2 Y = 2 : G 0 S U B 1 2 0 0 : R E M * * S K I P S P A C E S3 3 Y = 2 : G 0 S U B 1 1 8 0 : D I $ = S $ : R E M * * D I S K . - .

- i I D3 4 0 P R I N T " R j l D I S K N A M E : r W ; D N $

- P R I N T H j l D I S K I D : r n D I $ :t G O S U B 1 3 4 0

3 5 P R I N T " C O R R E C T D I S K I N S E R T E D " ;G O S U B 1 3 5 0 : I F C $ = " N " T H E N 7 1 3 6 G O S U B 1 3 4 0 : P R I N T " R E A D I N G D I R E C T O R Y -

- i E N T R I E S . . .3 7 G O S U B 1 2 5 03 8 Y = 2 : G O S U B 1 1 8 0 : D F $ = S $ : R E M * * D I S K -

- . F O R M A T3 9 Y = 8 9 : G O S U B 1 2 0 0 : N F = 0 : Z = 0 : R E M * * -

- i S K I P T F I R S T D I R E C T O R Y E N T R Y4 0 G O S U B 1 2 2 0 : F T = V : F $ = C $ : R E M * * F I L E -

- . T Y P E ( 0 = D E L E T E D )4 1 Y = 2 : G O S U B 1 2 0 0 : R E M * * S K I P -

^ S T A R T I N G T R A C K S E C T O R4 2 Y = 1 6 : G O S U B 1 1 8 0 : R E M * * F I L E N A M E4 3 Y = 9 : G O S U B 1 2 0 0 : R E M * * S K I P U N U S E D -

i I N F O4 4 G O S U B 1 2 2 0 : X = V : G O S U B 1 2 2 0 : X = X + ( V * 2 5 6

- i : R E M * * # B L O C K S I F I L E4 5 I F T > 0 T H E N N F = N F + 1 : D $ ( N F ) = F $ + S $ :

- i D ( N F ) = X : R E M * * A D D F I L E I N O - - . D E L E T E D

4 6 Z = Z + l : Z = Z - ( I N T ( Z / 8 ) * 8 ) : R E M * * - i Z = E N T R Y W I T H I N T H I S D I S K B L O C K

4 7 I Z > T H E N Y = 2 : G O S U B 1 2 0 0 : R E M * - - i S K I P B Y T E S I N O T L A S T E N T R Y I i B L O C K

4 8 I S S = 0 T H E N 4 0 0 : R E M * * C O N T I N U E - - i T I L L E N O D I R E C T O R Y

4 9 C L O S E 5 : I F N F < 2 T H E N 6 0 5 0 G O S U B 1 3 4 05 1 P R I N T " S O R T I N G D I R E C T O R Y E N T R I E S . . .5 2 R E S O R T D I R E C T O R Y I N T O5 3 R E A L P H A B E T I C A L O R D E R5 4 F O X = l T O N F : F O R Y = T N F - 15 5 I D $ ( Y ) < = D $ ( Y + 1 ) T H E N 5 7 5 6 C $ = D $ ( Y ) : C = D ( Y ) : D $ ( Y ) = D $ ( Y + l ) :

- . D ( Y ) = D ( Y + 1 ) : D $ ( Y + 1 ) = C $ : D ( Y + 1 ) = C5 7 N E X T Y , 5 8 R E M D E L E T E O L D I R E C T O R Y5 9 R E M D A T A F I L E S A V E N E W C O P Y6 0 G O S U B 1 3 4 0 : P R I N T " U P D A T I N G M A S T E R

- i D I R E C T O R Y . . .

1 8

Page 193: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 193/260

6 1 S $ = " 0 : l l + D I $ + l l . D I R f I6 2 P R I N T # 1 5 , " S " + S $6 3 O P E N 5 f 8 r 5 f S $ + I I f S f W I I : G O S U B 1 2 6 06 4 P R I N T # 5 f Q $ ; D N $ ; Q $ ; C R $ ; : G O S U B 1 2 6 06 5 P R I N T # 5 f D I $ ; C R $ ; : G O S U B 1 2 6 06 6 P R I N T # 5 r D F $ ; C R $ ; : G O S U B 1 2 6 06 7 I N F = 0 T H E N 7 1 6 8 F O X = T N F : F O R Y = T 1 7

- i P R I N T # 5 , M I D $ ( D $ ( X ) , Y , 1 ) ; : G O S U B - i l 2 6 0 : N E X T

6 9 H = I N T ( D ( X ) / 2 5 6 ) : L = D ( X ) - ( 2 5 6 * H )7 0 P R I N T # 5 , C H R $ ( L ) ; C H R $ ( H ) ; C R $ ; :

- i G O S U B 1 2 6 0 : N E X T7 1 C L O S E 5 : C L O S E 1 5 : G O T O 1 1 7 2 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *7 3 R E D I S P L A Y S E L E C T E D D I S K D I R E C T O R Y7 4 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *7 5 P R I N T " f i T O D I S P L A Y D I S K D I R E C T O R Y 1 1 :

- i G O S U B 1 1 4 0 : O P E N 1 5 8 1 7 6 O P E N 5 , 8 , 5 , S $ + n , S , R l l : G O S U B 1 2 6 07 7 G O S U B 1 3 4 0 : P R I N T " W A N T P R I N T E D -

- i C O P Y 1 1 ; : G O S U B 1 3 5 0 : G O S U B 1 3 4 07 8 P D = 3 : I F C $ = n Y n T H E N P D = 47 9 O P E N 4 , P D : R E M * * P P R I N T D E V I C E

- i S E L E C T O R ( 3 = D I S P L A Y f 4 = P R I N T E R )8 0 I N P U T # 5 , D N $ : G O S U B 1 2 6 08 1 I N P U T # 5 f D I $ : G O S U B 1 2 6 08 2 I N P U T # 5 f D F $ : G O S U B 1 2 6 08 3 I P D = 3 T H E N P R I N T 1 1 ! ! " ;8 4 P R I N T # 4 f " i D I S K N A M E : f " ; D N $8 5 P R I N T # 48 6 P R I N T # 4 f " x D I S K I D : f " ; D I $ ; S P C ( 1 0 ) ; "

- . J l D I S K F O R M A T : r " ; D F $8 7 P R I N T # 4 R E * * D I S K F O R M A T W I L L - i B B L A N K F O D O 1 .

8 8 P R I N T # 4 , " C C C C C C C C C C C C C C C C C C C C C C C C C C C- i C C C C C C C C C C C C " : P R I N T # 4

8 9 Y = 1 7 : G O S U B 1 1 8 0 : R E M * * G E F I L E- i N A M E T Y P E

9 0 G O S U B 1 2 2 0 : Z = V : G O S U B 1 2 2 0 : Z = Z + ( 2 5 6 * V- . ) : R E M * * G E # B L O C K S

9 1 G O S U B 1 2 5 0 : R E M * * S K I P L A S T C 9 2 P R I N T # 4 f R I G H T $ ( n " + S T R $ ( Z ) f

- 4 ) ; " " 9 3 P R I N T # 4 f M I D $ ( S $ f 2 f 1 6 ) ; S P C ( 3 ) ;9 4 V = A S C ( L E F T $ ( S $ f l ) ) : R E M * * D E C O D E

i F I L E T Y P E9 5 I V = 1 2 9 T H E N P R I N T # 4 r " S E Q n ;

1 8

Page 194: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 194/260

9 6 I V = 1 3 0 T H E N P R I N T # 4 , M P G M n ;9 7 I V = 1 3 1 T H E N P R I N T # 4 , " U S R " ;9 8 P R I N T # 4 : G E T C $ : I F C $ = " S " T H E N G O S U B -

i l 3 2 0 : R E M * * A L L O W S T A R T / S T O P O - i L I S T

9 9 I C $ < > " Q " A N D S S = 0 T H E N 8 9 1 0 0 0 C L O S E 4 : C L O S E 5 : C L O S E 1 5 I P D = 3 -

- . T H E N G O T O 1 3 0 01 0 1 0 G O T O 1 1 1 0 2 0 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1 0 3 0 R E D E L E T E D I S K D I R E C T O R Y D A T A F I L E1 0 4 0 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *1 0 5 0 P R I N T " f i T O D E L E T E D I S K F R O M M A S T E R -

- i D I R E C T O R Y " : G O S U B 1 1 4 0 : O P E N 1 5 , 8 , 1 51 0 6 0 P R I N T # 1 5 , n S " + S $ : C L O S E 1 5 : G O T O 1 1 1 0 7 01 0 8 0 R E M * * * * * * * * * * * * * * * * * * * * * * *1 0 9 0 R E * * * * * S U B R O U T I N E S * * * * *1 1 0 0 R E * * * * * * * * * * * * * * * * * * * * * * *1 1 1 01 1 2 0 R E * * G E D I S K I 1 1 3 0 R E * * M A K E D A T A F I L E N A M E1 1 4 0 I N P U T H E N T E R D I S K I % H K " ; D I $1 1 5 0 I D I $ = n ™ T H E N 1 1 1 1 6 0 S $ = n 0 : n + L E F T $ ( D I $ f 2 ) + l l . D I R " : R E T U R N1 1 7 0 R E * * R E A D S T R I N G F R O M D I S K f

- Y - B Y T E S L O N G1 1 8 0 S $ = f l " : F O R X = T Y : G O S U B 1 2 5 0 :

i S $ = S $ + C $ : N E X T X : R E T U R N1 1 9 0 R E * * S K I P Y - B Y T E S O D I S K F I L E1 2 0 0 F O X = T Y : G O S U B 1 2 5 0 : N E X T X i R E T U R N1 2 1 0 R E * * R E A D B Y T E R E T U R N A S -

- i V A L U E1 2 2 0 V = 0 : G O S U B 1 2 5 0 : I C $ < > " " T H E N -

- i V = A S C ( C $ )1 2 3 0 R E T U R N1 2 4 0 R E * * G E T B Y T E C H K F O R D I S K -

- i E R R O R1 2 5 0 G E T # 5 f C $ : S S = S T1 2 6 0 I N P U T # 1 5 , E N , E M $ , E T , E S : I F E N = 0 T H E N - - . R E T U R N1 2 7 0 P R I N T n f i j : D I S K E R R O R ! *1 2 8 0 P R I N T E N ; E M $ ; E T ; E S : C L O S E 4 : C L O S E 5

- . C L O S E 1 1 2 9 0 R E * * M I S C R O U T I N E S * * 1 3 0 0 G O S U B 1 3 4 0 : G O T O 1 1 1 3 1 0 P R I N T " ^ D E P R E S S A N Y K E Y T O C O N T I N U E

1 8

Page 195: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 195/260

1 3 2 0 G E C $ : I F C $ = n n T H E N 1 3 2 01 3 3 0 R E T U R N1 3 4 0 p r i n t H : R E T U R N1 3 5 0 P R I N T " ( Y / N ) " 1 3 6 0 G O S U B 1 3 2 0 : I C $ O n Y f I A N C $ O " N n

- / T H E N 1 3 6 01 3 7 0 P R I N T C R E T U R N

. , / f / N

/ / / / / / / l i / / / / /

/ / /

1 8

Page 196: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 196/260

C o m p a c t o rR o b e r t W B a k e r

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

T h i s p r o g r a m i t h r e s u l t o s e v e r a l d a y s o e x p e r i m e n t i n g w i t hB A S I C p r o g r a m s t r u c t u r e s a n t h 2 0 4 0 d i s k . I s h o r t , t h p r o g r a mw i l l r e a d B A S I C p r o g r a m t h a t w a s a v e d o d i s k a n c r e a t en e w , c o m p a c t e d c o p y . T h p r o g r a m w i l l d e l e t e a l R E M a r k s ,u n n e c e s s a r y s p a c e s , a n l e a d i n g c o l o n s . M u c h o t h i s i s i m i l a r t o t h e r u t i l i t y p r o g r a m s c u r r e n t l y a v a i l a b l e . H o w e v e r , t h i s p r o g r a mg o e s o n s t e p f u r t h e r . I c o m b i n e s p r o g r a m l i n e s w h e n e v e r p o s s i b l et e l i m i n a t e t h l i n k , l i n e n u m b e r , a n l i n e - e n d - f l a g o v e r h e a d sn o r m a l l y a s s o c i a t e d w i t h e a c h l i n e . I w i l l m a k e p r o g r a m a s m a l la p o s s i b l e , a n d m o s t l i k e l y f a s t e r r u n n i n g .

W h i l e c r e a t i n g t h i s p r o g r a m , c a m e a c r o s s a f e u n d o c u m e n t e d " q u i r k s " o C o m m o d o r e B A S I C . S i n c e m a n y p e o p l ea r c u r r e n t l y e x p e r i m e n t i n g w i t h t h c a p a b i l i t i e s o h a v i n g p r o g r a m s" w r i t e " p r o g r a m s o d i s k , t h i s i n f o r m a t i o n m a b o i n t e r e s t :Z e r o L e n g t h L i n e s :N o r m a l l y , i i i m p o s s i b l e t c r e a t e a z e r o l e n g t h l i n e u s i n g t h es c r e e n e d i t o r o t h P E T . B z e r o l e n g t h l i n e , m e a n l i n e w i t hl i n k , l i n e n u m b e r , a n e n d - o f - l i n e f l a g , b u n B A S I C c o m m a n d s o t e x t . I y o w e r e t t y p e j u s t l i n e n u m b e r u s i n g t h s c r e e n e d i t o r ,y o w o u l d a c t u a l l y d e l e t e l i n e i n s t e a d o e n t e r i n g a z e r o l e n g t hl i n e . H o w e v e r , w h e n w r i t i n g B A S I C p r o g r a m o d i s k a d a t af i l e , t h e r e i n o t h i n g s t o p p i n g y o f r o m e n t e r i n g z e r o l e n g t h l i n e .B u i y o u w a n t t h p r o g r a m t r u n , y o c a n n o t h a v e a n z e r ol e n g t h l i n e s i t h p r o g r a m . B A S I C c a n n o t l i n k t h p r o g r a m l i n e sc o r r e c t l y w h e n e v e r t h e r e i z e r o l e n g t h i t h p r o g r a m .L o n g L i n e s :A t h o t h e r e x t r e m e , y o c a n n o t c r e a t e a B A S I C l i n e t h a t i l o n g e rt h a n 2 5 b y t e s . A g a i n , u s i n g t h e P E s c r e e n e d i t o r y o c o u l d n o c r e a t e s u c h l i n e . Y o a r n o r m a l l y l i m i t e d t m a x i m u m o 7 b y t e s d u t t h l i n e w r a p p i n g c h a r a c t e r i s t i c s a n a l e a s t o n d i g i tl i n e n u m b e r . W h e n w r i t i n g B A S I C p r o g r a m o d i s k a d a t a f i l e ,b c a r e f u l n o t c r e a t e l i n e g r e a t e r t h a n 2 5 b y t e s . O t h e r w i s e t h p r o g r a m w i l l u s u a l l y n o l o a d f r o m t h d i s k . I i d o e s l o a d , t h p r o g r a m w i l l b t o t a l l y d e s t r o y e d a n u n u s a b l e .

1 9

Page 197: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 197/260

P r i n t i n g L o n g L i n e s :H e r e ' s q u i c k c o m m e n t o t h C o m m o d o r e p r i n t e r s . I y o l i s tp r o g r a m t h a t c o n t a i n s l i n e s l o n g e r t h a n 8 c h a r a c t e r s , t h e p r i n t e dl i s t i n g m a b i n c o r r e c t . I a p p e a r s t h a t t h p r i n t e r o c c a s i o n a l l ys w i t c h e s o u o l i s t i n g m o d e a n i n t o p r i n t m o d e w h e n l i n ee x c e e d s 8 c h a r a c t e r s . A t h s t a r t o t h n e x t l i n e e v e r y t h i n g i o a g a i n .

P r o g r a m D e s c r i p t i o nW h e n r u n n i n g t h C O M P A C T O R p r o g r a m , t h B A S I C p r o g r a mt b c o m p a c t e d m u s t b o t h d i s k e t t e i n s e r t e d i d r i v e # 0 T h n e c o m p a c t e d v e r s i o n w i l l b w r i t t e n o t h d i s k e t t e i n d r i v e # w i t h t h s a m e f i l e n a m e , b u t w i t h " / C " s u f f i x . T h p r o g r a m w i l lr e a d t h p r o g r a m t b c o m p a c t e d a s e q u e n t i a l d i s k d a t a f i l e , a n t h f i l e w i l l b r e a d t w i c e .

T h f i r s t p a s s c h e c k s f o l i n e n u m b e r s w i t h i n t h s u b j e c tp r o g r a m t h a t a r t a r g e t s o f G O T O , G O S U B , o I F . . . T H E N( l i n e # s t a t e m e n t s . W h e n t a r g e t l i n e i f o u n d , i i s a v e di m a t r i x T i n o a l r e a d y s a v e d . c h e c k i a l s o m a d e f o m u l t i p l et a r g e t l i n e s i O . G O T O a n O G O S U B s t a t e m e n t s . E a c ht a r g e t l i n e w i l l b d i s p l a y e d o t h P E s c r e e n i t h o r d e r f o u n d .T h i s h e l p s t o g i v e s o m e i n d i c a t i o n o f t h e s c a n n i n g p r o g r e s s , s i n c e i c a b r a t h e r s l o w .

D u r i n g t h s e c o n d p a s s , e a c h l i n e i c o p i e d , d e l e t e d , o c o m p a c t e d a a p p r o p r i a t e . T h l i n e n u m b e r w i l l b d i s p l a y e d a e a c h l i n e i p r o c e s s e d t l e y o k n o w h o t h p r o g r a m i p r o g r e s s i n g . T h r u l e s f o l l o w e d b t h C O M P A C T O R a r a f o l l o w s :A n l e a d i n g c o l o n s a n d / o r s p a c e s o l i n e a r d e l e t e d .

l i n e t h a t h a o n l y R E M a r k s i d e l e t e d i i i n o t a r g e t l i n e . T h r e m a r k w i l l b r e p l a c e d w i t h s i n g l e c o l o n i t h l i n e i t a r g e t l i n ea n m u s t b r e t a i n e d . T h i s m a p r o d u c e l e a d i n g c o l o n i t h n e x tl i n e i n o t a r g e t l i n e a n i c o m b i n e d w i t h t h i s l i n e . T h l i n ec a n n o t b e r e d u c e d t o z e r o l e n g t h l i n e s i n c e B A S I C c a n n o t l i n kp r o g r a m c o r r e c t l y w i t h z e r o l e n g t h l i n e , a m e n t i o n e d e a r l i e r .I a n l i n e c o n t a i n s a I . . T H E N o G O T O s t a t e m e n t , a n o t h e rl i n e c a n n o t b c o m b i n e d w i t h t h i s l i n e . A n l i n e c o m b i n e d a f t e rt h e s e B A S I C c o m m a n d s w o u l d n e v e r b e x e c u t e d , t h u s t h p r o g r a mw o u l d n o f u n c t i o n p r o p e r l y .A n s p a c e s w i t h i n l i n e , n o e n c l o s e d i q u o t e s , a r d e l e t e d .A n R E M a r k s a t h e n o B A S I C l i n e a r d e l e t e d t t h e n o t h l i n e .

1 9

Page 198: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 198/260

A n y t h i n g w i t h i n q u o t e s i c o p i e d , u n t o u c h e d . I a e n d i n g q u o t e i m i s s i n g f r o m t h l i n e , o n i a d d e d i a n o t h e r l i n e c o u l d b c o m b i n e d w i t h t h i s l i n e . T h e r e f o r e , i l i n e d o e s n o c o n t a i n a I . . T H E N o G O T O s t a t e m e n t , a e n d i n g q u o t e i a d d e d .W h e n c o l o n i f o u n d w i t h i n B A S I C l i n e a n n o w i t h i n q u o t e s ,t h n e x t n o n - s p a c e c h a r a c t e r i c h e c k e d b e f o r e c o p y i n g t h e c o l o n . I

R E M a r k f o l l o w s t h e c o l o n , t h e c o l o n a n t h r e s t o f t h e l i n e i d e l e t e d . O t h e r w i s e t h c o l o n i c o p i e d , a n p r o c e s s i n g c o n t i n u e s a n o r m a l .A t h e n o e a c h B A S I C l i n e , c h e c k i m a d e t s e i t h n e x tl i n e c a b c o m b i n e d w i t h t h i s l i n e . I t h e r e w e r e n I . . T H E No G O T O c o m m a n d s , a n t h n e x t l i n e i n o t a r g e t l i n e , t h l i n e s a r c o m b i n e d . W h e n c o m b i n i n g l i n e s , t h l i n e a n l i n en u m b e r a r d i s c a r d e d , c o l o n i w r i t t e n , a n t h n e x t l i n e i p r o c e s s e d a p a r t o f t h e p r e v i o u s l i n e .I t h n e x t l i n e c a n n o t b c o m b i n e d w i t h t h e c u r r e n t l i n e , t h e n o l i n e f l a g i c o p i e d a l o n g w i t h d u m m y l i n k a n t h n e x t l i n en u m b e r . d u m m y l i n k i u s e d t a v o i d e x c e s i v e p r o c e s s i n g a n w o r k i n g b u f f e r s n e c e s s a r y w i t h c a l c u l a t i n g p r o g r a m l i n k s . A l s o , t h l i n k s a r a u t o m a t i c a l l y c o r r e c t e d b P E T B A S I C w i t h t h R U o C L c o m m a n d ^ . A s t a n d a r d o p e r a t i n g p r o c e d u r e , t h e n e w l yc r e a t e d p r o g r a m o u t p u t b C O M P A C T O R s h o u l d b l o a d e d a n r e - l i n k e d , t h e n r e - s a v e d o n t o d i s k . T h p r o g r a m c a b r e - l i n k e d b i s s u i n g a C L c o m m a n d a f t e r b e i n g l o a d e d .A m e n t i o n e d p r e v i o u s l y , a B A S I C p r o g r a m l i n e c a n n o t e x c e e d 2 5 b y t e s i l e n g t h . I i d o e s , t h p r o g r a m m a n o l o a d f r o m d i s k o i m a b t o t a l l y u n u s a b l e . T p r o t e c t a g a i n s t t h i s , t h C O M P A C T O R p r o g r a m s t o p s c o m b i n i n g l i n e s i m o r e t h a n 1 7 b y t e s h a v e b e e n w r i t t e n i n s i n g l e b a s i c l i n e . S i n c e a n y n o r m a l l i n ec a n n o t e x c e e d 7 8 b y t e s i l e n g t h , t h i s s h o u l d i n s u r e t h a t n p r o g r a m g e n e r a t e d l i n e s a r l o n g e r t h a n t h m a x i m u m l e n g t h .

A a e x a m p l e o w h a t t h i s p r o g r a m w i l l d o i n c l u d e dl i s t i n g o c o m p a c t e d v e r s i o n o f t h e C O M P A C T O R p r o g r a m i t s e l f .S i n c e t h i s p r o g r a m h a m a n y R E M a r k s , c o m p a c t i n g s a v e s o v e r 3 0 0 0b y t e s f o a b o u t 5 0 s a v i n g i m e m o r y s p a c e . F o m o s t p r o g r a m s ,t h s a v i n g s w i l l b m u c h s m a l l e r , d e p e n d i n g o n p r o g r a m m i n g s t y l e .

s i d e b e n e f i t , h o w e v e r , i t h i n c r e a s e i n t h o p e r a t i n g s p e e d o c o m p a c t e d p r o g r a m s . s h o u l d w a r n , t h o u g h , t h a t t h c o m p a c t i n gp r o c e s s c a b r a t h e r s l o w . C o m p a c t i n g o f t h e C O M P A C T O Rp r o g r a m ( 6 p r o g r a m w i t h a l t h R E M a r k s ) t a k e s a b o u t 1 m i n u t e s . B u a l y o h a v e t d i s t a r t i o f a n t h e n g g e t a c u o c o f f e e w h i l e t h e P E d o e s t h w o r k ! A n y o o n l y h a v e t r u i

1 9

Page 199: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 199/260

o n c e f o a n g i v e n p r o g r a m !1 R E * * * * * * * * * * * * * * * * * * * * * * * * * * *2 R E C O M P A C T O R3 R E * 4 R E B Y R O B E R T B A K E R5 R E * 6 R E B A K E R E N T E R P R I S E S7 R E 1 W I N D S O R D R 8 R E A T C O f N . J . 0 8 0 0 49 R E * * * * * * * * * * * * * * * * * * * * * * * * * * *1 0 1 1 C L D I T L ( 1 0 0 0 )1 2 1 3 R E * * * * * * * * * * * * * * * *1 4 R E M R E A D Y D I S K F I L E S1 5 R E M * * * * * * * * * * * * * * * *1 6 1 7 0 P R I N T " f i " S P C ( 1 5 ) " x C O M P A C T O R M1 8 P R I N T " r l N P U T r F I L E I r D R I V E # 0 1 9 P R I N T " x O U T P U T f F I L E I r D R I V E # 1 2 0 I N P U T " x I N P U T F I L E N A M E f " ; F L $2 1 P R I N T " f i S C A N N I N G F I L E2 2 P R I N T " F O R T A R G E T L I N E S + ♦2 3 O P E N 1 5 , 8 , 1 5 G O S U B 2 3 7 02 4 O P E N 5 , 8 , 5 , " I I + F L $ + " , P , R "2 5 2 6 R E * * * * * * * * * * * * * * * * * * * * * * * * * * *2 7 R E R E A D L O A D A D R , L I N K L I N E #2 8 R E * * * * * * * * * * * * * * * * * * * * * * * * * * *2 9 3 0 G O S U B 2 3 7 0 G O S U B 2 3 1 03 1 G O S U B 2 3 1 0 I V + V 1 = 0 T H E N 7 9 3 2 G O S U B 2 3 1 0 L N = V 1 + ( 2 5 6 * V )3 3 3 4 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * *3 5 R E S C A N B A S I C L I N E S3 6 R E M F O R G O T O , G O S U B T H E N T O K E N S3 7 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * * *3 8 3 9 G O S U B 2 3 3 04 0 I V = T H E N 3 1 4 1 I V = 1 3 7 O R V = 1 4 1 T H E N 4 8 4 2 I V O 1 6 7 T H E N 3 9 4 3 4 4 R E * * * * * * * * * * * * * * * *4 5 R E M G E T T A R G E T L I N E #4 6 R E * * * * * * * * * * * * * * * *4 7 4 8 L T = 04 9 G O S U B 2 3 3 0 I V = 3 2 T H E N 4 9 5 0 I V < 4 8 O R V > 5 7 T H E N 5 8

1 9

Page 200: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 200/260

U t i l i t i e s

5 1 L T = ( 1 0 * L T ) + V A L ( C $ )5 2 G O S U B 2 3 3 0 G O T O 5 0 5 3 5 4 R E * * * * * * * * * * * * * * * * * * * * * * * *5 5 R E C H E C K I A L R E A D Y F O U N D5 6 R E * * * * * * * * * * * * * * * * * * * * * * * *5 7 5 8 F O X = T 5 9 I T L ( X ) = L T T H E N 7 1 6 0 N E X T6 1 T L ( N ) = L T N = N + 16 2 P R I N T L T 6 3 I N < 1 0 0 0 T H E N 7 1 6 4 P R I N T M M T O O M A N Y T A R G E T L I N E S !6 5 G O T O 2 4 3 06 6 6 7 R E * * * * * * * * * * * * * * * * * * * * * * * * * * *6 8 R E M C H E C K F O R ' O N . . . G O T O / G O S U B 16 9 R E * * * * * * * * * * * * * * * * * * * * * * * * * * *7 0 7 1 I V = 4 4 T H E N 4 8 7 2 I V O 3 2 T H E N 4 0 7 3 G O S U B 2 3 3 0 G O T O 7 1 7 4 7 5 R E M * * * * * * * * * * * * * * * * *7 6 R E S O R T T A R G E T L I N E S7 7 R E M * * * * * * * * * * * * * * * * *7 8 7 9 I N < T H E N 9 0 8 0 F O X = T N - 8 1 F O Y = 0 T O N - 28 2 I T L ( Y ) T L ( X ) T H E N 8 4 8 3 V = T L ( Y ) T L ( Y ) = T L ( X ) T L ( X ) = V8 4 N E X T Y , 8 5 8 6 R E * * * * * * * * * * * * * * * * * * * * *8 7 R E M G E T R E A D Y F O R C O M P A C T8 8 R E * * * * * * * * * * * * * * * * * * * * *8 9 9 0 P R I N T " f i C O M P A C T I N G L I N E S . . . . W9 1 C L O S E9 2 O P E N 5 f 8 f 5 , M 0 : l f + F L $ + n , P , R l f9 3 G O S U B 2 3 7 09 4 F O $ = L E F T $ ( F L $ f 1 4 ) + n / C n9 5 P R I N T # 1 5 f " S 1 : " + F O $9 6 O P E N 6 , 8 , 6 , l l l : l l + F O $ + " f P , W 1 19 7 G O S U B 2 3 7 09 8 9 9 R E * * * * * * * * * * * * * *1 0 0 0 R E C O P Y L O A D A D R1 0 1 0 R E * * * * * * * * * * * * * *1 0 2 0

1 9

Page 201: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 201/260

1 0 3 0 G O S U B 2 3 1 01 0 4 0 P R I N T # 6 , C H R $ ( V l ) ;1 0 5 0 P R I N T # 6 , C H R $ ( V ) ; R = 1 0 6 01 0 7 0 R E * * * * * * * * * * * * * * * * * * * * * * *1 0 8 0 R E M C O P Y L I N K L I N E N U M B E R1 0 9 0 R E M * * * * * * * * * * * * * * * * * * * * * * *1 1 0 01 1 1 0 G O S U B 2 3 1 0 K l = V l K 2 = V1 1 2 0 F = I V + V 1 = 0 T H E N 2 2 3 01 1 3 0 G O S U B 2 3 1 0 L l = V l L 2 = V1 1 4 0 L N = L 1 + ( 2 5 6 * L 2 ) P R I N T L N 1 1 5 0 G O S U B 2 3 3 01 1 6 0 I V = 3 2 O R V = 5 8 T H E N 1 1 5 01 1 7 0 I V = T H E N 1 2 0 01 1 8 0 I V < 1 4 T H E N 1 2 4 01 1 9 0 G O S U B 2 3 3 0 I V > 0 T H E N 1 1 9 01 2 0 0 F = F O X = T O 1 2 1 0 I T L ( X ) < L N T H E N N E X T1 2 2 0 I T L ( X ) = L N T H E N 1 2 4 01 2 3 0 G O T O 1 1 1 01 2 4 0 P R I N T # 6 , C H R $ ( K 1 ) ; C H R $ ( K 2 ) ;1 2 5 0 P R I N T # 6 f C H R $ ( L l ) ; C H R $ ( L 2 ) ; R = 1 2 6 0 I T H E N P R I N T # 6 , " : " ; R = 1 2 7 0 F = G O T O 1 3 6 01 2 8 01 2 9 0 R E * * * * * * * * * * * * * * * * * * * * * * * * * *1 3 0 0 R E * * * * S C A N B A S I C L I N E * * 1 3 1 0 R E * * * * C O M P A C T P R O G R A M * * 1 3 2 0 R E * * * * * * * * * * * * * * * * * * * * * * * * * *1 3 3 01 3 4 0 P R I N T # 6 f C $ ; R = R + 11 3 5 0 G O S U B 2 3 3 01 3 6 0 I V = 1 3 7 T H E N F = 1 3 7 0 I V = 1 3 9 O R V = 1 6 7 T H E N F = 1 3 8 0 I V = T H E N 1 8 2 01 3 9 0 I V = 3 2 T H E N 1 3 5 01 4 0 01 4 1 0 R E * * * * * * * * * * * * * * * * * * * *1 4 2 0 R E ' R E M 1 T O K E N1 4 3 0 R E M D I S C A R D R E S T O L I N E1 4 4 0 R E M * * * * * * * * * * * * * * * * * * * *1 4 5 01 4 6 0 I V O 1 4 3 T H E N 1 5 5 01 4 7 0 G O S U B 2 3 3 0 I V > T H E N 1 4 7 01 4 8 0 G O T O 1 8 2 01 4 9 01 5 0 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * *1 5 1 0 R E Q U O T E1 5 2 0 R E M C O P Y T I L L N E X T O R L I N E E N 1 5 3 0 R E * * * * * * * * * * * * * * * * * * * * * * * * * *1 5 4 0

1 9

Page 202: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 202/260

U t i l i t i e s

1 5 5 0 I V O 3 4 T H E N 1 6 9 01 5 6 0 P R I N T # 6 f C $ ; R = R + 11 5 7 0 G O S U B 2 3 3 01 5 8 0 I V = 3 4 T H E N 1 3 4 01 5 9 0 I V > T H E N 1 5 6 01 6 0 0 I T H E N V = G O T O 1 0 5 01 6 1 0 P R I N T # 6 f C H R $ ( 3 4 ) ; R = R + 11 6 2 0 G O T O 1 8 2 01 6 3 01 6 4 0 R E * * * * * * * * * * * * * * * * * * * * * * * *1 6 5 0 R E I C O L O N C H N E X T C H A R1 6 6 0 R E M E L S E C O P Y C H A R1 6 7 0 R E * * * * * * * * * * * * * * * * * * * * * * * *1 6 8 01 6 9 0 I V O 5 8 T H E N 1 3 4 01 7 0 0 G O S U B 2 3 3 01 7 1 0 I V = 3 2 O R V = 5 8 T H E N 1 7 0 01 7 2 0 I V = 1 4 3 T H E N 1 4 7 01 7 3 0 I V = T H E N 1 8 2 01 7 4 0 P R I N T # 6 , n : n ; R = R + 11 7 5 0 G O T O 1 3 6 01 7 6 01 7 7 0 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * *1 7 8 0 R E E N O L I N E1 7 9 0 R E M C A N W E C O M P A C T T H E S E L I N E S1 8 0 0 R E * * * * * * * * * * * * * * * * * * * * * * * * * * * *1 8 1 01 8 2 0 I F ' F O ( R > 1 7 0 ) T H E N V = 0 : G O T O 1 0 5 01 8 3 0 G O S U B 2 3 1 01 8 4 0 I V + V 1 = 0 T H E N 2 2 3 01 8 5 0 G O S U B 2 3 1 0 L N = V 1 + ( 2 5 6 * V )1 8 6 0 L 1 = V 1 L 2 = V P R I N T L N 1 8 7 01 8 8 0 R E * * * * * * * * * * * * * * * * * * * * * * * *1 8 9 0 R E C H I L I N E # I A T A R G E T1 9 0 0 R E M * * * * * * * * * * * * * * * * * * * * * * * *1 9 1 01 9 2 0 F O X = T 1 9 3 0 I T L ( X ) < L N T H E N N E X T1 9 4 0 I T L ( X ) = L N T H E N 2 1 1 01 9 5 01 9 6 0 R E * * * * * * * * * * * * * * * * * * * *1 9 7 0 R E M N O T U S E D1 9 8 0 R E D I S C A R D L I N K L I N E #1 9 9 0 R E * * * * * * * * * * * * * * * * * * * *2 0 0 02 0 1 0 G O S U B 2 3 3 0 I V = 1 4 3 T H E N 1 4 7 02 0 2 0 I V = 3 2 O R V = 5 8 T H E N 2 0 1 02 0 3 0 I V = T H E N 1 8 3 02 0 4 0 P R I N T # 6 f " : " ; R = R + 1 G O T O 1 3 6 02 0 5 02 0 6 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * * *

1 9

Page 203: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 203/260

2 0 7 0 R E L I N E # N E E D E D2 0 8 0 R E M W R I T E L I N E E N D , L I N K L I N E *2 0 9 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * * *2 1 0 02 1 1 0 P R I N T # 6 f C H R $ ( ' 0 ) ; C H R $ ( 1 ) ; C H R $ ( 1 )2 1 2 0 P R I N T # 6 r C H R $ ( L l ) ; C H R $ ( L 2 ) ; R = 2 1 3 0 G O S U B 2 3 3 02 1 4 0 I V = 3 2 O V = 5 8 T H E N 2 1 3 02 1 5 0 I V = O R V = 1 4 3 T H E N P R I N T # 6 , " : " j2 1 6 0 F = 0 G O T O 1 3 6 02 1 7 02 1 8 0 R E M * * * * * * * * * * * * * * * * * * * *2 1 9 0 R E E N O C O M P A C T2 2 0 0 R E M W R I T E E N O P R O G R A M2 2 1 0 R E * * * * * * * * * * * * * * * * * * * *2 2 2 02 2 3 0 P R I N T # 6 f C H R $ ( 0 ) ; C H R $ ( 0 ) ; C H R $ ( 0 ) ;2 2 4 0 P R I N T " f i x D O N E ^ f "2 2 5 0 G O T O 2 4 3 02 2 6 02 2 7 0 R E * * * * * * * * * * * * * * * * * * * * * * * * *2 2 8 0 R E * * * * * S U B R O U T I N E S * * * * *2 2 9 0 R E * * * * * * * * * * * * * * * * * * * * * * * * *2 3 0 02 3 1 0 G O S U B 2 3 3 0 V l = V2 3 2 02 3 3 0 G E T # 5 , C $ G O S U B 2 3 7 02 3 4 0 I C $ = " " T H E N V = R E T U R N2 3 5 0 V = A S C ( C S ) R E T U R N2 3 6 02 3 7 0 I N P U T # 1 5 , E N r E M $ , E T , E S2 3 8 0 I E N = 0 T H E N R E T U R N2 3 9 02 4 0 0 P R I N T P R I N T " ^ h h h t D I S K E R R O R S2 4 1 0 P R I N T E N ; E M $ ; E T ; E S2 4 2 02 4 3 0 C L O S E C L O S E C L O S E 1

R E A D Y .

1 1 C L R : D I M T L ( 1 0 0 0 ) : P R I N T n f i n S P C ( 1 5 ) " r C O M P AW 1 P R I N T " x J N P U T r F I L E I - # 0 ^ " : P R I N T " r O U T P U T f F I L E I

1 X . D R I V E # 1 ^ " : I N P U T 1 1X l N P U T F I L E N A M E f " ; F L $ : P R I N T " R S C A N N I N G -

i F I L E 1 1 . - P R I N T " F O T A R G E T L I N E S2 3 O P E N 1 5 f 8 f 1 5 : G O S U B 2 3 7 0 : O P E N 5 f 8 f 5 f " 0 :

- i n + F L $ + l f , P , R " : G O S U B 2 3 7 0 : G O S U B 2 3 1 03 1 G O S U B 2 3 1 0 : I F V + V 1 = 0 T H E N 7 9 03 2 G O S U B 2 3 1 0 : L N = V 1 + ( 2 5 6 * V )3 9 G O S U B 2 3 3 0

1 9

Page 204: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 204/260

4 0 I F V = 0 T H E N 3 1 04 1 I F V = 1 3 7 O R V = 1 4 1 T H E N 4 8 04 2 I P V O 1 6 7 T H E N 3 9 04 8 L T = 04 9 G O S U B 2 3 3 0 : I F V = 3 2 T H E N 4 9 05 0 I F V < 4 8 O R V > 5 7 T H E N 5 8 05 1 L T = ( 1 0 * L T ) + V A L ( C $ ) : G O S U B 2 3 3 0 : G O T O 5 0 05 8 F O R X = 0 T O N : I F T L ( X ) = L T T H E N 7 1 06 0 N E X T X : T L ( N ) = L T : N = N + 1 : P R I N T L T , :

i I F N < 1 0 0 0 T H E N 7 1 06 4 P R I N T M M T O O M A N Y T A R G E T L I N E S ! 1 1 :

i G O T O 2 4 3 07 1 I F V = 4 4 T H E N 4 8 07 2 I F V O 3 2 T H E N 4 0 07 3 G O S U B 2 3 3 0 : G O T O 7 1 07 9 I F N < 2 T H E N 9 0 08 0 F O R X = 0 T O N - 1 : F O R Y = 0 T O N - 2 : I F T L ( Y ) < T L ( X ) T

- . H E N 8 4 08 3 V = T L ( Y ) : T L ( Y ) = T L ( X ) : T L ( X ) = V8 4 N E X T Y , X9 0 P R I N T " f i C O M P A C T I N G L I N E S . . . . + i n : C L O S E 5 :

- i O P E N 5 , 8 , 5 , n 0 : " + F L $ + l t , P , R f l : G O S U B 2 3 7 0 :- , F O $ = L E F T $ ( F L $ , 1 4 ) + n / C n : P R I N T # 1 5 , n S l :- , " + F O $ : O P E N 6 , 8

6 " 1 " + F O $ + " , P r W l f : G O S U B 2 3 7 0 : G O S U B 2 3 1 0- , P R I N T # 6 , C H R $ ( V 1 ) ;

1 0 5 0 P R I N T # 6 f C H R $ ( V ) ; : R = 01 1 1 0 G O S U B 2 3 1 0 : K 1 = V 1 : K 2 = V : F = 0 : I F V + V 1 = 0 T H E N

- . 2 2 3 01 1 3 0 G O S U B 2 3 1 0 : L 1 = V 1 : L 2 = V : L N = L 1 + ( 2 5 6 * L 2 ) :

- . P R I N T L N ,1 1 5 0 G O S U B 2 3 3 0 : I F V = 3 2 O R V = 5 8 T H E N 1 1 5 01 1 7 0 I F V = 0 T H E N 1 2 0 01 1 8 0 I F V O 1 4 3 T H E N 1 2 4 01 1 9 0 G O S U B 2 3 3 0 : I F V > 0 T H E N 1 1 9 01 2 0 0 F = 1 : F O R X = 0 T O N : I F T L ( X ) < L N T H E N N E X T X1 2 2 0 I F T L ( X ) = L N T H E N 1 2 4 01 2 3 0 G O T O 1 1 1 01 2 4 0 P R I N T # 6 r C H R $ ( K l ) ; C H R $ ( K 2 ) ; : P R I N T # 6 f

- . C H R $ ( L I ) C H R $ ( L 2 ) R = 4 : I F F T H E N P R I N T #- i 6 r n : n ; : R = 5

1 2 7 0 F = 0 : G O T O 1 3 6 01 3 4 0 P R I N T # 6 f C $ ; : R = R + l1 3 5 0 G O S U B 2 3 3 01 3 6 0 I F V = 1 3 7 T H E N F = 11 3 7 0 I F V = 1 3 9 O R V = 1 6 7 T H E N F = 11 3 8 0 I F V = 0 T H E N 1 8 2 01 3 9 0 I F V = 3 2 T H E N 1 3 5 01 4 6 0 I F V O 1 4 3 T H E N 1 5 5 01 4 7 0 G O S U B 2 3 3 0 : I F V > 0 T H E N 1 4 7 01 4 8 0 G O T O 1 8 2 01 5 5 0 I F V O 3 4 T H E N 1 6 9 0

1 9

Page 205: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 205/260

1 5 6 0 P R I N T # 6 , C $ ; : R = R + 1 : G O S U B 2 3 3 0 : I F V = 3 4 T H E- i N 1 3 4 0

1 5 9 0 I F V > 0 T H E N 1 5 6 01 6 0 0 I F F T H E N V = 0 : G O T O 1 0 5 01 6 1 0 P R I N T # 6 f C H R $ ( 3 4 ) ; : R = R + l : G O T O 1 8 2 01 6 9 0 I F V O 5 8 T H E N 1 3 4 01 7 0 0 G O S U B 2 3 3 0 : I F V = 3 2 O R V = 5 8 T H E N 1 7 0 01 7 2 0 I F V = 1 4 3 T H E N 1 4 7 01 7 3 0 I F V = 0 T H E N 1 8 2 01 7 4 0 P R I N T # 6 , " : " ; : R = R + 1 : G O T O 1 3 6 01 8 2 0 I F F O R ( R > 1 7 0 ) T H E N V = 0 : G O T O 1 0 5 01 8 3 0 G O S U B 2 3 1 0 : I F V + V 1 = 0 T H E N 2 2 3 01 8 5 0 G O S U B 2 3 1 0 : L N = V 1 + ( 2 5 6 * V ) : L 1 = V 1 : L 2 = V :

- . P R I N T L N , : F O R X = 0 T O N : I F T L ( X ) < L N T H E N N E X- i T X

1 9 4 0 I F T L ( X ) = L N T H E N 2 1 1 02 0 1 0 G O S U B 2 3 3 0 : I F V = 1 4 3 T H E N 1 4 7 02 0 2 0 I F V = 3 2 O R V = 5 8 T H E N 2 0 1 02 0 3 0 I F V = 0 T H E N 1 8 3 02 0 4 0 P R I N T # 6 , n : n ; : R = R + 1 : G O T O 1 3 6 02 1 1 0 P R I N T # 6 , C H R $ ( 0 ) ; C H R $ ( 1 ) ; C H R $ ( 1 ) ; :

- n P R I N T # 6 C H R $ ( L I ) C H R $ ( L 2 ) R = 2 1 3 0 G O S U B 2 3 3 0 : I F V = 3 2 O R V = 5 8 T H E N 2 1 3 02 1 5 0 I F V = 0 O R V = 1 4 3 T H E N P R I N T # 6 f n : n ;2 1 6 0 F = 0 : G O T O 1 3 6 02 2 3 0 P R I N T # 6 f C H R $ ( 0 ) ; C H R $ ( 0 ) ; C H R $ ( 0 ) ; :

- , P R I N T " R x D O N E ^ n G 0 T 0 2 4 3 2 3 1 0 G O S U B 2 3 3 0 : V 1 = V2 3 3 0 G E T # 5 f C $ : G O S U B 2 3 7 0 : I F C $ = n i f T H E N V = 0 :

- i R E T U R N2 3 5 0 V = A S C ( C $ ) . - R E T U R N2 3 7 0 I N P U T # 1 5 , E N , E M $ f E T f E S : I F E N = 0 T H E N R E T U R

- . 2 4 0 0 P R I N T : P R I N T n ^ ^ x D I S K E R R O R t " :- i P R I N T E N ; E M $ ; E T E

2 4 3 0 C L O S E 5 : C L O S E 6 : C L O S E 1 5R E A D Y .

1 9

Page 206: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 206/260

F e e d Y o u r P E TS o m e A P P L E S O F T

G . A . C a m p b e l lA f i r s t g l a n c e , t h i s w o u l d s e e m t b a i m p o s s i b l e t a s k , b u a f t e r r e a d i n gt h i s a r t i c l e , i m a k e s s e n s e . Y o c a l o a d a n m o d i f y A P P L E p r o g r a m s t r u o y o u r P E T . N o i m p o s s i b l e t h a t ' s i n c r e d i b l e !

W a l k n o w t h a t t h e r e i n s u c h t h i n g a c o m p a t i b i l i t y i t h w o r l d o f p e r s o n a l c o m p u t e r s . F o e x a m p l e , t h A P P L E a n t h P E s t o r e p r o g r a m s o t a p e q u i t e d i f f e r e n t l y . H o w e v e r , b u s i n g t h p r o g r a m i n L i s t i n g 1 y o c a l o a d p r o g r a m s f r o m a A P P L Ed i r e c t l y i n t o P E T . T b m o r e s p e c i f i c , y o c a l o a d A P P L E S O F Tp r o g r a m s ( c a s s e t t e o R O v e r s i o n s ) i n t o a u p g r a d e - R O M P E T .C o n v e r s i o n t o r i g i n a l - R O M P E T ' s i t r i v i a l .S t r u c t u r e o a A P P L E S O F T T a p eO n o f t h e t h i n g s w h i c h m a k e t h p r o c e s s f a i r l y e a s y i t h s i m p l ew a t h a t A P P L E s S A V E p r o g r a m s . b i i s t o r e d a o n f u l l c y c l e ,o t a p e . s h o r t c y c l e i z e r o - b i t , o n a b o u t t w i c e a l o n g i o n e -b i t , a n l e a d e r i s l i g h t l y l o n g e r a g a i n . b y t e i s i m p l y m a d e u o e i g h t b i t s , u n l i k e t h P E T , w h i c h h a s t a r t - b i t a n p a r i t y - b i t .T h h i g h - o r d e r b i c o m e s f i r s t .

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

h i g h - o r d e r h a l f o p r o g r a m l e n g t hf i x e d h e x a d e c i m a l " 5 5 "c h e c k s u m o f t h e a b o v e .

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

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

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

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

T h o t h e r t h i n g w h i c h m a k e s t h t a s k e a s y i t h a t b o t hA P P L E S O F T a n P E B A S I C w e r e w r i t t e n b M i c r o s o f t , a n t h u s

2 0

Page 207: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 207/260

p r o g r a m s h a v e e x a c t l y t h s a m e f o r m a t i m e m o r y .T h A P P L E S O F T L o a d e rT h p r o g r a m i l i s t i n g o n c o n t a i n s m a n y c o m m e n t s t p o i n t o u t h s u b t l e t i e s o h o i o p e r a t e s . T h m a j o r f u n c t i o n s a r e :

I n i t i a l i z e e v e r y t h i n g u p o n e n t r y s t h p r o g r a m c a n b e r e r u n i t h e r e i a e r r o r .T i m e t h c y c l e s p a s s i n g t h e h e a d o t h c a s s e t t e .T h r o w a w a y t h f i r s t b i t .W a i t f o t h s t a r t - b i t .M a k e s b y t e s o u o f t h e f o l l o w i n g b i t s .D t h c h e c k s u m o t h e l e n g t h b l o c k , a n s e u t r e a d t h a c t u a l p r o g r a m .C o n v e r t t h s t a t e m e n t p o i n t e r s i t h p r o g r a m w a c a s s e t t eA P P L E S O F T .T r a n s l a t e t h e B A S I C t o k e n s .C o n v e r t t h s t a t e m e n t p o i n t e r s f r o m b e g i n n i n g a h e x a d e c i m a l0 8 0 1 t h e x a d e c i m a l 0 5 0 1 .M o v e t h p r o g r a m d o w n f r o m 0 8 0 1 t 0 5 0 1 . ( T h e c o d e t d t h i s i a t h s t a r t o f t h e p r o g r a m , s i n c e p a r t o t h l o a d e r i o v e r l a i d . )

M e m o r y R e q u i r e m e n t sT h l o a d e r r e a d s p r o g r a m s i n t o t h s a m e l o c a t i o n a R O M - b a s e dA P P L E S O F T . T h i s i h e x a d e c i m a l 0 8 0 1 , w h i c h i j u s t a b o v e t h s c r e e n o a A P P L E . H o w e v e r , b y t h t i m e t h e p r o c e s s i c o m p l e t e d , t h p r o g r a m h a s h u f f l e d d o w n t 0 4 0 1 . T h u s , o a 8 P E y o c a l o a d 6 o p r o g r a m t e x t . I g n o r i n g m e m o r y d i f f e r e n c e sd u t c o n v e r s i o n , y o h a v e a a d d i t i o n a l I a v a i l a b l e f o v a r i a b l e s . A P P L E S O F T i a l s o a v a i l a b l e a l o a d a b l e p r o g r a m ( a o p p o s e d t R O M ) , i w h i c h c a s e t h A P P L E r e q u i r e s I K m o r et h a n t h P E t h o l d t h s a m e p r o g r a m .

P r o g r a m O p e r a t i o nT h s t e p s t l o a d a A P P L E S O F T p r o g r a m a r e :

F r o m B A S I C , l o a d t h e " A P P L E S O F T L O A D E R . "T y p e R U N , b u d o n ' t p r e s s R E T U R N .P o s i t i o n t h A P P L E t a p e a t h b e g i n n i n g o f t h e t o n e f o t h p r o g r a m y o u w a n t . F o r t h f i r s t p r o g r a m o a t a p e , j u s t d r e w i n d . O t h e r w i s e , y o w i l l n e e d a a u d i o c a s s e t t e - p l a y e r . T h

2 0

Page 208: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 208/260

U t i l i t i e s

p e r s o n w h p r o v i d e d t h A P P L E t a p e s h o u l d b a b l e t o s h o wy o h o t p o s i t i o n t a p e , s i n c e t h e y d i a l t h t i m e .P r e s s P L A Y a n w a i t t h r e e t n i n e s e c o n d s .P r e s s R E T U R N .

T h e r e a r s e v e r a l p o s s i b l e r e s u l t s . T h g o o d o n e i t h a t t h e P E d i s p l a y s O a n R E A D Y . S t o p t h e t a p e a n t y p e ( z e r o ) a n R E T U R N . T h i s d e l e t e s l i n e z e r o , w h i c h i t h l a s t r e m n a n t o t h l o a d e r , t h i s i s a f e e v e n i t h A P P L E p r o g r a m h a l i n e z e r o , s i n c eo n l y t h f i r s t o n i d e l e t e d . T h A P P L E p r o g r a m i n o a v a i l a b l ef o a n r e q u i r e d c o n v e r s i o n . ( S e e b e l o w )A b o u t h a l f t h t i m e , q u e s t i o n m a r k w i l l p r i n t . T h i s i f o l l o w e d b B R K , w h i c h p u t s y o i t h m a c h i n e l a n g u a g em o n i t o r o t h u p g r a d e - R O M P E T . T y p e t r e t u r n t B A S I Ca n t r a g a i n . T h e r e w a c h e c k s u m e r r o r o t h l e n g t h b l o c k . T h e r r o r w a p o s s i b l y c a u s e d b t h e t a p e b e i n g p o s i t i o n e d i n c o r r e c t l y . I y o o b t a i n t h e q u e s t i o n m a r k c o u p l e o f t i m e s , t r c h a n g i n g t h 3 ( d e c i m a l 6 2 w h i c h i s t o r e d a h e x a d e c i m a l E 8 1 1 b t h e r o u t i n en a m e d I N I T t 3 ( d e c i m a l 6 0 ) . T h A P P L E i n o c o n s i s t e n t o w h e t h e r c y c l e i l o w - h i g h o r h i g h - l o w . S i n c e t h l o a d e r o n l yn o t i c e s o n t r a n s i t i o n p e c y c l e , c a t c h i n g t h e w r o n g o n g i v e s i h a l fo t h a t b i t , a n h a l f o t h i s b i t . G a r b l e i t h r e s u l t . F o r t u n a t e l y , t h p r o g r a m b l o c k a l w a y s s e e m s t b c o n s i s t e n t w i t h t h l e n g t h b l o c k .T h t i m e s p e n t e s t a b l i s h i n g w h i c h w a t g i s l i g h t , s i n c e t h l e n g t h b l o c k e n d s a b o u t 1 s e c o n d s i n t o t h t a p e .

Y o m a g e t h m e s s a g e T O B I i m m e d i a t e l y a f t e r r e a d i n gt h e l e n g t h b l o c k , w h i c h m e a n s t h p r o g r a m w o n ' t f i i n t o a v a i l a b l em e m o r y .

T h w o r s t r e s u l t i t h a t t h P E d i s p l a y s B A D . T h i s m e a n st h a t t h e r e w a c h e c k s u m e r r o r o t h p r o g r a m b l o c k . I i n e c e s s a r y t r e l o a d t h l o a d e r , a n p e r h a p s t r e s e t t h P E T .d i d n ' t s e t h i s r e s u l t u n t i l h a s u c c e e d e d i l o a d i n g a b o u t 3 0A P P L E p r o g r a m s . T h A P P L E t e n d s t l i k e t a p e s w h i c h a r e a l i t t l eq u i e t e r t h a n P E t a p e s , s y o m i g h t t r g e t t i n g l o u d e r c o p y o t h p r o g r a m .N o t h F u B e g i n sU n f o r t u n a t e l y , c a s s e t t e t a p e f o r m a t i n o t h o n l y d i f f e r e n c eb e t w e e n t h P E a n t h A P P L E . A f t e r d e l e t i n g l i n e 0 y o h a v ep r o g r a m l o a d e d . Y o c a l i s t i t c h a n g e i t o s a v e i t B u w i l l i r u n ?T h a n s w e r i m a y b e . I c a h a p p e n . B u s o m e p r o g r a m s w i l l b h o p e l e s s . T h A P P L E h a v e r y f a n c y g r a p h i c s s y s t e m , a n A P P L E S O F T s u p p o r t s i t A l t h g r a p h i c s c o m m a n d s a r e t r a n s l a t e d

2 0

Page 209: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 209/260

i n t o C M ( w h i c h t h A P P L E d o e s n ' t h a v e ) . I t h e r e a r a n o t h e s e i t h p r o g r a m y o u j u s t l o a d e d , y o m a h a v e b i t r o u b l e .P e r h a p s t h p e r s o n w h g a v e y o t h A P P L E t a p e c a h e l p y o c o n v e r t i t b u i m a n o b w o r t h t h e f f o r t .

T h e r e a r s e v e r a l o t h e r B A S I C c o m m a n d s o t h A P P L Ew h i c h a r n o a v a i l a b l e o t h P E T . T h l o a d e r t r a n s l a t e s m o s t o t h e s e i n t o V E R I F Y , w h i c h i n o s u p p o r t e d b t h A P P L E . T h e r ea r f e A P P L E c o m m a n d s w h i c h a r v e r y e a s y t c o n v e r t t t h P E T . T h l o a d e r d o e s p h o n y t r a n s l a t i o n s o t h e s e . A n f i n a l l y ,t h e r e a r c o m m a n d s w h i c h t r a n s l a t e e x a c t l y , b u d n o g i v e t h s a m e r e s u l t . T h w o r s t p a r t o t r y i n g t o c o r r e c t t h e s e d i f f e r e n c e s i t h a t l i n e o B A S I C c a b 2 3 c h a r a c t e r s l o n g o t h A P P L E ,v e r s u s 8 o t h P E T . T h l o n g e r l i n e s w i l l r u j u s t f i n e , b u c a n n o te a s i l y b c h a n g e d u s i n g t h e P E s c r e e n e d i t o r . T h u s , y o h a v e t s p l i t t h i s t y p e o f l i n e i n t o m u l t i p l e l i n e s .

T h w h o l e p r o c e s s w i l l b g r e a t l y h e l p e d i y o h a v e a e x t e n d e d B A S I C w h i c h i n c l u d e s t h c o m m a n d s F I N D a n R E N U M B E R . T h i s a l l o w s y o t F I N D c o m m a n d s w h i c h c o u l dc a u s e p r o b l e m s , a n s p l i t p r o g r a m l i n e s w i t h o u t c o n c e r n a b o u ts m e a r i n g e x i s t i n g l i n e s .

S p a c e d o e s n o p e r m i t c o m p l e t e t u t o r i a l o c o n v e r t i n gA P P L E S O F T p r o g r a m s . H o w e v e r , i g n o r i n g g r a p h i c s , h e r e a r s o m es u g g e s t i o n s :

C o m m a n d s W i t h N P E E q u i v a l e n tD E T d e l e t e p r o g r a m l i n e . U n l i k e l y t b i m b e d d e d i p r o g r a m , s i n c e i a l s o s t o p s e x e c u t i o n .T R A C EN O T R A C E U s a g e o b v i o u s . N o n e e d e d i w o r k i n g p r o g r a m .P O C a n c e l G O S U B . T h i s i a a t r o c i o u s t e c h n i q u e .H I M E M S e t o o m e m o r y . C o u l d b r e p l a c e d w i t h P O K E s b u i u n l i k e l y t b i p u r e B A S I C p r o g r a m w h i c h d o e s n ' t u s g r a p h i c s .L O M E N S e b o t t o m o m e m o r y . W i t h i n p r o g r a m i w i l lp r o b a b l y c a u s e t h e p r o g r a m t f a i l ( e v e n o t h A P P L E ) .O N E R RR E S U M E R e p l a c e w i t h p r o g r a m m e d e d i t i n g .S P E E D S e t s d i s p l a y r a t e . R e p l a c e w i t h d e l a y l o o p s i k e l o c a t i o n s i n e c e s s a r y .

D o e s j u m p t m a c h i n e l a n g u a g e r o u t i n e w h i c h t h u s e rm u s t e s t a b l i s h . N o p a r t o n o r m a l B A S I C p r o g r a m s .

2 0

Page 210: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 210/260

N O R M A LF L A S HI N V E R S E - A d j u s t s t h v i d e o m o d e f o s u b s e q u e n t P R I N Ts t a t e m e n t s . T h e q u i v a l e n t o I N V E R S E i s p e c i f i e d w i t h i n t h t e x to t h P E T .C o m m a n d s W i t h P h o n y T r a n s l a t i o nT E X T / C O N T T E X T s e t s t h t e x t w i n d o w t b t h w h o l es c r e e n . C O N T h a n f u n c t i o n w i t h i n p r o g r a m , s i i s u b s t i t u t e d . p r o g r a m w i t h m u l t i p l e T E X T s t a t e m e n t s p r o b a b l yc h a n g e s t h s i z e o t h t e x t w i n d o w w i t h P O K E s t a t e m e n t s i o r d e rt o p r i n t h e a d i n g s o n c e , a n t h e n c h a n g e w h a t a p p e a r s u n d e r t h e mw i t h P R I N T s t a t e m e n t s .H T A B / N E W N E h a n f u n c t i o n w i t h i n p r o g r a m e x c e p t t m a k e i c o m m i t s u i c i d e . H T A B i l i k e T A B , b u d o e s n o a p p e a r i

P R I N T s t a t e m e n t . H T A B c a b d i r e c t l y c o n v e r t e d t P R I N T T A B ( n - l ) ; a l t h o u g h i c a v e r y o f t e n b m o v e d i n t o a a d j a c e n t P R I N T s t a t e m e n t .H O M E / O P E N O P E N i n o s u p p o r t e d b A P P L E S O F T . H O M Ec l e a r s t h t e x t w i n d o w , s i c a u s u a l l y b r e p l a c e d w i t hP R I N T " c l r " .V T A B / C L O S E C L O S E i n o s u p p o r t e d b A P P L E S O F T .V T A B n p o s i t i o n s t h c u r s o r o l i n e n P r o g r a m s w h i c h u s V T A Bu s u a l l y h a v e l o t s o t h e m , s a t h s t a r t o f t h e p r o g r a m d e f i n e as t r i n g , f o r e x a m p l e D N $ , c o n t a i n i n g H O M E c h a r a c t e r f o l l o w e d b 2 D O W N s . T h e n r e p l a c e V T A B n w i t h P R I N T L E F T $ ( D N $ , n ) .S T O R E / S A V ER E C A L L / L O A D I i a s s u m e d t h a t y o w o n ' t b c o n v e r t i n gp r o g r a m s w i t h L O A D o S A V E i t h e m . S T O R E a n R E C A L L a r u s e d t d u m p m a t r i c e s o u t t a p e a n r e a d t h e m b a c k . C o n v e r t b p u t t i n g i t h e a p p r o p r i a t e O P E N , P R I N T # , C L O S E o O P E N ,I N P U T # , C L O S E l o o p s .C o m m a n d s W h i c h M a G i v e D i f f e r e n t R e s u l t sP R # / P R I N T # U s e d t L t o d e v i c e s o t h e r t h a n t h s c r e e n a n k e y b o a r d . D e f i n i t e l y n o e q u i v a l e n t .C A L L / S Y S U s e d t i n v o k e m a c h i n e l a n g u a g e p r o g r a m . A l m o s tc e r t a i n l y w i l l r e q u i r e c h a n g e . N o t e t h a t C A L L , W A I T , P E E K , a n P O K E o t h A P P L E m a s p e c i f y n e g a t i v e n u m b e r s . T h a d d r e s su s e d w i l l b 6 5 5 3 6 m i n u s t h a m o u n t s p e c i f i e d . T h i s c o n v e n t i o n i c a r r y o v e r f r o m i n t e g e r - B A S I C , a n h a n e q u i v a l e n t o t h P E T .T h m o s t p o p u l a r C A L L s o t h A P P L E a r e :

2 0

Page 211: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 211/260

- 9 3 6 c l e a r t h t e x t w i n d o w . R e p l a c e b p r i n t i n g s c r e e n - c l e a r .- 9 5 8 c l e a r t h t e x t w i n d o w f r o m t h e c u r r e n t p r i n t p o s i t i o n . M o r ed i f f i c u l t t r e p l a c e .- 8 6 8 c l e a r f r o m t h c u r r e n t p r i n t p o s i t i o n t t h e n o t h l i n e .W A I T W a i t f o a e x t e r n a l e v e n t . W i l l r e q u i r e r e w o r k , s i n c e i r e f e r e n c e s a a c t u a l m e m o r y l o c a t i o n .P O K E S e t s s p e c i f i c m e m o r y l o c a t i o n t p a r t i c u l a r v a l u e .U s u a l l y w i l l r e q u i r e s u b s t a n t i a l r e w o r k .P E E K R e t u r n s t h e v a l u e s t o r e d i s p e c i f i c m e m o r y l o c a t i o n . W i l la l s o r e q u i r e r e w o r k .U S A n o t h e r w a t i n v o k e m a c h i n e l a n g u a g e r o u t i n e .R N O t h A P P L E , R N D ( O ) r e p e a t s t h e p r e v i o u s R N D , u n l i k et h P E T , w h e r e i g e n e r a t e s t r u l y r a n d o m n u m b e r .G E O t h A P P L E , t h i s w a i t s f o k e t b p r e s s e d . O t h P E T , n u l l s t r i n g i r e t u r n e d i n k e h a b e e n p r e s s e d . T c o n v e r t , m a k e s u r e i i o l i n e b i t s e l f , a n a d t e s t l i k e t h i s :n n n n G E A $ I A " T H E N n n n nI t h A P P L E p r o g r a m t h e r e m a b P E E K a l o c a t i o n - 1 6 3 8 4 t s e i k e i b e i n g p r e s s e d w h i c h c a b c o m b i n e d w i t h t h G E T .

( H o r r o r s . I y o c a n ' t t r u s t w h a t c a y o t r u s t ! ) I t h r e s u l to c o m p a r i s o n i u s e d a n u m b e r , i w i l l g i v e a d i f f e r e n t r e s u l t .F o e x a m p l e , s e t s t v a l u e d e p e n d i n g o w h e t h e re q u a l s B O t h A P P L E , a e q u a l c o n d i t i o n g i v e s v a l u e o f 1 o t h P E T , e q u a l g i v e s - 1 A S U s u a l l y A S o l e t t e r i 6 g r e a t e r o t h A P P L E t h a n o t h P E T .L I S T T e r m i n a t e s p r o g r a m e x e c u t i o n o t h P E T , b u n o o t h A P P L E .I N P U T A P P L E S O F T a l l o w s I N P U T o n u l l s t r i n g . Y o m a e n c o u n t e r p r o g r a m s w h i c h i n v i t e y o t " P R E S S R E T U R N T C O N T I N U E . " O t h P E T , o c o u r s e , y o w i l l o b t a i n t h R E A D Y .p r o m p t a n d y o u a r o u o f t h e p r o g r a m . C h a n g e t h p r o m p t t " P R E S S K E T C O N T I N U E , " a n r e p l a c e t h I N P U T w i t hG E T .I N P U T g e n e r a t e s q u e s t i o n m a r k p r o m p t o t h P E T , b u t n o t o t h A P P L E .B E L L O t h A P P L E , y o c a m a k e t h e s p e a k e r b e e p b p r i n t i n g

c o n t r o l - G . N c h a r a c t e r a p p e a r s o t h s c r e e n . O t h P E i p r i n t s a s r e v e r s e - G .T A U s o n p o s i t i o n l e s s o t h P E T .

2 0

Page 212: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 212/260

P R I N T T h e r e a r e a n u m b e r o d e t a i l d i f f e r e n c e s . F o e x a m p l e ,t a b - f i e l d s ( i n v o k e d w i t h c o m m a s ) a r 1 0 c h a r a c t e r s w i d e o t h P E v e r s u s s e q u e n c e o 1 6 , 1 6 , 8 , 1 6 , 1 6 , 8 . . o t h A P P L E . n u m b e r i p r e c e d e d b s p a c e a n f o l l o w e d b s k i p o t h P E T , b u n o o t h A P P L E .T h B o t t o m L i n eD o e s i w o r k ? I s u r e d o e s ! A l o n g a y o a v o i d g r a p h i c s , y o c a h a v e p r o g r a m u p a n d r u n n i n g i s h o r t o r d e r . w a a b l e t l o a do n A d v e n t u r e - s t y l e g a m e a n h a v e i c o m p l e t e l y r u n n i n g i l e s st h a n h a l f a h o u r . I s u r e b e a t k e y i n g i 1 6 o p r o g r a m t e x t .

M a n y t h a n k s m u s t g t K e i t h F a l k n e r o T o r o n t o , w h p r o v i d e d t h d e s c r i p t i o n o w h a t a A P P L E t a p e l o o k s l i k e , m a n yt a p e s t o t e s t w i t h , a n a c c e s s t t h m a n u a l s d e s c r i b i n gA P P L E S O F T .

0 0 0 50 0 2 00 0 3 00 0 4 00 0 5 00 0 6 00 0 7 00 0 8 00 0 9 0

. L

A P P L E S O F T L O A D E R

F O U S E O N T H E C O M M O D O R E P E T / C B MC O P Y R I G H T ( C 1 9 8 0G O R D C A M P B E L L3 D O U B L E T R E E R O A DW I L L O W D A L E f O N T A R I O

M 2 3 Z

0 0 0 0 0 4 0 3 - 0 0 0 0 9 0 4 0 6 - 3 3 3

0 1 1 00 1 2 00 1 3 00 1 4 00 1 5 00 1 6 00 1 7 00 1 8 00 1 9 00 2 0 00 2 1 00 2 2 00 2 3 00 2 4 00 2 5 00 2 6 00 2 7 00 2 8 00 2 9 00 3 0 00 3 1 00 3 2 00 3 3 00 3 4 00 3 5 00 3 6 00 3 7 00 3 8 0

T A S S E M B L E U S I N G C A R L M O S E R ' SA S S M / T E D f R E Q U I R E S ' S E T 1 C O M M A N DA N D A 3 2 M A C H I N E , S I N C E T H E S O U R C E( I N C L U D I N G C O M M E N T S ) I T O O L A R G ET O F I T

I N T O D E F A U L T A R E A , A N O B J E C TG O E S I N T O T H E D E F A U L T T E X T A R E A .

W H E R E . D U S E D F O S T O R E I N D I R E C TT H E O N L Y P A R T O F P A G E Z E R OW H I C H I S M E A R E D . I D O E S N ' TM A T T E R , B E C A U S E T H ' U S R 'V E C T O R S H O U L D B S E U B A N P R O G R A M W H I C H U S E S I T

P G M E N . D $ 2 B A S I C ' E N D O P R O G R A M 'C H A N G E T H I S T $ 7 A N D Y O UA R C O N V E R T E D T O R I G I N A L R O M .

P R I N T . D $ F F D 2P R I N T R O U T I N E

. B $ 0 4 0 0. O

H E R E I A B A S I C P R O G R A M .• B $ 0 4 0 $ 9 . B ' 1 0 5 6 : ' $ 8

2 0

Page 213: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 213/260

0 4 0 9 - 3 3 8 0 4 0 C - 0 0 0 0 0 00 4 0 F - 0

0 4 1 0 - 0 0 0 0 0 0 4 1 3 - 0

0 4 1 4 - 0 0 4 1 6 - 0 0 4 1 8 - 0 0 4 1 9 - 0

0 4 1 A - 0

0 4 1 B - 4 4 4 0 4 1 E - 4 4

0 3 9 0

0 4 2 0 - 4 5

0 4 2 3 -0 4 2 5 -0 4 2 7 -0 4 2 9 -0 4 2 B -0 4 2 D -0 4 2 F -0 4 3 1 -0 4 3 3 -0 4 3 5 -0 4 3 7 -0 4 3 9 -0 4 3 B -0 4 3 D -0 4 3 F -0 4 4 1 -

A 0 8 5 0 2A 0 8 2 A 0 8 0 8 2 B 0 9 2 E 2 D 0 E 2 A 2 C 5 2 CD 0 A 5 2 B

. B 0 0

0 4 1 0 I R E A D S ' S Y S 1 0 5 6 : E N D '0 4 2 00 4 3 00 4 4 0 V A R I A B L E S0 4 5 00 4 6 0 L E N G T H . B 0 0 0 0 0 0

0 4 7 00 4 8 00 4 9 00 5 0 00 5 1 00 5 2 00 5 3 00 5 4 00 5 5 00 5 6 00 5 7 00 5 8 00 5 9 00 6 0 00 6 1 00 6 2 00 6 3 00 6 4 00 6 5 00 6 6 00 6 7 00 6 8 00 6 9 00 7 0 00 7 1 00 7 2 00 7 3 00 7 4 00 7 5 00 7 6 00 7 7 00 7 8 00 7 9 00 8 0 00 8 1 00 8 2 00 8 3 00 8 4 00 8 5 00 8 6 00 8 7 0

A P P L E S O F T ' L E N G T H 1 B L O C KI S T O R E D H E R E

S T L E N . S L E N G T H O C U R R E N T B L O C K

S T L O C . S W H E R E I G O E S

C H A R . B C U R R E N T C H A R A C T E R

M O D E . B W H I C H A C T I V I T Y N O W :

S Y N C H R O N I Z I N GL E A D E RD A T A

B L O C K . B W H I C H B L O C K :

L E N G T H B L O C KP R O G R A M B L O C KB A . B ' B A D 1

O . B ' O K 'C H E C K S U M M E S S A G E S* * E N T R Y P O I N T * *

M U S T B A $ 0 4 2 0F O R T H E ' B A S I C P R O G R A M

J M I N I TS K I P P A S T C O D E W H I C H M O V E ST H E P R O G R A M D O W N F R O M $ 0 8 0 1T $ 0 5 0 1 . T H I S C O D E I N E E D E DB E C A U S E W H E N L I N E Z E R O ( T H EP H O N Y B A S I C P R O G R A M ) I D E L E T E D• E N D O F P R O G R A M ' E T C A R E O N L Y

A D J U S T E D B Y O N E P A G E M A X I M U M .

M O V E

0 8 9 00 9 0 00 9 1 00 9 2 00 9 3 00 9 4 00 9 5 00 9 6 00 9 7 00 9 8 00 9 9 0

M O V E P R O G R A M D O W N P A G E SL D # S T * W H E R E + 1L D # S T A * P G M E N + 1L D # S T * W H E R ES T * P G M E NM O V L P L D A ( W H E R E ) , YS T A ( P G M E N ) , YI N * P G M E NB N M O V O KI N * P G M E N + 1

M O V O K L D A * P G M E NC M P * P G M E N + 2B N I N W H E R EL D A * P G M E N + 1

2 0

Page 214: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 214/260

0 4 4 3 - C 2 0 4 4 5 - D 0 0 4 4 7 - 6 0 4 4 8 - E 6 0 10 4 4 A - D E 0 4 4 C - E 6 0 20 4 4 E - D E

0 4 5 0 - A 0 0 4 5 2 - 8 1 0 0 4 5 5 - 8 1 7 0 40 4 , 5 8 - A 1 0 4 5 A - 8 1 0

0 0

0 4 5 D - A 0 4 5 F - 8 1 0 4 6 2 - 8 1 0 0 4 6 5 - 8 1 0 0 4 6 8 - 7 0 4 6 9 - A D 1 0 E 8

0 4 6 C - A 9 3 E0 4 6 E - 8 1 1 E 8

0 4 7 1 -0 4 7 4 -0 4 7 6 -0 4 7 9 -

0 4 7 B -0 4 7 D -0 4 7 F -

A 1 6 0 48 5 0 1A 1 7 0 48 0

A 0 0 8A 0 E

2 1 E 0 4 8 3 - 1 F 0 4 8 5 - A D 1 0 E 80 4 8 8 - A 1 9 0 40 4 8 B -0 4 8 D -0 4 8 F -0 4 9 1 -0 4 9 3 -0 4 9 5 -0 4 9 6 -

F 2 C 0 F 2 E 0 4 03 0 0 33 B 0

1 0 0 01 0 1 01 0 2 01 0 3 01 0 4 01 0 5 01 0 6 01 0 7 01 0 8 01 0 9 01 1 0 01 1 1 01 1 2 01 1 3 01 1 4 01 1 5 01 1 6 01 1 7 01 1 8 01 1 9 01 2 0 01 2 1 01 2 2 01 2 3 01 2 4 01 2 5 01 2 6 01 2 7 01 2 8 01 2 9 01 3 0 01 3 1 01 3 2 01 3 3 01 3 4 01 3 5 01 3 6 01 3 7 01 3 8 01 3 9 01 4 0 01 4 1 01 4 2 01 4 3 01 4 4 01 4 5 01 4 6 01 4 7 01 4 8 01 4 9 01 5 0 01 5 1 01 5 2 01 5 3 01 5 4 01 5 5 01 5 6 01 5 7 01 5 8 01 5 9 01 6 0 01 6 1 01 6 2 01 6 3 01 6 4 0

C M * P G M E N + 3B N I N W H E R ER T F I N I S H E D

I N W H E R E I N * W H E R EB N M O V L PI N * W H E R E + 1B N M O V L P

* A L W A Y S G O E S * I N I T I A L I Z A T I O NS E T U P P O I N T E R S E T C O N E N T R YS I W E H A D A B A D L O A D , W C A T R A G A I N B E N T E R I N G ' R U N 1

I N I T L D # S T S T L E NS T S T L O C + 1L D # $ 1 0S T A S T L O CL D # S T A S T L E N + 1S T M O D ES T A B L O C KS E

D I S A B L E I N T E R R U P T SL D $ E 8 1 0

C L E A R 6 5 2 0L D A # $ 3 ES T $ E 8 1 1

M A K E 6 5 2 0 R E S P O N D T L O T O H I G H T R A N S I T I O N

F O S O M E T A P E S T H ' 3 E 'A B O V E M U S T R E A D ' 3 C 1( I E . H I G H T L O T R A N S I T I O N )

L D A S T L O CS T A * W H E R EL D S T L O C + 1S T A * W H E R E + 1

E N O I N I T I A L I Z A T I O NI N I T YI N I T XC O U N T

L D # L D # I N

C O U N T H O W M A N Y T I M E ST H R O U G H T H E L O O P

B I $ E 8 1 1H A V E W E T R A N S I T I O N Y E T ?

B P C O U N TB R A N C H B A C K I N O T Y E T

L D $ E 8 1 0R E S E T T H E 6 5 2 0

L D A M O D EW H A T W E R E W E D O I N G ?

B E S T A R T U PC M # B E S T A R T B I T

R E A L D A T A N O WC P # $ 4 0B M Z E R O B I TS E B C S E T B I T

2 0

Page 215: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 215/260

0 4 9 8 -

0 4 9 9 -0 4 9 C -0 4 9 D -0 4 9 F -0 4 A 2 -0 4 A 4 -0 4 A 7 -0 4 A 9 -0 4 A C -0 4 A E -0 4 B 1 -0 4 B 3 -0 4 B 5 -0 4 B 7 -0 4 B 9 -0 4 B C -0 4 B E -0 4 C 0 -0 4 C 2 -0 4 C 5 -0 4 C 7 -

0 4 C A -0 4 C C -0 4 C E -0 4 D 1 -0 4 D 4 -0 4 D 7 -0 4 D A -0 4 D C -

0 4 D E -0 4 E 1 -0 4 E 2 -0 4 E 3 -0 4 E 6 -0 4 E 9 -0 4 E C -

0 4 E F -

0 4 F 2 -

1

2 8 D A 9 C D A F C E D E D E

D E 1 E D A

D A 4 4 4 C F A

2 5 0 A 8 A 8

E

D

1

D 1 0 1 0 1 1 1 0 C 0 C 1 B

4 B 1 B

1

6 F 1 1 1 1 0 3

D

1 1 1 1

1

0

0

0

0

0

0

0

0

0

0 0 0 0

F

0 0 0 0

0

1 6 5 01 6 6 01 6 7 01 6 8 01 6 9 01 7 0 01 7 1 01 7 2 01 7 3 01 7 4 01 7 5 01 7 6 01 7 7 01 7 8 01 7 9 01 8 0 01 8 1 01 8 2 01 8 3 01 8 4 01 8 5 01 8 6 01 8 7 01 8 8 01 8 9 01 9 0 01 9 1 01 9 2 01 9 3 01 9 4 01 9 5 01 9 6 01 9 7 01 9 8 01 9 9 02 0 0 02 0 1 02 0 2 02 0 3 02 0 4 02 0 5 02 0 6 02 0 7 02 0 8 02 0 9 02 1 0 02 1 1 02 1 2 02 1 3 02 1 4 02 1 5 02 1 6 02 1 7 02 1 8 02 1 9 02 2 0 02 2 1 02 2 2 02 2 3 02 2 4 02 2 5 02 2 6 02 2 7 02 2 8 0

* A L W A Y S G O E S * Z E R O B I T C L

T H E C A R R Y B I T N O W I N D I C A T E SW H E T H E R W G O Z E R O O R O N E

S E T B I T R O L C H A RR O T A T E I I N T O T H E C H A R A C T E R

D E F I N I S H E D T H I S C H A R A C T E R ?

B N E I N I T X N L D A C H A RS T ( W H E R E ) r Y

S T O R E T H C H A R A C T E RD E C S T L E N

R E D U C E C H A R A C T E R C O U N TB N E N E X T C H A RL D S T L E N + 1

F I N I S H E D T H I S B L O C K ?B E Q F I N M O D ED E S T L E N + 1

N E X T C H A R I N * W H E R EI N C R E M E N T D A T A P O I N T E R

B N I N I T YI N * W H E R E + 1B N E I N I T Y

* A L W A Y S G O E S * S T A R T U P I N M O D E

T H R O W A W A Y F I R S T T R A N S I T I O NB N E I N I T X

* A L W A Y S G O E S * S T A R T B I T C P # $ 4 0

I I S T A R T B I T ?B P I N I T X N I N M O D EB N I N I T X

* A L W A Y S G O E S * F I N M O D E L D B L O C K

W J U S T L O A D E D B L O C K .W H I C H O N W A I T

B N L O A D E DL D # $ F FE O R L E N G T HC H E C K S U M O L E N G T H B L O C KE O R L E N G T H + 1E O R L E N G T H + 2C M P L E N G T H + 3B E Q N E X T B L KL D # $ 3 F

B A L O A D : P R I N T Q U E S T I O N M A R KA N D Q U I T W I T H A ' B R E A K '

J S R P R I N TC L

Q U I T N O B R

N E X T B L K L D A L E N G T HI N I T I A L I Z A T I O N F O R P R O G R A M L O A D

S T A S T L E NL D L E N G T H + 1S T A S T L E N + 1I N S T L E N

L O A D C H E C K S U M T O M U S T G O T W O B Y T E S P A S TT H E E N D O T H A C T U A L P R O G R A M

B N L E N 1

2 0

Page 216: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 216/260

0 4 F 4 -0 4 F 7 -0 4 F A -0 4 F C -0 4 F F -

0 5 0 1 -0 5 0 3 -0 5 0 5 -0 5 0 7 -0 5 0 9 -0 5 0 C -

0 5 0 E -0 5 1 1 -0 5 1 3 -0 5 1 5 -0 5 1 7 -0 5 1 A -0 5 1 D -0 5 1 E -

0 5 2 0 -0 5 2 1 -0 5 2 3 -0 5 2 5 -0 5 2 8 -0 5 2 B -0 5 2 E -0 5 2 F -0 5 3 1 -0 5 3 4 -0 5 3 6 -

0 5 3 9 -0 5 3 B -0 5 3 D -0 5 3 F -0 5 4 2 -0 5 4 4 -0 5 4 6 -0 5 4 9 -

0 5 4 C -0 5 4 E -0 5 5 0 -0 5 5 2 -0 5 5 4 -0 5 5 6 -0 5 5 8 -

E E D E A

8 A 8 A C D

A C 9 A B 2 C 1

6 9 A 8 E 4 5 A 8 A 8

A 8 A 8 A 8 8 8

A A 5 E D E A

1 1 0 1 0

0 0 0 3 1 1

1 3 0 0 5 D F

F 0 1 1 7

0 1 0 1

0 0 0 0 0 0 0 1

F 0 0 0 0 0 0

0 0 0

0

0

0 F

0 0 0

0 0

0

0 0

2 2 9 02 3 0 02 3 1 02 3 2 02 3 3 02 3 4 02 3 5 02 3 6 02 3 7 02 3 8 02 3 9 02 4 0 02 4 1 02 4 2 02 4 3 02 4 4 02 4 5 02 4 6 02 4 7 02 4 8 02 4 9 02 5 0 02 5 1 02 5 2 02 5 3 02 5 4 02 5 5 02 5 6 02 5 7 02 5 8 02 5 9 02 6 0 02 6 1 02 6 2 02 6 3 02 6 4 02 6 5 02 6 6 02 6 7 02 6 8 02 6 9 02 7 0 02 7 1 02 7 2 02 7 3 02 7 4 02 7 5 02 7 6 02 7 7 02 7 8 02 7 9 02 8 0 02 8 1 02 8 2 02 8 3 02 8 4 02 8 5 02 8 6 02 8 7 02 8 8 02 8 9 02 9 0 02 9 1 02 9 2 0

I N L E N 1 I N B N I N

L E N O K L D A

S T L E N + 1S T E L E N O KS T L E N + 1# $ 0 8

A L W A Y S L O A D A $ 0 8 0 1i I T ' S C A S S E T T E A P P L E S O F TC O N V E R T I L A T E R

S T L D S T L D C M B N

♦ W H E R E + 1# $ 0 1♦ W H E R E♦ P G M E N + 1 1S T L E N + 1D I F F P A G E

C H E C K I N G O N V 7 H E T H E R T H E R E I E N O U G H M E M O R Y .

L D C M B C

M E M B A D L D M E M C H R L D

J S D E B P

S T L E N♦ P G M E N + 1 0M E M O K# T O O B I G f XP R I N TM E M C H R

M E S S A G E D I S P L A Y E D : Q U I T N O WR T D I F F P A G E B C

M E M O K L D AS T I N J M

L O A D E D C L

M E M B A D# $ 0 0M O D EB L O C KI N I T Y

A L L O W I N T E R R U P T S N O L D ♦ W H E R E

? S E T H I G H A D D R E S SS T L D S T

S T L O C♦ W H E R E + 1S T L O C + 1

I N I T I A L I Z A T I O N F O C H E C K S U MA N P R O G R A M L I N K A G E

L D S T L D S T L D S T S T S T

7 N O W U S ' M O D E 1V A L U E S A R E :

# ♦ W H E R E + 1# $ 0 4 0 2# ♦ W H E R E$ 0 4 0 1M O D E

A Q U O T E - M O D E F L A GC U R R E N T L Y I N S I D E Q U O T E SN O I

L D L D

C H K L O O P E O

Q U O T E S# $ F F# ( W H E R E ) , Y

C H E C K S U M C A L C U L A T I O NI N B N I N

C H K E N D L D

♦ W H E R EC H K E N D♦ W H E R E + 1♦ W H E R E

2 1

Page 217: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 217/260

U t i l i t i e s

0 5 5 A -0 5 5 D -0 5 5 F -0 5 6 1 -0 5 6 4 -0 5 6 6 -0 5 6 8 -0 5 6 A -0 5 6 D -0 5 7 0 -0 5 7 3 -0 5 7 6 -0 5 7 9 -0 5 7 C -0 5 7 F -0 5 8 2 -0 5 8 5 -0 5 8 8 -0 5 8 B -0 5 8 D -0 5 8 F -0 5 9 1 -0 5 9 3 -0 5 9 6 -0 5 9 8 -0 5 9 A -

0 5 9 C -0 5 9 E -

0 5 A 0 -0 5 A 1 -0 5 A 3 -0 5 A 5 -0 5 A 6 -0 5 A 7 -0 5 A 9 -0 5 A B -0 5 A D -0 5 B 0 -0 5 B 2 -0 5 B 4 -0 5 B 5 -0 5 B 7 -0 5 B 8 -0 5 B A -0 5 B C -0 5 B F -0 5 C 1 -0 5 C 3 -0 5 C 6 -0 5 C 9 -0 5 C B -

0 5 C D -0 5 C F -

E D A E D D F A 2 A 2 A 2 4 A 2 A 2 A 8 A 8 A C F A

B F

3 E 9 A 8 B 8 8 4 A B A D C B D 4 A B 8 8 A E

D E

1 F 0 1 E 0 1 I D 1 D I D 8 I D I D 0 0 0 0 0 0 1 0

0 E

2 0

0 0 0 9 0 0

0

0 0 1 0 0 1 1 0 0

0 0

0

0

0 F 0 F 0 F

0 0

F 0 F

0

0

0

0 0

2 9 3 02 9 4 02 9 5 02 9 6 02 9 7 02 9 8 02 9 9 03 0 0 03 0 1 03 0 2 03 0 3 03 0 4 03 0 5 03 0 6 03 0 7 03 0 8 03 0 9 03 1 0 03 1 1 03 1 2 03 1 3 03 1 4 03 1 5 03 1 6 03 1 7 03 1 8 03 1 9 03 2 0 03 2 1 03 2 2 03 2 3 03 2 4 03 2 5 03 2 6 03 2 7 03 2 8 03 2 9 03 3 0 03 3 1 03 3 2 03 3 3 03 3 4 03 3 5 03 3 6 03 3 7 03 3 8 03 3 9 03 4 0 03 4 1 03 4 2 03 4 3 03 4 4 03 4 5 03 4 6 03 4 7 03 4 8 03 4 9 03 5 0 03 5 1 03 5 2 03 5 3 03 5 4 03 5 5 03 5 6 0

C P B N L D C P B N C M B E L D

P R I N T ' B A D 1J S L D J S L D J S

S T L O CC H K L O O P♦ W H E R E + 1S T L O C + 1C H K L O O P( W H E R E ) f Y

C H K O KB A P R I N TB A D + 1P R I N TB A D + 2P R I N T

D O T H E R E S T A N Y W A YJ M C H K O K L D A

P R I N T ' O K 1J S L D J S

C A S S R E L L D S T L D S T L D C M B E

C A S S L P L D

C A S S R E LO

P R I N TO K + 1P R I N T# ♦ W H E R E# ♦ W H E R E + 1$ 0 8 0 2# $ 0 8T R A N S#

I T ' S C A S S E T T E A P P L E S O F TO R I G I N A L A D D R E S S W A S $ 3 0 0 1

L D B E

( W H E R E ) , YC A S S R E L

O N T H E S E C O N D P A S S , I L O O K SL I K E R O M A P P L E S O F T

S E S B S T T A D E L D S T S T J M

T R A N S L D YL D T A B N I N

L A S T L I N E O L D B N J M

N O T E N L D L D S T

# $ 2 8( W H E R E ) ,

( W H E R E ) , ♦ W H E R E♦ W H E R E + 1C A S S L P# ( W H E R E ) , Y

N O T E N

T O K E N S D O N E ?( W H E R E ) , Y

N O T E NT O K D O N E# ( W H E R E ) , YS T L O C

S E E N O C U R R E N T L I N ES T L D

T O T X T I N S T L O C + 1# ♦ W H E R E

S T E P P A S T P O I N T E RA N D L I N E N U M B E R -

B N I N

W H O K♦ W H E R E + 1

2 1

Page 218: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 218/260

0 5 D 1 -0 5 D 2 -0 5 D 4 -0 5 D 6 -0 5 D 8 -0 5 D A -0 5 D D -0 5 D F -0 5 E 2 -0 5 E 4 -0 5 E 7 -0 5 E 9 -0 5 E C -0 5 E E -0 5 E F -0 5 F 1 -0 5 F 4 -0 5 F 6 -0 5 F 8 -0 5 F A -0 5 F C -0 5 F E -0 6 0 1 -0 6 0 3 -0 6 0 5 -0 6 0 8 -0 6 0 A -0 6 0 C -0 6 0 F -

0 6 1 2 -

0 6 1 5 -0 6 1 7 -0 6 1 A -0 6 1 D -0 6 1 F -0 6 2 2 -0 6 2 5 -0 6 2 7 -0 6 2 9 -0 6 2 C -0 6 2 D -0 6 2 F -0 6 3 1 -

0 6 3 3 -0 6 3 5 -0 6 3 7 -0 6 3 9 -

8 D B C D A F C F 0

E D A F A 1

B 9 E D E A C D A C D A 8 4

E

D E E D E A 8 8 A 3 E 8 8

A 8 A 8

F 0 2 0 1 0 1 1 1 0 1 0

0

0

0 0 0 0 0 1 D 0 1 C 0 1 B

1

0 1 1 0 1 1 2 2 1 0 2 2

0 0 0 0

0 0

0

0

0

0

0

0 0

0

0 0 0 0

0

3 5 7 03 5 8 03 5 9 03 6 0 03 6 1 03 6 2 03 6 3 03 6 4 03 6 5 03 6 6 03 6 7 03 6 8 03 6 9 03 7 0 03 7 1 03 7 2 03 7 3 03 7 4 03 7 5 03 7 6 03 7 7 03 7 8 03 7 9 03 8 0 03 8 1 03 8 2 03 8 3 03 8 4 03 8 5 03 8 6 03 8 7 03 8 8 03 8 9 03 9 0 03 9 1 03 9 2 03 9 3 03 9 4 03 9 5 03 9 6 03 9 7 03 9 8 03 9 9 04 0 0 04 0 1 04 0 2 04 0 3 04 0 4 04 0 5 04 0 6 04 0 7 04 0 8 04 0 9 04 1 0 04 1 1 04 1 2 04 1 3 04 1 4 04 1 5 04 1 6 04 1 7 04 1 8 04 1 9 04 2 0 0

W H O K D E B N

T R L O O P L D AC M

I I A Q U O T EB N L D B E D E B E

T O T X T( W H E R E ) f

# $ 2 2: N O M O D EM O D E O NM O D EN X T C H A R

* A L W A Y S G O E S * M O D E O N I N

B N M O D EN X T C H A R

* A L W A Y S G O E S * N O Q L D X

B E B R A N C H I W T A B P

M O D EN X T C H A RA R I Q U O T E SN X T C H A R

O N L Y T R A N S L A T E T O K E N SL D $ 0 7 0 0 f X

T R A N S L A T E F R O M T A B L ES T

N X T C H A R I N B N I N

W H E O K L D AC M

( W H E R E ) , Y♦ W H E R EW H E O K* W H E R E + 1* W H E R ES T L O C

H A V E W E F I N I S H E D T H I S L I N E ?B N L D C M B N L D S T

T R L O O P♦ W H E R E + 1S T L O C + 1T R L O O P# M O D E

R E S E T Q U O T E M O D E F L A GJ M T R A N S

F I N I S H E D T O K E N T R A N S L A T I O NT O K D O N E I N

I N C L U D E T H ES T L O C0 0 0 ( E N D O

P R O G R A M ) I T H L E N G T HB N I N

M O R L O C I N B N I N

L O C D O N L D S T S T L D S E S B S T S T

M O R L O CS T L O C + 1S T L O CL O C D O NS T L O C + 1S T L O C* P G M E N + 2* P G M E N + 4S T L O C + 1# $ 0 3* P G M E N + 3* P G M E N + 5

S E U P R O G R A M L I N K S F O RM O V E F R O M $ 0 8 0 1 T $ 0 5 0 1

L D S T L D S T

# * W H E R E# * W H E R E + 1

2 1

Page 219: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 219/260

      

                   

 

 

 

 

 

 

   

      

              

  

 

 

 

    

         

   

                      

                      

  

  

 

  

 

  

        

   

                                    

 

 

  

 

  

  

                                         

 

  

 

 

 

    

 

 

 

 

 

   

 

    

 

  

 

 

     

Page 220: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 220/260

0 7 A 6 -0 7 A 7 -0 7 A 8 -0 7 A 9 -0 7 A A -0 7 A B -0 7 A C -0 7 A D -0 7 A E -0 7 A F -0 7 B 0 -0 7 B 1 -0 7 B 2 -0 7 B 3 -0 7 B 4 -0 7 B 5 -0 7 B 6 -0 7 B 7 -0 7 B 8 -0 7 B 9 -0 7 B A -0 7 B B -0 7 B C -0 7 B D -0 7 B E -0 7 B F -0 7 C 0 -0 7 C 1 -0 7 C 2 -0 7 C 3 -0 7 C 4 -0 7 C 5 -0 7 C 6 -0 7 C 7 -0 7 C 8 -0 7 C 9 -0 7 C A -0 7 C B -0 7 C C -0 7 C D -0 7 C E -0 7 C F -0 7 D 0 -0 7 D 1 -0 7 D 2 -0 7 D 3 -0 7 D 4 -0 7 D 5 -0 7 D 6 -0 7 D 7 -0 7 D 8 -0 7 D 9 -0 7 D A -0 7 D B -0 7 D C -0 7 D D -0 7 D E -0 7 D F -0 7 E 0 -0 7 E 1 -0 7 E 2 -0 7 E 3 -0 7 E 4 -0 7 E 5 -

9 9 9 9 8 8 8 8 8 9 8 8 8 9 9 9 9 9 9 9 9 9 9 9 A A A A A A A 9 A A A A A A A A B B B B B B B B B 9 9 B B B B B B B C C C C C C

4 8 3 04 8 4 04 8 5 04 8 6 04 8 7 04 8 8 04 8 9 04 9 0 04 9 1 04 9 2 04 9 3 04 9 4 04 9 5 04 9 6 04 9 7 04 9 8 04 9 9 05 0 0 05 0 1 05 0 2 05 0 3 05 0 4 05 0 5 05 0 6 05 0 7 05 0 8 05 0 9 05 1 0 05 1 1 05 1 2 05 1 3 05 1 4 05 1 5 05 1 6 05 1 7 05 1 8 05 1 9 05 2 0 05 2 1 05 2 2 05 2 3 05 2 4 05 2 5 05 2 6 05 2 7 05 2 8 05 2 9 05 3 0 05 3 1 05 3 2 05 3 3 05 3 4 05 3 5 05 3 6 05 3 7 05 3 8 05 3 9 05 4 0 05 4 1 05 4 2 05 4 3 05 4 4 05 4 5 05 4 6 0

. B Y $ 9 5. B Y $ 9 3. B $ 9 . B $ 9 . B Y $ 8 8. B $ 8 . B $ 8 . B Y $ 8 B. B Y $ 8 C. B Y $ 9 5. B $ 8 . B $ 8

. B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B . B

$ 8 $ 9 $ 9 $ 9 $ 9 $ 9 $ 9 $ 9 $ 9 $ 9 $ 9 $ 9 $ A $ A $ A $ A $ A $ A $ A $ 9 $ A $ A $ A $ A $ A $ A $ A $ A $ B $ B $ B $ B $ B $ B $ B $ B $ B $ 9 $ 9 $ B $ B $ B $ B $ B $ B $ B $ C $ C $ C $ C $ C $ C

* R E S U M E* R E C A L L / L O A D * * S T O R E / S A V E * * S P E E D =L E G O T OR U i R E S T O R E* G O S U BR E T U R N

R E S T O PO W A I TL O A DS A V ED E P O K EP R I N TC O N TL I S TC L E A RG E N E T A B (T F S P C (T H E N* A N O S T E P

( T I M E S )( E X P O N E N T I A T I O N )

A N O

S G I N A B U S F R * S C R N (* P D LP O S Q R N L O E X C O S I T A A T P E E KL E S T R $V A

2 1

Page 221: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 221/260

0 7 E 6 - C 0 7 E 7 - C 0 7 E 8 - C 0 7 E 9 - C 0 7 E A - C A

0 7 E B - 8 F 8 F 8 F0 7 E E - 8 F 8 F 8 F0 7 F 1 - 8 8 F 8 F0 7 F 4 - 8 F 8 F 8 F0 7 F 7 - 8 8 F 8 F0 7 F A - 8 F 8 F 8 F0 7 F D - 8 F 8 F 8

5 4 7 0 . B Y $ C 6 A S 5 4 8 0 . B Y $ C 7 C H R $5 4 9 0 . B Y $ C 8 L E F T $5 5 0 0 . B $ C R I G H T ?5 5 1 0 . B $ C M I D $5 5 2 05 5 3 0 R E M A I N D E R N O T I M P L E M E N T E D

S U B S T I T U T E I R E M I5 5 4 05 5 5 05 5 6 0 . B $ 8 $ 8 $ 8 F $ 8 F $ 8 $ 8 5 5 7 0 . B Y $ 8 F $ 8 F $ 8 F $ 8 F $ 8 F $ 8 F

5 5 8 0 . B Y $ 8 F $ 8 F $ 8 F $ 8 F $ 8 F $ 8 F

0 8 0 0 - 0

5 5 9 05 6 0 05 6 1 05 6 2 05 6 3 05 6 4 05 6 5 05 6 6 05 6 7 05 6 8 05 6 9 05 7 0 05 7 1 05 7 2 05 7 3 05 7 4 05 7 5 05 7 6 05 7 7 05 7 8 05 7 9 05 8 0 0

. B $ 8 $ 8 $ 8 C O M M A N D S W H I C H A R E P R E C E E D E D B YA N A S T E R I S K A B O V E A R E N O TI M P L E M E N T E D O N T H E P E T . T H E O N E S

W H I C H D E P E N D O N A P P L E H A R D W A R E( G R A P H I C S A N P D L ) A R T R A N S L A T E DI N T O • C M D 1 , T H E O T H E R S I N T O' V E R I F Y 1

C O M M A N D S W I T H A N A S T E R I S K T OT H E R I G H T M A Y T R A N S L A T E B A D L Y .C O M M A N D S W I T H T W O A S T E R I S K S A R P H O N Y T R A N S L A T I O N S F O M A N U A LC O N V E R S I O N .S E A R T I C L E F O R D E T A I L S .E N D O F P H O N Y B A S I C P R O G R A M

. B 0 . E

2 1

Page 222: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 222/260

2 1

Page 223: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 223/260

Page 224: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 224/260

T e l e P E TJ i B u t t e r f i e l d

I t ' s h e l p f u l t k n o w j u s t h o t e l e c o m m u n i c a t i o n e q u i p m e n t w o r k s w i t ht h P E a n h o y o c a g e t t h e m o s t o u o i t M r B u t t e r f i e l d l u c i d l ye x p l a i n s .

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

M o s t c o m m e r c i a l o f f e r i n g s g i v e y o t h w h o l e p a c k a g e t e n a b l e y o t h o o k u p a n d b " o t h a i r " f a i r l y q u i c k l y . B u s i n c et h e r e t e c h n i c a l a p p r o a c h e s a r d i f f e r e n t , i t ' s w o r t h w h i l e t l o o k a w h a t c o m m u n i c a t i o n s i n t e r f a c e n e e d s t d o I n t e r f a c e E l e m e n t sT h e r e a r s e v e r a l p r o g r a m s t h a t n e e d t b a d d r e s s e d i o r d e r t h o o k y o u r P E t t e l e p h o n e l i n e . S t a r t i n g a t h t e l e p h o n e e n d ,t h e y a r e :1 T h t e l e p h o n e c o m p a n y g e t s a n n o y e d i y o w i r e t h i n g s d i r e c t l yt t h t e l e p h o n e l i n e , u n l e s s t h e y a r " a p p r o v e d " d e v i d e s . T h s m a l lu s e r s h o u l d a l s o w o r r y a b o u t t h d a n g e r s t h i P E T : s o m e h e f t yv o l t a g e s c a c o m e f r o m t h t e l e p h o n e e x c h a n g e .

T h e a s i e s t s o l u t i o n t t h i s i a a c o u s t i c c o u p l e r . Y o f i y o u rt e l e p h o n e h a n d s e t i n t o o n o t h e s e , a n i a r r a n g e s t m a k e n o i s e si n t o t h t r a n s m i t t e r a n t l i s t e n t t h e a r p i e c e w i t h m i c r o p h o n e .N e l e c t r i c a l c o n n e c t i o n s o u n d p o w e r d o e s t h w h o l e j o b .2 T h t e l e p h o n e s y s t e m w a d e s i g n e d t o c a r r y v o i c e , o s o u n d s i c e r t a i n f r e q u e n c y r a n g e . T h P E s i g n a l n e e d s t b c h a n g e d t a a u d i b l e s i g n a l i o r d e r t b t r a n s m i t t e d ; a t h e o t h e r e n d , t h s o u n d f r e q u e n c i e s n e e d t b c h a n g e d b a c k i n t o b i t s t h o n e s a n z e r o s t h a t t h P E n e e d s .

T h i s p r o g r a m i s o l v e d b d e v i c e c a l l e d a M o d e m . M o d e mc o n s i s t s o t w p a r t s : m o d u l a t o r , w h i c h c h a n g e s b i t s t t o n ef r e q u e n c i e s f o s e n d i n g ; a n d e m o d u l a t o r , w h i c h c h a n g e s t h t o n e s b a c k t b i t s .3 Y o c a n o r m a l l y s e n d a n d / o r r e c e i v e o n l y o n b i t a t t i m e .P E h a n d l e s e i g h t b i t s a t a t i m e . S o m e t h i n g h a t t a k e t h e e i g h tb i t s f r o m t h P E ( t h e " p a r a l l e l " s i g n a l , s i n c e e i g h t b i t s c o m e o u t o g e t h e r ) a n f i r e t h e m o f o n b i a t i m e ( c r e a t i n g " s e r i a l "s i g n a l , w i t h o n b i a f t e r t h o t h e r ) . I t h e o t h e r d i r e c t i o n , y o u m u s t

2 1

Page 225: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 225/260

C o m m u n i c a t i o n s

c o l l e c t t h e i g h t b i t s , o n a a t i m e , p a c k t h e m t o g e t h e r a n d e l i v e rt h e m t t h P E a p a r a l l e l e i g h t - b i t b y t e .

T i e d i n t o t h i s p r o b l e m o p a r a l l e l - t o - s e r i a l c o n v e r s i o n i r e l a t e d j o b . M u c h o t h t i m e P E w i l l h a v e n o t h i n g t s e n d . W m u s t d i s t i n g u i s h b e t w e e n a n i d l e c o n n e c t i o n , w h e r e n o t h i n g i b e i n g s e n t , a n a a c t i v e c o n n e c t i o n w h i c h h a c h a r a c t e r u n d e rw a y .

T h i s l a s t t a s k i u s u a l l y e f f e c t e d b s i g n a l c a l l e d s t a r t b i t .T h s t a r t b i i s e n t b e f o r e t h P E T ' s i n f o r m a t i o n b i t s ; i s a y s , " h e r ec o m e s a c h a r a c t e r . " I y o d o n ' t u s s t a r t b i t , y o k n o w t h a t t h l i n e i i d l e .

A l l o f t h t a s k s a b o v e c a n b p e r f o r m e d i m a c h i n e l a n g u a g ep r o g r a m s , o i a r a t h e r c l e v e r c h i p c a l l e d U A R T . E i t h e r w a y , y o m u s t a r r a n g e t s e n d s t a r t b i t , t h e n t h e i g h t d a t a b i t s , o n a t i m e , a n t h e n b r i e f p a u s e ( s o m e t i m e s c a l l e d s t o p b i t ) b e f o r e y o s t a r t t h n e x t c h a r a c t e r . C o m i n g t h e o t h e r w a y , t h r e c e i v i n g P E m u s t w a i t f o s t a r t b i t a n t h e n c o l l e c t t h e i g h t d a t a b i t s i n t os i n g l e b y t e .4 I y o u ' r e c o m m u n i c a t i n g w i t h n o n - P E T a t h d i s t a n t e n d , t h eo t h e r c o m p u t e r w i l l p r o b a b l y w a n t t r e c e i v e s t a n d a r d c o d e c a l l e dA S C I I , a n w i l l s e n d t h a t c o d e b a c k t y o u . P E d o e s n o s t o r ec h a r a c t e r s i A S C I I f o r m a t , s o t h a t l i t t l e t r a n s l a t i o n w i l l b n e e d e d i b o t h d i r e c t i o n s .

P E h a c h a r a c t e r s t h a t d o n ' t e x i s t i A S C I I . F o r e x a m p l e ,m o s t o f t h e P E g r a p h i c c h a r a c t e r s d o n ' t h a v e a n c o r r e s p o n d i n gA S C I I c h a r a c t e r s . Y o u ' l l h a v e t o g i v e t h e m u p

T h e r e a r f e A S C I I c h a r a c t e r s t h a t d o n ' t h a v e a n yc o u n t e r p a r t i t h P E T . M o s t o t h e t h e s e a r c a l l e d c o n t r o lc h a r a c t e r s . Y o u ' l l p r o b a b l y n e e d f e o t h e s e f o g o o dc o m m u n i c a t i o n s i n t e r f a c e . M o s t c o m m e r c i a l p a c k a g e s m a k e t h e ma v a i l a b l e w i t h t w o - k e y c o m b i n a t i o n f r o m t h P E T . F o e x a m p l e ,t h k e y s R e v e r s e , s e m i c o l o n o f t e n g e n e r a t e t h e c h a r a c t e r k n o w n a E S o E s c a p e i A S C I I ; t h i s c h a r a c t e r u s u a l l y t e l l s t h d i s t a n tc o m p u t e r t s t o p w h a t e v e r i t ' s d o i n g a n w a i t f o n e c o m m a n df r o m y o u . I t ' s v e r y h a n d y c h a r a c t e r t k n o w w h e n t h d i s t a n tc o m p u t e r h a s t a r t e d t o s e n d o u m a s s i v e a m o u n t o d a t a w h i c hy o r e a l i z e y o r e a l l y d o n ' t w a n t .5 T h p h y s i c a l c o n n e c t i o n a t h P E i e i t h e r t h I E E E - 4 8 8 b u o t h P a r a l l e l U s e r P o r t . I i t ' s t h I E E E - 4 8 8 b u s , t h c o n n e c t e d d e v i c ew i l l h a v e t o b e y t h p r o t o c o l s r e c o g n i z i n g w h e n i t ' s s e l e c t e d ,r e c e i v i n g a n d e l i v e r i n g c h a r a c t e r s t t h b u s , e t c .

I i t ' s t h P a r a l l e l U s e r P o r t , P E w i l l n e e d t c o n t a i n

2 1

Page 226: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 226/260

m a c h i n e l a n g u a g e p r o g r a m w h i c h i c a l l e d b t h u s e r ' s p r o g r a ma n t i m e i t i s d e s i r e d t r e c e i v e o s e n d .T h I E E E - 4 8 8 b u s i s i m p l e t u s n o r m a l P R I N T

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

T r a c i n g t h F l o wL e t ' s p u t h a b o v e t o g e t h e r a n t r a c k c h a r a c t e r f r o m t h P E t t h l i n e , a n v i c e - v e r s a .1 P E d e c i d e s t s e n d c h a r a c t e r . I t h i n t e r f a c e i v i t h I E E E

b u s , P E m i g h t s i m p l y i s s u e t h c o m m a n d P R I N T # 7 " A " ; o i t h i n t e r f a c e i v i t h p a r a l l e l u s e r p o r t , t h p r o g r a m m i g h t s a y , S Y 3 0 4 5 6 , " A " . T h e r e a r m a n y p o s s i b l e v a r i a t i o n s .2 T h c h a r a c t e r i t h i s c a s e , t h l e t t e r w h i c h i r e p r e s e n t e d i P E t e x t m o d e a h e x a d e c i m a l C m u s t b t r a n s l a t e d t t r u eA S C I I . T h i s m i g h t b d o n e i e i t h e r p r o g r a m o i h a r d w a r e ; i e i t h e r c a s e , t h r e s u l t i h e x a d e c i m a l 4 1 3 T h p a r a l l e l t s e r i a l t r a n s l a t i o n n o t a k e s p l a c e . O n c e a g a i n ,t h i s m a b d o n e w i t h i n p r o g r a m o b y h a r d w a r e ( U A R T c h i p ) .

s t a r t b i i g e n e r a t e d f o l l o w e d b t h e i g h t b i t s o d a t a ; e a c h i s e n t a t h e a p p r o p r i a t e t i m e .4 E a c h b i t , a i i g e n e r a t e d , i t r a n s l a t e d b t h m o d e m i n t o a a p p r o p r i a t e t o n e f r e q u e n c y . O n f r e q u e n c y r e p r e s e n t s a z e r o b i t ,a n o t h e r r e p r e s e n t s o n b i t .5 T h t o n e s g e n e r a t e d b t h m o d e m a r e f e d i n t o s m a l l s p e a k e rw h i c h i v e r y c l o s e t t h t e l e p h o n e h a n d s e t t r a n s m i t t e r . T h s o u n df r o m t h e s p e a k e r i p i c k e d u b t h t e l e p h o n e a n s e n t t t h l i n e .I t ' s o t h w a . . A t h r e c e i v i n g e n d :6 T h t e l e p h o n e e a r p i e c e h a b e e n m a k i n g w h i n i n g s o u n d f r o mt h t o n e r e c e i v e d f r o m t h l i n e . T h s o u n d i p i c k e d u b s m a l lm i c r o p h o n e c l o s e t t h e a r p i e c e .7 T h s i g n a l r e a c h e s t h m o d e m w h i c h e x a m i n e s t h t o n e a n c l a s s i f i e s i a e i t h e r l o g i c z e r o o r a l o g i c o n e . I p a s s e s a l o n g t h l o g i c s t a t e , z e r o o o n e , t t h s e r i a l t p a r a l l e l t r a n s l a t o r .8 T h s e r i a l t p a r a l l e l t r a n s l a t o r w a i t s p a t i e n t l y f o s t a r t b i ( l o g i c z e r o ) t b r e c e i v e d . W h e n i s e e s t h i s , i c a r e f u l l y c o l l e c t s t h e i g h t d a t a b i t s a t h e a p p r o p r i a t e t i m e s . T h i s m i g h t b e d o n e e i t h e ri p r o g r a m o i h a r d w a r e ( a g a i n , w i t h U A R T ) .9 T h e i g h t - b i t c h a r a c t e r m i g h t b p l a c e d i n t o b u f f e r o m i g h tj u s t b h e l d f o p i c k u p b t h P E T . I e i t h e r c a s e , t h r e c e i v e dc h a r a c t e r w i l l n e e d t b t r a n s l a t e d f r o m A S C I I i n t o P E f o r m a t .

2 2

Page 227: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 227/260

T h M o d e m / A c o u s t i c C o u p l e rT h m o d e m a n a c o u s t i c c o u p l e r a r i n v a r i a b l y p a c k a g e d t o g e t h e r .S p e e d s u t 3 c h a r a c t e r s p e r s e c o n d a r g e n e r a l l y a v a i l a b l e ; l o w e rs p e e d s w i l l w o r k , b u t t h h i g h e s t r a t e o 3 c p i v i r t u a l s t a n d a r dn o w .

T h C o m m o d o r e i n t e r f a c e p a c k a g e s e v e r y t h i n g i n t o t h m o d e m / c o u p l e r c a s e : I E E E b u i n t e r f a c e , U A R T , t h w h o l e t h i n g .O t h e r s u p p l i e r s u s e s t a n d a r d , c o m m e r c i a l l y a v a i l a b l em o d e m / c o u p l e r s a n s u p p l y e x t r a h a r d w a r e a n d / o r p r o g r a m s t c o m p l e t e t h i n t e r f a c e .

T h c o m m e r c i a l l y a v a i l a b l e m o d e m s u s a i n t e r f a c e k n o w n a R S - 2 3 2 . I t ' s n i c e t h a v e t h i s i n t e r f a c e a v a i l a b l e , s i n c e y o c o n n e c to t h e r t h i n g s b e s i d e s m o d e m s t i t V a r i o u s t y p e s o t e r m i n a l s , b o t hv i d e o o h a r d c o p y , w i l l h o o k u w i t h n p r o b l e m s .P a r a l l e l / S e r i a l i n t e r f a c e s a n B u f f e r i n gI t ' s e c o n o m i c a l a n f l e x i b l e t u s p r o g r a m t d y o u rp a r a l l e l / s e r i a l i n t e r f a c e , a n b u f f e r i n g c a n b e p r o v i d e d q u i t e e a s i l y .I d o e s t a k e u m e m o r y s p a c e , h o w e v e r , a n i c a k e e p t h P E r a t h e r b u s y ; b i t s m o v e i a n o u a r a t e o o n e v e r y t h r e em i l l i s e c o n d s o s o Y o u r i n t e r f a c e f r o m B A S I C w i l l b r a t h e r o r t r i c k y , t o o : P R I N T o G E w o n ' t m a k e t h c o n n e c t i o n t o e a s i l y .

H a r d w a r e c o s t s m o r e , b u t h e l p s w i t h s o m e o t h e s e p r o b l e m s .Y o m a n o b l i b e r a t e d f r o m t h n e e d f o r s p e c i a l p r o g r a m s ,t h o u g h . T h m i g h t y U A R T c h i p c a o n l y c a t c h o s e n d o n c h a r a c t e r a t i m e . U n l e s s y o h a v e b u f f e r i n g , P E w i l l h a v e t w a i t b e f o r e t h e n e x t c h a r a c t e r c a b s e n t o r e c e i v e d .T h G P I B b u T h I E E E - 4 8 8 b u i i d e a l f o r s e n d i n g o r e c e i v i n g c h a r a c t e r s f r o mB A S I C . A a l w a y s , h o w e v e r , t h e r e ' s c a t c h o t w o . I t h d e v i c ey o u ' r e s e n d i n g t i b u s y a n c a n ' t c a t c h t h e c h a r a c t e r y o w a n t t s e n d i t , i t w i l l p r o b a b l y h a n g u t h b u s t h a t e v e r y t h i n g s t o p su n t i l i t ' s r e a d y . T h s a m e t h i n g m a h a p p e n i y o t r t I N P U T o G E c h a r a c t e r o v a l u e t h a t h a s n ' t a r r i v e d y e t ; y o u ' l l e i t h e r t i m eo u o w a i t .

T h i s i s n ' t n e w . M a n y d e v i c e s h o l d u t h I E E E b u t h p r i n t e r a n t h d i s k d i t f o e x a m p l e . B u w i t h c o m m u n i c a t i o n si n t e r f a c e , w a i t i n g t i m e b e c o m e s a s e r i o u s p r o b l e m . Y o m i g h t l o s e ac h a r a c t e r i t h b u i h u n g u w a i t i n g f o s o m e t h i n g e l s e t h a p p e n .I b e c o m e s m o r e i m p o r t a n t t u s e t h e b u i m o r e s o p h i s t i c a t e dw a y .

2 2

Page 228: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 228/260

L o o k i n g t h e m O v e rA l o f t h e a b o v e p r o b l e m s h a v e b e e n s o l v e d i a v a r i e t y o w a y s b yt h v a r i o u s s u p p l i e r s . r e m a r k a b l e a m o u n t o i n g e n u i t y h a b e e nc a l l e d i n t o p l a y , a n t h u s e r h a c o n s i d e r a b l e c h o i c e .

C h e c k o u t h u n i t s a v a i l a b l e t o s e w h i c h o n e s f i y o u r s t y l e .H o m u c h o f t h e p a c k a g e i h a r d w a r e , a n h o w m u c h s o f t w a r e ?H o e a s i l y c a y o i n t e r f a c e w i t h y o u r o w B A S I C p r o g r a m s ? C a y o a t t a c h d e v i c e s o t h e r t h a n m o d e m ? D o e s t h u n i t c o n t a i nb u f f e r i n g ? H o i t h t r a n s l a t i o n t o a n f r o m A S C I I a c c o m p l i s h e d ?C a y o a b a n d o n A S C I I i y o c h o o s e a n s e n d d i r e c t l y f r o m P E t P E T , f o g r a p h i c s o r p r o g r a m t r a n s f e r ? H o m u c h m e m o r y w i l ly o n e e d i t h P E T ? W i l l y o n e e d d i s k ? A n d , o c o u r s e , h o m u c h m o n e y w i l l i a l c o s t ?T h e r e ' s n s i n g l e a n s w e r . F i n d o u w h a t s u i t s y o u .

C o m m u n i c a t i o n s i n t e r f a c e s a r h e r e . Y o 1 s e m o r e o t h e mu s e d i t h P E c o m m u n i t y . O n o t h e s e d a y s , y o u ' l l b t e m p t e d t j o i n t h n e t w o r k .

2 2

Page 229: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 229/260

B a s i c C B 8 0 1 0 M o d e mR o u t i n e s

J i B u t t e r f i e l d

J i B u t t e r f i e l d p r e s e n t s p a i r o f a m a z i n g l i t t l e p r o g r a m s f o t e l e c o m m u n i c a t i o n s i B A S I C !

T h p r o g r a m s g i v e n o p a g e o f t h e 8 0 1 0 M o d e m O p e r a t o r ' sM a n u a l d o n ' t s e e m t d t h j o b . I p a r t i c u l a r , t h A S C I I i n t e r f a c ep r o g r a m o f t e n c r a s h e s ; p r i n t s p e c u l i a r t h i n g s i y o a r e r e c e i v i n gp a r i t y c h a r a c t e r s ; a n d r o p s l i n e c h a r a c t e r s f r o m t i m e t o t i m e .

H e r e a r e a c o u p l e o r e p l a c e m e n t p r o g r a m s t h a t s h o u l d d t h j o b e t t e r .A S C I I I n t e r f a c eS e t h m o d e m s w i t c h e s t O ( O r i g i n a t e ) a n H ( H a l f D u p l e x ) .O n e x c e p t i o n : i y o u ' r e w o r k i n g a n " e c h o p l e x " t y p e o f s y s t e m , t h d i s t a n t c o m p u t e r w i l l r e p e a t b a c k e v e r y t h i n g y o s e n d ; i t h i s c a s e ,s e t h s w i t c h t F ( F u l l D u p l e x ) .

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

S p e c i a l c o n t r o l c h a r a c t e r s c a n b e s e u p d e p e n d i n g o y o u rn e e d s . N o t e , f o e x a m p l e , t h a t t h d e l e t e c h a r a c t e r h a b e e ni m p l e m e n t e d i t h i s p r o g r a m : P E T ' s d e l e t e , d e c i m a l v a l u e 2 0 w i l l b t r a n s l a t e d t A S C I I b a c k s p a c e , d e c i m a l v a l u e 8 a n v i c e v e r s a ; y o c a s e t h c o d i n g o l i n e 2 1 0 . Y o m a i m p l e m e n t y o u r o w t s u i t t h n e e d s o t h c o m p u t e r o n e t w o r k . T e n a b l e C o n t r o l - P ,m o r e a c c u r a t e l y k n o w n a D L ( D a t a L i n k E s c a p e ) y o m i g h t c o d e :T ( 1 7 6 ) 1 6 T h i s w o u l d t r a n s l a t e P E T ' s s h i f t e d - z e r o c h a r a c t e r , as q u a r e - c o r n e r w i t h b i v a l u e 1 7 6 , t t h A S C I I D L c h a r a c t e r ,v a l u e 1 6 P E T - t o - P E T I n t e r f a c eB o t h u s e r s s h o u l d s e t h e i r m o d e m s w i t c h e s t H ( H a l f D u p l e x ) .O n u s e r s h o u l d s e O ( O r i g i n a t e ) , a n t h e o t h e r A ( A n s w e r ) ; i d o e s n ' t m a t t e r w h i c h u s e r s e t s w h a t , s l o n g a t h e y a r d i f f e r e n t .C o m m u n i c a t i o n i t w o - w a y i n e i t h e r c a s e .

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

2 2

Page 230: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 230/260

T h b i g g e s t o p e r a t i o n a l p r o b l e m i m a k i n g s u r e y o d o n ' t b o t ht r t t a l k a t h s a m e t i m e . T h e r e ' s n f l a s h i n g c u r s o r t p r o m p ty o u . Y o u ' l l s o o n g e u s e d t w a i t i n g f o p a u s e f r o m t h o t h e r P E b e f o r e s e n d i n g y o u r o w s t u f f .G e n e r a l C o m m e n t sT h b u s i n e s s p a r t o t h e s e p r o g r a m s l i n e s 3 0 0 - 3 2 0 a r u n d e rs e v e r e t i m e c o n s t r a i n t s . I y o m o d i f y t h p r o g r a m s , c h e c k c a r e f u l l yt m a k e s u r e y o d o n ' t s t a r t l o s i n g t h o c c a s i o n a l c h a r a c t e ri n c o m i n g f r o m t h l i n e .T h e s e p r o g r a m s a r q u i t e s i m p l e ; t h e y c o n v e r t y o u r P E i n t o aC R t e r m i n a l . T h a t ' s n o c o s t - e f f e c t i v e w a t u s P E ( t e r m i n a l s a r c h e a p e r ) a n e v e n t u a l l y y o s h o u l d a n t i c i p a t e f i t t i n gm o r e s o p h i s t i c a t e d p r o g r a m s w h i c h w i l l a l l o w y o t s e n d a n r e c e i v e p r o g r a m s a n f i l e s .F o c o m m u n i c a t i o n s t a A S C I I s y s t e m :1 0 R E 8 0 1 0 I N T E R F A C E J I B U T T E R F I E L D1 1 R E F O A S C I I L I N E S1 2 R E M A R K : S E S W I T C H T H 2 0 D I F ( 2 5 5 ) , T ( 2 5 5 )2 1 F O 3 T 6 T ( J ) = N E X T T ( 1 3 ) 1

T ( 2 0 )2 2 F O 6 T 9 = 3 T ( J ) N E X T2 3 F O 9 T 9 T ( J ) = N E X T2 4 F O 1 9 T 2 1 = J - 1 2 8 T ( J ) N E X T2 5 R E A D E X T R A F U N C T I O N S H E R E2 6 F O = T 2 5 T ( J ) I T H E N F ( K ) =

F ( 1 2 8 ) = J2 7 N E X T2 8 P O K E 1 0 2 0 , 0 P O K E 5 9 4 6 8 , 1 42 9 O P E N 5 9 P R I N T " A S C I I 1 / R E A D Y "3 0 G E A I A $ < > " " T H E N P R I N T # 5 , C H R $

( T ( A S C ( A $ ) ) ) ;3 1 G E T # 5 , A I S A N A $ < > " " T H E N

P R I N T C H R $ ( F ( A S C ( A $ ) ) ) ;3 2 G O T O 3 0 F o c o m m u n i c a t i o n s t a n o t h e r P E T :1 0 R E 8 0 1 0 I N T E R F A C E J I M B U T T E R F I E L D1 1 R E F O P E I N T E R C O M M U N I C A T I O N1 2 R E M A R K : S E S W I T C H T H 2 8 P O K E 1 0 2 0 , 0 P O K E 5 9 4 6 8 , 1 4 i t e x t m o d e d e s i r e d2 9 O P E N 5 9 P R I N T " P E T 1 / R E A D Y "3 0 G E A I A $ < > " " T H E N P R I N T # 5 , A $ ;3 1 G E T # 5 , A $ I S T H E N P R I N T A $ 3 2 G O T O 3 0

2 2

Page 231: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 231/260

2 2

Page 232: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 232/260

P E I T r a n s i t i o nJ i B u t t e r f i e l d

1 y o o w t h U p g r a d e R O M , y o c a u s t h i s m e m o r y m a f o y o u ro w p r o g r a m s f o O r i g i n a l R O P E T s .

t r a n s i t i o n i s s u e o f t h e P e G a z e t t e i v e r y a p p r o p r i a t e , b e c a u s e t h P E i t s e l f i i t r a n s i t i o n . N e p r o d u c t s a n n e s o f t w a r e a r g o i n gt c h a n g e t h n a t u r e o t h m a c h i n e . O l h a n d s a P E s y s t e m s u s w i l l h a v e t l e a r n n e t r i c k s .

l o o " o l d " s o f t w a r e w o n ' t w o r k o t h n e m a c h i n e s .T h o s e c h e s s a n m u s i c p l a y i n g p r o g r a m s , f o e x a m p l e , c a n ' t m a k et h t r a n s i t i o n i n t h e i r p r e s e n t f o r m . M a n y o f t h e P O K E s a n P E E K sh a v e s h i f t e d t n e l o c a t i o n s . S Y S , U S a n W A I T c o m m a n d s w i l ln e e d r e w o r k i n g .

T h m a c h i n e s t h e m s e l v e s h a v e f e h a r d w a r e c h a n g e s . n e m e m o r y a r r a n g e m e n t e l i m i n a t e s s c r e e n h a s h . T h s c r e e n c a n l o n g e r b b l a n k e d , s t h a t c e r t a i n s p e c i a l e f f e c t s ( e x p l o s i o n s , e t c . ) a r d i f f i c u l t t o a c h i e v e . T h c h a r a c t e r g e n e r a t o r h a s c h a n g e d , g i v i n g a u n f a m i l i a r r e v e r s a l o u p p e r a n l o w e r c a s e . T h m e m o r y e x p a n s i o ne d g e c o n n e c t o r i p h y s i c a l l y d i f f e r e n t ; i a p p e a r s a i C o m m o d o r ed o e s n ' t i n t e n d i t b u s e r a c c e s s i b l e a n m o r e . I n s t e a d ," m o t h e r b o a r d " a r c h i t e c t u r e i h i n t e d a t a n e m p t y R O s o c k e t ss u g g e s t t h a t n e s o f t w a r e m a b f o r t h c o m i n g . A a s s e m b l e r ? N e l a n g u a g e s ? I t ' s a n y b o d y ' s g u e s s r i g h t n o w .

F u r t h e r h a r d w a r e c h a n g e s a r r u m o u r e d . M o s t o f t h e o n e sh e a r a r a s s o c i a t e d w i t h s c r e e n f o r m a t c h a n g e s ( 8 c h a r a c t e r s ?C o l o u r ? P r o g r a m m a b l e c h a r a c t e r s ? )

W i t h a l t h e s e c h a n g e s , w h a t s h o u l d t h P E o w n e r d o ? S t a yw i t h h i o r i g i n a l m a c h i n e ? R e t r o f i t w i t h t h n e R O c h i p s ? B u t h n e m o d e l ?

M r e c o m m e n d a t i o n i t h i s : u p g r a d e w i t h n e R O M s , o b u n e u n i t ; b u e i t h e r w a y , t a k e t h e p l u n g e . Y o u ' l l w a n t t h n e

m o d e l i y o a r s t r o n g o l a r g e k e y b o a r d s , g r e e n s c r e e n s , a n d / o rR O e x p a n s i o n c a p a b i l i t y ; o t h e r w i s e , s t a y w i t h y o u r e x i s t i n gm a c h i n e s , b u t f i t h n e R O p r o g r a m s .

T h e r e ' s t o m u c h g o o d s t u f f i t h n e s o f t w a r e t h o l d b a c k .T h l i m i t o a r r a y s i z e i l i f t e d ; t a p e f i l e s b e h a v e c o r r e c t l y ; t h I E E E - 4 8 8 b u w o r k s b e t t e r ; t h b u i l t - i n M a c h i n e L a n g u a g e M o n i t o ri v e r y v a l u a b l e ; y o c a n o p u l l t h c o m p u t e r o u o t o t a l c r a s hw i t h o u t l o s i n g m e m o r y ; a n d n u m e r o u s l i t t l e i m p r o v e m e n t s h a v e

2 2

Page 233: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 233/260

b e e n m a d e .C o m m o d o r e m a i n t r o d u c e m o r e R O M s i t h f u t u r e . B u b e l i e v e t h a t t h e y w o n ' t t i n k e r w i t h l o w e r m e m o r y ( l o c a t i o n s t 1 0 2 3 d e c i m a l ) t a n g r e a t e x t e n t . S a u p g r a d e w h i c h i m a d en o s h o u l d l a s t f o a w h i l e .

C o m m e r c i a l s o f t w a r e h o u s e s w i l l h a v e t w r e s t l e w i t h t h u p g r a d e , o c o u r s e . B u y e r s w i l l h a v e t c l o s e l y e x a m i n e p r o g r a m s o s a l e t m a k e s u r e t h a t t h e y a r c o m p a t i b l e w i t h t h e i r c o m p u t e rm o d e l . " A C / D C " p r o g r a m s , w h i c h w i l l r u o a n e x i s t i n g R O M ,w i l l b h e l p ( u n d e r s t a n d t h a t s u c h v e r s i o n o M i c r o c h e s s w i l ls o o n b a v a i l a b l e ) . E v e n t u a l l y , b e l i e v e t h a t t h e u p g r a d e d R O M sw i l l b e c o m e s t a n d a r d , a n m o s t s o f t w a r e w i l l b w r i t t e n f o t h e m ;t h o r i g i n a l R O w i l l f a d e o u o t h p i c t u r e .

C l u b s , a n n e w s l e t t e r s l i k e T h P e t G a z e t t e , w i l l a l s o n e e d t c o p e w i t h t h i s t r a n s i t i o n . P r o g r a m s a n t e c h n i q u e s w i l l h a v e t b c a r e f u l l y i d e n t i f i e d : w h i c h R O s e w i l l t h e y w o r k o n W h e r ep o s s i b l e , t w v e r s i o n s w i l l b d e s i r a b l e .

E v e n t u a l l y h o p e f u l l y w e l l a l s e t t l e b a c k i n t o s t a n d a r dm a c h i n e . A n t h e n w c a f o c u s o u a t t e n t i o n f u l l y o t h m a i no b j e c t i v e : m a k i n g i d t h j o b s w w a n t t d o M e m o r y l o c a t i o n s f o R O u p g r a d e o P E c o m p u t e r s J i B u t t e r f i e l d , T o r o n t o

U S J u m p i n s t r u c t i o nS e a r c h c h a r a c t e rS c a n - b e t w e e n - q u o t e s f l a gB A S I C i n p u t b u f f e r p o i n t e r ; s u b s c r i p t sD e f a u l t D I f l a gT y p e : F F = s t r i n g , 0 0 = n u m e r i cT y p e : 8 0 = i n t e g e r , 0 0 = f l o a t i n g p o i n tD A T A s c a n f l a g ; L I S T q u o t e f l a g ; m e m o r y f l a gS u b s c r i p t f l a g ; F N f l a g0 = i n p u t ; 6 4 = g e t ; 1 5 2 = r e a dA T s i g n f l a g ; c o m p a r i s o n e v a l u a t i o n f l a gi n p u t f l a g ; s u p p r e s s o u t p u t i n e g a t i v ec u r r e n t I / d e v i c e f o p r o m p t - s u p p r e s sB A S I C i n t e g e r a d d r e s s ( f o r S Y S , G O T O , e t c . )T e m p o r a r y s t r i n g d e s c r i p t o r s t a c k p o i n t e rL a s t t e m p o r a r y s t r i n g v e c t o rS t a c k o d e s c r i p t o r s f o t e m p o r a r y s t r i n g sP o i n t e r f o n u m b e r t r a n s f e rM i s c . n u m b e r p o i n t e rP r o d u c t s t a g i n g a r e a f o m u l t i p l i c a t i o nP o i n t e r ; S t a r t - o f - B A S I C m e m o r yP o i n t e r : E n d - o f - B A S I C , S t a r t - o f - V a r i a b l e sP o i n t e r : E n d - o f - V a r i a b l e s , S t a r t - o f - A r r a y sP o i n t e r : E n d - o f - A r r a y sP o i n t e r : B o t t o m - o f - s t r i n g s ( m o v i n g d o w n )

0 0 0 0 - 0 0 0 20 0 0 30 0 0 40 0 0 50 0 0 60 0 0 70 0 0 80 0 0 90 0 0 A0 0 0 Bo o o c0 0 0 D0 0 0 E0 0 1 1 - 0 0 1 20 0 1 30 0 1 4 - 0 0 1 50 0 1 6 - 0 0 1 E0 0 1 F - 0 0 2 00 0 2 1 - 0 0 2 20 0 2 3 - 0 0 2 70 0 2 8 - 0 0 2 90 0 2 A - 0 0 2 B0 0 2 C - 0 0 2 D0 0 2 E - 0 0 2 F0 0 3 0 - 0 0 3 1

0 -

1 1 1 1 1 1 7 - 1 81 2 0 - 2 12 2 - 3 03 1 - 3 23 3 - 3 43 5 - 3 94 0 - 4 14 2 - 4 34 4 4 54 6 4 74 8 4 9

2 2

Page 234: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 234/260

0 0 3 2 - 0 0 3 30 0 3 4 - 0 0 3 50 0 3 6 - 0 0 3 70 0 3 8 - 0 0 3 90 0 3 A - 0 0 3 B0 0 3 C - 0 0 3 D0 0 3 E - 0 0 3 F0 0 4 0 - 0 0 4 10 0 4 2 - 0 0 4 30 0 4 4 - 0 0 4 50 0 4 6 - 0 0 4 70 0 4 80 0 4 A0 0 4 B - 0 0 4 C0 0 4 D - 0 0 5 00 0 5 1 - 0 0 5 30 0 5 4 - 0 0 5 80 0 5 9 - 0 0 5 D0 0 5 E - 0 0 6 30 0 6 40 0 6 50 0 6 6 - 0 0 6 B0 0 6 C0 0 6 D0 0 6 E - 0 0 6 F0 0 7 0 - 0 0 8 70 0 8 8 - 0 0 8 C0 0 8 D - 0 0 8 F0 0 9 0 - 0 0 9 10 0 9 2 - 0 0 9 30 0 9 4 - 0 0 9 50 0 9 60 0 9 70 0 9 80 0 9 9 - 0 0 9 A0 0 9 B0 0 9 C0 0 9 D0 0 9 E0 0 9 F0 0 A 00 0 A 10 0 A 3 - 0 0 A 40 0 A 50 0 A 60 0 A 70 0 A 80 0 A 90 0 A AO O A B

5 0 - 5 15 2 - 5 35 4 - 5 55 6 - 5 75 8 - 5 96 0 - 6 16 2 - 6 36 4 - 6 56 6 - 6 76 8 - 6 97 0 - 7 17 7 7 5 - 7 67 7 - 8 08 1 - 8 38 4 - 8 88 9 - 9 39 4 - 9 91 0 1 0 1 0 2 - 1 0 71 0 1 0 1 1 0 - 1 1 11 1 2 - 1 3 51 3 6 - 1 4 01 4 1 - 1 4 31 4 4 - 1 4 51 4 6 - 1 4 71 4 8 - 1 4 91 5 1 5 1 5 1 5 3 - 1 5 41 5 1 5 1 5 1 5 1 5 1 6 1 6 1 6 3 - 1 6 41 6 1 6 1 6 1 6 1 6 1 7 1 7

U t i l i t y s t r i n g p o i n t e rP o i n t e r : L i m i t o f B A S I C M e m o r yC u r r e n t B A S I C l i n e n u m b e rP r e v i o u s B A S I C l i n e n u m b e rP o i n t e r t B A S I C s t a t e m e n t ( f o r C O N T )L i n e n u m b e r , c u r r e n t D A T A l i n eP o i n t e r t c u r r e n t D A T A i t e mI n p u t v e c t o rC u r r e n t v a r i a b l e n a m eC u r r e n t v a r i a b l e a d d r e s sV a r i a b l e p o i n t e r f o F O R / N E X T

s a v e r e g i s t e r , n e w - o p e r a t o r s a v eC o m p a r i s o n s y m b o l a c c u m u l a t o rM i s c . n u m e r i c w o r k a r e aW o r k a r e a ; g a r b a g e y a r d s t i c kJ u m p v e c t o r f o f u n c t i o n sM i s c . n u m e r i c s t o r a g e a r e aM i s c . n u m e r i c s t o r a g e a r e aA c c u m u l a t o r # 1 E , M , M , M , M , SS e r i e s e v a l u a t i o n c o n s t a n t p o i n t e rA c c u m u l a t o r h i - o r d e r p r o p o g a t i o n w o r dA c c u m u l a t o r # S i g n c o m p a r i s o n , p r i m a r y v s s e c o n d a r yl o w - o r d e r r o u n d i n g b y t e f o A c c # lC a s s e t t e b u f f e r l e n g t h / S e r i e s p o i n t e rS u b r t n : G e B A S I C C h a r ; 7 7 7 8 = p o i n t e rR N s t o r a g e a n w o r k a r e aJ i f f y c l o c k f o I a n T I H a r d w a r d i n t e r r u p t v e c t o rB r e a k i n t e r r u p t v e c t o rN M i n t e r r u p t v e c t o rS t a t u s w o r d S W h i c h k e d e p r e s s e d : 2 5 5 = n o k e S h i f t k e y : i d e p r e s s e dC o r r e c t i o n c l o c kK e y s w i t c h P I A : S T O P a n R V f l a g sT i m i n g c o n s t a n t b u f f e rL o a d = 0 , V e r i f y

c h a r a c t e r s i k e y b o a r d b u f f e rS c r e e n r e v e r s e f l a gI E E E - 4 8 8 m o d eE n d - o f - l i n e - f o r - i n p u t p o i n t e rC u r s o r l o ( r o w , c o l u m n )P B i m a g e f o t a p e I / K e i m a g e0 = f l a s h i n g c u r s o r , e l s e n c u r s o rC o u n t d o w n f o c u r s o r t i m i n gC h a r a c t e r u n d e r c u r s o rC u r s o r b l i n k f l a gE O b i r e c e i v e d

2 2

Page 235: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 235/260

O O A CO O A DO O A EO O A FO O B OO O B 10 0 B 20 0 B 4O O B 5O O B 70 0 B 9O O B AO O B BO O B CO O B DO O B EO O B FO O C OO O C 10 0 C 20 0 C 30 0 C 4 - 0 0 C 50 0 C 60 0 C 7 - 0 0 C 80 0 C 9 - 0 0 C A0 0 C B - 0 0 C CO O C DO O C EO O C FO O D OO O D 10 0 D 20 0 D 30 0 D 4O O D 50 0 D 6 - 0 0 D 70 0 D 80 0 D 90 0 D A - 0 0 D BO O D CO O D DO O D EO O D F0 0 E 0 - 0 0 F 80 0 F 9O O F AO O F B - O O F CO 1 O O - O 1 O A0 1 0 0 - 0 1 3 EO 1 O O - O 1 F F

1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 9 1 9 1 9 1 9 1 9 1 9 1 9 6 4 9 71 9 1 9 9 - 2 0 02 0 1 - 2 0 22 0 3 - 2 0 42 0 2 0 2 0 2 0 2 0 2 1 2 1 2 1 2 1 2 1 4 - 2 1 52 1 2 1 2 1 8 - 2 1 92 2 2 2 1 1 1 1 2 2 4 - 2 4 82 4 2 5 2 5 1 - 2 5 22 5 6 - 2 6 62 5 6 - 3 1 82 5 6 - 5 1 1

I n p u t f r o m s c r e e n / i n p u t f r o m k e y b o a r ds a v e f l a g

H o m a n y o p e n f i l e sI n p u t d e v i c e , n o r m a l l yO u t p u t C M d e v i c e , n o r m a l l yT a p e c h a r a c t e r p a r i t yB y t e r e c e i v e d f l a gT a p e b u f f e r c h a r a c t e rP o i n t e r i f i l e n a m e t r a n s f e rS e r i a l b i c o u n tC y c l e c o u n t e rC o u n t d o w n f o t a p e w r i t eT a p e b u f f e r # c o u n tT a p e b u f f e r # c o u n tW r i t e l e a d e r c o u n t ; R e a d p a s s I / p a s sW r i t e n e b y t e ; R e a d e r r o r f l a gW r i t e s t a r t b i t ; R e a d b i s e e r r o rP a s s e r r o r l o g p o i n t e rP a s s 2 e r r o r c o r r e c t i o n p o i n t e r

S c a n ; l - 1 5 = C o u n t ; $ 4 L o a d ; $ 8 0 E n C h e c k s u mP o i n t e r t s c r e e n l i n eP o s i t i o n o f c u r s o r o a b o v e l i n eU t i l i t y p o i n t e r : t a p e b u f f e r , s c r o l l i n gT a p e e n a d d r e s s / e n d o f c u r r e n t p r o g r a mT a p e t i m i n g c o n s t a n t s0 0 = d i r e c t c u r s o r , e l s e p r o g r a m m e d c u r s o rT i m e r e n a b l e d f o t a p e r e a d ; 0 0 = d i s a b l e dE O s i g n a l r e c e i v e d f r o m t a p eR e a d c h a r a c t e r e r r o r/ c h a r a c t e r s i f i l e n a m eC u r r e n t l o g i c a l f i l e n u m b e rC u r r e n t s e c o n d a r y a d d r s , o R / c o m m a n dC u r r e n t d e v i c e n u m b e rL i n e l e n g t h ( 4 o 8 0 f o s c r e e nS t a r t o t a p e b u f f e r , a d d r e s sL i n e w h e r e c u r s o r l i v e sL a s t k e i n p u t ; b u f f e r c h e c k s u m ; b i b u f f e rF i l e n a m e p o i n t e rN u m b e r o k e y b o a r d I N S E R T s o u t s t a n d i n gW r i t e s h i f t : w o r d / R e c e i v e i n p u t c h a r a c t e r# b l o c k s r e m a i n i n g t w r i t e / r e a dS e r i a l w o r d b u f f e rS c r e e n l i n e t a b l e : h o r d e r a d d r e s s & l i n e w r a pC a s s e t t e # s t a t u s s w i t c hC a s s e t t e # s t a t u s s w i t c hT a p e s t a r t a d d r e s sB i n a r y t A S C I I c o n v e r s i o n a r e aT a p e r e a d e r r o r l o g f o c o r r e c t i o nP r o c e s s o r s t a c k a r e a

2 2

Page 236: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 236/260

0 2 0 0 - 0 2 5 00 2 5 1 - 0 2 5 A0 2 5 B - 0 2 6 40 2 6 5 - 0 2 6 E0 2 6 F - 0 2 7 80 2 7 A - 0 3 3 90 3 3 A - 0 3 F 90 3 F A - 0 3 F B0 4 0 0 - 7 F F F8 0 0 0 - 8 F F F9 0 0 0 - B F F FC 0 0 0 - E 0 F 8E 0 F 9 - E 7 F FE 8 1 0 - E 8 1 3E 8 2 0 - E 8 2 3E 8 4 0 - E 8 4 FF 0 0 0 - F F F F

5 1 2 - 5 9 25 9 3 - 6 0 26 0 3 - 6 1 26 1 3 - 6 2 26 2 3 - 6 3 26 3 4 - 8 2 58 2 6 - 1 0 1 71 0 1 8 - 1 0 1 91 0 2 4 - 3 2 7 6 73 2 7 6 8 - 3 6 8 6 33 6 8 6 4 - 4 9 1 5 14 9 1 5 2 - 5 7 5 9 25 7 5 9 3 - 5 9 3 9 15 9 4 0 8 - 5 9 4 1 15 9 4 2 4 - 5 9 4 2 75 9 4 5 6 - 5 9 4 7 16 1 4 4 0 - 6 5 5 3 5

B A S I C i n p u t b u f f e rL o g i c a l f i l e n u m b e r t a b l eD e v i c e n u m b e r t a b l eS e c o n d a r y a d d r e s s , o R / c m d , t a b l eK e y b o a r d i n p u t b u f f e rT a p e # b u f f e rT a p e # b u f f e rV e c t o r f o M a c h i n e L a n g u a g e M o n i t o rA v a i l a b l e R A i n c l u d i n g e x p a n s i o nV i d e o R A A v a i l a b l e R O e x p a n s i o n a r e aM i c r o s o f t B A S I C i n t e r p r e t e rK e y b o a r d , S c r e e n , I n t e r r u p t p r o g r a m sP I A l - K e y b o a r d I / P I A 2 - I E E E - 4 8 8 I / V I A - I / O a n T i m e r sR e s e t , t a p e , d i a g n o s t i c m o n i t o r

2 3

Page 237: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 237/260

F e E n t r y P o i n t s ,O r i g i n a l / U p g r a d e4 . R O

J i B u t t e r f i e l d

E n t r y p o i n t s s e e n i v a r i o u s p r o g r a m m e r s * m a c h i n e l a n g u a g ep r o g r a m s . T h u s e r i c a u t i o n e d t c h e c k o u t h v a r i o u s r o u t i n e sc a r e f u l l y f o p r o p e r s e t u p b e f o r e c a l l i n g , r e g i s t e r s u s e d , e t c .

O R I GC 3 5 7C 3 5 9C 3 8 BC 3 A CC 4 3 0C 4 3 3C 4 8 DC 5 2 2C 5 5 3C 5 6 7C 5 6 AC 5 9 AC 6 B 5C 8 6 3C 9 C EC 9 D 2C A 2 7C A 2 DC A 4 7C A 4 9C E 1 1C E 1 3C E 1 CC F D 7D 0 7 9D 0 A 7D 2 7 8D 6 7 9D 6 8 DD 6 C 4D 7 3 CD 8 F DD 9 B 4

U P G RC 3 5 5C 3 5 7C 3 8 9C 3 A BC 4 3 9C 4 4 2C 4 9 5C 5 2 CC 5 5 DC 5 7 2C 5 7 5C 5 A 7C 6 C 4C 8 7 3C 9 D EC 9 E 2C A 1 CC A 2 2C A 4 3C A 4 5C D F 8C D F AC E 0 3C F C 9D 0 6 9D 0 9 AD 2 6 DD 6 7 BD 6 8 FD 6 C 6D 7 7 3D 9 3 4D 9 E E

4 . B 3 C DB 3 C FB 3 F FB 4 1 FB 4 A DB 4 B 6B 4 F BB 5 A 3B 5 D 4B 5 E 9B 5 E CB 6 2 2B 7 4 AB 8 F 6B A D BB A D FB B 1 DB B 2 3B B 4 4B B 4 6B E F 5B E F 7B F O OC 1 8 7C 2 B 9C 2 E AC 4 B CC 8 D 7C 8 E BC 9 2 1C 9 9 DC B 5 EC C 1 8

D E S C R I P T I O N? O U T O M E M O R YS e n d B A S I C e r r o r m e s s a g eW a r m s t a r t , B A S I CC r u n c h & i n s e r t l i n eF i c h a i n i n g R E A D Y .F i c h a i n i n gC r u n c h t o k e n sF i n d l i n e i B A S I CD N E R e s e t B A S I C a n d C L D o C L RR e s e t B A S I C t s t a r tC o n t i n u e B A S I C e x e c u t i o nG e f i x e d - p o i n t n u m b e r f r o m B A S I CS e n d R e t u r n , L i i s c r e e n m o d eS e n d R e t u r n , L i n e f e e dP r i n t s t r i n gP r i n t p r e c o m p u t e d s t r i n gP r i n t " ? "P r i n t c h a r a c t e rC h e c k f o c o m m aC h e c k f o s p e c i f i c c h a r a c t e r• S Y N T A X E R R O R 'F i n d f l - p t v a r i a b l e , g i v e n n a m eB u m p V a r i a b l e A d d r e s s b F l o a t t o F i x e d c o n v e r s i o nF i x e d t F l o a t c o n v e r s i o nG e b y t e t r e E v a l u a t e S t r i n gG e t t w o p a r a m e t e r sA d ( f r o m m e m o r y )M u l t i p l y b m e m o r y l o c a t i o nM u l t i p l y b t e

2 3

Page 238: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 238/260

D A 7 4D A A 9D B 1 BD C 9 FD C A 9D C A FE 3 E An n n E 7 D EF 0 B 6F O B AF 1 2 CE 7 D EF 1 6 7F 1 7 AF 1 7 EF 1 8 7F 2 C 8F 2 C DF 3 2 AF 3 3 Fn F 3 D BF 3 E 5F 3 F FF 4 1 1F 4 3 FF 4 6 2F 4 9 5F 5 0 4F 5 2 AF 5 2 DF 5 7 9F 5 7 BF 5 A EF 6 4 DF 6 6 7F 6 7 DF 6 E 6F 7 8 BF 7 D CF 8 3 BF 8 5 EF 8 7 FF 8 8 AF 8 B 9F 8 C 1F 9 1 3F B D C

D A A ED A E 3D B 5 5D C D 9D C E 3D C E 9E 3 D 8E 7 7 5E 7 A 7E 7 B 6F 1 5 6F 0 B 6F O B AF 1 2 8F 1 5 6F 1 6 FF 1 7 FF 1 8 3F 1 8 CF 2 A 9F 2 A EF 3 0 1F 3 1 5F 3 2 2F 3 E 6F 3 E FF 4 O AF 4 1 DF 4 4 7F 4 6 6F 4 9 4F 4 F DF 5 2 1F 5 2 4F 5 6 EF 5 7 OF 5 A 6F 6 3 CF 6 5 6F 6 6 CF 6 F 0F 7 7 OF 7 B CF 8 1 2F 8 3 5F 8 5 5F 8 5 EF 8 8 6F 8 8 EF 8 E 6F B 7 6

C C D 8C D O DC D 7 FC F 8 3C F 8 DC F 9 3E 2 0 2D 7 2 2D 7 5 4D 7 6 3F 1 8 5F O D 2F O D 5F 1 4 3F 1 8 5F 1 9 EF 1 B 6F 1 B 9F 1 C OF 2 D DF 2 E 2F 3 3 5F 3 4 9F 3 5 6F 4 2 5F 4 2 EF 4 4 9F 4 5 CF 4 8 6F 4 A 5F 4 D 3F 5 3 CF 5 6 0F 5 6 3F 5 A DF 5 A FF 5 E 5F 6 7 BF 6 9 5F 6 A BF 7 2 FF 7 A FF 7 D FF 8 5 7F 8 7 AF 8 9 AF 8 A 3F 8 C BF 8 D 3F 9 2 BF B B B

U n p a c k m e m o r y v a r i a b l e t o A c c u m # lC o p y A c # t ( X , Y ) l o c a t i o nC o m p l e t i o n o F i x e d t F l o a t c o n v e r s i o nP r i n t f i x e d - p o i n t v a l u eP r i n t f l o a t i n g - p o i n t v a l u eC o n v e r t n u m b e r t A S C I I s t r i n gP r i n t c h a r a c t e rO u t p u t b y t e a h e d i g i t sI n p u t h e d i g i t s t I n p u t h e d i g i t t P r i n t s y s t e m m e s s a g eS e n d ' t a l k ' t o I E E ES e n d ' l i s t e n ' t I E E ES e n d S e c o n d a r y A d d r e s sS e n d c a n n e d m e s s a g eS e n d c h a r a c t e r t I E E ES e n d W a l k 'S e n d ' u n l i s t e n 'I n p u t f r o m I E E EC l o s e l o g i c a l f i l eC l o s e l o g i c a l f i l e i C h e c k f o S t o p k e S e n d m e s s a g e i D i r e c t m o d eL O A D s u b r o u t i n e? L O A D E R R O RP r i n t R E A D Y r e s e t B A S I C t s t a r tP r i n t S E A R C H I N G .P r i n t f i l e n a m eG e L O A D / S A V E t y p e p a r a m e t e r sO p e n I E E E c h a n n e l f o o u t p u t .F i n d s p e c i f i c t a p e h e a d e r b l o c kG e s t r i n gO p e n l o g i c a l f i l e f r o m i n p u t p a r a m e t e r sO p e n l o g i c a l f i l e? F I L E N O F O U N D , c l e a r I / S e n d e r r o r m e s s a g eF i n d a n t a p e h e a d e r b l o c kG e p o i n t e r s f o t a p e L O A DS e t a p e b u f f e r s t a r t a d d r e s sS e c a s s e t t e b u f f e r p o i n t e r sC l o s e I E E E c h a n n e lS e i n p u t d e v i c e f r o m l o g i c a l f i l e n u m b e rS e o u t p u t d e v i c e f r o m L F N .P R E S S P L A Y . . ; w a i tS e n s e t a p e s w i t c hR e a d t a p e t b u f f e rR e a d t a p eW r i t e t a p e f r o m b u f f e rW r i t e t a p e , l e a d e r l e n g t h i W a i t f o I / c o m p l e t e o S t o p k e R e s e t t a p e I / p o i n t e r

2 3

Page 239: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 239/260

F D 1 BF F C 6F F C 9F F C CF F C FF F D 2F F E 4

F C 9 BF F C 6F F C 9F F C CF F C FF F D 2F F E 4

F C E OF F C 6F F C 9F F C CF F C FF F D 2F F E 4

S e i n t e r r u p t v e c t o rS e i n p u t d e v i c eS e o u t p u t d e v i c eR e s t o r e d e f a u l t I / d e v i c e sI n p u t c h a r a c t e rO u t p u t c h a r a c t e rG e c h a r a c t e r

2 3

Page 240: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 240/260

B a s i c 4 . M e m o r y M a J i B u t t e r f i e l d

T h e r e a r s o m e d i f f e r e n c e s i n u s a g e b e t w e e n t h 4 0 a n 8 0 - c o l u m nm a c h i n e s .

H e D e c i m a l0 0 0 0 - 0 0 0 20 0 0 30 0 0 40 0 0 50 0 0 60 0 0 70 0 0 80 0 0 90 0 0 A0 0 0 Bo o o cO 0 O D - O 0 O F0 0 1 00 0 1 1 - 0 0 1 20 0 1 3 - 0 0 1 50 0 1 6 - 0 0 1 E0 0 1 F - 0 0 2 20 0 2 3 - 0 0 2 70 0 2 8 - 0 0 2 90 0 2 A - 0 0 2 B0 0 2 C - 0 0 2 D0 0 2 E - 0 0 2 F0 0 3 0 - 0 0 3 10 0 3 2 - 0 0 3 30 0 3 4 - 0 0 3 50 0 3 6 - 0 0 3 70 0 3 8 - 0 0 3 90 0 3 A - 0 0 3 B0 0 3 C - 0 0 3 D0 0 3 E - 0 0 3 F0 0 4 0 - 0 0 4 10 0 4 2 - 0 0 4 30 0 4 4 - 0 0 4 50 0 4 6 - 0 0 4 70 0 4 8 - 0 0 4 90 0 4 A0 0 4 B - 0 0 5 00 0 5 1 - 0 0 5 30 0 5 4 - 0 0 5 D0 0 5 E

0 -

1 1 1 1 3 - 1 51 1 7 - 1 81 9 - 2 12 2 - 3 03 1 - 3 43 5 - 3 94 0 - 4 14 2 4 34 4 - 4 54 6 - 4 74 8 - 4 95 0 - 5 15 2 - 5 35 4 - 5 55 6 - 5 75 8 - 5 96 0 - 6 16 2 - 6 36 4 - 6 56 6 - 6 76 8 - 6 97 0 - 7 17 2 - 7 37 7 5 - 8 08 1 - 8 38 4 - 9 39

D e s c r i p t i o n

U S j u m pS e a r c h c h a r a c t e rS c a n - b e t w e e n - q u o t e s f l a gI n p u t b u f f e r p o i n t e r ; o s u b s c r i p t sD e f a u l t D I f l a gT y p e : F F = s t r i n g , 0 0 = n u m e r i cT y p e : 8 0 = i n t e g e r , 0 0 = f l o a t i n g p o i n tF l a g : D A T A s c a n ; L I S T q u o t e ; m e m o r yS u b s c r i p t f l a g ; F N f l a g0 = I N P U T ; $ 4 0 = G E T ; $ 9 8 = R E A DA T s i g n / C o m p a r i s o n E v a l u a t i o n f l a gD i s k s t a t u s D S d e s c r i p t o rC u r r e n t I / d e v i c e f o p r o m p t - s u p p r e s sI n t e g e r v a l u e ( f o r S Y S , G O T O e t c )P o i n t e r s f o d e s c r i p t o r s t a c kD e s c r i p t o r s t a c k ( t e m p s t r i n g s )U t i l i t y p o i n t e r a r e aP r o d u c t a r e a f o m u l t i p l i c a t i o nP o i n t e r : S t a r t o f - B A S I CP o i n t e r : S t a r t - o f - V a r i a b l e sP o i n t e r : S t a r t o f - A r r a y sP o i n t e r : E n d - o f - A r r a y sP o i n t e r : S t r i n g - s t o r a g e ( m o v i n g d o w n )U t i l i t y s t r i n g p o i n t e rP o i n t e r : L i m i t - o f - m e m o r yC u r r e n t B A S I C l i n e n u m b e rP r e v i o u s B A S I C l i n e n u m b e rP o i n t e r : B A S I C s t a t e m e n t f o C O N TC u r r e n t D A T A l i n e n u m b e rC u r r e n t D A T A a d d r e s sI n p u t v e c t o rC u r r e n t v a r i a b l e n a m eC u r r e n t v a r i a b l e a d d r e s sV a r i a b l e p o i n t e r f o F O R / N E X TY - s a v e ; o p - s a v e ; B A S I C p o i n t e r s a v eC o m p a r i s o n s y m b o l a c c u m u l a t o rM i s c w o r k a r e a , p o i n t e r s , e t J u m p v e c t o r f o f u n c t i o n sM i s c n u m e r i c w o r k a r e aA c c u m # l : E x p o n e n t

2 3

Page 241: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 241/260

0 0 5 F - 0 0 6 20 0 6 30 0 6 40 0 6 50 0 6 6 - 0 0 6 B0 0 6 C0 0 6 D0 0 6 E - 0 0 6 F0 0 7 0 - 0 0 8 70 0 7 7 - 0 0 7 80 0 8 8 - 0 0 8 C0 0 8 D - 0 0 8 F0 0 9 0 - 0 0 9 10 0 9 2 - 0 0 9 30 0 9 4 - 0 0 9 50 0 9 60 0 9 70 0 9 80 0 9 9 - 0 0 9 A0 0 9 B0 0 9 C0 0 9 D0 0 9 E0 0 9 F0 0 A 00 0 A 10 0 A 3 - 0 0 A 40 0 A 50 0 A 60 0 A 70 0 A 80 0 A 90 0 A AO O A B0 0 A C0 0 A DO O A EO O A FO O B O0 0 B 10 0 B 20 0 B 30 0 B 40 0 B 50 0 B 70 0 B 9O O B A0 0 B B - 0 0 B CO O B DO O B EO O B F

9 5 - 9 89 1 0 1 0 1 0 2 - 1 0 71 0 1 0 1 1 0 - 1 1 11 1 2 - 1 3 51 1 9 - 1 2 01 3 6 - 1 4 01 4 1 - 1 4 31 4 4 - 1 4 51 4 6 - 1 4 71 4 8 - 1 4 91 5 1 5 1 5 1 5 3 - 1 5 41 5 1 5 1 5 1 5 1 5 1 6 1 6 1 6 3 - 1 6 41 6 1 6 1 6 1 6 1 6 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 7 1 8 1 8 1 8 1 8 1 8 1 8 7 - 1 8 81 8 1 9 1 9

A c c u m # l : M a n t i s s aA c c u m # l : S i g nS e r i e s e v a l u a t i o n c o n s t a n t p o i n t e rA c c u m # l h i - o r d e r ( o v e r f l o w )A c c u m # 2 : E x p o n e n t , e t c .S i g n c o m p a r i s o n , A c c # l v # A c c u m # l l o - o r d e r ( r o u n d i n g )C a s s e t t e b u f f l e n / S e r i e s p o i n t e rC H R G E T s u b r o u t i n e ; g e B A S I C c h a rB A S I C p o i n t e r ( w i t h i n s u b r t n )R a n d o m n u m b e r s e e d .J i f f y c l o c k f o T a n T I H a r d w a r e i n t e r r u p t v e c t o rB R i n t e r r u p t v e c t o rN M i n t e r r u p t v e c t o rS t a t u s w o r d S W h i c h k e d o w n ; 2 5 5 = n o k e S h i f t k e y : i d e p r e s s e dC o r r e c t i o n c l o c kK e y s w i t c h P I A : S T O P a n R V f l a g sT i m i n g c o n s t a n t f o t a p eL o a d = 0 , V e r i f yN u m b e r o c h a r a c t e r s i k e y b d b u f f e rS c r e e n r e v e r s e f l a gI E E E o u t p u t ; 2 5 5 = c h a r a c t e r p e n d i n gE n d - o f - l i n e - f o r - i n p u t p o i n t e rC u r s o r l o ( r o w , c o l u m n )I E E E o u t p u t b u f f e rK e i m a g e0 = f l a s h c u r s o rC u r s o r t i m i n g c o u n t d o w nC h a r a c t e r u n d e r c u r s o rC u r s o r i b l i n k p h a s eE O r e c e i v e d f r o m t a p eI n p u t f r o m s c r e e n / f r o m k e y b o a r d

s a v eH o m a n y o p e n f i l e sI n p u t d e v i c e , n o r m a l l yO u t p u t C M d e v i c e , n o r m a l l yT a p e c h a r a c t e r p a r i t yB y t e r e c e i v e d f l a gL o g i c a l A d d r e s s t e m p o r a r y s a v eT a p e b u f f e r c h a r a c t e r ; M L c o m m a n dF i l e n a m e p o i n t e r ; M L f l a g , c o u n t e rS e r i a l b i c o u n tC y c l e c o u n t e rT a p e w r i t e r c o u n t d o w nT a p e b u f f e r p o i n t e r s , # a n # W r i t e l e a d e r c o u n t ; r e a d p a s s i mW r i t e n e b y t e ; r e a d e r r o r f l a gW r i t e s t a r t b i t ; r e a d b i s e e r r o r

2 3

Page 242: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 242/260

0 0 C 0 - 0 0 C 10 0 C 20 0 C 30 0 C 4 - 0 0 C 50 0 C 60 0 C 7 - 0 0 C 80 0 C 9 - 0 0 C A0 0 C B - 0 0 C CO O C DO O C EO O C FO O D OO O D 10 0 D 2O O D 30 0 D 4O O D 50 0 D 6 - 0 0 D 70 0 D 80 0 D 90 0 D A - 0 0 D BO O D CO O D DO O D EO O D F0 0 E 0 - 0 0 F 8O O E O - O O E 10 0 E 20 0 E 30 0 E 4O O E 50 0 E 6O O E 70 0 E 80 0 E 9 - 0 0 E AO O E B - O O E C0 0 F 9 - 0 0 F AO O F B - O O F CO O F D - O C F EO 1 O O - O 1 O A0 1 0 0 - 0 1 3 EO 1 O O - O 1 F F0 2 0 0 - 0 2 5 00 2 5 1 - 0 2 50 2 5 B - 0 2 6 40 2 6 5 - 0 2 6 E0 2 6 F - 0 2 7 80 2 7 A - 0 3 3 90 3 3 A - 0 3 F 90 3 3 A0 3 3 B

1 9 2 - 1 9 31 9 1 9 1 9 6 - 1 9 71 9 1 9 9 - 2 0 02 0 1 - 2 0 22 0 3 - 2 0 42 0 2 0 2 0 2 0 2 0 2 1 2 1 2 1 2 1 2 1 4 - 2 1 52 1 2 1 2 1 8 - 2 1 92 2 2 2 2 2 2 2 2 2 4 - 2 4 82 2 4 - 2 2 52 2 2 2 2 2 2 2 2 3 2 3 2 3 2 3 3 - 2 3 42 3 5 - 2 3 62 4 9 - 2 5 02 5 1 - 2 5 22 5 3 - 2 5 42 5 6 - 2 6 62 5 6 - 3 1 82 5 6 - 5 1 15 1 2 - 5 9 25 9 3 - 6 0 26 0 3 - 6 1 26 1 3 - 6 2 26 2 3 - 6 3 26 3 4 - 8 2 58 2 6 - 1 0 1 78 2 8 2

E r r o r l o g p o i n t e r s , p a s s ! / 20 = S c a n / 1 - 1 5 = C o u n t / $ 4 0 = L o a d / $ 8 0 = E n dW r i t e l e a d e r l e n g t h ; r e a d c h e c k s u mP o i n t e r t s c r e e n l i n eP o s i t i o n o c u r s o r o a b o v e l i n eU t i l i t y p o i n t e r : t a p e , s c r o l lT a p e e n d a d d r s / E n d o f c u r r e n t p r o g r a mT a p e t i m i n g c o n s t a n t s0 = d i r e c t c u r s o r , e l s e p r o g r a m m e dT a p e r e a d t i m e r e n a b l e dE O r e c e i v e d f r o m t a p eR e a d c h a r a c t e r e r r o r

c h a r a c t e r s i f i l e n a m eC u r r e n t f i l e l o g i c a l a d d r e s sC u r r e n t f i l e s e c o n d a r y a d d r sC u r r e n t f i l e d e v i c e n u m b e rR i g h t - h a n d w i n d o w o l i n e m a r g i nP o i n t e r : S t a r t o t a p e b u f f e rL i n e w h e r e c u r s o r l i v e sL a s t k e y / c h e c k s u m / m i s c .F i l e n a m e p o i n t e rN u m b e r o I N S E R T s o u t s t a n d i n gW r i t e s h i f t w o r d / r e a d c h a r a c t e r i T a p e b l o c k s r e m a i n i n g t w r i t e / r e a dS e r i a l w o r d b u f f e r( 4 0 - c o l u m n ) S c r e e n l i e n w r a p t a b l e( 8 0 - c o l u m n ) T o p , b o t t o m o w i n d o w( 8 0 - c o l u m n ) L e f t w i n d o w m a r g i n( 8 0 - c o l u m n ) L i m i t o k e y b d b u f f e r( 8 0 - c o l u m n ) K e r e p e a t f l a g( 8 0 - c o l u m n ) R e p e a t c o u n t d o w n( 8 0 - c o l u m n ) N e k e m a r k e r( 8 0 - c o l u m n ) C h i m e t i m e( 8 0 - c o l u m n ) H O M E c o u n t( 8 0 - c o l u m n ) I n p u t v e c t o r( 8 0 - c o l u m n ) O u t p u t v e c t o rC a s s e t t e s t a t u s , # a n # M L p o i n t e r / T a p e s t a r t a d d r e s sM L M , D O p o i n t e r , m i s c .S T R $ w o r k a r e a , M L w o r kT a p e r e a d e r r o r l o gP r o c e s s o r s t a c kM L w o r k a r e a ; I n p u t b u f f e rF i l e l o g i c a l a d d r e s s t a b l eF i l e d e v i c e n u m b e r t a b l eF i l e s e c o n d a r y a d d s t a b l eK e y b o a r d i n p u t b u f f e rT a p e # 1 i n p u t b u f f e rT a p e # i n p u t b u f f e rD O c h a r a c t e r p o i n t e rD O d r i v e f l a g

2 3

Page 243: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 243/260

0 3 3 C0 3 3 D0 3 3 E0 3 3 F - 0 3 4 00 3 4 10 3 4 2 - 0 3 5 20 3 5 3 - 0 3 8 00 3 E E - 0 3 F 70 3 F A - 0 3 F B0 3 F C0 4 0 0 - 7 F F F8 0 0 0 - 8 3 F F8 0 0 0 - 8 7 F F9 0 0 0 - A F F FB 0 0 0 - D F F FE 0 0 0 - E 7 F FE 8 1 0 - E 8 1 3E 8 2 0 - E 8 2 3E 8 4 0 - E 8 4 FE 8 8 0 - E 8 8 1F O O O - F F F F

8 2 8 2 8 3 8 3 1 - 8 3 28 3 8 3 4 - 8 5 08 5 1 - 8 9 61 0 0 6 - 1 0 1 51 0 1 8 - 1 0 1 91 0 2 01 0 2 4 - 3 2 7 6 73 2 7 6 8 - 3 3 7 9 13 2 7 6 8 - 3 4 8 1 53 6 8 6 4 - 4 5 0 5 54 5 0 5 6 - 5 7 3 4 35 7 3 4 4 - 5 9 3 9 15 9 4 0 8 - 5 9 4 1 15 9 4 2 4 - 5 9 4 2 75 9 4 5 6 - 5 9 4 7 15 9 5 2 0 - 5 9 5 2 16 1 4 4 0 - 6 5 5 3 5

D O d r i v e f l a gD O l e n g t h / w r i t e f l a gD O s y n t a x f l a g sD O d i s k I D O c o m m a n d s t r i n g c o u n tD O f i l e n a m e b u f f e rD O c o m m a n d s t r i n g b u f f e r( 8 0 - c o l u m n ) T a s t o p t a b l eM o n i t o r e x t e n s i o n v e c t o rI E E E t i m e o u t d e f e a tA v a i l a b l e R A i n c l u d i n g e x p a n s i o n( 4 0 - c o l u m n ) V i d e o R A ( 8 0 - c o l u m n ) V i d e o R A A v a i l a b l e R O e x p a n s i o n a r e aB A S I C , D O S , M a c h i n e L a n g M o n i t o rS c r e e n , K e y b o a r d , I n t e r r u p t p r o g r a m sP I K e y b o a r d I / P I I E E E - 4 8 8 I / V I I / a n t i m e r s( 8 0 - c o l u m n ) C R C o n t r o l l e rR e s e t , I / h a n d l e r s , T a p e r o u t i n e s

2 3

Page 244: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 244/260

P E 4 . R O R o u t i n e sJ i B u t t e r f i e l d

T h 4 0 - c h a r a c t e r a n 8 0 - c h a r a c t e r m a c h i n e s a r t h s a m e e x c e p t f o a d d r e s s e s $ E 0 0 0 - $ E 7 F F .

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

B 0 0 0 - B 0 6 5B 0 6 6 - B 0 9 3B 0 9 4 - B 0 B 1B 0 B 2 - B 2 0 CB 2 0 D - B 3 2 1B 3 2 2 - B 3 4 FB 3 5 0 - B 3 9 2B 3 9 3 - B 3 9 FB 3 A 0 - B 3 C CB 3 C DB 3 F F - B 4 1 EB 4 1 F - B 4 B 5B 4 B 6 - B 4 E 1B 4 E 2 - B 4 F AB 4 F B - B 5 A 2B 5 A 3 - B 5 D 1B 5 D 2B 5 E C - B 6 2 1B 6 2 2 - B 6 2 FB 6 3 0 - B 6 D DB 6 D E - B 7 8 4B 7 8 5 - B 7 B 6B 7 B 7 - B 7 C 5B 7 C 6 - B 7 E DB 7 E E - B 8 0 7B 8 0 8 - B 8 1 2B 8 1 3 - B 8 2 FB 8 3 0 - B 8 5 CB 8 5 DB 8 8 3 ^ B 8 9 0B 8 9 1B 8 9 4 - B 8 B 2B 8 B 3B 8 C 6 - B 8 D 5B 8 D 6 - B 8 F 5B 8 F 6 - B 9 2 F

D e s c r i p t i o nA c t i o n a d d r e s s e s f o p r i m a r y k e y w o r d sA c t i o n a d d r e s s e s f o f u n c t i o n sH i e r a r c h y a n a c t i o n a d d r e s s e s f o o p e r a t o r sT a b l e o B A S I C k e y w o r d sB A S I C m e s s a g e s , m o s t l y e r r o r m e s s a g e sS e a r c h t h s t a c k f o F O o G O S U B a c t i v i t yO p e n u s p a c e i m e m o r yT e s t : s t a c k t o o d e e p ?C h e c k a v a i l a b l e m e m o r yS e n d c a n n e d e r r o r m e s s a g e , t h e n :W a r m s t a r t ; w a i t f o B A S I C c o m m a n dH a n d l e n e B A S I C l i n e i n p u tR e b u i l d c h a i n i n g o f B A S I C l i n e sR e c e i v e l i n e f r o m k e y b o a r dC r u n c h k e y w o r d s i n t o B A S I C t o k e n sS e a r c h B A S I C f o g i v e n l i n e n u m b e rP e r f o r m N E W , a n d ;P e r f o r m C L R e s e t B A S I C e x e c u t i o n t s t a r tP e r f o r m L I S TP e r f o r m F O E x e c u t e B A S I C s t a t e m e n tP e r f o r m R E S T O R EP e r f o r m S T O P o E N P e r f o r m C O N TP e r f o r m R U P e r f o r m G O S U BP e r f o r m G O T OP e r f o r m R E T U R N , t h e n :P e r f o r m D A T A : s k i p s t a t e m e n tS c a n f o n e x t B A S I C s t a t e m e n tS c a n f o n e x t B A S I C l i n eP e r f o r m I F a n p e r h a p s :P e r f o r m R E M : s k i p l i n eP e r f o r m O A c c e p t f i x e d ' p o i n t n u m b e r

2 3

Page 245: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 245/260

B 9 3 0 - B A 8 7 P e r f o r m L E B A 8 8 - B A 8 D P e r f o r m P R I N T #B A 8 E - B A A 1 P e r f o r m C M B A A 2 - B B 1 C P e r f o r m P R I N TB B 1 D - B B 3 9 P r i n t s t r i n g f r o m m e m o r yB B 3 A - B B 4 B P r i n t s i n g l e f o r m a t c h a r a c t e rB B 4 C - B B 7 9 H a n d l e b a i n p u t d a t aB B 7 A - B B A 3 P e r f o r m G E B B A 4 - B B B D P e r f o r m I N P U T #B B B E - B B F 4 P e r f o r m I N P U TB B F 5 - B C 0 1 P r o m p t a n d r e c e i v e i n p u tB C 0 2 - B C F 6 P e r f o r m R E A DB C F 7 - B D 1 8 C a n n e d I n p u t e r r o r m e s s a g e sB D 1 9 - B D 7 1 P e r f o r m N E X TB D 7 2 - B D 9 7 C h e c k t y p e m i s m a t c hB D 9 8 E v a l u a t e e x p r e s s i o nB E E 9 E v a l u a t e e x p r e s s i o n w i t h i n p a r e n t h e s e sB E E F C h e c k p a r e n t h e s i s , c o m m aB F 0 0 - B F 0 B S y n t a x e r r o r e x i tB F 8 C - C 0 4 6 V a r i a b l e n a m e s e t u pC 0 4 7 - C 0 8 5 S e u f u n c t i o n r e f e r e n c e sC 0 8 6 - C 0 B 5 P e r f o r m O R A N C 0 B 6 - C 1 I P e r f o r m c o m p a r i s o n sC 1 1 E - C 1 2 A P e r f o r m D I C 1 2 B - C 1 B F S e a r c h f o v a r i a b l eC 1 C 0 - C 2 C 7 C r e a t e n e v a r i a b l eC 2 C 8 - C 2 D 8 S e t u p a r r a y p o i n t e rC 2 D 9 - C 2 D C 3 2 7 6 8 i f l o a t i n g b i n a r yC 2 D D - C 2 F B E v a l u a t e i n t e g e r e x p r e s s i o nC 2 F C - C 4 A 7 F i n d o m a k e a r r a yC 4 A 8 P e r f o r m F R E , a n d :C 4 B C - C 4 C 8 C o n v e r t f i x e d - t o - f l o a t i n gC 4 C 9 - C 4 C E P e r f o r m P O C 4 C F - C 4 D B C h e c k n o D i r e c tC 4 D C - C 5 0 9 P e r f o r m D E C 5 O A - C 5 1 C C h e c k F N s y n t a xC 5 1 D - C 5 8 D E v a l u a t e F N C 5 8 E - C 5 9 D P e r f o r m S T R $C 5 9 E - C 5 A F D s t r i n g v e c t o rC 5 B 0 - C 6 1 C S c a n , s e u s t r i n gC 6 1 D - C 6 6 9 A l l o c a t e s p a c e f o r s t r i n gC 6 6 A - C 7 4 E G a r b a g e c o l l e c t i o nC 7 4 F - C 7 8 B C o n c a t e n a t eC 7 8 C - C 7 B 4 S t o r e s t r i n gC 7 B 5 - C 8 1 0 D i s c a r d u n w a n t e d s t r i n gC 8 1 1 - C 8 2 1 C l e a n d e s c r i p t o r s t a c kC 8 2 2 - C 8 3 5 P e r f o r m C H R $C 8 3 6 - C 8 6 1 P e r f o r m L E F T $C 8 6 2 - C 8 6 C P e r f o r m R I G H T SC 8 6 D - C 8 9 6 P e r f o r m M I D $C 8 9 7 - C 8 B 1 P u l l s t r i n g d a t a

2 3

Page 246: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 246/260

C 8 B 2 - C 8 B 7 P e r f o r m L E C 8 B 8 - C 8 C 0 S w i t c h s t r i n g t n u m e r i cC 8 C 1 - C 8 D 0 P e r f o r m A S C 8 D 1 - C 8 E 2 G e b y t e p a r a m e t e rC 8 E 3 - C 9 2 0 P e r f o r m V A C 9 2 1 - C 9 2 C G e t w p a r a m e t e r s f o P O K E o W A I TC 9 2 D - C 9 4 2 C o n v e r t f l o a t i n g - t o - f i x e dC 9 4 3 - C 9 5 9 P e r f o r m P E E KC 9 5 A - C 9 6 2 P e r f o r m P O K EC 9 6 3 - C 9 7 E P e r f o r m W A I TC 9 7 F - C 9 8 5 A d 0 . C 9 8 6 P e r f o r m s u b t r a c t i o nC 9 9 8 - C A 7 C P e r f o r m a d d i t i o nC A 7 D - C A B 3 C o m p l e m e n t a c c u m # lC A B 4 - C A B 8 O v e r f l o w e x i tC A B 9 - C A F 1 M u l t i p l y - a - b y t eC A F 2 - C B 1 F C o n s t a n t sC B 2 0 P e r f o r m L O C B 5 E - C B C 1 P e r f o r m m u l t i p l i c a t i o nC B C 2 - C B E C U n p a c k m e m o r y i n t o a c c u m # 2C B E D - C C 0 9 T e s t a d j u s t a c c u m u l a t o r sC C O A - C C 1 7 H a n d l e o v e r f l o w a n u n d e r f l o wC C 1 8 - C C 2 E M u l t i p l y b 1 C C 2 F - C C 3 3 1 i f l o a t i n g m e m o r yC C 3 4 D i v i d e b 1 C C 3 D P e r f o r m d i v i d e - b yC C 4 5 - C C D 7 P e r f o r m d i v i d e - i n t oC C D 8 - C C F C U n p a c k m e m o r y i n t o a c c u m # lC C F D - C D 3 1 P a c k a c c u m # l i n t o m e m o r yC D 3 2 - C D 4 1 M o v e a c c u m # 2 t # C D 4 2 - C D 5 0 M o v e a c c u m # l t # C D 5 1 - C D 6 0 R o u n d a c c u m # lC D 6 1 - C D 6 E G e a c c u m # l s i g nC D 6 F - C D 8 D P e r f o r m S G C D 8 E - C D 9 0 P e r f o r m A B C D 9 1 - C D D 0 C o m p a r e a c c u m # l t m e m o r yC D D 1 - C E O F l o a t i n g - t o - f i x e dC E 0 2 - C E 2 8 P e r f o r m I N C E 2 9 - C E B 3 C o n v e r t s t r i n g t f l o a t i n g - p o i n tC E B 4 - C E E 8 G e n e w A S C I I d i g i tC E E 9 - C E F 9 C o n s t a n t sC F 7 8 P r i n t I N t h e n :C F 7 F - C F 9 2 P r i n t B A S I C l i n eC F 9 3 - D 0 C 6 C o n v e r t f l o a t i n g - p o i n t t o A S C I ID O C 7 - D 1 O 7 C o n s t a n t sD 1 0 8 P e r f o r m S Q D 1 1 2 P e r f o r m p o w e r f u n c t i o nD 1 4 B - D 1 5 5 P e r f o r m n e g a t i o nD 1 5 6 - D 1 8 3 C o n s t a n t sD 1 8 4 - D 1 D 6 P e r f o r m E X D 1 D 7 - D 2 2 0 S e r i e s e v a l u a t i o n

2 4

Page 247: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 247/260

D 2 2 1 - D 2 2 8 R N c o n s t a n t sD 2 2 9 - D 2 8 1 P e r f o r m R N D 2 8 2 P e r f o r m C O D 2 8 9 - D 2 D 1 P e r f o r m S I D 2 D 2 - D 2 F D P e r f o r m T A D 2 F E - D 3 2 B C o n s t a n t sD 3 2 C - D 3 5 B P e r f o r m A T D 3 5 C - D 3 9 8 C o n s t a n t sD 3 9 9 - D 3 B 5 C H R G E T s u f o z e r o p a g eD 3 B 6 - D 4 7 1 B A S I C c o l d s t a r tD 4 7 2 - D 7 1 6 M a c h i n e L a n g u a g e M o n i t o rD 7 1 7 - D 7 A B M L s u b r o u t i n e sD 7 A C - D 8 0 2 P e r f o r m R E C O R DD 8 0 3 - D 8 3 7 D i s k p a r a m e t e r c h e c k sD 8 3 8 - D 8 7 2 D u m m y d i s k c o n t r o l m e s s a g e sD 8 7 3 - D 9 1 9 P e r f o r m C A T A L O G o D I R E C T O R YD 9 1 A - D 9 2 E O u t p u tD 9 2 F - D 9 4 1 F i n d s p a r e s e c o n d a r y a d d r e s sD 9 4 2 - D 9 7 6 P e r f o r m D O P E ND 9 7 7 - D 9 9 0 P e r f o r m A P P E N DD 9 9 1 - D 9 D 1 G e d i s k s t a t u sD 9 D 2 - D A 0 6 P e r f o r m H E A D E RD A 0 7 - D A 3 0 P e r f o r m D C L O S ED A 3 1 - D A 6 4 S e u d i s k r e c o r dD A 6 5 - D A 7 D P e r f o r m C O L L E C TD A 7 E - D A A 6 P e r f o r m B A C K U PD A A 7 - D A C 6 P e r f o r m C O P YD A C 7 - D A D 3 P e r f o r m C O N C A TD A D 4 - D B 0 C I n s e r t c o m m a n d s t r i n g v a l u e sD B 0 D - D B 3 9 P e r f o r m D S A V ED B 3 A - D B 6 5 P e r f o r m D L O A DD B 6 6 - D B 9 8 P e r f o r m S C R A T C HD B 9 9 - D B 9 D C h e c k D i r e c t c o m m a n dD B 9 E - D B D 6 Q u e r y A R Y O S U R E ?D B D 7 - D B E 0 P r i n t B A D I S KD B E 1 - D B F 9 C l e a r D S a n S D B F A - D C 6 7 A s s e m b l y d i s k c o m m a n d s t r i n gD C 6 8 - D E 2 9 P a r s e B A S I C D O c o m m a n dD E 2 C - D E 4 8 G e D e v i c e N u m b e rD E 4 9 - D E 8 6 G e f i l e n a m eD E 8 7 - D E 9 C G e s m a l l v a r i a b l e p a r a m e t e r* E n t r y p o i n t s o n l y f o E 0 0 0 - E 7 F F * E 0 0 0 R e g i s t e r / s c r e e n i n i t i a l i z a t i o nE 0 A 7 I n p u t f r o m k e y b o a r dE 1 I n p u t f r o m s c r e e nE 2 0 2 O u t p u t c h a r a c t e rE 4 4 2 M a i n I n t e r r u p t e n t r yE 4 5 5 I n t e r r u p t : c l o c k , c u r s o r , k e y b o a r dE 6 0 0 E x i t f r o m I n t e r r u p t

* F 0 0 0 - F 0 D 1 F i l e m e s s a g e s

2 4

Page 248: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 248/260

F 0 D 2 S e n d T a l k 'F 0 D 5 S e n d ' L i s t e n 'F 0 D 7 S e n d I E E E c o m m a n d c h a r a c t e rF 1 0 9 - F 1 4 2 S e n d b y t e t I E E EF 1 4 3 - F 1 5 0 S e n d b y t e a n c l e a r A T F 1 5 1 - F 1 6 B O p t i o n : t i m e o u t o r w a i tF 1 6 O F 1 6 F D E V I C E N O P R E S E N TF 1 7 0 - F 1 8 4 T i m e o u t o r e a d , c l e a r c o n t r o l l i n e sF 1 8 5 - F 1 9 2 S e n d c a n n e d f i l e m e s s a g eF 1 9 3 - F 1 9 D S e n d b y t e , c l e a r c o n t r o l l i n e sF 1 9 E - F 1 A S e n d n o r m a l ( d e f e r r e d ) I E E E c h a rF 1 A E - F 1 B F D r o p I E E E d e v i c eF 1 C 0 - F 2 0 4 I n p u t b y t e f r o m I E E EF 2 0 5 - F 2 1 4 G e b y t eF 2 1 5 - F 2 6 5 I N P U T b y t eF 2 6 6 - F 2 A 1 O u t p u t b y t eF 2 A 2 A b o r t f i l e sF 2 A 6 - F 2 C 0 R e s t o r e d e f a u l t I / d e v i c e sF 2 C 1 - F 2 D C F i n d / s e t u p f i l e d a t aF 2 D D - F 3 3 4 P e r f o r m C L O S EF 3 3 5 - F 3 4 2 T e s t S T O P k e F 3 4 3 - F 3 4 8 A c t i o n S T O P k e F 3 4 9 - F 3 5 0 S e n d m e s s a g e i D i r e c t m o d eF 3 5 1 - F 3 5 5 T e s t i D i r e c t m o d eF 3 5 6 - F 4 0 0 P r o g r a m l o a d s u b r o u t i n eF 4 0 1 - F 4 4 8 P e r f o r m L O A DF 4 4 9 - F 4 6 C P r i n t S E A R C H I N GF 4 6 D - F 4 7 C P r i n t L O A D I N G o V E R I F Y I N GF 4 7 D - F 4 A 4 G e t L o a d / S a v e p a r a m e t e r sF 4 A 5 - F 4 D 2 S e n d n a m e t I E E EF 4 D 3 - F 4 F 5 F i n d s p e c i f i c t a p e h e a d e rF 4 F 6 - F 5 0 C P e r f o r m V E R I F YF 5 0 D - F 5 5 F G e t O p e n / C l o s e p a r a m e t e r sF 5 6 0 - F 5 E 4 P e r f o r m O P E NF 5 E 5 - F 6 1 8 F i n d a n t a p e h e a d e rF 6 1 9 - F 6 7 A W r i t e t a p e h e a d e rF 6 7 B - F 6 9 4 G e s t a r t / e n d a d d r s f r o m h e a d e rF 6 9 5 - F 6 A A S e b u f f e r a d d r e s sF 6 A B - F 6 C 2 S e b u f f e r s t a r t & e n a d d r sF 6 C 3 - F 6 C B P e r f o r m S Y F 6 C C - F 6 D C S e t t a p e w r i t e s t a r t & e n F 6 D D - F 7 6 7 P e r f o r m S A V EF 7 6 8 - F 7 A E U p d a t e c l o c kF 7 A F - F 7 F D C o n n e c t i n p u t d e v i c eF 7 F E ' F 8 4 A C o n n e c t o u t p u t d e v i c eF 8 4 B - F 8 5 6 B u m p t a p e b u f f e r p o i n t e rF 8 5 7 - F 8 7 9 W a i t f o P L A YF 8 7 A - F 8 8 B T e s t c a s s e t t e s w i t c hF 8 8 C - F 8 9 9 W a i t f o R E C O R DF 8 9 A I n i t i a t e t a p e r e a dF 8 C B I n i t i a t e t a p e w r i t e

2 4

Page 249: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 249/260

F 8 E 0 - F 9 2 AF 9 2 B - F 9 3 4F 9 3 5 - F 9 4 4F 9 4 5 - F 9 7 5F 9 7 6 - F A 9 BF A 9 C - F B B AF B B B - F B C 3F B C 4 - F B C 8F B C 9 - F B D 7F B D 8 - F B F 3F B F 4 - F C 8 5F C 8 6 - F C B FF C C O - F C D AF C D B - F C E AF C E B - F C F 8F C F 9 - F D 0 AF D O B - F D 1 5F D 1 6 - F D 4 BF D 4 C - F D 5 C* J u m p t a b l e :F F 9 3 - F F 9 EF F 9 F - F F A AF F A B - F F B 6F F B 7 - F F B CF F B DF F C OF F C 3F F C 6F F C 9F F C CF F C FF F D 2F F D 5F F D 8F F D BF F D EF F E 1F F E 4F F E 7F F E AF F F A - F F F F

C o m m o n t a p e I / T e s t I / c o m p l e t eT e s t S T O P k e T a p e b i t i m i n g a d j u s tR e a d t a p e b i t sR e a d t a p e c h a r a c t e r sR e s e t t a p e r e a d a d d r e s sF l a g e r r o r i n t o S R e s e t c o u n t e r s f o n e b y t eW r i t e b i t t a p eT a p e w r i t eW r i t e t a p e l e a d e rT e r m i n a t e t a p e ; r e s t o r e i n t e r r u p tS e i n t e r r u p t v e c t o rT u r n o f t a p e m o t o rC h e c k s u m c a l c u l a t i o nA d v a n c e l o a d / s a v e p o i n t e rP o w e r - o n R e s e tT a b l e o i n t e r r u p t v e c t o r s

*

C O N C A T , D O P E N , D C L O S E , R E C O R DH E A D E R , C O L L E C T , B A C K U P , C O P YA P P E N D , D S A V E , D L O A D , C A T A L O GR E N A M E , S C R A T C HG e d i s k s t a t u sO P E NC L O S ES e t i n p u t d e v i c eS e o u t p u t d e v i c eR e s t o r e d e f a u l t I / d e v i c e sI N P U T b y t eO u t p u t b y t eL O A DS A V EV E R I F YS Y T e s t s t o p k e G E b y t eA b o r t a l f i l e sU p d a t e c l o c kH a r d v e c t o r s : N M I , R e s e t , I N

2 4

Page 250: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 250/260

A c c o u n t i n g 1 6 6 - 1 7 0A p p l i c a t i o n s 1 5 - 2 4 , 1 6 6 - 1 7 0A p p l e 2 0 0 - 2 0 6A r r a y s 1 5 3 4 - 4 1 , 4 2 , 5 A S C I I 1 6 A s s e m b l y L a n g u a g e ( S e e M a c h i n e

L a n g u a g e )B A S I CC o n v e r s i o n 2 0 0 - 2 0 6

S t r u c t u r e 1 2 6 4 - 6 7 , 8 3 - 8 8 ,1 4 6 - 1 5 0 , 1 5 1 - 1 5 3 , 1 9 0 - 1 9 2

C a s s e t t e ( S e e T a p e )C B 8 0 3 2 5 7 - 6 1C H R G E T 1 5 4 - 1 5 9C P ( 6 5 0 2 , 6 8 0 0 )D a t a 1 5 - 2 4 , 1 6 6 - 1 7 0D i s k ( A l s o s e D O S , I / O ) 1 0 6 8

1 1 3 - 1 1 6 , 1 7 5 - 1 8 2 , 1 8 3 - 1 8 4D O 1 0 9 2 - 9 3B A 9 6 - 9 7 , 1 7 7 - 1 7 8 , 1 8

D i r e c t - A c c e s s 9 5 - 1 0 7 , 1 1 7 - 1 2 1F i l e s ( A l s o s e D i s k , D O S , I / O )

1 5 - 2 4 , 9 5 - 1 0 7 , 1 0 8 - 1 1 1 , 1 1 7 - 1 2 1 ,1 4 6 - 1 5 0 , 1 6 0 - 1 6 2 , 1 6 6 - 1 7 0

G a r b a g e C o l l e c t i o n 1 G E 6 9 - 7 1H a r d w a r e ( A l s o s e C P U , D i s k ,

P r i n t e r , T a p e , e t c . )P I A / V I AU n c r a s h i n g / R e s e t 6 2 - 6 3T r o u b l e - S h o o t i n g 7

H i s t o r yI N P U T 7 I / ( I n p u t / O u t p u t ) 6 8 6 9 - 7 1 ,

7 3 - 7 5 , 9 2 - 9 4 , 1 1 7 - 1 2 1 , 2 1 8 - 2 2 4I n t e r f a c i n g 2 2 6 - 2 3 8J o y s t i c k 2 5 - 3 2L a n g u a g e s ( A l s o s e B A S I C ,

M a c h i n e L a n g u a g e ) 3 4 2 0 0 - 2 0 6M a c h i n e L a n g u a g e 2 8 4 9 - 5 4 , 5 8

7 8 - 8 1 , 8 3 - 8 8 , 8 9 - 9 1 , 9 2 - 9 3 ,1 2 2 - 1 2 4 , 1 3 6 - 1 3 8 , 1 3 9 - 1 4 4 ,1 5 1 - 1 5 3

M e m o r y 5 9 6 4 - 6 7 , 8 9 - 9 1C o n s e r v a t i o n 1 5 - 2 4 , 5 5 - 5 6 ,1 1 3 - 1 1 6 , 1 6 3 - 1 6 5 , 1 9 0 - 1 9 2

P a r t i t i o n i n g 1 5 - 2 4

M a p s 2 2 6 - 2 5 7R A M , R O T e s t 7 9 - 8 0

M o d e m 2 1 8 - 2 2 4P e r i p h e r a l s ( S e e D i s k , P r i n t e r , e t c . )P l o t t i n g 1 2 8 - 1 3 5 , 1 3 9 - 1 4 4P o i n t e r s ( A l s o s e B A S I C

S t r u c t u r e ) 1 6 3 - 1 6 4 , 1 6 P r i n t e r 1 2 6 - 1 2 7 , 1 2 8 - 1 3 5 , 1 3 6 - 1 3 8 ,2 2 6 - 2 3 8R O ( A l s o s e M e m o r y , M e m o r y

M a p s )C o n v e r s i o n 6 6 9 ( 4 . 0 ) 6 0 - 6 1N e w / U p g r a d eR e t r o f i t 6 9 - 1 0

S o r t i n g 4 2 - 5 4S p e c i a l C h a r a c t e r s 5 7 - 5 8S u b r o u t i n e s 3 4 - 4 1T a p e 8 1 - 8 2 , 2 0 0 - 2 0 6T e l e c o m m u n i c a t i o n s 2 1 8 - 2 2 4T o k e n s 1 2 - 1 4U n c r a s h i n g 6 2 - 6 3U s e r P o r t 1 5 , 2 8 , 2 9 , 3 1 , 6 2 - 6 3V a r i a b l e s ( A l s o s e A r r a y s ) 1 6 6W e d g e ( S e e C H R G E T )W o r d P r o 1 0 8 - 1 1 1

2 4

Page 251: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 251/260

.

Page 252: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 252/260

O

Page 253: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 253/260

Page 254: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 254/260

Page 255: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 255/260

I y o u ' v e e n j o y e d t h a r t i c l e s i t h i s b o o k , y o u ' l l f i n d t h s a m e s t y l e a n q u a l i t y i e v e r y m o n t h l y i s s u e o C O M P U T E !M a g a z i n e . U s t h i s f o r m t o r d e r y o u r s u b s c r i p t i o n t C O M P U T E !

F o F a s t e s t S e r v i c e ,C a l l O u T o i l - F r e e U O r d e r L i n e

8 0 0 - 3 3 4 - 0 8 6 8I N c a l l 9 1 9 - 2 7 5 - 9 8 0 9

C O M P U T E !P . O . B o 5 4 0 6G r e e n s b o r o , N 2 7 4 0 3

M C o m p u t e r I s P E A p p l e A t a r i Q V I C O t h e r . D o n ' t y e h a v e o n e . . .

$ 2 0 . 0 0 O n Y e a r U S u b s c r i p t i o n$ 3 6 . 0 0 T w Y e a r U S u b s c r i p t i o n$ 5 4 . 0 0 T h r e e Y e a r U S u b s c r i p t i o n

S u b s c r i p t i o n r a t e s o u t s i d e t h U S $ 2 5 . 0 0 C a n a d a$ 3 8 . 0 0 E u r o p e , A u s t r a l i a N e Z e a l a n d / A i r D e l i v e r y$ 4 8 . 0 0 M i d d l e E a s t N o r t h A f r i c a C e n t r a l A m e r i c a / A i r M a i l$ 6 8 . 0 0 E l s e w h e r e / A i r M a i l$ 2 5 . 0 0 I n t e r n a t i o n a l S u r f a c e M a i l ( l e n g t h y , u n r e l i a b l e d e l i v e r y )

N a m eA d d r e s sC i t yC o u n t r y

S t a t e Z i

P a y m e n t m u s t b i U F u n d s d r a w n o U B a n k ; I n t e r n a t i o n a l M o n e yO r d e r , o c h a r g e c a r d .

P a y m e n t E n c l o s e d V I S AM a s t e r C a r d A m e r i c a n E x p r e s s

A c t N o E x p i r e s2 3 3 1 0 1

Page 256: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 256/260

I y o u ' v e e n j o y e d t h a r t i c l e s i t h i s b o o k , y o u ' l l f i n dt h s a m e s t y l e a n q u a l i t y i e v e r y m o n t h l y i s s u e o C O M P U T E ! ^ G a z e t t e f o C o m m o d o r e .

F o F a s t e s t S e r v i c eC a l l O u T o i l - F r e e U O r d e r L i n e

8 0 0 - 3 3 4 - 0 8 6 8I N c a l l 9 1 9 - 2 7 5 - 9 8 0 9

C O M P U T E D G a z e t t eP . O . B o 5 4 0 6G r e e n s b o r o , N 2 7 4 0 3

M c o m p u t e r i s V I C - 2 0 C o m m o d o r e 6 O t h e r .$ 2 O n Y e a r U S S u b s c r i p t i o n$ 3 T w Y e a r U S S u b s c r i p t i o n$ 5 T h r e e Y e a r U S u b s c r i p t i o n

S u b s c r i p t i o n r a t e s o u t s i d e t h U S $ 2 C a n a d a$ 4 A i M a i l D e l i v e r y$ 2 I n t e r n a t i o n a l S u r f a c e M a i l

N a m eA d d r e s sC i t y S t a t e Z i C o u n t r yP a y m e n t m u s t b i U F u n d s d r a w n o U B a n k , I n t e r n a t i o n a l M o n e yO r d e r , o c h a r g e c a r d .

P a y m e n t E n c l o s e d V I S AM a s t e r C a r d A m e r i c a n E x p r e s s

A c c t , N o E x p i r e s2 3 3 1 0 1

Page 257: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 257/260

C O M P U T E ! B o o k sP . O . B o 5 4 0 6 G r e e n s b o r o , N 2 7 4 0 3

A s k y o u r r e t a i l e r f o t h e s e C O M P U T E ! B o o k s . I h o s h h a s o l d o u o r d e r d i r e c t l y f r o m C O M P U T E !

F o F a s t e s t S e r v i c eC a l l O u T O L L F R E E U O r d e r L i n e

8 0 0 - 3 3 4 - 0 8 6 8I N c a l l 9 1 9 - 2 7 5 - 9 8 0 9

Q u a n t i f y T i t l e P r i c e T o t a lT h B e g i n n e r ' s G u i d e t B u y i n g P e r s o n a lC o m p u t e r 3 . 9 5 * *C O M P U T E D F i r s t B o o k o A t a r i $ 1 2 . 9 5 *I n s i d e A t a r i D O $ 1 9 . 9 5 *C O M P U T E D F i r s t B o o k o P E T / C B M $ 1 2 . 9 5 *P r o g r a m m i n g t h P E T / C B M $ 2 4 . 9 5 * "E v e r y K i d ' s F i r s t B o o k o R o b o t s a n C o m p u t e r s 4 . 9 5 * *C O M P U T E D S e c o n d B o o k o A t a r i $ 1 2 . 9 5 *C O M P U T E D F i r s t B o o k o V I $ 1 2 . 9 5 *C O M P U T E D F i r s t B o o k o A t a r i G r a p h i c s $ 1 2 . 9 5 *M a p p i n g t h A t a r i $ 1 4 . 9 5 *H o m e E n e r g y A p p l i c a t i o n s O Y o u rP e r s o n a l C o m p u t e r $ 1 4 . 9 5 *M a c h i n e L a n g u a g e f o B e g i n n e r s $ 1 2 . 9 5 *

A d $ s h i p p i n g a n h a n d l i n g . O u t s i d e U a d $ a i m a i l ; $ s u r f a c e m a i l .

# A d $ s h i p p i n g a n h a n d l i n g . O u t s i d e U a d $ a i m a i l ; $ s u r f a c e m a i l .

# # A d $ s h i p p i n g a n h a n d l i n g . O u t s i d e U a d $ a i m a i l ; $ s u r f a c e m a i l .

P l e a s e a d s h i p p i n g a n h a n d l i n g f o e a c h b o o ko r d e r e d .

T o t a l e n c l o s e d o t b c h a r g e d .

A l o r d e r s m u s t b p r e p a i d ( m o n e y o r d e r , c h e c k , o c h a r g e ) . A l p a y m e n t s m u s t b i U f u n d s . N r e s i d e n t s a d 4 s a l e s t a x .

P a y m e n t e n c l o s e d P l e a s e c h a r g e m y V I S A M a s t e r C a r dA m e r i c a n E x p r e s s A c c ' t , N o E x p i r e s

N a m eA d d r e s sC i t y S t a t e Z i C o u n t r yA l l o w 4 - 5 w e e k s f o r d e l i v e r y .0 1 - 9

Page 258: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 258/260

Q -

:

O

Page 259: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 259/260

Page 260: Comute's First Book of PET-CBM

8/6/2019 Comute's First Book of PET-CBM

http://slidepdf.com/reader/full/comutes-first-book-of-pet-cbm 260/260