The Anatomy of the Commodore 64

305

Transcript of The Anatomy of the Commodore 64

Page 1: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 1/304

Page 2: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 2/304

T H A N A T O M Y O T H C O M M O D O R E 6

A u t h o r s :M i c h a e l . A n g e r h a u s e nD r A c h i m B e c k e rL o t h a r E n g l i s c hK l a u s G e r i t s

T r a n s l a t e d b y D e t l e v K e s t e n

E d i t e d b y J e f f H a n s o nK i r b y H a n s o nA r n i e L e

A b a c u s 1 S o f t w a r eP . O . B O 7 2 1 1 G R A N D R A P I D S , M I C H . 4 9 5 1 0

Page 3: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 3/304

Page 4: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 4/304

T h i r d E n g l i s h P r i n t i n g , J u n e 1 9 8 4C o p y r i g h t 1 9 8 3 , 1 9 8 4

C o p y r i g h t 1 9 8 3 , 1 9 8 4

D a t a B e c k e r G m b HM e r o w i n g e r s t r . 3 4 0 0 0 D u s s e l d o r f W G e r m a n yA b a c u s S o f t w a r eP . O . B o x 7 2 1 1G r a n d R a p i d s , M 4 9 5 1 0

T h i s b o o k i c o p y r i g h t e d . N p a r t o t h i s p u b l i c a t i o n m a b r e p r o d u c e d , s t o r e d i r e t r i e v a l s y s t e m , o t r a n s m i t t e d i a n f o r m o b a n m e a n s , e l e c t r o n i c , m e c h a n i c a l ,p h o t o c o p y i n g , r e c o r d i n g , o o t h e r w i s e , w i t h o u t t h p r i o rw r i t t e n p e r m i s s i o n o A B A C U S S o f t w a r e , I n c .I S B N 0 - 9 1 6 4 3 9 - 0 0 - 3

Page 5: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 5/304

P R E F A C ET h C o m m o d o r e 6 i s u p e r m a c h i n e . T h a t b e c a m e c l e a r t u a f t e r w o r k i n g w i t h t h m a c h i n e f o o n l y s h o r t t i m e .B u e v e n w i t h t h b e s t c o m p u t e r y o c a n ' t d o m u c h i y o d o n ' t k n o w m u c h a b o u t i t f u n c t i o n i n g a n h a n d l i n g .T h o n l y a r e a w h i c h d i s a p p o i n t e d u a b o u t t h C o m m o d o r e 6 w a t h d o c u m e n t a t i o n . T h u s e r ' s g u i d e w a g o o d s t a r t i n gp o i n t , b u l a c k e d t h d e t a i l w h i c h w s o u g h t . F u r t h e rl i t e r a t u r e w a n o a v a i l a b l e . T h e r e f o r e w e d e c i d e d t w r i t et h b o o k o u r s e l v e s .T h r e s u l t i i f r o n t o y o u . I d o e s n o c l a i m t b c o m p l e t e , n o t h a v e l i t e r a r y q u a l i t i e s , b u t t h i s b o o kc o n t a i n s t h r e s u l t s o m o n t h s o l o n g a n i n t e n s i v e w o r k .W h o p e t h a t i w i l l h e l p y o t t a k e a d v a n t a g e o t h s u p e r b q u a l i t i e s o f t h e C O M M O D O R E 6 4

Page 6: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 6/304

Page 7: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 7/304

T A B L E O C O N T E N T S

C h a p t e r I N T R O D U C T I O NC h a p t e r 1 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 O T H

C O M M O D O R E 6

1 . I n t r o d u c t a r y C o n c e p t s1 . T h M o n i t o r a n i t u s e s1 . H o t g a b o u t p r o g r a m m i n g i m a c h i n e l a n g u a g e . . 1 01 . U s e f u l a d d r e s s e s o t h C o m m o d o r e 6 R O M s 1 1 . D a t a I n p u t a n O u t p u t f r o m M a c h i n e L a n g u a g e . . . . . . 1 71 . 5 . 1 I n p u t a n O u t p u t o S i n g l e C h a r a c t e r s 1 1 . 5 . 2 I n p u t a n o u t p u t u s i n g P e r i p h e r a l D e v i c e s 1 1 . 5 . 3 S a v i n g a n d L o a d i n g d a t a . . . . . . 2 11 . 5 . 3 . 1 S a v i n g D a t a o C a s s e t t e 2 1 . 5 . 3 . 2 S a v i n g D a t a o n D i s k e t t e 2 1 . 5 . 4 P r o g r a m m i n g t h R S - 2 3 2 i n t e r f a c e 4 . 2 71 . 5 . 5 T h e S e r i a l B u 3

C h a p t e r 2 T H N E X T S T E P A S S E M B L E R P R O G R A M M I N G2 . W h A s s e m b l y L a n g u a g e 3 2 . T a b l e o 6 5 1 0 c o m m a n d s 3 2 . T y p i c a l A s s e m b l e r P r o g r a m 3 2 . S t i l l m o r e p r o g r a m s . . 4 0

C h a p t e r 3 A C L O S E - U P L O O K A T H C O M M O D O R E 6 3 . W h a t y o u s h o u l d k n o w a b o u t t h C o m m o d o r e 6 4 3 . A O v e r v i e w o t h H a r d w a r e 4 3 . S p e c i a l F e a t u r e s ' o f t h 6 5 1 0 P r o c e s s o r 4 3 . M e m o r y C o n f i g u r a t i o n s 4 3 . T h E x p a n s i o n P o r t 4 3 . T h U s e r p o r t . . 4

C h a p t e r 4 T H S Y N T H E S I Z E R A N I T P R O G R A M M I N G4 . T h S o u n d C o n t r o l l e r 6 5 8 1 5 4 . 1 . 1 G e n e r a l n o t e s a b o u t t h S I 6 5 8 1 5 4 . 1 . 2 E x p l a n a t i o n o t h R e g i s t e r s 5 4 . 1 . 3 T h e A n a l o g / D i g i t a l C o n v e r t e r 5 4 . 1 . 3 . H a n d l i n g t h A / C o n v e r t e r 5 4 . 1 . 3 . 2 U s i n g t h G a m e P a d d l e s 5 4 . P r o g r a m m i n g o t h 6 5 8 1 5 4 . S Y N T H Y - 6 4 F u l l f l e d g e d S y n t h e s i z e r S o f t w a r e . . . . 5 9

C h a p t e r 5 G R A P H I C S P R O G R A M M I N G5 . T h V i d e o I n t e r f a c e C h i p 6 5 6 7 6 5 . 1 . 1 C h i p D e s c r i p t i o n . ( 5 . 1 . 2 R e g i s t e r D e s c r i p t i o n s 6 5 . 1 . 3 D i s p l a y T e c h n i q u e s 6 5 . P r o g r a m m i n g c o l o r a n g r a p h i c s 7

Page 8: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 8/304

5 . S p r i t e s G r a p h i c s m a g i c o t h C o m m o d o r e 6 4 8 2s ! 3 . 1 i n t r o d u c t i o n t S p r i t e s r 5 . 3 . 2 S p r i t e C a p a b i l i t i e s5 . 3 . 3 S p r i t e S t r u c t u r e5 . 3 . 4 P r o g r a m m i n g S p r i t e s5 . 3 . 4 . 1 S p r i t e P a t t e r n s5 . 3 . 4 . 2 T h e P r o g r a m5 . 3 . 4 . 3 T u r n i n g O S p r i t e5 . 3 . 4 . 4 M e m o r y a r e a s f o S p r i t e s5 . 3 . 4 . 5 S p r i t e P o s i t i o n i n g * 5 . 3 . 4 . 6 S h i f t i n g S p r i t e s5 . 3 . 4 . 7 S p r i t e C o l o r s5 . 3 . 4 . 8 E n l a r g i n g S p r i t e s5 . 3 . 4 . 9 B a c k g r o u n d • 5 . 3 . 4 . 1 0 S p r i t e - S p r i t e C o l l i s i o n s . * 5 . 3 . 4 . 1 1 S p r i t e - B a c k g r o u n d C o l l i s i o n s5 . 3 . 4 . 1 2 M u l t i c o l o r S p r i t e s . . . .

C h a p t e r 6 B A S I C F R O M D I F F E R E N T V I E W P O I N T6 . H o t h B A S I C i n t e r p r e t e r w o r k s 9 6 . U s i n g v a r i a b l e s i y o u r P r o g r a m . * 6 . G e M o r e O u t o f Y o u r B A S I C6 . 3 . 1 H o t E x t e n d B A S I C l v 6 . 3 . 2 H A R D C O P Y R E N E W P R I N T U S I N G 1

3 . S e l f - d e v e l o p e d m a t h e m a t i c a l r o u t i n e s i u 6 * . 3 . 4 S Q R , S U M , a n P R O D f u n c t i o n s 1 6 . 3 . 5 C h a n g i n g t D i f f e r e n t D a t a F o r m a t s i u 6 . R o u t i n e s o t h B A S I C I n t e r p r e t e r I l 6 . L o M e m o r y U s a g e L L f 0

C h a p t e r 7 V I C - 2 0 C o m m o d o r e 6 4 C B M / P E T7 . C o m p a r i s o n t a b l e o t h R O a d d r e s s e s 1 2

C h a n g i n g V I C - 2 0 p r o g r a m s t t h C o m m o d o r e 6 4 . . . 1 2 27 i , 3 C h a n g i n g C B M / P E T p r o g r a m s t t h C o m m o d o r e 1 2

C h a p t e r 8 I N P U T / O U T P U T C O N T R O L C I A 6 5 2 68 . G e n e r a l n o t e s a b o u t t h 6 5 2 6 1 2 8 . R e g i s t e r U s a g e 1 2

. i / O - p o r t s i Z 8 . T i m e r * * 8 . R e a l - t i m e c l o c k ' • ^ 8 . T h C I A s i t h C o m m o d o r e 6 1 3 8 . U s i n g t h j o y s t i c k s 1 3

A P P E N D I X R O L i s t i n g A - A P P E N D I X S h o r t L e s s o n i H e x a d e c i m a l A r i t h m e t i c . B - lA P P E N D I X . S u m m a r y o C a p a b i l i t i e s C - A P P E N D I X D ' B i b l i o g r a p y D -

Page 9: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 9/304

C H A P T E R 0 I N T R O D U C T I O NT h C o m m o d o r e 6 s e t s n e w s t a n d a r d i t e r m s o p r i c e a n p e r f o r m a n c e i p e s o n a l c o m p u t i n g . A t t h p r i c e o h o m ec o m p u t e r , t h C o m m o d o r e 6 i p r o f e s s i o n a l q u a l i t yc o m p u t e r . A t h o w n e r o C o m m o d o r e 6 4 y o u h a v e s e v e r a lc o m p u t e r s i o n e . L e t ' s l o o k a t h e s e

T H L E A R N I N G A N D I N T R O D U C T O R Y C O M P U T E RA i ^ l o p r i c e , E K C o m m o d o r e 6 i a a f f o r d a b l ei n t r o d u c t o r y l e v e l c o m p u t e r . A d d c a s s e t t e d r i v e a n t h C o m m o d o r e 6 i v e r y c a p a b l e c o m p u t e r s y s t e m . Y e t a t h b e g i n n e r i n c r e a s e s h i c o m p u t e r p r o f i c i e n c y , t h C o m m o d o r e6 h a s e n o u g h c a p a b i l i t i e s s a n o t l i m i t h i g r o w t h .S i n c e t h C o m m o d o r e 6 u s e s t h f a m i l i a r B A S I C l a n g u a g e , t h b e g i n n e r s h o u l d h a v e a e a s y t i m e l e a r n i n g t p r o g r a m .C o m m o d o r e 6 B A S I C i v e r y c o m p a t i b l e t t h B A S I Ci n t e r p r e t e r s o o t h e r C o m m o d o r e c o m p u t e r s . A d a p t i n g B A S I Cp r o g r a m s f o t h C o m m o d o r e 6 4 i s s t r a i g h t f o r w a r d .A l t h o u g h T h A n a t o m y o t h C o m m o d o r e 6 i n o w r i t t e n f o t h b e g i n n e r , t h f i r s t c h a p t e r s s h o u l d p r o v i d e s a t i s f a c t o r yr e a d i n g f o m o s t o f y o u . F o r t h o s e o y o u w h o w a n t t s t a r ta m o r e a d v a n c e d l e v e l , s t a r t w i t h C h a p t e r ( S Y N T H E S I Z E P )a n C h a p t e r ( G R A P H I C S ) . F o y o V I C - 2 0 o w n e r s c o n v e r t i n gt t h C o m m o d o r e 6 4 C h a p t e r g i v e s y o i n f o r m a t i o n o n t h i ss u b j e c t .

T H B U S I N E S S C O M P U T E RT h C o m m o d o r e 6 o f f e r s s u c h h i g h p r i c e - p e r f o r m a n c e t h a tm a n y b u s i n e s s e s f i n d i e x t r e m e l y a t t r a c t i v e i t h o f f i c eo i n d u s t r y s e t t i n g . W h e t h e r i i u s e d f o m a i n t a i n i n gm a i l i n g l i s t s o r a c c o u n t s r e c e i v a b l e , d r a w i n g g r a p h s o c h a r t s , p e r f o r m i n g w o r d p r o c e s s i n g o p l a y i n g t h " w h a t - i f 1 1g a m e s , i c a b e v e r y p r o d u c t i v e m e m b e r o f t h e b u s i n e s st e a m .W i t h o u t h a v i n g t s p e n d t h o u s a n d o d o l l a r s , b u s i n e s s c a s a m p l e t h a u t o m a t e d c o m p u t e r w o r l d w i t h a i n e x p e n s i v eC o m m o d o r e 6 4 W e f i n d t h a t m a n y C o m m o d o r e 6 " h o m e "c o m p u t e r s a r r e a l l y b e i n g u s e d f o b u s i n e s s p u r p o s e s .

T H D E V E L O P M E N T C O M P U T E RT h a d v a n c e d p r o g r a m m e r w i l l a p p r e c i a t e t h l a r g e m e m o r yb a n k o t h C o m m o d o r e 6 4 W i t h 6 4 R A M a n d 2 0 R O M , t h eC o m m o d o r e 6 o f f e r s s u f f i c i e n t m e m o r y , e v e n f o t h m o s ts o p h i s t i c a t e d p r o g r a m s . T h m e m o r y l a y o u t o t h C o m m o d o r e6 i d e s c r i b e d i c h a p t e r 3

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

Page 10: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 10/304

p r o g r a m s . I o r d e r t e n c o u r a g e B A S I C p r o g r a m m e r s t u s 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 , w p r e s e n t a i n t r o d u c t i o n t m a c h i n e a n a s s e m b l e r l a n g u a g e p r o g r a m m i n g i C h a p t e r 1 M a c h i n e l a n g u a g e o a s s e m b l e r l a n g u a g e p r o g r a m m i n g c a e n h a n c e w o r k i n g i B A S I C a n m a k e y o m o r e a w a r e o t h C o m m o d o r e 6 4 ' s p o t e n t i a l .I c h a p t e r w d e s c r i b e h o t a d n e c o m m a n d s t t h B A S I C i n t e r p r e t e r . A f t e r e x p e r i m e n t i n g , y o u s h o u l d b a b l et c r e a t e y o u r o w n e c o m m a n d s , s i m i l a r t o n e s i o u e x a m p l e p r o g r a m . A i m p o r t a n t h e l p i t h e x t e n s i v e l yd o c u m e n t e d R O M l i s t i n g o C o m m o d o r e B A S I C a n t h o p e r a t i n gs y s t e m w h i c h i i A P P E N D I X A

T H G R A P H I C S C O M P U T E RW i t h m a n y o t h e r c o m p u t e r s y o h a v e t b u e x p e n s i v e h a r d w a r ea d d i t i o n s t c r e a t e g r a p h i c s . B u t t h C o m m o d o r e 6 o f f e r st h e s e f e a t u r e s a s t a n d a r d . T h C o m m o d o r e 6 g e t s i t h i g hr e s o l u t i o n c o l o r g r a p h i c s c a p a b i l i t i e s f r o m t o t a l l y n e c o m p u t e r c h i p w h o s e q u a l i t i e s a n c a p a b i l i t i e s w d e s c r i b ei C h a p t e r 5 W e a l s o d e s c r i b e t h m a g i c - l i k e S P R I T E S . T h e s e s u p e r - l a r g e ,u s e r d e f i n a b l e g r a p h i c s s y m b o l s e n a b l e a r c a d e a n e d u c at i o n a l a n i m a t i o n t h a t , i n t h e p a s t , w e r e p o s s i b l e o n l y w i t h

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

T H S Y N T H E S I Z E RT h e r e ' s m u s i c i t h C o m m o d o r e 6 4 T h C o m m o d o r e 6 u s e s h i g h q u a l i t y s y n t h e s i z e r w h i c hr i v a l s s o m e d e d i c a t e d m u s i c m a c h i n e s . H e r e a g a i n , t h r e a s o n f o t h e s e c a p a b i l i t i e s i n e w l y d e v e l o p e di n t e g r a t e d c i r c u i t w h o s e c a p a b i l i t i e s a n p o s s i b i l i t i e s w e x a m i n e c l o s e l y f o y o u .

A l t h a t ' s r e a l l y m i s s i n g i p i a n o k e y b o a r d t m a k eh o m e o r g a n o u o t h C o m m o d o r e 6 4 W i t h a p p r o p r i a t ep r o g r a m m i n g , t h i s o r g a n c o u l d o u t p e r f o r m b i g g e r a n m u c hm o r e e x p e n s i v e o n e s . S o m e k e y b o a r d s a r b e g i n n i n g t a p p e a ro t h m a r k e t n o w .A n o t h e r i n t e r e s t i n g p o s s i b i l i t y i c o n n e c t i n g t h C o m m o d o r e6 t s t e r e o s y s t e m . M u s i c l o v e r s w i l l b d e l i g h t e d w i t ht h r e s u l t s . T h e i r e a r s w i l l b p l e a s a n t l y s u r p r i s e d .

T H C O N T R O L C O M P U T E RT h C o m m o d o r e 6 c a b u s e d f o v a r i o u s k i n d s o c o n t r o lp u r p o s e s p r o v i d e d i i a p p r o p r i a t e l y i n t e r f a c e d . T h e l e c t r o n i c h o b b y i s t a n d t h e i n d u s t r i a l u s e r c a a c h i e v e a u n u s u a l a m o u n t o c o m p u t e r p e r f o r m a n c e f o t h e i r m o n e y . T h e yw i l l s o o n f i n d l o t o f a r e a s w h e r e t h C o m m o d o r e 6 c a b u s e d . O n e o f t h e a r e a s d e s c r i b e d i t h i s b o o k i t h e u s e o

Page 11: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 11/304

t h p a d d l e p o r t a a A / c o n v e r t e r . F u r t h e r h i n t s a r g i v e n i t h d e s c r i p t i o n o t h i n p u t / o u t p u t c o n t r o l , f o u n di C h a p t e r 8 Y O U R O W N C O M P U T E RW h e t h e r y o b o u g h t t h C o m m o d o r e 6 f o c o m p o s i n g m u s i c ,m a i n t a i n i n g m a i l i n g l i s t o l e a r n i n g h o w t p r o g r a m ,T h A n a t o m y o t h C o m m o d o r e 6 w i l l h e l p y o a y o e n c o u n t e r C o m m o d o r e 6 4 ' s f a n t a s t i c c a p a b i l i t i e s .Y o w i l l f i n d r a n g e o a p p l i c a t i o n s f o y o u r c o m p u t e rw h i c h y o n e v e r t h o u g h t w e r e p o s s i b l e .

Page 12: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 12/304

C H A P T E R I 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 O T H E C O M M O D O R E 6

1 . I n t r o d u c t o r y C o n c e p t sT h m a i n p r o g r a m m i n g l a n g u a g e o t h C o m m o d o r e 6 i B A S I C .I t ' s l a n g u a g e t h a t i " s p o k e n " b y m a n y c o m p u t e r s a n w i t hw h i c h t h u s e r c a s o l v e m o s t a l o h i p r o b l e m s . T h B A S I Cl a n g u a g e w a s o r i g i n a l l y d e v e l o p e d f o t h b e g i n n e r . I t h c o u r s e o t i m e i b e c a m e m o r e a n m o r e c o m m o n , a n n o i i b e i n g u s e d o a l m o s t a l m i c r o c o m p u t e r s .T o d a y , m o s t c o m p u t e r c o m p a n i e s o f f e r v e r s i o n o B A S I Cw r i t t e n b y t h e M i c r o s o f t C o r p o r a t i o n . S i n c e M i c r o s o f t B A S I Ci s i m i l a r f o m o s t c o m p u t e r s , i i n o v e r y d i f f i c u l t t r e w r i t e p r o g r a m s f o r t h e C o m m o d o r e 6 4

A c t u a l l y , t h B A S I C l a n g u a g e i n o d i r e c t l y u n d e r s t o o d b t h c o m p u t e r . T h o u g h y o w r i t e p r o g r a m s i B A S I C , t h c o m p u t e r m u s t f i r s t i n t e r p r e t t h B A S I C l a n g u a g e s t a t e m e n t s .T h c o m p u t e r c r e a t e s s h o r t h a n d c o m m a n d s f r o m t h c o m m a n d st h a t w e n t e r a t h k e y b o a r d a n c o n v e r t s t h e m i n t o m a c h i n el a n g u a g e t h a t t h 6 5 1 0 p r o c e s s o r o t h C o m m o d o r e 6 u n d e r s t a n d s .W h n o w r i t e a l y o u r p r o g r a m s i m a c h i n e l a n g u a g e ? Q u i t es i m p l e . P r o g r a m m i n g i m a c h i n e l a n g u a g e i t i m e - c o n s u m i n ga n e r r o r p r o n e , e s p e c i a l l y f o r t h e b e g i n n e r . M o s t B A S I Cs t a t e m e n t s a r e q u i v a l e n t t d o z e n s o m a c h i n e l a n g u a g ei n s t r u c t i o n s . T h e r e f o 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 a r m o r el e n g t h y t h a n a e q u i v a l e n t p r o g r a m w r i t t e n i B A S I C . H e r e ' s

s m a l l e x a m p l e :T h e 6 5 1 0 C P U c h i p i t h C o m m o d o r e 6 c a a d n u m b e r s w i t h i nt h r a n g e o t h r u 2 5 5 . T a d n u m b e r s o u t s i d e o t h i sr a n g e , t h e n y o m u s t p e r f o r m m u l t i p l e a d d i t i o n s . I B A S I Cy o m i g h t p r o g r a m l i k e t h i s :

P R I N T 6 + T h w h o l e o p e r a t i o n c a b e n t e r e d a s i n g l e l i n e .I m a c h i n e l a n g u a g e y o w o u l d d t h f o l l o w i n g :

C L ; c l e a r c a r r y f l a gL D # $ 0 6 ; l o a d a c c u m u l a t o r w i t hA D # $ 0 5 ; a d d t a c c u m u l a t o rJ S R O U T P U T ? p r i n t r e s u l t

; h e r e a r f u r t h e r c o m m a n d sa

O U T P U T P H ; s a v e t h a c c u m u l a t o rL S ; s h i f t b i t s t h r uL S t b i t s t h r uL S ; u n o c c u p i e d b i t s b e c o m e

Page 13: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 13/304

H E X A S C

L S J S P L A N C L A D B C A D A D J M

H E X A S C# $ 0 F# $ F 6$ 0 # $ 0 6# $ 3 A$ F F D 2

; t r a n s f o r m n u m b e r s i n t o c h a r a c t e r s; g e t a c c u m u l a t o r f r o m s t a c k; m a s k b i t s t h r u; c l e a r c a r r y f l a g; a d d 2 4 ; r e s u l t < = 2 5 5 ? y e s - s k i p; a d d d e c i m a l; a d d 5 d e c i m a l; o u t p u t c h a r a c t e r

S t h e s a m e p r o c e s s o a d d i n g t n u m b e r a n d i s p l a y i n g t h r e s u l t s r e q u i r e s m o r e p r o g r a m m i n g w h e n w r i t t e n i m a c h i n el a n g u a g e .H o d o e s t h c o m p u t e r u n d e r s t a n d t h e s e i n s t r u c t i o n s .Y o p r o b a b l y k n o w t h a t t h e r e a r e t w o e l e c t r i c a l c o n d i t i o n si n t h e f i e l d o e l e c t r o n i c s : P O W E R O a n P O W E R O F F .W a l s o f i n d t h e s e c o n d i t i o n s i c o m p u t e r t e c h n o l o g y . T h s m a l l e s t i n f o r m a t i o n u n i t i d a t a p r o c e s s i n g i c a l l e dB I ( b i n a r y d i g i t ) . B a s e d o t h i s i d e a , t h e b i n a r y n u m b e rs y s t e m w a d e v e l o p e d . T h b i n a r y n u m b e r s y s t e m i n c l u d e so n l y t w o ( b i n a r y ) n u m b e r s : t h a n t h ( w h e r e s t a n d sf o P O W E R O a n f o P O W E R O F F ) . B y c o m b i n i n g s t r i n g s o l ' a n 0 ' y o c a c r e a t e l a r g e r n u m b e r s .T h 6 5 1 0 p r o c e s s o r c o n t a i n e d i t h C o m m o d o r e 6 w o r k s w i t hg r o u p s o 8 - b i t a t i m e . W i t h i n b y t e , e a c h b i p o s i t i o nh a c o r r e s p o n d i n g d e c i m a l v a l u e . T h e s e v a l u e s a r e :

b i p o s i t i o n b b b b b b b b c o r r e s p o n d i n g v a l u e 1 2 6 3 1 2

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

T h v a l u e o b b b b b b b b

2 * * 72 * * 62 * * 52 * * 42 * * 32 * * 22 * * 12 * * 0

1 2 = 6

3 1

( 2 * * x i p r o n o u n c e d a t t h p o w e r )U s i n g t h i s s c h e m e , n u m b e r s u t 2 5 c a b r e p r e s e n t e d . F o e x a m p l e , t h n u m b e r 1 i r e p r e s e n t e d a 0 0 0 0 1 1 1 0 a n i e q u i v a l e n t t 0 * 1 2 8 0 * 6 4 0 * 3 2 0 * 1 6 1 * 1 * 1 * 0 * 1 . T h e n u m b e r 1 1 i r e p r e s e n t e d a 0 1 1 1 0 1 0 1 a n i

Page 14: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 14/304

e q u i v a l e n t t 0 * 1 2 8 1 * 6 4 + 1 * 3 2 1 * 1 6 + 0 * 8 1 * 0 * 1 * 1 .T h e l e c t r o n i c c i r c u i t r y o t h 6 5 1 0 p r o c e s s o r i s e t p e r f o r m c e r t a i n o p e r a t i o n s u c h a a d d i t i o n , s u b t r a c t i o n ,l o g i c a l t e s t i n g o b r a n c h i n g i r e s p o n s e t c e r t a i n b i p a t t e r n s . A s e t o b i p a t t e r n s , c a r e f u l l y a r r a n g e d t p e r f o r m d e s i r e d s e o o p e r a t i o n s i c a l l e d p r o g r a m . I i t h e s e p r o g r a m s w h i c h m a k e t h c o m p u t e r a p p e a r t u n d e r s t a n d .S b i n a r y n u m b e r s y s t e m i f u n d a m e n t a l t u n d e r s t a n d i n gm a c h i n e l a n g u a g e . I y o a r e n o t y e t a c q u a i n t e d w i t h t h i ss y s t e m , w e w o u l d r e c o m m e n d o n o f t h e b o o k s f r o m o u b i b l i o g r a p h y .A f t e r t h i s s h o r t i n t r o d u c t i o n t t h b i n a r y n u m b e r s y s t e m ,w m o v e o n t o a c t u a l 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 .C o m p a r 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 , y o u s h o u l d r e c o g n i z et h a t u s i n g m a c h i n e l a n g u a g e r e q u i r e s d i f f e r e n t a p p r o a c ht h a n r e g u l a r B A S I C p r o g r a m m i n g . I i c e r t a i n l y n o e a s y f o t h b e g i n n e r t u n d e r s t a n d t h i s n e k i n d o p r o g r a m m i n g .B u i y o w a n t t m a s t e r t h c o m p u t e r y o n e e d t d e a l w i t hm a c h i n e l a n g u a g e .F o e x a m p l e , i y o w a n t t w r i t e f a s t s o r t o s e a r c hr o u t i n e , y o u c a n n o t d o t h i s w i t h B A S I C . F o t h o s e w h o w a n tt u n d e r s t a n d t h o p e r a t i n g s y s t e m o r t o e x p l o r e t h u n d e r p i n n i n g s o B A S I C , t h e r e i n o t h e r c h o i c e t h a n u s i n gm a c h i n e l a n g u a g e .I y o f i n d t h a t t h i s c h a p t e r i t o d i f f i c u l t f o y o t u n d e r s t a n d , d o n ' t h e s i t a t e t s k i p i f o r n o w . L a t e r y o uc a c o m e b a c k t t h e s e c h a p t e r s t r e v i e w t h m a t e r i a l . W eh a v e t r i e d t d e s i g n a l c h a p t e r s , e v e n t h o s e t h a t d e a l w i t hm a c h i n e l a n g u a g e a n a s s e m b l e r l a n g u a g e p r o g r a m m i n g , i w a s t h a t e v e n b e g i n n e r s c a u n d e r s t a n d t h e m . M a n y t h i n g sw i l l b e c o m e c l e a r e r a f t e r y o u r e a d t h e m ; o t h e r s m a s t i l lb c o n f u s i n g . F o r t h o s e w a n t w h o t k n o w m o r e t h i n g s a b o u tm a c h i n e a n a s s e m b l e r l a n g u a g e p r o g r a m m i n g , c o n s u l t t h b i b l i o g r a p h y .

1 . T h M O N I T O R a n i t u s e sI o r d e r t p r o g r a m i m a c h i n e l a n g u a g e y o u n e e d M O N I T O R .

m o n i t o r i p r o g r a m t h a t a l l o w s y o t i n s p e c t a n c h a n g et h c o m p u t e r ' s m e m o r y a n r e g i s t e r s . A d d i t i o n a l l y y o c a s a v e a n d l o a d p r o g r a m s w i t h t h m o n i t o r . S o m e m o n i t o r s a l l o wy o t d i s a s s e m b l e m e m o r y ( d i s p l a y t h m a c h i n e m n e m o n i c sf r o m r a w c o d e ) a n d l e t s y o u t e s t a n c o r r e c t m a c h i n el a n g u a g e p r o g r a m s .

Page 15: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 15/304

H e r e w e s h o w y o u h o w t w o r k w i t h m o n i t o r . T h c o m m a n d si l l u s t r a t e d a r f o t h S U P E R M O N m o n i t o r i n c l u d e d w i t h t h A S S E M B L E R / M O N I T O R p a c k a g e f r o m A B A C U S S o f t w a r e . B u m o s t o t h e s e c o m m a n d s a r i d e n t i c a l t t h c o m m a n d s u s e d b o t h e rm o n i t o r s .

A f t e r S U P E R M O N i l o a d e d f r o m d i s k e t t e , y o u b e g i n t h m o n i t o r b y t y p i n g R U N . T h e m o n i t o r i d e n t i f i e s i t s e l f b yp r i n t i n g C a n t h c o n t e n t s o f t h e 6 5 1 0 r e g i s t e r s o t h s c r e e n .

T h r e g i s t e r s a r s p e c i a l m e m o r y l o c a t i o n s c o n t a i n e d i t h 6 5 1 0 p r o c e s s o r t h a t a l l o w c o m p u t e r t p e r f o r m a r i t h m e t i ca n l o g i c a l o p e r a t i o n s , k e e p t r a c k o p r o g r a m l o c a t i o n s ,e t c .

T h p u r p o s e o t h i n d i v i d u a l r e g i s t e r s a r e :P r o g r a m c o u n t e r : P k e e p s t r a c k o f t h e a d d r e s sw i t h i n t h p r o g r a m t h a t i t b p r o c e s s e d n e x t .I n t e r r u p t v e c t o r : I R Q i t h a d d r e s s o f t h er o u t i n e t h a t g a i n s c o n t r o l w h e n p r o g r a m i n t e r r u p to c c u r s .

S t a t u s r e g i s t e r : S R c o n t a i n s i n d i c a t o r s o c o n d i t i o n s t h a t h a v e o c c u r e d a t h r e s u l t o a r i t h m e t i c o l o g i c a l p r o c e s s i n g .A c c u m u l a t o r : A c o n t a i n s t h r e s u l t s o a r i t h m e t i c o l o g i c a l o p e r a t i o n s ; u s e d t t r a n s f e rd a t a d u r i n g i n p u t o o u t p u t o p e r a t i o n s .T h x - r e g i s t e r : X i n d e x r e g i s t e r u s e d f o rd i f f e r i n g w a y s t a c c e s s m e m o r yT h y - r e g i s t e r : Y i n d e x r e g i s t e r u s e d f o d i f f e r i n g w a y s t a c c e s s m e m o r yT h s t a c k p o i n t e r : S c o n t a i n s t h p o i n t e r t t h t o o t h s t a c k ( w o r k m e m o r y )

A f t e r R U N n i n g t h m o n i t o r , t h s c r e e n d i s p l a y l o o k s l i k et h i s :

C P S A X Y S

. E 1 4 5 3 1 4 0 E 0 F A l d a t a i d i s p l a y e d o e n t e r e d i n t o t h m o n i t o r i h e x a d e c i m a l n u m b e r f o r m a t . F o r t h o s e o y o u n f a m i l i a r w i t hh e x a d e c i m a l n o t a t i o n , s e A P P E N D I X B

I y o w a n t t c h a n g e t h c o n t e n t s o a n o t h r e g i s t e r s ,

Page 16: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 16/304

p o s i t i o n t h c u r s o r o v e r t h a p p r o p r i a t e " o l d v a l u e " , t y p ei t h " n e w v a l u e " a n p r e s s t h R E T U R N k e y .T h c o n t e n t s o m e m o r y c a a l s o b d i s p l a y e d a n d c h a n g e d . T od i s p l a y t h c o n t e n t s o c e r t a i n m e m o r y r a n g e , e n t e r t h c o m m a n d :

M X X X X Y Y Y Y < R E T U R N >w h e r e s t a n d s f o M E M O R Y , X X X X f o r t h e 4 - d i g i t s t a r t i n ga d d r e s s a n Y Y Y Y t h 4 - d i g i t e n d i n g a d d r e s s .B o t h a d d r e s s e s a r e n t e r e d a h e x a d e c i m a l n u m b e r s . T h c o n t e n t s o t h m e m o r y l o c a t i o n s X X X X t h r u Y Y Y Y a r d i s p l a y e d . I t h g i v e n m e m o r y r a n g e d o e s n ' t f i c o m p l e t e l yo t h s c r e e n , t h s c r e e n s c r o l l s u p w a r d l i n e b y l i n e . B yp r e s s i n g t h S T O P k e y , y o g e t b a c k i t h c o m m a n d l i n e .A w i t h t h c h a n g i n g o t h r e g i s t e r c o n t e n t s , y o c a c h a n g e i n d i v i d u a l m e m o r y l o c a t i o n s . S i m p l y p l a c e t h c u r s o ro v e r t h c o r r e s p o n d i n g " o l d v a l u e " , e n t e r t h d e s i r e d n e wv a l u e " a n p r e s s t h R E T U R N k e y .T e n t e r m a c h i n e l a n g u a g e p r o g r a m i n t o m e m o r y u s t h c o m m a n d t d i s p l a y t h c o n t e n t s o p a r t i c u l a r a r e a i m e m o r y . T h e n p o s i t i o n t h c u r s o r o v e r t h a r e a o m e m o r y t b o v e r l a y e d w i t h t h d e s i r e d m a c h i n e l a n g a u g e i n s t r u c t i o n si t h e i r h e x a d e c i m a l e q u i v a l e n t s .T h f o l l o w i n g i d i s p l a y o p a r t i c u l a r m e m o r y r a n g e :

. C 0 0 0 C 0 1 0 < R E T U R N >. C 0 0 0 A 9 1 0 8 1 0 3 A 9 C 8 . C 0 0 8 1 0 A 4 8 9 7 D O 1 . C 0 1 0 A 9 4 2 8 5 9 7 D 8 4 6 8

M e m o r y c a b d i s p l a y e d i a n o t h e r w a b d i s a s s e m b l i n g .D i s a s s e m b l i n g a t t e m p t s t c o n v e r t t h h e x a d e c i m a l c o n t e n t so m e m o r y i n t o t h m o r e e a s i l y u n d e r s t a n d a b l e m a c h i n el a n g u a g e i n s t r u c t i o n s c a l l e d m n e m o n i c s . E a c h 6 5 1 0 m a c h i n el a n g u a g e i n s t r u c t i o n i r e p r e s e n t e d a s p e c i f i ch e x a d e c i m a l v a l u e . D i s a s s e m b l i n g c o n v e r t s t h e s e h e x a d e c i m a lv a l u e s i n t o t h e c o r r e s p o n d i n g m n e m o n i c s .Y o c a d i s a s s e m b l e t h c o n t e n t s o f t h e a b o v e m e m o r y r a n g eb e n t e r i n g t h c o m m a n d :

. C 0 0 0 C 0 1 9 < R E T U R N >W h e n t h a b o v e a r e a o m e m o r y i d i s a s s e m b l e d i w o u l d l o o kl i k e t h i s :

C 0 0 0 : A 1 L D # $ 1 0

Page 17: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 17/304

C 0 0 2 :C 0 0 5 :C 0 0 7 :C O O A :C O O C :C O O E :C O 1 O :C 0 1 2 :C 0 1 4 :C 0 1 5 :C 0 1 6 :C 0 1 7 :

8 A 8 A 8 D A 8 D 4 6 8

1 C 1 4 9 1 4 9

1

0

0

0

S T L D S T L D S T B N L D S T C L L S P L S T

$ 0 3 1 6# $ C 0$ 0 3 1 7# $ 4 3$ 9 $ C 0 2 6# $ 4 2$ 9

$ 0 3 1 8U s i n g t h a b o v e a a e x a m p l e , t h h e x a d e c i m a l v a l u e A s t a n d s f o t h m n e m o n i c i n s t r u c t i o n L o a D A c c u m u l a t o r a n t h v a l u e 8 s t a n d s f o r t h e m n e m o n i c i n s t r u c t i o n S T o r eA c c u m u l a t o r .T h e n e x t s t e p a f t e r e n t e r i n g o c h a n g i n g p r o g r a m i m e m o r yi p r o g r a m t e s t i n g . Y o t e s t y o p r o g r a m b g i v e n t h m o n i t o r t h i s c o m m a n d :

. X X X X < R E T U R N >H e r e s t a n d s f o G O T O a n X X X X f o t h 4 - d i g i t h e x a d e c i m a ls t a r t i n g a d d r e s s o f t h e r o u t i n e t b t e s t e d .T h i s c o m m a n d c a u s e s t h m o n i t o r t j u m p t a d d r e s s X X X X a n b e g i n e x e c u t i n g t h e t h e m a c h i n e p r o g r a m t h a t ' s w r i t t e nt h e r e . X X X X i a n a d d r e s s w i t h i n t h C o m m o d o r e 6 4 ' s m e m o r yr a n g e .

I t h m a c h i n e l a n g u a g e p r o g r a m c o n t a i n s B R ( B R E A K )i n s t r u c t i o n ( h e x a d e c i m a l v a l u e 0 0 ) , t h m o n i t o r s t o p s ,i d e n t i f i e s i t s e l f w i t h B a n d i s p l a y s t h r e g i s t e rc o n t e n t s .

H e r e t h p r o g r a m c o u n t e r P c o n t a i n s t h a d d r e s s a f t e r t h B R c o m m a n d . B i n s e r t i n g B R i n s t r u c t i o n s a v a r i o u sm e m o r y l o c a t i o n o m a c h i n e l a n g u a g e p r o g r a m , i i p o s s i b l e t t e s t t h i s p r o g r a m q u i c k l y a n e a s i l y . A f t e rt e s t i n g t h p r o g r a m , y o c a r e p l a c e t h u n n e e d e d B R i n s t r u c t i o n w i t h t h o r i g i n a l i n s t r u c t i o n c o n t a i n e d a t h * tm e m o r y l o c a t i o n .

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

T s a v e m a c h i n e p r o g r a m o c a s s e t t e o d i s k e t t e , e n t e r :. " N A M E " , X X , Y Y Y Y , Z Z Z Z < R E T U R N >

i n d i c a t e s S A V E . F o " N A M E " , y o u c a n e n t e r a n y n a m e f o r t h ep r o g r a m ( t h e q u o t a t i o n m a r k s a r m u s t ) . X i t w o - d i g i td e v i c e a d d r e s s ( 0 1 - c a s s e t t e , 0 8 - d i s k e t t e ) , Y Y Y Y i t h

Page 18: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 18/304

s t a r t i n g a d d r e s s a n d Z Z Z Z t h e e n d i n g a d d r e s s o f t h e p r o g r a mw h i c h m u s t b h e x a d e c i m a l .A f t e r p r e s s i n g t h R E T U R N k e y , t h m a c h i n e l a n g u a g e p r o g r e ms t a r t i n g a a d d r e s s Y Y Y Y a n e n d i n g a a d d r e s s Z Z Z Z i s a v e do n t h e s e l e c t e d d e v i c e .T L O A D p r o g r a m f r o m c a s s e t t e o d i s k e t t e e n t e r :

. " N A M E ' r X X < R E T U R N >H e r e m e a n s L O A D a n X t h d e v i c e a d d r e s s d i s c u s s e d a b o v e .T h a d d r e s s o t h p r o g r a m i n o n e e d e d . T h p r o g r a m i l o a d e d i n t o t h a r e a o m e m o r y f r o m w h i c h i w a o r i g i n a l l ys a v e d .W h e n y o a r f i n i s h e d u s i n g t h m o n i t o r y o c a e x i t t o t h eB A S I C i n t e r p r e t e d b e n t e r i n g X

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

1 . H o T G A b o u t P r o g r a m m i n g i M a c h i n e L a n g u a g eI y o u a r e f a m i l i a r w i t h t h m o n i t o r t s o m e d e g r e e , y o u c a nn o s t a r t w i t h t h a c t u a l p r o g r a m m i n g .P r o g r a m m i n g c a b d i v i d e d i n t o p a r t s :

1 F i r s t l y y o m u s t c l e a r l y s p e l l o u e x a c t l y w h a t t h p r o g r a m i t a c c o m p l i s h . Y o m u s t d e c i d e o n a na p p r o a c h t t a k e i b u i l d i n g t h a t p r o g r a m . U n f o r t un a t e l y t h i s s t e p i o f t e n g i v e n t o l i t t l e t h o u g h t .T h p r o g r a m m e r i t o a n x i o u s t g e t t h p r g r a m m i n g s t e p t h a t t h p r o g r a m s u f f e r s . T h a u t h o rh a s n ' t c l e a r l y t h o u g h t o u t h m e t h o d . T h i s s t e p i v i t a l r e g a r d l e s s o f t h e p r o g r a m m i n g l a n g a u g e u s e d .I m u s t b a d d r e s s e d f o p r o g r a m w r i t t e n i B A S I Co m a c h i n e l a n g u a g e o 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 e x a m p l e , s u p p o s e y o d e c i d e t h a t y o n e e d t c o m p u t e t h l o g a r i t h m i b a s e 1 o v a r i o u sn u m b e r s . Y o c o u l d a p p r o a c h t h i s p r o g r a m i s e v e r a lw a y s : a c r e a t i n g t a b l e o l o g a r i t h m s a n l o o k i n gt h e m u a n e e d e d ; b f i n d i n g t h l o g a r i t h m f r o ms c r a t c h b u s i n g c o m p l e x s e r i e s o f o r m u l a s ; c u s i n g d e r i v a t i v e o b u i l t i n f u n c t i o n . B u s i n go n o t h b u i l t i n f u n c t i o n s o t h C o m m o d o r e 6 4 y o u c a n c r e a t e v e r y s i m p l e s o l u t i o n . T h i se l i m i n a t e s t h n e e d f o c o m p l e x p r o g r a m , t h e r e b ys i m p l i f y i n g t h o v e r a l l t a s k t b d o n e , n a m e l y t

1

Page 19: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 19/304

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

p l a c e t h m a c h i n e l a n g u a g e p r o g r a m . 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 r u a l o n g s i d e B A S I C p r o g r a m . S y o u m u s t m a k e s u r e 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 i p r o t e c t e d f r o m a c c i d e n t d e s t r u c t i o n b B A S I CT h s i m p l e s t w a i t t e l l B A S I C t h a t i h a o n l y

c e r t a i n a m o u n t o m e m o r y a t i t s d i s p o s a l . T h u sB A S I C c a r u c o n c u r r e n t w i t h t h m a c h i n e l a n g u a g ep r o g r a m , b u w i l l n o o v e r w r i t e t h m a c h i n el a n g a u g e p r o g r a m .A n o t h e r p o s s i b i l i t y i t p l a c e t h m a c h i n e p r o g r a mi n t o m e m o r y w h e r e i c a n ' t b r e a c h e d b B A S I C .W i t h t h C o m m o d o r e 6 t h i s i n p r o b l e m . O f t h e6 4 R A t h a t C o m m o d o r e 6 h a s , B A S I C c a a d d r e s so n l y 3 9 K , w h i l e m a c h i n e l a n g u a g e h a 5 2 a t i t sd i s p o s a l .

3 T h i r d l y y o u h a v e t w r i t e t h p r o g r a m i t s e l f . W r e c o m m e n d u s i n g a a s s e m b l e r W i t h o u t u s i n g a a s s e m b l e r y o u w i l l h a v e t h a n d - a s s e m b l e t h a s s e m b l e r l a n g u a g e s o u r c e s t a t e m e n t s . W e ' l l l e a v ei t y o t f i n d w a o g e n e r a t i n g t h r e s u l t i n gm a c h i n e l a n g u a g e c o d e . W a d v i s e y o t k e e p y o u rr o u t i n e s a s h o r t a p o s s i b l e i y o m u s t r e s o r t t h a n d a s s e m b l y t e c h n i q u e s . A l s o t a k e a d v a n t a g e o t h b u i l t i n r o u t i n e s t h a t a r d e s c r i b e d e l s e w h e r ei t h i s m a n u a l . T h e y w i l l s a v e y o u m u c h t i m e a n e f f o r t .

4 F o r t h l y y o u h a v e t d e c i d e h o y o u w i l l p l a c e t h r e s u l t a n t m a c h i n e l a n g u a g e p r o g r a m i n t o m e m o r y . O n w a i t P O K E t h r e s u l t a n t p r o g r a m i n t o m e m o r yf r o m B A S I C p r o g r a m . A a l t e r n a t i v e w a i t u s

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

5 L a s t l y y o u h a v e t d e c i d e h o w y o w i l l t e s t y o u rn e p r o g r a m . I i s n ' t t o o f t e n t h a t w e w r i t ep r o g r a m w h i c h r u n s c o r r e c t l y t h f i r s t t i m e t h a t w t r i t O n c e a g a i n , t h m a c h i n e l a n g u a g e m o n i t o ro f f e r s s o m e h e l p i t e s t i n g t h e s e p r o g r a m s . B i n s e r t i n g t h B R i n s t r u c t i o n s i n t o t h p r o g r a m t b t e s t e d , y o c a c a u s e t h p r o g r a m t t e m p o r a r i l yh a l t e x e c u t i o n . A t h i s t i m e y o m a e x a m i n e t h c o n t e n t s o m e m o r y a n r e g i s t e r s a n a l t e r t h e m i y o d e s i r e . T h e n y o u c a c o n t i n u e t h e x e c u t i o n o t h p r o g r a m f r o m t h i s b r e a k p o i n t . I y o d o n ' t u s

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

1

Page 20: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 20/304

t h C o m m o d o r e 6 f o r c i n g y o t t u r n i o f a n b a c k o t r e c o v e r f r o m t h e r r o r .

B f o l l o w i n g t h e s e f i v e s t e p s , y o a r c r e a t i n g c a r e f u lp l a n a n d n o t h a p h a z a r d a t t e m p t a y o u r p r o b l e m s o l v i n g .U s g o o d p r o g r a m m i n g s y t l e r i g h t f r o m t h s t a r t lT h f o l l o w i n g i a e x a m p l e p l a n n e d p r o g r a m d e v e l o p m e n t .F i r s t w s t a t e t h o b j e c t i v e o o u r p r o g r a m : T t y p e l i n eo t e x t i a t t h e k e y b o a r d a n t h e n r e d i s p l a y a l l o f t h et e x t u t t h < R E T U R N > k e y .T s i m p l i f y t h p r o g r a m , w w i l l u s s o m e b u i l t i n r o u t i n e st h a r a r p a r t o t h C o m m o d o r e 6 R O M s .

N e x t w e h a v e t d e c i d e w h e r e t h i s p r o g r a m i t b p l a c e d i m e m o r y .

O n p l a c e f o m a c h i n e p r o g r a m w i t h m a x i m u m l e n g t h o 4 i b l o c k o 4 K R A M i t h u p p e r p a r t o m e m o r y ( $ C 0 0 0u p w a r d s ) . I t h a t l o c a t i o n , t h p r o g r a m c a n ' t b d e s t r o y e db B A S I C .A l t e r n a t i v e l y y o l o c a t e m a c h i n e l a n g u a g e p r o g r a m i m e m o r y t h a t B A S I C c a a c c e s s i y o f i r s t p r o t e c t t h i s a r e a .F r o m B A S I C t h i s i d o n e a f o l l o w s :

P O K E 5 5 , X X XP O K E 5 6 , Y Y YC L

w h e r e X X a n Y Y a r d e c i m a l n u m b e r s b e t w e e n a n 2 5 5 .P O K E 5 5 , X X X s e t s t h l e a s t s i g n i f i c a n t b y t e a n 5 6 , Y Y Y t h m o s t s i g n i f i c a n t b y t e ( b 4 , b 5 , b 6 , b 7 ) o t h n e " m e m o r y l i m i t " ,W h e n t h C o m m o d o r e 6 4 i s f i r s t t u r n e d o n m e m o r y l o c a t i o n 5 c o n t a i n s t h v a l u e a n m e m o r y l o c a t i o n 5 t h e v a l u e 1 6 0 .M e m o r y l o c a t i o n 5 h o l d s t h l e a s t s i g n i f i c a n t b y t e a n m e m o r y l o c a t i o n 5 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 m e m o r yl i m i t o B A S I C . I y o c o n v e r t t h e s e n u m b e r s i n t oh e x a d e c i m a l , y o f i n d t h v a l u e $ A 0 0 0 . T h i s i t h n o r m a le n d i n g a d d r e s s o B A S I C . B p o k i n g d i f f e r e n t v a l u e i n t ot h e s e t w l o c a t i o n s , y o c a m a k e B A S I C t h i n k t h a t i h a l e s s m e m o r y t w o r k w i t h . F o r e x a m p l e , y o u c a P O K E 5 5 , 0 :P O K E 5 6 , 1 4 4 t o s e t t h e n e m e m o r y l i m i t t $ 9 0 0 0 . B A S I C w i l lt h i n k t h a t t h t o o f i t s m e m o r y i $ 9 0 0 0 .L e t ' s s a t h a t w w a n t o u p r o g r a m t b e g i n s t a r t i n g a a d d r e s s 4 9 1 5 2 ( $ C 0 0 0 ) i p l a c e i n a c c e s s i b l e t B A S I C . 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 :

1

Page 21: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 21/304

A D D R0 0 0 0C O O OC O O OC O O OC O O OC O O OC 0 0 3C 0 0 5C 0 0 8C 0 0 BC 0 0 DC O O FC 0 1 2C 0 1 4C 0 1 6C 0 1 9C 0 1 AC 0 1 DC 0 2 0C 0 2 2C 0 2 5C 0 2 7C 0 2 9C 0 2 CC 0 2 FC 0 3 0

V A L U E

2 A 8 2 C F A C F 9 E 8 4 A 9 A A 2 4 0 0

4 0 2 E 0 F 2 O O 3

2 0 0 3 3 C I 7

E C F

C

C

C C C

A A

L A B E LB A S I CC L R S C RG E S T R O U TS T A R T

L O O P

O U

S A V E XB U F F

O P O R E Q E Q E Q E Q J S L D S T J S C M B E L D C M B E S T

N S T J M L D S T L D L D J S J M B Y D S

O P E R A N D$ C 0 0 0$ A 4 7 4$ E 5 4 4$ F F E 4$ A B 1 EC L R S C R# $ 0 0S A V E XG E # $ 0 0L O O PS A V E X# $ 0 DO U B U F F , XS A V E XL O O P# $ 0 0B U F F r X# < B U F F# > B U F FS T R O U TB A S I C8

R E M A R K S

; C L E A R S C R E E N; Z E R O L E N G T H; S A V E I ; R E A D K E Y B O A R D; K E Y P R E S S E D ?; N O - B A C K !; Y E S - R E S T O R E L E N G T H; R E T U R N K E Y ?; Y E S O U T P U T !; N O - S A V E C H A R A C T E R; L E N G T H T E X T + ; S A V E L E N G T H; R E A D A G A I N; P L A C E $ 0 A E N

O T E X T; L S B O F T E X T S T A R T; M S B O F T E X T S T A R T; P R I N T S T R I N G; R E T U R N T B A S I C; X - R E G S A V E; R E S E R V E 8 0 - B Y T E S

T h m e m o r y e x c e r p t w i t h t h m o n i t o r l o o k s l i k e t h i s :

> C O O O C 0 2 8> C O O O 2 4 E A 0 8 2 C > C 0 0 8 2 E F C 0 F F A > C 0 1 0 2 C O C 9 O F O 9 3 > C 0 1 8 C E 8 2 F C O 4 C 0 C > C 0 2 0 A 0 9 3 C A 3 A . C 0 2 8 C 2 I A 5 7 A 0

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

S Y S 4 9 1 5 2T h p u r p o s e o f t h i s S Y c o m m a n d i t c a l l m a c h i n el a n g u a g e p r o g r a m t h a t b e g i n s a m e m o r y l o c a t i o n 4 9 1 5 2( $ C 0 0 0 ) . I t h m a c h i n e l a n g u a g e p r o g r a m h a e r r o r s i i t

y o u r c o m p u t e r p r o g r a m m a y " c r a s h 1 1 a n b e c o m e i n o p e r a b l e . I t h i s c a s e , y o u h a v e n a l t e r n a t i v e b u t t u r n t h c o m p u t e ro f f f a n t h e n b a c k o a g a i n .

1

Page 22: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 22/304

B t h w a y , y o u c a n a l s o u s e t h e S Y S c o m m a n d t c a l lr o u t i n e s i o p e r a t i n g s y s t e m ( s e e C h a p t e r 1 . 4 ) . B u s i n g t h b u i l t i n r o u t i n e s , y o u c a n s a v e l o o t i m e a n e f f o r t i y o u r p r o g r a m m i n g .N o e x p e r i m e n t w i t h y o u r o w p r o g r a m s .

1 . U s e f u l a d d r e s s e s o t h C O M M O D O R E 6 R O M SI y o w r i t e y o u r o w p r o g r a m s i m a c h i n e l a n g u a g e , y o c a s a v e l o t o f t i m e b y t a k i n g a d v a n t a g e o f t h e R O M r o u t i n e st h a t a r b u i l t i n t o t h C o m m o d o r e 6 4 E s p e c i a l l y u s e f u l a r t h r o u t i n e s f o a c c e s s i n g t h p e r i p h e r a l d e v i c e s s u c h a t h p r i n t e r o f l o p p y d i s k .T h m o s t i m p o r t a n t r o u t i n e s o t h C o m m o d o r e 6 a r s u m m a r i z e d i j u m p t a b l e l o c a t e d a t h e n o m e m o r y .T h i s j u m p t a b l e c o n t a i n s t h m e m o r y l o c a t i o n s o c o m m o n l yu s e d r o u t i n e s o f t h e o p e r a t i n g s y s t e m a n i a l s o c a l l e d t h K E R N A L . C o m m o d o r e h a p r o m i s e d n o t c h a n g e t h e s e a d d r e s s e sa n e w C o m m o d o r e c o m p u t e r s a p p e a r o n t h e m a r k e t . T h e r e f o r ei s h o u l d b p o s s i b l e t t r a n s f e r p r o g r a m t n e w e r C o m m o d o r ec o m p u t e r s a t h e y a r i n t r o d u c e d i t h e s e K e r n a l r o u t i n e sa r u s e d . T h e j u m p t a b l e o t h C o m m o d o r e 6 4 i s f o t h m o s tp a r t i d e n t i c a l w i t h t h V I 2 0 s i i e a s y t c o n v e r t V I 2 p r o g r a m s t w o r k w i t h t h C o m m o d o r e 6 w i t h t h h e l p o t h e s e r o u t i n e s .N O w t a k e c l o s e r l o o k a s o m e o t h e s e r o u t i n e s :

A D D R E S S F U N C T I O N

$ F F 9 0

$ F F 9 3

c o n t r o l s t h o u t p u t o k e r n a l m e s s a g e si b i i s e c o n t r o l m e s s a g e s f r o m k e r n a la r e d i s p l a y e d .i b i i s e e r r o r m e s s a g e s f r o m k e r n a l a r d i s p l a y e d .s e n d s s e c o n d a r y a d d r e s s o v e ra f t e r L I S T E N c o m m a n d

t h s e r i a l b u s

$ F F 9 6 s e n d s s e c o n d a r y a d d r e s s o v e r t h a f t e r T A L K c o m m a n d

s e r i a l b u s

$ F F 9 9

$ F F 9 C

i c a r r y f l a g s e r e t u r n s t h h i g h e s t R A a d d r e s s t a n r e g i s t e r s ;i c a r r y f l a g i r e s e t s e t s t h h i g h e s t R A a d d r e s s t t h a t c o n t a i n e d i a n d Y r e g i s t e r s ;i c a r r y f l a g i s e r e t u r n s t h a d d r e s s t o a n r e g i s t e r s ;

l o w e s t R A M

1

Page 23: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 23/304

i c a r r y f l a g i r e s e t s e t s t h l o w e s t R A Ma d d r e s s t t h a t c o n t a i n e d i a n d Y r e g i s t e r s ;

$ F F 9 F S C A N k e y b o a r d f o p r e s s e d k e y s$ F F A 2 s e t s t h t i m e - o u t f l a g f o t h s e r i a l b u $ F F A 5 t r a n s f e r s d a t a f r o m t h s e r i a l b u s t t h

a c c u m u l a t o r$ F F A 8 t r a n s f e r s d a t a f r o m t h a c c u m u l a t o r t t h

s e r i a l b u $ F F A B s e n d s U N T A L K c o m m a n d t t h s e r i a l b u s$ F F A E s e n d s U N L I S T E N c o m m a n d t t h s e r i a l b u

$ F F B 1 s e n d s L I S T E N c o m m a n d t t h s e r i a l b u $ F F B 4 s e n d s T A L K c o m m a n d t t h s e r i a l b u $ F F B 7 r e t u r n s t h I / s t a t u s w o r d t o t h e a c c u m u l a t o r$ F F B A s e t s t h f i l e p a r a m e t e r s : a c c u m u l a t o r l o g i c a l

f i l e n u m b e r ; X - r e g d e v i c e n u m b e r ; , Y - r e gs e c o n d a r y a d d r e s s

$ F F B D s e t s p a r a m e t e r f o f i l e n a m e , a c c u m u l a t o rl e n g t h o n a m e , X - r e g a n Y - r e g a d d r e s s o f t h ef i l e n a m e

$ F F C 0 O P E N l o g i c a l f i l e$ F F C 3 C L O S E l o g i c a l f i l e , a c c u m u l a t o r l o g i c a l f i l e

n u m b e r$ F F C 6 C H K I N p r e p a r e s l o g i c a l f i l e f o r i n p u t . T h e

l o g i c a l f i l e h a s t f i r s t b O P E N e d .$ F F C 9 C H K O U T p r e p a r e s l o g i c a l f i l e f o r o u p u t . T h

l o g i c a l f i l e h a t f i r s t b O P E N e d$ F F C C C L R C H r e s e t s i n p u t / o u t p u t t t h d e f a u l t d e v i c e s

( k e y b o a r d / s c r e e n ) •$ F F C F B A S I N t r a n s f e r s c h a r a c t e r f r o m i n p u t d e v i c e t

t h a c c u m u l a t o r ,$ F F D 2 B S O U T t r a n s f e r s c h a r a c t e r f r o m t h a c c u m u l a t o r

t o t h e o u t p u t d e v i c e .$ F F D 5 L O A D p r o g r a m i n t o m e m o r y$ F F D 8 S A V E p r o g r a m s f r o m m e m o r y

1

Page 24: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 24/304

$ F F D B r e s e t s t h s y s t e m c l o c k . A , a n r e g i s t e r sc o n t a i n t h n u m b e r o j i f f i e s .

$ F F D E r e a d s t h s y s t e m c l o c k i n t o A , a n r e g i s t e r s .$ F F E 1 c h e c k s t s e i S T O P k e y i d e p r e s s e d$ F F E 4 G E T , g e t s c h a r a c t e r i n t o t h a c c u m u l a t o r$ F F E 7 C L A L L c l o s e s a l o p e n f i l e s$ F F E A u p d a t e s t h s y s t e m c l o c k$ F F E D r e t u r n s t h n u m b e r o c o l u m n s / r o w s o n t h e s c r e e n

i n a n d Y r e g i s t e r s$ F F F 0 i c a r r y f l a g i s e r e t u r n s c u r s o r p o s i t i o n

i Y - r e g ( o f c o l u m n s ) a n X - r e g ( o r o w s )i c a r r y f l a g i r e s e t s e t s c u r s o r p o s i t i o n t r o i X - r e g a n c o l u m n i Y - r e g .

$ F F F 3 r e t u r n s t h s t a r t i n g a d d r e s s o t h I / c o m p o n e n t

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

A D D R E S S F U N C T I O N

$ E 5 1 8 c o m p l e t l y r e s e t t h s c r e e n a n d t h e k e y b o a r d$ E 5 4 4 C L R c l e a r t h s c r e e n$ E 5 6 6 H O M E p o s i t i o n t h c u r s o r t t h u p p e r l e f t

c o r n e r o t h s c r e e n$ E 5 6 C c a l c u l a t e s t h c u r s o r p o s i t i o n a n p l a c e s i t

a d d r e s s a $ D 1 - D 2 ( 2 0 9 - 2 1 0 d e c i m a l ) .

$ E 5 A 0 l o a d s t h v i d e o c o n t r o l l e r w i t h t h s t a n d a r dv a l u e s$ E 5 B 4 g e t s c h a r a c t e r f r o m o t h 1 0 - b y t e k e y b o a r d

b u f f e r$ E 5 C A w a i t s f o k e y b o a r d i n p u t$ E 8 E A s c r o l l s s c r e e n u o n e l i n e

$ E 9 F F b l a n k o n s c r e e n l i n e d e s i g n e d b X - r e g .$ E A 1 C s e t s c h a r a c t e r i c o l o r o t h s c r e e n a

c u r r e n t c u r s o r p o s i t i o n ( s c r e e n c o d e i t h a c c u m u l a t o r a n c o l o r i X - r e g )

1

Page 25: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 25/304

1 . D A T A I N P U T / O U T P U T F R O M M A C H I N E L A N G U A G E P R O G R A M ST h e r e a r e t w o w a y s t p e r f o r m d a t a i n p u t o r o u t p u t f r o mm a c h i n e l a n g u a g e p r o g r a m s o y o u r C o m m o d o r e 6 4 Y o c a w r i t e t h r o u t i n e s y o u r s e l f o y o u c a n u s e t h e r o u t i n e s t h a ta r p a r t o f t h e b u i l t i n o p e r a t i n g s y s t e m .

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

1 . 5 . 1 I n p u t a n O u t p u t o S i n g l e C h a r a c t e r sT h e t w o b a s i c r o u t i n e s f o i n p u t t i n g o o u t p u t t i n g d a t a a r c a l l e d :

B A S I N w h i c h i l o c a t e d a $ F F C F a n i n p u t s c h a r a c t e ra n

B S O U T w h i c h i l o c a t e d a $ F F D 2 a n o u t p u t s c h a r a c t e rT h b y t e s t o b e i n p u t o o u t p u t a r t r a n s f e r r e d v i t h a c c u m u l a t o r .

E x a m p l e : O u t p u t 1 2 - b y t e s t r i n g o t e x t t t h s c r e e n .; z e r o i n d e x r e g i s t e r; g e t o n c h a r a c t e r t e x t; a n d d i s p l a y i o s c r e e n; p o i n t t n e x t c h a r a c t e r; a l l c h a r a c t e r s y e t ?; n o - k e e p g o i n g; y e s - w e ' r e d o n e

I n p u t i p e r f o r m e d s i m i l a r l y . F o i n s t a n c e , i t e x t i t b e n t e r e d f r o m t h k e y b o a r d t h c u r s o r f l a s h e s a n e a c hc h a r a c t e r i a c c e p t e d u n t i l t h R E T U R N k e i p r e s s e d .

; z e r o i n d e x r e g i s t e r; g e t c h a r a c t e r f r o m k e y b o a r d; a n d s a v e i ; p o i n t t n e x t c h a r a c t e r; R E T U R N k e p r e s s e d ?; n o , g e t m o r e c h a r a c t e r s; y e s - w e ' r e d o n e; s p a c e f o s a v i n g t h t e x t

W h e n w r i t i n g o n t o t h s c r e e n f y o u c a n t a k e f u l l a d v a n t a g e o

1

O U T P U TL

T E X T

L D L D J S I N C P B N R T A S

# T E X T , XB S O U T# 1 L

E X A M P L E T E X T

I N P U TL

T E X T

L D J S S T I N C M B N R T D S

# B A S I NT E X T , X# 1 L 8

Page 26: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 26/304

t h s c r e e n c o n t r o l c h a r a c t e r s . F o i n s t a n c e , y o c a u s t h c o n t r o l c h a r a c t e r f o c l e a r i n g t h s c r e e n o c h a n g i n gt h c h a r a c t e r c o l o r s . T h a p p r o p r i a t e c o n t r o l c o d e i l o a d e di n t o t h a c c u m u l a t o r a n d s e n t t t h o u t p u t r o u t i n e ( B S O U T ) .E x a m p l e : c l e a r s c r e e n

L D J S

# 1 4 7B S O U T

; c o d e f o r c l e a r i n g t h s c r e e n; o u t p u t

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

J S C L R S C R ; l o c a t e d a $ E 5 4 4

r o u t i n e f o h o m i n g t h c u r s o r i s J S H O M E ; l o c a t e d a $ E 5 6 6

I y o w a n tp o s i t i o n :

L D L D C L J S L D J S

t

# L I N E# C O LC U R S O R# ' B S O U T

p l a c e t h c u r s o r a s p e c i f i c s c r e e n; l i n e n u m b e r , t 2 ; c o l u m n n u m b e r , t 3 ; s e t c a r r y c l e a r c u r s o r; p o s i t i o n c u r s o r $ F F F 0; c h a r a c t e r t o b e o u t p u t; o u t p u t

T h r o u t i n e c a l l e d C U R S O R h a t w f u n c t i o n s . W h e n c a l l e dw i t h c a r r y f l a g c l e a r ( a i t h a b o v e e x a m p l e ) , i p o s i t i o n s t h c u r s o r a t h l i n e a n d t h c o l u m n t h a t a r i t h a n d t h e r e g i s t e r . I C U R S O R i c a l l e d w i t h t h c a r r y f l a g s e t , t h e c u r r e n t c u r s o r p o s i t i o n i r e t u r n e d t y o i t h a n r e g i s t e r s .O n c e a g a i n h e r e a r e t h e a d d r e s s e s o t h r o u t i n e s u s e d a b o v e :

B A S I NB A S O U TC L R S C RC U R S O RH O M E

$ F F C F$ F F D 2$ E 5 4 4$ F F F 0$ E 5 6 6

1 . 5 . 2 I n p u t a n O u t p u t U s i n g P e r i p h e r a l D e v i c e sF o r i n p u t a n o u t p u t u s i n g p e r i p h e r a l d e v i c e s t h o p e r a t i n gs y s t e m c o n t a i n s t h n e c e s s a r y r o u t i n e s .T h p e r i p h e r a l a r a s s i g n e d d e v i c e n u m b e r f r o m t 1 5

1

Page 27: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 27/304

N U M B E R D E V I C Ek e y b o a r dd a t a s e t t eR S 2 3 2 i n t e r f a c es c r e e n

4 - 1 5 d e v i c e s o t h s e r i a l b u I a d d i t i o n t t h i s d e v i c e n u m b e r , t h e r e m a b s e c o n d a r ya d d r e s s w h i c h f u r t h e r s p e c i f i e s i n f o r m a t i o n r e q u i r e d b t h p e r i p h e r a l d e v i c e a n f i l e n a m e . T e s t a b l i s h c o n n e c t i o nt o t h e p e r i p h e r a l , y o m u s t O P E N f i l e .T h O P E N c o m m a n d s p e c i f i e s l o g i c a l f i l e n u m b e r , d e v i c en u m b e r a n t h o p t i o n a l s e c o n d a r y a d d r e s s . S a s t o a v o i ds p e c i f y i n g t h p e r i p h e r a l d e v i c e n u m b e r e a c h t i m e y o w a n tt t r a n s f e r i n f o r m a t i o n , o n l y t h l o g i c a l f i l e n u m b e r i u s e d a f t e r t h O P E N i c o m p l e t e . T h l o g i c a l f i l e n u m b e rt h e n r e f e r s t t h d e v i c e n u m b e r a n s e c o n d a r y a d d r e s s w i t hw h i c h i w a O P E N e d .A g a i n , b e f o r e a n t r a n s f e r o i n f o r m a t i o n c a h a p p e n t o f r o m p e r i p h e r a l d e v i c e s , f i l e m u s t b O P E N e d . Y o u c a O P E N f i l e f r o m B A S I C o f r o m m a c h i n e l a n g u a g e p r o g r a m .T O P E N f i l e f r o m m a c h i n e l a n g u a g e p r o g r a m y o m u s tf i r s t s e t h f i l e p a r a m e t e r s . Y o u m u s t p l a c e t h l o g i c a lf i l e n u m b e r i m e m o r y l o c a t i o n $ B ( 1 8 4 ) ; t h d e v i c e n u m b e ri $ B ( 1 8 6 ) , s e c o n d a r y a d d r e s s i $ B ( 1 8 5 ) ; l e n g t h o f i l en a m e i $ B ( 1 8 3 ) ( z e r o i n f i l e n a m e i g i v e n ) ; a n d t h ea d d r e s s o f t h e f i l e n a m e i $ B B / $ B C ( 1 8 7 / 1 8 8 ) . T h e n t h y o m a c a l l t h r o u t i n e t O P E N f i l e a $ F F C 0 .T h k e r n a l c o n t a i n s s e v e r a l r o u t i n e s t s e t h f i l ep a r a m e t e r s . T h r o u t i n e S E T L F S ( $ F F B A ) s e t s t h l o g i c a l f i l en u m b e r , d e v i c e n u m b e r a n s e c o n d a r y a d d r e s s . T h r o u t i n eS E T N A M ( $ F F B D ) s e t s t h f i l e n a m e f o O P E N , L O A D a n S A V Er o u t i n e s . T h f o l l o w i n g e x a m p l e i l l u s t r a t e s t h e u s e o f t h e s er o u t i n e s :

; l o g i c a l f i l e n u m b e r i a c c u m u l a t o r; d e v i c e n u m b e r i X - r e g i s t e r; s e c o n d a r y a d d r e s s i Y - r e g i s t e r; l o c a t e d a $ F F B A; l e n g t h o f i l e n a m e; l o w o r d e r a d d r e s s o f i l e n a m e; h i g h o r d e r a d d r e s s o f i l e n a m e; l o c a t e d a $ F F B D; l o c a t e d a $ F F C 0

; t h i s i t h f i l e n a m e; t h i s i t h l e n g t h o f i l e n a m e

N A M EL N A M E

L D L D L D J S L D L D L D J S J S

A S B Y

# # # S E T L F S# L N A M E# < N A M E# > N A M ES E T N A MO P E N

• F I L E 1

1

Page 28: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 28/304

L D J S L D J S

# L C H K O U TD A T AB S O U T

B e f o r e w r i t i n g o u t p u t t a O P E N f i l e y o u m u s t : c a l l t h r o u t i n e C H K O U T ( $ F F C 9 ) i o r d e r t r e a d y t h o u t p u t p a t h t t h p e r i p h e r a l a s s o c i a t e d w i t h t h l o g i c a l f i l e n u m b e r ;p l a c e t h d a t a t b t r a n s f e r r e d i n t o t h a c c u m u l a t o r ; a n c a l l B S O U T ( $ F F D 2 ) t o u t p u t t h d a t a .H e r e ' s s h o r t p r o g r a m t h a t d o e s t h i s :

; l o g i c a l f i l e n u m b e r; $ F F C 9; p l a c e d a t a i n t o a c c u m u l a t o r; w r i t e d a t a t o u t p u t f i l e

A l o u t p u t i d i r e c t e d t t h i s d e v i c e u n t i l t h r o u t i n eC L R C H i c a l l e d . C L R C H r e s e t t h s t a n d a r d o u p u t t t h s c r e e n , s t h a t s u b s e q u e n t c a l l s t B S O U T r e s u l t s i t h d a t a b e i n g s e n t t t h s c r e e n .

J S C L R C H ; $ F F C C r e s e t o u t p u t t s c r e e nI y o w a n t t i n p u t d a t a f r o m f i l e : c a l l t h r o u t i n eC H K I N ( $ F F C 6 ) i o r d e r t r e a d y t h i n p u t p a t h t t h p e r i p h e r a l a s s o c i a t e d w i t h t h l o g i c a l f i l e n u m b e r ; a n d c a l lB A S I N ( $ F F C F ) t o i n p u t t h d a t a . B A S I N w i l l r e t u r n t h d a t ai n t h e a c c u m u l a t o r .

L D X # L F ; f i l e n u m b e r o t h i n p u t d e v i c eJ S C H K I N ; l o c a t e d a $ F F C 6J S B A S I N ; l o c a t e d a $ F F C FS T A D A T A ; s a v e t h d a t a

A l d a t a i i n p u t f r o m t h i s d e v i c e u n t i l t h r o u t i n e C L R C Hi c a l l e d . C L R C H r e s e t t h s t a n d a r d i n p u t t t h k e y b o a r d ,s t h a t s u b s e q u e n t c a l l s t B A S I N r e s u l t s i d a t a b e i n gi n p u t f r o m t h k e y b o a r d .W h e n C L R C H i c a l l e d , a l f i l e s r e m a i n o p e n . C L R C H m e r e l yr e d i r e c t s i n p u t a n o u t p u t t o f r o m t h s t a n d a r d d e v i c e so f t h e C o m m o d o r e 6 ( k e y b o a r d a n s c r e e n r e s p e c t i v e l y ) .W h e n y o a r f i n i s h e d u s i n g a i n p u t o o u t p u t f i l e , y o um u s t c l o s e e a c h u s i n g t h r o u t i n e C L O S E ( $ F F C 3 ) .

L D # L ; l o g i c a l f i l e n u m b e rJ S C L O S E ; l o c a t e d a $ F F C 3

T h a l t e r n a t i v e i t c l o s e a l o t h f i l e s b u s i n g t h r o u t i n e C L A L L ( $ F F E 7 ) .

J S R C L A L L ; c l o s e a l o p e n f i l e s

2

Page 29: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 29/304

1 . 5 . 3 S a v i n g a n L o a d i n g D a t aF o s a v i n g d a t a a n p r o g r a m s , t h C o m m o d o r e 6 o f f e r s y o b o t h t a p e a n d i s k f o s e c o n d a r y s t o r a g e . S i n c e b o t h d e v i c e so p e r a t e q u i t e d i f f e r e n t l y t h e y a r d e s c r i b e d s e p a r a t e l y .1 . 5 . 3 . 1 S a v i n g D a t a o n C a s s e t t e

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

S i n c e s a v i n g o l o a d i n g p r o g r a m s r e q u i r e s o n l y s e q u e n t i a lw r i t i n g o r r e a d i n g , c a s s e t t e r e c o r d e r i s u i t a b l e m e d i u mf o p r o g r a m s t o r a g e . T h e m a j o r d i s a d v a n t a g e o c a s s e t t e i t h s l o w s p e e d o d a t a t r a n s f e r .F o r e l i a b i l i t y , d a t a i w r i t t e n t t h t a p e r e d u n d a n t l y .L a t e r , i e r r o r s a r d e t e c t e d w h e n r e a d i n g t h t a p e , t h r e d u n d a n t d a t a c a n b u s e d t c o r r e c t t h e r r o r s .L e t ' s t a k e c l o s e r l o o k a t h t e c h n i q u e o w r i t i n g d a t a t t a p e .

f i l e i w r i t t e n t t a p e i t h r e e p a r t s . F i r s ts y n c h r o n i z i n g s o u n d i w r i t t e n t o t h e t a p e . T h e n a b l e s t h C o m m o d o r e 6 t p r e p a r e i t s e l f f o s u b s e q u e n t d a t a t r a n s f e r .N e x t h e a d e r i w r i t t e n t t h t a p e . T h h e a d e r c o n t a i n si d e n t i f y i n g i n f o r m a t i o n a b o u t t h f i l e t h a t f o l l o w s . F i n a l l yt h d a t a i w r i t t e n t t h t a p e . T h i s d a t a i w r i t t e nr e d u n d a n t l y .S i n c e v a r i o u s f o r m s o d a t a c a b s a v e d t t a p e , t h e r e m u s tb w a t d i s t i n g u i s h t h e m f r o m o n a n o t h e r . T h i s i t h p u r p o s e o t h e h e a d e r . T h e h e a d e r c o n t a i n s t h f o l l o w i n gi n f o r m a t i o n :

p o s i t i o nw i t h i n h e a d e r V a l u e

t y p e o h e a d e rv a l u e : m e a n i n g :

B A S I C p r o g r a m i i l o a d e d s t a r t i n g a t h B A S I C a d d r e s sd a t a b l o c k b y t e s2 - 1 9 2 c o n t a i n t h d a t am a c h i n e l a n g u a g e p r o g r a ml o a d e d a a b s o l u t e a d d r

d a t a h e a d e r - d a t a f o l l o w s

2

Page 30: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 30/304

Page 31: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 31/304

S u m m a r i z i n g a l l t h e r e l a t i o n s i n t a b l e a g a i n :

L O A DL O A D " N A M E n , l

L O A D " N A M E " ,

l o a d s B A S I C p r o g r a m , a t t h e s t a r to B A S I C . T y p e h e a d e r i l o a d e da b s o l u t e l y .l o a d s e v e r y p r o g r a m a b s o l u t e l y

S A V ES A V E " N A M E ' MS A V E " N A M E " , 1 , 1S A V E " N A M E " , 1 , 2S A V E " N A M E " , 1 , 3

s a v e s B A S I C p r o g r a ms a v e s m a c h i n e p r o g r a ms a v e s B A S I C p r o g r a m w i t h a a d d i t i o n a l E O b l o c ks a v e s a m a c h i n e p r o g r a m w i t h a a d d i t i o n a l E O T b l o c k

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

O P E N 1 , 1 , 0 " N A M E " o p e n s f i l e f o r r e a d i n gO P E N 1 , 1 , 1 " N A M E " o p e n s f i l e f o r w r i t i n gO P E N 1 , 1 , 2 , " N A M E " o p e n s f i l e f o r w r i t i n g w i t h a

a d d i t i o n a l E O b l o c k

T h C L O S E c o m m a n d p e r f o r m s t h n e c e s s a r y h o u s e k e e p i n g f o t h f i l e . I t h e f i l e w a o p e n f o w r i t i n g , z e r o b y t e i w r i t t e n i n t o t h t a p e b u f f e r a n d t h e b u f f e r i w r i t t e n o n t ot h t a p e . T h u s i i a b s o l u t e l y n e c e s s a r y t C L O S E t a p ef i l e . O t h e r w i s e , t h f i n a l d a t a i n o w r i t t e n t t h t a p e .T h e r e a r a l s o r e s t r i c t i o n s c o n c e r n i n g d a t a t r a n s f e r o n t ot a p e . N o r m a l l y d a t a i w r i t t e n o n t o t h t a p e i A S C I If o r m a t ( l e t t e r s , d i g i t s , a r i d s p e c i a l s y m b o l s ) . I d a t a i w r i t t e n w i t h P R I N T # 1 , C H R $ ( I ) , n o a l p o s s i b l e s y m b o l s c a b w r i t t e n . I p a r t i c u l a r , C H R $ ( 0 ) i f i l t e r e d o u t , b e c a u s ei i u s e d a s a n e n s y m b o l b t h o p e r a t i o n s y s t e m .

1 . 5 . 3 . 2 S a v i n g D a t a o D i s k e t t ed i s k e t t e i d i v i d e d i n t o t r a c k s a n s e c t o r s w h i c h c a b

a c c e s s e d i n d i v i d u a l l y . T h a t m a k e s i p o s s i b l e t h a v e d i r e c ta c c e s s t d a t a w i t h o u t h a v i n g t r e a d t h r u a l l t h e o t h e rd a t a .P r o g r a m s a r s a v e d a f o l l o w s . T h a d d r e s s o f t h e p r o g r a ma r t r a n s f e r r e d t t h p r o g r a m f i l e o d i s k e t t e . T h a d d r e s si s e n t l e a s t s i g n i f i c a n t b y t e f i r s t f o l l o w e d b t h m o s ts i g n i f i c a n t b y t e . T h e n t h p r o g r a m i t s e l f i t r a n s f e r r e d . O

2

Page 32: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 32/304

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

L O A D " N A M E " , 8 l o a d s B A S I C p r o g r a m a s t a r t o B A S I C a d d r e s sL O A D " N A M E " , 8 , 1 l o a d s B A S I C p r o g r a m s t a r t i n g a t h s a v e d s t a r t i n g a d d r e s s

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

1 O P E N 1 , 8 , 1 , " N A M E 1 1 : R E M p r o g r a m f i l e f o r e a d i n g2 G E T # 1 , A S B : R E M g e s t a r t a d d r e s s3 0 I F A " T H E N A C H R $ ( 0 )4 I F B $ " T H E N B $ C H R $ ( 0 )5 P R I N T A S C ( A $ ) + 2 5 6 * A S C ( B $ ) : R E M d e c i m a l a d d r e s s6 C L O S E

T h s t a r t i n g a d d r e s s o t h p r o g r a m i p r i n t e d o u i d e c i m a l . T h e t e s t f o n u l l s t r i n g i l i n e s 3 a n 4 i n e c e s s a r y , b e c a u s e t h G E c o m m a n d d o e s n o a c c e p t b y t ew i t h z e r o v a l u e .I y o w a n t t w r i t e m a c h i n e l a n g u a g e p r o g r a m t d i s k e t t e ,y o u c a n d i l i k e t h i s :

1 O P E N 1 , 8 , 0 , " N A M E , P , W " : R E M p r o g r a m f i l e2 P R I N T # 1 , C H R $ ( A D - I N T ( A D / 2 5 6 ) * 2 5 6 ) ? : R E M a d d r e s s l o 3 P R I N T # 1 , C H R $ ( A D / 2 5 6 ) ; : R E M s t a r t a d d r e s s h i g h4 F O 1 = T N - s - R E M s a v e b y t e s5 P R I N T # 1 , C H R $ ( P E E K ( A D + D ) ; : R E M t h i s i y o u r6 N E X T I s R E M p r o g r a m d a t a6 C L O S E * R E M c l o s e p r o g r a m f i l e

T h v a r i a b l e A c o n t a i n s t h s t a r t i n g a d d r e s s o t h m a c h i n el a n g u a g e p r o g r a m a n t h v a r i a b l e c o n t a i n s t h l e n g t h o t h p r o g r a m i b y t e s .H o d y o u s a v e p r o g r a m s o a r e a s o m e m o r y 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 ?H e r e a g a i n w h a v e t w o p e r a t i n g s y s t e m r o u t i n e s c a b u s e d :

L O A D $ F F D 5S A V E $ F P D 8

T h L O A D r o u t i n e i u s e d i t h f o l l o w i n g w a y :T h n a m e o t h f i l e a n t h a p p r o p r i a t e d e v i c e n u m b e r m u s tb s e u s i n g t h k e r n a l r o u t i n e s S E T F L S ( $ F F B A ) a n d S E T N A M( $ F F B D ) . T h a c c u m u l a t o r i l o a d e d w i t h z e r o t i n d i c a t et h a t L O A D i t b p e r f o r m e d . I L O A D i c a l l e d w i t h i

2

Page 33: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 33/304

t h a c c u m u l a t o r , V E R I F Y i p e r f o r m e d i n s t e a d o L O A D .T h s e c o n d a r y a d d r e s s d e t e r m i n e s w h e r e i m e m o r y t h l o a d i n gi t t a k e p l a c e . I t h s e c o n d a r y a d d r e s s i o 2 t h p r o g r a m i l o a d e d a t h a d d r e s s f r o m w h i c h t h p r o g r a m w a s a v e d . I t h s e c o n d a r y a d d r e s s i z e r o , t h e p r o g r a m i l o a d e d a t h a d d r e s s s p e c i f i e d b y t h e a n r e g i s t e r s( l o w / h i g h ) .E x a m p l e : L o a d i n g o m a c h i n e p r o g r a m f r o m d i s k e t t e , t o t h eo r i g i n a l a d d r e s s .

; l o g i c a l f i l e n u m b e r; d e v i c e n u m b e r o t h f l o p p y; s e c o n d a r y a d d r e s s; l o c a t e d a $ F F B A - s e t f i l e p a r m s .; l e n g t h o t h e f i l e n a m e; a d d r e s s o f t h e f i l e n a m e; h i g h b y t e o f t h e a d d r e s s; l o c a t e d a $ F F B D - s e t f i l e n a m e; L O A D f l a g; l o a d p r o g r a m; e n d a d d r e s s l o ; e n d a d d r e s s h i g h

N A M E

L D L D L D J S L D L D L D J S L D J S S T S T

A S

# # # S E T F L S# # < N A M E# > N A M ES E T N A M# L O A DA D A D R + 1

' F I L E l '

N o t e t h a t t h L O A D r o u t i n e r e t u r n s t h e n d i n g a d d r e s s o f t h el o a d e d p r o g r a m i t h e X a n d r e g i s t e r s .I t h f o l l o w i n g e x a m p l e , p r o g r a m i l o a d e d f r o m t h t a p e ,s t a r t i n g a a d d r e s s $ 6 0 0 0 . T h e s a v e d a d d r e s s i i g n o r e d .

; l o g i c a l f i l e n u m b e r; d e v i c e n u m b e r c a s s e t t e r e c o r d e r; s e c o n d a r y a d d r e s s; a $ F F B A - s e t f i l e p a r a m e t e r s; l e n g t h o t h f i l e n a m e; a d d r e s s o f i l e n a m e; h i g h b y t e o a d d r e s s; a $ F F B D - s e t p a r m s f o f i l e n a m e; L O A D - f l a g; l o a d a d d r e s s l o ; l o a d a d d r e s s h i g h; l o a d p r o g r a m; e n d a d d r e s s l o ; e n d a d d r e s s h i g h

L D L D L D J S L D L D L D J S L D L D L D J S S T S T

# # # S E T L F S# # < N A M E# > N A M ES E T N A M# # $ 0 0# $ 6 0

L O A DA D A D R + 1

N A M E A S I F I L E 2 I

2

Page 34: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 34/304

I m a c h i n e p r o g r a m i t b l o a d e d w i t h L O A D f r o m B A S I Cp r o g r a m , y o u w i l l e n c o u n t e r f e w d i f f i c u l t i e s .Y o u c a n l o a d p r o g r a m a t a n a b s o l u t e a d d r e s s b u s i n gs e c o n d a r y a d d r e s s o d u r i n g O P E N , b u t t h e r e s t i l l i p r o b l e m . A f t e r e v e r y L O A D , t h e n d i n g a d d r e s s o t h l o a di s e e q u a l t t h e n d i n g a d d r e s s o f t h e B A S I C p r o g r a m a n p r o g r a m e x e c u t i o n s t a r t s a t h b e g i n n i n g o t h p r o g r a m .T h i s m a k e s s e n s e f o r e l o a d i n g o B A S I C p r o g r a m s ( o v e r l a y ) ,b u i c r e a t e s p r o b l e m s w h e n l o a d i n g o m a c h i n e l a n g u a g ep r o g r a m s o r t h e c o n t e n t s o r a n g e o m e m o r y . I s u c hc a s e , y o u c a n u s e s m a l l m a c h i n e l a n g u a g e p r o g r a m ( s u c h a i t h p r e v i o u s e x a m p l e ) t h a t y o c a c a l l f r o m t h B A S I Cp r o g r a m b S Y S .S a v i n g p r o g r a m s a n a n m e m o r y r a n g e s w i t h t h S A V E r o u t i n eh a p p e n s s i m i l a r l y . I a d d i t i o n t o t h e d e v i c e n u m b e r a n f i l en a m e i n f o r m a t i o n , t h S A V E r o u t i n e h a t k n o w t h s t a r t i n ga n t h e n d i n g a d d r e s s o t h p r o g r a m . T h s t a r t i n g a d d r e s sk e p t i z e r o p a g e i t w c o n s e c u t i v e m e m o r y l o c a t i o n s ( l o wa n h i g h b y t e ) . T h a d d r e s s o t h i s z e r o p a g e l o c a t i o n i t r a n s f e r r e d t t h S A V E r o u t i n e v i t h a c c u m u l a t o r . T h e n d i n g a d d r e s s i s i n t h X - r e g i s t e r ( l o w b y t e ) a n t h Y r e g i s t e r ( h i g h b y t e ) .S u p p o s e w n o w w a n t t s a v e t h m e m o r y r a n g e f r o m $ C 0 0 0t h r o u g h $ C F F F o d i s k e t t e u n d e r t h n a m e " P G R M B " . T h es t a r t i n g a d d r e s s o t h p r o g r a m i s i n $ F B / $ F C .

L D # ; l o g i c a l f i l e n u m b e rL D # ; d e v i c e n u m b e r o f t h e f l o p p yL D # ; s e c o n d a r y a d d r e s sJ S S E T L F S ; a $ F F B A - s e t f i l e p a r a m e t e rL D # ; l e n g t h o f i l e n a m eL D # < N A M E ; a d d r e s s o f i l e n a m eL D # > N A M E ; h i g h b y t e o a d d r e s sJ S S E T N A M ; a $ F F B D - s e t p a r m s f o f i l e n a m eL D # $ C 0 ; a d d r e s s h i g h o t h s t a r tS T $ F o f t h e p r o g r a mL D # $ 0 0 ; a d d r e s s l o o t h s t a r tS T $ F o f t h e p r o g r a mL D # $ F B ; p o i n t e r o s t a r t a d d r e s sL D # $ 0 0 ; e n d a d d r e s s + l o L D # $ D 0 ; e n d a d d r e s s + h i g hJ S S A V E ; s a v e p r o g r a m

N A M E A S ' P G R M B 1 ; f i l e n a m e

I t h a b o v e e x a m p l e , t h e n d i n g a d d r e s s o t h p r o g r a m i p a s s e d t t h S A V E r o u t i n e i t h e X a n r e g i s t e r s .A f i n a l e x a m p l e , h e r e i h o t s a v e B A S I C p r o g r a m

2

Page 35: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 35/304

w i t h o u t f i l e n a m e b u w i t h E O T s y m b o l o t a p e :L D L D L D J S L D J S L D L D L D J S

# # # S E T L F S# S E T N A M# $ 2 B# $ 2 D# $ 2 ES A V E

; l o g i c a l f i l e n u m b e r; d e v i c e n u m b e r o t h r e c o r d e r; s e c o n d a r y a d d r e s s f o E O ; a $ F F B A - s e t f i l e p a r a m e t e r; n f i l e n a m e s; a $ F F B D - s e t p a r m s f o r f i l e n a m e s; p o i n t e r t B A S I C p r o g r a m s t a r t; e n d a d d r e s s l o o f t h e p r o g r a m; e n d a d d r e s s h i g h; s a v e p r o g r a m

1 . 5 . 4 P r o g r a m m i n g t h R S - 2 3 2 I n t e r f a c eT h C o m m o d o r e 6 h a a R S - 2 3 2 i n t e r f a c e f o c o n n e c t i o n t a n p e r i p h e r a l d e v i c e t h a t f o l l o w s t h R S - 2 3 2 p r o t o c o l .T h e r e a r h u n d r e d s o d e v i c e s o n t h e m a r k e t t h a t u s R S - 2 3 2 .T h e s e i n c l u d e p r i n t e r s , m o d e m s , p l o t t e r s a n A / c o n t r o l l e r s .T h R S - 2 3 2 i n t e r f a c e t r a n s f e r s d a t a s e r i a l l y . W h a t d o e ss e r i a l t r a n s f e r m e a n a n w h e n i i u s e d ? T h C o m m o d o r e 6 s t o r e s d a t a i c h a r a c t e r s c o n s i s t i n g o b i t s . W h e nc h a r a c t e r i t b s e n t t o r e c e i v e d f r o m p e r i p h e r a ld e v i c e b s e r i a l m e t h o d , e a c h o f t h e b i t s a r t r a n s f e r r e d o n e b i t a t t i m e .I c o n t r a s t , c h a r a c t e r c a a l s o b s e n t u s i n g p a r a l l e l

m e t h o d o t r a n s f e r . H e r e , a l l b i t s a r s e n t o r e c e i v e df r o m p e r i p h e r a l d e v i c e a o n e t i m e . T h e a d v a n t a g e o p a r a l l e l t r a n s f e r i t h a t i i f a s t e r t h a n s e r i a l t r a n s f e r .B u p a r a l l e l t r a n s f e r i a l s o m o r e e x p e n s i v e a e a c h b i m u s t h a v e i t o w l i n e o v e r w h i c h t t r a n s f e r t h i n f o r m a t i o n . U s i n g s e r i a l t r a n s f e r , f e w e r l i n e s a r r e q u i r e da e a c h b i w a i t s i t t u r n t b s e n t t t h p e r i p h e r a ld e v i c e .T h k e r n a l o f t h e C o m m o d o r e 6 c o n t a i n s s o f t w a r e n e c e s s a r yt o u s e t h e R S - 2 3 2 i n t e r f a c e . Y o u c a p u r c h a s e s t a n d a r d R S 2 3 c o n n e c t o r a a a d d - o n m o d u l e , w h i c h c a t h e n b p l u g g e di n t o t h U S E R p o r t . W i t h t h i s R S - 2 3 2 c o n n e c t o r , t h C o m m o d o r e 6 i r e a d y t c o m m u n i c a t e w i t h a n s t a n d a r d R S 2 3 d e v i c e .T h R S - 2 3 2 i n t e r f a c e i a s s i g n e d d e v i c e n u m b e r o f - 2 . W h e n

l o g i c a l f i l e u s i n g d e v i c e n u m b e r i O P E N e d , t h k e r n a ls e t s a s i d e t w b u f f e r s o 2 5 c h a r a c t e r s e a c h f o u s b t h R S - 2 3 2 d e v i c e . O n b u f f e r i u s e d f o r d a t a t h a t i i n p u t t e df r o m t h p e r i p h e r a l a n d t h e s e c o n d b u f f e r i u s e d f o d a t at h a t i o u t p u t t e d t t h p e r i p h e r a l .T h e s e b u f f e r s a r n o r m a l l y s e a s i d e i m e m o r y a t h e n o

2

Page 36: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 36/304

B A S I C R A M . I t h R S - 2 3 2 i n t e r f a c e i u s e d f r o m B A S I Cp r o g r a m y o u s h o u l d O P E N t h R S - 2 3 2 d e v i c e b e f o r e a l l o c a t i n ga n s t r i n g v a r i a b l e s . I n o t , w h e n t h R S - 2 3 2 d e v i c e i O P E N e d a n d t h e t w o b u f f e r s a r a l l o c a t e d , t h e n t h s t r i n gv a r i a b l e s a r o v e r w r i t t e n a n d e s t r o y e d .A l s o n o t e t h a t o n l y o n c h a n n e l c a b O P E N e d a o n f o t h R S - 2 3 2 i n t e r f a c e .

t i m e

T h c h a r a c t e r i s t i c s o t h R S - 2 3 2 i n t e r f a c e c a a d j u s t e dw h e n t h c h a n n e l i O P E N e d . T h i s i d o n e b s e t t i n g b o t hc o n t r o l r e g i s t e r a n c o m m a n d r e g i s t e r .T h c o n t r o l r e g i s t e r s e r v e s t d e f i n e t h b a u d r a t e , t h n u m b e r o d a t a b i t s a n d t h e n u m b e r o s t o p b i t s t h a t a r e t b t r a n s f e r r e d . T h b a u d r a t e d e t e r m i n e s t h s p e e d o t h d a t a t r a n s f e r i b i t s p e r s e c o n d . T h n u m b e r o d a t a b i t sd e t e r m i n e s t h l e n g t h o e a c h w o r d ( o c h a r a c t e r ) t h a t i t b t r a n s f e r r e d . T h n u m b e r s t o p b i t s a r t h n u m b e r o b i t st b s e n t a f t e r e a c h w o r d .

I t h c o n t r o l r e g i s t e r , t h l o w e r b i t s d e t e r m i n e t h b a u dr a t e a c c o r d i n g t t h f o l l o w i n g t a b l e :

B I 1 D E C I M A L B A U D R A T E

0 0 0 00 0 0 10 0 1

0

1 1 1 1

1

0 0 1 1

1 1 1 01 1 1 1

1 1 1 1 1 1

s e b u s e r5 7

1 1 1 3 4 . 51 5 3 0 6 0

1 2 0 01 8 0 02 4 0 03 6 0 0 ( n o t4 8 0 0 ( n o t7 2 0 0 ( n o t9 6 0 0 ( n o t

1 9 2 0 0 ( n o t

( n o t i m p l e m e n t e d )

i m p l e m e n t e d )i m p l e m e n t e d )i m p l e m e n t e d )i m p l e m e n t e d )i m p l e m e n t e d )

Y o c a p r o g r a m t h R S - 2 3 2 i n t e r f a c e t u s b a u d r a t e sb e t w e e n 5 a n d 2 4 0 0 . T h n u m b e r o d a t a b i t s a r d e t e r m i n e db b i a n 6

B I 6 D E C I M A L N U M B E R O D A T A B I T S0

1 1

3 6 9

b i t sb i t sb i t sb i t s

2

Page 37: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 37/304

Page 38: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 38/304

O P E N 1 , 2 , 0 f C H R $ ( 1 0 + 0 + 1 2 8 ) + C H R $ ( 0 + 0 + 2 2 4 )

I n p u t a n o u t p u t a r h a n d l e d t h s a m e a w i t h o t h e rp e r i p h e r a l d e v i c e s . B A S I N a n B S O U T t r a n s f e r d a t a t o f r o mt h R S - 2 3 2 d e v i c e .T h o n l y d i f f e r e n c e i t h s t a t u s r e g i s t e r ( S T ) . W h e n u s i n gR S - 2 3 2 , t h s t a t u s r e g i s t e r r e t u r n s d i f f e r e n t s e o e r r o r s t h a n w h e n u s i n g o t h e r i n p u t o o u t p u t d e v i c e s .R e a d i n g t h s t a t u s v a r i a b l e S f r o m B A S I C c l e a r s t h s t a t u se a c h t i m e i i r e a d . T h e r e f o r e y o u s h o u l d a l w a y s a s s i g n t h s t a t u s v a r i a b l e t a n o t h e r v a r i a b l e i y o u w a n t t r e m e m b e ri t v a l u e .R e a d i n g t h s t a t u s v a r i a b l e f r o m m a c h i n e l a n g u a g e p r o g r a md o e s n o c l e a r t h s t a t u s .S T g i v e s y o o n l y t h R S - 2 3 2 s t a t u s f o d a t a e x c h a n g e d o v e rt h R S - 2 3 2 i n t e r f a c e . T h m e a n i n g o f t h e d i f f e r e n t b i t s o t h R S - 2 3 2 s t a t u s i d e s c r i b e d b e l o w . I p a r t i c u l a r b i i s e ( o n ) , t h e n t h a t p a r t i c u l a r c o n d i t i o n h a o c c u r r e d .

B I D E S C R I P T I O N

p a r i t y m i s t a k ef r a m e m i s t a k er e c e i v e r b u f f e r f u l lu n u s e dC T ( c l e a r t s e n d ) s i g n a l m i s s i n gu n u s e dD S ( d a t a s e r e a d y ) s i g n a l m i s s i n gb r e a k s i g n a l r e c e i v e d

I y o u u s i n g t h R S - 2 3 2 i n t e r f a c e f r o m m a c h i n e l a n g u a g ep r o g r a m , y o u c a n p l a c e t h i n p u t a n o u t p u t b u f f e r s f o d a t at r a n s m i s s i o n a n y w h e r e i m e m o r y .T h p o i n t e r s t t h e s e b u f f e r s a r e s e t d u r i n g t h O P E Nc o m m a n d , b u t m a b m o v e d a f t e r t h O P E N i c o m p l e t e . T h e s ep o i n t e r s a r l o c a t e d i z e r o p a g e : $ F 7 / $ F 8 p o i n t s t t h i n p u t b u f f e r a n $ F 9 / $ F A p o i n t s t t h o u t p u t b u f f e r .P r o g r a m m i n g t h R S - 2 3 2 i s i m i l a r t p r o g r a m m i n g f o a n o t h e r i n p u t o o u t p u t d e v i c e e x c e p t t h a t t h d e v i c e n u m b e ri 2 O t h e r i m p o r t a n t a d d r e s s e s f o R S - 2 3 2 i n p u t / o u t p u t a r e :

$ 0 2 9 3 c o n t r o l w o r d$ 0 2 9 4 c o m m a n d w o r d$ 0 2 9 8 n u m b e r o d a t a b i t s , c o m p u t e d a O P E N$ 0 2 9 7 P S - 2 3 2 s t a t u s w o r d

3

Page 39: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 39/304

1 . 5 . 5 T h S e r i a l B u I o r d e r t c o m m u n i c a t e w i t h p e r i p h e r a l d e v i c e s , t h C o m m o d o r e 6 h a s e r i a l b u t w h i c h s e v e r a l d e v i c e s c a b c o n n e c t e d a t t h e s a m e t i m e . F r o m p r o g r a m m i n gs t a n d p o i n t , t h b u i s i m i l a r t t h I E E E - 4 8 8 b u s o e a r l i e r C o m m o d o r e c o m p u t e r s ( P E T , 8 0 3 2 , 4 0 3 2 , e t c . ) . B u t h d a t a i t r a n s m i t t e d b i t b y b i o v e r t h s e r i a l b u s . T h i s i u n l i k e t h I E E E - 4 8 8 w h i c h t r a n s m i t s d a t a i p a r a l l e l . T h t r a n s m i s s i o n s p e e d o f t h e s e r i a l b u i t h e r e f o r ec o n s i d e r a b l y s l o w e r .F i r s t w e x p l a i n t h c o n c e p t o t h s e r i a l b u s .S i n c e s e v e r a l d e v i c e s c a b c o n n e c t e d t t h s e r i a l b u a t h e s a m e t i m e , t h e r e m u s t t b w a o d i s t i n g u i s h i n g o n d e v i c e f r o m a n o t h e r . T h i s i t h p u r p o s e o t h d e v i c en u m b e r . T h C o m m o d o r e 6 a s s i g n s d e v i c e n u m b e r s t h r u 3 t o t h e s e r i a l b u s .

W h e n d e v i c e i a d d r e s s e d , t h C o m m o d o r e 6 ( c a l l e d t h b u c o n t r o l l e r ) s e n d s a a t t e n t i o n s i g n a l ( c a l l e d A T N ) o v e r t h b u s . T h i s a l e r t s a l c o n n e c t e d d e v i c e s t h a t t h e y s h o u l d b a w a r e t h a t c o m m u n i c a t i o n i b e i n g e s t a b l i s h e d w i t h o n e o ft h e m . N e x t t h C o m m o d o r e 6 s e n d s d e v i c e n u m b e r o f t h ed e s i r e d d e v i c e o v e r t h e b u s . I t h d e v i c e i a t t a c h e d t t h b u s , t h e n i r e s p o n d s t t h e A T N , o t h e r w i s e w e g e tm e s s a g e D E V I C E N O T P R E S E N T .N e x t , t h e d e v i c e i i n f o r m e d t h a t i i t e i t h e r r e c e i v ed a t a f r o m o t r a n s m i t d a t a t t h C o m m o d o r e 6 4 . I f d e v i c ei t r e c e i v e d a t a , t h e n t h C o m m o d o r e 6 s e n d s L I S T E Nc o m m a n d t t h d e v i c e . I d e v i c e i t s e n d d a t a , t h e n t h C o m m o d o r e 6 s e n d s T A L K c o m m a n d t t h d e v i c e .

s e c o n d a r y a d d r e s s m a a l s o b s e n t t t h d e v i c e t p e r f o r m a n n e c e s s a r y s e t u p . F o r e x a m p l e : O P E N 1 , 4 , 7t r a n s m i t s s e c o n d a r y a d d r e s s t t h p r i n t e r ( d e v i c e 4 w h i c h s e l e c t s U P P E R / L O W E R c a s e m o d e f o p r i n t i n g .N o t h d a t a c a b s e n t t t h d e v i c e o r e c e i v e d f r o m t h d e v i c e . I o r d e r f o r t h e d a t a t r a n s m i s s i o n t f u n c t i o na c c u r a t e l y , d a t a i t r a n s m i t t e d o n c h a r a c t e r a t i m e . T h er e c e i v e r o t h d a t a i n f o r m s t h s e n d e r w h e n t h d a t a h a b e e n s u c c e s s f u l l y a c c e p t e d . O n l y w h e n t h r e c e i v e ra c k n o w l e d g e s t h r e c e i p t o f t h e d a t a m a t h s e n d e r t r a n s m i ta n o t h e r c h a r a c t e r o d a t a . T h i s p r o c e d u r e i c a l l e dh a n d s h a k i n g a n d i n s u r e s t h i n t e g r i t y o t h d a t a a i t r a n s m i t t e d .W h e n t h d a t a t r a n s m i s s i o n i c o m p l e t e , t h d e v i c e i d e a d d r e s s e d : i t h d e v i c e w a s e n d i n g d a t a , t h C o m m o d o r e6 s e n d s i a U N T A L K c o m m a n d ; i t h d e v i c e w a r e c e i v i n gd a t a , t h C o m m o d o r e 6 s e n d s i a U N L I S T E N c o m m a n d . A

3

Page 40: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 40/304

t h i s p o i n t , t h b u i f r e e t h a n d l e t h n e x t t r a n s m i s s i o n .N o w m o v e o t p r o g r a m m i n g t h s e r i a l b u s f r o m m a c h i n el a n g u a g e p r o g r a m !T h k e r n a l o t h C o m m o d o r e 6 c o n t a i n s a l l o f t h r o u t i n e sn e c e s s a r y f o c o m m u n i c a t i n g w i t h d e v i c e s o v e r t h s e r i a lb u s .L e t ' s s h o w y o a e x a m p l e o t h e u s e o f s o m e o t h e s eb u i l t i n k e r n a l r o u t i n e s . T h i s s h o r t e x a m p l e r e a d s t h e r r o rc h a n n e l f r o m t h d i s k d r i v e . F i r s t w s h o w y o u h o t r e a dt h e r r o r c h a n n e l u s i n g B A S I C p r o g r a m :

1 O P E N 1 5 r 8 f 1 5 :2 I N P U T # 1 5 , A $ f B $ , C $ , D $ :3 P R I N T A $ ; n r n ; B $ ; t l , t l ; C $ ; 14 C L O S E 1 5

R E M o p e n e r r o r c h a n n e lR E g e e r r o r m e s s a g e

r ; D $ : R E M a n o u t p u tR E M c l o s e c h a n n e l

Y o c a d t h i s o n l y i p r o g r a m m o d e ( n o t c o m m a n d m o d e )b e c a u s e t h I N P U T c o m m a n d i v a l i d o n l y i p r o g r a m m o d e .T h i s m a c h i n e p r o g r a m d o e s t h s a m e t h i n g :

c o o oC 0 0 2C 0 0 4C 0 0 7C 0 0 9C 0 0 BC 0 0 Ec o C 0 1 4C 0 1 6C 0 1 8C 0 1 B

A 8 2

A 8 2 2 2 C D 2 6

0 B B 6 B 9 A D O F A

F

F F F

F

A C P T RC H R O U TF S T A L KT K S AU N T L KS T A R T

L O O P

E Q E Q E Q E Q E Q E Q E Q L D S T J S L D S T J S J S J S C M B N J S R T

$ F F A 5$ F F D 2$ B $ B $ F F B 4$ F F 9 6$ F F A B# F T A L K# 1 5 + $ 6 0S T K S AA C P T RC H R O U T# 1 L O O PU N T L K

; d e v i c e n u m b e r o d i s k; s e t d e v i c e n o ; s e n d t a l k; s e c . a d d r 1 $ 6 ; s e c . a d d r f o t a l k; r e a d b y t e f r o m d e v i c e; d i s p l a y o s c r e e n; i i c a r r i a g e r e t u r n ?; n o - g o b a c k f o m o r e; y e s - s e n d u n t a l k; r e t u r n t c a l l e r

F r o m B A S I C y o u c a n c a l l t h i s r o u t i n e b t y p i n g S Y S 1 2 * 4 0 9 6 .

W i t h t h n e x t m a c h i n e l a n g u a g e p r o g r a m , y o u c a n d i s p l a y t h d i r e c t o r y o d i s k e t t e . U s i n g t h i s r o u t i n e , y o d n o t h a v et L O A D " $ " , 8 t v i e w t h d i r e c t o r y a n c o n s e q u e n t l y l o s ey o u r c u r r e n t B A S I C p r o g r a m .

3

Page 41: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 41/304

c o o oC 0 0 2C 0 0 4C 0 0 6C 0 0 8C O O AC O O CC O O EC O 1 OC 0 1 2C 0 1 4C 0 1 6C 0 1 8C 0 1 BC 0 1 DC 0 2 0C 0 2 2C 0 2 5C 0 2 7C O 2 9C 0 2 BC 0 2 DC 0 3 0C 0 3 2C 0 3 4C 0 3 6C 0 3 9C 0 3 BC 0 3 DC 0 3 FC 0 4 0C 0 4 2C 0 4 4C 0 4 7C 0 4 9C 0 4 CC 0 4 FC 0 5 1C 0 5 3C O 5 4C 0 5 6C 0 5 9C 0 5 C

A 8 A 8 A 8 A 8 A 8 A 8 2 A 2 A 2 A 8 A 8 2 8 A D 2 A D A 8 D A 2 A 2 2 A D A F 2 4 A

2 F F B 0

B 0 B 0

B 6 B D B B B 9 0 9

0 F A F 9 2 A 9 2 F

E F C 2 D A 9 1 0 D 4 O

F F F

F

F

B

F F

F C

A C P T RC H R O U TC L S F I LF F N A D PF N L E NL N P R TS S E N D N MS T A T U ST A L KT K S A

L

L

L

E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q L D S T L D S T L D S T L D S T L D S T L D S T J S L D J S L D J S L D S T L D S T J S S T L D B N J S L D B N L D D E B N L D J S L D J S J S L D B N T A B E J S J M L D

$ F F A 5$ F F D 2$ F 6 4 2$ B $ B $ B $ B D C D$ B $ F 3 D 5$ 9 $ F F B 4$ F F 9 6# ' $ F # $ F BF N A D R# F N A D R + 1# F N L E N# F # $ 6 0S S E N D N MF T A L KS T K S A# S T A T U S# $ F A C P T R$ F S T A T U SL A C P T RS T A T U SL $ F L $ F L N P R T# C H R O U TA C P T ES T A T U SL L C H R O U TL # 1

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

a n d e c r e m e n t

; o u t p u t n o b l k s u s e d; s p a c e b e t w e e n; g e t n e x t b y t e; t e s t s t a t u s; z e r o ?7 y e s - t h e n e n d o f l i n e7 n o - o u t p u t? a n d g e n e x t c h a r a c t e r? c a r r i a q e r e t u r n

3

Page 42: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 42/304

C 0 5 EC 0 6 1C 0 6 3C 0 6 5C 0 6 8

2 A D 2 6

D 0 C 4

F

F L

J S L D B N J S R T

C H R O U T# L C L S F I L

; o u t p u t; b y t e s a d d r; c o n t i n u e; c l o s e f i l e; a l l d o n e

T h i s r o u t i n e i a g a i n c a l l e d f r o m B A S I C w i t h S Y S 1 2 * 4 0 9 6 .T h d i r e c t o r y o t h d i s k e t t e i d i s p l a y e d o n t h e s c r e e nw i t h o u t l o s i n g y o u r B A S I C p r o g r a m .

3

Page 43: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 43/304

C H A P T E R T H N E X T S T E P A S S E M B L E R P R O G R A M M I N G

2 W h y A s s e m b l e r L a n g u a g e ?W h a t a d v a n t a g e s d o e s a a s s e m b l e r h a v e c o m p a r e d t m a c h i n el a n g u a g e p r o g r a m m i n g ? i y o h a v e e v e r u s e d m a c h i n el a n g u a g e , y o k n o w t h a t y o u m u s t f i g u r e o u t t h o p c o d e ,t r a n s l a t e d e c i m a l n u m b e r s i n t o h e x a d e c i m a l , k e e p t r a c k o a b s o l u t e m e m o r y a d d r e s s e s , c o m p u t e r e l a t i v e j u m p s , e t c .T h e s e t a s k s a r v e r y t e d i o u s a n e r r o r p r o n e .A a s s e m b l e r i p r o g r a m t h a t p e r f o r m s a l o t h t h e s et a s k s v e r y q u i c k l y a n a c c u r a t e l y . A a s s e m b l e r a l l o w s y o t u s s y m b o l s t r e p r e s e n t m e m o r y l o c a t i o n a n d d a t a . W i t ha a s s e m b l e r y o u s L A B E L S t r e p r e s e n t a c t u a l m e m o r ya d d r e s s e s . F o e x a m p l e :

M a c h i n e l a n g u a g e A s s e m b l e rC 0 0 0 J S $ E 5 4 4 B E G I N J S C L R S C R

" C 0 5 6 J M $ C 1 2 9 J M P T E S TC 1 2 9 J S $ A 4 7 4 T E S T J M P B A S I C

C L R S C P E Q $ E 5 4 4B A S I C E Q $ A 4 7 4

T h e l a b e l C L R S C R s t a n d s f o " c l e a r s c r e e n " . W h e n a a s s e m b l e r l a n g u a g e p r o g r a m m e r w a n t t c l e a r t h s c r e e n h c a n c o d e J S C L R S C R t p e r f o r m t h i s t a s k . T h i s i c e r t a i n l ym u c h e a s i e r t r e m e m b e r t h a n J S $ E 5 4 4 . Y e t h i s i n o t h o n l y a d v a n t a g e o a s s e m b l e r l a n g u a g e p r o g r a m m i n g .I m a g i n e y o u h a v e j u s t w r i t t e n v e r y l o n g 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 y o w a n t t c h a n g e s o m e c o d e . C o n s i d e r h o b o t h e r s o m e t h i s p r o c e d u r e i s y o m u s t r e c a l c u l a t e a l l t h ea d d r e s s e s o r e l a t i v e b r a n c h i n s t r u c t i o n t h a t m a h a v ec h a n g e d ; y o u m u s t r e c a l c u l a t e a l a b s o l u t e a d d r e s s e s f o J S o J M P i n s t r u c t i o n s t h a t m a h a v e c h a n g e d ; y o u m u s tr e s p e c i f y t h a d d r e s s e s o a n d a t a o t a b l e s t h a t m a h a v ec h a n g e d , e t c .B u i y o w e r e w r i t i n g i a s s e m b l e r l a n g u a g e , t h a s s e m b l e rp r o g r a m r e c a l c u l a t e s a l t h e s e a d d r e s s e s f o y o u . A f t e rm a k i n g t h c h a n g e t t h a s s e m b l e r s o u r c e p r o g r a m , i i a s s e m b l e d a g a i n a n s a v e d o n t o c a s s e t t e o d i s k e t t e a n 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 t h i s t a k e s p l a c e q u i c k l y a n a c c u r a t e l y .J u s t a m o n i t o r i n e c e s s a r y p r e r e q u i s i t e f o m a c h i n el a n g u a g e p r o g r a m m i n g , a a s s e m b l e r i n e c e s s a r y i y o a r

3

Page 44: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 44/304

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

2 . T a b l e o f 6 5 1 0 I n s t r u c t i o n sT h f o l l o w i n g t a b l e l i s t s a l l o f t h e 6 5 1 0 i n s t r u c t i o n s .Y o s h o u l d n o t e t h a t t h b i n a r y e q u i v a l e n t s o m a n y o t h 6 5 1 0 i n s t r u c t i o n s a r n o c o m p l e t e . T h e y m a c o n t a i n s e v e r a ls m a l l l e t t e r b ' s . T h v a l u e o t h b i n a r y e q u i v a l e n t o t h i n s t r u c t i o n v a r i e s a c c o r d i n g t o t h e a d d r e s s i n g m o d e o t h i n s t r u c t i o n .

C o m m a n d F u n c t i o n B i n a r y

A D A N A S B C B C B E B I B M B N B P B R B V B V C L C L C L C L C M C P C P D E D E D E E O I N

N I N J M J S L D L D L D L S N O O R P H P H P L

a d W i t h c a r r y O l l b b b O ll o g i c a l A N O O l b b b O ls h i f t l e f t o n e b i O O O b b b l Ob r a n c h o c a r r y c l e a r 1 0 0 1 0 0 0 0b r a n c h o c a r r y s e 1 0 1 1 0 0 0 0b r a n c h o r e s u l t z e r o 1 1 1 1 0 0 0 0t e s t s b i O O l O b l O Ob r a n c h o r e s u l t m i n u s 0 0 1 1 0 0 0 0b r a n c h o r e s u l t n o z e r o 1 1 0 1 0 0 0 0b r a n c h o r e s u l t p l u s 0 0 0 1 0 0 0 0s o f t w a r e b r e a k 0 0 0 0 0 0 0 0

b r a n c h o o v e r f l o w c l e a r 0 1 0 1 0 0 0 0b r a n c h o o v e r f l o w s e 0 1 1 1 0 0 0 0c l e a r c a r r y f l a g 0 0 0 1 1 0 0 0c l e a r d e c i m a l f l a g 1 1 0 1 1 0 0 0c l e a r i n t e r r u p t d i s a b l e b i 0 1 0 1 1 0 0 0c l e a r o v e r f l o w f l a g 1 0 1 1 1 0 0 0c o m p a r e m e m o r y a n a c c u m u l a t o r H O b b b O lc o m p a r e m e m o r y a n X - r e g i s t e r H l O b b O Oc o m p a r e m e m o r y a n Y - r e g i s t e r H O O b b O Od e c r e m e n t m e m o r y H O b b l l Od e c r e m e n t X - r e g i s t e r 1 0 1 0 1 0 1 0d e c r e m e n t Y - r e g i s t e r 1 0 0 0 1 0 0 0M e x c l u s i v e - O R " O l O b b b O li n c r e m e n t m e m o r y l l l b b l l Oi n c r e m e n t X - r e g i s t e r 1 1 1 0 1 0 0 0i n c r e m e n t Y - r e g i s t e r 1 1 0 0 1 0 0 0j u m p t n e l o c a t i o n O l b O l l O Oj u m p t n e l o c a t i o n i s u p r o g r a m 0 0 1 0 0 0 0 0l o a d a c c u m u l a t o r l O l b b b O ll o a d X - r e g i s t e r l O l b b b l Ol o a d Y - r e g i s t e r l O l b b b O Ol o g i c a l r i g h t s h i f t O l O b b b l On o p e r a t i o n 1 1 1 0 1 0 1 0l o g i c a l " O R " O O O b b b O lp u a c c u m u l a t o r o s t o c k 0 1 0 0 1 0 0 0p u s t a t u s r e g i s t e r o s t a c k 0 0 0 0 1 0 0 0g e a c c u m u l a t o r f r o m s t a c k 0 1 1 0 1 0 0 0

3

Page 45: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 45/304

P L R O R O R T R T S B S E S E S E S T S T S T T A T A T S T X T X T Y

g e t s t a t u s r e g i s t e r f r o m s t a c kr o t a t e o n e b i t l e f tr o t a t e o n e b i t r i g h tr e t u r n f r o m i n t e r r u p tr e t u r n f r o m s u b p r o g r a ms u b t r a c t w i t h c a r r ys e c a r r y f l a gs e d e c i m a ls e i n t e r r u p t d i s a b l e s t a t u ss t o r e a c c u m u l a t o rs t o r e X - r e g i s t e rs t o r e Y - r e g i s t e rt r a n s f e r a c c u m u l a t o r t X - r e g i s t e rt r a n s f e r a c c u m u l a t o r t Y - r e g i s t e rt r a n s f e r s t a c k p o i n t e r t X - r e g i s t e rt r a n s f e r X - r e g i s t e r t a c c u m u l a t o rt r a n s f e r X - r e g i s t e r t s t a c k p o i n t e rt r a n s f e r Y - r e g i s t e r t a c c u m u l a t o r

0 0 1 0 1 0 0 0O O l b b b l OO l l b b b l O0 1 0 0 0 0 0 00 1 1 0 0 0 0 0l l l b b b O l0 0 1 1 1 0 0 00 0 1 1 1 0 0 00 1 1 1 1 0 0 0l O O b b b O ll O O b b l l Ol O O b b l O O1 0 1 0 1 0 1 01 0 1 0 1 0 0 01 0 1 1 1 0 1 01 0 0 0 1 0 1 01 0 0 1 1 0 1 01 0 0 1 1 0 0 0

F o m o r e d e t a i l e d i n d e x o f t h e c o m m a n d s a n t h e i r u s a q e ,c o n s u l t o n o t h b o o k s l i s t e d i A p p e n d i x D

2 . T y p i c a l A s s e m b l e r P r o g r a mA a s s e m b l e r i p r o g r a m t h a t t r a n s l a t e s s y m b o l i c s o u r c ep r o g r a m i n t o i t b i n a r y e q u i v a l e n t . E a c h s y m b o l i ci n s t r u c t i o n i t r a n s l a t e d i n t o m a c h i n e l a n g u a g ei n s t r u c t i o n t h a t i l f 2 , o b y t e s i l e n g t h . T h er e s u l t i n g m a c h i n e l a n g u a g e p r o g r a m i c a l l e d o b j e c t c o d e .

l i n e o t y p i c a l a s s e m b l y l a n g u a g e s o u r c e p r o g r a mc o n s i s t s o s e v e r a l e l e m e n t s :

t h e l i n e n u m b e r c o m p a r a b l e t B A S I C l i n e n u m b e rt h a d d r e s s t h m e m o r y l o c a t i o n o t h i s l i n et h c o d e t h h e x a d e c i m a l r e p r e s e n t a t i o n o t h

i n s t r u c t i o n s a n d a t a ( o b j e c t c o d e )t h l a b e l s y m b o l i c n a m e f o t h b e g i n n i n g o

t h i s i n s t r u c t i o nt h o p c o d e t h s y m b o l i c n a m e f o 6 5 0 2 i n s t r u c t i o nt h o p e r a n d s y m b o l i c n a m e s f o a n p a r a m e t e r s o

t h i n s t r u c t i o n st h r e m a r k c o m m e n t a r y t d e s c r i b e t h m a c h i n e

l a n g u a g e c o d e

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

i

I a d d i t i o n t t h 6 5 1 0 i n s t r u c t i o n s , m o s t a s s e m b l e r s

3

Page 46: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 46/304

u n d e r s t a n d s o m e s p e c i a l i n s t r u c t i o n s c a l l e d p s e u d o o p c o d e s .F o r i n s t a n c e s o m e a s s e m b l e r s h a v e p s e u d o o p c o d e c a l l e dB Y T . T h i s p s e u d o o p c o d e a l l o w s y o t i n s e r t d a t a i n t o t h p r o g r a m . Y o u c a n s p e c i f y t h d a t a i d e c i m a l f o r m a t o h e x a d e c i m a l f o r m a t .M o r e s o p h i s t i c a t e d a s s e m b l e r s a l l o w y o t p e f o r mc o n d i t i o n a l a s s e m b l y . U s i n g c o n d i t i o n a l a s s e m b l y , y o u c a c h o o s e t t r a n s l a t e p a r t s o s o u r c e p r o g r a m s i n t o o b j e c tc o d e i c e r t a i n c o n d i t i o n s a r s a t i s f i e d .H e r e i t y p i c a l p r i n t o u t o f a n a s s e m b l e r l i s t i n g :

l i n e a d d r c o d e1 0 0 0 02 0 0 0 03 0 0 0 0 A 9 0 04 0 0 0 3 8 0 C 5 0 0 0 6 4 2 3 0 1

l a b e l o p e r o p e r a n d c o m m e n tB U F F E R E Q $ C 0 0 0 ; v a r i a b l e B U F F E R

i s t o r e d a $ C 0 0 0O R G $ 0 0 0 0 ; s t a r t c o d e a $ 0 0 0 0T E S T L D A # $ 0 0 ; z e r o a c c u m u l a t o r

S T B U F F E R ; s t o r e i n t o B U F F E RJ M J U M P ; a J U M P i g o e s o

1 8 1 9

0 1 2 3 3 0 1 2 4 E 0

J U M P S E S B # $ O A

; c a r r y f l a g s e ; s u b t r a c t 1

Y o c a c l e a r l y s e e t h e d i f f e r e n c e b e t w e e n m a c h i n e l a n g u a g ep r o g r a m m i n g a n a s s e m b l e r l a n g u a g e p r o g r a m m i n g : y o d o n ' th a v e t c a l c u l a t e a d d r e s s e s a n m e m o r y l o c a t i o n s a n y m o r e .T h e s e c a l u l a t i o n a r t a k e n c a r e o b t h a s s e m b l e r . A t h s a m e t i m e t h a s s e m b l e r c a i d e n t i f y p o s s i b l e m i s t a k e s a n n o t i f y t h u s e r . A s s e m b l e r l a n g u a g e p r o g r a m m i n g i n o o n l yf a s t e r , b u c o n s i d e r a b l y m o r e a c c u r a t e t h a n m a c h i n e l a n g u a g ep r o g r a m m i n g .L e t ' s n o w t u r n t a n o t h e r a s s e m b l e r l a n g u a g e p r o g r a m . T h i sr o u t i n e i m u c h m o r e a c c u r a t e a n f a s t e r t h a n t h S Q r o u t i n e i B A S I C . T h a l g o r i t h m f o r t h i s f u n c t i o n i s

( N + l ) ( N ( X ( N ) ) ( X ( N ) )( A

( N + l ) ( X ( N ) / ( N ) )

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

• F A S T S Q R O U T I N E , A B O U T 1 4 M S

3

Page 47: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 47/304

A L G O R I T H M X ( N + l ) = X ( N ) - F ( X ( N ) ) / F ( X ( N ); X = F ( A ) , X ( N + 1 ) = ( X ( N ) + A / X ( N )

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

0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C0 3 3 C 2 0 3 3 F F 0 3 4 1 1 0 3 4 3 4 0 3 4 6 2 0 3 4 9 A 0 3 4 B 3 0 3 4 C E 0 3 4 E 0 0 3 4 F 4 0 3 5 0 1 0 3 5 1 6 0 3 5 3 2 0 3 5 4 9 0 3 5 6 6 0 3 5 8 8 0 3 5 A A 0 3 5 C 8 0 3 5 E 2 0 3 6 1 A 0 3 6 3 A 0 3 6 5 2 0 3 6 8 A 0 3 6 A A 0 3 6 C 2 0 3 6 F C 0 3 7 1 C 0 3 7 3 D 0 3 7 5 6

2 B 3 0 4 B C B 6

8

0

0 7 6 0 6 C B 5 0 O F B B5 0 6 B 6 6 E

S I G NI L L E G A LE X A C C U 3A C C U 4C O U N TA 1 T O A 3A 1 T O A 4M E M D I VM E M P L U S

O

S

I T E R

E N

E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q O R J S B E B P J M J S L D S E S B P H L S C L A D P L B C A D S T L D S T J S L D L D J S L D L D J S D E D E B N R T

$ B C 2 B$ B 2 4 8$ 6 $ 5 $ 5 $ 6 $ B B C A$ B B C 7$ B B 0 F$ B 8 6 7$ 3 3 CS I G NE N O I L L E G A IA 1 T O A 4E X

# $ 8 1

# $ 0 1S # $ 7 FE X # $ 0 4C O U N TA 1 T O A 3# < A C C U 4# > A C C U 4M E M D I V# < A C C U 3# > A C C U 3M E M P L U SE X C O U N TI T E R

; P G M I T A P E B U F F E R; G E T S I G N; 0 Y E S - > O K; + Y E S - > O K; I L L . Q U A N . E R R .; A C C U # 1 - > A C C U # 4; E X P . - > A C C U; N O R M A L I Z E E X P O N E N T; S T A T . R E G . O S T A C K; H A L V E E X P O N E N T; C L E A R C A R R Y F L A G; A D D; S T A T . R E G . F R O M S T A C K; C A R R Y ? N O - > S 1; A D D 1 2 ; M E M O R Y A E X P O N E N T; F O U R I T E R A T I O N S; M E M O R Y I V A R I A B L E? A C C U # 1 - > A C C U # 3; L O A D L S B F R O M A C . 4; L O A D M S B F R O M A C . 4; D I V I D E B A C C U # 1; L O A D L S B F R O M A C . 3; L O A D M S B F R O M A C . 3? A D D T A C C U # 1; A C C U # 1 / 2 ( E X P . - 1 ); O N E I T E R A T . L E S S; M O R E I T E R . ? Y E S? B A C K T P R O G R A M

( L S B = l e a s t s i g n i f i c a n t b y t eM S T = m o s t s i g n i f i c a n t b y t e )

Y o c a e n t e r t h i s p r o g r a m u s i n g e i t h e r m o n i t o r o a a s s e m b l e r . T u s i t y o c a c a l l i f r o m B A S I C . Y o c a d t h i s b u s i n g t h B A S I C U S R c o m m a n d . T h U S c o m m a n d p a s s e sc o n t r o l t t h r o u t i n e w h o s e a d d r e s s i p l a c e d i m e m o r yl o c a t i o n s $ 3 1 1 / $ 3 1 2 . T h p a r a m e t e r p a s s e d v i t h U S r o u t i n e i a u t o m a t i c a l l y m a d e a v a i l a b l e t t h i s r o u t i n e .

3

Page 48: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 48/304

H e r e i a e x a m p l e :

1 2 3 4 5 6 R U

P O K E 7 8 5 , 6 0 : R E M L S 6 D E C I M A LP O K E 7 8 6 , 0 3 : R E M M S B 0 D E C I M A LA = 1 0B = U S R ( A )P R I N T " S Q R O F " ; A ? " I " ; E N

3 H E 0 H E

S Q O 1 I 3 . 1 6 2 2 7 7 6 6I y o a r i n t e r e s t e d i f u r t h e r m a t h e m a t i c a l f u n c t i o n s ,p l e a s e r e a d C h a p t e r 6 . 3 . 3 . T h e r e y o w i l l f i n d m o r ei n f o r m a t i o n .

I C h a p t e r 6 . 3 , y o w i l l f i n d m o r e a b o u t c o m m u n i c a t i n gb e t w e e n 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 .

2 . S t i l l M o r e P r o g r a m sN e x t a r s e v e r a l m o r e e x a m p l e s o a s s e m b l e r l a n g u a g ep r o g r a m m i n g . T h r o u t i n e s a r u s e f u l a w e l l a i l l u s t r a t i v e .T h e s e p r o g r a m s a r i n t e n d e d t s e r v e a m o d e l s f o d e v e l o p i n g p r o g r a m s o y o u r o w n .F i r s t , i r o u t i n e w h i c h p r i n t s t h c o n t e n t s o f t h ea c c u m u l a t o r i h e x a d e c i m a l f o r m a t t t h c u r r e n t l y a s s i g n e do u t p u t d e v i c e . I t h c u r r e n t o u t p u t d e v i c e i t h s c r e e n( d e f a u l t ) , t h e n t h c o n t e n t s o t h a c c u m u l a t o r a r p r i n t e d

o n t o t h s c r e e n . I y o O P E N e d p r i n t e r a t h o u t p u td e v i c e ( O P E N 4 , 4 ) t h e n t h c o n t e n t s o t h a c c u m u l a t o r a r s e n t t t h p r i n t e r .T h i s p r o g r a m i p l a c e d i t h C o m m o d o r e 6 c a s s e t t e b u f f e r .T h i s l o c a t i o n i s u i t a b l e f o s u c h s m a l l r o u t i n e s b e c a u s e i i n o a f f e c t e d b B A S I C u n l e s s i n p u t f r o m o o u t p u t t t h c a s s e t t e d r i v e i a t t e m p t e d .

0 3 3 C0 3 3 C0 3 3 C0 3 3 D0 3 3 E0 3 3 F0 3 4 00 3 4 10 3 4 40 3 4 5

B S O U T

4 S T A R T4 4 4 4 2 4 0 6 2 O

O R E Q

P H L S L S L S L S J S P L A N

$ 0 3 3 C$ F F D 2

H E X A S C# $ O F

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

k e r n a l o / r o u t i n e; s a v e v a l u e o a c c u m; s h i f t b i t st h r u t p o s i t i o n s

o b i t st h r u

; c o n v e r t d i g i t t A S C I I; r e s t o r e a c c u m u l a t o r; m a s k o u t b i t s 4 -

4

Page 49: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 49/304

0 3 4 7 1 H E X A S C C L C ; c l e a r c a r r y f l a g0 3 4 8 6 F A D # $ F 6 ; p r e p a r e f o c o n v e r s i o n0 3 4 A 9 0 B C ; b r a n c h i < = 2 5 50 3 4 C 6 0 A D # $ 0 6 n o r m a l i z e f o A - 0 3 4 E 6 3 A D C # $ 3 A ; m a k e A S C I I v a l u e0 3 5 0 4 D F J M B S O U T ; w r i t e r e s u l tH e r e ' s a e x p l a n a t i o n . S u p p o s e t h a c c u m u l a t o r c o n t a i n s t h v a l u e $ F ( 2 5 4 i d e c i m a l ) . K e e p i m i n d t h a t t h h e x a d e c i m a l n u m b e r $ F i r e p r e s e n t e d a s i n g l e c h a r a c t e r( b i t s ) i n s i d e t h c o m p u t e r . T d i s p l a y t h i s v a l u e h o w e v e r ,y o m u s t c h a n g e i t w o t w o i n d i v i d u a l A S C I I c h a r a c t e r s .T d i s p l a y t h v a l u e , f i r s t d i v i d e t h h e x a d e c i m a l n u m b e ri n t o t w o s e p a r a t e n u m b e r s . T o d o t h i s , " s p l i t " t h 8 b i b y t e i n t o t w f o u r b i n i b b l e s . Y o u d o t h i s b s h i f t i n g t h l e f t f o u r b i t s o t h i s n u m b e r t t h r i g h t w h i c h a t h s a m et i m e f i l l s t h v a c a t e d b i t s w i t h z e r o s . A r e s u l t y o uh a v e o n e - d i g i t n u m b e r b e t w e e n a n F S h i f t i n g i d o n ew i t h t h e 6 5 1 0 L S i n s t r u c t i o n . S i n c e w m u s t s h i f t f o u rb i t s , w e x e c u t e t h L S i n s t r u c t i o n t i m e s .S h i f t i n g c a u s e s u s t o l o s e t h r i g h t f o u r b i t s o f t h en u m b e r . T h i s i w h w e s a v e d t h o r i g i n a l n u m b e r w i t h P H i n s t r u c t i o n . T h a c c u m u l a t o r i s a v e d o n t h e S T A C K .B e f o r e o u t p u t t i n g t h e a c h h e x a d e c i m a l d i g i t s , c o n v e r t t h e mt A S C I I c h a r a c t e r s . T h r o u t i n e c a l l e d H E X A S C d o e s e x a c t l yt h i s . H e x a d e c i m a l n u m b e r s h a v e t h i s o r d e r : 0 1 , 2 , 3 4 , 5 ,6 7 , 8 , 9 A B C D E F H o w e v e r t h A S C I I e q u i v a l e n to t h e s e n u m b e r s a r n o i t h i s s e q u e n c e . A d d i n g $ F t t h d i g i t m a k e s t h n e x t s t e p e a s i e r .I t h d i g i t i b e t w e e n a n 9 t h r e s u l t o t h i s a d d i t i o ni e i t h e r l e s s t h a n o e q u a l t o 2 5 5 a n d t h c a r r y f l a g w i l lr e m a i n c l e a r . T h e r e f o r e a d d i n g $ 3 t t h d i g i t , c r e a t e sv a l u e b e t w e e n $ 3 ( A S C I I 0 a n $ 3 ( A S C I I 9 a n t h d i g i ti r e a d y f o d i s p l a y .I t h d i g i t i b e t w e e n A a n F t h r e s u l t o a d d i n g $ F i g r e a t e r t h a n 2 5 5 a n d t h c a r r y f l a g w i l l b s e t . T h B C * + i n s t r u c t i o n t e s t s t h i s c o n d i t i o n a n t h n e x t i n s t r u c t i o nn o r m a l i z e s t h d i g i t f o t h c o r r e c t A S C I I v a l u e s o A - b a d d i n g a $ 0 6 t o t h d i g i t t a r r i v e a v a l u e b e t w e e n $ 4 ( A S C I I A a n $ 4 6 ( A S C I I F ) A f t e r o u t p u t t i n g t h f i r s t d i g i t ( i o u e x a m p l e F w c a o u t p u t t h s e c o n d d i g i t . F o r t h i s p u r p o s e , w h a v e t m a s ko u t l e f t f o u r b i t s o t h o r i g i n a l n u m b e r . W c a d t h i sb u s i n g a A N i n s t r u c t i o n u s i n g m a s k o $ 0 F . T h v a l u e$ 0 l o o k s l i k e t h i s :

0 0 0 0 1 1 1 1

4

Page 50: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 50/304

W h e n A N D i n g t w o v a l u e s , e a c h b i i o n l y s e o o n l y i b o t hc o r r e s p o n d i n g b i t s a r e s e t . I t h i s e x a m p l e :

o r i g i n a lm a s kr e s u l t o A N

P E 1 1 1 1 1O F 0 0 0 0 1 1 1 10 E 0 0 0 0 1 1 1 0

T h n u m b e r i n o w c o r r e c t l y f o r m a t t e d t b o u t p u t .F i n a l l y , w p r e s e n t p r o g r a m t h a t a i d s y o u i i n p u t t i n gy 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 s . Y o c a e n t e r t h i n s t r u c t i o n s i h e x a d e c i m a l .1 0 A D = 8 2 8 : R E M A D - > S T A R T A D D R O M A C H I N E P G ( D E C I M A L )1 1 R E A D O P 1 2 G O S U B 6 5 0 0 01 3 P O K E A D f O P1 4 A D = A D + 11 5 I X O 9 6 T H E N G O T O 1 1 1 6 E N 1 7 R E F O L L O W I N G D A T A L I N E S C O N T A I N T H O P C O D E S O Y O U R1 7 R E M A C H I N E L A N G U A G E P R O G R A M . T H I S E X A M P L E I T H 1 8 R E R O U T I N E P R E V I O U S L Y E X P L A I N E D T H A T P R I N T S T H 1 9 R E M C O N T E N T S O F T H E A C C U M U L A T O R I H E F O R M A T2 0 D A T A 4 8 f 4 A r 4 A f 4 A r 4 A r 2 0 4 0 2 1 D A T A 6 8 , 2 9 , O F , 1 8 , 6 9 , F 6 , 9 0 , 0 22 2 D A T A 6 9 r 0 6 f 6 9 f 3 A r 4 C f D 2 f F F f 9 66 5 0 0 0 R E M T H I S R O U T I N E C O N V E R T S H E N U M B E R S I N T O D E C I M A L S6 5 0 1 0 O L $ = L E F T $ ( O P $ f l ) : O R $ = R I G H T $ ( O P $ , 1 )6 5 0 2 0 O L = V A L ( O L $ ) : I O L = 0 A N D O L $ < > " 0 " T H E N O L = A S C ( O L $ ) - 5 56 5 0 3 0 O R = V A L ( O R $ ) : I O R = 0 A N O R $ < > " 0 " T H E N O R = A S C ( O R $ ) - 5 56 5 0 4 0 O P = O L * 1 6 + O R6 5 0 5 0 R E T U R N

U s i n g t h i s p r o g r a m y o u c a n i n p u t m a c h i n e l a n g u a g e r o u t i n eb y t e b y b y t e . E v e n t h o u g h t h i s m e t h o d o p l a c i n g m a c h i n el a n g u a g e r o u t i n e s i c o n v e n i e n t , i s t i l l d o e s n o m a t c hm o n i t o r o a s s e m b l e r f o c o n v e n i e n c e .W h o p e t h a t t h i s c h a p t e r b e t t e r a q u a i n t e d y o w i t h m a c h i n ea n a s s e m b l e r l a n g u a g e p r o g r a m m i n g . T h e b e s t a d v i c e w c a g i v e t t h r e a d e r i t t r w r i t i n g h i o w p r o g r a m .

P R A C T I C E M A K E S P E R F E C T !A f t e r s h o r t w h i l e , y o w i l l b e c o m e m o r e a c c o m p l i s h e d . I a n e v e n t , y o w i l l d i s c o v e r t h a t p r o g r a m m i n g i m a c h i n el a n g u a g e i j u s t a m u c h f u a p r o g r a m m i n g i B A S I C .

4

Page 51: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 51/304

C H A P T E R C L O S E - U P L O O K A T H C O M M O D O R E 6

3 . W h a t y o u s h o u l d k n o w a b o u t t h C o m m o d o r e 6 T h C o m m o d o r e 6 i a o u t s t a n d i n g a c h i e v e m e n t , c o n s i d e r i n gi t r e m a r k a b l y a f f o r d a b l e p r i c e .W h e n w o r k i n g w i t h t h C o m m o d o r e 6 4 y o w i l l s o o n n o t i c et h a t , a f a a h a r d w a r e i c o n c e r n e d , v e r y l i t t l e i m i s s i n g , i y o u a l s o o w V I C - 2 0 , y o m i g h t w a n t t t a k et i m e t l o o k a t h i n s i d e s o b o t h d e v i c e s .Y o w i l l n o t i c e t h a t t h C o m m o d o r e 6 c o n t a i n s f e w e ri n t e g r a t e d c i r c u i t s ( I C s ) t h a n t h V I C - 2 0 , e v e n t h o u g h i c o n t a i n s f a m o r e p o w e r t h a n t h V I C - 2 0 . T h i s i m a d ep o s s i b l e b e x t r e m e l y h i g h d e n s i t y o t h I C s .T h e r e a r s e v e r a l n e w l y d e v e l o p e d , I C i n s i d e t h C o m m o d o r e 6 4 T h C o m m o d o r e s u c c e e d e d i p u t t i n g t h f o l l o w i n g t h i n g s i n t o6 4 a d d r e s s s p a c e :

6 4 d y n a m i c R A MI c o l o r R A 4 c h a r a c t e r g e n e r a t o rC o l o r v i d e o - c o n t r o l l e r w i t h h i r e s g r a p h i c sS y n t h e s i z e r w i t h t h r e e i n d e p e n d e n t v o i c e s8 B A S I C i n t e r p r e t e r8 o p e r a t i n g s y s t e m

p a r a l l e l I / p o r t sR S - 2 3 2 i n t e r f a c e

3 . A O v e r v i e w o f t h e H a r d w a r e

T h C o m m o d o r e 6 c o n t a i n s 6 4 o R A M , 2 0 K o R O a n b a n ko m e m o r y f o a c c e s s i n g t h i n p u t a n o u t p u t d e v i c e s . S i n c et h 6 5 1 0 p r o c e s s o r c a o n l y a d d r e s s 6 4 m e m o r y s p a c e ,m e t h o d i r e q u i r e d t a l l o w a c c e s s t t h i s l a r g e r a r r a y o m e m o r y s p a c e .

T h m e t h o d u s e d i c a l l e d m u l t i p l e x i n g . M u l t i p l e x i n g a l l o w ss e v e r a l s y s t e m c o m p o n e n t s t s h a r e t h s a m e b u ( c o m m u n i c a t i o n ) l i n e s b u s i n g t h e m a d i f f e r e n t t i m e s . T h i sc o m p l e x f u n c t i o n i c o o r d i n a t e d b s p e c i a l I w h i c h w w i l l s i m p l y c a l l a d d r e s s - s p a c e m a n a g e r , s i n c e w e d o n ' t h a v e

n a m e f o i t M o r e a b o u t t h i s i s e c t i o n 3 . 4 .T h c h a r a c t e r g e n e r a t o r a n I / b a n k a r l o c a t e d i t h s a m ea d d r e s s r a n g e . B u t h i s a p p a r e n t c o n f l i c t p r e s e n t s n p r o b l e m s , s i n c e t h v i d e o i n t e r f a c e c h i p t a k e s a d v a n t a g e o t h 6 5 1 0 ' s u n u s e d c y c l e s w h e n a c c e s s i n g t h c h a r a c t e r

4

Page 52: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 52/304

g e n e r a t o r .

T h c o m p l e t e R O a n p a r t s o t h R A M o v e r l a p o v e r r a n g eo 2 0 K . d e s c r i p t i o n o t h i s o v e r l a p i p r e s e n t e d i s e c t i o n 3 . 4 .B e s i d e s h a n d l i n g t h s c r e e n d i s p l a y , t h v i d e o i n t e r f a c ec h i p ( V I C ) a l s o p e r f o r m s a a d d i t i o n a l f u n c t i o n o r e f r e s h i n g t h e R A M . A l o t h e s e p r o c e d u r e s a r t a k e n c a r eo b t h v i d e o c o n t r o l l e r w h i c h m u s t a l s o p r o v i d e g e n e r a t et h e t e x t a n d g r a p h i c s .

3 . S p e c i a l f e a t u r e s o t h 6 5 1 0 p r o c e s s o rT h C o m m o d o r e 6 c o n t a i n s 6 5 1 0 C P U . I i a 8 - b i tp r o c e s s o r w h i c h i r u a f r e q u e n c y o a b o u t 9 8 K h z . T h 6 5 1 0 i t h n e w e s t m e m b e r o t h 6 5 x x f a m i l y o m i c r o p r o c e s s o r s .T h m o s t s i g n i f i c a n t d i f f e r e n c e f r o m t h w e l l - k n o w n 6 5 0 2 i t h a t t h c h i p h a s I / O l i n e s a v a i l a b l e . C o m p a r e d t t h 6 5 0 2 w h i c h h a n I / l i n e s a v a i l a b l e , t h 6 5 1 0 c a c o m m u n i c a t e o v e r t h e s e s i I / l i n e s w i t h o u t r e q u i r i n ga d d i t i o n a l I C t p e r f o r m t h I / O .T h e s e l i n e s s u p p o r t t h c a s s e t t e o p e r a t i o n a n m e m o r ym a n a g e m e n t .H e r e i l i s t o t h 6 5 1 0 p i n o u t s . T h e s e p i n o u t s w e r ed e r i v e d f r o m a e m p i r i c a l t e s t i n g a p p r o a c h , l i n e s a c t u a l l yg o H e r e i t h e r e s u l t :

J ^ I N i n p u t c l o c k c y c l e t i m e ; 9 8 K H R D Y r e a d y ; p r o c e s s o r s t o p s a t h n e x t r e a d i n gc y c l e u n t i l R D Y = 1 ;- I R Q i n t e r r u p t r e q u e s t ;0 = p r o c e s s o r g e t s n e x t c o m m a n d f r o m v e c t o r $ F F F E a n c o n t i n u e s t h e r e . P e r m i t t e d i s t a t u s r e g i s t e r b i t 2 = - N M I n o n - m a s k a b l e i n t e r r u p t ;0 = p r o c e s s o r g e t s n e x t c o m m a n d f r o m v e c t o r $ F F F A a n c o n t i n u e s t h e r e .A E a d d r e s s e n a b l e c o n t r o l ;0 = p r o c e s s o r b r i n g s d a t a a d d r e s s a n o p e r a t i o n b u i n t ot r i - s t a t e . T h b u c a n o b u s e d b o t h e r u n i t s ,i . e . s e c o n d p r o c e s s o r .o p e r a t i n g v o l t a g e + 5 7 - 2 0 A O - A 1 3 ; a d d r e s s b u

2 G N 2 2 - 2 3 A 1 4 - A 1 5 ; a d d r e s s b u 2 4 - 2 9 P 5 - P 0 ; I / p o r t3 0 - 3 7 D 7 - D 0 ; d a t a b u

4

Page 53: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 53/304

3 R / - W ;O = w r i t e a c c e s sl = r e a d a c c e s s

3 0 2 i n c l o c k c y c l e4 R E r e s e t ;

0 = p r o c e s s o r g o e s i n t o n o n - o p e r a t i n g s t a t e . A f t e rt r a n s i t i o n f r o m t 1 t h p r o c e s s o r g e t s v e c t o r f r o m$ F F F C a n b e g i n s e x e c u t i o n t h e r e .

3 . M e m o r y C o n f i g u r a t i o n sA m e n t i o n e d b e f o r e , t h C o m m o d o r e 6 h a s 6 4 K o R A M , 2 0 o R O M , 4 o I / R A a n 8 c h a r a c t e r g e n e r a t o r R O M . T h 6 5 1 0p r o c e s s o r c a a c c e s s a l o t h i s m e m o r y w i t h t h h e l p o f a nI w h i c h w c a l l t h a d d r e s s m a n a g e r .

B p r o g r a m m i n g m e m o r y l o c a t i o n s a n 1 y o u c a n a f f e c t t h a d d r e s s m a n a g e r t m a k e d i f f e r e n t c o m b i n a t i o n s o R A M , R O a n I / a v a i l a b l e t t h C o m m o d o r e 6 4 M e m o r y l o c a t i o n i c a l l e d t h i n p u t / o u t p u t . M e m o r yl o c a t i o n i t h c o n t r o l p o r t f o r t h e i n p u t / o u t p u t p o r t a n i p a r t d e t e r m i n e s t h m e m o r y c o n f i g u r a t i o n s .T h r e e b i t s o t h c o n t r o l p o r t a r o n o t e :

B i c a l l e d L O R A M 0 = s e l e c t s R A a $ A 0 0 0 - $ B F F Fl = s e l e c t s R O a $ A 0 0 0 - $ B F F F

B i c a l l e d H I R A M 0 = s e l e c t s R A a $ E 0 0 0 - $ F F F Fl = s e l e c t s R O a $ E 0 0 0 - $ F F F F

B i c a l l e d C H A R E N 0 = s e l e c t s R O a $ D 0 0 0 - $ D F F Fl = s e l e c t s I / a $ D 0 0 0 - $ D F F F

A e x a m p l e s h o w s y o h o y o u c a n p r o g r a m t h c o n t r o l p o r t .S u p p o s e y o w a n t t d i s a b l e t h R O M S t h a t c o n t a i n t h B A S I Ci n t e r p r e t e r a $ A 0 0 0 - $ B F F F . T o d o t h i s y o w o u l d h a v e t s e t h b i L O R A M t o z e r o . T h f o l l o w i n g s t a t e m e n t c o u l d d t h i sf o r y o u :

P O K E 0 , P E E K ( 0 ) A N D 2 5 4I i n e c e s s a r y t u s e t h e A N t h o r i g i n a l c o n t e n t s o f t h ec o n t r o l p o r t ( P E E K ( O ) ) s i n c e t h o t h e r b i t s c o n t r o l p o r tm u s t n o b d i s t u r b e d .T h e r e a r a l s o t w l i n e s w h i c h a r c o n n e c t e d t t h a d d r e s sm a n a g e r . O n e l i n e i c a l l e d E X R O M a n i s e w h e n R O c a r t r i d g e i f o u n d i t h e x p a n s i o n s l o t . T h o t h e r l i n e i c a l l e d G A M E a n i a l s o s e w h e n R O c a r t r i d g e i f o u n di t h e x p a n s i o n s l o t .T h u s u s i n g t h e s e f i v e v a r i a b l e s , w c a d e s c r i b e t h e i g h tm a j o r m e m o r y c o n f i g u r a t i o n s t h a t a r p o s s i b l e w i t h t h

4

Page 54: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 54/304

C o m m o d o r e 6 4 T h f o l l o w i n g p a g e s p i c t o r a l l y d e s c r i b e t h e s ed i f f e r e n t m e m o r y c o n f i g u r a t i o n s .

E O O OD 0 0 0c o o o

A 0 0 0

8 0 0 0

4 0 0 0

0 0 0 0

8 K E R N A L

4 4

I / R A

8 B A S I C

8

1 6

1 6

R A

R A

R A

R O

R O

L O R A MH I R A ME X R O MG A M E

D 0 0 0C O O O

8 0 0 0

4 0 0 0

0 0 0 0

8

4 4

1 6

1 6

1 6

R A

I / R A

R A

R A

R A

L O R A MH I R A ME X R O MG A M E

T H I S C O N F I G U R A T I O N A P P E A R S W H E NT H E C O M M O D O R E 6 4 I S T U R N E D O N T H I S C O N F I G U R A T I O N G I V E S Y O 6 0 O

R A M , B U Y O M U S T P R O V I D E Y O U R O W ND R I V E R T H A N D L E I / T D E V I C E S .

E O O OD 0 0 0C O O O

8 0 0 0

4 0 0 0

0 0 0 0

8 K E R N A L R O 4 4

1 6

1 6

1 6

I / R A

R A

R A

R A

L O R A MH I R A ME X R O MG A M E

C O O O

8 0 0 0

4 0 0 0

0 0 0 0

1 6

1 6

1 6

1 6

R A

R A

R A

R A

L O R A MH I R A ME X R O MG A M E

O

L O R A MH I R A ME X R O MG A M E

T H I S C O N F I G U R A T I O N G I V E S Y O U 5 2 K R A M ,I / A N D R I V E R T O H A N D L E I / D E V I C E S .U S E D B Y C P / M C A R T R I D G E .

T H I S C O N F I G U R A T I O N G I V E S F U L L 6 4 R A M . Y O M U S T P R O V I D E Y O U R O W N I / D R I V E R A N B A N K T H E 4 I / B A C K W H E NA C C E S S I N G T H E I / O D E V I C E S .

4

Page 55: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 55/304

8

8

8

K E R N A L R O 4 I / 4 R A

B A S I C R O

C A R T R I D G E

1 6 R A

1 6 R A

L O R A MH I R A ME X R O MG A M E

E 0 0 0D 0 0 0C 0 0 0

A 0 0 0

8 0 0 0

4 0 0 0

0 0 0 0T H I S C O N F I G U R A T I O N S H O W S S T A N D A R DB A S I C S Y S T E M U S I N G A E X P A N S I O NC A R T R I D G E .

8

8

K E R N A L R O

4 4

I / R A

C A R T R I D G E

8

1 6

1 6

R A

R A

R A

L O R A MH I R A ME X R O MG A M E

E 0 0 0D 0 0 0C 0 0 0

A 0 0 0

8 0 0 0

4 0 0 0

0 0 0 0T H I S C O N F I G U R A T I O N G I V E S Y O U 4 0 K R A MA N L E T S Y O R E P L A C E T H E B U I L T I B A S I C W I T H A 8 K R O M C A R T R I D G E .

E 0 0 0D 0 0 0C 0 0 0

8 0 0 0

4 0 0 0

0 0 0 0

8 K E R N A L R O

4 I / 4 K R A M

1 6 R O

1 6 K R A M

1 6 R A

L O R A MH I R A ME X R O MG A M E

T H I S C O N F I G U R A T I O N G I V E S Y O 3 2 R A A N L E T S Y O R E P L A C E T H E B U I L T I B A S I C W I T H 1 6 C A R T R I D G E .

E 0 0 0D 0 0 0C 0 0 0

A 0 0 0

8 0 0 0

4 0 0 0

1 0 0 00 0 0 0

8 R O 4 I /

4 U N U S E D8 U N U S E D

8 R O

1 6 U N U S E D

1 2 U N U S E D

4 R A

L O R A MH I R A ME X R O MG A M E

T H I S C O N F I G U R A T I O N G I V E S Y O T H I M A G E O T H E U L T I M A X C O M P U T E RW H I C H I S T I L L Y E T B R E L E A S E DB C O M M O D O R E .

4

Page 56: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 56/304

3 . T h E x p a n s i o n P o r tA t h b a c k o t h C o m m o d o r e 6 4 i s 4 4 - p i n c o n n e c t o r . T h i si c a l l e d a e x p a n s i o n s l o t . T h i s s l o t c o n t a i n s c o n n e c t i o n sf o r t h e c o m p l e t e s y s t e m b u a n d t h e a c c o m p a n y i n g c o n t r o lc h a n n e l .A m o n g t h t h i n g s t h a t a r c o n n e c t e d a t h i s p o r t a r B A S I Ca n o p e r a t i n g s y s t e m e x p a n s i o n s a n g a m e a n i n p u t / o u t p u te x p a n s i o n ( s e r i a l b u s ) .S i n c e m a n y s i g n a l s a r n o s e l f - e x p l a n a t o r y , w e x p l a i n t h p i o v e r l a y h e r e :

G N 2 - + 5

- I R Q ; c o n n e c t e d w i t h t h I R o t h p r o c e s s o rR / - W ; c o n n e c t e d w i t h t h R / - W o t h p r o c e s s o rD O C L O C K ; d o t s c a n n i n g c y c l e f o t h V I c h i p , 8 . 1 8M H " I / ° l ; u s u a l l y = i t h a d d r e s s r a n g e $ D E O O t $ D E F F- G A M E ; i n p u t t o t h e a d d r e s s m a n a g e r- E X R O M ; i n p u t t t h a d d r e s s m a n a g e r

1 - I / O 2 ? u s u a l l Y = i t n r a n g e $ D F O O t $ D F F FI - R O M L ; o u t p u t f r o m A M ; s e e c h . 3 . 4 .1 2 B A ; s i g n a l f r o m V I C , w h i c h i n d i c a t e s t h v a l i d i t y o

r e a d i n g d a t a .1 - D M A ; i n p u t . 0 = r e s e r v e b u s y s t e m f o e x t e r n a l

a c c e s s1 4 - 2 1 C D 7 - C D O ; d a t a b u 2 G N

G N - R O M H ; o u t p u t f r o m a d d r e s s m a n a g e r a $ E 0 O O- R E S E T- N M I0 9 s y s t e m c y c l e o u t p u t

F - A I 5 - A O ; a d d r e s s b u G N

3 . T h U s e r P o r tW i t h t h u s e r p o r t , t h C o m m o d o r e 6 o f f e r s a v e r s a t i l ei n t e r f a c e . I i p o s s i b l e t c o n n e c t a n a l o g t d i g i t a lc o n t r o l l e r s o p a r a l l e l i n t e r f a c e s ( C e n t r o n i c s - t y p e ) f o e x a m p l e .

B a s i c a l l y , t h u s e r p o r t c o n s i s t s o a 8 - b i t p o r t a n s e v e r a l c o n t r o l c h a n n e l s e x p l a i n e d a f o l l o w s :

G N + 5 V ;- R E S E T ; c o n n e c t e d w i t h t h p r o c e s s o r o t h s a m e n a m e

4

Page 57: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 57/304

C N T 1 ; c o n n e c t e d w i t h C N T f r o m C I A 1S P 1 ; c o n n e c t e d w i t h S f r o m C I C N T 2 ; c o n n e c t e d w i t h C N T f r o m C I S P 2 ; c o n n e c t e d w i t h S f r o m C I - P C 2 ; h a n d s h a k e o u t p u t f r o m C I AS E R I A L A T N ; c o n t r o l c h a n n e l o t h s e r i a l b u

1 9 A C p h a s e1 9 A C p h a s e1 G N A G N D

- F L A G 2 ; h a n d s h a k e i n p u t f r o m C I C - P B 0 - P B 7 ; I / l i n e s f r o m C I M P A 2 ; I / l i n e f r o m C I A 2 T h i s l i n e s u b s t i t u t e s f o

t h C B w h i c h i k n o w n f r o m o t h e r C B M s o t h V I 6 5 2 2 .G N

S o m e o t h l i n e s m e n t i o n e d b e f o r e a l r e a d y h a v e d e f i n i t e l yp r e - a s s i g n e d f u n c t i o n s . F o m o r e i n f o r m a t i o n o u s i n g t h C I A s p l e a s e r e f e r t c h a p t e r 8

4

Page 58: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 58/304

C H A P T E R 4 T H E S Y N T H E S I Z E R

4 . T h S o u n d C o n t r o l l e r 6 5 8 1

4 . 1 . 1 G e n e r a l n o t e s a b o u t t h S I 6 5 8 1T h e s o u n d s y n t h e s i z e r i n c l u d e d i t h C o m m o d o r e 6 g i v e s y o t h o p p o r t u n i t y t p r o d u c e a l k i n d s o s o u n d s , r a n g i n g f r o m

f l u t e t b i s t e a m e n g i n e . M o s t c o m p u t e r s y n t h e s i z e r sh a v e o n l y o n e v o i c e , t h C o m m o d o r e 6 o f f e r s t h r e e - v o i c es y n t h e s i z e r .A l t h e l e m e n t s n e c e s s a r y t p r o d u c e q u a l i t y s o u n d a r f o u n d o s i n g l e I C T h i s I i c a l l e d t h s o u n d i n t e r f a c ed e v i c e ( S I D ) 6 5 8 1 . I i n e c o m p o n e n t o t h 6 5 x xf a m i l y . I t i s p r o v i d e d w i t h :* s e p e r a t e l y p r o g r a m m a b l e , i n d e p e n d e n t o s c i l l a t o r s

( v o i c e s )m i x a b l e w a v e f o r m s f o e v e r y v o i c e

* m i x a b l e f i l t e r s ( h i g h - l o w t a p e p a s s )A t t a c k / d e c a y / s u s t a i n / r e l e a s e c o n t r o l ( A D S R - c o n t r o l ) f o e v e r y v o i c e

r i n g m o d u l a t o r sa l t e r n a t i o n p o s s i b i l i t y f o e x t e r n a l s i g n a l s o u r c e

* 8 - b i t A / t r a n s f o r m e r

P i n l a y o u t o t h 6 5 8 1 a r e :1 - C A P l A f C A P l B ; c o n d e n s e r c o n n e c t o r f o t h p r o g r a m m a b l e

f i l t e r s . R e c o m m e n d e d c a p a c i t y : 2 2 0 0 p F 3 - C A P 2 A r C A P 2 B ; a 1 -

- R E S ( r e s e t ) ; = b r i n g s S I i n t o b a s i c s t a t e0 2 ( s y s t e m f r e q u e n c y 2 ) a l d a t a - b u s a c t i o n s o n l y t a k ep l a c e d u r i n g 0 2 = 1 *R / W : 0 = w r i t e a c c e s s , l = r e a d a c c e s s- C S ( c h i p s e l e c t ) ; 0 = d a t a v a l i d , l = d a t a i n v a l i d

9 - 1 3 A 0 - A 4 ( a d d r e s s b i t s 0 - 4 ) ; s e l e c t o n o t h 2 r e g i s t e r s o t h S I D .

1 G N D ( g r o u n d ) ; T h S I s h o u l d h a v e i t o w n g r o u n d s a t a v o i d i n t e r f e r e n c e s f r o m o t h e r s y s t e m c o m p o n e n t s .

1 5 - 2 2 D 0 - D 7 ; d a t a l i n e s t o / f r o m t h 6 5 1 0 p r o c e s s o r2 A 2 I N a n a l o g i n p u t2 A 1 I N a n a l o g i n p u t2 V C C ; s u p p l y v o l t a g e + 5 V2 E X I ( e x t e r n a l i n p u t ) ; i n p u t f o e x t e r n a l a u d i os i g n a l s f o m i x i n g w i t h S I D .2 A U D I O O U T ; o u t p u t f o s i g n a l s t h a t w e r e p r o d u c e d b

S I D .2 V D D ; s u p p l y v o l t a g e + 1 2 VT h S I 6 5 8 1 c a p r o d u c e t h r e e s y n t h e s i z e d v o i c e s t h a t c a

5

Page 59: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 59/304

b c o n t r o l l e d i n d e p e n d e n t l y o e a c h o t h e r . T h i s i a u n u s u a l l y p o w e r u l c a p a b i l i t y f o s i n g l e i n t e g r a t e dc i r c u i t . A d d i t i o n a l l y , t h v o i c e s c a b u s e d i c o m b i n a t i o nt p r o d u c e s o m e e x t r e m e l y c o m p l e x s o u n d s .E a c h v o i c e c o n s i s t s o a o s c i l l a t o r , w a v e f o r m g e n e r a t o rc a p a b l e o p r o d u c i n g f o u r d i f f e r e n t t i m b r e s , a e n v e l o p eg e n e r a t o r , a n d a n a m p l i t u d e m o d u l a t o r .T h o s c i l l a t o r p r o d u c e s t h b a s i c f r e q u e n c y i t h r a n g ef r o m 0 - 8 2 0 0 H w i t h r e s l o l u t i o n o 1 b i t s .T h S I c a p r o d u c e f o u r d i f f e r e n t w a v e f o r m s : t r i a n g u l a r ,s a w t o o t h , p u l s e a n w h i t e n o i s e . T h c h o i c e o w a v e f o r m si n f l u e n c e s t h s o u n d q u a l i t y .

t r i a n g u l a r w a v e f o r m h a v e r y s o f t s o u n d , l i k er e c o r d e r . T h s a w t o o t h w a v e f o r m p r o d u c e s f u l l s p e c t r u ms o u n d . C o n s e q u e n t l y , i h a m o r e h a r s h s o u n d , l i k et r u m p e t . T h p u l s e w a v e f o r m i m i s s i n g s o m e s o m e h a r m o n i cr a n g e s . I s o u n d s l i t t l e h o l l o w , s o m e w h a t l i k ec l a r i n e t . T h w h i t e n o i s e c o n s i s t s o r a n d o m s e q u e n c e o d i f f e r e n t f r e q u e n c i e s w i t h i n d e f i n e d l i m i t s .T h v o l u m e o t o n e i i n f l u e n c e d b a a m p l i t u d e m o d u l a t o rw h i c h i c o n t r o l l e d b t h e n v e l o p e g e n e r a t o r . W h e n t h e n v e l o p e g e n e r a t o r i t r i g g e r e d , t h a m p l i t u d e ( v o l u m e ) o t h s o u n d i c o n t r o l l e d b y t h e A D S R p a r a m e t e r s t h a t d e f i n et h e n v e l o p e .A d d i t i o n a l l y , t h o u t p u t s o e a c h v o i c e c a b s e n t t h r o u g ha d j u s t a b l e f i l t e r s w h i c h f u r t h e r d e f i n e t h e s o u n d .T h S I a l s o l e t s y o u u s e v o i c e s o i c o m b i n a t i o n w i t hv o i c e t p r o d u c e r i n g m o d u l a t e d s o u n d m u c h l i k e b e l ls o u n d .T h S I a l s o c o n t a i n s t w 8 - b i t a n a l o g t d i g i t a lc o n v e r t e r s . T h e s e A / c o n v e r t e r s c a b u s e d t c o n n e c t g a m ep a d d l e s , e l e c t r i c a l c o n t r o l l e r s , e t c .

4 . 1 . 2 E x p l a i n a t i o n o t h R e g i s t e r sT h S I i l o c a t e d a a d d r e s s $ D 4 0 0 ( 5 4 2 7 2 ) . T h r e g i s t e r st h a t c o n t r o l t h S I a r e :R E o s c i l l a t o r f r e q u e n c y l o b y t e f o v o i c e

R E o s c i l l a t o r f r e q u e n c y h i g h b y t e f o v o i c eR E p u l s e w i d t h l o w b y t e f o v o i c eR E p u l s e w i d t h h i g h b y t e f o v o i c e

R e g i s t e r s a n d e t e r m i n e t h p u l s e w i d t hr e l a t i o n o t h p u l s e w a v e f o r m o u t p u t o v o i c e 1 O n l y t h b i t s 0 - 3 a r e u s e d b r e g i s t e r 3

5

Page 60: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 60/304

R E c o n t r o l r e g i s t e r f o v o i c eb i G A T E : g a t e b i f o r t h e e n v e l o p e g e n e r a t o r .

W h e n t h i s b i i s e t o n e , t h A T T A C K / D E C A Y / S U S T A I N c y c l e b e g i n s . T h v o l u m eo v o i c e i n c r e a s e s f r o m z e r o t t h m a x i m u ma c c o r d i n g t t h a t t a c k t i m e s e i R E a n t h e n d e c r e a s e s a c c o r d i n g t t h d e c a y t i m e i a l s o s e i R E t t h s u s t a i n l e v e l s e i R E 6 W h e n t h i s b i i s e t z e r o , t h e R E L E A S Ec y c l e b e g i n s . T h e v o l u m e d e c r e a s e s t z e r oa c c o r d i n g t t h r e l e a s e t i m e s e i R E 6

B i S Y N C : W h e n s e t t o 1 t h f r e q u e n c y o v o i c ei s y n c h r o n i z e d w i t h t h a t o v o i c e 3

B i R I N G : W h e n s e t 1 t h t r i a n g u l a r w a v e f o r mo u t p u t o v o i c e i r e p l a c e d b r i n gm o d u l a t e d c o m b i n a t i o n o v o i c e s a n 3

B i T E S T : W h e n s e t 1 v o i c e i l o c k e d u n t i lt h T E S T b i i r e s e t t 0

B i T R I : W h e n s e t 1 t r i a n g u l a r w a v e f o r ms e l e c t e d

B i S A W : W h e n s e t 1 , s a w t o o t h w a v e f o r ms e l e c t e d

B i P U L : W h e n s e t 1 p u l s e w a v e f o r ms e l e c t e d .

B i N S E : W h e n s e t 1 n o i s e g e n e r a t o rs e l e c t e d .I i p o s s i b l e t s e l e c t s e v e r a l w a v e f o r m ss i m u l t a n e o u s l y . T h r e s u l t i l o g i c e lA N D i n g o t h w a v e w o r m s .

R E A T T A C K / D E C A Y ( s e e T A B L E S 4 . a n 4 . 2 )B i t s 0 - D E C A Y : S e t s t h t i m e i w h i c h t h v o l u m e

f a l l s f r o m m a x i m u m t o t h e s u s t a i n l e v e l . T h r a n g e i v a r i a b l e f r o m 6 m s e c t 2 4 s e c .

B i t s 4 - A T T A C K : S e t s t h t i m e i w h i c h t h v o l u m ei n c r e a s e s f r o m z e r o t m a x i m u m v o l u m e a f t e rg a t i n g t h v o i c e . T h e r a n g e i v a r i a b l e f r o m2 m s e c t s e c .

R E S U S T A I N / R E L E A S E ( s e e T A B L E 4 . 2 )B i t s 0 - R E L E A S E : S e t s t h t i m e i w h i c h t h v o l u m e

f a l l s f r o m t h s u s t a i n l e v e l t z e r o v o l u m ea f t e r r e s e t t i n g t h G A T E b i t z e r o . T h r a n g e i v a r i a b l e f r o m 6 m s e c t 2 s e c .

B i t s 4 - S U S T A I N : T h p r o p o r t i o n o f t h e p e a k v o l u m et h a t c o n s t i t u t e s t h s u s t a i n l e v e l . A z e r ov a l u e i n d i c a t e s z e r o v o l u m e , v a l u e o i s u s t a i n l e v e l e q u a l t o n e - h a l f o t h p e a k v o l u m e a n v a l u e o 1 5 i s s u s t a i nl e v e l e q u a l t t h p e a k v o l u m e .

5

Page 61: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 61/304

R E 7 R E 1 T h e s e r e g i s t e r s c o n t r o l v o i c e a n a l o g o u s l y t

r e g i s t e r s 0 - w i t h t h f o l l o w i n g e x c e p t i o n s :S Y N C s y n c h r o n i z e s v o i c e w i t h v o i c eR I N G r e p l a c e s t h t r i a n g u l a r o u t p u t o v o i c e

w i t h t h r i n g - m o d u l a t e d c o m b i n a t i o n o t h v o i c e s a n 2

R E 1 4 R E 2 T h e s e r e g i s t e r s c o n t r o l v o i c e a n a l o g o u s l y t

r e g i s t e r s 0 - w i t h t h f o l l o w i n g e x c e p t i o n s :S Y N C s y n c h r o n i z e s v o i c e w i t h v o i c e 2 R I N G s u b s t i t u t e s t h t r i a n g u l a r o u t p u t o

v o i c e w i t h t h r i n g - m o d u l a t e d c o m b i n a t i o no v o i c e a n 2

R E 2 f i l t e r f r e q u e n c y l o w . O n l y b i t s 0 - 2 a r e u s e d .R E 2 f i l t e r f r e q u e n c y h i g h .

T h 1 1 - b i t n u m b e r o r e g i s t e r s 2 a n 2 d e t e r m i n et h c u t o f f f r e q u e n c y o t h f i l t e r s . T h i s f r e q u e n c yi c o m p u t e d a f o l l o w s :

F = ( 3 0 + W * 5 . 8 ) H z , i t h i s 1 1 - b i t n u m b e r .R E 2 F i l t e r r e s o n a n c e a n d s w i t c h .

B i l = o u t p u t v o i c e t h r o u g h t h f i l t e r .B i l = o u t p u t v o i c e t h r o u g h t h f i l t e r .B i l = o u t p u t v o i c e t h r o u g h t h f i l t e r .B i l = i n p u t e x t e r n a l s i g n a l s o u r c e t h r o u g h f i l t e rB i t s 4 - R e s o n a n c e f r e q u e n c y o f i l t e r .T h r e s o n a n c e f r e q u e n c y i v a r i a b l e f r o m z e r o ( n r e s o n a n c e ) t 1 ( m a x i m u m r e s o n a n c e ) w h i c he m p h a s i z e s t h f r e q u e n c i e s a t h c u t o f f f r e q u e n c y .

R E 2 . T h i s r e g i s t e r h a t h f o l l o w i n g f u n c t i o n s :B i t s 0 - 3 : o v e r a l l v o l u m eB i L s e t s t h l o w - p a s s o u t p u t o t h f i l t e r .B i B s e t s t h b a n d - p a s s o u t p u t o t h f i l t e r .B i H s e t s t h h i g h - p a s s o u p u t o t h f i l t e r .B i 3 O F F l = d i s c o n n e c t v o i c e o u t p u t . U s e t h i s

t m o d u l a t e t h o t h e r v o i c e s w i t h o u t a u d i b l er e s u l t s f r o m v o i c e 3

Y o m a o n l y w r i t e t t h r e g i s t e r s l i s t e d a b o v e . Y o u m a o n l y r e a d t h r e g i s t e r s l i s t e d b e l o w :R E 2 P O T X r e a d s t h p o s i t i o n o t h p o t e n t i o m e t e r ( A / D

c o n v e r t e r ) a p i 2 4

R E 2 P O T Y : r e a d s t h p o s i t i o n o t h p o t e n t i o m e t e r ( A / Dc o n v e r t e r ) a p i 2 3

R E 2 N o i s e g e n e r a t o rT h i s r e g i s t e r a l l o w s y o t r e a d t h o u t p u t o

5

Page 62: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 62/304

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

R E 2 E n v e l o p e g e n e r a t o rT h i s r e g i s t e r s a l l o w s y o t r e a d t h o u t p u t o v o i c e e n v e l o p e g e n e r a t o r . T h i s a l l o w s y o t p r o d u c e h a r m o n i c e n v e l o p e s b a d d i n g t h i sr e g i s t e r t t h f i l t e r f r e q u e n c y .

V A L U E A T T A C K R A T E

1 1 1 1 1 1

V A L U E

m m

1 m 2 m 3 m 5 m 6 m 8 m

1 0 m 2 5 m 5 0 m 8 0 0 m s

s e s e s e s e

T A B L E 4 -

D E C A Y / R E L E A S E R A T E

1 1 1 1 1 1

6 m 2 4 r o s4 8 m s7 2 m s

1 1 4 m s1 6 8 m s2 0 4 m s2 4 0 m s3 0 0 m s7 5 0 m s1 . 5 s e c2 . 4 s e c

3 s e c9 s e c

1 5 s e c2 4 s e cT A B L E 4 - 2

5

Page 63: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 63/304

4 . 1 . 3 T h e A n a l o g / D i g i t a l C o n v e r t e r ( P o t e n t i o m e t e r s )T h A / c o n v e r t e r , a l s o c a l l e d p o t e n t i o m e t e r i d e v i c et h a t c h a n g e s a a n a l o g s i g n a l ( i . e . v o l t a g e ) i n t o d i g i t a lv a l u e . T h e c r i t i c a l p r o b l e m w i t h s u c h t r a n s f o r m a t i o n i t c h a n g e a a n a l o g v a l u e w i t h a i n f i n i t e g r a d a t i o n i n t od i g i t a l v a l u e w i t h f i n i t e g r a d a t i o n ( f i x e d i n t e r v a l s ) .I n e v i t a b l y , m a x i m u m e r r o r o + / o t h s m a l l e s t d i g i t a ls t e p o c c u r s .

T h e S I D 6 5 8 1 c o n t a i n s t w A / D c o n v e r t e r s n a m e d P O T X a n P O T Y . T h e y e a c h u s f i x e d r e f e r e n c e v o l t a g e o 5 V T h e yp r o d u c e r e a d i n g a f o l l o w s : c a p a c i t o r i d i s c h a r g e d a n i t i v a l u e i r e a d i n t o r e g i s t e r 2 o 2 6 T h i s v a l u e i p o r p o r t i o n a l t t h t i m e r e q u i r e d f o r e c h a r g i n g o f t h ec a p a c i t o r u s i n g t h r e f e r e n c e v o l t a g e . T h i s p r o c e d u r e i r e p e a t e d c y c l i c a l l y .

4 . 1 . 3 . 1 H a n d l i n g t h A / D C o n v e r t e rI b e c o m e s c l e a r f r o m t h p o i n t s m a d e a b o v e t h a t o n l yp o t e n t i o m e t r i c a l s w i t c h i n g i p o s s i b l e , i c u r r e n t s h a v e t b m e a s u r e d , t h e y m u s t t b p u i n t o s u i t a b l e f o r m f i r s t .T h i s c a b a c h i e v e d b u s i n g u n i j u n c t i o n t r a n s i s t o r .T h m e a s u r i n g a r r a n g e m e n t s a r s u c h t h a t t h o n e n o t h m e a s u r i n g r e s i s t a n c e i c o n n e c t e d t + 5 ( a v a i l a b l e a t h c o n t r o l p o r t o t h C o m m o d o r e 6 4 a n d t h e o t h e r e n i c o n n e c t e d t o t h e a n a l o g i n p u t o t h S I ( a l s o a v a i l a b l e a t h c o n t r o l p o r t s , m a r k e d a P O T X a n P O T Y ) . T h v a l u e r e a df r o m r e g i s t e r s 2 a n 2 i s m e a s u r e m e n t o f t h e r e s i s t a n c e .I o r d e r t t a k e a d v a n t a g e o t h e n t i r e 8 - b i t r a n g e , t h r e s i s t a n c e m u s t o p e r a t e i r a n g e f r o m t o 5 0 0 m e g a o h m .4 . 1 . 3 . 2 U s i n g t h G a m e P a d d l e sY o c a c o n n e c t r e g u l a r g a m e p a d d l e s t t h C o m m o d o r e 6 4 T w s e t s o g a m e p a d d l e s ( f o u r i a l l ) m a b c o n n e c t e d a o n t i m e . T h e y a r s i m p l y p l u g g e d i n t o t h c o n t r o l p o r t s o t h r i g h t s i d e o t h d e v i c e . g a m e p a d d l e i n o t h i n g m o r et h a n p o t e n t i o m e t e r ( w h i c h i c o n n e c t e d t t h S I a w a e x p l a i n e d i t h p r e c e d i n g s e c t i o n ) , a n d k e w h i c h h a a e f f e c t o j o y s t i c k p o s i t i o n L E F T f o t h o n p a d d l e a n R I G H T f o r t h e o t h e r p a d d l e .

T h p r o c e d u r e o r e a d i n g t h g a m e p a d d l e v a l u e s f r o m p r o g r a mp r e s e n t s l i t t l e p r o b l e m . T h g a m e p a d d l e s a n t h k e y b o a r ds h a r e s o m e o t h l i n e s o C I a n C I 2 B e c a u s e t w o s e t so t h p a d d l e s ( f o u r p a d d l e s i a l l ) m a b c o n n e c t e d a o t i m e a n b e c a u s e t h e r e a r e o n l y t w a n a l o g c o n v e r t e r s i t h C o m m o d o r e 6 4 w a o s h a r i n g t h c o n v e r t e r s i r e q u i r e d .S o a s t o a v o i d i n t e f e r e n c e o t h g a m e p a d d l e s w i t h t h k e y b o a r d , w e h a v e t w r i t e s m a l l m a c h i n e l a n g u a g e r o u t i i e

5

Page 64: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 64/304

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

; p r e v e n t k e y b o a r d i n t e r r u p t i o n s? p a r a m e t e r f o p a d d l e - s e t; g e t A / v a l u e s A a n A ; s a v e P O T X

a n s a v e P O T Y; g e t k e f r o m C I ; f i l t e r r e q u i r e d b i t s; a n d s a v e; p a r a m e t e r f o p a d d l e - s e t; g e t A / v a l u e s B a n B ; a n d s a v e? g e t k e y s f r o m C I ; f i l t e r r e q u i r e d b i t s? a n d s a v e; a l l b i t s o u t p u t i C I ; i o r d e r t e n a b l e; k e y b o a r d i n q u i r y; b a c k t b a s i c p r o g r a m; s e l e c t p a d d l e s e ; a n d s e a p p r o p i r a t e b i t s; o o u t p u t; t i m e d e l a y t

s t a b i l i z e i n p u t; A / D i n p u t; g e t A / ( P O T X ); g e t A / ( P O T Y ); r e t u r n t m a i n p r o g r a m

H e r e i B A S I C p r o g r a m w h i c h P O K E S t h a b o v e p r o g r a m i n t om e m o r y . C o n n e c t t h p a d d l e s , l o a d a n d s t a r t t h p r o g r a m a n s e w h a t h a p p e n s .1 D A T A 1 2 0 , 1 6 9 , 1 2 8 , 3 2 , 2 3 6 , 2 0 7 , 1 4 2 , 6 0 , 3 , 1 4 0 , 6 1 , 3 , 1 7 32 D A T A 0 , 2 2 0 , 4 1 , 1 2 , 1 4 1 , 1 5 9 , 2 , 1 6 9 , 6 4 , 3 2 , 2 3 6 , 2 0 7 , 1 4 23 D A T A 6 2 , 3 , 1 4 0 , 6 3 , 3 , 1 7 3 , 1 , 2 2 0 , 4 1 , 1 2 , 1 4 1 , 1 6 0 , 2 , 1 6 94 D A T A 2 5 5 , 1 4 1 , 2 , 2 2 0 , 8 8 , 9 6 , 1 4 1 , 0 , 2 2 0 , 9 , 1 9 2 , 1 4 1 , 25 D A T A 2 2 0 , 1 6 2 , 0 , 2 0 2 , 2 0 8 , 2 5 3 , 1 7 4 , 2 5 , 2 1 2 , 1 7 2 , 2 6 , 2 1 2 , 9 66 F O M = 5 3 1 8 2 T 5 3 2 4 77 R E A D A P O K E M , A : N E X T : r e a d i R E m a c h i n e p r o g r a m8 A X = 8 3 0 : R E p a d d l e a c o n t r o l p o r t9 A Y = 8 3 1 : R E p a d d l e a c o n t r o l p o r t1 0 B A = 6 7 2 : R E M k e y s f r o m p a d d l e p a i r1 1 B X = 8 2 8 : R E M p a d d l e a c o n t r o l p o r t1 2 B Y = 8 2 9 : R E p a d d l e a c o n t r o l p o r t1 3 B B = 8 3 0 : R E k e y s f r o m p a d d l e p a i r1 4 S Y 5 3 1 8 2 : R E M g e t a l v a l u e s1 5 P R I N T P E E K ( A X ) 1 1 " P E E K ( A Y ) 1 1 " P E E K ( B A ) " "

C F B EC F B FC F C 1C F C 4C F C 7C F C AC F C DC F C FC F D 2C F D 4C F D 7C F D AC F D DC F E 0C F E 2C F E 5C F E 7C F E AC F E BC F E CC F E FC F F 2C F F 4C F F 6C F F 7C F F 9C F F CC F F F

S E L D J S S T S T L D A N S T L D J S S T S T L D A N S T L D S T C L R T S T O R S T L D D E B N L D L D R T

# $ 8 0$ C F E C$ 0 3 3 C$ 0 3 3 D$ D C 0 0# $ 0 C$ 0 2 9 F# $ 4 0$ C F E C$ 0 3 3 E$ 0 3 3 F$ D C 0 1# $ o c$ 0 2 A 0# $ F F$ D C 0 2

$ D C 0 0# $ c o$ D C 0 2# $ $ C F F 6$ D 4 1 9$ D 4 1 A

5

Page 65: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 65/304

1 6 P R I N T P E E K ( B X ) " " P E E K ( B Y ) 1 1 " P E E K ( B B ) "1 7 G O T O 1 4

4 . P r o g r a m m i n g t h S I 6 5 8 1

T h i s s e c t i o n d e s c r i b e s t h p r o g r a m m i n g t h s y n t h e s i z e r .F o r t h e s i m p l e p r o d u c t i o n o t o n e y o u s h o u l d : 1 l o a dr e g i s t e r 2 4 2 s e t h a p p r o p r i a t e A D S R r e g i s t e r s( 5 , 6 , 1 2 , 1 3 , 1 9 , 2 0 ) ; 3 s e t h r e m a i n i n g r e g i s t e r s ,p r e f e r a b l y i t h o r d e r o t h e i r v o i c e r a n g e w i t h t h e x c e p t i o n o t h r e g i s t e r s 4 1 a n 1 8 4 l o a d r e g i s t e r s4 , 1 1 a n 1 a t t h e e n ( d o n ' t f o r g e t b i 0 ! a n d t h e n y o u ' l lh e a r t h t o n e .T h f o l l o w i n g b r i e f p r o g r a m w i l l a c q u a i n t y o w i t h t h w a v e f o r m s a n t h t o n e r a n g e o t h s y n t h e s i z e r :

1 S l = 5 4 2 7 2 : R E M v o i c e2 S 2 = 5 4 2 7 9 : R E M v o i c e3 S 3 = 5 4 2 8 6 : R E v o i c e4 F L = 5 4 2 9 3 : R E M f i l t e r l o - b y t e5 F H = 5 4 2 9 4 : R E M f i l t e r h i - b y t e6 R S = 5 4 2 9 5 : R E r e s o n a n c e + s w i t c h7 P L = 5 4 2 9 6 : R E M p a s s k i n d + v o l u m e8 P O K E S l + 4 , 0 : P O K E S 2 + 4 , 0 : P O K E S 3 + 4 , 01 0 P O K E S l + 2 , 0 : P O K E S l + 3 , 81 1 P O K E S l + 5 , 0 : P O K E S l + 6 , 2 4 01 2 P O K E R S , 0 : P O K E P L , 1 51 3 P R I N T " T R I A N G L E "1 4 T = 1 6 : G O S U B 3 0 1 5 P R I N T " S A W T O O T H "1 6 T = 3 2 : G O S U B 3 0 1 7 P R I N T " R E C T A N G L E "1 8 T = 6 4 : G O S U B 3 0 1 9 P R I N T " N O I S E "2 0 T = 1 2 8 : G O S U B 3 0 2 1 E N 3 0 P O K E S l , 0 : P O K E S l + 1 , 03 1 P O K E S 1 + 4 , T + 1 : R E s w i t c h o t o n e3 2 F O 1 = T 2 5 5 : F O J = T 2 5 S T E P 5 3 3 P O K E S 1 , J : P O K E S l + l , I3 4 N E X T J , 3 5 P O K E S 1 + 4 , T : R E M s w i t c h o f f t o n e3 6 R E T U R N

L i n e s 1 t h r u 8 s h u l d b w r i t t e n b e f o r e e a c h o y o u r s o u n dp r o g r a m s . I m a k e s t h p r o g r a m l o e a s i e r t h a n d l e .T h n e x t p r o g r a m m a k e s t h f u n c t i o n o t h e n v e l o p eg e n e r a t o r c l e a r e r . F o r e a s o n s o s i m p l i c i t y , j u s t c o p yl i n e s 1 t 8 f r o m t h p r e c e d i n g p r o g r a m , a n d a d d l i n e s 1 0

5

Page 66: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 66/304

t h r o u g h 1 6 a f o u n d b e l o w .

1 0 A = 9 : D = 9 : S = 8 : R = 9 : H = 4 0 01 1 P O K E S l + 5 , 1 6 * A + D : P O K E S l + 6 , 1 6 * S + R1 2 P O K E R S , 0 : P O K E P L , 1 51 3 P O K E S I , 3 7 : P O K E S l + 1 , 1 71 4 P O K E S l + 4 , 3 31 5 F O 1 = T H N E X T1 6 P O K E S l + 4 , 3 2N o t r c h a n g i n g t h d a t a i l i n e 1 0 i o r d e r t g e f e e l i n g f o r t h e p a r a m e t e r s a n w h a t i n f l u e n c e t h e y h a v e o nt h t o n e . T h v a l u e s A , D , S , a n m a o n l y b i r a n g ef r o m t 1 5 o t h e r w i s e y o w i l l g e a I L L E G A L Q U A N T I T YE R R O R .A s y o u p r o b a b l y f o u n d o u t b y n o w , v a r i a b l e A d e t e r m i n e s t h i n c r e m e n t t i m e a n v a r i a b l e t h d e c r e m e n t t i m e o t h v o l u m e l e v e l ; v a r i a b l e d e t e r m i n e s t h t i m e t h o l d t h t o n e a t h s u s t a i n l e v e l a n v a r i a b l e t h r e l e a s e t i m e t z e r o v o l u m e a f t e r r e s e t t i n g t h G A T E b i t .H e r e i p r o g r a m t p l a y t h r e e v o i c e c h o r d o t h h a r p s i c h o r d . A g a i n , k e e p l i n e s 1 t 8 f r o m t h f i r s tp r o g r a m !

1 0 A = 0 : D = l : S = 1 3 : R = 1 0 : H = 1 0 01 1 P O K E S 1 + 5 , 1 6 * A + D : P O K E S l + 6 , 1 6 * S + R1 2 P O K E S 2 + 5 , 1 6 * A + D : P O K E S 2 + 6 , 1 6 * S + R1 3 P O K E S 3 + 5 , 1 6 * A + D : P O K E S 3 + 6 , 1 6 * S + R1 4 P O K E R S , 0 : P O K E P L , 1 51 5 P O K E S I , 3 7 : P O K E S l + 1 , 1 71 6 P O K E S 2 , 1 5 4 : P O K E S 2 + l , 2 11 7 P O K E S 3 , 1 7 7 : P O K E S 3 + l , 2 51 8 P O K E S l + 4 , 3 3 : P O K E S 2 + 4 , 3 3 : P O K E S 3 + 4 , 3 31 9 F O 1 = T H N E X T2 0 P O K E S l + 4 , 3 2 : P O K E S 2 + 4 , 3 2 : P O K E S 3 + 4 , 3 2I t h n e x t e x a m p l e , t h f r e q u e n c y o f t h e t o n e i c h a n g e d b r e a d i n g t h e n v e l o p e g e n e r a t o r o v o i c e ( 5 4 3 0 0 ) . T r e x p e r i m e n t i n g w i t h t h d a t a i l i n e 1 0 a g a i n .

1 0 A = 9 : D = 9 : S = 9 : R = 9 : H = 3 01 1 P O K E R S , 0 : P O K E P L , 1 51 2 P O K E S 3 + 5 , 1 6 * A + D : P O K E S 3 + 6 , 1 6 * S + R1 3 P O K E S 3 + 4 , 3 31 4 F O 1 = T H P O K E S 3 + 1 , P E E K ( 5 4 3 0 0 ) : N E X T1 5 P O K E S 3 + 4 , 3 21 6 F O 1 = T R * 4 : P O K E S 3 + 1 , P E E K ( 5 4 3 0 0 ) : N E X T

F i n a l l y , l e t t h e " S T A R S H I P E N T E R P R I S E " p a s s b a c o u s t i c l y :

5

Page 67: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 67/304

1 0 A = 1 5 : D = 0 : S = 8 : R = 1 3 : H = 8 0 0 01 1 P O K E R S f 0 : P O K E P L f 1 51 2 P O K E S l , 0 : P O K E S l + l f 3 01 3 P O K E S 2 , 0 : P O K E S 2 + l , l1 4 P O K E S 3 f 0 : P O K E S 3 + l , 1 0 01 5 P O K E S 1 + 5 , 1 6 * A + D : P O K E S l + 6 , 1 6 * S + R1 6 P O K E S l + 4 , 1 2 9 : P O K E S 3 + 4 f 2 31 7 F O 1 = T H N E X T1 8 P O K E S l + 4 , 1 2 8 : P O K E S 3 + 4 , 1 6W a r s u r e t h a t a l t h e s e e x a m p l e s p r o v i d e y o e n o u g hi n c e n t i v e t t r y o u r o w n p r o g r a m s o t h s y n t h e s i z e r . H a v ef u n !

4 . S Y N T H Y - 6 4 F u l l - f l e d g e d S y n t h e s i z e r s o f t w a r eW h e n p e o p l e h e a r d a b o u t t h C o m m o d o r e 6 a n i t t r e m e n d o u sc a p a b i l i t i e s i g r a p h i c s a n s o u n d , t h e y b e c a m e e x c i t e d .B u a f t e r r e a d i n g t h e u s e r ' s g u i d e , s o m e p e o p l e s t a r t e d t w o n d e r w h e t h e r s o m e p a g e s i t h i s b o o k w e r e m i s s i n g . V e r yl i t t l e w a s a i d a b o u t p r o g r a m m i n g c o l o r , s o u n d , o r g r a p h i c s .Y o h a v e t a d m i t t h a t p r o g r a m m i n g c o l o r , s o u n d , a n dg r a p h i c s i n o n e c e s s a r i l y e a s y . Y o m u s t s e e v e r yr e g i s t e r a n m e m o r i z e a d d r e s s e s t c r e a t e t h d i f f e r e n ts o u n d .

F o e x a m p l e y o u n e e d t h r e e P O K E c o m m a n d s f o t h n o t e " C " :P O K E 5 4 2 7 2 , 3 7 : P O K E 5 4 2 7 3 , 1 7 : P O K E 5 4 2 7 6 , 6 5

T h i s i s o c o u r s e , n o v e r y s u i t a b l e f o w r i t i n g l o n gc o m p o s i t i o n s . Y o u h a v e t c o n t r o l t h p r o d u c t i o n o q u a r t e ro e i g h t h n o t e s , e t c . A l t h i s m a y d i m y o u r j o i t h C o m m o d o r e 6 s l i g h t l y . F o r t u n a t e l y , t h e r e i s o f t w a r e t h a ts a v e y o u f r o m t h b o t h e r s o m e p r o c e d u r e s o P O K E s a n P E E K sa n 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 .O n s u c h s o f t w a r e p a c k a g e s i S Y N T H Y 6 4 I a l l o w s y o t t a k e a d v a n t a g e o f t h e f a n t a s t i c s o u n d c a p a b i l i t i e s o t h C o m m o d o r e 6 4 w i t h o u t h a v i n g t r e s o r t t m a c h i n e l a n g u a g ep r o g r a m m i n g . U s i n g t h S Y N T H Y 6 4 a s a n e x a m p l e , w w i l ls h o w y o h o e a s y a n r e l a x i n g t h c o m p o s i t i o n o m u s i c c a b e T h i s p r o g r a m a l l o w s y o t p l a y s e v e r a l v o i c e s , i n d i c a t et h p r e s e n t l y p l a y e d t o n e , s a v e a n l o a d t h d i f f e r e n t s o n g sa n m u c h m o r e . S Y N T H Y - 6 4 i s p r o d u c t o A B A C U S S o f t w a r e .W i t h S Y N T H Y - 6 4 , t h c o m p o s i t i o n o m u s i c i s i m i l a r t t h p r o c e s s u s e d i w r i t i n g r e g u l a r s h e e t m u s i c a n u s i n gs t r u c t u r e s i m i l a r t B A S I C . Y o u p u t i l i n e n u m b e r a n

5

Page 68: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 68/304

a f t e r w a r d s t h c o m m a n d s o t h n o t e s .N o t e s a r e n t e r e d a c c o r d i n g t t h e i r n a m e s : t h n o t e " C i e n t e r e d s i m p l y a C F o t h f i r s t n o t e o e a c h v o i c e y o m a a d d . t h f o l l o w i n gi n f o r m a t i o n :

V O I C E N O T E V A L U E O C T A V E N O T E D U R A T I O NE x a m p l e : + G 5 / 4 . s t a n d s f o v o i c e 1 " G n o t e i p l a y e d i t h f i f t h o c t a v e a q u a r t e r n o t e . I y o d o n ' t c h a n g e t h v o i c e , o c t a v e o n o t e d u r a t i o n y o n e e d o n l y i n d i c a t e t h n o t e v a l u e o s u b s e q u e n t c o m m a n d s .W h e n u s e d t w r i t e m u s i c , S Y N T H Y - 6 4 g i v e s y o B A S I C s h e l li t h e d i t o r . I y o L I S T t h S Y N T H Y - 6 4 s h e l l , i l o o k sl i k e t h i s : R U N " < c l r > " < c l r > a p p e a r s a r e v e r s e d h e a r t

6 3 0 0 0 R E 6 3 0 0 5 r e m * * * * * * *6 3 0 1 0 @ W P @ P 8 @ A @ D @ S @ R @ F R E T U R N P I A N O6 3 0 2 0 @ W @ A @ D @ S 1 0 @ R @ F R E T U R N F L U T E6 3 0 3 0 @ W @ A 6 @ D 0 @ S 1 0 @ R C X 1 Y 1 2 @ F 1

R E T U R N T R U M P E T6 3 0 4 0 @ W P @ P 1 @ A 0 @ D @ S @ R 0 @ F 0 R E T U R N B A N J O6 3 0 5 0 @ W @ A @ D @ S @ R Z H X 8 Y 1 @ F R E T U R N

A C C O R D I O N

T h R U c o m m a n d i l i n e m u s t b t h f i r s t c o m m a n d i e v e r ym u s i c p r o g r a m w h i c h y o u c o m p o s e . L i n e s 6 3 0 1 0 t 6 3 0 5 0 a r f i v e i n d e p e n d e n t r o u t i n e s t h a t c a b u s e d t s e t u p v o i c et s o u n d l i k e p a r t i c u l a r i n s t r u m e n t . Y o s e v o i c e f r o ma n y w h e r e w i t h i n t h p r o g r a m t G O S U B t t h p r o p e rs u b r o u t i n e . I o u e x a m p l e , w e w o u l d G O S U B t h s u b r o u t i n e i l i n e 6 3 0 5 0 ( a c c o r d i o n ) .

+ G O S U B 6 3 0 5 0w h e r e s t a n d s f o v o i c eT h c o m m a n d s t h a t y o u s e i l i n e s 6 3 0 1 0 t 6 3 0 5 0 a r s p e c i a l f e a t u r e s o S Y N T H Y - 6 4 . W i t h t h e s e c o m m a n d s t h p r o p e r r e g i s t e r s i t h C o m m o d o r e 6 a r s e b S Y N T H Y - 6 4 .F o e x a m p l e :

@ W s e t s v o i c e t p u l s e w a v e f o r m@ P s e t s t h p u l s e w i d t h t @ A 0 s e t s t h a t t a c k s p e e d t

Y o c a n u s e S Y N T H Y - 6 4 t e a s i l y c o n t r o l t h e n v e l o p eg e n e r a t o r , f i l t e r s , r i n g m o d u l a t o r , a n d o z e n s o o t h e rv a r i a t i o n s a l l o w e d b y t h e S I c h i p .

6

Page 69: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 69/304

B e l o w , i a e x a m p l e o u s i n g S Y N T H Y - 6 4 t p l a y f a m i l i a rp i e c e o m u s i c " S w i n g L o w , S w e e t C h a r i o t " .

R U N " < c l r > "1 + G O S U B 6 3 0 5 0 - G O S U B 6 3 0 2 05 T 1 3 01 0 + B 5 / 4 G 4 / 1 + G 4 / 2 B 5 / 4 G 4 / 4 . G + G / 8 E / 8 D / 4 .1 5 G / + G B B / + D / 12 0 E / B / D / G 4 / 4 . C / + G / 8 D / 4 .2 5 G / + B + B A / 4 G 4 / 2 . G / + B 5 / 43 0 + G 4 / 8 G / G / C / + G / E / D / 4 .

G / + B 5 D / D / 2 . + D / 4B / G G / 8 C / 2 + G G / D / 4 .

+ G G G B + A / 4 G 4 / 13 5 G / 4 0 0 E / 84 5 A / 9 9 E N 6 3 0 0 0 R E 6 3 0 0 5 P E M * * * * * * *6 3 0 1 0 @ W @ P @ A 0 @ D 9 @ S @ R 0 @ F 0 R E T U R N6 3 0 2 0 @ W @ A @ D 2 @ S 1 0 @ R @ F R E T U R N6 3 0 3 0 @ W @ A @ D 0 @ S 1 O @ R Z X 1 Y 1 2 @ F 1 R E T U R N6 3 0 4 0 @ W @ P @ A 0 @ D 9 @ S 0 @ R 0 @ F 0 R E T U R N6 3 0 5 0 @ W @ A @ D 5 @ S 2 @ R Z X Y 1 @ F R E T U R N

P I A N OF L U T E

T R U M P E TB A N J O

A C C O R D I O NY o c a s e i l i n e s 1 t h r o u g h 4 5 0 t h a t i t i s m u c h e a s i e rt e n t e r m u s i c u s i n g n o t e - o r i e n t e d l a n g u a g e a o p p o s e d t

P O K E - o r i e n t e d l a n g u a g e . A f t e r e n t e r i n g t h a b o v e m u s i ca n l i s t e n t y o u r s o n g . H a v e f u c o m p o s i n g !O c o u r s e , y o u c a n u s S Y N T H Y - 6 4 t c r e a t e y o u r o w n s o u n d sa n i n s t r u m e n t s . T h C o m m o d o r e 6 h a r e m a r k a b l e a b i l i t yt m a k e m u s i c a n s o u n d e f f e c t s .

6

Page 70: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 70/304

C h a p t e r G R A P H I C S P R O G R A M M I N G

5 . T h V i d e o I n t e r f a c e C h i p 6 5 6 7

5 . 1 . 1 C H I P D e s c r i p t i o nT h V I c h i p i v e r y s o p h i s t i c a t e d i n t e g r a t e d o t h 6 5 x xf a m i l y . N o o n l y i s i t r e s p o n s i b l e f o p r o d u c i n g t h p i c t u r e s o t h s c r e e n , b u t i a l s o h a n d l e s r e f r e s h i n g o t h C o m m o d o r e ' s 6 4 o d y n a m i c m e m o r y . H e r e a r e t h e m o s ti m p o r t a n t f e a t u r e s :

a b i l i t y t d i s p l a y 1 c o l o r sp r o d u c e s 4 c h a r a c t e r s 2 l i n e s p i c t u r eh a h i g h r e s o l u t i o n g r a p h i c s w i t h 3 2 2 0 p i x e l s

t y p e s o b i m a p p i n g o p e r a t i o n sh a n d l e s s p r i t e s w i t h 2 4 x 2 1 d o t s e a c h s i m u l t a n e o u s l yi n d e p e n d e n t r e f r e s h i n g o 6 4 d y n a m i c r a

m o v a b l e c h a r a c t e r g e n e r a t o rm o v a b l e v i d e o R A M

P i d e s c r i p t i o n o t h V I 6 5 6 7 f o l l o w :1 - D 6 - D 0 ; p r o c e s s o r d a t a b u

- I R Q ; i f b i o f t h e I M a n t h e I R R c o i n c i d e- L P ; i n p u t , l i g h t - p e n s t r o b e

1 - C S ; p r o c e s s o r - b u s a c t i o n o n l y t a k e p l a c e i C S = 0 .1 R / W ; 0 = t a k i n g o v e r d a t a f r o m b u 1 2 B A ; 0 d a t a n o r e a d y a r e a d i n g a c c e s s1 V D D ; + 1 2 V1 C O L O R ; c o l o r i n f o r m a t i o n o u t p u t1 S Y N C ; I m p u l s e s t s y n c h r o n i z e l i n e s a n s c r e e n1 A E C ; 0 = V I C u s e s s y s t e m b u s , 1 b u s f r e e1 0 q O U T ; c l o c k o u t p u t1 - R A S ; D y n a m i c r a c o n t r o l - s i g n a l1 - C A S ; a a b o v e2 G N 2 0 C O L O R ; I n p u t c o l o r f r e q u e n c y2 0 I N ; I n p u t d o f r e q u e n c y2 A l l ; p r o c e s s o r a d d r e s s - b u s2 4 - 2 9 A 0 / A 8 - A 5 / A 1 3 ; m u l t i p l e x e d ( v i d e o - ) r a a d d r e s s - b u s3 0 - 3 1 A 6 - A 7 ; ( v i d e o - ) r a m a d d r e s s b u 3 2 - 3 4 A 8 - A 1 0 ; p r o c e s s o r a d d r e s s b u 3 5 - 3 8 D l l - 8 ; d a t a f r o m c o l o r r a m3 D 7 p r o c e s s o r d a t a - b u s4 V C C ; + 5

6

Page 71: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 71/304

5 . 1 . 2 R e g i s t e r D e s c r i p t i o n s

T h V I h a 4 r e g i s t e r s t h a t a r e x p l a i n e d h e r e .R E s p r i t e X - c o o r d i n a t e

T h i s i t h l o w - o r d e r b i t s o f t h e X - c o o r d i n a t e o s p r i t e p o s i t i o n . T h n i n t h b i i f o u n d i R E 1 6 R E s p r i t e Y - c o o r d i n a t e

T h i s i t h Y - c o o r d i n a t e o s p r i t e p o s i t i o n .R E 2 s a m e a a b o v e f o s p r i t e s t h r u

1 T h r e g i s t e r p a i r 2 / i f o s p r i t e 1 p a i r 4 / 5 f o rs p r i t e e t c .R E 1 s p r i t e X - c o o r d i n a t e M S

T h e s e a r e t h e h i g h o r d e r b i t s o t h s p r i t e X - r e g i s -t e r s , b i f o s p r i t e 0 b i f o s p r i t e e t c .R E 1 C o n t r o l r e g i s t e r

B i 0 - n u m b e r o d o t s t s m o o t h s c r o l l y - d i r e c t i o nB i 0 = d i s p l a y 2 r o w s ; l = d i s p l a y 2 r o w sB i 0 = b l a n k s c r e e nB i l = s t a n d a r d b i t m a p m o d eB i l = e x t e n d e d c o l o r m o d eB i r a s t e r c o m p a r e h i g h o r d e r b i R E 1

R E 1 W h e n r e a d , c o n t a i n s c u r r e n t r a s t e r p o s i t i o n ( b i t sp l u s b i 7 R E 1 7 ) .W h e n w r i t t e n t o c o n t a i n s t h r a s t e r c o m p a r e v a l u e .I t h i s c a s e , r a s t e r i n t i j r u p t i t r i g g e r e d w h e nt h c u r r e n t r a s t e r m a t c h e s U i i s v a l u e

R E 1 C o n t a i n s t h X - p o s i t i o n o f t h e l i g h t p e n i n p u t a f t e rt h e l i g h t p e i t r i g g e r e d .

R E 2 C o n t a i n s t h Y - p o s i t i o n o t h l i g h t p e n i n p u t a f t e rt h e l i g h t p e i t r i g g e r e d .

R E 2 S p r i t e e n a b l eE a c h s p i r t e t h r u i e n a b l e d ( t u r n e d o n w h e n i t c o r r e s p o n d i n g b i i s e t 1

R E 2 C o n t r o l r e g i s t e rB i 0 - n u m b e r o d o t s t s m o o t h s c r o l l x - d i r e c t i o nB i 0 = 3 8 c o l u m n d i s p l a y ; 1 = 4 0 c o l u m n d i s p l a yB i l = m u l t i c o l o r m o d eB i l = r e s e t V I c h i p

R E 2 S p r i t e e x p a n dE a c h s p r i t e t h r u i e x p a n d e d t t w i c e n o r m a lw i d t h i t h x - d i r e c t i o n w h e n i t c o r r e s p o n d i n g b i i s e t 1

6

Page 72: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 72/304

R E 2 B a s e a d d r e s s o c h a r a c t e r g e n e r a t o r a n v i d e o r a B i t 1 - 3 a d d r e s s b i t s 1 1 - 1 3 f o r t h c h a r a c t e r b a s eB i 4 - a d d r e s s b i t s 1 0 - 1 3 f o t h v i d e o - r a m b a s e

R E 2 I R i n t e r r u p t r e q u e s t r e g i s t e rB i r a s t e r i n t e r r u p t ( R E G 1 8 B i s p r i t e - b a c k g r o u n d i n t e r u p t ( R E G 3 1 B i s p r i t e - s p r i t e i n t e r r u p t ( R E G 3 0 B i l i g h t p e n i n t e r r u p t ( p i n L P B i s e i z e r o i o f t h e a b o v e b i t s i s e t

R E 2 I M i n t e r r u p t m a s k r e g i s t e rB i r a s t e r i n t e r r u p t e n a b l eB i s p r i t e - b a c k g r o u n d i n t e r r u p t e n a b l eB i s p i t e - s p r i t e i n t e r r u p t e n a b l eB i l i g h t p e n i n t e r r u p t

R E 2 S p r i t e - b a c k g r o u n d p r i o r i t yE a c h s p r i t e t h r u h a p r i o r i t y h i g h e r t h a n t h b a c k g r o u n d i t h c o r r e s p o n d i n g b i i z e r o .B a c k g r o u n d h a h i g h e r p r i o r i t y i c o r r e s p o n d i n g b i i o n e .

R E 2 S p r i t e m u l t i c o l o r m o d eE a c h s p r i t e t h r u i d i s p l a y e d i m u l t i c o l o r m o d ei t h c o r r e s p o n d i n g b i i o n e .

R E 2 S p r i t e e x p a n dE a c h s p r i t e t h r u i e x p a n d e d t t w i c e t h n o r m a lh e i g h t i t h Y - d i r e c t i o n i t h c o r r e s p o n d i n g b i i o n e .

R E 3 S p r i t e - s p r i t e c o l l i s i o nF o e a c h s p r i t e t h r u t h a t h a c o l l i d e d ( n o n -t r a n s p a r e n t a r e a s , a r c o i n c i d e n t ) t h c o r r e s p o n d i n gb i i s e t o n e a n d I R b i i a l s o s e t o n e .T h b i t s i t h i s r e g i s t e r r e m a i n s e u n t i l t h r e g i s t e r i r e a d .

R E 3 S p r i t e - b a c k g r o u n d c o l l i s i o nF o e a c h s p r i t e t h r u t h a t h a c o l l i d e d ( n o n -t r a n s p a r e n t a r e a a r c o i n c i d e n t w i t h n o n - b a c k g r o u n dc o l o r c h a r a c t e r s ) t h c o r r e s p o n d i n g b i i s e t o n a n t h e I R R b i i s e t o o n e . T h e b i t s i t h i sr e g i s t e r r e m a i n s e u n t i l t h r e g i s t e r i r e a d .

R E 3 B o r d e r c o l o rB i t s t h r u 3

R E 3 B a c k g r o u n d c o l o r # B i t s t h r u 3

R E 3 B a c k g r o u n d c o l o r # B i t s t h r u 3

R E 3 B a c k g r o u n d c o l o r #

6

Page 73: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 73/304

B i t s t h r u 3 R E 3 B a c k g r o u n d c o l o r #

B i t s t h r u 3 R E 3 S p r i t e m u l t i c o l o r #

B i t s t h r u 3 R E 3 S p r i t e m u l t i c o l o r # f

B i t s t h r u 3 R E 3 9 S p r i t e c o l o r

4 C o l o r o s p r i t e s t h r u 7

5 . 1 . 3 D i s p l a y T e c h n i q u e s

T h V I c h i p c a p r o d u c e d i f f e r e n t t y p e s o d i s p l a y s :a s t a n d a r d c h a r a c t e r s d i s p l a y e d b t h c h a r a c t e r g e n e r a t o r ;b m u l t i c o l o r c h a r a c t e r s ; c e x t e n d e d c o l o r m o d e ; d h i g hr e s o l u t i o n b i m o d e ; e m u l t i c o l o r b i m o d e ; f s p r i t eg r a p h i c s . E a c h i d e s c r i b e d b e l o w :a s t a n d a r d c h a r a c t e r g e n e r a t i o n :

E a c h c h a r a c t e r o t h k e y b o a r d i a s s i g n e d s c r e e n c o d e .T h l e t t e r i g i v e n s c r e e n c o d e o f 1 s c r e e n c o d eo 2 e t c . T h e l i s t o s c r e e n c o d e s a p p e a r s i A p p e n d i xo f t h e C o m m o d o r e 6 U s e r ' s G u i d e .S c r e e n m e m o r y h o l d s t h s c r e e n c o d e s o t h c h a r a c t e r s t b d i s p l a y e d . S i n c e t h C o m m o d o r e 6 c a d i s p l a y 2 l i n e so 4 c h a r a c t e r s e a c h , t h e r e a r e 1 0 0 0 s c r e e n m e m o r yl o c a t i o n s . S c r e e n m e m o r y i n o r m a l l y l o c a t e d b e g i n n i n g a $ 4 0 0 ( 1 0 2 4 d e c i m a l ) t h r u $ 7 E 7 ( 2 0 2 3 d e c i m a l ) b u c a b m o v e d i d e s i r e d . W h e n c h a r a c t e r i t o b e d i s p l a y e d ,t h c h a r a c t e r ' s c o r r e s p o n d i n g s c r e e n c o d e i w r i t t e n t t h a p p r o p r i a t e s c r e e n m e m o r y l o c a t i o n .F o e a c h o f t h e 1 0 0 0 s c r e e n m e m o r y l o c a t i o n s , t h e r e i c o r r e s p o n d i n g c o l o r m e m o r y l o c a t i o n . C o l o r m e m o r y i l o c a t e d b e g i n n i n g a $ D 8 0 0 ( 5 5 2 9 6 d e c i m a l ) t h r u $ D B E 7( 5 6 2 9 5 ) d e c i m a l . T h e r e i o n e - t o - o n e c o r r e s p o n d e n c ew i t h s c r e e n m e m o r y . E a c h p o s i t i o n i c o l o r m e o r y c o n t a i n s

v a l u e o t h c o l o r o t h c o r r e s p o n d i n g s c r e e n m e m o r yc h a r a c t e r t b d i s p l a y e d . T h C o m m o d o r e 6 c a d i s p l a y1 c o l o r s , s o n l y f o u r b i t s o e a c h c o l o r m e m o r yl o c a t i o n a r u s e d .T h c h a r a c t e r g e n e r a t o r c o n t a i n s s e o p a t t e r n s t h a tm a k e u p t h e l e t t e r s , n u m b e r s a n g r a p h i c s s y m b o l s t h a ta r t b d i s p l a y e d . T h c h a r a c t e r g e n e r a t o r i l o c a t e db e g i n n i n g a $ D 0 0 0 ( 5 3 2 4 8 d e c i m a l ) t h r u $ D 7 F F ( 5 5 2 9 5d e c i m a l ) . E a c h p a t t e r n i b y t e s l o n g a m c o r r e s p o n d s t t h r o w s o d o t s w h i c h m a k e u d i s p l a y c h a r a c t e r . F o

6

Page 74: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 74/304

e x a m p l e , t h p a t t e r n i t h c h a r a c t e r g e n e r a t o r f o t h s y m b o l l o o k s l i k e t h i s :

< l b y t eB I T S

7 6 5 4 3 2 1 0* *

* * *

*

* * * * *

R o R o R o R o R o R o R o R o

M e m o r yl o c a t i o n :$ D 0 0 0

$ D 0 0 1$ D 0 0 2$ D 0 0 3$ D 0 0 4$ D 0 0 5$ D 0 0 6$ D 0 0 7

V a l u e$ 1 $ 2 $ 4 $ 5 $ 4 $ 2 $ 3 $ 0

T h s c r e e n c o d e f o r i 0 t h s c r e e n c o d e f o i 1 t h s c r e e n c o d e f o B i 2 e t c . T h p a t t e r n s i t h c h a r a c t e r g e n e r a t o r a r o r d e r e d b t h i s s a m e s c r e e n c o d e .T h u s t h p a t t e r n f o t h l e t t e r w o u l d f o l l o w t h p a t t e r n f o r t h e s y m b o l a n t h p a t t e r n f o t h l e t t e rw o u l d f o l l o w p a t t e r n f o t h l e t t e r A e t c .N o t d i s p l a y c h a r a c t e r s o t h s c r e e n . A e a c h r a s t e rl i n e ( T s c a n ) i d i s p l a y e d , t h V I C c h i p g e t s t h v a l u eo t h s c r e e n c o d e f r o m s c r e e n m e m o r y . T h s c r e e n c o d e i m u l t i p l i e d b a n d a d d e d t o t h e a d d r e s s o b e g i n n i n g o t h c h a r a c t e r g e n e r a t o r ( $ D 8 0 0 ) . T h r e s u l t i n g a d d r e s s i t h l o c a t i o n o t h p a t t e r n t o b e u s e d f o t h i sc h a r a c t e r . T h c o r r e s p o n d i n g c o l o r m e m o r y l o c a t i o n i a l s o r e a d t d e t e r m i n e t h c o l o r i w h i c h t h c h a r a c t e ri t b d i s p l a y e d . T h p a t t e r n i r e a d o u b i b y b i t ,r o b r o t c r e a t e t h c h a r a c t e r i t h c o r r e c t c o l o ro n t h e s c r e e n . U s i n g t h i s m e t h o d , u p t o 2 5 d i f f e r e n tc h a r a c t e r s c a b d e p i c t e d .D i a g r a m 5 - s h o w s t h i s i p i c t o r i a l f o r m .

6

Page 75: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 75/304

S c r e e n m e m o r yn o r m a l l y a $ 4 0 0

C o l o r m e m o r ya l w a y s a $ D 8 0 0

V I C h i p

C h a r a c t e r G e n e r a t o r$ D 0 0 0 - $ D 7 F F

M o n i t o r o t e l e v i s i o n s c r e e nD I A G R A M 5 -

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

6

Page 76: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 76/304

Page 77: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 77/304

1 7 I t h e x t e n d e d c o l o r m o d e , c o l o r m e m o r y i u s e d t h s a m e w a y a i t h s t a n d a r d c h a r a c t e r m o d e . H o w e v e rs c r e e n m e m o r y i i n t e r p r e t e d d i f f e r e n t l y . T h t w h i g h -o r d e r b i t s ( b i t s a n 6 a r u s e d t s e l e c t t h r e g i s t e rf r o m w h i c h t g e t h c o l o r v a l u e f o r t h e b a c k g r o u n d .T h f o l l o w i n g t a b l e s d e s c r i b e s t h i s :

S c r e e n c o d ev a l u e o b i t s U s B a c k g r o u n d

7 R e g i s t e r T a k e n f r o m0 $ D 0 2 1 ( 5 3 2 8 1 )

$ D 0 2 2 ( 5 3 2 8 2 )1 $ D 0 2 3 ( 5 3 2 8 3 )1 $ D 0 2 4 ( 5 3 2 8 4 )

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

d H i g h r e s o l u t i o n b i t m o d e :U s i n g h i g h r e s o l u t i o n b i m o d e o d i s p l a y , t h V I c h i pc a d i s p l a y 3 2 2 0 p i x e l s i c h o i c e o t w o c o l o r sw i t h i n e a c h 8 X s c r e e n c e l l . T h u s t h 6 4 , 0 0 0 ( 3 2 0 X2 0 0 ) i n d i v i d u a l p i x e l s r e q u i r e 8 o m e m o r y t r e p r e s e n ta i m a g e o t h h i g h r e s o l u t i o n s c r e e n . W c a l l t h i s 8 K b i t - m a p p e d m e m o r y . E a c h b i o t h b i t - m a p p e d m e m o r yr e p r e s e n t s p i x e l o n t h e h i g h r e s o l u t i o n s c r e e n .T e n a b l e h i g h r e s o l u t i o n b i m o d e , b i o R E 1 i s e a n R E 2 m u s t b p r i m e d w i t h t h a d d r e s s o t h b i t - m a p p e d m e m o r y . C o l o r m e m o r y i i g n o r e d i t h h i g hr e s o l u t i o n b i t m o d e . I n s t e a d , t h n o r m a l s c r e e n m e m o r y i u t i l i z e d a s o r t o c o l o r m e m o r y .E a c h b y t e o t h n o r m a l s c r e e n m e m o r y s u p p l i e s t h c o l o ri n f o r m a t i o n f o e a c h 8 X c e l l . H e r e n o r m a l s c r e e nm e m o r y i d i v i d e d i n t o t w f o u r - b i t n i b b l e s . I b i i t h b i t - m a p p e d m e m o r y i s e t 1 t h e n t h h i g h o r d e rn y b b l e ( b i t s 4 - 7 ) o n o r m a l s c r e e n m e m o r y s p e c i f i e s t h c o l o r o t h e s e b i t s w i t h i n t h a t 8 X c e l l . I b i i t h b i t - m a p p e d m e o r y i s e t 0 t h e n t h e l o o r d e rf o u r b i t s ( b i t s 0 - 3 ) s p e c i f i e s t h c o l o r o t h e s e b i t s i t h a t s a m e c e l l .

e M u l t i c o l o r b i m o d e :T h m u l t i c o l o r b i m o d e a l l o w s e a c h 8 X c e l l t d i s p l a yu t f o u r d i f f e r e n t c o l o r s . I t h m u l t i c o l o r b i m o d et h e r e a r 1 6 2 0 p i x e l s . T h p i x e l s a r d i s p l a y e d

6

Page 78: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 78/304

t w i c e a w i d e o t h s c r e e n i m u l t i c o l o r b i m o d e a i t h h i g h r e s o l u t i o n b i t m o d e .M u l t i c o l o r b i m o d e i e n a b l e d b s e t t i n g b i o r R E G 1 a n b i o R E 2 a n d R E G 2 m u s t b p r i m e d w i t h t h a d d r e s s o t h b i t - m a p p e d m e m o r y .T h e r e i o n e - t o - o n e c o r r e s p o n d e n c e b e t w e e n t h b i m a p p e d m e m o r y a n s c r e e n d i s p l a y e x c e p t t h a t h e r e t h 8 b i t - m a p p e d m e m o r y i i n t e r p r e t e d i p a i r s o t w b i t s .T h e p a i r s o b i t s c a u s e t h d o u b l e w i d e p i x e l s t a p p e a ri c o l o r a f o l l o w s :

B i p a i r C o l o r f r o m0 b a c k g r o u n d r e g i s t e r # 0 s c r e e n m e m o r y l o n y b b l e1 s c r e e n m e m o r y h i g h n y b b l e1 c o l o r m e m o r y

f S p r i t e s :S p r i t e s a r l a r g e u s e r d e f i n a b l e c h a r a c t e r s t h a t c a b d i s p l a y e d a n y w h e r e o t h s c r e e n . T h e y c a b d i s p l a y e di n d e p e n d e n t l y o t h o t h e r t y p e s o d i s p l a y s o n t h es c r e e n . S p r i t e s a l s o h a v e o t h e r p r o p e r t i e s :1 U t s p r i t e s c a b d e f i n e d a n m a i n t a i n e d b y t h e

V I c h i p . T h s p r i t e s a r n u m b e r e d t h r u a n e a c hs p r i t e i 2 2 p i x e l s l a r g e .

2 E a c h s p r i t e c a b e x p a n d e d i t h h o r i z o n t a ld i r e c t i o n a n d / o r t h v e r t i c a l d i r e c t i o n i m m e d i a t e l y .

3 E a c h s p r i t e c a b p o s i t i o n e d o t h s c r e e ni n d e p e n d e n t l y o o t h e r s p r i t e s .

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

5 S p r i t e s h a v e p r i o r i t i e s w i t h r e s p e c t t e a c h o t h e r .S p r i t e h a p r i o r i t y o v e r s p r i t e 1 T h i s m e a n s t h a ti s p r i t e a n s p r i t e a r p o s i t i o n e d s a t o v e r l a p , s p r i t e w o u l d a p p e a r i f r o n t o s p i r t e 1

6 S p r i t e s h a v e p r i o r i t i e s w i t h r e s p e c t t b a c k g r o u n do b j e c t s . b a c k g r o u d o b j e c t i d e f i n e d a a n c h a r a c t e r o g r a p h i c s o t h s c r e e n t h a t h a o t h e rt h a n t h b a c k g r o u n d c o l o r . E a c h s p r i t e c a b m a d e t h a v e h i g h e r o l o w e r p r i o r i t y t h a n b a c k g r o u n do b j e c t .

7 C o l l i s i o n s b e t w e e n s p r i t e s o c c u r w h e n t h e y a r p o s i t i o n e d s a t o v e r l a p . S p r i t e t s p r i t ec o l l i s i o n s c a b s e t n o t i f y t h C o m m o d o r e 6 a u t o m a t i c a l l y .

8 C o l l i s i o n s b e t w e e n s p r i t e s a n d t h e b a c k g r o u n d o c c u rw h e n s p r i t e i p o s i t i o n e d t o v e r l a p b a c k g r o u n do b j e c t . S p r i t e t b a c k g r o u n d c o l l i s i o n s c a b s e t

7

Page 79: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 79/304

n o t i f y t h C o m m o d o r e 6 a u t o m a t i c a l l y .

h i g h r e s o l u t i o n s p r i t e i d e f i n e d a 2 2 p i x e lc h a r a c t e r . T h i s m e a n s t h a t 5 0 b i t s o 6 b y t e s a r n e e d e d t d e f i n e h i g h r e s o l u t i o n s p r i t e . I d e f i n i n gh i g h r e s o l u t i o n s p r i t e , e a c h b i t t h a t i s e t a p p e a r si t h a t s p r i t e s f o r e g r o u n d c o l o r ( R E G 3 t h r u 4 6 ) . E a c hb i t h a t i s e t t o i t r a n s p a r e n t a n w h a t e v e r c o l o r i b e . h i n d i t a p p e a r s .

m u l t i c o l o r s p r i t e i d e f i n e d a 1 2 p i x e lc h a r a c t e r w i t h t h h o r i z o n t a l p i x e l s b e i n g d o u b l e w i d e .S t i l l 5 0 b i t s d e f i n e m u l t i c o l o r s p r i t e , b u t h b i t sa r i n t e r p r e t e d i p a i r s . T h i s a l l o w s s p r i t e t t a k e o u t f o u r c o l o r s . T s e s p r i t e t m u l t i c o l o r m o d e ,y o m u s t s e t h c o r r e s p o n d i n g b i ( t h r u 7 t o n i R E 2 8 T h s p r i t e c o l o r s a r d e f i n e d b t h e b i t p a i r s a f o l l o w s :

B I P a i r C o l o r F R O M0 T r a n s p a r e n t S c r e e n c o l o r0 S p r i t e M R E $ D 0 2 5 ( 5 3 2 8 5 )1 S p r i t e c o l o r r e $ D 0 2 7 - $ D 0 2 E1 S p r i t e M R E $ D 0 2 6 ( 5 3 2 8 6 )

T h V I c h i p m u s t b t o l d w h e r e t f i n d t h d e f i n i t i o n o t h s p r i t e s . Y o u p a s s t h i s i n f o r m a t i o n t t h V I c h i p i t h l a s t b y t e s o s c r e e n m e m o r y . T h u s i y o w e r e u s i n gt h n o r m a l s c r e e n m e m o r y l o c a t i o n $ 4 0 0 - $ 7 F F , t h m e m o r yl o c a t i o n s $ 7 F 8 ( 2 0 4 0 ) t h r u $ 7 F F ( 2 0 4 7 ) c o n t a i n t h p o i n t e r s t t h s p r i t e d e f i n i t i o n s . T h p o i n t e r f o s p r i t e i f o u n d a $ 7 F 8 ( 2 0 4 0 ) ; t h e p o i n t e r f o s p r i t e

i f o u n d a $ 7 f 9 ( 2 0 4 1 ) , e t c .T h i s p o i n t e r i a c t u a l l y t h n u m b e r o t h 6 4 - b y t e c h u n ko m e m o r y i w h i c h t h s p r i t e d e f i n i t i o n i f o u n d . F o e x a m p l e t h p o i n t e r , t s p r i t e l o c a t e d a $ 3 4 0 ( 8 3 2 ) i s1 ( 8 3 2 / 6 4 ) . T h i s p o i n t e r w o u l d h a v e t o b e p l a c e d i t h a p p r o p r i a t e s c r e e n m e m o r y p o i n t e r l o c a t i o n f o t h a ts p r i t e . F o e x a m p l e , i w w e r e u s i n g s p r i t e 0 t h e n w w o u l d p l a c e t h v a l u e o f t h e p o i n t e r ( 1 3 ) i n t o t h s c r e e nm e m o r y l o c a t i o n f o t h a t p o i n t e r $ 7 F 8 ( 2 0 4 0 ) . S p r i t e s d n o a p p e a r o n t h e s c r e e n u n t i l t h e y h a v e b e e n e n a b l e d .T h i s i d o n e b s e t t i n g t h a p p r o p r i a t e b i ( t h r u 7 i R E 2 t o n T t u r n o f f t h a t s a m e s p r i t e , t h s a m e b i i R E 2 m u s t b t u r n e d o f f .

s p r i t e m a b p o s i t i o n e d a o n o 5 1 h o r i z o n t a ll o c a t i o n s o 2 5 v e r t i c a l l o c a t i o n s o t h s c r e e n . T h e s e

7

Page 80: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 80/304

Page 81: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 81/304

A s p r i t e m a a l s o b c o i n c i d e n t w i t h b a c k g r o u n d a r e a . T h b a c k g r o u n d a r e a i a n y d a t a o t h s c r e e n t h a t h a c o l o r d i f f e r e n t f r o m t h b a c k g r o u n d c o l o r . W h e n t h s p r i t e a n d t h e b a c k g r o u n d a r e a a r c o i n c i d e n t , e i t h e r t h s p r i t e o t h b a c k g r o u n d c a b m a d e t a p p e a r i f r o n to t h e o t h e r . T h i s i c o n t r o l l e d b t h s p r i t e - b a c k g r o u n dp r i o r i t y r e g i s t e r , R E 2 7 I t h c o r r e s p o n d i n g b i ( t h r u 7 i R E 2 i s e t o n e , t h e n t h s p r i t e h a l o w e r p r i o r i t y t h a n t h b a c k g r o u n d a r e a a n a p p e a r s t p a s s b e h i n d t h b a c k g r o u n d a r e a . I t h c o r r e s p o n d i n g b i ( t h r u 7 i R E 2 i s e t z e r o , t h e n t h s p r i t e h a

h i g h e r p r i o r i t y t h a n t h b a c k g r o u n d a r e a a n a p p e a r s t p a s s i f r o n t o t h b a c k g r o u n d a r e a .T h C o m m o d o r e 6 a l s o h a t h a b i l i t y t d e t e c t w h e n t w s p r i t e s a r c o i n c i d e n t . T h i s i c a l l e d s p r i t e - s p r i t ec o l l i s i o n d e t e c t i o n . T e n a b l e t h i s f e a t u r e , b i t o R E 2 m u s t b s e t o n e . W h e n a l e a s t t w o s p r i t e s h a v ec o l l i d e d , t h C o m m o d o r e 6 j u m p s t t h e I R Q v e c t o r( i n t e r r u p t h a n d l i n g r o u t i n e ) a n d s e t s b i t o R E 2 t i n d i c a t e t h s p r i t e - s p r i t e c o l l i s i o n . A t h s a m e t i m e ,t h c o r r e s p o n d i n g b i ( t h r u 7 i R E 3 f o e a c hs p r i t e t h a t i c o i n c i d e n t i s e t o n e .S i m i l a r l y , t h C o m m o d o r e 6 h a t h a b i l i t y t d e t e c tw h e n s p r i t e a n b a c k g r o u n d a r e a a r c o i n c i d e n t . T h i s i c a l l e d s p r i t e - b a c k g r o u n d c o l l i s i o n d e t e c t i o n . T o e n a b l et h i s f e a t u r e , b i o R E 2 m u s t b s e t o n e . W h e ns p r i t e a n b a c k g r o u n d a r e a h a v e c o l l i d e d , t h C o m m o d o r ej u m p s t t h I R v e c t o r ( i n t e r r u p t h a n d l i n g r o u t i n e ) a n s e t s b i o f R E G 2 t i n d i c a t e t h s p r i t e - b a c k g r o u n dc o l l i s i o n . A t t h e s a m e t i m e , t h c o r r e s p o n d i n g b i ( t h r u 7 i R E 3 f o e a c h s p r i t e t h a t h a c o l l i d e d w i t h

b a c k g r o u n d a r e a i s e t o o n e .S p r i t e s c a a l s o b e x p a n d e d . Y o c a d o u b l e t h h e i g h t ,t h w i d t h o b o t h t p r o d u c e l a r g e r o b j e c t s o n t h es c r e e n . T e x p a n d s p r i t e i w i d t h , t h c o r r e s p o n d i n gb i ( t h r u 7 i R E 2 i s e t o o n e . T e x p a n ds p r i t e i h e i g h t , t h c o r r e s p o n d i n g b i i R E 2 i s e t o n e . Y o c a e x p a n d s p r i t e i e i t h e r t h h i r e s o m u l t i c o l o r m o d e s .

5 . P r o g r a m m i n g c o l o r a n g r a p h i c sT h o u t s t a n d i n g f e a t u r e s o t h C o m m o d o r e 6 a r c e r t a i n l yi t c o l o r a n i t b u i l t i n s y n t h e s i z e r . B u h o c a y o a p p r e c i a t e t h e s e f e a t u r e s i y o u a r e n ' t t o l d h o t p r o g r a mg r a p h i c s a n s p r i t e s ? O t h f o l l o w i n g p a g e s w e w i l le x p l a i n t y o h o t g a b o u t p r o g r a m m i n g t h e s e C o m m o d o r e6 s p e c i a l t i e s .

7

Page 82: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 82/304

T h g r a p h i c p o s s i b i l i t i e s o t h C o m m o d o r e 6 a r b e t t e rt h a n t h o s e o m a n y o t h e r c o m p u t e r s i t h s a m e o h i g h e rp r i c e c a t e g o r y .T h m o s t i m p o r t a n t f e a t u r e i t h a b i l i t y o t h C o m m o d o r e6 t c o n t r o l u t e i g h t u s e r d e f i n a b l e o b j e c t s o t h s c r e e n c a l l e d s p r i t e s . E a c h s p r i t e c a n b m a d e t a p p e a r i a n o t h 1 d i f f e r e n t c o l o r s . I a d d i t i o n , y o u c a d e f i n ea n d i s p l a y m u l t i c o l o r s p r i t e s w h i c h c a n t a k e o u t f o u rd i f f e r e n t c o l o r s . s p r i t e i 2 2 p i x e l c h a r a c t e rc o m p a r a b l e t b l o c k o n o r m a l s i z e c h a r a c t e r s .A n s p r i t e s c a b m a d e t m o v e i n d e p e n d e n t l y o o n a n o t h e rw i t h e a s e .T h C o m m o d o r e 6 a l l o w s y o t d i s p l a y i u t 1 c o l o r s .T h c o l o r o t h b a c k g r o u n d , f o r e g r o u n d a n t h c h a r a c t e rc a b c h a n g e d . I o r d e r t c h a n g e t h c h a r a c t e r c o l o r f r o mt h k e y b o a r d , y o u h o l d t h C T R L k e o C k e w h i l e p r e s s i n gn u m b e r k e b e t w e e n a n 8 T a b l e 5 - l i s t s t h c o l o r t h a ta r p o s s i b l e :

K E C T R LC T R LC T R LC T R LC T R LC T R LC T R LC T R LC C C C C C C C

C O L O RC O L O R V A L U EB L A C KW H I T ER E T U R Q U O I S EP U R P L EG R E E NB L U EY E L L O WO R A N G EB R O W NL I G H T R E G R A YG R A YL I G H T G R E E NL I G H T B L U EG R A Y

T A B L E 5 -

1 1 1 1 1 1

N o t e C = i t h C o m m o d o r e k e

Y o c a n c h a n g e t h b o r d e r a n b a c k g r o u n d c o l o r s b y P O K E i n gt h c o l o r v a l u e s i n t o t h c o r r e s p o n d i n g r e g i s t e r s . T h b o r d e r c o l o r i s i n R E 3 a n t h b a c k g r o u n d c o l o r i i R E 3 3 T c h a n g e t h b o r d e r c o l o r , P O K E 5 3 2 8 0 w i t h t h d e s i r e dc o l o r v a l u e . T c h a n g e t h b a c k g r o u n d c o l o r , P O K E 5 3 2 8 1 w i t h

7

Page 83: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 83/304

t h d e s i r e d c o l o r v a l u e . F o r i n s t a n c e :P O K E 5 3 2 8 0 , 0 : P O K E 5 3 2 8 1 , 0

m a k e s t o t a l l y b l a c k s c r e e n . I o r d e r t c h a n g e t h c o l o ro j u s t o n e s c r e e n c h a r a c t e r , a l y o n e e d i s

P O K E 5 5 2 9 6 , 1T h i s P O K E c h a n g e s t h c o l o r o t h c h a r a c t e r i t h u p p e rl e f t c o r n e r o t h s c r e e n t w h i t e . T h c o l o r o a n o t h e rc h a r a c t e r s o t h s c r e e n w o u l d r e m a i n u n c h a n g e d . L o c a t i o n5 5 2 9 6 i t h b e g i n n i n g o a a r e a c a l l e d c o l o r m e m o r y a n c o n t i n u e s t l o c a t i o n 5 6 2 9 5 . L o c a t i o n 5 5 2 9 6 c o n t a i n s t h c o l o r o f t h e c h a r a c t e r i l i n e 1 c o l u m n 1 l o c a t i o n 5 5 2 9 7t h c o l o r o t h c h a r a c t e r i l i n e 1 c o l u m n 2 l o c a t i o n5 6 2 9 5 t h c o l o r o t h c h a r a c t e r i l i n e 2 5 c o l u m n 4 0 e t c .I o r d e r t g e t h s c r e e n f u l l o A ' s , y o c o u l d w r i t e t h f o l l o w i n g b r i e f p r o g r a m :

1 P R I N T C H R $ ( 1 4 7 ) : R E M C L R S C R E E N2 F O 1 = 1 0 2 4 T 2 0 2 3 : R E M S C R E E N M E M O R Y3 P O K E I , A S C ( " A " )4 N E X T5 E N

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

3 P O K E 5 5 2 9 6 + 1 - 1 0 2 4 , I N T ( R N D ( l ) * 1 5 ) s R E M A D C O L O R R A N D O M L YT h p r o g r a m r u n s a l m o s t t h s a m e , w i t h t h d i f f e r e n c e t h a ta f t e r P O K E i n g t h l e t t e r " A i n t o s c r e e n m e m o r y , t h c o r r e s p o n d i n g c o l o r m e m o r y l o c a t i o n w a s e t r a n d o mc o l o r .N o l e t s i n v e s t i g a t e h i g h r e s o l u t i o n g r a p h i c s . O n u s o h i g h r e s o l u t i o n c o l o r g r a p h i c s i f o p l o t t i n g m a t h e m a t i c a lf u n c t i o n . T h f o l l o w i n g p r o g r a m i l l u s t r a t e s t h c a l c u l a t i o no t h e b i t m a p p e d m e m o r y l o c a t i o n s n e e d e d f o a n c o o r d i n a t e s .C o m m o d o r e B A S I C d o e s n o h a v e b u i l t i n g r a p h i c s c o m m a n d s . S d r a w i n g l i n e s o c i r c l e s i n o v e r y c o n v e n i e n t f r o m B A S I C .B u t h f a c t t h a t t h e s e b u i l t i n c o m m a n d s d o n ' t e x i s t d o e sn o m e a n t h a t t h C o m m o d o r e 6 i n o c a p a b l e o s p e c t a c u l a rg r a p h i c s . A l t h a t i n e e d e d a r s o m e p r o g r a m m i n g t o o l s .T o w a r d s t h e n o t h i s s e c t i o n , w e i n t r o d u c e y o u t s u c h

7

Page 84: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 84/304

t o o l w h i c h w c a l l H I R E S G R A P H I C A I D . U s i n g t h i s p r o g r a m ,y o c a c o n v e n i e n t l y m a k e d r a w g r a p h i c s . T h i s p r o g r a m e v e ne n a b l e s y o t s a v e c o m p l e t e g r a p h i c s o c a s s e t t e o d i s k e t t e f o l a t e r l o a d i n g t h e m f r o m t h e r e . T h i s p r o g r a m i w r i t t e n i w a t h a t s h o u l d e n a b l e y o t u s i p r a c t i c a l l y a n e v e n e x t e n d i t N o b a c k t t h s a m p l e p l o t t i n g p r o g r a m . T h o b j e c t i v e o t h i s p r o g r a m i t d r a w s i n e - w a v e o t h s c r e e n . I i v e r y c o m m o n e x a m p l e o t h a p p l i c a t i o n o g r a p h i c s .

1 R E S I N E P L O T P R O G R A M2 V = 5 3 2 4 8 : R E M S T A R T A D D R O T H G R A P H I C P R O C E S S O R3 A D = 8 1 9 2 : R E M S T A R T A D D R O F T H E H I R E S B I M A 4 P O K E V + 1 7 , 5 9 : R E S E H I R E S M O D E5 P O K E V + 2 4 , 2 4 : R E M P O I N T T S C R E E N M E M O R Y6 F O R 1 = 1 0 2 4 T O 2 0 2 3 : R E S E C O L O R R A 7 P O K E I r 1 68 N E X T9 F O 1 = 8 1 9 2 T 1 6 3 8 3 : R E M C L E A R S C R E E N M E M O R Y1 0 P O K E 1 , 1 1 N E X T1 2 F O X = T 3 1 9 : R E D R A W T H X - A X I S1 3 Y = 1 0 0 : R E P O S I T I O N O T H X - A X I S1 4 G O S U B 1 0 0 0 : R E M C A L L D R A W I N G R O U T I N E1 5 N E X T1 6 F O Y = 0 T O 1 9 9 : R E D R A W I N G O T H Y - A X I S1 7 X = 1 6 0 : R E P O S I T I O N O T H Y - A X I S1 8 G O S U B 1 0 0 0 : R E C A L L D R A W I N G R O U T I N E1 9 N E X T2 0 X = 2 1 F O I = - 3 . 1 4 1 5 9 2 6 5 T 3 . 1 4 1 5 9 2 6 5 S T E P 0 . 0 1 9 6 3 4 9 5 4 12 2 R E M I N T E R V A L L I M I T S2 3 Y = 1 0 0 + 9 9 * S I N ( I ) : R E M F U N C T I O N2 4 G O S U B 1 0 0 02 5 X = X + 12 6 N E X T2 7 G O T O 2 7 1 0 0 0 O Y = 3 2 0 * I N T ( Y / 8 ) ( A N 7 ) R E C A L C U L A T E D O P O S I T I O N1 0 1 0 O X = 8 * I N T ( X / 8 )1 0 2 0 M A = 2 A ( ( 7 - X ) A N 7 1 0 3 0 A V = A D + O Y + O X1 0 4 0 P O K E A V , P E E K ( A V ) O M A R E M P L O T D O 1 0 5 0 R E T U R N

T h S I N E P L O T P R O G R A M a s s u m e s t h a t t h h i r e s s c r e e n i a r r a n g e d s u c h t h a t t h o r i g i n ( 0 , 0 ) i l o c a t e d i t h u p p e rl e f t c o r n e r . T h s u b r o u t i n e b e g i n n i n g a l i n e 1 0 0 0 ,c a l c u l a t e s t h p o s i t i o n o t h i n d i v i d u a l d o t b p l o t t e da n t h e n p r o c e e d s t p l o t t h a t d o t .

7

Page 85: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 85/304

W h a t a l h a p p e n s n o w i o u p l o t - p r o g r a m ? F i r s t , t h t w s t a r t i n g a d d r e s s e s o t h V I c h i p r e g i s t e r s a n h i r e ss c r e e n m e m o r y a r d e f i n e d i l i n e s 2 a n 3 0 T h n e x t t w P O K E c o m m a n d s :

P O K E V + 1 7 , 2 7 + 3 2 a n d P O K E V + 2 4 , 1 6 + 8s w i t c h t g r a p h i c s m o d e b c h a n g i n g t h V I c h i p r e g i s t e r s .P O K E V + 1 7 , 2 7 + 3 2 c h a n g e s t h C o m m o d o r e 6 f r o m t h s t a n d a r dc h a r a c t e r d i s p l a y ( t e x t m o d e ) t o t h e g r a p h i c s m o d e o d i s p l a y . P O K E V + 2 4 , 1 6 p o i n t s e t s t h V I c h i p t u s t h b i m a s c r e e n m e m o r y s t a r t i n g a 8 1 9 2 .I y o w a n t t s w i t c h b a c k t t h t e x t p a g e l a t e r o n y o h a v e t s a v e t h e i r o l v a l u e s o l v a l u e s b e f o r e c h a n g i n g t h a d d r e s s e s i t h V I c h i p . Y o s h o u l d s a v e t h v a l u e s i t w v a r i a b l e s , s i n c e y o w i l l n e e d t h e s e v a l u e s l a t e r o n T h i sc o u l d l o o k l i k e t h i s :

A 1 = P E E K ( V + 1 7 ) a n d A 2 = P E E K ( V + 2 4 )

T g e b a c k i n t o t e x t m o d e l a t e r , a f t e r h a v i n g w o r k e d w i t hg r a p h i c s , y o c a j u s t r e s t o r e t h V I r e g i s t e r s w i t h t h e s es a v e d v a l u e s :

P O K E V + 1 7 , A 1 a n d P O K E V + 2 4 r A 2T h e n y o u a r b a c k i n t o t h t e x t p a g e a n c a p r o c e e dn o r m a l l y .

I l i n e s 6 t h r u 8 0 y o u h a v e t c h a n g e t h c o l o r o f t h eg r a p h i c s d i s p l a y . Y o d o t h i s b c h a n g i n g e a c h b y t e o c o l o rm e m o r y . L i n e s 9 t h r u 1 1 c l e a r t h b i t - m a p p e d a r e a t o f s t h a t n o t h i n g i d i s p l a y e d o n t h e s c r e e n .E a c h b i i t h b i t - m a p p e d s c r e e n a r e a r e p r e s e n t s o n s c r e e np i x e l . E a c h b i t h a s v a l u e o e i t h e r o a n i t h e b i ti s e t o o n e , t h e n t h p i x e l i t o b e d i s p l a y e d ; i t h e b i ti s e t t o z e r o , t h e n t h p i x e l i n o t b d i s p l a y e d . E i g h tb i t s c o n s t i t u t e b y t e . O n e l i n e o i r e p r e s e n t e d a b i t s / b y t e X 4 b y t e s / l i n e 3 2 0 b i t s l i n e . O n c o l u m n i r e p r e s e n t e d a b i t s / b y t e 2 b y t e s / c o l u m n 2 0 b i t s / c o l u m n . A l t o g e t h e r t h e r e a r e 6 4 , 0 0 0 b i t s i h i r e s b i m a p p e d m e m o r y .L e t ' s c o n t i n u e b l o o k i n g a c h a r a c t e r . c h a r a c t e r i c o m p o s e d o d o t s g i v i n g u 6 d o t s i c h a r a c t e r .E a c h o t h e s e d o t s c a b s e t o r c l e a r e d i n d e p e n d e n t l y o t h o t h e r s . c h a r a c t e r a r r a n g e d a s u c h :

7

Page 86: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 86/304

6 d o t s

T o e n a b l e e a c h o t h 6 4 , 0 0 0 b i t s t b d i s p l a y e d i n 1 6 ( 2 4 )c o l o r s , w w o u l d n e e d 6 4 , 0 0 0 b i t s o c o l o r m e m o r y . T h i si n o p r a c t i c a l s i n c e 1 6 o m e m o r y w o u l d b r e q u i r e d j u s tf o t h i s . S t h 6 d o t s w i t h i n t h i s t h i s 8 X m a t r i x m u s th a v e t h s a m e c o l o r . T h i s i n o t o s e r i o u s p r o b l e ns i n c e m o s t t e l e v i s i o n s e t s d o n o t p e r m i t m u c h h i g h e rr e s o l u t i o n w i t h o u t t h c o l o r s b l e e d i n g i n t o e a c h o t h e r .B u s i n g t h b i m a p p e d t e c h n i q u e t d r a w g r a p h i c s , w e s e e mt l o s e t h c a p a b i l i t y t w r i t e t e x t t t h g r a p h i c s s c r e e n .B u b d u p l i c a t i n g t h p i x e l s t h a t f o r m t e x t c h a r a c t e r o t h g r a p h i c s s c r e e n , y o c a n a d d t e x t t g r a p h i c s .O t h f o l l o w i n g p a g e s y o u w i l l f i n d t h p r o g r a m H I R E SG R A P H I C A I t h a t w i l l s i m p l i f y g r a p h i c s p r o g r a m m i n g .I y o a r i n t e r e s t e d i p r o g r a m m i n g g r a p h i c s w i t h o u t t h h a s s l e o P O K E S a n P E E K S , t h e n w r e c o m m e n d e i t h e r S C R E E NG R A P H I C S 6 4 o r U L T R A B A S I C 6 f r o m A B A C U S S o f t w a r e . E a c hp r o v i d e g r a p h i c s e x t e n s i o n s t B A S I C w h i c h m a k e g r a p h i c sp r o g r a m m i n g c i n c h . C o n t a c t y o u r d e a l e r o A B A C U S S o f t w a r ef o d e t a i l s .

T h a s s e m b l e r l i s t i n g f o H I R E S G R A P H I C A I f o l l o w s :

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

c o o oc o o oC O O OC O O OC O O OC O O OC O O OC O O Oc o o oc o o oc o o oc o o oc o o oc o o oc o o oc o o o

C X C O O R DF L A GL S F T M A D A C O L L O WC O L H IG R A L O WG R A H IG E T C O RC H K C O MG E T B Y T

H I R E SO R E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q E Q

G R A P H I C$ C 0 0 01 $ 1 $ 9 $ B $ B $ B $ F T M T M $ 4 0 0$ 8 $ 2 0 0 0$ 4 0 0 0$ B 7 E B$ A E F D$ B 7 9 E

A I

; L O G I C A L F I L E N U M B E 1; S E C O N D A R Y A D D R E S S; D E V I C E N U M B E R

S T A R T H I R E S C O L O R R A E N D H I R E S C O L O R R A S T A R T H I R E S B I T M A PE N G E T S X - A N D C O O R D .C H E C K S O C O M M AG E T S B Y T E V A L U E

7

Page 87: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 87/304

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

C O O OC O O OC O O OC O O OC O O OC O O OC O O OC O O OC O O OC 0 0 3C 0 0 6C 0 0 9C O O CC O O FC 0 1 2C 0 1 5C 0 1 8C 0 1 BC 0 1 EC 0 2 1C 0 2 4C 0 2 7C C 0 2 CC 0 2 FC 0 3 1C 0 3 4C 0 3 7C 0 3 9C O 3 CC 0 3 DC 0 3 FC 0 4 1C 0 4 3C 0 4 5C 0 4 6C 0 4 8C 0 4 9C 0 4 BC 0 4 DC 0 4 FC 0 5 1C 0 5 3C 0 5 4C 0 5 7C 0 5 AC 0 5 CC 0 5 EC 0 6 0C 0 6 2C 0 6 3C 0 6 5C 0 6 6C O 6 8

4 4 4 4 4 4 4 4 4 4 A 8 A 8 A 8 A 8 2 A 2 6 A A 8 8 9 9 C D E A C D 6 2 2 A A 8 8 8 9 C D E

I 3 5 7 8 8 5 3 1 6 1 7 1 7 3 1 1 1 3 1 5 0 2 F F

F

F F F 4 F

F 9 0 0 F F

F

F F

C C C C C C C C C C D C D C D

D C C

A B

V I D E OG E T P A RC L S C R NC H K O U TP R I N TC L R C HL O A DS A V E

E Q E Q E Q E Q E Q E Q E Q E Q

J U M P

S E L F

I N I T

C L E A R

C L R 1C L R 2

C O L O RC O

C O L 1C O L 2

J M J M J M J M J M J M J M J M J M J M L D S T L D S T L D S T L D S T J S L D J S R T L D L D S T S T T Y S T I N B N I N L D C M B N R T J S J S L D L D S T S T T X S T I N B N I N

$ D 0 0 0$ E 1 D 4$ E 5 4 4$ F F C 9$ F F D 2$ F F C C$ F F D 5$ F F D 8

; V I D E O C O N T R O L L E R; G E T F I L E - A N D E V I C E; C L E A R S C R E E N; S E T O U T P U T D E V I C E; O U T P U T R O U T I N E; O U T P U T O D E F A U L T; L O A D R O U T I N E; S A V E R O U T I N E

T A B L E F O F U N C T I O N SI N I TC L E A RC O L O RR E V E R SS E R E S E TG L O A DG S A V ES E L FG O F F

; S W I T C H O G R M O D E; C L E A R G R A P H I C; S E T C O L O R

I N V E R T G R A P H I C; S E T P O I N T; R E S E T P O I N T; L O A D G R A P H I C S; S A V E G R A P H I C S; N O T U S E D; S W I T C H O F F G R M O D E

V I D E O + 1 7S T O R E 1V I D E O + 2 4S T O R E 2# 2 7 + 3 2 ; S E T G R M O D EV I D E O + 1 7# 1 V I D E O + 2 4C L E A R# 1 C O # ; C L E A R G R M E M O R Y# > G R A L O WT M T M P + 1

( T M P ) , YC L R 2T M P + 1T M P + 1# > G R A H IC L R 1C H K C O MG E T B Y T#

; S E T C O L O R; G E T C O L O R C O D E

# > C O L L O WT M T M P + 1( T M P ) , YC O L 2T M P + 1

; C O L O R C O D E I A C C .

7

Page 88: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 88/304

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

1 3 9 0 :1 4 0 0 :1 4 1 0 :1 4 2 0 :1 4 3 0 :1 4 4 0 :1 4 5 0 :

C 0 6 AC 0 6 CC 0 6 EC 0 7 0C 0 7 1C 0 7 3C 0 7 5C 0 7 7C O 7 9C 0 7 BC 0 7 DC 0 7 FC 0 8 0C 0 8 2C 0 8 4C 0 8 6C 0 8 8C O 8 A

C 0 8 B

A C D 6 A A 8 8 B 4 9 C D E A C D

6 A

F 0 F

0 2 F F F F F

F F F 4 E

0 C 0 8 D 2

C 0 8 EC 0 9 0C 0 9 2C O 9 5C 0 9 8C 0 9 AC 0 9 CC 0 9 EC 0 A 0C 0 8 2C 0 A 4C 0 A 6C 0 A 8C O A AC O A BC O A CC O A DC O A EC O A FC 0 B 2C 0 B 5C 0 B 8C O B BC O B CC O B EC O B FC 0 C 2

C 0 C 5C 0 C 7C 0 C 9C O C CC O C DC O C FC 0 D 2

A 8 2 2

E B A C 9 D A C B 8 4 4 4 A E 8 B 8 8 2 1 6 8

A 2 8 1 A 6 8

8 9 F

E C E 1 0 0 E 1 4 E

2 7 0 7

0

7 7

1 F 7

0 7 F

A B

C C C C

C C

C

C

L D C M B N R T

R E V E R S L D L D S T S T

R E V 1 L D E O S T I N B N I N L D C M B N

I L R T S E T L D A

T M P + 1# > C O L H I

C 0 L 1# ; I N V E R T G R A P H I C S# > G R A L O WT M T M P + 1( T M P ) f Y# % 1 1 1 1 1 1 1 1 ; I N V E R T B I T S( T M P ) f YR E V 1T M P + 1T M P + 1# > G R A H IR E V 1

; R E T U R N I I N V A L I D C O O R D .# ; S E T P O I N T

. B Y T $ 2 ; S K I P I N S T R U C T I O NR E S E T L D

S T J S J S

C P B C L D C M B C B N L D C M B C

O K T X AL S L S L S T A L D S T L D S T T X A N C L A D S T

; 0 F F X = 8L D A N S T C L L D A D S T

# $ 8 0 ; R E S E T P O I N TF L A GC H K C O MG E T C O R ; T X C O O R , Y T X - R E G

# 2 0 0I L ; C O O R D I N A T E 1 9 X C O O R D + 1# > 3 2 0O I L X C O O R D# < 3 2 0 ; C O O R D I N A T E 3 1 I L

; C O O R D I N A T E T O A C C .

; D I V I D E D B ; O F F Y = 3 2 0 * I N T ( Y / 8 ) + ( Y A N D 7 )

M U L T L O , YO F F YM U L T H I , Y ; T I M E S 3 2 O F F Y + 1

? C O O R D I N A T E# % 1 1 1

; P L U S A N O F F YO F F Y

I N T ( X / 8 )X C O O R D# % 1 1 1 1 1 0 0 0O F F X

; A V = G R A L O W + O F F Y + O F F X# < G R A L O WO F F YA

8

Page 89: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 89/304

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

1 7 6 0 :

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

C 0 D 4C 0 D 6C 0 D 9C O D BC D C O D EC O E 1C 0 E 3C 0 E 5C 0 E 7C O E 9C O E BC O E DC O E FC O F OC 0 F 2C 0 F 3C 0 F 5C 0 F 6C 0 F 8C F C O F CC O F EC 1 0 0C 1 0 2C 1 0 3C 1 0 5C 1 0 7C 1 0 8

C 1 0 8C 1 1 0C 1 1 8C 1 2 0C 1 2 1C 1 2 1C 1 2 9C 1 3 1C 1 3 9C 1 3 AC 1 3 DC 1 4 0C 1 4 2C 1 4 4C 1 4 6C 1 4 8C 1 4 AC 1 4 CC 1 4 EC 1 5 1C 1 5 2C 1 5 5

A 6 8 1 A 6 8 A 6 8 A 2 4 A A C 3 O D A 2 1 4 3 2 1 9 6

0 0 1 I

0 0 0 0 2 2

A A A 8 A 8 A 2 6 2 2

2 7 F

F 7 F F 1 F 1 0 0

0

0

F 0 9 0 F F

F F

0 O 1

4 4 4 F D

0 4 0 F 2 F F D

F D

C

C

S E T 4

S E T 3

S E T 5E N M U L T H I

L D A D S T C L L D A D S T L D A D S T L D A N E O T A L D D E B M A S B N L D B I B P E O A N . B Y T

O R S T R T E Q

; T A B L E H I B Y T E S0 0 2 0 3O O O 1 1 1

M U L T L O

0 0 O 1 1 I

E Q ; T A B L E L O B Y T E S

8 C 0 8 C 0 8 0 C O 0 A G S A V EE

F

A G L O A DE

4 8 4 8 4 8

J S J S L D L D L D S T L D S T L D J S R T J S J S

# > G R A L O WO F F Y + 1A V + 1A O F F XA A V + 1X C O O R D + 1A V + 1 ; M X C O O R D# #

; M # S E T 3

2 * ( ( 7 - X ) A N D 7

; S H I F T B I L E F TS E T 4 ? A B S O L U T E J U M P# 0 ; A C C ,F L A GS E T 5# $ F F

C O N T A I N S M A S K

( A V ) f Y ; C L E A R B I $ 2

( A V ) f Y ; S E T( A V ) , YE N D + 1

N * 3 2 00 1 1 M U L T H I + 2 5

N * 3 2 0C C C

C H K C O MG E T P A R# < G R A H I# > G R A H I# < G R A L O WT M # > G R A L O WT M P + 1# T M PS A V EC H K C O M

G E T P A R

B I

; S A V E G R A P H I C; G E T F I L E N A M E

D E V I C E A D D R

; L O A D G R A P H I C: G E T F I L E N A M E

8

Page 90: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 90/304

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

C 1 5 8C 1 5 AC 1 5 CC 1 5 EC 1 6 1C 1 6 2C 1 6 5C 1 6 8C 1 6 BC 1 6 EC 1 7 1C 1 7 3C 1 7 4C 1 7 5C 1 7 7

A 8 A 2 6 A 8 A 8 2 6

6 B 0 D

7 1 7 1 4

F

C D C D E

G O F F

S T O R E 1S T O R E 2O F F XO F F Y

L D S T L D J S R T L D S T L D S T J S R T B Y B Y B Y B Y

# $ 6 1S # L O A DS T O R E 1V I D E O + 1 7S T O R E 2V I D E O + 2 4C L S C R N

; S E C A D D R; L O A D F L A G

: C L E A R S C

T u s e t h i s m a c h i n e l a n g u a g e r o u t i n e , y o c a n u s e t h ef o l l o w i n g c a l l s f r o m B A S I C :

t u r n g r a p h i c s m o d e o c l e a r t h s c r e e ns e p l o t t i n g c o l o r t r e v e r s e e a c h p o i n t o s c r e e ns e p o i n t a c o o r d , x r r e s e t p o i n t a c o o r d . x , l o a d g r a p h i c s p i c t u r e w i t hn a m e " f f r o m d e v i c es a v e g r a p h i c s p i c t u r e w i t h

n a m e " f t d e v i c et u r n g r a p h i c s m o d e o f

S Y S 4 9 1 5 2S Y S 4 9 5 5 5S Y S 4 9 1 5 8 , cS Y S 4 9 1 6 1S Y S 4 9 1 6 4 , x , yS Y S 4 9 1 6 7 r x f y

I N I TC L E A RC O L O RR E V E R S ES E R E S E T

S Y S 4 9 5 7 0 , " f " , d G L O A DS Y S 4 9 5 7 3 , " f , d G S A V E

S Y S 4 9 5 7 9 G O F F

5 . S P R I T E S S o m e g r a p h i c s m a g i c o n t h e C o m m o d o r e 6

5 . 3 . 1 I n t r o d u c t i o n t S p r i t e sA s i d e f r o m i t s u p e r b s o u n d s y n t h e s i s c a p a b i l i t i e s , t h a b i l i t y t c r e a t e a n m a n i p u l a t e s p r i t e s i c e r t a i n l y t h o u t s t a n d i n g f e a t u r e o t h C o m m o d o r e 6 4 S p r i t e s a r e l a r g eg r a p h i c s d e s i g n s t h a t c a b c o n t r o l l e d i n d e p e n d e n t l y o t h o t h e r g r a p h i c s o t e x t o t h s c r e e n .

5 . 3 . 2 S p r i t e C a p a b i l i t i e sF o m o m e n t , l e t ' s i m a g i n e t h a t t h e r e a r n s u c h t h i n g a s p r i t e s . Y o u a r e c r e a t i n g a a r c a d e g a m e a n w a n t t d r a wf i n e l y d e t a i l e d c h a r a c t e r ( w e ' l l c a l l i t b l o b ) o n t h es c r e e n a n d a n d a n i m a t e i t T h e f i n e d e t a i l r e q u i r e s t h a t y o u s t h h i g h r e s o l u t i o n s c r e e n . A s p r e v i o u s l y d i s c u s s e d , y o h a v e t d r a w t h b l o b o t h s c r e e n b u s i n g b i m a p p e d

8

Page 91: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 91/304

t e c h n i q u e s t p l a c e t h c h a r a c t e r a t h d e s i r e d p o s i t i o n o t h s c r e e n . T h i s i n v o l v e s s e t t i n g e a c h p i x e l t h a t c o m p r i s e st h b l o b t o n I b l o b i m a d e u o 6 p i x e l s , t h e n a l 6 p i x e l s m u s t b t u r n e d o n A d d i t i o n a l l y , y o h a v e t c o o r d i n a t e t h c o l o r o t h p i x e l s , b m a n i p u l a t i n g t h s c r e e n m e m o r y ( w h i c h c o n t r o l t h b i m a p p e d g r a p h i c sc o l o r s ) .I o r d e r t m o v e t h b l o b , y o u h a v e t c a l c u l a t e n e p o s i t i o n f o e a c h p i x e l t h a t m a k e s u t h e b l o b . B u b e f o i ey o r e d r a w t h b l o b a i t n e w p o s i t i o n , y o m u s t f i r s t m a k et h e a r l i e r b l o b d i s a p p e a r f r o m i t o l p o s i t i o n . Y o u d ot h i s b r e s e t t i n g ( t u r n i n g o f f ) e a c h p i x e l t h a t w a s o n T h e ny o c a p r o c e e d t r e d r a w t h b l o b a i t n e w p o s i t i o n .R e p e a t i n g t h i s t e c h n i q u e , y o u c a n m a k e t h b l o b m o v e a c r o s st h b i m a p p e d g r a p h i c s s c r e e n .N o l e t ' s s a t h a t t h e r e a r s o m e o t h e r s t a t i o n a r y o b j e c t so t h s c r e e n , m a y b e h o u s e . I o r d e r t m a k e i a p p e a rt h a t t h b l o b i e n t e r i n g t h h o u s e , w m u s t m a k e t h b l o bg r a d u a l l y d i s a p p e a r a i t p i x e l s m e e t t h p i x e l s t h a t m a k eu t h h o u s e . T o d o t h i s , y o m u s t k n o w t h p o s i t i o n o t h h o u s e ' s p i x e l s o t h s c r e e n . A t h b l o b ' s n e p i x e lp o s i t i o n s a r c a l c u l a t e d , t h e y a r c o m p a r e d t t h p i x e lp o s i t i o n s o t h s t a t i o n a r y h o u s e . I t h e s e p i x e l p o s i t i o nc o i n c i d e , t h e n t h b l o b ' s n e p i x e l a t h a t p o s i t i o n i n o s e o n I n s t e a d , t h a t p o s i t i o n i l e f t t d i s p l a y t h h o u s e .I y o c o n t i n u e a l o n g t h e s e s a m e l i n e s , y o u c a n m a k e t h b l o b d i s a p p e a r i n t o t h e h o u s e .I l i k e m a n n e r , y o u c a n m a k e t h b l o b p a s s i f r o n t o t h s t a t i o n a r y h o u s e . W h e n t h b l o b ' s n e p i x e l p o s i t i o nc o i n c i d e s w i t h t h p i x e l p o s i t i o n o t h h o u s e , t h b l o b ' sp i x e l i d i s p l a y e d i n s t e a d o t h h o u s e ' s p i x e l . T h s a m et e c h n i q u e i a p p l i c a b l e t c o l l i s i o n s t h a t m i g h t o c c u r w i t ho t h e r b l o b s .

Y o c a s e t h a t a l o t h e s e c a l c u l a t i o n s a n l o g i c t d e t e r m i n e w h i c h p i x e l s n e e d t b t u r n e d o n o r o f i n o o n l y c o m p l i c a t e d , b u v e r y t i m e c o n s u m i n g . I d o n e f r o mB A S I C p r o g r a m , t h b l o b m i g h t b a b l e t m o v e a b o u t a f a s ta m o l a s e s . I d o n e f r o m m a c h i n e l a n g u a g e p r o g r a m , t h b l o b c a b m a d e t m o v e f a s t , b u o n l y a t h e x p e n s e o l o o p r o g r a m c o d i n g a n d t e s t i n g .T h e i d e a b e h i n d s p r i t e s i t h a t m o s t o t h t e d i o u s a n t i m e - c o n s u m i n g c a l c u l a t i o n s t d e t e r m i n e t h e b l o b ' s n e p o s i t i o n a r h a n d l e d b t h V I c h i p . s p r i t e , o n c ed e f i n e d , c a b m o v e d a n m a n i p u l a t e d v e r y e a s i l y f r o mw i t h i n p r o g r a m .A f t e r y o d e f i n e s p r i t e , y o u d o n o t h a v e t t u r n o n o r o f i n d i v i d u a l p i x e l s w h e n d r a w i n g t h s p r i t e . W h e n y o m o v e t h s p r i t e f r o m o n p o s i t i o n o n t h e s c r e e n t a n o t h e r , y o d n o h a v e t e r a s e t h p r e v i o u s p o s i t o n o t h e s p r i t e . Y o uc a m a k e s p r i t e p a s s i f r o n t o o b e h i n d s t a t i o n a r y

8

Page 92: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 92/304

o b j e c t s a u t o m a t i c a l l y . I f a c t , y o u c a n m a k e o n s p r i t e p a s si f r o n t o o b e h i n d a n o t h e r s p r i t e . O m a k e i d i s a p p e a ra l t o g e t h e r . E i g h t s u c h s p r i t e s c a b h a n d l e d b y t h eC o m m o d o r e 6 4 a t o n e t i m e .I y o u w a n t , y o u c a n h a v e t h C o m m o d o r e 6 n o t i f y y o w h e ns p r i t e a n s t a t i o n a r y o b j e c t o t w d i f f e r e n t s p r i t e sh a v e c o l l i d e d . A n d c h a n g i n g t h c o l o r o t h s p r i t e i a l s ov e r y s i m p l e . T h e s e s p r i t e c a p a b i l t i e s m a k e s t h C o m m o d o r e 6

v e r y p o w e r f u l c o m p u t e r .

5 . 3 . 3 S p r i t e S t r u c t u r eW h e n u s i n g s p r i t e s , i i g o o d i d e a t o b e f a m i l i a r w i t hb i n a r y a r i t h m e t i c . S e c t i o n s 1 . a n 5 . w i l l a c q u a i n t y o w i t h t h r e g i s t e r s o t h V I c h i p .W h e n u s i n g s p r i t e s , t h m a j o r i t y o t h w o r k i n v o l v e ss e t t i n g u t h r e g i s t e r s o t h V I c h i p t h a t c o n t r o lm o v e m e n t , c o l o r , a n d t h o t h e r f e a t u r e s o t h s p r i t e s .E a c h r e g i s t e r c o n s i s t s o b i t s w h i c h t h u s e r c a s e o r e s e t a c c o r d i n g t o t h e d e s i r e d e f f e c t .W h e n u s i n g s p r i t e s , w e r e f e r t t h n u m b e r s w h i c h d e f i n e h e t h s p r i t e l o o k s a t h s p r i t e p a t t e r n . A i m p o r t a n t p o i n ti u s i n g s p r i t e s i t h l o c a t i o n i m e m o r y o t h s p r i t ep a t t e r n . A y o k n o w , o n e s p r i t e c o n s i s t s o 2 4 x 2 1 p o i n t s( p i x e l s ) . H o r i z o n t a l l y s p r i t e h a 2 p i x e l s a n v e r t i c a l l y i h a 2 p i x e l s .

8

Page 93: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 93/304

S P R I T E L A Y O U T

R O R O R O R O R O R O R O R O R O R O 1 R O 1 R O 1 R O 1 R O 1 R O 1 R O 1 R O 1 R O 1 R O 1 R O 2 R O 2

E a c h " r o w " c o n s i s t s o 3 - b y t e s e a c h w i t h p i x e l s o b i t se a c h . T h c o l o r o s p r i t e c a b s p e c i f i e d i e i t h e r o t w w a y s :

1 H I R E S S P R I T EW h e n u s i n g h i r e s s p r i t e s , o n b i i t h s p r i t ep a t t e r n p r o d u c e s o n p o i n t o t h s c r e e n . T h i s p o i n th a e i t h e r t h b a c k g r o u n d c o l o r i t h b i i z e r o , o t h c o l o r s p e c i f i e d b i t c o r r e s p o n d i n g r e g i s t e r ( R E G 3 t h r u 4 6 i t h e b i t i o n e .

2 M U L T I C O L O R S P R I T EW h e n u s i n g m u l t i c o l o r s p r i t e s , t w b i t s i t h s p r i t ep a t t e r n p r o d u c e s o n p o i n t o t h s c r e e n . T h e p o i n t i a c t u a l l y t w o p i x e l s w i d e o t h s c r e e n . T h p o i n t i e i t h e r : t h c o l o r o t h b a c k g r o u n d i t h b i t s a r e 0 0 t h c o l o r s p e c i f i e d b R E 3 i t h b i t s a r 0 1 t h c o l o r s p e c i f i e d b y i t s c o r r e s p o n d i n g r e g i s t e r ( R E G 3 t h r u 4 6 i t h b i t s a r 1 0 o t h c o l o r s p e c i f i e d b R E 3 i t h b i t s a r e 1 1

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

8

Page 94: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 94/304

5 . 3 . 4 P r o g r a m m i n g s p r i t e s

5 . 3 . 4 . 1 S p r i t e P a t t e r n sW h e n p r o g r a m m i n g s p r i t e s , y o m u s t f i r s t s e u t h s p r i t ep a t t e r n w h i c h i t r e p r e s e n t t h e s p r i t e .I o r d e r t h e l p y o i d e v e l o p i n g s p r i t e s . D i a g r a m 5 - i s

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

F i r s t d r a w r o u g h s k e t c h o t h s p r i t e o s e p a r a t e p i e c eo p a p e r . D e c i d e w h e t h e r t h s p r i t e i t b o n c o l o r o m u l t i c o l o r . N e x t t r a n s f e r t h i s r o u g h s k e t c h t t h s p r i t ed e s i g n s h e e t .I u s i n g o n c o l o r s p r i t e s , f i l l i e a c h b o o t h s p r i t ed e s i g n s h e e t t h a t c o r r e s p o n d s t t h r o u g h s k e t c h . T r e a t o r b o o t h s h e e t a o n p i x e l o n t h e s c r e e n . I y o f i l l t h s q u a r e s t h a t m a k e t h p a t t e r n c o m p l e t e l y a n t h e n s t a n d b a c kf r o m t h s p r i t e d e s i g n s h e e t , i i q u i t e e a s y t r e c o g n i z et h p a t t e r n a n d e t e r m i n e i a n c h a n g e s a r r e q u i r e d t g i v e t h s p r i t e t h f i n a l t o u c h e s .I u s i n g m u l t i c o l o r s p r i t e s , f i l l i e a c h b o w i t h t h d e s i r e d c o l o r ( c o l o r p e n c i l s w o r k n i c e l y ) t h a t c o r r e s p o n d st t h r o u g h s k e t c h . K e e p i m i n d t h a t t w o h o r i z o n t a l l ya d j a c e n t b o x e s o n t h e s p r i t e d e s i g n s h e e t c o r r e s p o n d t o n p i x e l ( e a c h p i x e l i t w i c e a w i d e ) o n t h e s c r e e n . O n l yf o u r d i f f e r e n t c o l o r s m a b u s e d . O n c o l o r i c o m m o n a n i t h b a c k g r o u n d c o l o r ; o n c o l o r i u n i q u e f o e a c hs p r i t e ; a n d t w o c o l o r s a r c o m m o n t a l s p r i t e s t h a t a r u s e d . T h b a c k g r o u n d c o l o r i a l w a y s g i v e n v a l u e o 0 0 s t h v a l u e s f o r t h e t w h o r i z o n t a l l y a d j a c e n t b o x e s i a l s o0 0 T h u n i q u e c o l o r i a l w a y s g i v e n v a l u e o 1 0 s t h v a l u e s f o t h t w h o r i z o n t a l l y a d j a c e n t b o x e s i a l s o 1 0 T h c o l o r s p e c i f i e d b m u l t i c o l o r r e g i s t e r i g i v e nv a l u e o 0 1 w h i l e t h c o l o r s p e c i f i e d b m u l t i c o l o rr e g i s t e r i g i v e n v a l u e o 1 a n t h e s e a r t h v a l u e sf o t h t w h o r i z o n t a l l y a d j a c e n t b o x e s i t h e s e c o l o r s a r c h o s e n o n t h e s p r i t e d e s i g n s h e e t .W i t h e i t h e r o n c o l o r o m u l t i c o l o r s p r i t e s , t h n e x t s t e pi t d e t e r m i n e t h n u m e r i c v a l u e s t h a t m a k e u t h s p r i t ea d r a w n o t h s p r i t e d e s i g n s h e e t . T d t h i s , y o t r e a te a c h g r o u p o e i g h t h o r i z o n t a l b o x e s a u n i t . A d t h n u m b e r t h a t c o r r e s p o n d s t t h a t c o l u m n f o r a l l b o x e s . K e e pi m i n d t h a t t h m u l t i c o l o r s p r i t e s m a y h a v e v a l u e o 0 0 0 1 , 1 0 , o 1 a c c o r d i n g t o t h e c o l o r t h a t i r e p r e s e n t e d b t h p a i r o h o r i z o n t a l l y a d j a c e n t b o x e s .

8

Page 95: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 95/304

Page 96: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 96/304

F o e a c h u n i t o e i g h t b o x e s , t h e s u o t h e s e e i g h t v a l u e sa r u s e d i s u b s e q u e n t P O K E c o m m a n d s . T h m o s t c o n v e n i e n tw a t d e f i n e t h p o i n t s o s p i r t e p a t t e r n i b e n t e r i n gt h e m i n t o B A S I C D A T A s t a t e m e n t s . T h e n y o c a R E A D t h e mf r o m w i t h i n F O R - N E X T l o o p a n P O K E t h e m i n t o m e m o r y a r e at h a t y o u ' v e s e a s i d e f o r t h e p a t t e r n . T h e s p r i t e i n o i m e m o r y a n r e a d y f o u s e . I o r d e r t g e t h p r o g r a m m i n gl i t t l e m o r e o r g a n i z e d , y o m a w a n t t a r r a n g e y o u r D A T As t a t e m e n t s t l o o k l i k e t h i s :

1 0 0 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 1 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 2 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 3 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 4 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 5 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 6 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 7 0 D A T A 0 0 3 , 2 5 5 , 2 5 51 0 8 0 D A T A 0 0 0 , 0 0 2 , 0 0 01 0 9 0 D A T A 1 9 2 , 1 7 0 , 1 2 81 1 0 0 D A T A 1 9 4 , 1 5 0 , 0 8 01 1 1 0 D A T A 2 3 4 , 1 5 0 , 0 8 01 1 2 0 D A T A 1 9 4 , 1 7 0 , 1 6 81 1 3 0 D A T A 1 9 2 , 1 7 0 , 1 6 81 1 4 0 D A T A 0 0 0 , 0 3 2 , 1 2 81 1 5 0 D A T A 0 0 0 , 1 7 0 , 1 6 01 1 6 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 1 7 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 1 8 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 1 9 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 2 0 0 D A T A 0 0 0 , 0 0 0 , 0 0 0

T h i s s t r u c t u r e r e p r e s e n t s t h b y t e s ( 2 b i t s ) 2 b i o s p r i t e . E a c h n u m b e r b e t w e e n a n 2 5 r e p r e s e n t s t h

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

5 . 3 . 4 . 2 T h P r o g r a m

N o l e t ' s m o v e o t p r o g r a m m i n g t h s p r i t e s . B a c k t o u e x a m p l e . W h a t d t h e s e D A T A s t a t e m e n t r e p r e s e n t ? F o t h i s w h a v e t p r e s e n t t h d e c i m a l n u m b e r s i b i n a r y a g a i n :

8

Page 97: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 97/304

S P R I T E P A T T E R N

L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1L I N E 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0L I N E 1 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0L I N E 1 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0L I N E 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0L I N E 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0L I N E 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0L I N E 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0L I N E 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0L I N E 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0H e r e w e h a v e p a t t e r n o h e l i c o p t e r . I y o d o n ' tr e c o g n i z e i o p a p e r , y o w i l l w h e n i a p p e a r s o t h s c r e e n .

5 . 3 . 4 . 3 T u r n i n g t h S p r i t e O nA f t e r h a v i n g d e f i n e d t h s p r i t e p a t t e r n , y o h a v e t t u r n i o n T h s p r i t e n u m b e r d e t e r m i n e s h o t t u r n t h a t s p r i t e o n T h c o r r e s p o n d i n g b i ( b i t t h r u 7 i R E 2 i s e t o n f o r t h e s p r i t e n u m b e r t h a t i t b d i s p l a y e d .

S p r i t e : 7 6 5 4 3 2 1 0B i b b 6 b 5 b 4 b 3 b 2 b l b OV a l u e 1 2 6 3 1 8

P O K E V + 2 1 r l m a k e s s p r i t e v i s i b l e ; P O K E 2 1 , 3 ( v a l u e s o 2 m a k e s s p r i t e s a n v i s i b l e ; a n P O K E V + 2 1 r 2 5 5 ( v a l u e so " 1 6 3 6 1 2 8 ) m a k e s s p i r t e s t h r u

v i s i b l e .

8

Page 98: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 98/304

Page 99: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 99/304

w r i t e 1 i m e m o r y l o c a t i o n 2 0 4 1 . T h i s m e a n s t h a t s p r i t ei h a t h s a m e p a t t e r n a s p r i t e 0 I t h i s c a s e , a l o t h o t h e r i n f o r m a t i o n , s u c h a c o l o r , p o s i t i o n , e x p a n s i o ne t c . , m a b d i f f e r e n t f o t h e s e t w s p r i t e s , b u t t h b a s i cs h a p e s a r i d e n t i c a l .T h i s f e a t u r e o s p r i t e s c a p o t e n t i a l l y r e d u c e t h p r o g r a m m i n g e f f o r t t r e m e n d o u s l y . I g a m e s , f o e x a m p l e , y o um a h a v e s e v e r a l a l i e n c r e a t u r e s t h a t a r c l o n e s o e a c ho t h e r , e x c e p t f o p o s i t i o n . O n e s p r i t e p a t t e r n c a s e r v e a t h m o d e l f o r a l l o t h e s e a l i e n s . B s e t t i n g t h a p p r o p r i a t e s p r i t e p o i n t e r t r e f e r t t h s a m e p a t t e r n , y o c a c l o n e s e v e n m o r e o t h e s e c r e a t u r e s w h i l e t h c o m p u t e rt a k e s c a r e o t h d i s p l a y . E a c h o f t h e c r e a t u r e s c a h a v ei t o w c o l o r . F u r t h e r m o r e , e a c h c r e a t u r e s c a b p o s i t i o n e di n d e p e n d e n t l y o e a c h o t h e r .B u s i n g F O R - N E X T l o o p f r o m B A S I C , t h v a l u e s o s p r i t ep a t t e r n m a b t r a n s f e r r e d t o t h e m e m o r y a r e a , s t a r t i n g a 8 3 2 .

F O 1 = T 6 2 R E 6 B Y T E S O A S P R I T ER E A D R E M R E A D I N G O T H B Y T EP O K E 8 3 2 + 1 , X R E W R I T I N G O F T H E B Y T E I N T O T H B L O C KN E X T R E E N D O F L O O P

5 . 3 . 4 . 5 S p r i t e P o s i t i o n i n gN e x t w w a n t t s p e c i f y t h p o s i t i o n o t h s p r i t e o t h s c r e e n . s p r i t e s ' s p o s i t i o n i s e b p r i m i n g t w r e g i s t e r s : o n e t h a t s p e c i f i e s t h s p r i t e ' s X - p o s i t i o n a n o n t h a t s p e c i f i e s t h s p r i t e s ' s Y - p o s i t i o n .F r o m n o w o w e ' l l u s v a r i a b l e i o e x a m p l e s t s t a n d f o t h b e g i n n i n g a d d r e s s o f t h e v i d e o c o n t r o l l e r r e g i s t e r s . W s e 5 3 2 4 8 , t h a d d r e s s i t h s t a r t a d d r e s s o t h v i d e oc o n t r o l l e r . S o n o t h f i r s t l i n e n u m b e r o e v e r yp r o g r a m t h a t u s e s g r a p h i c o s p r i t e s s h o u l d r e a d l i k e t h i s :

1 V = 5 3 2 4 8 : R E S T A R T O V I D E O C O N T R O L L E RT p o s i t i o n s p r i t e o t h s c r e e n y o u n e e d t w o P O K Ec o m m a n d s :

P O K E V + 0 , C O L U M N : R E S P R I T E p o s i t i o nP O K E V + 1 , L X N E R E M S P R I T E p o s i t i o n

S i y o w a n t t p o s i t i o n t h h e l i c o p t e r n e a r t h m i d d l e o t h s c r e e n , a l y o n e e d i

P O K E V + 0 r 1 8 4P O K E V + l f 1 2 5

9

Page 100: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 100/304

5 . 3 . 4 . 6 S h i f t i n g S p r i t e s

W c a a l s o m o v e t h s p r i t e s q u i t e e a s i l y . I o r d e r t a c h i e v e s m o o t h m o v e m e n t , w e s h o u l d c h a n g e t h l o c a t i o n o t h s p r i t e b o n s c r e e n p o i n t a t i m e . W c a d t h i s b u s i n g F O R - N E X T l o o p :

1 0 F O 1 = 1 5 9 T 1 0 S T E P - 1 1 P O K E V + 0 , 11 2 N E X T

T h a b o v e r o u t i n e m o v e s t h h e l i c o p t e r t t h e l e f t , y e i r e m a i n s i t h s a m e v e r t i c a l p o s i t i o n . I y o w a n t t w a t c ht h m o v e m e n t m o r e s l o w l y , y o h a v e t i n s e r t a n o t h e r l o o pb e f o r e t h N E X T I

1 1 F O 1 1 = 1 T 1 0 0 : N E X T

N o t h s p r i t e m o v e s m u c h s l o w e r a n d y o u c a n w a t c h i t Y o m i g h t h a v e r e c o g n i z e d o n p r o b l e m : t h e r e a r 3 2 h o r i z o n t a l p o s i t i o n s . B u t h h i g h e s t v a l u e o P O K E i n t ot h X - r e g i s t e r c a o n l y b e 2 5 5 . H o c a n y o u m o v e t h s p r i t et o t h e r i g h t s i d e o t h s c r e e n ?F o t h i s , t h e r e i a n o t h e r r e g i s t e r . R e g i s t e r 1 h o l d s o n h i g h o r d e r b i t f o r e a c h s p r i t e . I t h X - c o o r d i n a t e o s p r i t e i h i g h e r t h a n 2 5 5 , t h e n t h e b i t f o r t h ec o r r e s p o n d i n g s p r i t e i s e t o n e . F o s p r i t e 1 w w o u l dd t h f o l l o w i n g f o r a n X - c o o r d i n a t e g r e a t e r t h a n 2 5 5 :

P O K E V + 1 6 , 1A f t e r t h i s P O K E , 2 5 i a d d e d t o u a d d r e s s i n g . N o P O K EV + 0 , 1 w o u l d m e a n p o s i t i o n i n g o d o 2 5 6 . I n o r d e r t g e t d o t s s m a l l e r t h a n 2 5 6 , t h i s b i t h a t o b e s e b a c k a g a i n :

P O K E V + 1 6 , 0

5 . 3 . 4 . 7 S p r i t e C o l o rW c a a l s o c h a n g e t h c o l o r o o n c o l o r s p r i t e . E a c hs p r i t e h a i t o w c o l o r r e g i s t e r . T h e s e r e g i s t e r s a r l o c a t e d a V + 3 9 t o V + 4 6 :

R e g i s t e r : 3 9 4 0 4 4 2 4 3 4 4 4 5 4 6S p r i t e : 0 1 2 3 4 5 6 7

9

Page 101: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 101/304

Page 102: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 102/304

5 . 3 . 4 . 9 B a c k g r o u n dT h e n e x t e x a m p l e s h o w s a n o t h e r f e a t u r e o t h C o m m o d o r e 6 4 Y o c a c h o o s e w h e t h e r t h s p r i t e i p l a c e d i f r o n t o o b e h i n d t h b a c k g r o u n d . S o m e n i c e e f f e c t s r e s u l t . W h e n y o h a v e t h h e l i c o p t e r o n t h e s c r e e n , t y p e :

P O K E V + 2 7 , 1W i t h t h i s p o k e , y o c a d i r e c t t h s p r i t e t a p p e a r i f r o n to o b e h i n d t h b a c k g r o u n d . I o r d e r t s e t h e f f e c t ,b r i n g t h c u r s o r t t h s a m e l i n e a t h s p r i t e . T h e n y o s i m p l y e n t e r f e c h a r a c t e r s , j u s t e n o u g h t c o v e r t h s p r i t e w i t h t h l e t t e r s . T h e l e t t e r s a r c o n s i d e r e d t b b a c k g r o u n d . T r y d i f f e r e n t c o l o r s t o s e e t h b e s t c o n t r a s t t t h e s p r i t e . Y o u ' l l s e t h a t t h w r i t i n g a p p e a r s i f r o n t o t h e s p r i t e . A c t u a l l y y o m o v e d t h s p r i t e i n t o a n o t h e r" l e v e l " n a m e l y u n d e r t h b a c k g r o u n d . N o g t a n o t h e rl i n e a n d t y p e :

P O K E V + 2 7 , 0T h s p r i t e w i l l m o v e i f r o n t o t h t e x t a g a i n . T h er e g i s t e r f o r t h e b a c k g r o u n d - s p r i t e p r i o r i t y t h e n l o o k s l i k et h i s :

B i b 7 b 6 b b b 3 b 2 b b S p r i t e - : 7 6 5 4 3 2 1 0P r i o r i t y

W i t h t h i s r e g i s t e r y o u c a n c h a n g e t h p r i o r i t y o e v e r ys p r i t e a w i l l . I t h b i i s e t t o 0 i m e a n s t h a t t h s p r i t e a p p e a r s i s i n f r o n t o t h b a c k g r o u n d ; s e t 1 t h s p r i t e a p p e a r s b e h i n d t h b a c k g r o u n d . B s e t t i n g a n c l e a r i n g o t h b i t s t h e r e i t h p o s s i b i l i t y o s e t t i n gs e v e r a l s p r i t e s o t o o e a c h o t h e r a n s t i l l b a b l e t d i f f e r e n t i a t e b e t w e e n f o r e g r o u n d a n b a c k g r o u n d . A a l r e a d ym e n t i o n e d , t h i s e n a b l e s t h C o m m o d o r e 6 4 t o c r e a t e t h r e e -d i m e n s i o n a l p i c t u r e s .

5 . 3 . 4 . 1 0 S p r i t e - s p r i t e C o l l i s i o n s

T h e r e i m o r e t s a a b o u t t h o v e r l a p p i n g o s p r i t e s . T h e r ei r e g i s t e r i w h i c h c o l l i s i o n o d i f f e r e n t s p r i t e s i r e c o r d e d . T h e c o n t e n t s o t h i s r e g i s t e r r e m a i n s s e t z e r o u n t i l t w o m o r e s p r i t e s c o l l i d e , o u n t i l y o u r e s e tt h i s r e g i s t e r . O n c e t h s p r i t e s h a v e o v e r l a p p e d ( c o l l i d e d ) ,

9

Page 103: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 103/304

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

C O = P E E K ( V + 3 0 )a n t h v a l u e o C 3 t h e n w e k n o w t h a t s p r i t e s a n h a v e c o l l i d e d . T h e b i t s t r u c t u r e o t h r e g i s t e r i t h s a m e a t h o t h e r r e g i s t e r s .A f t e r t h i s P E E K , t h r e g i s t e r h a t o b e r e s e t b y

P O K E V + 3 0 , 0I y o d i n o c l e a r R E 3 0 t h e n t h r e g i s t e r s w o u l d s t a ys e e v e n i f c o l l i s i o n w a s n o t a k i n g p l a c e .

5 . 3 . 4 . 1 1 S p r i t e - b a c k g r o u n d C o l l i s i o n sc o l l i s i o n b e t w e e n s p r i t e a n t h b a c k g r o u n d c a b

r e c o r d e d t o o . R e g i s t e r 3 s e r v e s t h i s p u r p o s e . T h i sr e g i s t e r i t r e a t e d s i m i l a r t r e g i s t e r 3 0 T h o n l yd i f f e r e n c e i t h r e s u l t o t h P E E K . T h v a l u e i n f o r m s u w h i c h s p r i t e ( s ) h a s c o l l i d e d w i t h c h a r a c t e r . I d o e s n o t e l l u w h i c h b a c k g r o u n d c h a r a c t e r i w a n o i t l o c a t i o n .I o r d e r t g e t h i s i n f o r m a t i o n y o h a v e t d e t e r m i n e t h a ty o u r s e l f f r o m t h o t h e r r e g i s t e r s a n m e m o r y l o c a t i o n s .

C O = P E E K ( V + 3 1 )T h i s r e g i s t e r h a t o b e c l e a r e d a f t e r c o l l i s i o n , t o o .

5 . 3 . 4 . 1 2 M u l t i c o l o r S p r i t e sM u l t i c o l o r s p r i t e s a d m u c h f l a v o r t t h C o m m o d o r e 6 g r a p h i c s c a p a b i l i t i e s . A m u l t i c o l o r s p r i t e c a b m a d e u o t h r e e c o l o r s . T h e e x p e n s e f o r t h e e x t r a t w c o l o r s l e s sr e s o l u t i o n s i n c e t w o b i t s o t h s p r i t e p a t t e r n a p p e a r a o n d o u b l e - w i d e p i x e l o t h e s c r e e n . T h e r e f o r e w h a v e

m a t r i x i n s t e a d o a o n e . T h e s e t w o b i t s c o n t a i nt h i n f o r m a t i o n a b o u t t h e c o l o r .W e a l r e a d y k n o w t h a t w e c a n t r a n s f e r p i e c e s o i n f o r m a t i o nw i t h b i t s : 0 0 , 0 1 , 1 0 a n 1 1 W h e n u s i n g m u l t i c o l o rt h e s e b i t s h a v e t h f o l l o w i n g e f f e c t s :

0 T h d o h a t h b a c k g r o u n d c o l o r( y o u d o n ' t s e d o t )

0 T h e c o l o r d i s p l a y e d i i r e g i s t e r 3 1 0 T h c o l o r d i s p l a y e d i i c o r r e s p o n d i n g

r e g i s t e r 3 8 - 4 61 1 T h c o l o r d i s p l a y e d i i r e g i s t e r 3

9

Page 104: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 104/304

T h i s m e a n s t h a t s p r i t e c a h a v e i t o w c o l o r a n t w c o l o r s t h a t a r c o m m o n t a l l s p r i t e s .M a y b e y o a s k e d y o u r s e l f w h y o u h e l i c o p t e r l o o k s l i t t l es t r a n g e . W c a a n s w e r t h i s q u e s t i o n n o w : i w a d e s i g n e da m u l t i c o l o r s p r i t e . S i n c e m u l t i c o l o r s p r i t e c o n s i s t so f e w e r d o t s , y o c a n ' t g e d e c e n t p i c t u r e i t h n o r m a ls p r i t e m o d e . T f i n i s h t h i s c h a p t e r , w w a n t t s h o w y o t h c o m p l e t e p r o g r a m w i t h t h m u l t i c o l o r h e l i c o p t e r . I t i sa d v i s a b l e t e x p e r i m e n t w i t h t h p r o g r a m m i n g o s p r i t e s ,u s i n g t h i s p r o g r a m a a e x a m p l e . T h a t w a y y o b e c o m er e a d i l y a c q u a i n t e d w i t h t h p r o g r a m m i n g t e c h n i q u e .

R E 1 R E S P R I T E D E M O N S T R A T I O N H E L I C O P T E R1 R E 2 V = 5 3 2 4 8 : R E S T A R T V I D E O C O N T R O L L E R3 P O K E V + 3 2 , 1 5 : P O K E V + 3 3 , 1 4 : R E B A C K G R O U N D C O L O R S4 P R I N T " < C T R L > - 7 1 1 : R E P R I N T I N G C O N T R O L A N D5 P O K E V + 2 1 , 3 : R E T U R N O S P R I T E A N 6 P O K E V + 2 8 , 3 : R E M S P R I T E A N A R M U L T I C O L O R7 P O K E V + 3 9 , 6 : R E C O L O R O S P R I T E B L U E8 P O K E V + 4 0 , 2 : R E M C O L O R O S P R I T E R E 9 P O K E V + 3 7 , 1 4 : R E M M U L T I C O L O R C O L O R L I G H T B L U E1 0 P O K E V + 3 8 , 0 : R E M U L T I C O L O R C O L O R B L A C K1 1 P O K E 2 0 4 0 , 1 3 : R E S P R I T E F R O M M E M O R Y R A N G E 8 3 2 - 8 9 51 2 P O K E 2 0 4 1 , 1 3 : R E M S P R I T E F R O M M E M O R Y R A N G E 8 3 2 - 8 9 51 2 R E M T H A T M E A N S S P R I T E A N H A V E T H S A M E F O R M1 3 F O 1 = T 6 2 R E M L O O P T R E A D I T H D A T A1 4 R E A D X R E R E A D I N G O F T H E D O T C O M B I N A T I O N1 5 P O K E 8 3 2 + 1 , X : R E S A V I N G O T H E D O T C O M B I N A T I O N1 6 N E X T I R E M E N D O F L O O P1 7 P O K E V + 0 , 2 4 : P O K E V + 1 , 5 0 : R E P O S I T I O N O S P R I T E1 8 P O K E V + 2 , 6 0 : P O K E V + 3 , 5 0 : R E P O S I T I O N O S P R I T E1 9 E N 9 9 R E 9 9 R E S P R I T E P A T T E R N F O L L O W S9 9 R E 1 0 0 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 1 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 2 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 3 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 4 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 5 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 6 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 0 7 0 D A T A 0 0 3 , 2 5 5 , 2 5 51 0 8 0 D A T A 0 0 0 , 0 0 2 , 0 0 01 0 9 0 D A T A 1 9 2 , 1 7 0 , 1 2 81 1 0 0 D A T A 1 9 4 , 1 5 0 , 0 8 01 1 1 0 D A T A 2 3 4 , 1 5 0 , 0 8 01 1 2 0 D A T A 1 9 4 , 1 7 0 , 1 6 81 1 3 0 D A T A 1 9 2 , 1 7 0 , 1 6 81 1 4 0 D A T A 0 0 0 , 0 3 2 , 1 2 8

9

Page 105: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 105/304

1 1 5 0 D A T A 0 0 . 0 , 1 7 0 , 1 6 01 1 6 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 1 7 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 1 8 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 1 9 0 D A T A 0 0 0 , 0 0 0 , 0 0 01 2 0 0 D A T A 0 0 0 , 0 0 0 , 0 0 0W h o p e t h a t y o u u s e t h i s p r o g r a m a g u i d e t w r i t i n g y o u ro w s p r i t e p r o g r a m s .

9

Page 106: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 106/304

C H A P T E R B a s i c F r o m D i f f e r e n t V i e w p o i n t

6 . H o t h B A S I C I n t e r p r e t e r W o r k sL e t ' s s e h o t h B A S I C i n t e r p r e t e r w o r k s . A s y o e n t e r t e x ti n t o t h C o m m o d o r e 6 4 t h i n t e r p r e t e r f i r s t c h e c k s t s e i t h e r e i n u m b e r a t h b e g i n n i n g o t h t e x t . W h e n i s e e s n u m b e r t h e r e , i a s s u m e s t h a t t h t e x t i p r o g r a ml i n e . T h i n t e r p r e t e r u s e s t h i s n u m b e r a l i n e n u m b e r a n a s s u m e s t h a t t h t e x t f o l l o w i n g a r p a r t o t h p r o g r a ms t a t e m e n t s . I t h l i n e n u m b e r d o e s n o a l r e a d y e x i s t , t h e nt h p r o g r a m l i n e i n e a n i p l a c e d i n t o m e m o r y i p r o g r a ml i n e s e q u e n c e . I t h l i n e n u m b e r a l r e a d y e x i s t s , t h e n t h i sp r o g r a m l i n e r e p l a c e s t h p r e v i o u s l y e n t e r e d p r o g r a m l i n e .p r o g r a m l i n e n u m b e r w i t h o u t a n t e x t f o l l o w i n g i m e r e l yd e l e t e s a n p r e v i o u s l y e n t e r e d p r o g r a m l i n e .A t h p r o g r a m l i n e s a r e n t e r e d , t h i n t e r p r e t e r a l s os e a r c h e s f o a n k e y w o r d s t h a t a r i m b e d d e d w i t h i n t h t e x t . K e y w o r d s a r t h s p e c i a l r e s e r v e d w o r d s s u c h a s I F G O T O , O P E N , R E M , S I N , e t c . W h e n i r e c o g n i z e d k e y w o r d , t h i n t e r p r e t e r r e p l a c e s t h k e y w o r d w i t h o n e - b y t e t o k e n . T h v a l u e o t h t o k e n i h e x a d e c i m a l n u m b e r b e t w e e n $ 8 a n $ F E . T h e r e f o r e a n c h a r a c t e r w i t h i t h i g h b i s e ( b i t 7 i t o k e n f o B A S I C k e y w o r d .A B A S I C p r o g r a m i e x e c u t e d , t h i n t e r p r e t e r c a e a s i l yf i n d t o k e n s w i t h i n t h t e x t s i n c e t h e i r h i g h b i i s e t .U s i n g t h t o k e n , i f i n d s t h a p p r o p r i a t e B A S I C r o u t i n e s i R O w h i c h h a n d l e t h p a r t i c u l a r f u n c t i o n o a c t i o n . T h ea d d r e s s e s o t h r o u t i n e s a r f o u n d i C h a p t e r 6 . 4 ; t h r o u t i n e s t h e m s e l v e s a r d e s c r i b e d i A p p e n d i x A I o r d e r t t a k e t h m o s t a d v a n t a g e o t h b u i l t i R O r o u t i n e s , y o u s h o u l d u n d e r s t a n d s o m e t h i n g a b o u t t h n u m b e rr e p r e s e n t a t i o n o t h i n t e r p r e t e r . B A S I C d i f f e r e n t i a t e sb e t w e e n t h r e e d a t a t y p e s : r e a l n u m b e r s , i n t e g e r n u m b e r s , a n s t r i n g s . R e a l n u m b e r s a r i r a n g e f r o m + / - 1 E - 3 9 t o + / 1 E 3 8 . I n t e g e r n u m b e r s c a o n l y t a k e w h o l e - n u m b e r v a l u e sf r o m - 3 2 7 6 8 t o 3 2 7 6 7 . S t r i n g s a r c h a r a c t e r s t r i n g s w i t hl e n g t h f r o m t 2 5 c h a r a c t e r s .V a r i a b l e s a r u s e d t s t o r e v a l u e s . E a c h v a r i a b l e o c c u p i e ss e v e n b y t e s o m e m o r y . H e r e w d i s c u s s o n l y s i m p l e v a r i a b l e s( n o n - a r r a y v a r i a b l e s ) .T h e f i r s t t w b y t e s o e a c h v a r i a b l e c o n t a i n t h v a r i a b l en a m e . T h n e x t f i v e b y t e s c o n t a i n t h v a l u e o t h v a r i a b l e .I t h v a r i a b l e r e p r e s e n t s f l o a t i n g p o i n t n u m b e r , t h f i r s t b y t e i t h e x p o n e n t a n t h n e x t b y t e s r e p r e s e n tt h m a n t i s s a . I t h v a r i a b l e r e p r e s e n t s a i n t e g e r n u m b e r ,o n l y t w b y t e s a r u s e d t h h i g h a n t h l o w b y t e o 1 6 b i b i n a r y n u m b e r . I t h v a r i a b l e r e p r e s e n t s s t r i n g , t h f i r s t b y t e c o n t a i n s t h l e n g t h o t h s t r i n g ( t 2 5 5 ) , a n

9

Page 107: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 107/304

t h n e x t t w b y t e s c o n t a i n t h a d d r e s s o t h s t r i n g s .T h B A S I C i n t e r p r e t e r d i f f e r e n t i a t e s t h t h d i f f e r e n tv a r i a b l e t y p e s b e n c o d i n g t h v a r i a b l e n a m e , o f l o a t i n gp o i n t v a r i a b l e s , t h v a r i a b l e n a m e i t h f i r s t t w c h a r a c t e r s o t h n a m e . F o i n t e g e r v a r i a b l e s , t h h i g ho r d e r b i ( b i t 7 o b o t h t h f i r s t a n s e c o n d c h a r a c t e r s o t h n a m e a r s e t . F o s t r i n g v a r i a b l e s , t h h i g h o r d e r b i o t h s e c o n d c h a r a c t e r i s e t .F o e x a m p l e :

V a r i a b l e n a m e A A B % A B $S t o r e d a ( h e x ) : 4 4 C C 4 C

T h v a r i a b l e t a b l e i t h p l a c e i m e m o r y w h e r e a l s i m p l ev a r i a b l e s a r s t o r e d . T h v a r i a b l e t a b l e s t a r t s i m m e d i a t e l yf o l l o w i n g t h B A S I C p r o g r a m . p o i n t e r l o c a t e d a S 2 D / 2 E( 4 5 / 4 6 i d e c i m a l ) i n d i c a t e s t h s t a r t o t h v a r i a b l et a b l e .

F o e x a m p l e , i y o m a k e t h f o l l o w i n g a s s i g n m e n t s , t h v a r i a b l e t a b l e l o o k s l i k e t h i s :

1 0 . 3B - 2 C " C o m m o d o r e 6 4

W i t h t h m o n i t o r y o u c a n n o l o o k a t h m e m o r y c o n t e n t :0 0 2 D 0 0 v a r i a b l e t a b l e s t a r t s a $ 0 8 0 30 8 0 3 4 0 8 2 C C C C C v a r . A f l o a t i n g p o i n t v a l u e 1 0 . 30 8 0 A C 8 F E 0 0 0 0 0 v a r . B % , i n t e g e r v a l u e - 2 0 8 1 0 4 8 0 F 9 0 0 v a r . C $ , l e n g t h 1 2 a d d r e s s $ 9 F F 4

6 . U s i n g V a r i a b l e s i y o u r P r o g r a mH o c a t h v a r i a b l e s o t e r m s b p a s s e d f r o m B A S I C t m a c h i n e l a n g u a g e p r o g r a m ? T h e r e i s c o n v e n i e n t r o u t i n e i t h B A S I C i n t e r p r e t e r t h a t l e t s y o u d t h i s . I e v a l u a t e sa n y t e r m i B A S I C e x p r e s s i o n .T h r o u t i n e c a l l e d F R M E V L ( f o r m u l a e v a l u a t i o n ) a n i l o c a t e d a $ A D 9 E . R o u t i n e F R M E V L e v a l u a t e s n u m e r i c a w e l la s t r i n g p a r a m e t e r s .W h e n F R M E V L i c a l l e d , i s e t s t h t y p e f l a g ( l o c a t e d a $ 0 E , d e c i m a l 1 4 ) . I t h t y p e f l a g i $ 0 t h e n t h e x p r e s s i o n t h a t w a e v a l u a t e d w a s n u m e r i c . I t h t y p e f l a gi $ F F , t h e n t h e x p r e s s i o n t h a t w a e v a l u a t e d w a s t r i n g .I t h e x p r e s s i o n i n u m e r i c , t h e n t h r e s u l t o t h e v a l u t i o n i s t o r e d i t h f l o a t i n g p o i n t a c c u m u l a t o r( F A C ) . T h F A i l o c a t e d a m e m o r y l o c a t i o n $ 6 1 - $ 6 5

9

Page 108: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 108/304

( d e c i m a l 9 7 - 1 0 1 ) . T h e r e i a l s o s e c o n d f l o a t i n g p o i n ta c c u m u l a t o r c a l l e d A R G , t h a t i u s e d f o f o a r i t h m e t i co p e r a t i o n s s u c h a a d d i t i o n s . A R i l o c a t e d i m e m o r y a $ 6 9 - $ 6 D ( d e c i m a l 1 0 5 - 1 0 9 ) . T h e r e s u l t a f t e r c a l l i n gr o u t i n e s s u c h a a d d i t i o n i a l w a y s f o u n d i F A C . A l s o w h e nc a l l i n g f u n c t i o n s , t h a r g u m e n t i t r a n s f e r r e d t F A C a n dt h r e s u l t p l a c e d t h e r e .I t h e x p r e s s i o n i s t r i n g , t h e n p o i n t e r a $ 6 4 - $ 6 5( d e c i m a l 1 0 0 - 1 0 1 ) t s t r i n g d e s c r i p t o r i s e t . T h s t r i n gd e s c r i p t o r c o n t a i n s t h l e n g t h a n t h a d d r e s s o t h e v a l u a t e d s t r i n g . B c a l l i n g t h r o u t i n e a $ B 4 7 5 y o u c a nt r a n s f e r t h s t r i n g l e n g t h i n t o t h a c c u m u l a t o r a n t h a d d r e s s i n t o t h X - ( l o w b y t e ) a n d i n t o t h e Y - ( h i g h b y t e )r e g i s t e r .Y o m i g h t w a n t t k e e p i m i n d t h a t a l a r i t h m e t i c t a k e sp l a c e u s i n g f l o a t i n g p o i n t n u m b e r s . I a n o p e r a n d s a r i n t e g e r n u m b e r s , t h e s e a r f i r s t c h a n g e d i n t o t h f l o a t i n gp o i n t f o r m a t , t h o p e r a t i o n s a r c a r r i e d o u i f l o a t i n gp o i n t f o r m a t , a n f i n a l l y t h r e s u l t s a r c o n v e r t e d b a c k t i n t e g e r f o r m a t .N o l e t ' s l o o k a s o m e u s e f u l r o u t i n e s o t h B A S I Ci n t e r p r e t e r t h a t e x e c u t e a r i t h m e t i c t a s k s .A D D R E S S F U N C T I O N$ B 8 5 3 m i n u s F A A R F A $ B 8 6 A p l u s F A A R F A S B A 2 8 m u l t i p l i c a t i o n F A A R F A $ B B 1 2 d i v i s i o n F A A R F A $ B F 7 B e x p o n e n t i a t i o n F A A R t o t h e p o w e r o F A T h a d d r e s s e s o f u r t h e r r o u t i n e s a w e l l a t h m e m o r y m a po z e r o - p a g e a n t h o p e r a t i n g s y s t e m a r f o u n d a t h e n o t h i s c h a p t e r .

6 . G E m o r e o u o y o u r B A S I C

6 . 3 . 1 H o t E x t e n d B A S I C ?L e t ' s s a y t h a t y o w a n t t t i m a c h i n e l a n g u a g e r o u t i n ei n t o B A S I C . F i r s t f i n d t h p a r t o t h i n t e r p r e t e r t h a te x a m i n e s B A S I C s t a t e m e n t a n t h e n e x e c u t e s i t H e r e i t h a t e x c e r p t f r o m t h P O l i s t i n g :A 7 E 1 6 0 0 J M ( $ 0 3 0 8 ) n o r m a l l y p o i n t s o $ A 7 E 4A 7 E 4 2 7 0 J S $ 0 0 7 3 g e t n e x t c h a r , f r o m B A S I C - t e x tA 7 E 7 2 A E J S $ A 7 E D e x e c u t e s s t a t e m e n tA 7 E A 4 A A J M $ A 7 A E b a c k t i n t e r p r e t e r l o o p

1 0

Page 109: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 109/304

W c a e a s i l y i n s e r t o u o w r o u t i n e b c h a n g i n g t h v e c t o rt h a t n o r m a l l y r e s i d e s a $ 3 0 8 / $ 3 0 9 . T h i s v e c t o r n o r m a l l yp o i n t s t $ A 7 E 4 , b u w e c a n c h n a g e i t p o i n t t o u o w m a c h i n e l a n g u a g e r o u t i n e .O n c o m m o n w a o e x t e n d i n g B A S I C i t p r e f i x t h n e c o m m a n d s w i t h s p e c i a l c h a r a c t e r , s u c h a a e x c l a m a t i o nm a r k . S w c a e x t e n d B A S I C w i t h o u o w v e r s i o n o P R I N T c o m m a n d l i k e t h i s :

1 0 i P R I N T

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

D E C O D E

F O U N D

J S C M B E J M J S J M

$ 0 0 7 3F O U N D$ A 7 E 7C O M M A N D$ A 7 A E

C H R G E T , n e x t c h a r a c t e ri s i t o u s p e c i a l c h a r a c t e r ?y e s - w e h a n d l e i n o - B A S I C h a n d l e s i e x e c u t e o u o w c o m m a n db a c k t i n t e r p r e t e r l o o p

T h p o i n t e r i $ 0 3 0 8 / $ 0 3 0 9 h a t b s e t p o i n t t t h a d d r e s s o D E C O D E i t h a b o v e e x a m p l e w h e n t h i n i t i a l i z i n gt h B A S I C e x t e n s i o n s . I y o w a n t t i m p l e m e n t s e v e r a lc o m m a n d s , y o c a b u i l d i r o u t i n e t d i f f e r e n t i a t e t h c o m m a n d w o r d s t h a t s e l e c t t h v a r i o u s n e w c o m m a n d s . I t h f o l l o w i n g s e c t i o n s , y o u w i l l f i n d s o m e s u g g e s t i o n s f o r t h ei m p l e m e n t a t i o n o y o u r o w r o u t i n e s .

6 . 3 . 2 H A R D C O P Y R E N E W - P R I N T U S I N G

E x a m p l e H a r d c o p y F u n c t i o n t 1 5 1 5 o r 1 5 2 5 E p r i n t e rT h i s h a r d c o p y c o m m a n d c o p i e s t h B A S I C t e x t s c r e e n c o n t e n tt p r i n t e r ( d e v i c e n u m b e r 4 a n d c a n b c a l l e d d i r e c t l yw i t h S Y 9 * 4 0 9 6 .

H A R D C O P Y F U N C T I O Nd e v i c e n u m b e r o p r i n t e rl o g i c a l f i l e n u m b e ra d d r e s s l o o s c r e e na d d r e s s h i g h o s c r e e nr e m e b e r a p o i n t e rn f i l e n a m es e c o n d a r y a d d r e s s z e r o

9 0 0 09 0 0 29 0 0 49 0 0 69 0 0 89 0 0 A9 0 0 C9 0 0 E9 0 1 09 0 1 2

A 8 A 8 A A 8 8 8 8

0 B 7 B 0 0 7 7 B B

L D S T L D S T L D L D S T S T S T S T

# F # 1 2 6L # # T E M PT E M P + 1F N L E NS

1 0

Page 110: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 110/304

9 0 1 4 2 9 0 1 7 A 69 0 1 9 2 9 0 1 C A 9 0 1 E A 9 0 2 0 2 9 0 2 3 2 9 0 2 6 F 9 0 2 8 A 9 0 2 A B 9 0 2 C 8 9 0 2 E 2 9 0 3 0 0 9 0 3 2 2 9 0 3 4 1 9 0 3 6 0 9 0 3 8 7 9 0 3 A 0 9 0 3 C 2 9 0 3 F C 9 0 4 0 C 9 0 4 2 D 9 0 4 4 9 9 0 4 5 1 9 0 4 6 6 9 0 4 8 8 9 0 4 A 9 9 0 4 C E 9 0 4 E C 9 0 4 F D 9 0 5 1 A 9 0 5 3 2 9 0 5 6 2 9 0 5 9 A 29 0 5 B 4

C O F FB C F 1 O L O O PD F E F 2 0 7 L O O P6 3 6 6 0 8 0 4 D 2 F F

2 E

7 7 0 7 C O D F C F E X I T7 C F

J S R O P E NL D L J S C K O U TL D # 2 L D # 1 J S B S O U TJ S R S T O PB E Q E X I TL D # L D ( T E M P ) ,S T S T O R EA N # $ 3 FA S S T O R EB I S T O R EB P * + O R # $ 8 0B V * + O R # $ 4 0J S B S O U TI N C P # 4 B N L O O PT Y C L A D T E M PS T T E M PB C * + I N T E M P + 1D E B N E L O O PL D # 1 J S B S O U TJ S C L R C HL D # 1 2 6J M P C L O S E

o p e n p r i n t e r f i l el o g i c a l f i l e n u m b e r o p r i n t e rp r i n t e r a o u t p u t d e v i c en u m b e r o s c r e e n l i n e sn e w l i n et p r i n t e ra s s t o p k e yp r e s s e d , t h e n

Y ; g e t c h a r a c t e r f r o m s c r e e n

s c r e e n c o d ec h a n g e t A S C I I c o d e

a n d s e n d t p r i n t e rl i n e f i n i s h e d ?

y e s , s e t p o i n t e ro n e x t l i n e

a l l i n e s p u t o u t y e t ?

n e l i n eo u t p u t b a c k o s c r e e nc l o s e p r i n t - d a t a a n d o n e

E x a m p l e R E - N E W

T h f o l l o w i n g p r o g r a m c a b v e r y u s e f u l i y o a c c i d e n t a l l yt y p e d N E W . T h p r o g r a m f i n d s t h e n o t h p r o g r a m a r s e t s t h B A S I C - p o i n t e r s b a c k o t h p r e v i o u s v a l u e . I w i l lw o r k o n l y i n n e p r o g r a m l i n e s h a v e b e e n e n t e r e d a n i n o n e v a r i a b l e s h a v e b e e n u s e d . T h e s t a r t a d d r e s s h e r e i 1 2 * 4 0 9 6 + 1 5 * 2 5 6 .

C F O O A 2 C F 0 2 A 4 2 CC F 0 4 8 2 C F 0 6 8 2

R E - N E W F U N C T I O NG E T S B A C K C L E A R E D P R O G R A M

L D A P R G S T R T B A S I C p r o g r a m - s t a r tL D P R G S T R T + S T A T E M P s a v e a p o i n t e rS T T E M P +

1 0

Page 111: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 111/304

C F 0 8 A C F O A C C F O B B C F O D D C F O F C C F 1 O 9 C F 1 1 1 C F 1 2 6 C F 1 4 A C F 1 6 9 C F 1 8 A C F 1 A 6 C F 1 C C C F 1 D 9 C F 1 F 8 C F 2 0 A C F 2 2 E C F 2 4C F 2 6C F 2 8 B C F 2 A D C F 2 C C C F 2 D D C F 2 F A C F 3 1 6 C F 3 3 8 C F 3 5 A C F 3 7 6 C F 3 9 8 C F 3 B 4

D E

0 Z E R O

2 F

2 0 2 2 0

2

0 A G A I N2 T D R E I O0 2 2 F

F 2 0 2 2 0 2 6 A

L D # I N L D ( T E M P ) , YB N Z E R OI N T Y C L A D T E M PL D # S T A ( P R G S T R T ) ,L D T E M P + 1A D # I N S T A ( P R G S T R T ) ,D E L D # I N T E M PB N E * + 4I N T E M P + 1L D ( T E M P ) , YB N A G A I ND E B N T D R E I OL D A T E M PA D # S T P R G E N DL D T E M P + 1A D # S T P R G E N D + 1J M P C L R

L o o k s f o e n o f i r s t l i n e( z e r o b y t e )

a d o f f s e tY s a v e a p o i n t e r

o n e x t l i n e

n o c o n t a i n s z e r o

p r o g r a m e n d e q u a ll o o k f o r t h r e e z e r o - b y t e s

s e p o i n t e r o p r o g r a m - e n d

C L a n r e a d y .

E x a m p l e P R I N T U S I N Gv e r y u s e f u l r o u t i n e i t h f o r m a t t e d o u t p u t o n u m b e r s ,

o f t e n c a l l e d P R I N T U S I N G . T h i s r o u t i n e w o r k s a f o l l o w s :( s e e a d d r e s s $ C 9 0 0 - $ C 9 0 C ) : f i r s t n u m e r i c t e r m i p l a c e di n t o t h f l o a t i n g p o i n t a c c u m u l a t o r ; t h e n i t i s c h a n g e d i n t oi t A S C I I s t r i n g r e p r e s e n t a t i o n ; n e x t t h f o r m a t t i n g i c a r r i e d o u u s i n g t h A S C I I s t r i n g ; a n f i n a l l y t h f o r m a t t e d s t r i n g i o u t p u t .T u s t h r o u t i n e , y o u u s e t h f o l l o w i n g c a l l :S Y ( A D ) , XH e r e A i t h s t a r t a d d r e s s o t h p r i n t u s i n g r o u t i n e a n

t h v a r i a b l e o n u m e r i c t e r m t b p r i n t e d . T h p a r a m e t e r sf o r t h e t e r m a r s e w i t h P O K E s :P O K E 5 1 6 1 2 , w h o l e n u m b e r , n u m b e r w i t h d e c i m a l - p o i n tP O K E 5 1 6 1 3 , 0 - 1 0 , c o m p l e t e l e n g t hP O K E 5 1 6 1 4 , n u m b e r o d i g i t s a f t e r t h d e c i m a l p o i n tP O K E 5 1 6 1 5 , A S C ( " " f i l l - c h a r a c t e r b e f o r e t h n u m b e r

1 0

Page 112: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 112/304

P O K E 5 1 5 4 9 , A S C ( " " l e a d i n g c h a r a c t e r b e f o r e t h n u m b e rT h d e f a u l t v a l u e s a r e : d e c i m a l n u m b e r , l e n g t h 1 ( 9 + 1 ) ,d e c i m a l d i g i t s , b l a n k c h a r a c t e r a l e a d i n g c h a r a c t e r a n f i l l e r .

S Y S ( 5 1 4 5 6 ) r 1 0 0 l e a d s t t h f o l l o w i n g p r i n t o u t :1 0 0 . 0 0

W i t h P O K E 5 1 6 1 3 , 3 P O K E 5 1 6 1 5 , A S C ( " * " ) P O K E 5 1 5 4 9 A S C ( " $ " )t h o u t p u t o t h e x a m p l e a b o v e l o o k s l i k e t h i s :

* * $ 1 0 0 . 0 0 0

C 9 0 0C 9 0 3C 9 0 5C 9 0 9C 9 0 CC 9 0 DC 9 0 FC 9 1 2C 9 1 4C 9 1 7C 9 1 9C 9 1 CC 9 1 EC 9 2 1C 9 2 3C 2 C 2 C 9 2 9C 9 2 BC 9 2 EC 9 2 FC 9 3 1C 9 3 3C 9 3 5C 9 3 8C 9 3 9C 3 C 9 3 EC 9 4 1C 9 4 4C 9 4 5C 9 4 6C 9 4 8C 9 4 BC 9 4 DC 9 5 0C 9 5 2

2 2

2 2 6 A 2 B A F A D A A 9 8 D A 2 A 9 A A 2 9 9 A 2 A E 8 D E B A A 9

8 B

O I

4 8 5 9 5 0 O 9 3 0

F 2 8

0 3 0 8

0 2 8 9

F 9 2 9 0 0

A B

C A

C

C

0

C

0

C

C

0

C C

C

C 0

L

L

L

L

U S I N G

P R I N T U S I N GJ S J S J S J S R T L D J S B C L D B E L D B N L D L D S T D E B N L D J S T A B C L D L D J S T Y S T L D J S L D I N D E B N C P B C L D L D S T

F R M N U MA S C I IU S I N GO U

# f C H E C KS E T P T RD E C I N TI N T E G E R$ 1 0 2L L E N G T H# ' $ 1 0 2 , YL

C H E C K

# ' # C H E C K$ 1 0 0 , X# ' C H E C KD E C L E N

L L E N G T HS E T P T RL E N G T H# $ 1 0 1 , Y

g e t n u m e r i c t e r mc h a n g e t A S C I Ib e g i n n i n g a $ 1 0 0

o u t n e w r o u t i n es t r i n g o u t p u tr e t u r n t c a l l e rc h e c k s o e x p . f o r m a t

f l a g f o d e c / i n t e g e r

c o m p l e t e l e n g t hf i l l b u f f e r w z e r o s

o d e c i m a l d i g i t s

1 0

Page 113: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 113/304

C 9 5 5C 9 5 8C 9 5 AC 9 5 CC 9 5 EC 9 6 1C 9 6 2C 9 6 4C 9 6 7C 9 6 8C 9 6 AC 9 6 BC 9 6 DC 9 6 FC 9 7 1C 9 7 2C 9 7 4C 9 7 7C 9 7 9C 9 7 AC 9 7 BC 9 7 EC 9 8 0C 9 8 2C 9 8 5C 9 8 7C 9 8 8C 9 8 9C 9 8 AC 9 8 BC 9 8 CC 9 8 EC 9 9 0C 9 9 3C 9 9 5C 9 9 6C 9 9 8C 9 9 AC 9 9 BC 9 9 CC 9 9 DC 9 9 EC 9 9 FC 9 A 0

B C D A 9 C 1 A 8 1 8 1 A A 6 A 2 9 8 A A F A 2 9 8 A 9 A C 1 A D F E E D 1 6 0 0 0 2

0 2 0 2 0

0 9 F

E 0 0

0 8 F

0 0 2 8 0

B 0 0 0

O F

0

0

C

C

0

C

0

L

L

L

S E T P T R

I N T E G E R

L

C H E C KL

L 1 D E C I N TL E N G T HD E C L E NF I L L E RL E A D I N G

L D C M B N L D S T D E B P L D D E B P D E B P L D L D R T L D J S B C T X T A L D B E L D J S B C T X T A T Y T A D E B P L D C M B E

N C P B N C L R T B Y B Y B Y B Y E Q

$ 1 0 0 f X# L # $ 1 0 0 , YL F I L L E RL

L # # # C H E C KS E T P T R

$ 1 0 2L # ' C H E C KL

L # $ 1 0 0 , XL 1

# 1 L

L 5 - 1

l e a d i n g c h a r , b l a n k

s e p o i n t e r o b u f f e r

; d e c i m a l; l e n g t h; o d e c i m a l d i g i t s

f i l l c h a r a c t e r; l e a d i n g c h a r a c t e r

6 . 3 . 3 S e l f - d e v e l o p e d m a t h e m a t i c a l r o u t i n e sI w e h a v e t h e n e e d f o m a t h e m a t i c a l r o u t i n e s , o n e s t h a t t h i n t e r p r e t e r d o e s n ' t o f f e r , q u i t e o f t e n i i w o r t h w h i l e t w r i t e s u b p r o g r a m i m a c h i n e l a n g u a g e y o u r s e l f . F o f u n c t i o n s w i t h o n a r g u m e n t , t h U S R f u n c t i o n w o u l d b b e s t .

1 0

Page 114: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 114/304

H o d o e s t h U S f u n c t i o n w o r k ? T h e U S R f u n c t i o n , j u s t l i k ea l o t h e r f u n c t i o n - c a l l s o t h i n t e r p r e t e r , c a n s e r v e l i k et h S I f u n c t i o n i t e r m s f o r t h e c a l c u l a t i o n o v a r i a b l e so i c a b i P R I N T s t a t e m e n t . W h e n c a l l i n g t h U S f u n c t i o n , y o u m u s t p l a c e t h s t a r t i n g a d d r e s s o t h r o u t i n ei m e m o r y l o c a t i o n s $ 3 1 1 - $ 3 1 2 ( d e c i m a l 7 8 5 - 7 8 6 ) . Y o u c a nP O K E t h e s e l o c a t i o n s w i t h t h a d d r e s s o y o u r r o u t i n e .W h e n c a l l i n g t h U S f u n c t i o n , t h v a l u e o t h a r g u m e n t ( i c a b a n c o m p l i c a t e d t e r m ) i p a s s e d i f l o a t i n g p o i n ta c c u m u l a t o r 1 N o t h f u n c t i o n c a b c a l c u l a t e d i y o u rm a c h i n e l a n g u a g e r o u t i n e . Y o p l a c e t h r e s u l t o t h f u n c t i o n b a c k i n t o t h F A i s s u e a R T i n s t r u c t i o n t t r a n s f e r c o n t r o l a n d t h e v a l u e b a c k t B A S I C .N o l e t ' s l o o k a s o m e e x a m p l e s o h o t w r i t e y o u r o w f u n c t i o n s .

6 . 3 . 4 S Q R , S U M , a n P R O D F u n c t i o n sF i r s t i r o u t i n e f o c a l c u l a t i n g s q u a r e r o o t . T h o u g ht h B A S I C i n t e r p r e t e r a l r e a d y p r o v i d e s s u c h r o u t i n e , t h i so n i f a s t e r a n m o r e p r e c i s e . A s t a r t i n g p o i n t , w t a k et h a r g u m e n t a n h a l v e t h e x p o n e n t w h i c h a l r e a d yc o n s t i t u t e s g o o d e s t i m a t i o n o t h s q u a r e r o o t v a l u e . T h a l g o r i t h m i x ( n + l ) ( x ( n ) + a / x ( n ) ) 2 w i t h ' a b e i n g t h a r g u m e n t a n ' x ( n ) ' a n » x ( n + l ) ' b e i n g t h o l d a n d n e e s t i m a t e - v a l u e . T h r o u g h e x p e r i m e n t i n g i b e c o m e s c l e a r t h a ta f t e r i t e r a t i o n s t h r e s u l t d o e s n ' t c h a n g e a n y m o r e .

; c h e c k s i g n s; v a l u e = 0 , r e a d y? p o s i t i v e , t h e n o ; n e g a t i v e , ' i l l e g a l q u a n t i t y '; t r a n s f e r F A t a c c u # 4

; n o r m a l i z e e x p o n e n t; h a l v e e x p o n e n t

; r e s t o r e e x p o n e n t; i t e r a t i o n s; F A C t a c c u # 3; p o i n t e r o a c c u # 4; d i v i d e b F A ; p o i n t e r o a c c u # 3

C 8 0 0C 8 0 3C 8 0 5C 8 0 7C 8 0 AC 8 0 DC 8 0 FC 8 1 0C 8 1 2C 8 1 3C 8 1 4C 9 1 5C 8 1 7C 8 1 8C 8 1 AC 8 1 CC 8 1 EC 8 2 0C 2 C 8 2 5C 2 C 8 2 9C 8 2 CC 8 2 E

2 F 1 4 2 A 3 E 0 4 1 6 2 9 6 8 A 8 2 A A 2 A A

2 3 0 4 C 6

8

0

0 7 6 0 6 C 5 0 O 5 0

B

B B

B

B

J S B E B P J M

O J S L D S E S B P H L S C L A D P L B C A D

S S T L D S T

I T E R J S L D L D J S L D L D

S I G NE N O I L F A C A 4E X

# $ 8 1

# S # $ 7 FE X # C O U N TF A C A 3# $ 5 C# $ 0 0D I # $ 5 7# $ 0 0

1 0

Page 115: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 115/304

C 8 3 0 2 6 B J S R P L U S ; a d d t F A C 8 3 3 C 6 D E E X ; F A C / 2 ( e x p o n e n t 1 C 8 3 5 C 6 6 7 D E C O U N T ; l o w e r c o u n t e rC 8 3 7 D E B N I T E R ; a n o t h e r i t e r a t i o nC 8 3 9 6 E N R T ; r e a d y

B e f o r e c a l l i n g t h i s U S f u n c t i o n w e h a v e t t e l l t h i n t e r p r e t e r f i r s t w h e r e o u U S f u n c t i o n s t a r t s . F o t h i s ft h l o w - b y t e o t h a d d r e s s i p o k e d t $ 3 1 1 ( d e c i m a l 7 8 5 )a n t h h i g h - b y t e i p o k e d t $ 3 1 2 ( 7 8 6 ) . F o o u f u n c t i o nt h i s w o u l d l o o k l i k e t h i s :P O K E 7 8 5 , 0 P O K E 7 8 6 , 1 2 * 1 6 + 8N o t c a l l t h r o u t i n e y o u c a n u s s t a t e m e n t s u c h a s P R I N T U S R ( A ) . i y o c o m p a r e t h e x e c u t i o n t i m e t h i s r o u t i n ew i t h b u i l t i t h S Q r o u t i n e o t h i n t e r p r e t e r , i t a k e sj u s t 1 m i l l i s e c o n d s w h i c h i a b o u t t i m e s a f a s t a S Q w h i c h t a k e a b o u t 5 m i l l i s e c o n d s .N o l e t ' s l o o k a l i t t l e m o r e c o m p l i c a t e d e x a m p l e . O f t e ny o u ' r e c o n f r o n t e d w i t h t h t a s k o a d d i n g u a r r a y s o n u m b e r s , f o e x a m p l e i y o h a v e t d e t e r m i n e t h m e a n o a n s t a t i s t i c a l c a l c u l a t i o n s . L e t ' s a s s u m e t h a t t h d a t a i a v a i l a b l e i a a r r a y ( d i m e n s i o n e d v a r i a b l e ) .1 D I A ( 1 0 0 )1 0 0 : R E M C A L C U L A T I O N O R E A D I O D A T A1 1 F O T O 1 0 0 0 A ( I ) N E X T1 2 P R I N TI w s u b s t i t u t e U S R f u n c t i o n f o B A S I C l i n e s 1 0 a n 1 1 0 .w g e t h s t a t e m e n t :

1 0 U S R ( A )

H e r e p a r a m e t e r s t a n d s f o r t h e a r r a y n a m e . A w e w i l l s e l a t e r o n t h p r o d u c t o t h a r r a y e l e m e n t s c a b c a l c u l a t e d b c h a n g i n g t w o m a c h i n e c o m m a n d s .0 3 3 C 2 8 A D J S R N U M T E S T ; v a r i a b l e n u m e r i c ?0 3 3 F A 6 2 F L D A R R T A B0 3 4 1 A 3 L D A R R T A B + 1 ; p t r t o a r r a y - l i s t .0 3 4 3 8 5 S S T T E M P0 3 4 5 8 5 6 0 S T T E M P + 1 ; r u n n i n g p o i n t e r0 3 4 7 C 3 C M A R R E N D + 10 3 4 9 D O 0 4 B N S 0 3 4 B E 4 3 1 C P A R R E N D ; e n d o a r r a y l i s t i n g ?0 3 4 D F I B E N O T F O U N D0 3 4 F A 0 0 S I L D # 0 3 5 1 B 5 L D ( T E M P ) , Y ; f i r s t l e t t e r o n a m e0 3 5 3 C I N 0 3 5 4 C 5 4 5 C M V A R N A M ; c o m p . w / s e a r c h e d n a m e0 3 5 6 D 0 B N S 2 ; n o , c h e c k n e x t a r r a y

1 0

Page 116: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 116/304

0 3 5 80 3 5 A0 3 5 C0 3 5 E0 3 5 F0 3 6 10 3 6 20 3 6 40 3 6 50 3 6 60 3 6 80 3 6 A0 3 6 C0 3 6 E0 3 7 00 3 7 20 3 7 50 3 7 60 3 7 80 3 7 90 3 7 B0 3 7 D0 3 7 E0 3 8 00 3 8 20 3 8 40 3 8 50 3 8 70 3 8 A0 3 8 C0 3 8 E0 3 9 00 3 9 20 3 9 50 3 9 60 3 9 80 3 9 B0 3 9 C0 3 9 E0 3 A 00 3 A 20 3 A 40 3 A 6

3 A 0 3 A E0 3 B 00 3 B 10 3 B 40 3 B 70 3 B 80 3 B A0 3 B C0 3 B E0 3 C 00 3 C 2

A D F C B 1 6 A C B 6 9 A 8 A 4 C B 1 6 8 C B 6 8 C B 2 8 8 2 3 2 1 9 2 1 A 6 8 9 E A C 9 6 2 2 1 A 6 8 9 E C

4 5 1

5

5

5 6 D E 2 0 4

5 5 2

5 6 2

5 9 5 6 O I A

0 6

5 0 5 0 6 6 2 E

D O 5 0 5 0 6 2

S

N O T F O U N D

A F O U N D

B

B

B 8 S 5

L O O P

S

R E A D Y0 I N T E G E RB S

S

L D C M B E I N L D C L A D T A I N L D A D B C L D S T L D J M I N L D C L A D P T I N L D A D S T I N L D J S S T S T B I B M J S C L B C J S C L L D A D S T B C I N L D C M B C R T J S J S C L L D A D S T B C I N C M

V A R N A M + 1( T E M P ) , YF O U N D

( T E M P ) , YT E M P ;

( T E M P ) f YT E M P + 1S # < T A B$ 2 # > T A BE R R O U T

( T E M P ) , YT E M PS T O R E

( T E M P ) f YT E M P + 1S T O R E + 1( T E M P ) , YS E T A R RT E M PT E M P + 1I N T F L GI N T E G E RM E M A C 1L O O PM E M P L U ST E M P# T E M PS T E M P + 1T E M P + 1S T O R ES

I N T A K KA 1 T O A 2T E M P

; s e c o n d l e t t e r; c o m p a r e? f o u n d

o f f s e t o n e x t a r r a y

; p t r . t e r r o r m e s s a g e

; o u t p u t o e r r o r m e s s a g e

; n u m b e r o e l e m e n t s; p t r . 1 s a r r a y e l e m .; p o i n t e r t t e m p? c h e c k i n t e g e r f l a g; e l e m e n t i F A ; j u m p i l o o p; v a r i a b l e p l u s F A

; p t r t n e x t e l e m e n t

; e n d o a r r a y ?; y e s f r e a d y; i n t e g e r v a r i a b l e t F ; F A C t A R

# ; p t r t n e x t a r r a y e l e m .T E M PS T E M P + 1S T O R E ; e n d o a r r a y r a n g e ?

1 0

Page 117: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 117/304

0 3 C 4 9 0 0 6 B C S 3 C A 6 L D T E M P + 1

0 3 C 8 C 2 C M P S T O R E + 10 3 C A B O E 4 B C R E A D Y0 3 C C 2 D 0 3 S 8 J S I N T A K K ; i n t e g e r v a t F A 0 3 C F 2 6 B J S A C P L U S ; F A C + A R G0 3 D 2 4 B 4 0 3 J M S 0 3 D 5 A 0 I N T A K K L D # 0 3 D 7 B l 5 F L D A ( T E M P ) r Y0 3 D 9 A T A 0 3 D A C I N 0 3 D B B 5 L D A ( T E M P ) , Y0 3 D D A T A 0 3 D E 8 T X 0 3 D F 4 9 B J M I N T F L O A T ; t f l o a t i n g c o m m a

3 E 4 5 5 T A A S f A R R A Y N O F O U N 10 3 E 5 4 5 2 4 5 2 0 4 6 5 0 5 5 4 0 3 F 0 C P Y f D ' + $ 8 0

T h p r o g r a m c a p r o c e s s a r r a y s w i t h r e a l n u m b e r s a w e l l a i n t e g e r a r r a y s . I a a r r a y c a n ' t b f o u n d , t h m e s s a g eA R R A Y N O T F O U N D i o u t p u t .S i n c e t h l o g i c f o c a l c u l a t i n g t h a r r a y e l e m e n t s i t h s a m e , y o c a o b t a i n p r o d u c t f u n c t i o n b s u b s t i t u t i n g t h c a l l s f o a d d i t i o n w i t h t h m u l t i p l i c a t i o n r o u t i n e . F o t h i s a $ 0 3 9 8 s u b s t i t u t e 2 2 B A a n d a t $ 0 3 C F s u b s t i t u t e 2 2 B A

I o r d e r t u s o u r o u t i n e , w h i c h i s i n t h t a p e b u f f e rt h i s t i m e , w h a v e t p o k e t h s t a r t a d d r e s s a g a i n :

P O K E 7 8 5 , 3 * 1 6 + 1 2 P O K E 7 8 6 , 3F o c o m p a r i s o n , c a l c u l a t e t h s u w i t h t h B A S I C l o o p o n c ea n t h e n w i t h o u r o u t i n e t h t i m e d i f f e r e n c e i i m m e n s e !

6 . 3 . 5 C h a n g i n g t D i f f e r e n t D a t a F o r m a t sI m o r e t h a n o n p a r a m e t e r i t b t r a n s f e r r e d , t h U S f u n c t i o n i n o s u i t a b l e a n y m o r e . H e r e a e x t e n d e d v a r i a n to t h S Y c o m m a n d i m o s t s u i t a b l e . N o r m a l l y t h S Y c o m m a n d o n l y c a r r i e s o u t h m a c h i n e p r o g r a m s t a r t i n g f r o mt h i s a d d r e s s a n t r a n s f e r s n f u r t h e r p a r a m e t e r s . T h e a b o v er o u t i n e F R M E V L e v a l u a t e s t h p a r a m e t e r f o l l o w i n g t h S Y S x x xa n t r a n s f e r s t h v a l u e t t h f l o a t i n g p o i n t a c c u m u l a t o r .I s e p a r a t e d b c o m m a o p a r e n t h e s i s , a n n u m b e r o p a r a m e t e r s c a b t r a n s f e r r e d . F o t h f o r m u l a e v a l u a t i o nr o u t i n e t h e r e a r s e v e r a l m o r e r o u t i n e a d d r e s s e s a n s u r o u t i n e s a v a i l a b l e w h i c h c h e c k , f o i n s t a n c e , f o c o m m a o e v a l u a t e p a r a m e t e r s i p a r e n t h e s i s . T h e t y p e o v a r i a b l eo n u m e r i c s t r i n g c a b c h e c k e d , t o o . F o n u m e r i c

1 0

Page 118: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 118/304

v a r i a b l e s , t h e r e i a a d d i t i o n a l r a n g e - c h e c k p o s s i b l e . T h m o s t i m p o r t a n t r o u t i n e s a r s u m m a r i z e d b e l o w . F o f u r t h e rd e t a i l s , p l e a s e c h e c k c h a p t e r 6 . f o t h R O l i s t i n g s .

A D D R E S S D E S C R I P T I O NA D 8 A e v a l u a t e a r g u m e n t a n c h e c k o n u m e r i cA D 8 D c h e c k o n u m e r i cA D 8 F c h e c k o s t r i n gA D 9 E a r g u m e n t e v a l u a t i o n , a n t e r mA E F 1 e v a l u a t e a r g u m e n t i p a r e n t h e s i sA E F 7 c h e c k s o p a r e n t h e s i s c l o s e dA E F A c h e c k s o p a r e n t h e s i s o p e nB 7 9 E c h e c k s o c o m m a0 0 7 3 g e t s n e x t c h a r a c t e r f r o m B A S I C t e x t

I u s i n g t h e s e r o u t i n e s , i v a l u e i o u o r a n g e a e r r o rm e s s a g e I L L E G A L Q U A N T I T Y i i s s u e d . I f v a r i a b l e t y p e d o e sn o c o i n c i d e w i t h t h i n t e n d e d t y p e a e r r o r m e s s a g e T Y P EM I S M A T C H i i s s u e d .Y o u c a n c o n v e r t t d i f f e r e n t f o r m a t s u s i n g t h f o l l o w i n gr o u t i n e s :A D D R E S S D E S C R I P T I O NB 1 B F c h a n g e s F A t i n t e g e rB 3 9 5 c h a n g e s 1 6 - b i t i n t e g e r - n u m b e r i A / t r u n n i n g - c o m m aB 3 A 2 c h a n g e s b y t e i n Y t o f l o a t i n g c o m m aB C 9 B c h a n g e s F A t 1 6 - b i t n u m b e rB C F 3 c h a n g e s d i g i t s t r i n g t f l o a t i n g - c o m m aB D D D c h a n g e s F A i d i g i t - s t r i n g

N o l e t ' s l o o k a t a n e x a m p l e o S Y r o u t i n e w i t h p a r a m e t e rp a s s i n g . S a y y o u w a n t t o u t p u t f r o m B A S I C t c e r t a i np o s i t i o n o n t h e s c r e e n . H e r e ' s a e a s i e r w a o d o i n g t h i sw i t h 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 .

T h c a l l h a s t h f o l l o w i n g s y n t a x :S Y P R c o l u m n , l i n e , p r i n t l i s t

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

c h e c k s c o m m ag e t s c o l u m n v a l u e t or e m e m b e r c o l u m n - n u m b e r

c o o oC 0 0 3C 0 0 6C 0 0 7

2 2 8 4

F 9

A B

J S J S T X P H

C K C O MG E T B Y T

1 1

Page 119: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 119/304

C 0 0 8 2 F A C 0 0 B 2 0 9 E B C O O E 6 C O O F A C 0 1 0 1 C 0 1 1 2 F F C 1 2 F D A EC 0 1 7 4 A A

J S C K C O M c h e c k s o c o m m aJ S R G E T B Y TP L T A C L J S R C U R S O RJ S C K C O MJ M P R I N T

g e t s l i n e v a l u ec o l u m n v a l u e t

s e t s c u r s o rc h e c k s o c o m m ac o n t i n u e w i t h P R I N T c o m m a n d

I y o a s s i g n s t a r t a d d r e s s $ C 0 0 0 o t h r o u t i n e t t h v a r i a b l e P R a t h b e g i n n i n g o t h p r o g r a m , y o c a o u t p u tt h t e x t " e x a m p l e " w i t h t h f o l l o w i n g c o m m a n d , s t a r t i n g w i t ht h e 2 4 t h c o l u m n i l i n e 2 0

1 P 1 2 * 4 0 9 61 0 S Y P R f 2 4 , 2 0 f " E X A M P L E "

6 . R o u t i n e s O f T h e B A S I C I n t e r p r e t e rT h B A S I C i n t e r p r e t e r o t h C o m m o d o r e 6 i a l m o s ti d e n t i c a l t V I C - 2 0 i n t e r p r e t e r . T h e m a j o r d i f f e r e n c e i i t h e i r p o s i t i o n s i m e m o r y . T h c o n v e r s i o n o f a n a d d r e s s f o t h C o m m o d o r e 6 i n t o t h c o r r e s p o n d i n g a d d r e s s f o r t h e V I C -2 h a p p e n s a f o l l o w s :A a d d r e s s e s f r o m $ A 0 0 0 t o $ B F F F y o s i m p l y a d d $ 2 0 0 0 , $ A 8 6 0b e c o m e s t h a d d r e s s $ C 8 6 0 i t h V I C - 2 0 . A t a d d r e s s e s f r o m$ E 0 0 0 t $ E 7 3 A , i s u b t r a c t e d f r o m t h C o m m o d o r e 6 a d d r e s s . $ E 3 0 E b e c o m e s a d d r e s s $ E 3 0 B a t h V I C - 2 0 .A p p e n d i x c o n t a i n s t h f u l l d i s a s s e m b l e d l i s t i n g o t h C o m m o d o r e 6 B A S I C a n k e r n a l r o u t i n e s .

A D D R E S S D E S C R I P T I O NA 0 0 0 s t a r t v e c t o rA 0 0 2 N M v e c t o rA 0 0 4 ' c b m b a s i c 1A 0 0 C a d d r e s s e s o t h B A S I C c o m m a n d s m i n u sA 0 5 2 a d d r e s s e s o f t h e B A S I C f u n c t i o n sA 0 8 0 h i e r a r c h y - c o d e s a n a d d r e s s e s o t h B A S I C o p e r a t o r sA 0 9 E l i s t o B A S I C c o m m a n d w o r d sA 1 9 E B A S I C e r r o r - m e s s a g e sA 3 6 4 m e s s a g e s o f t h e B A S I C i n t e r p r e t e rA 3 8 A s t a c k s e a r c h - r o u t i n e f o F O R - N E X T a n G O S U BA 3 B 8 b l o c k - s h i f t i n g r o u t i n eA 3 F B c h e c k s o s p a c e i s t a c kA 4 0 8 m a k e s s p a c e i m e m o r yA 4 3 5 o u t p u t o ' o u t o f m e m o r y 1A 4 3 7 o u t p u t o e r r o r m e s s a g eA 4 6 9 b r e a k v e c t o r

1 1

Page 120: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 120/304

A 4 7 4 r e a d y v e c t o rA 4 8 0 i n p u t w a i t i n g - l o o pA 4 9 C c l e a r a n i n s e r t i n g p r o g r a m l i n e sA 5 3 3 t i B A S I C p r o g r a m - l i n e s a n e wA 5 6 0 g e t s l i n e i n t o i n p u t - b u f f e rA 5 7 1 o u t p u t o ' s t r i n g t o l o n g 1A 5 7 9 c h a n g e o l i n e i n t o i n t e r p r e t e r - c o d eA 6 1 3 l o o k f o r s t a r t a d d r e s s o B A S I C l i n eA 6 4 2 B A S I C - c o m m a n d N E A 5 B A S I C - c o m m a n d C L RA 6 8 E s e p r o g r a m - p o i n t e r t B A S I C s t a r tA 6 9 C B A S I C - c o m m a n d L I S TA 7 1 7 c h a n g e i n t e r p r e t e r - c o d e t c o m m a n d w o r dA 7 4 2 B A S I C - c o m m a n d F O A 7 A E i n t e r p r e t e r l o o p , c a r r i e s o u B A S I C c o m m a n d sA 7 E D c a r r i e s o u B A S I C - c o m m a n dA 8 1 D B A S I C - c o m m a n d R E S T O R EA 8 2 C i n t e r r u p t s p r o g r a m a p r e s s e d s t o p - k e yA 8 2 F B A S I C - c o m m a n d S T O PA 8 3 1 B A S I C - c o m m a n d E N DA 8 5 7 B A S I C - c o m r a a n d C O N T I N U E DA 8 7 1 B A S I C - c o m m a n d R U A 8 8 3 B A S I C - c o m m a n d G O S U BA 8 A 0 B A S I C - c o m m a n d G O T OA 8 F 8 B A S I C - c o m m a n d R E T U R NA 8 F 8 B A S I C - c o m m a n d D A T AA 9 0 6 l o o k s f o n e x t s t a t e m e n tA 9 0 9 l o o k s f o r n e x t l i n eA 9 2 8 B A S I C - c o m m a n d I A 9 3 B B A S I C - c o m m a n d R E MA 9 4 B B A S I C - c o m m a n d O A 9 6 B l o o k s f o a d d r e s s o B A S I C l i n eA 9 A 5 B A S I C - c o m m a n d L E A A 8 0 B A S I C - c o m m a n d P R I N T #A A 8 6 B A S I C - c o m m a n d C M DA A A O B A S I C - c o m m a n d P R I N TA B I E o u t p u t s t r i n gA B 3 E o u t p u t e m p t y - c h a r a c t e r ( o c u r s o r r i g h t )A B 4 D e r r o r h a n d l i n g f o r I N P U TA B 7 B B A S I C - c o m m a n d G E TA B A 5 B A S I C - c o m m a n d I N P U T #A B B F B A S I C - c o m m a n d I N P U TA C 0 6 B A S I C - c o m m a n d R E A DA C F C ' ? e x t r a i g n o r e d 1 a n f ? r e d o f r o m s t a r t 1A D 1 D B A S I C - c o m m a n d N E X TA D 8 A F R M N U M g e t s t e r m a n c h e c k s o n u m e r i cA D 8 D c h e c k s o n u m e r i cA D 8 F c h e c k s o s t r i n gA D 9 9 o u t p u t o ' t y p e m i s m a t c h 'A D 9 E F R M E V L g e t s a n e v a l u a t e s a n t e r mA E 8 3 g e a r i t h m e t i c t e r mA E A 8 f l o a t i n g - p o i n t c o n s t a n t f o p A E D 4 B A S I C - c o m m a n d N O A E F 1 g e t s t e r m i p a r e n t h e s i sA E F 7 c h e c k s o ' p a r e n t h e s i s c l o s e d 1

1 1

Page 121: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 121/304

A E F A c h e c k s o ' p a r e n t h e s i s o p e n 1A E F D c h e c k s o ' c o m m a 1A E F F c h e c k s o c h a r a c t e r s i a c c u m u l a t o rA F 0 8 o u t p u t o f ' s y n t a x e r r o r 1A F 2 8 g e t s v a r i a b l eA F E 6 B A S I C - c o m m a n d O A F E 9 B A S I C - c o m m a n d A N DB 1 c o m p a r i s o n - o p e r a t i o n sB 0 8 1 B A S I C - c o m m a n d D I MB 1 1 3 c h e c k s f o l e t t e rB 1 9 4 c a l c u l a t e s p o i n t e r t f i r s t a r r a y - e l e m e n tB 1 A 5 f l o a t i n g - p o i n t c o n s t a n t - 3 2 7 6 8B 1 A A c h a n g e F A t i n t e g e rB 2 4 5 o u t p u t o ' b a d s u b s c r i p t 'B 2 4 8 o u t p u t o ' i l l e g a l q u a n t i t y 'B 3 4 C c a l c u l a t e s a r r a y - s i z eB 3 7 D B A S I C - f u n c t i o n F P B 3 9 E B A S I C - f u n c t i o n P O B 3 A 6 c h e c k o d i r e c t - m o d eB 3 A B o u t p u t o ' i l l e g a l d i r e c t 'B 3 A E o u t p u t o ' u n d e f ' d f u n c t i o n 'B 3 B 3 B A S I C - c o m m a n d D E B 3 E 1 c h e c k F N - s y n t a xB 3 F 4 B A S I C - f u n c t i o n F B 4 6 5 B A S I C - f u n c t i o n S T R $B 4 7 5 s t r i n g a d m i n i s t r a t i o n , c a l c u l a t e p o i n t e r o s t r i n gB 4 8 7 e s t a b l i s h s t r i n gB 5 2 6 g a r b a g e c o l l e c t i o n , r e m o v e u n u s e d s t r i n g sB 6 3 D s t r i n g c o n n e c t i o n ' + B 6 A 3 s t r i n g a d m i n i s t r a t i o n F R E S T RB 6 E C B A S I C - f u n c t i o n C H R $B 7 0 0 B A S I C - f u n c t i o n L E F T $B 7 2 C B A S I C - f u n c t i o n R I G H T SB 7 3 7 B A S I C - f u n c t i o n M I D $B 7 7 C B A S I C - f u n c t i o n L E B 7 8 2 g e t s t r i n g p a r a m e t e rB 7 8 B B A S I C - f u n c t i o n A S B 7 9 B g e t s b y t e - t e r m ( t o 2 5 5 )B 7 A D B A S I C - f u n c t i o n V A B 7 E B g e t s a d d r e s s ( t o 6 5 5 3 5 ) a n b y t e - v a l u e ( t 2 5 5 )B 7 F 7 c h a n g e F A t a d d r e s s - f o r m a t ( r a n g e t o 6 5 5 3 5 )B 8 0 D B A S I C - f u n c t i o n P E E KB 8 2 4 B A S I C - c o m m a n d P O K EB 8 2 D B A S I C - c o m m a n d W A I TB 8 4 9 F A F A + 0 . 5B 8 5 0 m i n u s F A c o n s t a n t ( A / Y ) F A B 8 5 3 m i n u s F A A R F A B 8 6 7 p l u s F A c o n s t a n t ( A / Y ) - F A B 8 6 A p l u s F A A R F A B 9 7 E o u t p u t ' o v e r f l o w 'B 9 B C f l o a t i n g p o i n t c o n s t a n t f o r L O GB 9 E A B A S I C - f u n c t i o n L O B A 2 8 m u l t i p l i c a t i o n F A c o n s t a n t ( A / Y ) F A B A 2 B m u l t i p l i c a t i o n F A A R F A B A 8 C A R c o n s t a n t ( A / Y )

1 1

Page 122: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 122/304

B A E 2 F A C F A 1 B A F 9 f l o a t i n g - p o i n t c o n s t a n t 1 B A F E F A F A C / 1 0B B O F F A c o n s t a n t ( A / Y ) / F A B B 1 2 F A A R G / F A CB B 8 A o u t p u t o ' d i v i s i o n b z e r o 1B B A 2 F A c o n s t a n t ( A / Y )B B C 4 a c c u # 4 F A B B C A a c c u # 3 F A B B D O v a r i a b l e F A B B F C F A A R B C O C A R G F A B C 1 B r o u n d F A CB C 2 B g e t s i g n s o F A B C 3 9 B A S I C - f u n c t i o n S G B C 5 8 B A S I C - f u n c t i o n A B B C 5 B c o m p a r e c o n s t a n t ( A / Y ) w i t h F A B C 9 B c h a n g e f r o m F A t i n t e g e rB C C C B A S I C - f u n c t i o n I N B C F 3 c h a n g e A S C I I t f l o a t i n g - p o i n tB D B 3 f l o a t i n g - p o i n t c o n s t a n t s f o f l o a t i n g - p o i n t t A S C :B D C 2 o u t p u t o l i n e - n u m b e r a e r r o r m e s s a g eB D C D o u t p u t o p o s i t i v e i n t e g e r - n u m b e r ( t 6 5 5 3 5 )B D D D c h a n g e F A t A S C I I - f o r m a tB F 1 1 f l o a t i n g - p o i n t c o n s t a n t 0 . B F 1 6 b i n a r y n u m b e r s f o c h a n g e o F A t A S C I IB F 7 1 B A S I C - f u n c t i o n S Q B F 7 8 F A C c o n s t a n t ( A / Y ) t o t h e p o w e r o F A B F 7 B F A A R t t h p o w e r o F A B F B F f l o a t i n g p o i n t c o n s t a n t f o E X B F E D B A S I C - f u n c t i o n E X E 0 4 3 s e r i e s p o l y n o m i a l c a l c u l a t i o nE 0 5 9 s e r i e s p o l y n o m i a l c a l c u l a t i o nE 0 8 D f l o a t i n g p o i n t c o n s t a n t f o R N E 0 9 7 B A S I C - f u n c t i o n R N E 1 0 7 o u t p u t o ' b r e a k 1E 1 0 C B S O U T o u t p u t o c h a r a c t e rE 1 1 2 B A S I N r e c e i v e c h a r a c t e rE 1 1 8 C K O U T e s t a b l i s h o u t p u t - d e v i c eE 1 1 E C H K I N e s t a b l i s h i n p u t - d e v i c eE 1 2 4 G E T I N g e t c h a r a c t e rE 1 2 A B A S I C - c o m a n d S Y E 1 5 6 B A S I C - c o r o m a n d S A V EE 1 6 5 B A S I C - c o m m a n d V E R I F YE l 6 8 B A S I C - c o m m a n d L O A DE 1 B E B A S I C - c o m m a n d O P E NE 1 C 7 B A S I C - c o m m a n d C L O S EE 1 D 4 g e p a r a m e t e r s f o L O A D a n S A V EE 2 1 9 g e p a r a m e t e r f o O P E NE 2 6 4 B A S I C - f u n c t i o n C O E 2 6 B B A S I C - f u n c t i o n S I E 2 B 4 B A S I C - f u n c t i o n T A E 2 E 0 f l o a t i n g - p o i n t c o n s t a n t s f o S I a n C O E 3 0 E B A S I C - f u n c t i o n A T NE 3 3 E f l o a t i n g - p o i n t c o n s t a n t s f o A T

1 1

Page 123: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 123/304

E 3 7 B B A S I C N M j u m p - i nE 3 9 4 B A S I C c o l d - s t a r tE 3 A 2 c o p y o f t h e C H R G E T - r o u t i n eE 3 B A s t a r t - v a l u e f o t h R N D - f u n c t i o nE 3 B F i n i t i a l i z e R A f o B A S I CE 4 4 7 t a b l e o B A S I C - v e c t o r sE 4 5 3 l o a d B A S I C - v e c t o r s

1 1

Page 124: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 124/304

Page 125: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 125/304

H e x a d d r e s6 9 - 6 D6 6 7 7 1 - 7 27 3 - 8 A7 A - 7 B8 B - 8 F9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 A 0 - A 2A A A A A 7 - A BA C - A DA E - A FB 0 - B 1B 2 - B 3B B B B B B B B B - B CB B B C C 1 - C 2C 3 - C 4C C C C C C

i D e c i m a l1 0 5 - 1 0 91 1 1 1 1 1 1 1 3 - 1 1 41 1 5 - 1 3 81 2 2 - 1 2 31 3 9 - 1 4 31 4 1 4 1 4 1 4 1 4 1 4 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 5 1 6 0 - 1 6 21 6 1 6 1 6 1 6 1 6 7 - 1 7 11 7 2 - 1 7 31 7 4 - 1 7 51 7 6 - 1 7 71 7 8 - 1 7 91 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 7 - 1 8 81 8 1 9 1 9 1 9 1 9 3 - 1 9 41 9 5 - 1 9 61 9 1 9 1 9 2 0 2 0 2 0

D e s c r i p t i o nf l o a t i n g - p o i n t a c c u m # 2 , A R Gs i g n o A R c o m p a r i s o n o s i g n s o f F A C a n A R r o u n d - o f f b y t e f o F A p o i n t e r f o c a s s e t t e b u f f e rC H R G E T g e t s c h a r , f r o m B A S I C t e x tp r o g r a m p o i n t e rl a s t R N D - v a l u es t a t u s w o r d S f l a g f o s t o p - k e yt i m e - c o n s t a n t f o r t a p ef l a g f o r L O A D $ 0 o V E R I F Y $ 0 f l a g a I E C - o u t p u to u t p u t - b u f f e r f o I E C - b u sr e c e i v e f l a g f o E O f r o m t a p ei n t e r m e d i a t e - m e m o r y f o r e g i s t e rn u m b e r o o p e n f i l e sa c t i v e i n p u t - d e v i c ea c t i v e o u t p u t - d e v i c ep a r i t y f o t a p er e c e i v e f l a g f o r b y t ef l a g d i r e c t - m o d e $ 8 0 , p r o g r a m $ 0 t a p e - p a s s c h e c k - s u mt a p e - p a s s e r r o r - c o r r e c t i o nt i m eb i t - c o u n t e r f o s e r i a l o u t p u tc o u n t e r f o t a p ew r i t e c o u n t e r f o t a p ep o i n t e r i t a p e b u f f e rw o r k - m e m o r y f o t a p e i n - / o u t p u tp t f o t a p e - b u f f e r a n s c r o l l i n gp t o p r o g r a m e n a L O A D / S A V Et i m e - c o n s t a n t s f o t a p e - t i m i n gp o i n t e r o t a p e - b u f f e rb i t - c o u n t e r f o t a p en e x t b i t f o r R S 2 3 b u f f e r f o b y t e t b o u t p u tl e n g t h o f i l e n a m el o g i c a l f i l e n u m b e rs e c o n d a r y a d d r e s sd e v i c e n u m b e rp o i n t e r t f i l e n a m ew o r k - m e m o r y s e r i a l I / p a s s c o u n t e r f o t a p eb u f f e r f o s e r i a l o u t p u tf l a g f o t a p e - d r i v es t a r t a d d r e s s f o r I / Oe n a d d r e s s f o I / k e p r e s s e d l a s tn u m b e r o p r e s s e d k e y sf l a g f o R V S - m o d el i n e e n d f o r i n p u tc u r s o r l i n e f o r i n p u tc u r s o r c o l u m n f o i n p u t

1 1

Page 126: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 126/304

H e x a d d r e s s D e c i m a l D e s c r i p t i o nC C C C C D D 1 - D 2D D D D D D D 9 - F 2F 3 - F 4F 5 - F 6F 7 - F 8F 9 - F A

2 0 2 0 2 0 2 0 2 0 2 0 2 0 9 - 2 1 02 1 2 1 2 1 2 1 2 1 2 1 2 1 7 - 2 4 22 4 3 - 2 4 42 4 5 - 2 4 62 4 7 - 2 4 82 4 9 - 2 5 0

0 0 F F - 0 1 0 A0 1 0 0 - 0 1 3 E0 1 0 0 - 0 1 F F0 2 0 0 - 0 2 5 80 2 5 9 - 0 2 6 20 2 6 3 - 0 2 6 C0 2 6 D - 0 2 7 60 2 7 7 - 0 2 8 00 2 8 1 - 0 2 8 20 2 8 3 - 0 2 8 40 2 8 50 2 8 60 2 8 70 2 8 80 2 8 90 2 8 A0 2 8 B0 2 8 C0 2 8 D0 2 8 E0 2 8 F - 0 2 9 00 2 9 10 2 9 20 2 9 30 2 9 40 2 9 5 - 0 2 9 60 2 9 70 2 9 80 2 9 9 - 0 2 9 A0 2 9 B0 2 9 C0 2 9 D

2 5 5 - 2 6 62 5 6 - 3 1 82 5 6 - 5 1 15 1 2 - 6 0 06 0 1 - 6 1 06 1 1 - 6 2 06 2 1 - 6 3 06 3 1 - 6 4 06 4 1 - 6 4 26 4 3 - 6 4 46 4 6 4 6 4 6 4 6 4 6 5 6 5 6 5 6 5 6 5 6 5 5 - 6 5 66 5 6 5 6 5 6 6 6 6 1 - 6 6 26 6 6 6 6 6 5 - 6 6 66 6 6 6 6 6

p r e s s e d k e y , n o k e 6 f l a g f o b l i n k i n g c u r s o rc o u n t e r f o c u r s o r - b l i n k i n gc h a r a c t e r u n d e r t h c u r s o rf l a g f o r c u r s o r - b l i n k i n gf l a g f o i n p u t o k e y b o a r d o s c r e e np t t s t a r t o a c t u a l s c r e e n l i n ec u r s o r c o l u m nf l a g f o c u r s o rl e n g t h o s c r e e n l i n ec u r s o r l i n ev a r i o u s p u r p o s e sn u m b e r o i n s e r t sM S o s c r e e n - l i n e b e g i n n i n g sp o i n t e r t c o l o r - R A Mp o i n t e r t k e y b o a r d d e c o d i n g t a b l ep o i n t e r t R S - 2 3 2 i n p u t b u f f e rp o i n t e r t R S - 2 3 2 o u t p u t b u f f e r

b u f f e r f l o a t i n g p o i n t t A S C I Im e m o r y f o c o r r e c t i o n a t a p e - i n p u tp r o c e s s o r s t a c kB A S I C i n p u t - b u f f e rt a b l e o l o g i c a l f i l e - n u m b e r st a b l e o d e v i c e - n u m b e r st a b l e o s e c o n d a r y a d d r e s sk e y - b o a r d b u f f e rs t a r t o B A S I C - R A Me n o B A S I C - R A Mt i m e - o u t f l a g f o s e r i a l I E C - b u sp r e s e n t c o l o rc o l o r u n d e r c u r s o rh i g h - b y t e v i d e o - R A Ml e n g t h o k e y - b o a r d b u f f e rf l a g f o ' r e p e a t f u n c t i o n 1 f o r a l l k e y sc o u n t e r f o r e p e a t - s p e e dc o u n t e r f o r e p e a t - d e l a yf l a g f o s h i f t a n C T R Ls h i f t f l a gp o i n t e r f o k e y - b o a r d d e c o d i n gf l a g f o s h i f t / C o m m o d o r e b l o c k e df l a g f o s c r o l l i n gR S - 2 3 2 c o n t r o l - w o r dR S - 2 3 2 c o m m a n d - w o r db i t - t i m i n gR S - 2 3 2 s t a t u sn u m b e r o d a t a b i t s f o R S - 2 3 2R S - 2 3 2 b a u d - r a t ep o i n t e r t r e c e i v e d b y t e R S - 2 3 2p o i n t e r t i n p u t o R S - 2 3 2p o i n t e r t b y t e R S - 2 3 2 t b t r a n s f e r r e d

1 1

Page 127: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 127/304

H e x a d d r e s s0 2 9 E0 2 9 F - 0 2 A 0

2 A 0 2 A 2

2 A 0 2 A 40 2 A 50 2 C 0 - 0 2 F E0 3 0 0 - 0 3 0 10 3 0 2 - 0 3 0 30 3 0 4 - 0 3 0 50 3 0 6 - 0 3 0 70 3 0 8 - 0 3 0 90 3 0 A - 0 3 0 B0 3 0 C0 3 0 D0 3 0 E0 3 1 00 3 1 1 - 0 3 1 20 3 1 4 - 0 3 1 50 3 1 6 - 0 3 1 70 3 1 8 - 0 3 1 90 3 1 A - 0 3 1 B0 3 1 C - 0 3 1 D0 3 1 E - 0 3 1 F0 3 2 0 - 0 3 2 10 3 2 2 - 0 3 2 30 3 2 4 - 0 3 2 50 3 2 6 - 0 3 2 70 3 2 8 - 0 3 2 90 3 2 A - 0 3 2 B0 3 2 C - 0 3 2 D0 3 2 E - 0 3 2 F0 3 3 0 - 0 3 3 10 3 3 2 - 0 3 3 30 3 3 C - 0 3 F B0 3 4 0 - 0 3 7 E0 3 8 0 - 0 3 B E0 3 C 0 - 0 3 F E

D e c i m a l6 7 6 7 1 - 6 7 26 7 6 7 6 7 6 7 6 7 7 0 4 - 7 6 67 6 8 - 7 6 97 7 0 - 7 7 17 7 2 - 7 7 37 7 4 - 7 7 57 7 6 - 7 7 77 7 8 - 7 7 97 8 7 8 7 8 7 8 7 8 5 - 7 8 67 8 8 - 7 8 97 9 0 - 7 9 17 9 2 - 7 9 37 9 4 - 7 9 57 9 6 - 7 9 77 9 8 - 7 9 98 0 0 - 8 0 18 0 2 - 8 0 38 0 4 - 8 0 58 0 6 - 8 0 78 0 8 - 8 0 98 1 0 - 8 1 18 1 2 - 8 1 38 1 4 - 8 1 58 1 6 - 8 1 78 1 8 - 8 1 98 2 8 - 1 0 1 98 3 2 - 8 9 48 9 6 - 9 5 89 6 0 - 1 0 2 2

D e s c r i p t i o np o i n t e r t o u t p u t o R S - 2 3 2m e m o r y f o I P d u r i n g t a p e - o p e r a t i o nC I N M f l a gC I t i m e rC I i n t e r r u p t f l a gC I f l a g f o t i m e rs c r e e n l i n es p r i t e 1 v e c t o r f o e r r o r m e s s a g ev e c t o r f o B A S I C w a r m - s t a r tv e c t o r f o c h a n g e t i n t e r p r e t e r - c o d ev e c t o r f o c h a n g e t c l e a r t e x t ( L I S T )g e v e c t o r f o B A S I C - c o m m a n d a d d r e s se v a l u a t e v e c t o r f o t e r ma c c u f o r S Y S - c o m m a n dX - r e g f o S Y S - c o m m a n dY - r e g f o S Y S - c o m m a n d$ 4 J M P - c o m m a n d f o U S R - f u n c t i o n$ B 2 4 8 U S P - v e c t o r$ E A 3 1 I R Q - v e c t o r$ F E 6 6 B R K - v e c t o r$ F E 4 7 N M I - v e c t o r$ F 3 4 A O P E N - v e c t o r$ F 2 9 1 C L O S E - v e c t o r$ F 2 0 E C H K I N - v e c t o r$ F 2 5 0 C K O U T - v e c t o r$ F 3 3 3 C L R C H - v e c t o r$ F 1 5 7 I N P U T - v e c t o r$ F 1 C A O U T P U T - v e c t o r$ F 6 E D S T O P - v e c t o r$ F 1 3 E G E T - v e c t o r$ F 3 2 F C L A L L - v e c t o r$ F E 6 6 w a r m - s t a r t v e c t o r$ F 4 A 5 L O A D - v e c t o r$ F 5 E D S A V E - v e c t o rt a p e b u f f e rs p r i t e 1 s p r i t e 1 s p r i t e 1

1 1

Page 128: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 128/304

C H A P T E R 7 C O M M O D O R E 6 V I 2

7 . C o m p a r i s o n t a b l e o t h R O a d d r e s s e sC 6 V I C D e s c r i p t i o n

m e s s a g e s o t h o p e r a t i n g s y s t e mw a i t s f o C o m m o d o r e k e c o n s t a n t s f o R S - 2 3 2 t i m i n gg e t s B A S I C - a d d r e s s o f t h e C I o t h V I g e t s s c r e e n f o r m a t l i n e / c o l u m ns e c u r s o r o g e c u r s o r p o s i t i o ns c r e e n r e s e tc l e a r s c r e e nc u r s o r h o m ei n i t i a l i z e v i d e o - c o n t r o l l e rg e c h a r a c t e r f r o m k e y b o a r d b u f f e rw a i t i n g - l o o p f o k e y b o a r d i n p u tg e c h a r a c t e r f r o m t h s c r e e nc h e c k s f o q u o t ec a l c u l a t e M S f o r l i n e s t a r t st a b l e o c o l o r - c o d e ss c r o l l s c r e e ns h i f t l i n e u pc l e a r s c r e e n - l i n es e c h a r a c t e r a n c o l o r o s c r e e nc a l c u l a t e p o i n t e r o c o l o r - R A Mi n t e r r u p t r o u t i n ek e y b o a r d p r o m p tc h e c k i n g o n s h i f t , C T R L a n C o m m o d o r e k e p o i n t e r o k e y b o a r d d e c o d i n g t a b l e sd e c o d i n g - t a b l e sc h e c k i n g o c o n t r o l - c h a r a c t e rd e c o d i n g - t a b l e sc o n s t a n t s f o v i d e o - c o n t r o l l e r• l o a d ( c r ) r u ( c r ) 'L S B - t a b l e s o s c r e e n s t a r t ss e n d T A L Ks e n d L I S T E No u t p u t o b y t e o I E C - b u ss e n d s e c o n d a r y a d d r e s s f o L I S T E Ns e n d s e c o n d a r y a d d r e s s f o T A L Ks e n d U N T A L Ks e n d U N L I S T E Ng e b y t e f r o m t h I E C - b u so n m i l l i s e c o n d d e l a yo u t p u t R S - 2 3 2c a l c u l a t e n u m b e r o R S - 2 3 2 d a t a - b i t so u t p u t i R S - 2 3 2 b u f f e rG E o R S - 2 3 2s e t i m e r f o r I E t i m e - o u te r r o r m e s s a g e s o t h o p e r a t i n g s y s t e mp u o u m e s s a g e s

E 4 5 FE 4 E 0E 4 E CE 5 0 0E 5 0 5E 5 0 AE 5 1 8E 5 4 4E 5 6 6E 5 A 0E 5 B 4E 5 C AE 6 3 2E 6 8 4E 6 B 6E 8 D AE 8 E AE 9 C 8E 9 F FE A 1 CE A 2 4E A 3 1E A 8 7E B 4 8E B 7 9E B 8 1E C 4 4E C 7 8E C B 9E C E 7E C F OE D 0 9E D O CE D 4 0E D B 9E D C 7E D E FE D F EE E 1 3E E B 3E E B BE F 4 AF 0 1 4F 0 8 6F 0 A 4F O B DF 1 2 B

E 4 2 9

E 5 0 0E 5 0 5E 5 0 AE 5 1 8E 5 5 FE 5 8 1E 5 B BE 5 C FE 5 E 5E 6 4 FE 6 B 8E 6 E AE 9 2 1E 9 7 5E A 5 6E A 8 DE A A 1E A B 2E A B FE B 1 EE B D CE C 4 6E C 5 EE D 2 1E D 6 9E D E 4E D F 3E D F EE E 1 4E E 1 7E E E 4E E C OE E C EE E F 6E F 0 4E F 1 9E F 9 6E F A 3F 0 2 7F O E DF 1 4 FF 1 6 0F 1 7 4F 1 E 0

1 2

Page 129: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 129/304

C 6 V I D e s c r i p t i o nF 1 5 7 F 2 0 E B A S I N g e c h a r a c t e rF 1 C A F 2 7 A B S O U T p u t o u t c h a r a c t e rF 2 0 E F 2 C 7 C H K I N f i x i n g o t h i n p u t - d e v i c eF 2 5 0 F 3 0 9 C K O U T f i x i n g o f t h e o u t p u t - d e v i c eF 2 9 1 F 3 4 A C L O S EF 3 0 F F 3 C F l o o k f o l o g i c a l f i l e n u m b e rF 3 1 F F 3 D F s e t f i l e p a r a m e t e rF 3 2 F F 3 E F C L A L L c l o s e s a l I / O - c h a n n e l sF 3 4 A F 4 0 A O P E NF 4 9 E F 5 4 2 L O A DF 5 A F F 6 4 7 o u t p u t ' s e a r c h i n g f o f i l e n a m e 1F 5 D 2 F 6 6 A o u t p u t ' l o a d i n g / v e r i f y i n g 1F 5 D D F 6 7 5 S A V EF 6 8 F F 7 2 8 o u t p u t ' s a v i n g f i l e n a m e 'F 6 9 B F 7 3 4 U D T I M i n c r e a s e r u n n i n g t i m eF 6 D D F 7 6 0 g e t i m eF 6 E 4 F 7 6 7 s e t i m eF 6 E D F 7 7 0 a s k s t o p - k e yF 6 F B F 7 7 E p u o u e r r o r m e s s a g e s o t h o p e r a t i n g s y s t e mF 7 2 C F 7 A F r e a d p r o g r a m h e a d e r o t a p eF 7 6 A F 7 E 7 w r i t e h e a d e r o t a p eF 7 D 0 F 8 4 D g e t s t a r t a d d r e s s o t h t a p e b u f f e rF 7 D 7 F 8 5 4 s e t s t a r t a n d e n d a d d r e s s o t h t a p e b u f f e rF 7 E A F 8 6 7 t a p e - h e a d e r l o o k f o n a m eF 8 0 D F 8 8 A i n c r e a s e t a p e - b u f f e r p o i n t e rF 8 1 7 F 8 9 4 w a i t s f o t a p e - k e y f o r e a d i n gF 8 2 E F 8 A B a s k s t a p e - k e yF 8 3 8 F 8 B 7 w a i t s f o t a p e - k e y f o w r i t i n gF 8 4 1 F 8 C 0 r e a d b l o c k o t a p eF 8 4 A F 8 C 9 l o a d p r o g r a m o t a p eF 8 6 4 F 8 E A w r i t e t a p e b u f f e r o t a p eF 8 6 B F 8 E A w r i t e b l o c k o p r o g r a m o t a p eF 8 B E F 9 2 F w a i t f o I / O - e n dF 8 E 1 F 9 4 B c h e c k s o s t o p k e yF 9 2 C F 9 8 E r e a d i n t e r r u p t r o u t i n e f o t a p eF B 9 7 F 8 D B s e b i t - c o u n t e r f o s e r i a l o u t p u tF B A 6 F B E A w r i t e o n e b i t o t a p eF B C D F C O B w r i t e i n t e r r u p t r o u t i n e f o r t a p eF C B 8 F C F 6 s e t I R Q - v e c t o rF C C A F D 0 8 s w i t c h o f f t a p e d r i v eF C D 1 F D 1 1 c h e c k s o r e a c h i n g o e n a d d r e s sF C D B F D l B i n c r e a s e a d d r e s s p o i n t e rF C E 2 F D 2 2 R E S E TF D 0 2 F D 3 F c h e c k s o R O i $ 8 0 0 0 o r $ A 0 0 0F D 1 0 F D 4 D R O M - m o d u l e i d e n t i f i c a t i o nF D 1 5 F D 5 2 s e o g e h a r d w a r e a n I / O - v e c t o r sF D 3 0 F D 6 D t a b l e o h a r d w a r e a n I / O - v e c t o r sF D 5 0 F D 8 D i n i t i a l i z e w o r k - m e m o r yF D 9 B F D 6 D t a b l e o I R Q - v e c t o r sF D F 9 F E 4 9 s e t p a r a m e t e r f o f i l e n a m e sF E 0 0 F E 5 0 s e p a r a m e t e r f o a c t i v e f i l eF E 0 7 F E 5 7 g e t s t a t u sF E 1 8 F E 6 6 s e t f l a g f o m e s s a g e s o t h o p e r a t i n g s y s t e m

1 2

Page 130: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 130/304

C 6 F E 1 CF E 2 1F E 2 5F E 3 4F E 4 3F E C 2F F 4 8F F 8 1

V I F E 6 AF E F 6F E 7 3F E 8 2F E A 9F F 5 CF F 7 2F F 8 A

D e s c r i p t i o ns e s t a t u ss e t i m e o u t - f l a g f o I E C - b u ss e o g e R A M - u p p e r l i m i ts e o g e R A M - l o w e r l i m i tN M I - r o u t i n ec o n s t a n t s f o R 2 b a u d r a t ei n t e r r u p t h a n d l e rj u m p t a b l e o t h o p e r a t i n g - s y s t e m r o u t i n e s

7 . 2 . C h a n g i n g V I C - 2 0 p r o g r a m s t o t h e C o m m o d o r e 6 A l t h o u g h o u t w a r d l y , t h C o m m o d o r e 6 l o o k s s i m i l a r t t h V I C - 2 0 , t h ' 6 c o n t a i n s m u c h m o r e t h a n i t s m a l l e r b r o t h e r .T h w i t h h i g h - r e s o l u t i o n c o l o r g r a p h i c s , s p r i t e s a n f a b u l o u s s o u n d s y n t h e s i z e r a l t h i s m a k e s t h C o m m o d o r e 6 d i f f e r e n t f r o m t h V I C - 2 0 . N e v e r t h e l e s s , w d o n ' t w a n t t d w i t h o u t V I C - 2 0 ' s s o f t w a r e . U n f o r t u n a t e l y i i n e p o s s i b l e t i n t e r c h a n g e t h p l u g i c a r t r i d g e s . B u t h e r ea r e n o u g h p r o g r a m l i s t i n g s f o y o t t r a n s f e r o n t o t h C o m m o d o r e 6 4

O n h a t d i f f e r e n t i a t e b e t w e e n t w o k i n d s o p r o g r a m s :1 T h m a c h i n e l a n g u a g e p r o g r a m sW i t h t h i s p r o g r a m t h a d a p t i o n i n o r e a l l y d i f f i c u l t b u y e m o r e c o m p l i c a t e d t h a n w i t h B A S I C p r o g r a m s . I o r d e r t b a b l e t a d a p t t h e s e p r o g r a m s , y o u h a v e t r e f e r t o t h ec o m p a r i s o n t a b l e i c h a p t e r 7 . 1 . F o e x a m p l e , i y o c o m et j u m p - a d d r e s s t h a t p o i n t s t a a d d r e s s i R O M , y o u h a v et f i n d t f i n d t h i s a d d r e s s i t h c o m p a r i s o n t a b l e o t h C o m m o d o r e 6 a n c h a n g e i w i t h t h a d d r e s s o t h V I C - 2 0 i t h p r o g r a m . G e n e r a l l y i c a b s a i d t h a t y o c a c a l c u l a t e t h d i f f e r e n c e b e t w e e n t h s i n g l e a d d r e s s e sy o u r s e l f . F o i n s t a n c e , t h s t a r t - a d d r e s s o t h B A S I C - G E Tr o u t i n e a t h V I C - 2 0 i $ C B 7 B . A t t h C o m m o d o r e 6 i i e x a c t l y $ 2 0 0 0 l o w e r $ A B 7 B . S t a r t i n g a t $ E 0 0 0 , t h v a l u eh a t o b e s u b t r a c t e d f r o m t h C o m m o d o r e 6 a d d r e s s i o r d e rt g e t h V I C - 2 0 a d d r e s s .2 T h B A S I C p r o g r a m sW i t h t h B A S I C p r o g r a m s , t h a d a p t i o n i n o t h a tc o m p l i c a t e d . T h f i r s t t h i n g t m e n t i o n , o c o u r s e , i t h d i f f e r e n t s c r e e n f o r m a t . H e r e y o u h a v e t o b s e r v e t h a t y o e i t h e r h a v e t r e w r i t e t h s c r e e n - f o r m a t o t h V I C - 2 0p r o g r a m c o m p l e t e l y o u s r e t u r n a f t e r 2 c h a r a c t e r s s t h a t t h o t h e r c h a r a c t e r s d o n ' t s l i p i n t o t h s a m e l i n e .T h o n l y t h i n g s t h a t c o n s t i t u t e p r o b l e m a r e t h e P O K Ec o m m a n d s . H e r e , t o o , y o h a v e t d i f f e r e n t i a t e b e t w e e n t w k i n d s :

1 2

Page 131: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 131/304

1 P O K E - c o m m a n d s i n t o t h e s c r e e n m e m o r yH e r e y o h a v e t c h a n g e a l t h a d d r e s s e s . P l e a s ec o m p a r e t h t a b l e s o t h c h a r a c t e r - g e n e r a t o r a n t h s c r e e n - p a g e .

2 P O K E - c o m m a n d s i n t o t h o p e r a t i n g s y s t e mT h s a m e p r o c e d u r e t h a t a p p l i e s t t h c h a n g i n g o t h m a c h i n e p r o g r a m s i u s e d .

7 . C h a n g i n g C B M / P E T p r o g r a m s t o t h e C o m m o d o r e 6 M a n y p e o p l e h a v e n ' t e v e n n o t i c e d y e t h a t t h e r e i m u c hs i m i l a r i t y b e t w e e n t h C o m m o d o r e 6 a n i t b i " c o l l e a g u e s " . I i e n t i r e l y p o s s i b l e t m a k e u s o p r o g r a m s o t h l e g e n d a r y P E T . T h s c r e e n f o r m a t s a r e t h es a m e 2 l i n e s o f 4 0 c h a r a c t e r s e a c h . A l C o m m o d o r e s o t h i s c a t e g o r y ( B A S I C a n B A S I C 3 h a v e o n e a d v a n t a g e :t h e i r b u i l t i B A S I C i n t e r p r e t e r i f u l l y c o m p a t i b l e . T h a tm e a n s t h a t y o d o n ' t h a v e t m a k e a n c h a n g e s i t h B A S I C -p r o g r a m s , u n l e s s t h e y a r P O K E c o m m a n d s .F o P O K E s y o h a v e t k n o w t h c o r r e s p o n d i n g a d d r e s s e s o P E m e m o r y a r d i f f e r e n t f r o m t h o n e s o t h C o m m o d o r e 6 4 T h e r e i g r e a t a m o u n t o l i t e r a t u r e a v a i l a b l e f o r t h eP E T / C B M d e v i c e s . Y o w i l l f i n d t h e a p p r o p i a t e b o o k s i o u b i b l i o g r a p h y .I g e n e r a l o n e c a n s a y : B A S I C a n m a c h i n e l a n g u a g e a r n o d i f f e r e n t f o t h e s e t w d e v i c e s . T h 6 5 1 0 i f u l l yc o m p a t i b l e w i t h t h 6 5 0 2 . T h u s t h o n l y c h a n g e s r e f e r t t h v e c t o r a d d r e s s e s t t h d i f f e r e n t r o u t i n e s i t h o p e r a t i n g s y s t e m o t h d i f f e r e n t a d d r e s s e s o t h s c r e e nm e m o r y a n t h v e c t o r s o t h z e r o - p a g e .I y o o b s e r v e a l t h i s , y o c a n u s e a l l t h e p r o g r a m s o t h P E T / C B M o V I C - 2 0 d e v i c e s o y o u r C o m m o d o r e 6 4 A l i t a k e s i l i t t l e p r a c t i c e . A n r e m e m b e r : b e x t e n d i n gt h e s e p r o g r a m s y o c a e v e n t a k e a d v a n t a g e o t h g r a p h i c s ,t o n e , a n c o l o r o t h C o m m o d o r e 6 4 W h i c h P E c a o f f e ry o u t h a t ? B e s i d e s , y o u h a v e 6 4 w o r k - m e m o r y a v a i l a b l e e t h C o m m o d o r e 6 e n o u g h t m a k e t h c h a n g e d p r o g r a m s e v e nb e t t e r !H a v e f u w i t h a d a p t i n g y o u r s o f t w a r e !

1 2

Page 132: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 132/304

C H A P T E R 8 I N P U T - / O U T P U T C O N T R O L C I 6 5 2 6

8 . G e n e r a l n o t e s a b o u t t h e 6 5 2 6T h c o m p l e x i n t e r f a c e a d a p t e r ( C I A ) 6 5 2 6 i n e w p e r i p h e r a le l e m e n t o f t h e 6 5 x x f a m i l y . I i e q u i p p e d w i t h :

1 s e p a r a t e l y p r o g r a m m a b l e i n - o u t p u t l i n e s* o 1 6 - b i t h a n d s h a k e a i n p u t a w e l l a o u t p u t

i n d e p e n d e n t , c a s c a d e a b l e 1 6 - b i t i n t e r v a l - t i m e r2 4 - h o u r c l o c k ( a m / p m ) w i t h p r o g r a m m a b l e a l a r m8 - b i t s h i f t - r e g i s t e r f o t h s e r i a l i n - o u t p u t

Y o u ' l l f i n d t h b l o c k - s c h e m a t i c o f t h e C I 6 5 2 6 i D i a g r a m8 - 1 .

P i n - o v e r l a y o t h 4 0 - p i n h o u s i n g :m a s s2 - I / O - p o r t A 8 - b i t b i d i r e c t i o n a l

1 0 - 1 7 I / O - p o r t B 8 - b i t b i d i r e c t i o n a l . B i t s a n c a b p r o g r a m m e d t i n d i c a t e t h l o w e r c o u r s e o b o t ht i m e r s .

1 - P C ( p o r t c o n t r o l ) ; e x i t o n l y ; s i g n a l s t h a v a i l a b i l i t y o d a t a a p o r t o a b o t h p o r t s .

1 T O ( t i m e o d a y ) ; o n l y 5 0 / 6 0 H e n t r a n c e ; t r i g g e r st h r e a l - t i m e c l o c k .

2 + 5 V ; o p e r a t i n g v o l t a g e2 - I R Q ( i n t e r r u p t r e q u e s t ) ; e x i t o n l y ; b e c o m e s a t h c o n c u r r e n c e o s e t b i t i I C w i t h t h h a p p e n i n g o t h a p p r o p i a t e e v e n t .

2 P / W ( r e a d / w r i t e ) ; e n t r a n c e o n l y ; 0 t a k i n g o v e r o d a t a b u s , l = o u t p u t t d a t a b u s .

2 - C S ( c h i p s e l e c t ) ; e n t r a n c e o n l y ; 0 = d a t a b u v a l i d ,l = d a t a b u t r i - s t a t e ( h i g h - o h m ) .

2 - F L A G ; e n t r a n c e o n l y ; m e a n i n g l i k e - P C .2 0 ( s y s t e m f r e q u e n c y 2 ) e n t r a n c e o n l y ; a l l d a t a - b u s

a c t i o n s o n l y t a k e p l a c e a 0 2 = 1 .2 6 - 3 3 D B 7 - D B 0 ( d a t a b u s ) ; b i - d i r e c t i o n a l ; i n t e r f a c e f o t h

p r o c e s s o r .3 - R E S ( r e s e t ) ; e n t r a n c e o n l y ; 0 = s e t t i n g b a c k t h C I t

o r i g i n a l s t a t e .3 5 - 3 8 R S 3 - R S 0 ( r e g i s t e r s e l e c t ) ; e n t r a n c e o n l y ; s e r v e s f o

s e l e c t i n g o n o t h 1 r e g i s t e r s o t h C I A ; o n l yv a l i d w i t h - C S = 0 .

3 S P ( s e r i a l p o r t ) ; b i - d i r e c t i o n a l ; s e r v e s a e n t r a n c e / e x i t o f t h e s h i f t r e g i s t e r .

4 C N T ( c o u n t ) ; b i - d i r e c t i o n a l ; e n t r a n c e / e x i t o f t h es h i f t - r e g i s t e r f r e q u e n c y o t r i g g e r - e n t r a n c e f o t h i n t e r v a l - t i m e r .

1 2

Page 133: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 133/304

S P f l f l r ?

D I A G R A M 8 - T h C I

1 2

Page 134: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 134/304

8 . R e g i s t e r U s a g eR E P R ( p o r t r e g i s t e r A

a c c e s s ; R E A D / W R I T Eb i 0 - T h i s r e g i s t e r c o r r e s p o n d s t t h s t a t e o p i n s P A O - 7

R E P R ( p o r t r e g i s t e r B a c c e s s : R E A D / W R I T Eb i 0 - T h i s r e g i s t e r c o r r e s p o n d s t t h s t a t e o p i n s P B O - 7

R E D D R A ( d a t a d i r e c t i o n r e g i s t e r A a c c e s s : R E A D / W R I T Eb i 0 - T h e s e b i t s d e t e r m i n e t h d a t a - d i r e c t i o n o t h c o r r e s p o n d i n g d a t a - b i t s o p o r t A 0 = e n t r a n c e ,l = e x i t .

R E D D R B ( d a t a d i r e c t i o n r e g i s t e r B a c c e s s : R E A D / W R I T Eb i 0 - T h e s e b i t s d e t e r m i n e t h d a t a - d i r e c t i o n o t h c o r r e s p o n d i n g d a t a - b i t s o p o r t B 0 = e n t r a n c e ,l = e x i ' ;

R E T L ( t i m e r L O - b y t e )a c c e s s : R E A Db i 0 - T h i s r e g i s t e r r e p r e s e n t s t h p r e s e n t s t a t e o t h l o w - b y t e o t i m e r A a c c e s s : W R I T Eb i 0 - 7 I n t o t h i s r e g i s t e r w e l o a d t h l o w - b y t e o t h v a l u e f r o m w h i c h t h t i m e r s h a l l c o u n t o z e r o .

R E T H ( t i m e r H i - b y t e )a c c e s s : R E A Db i t 0 - 7 T h i s r e g i s t e r r e p r e s e n t s t h p r e s e n t s t a t eo t h h i - b y t e o t i m e r A a c c e s s : W R I T Eb i 0 - I n t o t h i s r e g i s t e r w e l o a d t h h i - b y t e o t h v a l u e f r o m w h i c h t h t i m e r s h a l l c o u n t o z e r o .

R E T L ( t i m e r L O - b y t e )a c c e s s a n o v e r l a y i t h s a m e a i R E 4

R E T H ( t i m e r H i - b y t e )a c c e s s a n o v e r l a y i t h s a m e a i R E 5

R E T O D 1 0 T H S ( c l o c k 1 / 1 0 s e c )a c c e s s : R E A Db i t 0 - 3 t e n t h s e c o n d s o t h r e a l - t i m e c l o c k i B C f o r m a tb i 4 - a l w a y sa c c e s s : W R I T E a n d C R B b i 7 = b i 0 - t e n t h s e c o n d s i B C f o r m a tb i 4 - m u s t b a c c e s s : W R I T E a n C R b i 7 =

1 2

Page 135: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 135/304

Page 136: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 136/304

R E 1 C R ( c o n t r o l r e g i s t e r A a c c e s s : R E A D / W R I T Eb i l = t i m e r s t a r t , 0 = s t o pb i l = l o w e r c o u r s e o t i m e r i s i g n a l e d t p i P B 6 .b i l = e a c h l o w e r c o u r s e o t i m e r t i l t s P B i n t ot h r e s p e c t i v e p o s i t i o n , 0 = e a c h l o w e r c o u r s e o t i m e rc r e a t e s H i - p u l s e a t h P B w i t h t h l e n g t h o o n s y s t e m - f r e q u e n c y .b i l = t i m e r A o n l y c o u n t s o n c e f r o m t h s t a r t -v a l u e t z e r o a n s t o p s t h e n , 0 = t i m e r c o n t i n u o s l yc o u n t s f r o m t h s t a r t - v a l u e t z e r o .b i a b s o l u t e l o a d i n g o n e s t a r t - v a l u e i n t ot i m e r A T h i s b i f u n c t i o n s a s t r o b e . I h a t b s e a n e w a e v e r y a b s o l u t e l o a d i n g .b i T h i s b i d e t e r m i n e s t h s o u r c e o t h t i m e _ t r i g g e r . l = t i m e r c o u n t s i n c r e a s i n g C N T - f l a n k s ,0 = t i m e r c o u n t s s y s t e m - f r e q u e n c y p u l s e s ,b i 1 = S P i e n t r a n c e , 0 = S P i e x i tb i l = r e a l t i m e - c l o c k t r i g g e r i 5 0 H z , 0 = t r i g g e r i 6 0 H z

R E 1 C R ( c o n t r o l r e g i s t e r B a c c e s s : R E A D / W R I T Eb i 0 - T h e s e b i t s h a v e t h s a m e m e a n i n g a i R E 1 4 b u r e l a t e d t t i m e r a n p i P B 7 b i t 5 - T h e s eb i t s d e t e r m i n e t h s o u r c e o f t h e t r i g g e r f o t i m e r B 0 0 = t i m e r c o u n t s s y s t e m - f r e q u e n c i e s , 1 0 = t i m e r c o u n t si n c r e a s i n g C N T - f l a n k s , 0 1 = t i m e r c o u n t s l o w e rc o u r s e s o t i m e r A l l = t i m e r c o u n t s l o w e r c o u r s e so t i m e r i C N T = 1b i l = s e t a l a r m , 0 = s e t t i m e .

8 . I / P o r t s

P o r t s A a n d e a c h c o n s i s t o f a n 8 - b i t d a t a r e g i s t e r ( P R )a n a n 8 - b i t d a t a - d i r e c t i o n r e g i s t e r ( D D R ) . I b i i s e i D D R , t h e c o r r e s p o n d i n g b i i P f u n c t i o n s a a o u t p u t .I b i i D D = 0 t h c o r r e s p o n d i n g b i i P i d e f i n e da i n p u t . D u r i n g R E A D - a c c e s s , t h P r e p r e s e n t s t h p r e s e n t s t a t e o t h c o r r e s p o n d i n g p i ( P A O - 7 , P B O - 7 ) , f o t h e n t r a n c e a w e l l a f o t h e x i t b i t s . B e y o n d t h i s , P B 6a n P B c a t a k e o v e r e x i t f u n c t i o n s f o b o t h t i m e r s .T h d a t a - t r a n s f e r b e t w e e n t h C I a n t h " o u t s i d e w o r l d "c o n n e c t e d t P A / P B c a b a c h i e v e d b d i s c h a r g e - o p e r a t i o n .F o r t h i s s e r v e P C a n F L A G . P b e c o m e s f o t h d u r a t i o n o

f r e q u e n c y i i w a s p r e c e d e d b R E A D o W R I T E a c c e s s t P R B . T h u s t h s i g n a l c a i n d i c a t e t h a v a i l a b i l i t y o d a t at o P B o t h a c c e p t a n c e o d a t a b P B F L A G i n e g a t i v e l ye d g e - t r i g g e r e d i n p u t t h a t c o u l d b c o n n e c t e d t P o a n o t h e r C I A . f a l l i n g - e d g e a F L A G a l s o s e t s t h F L A Gi n t e r r u p t - b i t .

1 2

Page 137: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 137/304

T h s e r i a l d a t a p o r t S D R i s y n c h r o n o u s 8 - b i t s h i f t -r e g i s t e r . C R A b i t 6 d e t e r m i n e s i n p u t o o u t p u t m o d e . I t h i n p u t m o d e , t h d a t a t o S P w i t h t h i n c r e a s i n g f l a n k o s i g n a l a C N a r t r a n s f e r r e d i n t o s h i f t - r e g i s t e r . A f t e rC N T - p u l s e s , t h c o n t e n t o t h s h i f t - r e g i s t e r i t r a n s f e r r e d t S D a n t h S P - b i t i s e i I C R .I t h o u t p u t m o d e , t i m e r f u n c t i o n s a b a u d - r a t eg e n e r a t o r . T h d a t a f r o m S D R i p u s h e d o u t S w i t h h a l ft h l o w e r - c o u r s e f r e q u e n c y o t i m e r A T h t h e o r e t i c a l l yh i g h e s t b a u d - r a t e i t h u s 1 / 4 o f t h e s y s t e m f r e q u e n c y .T h t r a n s f e r s t a r t s a f t e r t h d a t a h a b e e n w r i t t e n i n t oS D R , p r o v i d e d t h a t t i m e r A i r u n n i n g a n i c o n t i n u o u s m o d e( C R A b i 0 = 1 a n d b i 3 = 0 ) .

T h c y c l e d e r i v e d f r o m t i m e r a p p e a r s a C N T . T h d a t af r o m S D a r l o a d e d i n t o t h s h i f t - r e g i s t e r a n d t h e n p u s h e do u o S w i t h e v e r y f a l l i n g f l a n k a C N T .A f t e r C N T - p u l s e s t h S P - i n t e r r u p t i c r e a t e d . B u i S D i l o a d e d w i t h n e w d a t a b e f o r e t h i s e v e n t , t h e s e a r l o a d e da u t o m a t i c a l l y i n t o t h s h i f t - r e g i s t e r a n p u s h e d o u t . I nt h i s c a s e n i n t e r r u p t a p p e a r s . T h d a t a f r o m S D a r p u s h e do u w i t h t h H i - b y t e f i r s t . I n c o m i n g d a t a s h o u l d h a v e t h s a m e f o r m a t .

8 . T h T i m e rE a c h o t h t w i n t e r v a l - t i m e r s c o n s i s t s o 1 6 - b i t c o u n t e r( r e a d o n l y ) a n 1 6 - b i t i n t e r m e d i a t e m e m o r y ( w r i t e o n l y ) .D a t a t h a t i w r i t t e n i n t o t h t i m e r e n d s o u i t h i n t e r m e d i a t e m e m o r y w h i l e t h r e a d i n g - d a t a r e p r e s e n t s t h p r e s e n t s t a t e o t h c o u n t e r .

B o t h t i m e r s c a b u s e d i n d e p e n d e n t l y a w e l l a t o g e t h e r .T h d i f f e r e n t w a y s o o p e r a t i o n a l l o w t h c r e a t i o n o l o n gt i m e d e l a y s , v a r i a b l e p u l s e - l e n g t h s , a n i m p u l s e - s t r i n g s .W h e n u s i n g t C N T - e n t r a n c e , t h t i m e r s c a c o u n t e x t e r n a li m p u l s e s o m e a s u r e f r e q u e n c i e s .E v e r y t i m e r h a c o n t r o l - r e g i s t e r a s s i g n e d t i w h i c ha l l o w s i t h f o l l o w i n g f u n c t i o n s :S T A R T / S T O P ( b i t 0 T h i s b i c a s t a r t o s t o p t h t i m e r a a n y t i m e .P O N / O F F ( b i t 1 H e r e , t h l o w e r c o u r s e o t h t i m e r i d i r e c t e d t P ( P B 6f o t i m e r A P B f o t i m e r B ) T h i s f u n c t i o n h a p r i o r i t yb e f o r e t h d a t a - d i r e c t i o n d e t e r m i n e d i D D R B .

1 2

Page 138: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 138/304

T O G G L E / P U L S ET h i s b i d e t e r m i n e s t h k i n d o l o w e r - c o u r s e p u l s e t h a ta p p e a r s a P B E i t h e r P i t i l t e d t o t h e r e s p e c t i v e o t h e rp o s i t i o n , o p o s i t i v e p u l s e w i t h t h d u r a t i o n o o n e c y c l ei c r e a t e d .

O N E - S H O T / C O N T I N U O U S ( b i t 3 I t h o n e - s h o t o p e r a t i o n t h t i m e r c o u n t s f r o m t h i n t e r m e d i a t e m e m o r y v a l u e t o z e r o , s e t s t h I R C - b i t , l o a d st h c o u n t e r a g a i n w i t h i n t e r m e d i a t e - m e m o r y v a l u e a n s t o p st h e n . I t h c o n t i n u o u s - m o d e t h e v e n t d e s c r i b e d a b o v eh a p p e n s c y c l i c .F O R C E L O A D ( b i t 4 T h i s b i a l l o w s t h t i m e r t l o a d a n t i m e , n o m a t t e rw h e t h e r i t i s p r e s e n t l y r u n n i n g o n o t .

I N P U T M O D E ( b i t C R A , b i t 5 - 6 C R B )T h e s e a l l o w c h o i c e o f t h e c y c l e w i t h w h i c h t h t i m e r i c o u n t e d d o w n . T i m e r A c a b s u p p l i e d b e i t h e r t h s y s t e m -c y c l e o w i t h c y c l e t h a t w a s g i v e n t o C N T . I a d d i t i o n t t h a t , t i m e r c a b f e w i t h t h l o w e r - c o u r s e p u l s e s o t i m e r A e i t h e r a b s o l u t e o i n d e p e n d e n t o C N T = 1 .

8 . R e a l - T i m e C l o c kT h r e a l - t i m e c l o c k ( T O D ) i s 2 4 - h o u r c l o c k ( a m / p m ) w i t hr e s o l u t i o n o l / 1 0 s e c .I c o n s i s t s o f o u r r e g i s t e r s : l / 1 0 s e c , s e c , m i n , h r T h a m / p m - b i t i t h o n w i t h t h h i g h e s t v a l u e o t h h o u rr e g i s t e r . E v e r y r e g i s t e r i o r g a n i z e d i t h B C D - f o r m a t s t h a t t h r e a d v a l u e s c a b u s e d w i t h o u t b i c a l c u l a t i o no p e r a t i o n s .A c y c l e s e r v e s 5 0 / 6 0 H z - s i g n a l ( p r o g r a m m a b l e , C R A - b i t 7 a p i T O D . F u r t h e r m o r e , t h e r e i a a l a r m - r e g i s t e r w i t h w h i c ho n e c a n c r e a t e a i n t e r r u p t a a n t i m e . T h a l a r m - r e g i s t e ro v e r l a y s t h s a m e a d d r e s s a t h T O D - r e g i s t e r . T h a t i w h t h a c c e s s i c o n t r o l l e d w i t h b i 7 T h a l a r m - r e g i s t e r i w r i t e o n l y . E v e r y r e a d - a c c e s s r e p r e s e n t s t h s t a t e o t h T O D - r e g i s t e r , i n d e p e n d e n t o C R b i 7

I o r d e r t s e a n r e a d t h t i m e c o r r e c t l y , c e r t a i n o r d e rh a t b k e p t :I t h h o u r - r e g i s t e r i b e i n g w r i t t e n o n t h c l o c k s t o p sa u t o m a t i c a l l y . I t i s n o u n t i l w r i t e - a c c e s s t t h 1 / 1 0s e c - r e g i s t e r t o o k p l a c e t h a t t h c l o c k w i l l c o n t i n u e t r u n .B t h i s t h c l o c k s t a r t s i n d e e d a t h r i g h t t i m e . S i n c et r a n s f e r i n t o a a l r e a d y r e a d r e g i s t e r c a o c c u r d u r i n g t h r e a d i n g o t h c o m p l e t e t i m e , t h c o m p l e t e t i m e w i l l b b u f f e r e d i n t o a i n t e r m e d i a t e - m e m o r y a t h r e a d i n g o f t h e

1 3

Page 139: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 139/304

h o u r - r e g i s t e r . T h i n t e r m e d i a t e - m e m o r y i n o s e t f r e eu n t i l t h 1 / 1 0 h a s b e e n r e a d .I o n l y o n r e g i s t e r s h a l l b r e a d , t h i s c a n h a p p e n e a s i l yo c o u r s e ; b u i t h i s r e g i s t e r i t h h o u r - r e g i s t e r , t h l / 1 0 s e c - r e g i s t e r h a t o b e r e a d a f t e r w a r d s i o r d e r t o s e tt h i n t e r m e d i a t e - m e m o r y f r e e a g a i n .

8 . 5 . 1 W i t h s m a l l t r i c k , t h r i g h t t i m eT h l o n g - t i m e a c c u r a c y o t h c l o c k T I $ f s u p p l i e d b t h o p e r a t i n g s y s t e m , l e a v e s s o m e t h i n g t b d e s i r e d a f a a t h s y s t e m i c o n c e r n e d . Y o h a v e t c o u n t o m a x i m u md e v i a t i o n o 1 / h r p e d a y .F o t h o s e w h i n s i s t o t h c o r r e c t t i m e , t h r e a l - t i m ec l o c k i t h C I A s o f f e r s o l u t i o n . I g e t s i t c y c l e f r o mt h m a i n f r e q u e n c y w h i c h s h o w s a a m a z i n g l o n g - t i m ec o n s t a n c y .

I o r d e r t s i m p l i f y t h h a n d l i n g o t h r e a l - t i m e c l o c k f o y o u , w w o r k e d o u t w s m a l l b a s i c - p r o g r a m s . O n s e r v e s f o s e t t i n g t h c l o c k , t h o t h e r f o r e a d i n g i t F i r s t t h p r o g r a m f o s e t t i n g i t T h v a l u e f o r l / 1 0 s e c i a l w a y s s e o h e r e .1 C = 5 6 3 2 8 : R E M b a s i s a d d r e s s o t h c l o c k i C I 2 R E C = 5 6 5 8 4 f o t h c l o c k i C I 3 P O K E C + 7 , P E E K ( C + 7 ) A N D 1 2 73 P O K E C + 6 , P E E K ( C + 6 ) O R 1 2 84 I N P U T " P U T I T I M E I F O R M A T H H M M S S " ; A $5 I L E N ( A $ ) < > 6 T H E N 4 6 H = V A L ( L E F T $ ( A $ , 2 ) )7 M = V A L ( M I D $ ( A $ , 3 , 2 ) )8 S = V A L ( R I G H T $ ( A $ , 2 ) )9 I H > 2 3 T H E N 4 1 0 I H > 1 1 T H E N H = H + 6 81 1 P O K E C + 3 , 1 6 * I N T ( H / 1 0 ) + H - I N T ( H / 1 0 ) * 1 01 2 0 I F M > 5 9 T H E N 4 1 3 P O K E C + 2 , 1 6 * I N T ( M / 1 0 ) + M - I N T ( M / 1 0 ) * 1 01 4 I S > 5 9 T H E N 4 1 5 P O K E C + l , 1 6 * I N T ( S / 1 0 ) + S - I N T ( S / 1 0 ) * 1 01 6 P O K E C , T h f o l l o w i n g p r o g r a m e n a b l e s y o t r e a d t h t i m e :1 C = 5 6 3 2 8 : R E M b a s i s a d d r e s s o t h c l o c k i C I 2 P R I N T " ( s h f t / c l r ) " : R E M C = 5 6 5 8 4 f o c l o c k i C I 3 H = P E E K ( C + 3 ) : M = P E E K ( C + 2 ) : S = P E E K ( C + 1 ) : T = P E E K ( C )4 F L = 15 I H > 3 2 T H E N H = H - 1 2 8 : F L = 06 H = I N T ( H / 1 6 ) * 1 0 + H - I N T ( H / 1 6 ) * 1 6 : O N F G O T O 8 6 I H = 1 2 T H E N 8

1 3

Page 140: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 140/304

7 H = H + 1 28 I H = 1 2 T H E N H = 8 M = I N T ( M / 1 6 ) * 1 0 + M - I N T ( M / 1 6 ) * 1 69 S = I N T ( S / 1 6 ) * 1 0 + S - I N T ( S / 1 6 ) * 1 61 0 T $ = S T R $ ( T )1 1 H $ = S T R $ ( H ) : I F L E N ( H $ ) = 2 T H E N H 0 " + R I G H T $ ( H $ , 1 )1 2 M $ = S T R $ ( M ) : I F L E N ( M $ ) = 2 T H E N M $ = " 0 " + R I G H T $ ( M $ , 1 )1 3 S $ = S T R 4 ( S ) : I F L E N ( S $ ) = 2 T H E N S 0 H + R I G H T $ ( S $ , 1 )1 4 P R I N T " ( h o m e ) " ;1 5 P R I N T " R I G H T $ ( H $ , 2 ) " : I I R I G H T $ ( M $ , 2 ) " : " R I G H T $ ( S $ , 2 ) " : 0 " ;1 6 P R I N T R I G H T $ ( T $ , 1 )1 7 G O T O 3 A f t e r p r e s s i n g S T O P / R E S T O R E , y o h a v e t s e t h t i m e a g a i ns i n c e t h o p e r a t i n g s y s t e m s e t s a l r e g i s t e r s b a c k t t h s t a r t - v a l u e . U n f o r t u n a t e l y , t h b i f o t h 5 0 / 6 0 H Zs e l e c t i o n i a f f e c t e d b t h i s a w e l l . Y o u r c l o c k w o u l d b f a b e h i n d .

8 . T h e C I A s i t h C o m m o d o r e 6 I y o w a n t t u s t h C I A s i t h C B M 6 4 f o y o u r o w p u r p o s e s , p l e a s e n o t e t h a t t h e y w e r e a s s i g n e d s p e c i a l t a s k si t h c o m p u t e r . T h i s a p p l i e s e s p e c i a l l y f o t h u s a g e o i n t e r r u p t s b e c a u s e t h e y c a u s e t h o p e r a t i n g - s y s t e m t r u t h r o u g h c e r t a i n r o u t i n e s . S p l e a s e a v o i d c h a n g i n g t h m a s ki I C R .T h a s s i g n m e n t s f o r t h e C I A s f r o m w i t h i n C B M 6 4 a r e :C I B a s e a d d r e s s $ D C 0 0 ( 5 6 3 2 0 )R E ( P R A )B i t 0 - 7 D u r i n g n o r m a l o p e r a t i o n t h s e q u e n c e -

s e l e c t i o n o t h k e y b o a r d - m a t r i x i d e t e r m i n e d h e r e .Y e s o m e b i t s a r c o n n e c t e d w i t h c o n t r o l - p o r to u t s i d e t h c o m p u t e r . I s e r v e s f o c o n n e c t i n g j o s t i c k s o p a d d l e s :B i t 0 - 4 J o y - s t i c k 0 o r d e r : u p d o w n , l e f t , r i g h t ,k e B i 6 - S e l e c t i o n p a d d l e - s e t A / B . O n l y o n o t h t w b i t s m a b 0

R E ( P R B )B i 0 - D u r i n g n o r m a l o p e r a t i o n o c c u r s c o l u m n -b a c k - r e p o r t o t h k e y b o a r d - m a t r i x i k e w a p r e s s e d .B i 0 - 4 T h e s a m e f u n c t i o n a R E 0 b u f o c o n t r o l -p o r t ( j o y - s t i c k 1 )

R E 1 ( I C R )B i I n p u t - d a t a f r o m t h c a s s e t t e - p o r t

1 3

Page 141: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 141/304

C I B a s i s - a d d r e s s $ D D O O ( 5 6 5 7 6 )P E ( P R A )

B i t 0 - 1 V 1 4 - 1 5 ( a d d r e s s b i t s o t h h i g h e s t v a l u eo t h v i d e o - r a m ) .B i T X ( o n l y i c o n n e c t i o n w i t h w i t h a n R S 2 3 2c a r t r i d g e , o t h e r w i s e f r e e ) .B i A T ( e x i t s e r i a l b u s )B i C L O C K ( e x i t s e r i a l b u s )B i D A T A ( e x i t s e r i a l b u s )B i C L O C K ( e n t r a n c e s e r i a l b u s )B i D A T A ( e n t r a n c e s e r i a l b u s )

R E ( P R B )B i t 0 - 7 U s u a l l y f r e e . W h e n p u t t i n g o a n R S 2 3 2c a r t r i d g e t h e y g e t t h f o l l o w i n g m e a n i n g :B i R X ( r e c e i v e d a t a )B i R T S ( r e q u e s t t s e n d )B i D T R ( d a t a t e r m i n a l r e a d y )B i R ( r i n g i n d i c a t o r )B i D C ( d a t a c a r r i e r d e t e c t )B i C T ( c l e a r t s e n d )B i D S ( d a t a s e t r e a d y )

R E 1 ( I C R )B i R X ( o n l y a R S 2 3 2 o p e r a t i o n , o t h e r w i s ef r e e ) .

8 . U s i n g t h J o y s t i c k sW h e n u s i n g t h j o y s t i c k s y o o u g h t t k n o w t h a t t h e y o v e r l a yt h s a m e C I A - b i t s t h a t a r u s e d f o a s k i n g t h k e y b o a r d a n o r m a l o p e r a t i o n .I o r d e r t w o r k w i t h t h j o y s t i c k s a n y w a y , t h k e y b o a r d -i n p u t h a t b e l i m i n a t e d f o t h a t p a r t i c u l a r t i m e . T h i sc a o n l y h a p p e n w i t h i n p r o g r a m t h a t d o e s n o u s t h k e y b o a r d a n t h u s d o e s n o c o n t a i n a I N P U T o t h e l i k e .T h f o l l o w i n g p r o g r a m s h o w s t h j o y s t i c k f u n c t i o n s i r e l i a b l e m a n n e r :1 P O K E 5 6 3 2 2 , 2 2 42 J = P E E K ( 5 6 3 2 0 )3 I F ( J A N D l ) = 0 T H E N P R I N T " U P "4 I F ( J A N D 2 ) = 0 T H E N P R I N T " D O W N "5 I F ( J A N D 4 ) = 0 T H E N P R I N T " L E F T "6 I F ( ( J A N D 8 = 0 T H E N P R I N T " R I G H T "7 I F ( J A N D 1 6 ) = O T H E N P R I N T " B U T T O N "8 G O T O 2 0T h i s p r o g r a m e x p e c t s t h j o y s t i c k a c o n t r o l p o r t 2 I t h j o y s t i c k i o p e r a t e d a c o n t r o l p o r t 1 t h a d d r e s s i l i n e

1 3

Page 142: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 142/304

2 h a t o b e c h a n g e d t 5 6 3 2 1 .T h o n l y t h i n g t h a t ' l l g e t y o u o u t o t h a b o v e p r o g r a m i S T O P / R E S T O R E . T h e l a s t l i n e i " s e r i o u s " p r o g r a m s h o u l db e

1 0 P O K E 5 6 3 2 2 , 2 5 5W i t h t h i s y o u n l o c k t h k e y b o a r d a g a i n . O c o u r s e y o c a p u t t h i s l i n e b e f o r e a n k e y b o a r d a c t i o n i y o u r p r o g r a mn e e d s t h k e y b o a r d a n t h j o y - s t i c k s . B u t h e n c o m m a n dl i k e t h o n i l i n e 1 h a t c o m e b e f o r e e v e r y r e a d i n g o t h j o y s t i c k .

1 3

Page 143: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 143/304

A P P E N D I XC o m m o d o r e 6 R o L i s t i n g s

Page 144: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 144/304

Page 145: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 145/304

B a s i c I n t e r p r e t e r

A O O O 9 E A 0 0 2 7 E A O O 4 4 3 4 2* * * * * * * * * * * * * * * * * * * * * # * * * * * ■ * *A O O C 3 0 A 4 A I A F 7 A 8A 0 1 4 A 4 A B B A B 8 0 B O 5 A CA 0 1 C A 4 A 9 9 F A 8 7 0 A 8 2 7 A 9A 0 2 4 1 A 8 8 2 A S D A 3 A A 9A 0 2 C 2 E A 8 4 A A 9 2 C B 8 6 E A 0 3 4 5 E 6 E B 2 B 3 2 3 B 8A 0 3 C 7 F A A 9 F A A 5 6 A B 9 B A 6A 0 4 4 5 D A 6 B A A 2 9 E B E A 0 4 C C 6 E 7 A A B 4 A * * * * * * * * * * * * * * * # • * * * * # * ■ * * • * * • * ■ * *A 0 5 2 3 9 B C C B C 5 8 B 1 O A 0 5 A 7 B 9 E B 3 7 B 9 7 E OA 0 6 2 E A B E D B F 6 E 6 B E 2A 0 6 A B 4 E 2 O E E 3 O D B 8 7 C B 7A 0 7 2 6 B 4 A D B 7 8 B E C B 6A 0 7 A 0 B 2 C B 7 3 B 7 7 9 6 9

A 0 8 0 7 6 B 8 7 9 5 B 7 B 2 AA 0 8 8 B A 7 B 1 B B 7 F 7 A B F 5 0A 0 9 0 E 8 A F 4 6 E A F 7 D B 3 B FA 0 9 8 5 A D 3 A E 6 4 1 B

S t a r t - V e c t o rN M I - V e c t o rc b m b a s i c

* E 3 9 4* E 3 7 b

A d d r e s s e s o B A S I Cc o m m a n d s ( m i n u s 1

A d d r e s s e s o B A S I Cf u n c t i o n s

P r i o r i t y c o d e s a n a d d r e s s e s f o B A S I Co p p e r a t o r s

A 0 9 E 4 5 4 E C 4 4 D 2 4 E 4 A 0 A 6 5 8 D 4 4 4 5 C 4 4 A O A E 5 5 5 5 4 A 3 4 4 5 0 5 5A 0 B 6 D 4 4 4 9 C D 5 2 4 4 C A O B E 4 4 D 4 4 7 4 F 5 4 C F 5 2A 0 C 6 5 5 C E 4 9 C 6 5 2 4 5 5 A O C E 4 5 C 4 7 4 F 5 5 C A 0 D 6 5 4 5 4 5 5 5 2 C 5 4 A O D E C D 5 3 5 4 D 4 C 5 A 0 E 6 4 4 D 4 C 4 F 4 C 4 5 3A O E E 4 5 6 C 5 5 6 4 5 5 2 4 9 4 6A 0 F 6 D 4 4 C 6 5 0 4 4 B C 5A O F E 5 0 5 2 4 4 5 A 5 0 5 2A 1 0 6 4 9 4 E D 4 4 3 4 F 4 E D 4 4 CA 1 0 E 4 5 D 4 4 D 4 4 A 1 1 6 C 4 5 3 5 9 D 3 4 5 4 C A 1 1 E 4 4 4 F 5 3 C 5 4 4 D A 1 2 6 4 4 5 D 7 5 4 4 A 5 A 1 2 E C 4 C E 5 3 5 0 4 3 A 5 A 1 3 6 4 8 4 5 C 4 E 4 F D 4 5 5 A 1 3 E 4 5 D O A B A D A A A D 4 A 1 4 6 4 C 4 F D 2 B E B D B C 5 3

B A S I C c o m m a n d w o r d se n n e x ti n p u t #d i l e r u r e s t o r er e t u r ns t o pw a i ts a v ed e p r i n t #

c o n tc l o p e ng e t a b (s p n o

f o d a t ai n p u tr e a dg o t oi g o s u br e o l o a dv e r i f yp o k ep r i n t

l i s tc m d s y sc l o s en e t t h e ns t o p- * a n

A -

Page 146: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 146/304

A 1 4 EA 1 5 6A 1 5 EA 1 6 6A 1 6 EA 1 7 6A 1 7 EA 1 8 6A 1 8 EA 1 9 6

4 5 D 4 5 C 5 5 4 A

C 5 5 C 4 5 5 C 5 4

4 D 5 4 C 4 5 4 A 4

4 4 D 5 5 4 A 4 5 4

D 5 5 D 4 C 5 5 4 A

4 C 4 4 C 4 4 A 4 4

4 5 C 4 4 4 C 4 4 C

D 4 4 D 5 C 4 4 5 0

o i n f r r n e x t a l e v a c h r *r i g h t *

s g a b p o l o c o a t s t r *a s l e f t *m i d *

u s s q

s i p e e k

g

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 1 9 E 5 4 4 F 4 2 0 4 D 4 4 5 A 1 A 6 2 0 4 6 4 9 4 C 4 5 D 3 4 6 4 A 1 A E 4 4 2 4 5 0 4 5 C E 4 A 1 B 6 4 4 4 2 4 4 5 4 2 0A 1 B E 4 5 0 4 5 C E 4 6 4 9 4 4 A 1 C 6 2 0 4 E 4 F 5 4 2 0 4 6 4 F 5 5A 1 C E 4 C 4 4 5 4 4 4 A 1 D 6 2 4 E 4 F 5 2 5 0 5 2 4 A I D E 5 4 4 E D 4 4 4 5 2 A 1 E 6 4 4 5 5 5 5 4 2 0 4 6 4 A 1 E E 4 C 4 4 5 4 2 0 4 F 5 5A 1 F 6 5 5 0 5 5 5 4 2 0 4 6 4 9 4 A 1 F E C 4 D 4 9 5 3 5 3 4 9 4 E 4 7A 2 0 6 2 4 6 4 9 4 4 2 4 4 A 2 0 E 4 C 5 4 9 4 C 4 4 5 4 7 4 A 2 1 6 4 2 0 4 4 4 5 5 6 4 9 4 3 4 A 2 1 E 2 4 E 5 5 4 D 4 2 4 5 D 4 A 2 2 6 4 5 5 2 0 5 7 4 9 5 4 A 2 2 E 4 5 5 5 4 2 0 4 4 D 5 A 2 3 6 5 4 5 4 P 5 4 5 A 2 3 E 5 5 4 2 5 4 5 4 A 2 4 6 4 5 5 5 4 2 0 4 7 4 F 5 5 A 2 4 E C 4 5 5 4 2 0 4 F 4 2 A 2 5 6 4 4 5 C 4 9 4 C 4 C 4 5A 2 5 E 4 4 4 2 5 5 4 4 A 2 6 6 5 4 5 D 9 4 F 5 4 5 5 2A 2 6 E 4 4 C 4 F D 7 4 F 5 5 5 4 2 A 2 7 6 4 4 6 2 0 4 D 4 5 4 D 4 F 5 2A 2 7 E D 5 5 4 E 4 4 4 4 6 2 7 4 4A 2 8 6 2 5 3 5 4 4 5 4 4 5 4 D 4 5A 2 8 E 4 E D 4 4 4 4 2 5 3 5 5A 2 9 6 4 5 4 3 5 2 4 9 5 D 5 A 2 9 E 4 5 4 4 4 9 4 2 7 4 4 2 4 A 2 A 6 5 5 4 D 4 4 4 9 5 4 A 2 A E 5 4 4 4 2 4 2 5 9 2 0A 2 B 6 5 4 5 2 C F 4 4 4 4 A 2 B E 4 4 4 C 2 0 4 4 4 5 4 A 2 C 6 4 D 5 4 5 9 5 0 4 5 2 O 4 A 2 C E 4 5 4 4 5 4 3 C 8 5 A 2 D 6 5 4 5 2 4 4 E 4 7 2 O 5 4 4 A 2 D E 4 2 4 4 4 E C 7 4 6 4 9A 2 E 6 4 C 4 5 2 4 4 5 C 4 A 2 E E 4 5 4 5 4 2 0 5 4

B A S I C e r r o r m e s s a g e s1 t o m a n y f i l e s2 f i l e o p e n3 f i l e n o t o p e n

4 f i l e n o f o u n d5 d e v i c e n o p r e s e n t

6 n o t i n p u t f i l e7 n o o u t p u t f i l e8 m i s s i n g f i l e n a m e9 i l l e g a l d e v i c e n u m b e r1 0 n e x t w i t h o u t f o

1 1 s y n t a x1 2 r e t u r n w i t h o u t g o s u b

1 3 o u o d a t a1 4 i l l e g a l q u a n t i t y

1 5 o v e r f l o w1 6 o u o m e m o r y1 7 u n d e f ' d s t a t e m e n t

1 8 b a s u b s c r i p t1 9 r e d i m ' d a r r a y

2 0 d i v i s i o n b z e r o

2 1 i l l e g a l d i r e c t

2 2 t y p e m i s m a t c h2 3 s t r i n g t o o l o n g

2 4 f i l e d a t a

Page 147: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 147/304

Page 148: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 148/304

A 3 B B 8 5 3 S T $ 3 A 3 B D 8 4 3 2 S T Y $ 3 2A 3 B F 3 8 S E C S E C a r r yA 3 C 0 A 5 5 A L D A $ 5 $ 5 F / $ 6 0 o l « ™ = | < - « * * r *A 3 C 2 E 5 S B C $ 5 F $ 5 A / $ 5 B o l b l o c k - s t a r t + lA 3 C 4 8 5 2 2 S T A $ 2 2 $ 5 8 / $ 5 9 n e b l o c k - e n dA 3 C 6 A T A A 3 C 7 A 5 5 L D $ 5 A 3 C 9 E 5 6 0 S B C $ 6 0A 3 C B A A T A XA 3 C C E 8 I N A 3 C D 9 8 T Y AA 3 C E F 2 B E $ A 3 F 3A 3 D 0 A 5 5 A L D A $ 5 AA 3 D 2 3 8 S E CA 3 D 3 E 5 2 2 S B C $ 2 2A 3 D 5 8 5 A S T A $ 5 AA 3 D 7 B O 0 3 B C S $ A 3 D CA 3 D 9 C 6 5 B D E C $ 5 A 3 D B 3 8 S E CA 3 D C A 5 8 L D A $ 5 8A 3 D E E 5 2 2 S B C $ 2 2A 3 E 0 8 5 8 S T A $ 5 8A 3 E 2 B O 0 8 B C S $ A 3 E CA 3 E 4 C 5 9 D E C $ 5 9A 3 E 6 9 0 4 B C C $ A 3 E CA 3 E B B 5 A L D A ( $ 5 A ) , YA 3 E A 9 5 8 S T A ( $ 5 8 ) , YA 3 E C 8 D E A 3 E D D O F 9 B N $ A 3 E 8A 3 E F B 5 A L D A ( $ 5 A ) , YA 3 F 1 9 5 S T A ( $ 5 8 ) , YA 3 F 3 C 5 B D E C $ 5 BA 3 F 5 C 6 5 9 D E C $ 5 9A 3 F 7 C D E A 3 F 8 D O F 2 B N $ A 3 E CA 3 F A 6 R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * C h e c k o s t a c k - s p a c eA 3 F B O A S a c c u m u l a t o r m u s t g e t h a l - fA 3 F C 6 3 E A D C # $ 3 E t h e a m o u n t o n e e d e d s p a c eA 3 F E B 3 5 B C S $ A 4 3 5 d i s p l a y " o u t o m e m o r yA 4 0 0 8 2 S T A $ 2 2A 4 0 2 B A T S XA 4 0 3 E 2 C P $ 2 A 4 0 5 9 0 2 E B C $ A 4 3 5 d i s p l a y " o u t o m e m o r yA 4 0 7 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C r e a t s s p a c e i m e m o r y f o A 4 0 8 C 4 3 4 C P Y $ 3 4 i n s e r t e d l i n e s a n A 4 0 A 9 2 B C $ A 4 3 4 v a r i a b l e sA 4 0 C D 0 B N E $ A 4 1 2 s e t s t l o c a t i o n i A 4 0 E C 5 3 3 C M P $ 3 m e m o r y .

A -

Page 149: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 149/304

A 4 1 0A 4 1 2A 4 1 3A 4 1 5A 4 1 6A 4 1 7A 4 1 9A 4 1 AA 4 1 CA 4 1 FA 4 2 1A 4 2 2A 4 2 4A 4 2 5A 4 2 7A 4 2 8A 4 2 9A 4 2 AA 4 2 CA 4 2 EA 4 3 0A 4 3 2A 4 3 4A 4 3 5

9 4 A 9 4 B C 1 2 A 6 9 E 3 6 A 6 C 9 D C B 6 A

2

0

5 F 2 F

6

F

3 0 0 3 0

1

B C P H L D T Y P H L D D E B P

B 5 J S RL D P L S T I N B M P L T A P L C P B C B N C M B C R T L D

$ A 4 3 4# $ 0 9

$ 5 7 ,$ A 4 1 6$ B 5 2 6# $ F 7$ 6 1 ,

$ A 4 2 1

$ 3 $ A 4 3 4$ A 4 3 5$ 3 $ A 4 3 5# $ 1 O

s a v e r e g i s t e r s f o a r i t h m e t i c

g a r b a g e c o l l e c t i o n

g e t b a c k r e g i s t e r

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 4 3 7 6 0 0 0 3 J M ( $ 0 3 0 0 )A 4 3 A 8 T X A 4 3 B O A S A 4 3 C A A T A XA 4 3 D B D 2 6 A 3 L D $ A 3 2 6 , XA 4 4 0 8 2 S T $ 2 A 4 4 2 B 2 7 A 3 L D A $ A 3 2 7 , XA 4 4 5 8 5 2 3 S T A $ 2 3A 4 4 7 2 0 C C F F J S R $ F F C CA 4 4 A A 0 L D A # $ 0 0A 4 4 C 8 5 1 S T $ 1 A 4 4 E 2 0 D 7 A A J S R $ A A D 7A 4 5 1 2 0 4 5 A B J S R $ A B 4 5A 4 5 4 A O 0 0 L D Y # $ 0 0A 4 5 6 B 2 L D ( $ 2 2 ) , YA 4 5 8 4 P H A 4 5 9 2 9 7 A N # $ 7 FA 4 5 B 2 0 4 7 A B J S $ A B 4 7A 4 5 E C 8 I N A 4 5 F 6 P L A 4 6 0 1 F B P L $ A 4 5 6A 4 6 2 2 O 7 A A J S R $ A 6 7 AA 4 6 5 A 9 6 9 L D A # $ 6 9A 4 6 7 A O A 3 L D Y # $ A 3A 4 6 9 2 I A J S R $ A B 1 EA 4 6 C A 4 3 A L D Y $ 3 AA 4 6 E C B I N A 4 6 F F 0 B E Q $ A 4 7 4A 4 7 1 2 0 C 2 B D J S R $ B D C 2A 4 7 4 A 9 7 6 L D A # $ 7 6A 4 7 6 A O A 3 L D Y # $ A 3

O . K . r e a d yn o s p a c e , " o u t o m e m o r y "

e r r o r - f o r " o u t o m e m o r y "

O u t — p u t e r r o r m e s s a g e sJ M $ A 4 3 Ae r r o r i x - r e g i s t e r ; 3

g e a d d r e s s o m e s s a g e

s e t b a c k a c t i v e I / c h a n n e l s

s e b a c k I / f l a go u t - p u t ( C R ) ( L F )o u t - p u t " ?

t e x t o e r r o r m e s s a g e

o u t - p u t e r r o r m e s s a g e

i n i t i a l i z e B A S I C - p o i n t e r s ,b l o c k C O N T

p o i n t e r A / Y t o e r r o ro u t - p u t s t r i n gp r o g r a m m o d e ?n o u t — p u t " i ( l i n e n u m b e r ) "s e p o i n t e r " R E A D Y . "

A -

Page 150: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 150/304

A 4 7 8 2 I A J S $ A B 1 EA 4 7 B A 9 8 0 L D A # $ 8 0A 4 7 D 2 0 9 0 F J S $ F F 9 0

A 4 8 0A 4 8 3A 4 8 6A 4 8 8A 4 8 AA 4 8 DA 4 8 EA 4 9 0A 4 9 2A 4 9 4A 4 9 6A 4 9 9

6 2 8 8 2 A F A 8 9 2 4

0 6 7 7 7

F F 3 0 7 E

0 A

0

A A

J M J S S T S T J S T A B E L D S T B C J S J M

( $ 0 3 0 2 )$ A 5 6 O$ 7 $ 7 $ 0 0 7 3

$ A 4 8 0# $ F F$ 3 $ A 4 9 C$ A 5 7 9$ A 7 E 1

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 4 9 C 2 0 6 B A 9 J S R $ A 9 6 BA 4 9 F 2 0 7 9 A 5 J S R $ A 5 7 9A 4 A 2A 4 A 4A 4 A 7

A 4 A 9A 4 A BA 4 A DA 4 A FA 4 B 1A 4 B 3A 4 B 5A 4 B 7A 4 B 9A 4 B AA 4 B CA 4 B DA 4 B FA 4 C 1A 4 C 3A 4 C 5A 4 C 7A 4 C 9A 4 C BA 4 C CA 4 C DA 4 C FA 4 D 1A 4 D 2A 4 D 4A 4 D 5A 4 D 7A 4 D 8A 4 D A

8 2 9

# • * ■ ■ * " *

A B 8 A 8 A 8 A 8 F 1 6 8 8 A 6 8 E A 3 A E A B E C 1 6 9

O 1 A 4

0 5 2 2 2 6 2 5 5

2 2 2 2 F 2 6

5 2

0

2 2 0

S T J S B C

X " X " * * - KL D L D S T L D S T L D S T L D D E S B C L A D S T S T L D A D S T S B T A S E L D S B T A B C I N D E C L A D B C

S O $ A 6 1 3$ A 4 E D

# $ 0 1< $ 5 F > , Y

$ 2 $ 2 $ 2 $ 6 $ 2 $ 5 ( $ 5 F ) , Y

$ 2 $ 2 $ 2 $ 2 # $ F F$ 2 $ 6

$ 5 $ 2

$ A 4 D 7

$ 2 $ 2 $ A 4 D F

o u t — p u t s t r i n gs e d i r e c t - m o d e f l a g

I N P U T w a i t i n g l o o pJ M $ A 4 8 3g e B A S I C l i n e i n t o i n p u t

b u - f - F e rC H R G E T p o i n t e r t b u - f - f e rC H R G E T g e n e x t c h a r a c t e r

b u - f - f e r e m p t y , k e e p w a i t i n gs i g n - f o r d i r e c t m o d ed i g i t , t h e n i n s e r t a l i n ec h a n g e l i n e t o i n t e r p r e t e re x e c u t e c o m m a n d c o d e

C l i n s r t o p r o g r a m l i n e sc h a n g e l i n e t a d d r f o r mc h a n g e l i n e t i n t r p r c o d ep o i n t e r t o i n p u t b u f f e rc a l c u l a t e a d d r e s s o l i n e

E r a s e p r o g r a m l i n e

A -

Page 151: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 151/304

A 4 D CA 4 D EA 4 D FA 4 E 1A 4 E 3A 4 E 4A 4 E 6A 4 E 8A 4 E AA 4 E B

C I B 9 C D E E C D

2

2 2

F 2 2

F

D E C L L D S T

N B N I N I N D E B N

$ 2

( $ 2 2 ) , Y( $ 2 4 ) , Y

$ A 4 D F$ 2 $ 2 $ A 4 D F

s h i f t — l o o p

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 4 E D 2 0 5 9 A 6 J S R $ A 6 5 9A 4 F 0 2 3 A J S $ A 5 3 3A 4 F 3A 4 F 6A 4 F 8A 4 F 9A 4 F BA 4 F DA 4 F FA 5 0 1A 5 0 3A 5 0 5A 5 0 7A 5 0 8A 5 0 AA 5 0 DA 5 0 FA 5 1 1A 5 1 4A 5 1 7A 5 1 9A 5 1 BA 5 1 DA 5 1 FA 5 2 1A 5 2 2A 5 2 5A 5 2 7A 5 2 8A 5 2 AA 5 2 DA 5 3 0* * * * *A 5 3 3A 5 3 5A 5 3 7A 5 3 9A 5 3 BA 5 3 CA 5 3 EA 5 4 0

A F 1 A 8 6 8 A 8 9 C 8 2 A A 8 B A A 8 8 A 8 B 9 8 1 2 2 4

* * * ■ »A A 8 8 1 A B F

0 8

2 5 O 5 2 5 O

5 B 1 1 F F 3 3 2 2 O

F 5 F 5 3 8

E - * * *2 2 2 2

0 2 I

0

A

0 0

0

A A A

r * * - 3

L D B E C L L D S T A D S T L D S T B C

N S T J S L D L D S T S T L D L D S T S T L D D E L D S T D E B P J S J S J M

* * * * *L D L D S T S T C L L D L D B E

$ 0 2 0 0$ A 4 8 0$ 2 $ 5 $ 0 $ 5 $ 2 $ 5 $ A 5 0 B$ 5 $ A 3 B 8$ 1 $ 1 $ 0 F $ 0 1 F F$ 3 $ 3 $ 2 $ 2 S O

$ 0 1 F C , Y( $ 5 F ) , Y

$ A 5 2 2$ A 6 5 9$ A 5 3 3$ A 4 8 0

[ • * * * * * * *$ 2 $ 2 $ 2 $ 2

# $ 0 1( $ 2 2 ) , Y

$ A 5 5 F

I n s e r t p r o g r a m l i n eC L R c o m m a n dt i n e w p r o g r a m l i n ec h a r a c t e r s i b u f f e r ?n o t h e n g o t o w a i t i n g — l o o p

s h i f t B A S I C l i n e s

C L c o m m a n dt i n e w p r o g r a m l i n ej u m p t w a i t i n g - l o o p

T i n e B A S I C p r o g r a m — l i n e

A -

Page 152: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 152/304

A 5 4 2A 5 4 4A 5 4 5A 5 4 7A 5 4 9A 5 4 AA 5 4 BA 5 4 DA 5 4 EA 5 5 OA 5 5 2A 5 5 4A 5 5 6A 5 5 7A 5 5 9A 5 5 BA 5 5 DA 5 5 F

A O 0 4C B 2 D O F BC 9 6 5 2 2A A 0 9 2 A 2 6 O C 9 2 8 6 2 28 5 2 39 0 D D6

L D # $ 0 4N

L D ( $ 2 2 ) , YB N E $ A 5 4 4

N T Y A D C $ 2 2T A L D # $ 0 0S T ( $ 2 2 ) , YL D A $ 2 3A D # $ 0 0

N S T ( $ 2 2 ) , YS T $ 2 S T $ 2 B C $ A 5 3 CR T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 5 6 0 A 2 0 0 L D X # $ 0 0A 5 6 2 2 1 2 E l J S $ E 1 1 2A 5 6 5A 5 6 7A 5 6 9A 5 6 CA 5 6 DA 5 6 FA 5 7 1A 5 7 3A 5 7 6

C F 9 E E 9 A 4 4

O O 0 5 F 1 3 C

0

A A

C M B E S T I N C P B C L D J M J M

# $ O D$ A 5 7 6$ 0 2 0 0 , X

# $ 5 9$ A 5 6 2# $ 1 7$ A 4 3 7$ A A C A

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 5 7 9A 5 7 CA 5 7 EA 5 8 0A 5 8 2A 5 8 5A 5 8 7A 5 8 9A 5 8 BA 5 8 CA 5 8 EA 5 9 0A 5 9 2A 5 9 4A 5 9 6A 5 9 8A 5 9 AA 5 9 CA 5 9 EA 5 A OA 5 A 2A 5 A 4A 5 A 6

6 A A 8 B 1 C F E D C F 8 C F 2 7 C D A D C 9

0 7 0 O 0 0 F 3

F 2 3 0 2 5 O 2 3 0 9 2 3 0

0

0

J M L D L D S T L D B P C M B E I N B N C M B E S T C M B E B I B V C M B N L D B N C M B C

( $ 0 3 0 4 )$ 7 # $ 0 4$ 0 $ 0 2 0 0 , X$ A 5 8 E# $ F F$ A 5 C 9

$ A 5 8 2# $ 2 0$ A 5 C 9$ 0 # $ 2 2$ A 5 E E$ 0 $ A 5 C 9# $ 3 F$ A 5 A 4# $ 9 9$ A 5 C 9# $ 3 0$ A 5 A C

I n p u t n e l i n e

g e c h a r a c t e rR E T U R N k e y ?y e s , e n i n p u ts t o r e c h a r a c t e r i b u - f - f e r8 9 ' t h c h a r a c t e r ?n o g e n e x t c h a r a c t e r

f o " s t r i n g t o l o n g "o u t — p u t e r r o r m e s s a g e■ f i n i s h b u f f e r w i t h $ 0 0 ,

o u t — p u t c a r r i a g e r e t u r nC h a n g e l i n e t i n t e r p r e t e r

J M $ A 5 7 C c o d e

f l a g f o i n t e r p r e t e d c o m m ag e c h a r a c t e r f r o m b u f f e rn b a s i c c o d e ?c h e c k f o P c o d e

e m p t y c h a r a c t e r

i n t e r p r e t e d c o m m a " ,

q u e s t i o n m a r k " ? s u b s t i t u t e w i t h c o d e f o

P R I N Tc h e c k f o z e r o " 0 s m a l l e r ?

A -

Page 153: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 153/304

A 5 A 8A 5 A AA 5 A CA 5 A EA 5 B 0A 5 B 2A 5 B 3A 5 B 5A 5 B 6A 5 B 7A 5 B 8A 5 B BA 5 B CA 5 B FA 5 C 1A 5 C 3A 5 C 5A 5 C 7A 5 C 9A 5 C AA 5 C BA 5 C EA 5 D 1A 5 D 3A 5 D 4A 5 D 6A 5 D 8A 5 D AA 5 D CA 5 D EA 5 D FA 5 E 1A 5 E 3A 5 E 5A 5 E 8A 5 E AA 5 E CA 5 E EA 5 E FA 5 F 2A 5 F 3A 5 F 5A 5 F 7A 5 F 9A 5 F AA 5 F DA 5 F FA 6 0 2A 6 0 4A 6 0 7A 6 0 9A 6 0 CA 6 0 EA 6 1 0A 6 1 2

C 9 8 A 8 8 8 C C E B 3 F F C D O A E C 9 B F 3 E F C D 8 3 E D 8 B F C F c 9 E D A E C B 1 B D B 1 9 C A 8 6

3 I 7 0 O

7

O

9 F 8 3 O 7

F F 3

3 0 4 0 O

5 9 0 0 D 0 D

F F 7 O

9 F 9 B 0 B F 7 F 7

O

A

O 0

0

0

A

A

0 0

C M B C S T L D S T D E S T D E

N I N

L D S E S B B E C M B N O R L D I N

N S T L D B E S E S B B E C M B N S T S E S B B N S T L D B E C M B E

N S T I N B N L D I N

N L D B P L D B N L D B P S T D E L D S T R T

# $ 3 C$ A 5 C 9$ 7 # * 0 0* 0

$ 7

* O 2 O O , X* A 0 9 E , Y$ A 5 B 6# * 8 0* A 5 F 5* 0 * 7

$ 0 1 F B , Y$ 0 1 F B , Y* A 6 O 9# * 3 A* A 5 D C# * 4 9* A 5 D E* 0 # * 5 5$ A 5 8 2$ 0 * O 2 O O , X* A 5 C 9$ 0 * A 5 C 9

* 0 1 F B , Y* A 5 E 5* 7 * 0

$ A 0 9 D , Y* A 5 F 9* A 0 9 E , Y* A 5 B 8$ 0 2 0 0 , X* A 5 C 7* 0 1 F D , Y* 7 # * F F* 7

c h a r a c t e r i b u f f e r

c o m p a r e w i t h B A S I C - w o r dl i s t

f o u n d , c o d e i e v e nc o u n t e r + * 8 0

s a v e B A S I C - c o d ea n g e s t a t u s r e g i s t e rf i n i s h , t h e n d o n e

c h e c k f o c o l o r " : d i v i s i o n m a r k s ?D A T A c o d e ?

R E M c o d e ?

c o m p a r e w i t h l i s t i n g

s e b u f f e r p o i n t e r t —

A -

Page 154: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 154/304

Page 155: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 155/304

A 6 6 BA 6 6 DA 6 6 FA 6 7 1A 6 7 3A 6 7 5A 6 7 7A 6 7 AA 6 7 CA 6 7 EA 6 7 FA 6 8 0A 6 8 1A 6 8 3A 6 8 4A 6 8 5A 6 8 6A 6 8 7A 6 8 9A 6 8 BA 6 8 D

A A 8 8 8 8 2 A 8 6 A 6 A 9 4 9 4 A 8 8 6

2 2 2 3 3 3 I 1 1

F

0 3 1

A

L D L D S T S T S T S T J S L D S T P L T A P L L D T X P H T Y P H L D S T S T R T

$ 2 $ 2 $ 2 $ 3 $ 3 $ 3 $ A 8 1 D# $ 1 9$ 1

# $ F A

# $ 0 0$ 3 $ 1

v a r i a b l e f i n i s h v a r i a b l es t a r t

R E S T O R E c o m m a n ds e b a c k s t r i n g d e s c r i p t o r

i n d e x e s

i n i t i a l i z e s t a c k p o i n t e r

b l o c k C O N T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * P r o g r a m p o i n t e r t o B A S I C -A 6 8 EA 6 8 FA 6 9 1A 6 9 3A 6 9 5A 6 9 7A 6 9 9A 6 9 B

A 6 9 CA 6 9 EA 6 A 0A 6 A 2A 6 A 4A 6 A 7A 6 A AA 6 A DA 6 A FA 6 B iA 6 B 3A 6 B 6A 6 B 9A 6 B BA 6 B CA 6 B DA 6 B FA 6 C 1A 6 C 3A 6 C 5A 6 C 7A 6 C 9A 6 C B

1 A 6 8 A 6 8 6

9 F C D 2 2 2 F C D 2 2 D 6 6 A 0 D A 8 8 A 8

2 F 7 2 F 7

0 0 A E 6 1 7 O A 8 7 6 8

1 1 0 F 1 1 0 O

A A 0

0 A

C L L D A D S T L D A D S T R T

* • * # * ■ }B C B E C M B N J S J S J S B E C M B N J S J S B N P L P L L D O R B N L D S T S T L D S T

$ 2 # $ F F$ 7 $ 2 # $ F F$ 7

$ A 6 A 4$ A 6 A 4# $ A B$ A 6 8 D$ A 9 6 B$ A 6 1 3$ 0 0 7 9$ A 6 B B# $ A B$ A 6 4 1$ 0 0 7 3$ A 9 6 B$ A 6 4 1

$ 1 $ 1 $ A 6 C 9# $ F F$ 1 $ 1 # $ 0 1$ 0

s t a r t

B A S I C - s t a r t

m i n u s

B A S I C - L I S T c o m m a n ds i g n ? ( l i n e n u m b e r )o n l y l i s t ?c o d e f o " - ( t h r o u g h )d i f f . c o d e , S Y N T A X E R R O Rg e l i n e n u m b e rc a l c u l a t e s t a r t a d d r e s s o g e l a s t s y m b o l l i n en o l i n e n u m b e r ?c o d e f o " - ( t h r o u g h )n o S Y N T A X E R R O Rg e t n e x t s y m b o lg e l i n e n u m b e r

i s e c o n d l i n e - n u m b e r 0 n

l i s t t o t h e n

A - 1 1

Page 156: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 156/304

A 6 C DA 6 C FA 6 D 1A 6 D 4A 6 D 7A 6 D 8A 6 D AA 6 D BA 6 D CA 6 D EA 6 E 0A 6 E 2A 6 E 4A 6 E 6A 6 E 8A 6 E AA 6 E DA 6 E FA 6 F 1A 6 F 3A 6 F 6A 6 F 8A 6 F AA 6 F CA 6 F EA 7 0 0A 7 0 1A 7 0 3A 7 0 5A 7 0 7A 7 0 8A 7 0 AA 7 0 BA 7 0 CA 7 0 EA 7 1 0A 7 1 2A 7 1 4■ * • » * * *A 7 1 7A 7 1 AA 7 1 CA 7 1 EA 7 2 0A 7 2 2A 7 2 4A 7 2 5A 7 2 7A 7 2 8A 7 2 AA 7 2 CA 7 2 DA 7 2 FA 7 3 0

B F 2 2 C B A C B C D E F B 8 2 A A 2 2 C D A 4 8 C F B D A B A C B 8 8 D 4

6 1 C F 2 3 3 E A 8 A C F C B

5 4 2 D 5

5 1 0 1 O 2 4 C 2 4 7 4 2 0 O F O

1 5 1 5

5 5 6 B 8

< ■ - * * - ]0 D F D O C

7

4 F

0

9

A A

B

A

E * ■ * • * ■

0

A

L D B E J S J S

N L D T A N L D C M B N C P B E B C S T J S L D L D A N J S C M B N L D E O S T

N B E L D B N T A L D T A

N L D S T S T B N J M

J M B P C M B E B I B M S E S B T A S T L D D E B E

N L D

( $ 5 F ) , Y$ A 7 1 4$ A 8 2 C$ A A D 7( $ 5 F ) , Y

( $ 5 F ) , Y$ 1 $ A 6 E 6$ 1 $ A 6 E 8$ A 7 1 4$ 4 $ B D C D# $ 2 0$ 4 # $ 7 F$ A B 4 7# $ 2 2$ A 7 O O$ 0 # $ F F$ 0 $ A 7 1 4( $ 5 F ) , Y$ A 7 1 7( $ 5 F ) , Y

( $ 5 F ) , Y$ 5 $ 6 $ A 6 C 9$ E 3 8 6

( $ 0 3 0 6 )$ A 6 F 3# $ F F$ A 6 F 3$ 0 $ A 6 F 3# $ 7 F

$ 4 # $ F F$ A 7 3 7

$ A 0 9 E , Y

l i n k a d d r e s s h i g hy e s , r e a d yc h e c k o s t o p k e o u t - p u t < C R ) , n e w l i n e

g e l i n e - n u m b e r

c o m p a r e w i t h e n n u m b e r

b i g g e r , t h e n - f i n i s h

o u t — p u t l i n e n u m b e ro u t - p u t " ( s p a c e )

o u t — p u t c h a r a c t e r. . ( ! • ) • • i n v e r t e d q u o t e ?

t u r n i n v e r t e d - c o m m a f l a gn l i n e - e n d a f t e r 2 5

s y m b o l s , t h e n s t o pg e c h a r a c t e rn l i n e - e n d , t h e n l i s t

s t a r t a d d r e s s o - n e x t l i n e

s a v e a p o i n t e rc o n t i n u e t B A S I C

W A R M - S T A R TC h a n g e B A S I C - C O D E i n t o c l e a r

t e x tn i n t e r p r e t e r c o d e , j u s tc o d e - f o r P o u t - p u tj u s t o u t - p u ti n v e r t e d c o m m a m o d e ?t h e n j u s t o u t - p u t s y m b o ln u l l o f o - f - f - s e t c o d e t r e n u m b e r c h a r a c t e r p o i n t e r

■ f i r s t c o m m a n d w o r d ?

f i n d o f - f - s e t f o c o m m a n d

A - 1 2

Page 157: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 157/304

A 7 3 3A 7 3 5A 7 3 7A 7 3 8A 7 3 BA 7 3 DA 7 4 0

1 F 3 0 F 5C B 9 9 E A 03 0 B 22 0 4 7 A BD F

B P L $ A 7 2 FB M $ A 7 2 C

N L D $ A 0 9 E , YB M $ A 6 E FJ S $ A B 4 7B N $ A 7 3 7

A 7 4 2 A 9 8 0 L D A # $ 8 0A 7 4 4 8 1 S T A $ 1 0A 7 4 6A 7 4 9A 7 4 CA 7 4 EA 7 4 FA 7 5 1A 7 5 2A 7 5 3A 7 5 4

7 5 A 7 5 7A 7 5 AA 7 5 DA 7 5 EA 7 5 FA 7 6 1A 7 6 2A 7 6 4A 7 6 6A 7 6 " 'A 7 6 9A 7 6 AA 7 6 CA 7 6 DA 7 6 FA 7 7 2A 7 7 5A 7 7 8A 7 7 AA 7 7 CA 7 7 EA 7 8 0A 7 8 2A 7 8 4A 7 8 6A 7 8 8A 7 8 BA 7 B DA 7 B FA 7 9 2A 7 9 5A 7 9 7A 7 9 9A 7 9 C

2 2 D 8 6 A 9 6 6 A 2 2 1 9 6 4 A 6 4 A 4 A 4 A 2 2 2 A 0 2 8 A A 8 8 4 A A 2 2 C D 2 2

A 8 0

O

0 F 0

7

7 0

3

3

A F 8 8 6 7 6 6 8 A 2 2 4 B B A 7 A 0 7 8

A A

A A

A A A

A

B O

0 A

J S J S B N T X A D T A T X P L P L L D J S J S C L T Y A D P H

D A D P H L D P H L D P H L D J S J S J S L D O R A N S T L D L D S T S T J M L D L D J S J S C M B N J S J S

$ A 9 A 5$ A 3 8 A$ A 7 5 3

J * $ O F

# $ O 9$ A 3 F B$ A 9 0 6

$ 7

$ 7 # $ 0 0

$

$ 3

# $ A 4$ A E F F$ A D B D$ A D B A# 6 # $ 7 F$ 6 $ 6 # $ 8 B# $ A 7$ 2 $ 2 $ A E 4 3# $ B C# * B 9$ B B A 2$ 0 0 7 9# $ A 9$ A 7 9 F$ 0 0 7 3$ A D 8 A

w o r db i t / s e t , n e x t w o r dg e c o m m a n d w o r d - f r o m l i s tl a s t l e t t e r , t h e n f i n i s h e do u t - p u t c h a r a c t e ro u t - p u t n e x t l e t t e r

B A S I C - F O R c o m m a n db l o c k i n t e g e rL E T s e t s F O R v a r i a b l es e a r c h e s f o l o o p n a m e t h en o - F o u n d s a m e n a m ei n c r e a s e s t a c k - p o i n t e r

g e t r e t u r n a d d r e s s f r o ms t a c k

c h e c k s o s p a c e i s t a c ks e a r c h e s f o n e x t B A S I C -

s t a t e m e n tp r o g r a m p o i n t e r t o n e x t

c o m m a n da n s a v e o s t a c k

r u n n i n g l i n e n u m b e r o s t a c k

" T O " c o d ec h e c k s o c o d en u m e r i c v a r i a b l e ?g e t s n u m b e r f r o m F A C

s a v e r e t u r n a d d r e s s

p u l o o p — e n d v a r i a b l e o s t a c k

p o i n t s t c o n s t a n t a d e f a u l t - S T E P v a l u e i F A g e t l a s t c h a r a c t e r" S T E P " c o d en o s t e p v a l u eg e n e x t c h a r a c t e rg e t s n u m b e r f r o m F A

A - 1 3

Page 158: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 158/304

Page 159: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 159/304

A 8 0 1 4 C 7 3 0 0 J M P $ 0 0 7 3A 8 0 4 4 A 5 A 9 J M $ A 9 A 5

n e x t c h a r a c t e r a n e x e c u t et L E T c o m m a n d c o m m a n d

A 8 0 7 C 9 3 A C M # $ 3 AA 8 O 9 F 0 D B E $ A 7 E 1A 8 0 B 4 0 A J M $ A F 0 8A 8 O EA 8 1 0A 8 1 2A 8 1 5A 8 1 7A 8 1 A* * * * * *A 8 1 DA 8 1 EA 8 2 0A 8 2 2A 8 2 4A 8 2 6A 8 2 7A B 2 9A B 2 B

C D 2 A 2 4

3 A E A B 8 8 8 6

4 F 7 0 A F A A O A 8

2 0 2 0

4 4

C M B N J S L D J S J M

< - ■ * * • * - }

S E L D S B L D B C D E S T S T R T

# $ 4 B$ A B O B$ 0 0 7 3# $ A 4$ A E F F$ A 8 A 0

( • • * ■ • * ■ * * ■ * •

$ 2 # * 0 1$ 2 $ A 8 2 7

$ 4 $ 4

I I I

" s y n t a x e r r o r "C h e c k s o " G O " " T O " c o d e

" G O " ( n i m u s $ 8 0 )

g e t s n e x t c h a r a c t e r" T O "c h e c k s o c o d et G O T O c o m m a n d

B A S I C - R E S T O R E c o m m a n d

p r o g r a m s t a r t -

c u r r e n t D A T A a d d r e s s

A 8 2 C 2 0 E F J S S F F E 1

A 8 2 F B 0 B C * A 8 3 2

A 8 3 1A 8 3 2A 8 3 4A 8 3 6A 8 3 8A 8 3 AA 8 3 BA 8 3 DA 8 3 FA 8 4 1A 8 4 3A 8 4 5A 8 4 7A S 4 9A 8 4 AA 8 4 BA 8 4 DA 8 4 FA 8 5 1A 8 5 4

1 D A A A E F 8 8 A A 8 8 6 6 A A 9 4 4

3 7 7 3 O 3 3 3 3 3 3

8 A 0 6 8

C L B N L D L D L D I N B E S T S T L D L D S T S T P L P L L D L D B C

A 4 J M PE 3 J M P

$ A 8 7 0$ 7 $ 7 $ 3 * A B 4 9* 3 $ 3 $ 3 $ 3 S 3 * 3

# $ 8 1# $ A 3$ A 8 5 4$ A 4 6 9* E 3 8 6

C h e c k s o s t o p — k e yc h e c k s s t o p - k e y

B A S I C - S T O P c o m m a n ds e S T O P - f l a g t ( C = l )

B A S I C - E N D c o m m a n ds e E N - F l a g t ( C = 0 )

p r o g r a m p o i n t e rd i r e c t m o d e ?y e

s e p o i n t e r - f o r C O N T

c u r e n t l i n e n u m b e r

s t o r e - f o r C O N Tg e r e t u r n a d d r e s s f r o m

s t a c ks e p o i n t e r t o " B R E A K "" E N D " - f l a g ?n o o u t - p u t " B R E A K I X X X 1t B A S I C w a r m - s t a r t

A - 1 5

Page 160: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 160/304

Page 161: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 161/304

A B B 7A 8 B 9A 8 B AA 8 B CA 8 B EA 8 C 0A 8 C 3A 8 C 5A 8 C 7A 8 C 9A 8 C BA 8 C DA 8 C FA 8 D 1

9 E B A A 2 9 A E 8 A E 8 6

0

0 2 2 1 A I 5 0 7 6 0 7

B C I N B C L D L D J S B C L D S B S T L D S B S T R T

$ A B C O$ A 8 C 0$ 2 $ 2 S A 6 1 7$ A 8 E 3$ 5 # $ 0 1$ 7 $ 6 # $ 0 0$ 7

c u r r e n t l i n e

s e a r c h e s - f r o m p r o g r a ms t a r t

s e a r c h e s p r o g r a m l i n en o - F o u n d , t h e n " U N D E F ' D "

s t a t e m e n t

s e p r o g r a m p o i n t e r t o n e l i n e

A B D 2 D O F D B N $ A 8 D 1A F L D A # $ F F8 4 S T $ 4 2 0 8 A A 3 J S R $ A 3 B A9 T X C 8 C M # $ B DF O O B B E Q $ A 8 E BA O L D # $ 0 C2 A 1 B I T $ 1 1 A 24 3 7 A 4 J M P $ A 4 3 74 0 A J M $ A F O B

P L

A 8 D 4A 8 D 6A 8 D 8A 8 D BA 8 D CA 8 D EA 8 E 0A 8 E 2A 8 E 5A B E BA 8 E BA 8 E CA 8 E DA 8 E FA 8 F 0A 8 F 2A 8 F 3A 8 F 5A 8 F 6

6 6 8 3 6 8 3 6 8 7 6 8 5 7 B

P L S T $ 3 P L S T A $ 3 AP L S T $ 7 P L S T A $ 7 B

A 8 F 8 2 0 0 A 9 J S R $ A 9 0 6A 8 F BA 8 F CA 8 F DA 8 F FA 9 0 1A 9 0 3A 9 0 5

A 9 0 6A 9 0 8A 9 0 BA 9 0 DA 9 0 F

9 1 6 8 9 E 6

A 2 8 A 8

7 7 0 7

3 A 0 0 0

T Y C L A D S T B C I N R T

L D 0 B I

S T L D S T

$ 7 $ 7 $ A 9 0 5$ 7

# $ 3 A$ 0 0 A 2$ 0 # $ 0 0$ 0

B A S I C - R E T U R N c o m m a n d

f i n d n e x t G O S U B d a t a s e i s t a c k

G O S U B c o d ef o u n d ?# f o r " R E T U R N W I T H O U T G O S U B 1 1

f o " U N D E F ' D S T A T E M E N T "o u t - p u t e r r o r m e s s a g eo u t - p u t " S Y N T A X E R R O R "

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

g e p r o g r a m p o i n t e r f r o ms t a c k

B A S I C - D A T A a n R E c o m m a n d ss e a r c h f o n e x t s t a t e m e n to f f s e t

a d t p r o g r a m p o i n t e r

F i n d o f f s e t o n e x t " = 1 1 c o l o r

e n o l i n e

c o n t a i n s o f f s e t

A - 1 7

Page 162: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 162/304

A 9 1 1A 9 1 3A 9 1 5A 9 1 7A 9 1 9A 9 1 BA 9 1 DA 9 1 FA 9 2 1A 9 2 2A 9 2 4A 9 2 6

A A 8 8 B F C F C C D F

0 0 0 0 7 E 0 E

2 F E

L D L D S T S T L D B E C M B E

N C M B N B E

$ O $ 0 $ 0 $ 0 < $ 7 A ) , Y

$ A 9 0 5$ 0 $ A 9 0 5# $ 2 2$ A 9 1 9$ A 9 1 1

d e s i r e d c h a r a c t e r

g e c h a r a c t e re n o - l i n e , t h e n d o n e

i n c r e a s e p o i n t e ri n v e r t e d c o m m a

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 9 2 8 2 9 A D J S R $ A D 9 EA 9 2 B 2 7 0 J S R $ 0 0 7 9

C 9 B 9F 0

A 9 2 EA 9 3 OA 9 3 2A 9 3 4A 9 3 7A 9 3 9A 9 3 BA 9 3 EA 9 4 0A 9 4 3A 9 4 5A 9 4 8

C M B E $ A 9 3 7

A A L D A # $ A 72 0 F F A J S $ A E F FA 6 L D $ 6 D O 0 5 B N $ A 9 4 02 0 A J S $ A 9 0 9F O B B B E Q $ A 8 F B2 7 0 J S $ 0 0 7 9B O 0 3 B C S $ A 9 4 84 A A 8 J M P $ A 8 A 04 E A J M $ A 7 E D■ a . * * * . * * . * * * * * * * * * * * * * * * * * * * * * * *

A 9 4 B 2 0 9 E B 7 J S $ B 7 9 EP H C M P # $ 8 DB E $ A 9 5 7C M # $ 8 9B N $ A 8 E 8D E C $ 6 5

A 9 4 EA 9 4 FA 9 5 1A 9 5 3A 9 5 5A 9 5 7A 9 5 9A 9 5 BA 9 5 CA 9 5 FA 9 6 2A 9 6 5A 9 6 7A 9 6 9A 9 6 A

4 C 8 F 0 C 9 8 9D 9 C 6 D O 0 46

B N $ A 9 5 FP L

4 E F A 7 J M $ A 7 E F2 0 7 3 0 0 J S R $ 0 0 7 32 0 6 B A 9 J S $ A 9 6 BC 2 C M P # $ 2 CF O E E B E $ A 9 5 76 P L 6 R T

B A S I C - I F c o m m a n dc a l c u l a t e e x p r e s s i o nl a s t c h a r a c t e r" G O T O " c o d ey e " T H E N " c o d er e s u l t o I F - t e r me x p r e s s i o n t r u e ?n o l o o k f o n e x t n e l i n ep r o g r a m p o i n t e r t n e x t n e g e l a s t c h a r a c t e r l i n en d i g i t ?t G O T O c o m m a n dd e c o d e n e x t c o m m a n d a n

e x e c u t eB A S I C — O N c o m m a n dg e b y t e v a l u e s ( 0 - 2 5 5 )s a v e c o d e" G O S U B " c o d ey e " G O T O " c o d en t h e n " S Y N T A X E R R O R "d e c r e a s e p o i n t e rn o z e r o y e t ?y e s , g e b a c k c o d e a n de x e c u t e c o m m a n dg e n e x t c h a r a c t e rg e l i n e n u m b e r" , c o m m a ?y e s , t h e n c o n t i n u en o g e r e t u r n c o d e , d o n e

A - 1 8

Page 163: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 163/304

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 9 6 BA 9 6 DA 9 6 FA 9 7 1A 9 7 3A 9 7 5A 9 7 7A 9 7 9A 9 7 BA 9 7 DA 9 7 FA 9 8 1A 9 8 2A 9 8 4A 9 8 5A 9 8 7A 9 8 9A 9 8 BA 9 8 DA 9 8 FA 9 9 1A 9 9 3A 9 9 5A 9 9 7A 9 9 9A 9 9 BA 9 9 DA 9 9 FA 9 A 2* * * * *A 9 A 5A 9 A 8A 9 A AA 9 A CA 9 A EA 9 B 1A 9 B 3A 9 B 4A 9 B 6A 9 B 7A 9 B AA 9 B BA 9 B CA 9 B FA 9 C 1A 9 C 2

A 8 8 B E 8 A 8 C B A O 2 O 2 6 8 A 6 8 0 2 A 6 8 9 E 2 4

* * * *2 8 8 A 2 A 4 A 4 2 6 2 2 D 6 1

0 1 1 F 2 0 1 2 1 D 1

2

2 1 1 2 1 1 1 1 1 0 1 0 1 7 7

( ■ * * ■ *8 4 4 B F O O

9

9 1

1

0 A

t - * * - )B

A

A

A

L D S T S T B C S B S T L D S T C M B C L D A S R O A S R O A D S T L D A D S T A S R O L D A D S T B C I N J S J M

t * * * 4J S S T S T L D J S L D P H L D P H J S P L R O J S B N P L B P

# $ 0 0$ 1 $ 1 $ A 9 6 A# $ 2 F$ 0 $ 1 $ 2 # $ 1 9$ A 9 5 3$ 1

$ 2

$ 2 $ 1 $ 1 $ 2 $ 1 $ 1 $ 1 $ 1 $ 1 $ 0 $ 1 $ A 9 9 F$ 1 $ 0 0 7 3$ A 9 7 1

( • * * * * *$ B 0 8 B$ 4 $ 4 # $ B 2$ A E F F$ 0 $ 0

$ A D 9 E

$ A D 9 0$ A 9 D 9

$ A 9 D 6

G e t s l i n e # a n d c o n v e r t si t a d d r e s s - F o r m a t

p r e - f i l l i n g o - l i n e # = r e s u l t i n g a d d r e s s o - t h l i n e i i $ 1 6 / $ 1 5

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 9 C 4 2 I B J S R $ B C 1 BA 9 C 7 2 B B J S R * B 1 B FA 9 C A A O 0 L D Y # $ 0 0A 9 C C A 5 6 L D A $ 6 4A 9 C E 9 4 S T ( $ 4 9 ) , Y

C H R G E T g e n e x t c h a r a c t e r• f o r e v a l u a t i o n

B A S I C - L E T s t a t e m e n tl o o k s - f o r v a r i a b l es a v e v a r i a b l e a d d r e s s

' c o d ec h e c k s o c o d es a v e i n t e g e r - f l a g

a n t y p e f l a g < l = s t r i n g )

g e t e r mg e t b a c k t y p e - f l a ga n c h e c k o c o r r e c t t y p e

r e a d ?

V a l u e a s s i g n m e n t I N T E G E Rr o u n d F A a n c h a n g e t i n t e g e r

b r i n g v a l u e i n t o v a r i a b l e

A - 1 9

Page 164: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 164/304

A 9 D 0 C I N A 9 D 1 A 6 L D A $ 6 5A 9 D 3 9 4 S T ( $ 4 9 ) , YA 9 D 5 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *A Q n A A C n o R R . I M P * R R n O* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A 9 D 9 6 8 P L A

A 4 L D $ 4 C B C P Y # $ B FD 4 B N E $ A A 2 C2 0 A 6 B J S $ B 6 A 6

A 9 D AA 9 D CA 9 D EA 9 E 0A 9 E 3A 9 E 5A 9 E 7A 9 E 9A 9 E BA 9 E DA 9 E FA 9 F 2A 9 F 5A 9 F 7A 9 F 9A 9 F CA 9 F FA A O OA A 0 2A A 0 3A A 0 4A A 0 7A A 0 9A A O AA A O CA A O EA A 1 1A A 1 4A A 1 6A A 1 8A A 1 A

C 9 0 6 C M P # $ 0 6D 3 D B N E $ A A 2 4A O 0 0 L D Y # $ 0 08 6 S T $ 6 8 6 6 S T Y $ 6 68 7 S T $ 7 2 I A A J S R $ A A 1 D2 E 2 B A J S R $ B A E 2E 7 I N $ 7 A 7 L D $ 7 2 I A A J S R $ A A 1 D2 0 O C B J S $ B C O CA T A F O 0 5 B E Q $ A A 0 7E I N 8 T X 2 E D B A J S R $ B A E DA 7 L D $ 7 C I N C O 0 6 C P Y # $ 0 6D O D F B N E $ A 9 E D2 E 2 B A J S R $ B A E 22 9 B B C J S $ B C 9 BA 6 L D $ 6 A 6 3 L D Y $ 6 3A 6 L D A $ 6 54 D F J M $ F F D B

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A A 1 D B 2 L D ( $ 2 2 ) , YA A 1 F 2 0 8 0 0 0 J S $ 0 0 8 0A A 2 2 9 0 0 3 B C $ A A 2 7A A 2 4 4 4 B 2 J M P $ B 2 4 8A A 2 7 E 9 2 F S B C # $ 2 FA A 2 9 4 7 B D J M P $ B D 7 E* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A A 2 CA A 2 EA A 3 0A A 3 2A A 3 4A A 3 6A A 3 7A A 3 9

A O 0 2B 6 C 3 9 1 D 0 8 B 6 C 3

L D Y # $ 0 2L D ( $ 6 4 ) , YC M $ 3 B C $ A A 4 BB N $ A A 3 DD E L D ( $ 6 4 ) , YC M £ 3

V A l u e a s s i g n m e n t R E A Lb r i n g F A C t o v a r i a b l e

V a l u e a s s i g n m e n t s t r i n gv a r i a b l e a d d r e s s h i g hi v a r i a b l e T I $ ?n F R E S T Rs t r i n g l e n g t hn o " i l l e g a l q u a l i t y "

c h e c k s n e x t n u m b e rF A F A 1 i n c r e a s e d i g i t c o u n t e rc h e c k s n e x t n u m b e rc o p y F A t o A R G

F A 0

F A F A A R i n c r e a s e d i g i t c o u n t e r

d i g i t s y e t ?

F A F A 1 m a k e F A r i g h t - b i n d i n g

t i m e t h a t w a p u i

s e m C h e c k n u m b e r

c h e c k n u m b e r

" I L L E G A L Q U A N T I T Y "c h a n g e - f r o m A S C I I t h e t r a n s f e r i n t o F A a n d A R G

V a l u e a s s i g n m e n t t o n o r m a ls t r i n g

s t r i n g a d d r e s s h i g hc o m p a r e w i t h s t r i n g s t a r ts m a l l e r , s t r i n g i s t o r e d

w i t h i n t h p r o g r a m s p a c e

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

A - 2 0

Page 165: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 165/304

A A 3 BA A 3 DA A 3 FA A 4 1A A 4 3A A 4 5A A 4 7A A 4 9A A 4 BA A 4 DA A 4 FA A 5 2A A 5 4A A 5 6A A 5 9A A 5 BA A 5 DA A 5 FA A 6 1A A 6 4A A 6 6A A 6 8A A 6 AA A 6 CA A 6 FA A 7 1A A 7 3A A 7 5A A 7 6A A 7 8A A 7 AA A 7 BA A 7 DA A 7 F

A A 8 0A A 8 3

9 0 A 4 6 5C 2 9 0 D O A 6 C 2 B 0 A 5 6 4A 4 6 54 6 A A 0 B 6 2 0 7 5 B A 5 A 5 8 6 8 7 2 7 B A 6 A 0 8 5 5 08 5 2 D B B 6A 0

5 4

B 9 C B 5 9 4 C B 5 9 4 6

B C L D C P B C B N L D C M B C L D L D J M L D L D J S L D L D S T S T J S L D L D S T S T J S L D L D S T

N L D S T

N L D S T R T

$ A A 4 B$ 6 $ 2 $ A A 4 B$ A A 5 2$ 6 $ 2 $ A A 5 2$ 6 $ 6 $ A A 6 8# $ 0 0( $ 6 4 ) , Y

$ B 4 7 5$ 5 $ 5 $ 6 $ 7 $ B 6 7 A# $ 6 1# $ 0 0$ 5 $ 5 $ B 6 D B# $ 0 0( $ 5 0 ) , Y( $ 4 9 ) , Y

( $ 5 0 ) , Y( $ 4 9 ) , Y

( $ 5 0 ) , Y( $ 4 9 ) , Y

s t r i n g i i t h p r o g r a ms p a c e

2 8 A A J S R $ A A 8 64 C B 5 A B J M P $ A B B 5

A A 8 6 2 0 9 B J S $ B 7 9 EA A 8 9 F 0 B E $ A A 9 0A A 8 B A 9 2 C L D A # $ 2 CA A 8 D 2 0 F F A E J S $ A E F FA A 9 0 0 P H A A 9 1 8 1 S T $ 1 A A 9 3 2 0 1 E J S $ E 1 1 8A A 9 6 2 8 P L PA A 9 7 4 C A O A A J M P $ A A A OA A 9 A 2 0 2 A B J S R $ A B 2 1A A 9 D 2 0 7 9 0 0 J S R $ 0 0 7 9* * * * * * * ■ * * * * * * * * * * * # * * * * * • * * * * *A A A O F 3 B E Q $ A A D 7

l e n g t h o s t r i n gc h e c k s m e m o r y s p a c e , s e t s

s t r i n g p o i n t e r

t r a n s f e r s t r i n g i n t os t r i n g r a n g e

c l e a r d e s c r i p t o r f r o ms t r i n g s t a c k

l e n g t h

a d d r e s s l o

a n a d d r e s s h i g hb r i n g i n t o v a r i a b l e

B A S I C - P R I N T # c o m m a n dC M D c o m m a n dt o P R I N T c o m m a n d

B A S I C - C M D c o m m a n dg e t s b y t e e x p r e s s i o n

c h e c k s o c o m m a

s a v e o u t - p u t d e v i c e ss e o u t — p u t d e v i c e

p r i n t s t r i n gl a s t c h a r a c t e r

B A S I C - P R I N T c o m m a n d

A - 2 1

Page 166: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 166/304

A A A 2A A A 4A A A 6A A A 8A A A AA A A BA A A DA A A FA A B 1A A B 3A A B 5A A B 8A A B AA A B CA A B FA A C 2A A C 5A A C 8A A C AA A C CA A C F

A D A A D 3A A D 5A A D 7A A D 9A A D CA A D EA A E OA A E 2A A E 5A A E 7A A E 8A A E 9A A E CA A E DA A E EA A F OA A F 2A A F 4A A F 6

F 4 C A F 5 C A 1 F 4 C 2 F 3 C 9 3 BF 5 2 0 9 E2 O 3 D 2 0 D D2 8 2 2 2 0 3 BD O D 3A 0 9 D 0 0A F A 0 A 1 D 1 A O 2 4 2 1 1 0 A O 2 4 4 F 6 3 2 F 9 3 E 9 O AB F 4 9 F F6 0 D 1

B E C M B E C M C L B E C M B E C M B E

A J S B I B M

B J S B J S A B J S RA J S

B N L D 0 S T

L D L D L D B N L D

A J S B I B P L D

A J S E O R T S E

F J S T Y S E S B B C E O A D B N

$ A A E 7# $ A 3$ A A F 8# $ A 6$ A A F 8# $ 2 C$ A A E 8# $ 3 B$ A B 1 3$ A D 9 E$ 0 $ A A 9 A$ B D D D$ B 4 8 7$ A B 2 1$ A B 3 B$ A A 9 D# $ 0 0$ O 2 O O , X# $ F F# $ 0 1$ 1 $ A A E 7# $ 0 D$ A B 4 7$ 1 $ A A E 5# $ 0 A$ A B 4 7# $ F F

" T A B ( " c o d e" S P C < " c o d e

$ F F F O

# $ 0 A$ A A E E# $ F F# $ 0 1$ A B O E

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A A F 8 0 8 P H PA A F 9 3 S E A A F AA A F DA A F FA B 0 2A B 0 4A B 0 6A B 0 7A B O 9A B A B O CA B O E

2 F F J S $ F F F O8 0 S T Y $ 0 92 0 9 B B 7 J S R $ B 7 9 B

C M # $ 2 9B N E $ A B 5 FP L B C C $ A B O FT X S B $ 0 B C C $ A B 1 3T A

C 9 2 9D 5 2 9 0 0 68 E 0 9 0 0 5A

g e t e r mt y p e - f l a gs t r i n g ?c h a n g e F A C t o A S C I I s t r i n gg e t s t r i n g p a r a m e t e r sp o i n t s t r i n go u t - p u t s p a c ec o n t i n u ei n p u t b u - f - f e r• f i n i s h w i t h $ 0s e p o i n t e r t o i n p u t b u f f e rn u m b e r o - o u t - p u t d e v i c e s< C R ) c a r r i a g e r e t u r n

o u t — p u tl o g i c a l - F i l e - n u m b e rs m a l l e r t h a n 1 2 8 ?( L F ) l i n e f e e d

o u t — p u t

d e c i m a l t a b u l a t o r w / c o m m ag e c u r s o r p o s i t i o n

s u b t r a c t 1 n o n e g a t i v ei n v e r ta d o n

T A B ( < C = 1 ) a n d S P C ( ( C = 0 )s a v e f l a gg e c u r s o r p o s i t i o na n s a v e i g e b y t e v a l u e1 1 ) " c l o s i n gn o " S Y N T A X E R R O R "t S P C CT A v a l u e i A S C I Ic o m p a r e w c u r s o r p o s i t i o nv a l u e l e s s t h a n p o s i t i o n ,

t h e n r e a d y

A - 2 2

Page 167: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 167/304

A B O FA B 1 OA B A B 1 3A B 1 6A B 1 9A B 1 C

E C D 2 4 2 D

0 7 A 3 F

0 A A

I N D E B N J S J M J S B N

S A 1 $ 0 0 7 3$ A A A 2$ A B 3 BS A 1

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B I E 2 0 8 B J S R $ B 4 8 7A B 2 1 2 A B 6 J S R $ B 6 A 6A B 2 4 A A T A XA B 2 5 A O 0 0 L D Y # $ 0 0A B 2 7 E 8 I N A B 2 8 C D E A B 2 9 F O B C B E Q $ A A E 7A B 2 B B 2 L D ( $ 2 2 ) , YA B 2 D 2 0 4 A J S $ A B 4 7A B 3 0 C I N A B 3 1 C O C M P # $ 0 DA B 3 3 D O F B N $ A B 2 8A B 3 5 2 0 E A A J S R $ A A E 5A B 3 8 4 C 2 8 A B J M $ A B 2 8

C H R G E T g e t n e x t c h a r a c t e ra n c o n t i n u eo u t - p u t s p a c et o l o o p s t a r t

O u t - p u t s t r i n gg e s t r i n g p a r e m e t e rF R E S T Rs t r i n g l e n g t h

s t r i n g e n d ?s t r i n g c h a r a c t e ro u t p u t1 1 C R " c a r r i a g e r e t u r nn o c o n t i n u ei n v e r t c o d ea n c o n t i n u e

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * O u t - p u t a e m p t y c h a r a c t e rA B 3 BA B 3 DA B 3 FA B 4 7A B 4 8A B 4 AA B 4 BA B 4 7A B 4 AA B 4 C

A 1 F 0 A 2 2 A I 2 A 3 2 0 O C E 2 F 6

L D A $ 1 3B E Q $ A B 4 2L D A # $ 2 0- B Y T E $ 2 L D A # $ 1 D- B Y T E $ 2 L D # $ 3 FJ S R $ E 1 0 CA N # $ F FR T

1 s q a c ec u r s o r r i g h t

" ? q u e s t i o n m a r ko u t - p u ts e f l a g s

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B 4 D A 1 L D $ 1 A B 4 F F 1 B E Q $ A B 6 2A B 5 1 3 0 0 4 B M $ A B 5 7A B 5 3 A F L D # $ F FA B 5 5 D 0 B N $ A B 5 B* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B 5 7 A 5 3 L D A $ 3 FA B 5 9 A 4 4 L D Y $ 4 0* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B 5 B 8 5 3 S T $ 3 A B 5 D 8 3 S T Y $ 3 AA B 5 F 4 C 0 A J M $ A F 0 8* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B 6 2 A 1 L D $ 1 A B 6 4 F O 0 B E Q $ A B 6 BA B 6 6 A 1 L D # $ 1 8

E r r o r t r e a t m e n t a i n p u tf l a g f o I N P U T / G E T / R E A DI N P U TR E A DG E

E r r o r a R E A Dd a t a l i n e - n u m b e r

E r r o r a G E i l i n e n u m b e r o m i s t a k e" S Y N T A X E R R O R "

E r r o r a I N P U Tn u m b e r o i n p u t d e v i c ek e y b o a r d ?n u m b e r f o " F I L E D A T A "

A - 2 3

Page 168: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 168/304

A B 6 BA B 6 BA B 6 DA B 6 FA B 7 2A B 7 4A B 7 6A B 7 8A B 7 A

4 A A 2 A A 8 8 6

3 O A I 3 3 7 7

A

A

J M L D L D J S L D L D S T S T R T

$ A 4 3 7# $ 0 C# $ A D$ A B 1 E$ 3 $ 3 $ 7 $ 7

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B 7 B 2 A B 3 J S R $ B 3 A 6A B 7 EA B 8 0A B 8 2A B 8 5A B 8 8A B 8 AA B 8 DA B 8 FA B 9 2A B 9 4A B 9 6A B 9 8A B 9 BA B 9 DA B A OA B A 2A B A 4

C D 2 2 A 2 8 2 A A A 8 A 2 A D 6

2 1 7 9 2 F 1 I 0 0 0 0 4 O 1 1

O B

A E

0 A

C M B N J S J S L D J S S T J S L D L D L D S T L D J S L D B N R T

# $ 2 3$ A B 9 2$ 0 0 7 3$ B 7 9 E# $ 2 C$ A E F F$ 1 $ E 1 1 E# $ 0 1# $ 0 2# $ 0 0$ 0 2 0 1# $ 4 0$ A C O F$ 1 $ A B B 7

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B A S 2 0 9 E B 7 J S R $ B 7 9 EA B A 8 A 9 2 C L D A # $ 2 CA B A A 2 0 F A J S R $ A E F FA B A D 8 6 1 S T $ 1 A B A F 2 0 I E J S $ E 1 1 EA B B 2 2 0 C A B J S R $ A B C EA B B S A 1 L D $ 1 A B B 7 2 0 C C F F J S R $ F F C CA B B A A 2 0 0 L D X # $ 0 0A B B C 8 1 S T $ 1 A B B E 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B B F C 2 C M P # $ 2 2A B C 1 D O B N E $ A B C EA B C 3 2 0 B D A E J S R $ A E B DA B C 6 A 9 3 B L D A # $ 3 BA B C 8 2 F A E J S R $ A E F FA B C B 2 0 2 A J S $ A B 2 1A B C E 2 0 A B 3 J S R $ B 3 A 6A B D 1 A 2 L D A # $ 2 CA B D 3 8 D F 0 S T A $ 0 I F FA B D 6 2 F A B J S R $ A B F 9A B D 9 A S 1 L D $ 1

o u t - p u t e r r o r m e s s a g e

p o i n t e r t " ? R E D O F R O Mo u t - p u t s t r i n g S T A R T

p r o g r a m p o i n t e r b a c kt I N P U T c o m m a n d

B A S I C - B E T c o m m a n dc h e c k s o d i r e c t m o d e" # n o g e n e x t c h a r a c t e rg e b y t e v a l u e" , c o m m ac h e c k s o c o d eG E T g e t s c h a r a c t e rp o i n t e r t b u f f e r e n d = $ 2 0 1b u f f e r e n d s w i t h $ 2 0 1 a n d $ 0G E f l a gv a l u e a s i g n m e n t t v a r i a b l ei n p u t d e v i c en o t k e y b o a r d , t h e n C L R C H

B A S I C - I N P U T * c o m m a n dg e t s b u t e v a : i e

i i i i

c h e c k s o c o m m ai n p u t d e v i c eg e c h a r a c t e rI N P U T w / o d i a l o g s t r i n g

s e t s b a c k i n p u t d e v i c ei n p u t d e v i c e i k e y b o a r d

B A S I C - I N P U T c o m m a n d( H i n v e r t e d c o m m a

n g e d i a l o g s t r i n gs e m i c o l o nc h e c k s o c o d eo u t - p u t s t r i n gc h e c k s o d i r e c t m o d e1 1 , " c o m m at b u f f e r s t a r to u t - p u t q u e s t i o n m a r kn u m b e r o i n p u t d e v i c e

A - 2 4

Page 169: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 169/304

A B D BA B D DA B E OA B E 2A B E 4A B E 7A B E AA B E DA B E FA B F 1A B F 3A B F 6A B F 9A B F BA B F DA C O OA C 0 3

F O 2 0 B 7 F 2 9 0 2F 0 2 0 B 5 A 4 F A A O O D I A 1 D E 2 0 A 4 F A A 1 D O 0 62 4 A 2 3 A 4 6 0 A 5

B E J S A N B E J S J M L D B N L D B N J S J M L D B N J S J S J M

$ A B E A$ F F B 7# $ 0 2$ A B E A$ A B B 5$ A B F 8$ 0 2 0 0$ A C O D$ A B D 6$ A 9 0 6$ A B F B

$ A C 0 3$ A B 4 5$ A B 3 B$ A 5 6 0

A C 0 6 A 4 L D $ 4 A 4 L D $ 4 A 9 L D A # $ 9 82 C A 9 0 0 B I T $ 0 0 A 98 1 S T $ 1 8 6 4 3 S T X $ 4 8 4 4 4 S T $ 4 2 8 B J S $ B 0 8 B

A C 0 8A C O AA C O CA C O FA C 1 1A C 1 3A C 1 5A C 1 8A C 1 AA C 1 CA C 1 EA C 2 0A C 2 2A C 2 4A C 2 6A C 2 8A C 2 AA C 2 CA C 2 FA C 3 1A C 3 3A C 3 5A C 3 8A C 3 BA C 3 DA C 3 FA C 4 1A C 4 3A C 4 5A C 4 7A C 4 AA C 4 DA C 4 FA C 5 1A C 5 4A C 5 6A C 5 8

8 4 S T $ 4 8 4 S T Y $ 4 AA 7 L D $ 7 A 7 L D Y $ 7 B8 5 4 B S T $ 4 8 4 S T $ 4 A 4 L D X $ 4 3A 4 L D Y $ 4 48 7 A S T X $ 7 8 7 S T Y $ 7 B2 7 0 0 J S R $ 0 0 7 9

B N $ A C 5 1B I $ 1 B V $ A C 4 1J S R $ E 1 2 4

D 2 2 1 5 O 2 2 E 8 D O O 0 2 S T A $ 0 2 0 0A 2 F FA 0 D O O C3 0 7 5A 1 D 0

L D # $ F FL D # $ O 1B N E $ A C 4 DB M $ A C B 8L D $ 1 B N E $ A C 4 A

2 0 4 5 A B J S R $ A B 4 52 F 9 A B J S R $ A B F 9

S T $ 7 S T $ 7

8 7 8 7 2 7 3 0 0 J S $ 0 0 7 32 4 O D1 0 3 12 1

B I T $ O DB P $ A C 8 9B I $ 1

k e y b o a r d ?g e s t a t u sT i m e - o u t ?y e s , C L R C H , r e s e t k e y b o a r de x e c u t e n e x t s t a t e m e n tg e - f i r s t c h a r a c t e re n d ?y e s , i n p u t d e v i c en o k e y b o a r d ?o u t - p u t " ? o u t — p u t s p a c eg e i n p u t l i n e

B A S I C - R E A D c o m m a n dg e D A T A p o i n t e rR E A D f l a g

s e

I N P U T p o i n t e r t i n p u tl o o k s f o v a r i a b l es a v e v a r i a b l e a d d r e s s

u n d e r — s a v e p r o g r a m p o i n t e ri $ 4 b / $ 4 c

I N P U T p o i n t e re q u a l s p r o g r a m p o i n t e r

C H R G O T g e t s l a s t c h a r a c t e ri n p u t f l a g

w r i t e c h a r a c t e r i n t o b u f f e r

i n p u t d e v i c en o k e y b o a r d ?o u t - p u t " ? o u t - p u t s e c o n d " ? s e p r o g r a m p o i n t e rg e t n e x t c h a r a c t e rt y p e f l a g

A - 2 5

Page 170: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 170/304

A C 5 AA C 5 CA C 5 DA C 5 FA C 6 1A C 6 3A C 6 5A C 6 7A C 6 9A C 6 BA C 6 DA C 6 FA C 7 1A C 7 2A C 7 4A C 7 6A C 7 8A C 7 AA C 7 CA C 7 DA C 8 0A C 8 3A C 8 6A C 8 9A C 8 CA C 8 EA C 9 1A C 9 4A C 9 6A C 9 8A C 9 AA C 9 DA C 9 FA C A 1A C A 3A C A 5A C A 7A C A 9A C A BA C A DA C B OA C B 2A C B 5A C B 8A C B BA C B CA C B DA C B FA C C 1A C C 2A C C 4A C C 6A C C 7A C C 9A C C B

5 E 8 A 8 F 8 C F A 8 A 1 8 A A 6 9 C 2 2 2 4 2 A 2 2 F C F 4 A A 8 8 A A 8 8 2 F 2 4 2 C A D A C B F C B 8 C

O

7 0 0 O 0 2 0 3 0 2

0 7 7 0 0

8 E D 9 F O C 7 0 2 0 4 7 7 4 4 4 4 7 7 7 2 F 1 0

1 O

7 6

7 3

B B A A B

A 0

A

0

A A A

B V N

S T L D S T B E S T C M B E L D S T L D C L S T L D L D A D B C

N J S J S J S J M J S L D J S J S B E C M B E J M L D L D S T S T L D L D S T S T J S B E J S J M J S

N T A B N L D

N L D B E

N L D S T

N

$ A C 6 5

$ 7 # $ 0 0$ 0 $ A C 7 1$ 0 # $ 2 2$ A C 7 2# $ 3 A$ 0 # $ 2 C$ 0 $ 7 $ 7 # $ 0 0$ A C 7 D

$ B 4 8 D$ B 7 E 2$ A 9 D A$ A C 9 1$ B C F 3$ 0 $ A 9 C 2$ 0 0 7 9$ A C 9 D# $ 2 C$ A C 9 D$ A B 4 D$ 7 $ 7 $ 4 $ 4 $ 4 $ 4 $ 7 $ 7 $ 0 0 7 9$ A C D F$ A E F D$ A C 1 5$ A 9 O 6

$ A C D 1# $ O D

( $ 7 A ) , Y$ A D 3 2( $ 7 A ) , Y

$ 3

• i n v e r t e d c o m m a

t a k e o v e r s t r i n gp r o g r a m p o i n t e r b e h n d s t r n ga s s i g n s t r i n g t o v a r i a b l ec o n t i n u eg e d i g i t s t r i n g i F A I N T E G E R / R E A L f l a ga s s i g n F A C t v a r i a b l eg e t l a s t c h a r a c t e re n d ?

t e r r o r t r e a t n e b tp r o g r a m p o i n t e r

e q u a l s D A T A p o i n t e rg e t b a c k p r o g r a m p o i n t e r

g e t l a s t c h a r a c t e r

c h e c k s o c o m m ac o n t i n u el o o k - f o r n e x t s t a t e m e n t

l i n e e n d ?n

e n o - p r o g r a m ?" O U T O F D A T A " X =

A - 2 6

Page 171: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 171/304

A C C CA C C EA C C FA C D 1A C D 4A C D 7A C D 8A C D AA C D CA C D FA C E 1A C E 3A C E SA C E 7A C E AA C E CA C E EA C F OA C F 2A C F 4A C F 6A C F 8A C F B

B C 8 2 2 A E D 4 A A A 1 4 A B F A D A A 4 6

7

4 F 7

8 D 5 4 4 1 0 2 O 4 O 1 0 F A I

A O

A

A

A

L D I N S T J S J S T A C P B N J M L D L D L D B P J M L D L D B E L D B N L D L D J M R T

< $ 7 A ) , Y

$ 4 $ A 8 F B$ 0 0 7 9

# $ 8 3$ A C B 8$ A C 5 1$ 4 $ 4 $ 1 $ A C E A$ A 8 2 7# $ 0 0( $ 4 3 ) , Y

$ A C F B$ 1 $ A C F B# $ F C# $ A CS A I

p r o g r a m p o i n t e r t n e x t s t —g e l a s t c h a r a c t e r a t e m e n t" D A T A "n o k e e p l o o k i n gr e a d d a t a

i n p u t p o i n t e ri n p u t - f l a gn D A T A ?a D A T A p o i n t e r

p o i n t e r t " E X T R A I G N O R E D "o u t - p u t s t r i n

A C F C 3 4 5 5 5 4 2 4 A D 0 4 4 7 4 E 4 5 4 4 O D 0 0A D O C 3 F 5 2 4 4 4 F 2 0 4 5 A D 1 4 4 F 4 D 2 0 5 3 5 4 4 5 5 A D 1 C O * * * * * * * * * * * * * * * * * * * * * * * * * * A D 1 E D 0 B N $ A D 2 4A D 2 0 A O 0 0 L D # $ 0 0

F O O 3 B E Q $ A D 2 72 0 8 B B O J S $ B O B B8 5 4 9 S T A $ 4 98 4 4 A S T Y $ 4 A2 0 8 A A J S $ A 3 8 AF O 0 5 B E Q $ A D 3 5A O L D # $ 0 A4 C 3 7 A J M $ A 4 3 7

A D 2 2A D 2 4A D 2 7A D 2 9A D 2 BA D 2 EA D 3 0A D 3 2A D 3 5A D 3 6A D 3 7A D 3 8A D 3 AA D 3 BA D 3 DA D 3 FA D 4 0A D 4 2A D 4 5A D 4 6A D 4 9A D 4 B

9 T X 8 T X 1 C L 6 0 A D C # $ 0 44 P H 6 0 A D C # $ 0 68 2 4 S T A $ 2 46 P L A 0 L D # $ 0 12 A 2 B B J S $ B B A 2B A T S XB 0 0 L D A $ 0 1 0 9 , X8 6 S T $ 6 A 4 L D $ 4

" 7 E X T R A I G N O R E D "

" ? R E D O F R O M S T A R T "

B A S I C - N E X T c o m m a n dd o e s v a r i a b l e n a m e f o l l o w ?

l o o k s - f o r v a r i a b l ev a r i a b l e a d d r e s sl o o k s - f o r F O R - N E X T l o o pf o u n d i i s t a c kn u m b e r f o " N E X T W / F O R "o u t - p u t e r r o r m e s s a g e

g e v a r i a b l e f r o m s t a c k ,p u i F A

v a r i a b l e a d d r e s s

A - 2 7

Page 172: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 172/304

A D 4 DA D 4 FA D 5 2A D 5 5A D 5 7A D 5 AA D 5 BA D 5 CA D 5 FA D 6 1A D 6 4A D 6 6A D 6 9A D 6 BA D 6 EA D 7 0A D 7 3A D 7 5A D 7 8A D 7 9A D 7 BA D 7 CA D 7 DA D 8 0A D 8 2A D 8 4A D 8 7

A 4 2 0 6 72 D A 0 2 5 B 3 F 0 F 1 B O 8 3 B 1 8 3 B 1 8 7 B 1 8 5 7 B4 C A E8 6 1 A 9 2 7 C 2 D F 2 7 2 0 2 4

L D B 8 J S RB B J S R

L D B C J S R

T S S E S B B E

0 L D S T L D S T L D S T L D S T

A J M T X A D T A T X

0 0 J S RC M B N

0 0 J S RA D J S R

$ 4 $ B 8 6 7$ B B D O

0

0

0

0

$ B C 5 D

$ 0 1 0 9 , X$ A D 7 8$ 0 1 0 F , X$ 3 $ 0 1 1 0 , X$ 3 $ 0 1 1 2 , X$ 7 $ 0 1 1 1 , X$ 7 $ A 7 A E# $ 1 1

$ 0 0 7 9# $ 2 C$ A D 7 5$ 0 0 7 3$ A D 2 4

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A D 8 A 2 0 9 E A D J S R $ A D 9 E* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A D 8 D 1 C L A D 8 E 2 4* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A D 8 FA D 9 0A D 9 2A D 9 4A D 9 6A D 9 7A D 9 9A D 9 B

* * * * *A D 9 EA D A OA D A 2A D A 4A D A 6A D A 8A D A 9A D A AA D A B

3 2 3 B 6 B A 4

* * * • ]A D C C A 2 4 8 4

O 0 0

F 1 3 7 A 4

* * * * * * *7 0 7 7 0

S E B I B M B C R T B C L D J M

* - * * * • )L D B N D E D E L D

$ 0 $ A D 9 7$ A D 9 9$ A D 9 6# $ 1 6$ A 4 3 7

* * * * * *$ 7 $ A D A 4$ 7 $ 7 # $ 0 0

. B Y T E $ 2 4P H T X P H

a d d s S T E P v a l u e t o F A Cb r i n g F A C t o v a r i a b l ec o m p a r e F A C w i t h e n d v a l u e

o - o o

g e l i n e n u m b e r

g e p r o g r a m p o i n t e r

t i n t e r p r e t e r l o o p

C H R G O T g e t l a s t c h a r a c t e r1 1 , " c o m m an o t h e n d o n eg e n e x t c h a r a c t e rn e x t N E X T - v a r i a b l e

G e t e r m a n d c h e c k n u m b e r i cg e t e r m

C h e c k s o n u m e r i c

C h e c k s o s t r i n gc h e c k t y p e - f l a g

f o " T Y P E M I S M A T C H "o u t — p u t e r r o r m e s s a g e

F R M E V L e v a l u a t i o n o - t e r m

d e c r e a s e p r o g r a m p o i n t e r

A - 2 8

Page 173: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 173/304

A D A CA D A EA D B 1A D B 4A D B 6A D B 8A D B BA D B CA D B EA D C OA D C 2A D C 4A D C 6A D C 7A D C 9A D C BA D C DA D C FA D D 1A D D 4A D D 7A D D 9A D D BA D D DA D D FA D E 1A D E 3A D E 5A D E 8A D E AA D E CA D E DA D E FA D F OA D F 1A D F 4A D F 6A D F 9A D F AA D F DA D F EA E O OA E 0 2A E 0 3A E 0 5A E 0 7A E 0 9A E O AA E O BA E O DA E O FA E 1 1A E 1 3A E 1 5

A 2 2 A 8 2 3 E 9 C B C 2 4 4 C 9 8 2 4 A D B 6 9 6 D 4 6 8 O 6 A 6 D B 2 4 2 6 A 1 A F D 4 8 2 A D C C A 8

0 F 8 0 4 7

B 1 O 1 O

0 4 4 6 4 7 B 4 2 7 0 7 O 0 3 F 2

2

8 6 8

2 4 1

5 5 O

7 0 7 7 I 4

A A

0

0 A

B

A

A

A

L D J S J S L D S T J S S E S B B C C M B C C M R O E O E O C M B C S T J S J M L D B N B C A D B C A D B N J M A D S T A S A D T A P L C M B C J S P H J S P L L D B P T A B E B N L S T X R O L D B N D E D E L D S T

# $ 0 1$ A 3 F B$ A E B 3# $ 0 0$ 4 $ 0 0 7 9

# $ B 1$ A D D 7# $ 0 3$ A D D 7# $ 0 1

# $ 0 1$ 4 $ 4 $ A E 3 0$ 4 $ 0 0 7 3$ A D B B$ 4 $ A E O 7$ A E 5 8# $ 0 7$ A E 5 8$ 0 $ A D E 8$ B 6 3 D# $ F F$ 2

$ 2

$ A 0 B O , Y$ A E 5 D$ A D B D

$ A E 2 O$ 4 $ A E 1 9

$ A E 5 B$ A E 6 6$ 0

$ 7 $ A E 1 1$ 7 $ 7 # * 1 B$ 4

b y t e sc h e c k s o f r s t a c k s p a c eg e t n e x t c h a r a c t e rm a s k - f o r c o m p a r e o p e r a t o rg e t l a s t c h a r a c t e r

m a s k - f o r < = o

C H R G E T g e n e x t c h a r a c t eb a c k

s t r i n g l i n k a g ec o d e $ A A

t i m e s t h r e e

c o m p a r e w i t h o r d e r f l a gc h e c k s o n u m e r i c

o p e r a t o r a d d r e s s a n o p e r a n d s o s t a c k

c l e a r s t r i n g - f l a g

d e c r e a s e p r o g r a m p o i n t e r

o - f - f s e t o - o r d e r f l a gs e f l a g

A - 2 9

Page 174: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 174/304

A E 1 7A E 1 9A E 1 CA E 1 EA E 2 0A E 2 3A E 2 4A E 2 7A E 2 8A E 2 BA E 2 DA E 3 OA E 3 3A E 3 5A E 3 8A E 3 9A E 3 AA E 3 CA E 3 EA E 3 FA E 4 1A E 4 2A E 4 3A E 4 6A E 4 8A E 4 9A E 4 BA E 4 CA E 4 EA E 4 FA E 5 1A E 5 2A E 5 4A E 5 5A E 5 8A E 5 AA E 5 BA E 5 DA E 5 FA E 6 1A E 6 4A E 6 6A E 6 7A E 6 8A E 6 AA E 6 BA E 6 DA E 6 EA E 7 0A E 7 1A E 7 3A E 7 4A E 7 6A E 7 7A E 7 9

D D B 9 B 4 B 4 2 A 4 4 A B A 6 8 E 6 8 9 4 2 A 4 A 4 A 4 A 4 A 4 6 A 6 F C F 2 8 6 4 8 6 8 6 8 6 8 6 8 6 8 6

D 8 4 D 8

8 3 4 A 0 6 8

2 2

2

I 6

6

6 6 6 2 F

2 6 0 8 4

1

6

6

6 6 6

A

A

A A A A

A

B

O

A

B N C M B C B C L D P H L D P H J S L D J M J M L D L D T A P L S T I N P L S T T Y P H J S L D P H L D P H L D P H L D P H L D P H J M L D P L B E C M B E J S S T P L L S S T P L S T P L S T P L S T P L S T P L S T P L

$ A D F O$ A O 8 O , Y$ A E 6 6$ A D F 9$ A 0 8 2 , Y

$ A 0 8 1 , Y$ A E 3 3$ 4 $ A D A 9$ A F 0 8$ 6 $ A O 8 O , Y

$ 2 $ 2 $ 2

S B I $ 6

$ 6

$ 6 $ 6 $ 6

( $ 0 0 2 2 )# $ F F

$ A E 8 0# $ 6 4$ A E 6 4$ A D 8 D$ 4

$ 1 $ 6 $ 6

$ 6 $ 6 $ 6

c o m p a r e w i t h o r d e r - f l a g

o p e r a t i o n a d d r e s s o s t a c k

o p e r a n d s o s t a c kt o s t a r t o l o o p

v e " S Y N T A X E R R O R "s i g n so r d e r f l a g

s a v e r e t u r n a d d r e s s

s i g n

r o u n d F A C

F A o s t a c k

j u m p t o o p e r a t i o n

c h e c k s o n u m e r i c

g e A R f r o m s t a c k

A - 3 0

Page 175: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 175/304

A E 7 A 8 5 6 A E 7 C 4 5 6 6A E 7 E 8 5 6 A E 8 0 A 6 A E 8 2 6

S T A $ 6 EE O R $ 6 6S T $ 6 L D R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A E 8 3 6 C O A 0 J M < $ 0 3 0 A >

A 9 0 0 L D # $ 0 08 O D S T A $ 0 D2 7 3 O O J S R $ 0 0 7 3B 0 B C $ A E 9 24 F B J M $ B C F 32 1 3 B l J S $ B 1 1 39 0 0 3 B C C $ A E 9 A4 C 2 8 A J M P $ A F 2 8

C M P # $ F FB N E $ A E A DL D # $ A 8L D # $ A E

A E 8 6A E 8 8A E 8 AA E 8 DA E 8 FA E 9 2A E 9 5A E 9 7A E 9 AA E 9 CA E 9 EA E A OA E A 2A E A 5

C F D O O FA 9 A 8A A 2 A B B J S R $ B B A 24 C 7 3 0 0 J M P $ 0 0 7 3

G e a r t h m e t i t e r mJ M P $ A E 8 6t y p e f l a g o n u m e r i cg e t n e x t c h a r a c t e rd i g i t ?g e v a r i a b l e t o F A l e t t e r ?n g e v a r i a b l eB A S I C c o d e f o P i p o i n t e r t P c o n s t a n tg e c p m s t a m t t F A

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A E A 8 8 2 4 9 O F D A C o n s t a n t P 3 . 1 4 1 5 9 2 6 5A E A DA E A FA E B 1A E B 3A E B 5A E B 7A E B 9A E B BA E B DA E B FA E C 1A E C 3A E C 5A E C 6A E C 9A E C CA E C EA E D OA E D 2

A E D 4A E D 7A E D 9A E D BA E D CA E D EA E E O

C F C F C F C D A A 6 9 C 2 4 C D A D

X X X I2 A 4 A A 4 4

2 D A 5 A D 2 O 7 7 0 0

8 E A 1 1 3

E ' * * i MB 6 F

6 F 9

B B

X

B

B

C M B E C M B E C M B E C M B N L D L D A D B C

N J S J M C M B N L D B N

( ' ' M X J S L D E O T A L D E O J M

# $ 2 E$ A E 8 F# $ A B$ A F O D# $ A A$ A E 8 A# $ 2 2$ A E C C$ 7 $ 7 # $ 0 0$ A E C 6

$ B 4 8 7$ B 7 E 2# $ A S$ A E E 3# $ 1 8$ A F O F

$ B 1 B F$ 6 # $ F F$ 6 # $ F F$ B 3 9 1

g e p r o g r a m p o i n t e r

t r a n s f e r s t r i n gp r o g r a m p o i n t e r t s t r i n g" N O T " c o d e e n d +o f f s e t o o r d e r f 1 a g

l i s t

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A E E 3 C 9 A C M # $ A 5

c h a n g e F A t o i n t e g e r

t u r n a r o u n d a l b i t s

r e t u r n t r u n n i n g c o m m a

1 1 F N " c o d e

A - 3 1

Page 176: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 176/304

A E E 5A E E 7

D O 3 B N E $ A E E A4 F 4 B 3 J M P $ B 3 F 4

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A E E A C 9 B 4 C M P # $ B 4A E E C 9 0 0 3 B C C $ A E F 1A E E E 4 C A 7 A J M P $ A F A 7* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A E F 1 2 0 F A A E J S R $ A E F AA E F 4 2 O 9 A J S $ A D 9 E* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A E F 7 A 9 2 9A E F 9A E F AA E F CA E F DA E F FA F 0 1A F 0 3A F 0 5A F 0 8A F O AA F O DA F O FA F 1 0A F 1 1A F 1 4A F 1 5A F 1 7A F 1 9A F 1 BA F 1 DA F 1 FA F 2 1A F 2 3A F 2 5A F 2 7

2 A 2 2 A 9 2 CA 0 D 7 D O 0 34 7 A 2 O B4 C 3 7A 1 6 6 4 F 3 A 5 6 4E 9 0 0A 5 6 5E A 9 0 0 8A A E 6 A 9 E 3E 5 6 56

L D A # $ 2 9. B Y T E $ 2 L D A # $ 2 8. B Y T E $ 2 L D A # $ 2 CL D Y # $ 0 0C M < $ 7 A >B N $ A F 0 8

0 J M $ 0 0 7 3L D # $ 0 B

A J M P $ A 4 3 7L D # $ 1 5P L P L

A J M $ A D F AS E L D A $ 6 4S B # $ O OL D $ 6 S B C # $ A 0B C C $ A F 2 7L D A # $ A 2S B $ 6 L D A # $ E 3S B $ 6 R T

e x e c u t e I

" S G N c o d es m a l l e r ( n - f u n c t i o n ) ?f o c a l c u l a t i o n o f - f u n c t i o n

G e t s t e r m i p a r e n t h e s i sc h e c k s o p a r e n t h e s i s o p e nF R M E V L g e t s t e r m

C h e c k s o c h a r a c t e r i t e x t" ) c l o s e i n g p a r e n t h e s i s1 ( o p e n i n g p a r e n t h e s i s

c o m p a r e w i t h c u r e n t n u m b e rn c o n c u r r e n c e ?g e t n e x t c h a r a c t e r# f o r " S Y N T A X E R R O R "o u t - p u t e r r o r m e s s a g eo f f s e t o r d e r c o d e f o

c h a n g e o s i g nf o e v a l u a t i o n

* * * * * * * *A F 2 8 2 0 8 A F 2 B 8 5 6 A F 2 DA F 2 FA F 3 1A F 3 3A F 3 5A F 3 7A F 3 9A F 3 BA F 3 EA F 4 OA F 4 2A F 4 4

8 6 A 6 4 5A 4 A 5 O DF O 2 6A 0 8 5 7 02 1 9 1 E O 5 4D 1 C C

* * * * * * * * * * * * * * * *B J S $ B 0 8 B

S T A $ 6 4S T Y $ 6 5L D $ 4 L D Y $ 4 6L D A $ O DB E Q $ A F 5 DL D A # $ 0 0S T $ 7

A J S $ A F 1 4B C $ A F 5 CC P # $ 5 4B N E $ A F 5 CC P Y # $ C 9

G e v a r i a b l el o o k f o r v a r i a b l e

p o i n t s t v a r i a b l e o s t r i n g d e s c r i p t o r

v a r i a b l e n a m et y p e f l a gn u m e r i c ?

i i - r i i

1 I $

A - 3 2

Page 177: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 177/304

A F 4 6A F 4 8A F 4 BA F 4 DA F 4 EA F 5 0A F 5 2A F 5 4A F 5 6A F 5 9A F 5 CA F 5 DA F 5 FA F 6 1A F 6 3A F 6 5A F 6 6A F 6 7A F 6 9A F 6 AA F 6 BA F 6 EA F 7 1A F 7 3A F 7 5A F 7 7A F 7 9A F 7 BA F 7 EA F 7 FA F 8 1

D 2 8 8 8 A 8 A 2 4 6 2 1 A B A C B A 8 4 2 9 E D C D 2 9 A 4

1 8 5 7 0 5 2 6 6

O O 0 6

6

9 1

2 5 I 4 2 8 A 4

A

B B

B A

A

B

B N J S S T D E S T L D S T L D J S J M R T B I B P L D L D T A

N L D T A T X J M J S B C C P B N C P B N J S T Y L D J M

$ A F 5 C$ A F 8 4$ 5 $ 7 # $ 0 6$ 5 # $ 2 4$ B E 6 8$ B 4 6 F$ O $ A F 6 E# $ 0 0( $ 6 4 ) , Y

( $ 6 4 ) , Y

$ B 3 9 1$ A F 1 4$ A F A O# $ 5 4$ A F 9 2# $ 4 9$ A F A O$ A F 8 4# $ A 0$ B C 4 F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *A F 8 4A F 8 7A F 8 9A F B BA F 8 DA F 8 FA F 9 1A F 9 2A F 9 4A F 9 6A F 9 8A F 9 AA F 9 DA F A OA F A 2A F A 4A F A 7A F A 8A F A 9A F A AA F A DA F A FA F B 1

2 8 8 8 A 8 6 E D C D 2 4 A A 4 O 4 A 2 E 9 2

D 6 6 6 0 6

5 O 5 0 B 3 6 6 A

7 8 2 F

F

F B

B

O

A

J S S T S T S T L D S T R T C P B N C P B N J S J M L D L D J M A S P H T A J S C P B C J S

$ F F D E$ 6 $ 6 $ 6 # $ 0 0$ 6

# $ 5 3$ A F A O# $ 5 4$ A F A O$ F F B 7$ B C 3 C$ 6 $ 6 $ B B A 2

$ 0 0 7 3# $ 8 F$ A F D 1$ A E F A

g e t i m e

p r o d u c e s s t r i n g

I N T E B E R / R E A L - f l a gR E A L ?

g e n t e g e r n u m b e r

a n c h a n g e t r u n n i n g p o

1 1 T "

" I

g e T I M E t F A

G e t i m eg e T I M E

a n d i n t o - f l o a t i n g p o i n ta c c u m u l a t o r

» S

" T

g e s t a t u sc h a n g e b y t e i a c c u m . t

f l o a t i n g p o i n t - f o r m a tv a r i a b l e a d d r e s sg e v a r i a b l e i F A c o d e t i m e s

n e x t c h a r a c t e r

f u n c t i o n c o d e ?c h e c k s o p a r e n t h e s e s o

A - 3 3

Page 178: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 178/304

Page 179: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 179/304

Page 180: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 180/304

Page 181: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 181/304

B O E DB O E FB O F 1B 0 F 3B O F 5B 0 F 7B 0 F 9B O F BB O F DB O F FB 1 O 1B 1 0 3B 1 0 4B 1 0 6B 1 0 8B 1 0 9B 1 O AB 1 O CB 1 O EB 1 1 O

B i l l

A 8 8 E D C F A D D A C D F 8 1 A 6 9 E

D

2 6 5 3 0 2 2 4 5 0 4

5 7

5 0 E

D

L D S T S T C P B N C M B E L D C M B N L D

N C M B E D E C L L D A D B C

N

B N

$ 2 $ 6 $ 5 $ 3 $ B O F B$ 2 $ B 1 1 D$ 4 < $ 5 F > , Y

$ B 1 0 9$ 4

< $ 5 F ) , YS 1 8

$ 5 # $ 0 7$ B O F 1

$ B O E F

B 1 1 3B 1 1 5B 1 1 7B 1 1 9B 1 1 AB 1 1 C

B U B 1 1 EB 1 1 FB 1 2 1B 1 2 3B 1 2 5B 1 2 7B 1 2 8B 1 2 AB 1 2 CB 1 2 EB 1 3 0B 1 3 2B 1 3 4B 1 3 6B 1 3 8B 1 3 BB 1 3 DB 1 3 FB 1 4 1B 1 4 3B 1 4 5B 1 4 7B 1 4 9B 1 4 BB 1 4 D

C 9 E 3 E 6

f t * * *6 4 C D A A 6 A A C D C F C D 4 C D C F A A 8 8 A A

4 0 5 A

* * * * * *

2 0 1 B

4 4 5 O C E 4 0 0 A 5 0 5 F 2 3 5 6 3 3

C M B C S B S E S B R T

f - * * * *P L P H C M B N L D L D R T L D L D C M B N C P B E C P B N J M C M B N C P B E L D L D S T S T L D L D

# $ 4 1$ B 1 1 C# $ 5 B# $ A 5

* * * * * * * h

# $ 2 A$ B 1 2 8# $ 1 3# $ B F

$ 4 $ 4 # $ 5 4$ B 1 3 B# $ C 9$ B 1 2 3# $ 4 9$ B 1 3 B$ A F 0 8# $ 5 3$ B 1 4 3# $ 5 4$ B 1 3 8$ 2 $ 3 $ 5 $ 6 $ 3 $ 3

s a v e - f o r s e a r c h i n g

e n o v a r i a b l e s a l r e a d y ?y e s , n o - f o u n d• f i r s t l e t t e r o n a m ec o m p a r e w i t h v a r i a b l e l i s tn o k e e p l o o k i n gs e c o n d l e t t e r

c o m p a r e

i n c r e a s e p o i n t e r b 7 ( 2 + 5b y t e R E A L v a r i a b l e )

k e e p l o o k i n gC h e c k s o l e t t e r

y e s , t h e n C = n o t h e n C =

c h e c k c a l l i n g a d d r e s sc a l l i n g f r o m F R E M E V L ?n p o i n t e r o c o n s t a n t

v a r i a b l e n a m e1 1 T "

y e s , T I " I n " S Y N T A X E R R O R "

S T t h e n " S Y N T A X E R R O Rp o i n t e r t a r r a y l i s t i n g

A - 3 7

Page 182: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 182/304

B 1 4 FB 1 5 1B 1 5 3B 1 5 4B 1 5 6B 1 5 8B 1 5 9B 1 5 BB 1 5 DB 1 6 0B 1 6 2B 1 6 4B 1 6 5B 1 6 7B 1 6 9B 1 6 BB 1 6 DB 1 6 FB 1 7 0B 1 7 2B 1 7 4B 1 7 6B 1 7 7B 1 7 9B 1 7 AB 1 7 CB 1 7 DB 1 7 FB 1 8 0B 1 8 2B 1 8 3B 1 8 5B 1 8 7B 1 8 8B 1 8 AB 1 8 CB 1 8 EB 1 8 FB 1 9 1B 1 9 3

8 8 1 6 9 C 8 8 2 A A C 8 8 A A 9 C A 9 A C 9 C 9 C 9 C 9 C 9 A 1 6 A 9 C 8 8 6

5 5 0 0

5 5 B A 5 5

2 3 0 4 5 4 5 0 5

5 5

5

5 5

0 6 0

4 4

S T S T C L A D B C

N S T S T J S L D L D

N S T S T L D L D S T

N L D S T L D X N S T

N S T

N S T

N S T

N S T L D C L A D L D B C

N S T S T R T

$ 5 $ 5 # $ 0 7$ B 1 5 9

$ 5 $ 5 $ A 3 B 8$ 5 $ 5

$ 2 $ 3 # $ 0 0$ 4 ( $ 5 F ) ,

$ 4 < $ 5 F ) ,

# $ 0 0( $ 5 F ) ,

( $ 5 F ) ,

< $ 5 F ) ,

( $ 5 F ) .

( $ 5 F ) .$ 5

# $ 0 2$ 6 $ B 1 8 F$ 4 $ 4

,

,

,

,

,

B 1 9 4B 1 9 6B 1 9 7B 1 9 9B 1 9 BB 1 9 DB 1 9 FB 1 A 0B 1 A 2B 1 A 4

A O 6 6 A 9 C 8 8 6

O

0 5 6 0

5 5

L D A S A D A D L D B C

N S T S T R T

$ 0

# $ 0 5$ 5 $ 6 $ B 1 A O

$ 5 $ 5

s h i - f t b i o r d e r t - f i n d n e v a r i a b l e

n e b l o c k e n s h i - f t b l o c k

s e p o i n t e r t n e w a r r a yl i s t i n g

■ f i r s t l e t t e r o - n a m e

s e c o n d l e t t e r o - n a m e

• f i v e t i m e s z e r o - f o r v a l u e

C a l c u l a t e s p a i n t e r t - f i r s tn u m b e r o - D I M ' S e l e m e n tt i m e sp l u s

a d d t o $ 5 F / $ 6 0

r e s u l t - p o i n t e r

B 1 A 5 9 8 0 0 0 0 0 0 0

B 1 A A 2 B B J S $ B 1 B FB 1 A D A 5 6 4 L D A $ 6 4

c o n s t a n t - 3 2 7 6 8

c h a n g e F A t i n t e g e r

A - 3 8

Page 183: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 183/304

Page 184: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 184/304

B 2 1 1B 2 1 2B 2 1 4B 2 1 6B 2 1 8B 2 1 AB 2 1 CB 2 1 EB 2 2 0B 2 2 2B 2 2 4B 2 2 6B 2 2 8B 2 2 AB 2 2 CB 2 2 DB 2 2 FB 2 3 1B 2 3 3B 2 3 5B 2 3 7B 2 3 8B 2 3 AB 2 3 BB 2 3 DB 2 3 EB 2 3 FB 2 4 1B 2 4 3B 2 4 5B 2 4 7B 2 4 8B 2 4 AB 2 4 DB 2 4 FB 2 5 1B 2 5 3B 2 5 6B 2 5 BB 2 5 AB 2 5 CB 2 5 E

B 2 6 1B 2 6 4B 2 6 7B 2 6 9B 2 6 BB 2 6 DB 2 6 FB 2 7 1B 2 7 3B 2 7 4B 2 7 5

6 8 2 8 A A 8 B C D E F A B C C D A D F C B 1 6 A C B 6 9 A 2 A 4 A A D 2 A A D D 4

2 2 A 8 A A 9 1 C C A

O 7 O 2 3 5 6 3 0 3 3 0 5

4 0 4 5 1

5

5

5 6 D 1

O 3 1 O F 9 O 0 5 E E

* " * ■ * - )9 0 O 7 0 4 5 0

4

A

B

B

B A

P L S T A N S T L D L D S T S T C M B N C P B E L D L D I N C M B N L D C M B E I N L D C L A D T A I N L D A D B C L D

$ 0 # $ 7 F$ O $ 2 $ 3 $ 5 $ 6 $ 3 $ B 2 2 8$ 3 $ B 2 6 1# $ 0 0( $ 5 F ) , Y

$ 4 $ B 2 3 7$ 4 ( $ 5 F ) , Y$ B 2 4 D

( $ 5 F ) , Y

$ 5

< $ 5 F ) , Y$ 6 $ B 2 1 C# $ 1 2

- B Y T E $ 2 L D J M L D L D B N J S L D L D C M B N J M

J S J S L D S T L D L D S T B P D E I N L D

# $ 0 E$ A 4 3 7# $ 1 3$ 0 $ B 2 4 A$ B 1 9 4$ 0 # $ O 4( $ 5 F ) , Y

$ B 2 4 5$ B 2 E A

« ■ ■ * ■ * * * * • • * ■ *$ B 1 9 4$ A 4 0 8# $ 0 0$ 7 # $ 0 5$ 4 ( $ 5 F ) , Y$ B 2 7 4

$ 4

g e b a c k - F l a g s

p o i n t e r t a r r a y l i s t i n gs a v e p o i n t e r

c o m p a r e w i t h e n o - l i s t i n gy e s , n o - f o u n d

n a m e s - f r o m l i s t i n g

c o m p a r e w i t h h u n t e d n a m e

s e c o n d l e t t e rf o u n d

a d - F i e l d l e n g t h

a n c o n t i n u e s e a r c h i n gn u m b e r - f o r " B A D S U B S C R I P T "- f o r " I L L E G A L Q U A N T I T Y "

o u t - p u t e r r o r m e s s a g ef o " R E D I M ' D A R R A Y "

D I f l a g z e r o ?n o t h e n e r r o r m e s s a g ep o i n t e r t o f i r s t e l e m e n tn u m b e r o f o u n d d i m e n s i o n sc o m p a r e w i t h D I M n u m b e ru n e v e n , t h e n " B A D S U B S C R I P T "s e a r c h e s f o w a n t e d e l e m e n t

A p p l y a r r a y v a r i a b l el e n g t h o a r r a y h e a dc h e c k s o f r e e m e m o r y

d e f a u l t v a l u e f o l e n g t hf i r s t l e t t e r o t h n a m ei a r r a y l i s t i n gn i n t e g e r ?

s e c o n d l e t e r

A - 4 0

Page 185: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 185/304

B 2 7 7B 2 7 9B 2 7 BB 2 7 CB 2 7 DB 2 7 FB 2 8 1B 2 8 2B 2 8 3B 2 8 4B 2 8 6B 2 8 8B 2 8 AB 2 8 CB 2 8 EB 2 8 FB 2 9 0B 2 9 2B 2 9 3B 2 9 4B 2 9 6B 2 9 7B 2 9 9B 2 9 AB 2 9 BB 2 9 DB 2 A 0B 2 A 2B 2 A 4B 2 A 6B 2 A 8B 2 A AB 2 A CB 2 A EB 2 B 0B 2 B 1B 2 B 2B 2 B 4B 2 B 6B 2 B 7B 2 B 9B 2 B CB 2 B EB 2 C 0B 2 C 2B 2 C 4B 2 C 6B 2 C 8B 2 C 9B 2 C BB 2 C DB 2 C FB 2 D 1B 2 D 3B 2 D 5B 2 D 6

9 1

C C 8 A C C C 9 A A 2 5 6 1 6 A 6 6 C 9 C 8 9 2 8 8 A C D 6 B 8 A 8 6 9 C F 2 8 8 A E A F 8 9 D C C D E 3 A

5 0

7 O

5 O 0 O 0

0

0

5

5 4 C B 37 7 2 O D 5 5 5

5 0

5 0 A 3 3 0 7 7 0

5 F 5 7 F 5

3

S T B P D E D E S T L D

N N N

S T L D L D B I B V P L C L A D T A P L A D

N S T

N T X S T J S S T S T L D D E B N A D B C S T T A T X A D B C

N B E J S S T S T L D I N L D B E D E S T B N D E D E B N I N S E L D

( $ 5 F )$ B 2 7 D

$ 7 $ 0

( $ 5 F )# $ 0 B# $ 0 0$ 0 $ B 2 9 6

# $ 0 1

# $ 0 0

( $ 5 F ) ,

( $ 5 F ) ,$ B 3 4 C$ 7 $ 7 $ 2 $ 0 $ B 2 8 6$ 5 $ B 3 0 B$ 5

$ 5 $ B 2 B 9

$ B 3 0 B$ A 4 0 8$ 3 $ 3 # $ O O$ 7 $ 7 $ B 2 C D

( $ 5 8 ) ,$ B 2 C 8$ 5 $ 7 $ B 2 C 8$ 5

$ 3

,

,

r

,

w r i t e i n t o l i s t i n gn s t r i n g o i n t e g e r ?

f i n a l v a r i a b l e l e n g t h 2 , 3 , 5n u m b e r o - d i m e n s i o n s

s a v e1 1 , d e - f a u l t v a l u e - f o r D I M ' sc a l l b D I c o m m a n d ?n g e d i m e n s i o n f r o m s t a c ka d

a n s a v e

c a l c u l a t e f r e e m e m o r ys a v e v a r i a b l e - e n d p o i n t e rf u r t h e r d i m e n s i o n s ?y e

f i e l d l e n g t h p l u s s t a r t -a d d r e s s

c h e c k s o f r e e m e m o r yp o i n t e r t o e n d o l i s t i n gf i l l a r r a y w i t h O ' s

A - 4 1

Page 186: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 186/304

Page 187: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 187/304

B 3 3 3B 3 3 5B 3 3 6B 3 3 7B 3 3 9B 3 3 BB 3 3 EB 3 3 FB 3 4 1B 3 4 3B 3 4 4B 3 4 6B 3 4 8B 3 4 9B 3 4 B* * * * *B 3 4 CB 3 4 EB 3 5 0B 3 5 2B 3 5 3B 3 5 5B 3 5 7B 3 5 9B 3 5 BB 3 5 DB 3 5 FB 3 6 0B 3 6 1B 3 6 2B 3 6 3B 3 6 4B 3 6 5B 3 6 7B 3 6 9B 3 6 BB 3 6 DB 3 6 EB 3 6 FB 3 7 1B 3 7 2B 3 7 3B 3 7 5B 3 7 6B 3 7 8B 3 7 AB 3 7 C

1 C C 8 A 2 8 6 8 9 6 8 A A 6

* * * ■ »

8 B 8 8 B 8 A 8 A A 8 O A 9 2 A B 0 2 9 1 8 6 A 9 6 A B C D 6

0

2 0 5

5 4

5 4

4

* * * *2 5 2

5 2 1 5 0 0

A 7 7 O

2

2

9 5 E

B P D E D E S T L D

B J S T X A D S T T Y A D S T T A L D R T

E - * * * * * * 4

S T L D S T D E L D S T L D S T L D L D T X A S T A T Y R O T A B C A S R O B C C L T X A D T A T Y A D T A B C D E B N R T

$ B 3 3 7

$ 2 # $ O O$ B 3 5 5

$ 5 $ 4

$ 5 $ 4

$ 4

* * * * * * * *$ 2 ( $ 5 F ) , Y$ 2

( $ 5 F ) , Y$ 2 # $ 1 0$ 5 # $ 0 0# $ 0 0

$ B 3 0 B$ 7 $ 7 $ B 3 7 8

$ 2

$ 2 $ B 3 0 B$ 5 $ B 3 5 F

l e n g t h o v a r i a b l e s 2 , 3 , 5

c a l c u l a t e o f f s e t i a r r a y

H e l p e r f o a r r a y c a l c u l a t i o n

■ a . * * * * * . * * * * . * * * * * * * * * * * * * * * * * * * B A S I C - F R E f u n c t i o nB 3 7 D A O D L D A $ 0 D t y p e f l a gB 3 7 F F O 0 3 B E $ B 3 8 4 n s t r i n gB 3 8 1 2 A 6 B 6 J S R $ B 6 A 6 F R E S T RB 3 8 4 2 2 6 B 5 J S R $ B 5 2 6 g a r b a g e c o l l e c t i o nB 3 8 7 3 8 S E

A - 4 3

Page 188: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 188/304

B 3 8 8B 3 8 AB 3 8 CB 3 8 DB 3 8 FB 3 9 1B 3 9 3B 3 9 5B 3 9 7B 3 9 9B 3 9 B

A E A A E A 8 8 8 A 4

3 3

3 3 0 0 6 6 9 4

L D S B T A L D S B L D S T S T S T L D

B C J M P

$ 3 $ 3

$ 3 $ 3 # $ O O$ O $ 6 $ 6 # $ 9 0$ B C 4 4

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 3 9 E 3 8 S E CB 3 9 F 2 F F F J S R $ F F F OB 3 A 2 A 0 0 L D A # $ 0 0B 3 A 4 F E B E $ B 3 9 1* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 3 A 6 A 6 3 AB 3 A 8 E B 3 A 9 D A B 3 A B A 1 B 3 A D 2 B 3 A E A I

L D $ 3 I N B N E $ B 3 4 BL D # $ 1 5. B Y T E $ 2 L D # $ 1 B

B 3 B 0 4 3 7 A 4 J M $ A 4 3 7* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 3 B 3 2 E B J S $ B 3 E 1B 3 B 6 2 0 A 6 B J S $ B 3 A 6

2 F A A E J S R $ A E F AA 8 0 L D A # $ 8 08 1 S T $ 1 2 8 B O J S R $ B 0 8 B2 8 A J S $ A D 8 D2 0 F 7 A E J S R $ A E F 7

L D A # $ B 2

B 3 B 9B 3 B CB 3 B EB 3 C 0B 3 C 3B 3 C 6B 3 C 9B 3 C BB 3 C EB 3 C FB 3 D 1B 3 D 2B 3 D 4B 3 D 5B 3 D 7B 3 D 8B 3 D AB 3 D BB 3 D E

A B 2 0 F F A E J S R $ A E F F4 A 5 4 84 A 4 4 A 7 4 A 5 7 A4

P H L D A $ 4 8P H L D $ 4 P H L D $ 7 P H L D $ 7 P H

2 F 8 A 8 J S R $ A 8 F 84 C 4 F B 4 J M P $ B 4 4 F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 3 E 1 A 9 A 5 L D A # $ A 5B 3 E 3 2 F A E J S R $ A E F FB 3 E 6 0 8 O R A # $ 8 0B 3 E 8 8 1 S T $ 1

s t r i n g s t a r t

m i n u s v a r i a b l e e n s e - f l a g t n u m e r i cs a v e r e s u l ta n c h a n g e t - f l o a t i n g

p o i n tB A S I C - P O S - F u n c t i o n

C = g e t c u r s o r p o s i t i o ng e c u r s o r p o s i t i o nc o n t i n u e a a b o v e

T e s t o d i r e c t m o d e

n o t h e n R T Sf o " I L L E G A L Q U A N T I Y "- f o r " U N D E F ' D F U N C T I O N "

o u t p u t e r r o r m e s s a g e

B A S I C - D E F F c o m m a n dc h e c k s F s y n t a xc h e c k s o d i r e c t m o d ec h e c k s o p a r e n t h e s i s o p e n

b l o c k s i n t e g e r v a r i a b l el o o k s - f o r v a r i a b l ec h e c k s o n u m e r i cc h e c k s o p a r e n t h e s i s c l o s e" = B A S I C c o d ec h e c k s o " =

F v a r i a b l e s o s t a c k

p r o g r a m p o i n t e r o s t a c k

p o i n t e r o n e x t s t a t e m e n tg e F v a r i a b l e - f r o m s t a c k

C h e c k s o F s y n t a xF N c o d ec h e c k s o F c o d e

b l o c k s i n t e g e r v a r i a b l e s

A - 4 4

Page 189: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 189/304

B 3 E A 2 0 9 2 B J S R $ B 0 9 2B 3 E D 8 5 4 E S T $ 4 B 3 E F 8 4 S T $ 4 B 3 F 1 4 C 8 D A D J M P $ A D 8 D

B 3 F 4B 3 F 7B 3 F 9B 3 F AB 3 F CB 3 F DB 4 0 0B 4 0 3B 4 0 4B 4 0 6B 4 0 7B 4 0 9B 4 0 BB 4 0 DB 4 0 FB 4 1 0B 4 1 1B 4 1 3B 4 1 5B 4 1 7B 4 1 8B 4 1 AB 4 1 BB 4 1 CB 4 1 EB 4 2 0B 4 2 3B 4 2 5B 4 2 6B 4 2 8B 4 2 9B 4 2 BB 4 2 DB 4 2 EB 4 3 0B 4 3 2B 4 3 4B 4 3 5B 4 3 7B 4 3 8B 4 3 BB 4 3 CB 4 3 EB 4 3 FB 4 4 1B 4 4 4B 4 4 6B 4 4 9B 4 4 AB 4 4 C

2 A 4 A 4 2 2 6 8 6 8 A B 8 A C B F 8 C B 4 8 1 A 2 A 4 A 4 B 8 C B 8 A 4 A 4 2 6 8 6 8 2 F 4 6 8 6

E 4

4 F 8

4

4 0 4 4

4 9 4

4

F 4 D 7

7

4 7

4 7 4

4

8

4

4 7 0 0

7

B

A A

B

A

0

A

J S L D P H L D P H J S J S P L S T P L S T L D L D S T T A

N L D B E S T

N L D P H D E B P L D J S L D P H L D P H L D S T

N L D S T L D P H L D P H J S P L S T P L S T J S B E J M P L S T P L

$ B 3 E 1$ 4

$ 4 $ A E F 1$ A D 8 D$ 4

$ 4 # $ 0 2( $ 4 E ) ,$ 4

( $ 4 E ) ,$ B 3 A E$ 4 ( $ 4 7 ) ,

$ B 4 1 8$ 4 $ B B D 4$ 7

$ 7

( $ 4 E ) ,$ 7

( $ 4 E ) ,$ 7 $ 4

$ 4

$ A D 8 A$ 4

$ 4 $ 0 0 7 9$ B 4 4 9$ A F 0 8

$ 7

,

,

,

,

,

l o o k s - f o r v a r i a b l es e F N - v a r i a b l e p o i n t e rc h e c k s o n u m e r i c

B A S I C - F N f u n c t i o nc h e c k s F N s y n t a xF N v a r i a b l e p o i n t e r o

s t a c kg e t s t e r m i p a r e n t h e s i sc h e c k s o n u m e r i cg e t b a c k F N v a r i a b l e p o i n t e r

g i v e s " U N D E F ' D F U N C T I O N "

t r a n s f e r F A t F v a r i a b l e

p r o g r a m p o i n t e r o F t e r m

F R M N U M g e n u m e r i c t e r m

g e t l a s t c h a r a c t e rn m o r e c h a r a c t e r s ?g i v e " S Y N T A X E R R O R "

p r o g r a m p o i n t e r

A - 4 5

Page 190: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 190/304

B 4 4 DB 4 4 FB 4 5 1B 4 5 2B 4 5 4B 4 5 5B 4 5 6B 4 5 8B 4 5 9B 4 5 AB 4 5 CB 4 5 DB 4 5 EB 4 6 0B 4 6 1B 4 6 2B 4 6 4

8 5 7 BA O 0 06 9 4 6 C 9 4 6 C 9 4 6 C 9 4 6 C 9 4 6

S T A $ 7 BL D # $ 0 0P L S T < $ 4 E ) , YP L

N S T < $ 4 E > , YP L

N S T < $ 4 E ) , YP L

N S T < $ 4 E ) , YP L

N S T < $ 4 E ) , YR T

a n g e F v a r i a b l e f r o ms t a c k

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 4 6 5 2 8 D A D J S R $ A D 8 DB 4 6 8 A 0 0 L D Y # $ 0 0

2 0 D F B J S $ B D D FB 4 6 AB 4 6 DB 4 6 EB 4 6 FB 4 7 1B 4 7 3

6 6 A F A O 0 0F 1

P L P L L D # $ F FL D # $ 0 0B E Q $ B 4 8 7

B A S I C - S T R $ f u n c t i o nc h e c k s o n u m e r i c

c h a n g e F A C t o A S C I I

s t a r t a d d r e s s o s t r i n g$ F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * S t r i n g a d m i n i s t r a t i o nB 4 7 5B 4 7 7B 4 7 9B 4 7 BB 4 7 DB 4 8 OB 4 8 2B 4 8 4B 4 8 6B 4 8 7B 4 8 9B 4 8 BB 4 8 DB 4 8 FB 4 9 1B 4 9 3B 4 9 5B 4 9 7B 4 9 8B 4 9 AB 4 9 CB 4 9 EB 4 A 0B 4 A 2B 4 A 4B 4 A 6B 4 A 8

A 6 A 4 6 58 5 8 5 2 0 F 4 B 8 6 6 28 4 6 38 6 6 A 2 2 28 6 0 78 0 8 5 6 F8 7 8 5 6 28 4 6 3A F C B 6 F O C 5 0 7F 0 C 0 D F C 2 F 0 1

L D L D S T S T J S S T S T S T R T L D S T S T S T S T S T S T L D

N L D B E C M B E C M B N C M B E C L

$ 6 $ 6 $ 5 $ 5 $ B 4 F 4$ 6 $ 6 $ 6

# $ 2 2$ O $ 0 $ 6 $ 7 $ 6 $ 6 # $ F F( $ 6 F > , Y

$ B 4 A 8$ 0 $ B 4 A 4$ 0 $ B 4 9 7# $ 2 2$ B 4 A 9

p o i n t e r t o s t r i n g d e s c r i p t o rc h e c k s f r e e m e m o r y , s e t s

s t r i n g p o i n t e r

s t a r t a d d r e s s o s t r i n g

i n c r e a s e p o i n t e rn e w t c h a r a c t e r o s t r i n ge n s y m b o l ?

A - 4 6

Page 191: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 191/304

Page 192: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 192/304

B 5 0 DB 5 0 FB 5 1 1B 5 1 3B 5 1 4B 5 1 5B 5 1 6B 5 1 8B 5 1 AB 5 1 CB 5 1 FB 5 2 1B 5 2 3B 5 2 4

8 4 3 48 3 8 4 3 6A 6 6 A 1 A O 3 0 B 6

S T Y $ 3 4S T A $ 3 5S T $ 3 T A P L R T L D # $ 1 0L D $ 0 B M $ B 4 D 2

2 0 2 6 B 5 J S R $ B 5 2 6A 8 0 L D A # $ 8 08 5 O F S T A $ 0 F6 P L D O D O B N $ B 4 F 6

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 5 2 6B 5 2 8B 5 2 AB 5 2 CB 5 2 EB 5 3 0B 5 3 2B 5 3 4B 5 3 6B 5 3 8B 5 3 AB 5 3 CB 5 3 EB 5 4 0B 5 4 2B 5 4 4B 5 4 6B 5 4 8B 5 4 BB 5 4 DB 5 4 FB 5 5 1B 5 5 3B 5 5 5B 5 5 7B 5 5 9B 5 5 BB 5 5 DB 5 5 FB 5 6 1B 5 6 4B 5 6 6B 5 6 8B 5 6 AB 5 6 CB 5 6 EB 5 7 0B 5 7 2B 5 7 4

A 6 3 7 L D $ 3 A 5 3 8 L D A $ 3 8 6 3 3 S T $ 3 8 5 3 4 S T A $ 3 A O 0 0 L D Y # $ 0 08 4 S T $ 4 8 4 4 E S T Y $ 4 EA 3 L D $ 3 A 3 L D $ 3 8 5 F S T A $ 5 F8 6 S T $ 6 A 1 L D A # $ 1 9A 0 0 L D X # $ 0 08 2 2 S T A $ 2 28 2 S T $ 2 C 1 C M $ 1 F O 0 5 B E Q $ B 5 4 D2 0 C 7 B J S $ B 5 C 7F F B E $ B 5 4 4

L D A # $ 0 7S T $ 5 L D $ 2 L D $ 2 S T A $ 2 2S T $ 2 C P $ 3 B N $ B 5 6 1C M $ 2

g e b a c k s t r i n g l e n g t h

f o r " O U T O F M E M O R Y "- F l a g - f o r g a r b a g e c o l l e c t i o nd o n e , t h e n " O U T O F M E M O R Y "g a r b a g e c o l l e c t i o ns e - a

s t r i n g l e n g t h

G a r b a g e c o l l e c t i o ng e t r i d o - i n v a l i d s t r i n g s

A 0 8 5 5 3A 2 A 6 2 E8 2 8 2 E 4 3 0D 0 C 5 2 FF 0 B E $ B 5 6 62 B D B 5 J S R $ B 5 B DF O F 38 5 8 5 A 0 8 5 5 3A 5 A 6 5 9E 4 3 2D O 0 7

B E Q $ B 5 5 9S T $ 5 S T $ 5 L D A # $ 0 3S T A $ 5 3L D A $ 5 8L D $ 5 C P $ 3 B N $ B 5 7 D

A - 4 8

Page 193: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 193/304

B 5 7 6B 5 7 8B 5 7 AB 5 7 DB 5 7 FB 5 8 1B 5 8 3B 5 8 5B 5 8 6B 5 8 7B 5 8 9B 5 8 AB 5 8 BB 5 8 DB 5 8 FB 5 9 1B 5 9 2B 5 9 4B 5 9 6B 5 9 8B 5 9 9B 5 9 BB 5 9 CB 5 9 EB 5 9 FB 5 A 1B 5 A 3B 5 A 4B 5 A 6B 5 A 8B 5 A AB 5 A CB 5 A EB 5 B 0B 5 B 2B 5 B 4B 5 B 6B 5 B 8B 5 B BB 5 B DB 5 B FB 5 C 1B 5 C 2B 5 C 4B 5 C 6B 5 C 7B 5 C 9B 5 C BB 5 C CB 5 C EB 5 C FB 5 D 0B 5 D 2B 5 D 4B 5 D 6B 5 D 8

C D 4 8 8 A B A C B 0 C B 6 8 C B 6 8 2 1

8 3 C B A O 6 6 8 9 E A E D C F 2 F B 3 C B 1 C B F C B A C B C 9 D E

3 0 0 2 2 O 2

2

2 5 5 2 5 5 D

D

2 0

0 2 2 0 2 2 5 0 5 B C F 2 3

2 3

2 2

2

2 3 0 I 3

C M B N

B 6 J M PS T S T L D L D T A

N L D P H

N L D A D S T

N L D A D S T P L B P T X B M

N L D L D A S A D A D S T B C I N L D C P B N C M B E

B J S B E L D B M

N L D B P

N L D B E

N L D T A

N L D C M B C B N C P

$ 3 $ B 5 7 D$ B 6 0 6$ 2 $ 2 # $ 0 0( $ 2 2 ) ,

( $ 2 2 ) ,

( $ 2 2 ) ,$ 5 $ 5 ( $ 2 2 ) ,

$ 5 $ 5

$ B 5 6 E$ B 5 6 E( $ 2 2 ) ,

# $ 0 0

# $ 0 5$ 2 $ 2 $ B 5 A E$ 2 $ 2 $ 5 $ B 5 B 8$ 5 $ B 5 7 2$ B 5 C 7$ B 5 B 0( $ 2 2 ) ,

$ B 5 F 6< $ 2 2 ) ,

$ B 5 F 6

( $ 2 2 ) ,$ B 5 F 6

( $ 2 2 ) ,

( $ 2 2 ) ,$ 3 $ B 5 D C$ B 5 F 6$ 3

,

,

,

,

A - 4 9

Page 194: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 194/304

B 5 D AB 5 D CB 5 D EB 5 E 0B 5 E 2B 5 E 4B 5 E 6B 5 E 8B 5 E AB 5 E CB 5 E EB 5 F 0B 5 F 2B 5 F 4B 5 F 6B 5 F 8B 5 F 9B 5 F BB 5 F DB 5 F FB 6 0 1B 6 0 3B 6 O 5B 6 0 6B 6 O 8B 6 0 AB 6 0 CB 6 0 EB 6 1 0B 6 1 1B 6 1 2B 6 1 4B 6 1 6B 6 1 8B 6 1 AB 6 1 CB 6 1 EB 6 2 0B 6 2 2B 6 2 4B 6 2 6B 6 2 8B 6 2 BB 6 2 DB 6 2 EB 6 3 0B 6 3 2B 6 3 3B 6 3 5B 6 3 7B 6 3 8B 6 3 A

B C 9 D E 9 8 8 A A 8 8 A 8 A 1 6 8 9 E A A 6 A 0 F A 2 4 A 8 B 6 8 A 6 8 A A 8 8 2 A C A 9 A E A C 9 4

1 6 1 0 5 1 5 6 2 2 4 4 5 5 5

2 2 0 2 2 0

4 4 F 5 0

5 4 5 5 6 0 5 3 3 5 5 B 5

5 4

5 5 4 2

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

A J S L D

N L D S T T A I N L D N S T

B 5 J M P

$ B 5 F 6$ 6 $ B 5 F 6$ B 5 E 6$ 5 $ B 5 F 6$ 5 $ 6 $ 2 $ 2 $ 4 $ 4 $ 5 $ 5 $ 5

$ 2 $ 2 $ B 6 0 1$ 2 $ 2 # $ 0 0

$ 4 $ 4 $ B 6 0 1$ 5 # $ 0 4

$ 5 ( $ 4 E ) , Y

$ 5 $ 5 $ 6 # $ 0 0$ 5 $ 3 $ 3 $ 5 $ 5 $ A 3 B F$ 5

$ 5 ( $ 4 E ) , Y

$ 5 $ 5 ( $ 4 E ) , Y

$ B 5 2 A

B 6 3 D A 5 6 5 L D A $ 6 5S t r i n g c o n n e c t i o n " +

A - 5 0

Page 195: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 195/304

Page 196: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 196/304

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 6 A 3 2 0 B F A D J B R $ A D 8 F

A 6 L D A $ 6 4A 4 6 5 L D Y $ 6 8 5 2 2 S T A $ 2 28 2 S T Y $ 2 32 0 D B B 6 J S R $ B 6 D B

P H

B 6 A 6B 6 A 8B 6 A AB 6 A CB 6 A EB 6 B 1B 6 B 2B 6 B 4B 6 B 6B 6 B 7B 6 B 8B 6 B AB 6 B BB 6 B CB 6 B EB 6 B FB 6 C 0B 6 C 1B 6 C 3B 6 C 5B 6 C 7B 6 C 9B 6 C BB 6 C CB 6 C DB 6 C FB 6 D 1B 6 D 3B 6 D 5B 6 D 6B 6 D 8B 6 D AB 6 D BB 6 D DB 6 D FB 6 E 1B 6 E 3B 6 E 5B 6 E 7B 6 E 9B 6 E B

0 A 0 B 2 4 C B 2 A C B 2 A 6 2 D 1 C 4 3 4D O E 4 3 3D O 4 1 6 3 8 5 3 39 0 E 3 6 8 6 2 28 2 6 C 1 D O O CC 1 D O 0 88 1 E 9 0 38 1 A O 0 06

L D Y # $ 0 0L D ( $ 2 2 ) , YP H

N L D ( $ 2 2 ) , YT A I N L D ( $ 2 2 ) , YT A P L P L B N E $ B 6 D 6C P $ 3 B N E $ B 6 D 6C P $ 3 B N E $ B 6 D 6P H C L A D $ 3 S T A $ 3 3B C C $ B 6 D 5I N $ 3 P L S T $ 2 S T Y $ 2 3R T C P $ 1 B N $ B 6 E BC M P $ 1 7B N E $ B 6 E BS T A $ 1 6S B C # $ 0 3S T $ 1 L D # $ 0 0R T

S t r i n g a d m i n i s t r a t i o n F R E S T Rc h e c k s o s t r i n g v a r i a b l ep o i n t r t s t r i n g d e s c r i p t o r

e l i m i n a t e d e s c r i p t o r f r o ms t r i n g s t a c k

s t r i n g w a s n ' t i s t r i n gs t a c k

$ 3 3 / $ 3 4 n o p o i n t t s t r i n gs t a c k

i s t r i n g d e s c r i p t o r i s t r i n g s t a c k

y e s , e l i m i n a t e i n p u t

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 6 E CB 6 E FB 6 F 0B 6 F 1B 6 F 3B 6 F 6B 6 F 7B 6 F 9

2 A B 8 4 A 0 2 7 B 6 A 0 9 6

J S $ B 7 A 1T X P H L D # $ 0 1J S $ B 4 7 DP L L D Y # $ 0 0S T ( $ 6 2 ) , Y

B A S I C - C H R $ - f u n c t i o ng e t s b y t e v a l u e ( t 2 5 5 )c o d e i a c c u m u l a t o r

l e n g t h o s t r i n gr e s e r v e p l a c e f o s t r i n gg e t b a c k A S C I I c o d es a v e a l s t r i n g c h a r a c t e r s

A - 5 2

Page 197: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 197/304

B 6 F B 6 8 P L B 6 F C 6 P L B 6 F D 4 C C A B 4 J M P * B 4 C A

B 7 0 0B 7 O 3B 7 0 5B 7 0 6B 7 0 8B 7 0 AB 7 0 BB 7 0 CB 7 0 DB 7 0 EB 7 0 FB 7 1 2B 7 1 4B 7 1 6B 7 1 9B 7 1 AB 7 1 BB 7 1 CB 7 1 DB 7 1 FB 7 2 1B 7 2 3B 7 2 5B 7 2 6B 7 2 9

2 D 9 9 B A 9 4 8 4 2 A A 2 6 A 6 1 6 8 9 E 9 2 4

6 5 0 5

7 5 5 A

2 2 0 2

B C

B

B

B

B B

J S C M T Y B C L D T A T Y P H T X P H J S L D L D J S P L T A P L C L A D S T B C I N T Y J S J M

* B 7 6 1( * 5 0 ) , Y

* B 7 0 C( * 5 0 ) , Y

* B 4 7 D* 5 * 5 * B 6 A A

* 2 * 2 * B 7 2 5* 2

* B 6 8 C* B 4 C A

B 7 2 C 2 0 6 B 7 J S R * B 7 6 1B 7 2 F 1 C L B 7 3 0B 7 3 2B 7 3 4

* * * * *B 7 3 7B 7 3 9B 7 3 BB 7 3 EB 7 4 0B 7 4 2B 7 4 5B 7 4 8B 7 4 BB 7 4 DB 7 4 EB 7 4 FB 7 5 0B 7 5 1B 7 5 3B 7 5 5B 7 5 7

F 4 4

* * * 4A 8 2 C F 2 2 2 F C 8 4 1 A F B 4

5 F 0

( ■ * * • *F 6 7 2 0 F 9 6 4

0 5 B F

B

0

A B B

S B E O J M

f r * * * 4L D S T J S C M B E J S J S J S B E D E T X P H C L L D S B B C E O

( * 5 0 ) , Y# * F F* B 7 0 6

t * * * * * * *# * F F* 6 * 0 0 7 9# * 2 9* B 7 4 8* A E F D* B 7 9 E* B 7 6 1* B 7 9 8

# * 0 0( * 5 0 ) , Y

* B 7 0 D# $ F F

b r i n g d e s c r i p t o r t s t r i n gs t a c k

B A S I C - L E F T * - f u n c t i o ns t r i n g p a r a m e t e r - f r o m s t a c kc o m p a r e l e n g t h w i t h L E F T *p a r a m e t e ri L E F T v a l u e l e s s t h a ns t r i n g l e n g t h / s t r i n g l e n g t h

s a v e p l a c e - f o r n e s t r i n gp o i n t e r t o d e s c r i p t o rF R E S T R

l e n g t h o n e s t r i n gp l u s a d d r e s s o o l s t r i n g

t r a n s f e r n e w s t r i n g t o r a n g eb r i n g d e s c r i p t o r t s t r i n g

s t a c kB A S I C - R I G H T * f u n c t i o n

g e s t r i n g p a r a m e t e r f r o ms t a c k

f i r s t e l e m e n t ' s i o l c o n t i n u e a i L E F T * / s t r i n g

B A S I C - M I D * f u n c t i o n

C H R G O T g e t l a s t c h a r a c t e r1 1 ) " c l o s e d p a r e n t h e s i sc h e c k s o c o m m ag e t s b y t e # 2 n p a r a m e t e rg e s t r i n g a d d r e s s , 1 s f i r s t p a r a m e t e r z e r o ,

" I L L E G A L Q U A N T I T Y "o f i r s t e l e m e n t i o l

s t r i n gl e n g t h o o l s t r i n gs m a l l , f i r s t M I p a r a m e t e rn e s t r i n g l e n g t h

A - 5 3

Page 198: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 198/304

Page 199: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 199/304

B 7 A DB 7 B 0B 7 B 2B 7 B 5B 7 B 7B 7 B 9B 7 B BB 7 B DB 7 B FB 7 C 1B 7 C 2B 7 C 4B 7 C 6B 7 C 8B 7 C AB 7 C CB 7 C DB 7 C FB 7 D 1B 7 D 3B 7 D 4B 7 D 5B 7 D 7B 7 D AB 7 D DB 7 D EB 7 E 0B 7 E 2B 7 E 4B 7 E 6B 7 E 8B 7 E A

2 D 4 A A 8 8 A 8 1 6 8 A 8 9 E 8 A B 4 9 9 2 2 6 A 9 A A 8 8 6

8 0 F 7 7 7 7 2 7

2 2 2 7 0

2 0 2

2 7 F

0 2 7 7 7 7

B

B

0 B

J S B N J M L D L D S T S T L D S T C L A D S T L D S T B C I N S T L D L D P H T Y S T J S J S P L L D S T L D L D S T S T R T

$ B 7 8 2$ B 7 B 5$ B 8 F 7$ 7 $ 7 $ 7 $ 7 $ 2 $ 7

$ 2 $ 2 $ 2 $ 7 $ B 7 C D

$ 2 # $ 0 0( $ 2 4 ) , Y

( $ 2 4 ) , Y$ 0 0 7 9$ B C F 3

# $ 0 Q( $ 2 4 ) , Y

$ 7 $ 7 $ 7 $ 7

B 7 E B 2 8 A D J S R $ A D 8 AB 7 E E 2 0 F 7 B 7 J S R $ B 7 F 7B 7 F 1 2 F A E J S R $ A E F DB 7 F 4 4 C 9 E B 7 J M P $ B 7 9 E

B 7 F 7B 7 F 9B 7 F BB 7 F DB 7 F FB 8 0 1B 8 0 4B 8 0 6B 8 0 8B 8 0 AB 8 0 C

A 3 A C B 2 A A 8 8 6

6 9 6 9 9 9 B 6 6 1 1

L D B M L D C M B C J S L D L D S T S T R T

$ 6 $ B 7 9 8$ 6 # $ 9 1$ B 7 9 8$ B C 9 B$ 6 $ 6 $ 1 $ 1

B A S I C - V A L f u n c t i o ng e s t r i n g a d d r e s s a n l e n g t h n o O l e n g t hz e r o i F A

s a v e p r o g r a m p o i n t e r

b r i n g s t r i n g s t a r t - a d d r e s si n t o s t r i n g — p o i n t e r

s t r i n g e n d + 1

■ f i r s t b y t e t s t r i n gs a v e

a n s u b s t i t u t e w i t h z e r oC H R G O T g e t l a s t c h a r a c t e rc h a n g e s t r i n g t f l o a t i n gc h a r a c t e r t s t r i n g / p o i n t

s e t b a c k a g a i n

g e b a c k p r o g r a m p o i n t e r

G E T A D R a n G E T B Y T 1 b i F R M N U M g e t s n u m e r i c v a l u ec h a n g e F A C t a d d r e s s f r m a tC H K C O M c h e c k s o c a m m ag e t s b y t e v a l u e t

G E T A D R c h a n g e F A C t a 1 s i g n b i t n u m b e r

t h e n " I L L E G A L Q U A N T I T Y "e x p o n e n tc o m p a r e t o 6 5 5 3 6b i g g e r , " I L L E G A L Q U A N T I T Y "c h a n g e F A C t a d d r e s s f r m a t

g e v a l u ea n d t o $ 1 4 / $ 1 5

B 8 0 D A 1 L D $ 1 B 8 0 F 4 P H B 8 1 0 A 1 L D $ 1

B A S I C - P E E K f u n c t i o ns a v e a d d r e s s $ 1 4 / $ 1 5

A - 5 5

Page 200: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 200/304

B 8 1 2B 8 1 3B 8 1 6B 8 1 8B 8 1 AB 8 1 BB 8 1 CB 8 1 EB 8 1 FB 8 2 1

4 2 A B A 6 8 6 8 4

F 0 1

1

1 A

P H B J S

L D L D T A P L S T P L S T

B J M

$ B 7 F 7# $ 0 0( $ 1 4 ) , Y

$ 1

$ 1 $ B 3 A 2

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 8 2 4 2 0 E B B 7 J S R $ B 7 E BB 8 2 7 8 T X B 8 2 8 A O 0 L D Y # $ 0 0B 8 2 A 9 1 1 4 S T ( $ 1 4 ) , YB 8 2 C 6 0 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 8 2 D 2 E B J S $ B 7 E BB 8 3 0 8 6 4 9 S T X $ 4 9

A 2 0 0 L D X # $ 0 02 7 0 J S R $ 0 0 7 9F O 0 3 B E Q $ B 8 3 C2 F B 7 J S R $ B 7 F 1

S T X $ 4 AL D Y # $ 0 0L D ( $ 1 4 ) , YE Q R $ 4 AA N $ 4

B 8 3 2B 8 3 4B 8 3 7B 8 3 9B 8 3 CB 8 3 EB 8 4 0B 8 4 2B 8 4 4B 8 4 6B 8 4 8

8 4 A 0 B 1 4 5 4 A2 4 F O F 86

B E Q $ B 8 4 0R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 8 4 9 A 1 L D # $ 1 1B 8 4 B A O B F L D Y # $ B FB 8 4 D 4 6 B 8 J M P $ B 8 6 7* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 8 5 0 2 8 B J S R $ B A 8 C

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 8 5 3 A 6 B 8 5 5 4 F B 8 5 7 8 6 B 8 5 9 4 5 6 EB 8 5 B 8 5 6 FB 8 5 D A 6

L D $ 6 E O R # $ F FS T A $ 6 6E O R $ 6 ES T A $ 6 FL D $ 6

B 8 5 F 4 6 B J M $ B 8 6 A

c h a n g e F A t a d d r e s s - f r m a t

g e P E E K v a l u et

g e t b a c k a d d r e s s

t f l o a t i n g p o i n t - f o r m a t

B A S I C - P O K E c o m m a n dg e P O K E a d d r e s s a n v a l u ew r i t e P O K E v a l u e i n t o a c c ua n m e m o r y

B A S I C - W A I T c o m m a n dg e a d d r e s s a n v a l u e

d e - f a u l t - f o r t h i r d p a r a m e t e rC H R G O T g e l a s t c h a r a c t e rn t h i r d p a r a m e t e r ?c h e c k s o c o m m a a n g e t s

p a r a m e t e rw a i t a d d r e s s

c o n n e c t l o g i c a l l yk e e p w a i t i n g

A r i t h m e t i c r o u t i n e s

F A F A + 0 - 5p o i n t e r o c o n s t a n t 0 - F A F A c o n s t a n t ( A / Y )

M i n u s F A C = c o n s t a n t ( A / Y ) - F A Cc o n s t a n t ( A / Y ) t A R

M i n u s F A A R G - F A Cc h a n g e o - s i g n

F A F A A R * * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 8 6 2 2 9 B J S R $ B 9 9 9B 8 6 5 9 3 B C C $ B 8 A 3

a d j u s t e x p o n e n t o - F A A R

A - 5 6

Page 201: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 201/304

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * P l u s F A C = c o n s t a n t ( A / Y ) + F A CB 8 6 7 2 8 C B A J S $ B A 8 C c o n s t a n t ( A / Y ) t o A R G* * * * * * * * * * * * * * * * * * * * * * * * * * * * * P l u s F A F A A R B 8 6 A D 0 3 B N E $ B 8 6 F F A C i n v e r s e z e r o ?B 8 6 C 4 F B B J M P $ B B F C n o t h e F A C A R B 8 6 FB 8 7 1B 8 7 3B 8 7 5B 8 7 7B 8 7 8B 8 7 AB 8 7 BB 8 7 DB 8 7 FB 8 8 1B 8 8 3B 8 8 5B 8 8 7B 8 8 9B 8 8 BB 8 8 DB 8 8 FB 8 9 1B 8 9 3B 8 9 5B 8 9 7B 8 9 9B 8 9 BB 8 9 CB 8 9 EB 8 A 0B 8 A 3B 8 A 5B 8 A 7B 8 A 9B 8 A BB 8 A DB 8 A FB 8 B 0B 8 B 2B 8 B 4B 8 B 6B 8 B 9B 8 B BB 8 B DB 8 C 0B 8 C 2B 8 C 4B 8 C 7B 8 C 9B 8 C BB S C E

A 8 A A A F 3 E F 9 8 A 8 4 6 A 8 A D A 8 C 3 A A 5 2 2 1 A E F A 3 4 6 8 B F 8 B F 8 B F 8 B F

7 5 6 6

C

6 2 1

6 6 6 F O 0 5 6 0 0 7 F C

7 0 B 6 5 6 6 0 6 F 5 7 0 0 6 0 0 6 0 0 6 0 0

B

0

0

0

0

L D S T L D L D T A B E S E S B B E B C S T L D S T E O A D L D S T L D B N L D S T C M B M T A L D L S J S B I B P L D C P B E L D S E E O A D S T L D S B S T L D S B S T L D S B S T L D S B

$ 7 $ 5 # $ 6 9$ 6

$ B 8 4 8

$ 6 $ B 8 A 3$ B 8 9 3$ 6 $ 6 $ 6 # $ F F# $ 0 0# $ 0 0$ 5 # $ 6 1$ B 8 9 7# $ 0 0$ 7 # $ F 9$ B 8 6 2

$ 7 $ 0 1 ,$ B 9 B 0$ 6 $ B 8 F E# $ 6 1# $ 6 9$ B 8 A F# $ 6 9# $ F F$ 5 $ 7 $ 0 0 0 4 , Y$ 0 4 ,$ 6 $ 0 0 0 3 , Y$ 0 3 ,$ 6 $ 0 0 0 2 , Y$ 0 2 ,$ 6 $ 0 0 0 1 , Y$ 0 1 ,

A - 5 7

Page 202: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 202/304

B 8 D 0B 8 D 2B 8 D 4B 8 D 7B 8 D 9B 8 D AB 8 D BB 8 D DB 8 D FB 8 E 1B 8 E 3B 8 E 5B 8 E 7B 8 E 9B 8 E BB 8 E DB B E FB 8 F 1B 8 F 3B 8 F 5B 8 F 7B 8 F 9B S F BB 8 F DB 8 F EB 9 0 0B 9 0 2B 9 0 4B 9 0 6B 9 0 8B 9 0 AB 9 0 CB 9 0 EB 9 1 0B 9 1 2B 9 1 4B 9 1 6B 9 1 8B 9 1 AB 9 1 DB 9 1 FB 9 2 1B 9 2 3B 9 2 5B 9 2 7B 9 2 9B 9 2 BB 9 2 CB 9 2 EB 9 3 0B 9 3 2B 9 3 4B 9 3 6B 9 3 8B 9 3 A

8 B 2 A 9 1

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

6 0 4 O

6 4 6 6 6 6 6 6 7 6 7 0 2 E 0 6 6 5 7 6 6 6 6 6 6 6 6 6 6 6 6 3 0 7 6 6 6 6 F

6 C F 0 6 O 6 4

S T B C

B J S L D T Y C L L D B N L D S T L D S T L D S T L D S T S T A D C M B N L D S T S T R T A D S T L D A D S T L D A D S T L D A D S T L D A D S T

B 9 J M PA D A S R O R O R O R O B P S E S B B C E O A D S T B C I N B E

$ 6 $ B 8 D 7$ B 9 4 7# $ 0 0

$ 6 $ B 9 2 9$ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 7 $ 6 $ 7 # $ 0 8# $ 2 0$ B 8 D B# $ 0 0$ 6 $ 6 $ 5 $ 7 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ B 9 3 6# $ 0 1$ 7 $ 6 $ 6 $ 6 $ 6 $ B 9 1 D

$ 6 $ B 8 F 7# $ F F# $ 0 1$ 6 $ B 9 4 6$ 6 $ B 9 7 E

i n v e r t m a n t i s s e f r o m F A C

A - 5 8

Page 203: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 203/304

B 9 3 CB 9 3 EB 9 4 0B 9 4 2B 9 4 4B 9 4 6* * * * *B 9 4 7B 9 4 9B 9 4 BB 9 4 DB 9 4 FB 9 5 1B 9 5 3B 9 5 5B 9 5 7B 9 5 9B 9 5 BB 9 5 DB 9 5 FB 9 6 1B 9 6 3B 9 6 5B 9 6 7B 9 6 9B 9 6 BB 9 6 DB 9 6 FB 9 7 1B 9 7 3B 9 7 5B 9 7 7B 9 7 9B 9 7 BB 9 7 DB 9 7 EB 9 8 0* * * * *B 9 B 3B 9 8 5B 9 8 7B 9 8 9B 9 8 BB 9 8 DB 9 8 FB 9 9 1B 9 9 3B 9 9 5B 9 9 7B 9 9 9B 9 9 BB 9 9 DB 9 9 F

6 6 6 6 6 6

• a - * - * - )A 4 8 A 4 8 A 4 8 A 4 8 A 4 8 A 4 8 E D E D E D E D E 6 A 4

* * * - 5A B 8 B 9 B 9 B 9 A 9 6 3 F E

6 6 6 6 7

* • * * ■ *6 F 6 6 F 6 6 F 6 6 F 6 6 F 6 7 F 7 7 O 6 O 6 0 6 0 6

O 3

* ■ * * ■ *2 O 7 0 0 0 0 0 0 6 0 0 E E 0

R O R O R O R O R O R T

t * * * * * * 4L D E O S T L D E O S T L D E O S T L D E O S T L D E O S T L D E O S T I N B N I N B N I N B N I N B N I N R T L D

A J M t * * * * * * 4

L D L D S T L D S T L D S T L D S T L D S T A D B M B E S B

$ 6 $ 6 $ 6 $ 6 $ 7

* * * * * *$ 6 # $ F F$ 6 $ 6 # $ F F$ 6 $ 6 # $ F F$ 6 $ 6 # $ F F$ 6 $ 6 # $ F F$ 6 $ 7 # $ F F$ 7 $ 7 $ B 9 7 D$ 6 $ B 9 7 D$ 6 $ B 9 7 D$ 6 $ B 9 7 D$ 6

# $ 0 F$ A 4 3 7

* * * * * *# $ 2 5$ 0 4 ,$ 7 $ 0 3 ,$ 0 4 ,$ 0 2 ,$ 0 3 ,$ 0 1 ,$ 0 2 ,$ 6 $ 0 1 ,# $ 0 8$ B 9 8 5$ B 9 8 5# $ 0 8

I n v e r t m a n t i s s e f r o m F A

f o r " O V E R F L O W "o u t — p u t e r r o r m e s s a g e

R i g h t — s h i f t i n g o f r e g i s t e ro f f s e t p o i n t e r o r e g i s t e r

A - 5 9

Page 204: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 204/304

B 9 A 1B 9 A 2B 9 A 4B 9 A 6B 9 A 8B 9 A AB 9 A CB 9 A EB 9 B 0B 9 B 2B 9 B 4B 9 B 6B 9 B 7B 9 B 8B 9 B AB 9 B B* * * * *B 9 B CB 9 C 1B 9 C 2B 9 C 7B 9 C CB 9 D 1B 9 D 5B 9 D BB 9 E 0B 9 E 5

A A B 1 9 F 7 7 7 7 7 6 C D 1 6

7 1 0 0 0 0 0 0 0 0

E

T A L D B C A S B C I N R O R O R O R O R O R O

N B N C L R T

- * * * * * * * * * * * * * *8 0 0 0 O 0 7 F 5 E 5 6 C 7 * 8 1 9 B O B 6 8 7 6 3 8 9 3 1 8 3 A A 3 B 2 2 0 8 0 3 0 F 8 3 0 F 3 8 0 8 0 0 0 0 0 0 8 3 7 1 F

$ 7 $ B 9 B A$ 0 1 ,$ B 9 A C$ 0 1 ,$ O 1 , X$ 0 1 ,$ 0 2 ,$ 0 3 ,$ 0 4 ,

$ B 9 A 6

: * * * * * * * * * *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B 9 E A 2 0 2 B B C J S R $ B C 2 BB 9 E DB 9 E FB 9 F 1B 9 F 4B 9 F 6B 9 F 8B 9 F 9B 9 F BB 9 F DB 9 F FB A 0 1B A 0 4B A 0 6B A 0 8B A O BB A O DB A O FB A 1 2B A 1 4B A 1 6B A 1 9B A 1 BB A 1 D

F 1 4 A E 4 A 8 A A 2 A A 2 A A 2 A A 2 A A 2

0 0 4 6 7 8 6 D B 6 D B O B B 5 C B 4 E B 6

B E B P

B 2 J M PL D S B P H L D S T L D L D

B 8 J S RL D L D

B J S L D L D

B J S L D L D

E J S L D L D

B J S

$ B 9 F 1$ B 9 F 4$ B 2 4 8$ 6 # $ 7 F# $ 8 0$ 6 # $ D 6# $ B 9$ B 8 6 7# $ D B# $ B 9$ B B O F# $ B C# $ B 9$ B 8 5 0# $ C 1# $ B 9$ E 0 4 3# $ E 0# $ B 9$ B 8 6 7

C o n s t a n t s - f o r L O 3 = p o l y n o m i a l d e g r e e t h e n

4 3 4 2 5 5 9 4 2 / c o e - F - f c e n t s. 5 7 6 5 8 4 5 4 1. 9 6 1 8 0 0 7 5 92 . 8 8 5 3 9 0 0 7. 7 0 7 1 0 6 7 8 1 1 / S Q R ( 2 )1 . 4 1 4 2 1 3 5 6 S Q R ( 2 )- . . 6 9 3 1 4 7 1 8 1 L O B ( 2 )

B A S I C - L O G f u n c t i o ng e s i g n sz e r o , t h e n r e a d yp o s i t i v e , t h e n o " I L L E G A L Q U A N T I T Y "e x p o n e n tn o r m a l i z ea n s a v eb r i n g n u m b e r i r a n g e- F r o m 0 . t p o i n t e r t c o n s t a n t 1 / S Q R ( 2 )a d d t o F A

p o i n t e r t c o n s t a n t S Q R ( 2 )d i v i d e S Q R ( 2 ) b y F A p o i n t e r t c o n s t a n t

m i n u s F A C

p n t r p o l y n o m e c o e - f - f i c i e n t sp o l y n o m e c a l c u l a t i o n sp o i n t e r t c o n s t a n t — 0 . 5a d t o F A C

A - 6 0

Page 205: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 205/304

B A 2 0 6 8 P L AB A 2 1 2 7 B D J S R $ B D 7 EB A 2 4 A E L D A # $ E 5B A 2 6 A B L D Y # $ B 9

B A 2 8 2 8 B J S R $ B A B C* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B A 2 BB A 2 DB A 3 0B A 3 3B A 3 5B A 3 7B A 3 9B A 3 BB A 3 DB A 3 FB A 4 2B A 4 4B A 4 7B A 4 9B A 4 CB A 4 EB A 5 1B A 5 3B A 5 6

D 4 2 A 8 8 8 8 A 2 A 2 A 2 A 2 A 2 4

O 8 B 0 2 2 2 2 7 5 6 5 6 5 6 5 6 5 8

B B

B B

B

B

B B

B N J M J S L D S T S T S T S T L D J S L D J S L D J S L D J S L D J S J M

$ B A 3 O$ B A 8 B$ B A B 7# $ 0 0$ 2 $ 2 $ 2 $ 2 $ 7 $ B A 5 9$ 6 $ B A 5 9$ 6 $ B A 5 9$ 6 $ B A 5 9$ 6 $ B A 5 E$ B B 8 F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B A 5 9B A 5 BB A S EB A S FB A 6 1B A 6 2B A 6 4B A 6 5B A 6 7B A 6 9B A 6 BB A 6 DB A 6 FB A 7 1B A 7 3B A 7 5B A 7 7B A 7 9B A 7 BB A 7 DB A 7 FB A 8 1B A 8 3B A 8 5B A 8 7

D 4 4 0 A 9 1 A 6 8 A 6 8 A 6 8 A 6 8 6 6 6 6 6 9

0 8

S

1

2 6 2 2 6 2 2 6 2 2 6 2 2 2 2 2 7

B B N J M L S O R T A B C C L L D A D S T L D A D S T L D A D S T L D A D S T R O R O R O R O R O T Y

$ B A 5 E$ B 9 8 3

# $ 8 0

$ B A 7 D$ 2 $ 6 $ 2 $ 2 $ 6 $ 2 $ 2 $ 6 $ 2 $ 2 $ 6 $ 2 $ 2 $ 2 $ 2 $ 2 $ 7

g e b a c k e x p o n e n tF A C = F A C + F A Cp o i n t e r t o c o n s t a n t L O G ( 2 )

F A c o n s t a n t ( A / Y ) F A c o n s t a n t t A R

F A A R F A n o z e r o ?R T c a l c u l a t e e x p o n e n t

c l e a r - f u n c t i o n r e g i s t e r

b i t w i s e m u l t i p l i c a t i o n

b i t w i s e m u l t i p l i c a t i o nb i t w i s e m u l t i p l i c a t i o n

b i t w i s e m u l t i p l i c a t i o n

b i t w i s e m u l t i p l i c a t i o nr e g i s t e r t F A C , m a k e l e f t -

b i n d i n gB i t w i s e m u l t i p l i c a t i o n

r i g h t - s h i f t s t h e r e g i s t e r

A - 6 1

Page 206: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 206/304

B A 8 8B A 8 9B A 8 B

4 D 6

D L S B N R T

$ B A 6 1

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B A 8 CB A 8 EB A 9 0B A 9 2B A 9 4B A 9 6B A 9 7B A 9 9B A 9 BB A 9 CB A 9 EB A A OB A A 1B A A 3B A A 5B A A 7B A A 9B A A BB A A DB A A FB A B OB A B 2B A B 4B A B 6B A B 7B A B 9B A B BB A B CB A B EB A C OB A C 2B A C 3B A C 4B A C 6B A C 8B A C AB A C CB A C FB A D 1B A D 3B A D 4B A D 6B A D 8B A D AB A D BB A D CB A D F

8 8 A B 8 8 B 8 8 B 8 8 B 8 4 8 A 0 8 8 B 8 A 6 A F 1 6 9 3 1 2 1 6 8 D 4 A 8 6 A 4 3 6 6 4 4

2 2 0 2 6

2 6

2 6

2 6 6 6 6 8 6

2 6 6

6 I

6 0 I

1 8 6 < ^ F 6 6 6 F 0

F 7

S T S T L D L D S T D E L D S T D E L D S T D E L D S T E O S T L D O R S T D E L D S T L D R T L D B E C L A D B C B M C L

$ 2 $ 2 # $ 0 4( $ 2 2 ) , Y

$ 6 ( $ 2 2 ) , Y

$ 6 ( $ 2 2 ) , Y

$ 6

( $ 2 2 ) , Y$ 6 $ 6 $ 6 $ 6 # $ 8 0$ 6 ( $ 2 2 ) , Y

$ 6 $ 6

$ 6 $ B A D A$ 6 $ B A C 4$ B A D F

. B Y T E $ 2 B P A D S T B N

B J M L D S T R T L D E O B M P L P L

B 8 J M PB J M

$ B A D A# $ 8 0$ 6 $ B A C F$ B 8 F B$ 6 $ 6 $ 6 # $ F F$ B A D F

$ B 8 F 7$ B 9 7 E

A R c o n s t a n t (

p o i n t e r

c o n s t a n t t o A R G

s i g n

e x p o n e n t

F A C = O

F A C = O" O V E R F L O W E R R O R "

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B A E 2 2 0 O C B C J S R $ B C O C

F A F A 1 r o u n d F A a n d p u t i A R

A - 6 2

Page 207: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 207/304

B A E 5B A E 6B A E 8B A E 9B A E BB A E DB A E FB A F 1B A F 4B A F 6B A F 8

A F 1 6 B A 8 2 E F 6

1

0 F 0 6 7 6 E

T A B E C L A D P C L D S T B J S I N B E R T

$ B A F 8

# $ 0 2$ B A D F# $ 0 0$ 6 $ B 8 7 7$ 6 $ B A D F

i - F A C = O , t h e n r e a d y

e x p o n e n t + e x p o n e n t * b a l a n c e ?

F A C = F A C + A R G , * i n c r e a s e e x p o n e n t , * b a l a n c e , t h e n " O V E R F L O W "

B A F 9 8 4 2 0 0 0 0 0 0

B A F E 2 0 O B C J S R $ B C O CB B 0 1 A 9 F 9 L D A # $ F 9B B 0 3 A O B A L D # $ B AB B 0 5 A 2 0 0 L D X # $ 0 0B B 0 7 8 6 6 S T $ 6 B B 0 9 2 0 A 2 B B J S R $ B B A 2B B O C 4 1 B B J M P $ B B 1 2

B B O F 2 0 8 B A J S R $ B A 8 C

B B 1 2B B 1 4B B 1 7B B 1 9B B 1 AB B 1 CB B 1 EB B 2 1B B 2 3B B 2 5B B 2 7B B 2 9B B 2 BB B 2 DB B 2 FB B 3 1B B 3 3B B 3 5B B 3 7B B 3 9B B 3 BB B 3 DB B 3 FB B 4 0B B 4 1B B 4 3B B 4 4B B 4 6

F 2 A 3 E 8 2 E F A A A C D A C D A C D A C 0 2 9 E 9 F

7 I B 0 6 6 B 7 B A6 B F 0 6 6 1 6 6 O 6 6 0 6 6

0

2 3

B E J S L D S E S B S T J S I N B E L D L D L D C P B N L D C P B N L D C P B N L D C P P H R O B C I N S T B E

$ B B 8 A$ B C 1 B# $ 0 0

$ 6 $ 6 $ B A B 7$ 6 $ B A D F# $ F C# $ 0 1$ 6 $ 6 $ B B 3 F$ 6 $ 6 $ B B 3 F$ 6 $ 6 $ B B 3 F$ 6 $ 6

$ B B 4 C

$ 2 9 ,$ B B 7 A

- f l o a t i n g p o i n t c o n s t a n t 1

F A F A 1 r o u n d F A C a n p u i A R

p o i n t e r t o c o n s t a n t 1

c o n s t a n t 1 i F A F A A R F A

F A c o n s t a n t ( A / Y ) F A c o n s t a n t ( A / Y ) t A R

F A A R F A F A C = O , " D I V I S I O N B Z E R O "r o u n d F A

d e t e r m i n e e x p o n e n t o r e s u l te x p o n e n t o v e r f l o w

p o i n t e r t f u n c t i o n r e g i s t e r

c o m p a r e A R t o F A C b i t w i s e

s a v e s t a t u s

A - 6 3

Page 208: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 208/304

B B 4 8B B 4 AB B 4 CB B 4 DB B 4 FB B 5 1B B 5 3B B 5 5B B 5 7B B 5 9B B 5 BB B 5 DB B 5 EB B 6 0B B 6 2B B 6 4B B 6 6B B 6 8B B 6 AB B 6 CB B 6 EB B 7 0B B 7 2B B 7 4B B 7 6B B 7 7B B 7 AB B 7 CB B 7 EB B 7 FB B 8 0B B 8 1B B 8 2B B 8 3B B 8 4B B 8 6B B 8 7

1 A 2 B 0 2 2 2 B 3 1 A A E 8 A E 8 A E 8 A E 8 9 4 A D O O O O O O 8 2 4

3 O

O 6 6 6 6 E C E 6 6 6 6 6 6 6 6 6 6 6 6

4 4 C

7

8

B P L D P L B C A S R O R O R O B C B M B P T A L D S B S T L D S B S T L D S B S T L D S B S T T Y

B J M L D B N A S A S A S A S A S A S S T P L

B B J M P

$ B B 7 E# $ 0 1$ B B 5 D$ 6 $ 6 $ 6 $ 6 $ B B 3 F$ B B 2 9$ B B 3 F$ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6

$ B B 4 F# $ 4 0$ B B 4 C

$ 7 $ B B 8 F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B B 8 A A 1 L D # $ 1 4B B 8 C 4 C 3 7 A 4 J M P $ A 4 3 7# # * * * * * * * * * * * * * * * * * * * * * * * * * * *B B 8 FB B 9 1B B 9 3B B 9 5B B 9 7B B 9 9B B 9 BB B 9 DB B 9 F

A 8 A 8 A 8 A 8 4

2 6 2 6 2 6 2 6 D

L D S T L D S T L D S T L D S T

B 8 J M P

$ 2 $ 6 $ 2 $ 6 $ 2 $ 6 $ 2 $ 6 $ B 8 D 7

a c c u m u l a t o r 6

h e l p r e g i s t e r t F A

f o " D I V I S I O N B Y Z E R O "o u t — p u t e r r o r m e s s a g e

T r a n s f e r h e l p r e g i s t e r ( $ 2 6 -$ 2 9 ) t F A

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B B A 2 8 2 S T A $ 2 2

m a k e F A l e f t - b i n d i n g

T r a n s f e r c o n s t a n t < A / Y ) t F A

A - 6 4

Page 209: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 209/304

Page 210: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 210/304

Page 211: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 211/304

B C 5 1 8 7 S T $ 7 B C 5 3 8 6 S T A $ 6 6B C 5 5 4 D B J M P $ B 8 D 2* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B C 5 8 4 6 L S R $ 6 6B C 5 A 6 R T

B A S I C - A B S f u n c t i o nc l e a r s i g n b i t

B C 5 BB C 5 DB C 5 FB C 6 1B C 6 3B C 6 4B C 6 5B C 6 7B C 6 9B C 6 BB C 6 DB C 6 FB C 7 1B C 7 3B C 7 5B C 7 7B C 7 9B C 7 AB C 7 CB C 7 EB C 8 0B C 8 1B C 8 3B C 8 5B C 8 7B C 8 8B C 8 AB C 8 CB C 8 EB C 9 0B C 9 2B C 9 4B C 9 6B C 9 8

8 8 A B C A F B 4 3 E D B 0 C D C B C D C B C D C A C B E F A 9 4 4

2 2 O 2

C 2 6 C 6 2 2 8 6 1

2 6 1

2 6 O

7 7 2 6 2 6 0 F 3 B

T i A R S T S T L D L D

N T A B E L D E O B M C P B N L D O R C M B N

N L D C M B N

N L D C M B N

N L D C M L D S B B E L D B C E O J M

r n x i i j i i i i i i i J i i i H

$ 2 $ 2 # $ O O( $ 2 4 ) , Y

$ B C 2 B( $ 2 4 ) , Y

$ 6 $ B C 2 F$ 6 $ B C 9 2( $ 2 4 ) , Y

# $ 8 0$ 6 $ B C 9 2( $ 2 4 ) , Y

$ 6 $ B C 9 2

( $ 2 4 ) , Y$ 6 $ B C 9 2

# $ 7 F$ 7 ( $ 2 4 ) , Y

$ 6 $ B C B A$ 6 $ B C 9 8# $ F F$ B C 3 1

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B C 9 BB C 9 DB C 9 FB C A OB C A 2B C A 4B C A 6B C A 7B C A 9B C A BB C A E

A F 3 E 2 1 A A 8 2 8

6 4

A 6 0

F 6 4 B

L D B E S E S B B I B P T A L D S T J S T X

$ 6 $ B C E 9

# $ A 0$ 6 $ B C A F

# $ F F$ 6 $ B 9 4 D

C o m p a r e c o n s t a n t ( A / Y ) w i t hF A

p o i n t e r t c o n s t a n t

e x p o n e n t

z e r o , t h e n g e t s i g n o - F A

d i f - f e r e n s i g n s

c o m p a r e 1 b y t e

c o m p a r e 2 b y t e

c o m p a r e 3 b y t e

c o m p a r e 4 b y t e

r e s u l t s m a l l e r , t h e n i n v e r ts e - f l a g - f o r r e s u l t

C h a n g e - f l o a t i n g - p o i n t t e x p o n e n t i n t e g e rz e r o ?

i n v e r t m a n t i s s e o - F A

A - 6 7

Page 212: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 212/304

B C A F A 6 L D X # $ 6 1B C B 1 C 9 F 9 C M P # $ F 9B C B 3 1 0 6 B P L $ B C B BB C B 5 2 0 9 9 B 9 J S R $ B 9 9 9B C B 8 8 4 6 8 S T Y $ 6 B C B A 6 R T B C B B A T A B C B C A 5 6 6 L D A $ 6 6B C B E 2 8 0 A N D # $ 8 0B C C O 4 6 L S R $ 6 2B C C 2 0 5 6 O R A $ 6 2B C C 4 8 6 S T A $ 6 2B C C 6 2 B B J S $ B 9 B 0B C C 9 8 4 6 8 S T Y $ 6 8B C C B 6 R T

s h i f t F A r i g h t

s h i f t F A r i g h t b i t w i s e

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B C C CB C C EB C D OB C D 2B C D 5B C D 7B C D 9B C D BB C D DB C D EB C E OB C E 2B C E 4B C E 6B C E 9B C E BB C E DB C E FB C F 1B C F 2

A 6 L D $ 6 C A O C M P # $ A 0B 2 0 B C S $ B C F 22 9 B J S R $ B C 9 B

S T Y $ 7 0L D A $ 6 6S T $ 6 E O # $ 8 0R O L D # $ A 0S T $ 6 L D A $ 6 5

B A S I C - I N T f u n c t i o ne x p o n e n tw h o l e n u m b e r ?y e s , t h e n r e a d yc h a n g e F A t o i n t e g e r

8 7 A 5 6 68 4 6 64 8 2 A 9 A O8 6 A 5 6 58 0 S T $ 0 4 D 2 B 8 J M P $ B 8 D 28 5 6 28 6 8 6 8 6 A 6

S T A $ 6 2S T A $ 6 3S T A $ 6 4S T A $ 6 5T A R T

m a k e F A C l e f t - b i n d i n gf i l l m a n t i s e w i t h z e r o s

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B C F 3B C F 5B C F 7B C F 9B C F AB C F CB C F EB D O OB D 0 2B D 0 4B D 0 6B D 0 8B D O AB D O DB D O FB D 1 1

A 0 L D Y # $ 0 0A O L D # $ 0 A9 5 S T $ 5 D , XC D E 1 F B B P L $ B C F 79 0 O F B C C $ B D O DC 9 2 D C M # $ 2 DD 0 4 B N E $ B D O 68 6 6 7 S T $ 6 F 0 4 B E Q $ B D O AC 2 B C M P # $ 2 BD O B N $ B D O F2 7 0 0 J S R $ 0 0 7 39 5 B C $ B D 6 AC 2 E C M P # $ 2 EF 2 B E Q $ B D 4 1

C h a n g e A S C I I t o F l o a t i n gp o i n t f o r m a tc l e a r r a n g e $ 5 D t o $ 6

f l a g f o r n e g a t i v e

C H R G E T g e n e x t c h a r a c t e r

A - 6 8

Page 213: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 213/304

B D 1 3B D 1 5B D 1 7B D 1 AB D 1 CB D 1 EB D 2 0B D 2 2B D 2 4B D 2 6B D 2 8B D 2 AB D 2 CB D 2 EB D 3 0B D 3 3B D 3 5B D 3 7B D 3 9B D 3 BB D 3 CB D 3 EB D 4 1B D 4 3B D 4 5B D 4 7B D 4 9B D 4 AB D 4 CB D 4 EB D 5 0B D 5 2B D 5 5B D 5 7B D 5 9B D 5 BB D 5 EB D 6 0B D 6 2B D 6 4B D 6 6B D 6 7B D 6 AB D 6 BB D 6 DB D 6 FB D 7 1B D 7 4B D 7 5B D 7 6B D 7 8B D 7 BB D 7 EB D 7 FB D 8 2

C D 2 9 C F C F C F C F D 6 2 9 2 1 A 3 E 4 6 2 5 A 3 E 8 F 1 2 E D F 2 C D A 3 6 4 4 2 1 E 2 6 3 E 2 4 4 2 6

4 3 7 1

A O 2 O A 0 2 O 0 6 7 5 6 O 0

5 4 5 5 C 5

5 5 1 0 F 5 F 0 E 5 F 6 0

B

5 0 5 E

3 7 O

O

O

O

B

B

B

B

B

B B

B

C M B N J S B C C M B E C M B E C M B E C M B E B N R O J S B C B I B P L D S E S B J M R O B I B V L D S E S B S T B E B P J S I N B N B E J S D E B N L D B M R T J M P H B I B P I N J S P L S E S B J S J M P H J S P L

# $ 4 5$ B D 4 7$ 0 0 7 3$ B D 3 3# $ A B$ B D 2 E# $ 2 D$ B D 2 E# $ A A$ B D 3 0# $ 2 B$ B D 3 0$ B D 3 5$ 6 $ 0 0 7 3$ B D 9 1$ 6 $ B D 4 7# $ 0 0

$ 5 $ B D 4 9$ 5 $ 5 $ B D O A$ 5

$ 5 $ 5 $ B D 6 2$ B D 5 B$ B A F E$ 5 * B D 5 2$ B D 6 2$ B A E 2* 5 $ B D 5 B$ 6 * B D 6 7* B F B 4

$ 5 $ B D 7 1$ 5 * B A E 2

# $ 3 0$ B D 7 E$ B D O A

$ B C O C

C H R G E T g e t n e x t c h a r a c t e r" - B A S I C c o d ei i i i

1 1 B A S I C c o d e

s e t b i tC H R G E T g e t n e x t c h a r a c t e r

b i s e t ?n

c a l l b d e c i m a l p o i n t

F A F A 1

F A F A 1

c h a n g e o - s i g n F A C - F A C

F A F A * 1

A S C I I $ 3 H e a d d n e x t d i g i t t F A n e x t c h a r a c t e r

F A t A R

A - 6 9

Page 214: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 214/304

Page 215: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 215/304

B D E EB D E FB D F 1B D F 3B D F 5B D F 8B D F AB D F CB D F EB E O OB E 0 2B E O 4B E 0 7B E 0 9B E O BB E O DB E O FB E 1 2B E 1 4B E 1 6B E 1 8B E 1 AB E 1 DB E 1 FB E 2 1B E 2 4B E 2 6B E 2 8B E 2 BB E 2 DB E 2 FB E 3 2B E 3 5B E 3 7B E 3 9B E 3 AB E 3 CB E 3 EB E 4 0B E 4 2

B E 4 4B E 4 5B E 4 7B E 4 8B E 4 AB E 4 CB E 4 EB E 4 FB E 5 1B E 5 3B E 5 5B E 5 7B E 5 8B E 5 B

C A A D 4 A E F B A A 2 A 8 A A 2 F 1 A A 2 F 1 2 C D 2 E D 2 2 A A 1 6 3 C B 6

A A 3 E 8 8 8 F 1 A A C 9 8

3 6 0 0 0 8 0 0 B B 2 F 5 B B 5 I 1 B B 5 0 O E 5 E F 5 D 4 9 0 5 O 0 O 0 F

0

0 5 5

0 1 7 2

F

B

B

B

B

B

B

B B

0

N L D L D B N J M L D C P B E B C L D L D J S L D S T L D L D J S B E B P L D L D J S B E B P J S D E B N J S I N B N J S J S L D L D C L A D B M C M B C A D

T A L D S E S B S T S T T X B E B P L D L D

N S T T X

# $ 3 0$ 6 $ B D F B$ B F 0 4# $ 0 0# $ 8 0$ B E O O$ B E 0 9# $ B D# $ B D$ B A 2 8# $ F 7$ 5 # $ B B# $ B D$ B C 5 B$ B E 3 2$ B E 2 8# $ B 3# $ B D$ B C 5 B$ B E 2 1$ B E 2 F$ B A E 2$ 5 $ B E 1 6$ B A F E$ 5 $ B E O B$ B 8 4 9$ B C 9 B# $ 0 1$ 5 # $ 0 A$ B E 4 7# $ 0 B$ B E 4 8# $ F F

# $ 0 2

# $ 0 2$ 5 $ 5 $ B E 5 3$ B E 6 6$ 7 # $ 2 E

$ O O F F , Y

e x p o n e n tn u m b e r n o t z e r o ?y e s , r e a d y

c o m p a r e F A C w i t hF A C b i g g e r t h a np o i n t e r t o c o n s t a n t 1 E c o n s t a n t ( p o i n t e r A / Y ) * F A C

p n t r t c o n s t a n t 9 9 9 9 9 9 9 9 9c o m p a r e c o n s t a n t ( p o i n t e re q u a l A / w i t h F A C

p n t r t c o n s t a n t 9 9 9 9 9 9 9 9 . 9c o m p a r e c o n s t a n t ( p o i n t e r

A / Y w i t h F A C

F A F A 1

F A F A 1

F A F A . 5 r o u n dF A t o i n t e g e r

a m o u n t s m a l l e r 0 . 1 ?a m o u n t g r e a t e r 1 E 9 ?

A - 7 1

Page 216: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 216/304

B E 5 CB E 5 EB E 6 0B E 6 1B E 6 4B E 6 6B E 6 8B E 6 AB E 6 CB E 6 DB E 7 0B E 7 2B E 7 4B E 7 7B E 7 9B E 7 BB E 7 EB E 8 0B E 8 2B E 8 5B E 8 7B E 8 8B E 8 AB E 8 CB E 8 EB E 9 0B E 9 1B E 9 3B E 9 5B E 9 7B E 9 9B E 9 AB E 9 BB E 9 CB E 9 DB E 9 FB E A 1B E A 2B E A 3B E A 5B E A 8B E A AB E A CB E A EB E A FB E B 2B E B 4B E B 6B E B 7B E B 9B E B BB E B CB E B EB E C OB E C 2

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

0 3 F 7 0 8 6

1 6 6 1 6 6 1

6 6 1 6 0 D 0 D 0 F O 2

4 7

7 F 5 0 2 F 7 4

F 8 2 0 3 A

0

B

B

B

B

0

0

B E L D

N S T S T L D L D L D C L A D S T L D A D S T L D A D S T L D A D S T

N B C B P B M B M T X B C E O A D A D

N N N N

S T L D

N T A A N S T D E B N L D

N S T S T L D T X E O A N T A C P B E C P B N

$ B E 6 4# $ 3 0

$ O O F F , Y$ 7 # $ 0 0# $ B 0$ 6

$ B F 1 9 , Y$ 6 $ 6 $ B F 1 8 , Y$ 6 $ 6 $ B F 1 7 f Y$ 6 $ 6 $ B F 1 6 , Y$ 6 $ B E 8 E$ B E 6 A$ B E 9 0$ B E 6 A$ B E 9 7# $ F F# $ 0 A# $ 2 F

$ 4 $ 7

# $ 7 F$ O O F F , Y$ 5 $ B E B 2# $ 2 E$ O O F F , Y$ 7 $ 4

# $ F F# $ 8 0# $ 2 4$ B E C 4# $ 3 C$ B E 6 A

" 0

c a l c u l a t i o n o t h s e p e r a t ed i g i t s

t a b l e - e n d a F A C - c h a n g et a b l e - e n d a T I $ c a l c u l a t i o n

A - 7 2

Page 217: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 217/304

B E C 4B E C 6B E C 9B E C AB E C CB E C EB E D OB E D 2B E D 3B E D 5B E D 7B E D 9B E D BB E D DB E D EB E E OB E E 1B E E 3B E E 6B E E BB E E BB E E CB E E EB E E FB E F OB E F 2B E F 4B E F 6B E F 9B E F AB E F DB E F FB F 0 2B F 0 4B F 0 7B F 0 9B F O CB F O EB F 1 O

A B 8 C F C F C A A F 1 A 3 E A A 9 A 9 8 A 3 E E B 6 9 8 9 A 9 F 9 A 9 A A 6

7 F

3 F 2 0 2 5 2 0 0 5 2 0 4 0

2

O F 3 0 0 0 0 0 F 0 0 0 0

0

0

0

0 0

0

0

0

L D L D D E C M B E C M B E

N L D L D B E B P L D S E S B T A L D S T L D S T T X L D S E I N S B B C A D S T T X S T L D S T B E S T L D S T L D L D R T

$ 7 $ O O F F , Y# $ 3 0$ B E C 6# $ 2 E$ B E D 3# $ 2 B$ 5 $ B F 0 7$ B E E 3# $ 0 0$ 5 # $ 2 D$ 0 1 0 1 , Y# $ 4 5$ 0 1 0 0 , Y# $ 2 F

# $ O A$ B E E F# $ 3 A$ 0 1 0 3 , Y$ 0 1 0 2 , Y# $ 0 0$ 0 1 0 4 , Y$ B F O C$ O O F F , Y# $ 0 0$ 0 1 0 0 , Y# $ 0 0# $ O 1

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *B F 1 1 8 0 0 0 0 0 0 0* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

B F 1 6B F 1 AB F 1 EB F 2 2B F 2 6B F 2 AB F 2 EB F 3 2B F 3 6

F 0 F O F 0 F 0 F

O 9 F 0 F 0 F 0 F

I 9 B 8 D 0 F 0 F

O 8 C A F E 9 O F

e n b u f f e r w i t h $ 0 0

e n b u f f e r w i t h $ 0 0

p o i n t e r t o b u f f e r $ 1 0 0

c o n s t a n t 0 . f o S Q C o n s t a n t s f o F l o a t i n g - p o i n t

3 b i t # s w i t h s i g n s1 0 O O O 0 0 0

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

1 0 0 0 0 1 0

1

A - 7 3

Page 218: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 218/304

B F 3 A F FB F 3 E 0 0B F 4 2 F B F 4 6 O OB F 4 A F B F 4 E 0 0B F 5 2 E C

D O A 8 OO 3 4 B C OF 7 6 0 O 1 F F D A 80 0 3

B r 5 3 n nB F 7 0 . . A * * * * * * * * * * * * * * * * * * * * * * * * * * * * *B F 7 1 2 O B C J S R $ B C O CB F 7 4 A 1 L D # $ 1 1B F 7 6 A O B L D # $ B F

i t f r i r i r i r

B F 7 8

B F 7 BB F 7 DB F 7 FB F 8 1B F 8 4B F 8 6B F 8 8B F 8 BB F 8 DB F 8 FB F 9 2B F 9 4B F 9 6B F 9 9B F 9 BB F 9 CB F 9 EB F A 1B F A 2B F A 3B F A 6B F A 8B F A AB F A DB F B OB F B 1B F B 2B F B 4B F B 6B F B 8B F B AB F B CB F B E

2

F A D 4 A A 2 A 1 2 A A 2 D 9 A 2 9 4 2 A A 2 2 6 4 9 A F A 4 8 6

A

7 6 0 F 4 0 D 6 O C 4 0 5 0

0 F

E 4 0 2 E

O 6 0 6 F 6

B

B

B

B

B

B

B

B B

r R R R IJ S

B E L D B N J M L D L D J S L D B P J S L D L D J S B N T Y L D J S T Y P H J S L D L D J S J S P L L S B C L D B E L D E O S T R T

r ' n n $ B B A 2

E - 4 H f - i H H H$ B F E D$ 6 $ B F 8 4$ B 8 F 9# $ 4 E# $ 0 0$ B B D 4$ 6 $ B F 9 E$ B C C C# $ 4 E# $ O O$ B C 5 B$ B F 9 E

$ 0 $ B B F E

$ B 9 E A# $ 4 E# $ 0 0$ B A 2 8$ B F E D

$ B F B E$ 6 $ B F B E$ 6 # $ F F$ 6

C o n s t a n t s - f o r c h a n g e - f r o m T 1 6 0 0 t T I 2 1 0 0

3 6 0 0 06 0 6 0

6

B A S I C - S Q R - f u n c t i o nr o u n d F A a n p u i A R p o i n t e r t o c o n s t a n t 0 -

F A C = A R G - c o n s t a n t ( A / Y )c o n s t a n t t o F A

F A C = A R G F A e x p o n e n t A R b a s i s ?n o z e r o ?r e a d y

p o i n t e r t h e l p i n g a c c u m .F A C t o h e l p i n g a c c u m u l a t o r

e x p o n e n t F A C = p o w e r e x p o n e n ts m a l l e r o n e ?I N f u n c t i o np o i n t e r t h e l p i n g a c c u m .c o m p a r e w i t h F A

A R G t o F A C

L O G f u n c t i o np o i n t e r t o h e l p i n g a c c u m .m u l t i p l y w i t h F A E X f u n c t i o n

e x p o n e n t

i n v e r t

A - 7 4

Page 219: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 219/304

B F B F 8 3 8 A A 3 B 2 9B F C 4B F C 5B F C AB F C FB F D 4B F D 9B F D EB F E 3B F E 8

O 7 7 7 7 7 7 8 8

3 1

2 I 6

7 3 0

5 7 E 8 5 F 7 O

3 B E 1 5

E 1 O

5 I

8 2 9 C 1 O

B F E DB F E FB F F 1B F F 4B F F 6B F F 8B F F AB F F DE O O OE 0 0 2E 0 0 5E 0 0 7E 0 0 9E O O BE O O EE O 1 1E 0 1 3E 0 1 4E 0 1 6E 0 1 8E 0 1 9E O 1 BE O 1 CE O 1 EE 0 2 0E 0 2 2E 0 2 4E 0 2 6E 0 2 7E 0 2 9E 0 2 BE 0 2 DE 0 3 0E 0 3 3E 0 3 5E 0 3 7E 0 3 AE 0 3 CE 0 3 EE 0 3 FE 0 4 2

A A 2 A 6 9 2 4 8 2 A C 9 2 2 A 1 6 F 3 E 4 A B B 9 9 C 1 A 8 2 2 A A 2 A 8 6 2 6

B B 2 7 5 0 2 O 5 O 6 8 0 D C 0

8 F 0

0 6 6 6 6 F 5 7 5 B C B 5 O 6

B

B

B E B

B B

B B

E

B

L D L D J S L D A D B C J S J M B T J S L D C M B C J S J S L D C L A D B E S E S B P H L D L D L D S T S T D E B P L D S T J S J S L D L D J S L D S T P L J S R T

# $ B F# $ B F$ B A 2 8$ 7 # $ 5 0$ B F F D$ B C 2 3$ E 0 0 0$ 5 $ B C O F$ 6 # $ 8 8$ E O O E$ B A D 4$ B C C C$ 0

# $ 8 1$ E O O B# $ 0 1

# $ 0 5$ 6 9 ,$ 6 1 ,$ 6 1 ,$ 6 9 ,

$ E O 1 E$ 5 $ 7 $ B 8 5 3$ B F B 4# $ C 4# $ B F$ E 0 5 9# $ 0 0$ 6 $ B A B 9

C o n s t a n t s - f o r E X 1 - 4 4 2 6 9 5 0 4 l / L 0 G ( 2 )

p o l y n o m e d e g r e e2 . 1 4 9 8 7 6 3 7 E - 51 - 4 3 5 2 3 1 4 E - 41 - 3 4 2 2 6 3 4 8 E - 39 . 6 1 4 0 1 1 7 0 1 E - 3- 0 5 5 0 5 1 2 6 9- 2 4 O 2 2 6 3 8 5- 6 9 3 1 4 7 1 8 6

B A S I C - E X P f u n c t i o n

p o i n t e r t c o n s t a n t l / L 0 S ( 2 )m u l t i p l y w i t h F A

i n c r e a s e m a n t i s s a o F A C b yo n

g e F A t A R e x p o n e n tn u m b e r l a r g e r t h a n 1 2 8 ?

i p o s i t i v e , " O V E R F L O W "I N f u n c t i o n

e a u a l t 1 2 7 ?

s w i t c h F A a n A R

A R G - F A Cc h a n g e o s i g n

p o i n t e r t p o l y n o m e c o e f .c a l c u l a t e p o l y n o m e

e x p o n e n t s o F A a n A R

A - 7 5

Page 220: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 220/304

H f l K U E 0 4 3E 0 4 5E 0 4 7E O 4 AE 0 4 CE 0 4 FE 0 5 2E 0 5 4E 0 5 6

H 8 8 2 A 2 2 A A 4

r i r i n7 7 C 5 2 5 5 O 2

B

B E

B

w j

S T S T J S L D J S J S L D L D J M

r j i j v v i H f i f i J i f t J i i t

$ 7 $ 7 $ B B C A# $ 5 7$ B A 2 8$ E O 5 D# $ 5 7# $ O O$ B A 2 8

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 0 5 9E 0 5 BE 0 5 DE O 6 OE 0 6 2E 0 6 4E O 6 6E 0 6 7E 0 6 8E 0 6 AE 0 6 CE 0 6 EE 0 7 0E 0 7 3E 0 7 5E O 7 7E 0 7 8E 0 7 AE 0 7 CE 0 7 DE 0 7 FE 0 8 1E 0 8 4E 0 8 6E 0 8 8E 0 8 AE 0 8 C

8 8 2 B 8 A C 9 D E 8 A 2 A A 1 6 9 C 8 8 2 A A C D 6

7 7 C 7 6 7

O 7 7 7 2 7 7

0 0

7 7 6 5 0 6 E

B

B

B

S T S T J S L D S T L D

N T Y B N I N S T L D J S L D L D C L A D B C

N S T S T J S L D L D D E B N R T

$ 7 $ 7 $ B B C 7( $ 7 1 ) , Y

$ 6 $ 7

$ E 0 6 C$ 7 $ 7 $ 7 $ B A 2 8$ 7 $ 7 # $ 0 5$ E O 7 D

$ 7 $ 7 $ B 8 6 7# $ 5 C# $ 0 0$ 6 $ E 0 7 0

P o l y n o m e c a l c u l a t i o n s y = a l * x+ a 1 * x A 3 + a 3 * x A

p o i n t e r t o p o l y n o m e d e g r e eb r i n g F A o t a c c u m . # p o i n t e r t o a c c u m . # F A * a c c u m . # 3 ( s q u a r e )p o l y n o m e c a l c u l a t i o np o i n t e r t o a c c u m . # F A F A C * a c c u m . #

P o l y n o m e c a l c . y = a O + a l * x + a 2 *p o i n t e r t o p o l y n o m e d e g r e eb r i n g F A C t o a c c u m # p o l y n o m e d e g r e ea c o u n t e r

i n c r e a s e p o i n t e r , s h o w st h e n o - f i r s t c o e f f i c i e n t

F A F A c o n s t a n t ( A / Y )

a d t o p o i n t e r , n e x t

F A F A c o n s t a n t ( A / Y )

p o i n t e r t o a c c u m . # d e c r e a s e c o u n t e r

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 0 8 D 9 3 4 7 0 E 0 9 2 6 2 B 4 6 0 0* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 0 9 7 2 0 2 B B C J S R $ B C 2 BE 0 9 A 3 0 3 7 B M $ E 0 D 3

D O 2 0 B N E $ E O B E2 F 3 F F J S R $ F F F 3

E 0 9 CE 0 9 EE 0 A 1E 0 A 3E 0 A 5E 0 A 7E 0 A 9

8 6 2 28 2 A 0 B 2 8 5 6 2

S T $ 2 S T $ 2 L D # $ 0 4L D ( $ 2 2 ) , YS T A $ 6 2

C o n s t a n t f o R N 1 1 8 7 9 5 4 63 . 9 2 7 6 7 7 7 4 E - 4

B A S I C - R N D f u n c t i o ng e s i g nn e g a t i v e ?g e b a s i c a d d r e s s C I As a v e a p o i n t e rt i m e r l o

A - 7 6

Page 221: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 221/304

E O A BE O A CE O A EE O B OE 0 B 2E 0 B 4E 0 B 6E 0 B 7E 0 B 9E O B BE O B EE O C OE 0 C 2E 0 C 5E 0 C 7E 0 C 9E O C CE O C EE O D OE 0 D 3E 0 D 5E 0 D 7E 0 D 9E O D BE O D DE O D FE O E 1E 0 E 3E 0 E 5E 0 E 7E 0 E 9E O E BE O E DE O E FE 0 F 2E 0 F 4E 0 F 6E 0 F 9E O F BE O F DE O F FE 1 O 1E 1 0 4E 1 0 5E 1 0 7E 1 0 9

C B 8 A B 8 C B 8 4 A A 2 A A 2 A A 2 A A 8 8 A A 8 8 A 8 A 8 A 8 2 A A 4 C D 8 8 4 A D A 4

2 6 0 2 6

2 6 E 8 0 A 8 E 2 9 E 6 6 6 6 6 6 6 6 6 0 6 6 7 8 6 D 8 0 D F O 3 3 6

0 I

3

E

B

B

B

B

B

A

A

I N L D S T L D L D S T I N

L D S T J M L D L D J S L D L D J S L D L D J S L D L D S T S T L D L D S T S T L D S T L D S T L D S T J S L D L D J M C M B N S T S T J M T A B N L D J M

( $ 2 2 ) , Y$ 6 # $ 0 8( $ 2 2 ) , Y

$ 6

( $ 2 2 ) , Y$ 6 $ E 0 E 3# $ 8 B# $ O O$ B B A 2# $ 8 D# $ E 0$ B A 2 8# $ 9 2# $ E 0$ B 8 6 7$ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 $ 6 # $ 0 0$ 6 $ 6 $ 7 # $ 8 0$ 6 $ B 8 D 7# $ 8 B# $ 0 0$ B B D 4# $ F 0$ E 1 0 4$ 3 $ 3 $ A 6 6 3

$ E 1 0 9# $ 1 E$ A 4 3 7

t i m e r h i g h

t i m e r l o

t i m e r h i g h

p o i n t e r t l a s t R N v a l u ep u i F A

p o i n t e r t o c o n s t a n tF A F A c o n s t a n t

p o i n t e r t o c o n s t a n tF A F A c o n s t a n t

s w i t c h d i g i t s i F A

E 1 0 C 2 0 D 2 F F J S R $ F F D 2E l O F B O E 8 B C S $ E 0 F 9E l 1 1 6 R T

E l 1 2 2 0 C F F J S R $ F F C FE l 1 5 B O E 2 B C S $ E 0 F 9E l 1 7 6 R T

e x p o n e n t

m a k e F A C l e f t b i n d i n g

r o u n d F A C a n s a v e

s e B A S I C - R A M e n t C L c o m m a n d

n u m b e r f o " B R E A K "o u t — p u t e r r o r m e s s a g e

B A S I C B S O U To u t - p u t c h a r a c t e r

B A S I C B A S I Ng e c h a r a c t e r

A - 7 7

Page 222: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 222/304

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *E l 1 8 2 0 A E 4 J S R S E 4 A DE l I B B O D C B C $ E O F 9E l I D 6 R T

B A S I C C K O U Ts e o u t p u t d e v i c e

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E l I E 2 O C F F J S R $ F F C 6E 1 2 1 B O D 6 B C S S E 0 F 9E 2 3 6 0 R T

B A I S C C H K I Ns e t i n p u t d e v i c e

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E l 2 4 2 E F F J S R $ F F E 4E l 2 7 B O D O B C S * E O F 9E 2 9 6 0 R T S

B A S I C G E T I Ng e c h a r a c t e r

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 1 2 AE 1 2 DE 1 3 0E 1 3 2E 1 3 3E 1 3 5E 1 3 6E 1 3 9E 1 3 AE 1 3 DE 1 4 0E 1 4 3E 1 4 4E 1 4 7E 1 4 8E 1 4 BE 1 4 EE 1 5 1E 1 5 2

2 2 A 4 A 4 A 4 A A A 2 6 0 8 8 8 6 8

8 F E 4

O

O O O

1

O O O

O

A B

0 0 0 0

0 0 0 0

0

J S J S L D P H L D P H L D P H L D L D L D P L J M P H S T S T S T P L S T

$ A D 8 A* B 7 F 7# * E 1# $ 4 6$ 0 3 0 F$ O 3 O C* 0 3 0 D$ 0 3 0 E

( * 0 0 1 4 )

* 0 3 0 C* 0 3 0 D$ 0 3 0 E

$ 0 3 0 FE 1 5 5

S Y S c o m m a n dF R M N V M , g e t n u m e r i c t e r mc h a n g e t a d d r e s s f o r m a tr e t u r n a d d r e s s o s t a c k

s t a t u sa u m u 1 a t o rs w i t c h r e g i s t e r

a n d Y r e g i s t e rs e s t a t u s

c a l l r o u t i n es a v e s t a t u sa c c u m u l a t o rs a v e r e g i s t e r ,

r e g i s t e r , a n d

s t a t u s a g a i n

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 1 5 6 2 0 D E J S $ E 1 D 4E 1 5 9 A 6 2 D L D X $ 2 E 1 5 B A 2 E L D Y $ 2 EE 1 5 D A 2 L D A # $ 2 BE 1 5 F 2 0 D F F J S R * F F D 8E l 6 2 B O 9 5 B C S $ E 0 F 9E 1 6 4 6 0 R T S

S A V E c o m m a n dp a r a m e t e r ( n a m e , p r i m , s e c )e n a d d r e s s = B A S I C p r g m e n

s t a r t a d d r e s s p o i n t e r t os a v e r o u t i n e B A S I C s t a r t

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 1 6 5 A 0 L D # $ 0 iE l 6 7 2 . B Y T E $ 2

V E R I F Y c o m m a n dv e r i f y - F l a g

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E l 6 8 A 9 0 L D A # * 0 0E 1 6 A 8 5 O A S T A $ 0 AE 1 6 C 2 D E J S R $ E 1 D 4

L O A D c o m m a n do a - a

s a v eg e p a r a m e t e r s

A - 7 8

Page 223: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 223/304

E 1 6 FE 1 7 1E 1 7 3E 1 7 5E 1 7 8E 1 7 AE 1 7 CE 1 7 EE 1 8 0E 1 8 3E 1 8 5E 1 8 7E 1 8 9E 1 8 BE 1 8 DE 1 8 FE 1 9 1E 1 9 4E 1 9 5E 1 9 8E 1 9 AE 1 9 CE 1 9 EE 1 A 1E 1 A 3E 1 A 5E 1 A 7E 1 A 9E 1 A BE 1 A DE 1 A FE 1 B 2E 1 B 5E 1 B 8E 1 B B

A A A 2 B A F A 2 2 D A C F A A 4 6 2 2 F A 4 A C D 8 8 A A 2 4 2 2 4

O 2 2 D 5 O 1 1 B 1 1 7 0 0 6 A I

B B 0 I

3 7 0 O 2 2 7 A I 2 8 3 7

F

F

A F

A

A A A A A

L D L D L D J S B C L D B E L D J S A N B N L D C M B E L D L D J M R T J S A N B E L D J M L D C M B N S T S T L D L D J S J M J S J S J M

$ 0 $ 2 * 2 * F F D 5* E 1 D 1* O * E 1 9 5# * 1 C* F F B 7# $ 1 O$ E 1 9 E$ 7 # * 0 2* E 1 9 4# * 6 4# $ A 3S A I

$ F F B 7# $ B F* E 1 A 1# $ 1 D$ A 4 3 7$ 7 # * 0 2* E 1 B 5$ 2 * 2 # * 7 6# * A 3* A B 1 E* A 5 2 A* A 6 8 E* A 5 3 3$ A 6 7 7

E l B E 2 1 E 2 J S R $ E 2 1 9E 1 C 1 2 C F F J S R * F F C OE 1 C 4 B O O B C * E 1 D 1E 1 C 6 6 0 R T S

f l a gs t a r t a d d r e s s B A S I C - s t a r tl o a d r o u t i n el o a d / v e r i f y - f l a g

o - f - f s e t - f v e r i - f y e r r o rg e s t a t u si s o l a t e e r r o r — b i ts t a t u s - b i t s e t , t h e n e r r o rc h e c k o d i r e c t m o d ey e s , t h r e a d yp o i n t e r t " O K "

o u t - p u tg e s t a t u sc l e a r E O F - b i tn e r r o ro f f s e t f o r " L O A D E R R O R "o u t - p u t e r r o r m e s s a g ec h e c k d i r e c t m o d en o t h e n c o n t i n u ee n a d d r e s s p r o g r a m - e n dp o i n t e r o n " R E A D Y . "

o u t - p u t s t r i n gf i n d p r o g r a m s l i n e s o v e r , C L R

C H R G E T p o i n t e r t o s t a r tf i p r o g r a m l i n e s a g a i ni n i t i a l i z e R O S T O R E , B A S I C

B A S I C - O P E N c o m m a n dg e p a r a m e t e rO P E N r o u t i n e

E 1 C 7 2 0 1 E J S $ E 2 1 9E 1 C A A 5 4 L D $ 4 E 1 C C 2 0 C 3 F F J S R * F F C 3E 1 C F 9 0 C 3 B C C $ E 1 9 4E 1 D 1 4 C F 9 E O J M P $ E 0 F 9

B A S I C - C L O S E c o m m a n dg e p a r a m e t e rf i l e n u m b e rC L O S E r o u t i n e

E 1 D 4E 1 D 6E 1 D 9E 1 D BE 1 D D

A 9 0 0 L D A # * 0 02 B F J S $ F F B DA 0 L D # * 0 1A 0 L D Y # * 0 02 B F J S R $ F F B A

G e p a r a m e t e r f o L O A D / S A V Ed e f a u l t f o r l e n g t h o n a m es e f i l e n a m e p a r a m e t e rd e f a u l t f o d e v i c e n u m b e rd e f a u l t f o s e c o n d , a d d r e s ss e f i l e p a r a m e t e r

A - 7 9

Page 224: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 224/304

E 1 E O 2 0 0 6 E J S $ E 2 O 6E 1 E 3 2 O 5 E J S R $ E 2 5 7E 1 E 6 2 0 0 6 E 2 J S $ E 2 0 6E 1 E 9 2 0 0 0 E J S $ E 2 0 0E E C A O O O L D Y # $ O OE 1 E E 8 6 4 9 S T X $ 4 E 1 F 0 2 0 B A F J S $ F F B AE 1 F 3 2 0 E 2 J S R $ E 2 0 6E 1 F 6 2 0 0 0 E J S $ E 2 O OE 1 F 9 8 A T X AE 1 F A A 8 T A YE 1 F B A 4 L D $ 4 E 1 F D 4 C B A F F J M $ F F B A* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 2 0 0 2 O E 2 J S R $ E 2 0 EE 2 0 3 4 9 E B 7 J M P $ B 7 9 E* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 2 O 6 2 7 0 J S R $ 0 0 7 9E 2 0 9 D O 0 2 B N E $ E 2 O DE 2 O B 6 P L E 2 0 C 6 8 P L AE 2 0 D 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 2 0 E 2 F A J S R $ A E F DE 2 1 1 2 7 O J S R $ 0 0 7 9E 2 1 4 D O F B N E $ E 2 0 DE 2 1 6 4 C 0 8 A F J M P $ A F 0 8* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 2 1 9 A 9 0 0 L D # $ 0 0E 2 1 B 2 0 B D F F J S R $ F F B DE 2 1 E 2 1 E 2 J S R $ E 2 1 1E 2 2 1 2 9 B 7 J S R $ B 7 9 EE 2 2 4 8 6 4 9 S T X $ 4 E 2 2 6 8 A T X AE 2 2 7 A 0 L D # $ 0 1E 2 2 9 A 0 L D Y # $ 0 0E 2 2 B 2 B A F F J S $ F F B AE 2 2 E 2 0 0 6 E 2 J S R $ E 2 0 6E 2 3 1 2 0 E 2 J S R $ E 2 0 0E 2 3 4 8 4 A S T X $ 4 E 2 3 6 A O O O L D Y # $ 0 0E 2 3 8 A 4 L D A $ 4 9E 2 3 A E 0 3 C P X # $ 0 3E 2 3 C 9 0 B C $ E 2 3 FE 2 3 E 8 D E E 2 3 F 2 B F J S $ F F B AE 2 4 2 2 0 E 2 J S R $ E 2 0 6E 2 4 5 2 0 E 2 J S R $ E 2 0 0E 2 4 8 8 A T X AE 2 4 9 A 8 T A YE 2 4 A A 4 L D X $ 4 A

■ f u r t h e r c h a r a c t e r s ?g e - f i l e n a m e• f u r t h e r c h a r a c t e r s ?g e p a r a m e t e r

s e - f i l e p a r a m e t e rm o r e c h a r a c t e r s ?g e p a r a m e t e r

s e - f i l e p a r a m e t e r

c h e c k s o a n m o r e l e t -g e b y t e v a l u e t t e r s

C h e c k s o - f u r t h e r c h a r a c t e r sC H R G O T g e t l a s t c h a r a c t e rm o r e c h a r a c t e r s , t h e n r e t u r no t h e r w i s e r e t u r n t o h i g h e r

r o u t i n e

c h e c k s o c o m m aC H R G O T g e t l a s t c h a r a c t e rm o r e c h a r a c t e r s , t h e n r e t u r n" S Y N T A X E R R O R "

G e p a r a m e t e r - f o r O P E Nd e - f a u l t - f o r l e n g t h o - n a m es e - f i l e n a m e p a r a m e t e rm o r e c h a r a c t e r s ?g e t s l o g i c a l - f i l e t

d e - f a u l t d e v i c e a d d r e s sd e - f a u l t - f o r s e c o n d a r y a d d r ss e - f i l e p a r a m e t e rm o r e c h a r a c t e r s ?g e t s d e v i c e a d d r e s s

s e - f i l e p a r a m e t e rm o r e c h a r a c t e r s ?g e t s s e c o n d a r y a d d r e s s

A - 8 0

Page 225: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 225/304

E 2 4 CE 2 4 EE 2 5 1E 2 5 4E 2 5 7E 2 5 AE 2 5 DE 2 5 FE 2 6 1

* * * * *E 2 6 4E 2 6 6E 2 6 8* * * * *E 2 6 BE 2 6 EE 2 7 0E 2 7 2E 2 7 4E 2 7 7E 2 7 AE 2 7 DE 2 7 FE 2 8 1E 2 8 4E 2 8 6E 2 8 8E 2 8 BE 2 8 DE 2 8 EE 2 9 0E 2 9 3E 2 9 5E 2 9 7E 2 9 9E 2 9 BE 2 9 DE 2 A 0E 2 A 2E 2 A 4E 2 A 7E 2 A 8E 2 A AE 2 A DE 2 A FE 2 B 1

* * * * *E 2 B 4E 2 B 7E 2 B 9E 2 B BE 2 B E

A 2 2 2 2 2 A A 4

* * * - )A A 2

* * * • )2 A A A 2 2 2 A 8 2 A A 2 A 4 1 2 A 3 A 4 8 2 A A 2 6 1 2 A A 4

2 A 8 2 A

4 B 0 O 9 A 2 2 B

{ - * ■ • » • »

E E 6

f r - J H HO E E 6 0 O C 0 6 5 E E 5 6

O 4 6 0 1 F 1 B E E 6

0 B E E 4

( ■ ■ * * - »C O 1 6 4

F E E A B

F t - * * - *

B

B

B B B

B

B

B

B

B

B

E ( ■ * * ■ *

B

E

L D J S J S J S J S J S L D L D J M

( • * * * *L D L D J S

{ • * * * ■ »J S L D L D L D J S J S J S L D S T J S L D L D J S L D P H B P J S L D B M L D E O S T J S L D L D J S P L B P J S L D L D J M

( ■ ■ * • * * • »J S L D S T J S L H

$ 4 $ F F B A$ E 2 0 6$ E 2 0 E$ A D 9 E$ B 6 A 3$ 2 $ 2 $ F F B D

f - * * * * *# $ E 0# $ E 2$ B 8 6 7

$ B C O C# $ E 5# $ E 2$ 6 $ B B 0 7$ B C O C$ B C C C# $ 0 0$ 6 $ B 8 5 3# $ E A# $ E 2$ B 8 5 0$ 6

$ E 2 9 D$ B 8 4 9$ 6 $ E 2 A 0$ 1 # $ F F$ 1 $ B F B 4# $ E A# $ E 2$ B 8 6 7

$ E 2 A D$ B F B 4# $ E F# $ E 2$ E 0 4 3

( • * * * * *$ B B C A# $ 0 0$ 1 $ E 2 6 B

s e - F i l e p a r a m e t e rm o r e c h a r a c t e r s ?F R M E V L g e t e r mc h e c k s o s t r i n g t e r m

B A S I C - C O S - f u n c t i o n

p o i n t e r t o c o n s t a n t P a d d t o F A

B A S I C - S I N - F u n c t i o nr o u n d F A C a n d p u t i A R p o i n t e r t c o n s t a n t P

d i v i d e F A b P r o u n d F A C a n p u i A R I N - F u n c t i o n

A R m i n u s F A

p a i n t e r t c o n s t a n t 0 . 2 50 - 2 5 F A

s i g n o s t a c kp o s i t i v e ?F A + 0 . 5s i g nn e g a t i v e ?

t u r n - f l a g a r o u n d

c h a n g e o - s i g n sp o i n t e r t c o n s t a n t O . 2 5F A 0 . 2 5g e s i g np o s i t i v e ?c h a n g e o - s i g n

p o i n t e r t p o l y n o m e c o e - F - F .c a l c u l a t e p o l y n o m i a l

B A S I C - T A N - F u n c t i o nF A t a c c u m . #

s e - F l a gc a l c u l a t e S I

A - 8 1

Page 226: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 226/304

E 2 C 0E 2 C 2E 2 C 5E 2 C 7E 2 C 9E 2 C CE 2 C EE 2 D 0E 2 D 2E 2 D 5E 2 D 7E 2 D 9E 2 D CE 2 D D* * * * * * * * * *

A 2 A A 2 A 8 A 2 A A 4 4 4

0 F 5 0 A 0 6 1 D 4 0 O

9

E

B

E

B

E

L D J S L D L D J S L D S T L D J S L D L D J M P H J M

# $ 0 0$ E 0 F 6# $ 5 7# $ 0 0$ B B A 2# $ 0 0$ 6 $ 1 $ E 2 D C# $ 4 E# $ 0 0$ B B O F

$ E 2 9 D

E 2 E 0 8 4 O D A E 2 E 5 8 3 4 9 O F D A E 2 E A 7 F 0 0 0 0 0 0 0E 2 E F 0 5E 2 F 0 8 4 E 1 2 I E 2 F 5 8 6 2 8 0 7 F B F 8E 2 F A 8 7 9 9 6 8 8 0 E 2 F F 8 7 2 3 3 5 D F E E 3 O 4 8 6 A 5 D E 7 2 8E 3 0 9 8 3 4 O D A * * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 3 0 E A 6 L D $ 6 E 3 1 O 4 P H E 3 1 1E 3 1 3E 3 1 6E 3 1 8E 3 1 9E 3 1 BE 3 1 DE 3 1 FE 3 2 1E 3 2 4E 3 2 6E 3 2 8E 3 2 BE 3 2 CE 3 2 EE 3 3 0E 3 3 2E 3 3 4 2 0 5 0 B 8 J S R $ B 8 5 0E 3 3 7 6 P L E 3 3 8 1 0 B P L $ E 3 3 DE 3 3 A 4 C B 4 B F J M P $ B F B 4E 3 3 D 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 3 3 E O B

A 6 4 C 8 9 0 A B A O B 9

1 0 B P L $ E 3 1 62 0 B 4 B F J S R $ B F B 4

L D $ 6 P H C M # $ 8 1B C C $ E 3 2 4L D # $ B CL D Y # $ B 9

2 O B B J S R $ B B O FA 9 3 E L D A # $ 3 EA E L D Y # $ E 32 4 E O J S R $ E O 4 36 P L C 8 C M # $ 8 19 0 B C C $ E 3 3 7A 9 E O L D A # $ E 0A O E 2 L D # $ E 2

p o i n t e r t h e l p i n g a c e u r n .F A t h e l p i n g a c c u m u l a t o r

p o i n t e r t a c e u r n . # a c c u m . # 3 t o F A

s i g n• f l a gc a l c u l a t e C O p o i n t e r t h e l p i n g a c c u m .d i v i d e b F A ( S I N )

c a l c u l a t e C O SC o n s t a n t s - f o r S I a n C O

1 . 5 7 O 7 9 6 3 3 P i / 26 . 2 8 3 1 8 5 3 1 2 * P i0 . 2 5

p o l y n o m i a l d e g r e e- 1 4 . 3 8 1 3 9 0 74 2 . 0 0 7 7 9 7 1- 7 6 . 7 0 4 1 7 0 38 1 . 6 O 5 2 2 3 7- 4 1 . 3 1 4 7 O 2 16 . 2 8 3 1 8 5 3 1 2 * P i

B A S I C - A T N - f u n c t i o ns i g ns a v ep o s i t i v e ?c h a n g e o - s i g n se x p o n e n ts a v ec o m p a r e n u m b e r w i t hs m a l l e r ?p o i n t e r t o c o n s t a n td i v i d e b y F A C ( r e c i p r i c a l )p o i n t e r t p o l y n o m e c o e - f - f -c a l c u l a t e p o l y n o m eg e b a c k e x p o n e n tw a s n u m b e r s m a l l e r t h a n 1

p o i n t e r t o c o n s t a n t P i / 2P i / 2 m i n u s F A g e s i g np o s i t i v e ?c h a n g e o - s i g n s

F l o a t i n g — p o i n t c o n s t a n t s - f o rl l = p o l y n o m e d e g r e e A T

A - 8 2

Page 227: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 227/304

- 6 . 8 4 7 9 3 9 1 2 E - O 44 . B 5 0 9 4 2 1 6 E - 0 3

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

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

- 0 8 9 8 0 1 9 1 8 5- 1 1 O 9 3 2 4 1 3

. 1 4 2 8 3 9 8 0 8. 1 9 9 9 9 9 1 2- . 3 3 3 3 3 3 3 1 6

B A S I C N M r e - e n t e r a n c eC L R C H

i n p u t d e v i c e k e y b o a r di n i t i a l i z e B A S I C

B A S I C w a r m - s t a r t v e c t o r< J M P * E 3 8 B >

o u t — p u t e r r o r m e s s a g er e a d y m o d e

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * B A S I C c o l d - s t a r tE 3 9 4 2 0 5 E J S $ E 4 5 3 s e B A S I C v e c t o r sE 3 9 7 2 B E 3 J S R * E 3 B F i n i t i a l i z e R A ME 3 9 A 2 0 2 E 4 J S R * E 4 2 2 o u t - p u t p o w e r - o n m e s s a g eE 3 9 D A 2 F B L D # * F B s e s t a c k - p o i n t e rE 3 9 F 9 A T X E 3 A 0 D O E 4 B N E $ E 3 B 6 t w a r m - s t a r t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * C o p y o - C H R G E T - r o u t i n eE 3 A 2 E 6 7 A I N * 7 E 3 A 4 D 0 B N * E 3 A 8

E 3 3 FE 3 4 4E 3 4 9E 3 4 EE 3 5 3E 3 5 8E 3 5 DE 3 6 2E 3 6 7E 3 6 CE 3 7 1E 3 7 6* * * * *E 3 7 BE 3 7 EE 3 8 0E 3 8 2E 3 8 5E 3 8 6E 3 B 8E 3 8 BE 3 B CE 3 8 EE 3 9 1

7 7 7 7 7 7 7 7 7 7 7 8

* * * ■ »2 A 8 2 5 A 6 8 3 4 4

B I 8 O D 1

B 6 9 4 A O

( • * * ■ *C 0 1 7

8 0

0 3 7

8 F F I

5 6 E 3 4 C A 0

( ■ * * - >F

A

0

A A

B A B 6 C 7 5 8 9 9 A 0

{ - * * *J S L D S T J S C L L D J M T X B M J M J M

D F 1 C C 4 7 7 3 C 1 0 * * * * * * * *

$ F F C C# $ 0 0* 1 S A 6 7 A

# $ 8 0( $ 0 3 0 0 )

$ E 3 9 1$ A 4 3 A* A 4 7 4

E 3 A 6E 3 A 8E 3 A BE 3 A DE 3 A FE 3 B 1E 3 B 3E 3 B 4E 3 B 6E 3 B 7E 3 B 9

E A C B C F 3 E 3 E 6

7 6 3 O 2 E

3

D

I N E L D

C M B C C M B E S E S B S E S B R T

* 7 $ E A 6 0# * 3 A* E 3 B 9# * 2 0* E 3 A 2

# $ 3 0# * D O

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * S t a r t v a l u e - f o r R N - f u n c t i o nE 3 B A 8 4 C 5 5 8 . 8 1 1 6 3 5 1 5 7* * * * * * * * * * * * * * * * * * * * * * * * * * * * * I n i t i a l i z e R A M - f o r B A S I CE 3 B F A 9 4 L D A # $ 4 C J M PE 3 C 1 8 5 S T $ 5 f o - f u n c t i o n s

A - 8 3

Page 228: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 228/304

E 3 C 3E 3 C 6E 3 C 8E 3 C AE 3 C DE 3 D 0E 3 D 2E 3 D 4E 3 D 6E 3 D 8E 3 D AE 3 D CE 3 D E

E 3 E 0E 3 E 2E 3 E 5E 3 E 7E 3 E 8E 3 E AE 3 E CE 3 E EE 3 F 0E 3 F 2E 3 F 4E 3 F 6E 3 F 8E 3 F BE 3 F EE 4 0 0E 4 0 2E 4 0 3E 4 0 6E 4 0 8E 4 0 AE 4 0 BE 4 0 EE 4 1 0E 4 1 2E 4 1 4E 4 1 6E 4 1 8E 4 1 9E 4 1 BE 4 1 DE 4 1 FE 4 2 1

B A A 8 8 A A 8 8

A A 8 8

A B 9 C 1 A 8 A 8 8 8 A 8 8 A 8 3 2 8 8 3 2 8 8 8 B A 9 9 E D E 6

1 4 B 1 1 9 B 0 0 A B 0 0

1 A 7 F 0 5 0 6 1 1 0 F F 1 1

9 2 2

9 3 3 3 3 0

2 2 0 2

O

O O

E

0 O

F

F

S T L D L D S T S T L D L D S T S T L D L D S T S T

L D L D S T D E B P L D S T L D S T S T S T L D S T S T L D S T S E J S S T S T S E J S S T S T S T S T L D T Y S T I N B N I N R T

$ 0 3 1 0# $ 4 8# $ B 2$ 0 3 1 1$ 0 3 1 2# $ 9 1# $ B 3$ 0 $ 0 # $ A A# $ B 1$ 0 $ 0

# $ 1 C$ E 3 A 2 , X$ 7 3 ,

$ E 3 E 2# $ 0 3$ 5 # $ 0 0$ 6 $ 1 $ 1 # $ 0 1$ 0 1 F D$ 0 F # $ 1 9$ 1 $ F F 9 C$ 2 $ 2

$ F F 9 9$ 3 $ 3 $ 3 $ 3 # $ 0 0

( $ 2 B ) , Y$ 2 $ E 4 2 1$ 2

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 4 2 2 A 2 L D A $ 2 BE 4 2 4 A 4 2 C L D Y $ 2 CE 4 2 6 2 0 0 A 4 J S R $ A 4 0 BE 4 2 9 A 9 7 3 L D A # $ 7 3E 4 2 B A O E 4 L D Y # $ E 4

- f o r U S R — f u n c t i o n sp o i n t s t " I L L E G A L Q U A N T I T Y "

s a v e a U S R - v e c t o r

$ B 3 9 1v e c t o r f o - f i x e d t - f l o a t i n g

~ p o i n t c o n v e r s i o n

$ B 3 A Av e c t o r - f o r - f l o a t i n g t - f i x e d

p o i n t c o n v e r s i o n

C H R G E T - r o u t i n ec o p y i n t o R A

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

i n p u t - d e v i c e k e y b o a r d

p o i n t e r - f o r s t r i n g s t a c k

g e R A M s t a r ts a v e a B A S I C s t a r t

g e t R A M e n

s a v e a B A S I C e n

$ 0 t B A S I C s t a r t

B A S I C s t a r t

p o i n t e r t B A S I C - R A M s t a r tc h e c k s o - f r e e m e m o r yp o i n t e r t p o w e r — o n m e s s a g e

A - - 8 4

Page 229: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 229/304

E 4 2 DE 4 3 0E 4 3 2E 4 3 3E 4 3 5E 4 3 6E 4 3 8E 4 3 AE 4 3 DE 4 3 FE 4 4 1E 4 4 4

2 A 3 E A A E 2 A A 2 4

I 3

2

3 2 C 6 E I 4

A

B

A A

J S L D S E S B T A L D S B J S L D L D J S J M

$ A B 1 E$ 3 * 2

* 3 * 2 $ B D C D# $ 6 0# * E 4* A B 1 E* A 6 4 4

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 4 4 7 8 B E 3 8 3 A 4 7 C A 1 A E 4 4 F E 4 A 8 A

o u t - p u t s t r i n g

B A S I C e n n i n u s B A S I C s t a r t

e q u a l s b y t e s - f r e eo u t — p u t q u a n t i t yp o i n t e r t o " B A S I C B Y T E S

F R E E "o u t - p u t s t r i n gt N E W c o m m a n d

T a b l e o B A S I C v e c t o r s

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 4 5 3E 4 5 5E 4 5 8E 4 5 BE 4 5 CE 4 5 E

A B 9 C 1 6

O 4 0

F

E 0

L D L D S T D E B P R T

# $ 0 B$ E 4 4 7 ,* 0 3 0 0 ,

* E 4 5 5

L o a d B A S I C v e c t o r s

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * O p p e r a t i n g s y s t e m

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 4 5 F 0 2 0 4 2 4 5 4 4 2 E 4 6 7 4 2 5 9 5 4 5 2 0 4 6 5 E 4 6 F 4 5 4 5 O D 0 E 4 7 3 9 3 O D 2 0 2 0 2 0 2 0 2 2 E 4 7 B 2 A 2 A 2 0 4 3 4 F 4 D 4 D 4 FE 4 8 3 4 4 5 4 2 3 6 3 4 2 0E 4 8 B 4 4 5 4 4 3 2 O 5 6 3 E 4 9 3 2 2 A 2 A 2 A 2 A O O 2 E 4 9 B 3 6 3 4 4 2 5 4 4 2 E 4 A 3 5 3 5 9 5 3 5 4 4 5 4 D 2 0 2 0E 4 A B 0 E 4 A C 5

S y s t e m m e s s a g e sB A S I C B Y T E S F R E E

( C L R ) * * * * C O M M O D O R E 6 4B A S I C V * * * *

( C R ) ( C R ) 6 4 K R A M S Y S T E M

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 4 A D 4 P H E 4 A E 2 0 C 9 F F J S R * F F C 9E 4 B 1E 4 B 2E 4 B 3E 4 B 5E 4 B 6

E 4 B 7E 4 D 9

A 6 9 8 6

A

0

A

T A P L B C C * E 4 B 6T X R T

B A S I C - C K O U T r o u t i n e

C K O U T s e o u t - p u t d e v i c e

* * * * * * * * * * * * * * * * * * * * * * # ♦ * * * * *

A - 8 5

Page 230: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 230/304

E 4 D A A 2 D L D $ D O 2 1E 4 D D 9 F 3 S T A ( $ F 3 > , YE 4 D F 6 0 R T S

R J H R XE 4 E 0E 4 E 2E 4 E 4E 4 E 5E 4 E 7E 4 E 9E 4 E B

H U N T6 A C D C D 6

r u h

0 9

0 A F

H H

A D L D

N B N C M B N R T

# $ 0 2$ 9 $ E 4 E B$ A $ E 4 E 2

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 4 E CE 4 E EE 4 F 0E 4 F 2E 4 F 4E 4 F 6E 4 F 8E 4 F AE 4 F CE 4 F EJ C U . J L J C . J t

1 4 1 E 7 0 D 3 A 6

J C . J C . J L J

2 1 1 O O 0 0 0 0 0

< ■ J C . J C . J C . J t J C . J C J C J t . 4 t . J i t . 4 C , J C . J | . J C . 4 ( > 4 C . 4 C . J C . 4 C . 4 C i

E 5 0 0 A 0 L D # $ 0 0E 5 0 2 A D C L D Y # $ D CE 5 0 4 6 R T * * * ■ * . * * * * * * * * * * * * * * * * * * * * * * * * *E 5 0 5 A 2 2 8 L D X # $ 2 8E 5 0 7 A O 1 L D Y # $ 1 9E 5 0 9 6 R T * * * * *E 5 0 AE 5 0 CE 5 0 EE 5 1 0E 5 1 3E 5 1 5E 5 1 7

* * * • »B 8 8 2 A A 6

t * * * * T T 10 D D 6 C E 5D D

n -

B C S T S T J S L D L D R T

r H H f t H d n n$ E 5 1 3$ D $ D $ E 5 6 C$ D $ D

b a c k - g r o u n d c o l o r

W a i t s - f o r C o m m o d o r e - k e y2 * 2 5 6 / 6 0 w a i t 8 - s e c o n d sc h e c k - F l a g

k e p r e s s e d ?i t i m e o v e r ?

T i m e r c o n s t a n t s - f o r R S - 2 3 2$ 2 6 1 9 = 9 7 5 3 S O b a u d / B a u d - R a t e$ 1 9 4 4 6 4 6 8 7 b a u d$ 1 1 1 A 4 3 7 8 1 1 b a u d$ O D E 8 3 5 6 0 1 3 4 . 5 b a u d$ 0 C 7 0 = 3 1 8 4 1 5 b a u d$ 0 6 0 6 = 1 5 4 2 3 0 0 b a u d$ O 2 D 1 = 7 3 6 0 0 b a u d$ 0 1 3 7 = 3 1 1 1 2 0 0 b a u d$ O O A E = 1 7 4 1 8 0 0 b a u d$ 0 0 6 9 = 1 0 5 2 4 0 0 b a u d

G e b a s i c a d d r e s s o t h e C I A

$ D C 0 0

G e t s o l i n e s a n c o l u m n s4 c o l u m n s2 5 l i n e s

S e t c u r s o r ( C = 0 ) / g e t ( C = l )

i n c o l u m ns e c u r s o r

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 5 1 8 2 0 A O E J S R $ E 5 A 0E 5 1 B A 9 0 0 L D A # $ O OE 5 1 D B 9 0 S T $ 0 2 9 1E 5 2 OE 5 2 2E 5 2 4E 5 2 7E 5 2 9E 5 2 CE 5 2 E

8 A 8 A 8 A 8

C 4 8 E 9 O 8

0 0

0

S T L D S T L D S T L D S T

$ C # $ 4 8$ 0 2 8 F# $ E B$ 0 2 9 0# $ 0 A$ 0 2 8 9

R e s e t s c r e e ni n i t i a l i z e v i d e o - c o n t r o l l e re n a b l e s h i f t - C o m m o d o r ec u r s o r n o i b l i n k - p h a s e

( $ 0 2 8 F ) $ E B 4 Bp o i n t e r t a d d r e s s i s f o

k e y - b o a r d d e c o d i n gc o u n t e r f o r e p e a t - s p e e d

A - 8 6

Page 231: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 231/304

Page 232: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 232/304

E 5 9 1 1 E 5 9 2 6 9 2 8E 5 9 4 E 8E 5 9 5 1 F E 5 9 7 8 5 D E 5 9 9 6 0

C L A D C # $ 2 8I N B P L $ E 5 8 DS T $ D R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 5 9 A 2 0 A 0 E 5 J S R $ E 5 A 0E 5 9 D 4 C 6 6 E 5 J M P $ E 5 6 6* * * * *E 5 A 0E 5 A 2E 5 A 4E 5 A 6E 5 A 8E 5 A AE 5 A DE 5 B 0E 5 B 1E 5 B 3

A 8 A 8 A B 9 C D 6

t - * * * * * * * * * * * * * * * * * * * *0 9 0 9 2 B F F

L D S T L D S T L D

E C L D AC F S T A

D E B N R T

# $ 0 3$ 9 # $ 0 0$ 9 # $ 2 F$ E C B 8 , X$ C F F F , X$ E 5 A A

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 5 B 4 A C 7 7 0 2 L D Y $ 0 2 7 7E 5 B 7 A 2 0 0 L D X # $ O O

B 7 0 L D A $ 0 2 7 8 , X9 7 0 S T $ 0 2 7 7 , X

I N C P $ C B N E $ E 5 B 9D E C $ C 6

E 5 B 9E 5 B CE 5 B FE 5 C 0E 5 C 2E 5 C 4E 5 C 6E 5 C 7E 5 C 8E 5 C 9

E E C D F C 6 C 69 5 1 6

T Y C L C L R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 5 C A 2 1 E J S R $ E 7 1 6E 5 C D A C L D $ C E 5 C FE 5 D 1E 5 D 4E 5 D 6E 5 D 7E 5 D 9E 5 D BE 5 D DE 5 E 0E 5 E 2E 5 E 4E 5 E 7E 5 E AE 5 E CE 5 E EE 5 F 0

8 8 F 7 A F A A A 8 2 2 C D A 7

C 9 F

C O C 8 0 C 1 B 8 1 0

0

0

E E

S T S T B E S E L D B E L D L D L D S T J S J S C M B N L D S E

$ C $ 0 2 9 2$ E 5 C D

$ C $ E 5 E 7$ C $ 0 2 8 7# $ 0 0$ C $ E A 1 3$ E 5 B 4# $ 8 3$ E 5 F E# $ 0 9

i n i t i a l i z e v i d e o — c o n t r o l l e rc u r s o r h o m e

I n i t i a l i z e v i d e o - c o n t r o l e r

o u t - p u t o s c r e e n

i n p u t - f r o m k e y b o a r dw r i t e c o n s t a n t s i n t ov d e o - c o n t r o l 1 e r

G e c h a r a c t e r - f r o m k e y b o a r d -g e - f i r s t c h a r a c t e rm o v e b u - f - f e r u - f r o n t

c o m p a r e w i t h n u m b e r o - c h a r a c t e r s

d e c r e a s e c h a r a c t e r n u m b e rg e c h a r a c t e r i a c c u m u l a t o r

W a i t i n g - l o o p - f o r k e y - b o a r do u t — p u t c h a r a c t e r i n p u tn u m b e r o - p r e s s e d k e y s

c u r s o r i b l i n k - p h a s e ?

c o d e - f o r s h i f t - r u n " ?

c h a r a c t e r s

A - 8 8

Page 233: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 233/304

Page 234: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 234/304

E 6 5 9E 6 5 BE 6 5 DE 6 5 FE 6 6 1E 6 6 3E 6 6 5E 6 6 7E 6 6 9E 6 6 BE 6 6 DE 6 6 FE 6 7 2E 6 7 4E 6 7 6E 6 7 7E 6 7 8E 6 7 9E 6 7 AE 6 7 CE 6 7 EE 6 8 0E 6 8 2E 6 8 3

C D A 8 A A E F A E F 2 A 8 6 A 6 A A C D A 1 6

C 1 0 D O 9 O 0 9 0 O 1 E O D

D D 0 F

* * * * * * * * * * * * * * • )E 6 8 4E 6 8 6E 6 8 BE 6 8 AE 6 8 CE 6 8 EE 6 9 0* * * * *E 6 9 1E 6 9 3E 6 9 5E 6 9 7E 6 9 9E 6 9 BE 6 9 DE 6 9 FE 6 A 2E 6 A 5E 6 A 8E 6 A 9E 6 A AE 6 A CE 6 A EE 6 B 0E 6 B 1E 6 B 2E 6 B 3E 6 B 4

C D A 4 8 A 6

* * * • )0 A F 0 A F C A 2 2 6 A A F 4 6 A 6 1 5

2 0 D O D 2

* * * * * * • ]4 C 0 8 D 0 D 8 O 1 E B E

D O D

C P B N L D B T L D L D C P B E L D C P B E J S L D S T P L T A P L T A L D C M B N L D C L R T

{ ■ * * * • )C M B N L D E O S T L D R T

« ■ * * * • ]O R L D B E O R L D B E D E L D J S J S P L T A L D B E L S P L T A P L C L C L

$ C $ E 6 7 4# * 0 0$ D # * 0 D$ 9 # * 0 3* E 6 6 F$ 9 # $ 0 3$ E 6 7 2$ E 7 1 6# * 0 D* D

$ D # * D E$ E 6 8 2# * F F

* * * * * *# * 2 2* E 6 9 0$ D # $ 0 1$ D # $ 2 2

* * * * * *# $ 4 0$ C $ E 6 9 9# $ 8 0$ D $ E 6 9 F$ D $ 0 2 8 6$ E A 1 3$ E 6 B 6

$ D $ E 6 B O$ D

c u r s o r i l a s t c o l u m n ?

1 C R " ~ f l a g

i n p u t - f r o m s c r e e n ?y e o u t - p u t o s c r e e n ?y e

w r i t e c h a r a c t e r o s c r e e n

s c r e e n — c o d ec o m p a r e w i t h c o d e - f o r P

y e s , s u b s t i t u t e b B A S I C -c o d e - f o r P

C h e c k o h i g h c o m m a

n o t h e n r e a d yt u r n a r o u n d h i g h — c o m m a - f l a g

r e s t o r e h i g h — c o m m a c o d e

c o l o r c o d ew r i t e c h a r a c t e r i n t o s c r e e n -

u p d a t e l i n e - s t a r t t a b l e /

A - 9 0

Page 235: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 235/304

E 6 B 5* * * * *E 6 B 6E 6 B 9E 6 B BE 6 B DE 6 B FE 6 C 1E 6 C 3E 6 C 5E 6 C BE 6 C AE 6 C DE 6 C FE 6 D 1E 6 D 3E 6 D 6E 6 D BE 6 D AE 6 D CE 6 D EE 6 D FE 6 E 1E 6 E 3E 6 E 5E 6 E 6E 6 E BE 6 E 9E 6 E BE 6 E DE 6 E FE 6 F 1E 6 F 2E 6 F 4E 6 F 7E 6 F 9E 6 F CE 6 F EE 7 0 0E 7 0 1E 7 0 3E 7 0 5E 7 0 7E 7 0 8E 7 0 9E 7 0 BE 7 0 CE 7 0 EE 7 1 1E 7 1 3E 7 1 5E 7 1 6E 7 1 7E 7 1 9E 7 1 A

6 ■ * • • * " *

2 E A C B C F A F 4 A E 9 2 C A 1 5 E B 0 9 C A 1 6 8 B 3 C D 4 C 2 A 8 6 A D 8 6 6 D C 8 2 A 8 6 4 8 8 4

* * B D D D 3 4 3 9 O 6 D 1 0 E D D D D

D 8 D

D

2 D D 0

F F D 7 0 D D O D

9

D 6 D D

D

* • * *E

0

E

E

E

E

E

R T * * * * •

J S I N L D C M B C C M B E L D B E J M L D C P B C J S D E L D A S L S I N L D O R S T D E L D C L A D S T L D B M D E B N J M D E J S L D S T R T L D B N S T P L P L B N D E S T J S L D S T R T P H S T T X P H

* * * * * *$ E 8 B 3$ D * D * D $ E 7 0 0# $ 4 F* E 6 F 7$ 0 2 9 2* E 6 C D$ E 9 6 7$ D # $ 1 9£ E 6 D A$ E 8 E A* D $ D * D 9 , X* D 9 , X

$ D 9 , X# $ 8 0$ D 9 , X

$ D

# $ 2 8$ D $ D 9 , X$ E 6 F 4$ E 6 E D$ E 9 F 0$ D $ E 8 7 C# $ 0 0$ D

$ D $ E 7 0 B$ D

$ E 6 A 8

$ D $ E 5 6 C$ D $ D

$ D

C a l c u l a t e M S - f o r n e 1 r s t a r t s

7 c h a c a c t e r s l i n e s ) ?

A - 9 1

Page 236: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 236/304

E 7 1 BE 7 1 CE 7 1 DE 7 1 FE 7 2 1E 7 2 3E 7 2 5E 7 2 7E 7 2 AE 7 2 CE 7 2 EE 7 3 1E 7 3 3E 7 3 5E 7 3 7E 7 3 9E 7 3 BE 7 3 DE 7 3 FE 7 4 2E 7 4 5E 7 4 7E 7 4 9E 7 4 CE 7 4 EE 7 5 0E 7 5 1E 7 5 3E 7 5 6E 7 5 9E 7 5 CE 7 5 DE 7 5 FE 7 6 2E 7 6 3E 7 6 5E 7 6 6E 7 6 8E 7 6 9E 7 6 BE 7 6 CE 7 6 EE 7 6 FE 7 7 1E 7 7 3E 7 7 5E 7 7 7E 7 7 AE 7 7 CE 7 7 EE 7 8 0E 7 8 2E 7 8 5E 7 8 7E 7 8 9E 7 8 B

9 4 A 8 A A 1 4 C D 4 C 9 C 9 2 D 2 2 4 A F 4 C D 9 D 2 4 2 8 8 2 C B 8 9 C B 8 9 C C D A 9 A 9 1 A F 4 C D 8 C

0 D D D 0 D O 0 9 2 1 6 0 D 0 3 8 9 D 0 9 1 2

0 0 7 A

D 2

D

D

F

F D E 2 D 8 F 4 D 0 9 1 0 C 1

E

E

E E

E

E E E

E

0

E

T Y P H L D S T L D L D B P J M C M B N J M C M B C C M B C A N B N A N J S J M L D B E J M C M B N T Y B N J S J M J S D E S T J S

N L D D E S T

N L D D E S T

N C P B N L D S T L D S T B P L D B E J M C M B N S T C M

# * O O$ D * D $ D * E 7 2 AS E 7 D 4# * 0 D* E 7 3 1S E 8 9 1# * 2 0* E 7 4 5# $ 6 0* E 7 3 D# * D F* E 7 3 F# * 3 F* E 6 8 4S E 6 9 3* D S E 7 4 C* E 6 9 7# $ 1 4* E 7 7 E

* E 7 5 9* E 7 O 1* E 7 7 3$ E 8 A 1

* D * E A 2 4

( * D 1 )

( * D 1 )

( * F 3 )

( * F 3 )* D * E 7 6 2# * 2 0

( * D 1 )* 0 2 8 6( * F 3 )* E 7 C B

* D * E 7 8 5* E 6 9 7# * 1 2* E 7 8 B* C # * 1 3

A - 9 2

Page 237: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 237/304

E 7 B D D O 0 3 B N E $ E 7 9 2E 7 8 F 2 6 E 5 J S R $ E 5 6 6E 7 9 2 C I C M P # $ 1 DE 7 9 4 D O 1 B N $ E 7 A DE 7 9 6 C I N E 7 9 7 2 0 B E 8 J S R $ E B B 3E 7 9 A 8 4 D S T Y $ D 3E 7 9 C 8 D E E 7 9 D C 4 D 5 C P Y $ D 5E 7 9 F 9 0 O B C $ E 7 A AE 7 A 1 C D D E $ D E 7 A 3 2 0 7 C E 8 J S R $ E B 7 CE 7 A 6 A 0 L D # $ 0 0E 7 A 8 8 4 D 3 S T $ D E 7 A A 4 A 8 E 6 J M $ E 6 A 8E 7 A D C 9 1 C M # $ 1 1E 7 A F D I B N E $ E 7 C EE 7 B 1 1 C L E 7 B 2 9 T Y E 7 B 3 6 2 A D # $ 2 8E 7 B 5 A 8 T A YE 7 B 6 E 6 D 6 I N $ D E 7 B 8 C 5 D 5 C M $ D E 7 B A 9 0 E B C C $ E 7 A 8E 7 B C F O E A B E Q $ E 7 A 8E 7 B E C 6 D 6 D E $ D E 7 C 0 E 9 2 8 S B C # $ 2 8E 7 C 2 9 O B C C $ E 7 C 8E 7 C 4 8 D 3 S T A $ D 3E 7 C 6 D O F 8 B N E $ E 7 C 0E 7 C 8 2 0 7 C E 8 J S $ E B 7 CE 7 C B 4 A E 6 J M P $ E 6 A 8E 7 C E 2 O C B E 8 J S $ E 8 C BE 7 D 1 4 4 4 E C J M $ E C 4 4E 7 D 4 2 9 7 F A N E 7 D 6 C 9 7 F C M E 7 D 8 D 0 B N $ E 7 D CE 7 D A A 5 L D A # $ 5 EE 7 D C C 2 C M # $ 2 0E 7 D E 9 0 0 3 B C C $ E 7 E 3E 7 E 0 4 9 E J M $ E 6 9 1E 7 E 3 C 9 O D C M P # $ 0 DE 7 E 5 D O 0 3 B N E $ E 7 E AE 7 E 7 4 9 E 8 J M PE 7 E A A 6 D 4 L D XE 7 E C D O 3 F B N E $ E B 2 DE 7 E E C 1 C M P # $ 1 4E 7 F 0 D O 3 7 B N E $ E 8 2 9E 7 F 2 A 4 D 5 L D Y $ D 5E 7 F 4 B l D l L D ( $ D 1 ) , YE 7 F 6 C 9 2 0 C M P # $ 2 0E 7 F B D 0 B N $ E 7 F EE 7 F A C 4 D 3 C P Y $ D 3E 7 F C D O 0 7 B N E $ E B 0 5E 7 F E C 4 C P # $ 4 FE 8 0 0 F 2 B E $ E B 2 6

A - 9 3

Page 238: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 238/304

E 8 0 2E 8 0 5E 8 0 7E 8 0 AE 8 O BE 8 0 DE 8 O EE 8 1 0E 8 1 1E 8 1 3E 8 1 4E 8 1 6E 8 1 7E 8 1 9E 8 1 BE 8 1 DE 8 1 FE 8 2 2E 8 2 4E 8 2 6E 8 2 9E 8 2 BE 8 2 DE B 2 F

E 8 3 2E 8 3 4E 8 3 6E 8 3 8E 8 3 AE 8 3 CE 8 3 EE 8 3 FE 8 4 1E 8 4 3E 8 4 5E 8 4 7E 8 4 AE 8 4 CE 8 4 EE 8 5 OE 8 5 2E 8 5 4E 8 5 6E 8 5 8E 8 5 9E 8 5 BE 8 5 EE 8 5 FE 8 6 1E 8 6 4

2 A 2 8 B C 9 8 B C 9 8 C D A 9 A 9 E 4 A F 0 4

* • * • * ■ »C D A F C A 3 E 9 8 1 2 D C D A 8 C D 9 F 2 8 8 4 2

6 D 2

D

D F

F

D E 2 D 8 F D A D 0 4 9

1 1 D 3 D D 2 0 D 2 6 2 1 0 0 C I 1

0 A

D A 0

E

E

O

E

E

E

E

E E

J S L D J S D E L D

N S T D E L D

N S T D E C P B N L D S T L D S T I N J M L D B E O R J M

< " * * ■ * - »C M B N L D B E D E L D S E S B B C S T B P J S B N C M B N L D S T C M B N T Y B E J S D E S T J M J S

$ E 9 6 5$ D $ E A 2 4

( $ D 1 ) ,

( $ D 1 ) ,( $ F 3 ) ,

( $ F 3 ) ,

$ D $ E 8 0 A# $ 2 0< $ D 1 ) ,

$ 0 2 8 6( $ F 3 ) ,

$ D $ E 6 A 8$ D $ E 8 3 2# $ 4 0$ E 6 9 7

< - * * * ■ * " * - )# $ 1 1$ E 8 4 C$ D $ E 8 7 1$ D $ D # $ 2 8$ E 8 4 7$ D $ E 8 7 1$ E 5 6 C$ E 8 7 1# $ 1 2$ E 8 5 4# $ 0 0$ C # $ 1 D$ E 8 6 A$ E B 6 4$ E 8 A 1

$ D $ E 6 A 8$ E 7 O 1

,

,

,

s p a c ew r i t e t p r e s e n t p o s i t i o ns e

c o l o r

c u r s o r u

A - 9 4

Page 239: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 239/304

E 8 6 7E 8 6 AE 8 6 CE 8 6 EE 8 7 1E B 7 4E 8 7 6E 8 7 9E 8 7 CE 8 7 EE 8 8 0E 8 8 1E 8 8 3E 8 8 5E 8 8 8E 8 8 AE 8 8 CE 8 8 EE 8 9 1E 8 9 3E 8 9 5E 8 9 7E 8 9 9E 8 9 BE 8 9 EE 8 A 1E 8 A 3E 8 A 5E 8 A 7E 8 A 9E 8 A AE 8 A CE 8 A DE 8 A FE 8 B 0E 8 B 2E 8 B 3E 8 B 5E 8 B 7E 8 B 9E B B BE 8 B CE 8 B EE 8 B FE B C iE 8 C 2E 8 C 4E 8 C 6E 8 C 8E 8 C AE 8 C BE 8 C DE 8 D 0E 8 D 2E 8 D 3

4 C D 2 4 0 2 4 4 A E E D 2 B 1 8 4 A 8 8 8 8 2 4 A A C F 1 6 C D 6 C 6 A A C F I 6 C D 6 A E F E 6 A D F C 1

A 1

0 4 A 8 C 4 C D

1 0 E D F D 6 O D C D D 7 A 0 0 D 0

2

F D

0 2 D 0

2

F

D 1 0 D

O D 0

F

E

E E

E E

E

E

E E

E

J M C M B N J S J M O R J S J M L S L D I N C P B N J S L D B P S T J M L D S T S T S T S T J S J M L D L D C M B E C L A D D E B N R T D E R T L D L D C M B E C L A D D E B N R T L D C P B E I N R T L D C M B E D E B P

* E 6 A 8# * 1 3* E 8 7 4* E 5 4 4* E 6 A 8# * 8 0* E 8 C B* E C 4 F* C * D # * 1 9* E 8 8 8* E 8 E A* D 9 , X* E 8 8 0* D * E 5 6 C# * 0 0* D * C * D * D * E 8 7 C* E 6 A 8# * 0 2# * 0 0* D * E 8 B 0# * 2 8* E 8 A 5* D

# * 0 2# * 2 7* D * E 8 C 2

# * 2 8* E 8 B 7

* D # * 1 9* E 8 C A* D

# * 0 F* E 8 D A , X c h e c k* E 8 D 6 f o u n d* E B C D

o c o l o r - c o d e s

A - 9 5

Page 240: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 240/304

E 8 D 5 6 R T E 8 D 6 8 8 6 O 2 B T $ 0 2 8 6E 8 D 9 6 R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 8 D A 9 0 1 9 9 I E I F 9 E 8 E 2 8 9 5 9 6 9 7 9 8 9 9 9 A 9 B

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

s e c o l o r — c o d e

T a b l e o c o l o r - c o d e s

S c r o l l s c r e e nE 8 E AE 8 E CE 8 E DE 8 E FE 8 F 0E 8 F 2E 8 F 3E 8 F 5E 8 F 6E 8 F 8E 8 F AE 8 F CE 8 F FE 9 0 0E 9 O 3E 9 0 5E 9 O 7E 9 0 AE 9 0 CE 9 O EE 9 1 1E 9 1 3E 9 1 6E 9 1 8E 9 1 AE 9 1 CE 9 1 EE 9 2 0E 9 2 2E 9 2 4E 9 2 5E 9 2 7E 9 2 9E 9 2 BE 9 2 DE 9 2 FE 9 3 1E 9 3 3E 9 3 5E 9 3 8E 9 3 AE 9 3 DE 9 4 0E 9 4 2E 9 4 3E 9 4 5

A 4 A 4 A 4 A 4 A C C C E 2 E B B 8 B 2 3 2 A B 2 B 1 0 9 E E D A 0 8 A 1 E E A 8 A C 0 A 8

A

A

A

A

F D C A

F 1 O F A D C E F 0 D 7 D O 8 D 1 E F 8 F D C D A 7 0 0 F 7 0

0

E

E

E

E

0

D D

D

L D P H L D P H L D P H L D P H L D D E D E D E I N J S C P B C L D S T L D J S B M J S L D L D A N L D B P O R S T I N C P B N L D O R S T L D B P I N I N L D S T L D C M P H L D S T

$ A

$ A $ A

$ A # $ F F$ D $ C $ 0 2 A 5

$ E 9 F 0# $ 1 8$ E 9 1 3$ E C F 1 , X$ A $ D A , X$ E 9 C 8$ E 8 F F$ E 9 F F# $ 0 0$ D 9 , X# $ 7 F$ D A , X$ E 9 2 2# $ 8 0$ D 9 , X# $ 1 8$ E 9 1 8$ F # $ 8 0$ F $ D $ E 8 F 6$ D $ 0 2 A 5# $ 7 F$ D C O O$ D C O 1# $ F B# $ 7 F$ D C O O

s h i - f t s c r e e n - l i n e u

c l e a r s c r e e n - l i n e

C T R L - k e y p r e s s e d ?

A - 9 6

Page 241: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 241/304

E 9 4 8E 9 4 9E 9 4 BE 9 4 DE 9 4 EE 9 4 FE 9 5 1E 9 5 2E 9 5 4E 9 5 6E 9 5 8E 9 5 9E 9 5 BE 9 5 CE 9 5 EE 9 5 FE 9 6 1E 9 6 2E 9 6 4

2 D A E C D 8 D 8 A 6 8 6 8 6 8 6 8 6

O 0

F

F C D

A

A

A

A

P L B N L D N O D E B N D E B N S T L D P L S T P L S T P L S T P L S T R T

* E 9 5 6t t * O O

$ E 9 4 D

* E 9 4 D$ C $ D

$ A $ A

$ A

$ A

d e l a y — l o o p

n u m b e r o - p r e s s e d k e y s =

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * i n s e r t i n g s e c o n d - l i n eE 9 6 5 A D L D * D E 9 6 7 E 8 I N E 9 6 8 B 5 D L D * D 9 , XE 9 6 A 1 F B B P L $ E 9 6 7E 9 6 C 8 A 0 S T $ 0 2 A 5E 9 6 F E O 1 C P # * 1 8E 9 7 1 F O B E * E 9 8 1E 9 7 3 9 0 O C B C $ E 9 8 1E 9 7 5 2 0 E A E B J S R $ E B E AE 9 7 8 A A 5 0 2 L D * 0 2 A 5E 9 7 B C A D E XE 9 7 C C 6 D 6 D E C $ D E 9 7 E 4 D A E 6 J M * E 6 D A* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 9 8 1 A A L D $ A E 9 8 3 4 P H E 9 8 4 A 5 A D L D A $ A DE 9 8 6 4 P H E 9 8 7 A A L D * A E 9 8 9 4 P H E 9 8 A A A L D * A E 9 8 C 4 P H E 9 8 D A 2 1 L D # * 1 9E 9 8 F C A D E E 9 9 0 2 0 F O E 9 J S R * E 9 F 0E 9 9 3 E C A 5 0 2 C P X $ 0 2 A 5E 9 9 6 9 O E B C C * E 9 A 6E 9 9 8 F O O C B E * E 9 A 6E 9 9 A B E E L D A $ E C E F , XE 9 9 D 8 5 A S T A * A CE 9 9 F B D L D A S D 8 , XE 9 A 1 2 0 C 8 E 9 J S R * E 9 C 8E 9 A 4 3 E B M * E 9 8 F

A - 9 7

Page 242: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 242/304

E 9 A 6E 9 A 9E 9 A BE 9 A EE 9 B 0E 9 B 2E 9 B 4E 9 B 6E 9 B 8E 9 B AE 9 B CE 9 B DE 9 B FE 9 C 2E 9 C 5

2 A E 9 B 2 B 1 0 9 C D A 2 4

F 1 A O D 7 D O 8 D

E A D 5

E

O

0 E E

J S L D C P B C L D A N L D B P O R S T D E B N L D J S J M

$ E 9 F F# $ 1 7$ O 2 A 5$ E 9 B F$ D A , X# $ 7 F$ D 9 , X$ E 9 B A# $ 8 0$ D A , X

$ E 9 A B$ 0 2 A 5$ E 6 D A$ E 9 5 8

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * S h i - f t l i n e u E 9 C B 2 9 0 A N D # $ 0 3E 9 C A O D 8 8 0 2 O R A $ 0 2 8 8E 9 C DE 9 C FE 9 D 2E 9 D 4E 9 D 6E 9 D 8E 9 D AE 9 I i 2E 9 D DE 9 D F* * * * *E 9 E 0E 9 E 3E 9 E 5E 9 E 7E 9 E 9E 9 E BE 9 E DE 9 E F

8 2 A B 9 B 9 8 1 6

2 A 8 A 2 0 8 6

A E 2 A D A F

F

2 A A A 0 D A

S T E J S

L D L D S T L D S T D E B P R T

K - * * * * * * ^E A J S R

L D S T L D A N O R S T R T

$ A $ E 9 E 0# $ 2 7( $ A C ) ,( $ D 1 ) ,( $ A E ) .( $ F 3 ) ,

$ E 9 D 4

I ' J ' I f ' T T i f r T t H$ E A 2 4$ A $ A $ A # $ 0 3# $ D 8$ A

, , , ,

« -

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E 9 F 0 B F E L D A $ E C F O , XE 9 F 3 8 D S T $ D E 9 F 5 B D L D $ D 9 , XE 9 F 7 2 0 A N # $ 0 3E 9 F 9 O D 8 8 0 O R A $ 0 2 8 8E 9 F C 8 5 D 2 S T A $ D 2E 9 F E 6 R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * C l e a r s c r e e n - l i n eE 9 F F A O 2 L D # $ 2 7E A 0 1 2 0 F O E 9 J S R $ E 9 F 0E A 0 4 2 0 2 4 E A J S R $ E A 2 4E A 0 7 A 2 0 L D A # $ 2 0

A - 9 8

Page 243: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 243/304

E A 0 9 9 D S T < * D 1 ) , YE A O B 2 O D A E 4 J S R S E 4 D AE A O E E A N O E A O F 8 D E E A 1 O 1 F B P L $ E A 0 7E A 1 2 6 R T

E A 1 3E A 1 4E A 1 6E A 1 8E A 1 B* * * * *E A 1 CE A 1 EE A 2 0E A 2 1E A 2 3

A A 8 2 9

* * * • ]A 9 8 9 6

O C 2

« - * * • ]D D

F

E

« ■ * * • !

T A L D S T J S T Y

* * * * 4L D S T T X S T R T

# $ 0 2$ C $ E A 2 4

* * * * * * * * * * *$ D < $ D 1 > , Y

< $ F 3 ) , Y

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E A 2 4E A 2 6E A 2 8E A 2 AE A 2 CE A 2 EE A 3 0

A 8 A 2 0 8 6

D F D 0 D F

L D S T L D A N O R S T R T

$ D $ F $ D # $ 0 3# $ D 8$ F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E A 3 1E A 3 4E A 3 6E A 3 8E A 3 AE A 3 CE A 3 EE A 4 0E A 4 2E A 4 4E A 4 7E A 4 9E A 4 BE A 4 DE A 4 FE A 5 2E A 5 4E A 5 7E A 5 AE A 5 CE A S EE A 6 1E A 6 3E A 6 5

2 A D C D A 8 A 4 A B B E 8 2 B 8 A A 4 2 A 2 F

E C 2 C 2 1 C D C 8 D 1

C C 2 F 8 8 C 8 1 0 1 O

F

0

E

0 0

E

J S L D B N D E B N L D S T L D L S L D L D B C I N S T J S L D S T L D L D E O J S L D A N B E

$ F F E A$ C $ E A 6 1$ C $ E A 6 1# $ 1 4$ C $ D $ C $ 0 2 8 7( $ D 1 ) , Y

$ E A 5 C$ C $ C $ E A 2 4( $ F 3 ) , Y

$ 0 2 8 7$ 0 2 8 6$ C # $ 8 0$ E A 1 C$ 0 # $ 1 0$ E A 7 1

s e b l i n k - c o u n t e r a r e p e a t■ f u n c t i o n

G e c h a r a c t e r a n c o l o r o c o l u m n p o s i t i o n s c r e e nc h a r a c t e r t a c c u m u l a t o rc o l o r — c o d e t w r i t e i n t o c o l o r - R A M

C a l c . p o i n t e r t c o l o r - R A M$ D 1 / $ D 2 p o i n t e r t s c r e e n

R A p o s i t i o n

h i g h - b y t e * D $ F 3 / $ F 4 p o i n t e r t o c o l o r -

R A M p o s i t i o nI n t e r u p t r o u t i n e

s t o p - k e y , i n c r e a s e t i m eb l i n k — f l a g - f o r c u r s o rn o b l i n k i n g , t h e n c o n t i n u el o w e r b l i n k - c o u n tn o t z e r o , t h e n c o n t i n u es e b l i n k c o u n t e r t o 2 0c u r s o r c o l u m nb l i n k - s w i t c h z e r o t h C = c o l o r u n d e r c u r s o rs e c h a r a c t e r — c o d eb l i n k - s w i t c h w a o n t h e nb l i n k - s w i t c h o c o n t i n u es a v e c h a r a c t e r u n d e r c u r s o rc a l c u l a t e p o i n t e r t c o l o r -g e c o l o r - c o d e R A a n s a v ec o l o r - c o d e u n d e r c u r s o rc h a r a c t e r u n d e r c u r s o rf l i p R V S - b i ts e c h a r a c t e r a n c o l o r

c h e c k s t a p e — k e yp r e s s e d ?

A - 9 9

Page 244: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 244/304

E A 6 7E A 6 9E A 6 BE A 6 DE A 6 FE A 7 1E A 7 3E A 7 5E A 7 7E A 7 9E A 7 BE A 7 EE A 8 1E A 8 2E A 8 3E A 8 4E A 8 5E A 8 6

* * * * *E A 8 7E A 8 9E A 8 CE A 8 EE A 9 0E A 9 3E A 9 6E A 9 8E A 9 AE A 9 BE A 9 DE A 9 FE A A 1E A A 3E A A 5E A A 8E A A AE A A BE A A EE A B 1E A B 3E A B 4E A B 6E A B 7E A B 9E A B BE A B DE A B FE A C 1E A C 4E A C 7E A C 9E A C BE A C CE A C D

A 8 A 0 D A D A 2 8 2 A 6 A 6 A 6 4

* * * *A 8 A 8 8 A E F A A 8 A 8 A 8 A 4 A C D 4 B 4 B C B C F O 8 1 8 6 C C

O C 0 2 0 C O 0 I 0 8 O

- * * *0 8 4 C 0 0 F 6

8 F E F F 0 0 O 0 F

1

F 0 O O 0 8 8 0 C

4

E D

E - * * 4

0

D D

D

D D

0 0

L D S T L D O R B N L D B N L D A N S T J S L D P L T A P L T A P L R T

[ • * • * * *L D S T L D S T S T L D C P B E T A L D S T L D S T L D S T L D P H L D C M B N L S B C P H L D C M B C C M B E O R S T B P S T P L

N C P

# $ 0 0$ C $ 0 # $ 2 0$ E A 7 9$ C $ E A 7 B$ 0 # $ 1 F$ 0 $ E A 8 7$ D C O D

# $ 0 0$ 0 2 8 D# $ 4 0$ C $ D C O O$ D C 0 1# $ F F$ E A F B

# $ 8 1$ F # $ E B$ F # $ F E$ D C O O# $ 0 8

$ D C 0 1$ D C 0 1$ E A A B$ E A C C

( $ F 5 ) , Y# $ 0 5$ E A C 9# $ 0 3$ E A C 9$ 0 2 8 D$ 0 2 8 D$ E A C B$ C

# $ 4 1

s e t a p e — f l a gt a p e - d r i v e o - f - f

t a p e d r i v e o

k e y b o a r d - c h e c k i n g

r e s t o r e r e g i s t e r

a n r e t u r n - f r o m i n t e r r u p t

K e y b o a r d — c h e c k i n g

s e b a c k s h i f t / C T R L — f l a g$ 4 n k e p r e s s e dc o d e f o p r e s s e d k e

n k e p r e s s e d ?t h e n e n

p o i n t e r t t a b l e $ E B 8 1

m a t r i x - l i n e s

k e y b o a r d , j o y s t i c k , p a d d l e s( d a t a p o r t B

p u t b i t s , i o r d e r , i n t o1 1 1 " n o p r e s s e dg e A S C I I - c o d e f r o m t a b l e

b i g g e r o e q u a l t 5

" S T O P ' " c o d e ?s e f l a g

s a v e n u m b e r o k e

A - 1 0 0

Page 245: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 245/304

E A C FE A D iE A D 2E A D 4E A D 5E A D 6E A D 7E A D AE A D CE A D DE A E OE A E 2E A E 4E A E 5E A E 7E A E 9E A E BE A E EE A F OE A F 2E A F 5E A F 7E A F 9E A F BE A F DE A F FE B O 1E B 0 3E B 0 5E B 0 7E B 0 9E B O BE B O DE B 1 OE B 1 2E B 1 5E B 1 7E B 1 AE B 1 CE B i EE B 2 1E B 2 3E B 2 4E B 2 6E B 2 8E B 2 AE B 2 DE B 3 0E B 3 2E B 3 4E B 3 5E B 3 7E B 3 AE B 3 CE B 3 F

B C D 3 6 2 8 D 6 6 A B A C F A 8 D 2 2 3 7 C F C F C F C F C D A F C D C D A 8 A 8 1 A 8 A 8 E F 8 A E B 9 E

O D

0 C

8 C F

C 0 1 8 3 7 8 1 4 7 2 1 O 2 0 I 0 1

3 B 0 B 2 8 2 0 S C

1 C C 8 8 F O

C 8 0 7

D

0

0

0

0

O

0

0

0 0

O

0

B C D E B N S E P L R O S T B N P L J M L D L D T A C P B E L D S T B N A N B I B M B V C M B E C M B E C M B E C M B E C M B N L D B E D E B N D E B N L D S T L D D E B P L D S T L D S T C P B E T X L D C P B C S T I N

3 E A D C$ E A B 3

* D C O O$ E A A 8

( * 0 2 B F >* C ( # F 5 ) , Y

* C * E A F O# * 1 O* 0 2 8 C* E B 2 6# * 7 F$ 0 2 8 A* E B O D* E B 4 2# * 7 F* E B 2 6# $ 1 4* E B O D# * 2 0* E B O D# * 1 D$ E B O D# $ 1 1* E B 4 2* 0 2 B C* E B 1 7* O 2 8 C$ E B 4 2* 0 2 B B$ E B 4 2# * 0 4* 0 2 B B* C

$ E B 4 2* C $ C * 0 2 B D* 0 2 B E# * F F* E B 4 2

* C * O 2 8 9* E B 4 2* 0 2 7 7 , X

b i g g e r t h a n $ 4 0 ?n e x t m a t r i x - c o l u m n

n e x t m a t r i x - l i n eJ M P $ E B 4 8 s e t s p o i n t e r t on u m b e r o k e t a b l eg e A S C I I - v a l u e f r o m t a b l ec o m p a r e w i t h l a s t k e y

r e p e a t - d e l a y c o u n t e rc l e a r b i r e p e a t f o a l k e y s ?b i s e t , r e p e a t a l k e y sb i 6 s e t , t h e n i n g n o r er e p e a t o n l y f o l l o w i n g k e y s" D E L " , " I N S T " - c o d e

s p a c e

c u r s o r r i g h t , c u r s o r l e f tc u r s o r u p c u r s o r d o w n

r e p e a t - d e l a y c o u n t e rc o u n t d o w n

r e p e a t - s p e e d c o u n t e r

s e c o u n t e r a g a i nn u m b e r o c h a r a c t e r s i

k e y b o a r d - b u f f e rm o r e t h a n o n e c h a r a c t e r i

b u f f e r , t h e n i g n o r e

k e y b o a r d - c o d e i n v a l i d ?y e s , t h e n i g n o r e

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

b u f f e r f u l l , i g n o r e c h a r c t e rw r i t e c h a r a c t e r s i n t o b u f f e r

A - 1 0 1

Page 246: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 246/304

Page 247: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 247/304

E C 1 3 9 8 B 2 A C 9 B B A B E C 1 B 9 B A 9 B B F B B 8 B EE C 2 3 2 9 A 2 B 5 3 0 A 7 A B 9 A AE C 2 B A 6 A F B 6 D C 3 E 5 B A 4 3 CE C 3 3 A D F 5 D 9 3 0 3 D E 3 FE C 3 B 8 5 0 9 5 A 0 0 2 A B 8 E C 4 3 F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E C 4 4E C 4 6E C 4 8E C 4 BE C 4 DE C 4 FE C 5 1E C 5 3E C 5 6E C 5 8E C 5 BE C 5 EE C 6 0E C 6 2E C 6 4E C 6 7E C 6 9E C 6 BE C 6 DE C 6 FE C 7 2E C 7 5* * * * *E C 7 8E C 8 0E C 8 8E C 9 0E C 9 8E C A OE C A 8E C B OE C B 8

C D A 0 D C D A 2 8 4 C D A O 3 C D A 2 8 4

* • * * * •F 1

9 I 1 F 1 9 F

O O 1 D 0 0 8 O 1 D F 1 D

A 8 E 6O 0 8 9 0 0 0 E 7 9 0 9 0 A E

* * * * * *F F 1 0 1 0 1 0 0 O 1 O F F I D0 F

C M B N L D O R B N C M B N L D A N S T J M C M B N L D Q R B M C M B N L D A N S T J M

# # 0 E* E C 4 F* D 0 1 8# * 0 2* E C 5 8# $ 8 E* E C 5 E* D O 1 8# * F D* D 0 1 8$ E 6 A 8# * 0 8* E C 6 9# $ 8 0* 0 2 9 1$ E C 7 2# * 0 9* E C 5 B# * 7 F$ 0 2 9 1* 0 2 9 1* E 6 A 8

* * * * * * * * * * * *F F F F 9 1 A 1 3 0 I 0 3 0 6 1 9 E 0 2 0 8 1 9 2 O D O B O FF F F F I O F F F F I I 0 F F 1

t - * *F F 1 1 O F F F

C h e c k s o c o n t r o l - c h a r a c t e rc h r * ( 1 4 )

c h a r a c t e r g e n e r a t o rt c a p i t a l - l e t t e r m o d ec h r $ < 1 4 2 >

s m a l l - l e t t e r m o d es e

c h r * < 8 >

b l o c k s h i - F t / C o m m o d o r ec h r $ < 9 >

r e - e n a b l e s h i - f t / C o m m o d o r

K e y b o a r d - d e c o d i n g t a b l e 4 w i t h C T R L - k e y

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E C B 9 0 0 0 0 0 0 0 0 0 0 0 0 0E C C 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0E C C 9 0 0 9 B 3 7 0 O 0 0 0 E C D 1 1 O F 0 0 0 0 0 0 0 0 O O 0 0E C D 9 O E O 6 0 0 2 0 3 0 0 0 E C E 1 0 O 0 0 5 0 6 0

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *E C E 7 4 4 4 4 O D 5 2 5 4 E D E A O

V i d e o - c o n t r o l l e r c o n s t a n t s

T e x t a - f t e r S H I F T / R U N S T O P" L O A D ( C R ) R U ( C R ) "

A - 1 0 3

Page 248: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 248/304

Page 249: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 249/304

E D 6 4 8 5 A 5 S T A $ A 5 s e b i t - c o u n t e r f o r s e r i a lE D 6 6 A D 0 0 D D L D $ D D 0 0 o u t - o u tE D 6 9 C D 0 D C M P $ D D 0 0E D 6 C D F B N E $ E D 6 6E D 6 E O A A S LE D 6 F 9 0 3 B C $ E D B 0E D 7 1 6 9 R O R $ 9 5E D 7 3 B O 0 5 B C S $ E D 7 AE D 7 5 2 A E J S $ E E A OE D 7 8 D O O B N $ E D 7 DE D 7 A 2 O 9 E J S $ E E 9 7E D 7 D 2 8 E J S $ E E 8 5E D 8 0 E A N O PE D 8 1 E N O E D 8 2 E A N O E D 8 3 E A N O PE D 8 4 A 0 D L D A $ D D O OE D 8 7 2 D A N # $ D FE D 8 9 0 1 O R # $ 1 0E D 8 B 8 D 0 D D S T A $ D D O OE D 8 E C 6 A 5 D E C $ A 5E D 9 0 D O D B N $ E D 6 6E D 9 2 A 9 0 4 L D A # $ 0 4E D 9 4 B 0 D S T A $ D C 0 7E D 9 7 A 1 L D A # $ 1 9E D 9 9 8 D O D S T $ D C O FE D 9 C A O D L D A $ D C O DE D 9 F A O D L D A $ D C O DE D A 2 2 0 A N # $ O 2E D A 4 D O O B N E $ E D B OE D A 6 2 0 A 9 E E J S R $ E E A 9E D A 9 B O F B C $ E D 9 FE D A B 5 C L E D A C 6 0 R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E D A D A 9 8 0 L D # $ 8 0 " D E V I C E N O T P R E S E N T "E D A F 2 C . B Y T E $ 2 E D B O A 9 0 3 L D A # $ 0 3 " T I M E O U T "E D B 2 2 1 F E J S R $ F E 1 C s e s t a t u sE D B 5 5 C L E D B 6 1 C L E D B 7 9 0 4 A B C C $ E E 0 3* * * * * * * * * * * * * * * * * * * * * * * * * * * * * S e n d s e c o n d a r y a d d r e s s t E D B 9 8 9 5 S T A $ 9 s a v e s e c n d a r y a d r s / L I S T E NE D B B 2 0 3 6 E J S $ E D 3 6 o u t - p u t w i t h A T E D B E A 0 D L D $ D D O OE D C 1 2 9 F 7 A N D # $ F 7 s e b a c k A T NE D C 3 B D 0 0 D D S T A $ D D O OE D C 6 6 R T

S e n d T A L K s e c o n d a r y a d d r e s sE D C 7 8 9 S T $ 9 s a v e s e c o n d a r y a d d r e s sE D C 9 2 0 3 6 E D J S R $ E D 3 6 o u t - p u t w i t h A T

A - 1 0 5

Page 250: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 250/304

E D C C 7 S E E D C D 2 A E E J S R $ E E A OE D D O 2 B E D J S R $ E D B E s e t b a c k A T E D D 3 2 0 8 5 E J S $ E E 8 5E D D 6 2 A E J S R $ E E A 9E D D 9 3 0 F B M $ E D D 6E D D B 5 C L E D D C 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * I E C O U T o u t - p u t b y t e o n I E C -E D D D 2 9 B I T $ 9 4 b u sE D D F 3 0 B M $ E D E 6E D E 1 3 8 S E CE D E 2 6 6 9 4 R O $ 9 E D E 4 D O 0 5 B N E $ E D E BE D E 6 4 P H E D E 7 2 4 E D J S R $ E D 4 0 s e n d b y t e t o b u sE D E A 6 8 P L AE D E B 8 9 S T $ 9 E D E D 1 C L E D E E 6 0 R T S* * * * * * * * * * * * * * * * * * * * * * * * * * * * * S e n d U N T A L KE D E F 7 8 S E E D F O 2 0 8 E E E J S R $ E E 8 EE D F 3 A 0 D L D A $ D D O OE D F 6 0 9 0 8 O R # $ 0 8 s e t A T NE D F 8 8 D 0 D S T A $ D D O OE D F B A 5 L D # $ 5 FE D F D 2 C - B Y T E $ 2 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * S e n d U N L I S T E NE D F D 2 A 3 F B I T $ 3 F A 9E E O O 2 1 E J S $ E D 1 1E E 0 3 2 0 B E E D J S R $ E D B EE E 0 6 8 T X E E 0 7 A O L D # $ 0 AE E 0 9 C A D E w a i t - f o r 4 m i c r o - s e c o n d sE E O A D F B N $ E E 0 9E E O C A A T A XE E O D 2 0 8 5 E E J S $ E E B 5 f r e q u e n c y o E E 1 0 4 C 9 7 E E J M P $ E E 9 7* * * * * * * * * * * * * * * * * * * * * * * * * * * * * I E C I N g e c h a r a c t e r - f r o m I E E E 1 3 7 S E - b u sE E 1 4 A 0 L D A # $ 0 0E E 1 6 8 5 A 5 S T A $ A 5E E 1 8 2 0 8 5 E E J S $ E E 8 5E E 1 B 2 A E J S R $ E E A 9E E 1 E 1 F B P $ E E 1 BE E 2 0 A 0 L D # $ 0 1E E 2 2 8 0 D S T A $ D C 0 7E E 2 5 A 1 L D A # $ 1 9E E 2 7 8 O D S T A $ D C O FE E 2 A 2 9 7 E E J S $ E E 9 7E E 2 D A O D C L D A $ D C O D

A - 1 0 6

Page 251: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 251/304

E E 3 0E E 3 3E E 3 5E E 3 7E E 3 AE E 3 CE E 3 EE E 4 0E E 4 2E E 4 4E E 4 7E E 4 AE E 4 DE E 4 FE E 5 2E E 5 4E E 5 6E E 5 8E E 5 AE E 5 DE E 6 0E E 6 2E E 6 3E E 6 5E E 6 7E E 6 AE E 6 DE E 6 FE E 7 0E E 7 2E E 7 4E E 7 6E E 7 9E E 7 BE E 7 DE E 8 0E E 8 2E E 8 3E E 8 4

A D O D2 9 0 2D 0 2 0 A 93 F 1 1

A 5 A 5F O 0 5A 9 0 24 B 2 A 2 0 8 5A 9 4 02 1 E 6 A 5D O C AA 0 8 5 A 5A D 0 0C 0 D F O 1 F

6 A A 0 C D O OD F O 3 F C 6 A 5D E 2 0 A O2 4 9 05 0 2 0 A 5 A 45 1 6

D L D A N B N

E J S B M B P L D B E L D

E D J M PE J S E J S

L D F J S

I N B N L D S T

D L D D C M

B N A S B P R O

D L D D C M

B N A S B M D E B N

E J S B I B V

E J S L D C L C L R T

* D C O D c h e c k t i m e r* E E 3 E* E E A 9* E E 3 O$ E E 5 6* A * E E 4 7# * 0 2* E D B 2* E E A O* E E 8 5# * 4 0$ F E 1 C

* E E 2 0# * 0 8$ D D O O* D D O O* E E 5 A* E E 5 A* D D O O* D D O O* E E 6 7

* E E 5 A* E E A O$ 9 * E E 8 0* E E 0 6

" E O F "s e s t a t u s

s e b i t - c o u n t e r

s t a t u sn E O F ?

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *E E 8 5 A D 0 0 D D L D A * D D O OE E 8 8 2 9 E F A N D # * E FE E 8 A 8 0 D S T $ D D O OE E B D 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

E E 8 E A D O O D D L D A * D D O OE E 9 1 O 1 O R A # $ 1 0E E 9 3 8 D 0 0 D D S T * D D O OE E 9 6 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *E E 9 7 A D 0 0 D D L D A $ D D O O

S e r i a l - f r e q u e n c y o

S e r i a l - f r e q u e n c y o f

O u t - p u t b i " 1

A - 1 0 7

Page 252: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 252/304

E E 9 A 2 9 D F A N D # * D FE E 9 C 8 D O O D D S T A * D D O OE E 9 F 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * O u t - p u t b i " O E E A O A D O O D L D $ D D O OE E A 3 0 9 2 O R A # * 2 0E E A 5 8 0 0 D D S T A $ D D O OE E A 8 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *E E A 9 A D 0 0 D D L D A $ D D O OE E A C C D 0 0 D C M * D D O OE E A F D O F 8 B N E S E E A 9E E B 1 O A S E E B 2 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * O n e m i l l i - s e c o n d d e l a yE E B 3 8 A T X AE E B 4 A 2 B 8 L D # $ B 8E E B 6 C A D E E E B 7 D O F D B N E $ E E B 6E E B 9 A A T A E E B A 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * R S - 2 3 2 o u t - p u tE E B B A B L D A * B 4E E B D F 4 B E * E F O 6E E B F 3 0 3 F B M I * E F O OE E C 1 4 6 B 6 L S R $ B E E C 3 A 2 O O L D # $ 0 0E E C 5 9 0 B C $ E E C 8E E C 7 C D E E E C 8 8 T X E E C 9 4 5 B D E O * B E E C B 8 B D S T A $ B E E C D C 6 B 4 D E C $ B E E C F F O 0 6 B E Q $ E E D 7E E D 1 8 T X E E D 2 2 O 4 A N D # * 0 4E E D 4 8 5 B 5 S T * B E E D 6 6 R T E E D 7 A 9 2 0 L D A # * 2 0E E D 9 2 C 9 4 0 2 B I T $ 0 2 9 4E E D C F 1 B E * E E F 2E E D E 3 1 B M * E E F CE E E O 7 1 B V $ E E F 6E E E 2 A 5 B D L D A * B DE E E 4 D 0 B N * E E E 7E E E 6 C D E E E E 7 C 6 B 4 D E C * B E E E 9 A 9 0 L D * O 2 9 3E E E C 1 E 3 B P L * E E D 1E E E E C B D E C * B 4

A - 1 0 8

Page 253: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 253/304

E E F OE E F 2E E F 4E E F 6E E F 8E E F AE E F CE E F EE F O OE F 0 2E F 0 4E F 0 6E F 0 9E F O AE F O CE F O FE F 1 1E F 1 3E F 1 5E F 1 7E F 1 9E F 1 CE F 1 EE F 2 1E F 2 4E F 2 6E F 2 8E F 2 AE F 2 DE F 2 EE F 3 0E F 3 1E F 3 3E F 3 6E F 3 9E F 3 BE F 3 EE F 4 1E F 4 3E F 4 6E F 4 9

D E D A F D 7 5 E A D A 4 9 2 1

5 A 8 8 A 8 A C F B 8 E 6 A 2 A O 8 A 8 4 0 8 8 6

D B F B E E E E B F C 9 0 0 I I 0

B B 9 B 9 9 1 F B 9

4

1 9 9 0 O A 8 A O

0

D

0

0 0

0

0 0

D 0

0 D

B N I N B N L D B E B N B V B V I N

L D B N L D L S B C B I B P B V L D S T S T L D S T L D C P B E L D S T I N R T L D

* E E D 1* B * E E E 6* B * E E E 7* E E E 6* E E E 7* E E E 6* B # * F F* E E D 1* 0 2 9 4* E F 1 3* D D O 1* E F 2 E* E F 3 1# * 0 0* B * B * 0 2 9 8* B * 0 2 9 D* 0 2 9 E* E F 3 9( * F 9 ) , Y

* B * 0 2 9 D# * 4 0

- B Y T E * 2 L D O R S T L D S T E O O R S T S T R T

# * 1 0* 0 2 9 7* 0 2 9 7# * 0 1* D D O D* O 2 A 1# * 8 0* O 2 A 1* D D O D

D S ( d a t a s e r e a d y ) m i s s i n gC T ( c l e a r t s e n d ) m i s s i n gs e s t a t u s

E F 4 A A 0 9 L D X # * 0 9E F 4 C A 2 0 L D A # * 2 OE F 4 EE F 5 1E F 5 3E F 5 4E F 5 6E F 5 7E F 5 8E F 5 9E F 5 BE F 5 DE F 5 F

2 F C 5 C C 6 A D C F

9 3 0 2 B I T0

0

A 3 A 3

B E D E B V D E D E R T L D B N D E B E

$ 0 2 9 3* E F 5 4

* E F 5 8

* A * E F 9 0* A * E F 9 7

c o n t r o l

X = n u m b e r

F i n d o - R S - 2 3 2 d a t a - b i t s

w o r d

o - d a t a — b i t s

A - 1 0 9

Page 254: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 254/304

E F 6 1E F 6 3E F 6 5E F 6 7E F 6 9E F 6 BE F 6 DE F 6 EE F 7 0E F 7 2E F 7 4E F 7 7E F 7 8E F 7 AE F 7 CE F 7 EE F 8 0E F 8 3E F 8 6E F 8 9E F 8 BE F 8 DE F 9 0E F 9 2E F 9 4E F 9 6E F 9 7E F 9 AE F 9 BE F 9 EE F A OE F A 3E F A 4E F A 6E F A 9E F A BE F A DE F A EE F A FE F B 1E F B 3E F B 5E F B 8E F B AE F B CE F B EE F C OE F C 2E F C 4E F C 5E F C 7E F C 9E F C AE F C C

3 A 4 8 4 6 6 C A F A O A 6 D A 8 O 8 8 A 4 A D 8 6 A C C F 8 8 A A E F 4 E D 9 A 2 F 3 A 4 F 7 2 5 A 2 A 2

O A A A A A

A A 6 9

0 A E 9 O A A A 0 3 A E A

9

9 2 9

A 9 0 0

F F 2 9 B B A A 0 A

A 0

0

O

D 0 O

E

0

0 0

0

0

B M L D E O S T L S R O R T D E L D B E L D A S L D A D B N L D S T O R S T S T L D J M L D B N S T R T L D

N C P B E S T D E L D L D C P B E L S I N B N S T L D B I B E B M L D E O B E B V

$ E F 7 O$ A $ A S A $ A $ A $ A $ A $ E F D B$ 0 2 9 3

# $ 0 1$ A $ E F 6 D# $ 9 0$ D D O D$ 0 A $ 0 A $ A # $ 0 2$ E F 3 B$ A $ E F 7 E$ A

$ 0 2 9 B

$ 0 2 9 C$ E F C A$ 0 2 9 B

$ A $ 0 2 9 8# $ 0 9$ E F B 1

$ E F A 9( $ F 7 ) , Y

# $ 2 0$ 0 2 9 4$ E F 6 E$ E F 6 D$ A $ A $ E F C 5$ E F 6 D

. B Y T E $ 2 B V L D

$ E F 6 D# $ 0 1

- B Y T E $ 2 L D # $ 0 4- B Y T E $ 2

p a r i t y — e r r o r

r e c e i v e r - b u - f f e r - f u l l

A - 1 1 0

Page 255: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 255/304

E F C DE F C FE F D OE F D 2E F D 5E F D 8E F D BE F D DE F D FE F E 1E F E 3E F E 6E F E 7E F E 9E F E BE F E EE F F OE F F 2E F F 5E F F 7E F F 9E F F CE F F EF O O 1F 0 0 3F 0 0 6F 0 0 9F O O BF O O DF O O FF 0 1 2F 0 1 3

A 2 A O 8 4 A D F 8 A 4 9 A 2 1 D A 2 D 2 7 A 0 8 2 7 3 A 8 1

6

8

0 9 9 7 A F E 9 9 2 0 0 I 2 A 0 F O F 0 0 0 0 0 F 4 9

0 0 E

0

D

0

D

D

D D

O

L D # $ 8 0. B Y T E $ 2

L D O R S T J M L D B N B E S T L D L S B C L D B I B P B N L D A N B N B I B V L D O R S T B I B V B M L D S T C L R T

# $ 0 2$ 0 2 9 7$ 0 2 9 7$ E F 7 E$ A $ E F D O$ E F C D$ 9 $ 0 2 9 4$ F 0 1 2# $ 0 2$ D D 0 1$ F O O D$ F 0 1 2$ O 2 A 1# $ 0 2$ E F F 2$ D D 0 1$ E F F 9$ D D 0 1# $ 0 2$ D D 0 1$ D D 0 1$ F 0 1 2$ F 0 0 6# $ 4 0$ 0 2 9 7

F 0 1 4F 0 1 7F O 1 AF O 1 BF O 1 EF 0 2 0F 0 2 3F 0 2 4F 0 2 6F 0 2 8F 0 2 BF 0 2 CF 0 2 EF 0 3 0F 0 3 3F 0 3 6F 0 3 9F 0 3 CF 0 3 FF 0 4 1F 0 4 4

2 A C C F 8 8 A 9 A 4 B A 8 A 8 A 8 A 2 2

2 9

9 F 9

9 F A

I 1 O 9 0 9 0 8 3 0

F 0

0

O

0

D 0 D 0 D

E E

J S L D

N C P B E S T D E L D S T L D L S B C L D S T L D S T L D S T L D J S J S

$ F 0 2 8$ 0 2 9 E$ 0 2 9 D$ F 0 1 4$ 0 2 9 E

$ 9 < $ F 9 ) , Y

$ 0 A

$ F 0 4 C# $ 1 0$ D D O E$ 0 2 9 9$ D D 0 4$ 0 2 9 A$ D D 0 5# $ 8 1$ E F 3 B$ E F 0 6

r e c e i v e r b r e a k — c o m m a n df r a m e - e r r o rs e s t a t u s

D S R — s i g n a l i m i s s i n g

O u t - p u t t R S - 2 3 2 b u - f - f e r

A - l l l

Page 256: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 256/304

Page 257: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 257/304

F 0 B 6 A O L D A # $ O OF 0 B 8 8 A 0 S T $ O 2 A 1F O B B 6 8 P L F O B C 6 0 R T

F O B D O D 4 2 4 2 4 5 2 5 2F 0 C 5 4 5 2 0 A 3F 0 C 9 O D 5 3 4 4 5 4 3 4 8 4 9F 0 D 1 4 E 4 A F 0 D 4 4 6 4 F 5 2 A OF 0 D 8 O D 5 O 5 2 4 5 3 5 3 2 O 5 OF O E O 4 4 5 9 2 0 4 F 4 E 2 5 F 0 E 8 4 5 0 C 5F O E B 5 0 5 2 4 5 5 3 5 3 2 5 2 4 5F 0 F 3 4 3 4 F 5 2 4 4 2 0 2 6 2 5 F O F B 4 4 5 9 2 0 4 F 4 2 0 5 4F 1 0 3 4 5 0 C 5F 1 0 6 O D 4 C 4 F 4 4 4 4 E C 7F 1 0 E O D 5 3 4 5 6 4 9 4 E 4 A F 1 1 6 O 5 4 5 5 2 4 9 4 5 4 F 1 1 E 4 E C 7F 1 2 0 O 4 6 4 F 5 5 4 E 4 4 A F 1 2 7 O 4 4 8 * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 1 2 B 2 4 9 D B I $ 9 F 1 2 D 1 O B P L $ F 1 3 C

B B F L D $ F O B D , Y0 P H 2 7 A N # $ 7 F2 D F J S $ F F D 2

F 1 2 FF 1 3 2F 1 3 3F 1 3 5F 1 3 8F 1 3 9F 1 3 AF 1 3 CF 1 3 D

C 2 1 F 1 6

N P L B P L $ F 1 2 FC L R T

O p e r a t i n g s y s t e m e r r o r l i n e sI / e r r o r n u m b e rs e a r c h i n g- F o rp r e s s p l a y o t a p e

p r e s s r e c o r d p l a y o t a p e

l o a d i n gs a v i n gv e r i f y i n g• f o u n do

O u t p u t o p e r a t o r s e r r o r l i n e sd i r e c t — m o d e - f l a gp r o g r a m , t h e n s k i p

o - f - f s e t o - e r o r - m e s s a g e s i n

c l e a r b i o u t - p u t

m o r e l e t t e r s ?

* * * * * * # * * * * # * * * * * * * * * * * * * * ■ # # *F 1 3 E A 9 L D $ 9 F 1 4 0 D O 0 8 B N $ F 1 4 AF 1 4 2 A 5 C L D A $ C 6F 1 4 4 F O B E Q $ F 1 5 5F 1 4 6 7 8 S E F 1 4 7 4 B E 5 J M P $ E 5 B 4F 1 4 A C 9 0 2 C M # $ 0 2F 1 4 C D O 1 B N E $ F 1 6 6F 1 4 E 8 9 S T $ 9 F 1 5 0 2 0 8 6 F O J S R $ F 0 8 6F 1 5 3 A 4 9 7 L D $ 9 F 1 5 5 1 C L F 1 5 6 6 R T

G E T I Ni n p u t - d e v i c e

o - c h a r - i k e y b o a r d b u f .n c h a r a c t e r s ?

g e c h a r a c t e r - F r o m b u f f e rn o t R S - 2 3 2 , t h e n B A S I N

r o u t i n eG E f r o m R S - 2 3 2

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 1 5 7 A 9 L D $ 9

B A S I M - i n p u t o c h a r a c t e rd e v i c e n u m b e r

A - 1 1 3

Page 258: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 258/304

F 1 5 9F 1 5 BF 1 5 DF 1 5 FF 1 6 1F 1 6 3F 1 6 6F 1 6 8

D A 8 A 8 4 C D

O D C D C 3 O 0

E

B N L D S T L D S T J M C M B N

$ F 1 6 6$ D $ C $ D $ C $ E 6 3 2# $ O 3$ F 1 7 3

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 1 6 AF 1 6 CF 1 6 EF 1 7 0F 1 7 3F 1 7 5F 1 7 7

8 A 8 4 B C F

D D C 3 3 0 3

E

S T L D S T J M B C C M B E

$ D $ D $ C $ E 6 3 2$ F 1 A D# $ 0 2$ F 1 B 8

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 1 7 9F 1 7 BF 1 7 EF 1 8 OF 1 8 1F 1 8 4F 1 8 6F 1 8 8F 1 8 AF 1 8 DF 1 8 FF 1 9 1F 1 9 2F 1 9 3F 1 9 4F 1 9 5F 1 9 6F 1 9 8

8 2 B 4 2 B D A 2 C A 6 6 A 6 8 A 6

9 9 1

9 O 0 4 1 A 9

9

F

F

F

S T J S B C P H J S B C B N L D J S D E L D P L R T T A P L T X L D R T

$ 9 $ F 1 9 9$ F 1 9 6$ F 1 9 9$ F 1 9 3$ F 1 8 D# $ 4 0$ F E 1 C£ A $ 9

$ 9

n o k e y b o a r dc u r s o r p o s i t i o n

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

i n p u t - F r o m s c r e e n

I n p u t - f r o m s c r e e n

• f r o m E C - b u s

I n p u t - f r o m t a p es a v e X - r e g i s t e rg e c h a r a c t e r - f r o m t a p e

g e c h a r a c t e r - f r o m t a p el a s t c h a r a c t e r ?E O s e s t a t u sd e c r e m e n t t a p e - b u f - F e r p n t r -g e t b a c k X - r e g i s t e r

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 1 9 9 2 0 O D F 8 J S R $ F 8 0 D

B N * F 1 A 9J S $ F 8 4 1B C S * F 1 B 4L D A # $ 0 0S T A $ A 6B E Q * F 1 9 9L D < * B 2 > , YC L R T L D A $ 9 OB E Q * F 1 B 5L D # * 0 DC L R T

F 1 9 CF 1 9 EF 1 A 1F 1 A 3F 1 A 5F 1 A 7F 1 A 9F 1 A BF 1 A CF 1 A DF 1 A FF 1 B 1F 1 B 3F 1 B 4

D 2 B A 8 F B 1 6 A F A 1 6

O 4 1

0 A F B

9 0 O

G e c h a r a c t e r - f r o m t a p ei n c r e m e n t t a p e - b u - f - f e r p n t r .s t i l l c h a r a c t e r s i b u - f - F e r ?n o , g e t n e x t b l o c k f r o m t a p e

z e r o b u - F - F e r — p o i n t e r , g e c h a r a c t e r

r e a d c h a r a c t e r - F r o m b u - F - f e r

c h e c k s t a t u so o u t - p u t " C R " - c o d e

A - 1 1 4

Page 259: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 259/304

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 1 B 5 4 1 E E J M P $ E E 1 3* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 1 B 8 2 4 F J S $ F 1 4 EF 1 B BF 1 B DF 1 B FF 1 C 1F 1 C 4F 1 C 6F 1 C 8

B F B C S $ F 1 B 4C 0 C M # $ 0 0D O F 2 B N E $ F 1 B 3A 9 7 0 2 L D A $ 0 2 9 72 6 D O E 9F E

A N # $ 6 0B N $ F 1 B 1B E Q $ F 1 B 8

I E C - i n p u tg e b y t e - f r o m E C - b u s

R S - 2 3 2 i n p u tg e b y t e - f r o m R S - 2 3 2

s t a t u sr e t u r n " C R "

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * B S O U T - o u t p u t o c h a r a c t e rF 1 C A 4 P H F 1 C B A 9 L D $ F 1 C D C 9 0 3 C M P # $ 0 3F 1 C F D 0 B N E $ F 1 D 5F 1 D 1 6 P L F 1 D 2 4 1 E 7 J M P $ E 7 1 6F 1 D 5 9 0 0 4 B C C $ F 1 D BF 1 D 7 6 8 P L F 1 D 8 4 C D D E D J M $ E D D DF 1 D B L S F 1 D C 6 8 P L F 1 D D 8 5 9 E S T $ 9 F 1 D F 8 T X F 1 E 0 4 P H F 1 E 1 9 T Y F 1 E 2 4 P H F 1 E 3 9 2 B C $ F 2 0 8F 1 E 5 2 O F 8 J S R $ F 8 0 DF 1 E 8 D O O B N E $ F 1 F BF 1 E A 2 0 6 4 F 8 J S R $ F 8 6 4F 1 E D B O B C S $ F 1 F DF I E F A 9 0 2 L D # $ 0 2F 1 F 1 A 0 L D Y # $ 0 0F 1 F 3 9 B S T < $ B 2 > , YF 1 F 5 C I N F 1 F 6 8 A S T Y $ A 6F 1 F 8 A 9 L D $ 9 F 1 F A 9 B S T ( $ B 2 ) , YF 1 F C 1 C L F 1 F D 6 P L F I F E A T A F 1 F F 6 P L F 2 0 0 A A T A XF 2 0 1 A 9 L D A $ 9 EF 2 0 3 9 0 0 2 B C $ F 2 0 7F 2 0 5 A 9 0 0 L D A # $ 0 0F 2 0 7 6 0 R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 2 0 8 2 1 F J S $ F 0 1 7F 2 0 B 4 C F C F J M $ F 1 F C

d e v i c e n u m b e r f o o u t — p u ts c r e e n ?

o u t p u t c h a r a c t e r o s c r e e n

o u t - p u t b y t e o I E C — b u s

s a v e c h a r a c t e r t b e o u t p u t

R S - 2 3 2 o u t p u ti n c r e m e n t t a p e - b u f f e r p n t r -b u f f e r f u l l ?w r i t e b u f f e r o t a p ec o n t r o l - b y t e f o d a t a - b l o c k

w r i t e i b u f f e ri n c r e m e n t b u f f e r - p o i n t e rw r i t e c h a r a c t e r i b u f f e r

R S - 2 3 2 o u t - p u tw r i t e c h a r , i R S 2 3 2 b u f f e r

A - 1 1 5

Page 260: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 260/304

Page 261: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 261/304

F 2 7 7F 2 7 8* * * * *F 2 7 9F 2 7 AF 2 7 DF 2 7 FF 2 8 1F 2 8 4F 2 8 6F 2 8 9F 2 8 AF 2 8 CF 2 8 E

1 6

* * * - )A 2 A 1 2 D 2 8 2 1 4

( - * * • )

o B 0 B 0 B

9 E 0

* • * * • }

E

E

E

F

C L R T

» - * * * ■ >T A J S L D B P J S B N J S T X B I B P J M

( - * * * * * * * * *

* E D O C* B * F 2 8 6* E D B E* F 2 B 9* E D B 9$ 9 * F 2 7 5$ F 7 0 7

L a y o u t - p u t o I E C - b u ss e n d L I S T E Ns e c o n d a r y a d d r e s s

s e b a c k A T s e n d s e c o n d a r y a d d r e s s f o

L I S T E Ns t a t u so k " D E V I C E N O T P R E S E N T "

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 2 9 1 2 1 F 3 J S R $ F 3 1 4F 0 B E Q * F 2 9 8

1 6

F 2 9 4F 2 9 6F 2 9 7F 2 9 8F 2 9 BF 2 9 CF 2 9 DF 2 9 FF 2 A 1F 2 A 3F 2 A 5F 2 A 7F 2 A 9

C L R T

2 I F J S R S F 3 1 F8 T X 4 P H A B L D A * B AF 5 B E * F 2 F 1C 9 0 3 C M P # $ 0 3F 4 B E * F 2 F 1B 4 B C * F 2 E EC 0 C M # * 0 2D I B N E $ F 2 C 8

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 2 A B 6 P L F 2 A C 2 0 F 2 F 2 J S R * F 2 F 2F 2 A FF 2 B 2F 2 B 5F 2 B 7F 2 B 9F 2 B AF 2 B CF 2 B EF 2 B FF 2 C 1F 2 C 3F 2 C 5

2 0 8 3 F 4 J S * F 4 B 32 2 7 F E J S R * F E 2 7

L D * F B E S F 2 B A

N L D * F B E Q * F 2 B F

N L D A # * 0 0S T * F S T * F

A F F 0 C A 5 F AF 0 C A 9 0 08 5 F 88 F 4 C 7 D F 4 J M P $ F 4 7 D

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 2 C 8 A 5 B L D A * B 9F 2 C A 2 O A N # * 0 FF 2 C C F O 2 B E $ F 2 F 1F 2 C E 2 0 D O F 7 J S * F 7 D 0F 2 D 1 A 9 0 0 L D # $ 0 0F 2 D 3 3 8 S E C

C L O S E l o g i c a l - F i l e i l o o k s - f o r l o g i c a l f i l e # i

f o l e n o p r e s e n t , t h e n r e a d ys e - f i l e p a r a m e t e r

d e v i c e a d d r e s sk e y b o a r d ?

s c r e e n ?I E C - b u s ?R S - - 2 3 2 ?t a p e

C l o s e R S - 2 3 2 - f i l e

c l e a r - f i l e - e n t e r y i t a b l es e b a c k C I A s - f o r I / s e f r e e R S - 2 3 2 I / b u f f e ri n p u t b u f f e r

o u t p u t b u f f e r

s e b u f f e r f r e e

C L O S E t a p e f i l es e c o n d a r y a d d r e s sf i l e f o r e a d i n g ?g e t a p e - b u f f e r s t a r t a d r s .

A - 1 1 7

Page 262: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 262/304

F 2 D 4F 2 D 7F 2 D AF 2 D CF 2 D DF 2 D FF 2 E 0F 2 E 2F 2 E 4F 2 E 6F 2 E 8F 2 E BF 2 E EF 2 F 1F 2 F 2F 2 F 3F 2 F 5F 2 F 7F 2 F 9F 2 F BF 2 F EF 3 0 1F 3 0 4F 3 0 7F 3 O AF 3 0 DF 3 0 E

2 2 9 6 A 6 A C D A 2 4 2 6 A C E F A B 9 B 9 B 9 1 6

D 6 0

0

B 6 O 0 6 F 4

9 9 1 9 5 5 6 6 6 6

F F

F F F

0 0 0 0 O 0

J S J S B C P L L D R T L D C M B N L D J S J M J S P L T A D E C P B E L D L D S T L D S T L D S T C L R T

$ F 1 D D$ F 8 6 4$ F 2 E 0

# $ 0 0$ B # $ 6 2$ F 2 F 1# $ O 5$ F 7 6 A$ F 2 F 1$ F 6 4 2

$ 9 $ 9 $ F 3 0 D$ 9 $ 0 2 5 9 ,$ 0 2 5 9 ,$ 0 2 6 3 ,$ 0 2 6 3 ,$ 0 2 6 D ,$ 0 2 6 D ,

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 3 0 FF 3 1 1F 3 1 3F 3 1 4F 3 1 6F 3 1 7F 3 1 9F 3 1 CF 3 1 E

A 8 8 A C 3 D D 6

0 9

9

1 5 F

0

L D S T T X L D D E B M C M B N R T

# $ O O$ 9

$ 9 $ F 3 2 E$ 0 2 5 9 ,$ F 3 1 6

»

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 3 1 F B D 5 9 0 2 L D A $ 0 2 5 9 , XF 3 2 2F 3 2 4F 3 2 7F 3 2 9F 3 2 CF 3 2 E

8 B 8 B 8 6

B 6 B 6 B

0

0

S T L D S T L D S T R T

$ B $ 0 2 6 3 ,$ B $ 0 2 6 D ,$ B

,

w r i t e b u f f e r o t a p e

s e c o n d a r y a d d r e s se q u a l

c o n t r o l - b y t e f o E D T - h e a d e rw r i t e b l o c k o t a p e

c l o s e I E f i l e

d e c r e m e n t # o o p e n f i l e s

e q u a l z e r o , t h e n r e a d y

o p e n f i l e p a r a m e t e r — t a b l e

L o o k s f o l o g i c a l f i l e # i

c l e a r s t a t u s

n u m b e r o o p e n f i l e s

l o o k s f o e n t r y i t a b l e

S e f i l e p a r a m e t e r

l o g i c a l f i l e n u m b e rd e v i c e a d d r e s s

s e c o n d a r y a d d r e s s

• i t . . * . * * * * * * * * * * * * * * * * * * * * * * * * * * * C L A L L - c l o s e s I / c h a n n e l sF 3 2 FF 3 3 1F 3 3 3F 3 3 5F 3 3 7

A 9 0 08 5 9 8A 0 E 9 B O 0 3

L D # $ 0 0S T A $ 9 8L D # $ 0 3C P $ 9 B C S $ F 3 3 C

F 3 3 9 2 0 F E E D J S R $ E D F E

n u m b e r o o p e n f i l e sn u m b e r o o u t - p u t d e v i c es m a l 1 e r t h a ns e n d I E C , U N L I S T E N

A - 1 1 8

Page 263: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 263/304

F 3 3 C E 4 9 9F 3 3 E B O 0 3F 3 4 0 2 0 E F E DF 3 4 3 8 6 9 AF 3 4 5 A 9 0 0F 3 4 7 8 9 F 3 4 9 6

C P $ 9 B C S $ F 3 4 3J S $ E D E FS T $ 9 L D A # $ 0 0S T A $ 9 9R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 3 4 A A B L D $ B F 3 4 C D O 0 B N $ F 3 5 1F 3 4 EF 3 5 1F 3 5 4F 3 5 6F 3 5 9F 3 5 BF 3 5 DF 3 5 FF 3 6 2F 3 6 4F 3 6 6F 3 6 9F 3 6 BF 3 6 DF 3 6 FF 3 7 2F 3 7 4F 3 7 7F 3 7 9F 3 7 BF 3 7 DF 3 7 FF 3 8 2F 3 8 4F 3 8 6F 3 8 8F 3 8 BF 3 8 EF 3 9 0F 3 9 3F 3 9 5F 3 9 7F 3 9 9F 3 9 CF 3 9 EF 3 A 1F 3 A 3F 3 A 5F 3 A 8F 3 A AF 3 A CF 3 A fF 3 B 2F 3 B 4

4 2 D 4 A E 9 4 E A 9 A 0 8 9 A 9 F C F 9 2 9 C D 4 2 B 4 A 2 D 2 B 2 A F 2 9 F 4 2 F 9

O O 0 F 9 O 0 F 9 B 5 B 6 B 6 B 6 5 0 5 0 D 4 0 0 0 D 0 1 B O I 1 3 A B O E 1 2 0 2 2 O

F F

F

F

0

0

0

F

F F F

F

F

F

F F

J M J S B N J M L D C P B C J M I N L D S T L D O R S T S T L D S T B E C M B E B C J S B C C M B N J M J S B C J M L D A N B N J S B C J S L D B E J S B C B E J M J S B E B C

$ F 7 0 A$ F 3 0 F$ F 3 5 9$ F 6 F E$ 9 # $ 0 A$ F 3 6 2$ F 6 F B$ 9 $ B $ 0 2 5 9 , X$ B # $ 6 0$ B $ 0 2 6 D , X$ B $ 0 2 6 3 , X$ F 3 D 3# $ 0 3$ F 3 D 3$ F 3 8 4$ F 3 D 5$ F 3 D 3# $ 0 2$ F 3 8 B$ F 4 0 9$ F 7 D 0$ F 3 9 3$ F 7 1 3$ B # $ 0 F$ F 3 B 8$ F 8 1 7$ F 3 D 4$ F 5 A F$ B $ F 3 A F$ F 7 E A$ F 3 C 2$ F 3 D 4$ F 7 0 4$ F 7 2 C$ F 3 D 4$ F 3 C 2

n u m b e r o i n p u t d e v i c es m a l l e r t h a ns e n d I E C , U N T A L Kr e s e t o u t - p u t t s c r e e nr e s e t i n p u t t k e y b o a r d

O P E N- F i l e n u m b e rn o z e r o" N O T I N P U T F I L E " ( ? ? )l o o k s - F o r l o g i c a l - F i l en o t f o u n d , i c a b e o p e n e d" F I L E O P E N "n u m b e r o o p e n f i l e sc o m p a r e w i t h 1 " T O O M A N Y F I L E S "i n c r e a s e n u m b e rl o g i c a l f i l e n u m b e rs e c o n d a r y a d d r e s s

d e v i c e n u m b e rw r i t e i t h e r i g h t t a b l ek e y b o a r d ?

s c r e e n

o p e n f i l e o I E C - b u s

t a p e ?n R S - 2 3 2 o p e ng e t a p e — b u f f e r s t a r t — a d r s ." I L L E G A L D E V I C E N U M B E R "s e c o n d a r y a d d r e s s

n o z e r o ?w a i t s f o P L A Y k e

o u t - p u t " S E A R C H I N G F O R n a m e "l e n g t h o f i l e n a m en o f i l e n a m e , t h e n c o n t i n u es e a r c h e s f o d e s i r e d t a p e -

h e a d e r

o u t - p u t " F I L E N O T F O U N D "s e a r c h f o n e x t t a p e - h e a d e r

A - 1 1 9

Page 264: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 264/304

F 3 B 6F 3 B 8F 3 B BF 3 B DF 3 B FF 3 C 2F 3 C 4F 3 C 6F 3 C 8F 3 C AF 3 C CF 3 C EF 3 D 0F 3 D 1F 3 D 3F 3 D 4

B 2 B A 2 A A C F A A 9 9 8 1 6

F 3 1 0 6 B B 6 0 0 0 B

A

F

F

B C J S B C L D J S L D L D C P B E L D L D S T T Y S T C L R T

$ F 3 A C$ F 8 3 8$ F 3 D 4# $ 0 4$ F 7 6 A# $ B F$ B # $ 6 0$ F 3 D 1# $ 0 0# $ 0 2( $ B 2 ) , Y

$ A

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 3 D 5F 3 D 7F 3 D 9F 3 D BF 3 D DF 3 D FF 3 E 1F 3 E 3F 3 E 6F 3 E 8F 3 E AF 3 E DF 3 E FF 3 F 1F 3 F 2F 3 F 3F 3 F 6F 3 F 8F 3 F AF 3 F CF 3 F EF 4 0 1F 4 0 2F 4 0 4F 4 0 6* * * * *F 4 0 9F 4 0 CF 4 0 FF 4 1 1F 4 1 3F 4 1 5F 4 1 8F 4 1 9F 4 1 BF 4 1 D

A 3 A F A 8 A 2 A 0 2 A 1 6 6 4 A F A B 2 C C D 4

■ * * * -2 B C F B 9 C C D 2

B F B F 0 9 B O B F B 9 0

O B O 0 B D

B F 5

8 9 B O B 9

0 F 4

E

E

F

E

F

L D B M L D B E L D S T L D J S L D O R J S L D B P P L P L J M L D B E L D L D J S

N C P B N J M

$ B $ F 3 D 3$ B $ F 3 D 3# $ 0 0$ 9 $ B $ E D O C$ B # $ F O$ E D B 9$ 9 $ F 3 F 6

$ F 7 0 7$ B $ F 4 O 6# $ 0 0( $ B B > , Y$ E D D D

$ B $ F 3 F C$ F 6 5 4

* * * * * * * * * * * * * * * * * *F 0

0

E

J S S T C P B E L D S T

N C P B N J S

$ F 4 8 3$ 0 2 9 7$ B $ F 4 1 D( $ B B ) , Y

$ 0 2 9 3 , Y

# $ 0 4$ F 4 0 F$ E F 4 A

w a i t s f o R E C O R D P L A Y k e c o n t r o l - b y t e f o d a t a h e a d e rw r i t e h e a d e r o t a p ep o i n t e r t t a p e — b u f f e r s e n s e c o n d a r y a d d r e s s

c o n t r o l - b y t e f o d a t a — b l o c k -w r i t e i t a p e b u f f e rp o i n t e r i t a p e - b u f f e r

O P E N f i l e s o I E C - b u ss e c o n d a r y a d d r e s s

l e n g t h o f i l e n a m e= 0 t h e n e r r o rc l e a r s t a t u sd e v i c e a d d r e s sL I S T E Ns e c o n d a r y a d d r e s s

s e n dc h e c k s t a t u so

1 1 D E V I C E N O P R E S E N Tl e n g t h o f i l e - n a m e

f i l e — n a m eo u t - p u t o I E C - b u s

U N L I S T E N , r e t u r nR S - 2 3 2 O P E N

s e C I A sc l e a r R S - 2 3 2 s t a t u sl e n g t h o f i l e — n a m e

s a v e t h e f i r s t b c h a r a c t e r s

c a l c u l a t e o d a t a — b i t s

A - 1 2 0

Page 265: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 265/304

F 4 2 0F 4 2 3F 4 2 6F 4 2 8F 4 2 AF 4 2 BF 4 2 CF 4 2 FF 4 3 1F 4 3 4F 4 3 7F 4 3 AF 4 3 DF 4 4 0F 4 4 3F 4 4 6F 4 4 9F 4 4 AF 4 4 DF 4 5 0F 4 5 1F 4 5 3F 4 5 6F 4 5 7F 4 5 9F 4 5 CF 4 5 FF 4 6 2F 4 6 5F 4 6 8F 4 6 BF 4 6 DF 4 6 FF 4 7 0F 4 7 2F 4 7 4F 4 7 6F 4 7 8F 4 7 9F 4 7 BF 4 7 DF 4 7 EF 4 8 0

8 E 9 8A D 9 32 O F 1 O A A A D 0 B C B C 4 C 4 0B C E BB E 8 9 8 9 A 9 O 2 2 A 9 4 9 0 A 0 O B 0 2 O A D 9 B8 9 A 9 8 9 2 2 A F D O 0 58 8 F 8 F A 5 F AD 0 8 8 4 F A8 F 3 A 9 F O4 C 2 D

0 2 S T X0 L D

A N B E A S T A

O L D B N F E L D YF E L D AF 4 J M PE L D E L D 0 2 S T Y0 S T 0 L D

A S F J S 0 L D

L S B C

D D L D AA S B C

F O J S R0 L D 0 S T 0 2 L D A0 S T F J S

L D B N D E S T S T L D B N D E S T S T S E L D

F J M

$ 0 2 9 8$ 0 2 9 3* F 4 4 6

* 0 2 A 6* F 4 3 A* F E C 1 , X$ F E C O , X* F 4 4 O* E 4 E B , X$ E 4 E A , X$ 0 2 9 6$ 0 2 9 5$ 0 2 9 5

* F F 2 E$ 0 2 9 4

$ F 4 5 C$ D D 0 1

$ F 4 5 C* F O O D* 0 2 9 B* 0 2 9 C* O 2 9 E* 0 2 9 D$ F E 2 7$ F * F 4 7 4

* F * F * F 4 7 D

# * F 0* F E 2 D

a n s a v ec o n t r o l r e g i s t e ri s o l a t e b i t s - f o r b a u d - r a t e

f o t a b l e

b a u d - r a t e , H i g hb a u d - r a t e , L o wb a u d - r a t e , H i g hb a u d — r a t e , L o w

d e t e r m i n e b a u d - r a t e c o d e

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 4 8 3 A 9 7 L D A # $ 7 FF 4 8 5 8 O D S T $ D D O DF 4 8 S A 0 L D # * 0 6F 4 8 A 8 D 0 D D S T A * D D 0 3F 4 8 D 8 0 D S T $ D D 0 1F 4 9 0 A 0 L D # $ 0 4F 4 9 2 O 0 D O R $ D D O OF 4 9 5 S D 0 0 D D S T A $ D D O OF 4 9 8 A 0 L D # * 0 0

s e s t a t u s - f o r D S

s e b u - F - f e r — p o i n t e r f o R S - 2 3 2 I /

g e t t o p o m e m o r yi n p u t b u f f e r u s e d a l r e a d y ?p o i n t e r f o R S - 2 3 2 i n p u t

b u f f e ro u t p u t b u f f e r u s e d a l r e a d y ?p o i n t e r f o R S - 2 3 2 o u t p u t

b u f f e r

s e t n e w t o o m e m o r yS e C I A s b a c k t R S - 2 3 2

A - 1 2 1

Page 266: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 266/304

F 4 9 AF 4 9 D

8 A 0 S T $ O 2 A 16 R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 4 9 E 8 C 3 S T X $ C F 4 A 0F 4 A 2F 4 A 5F 4 A 7F 4 A 9F 4 A BF 4 A DF 4 A FF 4 B 2F 4 B 4F 4 B 6

8 6 8 A 8 A D 4 C F 9

C 3 0 9 0 9 B 0 1 F O F 7

S T J M S T L D S T L D B N J M C M B E B C

$ C ( $ 0 3 3 0 )$ 9

# $ 0 0$ 9 $ B $ F 4 B 2$ F 7 1 3# $ 0 3$ F 4 A F$ F 5 3 3

F 4 B 8 A B L D $ B F 4 B A D O 0 3 B N E $ F 4 B F

4 1 F 7 J M P $ F 7 1 OA 6 B 9 L D X $ B 92 0 A F F 5 J S R $ F 5 A FA 9 6 0 L D A # $ 6 08 B S T $ B 2 0 D 5 F 3 J S R $ F 3 D 5A 5 B A L D A $ B A2 0 0 9 E D J S R $ E D 0 9A B L D $ B 2 C 7 E D J S R $ E D C 72 1 E E J S R $ E E 1 3

F 4 B CF 4 B FF 4 C 1F 4 C 4F 4 C 6F 4 C 8F 4 C BF 4 C DF 4 D 0F 4 D 2F 4 D 5F 4 D 8F 4 D AF 4 D CF 4 D DF 4 D EF 4 E 0F 4 E 3F 4 E 5F 4 E 6F 4 E 8F 4 E AF 4 E CF 4 E EF 4 F 0F 4 F 3F 4 F 5F 4 F 7F 4 F 9F 4 F CF 4 F EF 5 0 1F 5 0 4F 5 0 5F 5 0 7

8 A S T A $ A EA 9 L D A $ 9 04 L S 4 A L S RB 5 0 B C S $ F 5 3 02 1 E E J S R $ E E 1 38 A S T $ A

T X B N $ F 4 F 0L D $ C S T $ A L D $ C S T $ A

8 D O 0 8A C 8 5 A EA 5 C 48 A 2 D 2 F 5 J S R $ F 5 D 2A F D L D A # $ F D2 5 9 O A N D $ 9 8 5 9 0 S T $ 9 2 E F J S * F F E 1D O 0 3 B N $ F 5 0 14 C 3 3 F 6 J M P $ F 6 3 32 1 E E J S R $ E E 1 3A T A A 5 9 0 L D A $ 9 04 A L S R

L O A D r o u t i n es a v e s t a r t a d d r e s sM M $ F 4 A 5 L O A D v e c t o rl o a d / v e r i f y - f l a g

c l e a r s t a t u sd e v i c e a d d r e s sn o z e r o , t h e n c o n t i n u e" I L L E G A L D E V I C E N U M B E R "s c r e e n ?y e s , e r r o rs m a l l e r 3 t h e n f r o m t a p e

I E L O A Dl e n g t h o - - f i l e - n a m en o z e r o , t h e n o " M I S S I N G F I L E N A M E "s e c o n d a r y a d d r e s s" S E A R C H I N G F O R - f i l e n a m e "s e c o n d a r y a d d r e s s z e r o

o p e n - f i l e o I E C ^ b u sd e v i c e n u m b e rs e n d T A L Ks e n d s e c o n d a r y a d d r e s sg e b y t e f r o m I E C - b u ss a v e a s t a r t a d d r e s s l o s t a t u s

t i m e o u t , t h e n e r r o rg e s t a r t - a d d r e s s h i g h

s e c o n d a r y a d d r e s s n o z e r o ?n o t h e n L O A D f r o m g i v e na d d r e s s

o u t - p u t " L O A D I N G / V E R I F Y I N G 1 1

c l e a r t i m e — o u t b i

s c a n S T O P k e n o p r e s s e d , t h e n c o n t i n u ec l o s e f i l eg e p r o g r a m — b y t e f r o m b u

c h e c k s t a t u s

A - 1 2 2

Page 267: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 267/304

F 5 0 8F 5 O 9F 5 O BF 5 0 CF 5 0 EF 5 1 0F 5 1 2F 5 1 4F 5 1 6F 5 1 8F 5 1 BF 5 1 CF 5 1 EF 5 2 0F 5 2 2F 5 2 4F 5 2 6F 5 2 8F 5 2 BF 5 2 EF 5 3 0

4 B 8 A F A D F A 2 2 9 E D E 2 5 2 2 9 4

E

9 O 0 A 0 1 1

A A 0 A 9 C E 4 7 0

F

E F F

L S B C T X L D B E L D C M B E L D J S

$ F 4 F 3$ 9 $ F 5 1 C# $ 0 0( $ A E ) , Y$ F 5 1 E

# $ 1 0$ F E 1 C

- B Y T E $ 2 S T I N B N I N B I B V J S J S B C J M

( $ A E ) , Y$ A $ F 5 2 4$ A $ 9 $ F 4 F 3$ E D E F$ F 6 4 2$ F 5 A 9$ F 7 0 4

F 5 3 3 L S F 5 3 4 B O O 3 B C

4 1 F 7 J M P2 0 D O F 7 J S RB O 0 3 B C 4 1 F J M 2 1 F 8 J S RB O 6 8 B C 2 0 A F F 5 J S RA 5 B 7 L D F O 0 9 B E 2 E F J S 9 O B C F 5 B E B D B C

F 5 3 6F 5 3 9F 5 3 CF 5 3 EF 5 4 1F 5 4 4F 5 4 6F 5 4 9F 5 4 BF 5 4 DF 5 5 0F 5 5 2F 5 5 4F 5 5 6F 5 5 9F 5 5 BF 5 5 DF 5 5 FF 5 6 1F 5 6 2F 5 6 4F 5 6 6F 5 6 BF 5 6 AF 5 6 CF 5 6 EF 5 7 OF 5 7 2F 5 7 3F 5 7 5F 5 7 7

■ a - * * * * - * * * * *

$ F 5 3 9$ F 7 1 3$ F 7 D 0$ F 5 4 1$ F 7 1 3$ F 8 1 7$ F 5 A E$ F 5 A F

2 2 F J S B E B C

F O 5 3B O D 3A 9 2 1 3 D O 4 AE 0 F 1 E 0 D O D DA 0 B B 8 5 C 3C B B 8 5 C 4B 0

L D A N S E B N C P B E C P B N L D L D S T

N L D S T B C

$ F 5 5 6* F 7 E A* F 5 5 D* F 5 A E* F 5 3 0* F 7 2 C* F 5 A E* F 5 3 0$ 9 # $ 1 0

$ F 5 A E# $ 0 1$ F 5 7 9# $ 0 3$ F 5 4 9# $ 0 1( $ B 2 ) , Y

$ C

( $ B 2 ) , Y$ C $ F 5 7 D

e r r o r , t h e n i n t e r r u p t

c h e c k L O A D / V E R I F Y f l a g= 0 t h e n L O A D

v e r i - f y , c o m p a r i s o nu n e q u a l , t h e n s e s t a t u ss e s t a t u ss a v e b y t e

i n c r e m e n t a d d r e s ss t a t u sn E O F y e t ?s e n d U N T A L Kc l o s e f i l en e r r o r ?" F I L E N O T F O U N D "

d e v i c e n u m b e ro n ( t a p e ) , t h e n c o n t i n u eR S - 2 3 2 , " I L L E G A L D E V I C E # g e t a p e - b u f f e r s t a r t -

w a i t s f o P L A Y k e

o u t p u t " S E A R C H I N G F O n a m e "l e n g t h o f i l e n a m e= O t h e n c o n t i n u es e a r c h e s f o d e s i r e d t a p e -

h e a d e r

s e a r c h f o n e x t t a p e - h e a d e r

g e s t a t u s

h e a d e r — t y p e 1 = B A S I C p r o g r a m( s h i f t a b l e )

3 m a c h i n e — p r o g r a m( n o n - s h i f t a b l e )

s t a r t — a d d r e s s l o

s t a r t — a d d r e s s h i g h

A - 1 2 3

Page 268: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 268/304

F 5 7 9 A B L D F 5 7 B D O E B N E S F 5 6 CF 5 7 D A O 0 3 L D # $ 0 3F 5 7 F B B L D < $ B 2 ) , YF 5 8 1 A 0 L D # * O 1F 5 8 3 F B S B < $ B 2 > , YF 5 8 5 A A T A XF 5 8 6 A O 0 L D Y # $ O 4F 5 8 8 B B L D < $ B 2 > , YF 5 8 A A O 0 2 L D Y # * 0 2F 5 8 C F B S B < * B 2 ) , YF 5 8 E A 8 T A YF 5 8 F 1 C L F 5 9 O 8 T X F 5 9 1 6 5 C A D C * C 3F 5 9 3 8 5 A S T A * A EF 5 9 5 9 T Y F 5 9 6 6 5 C A D * C F 5 9 8 8 A S T $ A F 5 9 A A C L D $ C F 5 9 C 8 C S T * C F 5 9 E A C L D * C F 5 A 0 8 5 C 2 S T $ C F 5 A 2 2 0 D 2 F 5 J S $ F 5 D 2F 5 A 5 2 0 4 A F 8 J S R * F 8 4 AF 5 A 8 2 . B Y T E $ 2 F 5 A 9 1 C L F 5 A A A 6 A E L D X $ A F 5 A C A 4 A L D $ A F 5 A E 6 R T

F 5 A FF 5 B 1F 5 B 3F 5 B 5F 5 B 8F 5 B AF 5 B CF 5 B EF 5 C 1F 5 C 3F 5 C 5F 5 C 7F 5 C 9F 5 C CF 5 C DF 5 C FF 5 D 1

A 9 L D 1 0 I E B P $ F 5 D 1A O L D Y # $ 0 C2 2 F J S $ F 1 2 FA B L D F 1 B E A 1 L D 2 2 F J S R $ F 1 2 FA B L D Y * B 7F O O C B E QA 0 L D B B L D ( $ B B ) , Y2 D F J S C N C B C P D F B N E * F 5 C 76 0 R T S

F 5 D 2 A 4 F 5 D 4 A 9 F 5 D 6 F O 0 F 5 D 8 A O 5 9

L D Y # $ 4 9L D A * 9 3B E Q * F 5 D AL D # $ 5 9

s e c o n d a r y a d d r e s sn o z e r o , t h e n a b s o l u t e l o a d

e n d - a d d r e s s m i n u s

s t a r t a d d r e s s

p r o g r a m l e n g t h

p r o g r a m l e n g t h s t a r t a d r s

e n a d d r e s s

s t a r t - a d d r e s s t $ C i / * C 2

o u t p u t " L O A D I N G / V E R I F Y I N G "l o a d p r o g r a m f r o m t a p e

e n a d d r e s s t X /

O u t - p u t " S E A R C H I N G " f o n a m ec h e c k d i r e c t - m o d en o t h e n s k i po f f s e t f o " S E A R C H I N G "o u t — p u t m e s s a g el e n g t h o f i l e n a m e= 0 t h e n r e a d yo f f s e t f o r " F O R "o u t - p u t m e s s a g el e n g t h o f i l e n a m e= 0 t h e n r e a d y

g e f i l e n a m ea n o u t — p u t i

o u t - p u t " L O A D I N G / V E R I F Y I N G "o f f s e t f o " L O A D I N G "c h e c k l o a d / v e r i f y f l a gl o a d , t h e n o u t p u to f f s e t f o " V E R I F Y I N G "

A - 1 2 4

Page 269: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 269/304

F 5 D A 4 2 F J M P $ F 1 2 B o u t - p u t m e s s a g e

F 5 D DF 5 D FF 5 E 1F 5 E 2F 5 E 4F 5 E 6F 5 E 8F 5 E AF 5 E DF 5 E FF 5 F 1F 5 F 4F 5 F 6F 5 F 8

8 8 A B 8 B 8 6 A D 4 C F 9

A A

0 C 0 C 3 O B 0 1 F 0 F 5

B T S T T A L D S T L D S T J M L D B N J M C M B E B C

$ A $ A

$ O O , X* C $ 0 1 ,$ C < $ O 3 3 2 >

$ B $ F 5 F 4$ F 7 1 3# $ 0 3$ F 5 F 1$ F 6 5 9

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 5 F A A 6 L D # $ 6 1F 5 F C 8 B S T $ B F 5 F E A B L D Y $ B 7F 6 0 0 D O 0 3 B N $ F 6 0 5F 6 0 2 4 1 F J M $ F 7 1 0F 6 0 5 2 0 D F J S $ F 3 D 5F 6 0 8 2 0 8 F 6 J S R $ F 6 8 FF 6 0 B A 5 B A L D $ B F 6 O D 2 0 O C E D J S R $ E D O CF 6 1 0 A B L D $ B F 6 1 2 2 0 B 9 E D J S R $ E D B 9F 6 1 5 A O 0 0 L D Y # $ 0 0F 6 1 7 2 0 8 E F J S R $ F B B EF 6 1 A A A L D A $ A CF 6 1 C 2 0 D D E D J S $ E D D DF 6 1 F A 5 A D L D $ A t tF 6 2 1 2 D E J S $ E D D DF 6 2 4 2 D F J S $ F C D 1F 6 2 7 B O 1 B C * F 6 3 FF 6 2 9 B A L D < * A C ) , YF 6 2 B 2 0 D D E D J S R * E D D DF 6 2 E 2 E F J S * F F E 1F 6 3 1 D O 0 7 B N $ F 6 3 AF 6 3 3 2 O 4 F 6 J S R $ F 6 4 2F 6 3 6 A 9 0 0 L D A # $ 0 0F 6 3 8 3 S E F 6 3 9 6 R T F 6 3 A 2 D F J S $ F C D BF 6 3 D D O E 5 B N E $ F 6 2 4F 6 3 F 2 0 F E E D J S R $ E D F EF 6 4 2 2 4 B 9 B I T $ B 9F 6 4 4 3 0 1 B M * F 6 5 7F 6 4 6 A 5 B A L D $ B F 6 4 8 2 0 O C E D J S R $ E D O CF 6 4 B A 5 B L D $ B

S A V E r o u t i n ee n a d d r e s s l o e n a d d r e s s h i g h

s t a r t a d d r e s s l o s t a r t a d d r e s s h i g hS A V E - v e c t o r , J M P $ E 5 E Dd e v i c e a d d r e s s" I L L E G A L D E V I C E N U M B E R "s c r e e n , e r r o rt a p e

S A V E o I E C - b u ss e c o n d a r y a d d r e s ss e l e n g t h o - - f i l e n a m en o z e r o , t h e n o m i s s i n g - f i l e n a m ef i l e n a m e o I E C - b u so u t - p u t " S A V I N G "d e v i c e a d d r e s ss e n d L I S T E Ns e n d s e c o n d a r y a d d r e s sf o L I S T E N

s t a r t a d d r e s s t $ A C / $ A Ds t a r t a d d r e s s l o s e n da n s e n dh i g he n d - a d d r e s s r e a c h e d y e t ?y e s , t h e n r e a d yp r o g r a m b y t e so u t - p u t t I E C - b u ss c a n S T O P k e n o p r e s s e d , t h e n c o n t i n u ec l o s e I E C - b u s c h a n n e l

s e t f l a g f o " B R E A K " o u t p u ti n c r e m e n t c u r r e n t a d d r e s ss e n d U N L I S T E N

d e v i c e a d d r e s ss e n d L I S T E Ns e c o n d a r y a d d r e s s

A - 1 2 5

Page 270: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 270/304

F 6 4 DF 6 4 FF 6 5 1F 6 5 4F 6 5 7F 6 5 8F 6 5 9F 6 5 AF 6 5 CF 6 5 FF 6 6 2F 6 6 4F 6 6 7F 6 6 9F 6 6 CF 6 6 EF 6 7 0F 6 7 2F 6 7 4F 6 7 6F 6 7 7F 6 7 AF 6 7 CF 6 7 FF 6 8 1F 6 8 3F 6 8 5F 6 8 7F 6 8 9E 6 8 CF 6 B DF 6 8 E

2 9 E F0 9 E 02 B 2 F 1 6 4 B 0 4 1 2 D 9 8 2 3 B O 2 52 0 8 FA 2 0 3A B 2 0 D O 0 2A 0 8 2 6 B 1 2 0 6 7B O A 5 B 92 0 F 0 A 9 0 52 6 2 1 6

F 6 9 BF 6 9 DF 6 9 FF 6 A 1F 6 A 3F 6 A 5F 6 A 7F 6 A BF 6 A AF 6 A CF 6 A EF 6 B 0F 6 B 2F 6 B 4

A N D # $ E FO R A # $ E 0

E D J S R $ E D B 9E J S $ E D F E

C L R T L S B C $ F 6 5 F

F J M $ F 7 1 3F J S $ F 7 D 0

B C $ F 5 F 1F 8 J S R $ F 8 3 8

B C S $ F 6 8 EF 6 J S R $ F 6 8 F

L D # $ O 3L D $ B A N # $ O 1B N $ F 6 7 6L D X # $ 0 1T X

F J S $ F 7 6 AB C S $ F 6 B E

F 8 J S R $ F 8 6 7B C $ F 6 8 EL D * B A N D # $ 0 2B E Q $ F 6 B DL D # * 0 5

F 7 J S R * F 7 6 A. B Y T E * 2 C L R T

F 6 8 F A 5 9 L D * 9 F 6 9 1 1 F B P L * F 6 8 EF 6 9 3 A 5 L D # $ 5 1F 6 9 5 2 2 F J S R * F 1 2 FF 6 9 8 4 C F 5 J M P * F 5 C 1

A 2 0 0E A D 0 E A D 0 E 6 A O3 A A E 0 A A E 1 A A E 4 9 0 0 6

L D I N B N I N B N I N S E L D S B L D S B L D S B B C

# $ 0 0$ A $ F 6 A 7$ A $ F 6 A 7$ A

$ A # $ 0 1$ A # $ 1 A$ A # $ 4 F$ F 6 B C

o u t p u t o s e c o n d a r y a d d r e s ss e n d U N L I S T E N

d e v i c e n u m b e rt a p eR S - 2 3 2 , " I L L E G A L D E V I C E # g e t a p e b u f f e r s t a r t - a d r s -w a i t s f o R E C O R D P L A Y k e o u t - p u t " S A V I N G n a m e "h e a d e r - t y e p m a c h i n e - p r g m -s e c o n d a r y a d d r e s sb i 0 i s e ( o 3 y e s , t h e n m a c h i n e p r o g r a mh e a d e r t y p e 1 = B A S I C p r o g r a m

w r i t e h e a d e r o t a p ej u m p - o u t a s t o p - k e yw r i t e p r o g r a m o t a p ej u m p - o u t a s t o p - k e ys e c o n d a r y a d d r e s sb i i s e ( o 3 n o t h e n r e a d yE O T , c o n t r o l b y t ew r i t e b l o c k o t a p e

O u t - p u t " S A V I N G "d i r e c t m o d e ?n o t h e n r e a d yo f f s e t f o " S A V I N G "o u t — p u t m e s s a g eo u t - p u t f i l e n a m e

V D T I M i n c r e a s e t i m e

i n c r e a s e t i m e

c o m p a r e w i t h v a l u e f o r 2 4 H

s m a l l e r , t h e n o

A - 1 2 6

Page 271: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 271/304

F 6 B 6 8 6 A O S T XF 6 B 8 8 6 A S T $ A 1 s e t t i m e o z e r oF 6 B A 8 6 A 2 S T $ A F 6 B C A D 0 D L D $ D C 0 1F 6 B F C 0 D C M $ D C 0 1F 6 C 2 D F B N $ F 6 B CF 6 C 4 A A T A XF 6 C 5 3 0 1 B M $ F 6 D AF 6 C 7 A B L D # $ B DF 6 C 9 8 E 0 D C S T X $ D C O OF 6 C C A 0 D C L D X $ D C 0 1F 6 C F E 0 D C C P X $ D C O 1 c h e c k s t o p - k e yF 6 D 2 D O F B N E $ F 6 C CF 6 D 4 8 D O O D S T $ D C O OF 6 D 7 E 8 I N F 6 D 8 D O 0 2 B N $ F 6 D CF 6 D A 8 5 9 S T $ 9 - f l a g f o s t o p - k e yF 6 D C 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * G e t i m e

F 6 D E A 5 A 2 L D $ A F 6 E 0 A A L D $ A F 6 E 2 A 4 A O L D $ A * * * * * * * * * * * * * * * * * * * * * * * * * * * * * S e t i m eF 6 E 4 7 8 S E F 6 E 5 8 A S T $ A F 6 E 7 8 6 A S T $ A F 6 E 9 8 4 A O S T Y $ A 0F 6 E B 5 8 C L F 6 E C 6 0 R T S

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * S c a n S T O P - k e yF 6 E D A 5 9 L D $ 9 - f l a gF 6 E F C 9 7 C M # * 7 F c h e c k o c o d e f o s t o pF 6 F 1 D 0 B N S F 6 F AF 6 F 3 0 P H F 6 F 4 2 C F J S R * F F C C C L R C HF 6 F 7 8 5 C S T * C F 6 F 9 2 8 P L F 6 F A 6 R T

O u t - p u t o p e r a t i n g s y s t e m sF 6 F B A 0 L D # * 0 1 m e s s a g e sF 6 F D 2 C . B Y T E * 2 CF & F E A 0 L D A # * 0 2F 7 0 0 2 C - B Y T E * 2 F 7 0 1 A 0 L D A # $ 0 35 7 0 3 2 - B Y T E * 2 CF 7 0 4 A 9 0 4 L D # $ 0 45 7 0 6 2 . B Y T E $ 2 5 7 0 7 A 9 0 5 L D A # $ 0 55 7 0 9 2 . B Y T E $ 2 C5 7 0 A A 0 L D A # $ 0 6F 7 0 C 2 C . B Y T E $ 2

A - 1 2 7

Page 272: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 272/304

F 7 0 DF 7 O FF 7 1 05 7 1 25 7 1 3F 7 1 5F 7 1 6F 7 1 9F 7 1 BF 7 1 DF 7 1 FF 7 2 2F 7 2 3F 7 2 4F 7 2 6F 7 2 9F 7 2 AF 7 2 B

A 9 O 72 A 9 0 82 A 0 4 2 C A 0 O O2 4 9 D5 O 2 2 6 4 0 9 3 02 D 6 3 6

L D A # * O 7. B Y T E * 2 L D A # * O 8. B Y T E $ 2 L D A # $ 0 9P H

F J S * F F C CL D Y # * 0 0B I T $ 9 DB V * F 7 2 9

F J S R * F 1 2 FP L P H O R # * 3 0

F J S R * F F D 2P L S E R T

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 7 2 C A 5 9 L D * 9 F 7 2 E 4 P H

2 4 F 8 J S R $ F 8 4 16 P L 8 5 9 3 S T * 9 B 3 B C * F 7 6 9A 0 L D Y # * 0 0B B L D < $ B 2 > , YC 9 0 5 C M P # $ O 5F 2 B E Q * F 7 6 9C 0 C M # * 0 1F O 0 8 B E Q * F 7 4 BC 9 0 3 C M P # * 0 3F O 0 4 B E Q * F 7 4 BC 0 C M P # * 0 4D E B N E * F 7 2 CA T A 2 9 D B I T $ 9 1 1 B P L $ F 7 6 7A 6 L D Y # * 6 32 0 2 F F J S R $ F 1 2 FA 0 L D Y # * 0 5

F 7 2 FF 7 3 2F 7 3 3F 7 3 5F 7 3 7F 7 3 9F 7 3 BF 7 3 DF 7 3 FF 7 4 1F 7 4 3F 7 4 5F 7 4 7F 7 4 9F 7 4 BF 7 4 CF 7 4 EF 7 5 0F 7 5 2F 7 5 5F 7 5 7F 7 5 9F 7 5 CF 7 5 DF 7 5 FF 7 6 1F 7 6 3F 7 6 6F 7 6 7F 7 6 8F 7 6 9

B B L D < * B 2 > , Y2 0 D 2 F F J S R $ F F D 2C N C 1 C P Y # $ 1 5D F B N * F 7 5 7A A L D * A 2 E E 4 J S R $ E 4 E 0E N O 1 C L 8 8 D E Y6 R T

s a v e e r r o r — n u m b e rC L R C Hc h e c k d i r e c t - m o d e - F l a g

o u t - p u t " I / O E R R O R #

g e e r r o r n u m b e rt o A S C I Ia n o u t - p u t

R e a d p r o g r a m h e a d e r o - f - f t a p es a v e l o a d / v e r i f y f l a gr e a d b l o c k o - f - f t a p eg e b a c k l o a d / v e r i f y f l a ge r r o r , t h e n e n

c h e c k h e a d e r t y p eE O T ?B A S I C - p r o g r a m ?m a c h i n e p r o g r a m ?d a t a h e a d e r ?n

d i r e c t - m o d e ?n o t h e n c o n t i n u eo u t - p u t " F O U N D "o f f s e t o f i l e n a m e

o u t - p u t f i l e n a m e

m i d d l e t i m e b y t e t a c c u m .w a i t s f o C o m m o d o r e - k e y o t i m e - l o o pa e r r o r , C =

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * G e n e r a t e h e a d e r a n w r i t e t

A - 1 2 8

Page 273: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 273/304

F 7 6 AF 7 6 CF 7 6 FF 7 7 1F 7 7 3F 7 7 4F 7 7 6F 7 7 7F 7 7 9F 7 7 AF 7 7 CF 7 7 DF 7 7 FF 7 8 1F 7 8 3F 7 8 4F 7 8 6F 7 8 8F 7 8 AF 7 8 BF 7 8 DF 7 8 FF 7 9 0F 7 9 2F 7 9 4F 7 9 5F 7 9 7F 7 9 9F 7 9 AF 7 9 CF 7 9 EF 7 9 FF 7 A 1F 7 A 3F 7 A 5F 7 A 7F 7 A 9F 7 A BF 7 A DF 7 A FF 7 B 1F 7 B 3F 7 B 5F 7 B 7F 7 B AF 7 B CF 7 B EF 7 C 1F 7 C 2F 7 C 3F 7 C 5F 7 C 6F 7 C 8F 7 C 9F 7 C B

8 2 9 A 4 A 4 A 4 A 4 A A 9 8 D A 9 C A 9 C A 9 C A 9 C A 9 C 8 A 8 A C F B A 9 E E D 2 A 8 2 A 6 8 6 8 6 8 6

9 D 5 C

C

A

A

B 2 B

F 9 B C B

C B

A B

A B

9 0 9 9 B O B 9 B 9 9 E D 6 A 6

A

A

C

S T F J S

B C L D P H L D P H L D P H L D P H L D L D S T D E B N L D S T

N L D S T

N L D S T

N L D S T

N L D S T

N S T L D S T L D C P B E L D L D S T I N I N B N

F J S L D S T

F 8 J S RT A P L S T P L S T P L S T P L

$ 9 $ F 7 D 0$ F 7 C F$ C

$ C

$ A

$ A # $ B F# $ 2 O( $ B 2 ) .

$ F 7 8 1$ 9 < $ B 2 ) ,

$ C < $ B 2 > ,

$ C < $ B 2 ) ,

$ A < $ B 2 ) ,

$ A < $ B 2 ) ,

$ 9 # $ 0 0$ 9 $ 9 $ B $ F 7 B 7< $ B B ) ,

$ 9 ( $ B 2 ) ,

$ 9 $ 9 $ F 7 A 5$ F 7 D 7# $ 6 9$ A $ F 8 6 B

$ A

$ A

$ C

,

,

,

,

(

,

h e a d e r — t y p eg e t a p e - b u - f - f e r a d d r e s s

s a v e s t a r t — a d d r e s sa n

e n d — a d d r e s s

b u f f e r - l e n g t hc l e a r t a p e - b u f f e r

h e a d e r - t y p e

s t a r t - a d d r e s s

e n d - a d d r e s s

c o u n t e r f o f i l e n a m e - l e n g t hc o m p a r e w i t h l e n g t ha l l e t t e r s , t h e n c o n t i n u eg e f i l e n a m ew r i t e i h e a d e r

s t a r t a n e n d - a d d r e s s o t a p e b u f f e r

h e a d e r c h e c k s u m b l o c k $ 6 w r i t e b l o c k o t a p e

g e b a c k e n d - a d d r e s sa n

s t a r t - a d d r e s s

A - 1 2 9

Page 274: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 274/304

F 7 C C 8 5 C S T A * C 2F 7 C E 9 8 T Y AF 7 C F 6 0 R T S* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 7 D O A B L D X * B 2F 7 D 2 A 4 B 3 L D Y * B 3F 7 D 4 C O 0 C P # * 0 2F 7 D 6 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 7 D 7 2 0 D O F 7 J S $ F 7 D 0F 7 D AF 7 D BF 7 D DF 7 D EF 7 E 0F 7 E 2F 7 E 3F 7 E 5F 7 E 7F 7 E 9

8 8 1 6 8 9 8 6 8 6

C

C A C 0 A

T X S T $ C C L A D # * C 0S T * A T Y S T A * C 2A D # * 0 0S T $ A R T

G e t a p e - b u f f e r s t a r t - a d d r -

a d d r e s s s m a l l e r * 2 O O ?

g e t a p e - b u f f e r a d d r e s ss t a r t - a d d r e s s s t a r t t a p e -

b u f f e r

e n d — a d d r e s s s t a r t - a d d r e s sl e n g t h ( 1 9 2 )

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 7 E A 2 0 2 C F 7 J S R * F 7 2 CF 7 E DF 7 E FF 7 F 1F 7 F 3F 7 F 5F 7 F 7F 7 F 9F 7 F BF 7 F DF 7 F FF 8 0 1F 8 0 3F 8 0 5F B 0 7F 8 0 9F 8 0 BF 8 0 C

J L J L J I . M 1 J L

F 8 0 DF 8 1 0F 8 1 2F 8 1 4F 8 1 6

* * * * *F 8 1 7F 8 1 AF 8 1 CF 8 1 E

B A 8 A 8 C F B A D D E E A D 1 6

* * * • ?2 E A C 6

* * * ■2 F A 2

I 0 9 0 9 B 1 B 9 B E 9 9 9 E

* * * • «D A A C

* * * 42 1 I 2

B C L D S T L D S T C P B E L D L D C M B N I N I N L D B N C L R T

h * * * * * * HF 7 J S R

I N L D C P R T

* * * * * * * *F J S

B E L D

F J S

$ F 8 0 C# * 0 5$ 9 # * 0 0$ 9 * B * F 8 0 B( $ B B ) , Y

( $ B 2 ) , Y$ F 7 E A$ 9 * 9 * 9 * F 7 F 7

* F 7 D 0$ A $ A # * C 0

$ F B 2 E* F 8 3 6# $ 1 B* F 1 2 F

t a p e h e a d e r s e a r c h f o n a m es e a r c h n e x t t a p e h e a d e rE O T , t h e n r e a d yf i l e n a m e o f f s e t i h e a d e r

c o u n t e r f o l e n g t h o n a m ec o m p a r e t s e a r c h e d n a m ee q u a l , t h e n f o u n dl e t t e r o f i l e n a m ec o m p a r e h e a d e r f i l e n a m en o e q u a l , c h e c k n e x t h e a d e r

i n c r e m e n t c o u n t e rc o m p a r e f u r t h e r l e t t e r s

I n c r e a s e t a p e - b u f f e r p o i n t e rg e t a p e - b u f f e r a d d r e s si n c r e m e n t p o i n t e r

c o m p a r e t m a x . v a l u e ( 1 9 2 )

W a i t s f o T a p e — k e ys c a n s t a p e - k e y sp r e s s e d , t h e n r e a d yo f f s e t f o " P R E S S P L A Y O o u t p u t T A P E "

A - I 3 0

Page 275: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 275/304

F 8 2 1F 8 2 4F 8 2 7F 8 2 9F 8 2 B

2 2 D A 4

D 2 F 6 2

F F

F

J S J S B N L D J M

$ F B D O$ F 8 2 E$ F 8 2 1# $ 6 A$ F 1 2 F

s c a n s T a p e

o f f s e t f o o u t - p u t

* * * * * * * * * * * * * * * * * * * # * # # # * * # . * * C h e c k i t F 8 2 EF 8 3 0F 8 3 2F 8 3 4F 8 3 6F 8 3 7

A 2 D 2 1 6

1 0 0 0

L D B I B N B I C L R T

# $ 1 0$ 0 $ F B 3 6$ 0

c h e c k b i t

y e s , t h

" O K "

= 1 o t h e r w i s Z =

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F B 3 8 2 0 2 F 8 J S R $ F 8 2 EF B 3 B F O F B E $ F 8 3 6F 8 3 D A 2 L D Y # $ 2 EF 8 3 F D O D D B N $ F B 1 E* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 8 4 1 A 0 L D A # $ 0 0F 8 4 3 8 5 9 S T A $ 9 OF 8 4 5 8 5 9 S T A $ 9 3F 8 4 7 2 0 D F 7 J S R $ F 7 D 7* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 8 4 A 2 1 F 8 J S R $ F 8 1 7F 8 4 DF 8 4 FF 8 5 0F 8 5 2F 8 5 4F 8 5 6F 8 5 BF B 5 AF 8 5 CF 8 5 EF 8 6 0F 8 6 2

B I 7 A 9 0 08 5 A A8 B 8 5 B O8 9 8 5 9 F8 9 A 9 A 2 O ED 1

B C S $ F 8 6 ES E L D # $ 0 0S T $ A S T $ B S T $ B S T A $ 9 ES T $ 9 S T $ 9 L D # $ 9 0L D # $ 0 EB N E $ F 8 7 5

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 8 6 4 2 0 D 7 F 7 J S R $ F 7 D 7F 8 6 7 A 1 L D A # $ 1 4F 8 6 9 8 5 A B S T $ A * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F 8 6 BF 8 6 EF 8 7 0F 8 7 1F 8 7 3F 8 7 5F 8 7 7F 8 7 A

2 B 7 A A A B 8

3 6

8 0 7 O O

F

D D

J S B C S E L D L D L D S T S T

$ F 8 3 8$ F 8 D C

# $ 8 2# $ 0 8# $ 7 F$ D C O D$ D C O D

W a i t s - f o r t a p e - k e y - f o r w r i t i ns c a n t a p e - k e yp r e s s e d , t h e n r e a d yo f - f s e t f o " P R E S S P L A Yr e - c h e c k / R E C O R D O N T A P E "

R e a d b l o c k o f t a p ec l e a r s t a t u sa n v e r i f y - f l a gg e t a p e - b u f f e r a d d r e s s

L O A D p r o g r a m f r o m t a p ew a i t s f o P L A Y - k e y

c l e a r w o r k - m e m o r y f o I R Q -r o u t i n e

c o n s t a n t f o t i m e r h i g hn u m b e r o I R Q v e c t o r , $ F 9 2 C

W r i t e t a p e b u f f e r o t a p eg e t a p e - b u f f e r a d d r e s sc h e c k - s u m

f o d a t a b l o c k o h e a d e r $ 1 4W r i t e b l o c k o p r g m . o n t a p e

w a i t s f o R E C - P L A Y

c o n s t a n t f o t i m e r h i g hn u m b e r o I R Q - v e c t o r $ F C 6 A

A - 1 3 1

Page 276: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 276/304

Page 277: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 277/304

F 8 E 8F 8 E 9F 8 E BF 8 E CF 8 E EF 8 F 0F 8 F 2F 8 F 4F 8 F 6F 8 F 7F 8 F 9F 8 F AF 8 F CF 8 F DF 8 F EF 9 0 1F 9 0 3F 9 0 5F 9 0 7F 9 0 AF 9 0 BF 9 0 EF 9 1 1F 9 1 4F 9 1 7F 9 1 AF 9 1 DF 9 1 FF 9 2 1F 9 2 3F 9 2 4F 9 2 6F 9 2 7F 9 2 AF 9 2 B

F 9 2 CF 9 2 FF 9 3 1F 9 3 2F 9 3 5F 9 3 8F 9 3 AF 9 3 CF 9 3 DF 9 4 0F 9 4 3F 9 4 5F 9 4 8F 9 4 BF 9 4 EF 9 4 FF 9 5 1F 9 5 3

1 6 1 6 8 A 2 3 2 0 2 0 2 A A C 9 6 8 8 6 8 A 8 8 A 2 F A 4 A 4 4 5 6

< • ■ * # *A A 9 E E D 8 A 8 8 A 8 A 8 9 E 8 4

B

B B 0 B 0

B

B

0 1

F B 0 0 0 A O A O 1 0 F

2 4

* * 0 F

0 0 F B

0 0 1 O O A B B

D

D D D O D 0 D

F

D

D D

D D

D D 0

C L A D C L A D S T L D B I B M R O A S R O A S R O T A L D C M B C A D S T T X A D S T L D S T S T L D A N B E L D P H L D P H J M C L R T

L D L D T Y S B C P B N S T T A S T S T L D S T L D S T T Y S B S T L S

$ B $ B $ B # $ 0 0$ B $ F 8 F 7$ B

$ B

$ D C 0 6# $ 1 6$ F 8 F E$ B $ D C 0 4$ D C 0 7$ D C 0 5$ 0 2 A 2$ D C O E$ 0 2 A 4$ D C O D# $ 1 0$ F 9 2 A# $ F 9# $ 2 A$ F F 4 3

■ • * * ■ * * • * *

$ D C 0 7# $ F F$ D C 0 6$ D C 0 7$ F 9 2 C$ B

$ D C 0 6$ D C 0 7# $ 1 9$ D C O F$ D C O D$ 0 2 A 3$ B $ B

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

r e t u r n a d d r e s s o s t a c k

t i n t e r r u p t

T a p e r e a d i n t e r r u p t - r o u t i n et i m e r h i g h

i n p u t - f r o m t a p e

A - 1 3 3

Page 278: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 278/304

F 9 5 4F 9 5 6F 9 5 7F 9 5 9F 9 5 BF 9 5 CF 9 5 EF 9 6 0F 9 6 2F 9 6 4F 9 6 6F 9 6 9F 9 6 BF 9 6 DF 9 6 FF 9 7 1F 9 7 3F 9 7 5F 9 7 7F 9 7 8F 9 7 AF 9 7 CF 9 7 EF 9 8 OF 9 8 2F 9 8 4F 9 8 6F 9 8 8F 9 8 BF 9 8 DF 9 8 FF 9 9 1F 9 9 3F 9 9 5F 9 9 7F 9 9 9F 9 9 AF 9 9 CF 9 9 EF 9 A 0F 9 A 2F 9 A 4F 9 A 6F 9 A 8F 9 A AF 9 A CF 9 A EF 9 B 0F 9 B 3F 9 B 5F 9 B 7F 9 B AF 9 B CF 9 B EF 9 C 0F 9 C 3

6 B 4 6 B A B 1 6 3 C B B O 4 AA 9 F O O 34 C 6 0A 6 A 33 I A 0 6 3 6 B C B B 1 E 6 2 6 B C B B 1 6 2 6 B C B 9 0 0 34 1 A B F I 8 5 A 8D 1 E A B O C 6 A 93 E 1 E B 6 9 8 9 A A 4 0 8 5 A 4F 2 8 6 D 7A B F O 2 2A A 2 0 D 0 A A D 1 A 0 8 A 8 D A 4A A

R O L S R O L D C L A D C M B C L D B E

F A J M PL D B M L D A D A D C M B C

N A D A D C M B C A D A D C M B C

F J M L D B E S T B N I N B C D E S E S B S B A D S T L D E O S T B E S T L D B E

0 2 L D AA N B N

0 L D B N L D S T

0 2 S T AL D

$ B

$ B $ B # $ 3 C$ B $ F 9 A C$ 9 $ F 9 6 9$ F A 6 0$ A $ F 9 8 8# $ 0 0# $ 3 0$ B $ B $ F 9 9 3# $ 2 6$ B $ B $ F 9 9 7# $ 2 C$ B $ B $ F 9 8 B* F A 1 0$ B * F 9 A C$ A * F 9 A C* F 9 9 9

$ 9

# $ 0 1$ A $ F 9 D 5$ D $ B $ F 9 D 2$ 0 2 A 3# $ 0 1$ F 9 B C$ 0 2 A 4$ F 9 D 2# $ 0 0$ A $ 0 2 A 4$ A

A - 1 3 4

Page 279: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 279/304

F 9 C 5F 9 C 7F 9 C 9F 9 C BF 9 C EF 9 D 0F 9 D 2F 9 D 5F 9 D 7F 9 D 9F 9 D BF 9 D DF 9 D EF 9 E 0F 9 E 2F 9 E 4F 9 E 6F 9 E 8F 9 E 9F 9 E BF 9 E DF 9 E FF 9 F 1F 9 F 3F 9 F 5F 9 F 7F 9 F 8F 9 F AF 9 F CF 9 F EF A O OF A 0 2F A 0 4F A 0 6F A 0 8F A O AF A O DF A 1 OF A 1 2F A 1 4F A 1 6F A 1 8F A 1 AF A 1 CF A 1 FF A 2 1F A 2 3F A 2 4F A 2 6F A 2 8F A 2 9F A 2 AF A 2 DF A 2 F

1 3 A 2 A D 4 A F 3 C 2 E A 8 E D 8 D A 3 C 9 8 B 8 4 8 A F C 3 4 6 A 2 4 A F A F A 3 4 4 A 3 E 6 O A 2 E A

3 B A E 9 B B 9 0 0 B B 0 9 D O

A A B 1 B 9 B

9 9 B D A C D B D E B 9 0 B 0 A 0 9 B 9

B B

E 9 B

F

F

F F

F

F

B P B M L D J S L D B N J M L D B E B M D E

* F 9 F 7* F 9 8 8# * A 6* F 8 E 2* 9 * F 9 8 B* F E B C* 9 * F 9 E 0* F 9 D E* B

- B Y T E * 2 CI N L D S T C P B N T X B N L D B M C M B C S T B C T X E O S T L D B E D E B M L S R O L D J S J M L D B E L D B E L D B M J M L S L D S E S B A D A S T A J S I N L D

* B # * 0 0* 9 * D * F 9 F 7$ F 9 8 B* A * F 9 A C# * 1 0* F 9 A C$ 9 $ F 9 A C* 9 * 9 * B * F 9 D 2* A $ F 9 C 9* D $ B # $ D A$ F 8 E 2* F E B C$ 9 * F A 1 8* B * F A 1 F* A * F A 1 F* F 9 9 7* B # * 9 3* B * B

* F 8 E 2* 9 * B

A - 1 3 5

Page 280: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 280/304

F A 3 1F A 3 3F A 3 5F A 3 7F A 3 9F A 3 BF A 3 DF A 3 FF A 4 2F A 4 4F A 4 6F A 4 8F A 4 AF A 4 CF A 4 EF A 5 0F A 5 3F A 5 5F A 5 7F A 5 9F A 5 BF A 5 DF A 6 0F A 6 3F A 6 5F A 6 7F A 6 AF A 6 CF A 6 EF A 7 0F A 7 2F A 7 4F A 7 6F A 7 8F A 7 AF A 7 CF A 7 DF A 7 FF A 8 1F A B 4F A 8 6F A 8 8F A 8 AF A 8 DF A 8 FF A 9 1F A 9 3F A 9 5F A 9 7F A 9 9F A 9 BF A 9 CF A 9 EF A A OF A A 2

D 1 A 9 F O 2 68 5 A 8A 9 O O8 9 A 8 8 O 8 5 B 4A 5 9 68 B F 0 A O 8 5 B 4A 0 8 O A B 8 B A A 0 A 8 B 4 B 2 9 8 9 A D 2 E A B F 0 8 5 A 7A O 2 4 A A1 1 A B D O A B C D O A 0 2 1 D O 0 4A 0 8 A 4 B 7 3 D 1 A B D F A B D F A 5 A 74 A 5 B D3 0 9 1 1

B N L D B E S T L D S T L D D S T S T L D S T B E L D S T L D

D C S T AL D S T L D O R S T

F J M F J S

S T L D

F J S L D B E S T L D B I B P L D B N L D D E B N L D

F J S B N L D S T

F J M B V B N L D B N L D B N L D L S L D B M B C C L

$ F A 4 4$ 9 $ F A 5 DS A # $ O O$ 9 $ D C O D$ B $ 9 $ B $ F A 5 3# $ O O$ B # $ 0 1$ D C 0 D$ B $ B $ A $ A $ B $ F E B C$ F B 9 7$ 9 # $ D A$ F 8 E 2$ B $ F A 7 0$ A # $ 0 F$ A $ F A 8 D

$ F A 8 6$ B

$ F A 8 A# $ 0 8$ F E 1 C$ F A 8 A# $ 0 0$ A $ F E B C$ F A C 0$ F A A 9$ B $ F A 8 A$ B $ F A 8 A$ A

$ B $ F A A 3$ F A B A

r e t u r n - f r o m i n t e r r u p t

" L O N G B L O C K " e r r o rs e s t a t u s

r e t u r n - f r o m i n t e r r u p t

A - 1 3 6

Page 281: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 281/304

F A A 3F A A 5F A A 7F A A 9F A A BF A A DF A A FF A B 1F A B 4F A B 6F A B 8F A B AF A B CF A B EF A C OF A C 2F A C 4F A C 6F A C 9F A C BF A C EF A D 1F A D 3F A D 6F A D 8F A D 9F A D BF A D DF A D FF A E 1F A E 3F A E 5F A E 7F A E 9F A E BF A E DF A E FF A F 1F A F 3F A F 5F A F 7F A F 9F A F CF A F EF B O 1F B 0 2F B 0 3F B 0 5F B 0 8F B O AF B O CF B O EF B 1 OF B 1 3F B 1 5

B 2 8 C D A 8 2 A 8 F A 8 D A F A 2 A 4 2 9 4 A C F A F A A D F A 8 A F A E 9 A A 9 A 9 E E 8 4 A E F A D D A

1 O A A D 4 A 8 0 A D 8 A C B O 0 1 0 4 D 0 4 A 2 9 O 0 B A 0 0 B B 4 3 9 3 9 A 0 A 0

9 3 9 9 3 A 0 2 A

F

F F F

F

0

0

F

O

B C A N S T D E B N L D S T J S L D S T B E L D S T B N L D B E L D J S L D J M J S B C J M L D D E B E L D B E L D L D C M B E L D S T L D B E L D C P B C L D L D S T L D S T I N X \I N S T J M L D C P B E L D C M B N L D

$ F A B A# $ 0 F$ A $ A $ F A 8 A# $ 4 0$ A $ F B 8 E# $ 0 0S A $ F A 8 A# $ 8 0$ A $ F A 8 A$ B $ F A C E# $ O 4$ F E 1 C# $ 0 0$ F B 4 A$ F C D 1$ F A D 6$ F B 4 8$ A $ F B 0 8$ 9 $ F A E B# $ 0 0$ B ( $ A C ) , Y

$ F A E B# $ 0 1$ B $ B $ F B 3 A# $ 3 D$ 9 $ F B 3 3$ 9 $ A $ 0 1 0 1 , X$ A $ O 1 O O , X

$ 9 $ F B 3 A$ 9 $ 9 $ F B 4 3$ A $ 0 1 0 0 , X$ F B 4 3$ A

" S H O R T B L O C K " e r r o rs e s t a t u s

e r r o r - c o r r e c t i o n a

A - 1 3 7

Page 282: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 282/304

F B 1 7F B 1 AF B 1 CF B 1 EF B 2 0F B 2 2F B 2 4F B 2 6F B 2 8F B 2 AF B 2 CF B 2 DF B 2 FF B 3 1F B 3 3F B 3 5F B 3 8F B 3 AF B 3 CF B 3 EF B 3 FF B 4 1F B 4 3F B 4 6F B 4 BF B 4 AF B 4 CF B 4 DF B 4 FF B 5 2F B 5 5F B 5 7F B 5 8F B 5 AF B 5 CF B 5 EF B 6 OF B 6 2F B 6 4F B 6 6F B 6 8F B 6 BF B 6 EF B 7 0F B 7 2F B 7 4F B 7 6F B 7 8F B 7 BF B 7 EF B 8 0F B 8 2F B 8 4F B 8 6F B 8 8

D D E E A F A A D F C 8 A F A 2 D A D A A 9 2 D A 8 7 A 8 A A C 3 8 C F A D 8 F 2 2 A 8 B 4 8 2 2 9 A 4 F A 2

O 2 9 9 9 O B 0 A 1

B B O 1 1 0 9 0

B A D 4 B A

0 O O B

0 B A 0 9 2 B 2 9 8 O A A A A D D F A B 0 2 1

0

F

F

D D

F r

F F

F

C M B N I N I N L D B E L D L D C M B E

N S T L D B E L D J S B N L D B N T A L D S T J S B N L D S T S E L D S T L D L D D E B M S T D E B E L D B N S T B E J S J S L D S T L D E D S T J S J S B C L D E O B E L D J S

$ O 1 O 1 , X$ F B 4 3$ 9 $ 9 $ 9 $ F B 2 F$ B # $ 0 0< $ A C ) , Y

$ F B 4 3

$ B $ B $ F B 3 A# $ 1 0$ F E 1 C$ F B 4 3$ 9 $ F B 4 3

$ B < $ A C ) , Y

$ F C D B$ F B 8 Bf t f B O$ A

# $ 0 1$ D C O D$ D C O D$ B $ F B 5 C$ B $ A $ F B 6 8$ 9 $ F B 8 B$ B $ F B 8 B$ F C 9 3$ F B B E# $ 0 0$ A ( $ A C ) , \

$ A $ A $ F C D B$ F C D 1$ F B 7 2$ A $ B $ F B 8 B# $ 2 0$ F E 1 C

r e a d b y t ec o m p a r e w i t h m e m o r y c o n t e n t

" S E C O N D P A S S " e r r o rs e s t a t u s

v e r i - f y ?y e

r e a d b y t es a v ei n c r e m e n t a d d r e s s - p o i n t e r

d e c r e m e n tp a s s - c o u n t e r

o n p a s s e n d e da d d r e s s b a c k t p r o g r a m

s t a r t

c a l c u l a t e p r o g r a m c h e c k — s u m

i n c r e m e n t a d d r e s s — p o i n t e re n d - a d d r e s s r e a c h e d y e t ?n o c o n t i n u e c o m p a r i s o nc a l c u l a t e d c h e c k — s u mc o m p a r e w i t h t a p e s c h e c k s u mc h e c k — s u m o k " C H E C K S U M " e r r o rs e s t a t u s

A - 1 3 8

Page 283: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 283/304

F B 8 B 4 B C F E J M $ F E B C r e s u m - F r o m i n t e r r u p tF B 8 E A C L D $ C F B 9 0 8 5 A D S T A $ A DF B 9 2 A C L D $ C F B 9 4 8 5 A C S T A $ A CF B 9 6 6 O R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * S e b i t - c o u n t e r - f o r s e r i a lF B 9 7 A 0 L D A # $ 0 8 o u t - p u tF B 9 9 8 A S T A $ A 3 b i t sF B 9 B A 9 0 0 L D A # $ 0 0F B 9 D 8 5 A 4 S T A $ A 4F B 9 F 8 5 A 8 S T A $ A 8F B A 1 8 5 9 B S T A $ 9 BF B A 3 8 5 A 9 S T A $ A 9F B A 5 6 0 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * W r i t e o n b i t o n t a p eF B A 6 A 5 B D L D A $ B b i i $ B F B A 8 4 L S b i i c a r r yF B A 9 A 9 6 0 L D A # $ 6 0 t i m e f o " 1 b i F B A B 9 0 0 2 B C C $ F B A FF B A D A 9 B O L D A # $ B 0 t i m e f o r " O " b i tF B A F A 0 L D # $ O OF B B 1 8 D 0 6 D S T $ D C 0 6 t i m e r l o F B B 4 8 E 0 D S T $ D C 0 7 t i m e r h i g hF B B 7 A D O D D L D $ D C O D c l e a r i n t e r r u p t - f l a gF B B A A 1 L D # $ 1 9F B B C 8 D O F D C S T A $ D C O F s t a r t t i m e rF B B F A 5 0 L D $ 0 F B C 1 4 9 0 8 E O R # $ 0 8 i n v e r t o u t p u t b i f o t a p eF B C 3 8 0 S T $ 0 F B C 5 2 9 0 8 A N D # $ 0 8F B C 7 6 R T F B C B 3 S E F B C 9 6 B 6 R O R $ B F B C B 3 0 3 B M $ F C 0 9* * * * * * * * * * * * * * * * * * * * * * * * * * * * * W r i t e i n t e r r u p t r o u t i n e f o F B C D A 5 A 8 L D A $ A 8F B C F D 1 B N $ F B E 3F B D 1 A 1 L D A # $ 1 0F B D 3 A 0 L D # $ 0 1F B D 5 2 B F J S $ F B B 1 w r i t e c y c l e o t a p eF B D 8 D O 2 F B N E $ F C 0 9F B D A E 6 A 8 I N $ A F B D C A 5 B 6 L D A $ B 6F B D E 1 2 B P L $ F C 0 9F B E O 4 5 F J M P $ F C 5 7 w r i t e s e c o n d b l o c kF B E 3 A 5 A 9 L D $ A F B E 5 D 0 B N $ F B F OF B E 7 2 0 A D F J S $ F B A D w r i t e " O " - b i tF B E A D I B N $ F C 0 9F B E C E 6 A 9 I N $ A F B E E D 1 B N E $ F C 0 9

A - 1 3 9

Page 284: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 284/304

F B F OF B F 3F B F 5F B F 7F B F 9F B F BF B F DF B F FF C O 1F C 0 3F C 0 5F C 0 7F C 0 9F C O CF C O EF C 1 OF C 1 2F C 1 4F C 1 6F C 1 9F C 1 AF C 1 CF C 1 EF C 2 0F C 2 2F C 2 4F C 2 6F C 2 8F C 2 AF C 2 CF C 2 EF C 3 0F C 3 3F C 3 5F C 3 7F C 3 9F C 3 BF C 3 DF C 3 FF C 4 1F C 4 3F C 4 5F C 4 7F C 4 9F C 4 CF C 4 EF C 5 0F C 5 2F C 5 4F C 5 7F C 5 9F C 5 BF C 5 E

2 D A 4 8 F A 4 8 2 4 8 4 4 C A F 1 2 5 A F A 8 C A E D 0 8 D 2 9 D E A 8 B A B 8 4 8 2 D A 4 8 4 C D 2 A

A 1

A 0 A O B 0 B 0 9 9 B B A A 3 F 9

A 1 0 D A B 0 0 8 B D D O 9 A D B C 0 A B D D D B 9 O B B B 0 C 5

F

F

F

F

F

F

F

J S B N L D E O S T B E L D E O S T A N E O S T J M L S D E L D B E B P J S C L L D B E L D S T D E L D C P B N O R S T B N J S B C B N I N L D S T B C L D L D S T E O S T J S B N L D E O S T J M D E B N J S L D

$ F B A 6$ F C 0 9$ A # $ 0 1$ A $ F C O C$ B # $ O 1$ B # $ 0 1$ 9 $ 9 $ F E B C$ B $ A $ A $ F C 4 E$ F C O 9$ F B 9 7$ A $ F C 3 0# $ 0 0$ D $ A $ B # $ O 2$ F C 2 C# $ 8 0$ B $ F C 0 9$ F C D 1$ F C 3 F$ F B C 8$ A $ D $ B $ F C 0 9# $ 0 0( $ A C ) , Y

$ B $ D $ D $ F C D B$ F C 0 9$ 9 # $ 0 1$ B $ F E B C$ B $ F C 5 E$ F C C A# $ 5 0

w r i t e b i o t a p e

i n v e r t b i t f o o u t p u t

r e t u r n - f r o m i n t e r r u p tn e x t b i t i p o s i t i o nd e c r e m e n t b i t - c o u n t e r

o u t — p u t n e x t b i s e b i t - c o u n t e r b a c k t

e n d — a d d r e s s r e a c h e d y e t ?

b y t e t b e w r i t t e n

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

r e t u r n - f r o m i n t e r r u p td e c r e m e n t c o u n t e r - f o r b l o c k s

a n o t h e r b l o c k ?n o t a p e — d r i v e o f

A - 1 4 0

Page 285: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 285/304

F C 6 0 8 A S T * A F C 6 2 A O L D # * 0 8F C 6 4 7 S E F C 6 5 2 0 B F C J S R * F C B DF C 6 8 D O E B N E * F C 5 4

F C 6 AF C 6 CF C 6 FF C 7 1F C 7 3F C 7 5F C 7 BF C 7 AF C 7 CF C 7 EF C 8 1F C 8 2F C 8 4F C 8 6F C 8 8F C 8 BF C 8 DF C 8 FF C 9 1F C 9 3F C 9 4F C 9 5F C 9 BF C 9 AF C 9 DF C A OF C A 2F C A 5F C A 8F C A BF C A DF C B OF C B 3F C B 6F C B 7

A 2 D C D 2 C 1

A 2 5 E A F 2 A 8 8 D 0 7 A 0 8 2 A B 2 A F 8 A 8 2 6

7 A E A D 9 A D O B

A B 3 8 0 A B 8

1 1 1

C 7 O D A 0 1 9 1

F

F

F

F

D

D F

D F 0

0 0 0

L D J S B N D E B N J S D E B P L D J S C L I N L D B E J S L D S T S T B N P H S E L D O R S T J S L D S T J S L D B E S T L D S T P L R T

# * 7 8* F B A F$ F C 5 4$ A $ F C 5 4* F B 9 7S A $ F C 5 4# * 0 A* F C B D$ A * B * F C B 8* F B 8 E# * 0 9* A $ B * F C 1 6

* D O l i# * 1 0* D 0 1 1* F C C A# * 7 F* D C O D* F D D D$ 0 2 A 0* F C B 6$ 0 3 1 5* 0 2 9 F* 0 3 1 4

I R o $ F C 6 Ar e t u r n - f r o m i n t e r r u p t

W r i t e t a p e i n t e r r u p t r o u t i n ew r i t e b i o t a p e

r e t u r n - f r o m i n t e r r u p ts e b i t - c o u n t e r - F o r - s e r i a l

o u t — p u t

I R o * F B C D

s e a d d r e s s b a c k t s t a r t

F C B 8 2 9 F J S R * F C 9 3F C B B F 9 B E Q * F C 5 4

B 9 F D L D A * F D 9 3 , X1 0 S T A * 0 3 1 4

F C B DF C C OF C C 3F C C 6F C C 9

8 B D 9 4 F D L D A $ F D 9 4 , X

t u r n s c r e e n b a c k o

t u r n o - f - f t a p e d r i v e

C I b a c k t s t a n d a r d v a l u e s

I R Q o n s t a n d a r d

S e I R v e c t o rI R Q o n s t a n d a r d

s e I R v e c t o r - f r o m t a b l e8 6

1 O 3 S T A $ 0 3 1 5R T

F C C A A 0 L D $ 0 F C C C 0 9 2 0 O R A # * 2 0F C C E 8 0 S T * 0

s w i t c h o f t a p e d r i v e

A - 1 4 1

Page 286: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 286/304

F C D 1F C D 2F C D 4F C D 6F C D 8F C D A

3 A E A E 6

A A A A

S E L D S B L D S B R T

$ A $ A $ A * A

F C D O 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C h e c k s o r e a c h i n g t h e n d -a d d r e s s

c u r r e n t a d d r e s s * A C / * A De n a d d r e s s * A E / * A F

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * I n c r e m e n t a d d r e s s p o i n t e rF C D B E 6 A C I N * A F C D D D O O 2 B N $ F C E 1F C D F E A I N * A F C E 1 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * R E S E TF C E 2 A 2 F F L D # * F FF C E 4 7 S E F C E 5 9 T X F C E 7 2 0 0 2 F D J S R * F D 0 2 c h e c k s o R O i * 8 0 0 0F C E A D 0 B N * F C E FF C E C 6 C 0 0 8 0 J M P ( $ 8 0 0 0 ) j u m p t o m o d u l e s t a r tF C E F 8 1 D O S T X * D 0 1 6F C F 2 2 A F D J S R * F D A 3F C F 5 2 0 5 0 F D J S R $ F D 5 0F C F 8 2 1 F D J S R $ F D 1 5F C F B 2 5 F J S $ F F 5 BF C F E 5 8 C L F C F F 6 C 0 0 A O J M P < * A 0 0 0 > t B A S I C c o l d - s t a r t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * C h e c k s o R O i $ 8 0 0 0F D 0 2 A 2 O 5 L D # * 0 5F D 0 4 B D O F F D L D A $ F D O F , XF D 0 7 D D 0 3 8 C M P $ 8 0 0 3 , c o m p a r e s t " C B M 8 0 1 1F D O A D 0 3 B N E * F D O FF D O C C D E F D O D D O F 5 B N E $ F D O 4F D O F 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * R O M m o d u l e i d e n t i v i c a t i o nF D 1 0 C C C D 3 8 3 0 " C B M 8 O "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * S e t / g e t h a r d w a r e a n I / F D 1 5 A 2 3 O L D # $ 3 0 v e c t o r sF D 1 7 A O F D L D # $ F D p o i n t e r t o t a b l e $ F D 3 0F D 1 9 1 C L F D 1 A 8 6 C 3 S T * C F D 1 C 8 C S T Y $ C 4F D 1 E A I L D # * 1 FF D 2 0 B 1 0 3 L D A $ 0 3 1 4 , YF D 2 3 B O B C * F D 2 7 c = t h e n g e t v e c t o r s , C = F D 2 5 B C L D ( * C 3 ) , YF D 2 7 9 C 3 S T A < * C 3 > , Y

A - 1 4 2

Page 287: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 287/304

F D 2 9 9 1 0 S T A $ O 3 1 4 , YF D 2 C 8 8 D E YF D 2 D 1 F B P $ F D 2 OF D 2 F 6 R T

F D 3 0 3 E A 6 6 F E 4 F E 4 A F 3F D 3 8 9 F O E F 2 5 F 3 F F D 4 O 5 F C F E D F 6 3 E F F D 4 8 2 F F 3 6 6 F E A 5 F 4 E D F 5

T a b l e h a r d w a r e I / v e c t o r s

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * I n i t i a l i z e w o r k m e m o r y

z e r o p a g ec l e a r p a g ea n p a g e 3

t a p e - b u f f e r p o i n t e r o n $ 0 3 3 C

c h e c k R A M f r o m $ 4 0 0

7 . 0 1 0 1 0 1 0 1

7 . 1 0 1 0 1 0 1 0

F D 5 0F D 5 2F D 5 3F D 5 6F D 5 9F D 5 CF D 5 DF D 5 FF D 6 1F D 6 3F D 6 5F D 6 7F D 6 BF D 6 AF D 6 CF D 6 EF D 7 0F D 7 1F D 7 3F D 7 5F D 7 7F D 7 9F D 7 AF D 7 CF D 7 EF D 8 OF D 8 1F D 8 3F D 8 4F D 8 6F D 8 8F D 8 9F D 8 AF D 8 CF D 8 DF D 9 0F D 9 2F D 9 5F D 9 7F D 9 A

A A 9 9 9 C D A A 8 B A A 8 E B A A 9 D D 2 9 D D 8 9 C D F 9 A A 1

2 A 8 A 8 6

0

0 0 0

F 3 0 B B

0 C C C

5 C C O

G C 0

C

E E

C

2 0 8 0 8

0 0 0

F

0 0

L D T A S T S T S T

N B N L D L D S T S T T A L D S T I N L D T A L D S T C M B N R O S T C M B N T X S T

N B N B E T Y T A L D C L J S L D S T L D S T R T

# $ 0 0

$ 0 0 0 2$ 0 2 0 0$ 0 3 0 0$ F D 5 3# $ 3 C# $ 0 3$ B $ B

J * $ 0 3$ C $ C < $ C 1 >

# $ 5 5< $ C 1 >< $ C 1 )

$ F D B 8

< $ C 1 )< $ C 1 )

$ F D 8 8

( $ C i >

$ F D 6 E$ F D 6 C

$ C

$ F E 2 D# $ O 8$ 0 2 8 2# $ 0 4$ 0 2 8 8

, , ,

,

, ,

, ,

,

s e m e m o r y ( R A M ) t o

B A S I C s t a r t o $ 8 0 0V i d e o - R A M o $ 4 0 0

F D 9 B 6 A F C C D F B 3 E 2 F I R v e c t o r s

$ F C 6 A , $ F B C D , $ E A 3 1 , $ F 9 2 C

A - 1 4 3

Page 288: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 288/304

Page 289: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 289/304

F E 1 7 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F E i S 8 9 S T A $ 9 D* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F E i A A 5 9 L D A $ 9 0* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F E 1 C 0 5 9 O R $ 9 F E 1 E 8 9 S T $ 9 F E 2 0 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F E 2 1 8 8 5 0 2 S T $ 0 2 8 5F E 2 4 6 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F E 2 5 9 0 B C C $ F E 2 DF E 2 7 A E 8 3 0 2 L D $ 0 2 8 3F E 2 A A 8 0 L D Y $ 0 2 8 4F E 2 D 8 E 8 3 0 2 S T X $ 0 2 8 3F E 3 0 B 8 0 S T $ 0 2 8 4F E 3 3 6 0 R T * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F E 3 4 9 0 0 6 B C C $ F E 3 CF E 3 6 A 8 0 2 L D X $ 0 2 8 1F E 3 9F E 3 CF E 3 FF E 4 2* * * * *F E 4 3F E 4 4F E 4 7F E 4 8F E 4 9F E 4 AF E 4 BF E 4 CF E 4 EF E 5 1F E 5 4F E 5 6F E 5 9F E 5 BF E 5 EF E 6 1F E 6 4F E 6 &F E 6 9F E 6 C

A 8 8 6

• * * * 47 6 4 8 4 9 4 A 8 A 3 2 D 6 2 2 D 2 2 2

8 8 8

1

7 O O 1 0 0 0 B E O 1 A 1

0 O 0

t * * - i

0

D D

F

8 F F F F E

L D S T S T R T

* • * * * ■ *S E J M P H T X P H T Y P H L D S T L D B M J S B N J M J S J S B N J S J S J S

$ 0 2 8 2$ 0 2 8 1$ 0 2 8 2

* ■ * * * * * * • #

( $ 0 3 1 8 )

# $ 7 F$ D D O D$ D D O D$ F E 7 2$ F D 0 2$ F E 5 E( $ 8 0 0 2 )

$ F 6 B C$ F F E 1$ F E 7 2$ F D 1 5$ F D A 3$ E 5 1 8

S e o p e r a t i n g s y s t e m m e s s a g e s

G e s t a t u s

S e s t a t u s

S e t i m e - o u t - f l a g f o E

M E M T O P g e t / s e t e n o - B A S I C -R A

c a r r y i s e g e a d d r e s s t X / c a r r y c l e a rs e t X / Y t o a d d r e s s

M E M B O T g e t / s e t b o t t o m o B A S I C - R A M

s . a .

N M I - i n t e r r u p tJ M $ F E 4 7

s a v e r e g i s t e r

R S - 2 3 2 a c t i v ec h e c k s o R O i $ 8 0 0 0n o t h e n c o n t i n u ey e s , j u m p t m o d u l e - N M Is e - f l a g f o S T O P - k e ys c a n s t o p k e yn o p r e s s e ds e s t a n d a r d I / v e c t o r si n i t i a l i z e I / i n i t i a l i z e I / O & c l e a r s c r e e nt B A S I C w a r m - s t a r t

A - 1 4 5

Page 290: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 290/304

F E 6 FF E 7 2F E 7 3F E 7 6F E 7 7F E 7 9F E 7 BF E 7 EF E 8 0F E 8 2F E 8 5F E 8 8F E 8 BF E 8 CF E 8 EF E 9 0F E 9 2F E 9 4F E 9 7F E 9 AF E 9 DF E A OF E A 3F E A 4F E A 6F E A 8F E A BF E A EF E A FF E B 1F E B 3F E B 6F E B 9F E B CF E B DF E B EF E B FF E C OF E C 1

6 9 2 A 2 F A 2 0 8 A 8 8 2 F 2 F 2 4 2 2 4 8 2 F 2 4 8 2 F 2 A 8 6 A 6 A 6 4

0 A A O 0 2 O D F B 0 D A 0 O D 1 O O 0 D 6 F E9 D F EO 7 F FB B E EB F

0 0 D 6 F EB 6 F E

1 0 0 7 F FA 0 O D

J M T Y A N T A A N B E L D A N O R S T L D S T T X A N B E A N B E J S J M J S J S J M T X A N B E J S J M T X A N B E J S L D S T P L T A P L T A P L R T

< $ A O O 2 >

$ O 2 A 1

# $ 0 1$ F E A 3$ D D O O# $ F B$ B $ D D O O$ 0 A $ D D O D# $ 1 2$ F E 9 D# $ 0 2$ F E 9 A$ F E D 6$ F E 9 D$ F F 0 7$ E E B B$ F E B 6

# $ O 2$ F E A E$ F E D 6$ F E B 6

# $ 1 O$ F E B 6$ F F 0 7$ O 2 A 1$ D D O D

R S - 2 3 2

R S - 2 3 2R S - 2 3 2r e t u r n

R S - 2 3 2r e t u r n

R S - 2 3 2

i

o u o u t p u t• f r o m i n t e r r u p t

i - F r o m i n t e r r u p t

o u

g e b a c k r e g i s t e r

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * B a u d - r a t e t i m e rF E C 2F E C 4F E C 6F E C 8F E C AF E C CF E C EF E D OF E D 2F E D 4

C 3 C 7 E 4 F 4 B 7

2 1 1 O O O 0 0 O 0

$ 2 7 C 1$ 1 A 3 A$ 1 1 C 5$ O E 7 4$ O C E D$ 0 6 4 5$ O 2 F O$ 0 1 4 6$ 0 0 B 8$ 0 0 7 1

2 9 3 7 76 7 1 84 5 4 93 7 0 03 3 0 91 6 0 57 5 3 2

= 1 8 41 1

c o n s t a n t s5 7

1 1 1 3 4 . 5

1 5 3 0 6 0

1 2 0 01 8 0 02 4 0 0

b a u db a u db a u db a u db a u db a u db a u d

a u b a u db a u d

F E D 6 A 0 D L D $ D D 0 1F E D 9 2 0 A N # $ 0 1F E D B 8 5 A 7 S T A $ A

N M I - r o u t i n e t o R S - 2 3 2 i n p u t

A - 1 4 6

Page 291: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 291/304

F E D DF E E OF E E 2F E E SF E E 8F E E SF E E EF E F 1F E F 3F E F 6F E F 9F E F CF E F EF F O 1F F 0 4

A E 6 8 A 6 8 A 8 A 8 A 8 8 4

0 1 9 0 0 9 0 1 O A O F 0 0 5

D

O D D O D D 0 D D D E

L D S B A D S T L D A D S T L D S T L D S T L D S T S T J M

$ D D 0 6# $ 1 C$ 0 2 9 93 D D O 6$ D D O 7$ 0 2 9 A$ D D 0 7# $ 1 1$ D D O F$ O 2 A 1$ D D O D# $ F F$ D D O 6$ D D 0 7$ E F 5 9

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F F 0 7F F O AF F O DF F 1 OF F 1 3F F 1 5F F 1 SF F i AF F 1 DF F 2 0F F 2 2F F 2 5F F 2 8F F 2 BF F 2 D

A 8 A 8 A 8 A 4 8 A 8 8 A 8 6

9 0 9 0 1 O 1 A A F 0 0 9 A

0 D 0 D

D 0 0

D D 0

L D S T L D S T L D S T L D E O S T L D S T S T L D S T R T

$ 0 2 9 5$ D D 0 6$ 0 2 9 6$ D D 0 7# $ 1 1$ D D O F# $ 1 2$ 0 A $ O 2 A 1# $ F F$ D D 0 6* D D 0 7* 0 2 9 8$ A

R S - 2 3 2 t i m e r b a u d c o n s t a n t s

N M I - r o u t i n e - F o r R S 2 3 2 o u t p u t

R S - 2 3 2 t i m e r b a u d c o n s t a n t s

n u m b e r o - b i t s t b s e n t

R S - 2 3 2 t i m i n g

F F 2 E A T A F F 2 F A D 9 6 0 2 L D A $ 0 2 9 6F F 3 2 2 R O F F 3 3 A T A F F 3 4 8 A T X F F 3 5 6 C A D C # * C 8F F 3 7 8 9 0 S T A $ 0 2 9 9F F 3 A 9 T Y F F 3 B 6 0 A D # $ 0 0F F 3 D 8 9 0 S T A $ 0 2 9 AF F 4 0 6 0 R T SF F 4 1 E A N O PF F 4 2 E A N O P

» * * * * * ♦ * * ♦ * * ♦ * ♦ ♦ * * * * * ♦ ♦ * * * * * * I n t e r r u p t - f r o m t a p e - r o u t i n eF F 4 3 0 8 P H PF F 4 4 6 P L F F 4 5 2 E A N D # $ E F c l e a r b r e a k - f l a gF F 4 7 4 P H

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * I R Q - i n t e r r u p t

A - 1 4 7

Page 292: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 292/304

F F 4 8F F 4 9F F 4 AF F 4 BF F 4 CF F 4 DF F 4 EF F 5 1F F 5 3F F 5 5F F 5 8

4 8 4 9 4 B B 2 F 6 6

O 1 O 1 1

* * * * * * * * * * * *F F 5 BF F 5 EF F 6 1F F 6 3F F 6 6F F 6 8F F 6 B

2 A D A 2 8 4

1 1 F 1 0 A D

O

0 O

* * * <E D

D 0 F

P H T X P H T Y P H T S L D A N B E J M J M

$ O 1 O 4 , X# $ 1 0$ F F 5 B( $ 0 3 1 6 )( $ 0 3 1 4 )

* * * * * * * * * * * * * * *J S L D B N L D A N S T J M

$ E 5 1 8$ D 0 1 2$ F F 5 E$ D 0 1 9# $ 0 1$ 0 2 A 6$ F D D D

s a v e r e g i s t e r

g e b r e a k — f l a g - f r o m s t a c ka n c h e c kn o s e B R E A K - r o u t i n ei n t e r r u p t - r o u t i n e

i n i t i a l i z e v i d e o - c o n t r o l l e r

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F F 6 E A 8 L D # $ 8 1F F 7 0 8 O D S T A $ D C O DF F 7 3 A D O E D C L D A $ D C O EF F 7 6 2 9 8 0 A N D # $ 8 0F F 7 8 0 1 O R # $ 1 1F F 7 A 8 D O E D C S T A $ D C O EF F 7 D 4 C 8 E E E J M P $ E E 8 EF F 8 0 O O B R K* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F F 8 1 4 C 5 B F J M $ F F 5 BF F 8 4 4 A 3 F D J M P $ F D A 3F F 8 7 4 C 5 0 F D J M $ F D 5 0F F 8 A 4 1 F D J M P $ F D 1 5F F 8 D 4 1 F J M $ F D 1 AF F 9 O 4 1 F E J M P $ F E 1 8F F 9 3 4 C B 9 E D J M P $ E D B 9F F 9 6 4 C C E J M $ E D C 7F F 9 9 4 2 5 F E J M P $ F E 2 5F F 9 C 4 3 F E J M P $ F E 3 4F F 9 F 4 8 E A J M P $ E A 8 7F F A 2 4 2 F J M P $ F E 2 1F F A 5 4 1 E J M $ E E 1 3F F A 8 4 C D D E D J M P $ E D D DF F A B 4 C E F E D J M P $ E D E FF F A E 4 F E D J M P $ E D F EF F B 1 4 C O C E D J M P $ E D O CF F B 4 4 0 E D J M P $ E D 0 9F F B 7 4 0 F J M $ F E 0 7F F B A 4 C 0 F E J M P $ F E O OF F B D 4 F F D J M P $ F D F 9F F C O 6 1 0 3 J M P ( $ 0 3 1 A )F F C 3 6 i O J M ( $ 0 3 1 0

J u m p - t a b l e - f o r o p e r a t i n g -s y s t e m r o u t i n e s

i n i t i a l i z e C I A sc l e a r o c h e c k R A Mi n i t i a l i z e I / i n i t i a l i z e I / v e c t o r ss e s t a t u ss e n d L I S T E N s e c o n d a r y a d r s .s e n d T A L K s e c o n d a r y a d d r e s ss e t / g e t R A M - e n ds e t / g e t R A M - s t a r ts c a n k e y b o a r ds e E C - b u s t i m e - o u t - f l a gi n p u t - f r o m E C - b u s ,o u t p u t t I E C - b u ss e n d U N T A L Ks e n d U N L I S T E Ns e n d L I S T E Ns e n d T A L Kg e t . s t a t u ss e - f i l e p a r a m e t e r -s e f i l e n a m e p a r a m e t e r$ F 3 4 A O P E N$ F 2 9 1 C L O S E

A - 1 4 8

Page 293: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 293/304

F F C 6 6 I O J M < * O 3 1 E )F F C 9 6 C 2 0 0 J M < * O 3 2 O >F F C C 6 2 O J M ( $ 0 3 2 2 )F F C F 6 C 2 4 0 3 J M P ( $ 0 3 2 4 )F F D 2 6 2 0 . J M < * 0 3 2 6 >F F D 5 4 C 9 E F 4 J M P * F 4 9 EF F D 8 4 C D D F J M $ F 5 D DF F D B 4 E F 6 J M P $ F 6 E 4F F D E 4 C D D F 6 J M P * F 6 D DF F E 1 6 2 0 J M ( $ 0 3 2 8 )F F E 4 6 C 2 A O J M < * 0 3 2 A >F F E 7 6 2 O J M < * O 3 2 C >F F E A 4 C 9 B F 6 J M P * F 6 9 BF F E D 4 0 E J M S E 5 0 5F F F O 4 O E 5 J M P * E 5 0 AF F F 3 4 O E J M * E 5 0 0F F F 6 5 5 2 4 2 5 9

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *F F F A 4 F * F E 4 3F F F C E 2 F C * F C E 2F F F E 4 8 F F $ F F 4 8

* F 2 0 E C H K I N s e i n p u t d e v i c e* F 2 5 0 C K O U T s e o u t p u t d e v i c e* F 3 3 3 C L R C H$ F 1 5 7 B A S I N i n p u t c h a r a c t e r$ F 1 C A B S O U T o u t p u t c h a r a c t e rL O A DS A V Es e t i m eg e t t i m e$ F 6 E D s c a n S T O P - k e y* F 1 3 E G E $ F 3 2 F C L A L Li n c r e a s e t i m eS C R E E N g e l i n e s c o l u m n ss e t / g e t c u r s o r p o s i t i o ng e s t a r t o I / e l e m e n t

H a r d w a r e v e c t o r sN M I — v e c t o rR E S E T - v e c t o rI R Q - v e c t o r

A - 1 4 9

Page 294: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 294/304

Page 295: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 295/304

A P P E N D I XS h o r t I n t r o d u c t i o n t H e x a d e c i m a l A r i t h m e t i c

C o m p u t e r s r e p r e s e n t d a t a i b i n a r y f o r m a t . I t h b i n a r yn u m b e r s y s t e m , d i g i t m a t a k e o v a l u e o e i t h e r o 1 E a c h d i g i t p o s i t i o n i t h b i n a r y n u m b e r s y s t e m h a v a l u et h a t i p o w e r o 2 j u s t a e a c h d i g i t p o s i t i o n i t h d e c i m a l n u m b e r s y s t e m h a v a l u e t h a t i p o w e r o 1 0

B I N A R Y N U M B E R S Y S T E MP o w e r o V a l u e 1 2 6 4 3 2 1

D E C I M A L N U M B E R S Y S T E MP o w e rV a l u e

o 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1

I y o w a n t t r e p r e s e n t t h d e c i m a l n u m b e r 1 i t h b i n a r yn u m b e r s y s t e m , y o w o u l d u s t h s t r i n g o b i n a r y d i q i t s1 0 0 0 1 w h i c h s t a n d s f o r :

2 1 1

2 2 2 1 X 2 °

R e p r e s e n t i n g n u m b e r s a s t r i n g o b i n a r y d i g i t s ( c o m m o n l yc a l l e d " b i t s " ) w o u l d l o o k a s h o w n :

D e c i m a l

1 1 1

B i n a r y

1 1

1 0 1 0 1 1 1 1

1 0 0 01 0 0 11 0 1 01 0 1 11 1 0 0

D e c i m a l1 1 1 1 1 1 1 2 2 2 2 2 2

B i n a r y1 1 0 11 1 1 01 1 1 1

1 0 0 0 01 0 0 0 11 0 0 1 01 0 0 1 11 0 1 0 01 0 1 0 11 0 1 1 01 0 1 1 11 1 0 0 01 1 0 0 1

E i g h t b i t s ( r e m e m b e r b i n a r y d i g i t s ) i c a l l e d b y t e .b y t e i t h s m a l l e s t a c c e s s i b l e u n i t o d a t a i t h C o m m o d o r e 6 4 E i g h t b i t s i c a p a b l e o r e p r e s e n t i n g v a l u ee q u i v a l e n t t d e c i m a l 2 5 5 .

B -

Page 296: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 296/304

s t r i n g o e i g h t b i t s h o w e v e r , i n o v e r y e a s y t r e a d o w r i t e . B e c a u s e t h e y a r a w k w a r d t i n t e r p r e t , b i t s a r o f t e nr e p r e s e n t e d i t h h e x a d e c i m a l n u m b e r i n g s y s t e m ( b a s e 1 6 ) .E a c h h e x a d e c i m a l d i g i t s s t a n d s f o r f o u r b i t s .H e x a d e c i m a l n o t a t i o n u s e s 1 s y m b o l s t r e p r e s e n t t h 1 d i f f e r e n t v a l u e s . T h e s e s y m b o l s a r t h n u m e r a l s t h r ua n t h l e t t e r A t h r u F B e l o w i a e q u i v a l e n c y c h a r t :

: i m a l

1 1 1 1 1 1

B I N A R Y

1 1

1 0 1 0 1 1 1 1

1 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

H E X A D E C I M A L

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

1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 ( b i n a r y n u m b e r )0 0 1 0 / 1 0 0 1 / 1 0 1 0 / 1 1 0 1 / 0 1 1 0 ( 4 - b i t g r o u p s )( h e x a d e c i m a l n u m b e r )

B -

Page 297: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 297/304

A P P E N D I XS u m m a r y o t h C o m m o d o r e 6

W h a t a r e t h e f e a t u r e s o t h C o m m o d o r e 6 t h a t o t h e rc o m p u t e r s d o n ' t o f f e r ? W h a t m a k e s i t c a p a b i l i t i e s s d i f f e r e n t f r o m t h o t h e r s ? . W e ' l l a t t e m p t t s u m m a r i z e a t h i s t i m e .

T h C o m m o d o r e 6 i f a f r o m b e i n g g a m e o n l y m a c h i n e . I h a a m b i t i o n s t h a t a r e f a b e y o n d t h o s e c o m p u t e r s t h a t o f f e rc o l o r f g r a p h i c s , a n s o u n d . I c a b c o m p u t e r f o c o m m e r c i a l u s a w e l l . W i t h i t g r a p h i c s c a p a b i l i t i e s , y o c a n g e t r e s u l t s t h a t w e r e f o r m e r l y a v a i l a b l e o n l y o m u c hl a r g e r a n m o r e e x p e n s i v e c o m p u t e r s . Y e e v e n t h m i c r o s o t o d a y w i l l h a v e h a r d t i m e c o m p e t i n g a g a i n s t t h C o m m o d o r e .T h r o u g h t h e u s e o B A S I C 2 i t i s s u i t a b l e f o m o s ta p p l i c a t i o n s . T h b e g i n n e r w i l l b a b l e t u s i j u s t a w e l l a t h e x p e r i e n c e d p r o g r a m m e r . S i n c e i c a b p r o g r a m m e d i a s s e m b l e r , t h e r e a r e x c e l l e n t p o s s i b i l i t i e sf o e x p a n s i o n w i t h t h s e v e r a l a s s e m b l e r s a l r e a d y o t h m a r k e t .B e s i d e s B A S I C a n a s s e m b l e r , t h e r e a r o t h e r l a n g u a g e s s u c ha P I L O T , P A S C A L , L O G O , a n d F O R T H c u r r e n t l y a v a i l a b l e . I a d d i t i o n , Z - 8 0 c a r d i a v a i l a b l e t h a t m a k e s i p o s s i b l e t u s e t h e C P / M o p e r a t i n g s y s t e m . C P / M i t h w o r l d ' s m o s tp o p u l a r a o p e r a t i n g s y s t e m a n o p e n s n e l e v e l o p r o g r a m m i n g a n s o f t w a r e a p p l i c a t i o n s t o t h e C o m m o d o r e 6 u s e r . . T h i s Z ^ 8 0 c a r d , f o w h i c h t h C o m m o d o r e 6 a l r e a d yh a b u i l t - i n s l o t , c o n t a i n s , a s i t s n a m e a l r e a d y i m p l i e s ,

Z - 8 0 p r o c e s s o r . I w a t c o m p l e m e n t t h i s p r o c e s s o r t h a tt h e 6 5 1 0 w a d e v e l o p e d .I a d d i t i o n t t h i s c a r d , t h e r e a r e 8 0 - c o l u m n c a r d s w h i c he n a b l e t h C o m m o d o r e 6 t d i s p l a y 8 c h a r a c t e r l i n e s . T h i sc a r d i v e r y u s e f u l f o w o r d p r o c e s s i n g .O b v i o u s l y y o w o n ' t b l e f t w i t h o u t s u p p o r t f o y o u rC o m m o d o r e 6 4 E v e r y d a t h e r e a r n e d e v e l o p m e n t s . O t h e r sr e c e e n t l y a n n o u n c e d i n c l u d e g r a p h i c s t a b l e t s , s k e t c h p a d ss u c h a t h K O A L A P a d , a n v o i c e s y n t h e s i z e r s . S o f t w a r es u p p o r t i a l s o r a p i d l y e x p a n d i n g t f i l l t h v o i d f e l te a r l i e r .

S i n c e t h C o m m o d o r e 6 h a t h a b i l i t y t u s o t h e rC o m m o d o r e m a c h i n e ' s s o f t w a r e , y o u h a v e w i d e v a r i e t y o s o f t w a r e a v a i l a b l e . C o n s i d e r i n g i t c a p a b i l i t i e s , t h C o m m o d o r e 6 i s u p e r i o r t o t h e r C B M / P E T c o m p u t e r s a n d t h eV I C - 2 0 w h i l e b e i n g o n e o f t h e l e a s t e x p e n s i v e o t h m a r k e t .B A S I C f o t h C o m m o d o r e 6 i s a m e n t i o n e d b e f o r e , B A S I C 2

C -

Page 298: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 298/304

T h i s B A S I C i v e r s i o n d e v e l o p e d b M i c r o s o f t f o C o m m o d o r e . I i n o o n l y v e r y c a p a b l e , b u a l s o v e r y e a s yt l e a r n . T h p r o f e s s i o n a l w i l l l i k e t h e f i r s t p o i n t ? t h eb e g i n n e r w i l l a p p r e c i a t e t h s e c o n d .T h e r e a r s o m e a d v a n t a g e s t C o m m o d o r e B A S I C c o m p a r e d t o t h e r v e r s i o n s . F o o n e t h i n g , e d i t i n g p r o g r a m s i v e r yf a s t a n e f f i c i e n t . I o r d e r t c h a n g e l i n e , y o s i m p l ym o v e t h c u r s o r t t h p r o p e r l i n e , c l e a r c h a r a c t e r s o w h o l e w o r d s , i n s e r t n e w t e x t i n e e d e d , a n m o v e t t h n e x tl i n e b y p r e s s i n g R E T U R N . O n p r e s s i n g R E T U R N , t h C o m m o d o r e6 d e t e r m i n e s i t h e r e i p r o g r a m - l i n e i t h n e x t l i n e .I t h e r e i s B A S I C a u t o m a t i c a l l y p l a c e s t h c u r s o r a t h b e g i n n i n g o f t h e l i n e . I l i k e m a n n e r y o m a g t h r o u g hy o u r e n t i r e p r o g r a m m a k i n g n e c e s s a r y c h a n g e s . W h e n e d i t i n gi c o m p l e t e d , p r e s s t h C L k e c l e a r i n g t h s c r e e n a n r e t u r n i n g t h c u r s o r t H O M E p o s i t i o n .T h i s s c r e e n - o r i e n t e d e d i t o r o f f e r s y e a n o t h e r a d v a n t a g e .A f t e r a e r r o r i d i r e c t m o d e i n p u t w h i c h i r e f u s e d b S Y N T A X E R R O R m e s s a g e , i i p o s s i b l e t b r i n g t h c u r s o rb a c k t t h i s l i n e , c o r r e c t i t a n t h e n R E T U R N . T h i s s a v e s

c o n s i d e r a b l e a m o u n t o r e t y p i n g .T h t h i r d t i m e t h e d i t o r i u s e f u l i i l o a d i n g p r o g r a m sf r o m d i s k e t t e . Y o m o v e t h c u r s o r t o t h e l i n e c o n t a i n i n gt h c h o s e n p r o g r a m t i t l e ( y o u m u s t h a v e c a l l e d t h i n d e xp r e v i o u s l y , o c o u r s e , u s i n g L O A D " $ " , 8 ) , t y p e L O A D o v e r t h n u m b e r i n d i c a t i n g b l o c k s u s e d , c u r s o r t t h e n o t h t i t l e a n d t y p e ' , 8 : ' . O R E T U R N , t h p r o g r a m i l o a d e d .T h i s p r o c e d u r e e l i m i n a t e s t h p o s s i b i l i t y o F I L E N O T F O U N De r r o r s c o m m o n w i t h m i s t y p e d t i t l e s , a n a g a i n y o a r s p a r e de x c e s s i v e t y p i n g .A n o t h e r a d v a n t a g e o t h 6 i t h o p t i o n o u s i n ga b b r e v i a t i o n s f o c o m m a n d s a n s t a t e m e n t s . O t h 6 4 c o m m a n d m a n o r m a l l y b g i v e n b t y p i n g t h f i r s t l e t t e r o t h w o r d f o l l o w e d b s h i f t e d s e c o n d l e t t e r a n p r e s s i n gR E T U R N . F o e x a m p l e , I L f o l l o w e d b S H I F T ' I ' i t h r e p l a c e m e n t f o L I S T .

T h e r e a r e , o c o u r s e , d i f f e r e n c e s b e t w e e n t h v a r i o u sv e r s i o n s o B A S I C . I o r d e r t u s p r o g r a m s t h a t r u n o o t h e r c o m p u t e r s , y o m u s t k n o w t h e s e d i f f e r e n c e s . O n o t h f i r s t i s i n c l e a r i n g t h s c r e e n . I e v e r y s y s t e m , t h i sc o m m a n d i d i f f e r e n t . I s o m e i t ' s c a l l e d H O M E , i o t h e r si t ' s C L S , a n s o m e u s C H R $ . T h 6 h a t w o p t i o n s .T h f i r s t i t h i n p u t o c o n t r o l c h a r a c t e r , C H R $ ( 1 4 7 ) .T h i s c o n t r o l c h a r a c t e r i s s u e s t h c o m m a n d t c l e a r t h s c r e e n . T h e o t h e r p o s s i b i l i t y i t i n s e r t C L c o m m a n dw i t h i n p r i n t i n s t r u c t i o n . O t h s c r e e n y o w i l l s e a i n v e r s e h e a r t . T h i s c o m m a n d h a t h s a m e e f f e c t a t h C H R $ ( 1 4 7 ) . I i u s e d m o r e o f t e n i C o m m o d o r e l i s t i n g s .

C -

Page 299: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 299/304

A n o t h e r d i f f e r e n c e i i t h o u t p u t o i n v e r s e t e x t . T h e r ea r s y s t e m s t h a t u s e a I N V E R S E / N O R M A L c o m m a n d r o u t i n e .A g a i n , t h 6 h a t w o p t i o n s . T h f i r s t i t u s C H R $ ( 1 8 ) ; t h s e c o n d i t p l a c e R V S - O N i p r i n ts t a t e m e n t . T r e t u r n t n o r m a l , t h c o m m a n d i e i t h e rC H R $ ( 1 4 6 ) o i n c l u d i n g R V S - O F F i p r i n t s t a t e m e n t . O o t h e r m a c h i n e s , i m a b t h u s o t h c o m m a n d N O R M A L .N a t u r a l l y o t h e r s y s t e m s h a v e a e x t e n d e d B A S I C a w e l l .T h e r e a r e , f o i n s t a n c e , c o m m a n d s f o f o r m a t t e d n u m b e ro u t p u t ( P R I N T U S I N G ) o r a u t o m a t i c e r r o r b r a n c h i n g ( O E R R O Ro G O S U B ) . A y o h a v e f o u n d o u w h i l e r e a d i n g t h i s b o o k ,i i n o d i f f i c u l t t d e v e l o p t h e s e r o u t i n e s y o u r s e l f .F o l l o w i n g i l i s t o c o m m a n d s u s e d b t h C o m m o d o r e 6 4

a n s t a t e m e n t s :

C O N TL I S TL O A DN E 4 t s

C L O S EC L C M D A T AD E F D I E N F O R . . T O .G E G E T #

R U S A V EV E R I F Y

G O S U BG O T O o r G T I F . . T H E NI N P U TI N P U T #L E N E X T

. S T E P O NO P E NP O K E

P R I N TP R I N T *R E A DR E R E S T O R ER E T U R NS T O PS Y W A I T

B e s i d e s t h e s e , B A S I C o f f e r s g r e a t n u m b e r o e f f i c i e n tm a t h e m a t i c a l f u n c t i o n s , a n i a l s o c o n t a i n s s t r i n gf u n c t i o n s t h a t a l l o w c o n v e n i e n t w o r k i n g w i t h t e x t .

C -

Page 300: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 300/304

Page 301: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 301/304

A P P E N D I X B i b l i o g r a p h y

F i s h e r , E a n J e n s e n , C W P E A N T H I E E E 4 8 B U S . B e r k e l e y , C A O s b o r n e / M c G r a w - H i l l , 1 9 8 0 .

L e v e n t h a l , L a n c e a n S a v i l l e , W 6 5 0 2 A S S E M B L Y L A N G U A G ES U B R O U T I N E S . B e r k e l e y , C A O s b o r n e / M c G r a w - H i l l , 1 9 8 2 .L e v e n t h a l , L a n c e . 6 5 0 2 A S S E M B L Y L A N G U A G E P R O G R A M M I N G .B e r k e l e y , C A O s b o r n e / M c G r a w - H i l l , 1 9 7 9 .O s b o r n e , A . S t r a s m a , J . a n S t r a s m a , E P E P E R S O N A LC O M P U T E R G U I D E . B e r k e l e y , C A O s b o r n e / M c G r a w - H i l l , 1 9 8 2 .W e s t , R a e t o C o l l i n . P R O G R A M M I N G T H P E T / C B M . G r e e n s b o r o , N C L e v e l L i m i t e d , 1 9 8 2 .Z a k s , R o d n e y . 6 5 0 2 A P P L I C A T I O N S B O O K . B e r k e l e y , C A S y b e x ,1 9 7 9 .

D -

Page 302: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 302/304

O T H E R B O O K S A V A I L A B L E :

T h A n a t o m y o f t h e C o m m o d o r e 6 i o u r i n s i d e r ' s g u i d e t y o u r f a v o r i t e c o m p u t e r . T h i s b o o k i s m u s t f o r t h o s e o y o w h w a n t t d e l v e d e e p i n t o y o u r m i c r o . T h i s 3 0 0 + p a g e b o o ki f u l l o i n f o r m a t i o n c o v e r i n g a l a s p e c t s o t h ' 6 4 .I n c l u d e s f u l l y c o m m e n t e d l i s t i n g o t h R O M s s y o c a i n v e s t i g a t e t h m y s t e r i e s o t h B A S I C i n t e r p r e t e r ,k e r n a l a n o p e r a t i n g s y s t e m . I o f f e r s n u m e r o u s e x a m p l e s 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 a n s e v e r a l s a m p l e s t h a t m a k ey o u r p r o g r a m m i n g s e s s i o n s m o r e e n j o y a b l e a n d u s e f u l .I S B N # 0 - 9 1 6 4 3 9 - 0 0 - 3 A v a i l a b l e n o w : $ 1 9 . 9 5

T h A n a t o m y o t h 1 5 4 1 D i s k D r i v e u n r a v e l s t h m y s t e r i e so w o r k i n g t h t h C o m m o d o r e 1 5 4 1 d i s k d r i v e . T h i s 3 2 0 + p a g eb o o k s t a r t s b e x p l a i n i n g p r o g r a m , s e q u e n t i a l a n r e l a t i v ef i l e s . I c o v e r s t h d i r e c t a c c e s s c o m m a n d s , d i s k e t t es t r u c t u r e , D O o p e r a t i o n a n u t i l t i e s . T h f u l l y c o m m e n t e dR O M l i s t i n g s a r p r e s e n t e d f o r t h e r e a l " h a c k e r s " . I n c l u d e sl i s t i n g s f o s e v e r a l u s e f u l u t i l i t i e s i n c l u d i n g B A C K U P ,C O P Y , F I L E P R O T E C T O R , D I R E C T O R Y . T h i s i t h a u t h o r i t i v es o u r c e f o 1 5 4 1 d i s k d r i v e i n f o r m a t i o n .I S B N # 0 - 9 1 6 4 3 9 - 0 1 - 1 A v a i l a b l e n o w : $ 1 9 . 9 5

T h M a c h i n e L a n g u a g e B o o k o t h C o m m o d o r e 6 i a i m e d a t h C o m m o d o r e 6 o w n e r w h w a n t s t p r o g r e s s b e y o n d B A S I C .I y o w a n t t w r i t e p r o g r a m s t h a t r u f a s t e r , u s e l e s sm e m o r y o p e r f o r m f u n c t i o n s n o a v a i l a b l e i B A S I C , t h e nt h i s b o o k w i l l h e l p y o l e a r n m a c h i n e l a n g u a g e . I n c l u d e d a r l i s t i n g s f o t h r e e f u l l l e n g t h p r o g r a m s : w o r k i n ga s s e m b l e r s y o c a c r e a t e y o u r o w m a c h i n e l a n g u a g ep r o g r a m ; d i s a s s e m b l e r s y o u c a n i n s p e c t o t h e r m a c h i n el a n g u a g e p r o g r a m s ; a n 6 5 1 0 s i m u l a t o r s t h a t y o c a " s e e " t h o p e r a t i o n o t h p r o c e s s o r .I S B N # 0 - 9 1 6 4 3 9 - 0 2 - X A v a i l a b l e n o w : $ 1 4 . 9 5O p t i o n a l p r o g r a m d i s k e t t e : $ 1 4 . 9 5

T r i c k s T i p s f o r t h e C o m m o d o r e 6 p r e s e n t s c o l l e c t i o no e a s y - t o - u s e p r o g r a m m i n g t e c h n i q u e s a n d h i n t s . C h a p t e r sc o v e r a d v a n c e d g r a p h i c s , e a s y d a t a e n t r y , e n h a n c e m e n t s f o a d v a n c e d B A S I C , C P / M , c o n n e c t i n g t t h o u t s i d e w o r l d a n m o r e . O t h e r t i p s i n c l u d e s o r t i n g , v a r i a b l e d u m p s , a n P O K E st h a t d t r i c k s . A l l - i n - a l l s o l i d s e o u s e f u l f e a t u r e s .I S B N # 0 - 9 1 6 4 3 9 - 0 3 - 8 A v a i l a b l e J u n e 2 9 t h $ 1 9 . 9 5

O T H E R T I T L E S C O M I N G S O O N ! ! !

Page 303: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 303/304

Page 304: The Anatomy of the Commodore 64

8/6/2019 The Anatomy of the Commodore 64

http://slidepdf.com/reader/full/the-anatomy-of-the-commodore-64 304/304